Skip to content

Commit

Permalink
Merge branch 'ALM_nhalf' of github.com:mbkuhn/amr-wind into ALM_nhalf
Browse files Browse the repository at this point in the history
  • Loading branch information
mbkuhn committed Jul 12, 2023
2 parents d73eec6 + c0bb4d8 commit 2a92bdb
Show file tree
Hide file tree
Showing 3 changed files with 40 additions and 9 deletions.
10 changes: 4 additions & 6 deletions amr-wind/equation_systems/icns/source_terms/HurricaneForcing.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -21,14 +21,12 @@ HurricaneForcing::HurricaneForcing(const CFDSim& sim) : m_mesh(sim.mesh())
amrex::ParmParse pp("CoriolisForcing");
amrex::Real rot_time_period = 86400.0;
pp.query("rotational_time_period", rot_time_period);
m_coriolis_factor = 2.0 * utils::two_pi() / rot_time_period;
amrex::Print() << "Geostrophic forcing: Coriolis factor = "
<< m_coriolis_factor << std::endl;
amrex::Real latitude = 90.0;
pp.query("latitude", latitude);
AMREX_ALWAYS_ASSERT(
amrex::Math::abs(latitude - 90.0) <
static_cast<amrex::Real>(vs::DTraits<float>::eps()));
m_coriolis_factor = (2.0 * utils::two_pi() / rot_time_period) *
std::sin(utils::radians(latitude));
amrex::Print() << "Geostrophic forcing: Coriolis factor = "
<< m_coriolis_factor << std::endl;
}

{
Expand Down
21 changes: 19 additions & 2 deletions amr-wind/turbulence/RANS/KOmegaSST.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -197,12 +197,13 @@ void KOmegaSST<Transport>::update_turbulent_viscosity(

const amrex::Real diss_amb =
beta_star * rho_arr(i, j, k) * sdr_amb * tke_amb;

diss_arr(i, j, k) = -beta_star * rho_arr(i, j, k) *
tke_arr(i, j, k) *
sdr_arr(i, j, k) +
diss_amb;

tke_lhs_arr(i, j, k) = 0.5 * beta_star * rho_arr(i, j, k) *
tke_lhs_arr(i, j, k) = beta_star * rho_arr(i, j, k) *
sdr_arr(i, j, k) * deltaT;

// For SDR equation:
Expand All @@ -221,6 +222,8 @@ void KOmegaSST<Transport>::update_turbulent_viscosity(

if (diff_type == DiffusionType::Crank_Nicolson) {

tke_lhs_arr(i, j, k) = 0.5 * tke_lhs_arr(i, j, k);

sdr_src_arr(i, j, k) = production_omega;

sdr_diss_arr(i, j, k) = cross_diffusion;
Expand All @@ -230,8 +233,22 @@ void KOmegaSST<Transport>::update_turbulent_viscosity(
0.5 * std::abs(cross_diffusion) /
(sdr_arr(i, j, k) + 1e-15)) *
deltaT;
} else {
} else if (diff_type == DiffusionType::Implicit) {
/* Source term linearization is based on Florian
Menter's (1993) AIAA paper */
diss_arr(i, j, k) = 0.0;

sdr_src_arr(i, j, k) = production_omega;

sdr_diss_arr(i, j, k) = 0.0;

sdr_lhs_arr(i, j, k) =
(2.0 * rho_arr(i, j, k) * beta * sdr_arr(i, j, k) +
std::abs(cross_diffusion) /
(sdr_arr(i, j, k) + 1e-15)) *
deltaT;

} else {
sdr_src_arr(i, j, k) =
production_omega + cross_diffusion;

Expand Down
18 changes: 17 additions & 1 deletion amr-wind/turbulence/RANS/KOmegaSSTIDDES.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -251,7 +251,7 @@ void KOmegaSSTIDDES<Transport>::update_turbulent_viscosity(
tke_arr(i, j, k) / l_iddes +
diss_amb;

tke_lhs_arr(i, j, k) = 0.5 * rho_arr(i, j, k) *
tke_lhs_arr(i, j, k) = rho_arr(i, j, k) *
std::sqrt(tke_arr(i, j, k)) /
l_iddes * deltaT;

Expand All @@ -273,6 +273,8 @@ void KOmegaSSTIDDES<Transport>::update_turbulent_viscosity(

if (diff_type == DiffusionType::Crank_Nicolson) {

tke_lhs_arr(i, j, k) = 0.5 * tke_lhs_arr(i, j, k);

sdr_src_arr(i, j, k) = production_omega;

sdr_diss_arr(i, j, k) = cross_diffusion;
Expand All @@ -283,6 +285,20 @@ void KOmegaSSTIDDES<Transport>::update_turbulent_viscosity(
(sdr_arr(i, j, k) + 1e-15)) *
deltaT;

} else if (diff_type == DiffusionType::Implicit) {
/* Source term linearization is based on Florian
Menter's (1993) AIAA paper */
diss_arr(i, j, k) = 0.0;

sdr_src_arr(i, j, k) = production_omega;

sdr_diss_arr(i, j, k) = 0.0;

sdr_lhs_arr(i, j, k) =
(2.0 * rho_arr(i, j, k) * beta * sdr_arr(i, j, k) +
std::abs(cross_diffusion) /
(sdr_arr(i, j, k) + 1e-15)) *
deltaT;
} else {
sdr_src_arr(i, j, k) =
production_omega + cross_diffusion;
Expand Down

0 comments on commit 2a92bdb

Please sign in to comment.