29 BL_PROFILE_REGION(
"erf_make_tau_terms()");
31 const BCRec* bc_ptr_h = domain_bcs_type_h.data();
36 const bool l_use_terrain_fitted_coords = (solverChoice.
mesh_type != MeshType::ConstantDz);
37 const bool l_moving_terrain = (solverChoice.
terrain_type == TerrainType::MovingFittedMesh);
38 if (l_moving_terrain) AMREX_ALWAYS_ASSERT (l_use_terrain_fitted_coords);
43 const bool l_use_turb = ( tc.
les_type == LESType::Smagorinsky ||
52 const bool need_SmnSmn = (tc.
les_type == LESType::Deardorff ||
55 const Box& domain = geom.Domain();
56 const int domlo_z = domain.smallEnd(2);
57 const int domhi_z = domain.bigEnd(2);
59 const GpuArray<Real, AMREX_SPACEDIM> dxInv = geom.InvCellSizeArray();
65 const DistributionMapping& dm = S_data[
IntVars::cons].DistributionMap();
67 std::unique_ptr<MultiFab> expr;
70 expr = std::make_unique<MultiFab>(ba, dm, 1, IntVect(1,1,1));
78 auto dz_ptr = stretched_dz_d.data();
81 #pragma omp parallel if (Gpu::notInLaunchRegion())
85 const Box& bx = mfi.tilebox();
86 const Box& valid_bx = mfi.validbox();
89 const Array4<const Real> & u =
xvel.array(mfi);
90 const Array4<const Real> & v =
yvel.array(mfi);
91 const Array4<const Real> & w =
zvel.array(mfi);
94 const Array4<const Real>& mf_mx = mapfac[
MapFacType::m_x]->const_array(mfi);
95 const Array4<const Real>& mf_ux = mapfac[
MapFacType::u_x]->const_array(mfi);
96 const Array4<const Real>& mf_vx = mapfac[
MapFacType::v_x]->const_array(mfi);
97 const Array4<const Real>& mf_my = mapfac[
MapFacType::m_y]->const_array(mfi);
98 const Array4<const Real>& mf_uy = mapfac[
MapFacType::u_y]->const_array(mfi);
99 const Array4<const Real>& mf_vy = mapfac[
MapFacType::v_y]->const_array(mfi);
102 const Array4<Real const>& mu_turb = l_use_turb ? eddyDiffs->const_array(mfi) :
103 Array4<const Real>{};
104 const Array4<Real const>& cell_data = l_use_constAlpha ? S_data[
IntVars::cons].const_array(mfi) :
105 Array4<const Real>{};
108 const Array4<const Real>& z_nd = z_phys_nd.const_array(mfi);
109 const Array4<const Real>& detJ_arr = detJ.const_array(mfi);
128 Box bxcc = mfi.tilebox();
129 Box tbxxy = mfi.tilebox(IntVect(1,1,0));
130 Box tbxxz = mfi.tilebox(IntVect(1,0,1));
131 Box tbxyz = mfi.tilebox(IntVect(0,1,1));
134 bxcc.grow(IntVect(1,1,0));
135 tbxxy.grow(IntVect(1,1,0));
136 tbxxz.grow(IntVect(1,1,0));
137 tbxyz.grow(IntVect(1,1,0));
139 if (bxcc.smallEnd(2) != domain.smallEnd(2)) {
146 if (bxcc.bigEnd(2) != domain.bigEnd(2)) {
154 Array4<Real> er_arr = expr->array(mfi);
157 FArrayBox S11,S22,S33;
158 FArrayBox S12,S13,S23;
159 S11.resize( bxcc,1,The_Async_Arena()); S22.resize(bxcc,1,The_Async_Arena()); S33.resize(bxcc,1,The_Async_Arena());
160 S12.resize(tbxxy,1,The_Async_Arena()); S13.resize(tbxxz,1,The_Async_Arena()); S23.resize(tbxyz,1,The_Async_Arena());
161 Array4<Real> s11 = S11.array(); Array4<Real> s22 = S22.array(); Array4<Real> s33 = S33.array();
162 Array4<Real> s12 = S12.array(); Array4<Real> s13 = S13.array(); Array4<Real> s23 = S23.array();
170 Array4<Real> SmnSmn_a;
172 if (solverChoice.
mesh_type == MeshType::StretchedDz) {
174 FArrayBox S21,S31,S32;
175 S21.resize(tbxxy,1,The_Async_Arena()); S31.resize(tbxxz,1,The_Async_Arena()); S32.resize(tbxyz,1,The_Async_Arena());
176 Array4<Real> s21 = S21.array(); Array4<Real> s31 = S31.array(); Array4<Real> s32 = S32.array();
186 BL_PROFILE(
"slow_rhs_making_er_S");
187 ParallelFor(bxcc, [=] AMREX_GPU_DEVICE (
int i,
int j,
int k) noexcept
189 Real mfsq = mf_mx(i,j,0)*mf_my(i,j,0);
190 er_arr(i,j,k) = (u(i+1, j , k )/mf_uy(i+1,j,0) - u(i, j, k)/mf_uy(i,j,0))*dxInv[0]*mfsq +
191 (v(i , j+1, k )/mf_vx(i,j+1,0) - v(i, j, k)/mf_vx(i,j,0))*dxInv[1]*mfsq +
192 (w(i , j , k+1) - w(i, j, k))/dz_ptr[k];
200 BL_PROFILE(
"slow_rhs_making_strain_S");
207 stretched_dz_d, dxInv,
209 mf_my, mf_uy, mf_vy, bc_ptr_h);
214 if ((nrk==0) && (need_SmnSmn)) {
215 SmnSmn_a = SmnSmn->array(mfi);
216 ParallelFor(bx, [=] AMREX_GPU_DEVICE (
int i,
int j,
int k) noexcept
218 SmnSmn_a(i,j,k) =
ComputeSmnSmn(i,j,k,s11,s22,s33,s12,s13,s23);
226 BL_PROFILE(
"slow_rhs_making_stress_T");
229 tbxxy.grow(IntVect(-1,-1,0));
230 tbxxz.grow(IntVect(-1,-1,0));
231 tbxyz.grow(IntVect(-1,-1,0));
240 er_arr, stretched_dz_d, dxInv,
242 mf_my, mf_uy, mf_vy);
250 er_arr, stretched_dz_d, dxInv,
252 mf_my, mf_uy, mf_vy);
256 bxcc.grow(IntVect(-1,-1,0));
257 if (bxcc.smallEnd(0) == valid_bx.smallEnd(0)) bxcc.growLo(0, 1);
258 if (bxcc.bigEnd(0) == valid_bx.bigEnd(0)) bxcc.growHi(0, 1);
259 if (bxcc.smallEnd(1) == valid_bx.smallEnd(1)) bxcc.growLo(1, 1);
260 if (bxcc.bigEnd(1) == valid_bx.bigEnd(1)) bxcc.growHi(1, 1);
264 [=] AMREX_GPU_DEVICE (
int i,
int j,
int k) noexcept {
265 tau11(i,j,k) = s11(i,j,k);
266 tau22(i,j,k) = s22(i,j,k);
267 tau33(i,j,k) = s33(i,j,k);
270 ParallelFor(tbxxy, tbxxz, tbxyz,
271 [=] AMREX_GPU_DEVICE (
int i,
int j,
int k) noexcept {
272 tau12(i,j,k) = s12(i,j,k);
273 tau21(i,j,k) = s21(i,j,k);
275 [=] AMREX_GPU_DEVICE (
int i,
int j,
int k) noexcept {
276 tau13(i,j,k) = s13(i,j,k);
277 tau31(i,j,k) = s31(i,j,k);
279 [=] AMREX_GPU_DEVICE (
int i,
int j,
int k) noexcept {
280 tau23(i,j,k) = s23(i,j,k);
281 tau32(i,j,k) = s32(i,j,k);
285 }
else if (l_use_terrain_fitted_coords) {
288 FArrayBox S21,S31,S32;
289 S21.resize(tbxxy,1,The_Async_Arena()); S31.resize(tbxxz,1,The_Async_Arena()); S32.resize(tbxyz,1,The_Async_Arena());
290 Array4<Real> s21 = S21.array(); Array4<Real> s31 = S31.array(); Array4<Real> s32 = S32.array();
300 BL_PROFILE(
"slow_rhs_making_er_T");
301 Box gbxo = surroundingNodes(bxcc,2);
306 Omega.resize(gbxo,1,The_Async_Arena());
309 Array4<Real> omega_arr = Omega.array();
310 ParallelFor(gbxo, [=] AMREX_GPU_DEVICE (
int i,
int j,
int k) noexcept
312 omega_arr(i,j,k) = (k == 0) ? 0. :
OmegaFromW(i,j,k,w(i,j,k),u,v,
313 mf_ux,mf_vy,z_nd,dxInv);
316 ParallelFor(bxcc, [=] AMREX_GPU_DEVICE (
int i,
int j,
int k) noexcept
325 Real Omega_hi = omega_arr(i,j,k+1);
326 Real Omega_lo = omega_arr(i,j,k );
328 Real mfsq = mf_mx(i,j,0)*mf_my(i,j,0);
330 Real expansionRate = (u(i+1,j ,k)/mf_uy(i+1,j,0)*met_u_h_zeta_hi - u(i,j,k)/mf_uy(i,j,0)*met_u_h_zeta_lo)*dxInv[0]*mfsq +
331 (v(i ,j+1,k)/mf_vx(i,j+1,0)*met_v_h_zeta_hi - v(i,j,k)/mf_vx(i,j,0)*met_v_h_zeta_lo)*dxInv[1]*mfsq +
332 (Omega_hi - Omega_lo)*dxInv[2];
334 er_arr(i,j,k) = expansionRate / detJ_arr(i,j,k);
342 BL_PROFILE(
"slow_rhs_making_strain_T");
349 z_nd, detJ_arr, dxInv,
351 mf_my, mf_uy, mf_vy, bc_ptr_h);
356 if ((nrk==0) && (need_SmnSmn)) {
357 SmnSmn_a = SmnSmn->array(mfi);
358 ParallelFor(bx, [=] AMREX_GPU_DEVICE (
int i,
int j,
int k) noexcept
370 BL_PROFILE(
"slow_rhs_making_stress_T");
373 tbxxy.grow(IntVect(-1,-1,0));
374 tbxxz.grow(IntVect(-1,-1,0));
375 tbxyz.grow(IntVect(-1,-1,0));
384 er_arr, z_nd, detJ_arr, dxInv,
386 mf_my, mf_uy, mf_vy);
394 er_arr, z_nd, detJ_arr, dxInv,
396 mf_my, mf_uy, mf_vy);
400 bxcc.grow(IntVect(-1,-1,0));
401 if (bxcc.smallEnd(0) == valid_bx.smallEnd(0)) bxcc.growLo(0, 1);
402 if (bxcc.bigEnd(0) == valid_bx.bigEnd(0)) bxcc.growHi(0, 1);
403 if (bxcc.smallEnd(1) == valid_bx.smallEnd(1)) bxcc.growLo(1, 1);
404 if (bxcc.bigEnd(1) == valid_bx.bigEnd(1)) bxcc.growHi(1, 1);
408 [=] AMREX_GPU_DEVICE (
int i,
int j,
int k) noexcept {
409 tau11(i,j,k) = s11(i,j,k);
410 tau22(i,j,k) = s22(i,j,k);
411 tau33(i,j,k) = s33(i,j,k);
414 ParallelFor(tbxxy, tbxxz, tbxyz,
415 [=] AMREX_GPU_DEVICE (
int i,
int j,
int k) noexcept {
416 tau12(i,j,k) = s12(i,j,k);
417 tau21(i,j,k) = s21(i,j,k);
419 [=] AMREX_GPU_DEVICE (
int i,
int j,
int k) noexcept {
420 tau13(i,j,k) = s13(i,j,k);
421 tau31(i,j,k) = s31(i,j,k);
423 [=] AMREX_GPU_DEVICE (
int i,
int j,
int k) noexcept {
424 tau23(i,j,k) = s23(i,j,k);
425 tau32(i,j,k) = s32(i,j,k);
435 BL_PROFILE(
"slow_rhs_making_er_N");
436 ParallelFor(bxcc, [=] AMREX_GPU_DEVICE (
int i,
int j,
int k) noexcept {
437 Real mfsq = mf_mx(i,j,0)*mf_my(i,j,0);
438 er_arr(i,j,k) = (u(i+1, j , k )/mf_uy(i+1,j,0) - u(i, j, k)/mf_uy(i,j,0))*dxInv[0]*mfsq +
439 (v(i , j+1, k )/mf_vx(i,j+1,0) - v(i, j, k)/mf_vx(i,j,0))*dxInv[1]*mfsq +
440 (w(i , j , k+1) - w(i, j, k))*dxInv[2];
449 BL_PROFILE(
"slow_rhs_making_strain_N");
456 mf_my, mf_uy, mf_vy, bc_ptr_h);
461 if ((nrk==0) && (need_SmnSmn)) {
462 SmnSmn_a = SmnSmn->array(mfi);
463 ParallelFor(bx, [=] AMREX_GPU_DEVICE (
int i,
int j,
int k) noexcept
475 BL_PROFILE(
"slow_rhs_making_stress_N");
478 tbxxy.grow(IntVect(-1,-1,0));
479 tbxxz.grow(IntVect(-1,-1,0));
480 tbxyz.grow(IntVect(-1,-1,0));
481 if (tbxxy.smallEnd(2) > domlo_z) {
486 if (tbxxy.bigEnd(2) < domhi_z) {
507 bxcc.grow(IntVect(-1,-1,0));
508 if (bxcc.smallEnd(0) == valid_bx.smallEnd(0)) bxcc.growLo(0, 1);
509 if (bxcc.bigEnd(0) == valid_bx.bigEnd(0)) bxcc.growHi(0, 1);
510 if (bxcc.smallEnd(1) == valid_bx.smallEnd(1)) bxcc.growLo(1, 1);
511 if (bxcc.bigEnd(1) == valid_bx.bigEnd(1)) bxcc.growHi(1, 1);
515 [=] AMREX_GPU_DEVICE (
int i,
int j,
int k) noexcept {
516 tau11(i,j,k) = s11(i,j,k);
517 tau22(i,j,k) = s22(i,j,k);
518 tau33(i,j,k) = s33(i,j,k);
520 ParallelFor(tbxxy, tbxxz, tbxyz,
521 [=] AMREX_GPU_DEVICE (
int i,
int j,
int k) noexcept {
522 tau12(i,j,k) = s12(i,j,k);
524 [=] AMREX_GPU_DEVICE (
int i,
int j,
int k) noexcept {
525 tau13(i,j,k) = s13(i,j,k);
527 [=] AMREX_GPU_DEVICE (
int i,
int j,
int k) noexcept {
528 tau23(i,j,k) = s23(i,j,k);
void ComputeStrain_N(Box bxcc, Box tbxxy, Box tbxxz, Box tbxyz, Box domain, const Array4< const Real > &u, const Array4< const Real > &v, const Array4< const Real > &w, Array4< Real > &tau11, Array4< Real > &tau22, Array4< Real > &tau33, Array4< Real > &tau12, Array4< Real > &tau13, Array4< Real > &tau23, const GpuArray< Real, AMREX_SPACEDIM > &dxInv, const Array4< const Real > &mf_mx, const Array4< const Real > &mf_ux, const Array4< const Real > &mf_vx, const Array4< const Real > &mf_my, const Array4< const Real > &mf_uy, const Array4< const Real > &mf_vy, const BCRec *bc_ptr)
Definition: ERF_ComputeStrain_N.cpp:28
void ComputeStrain_S(Box bxcc, Box tbxxy, Box tbxxz, Box tbxyz, Box domain, const Array4< const Real > &u, const Array4< const Real > &v, const Array4< const Real > &w, Array4< Real > &tau11, Array4< Real > &tau22, Array4< Real > &tau33, Array4< Real > &tau12, Array4< Real > &tau21, Array4< Real > &tau13, Array4< Real > &tau31, Array4< Real > &tau23, Array4< Real > &tau32, const Gpu::DeviceVector< Real > &stretched_dz_d, const GpuArray< Real, AMREX_SPACEDIM > &dxInv, const Array4< const Real > &mf_mx, const Array4< const Real > &mf_ux, const Array4< const Real > &mf_vx, const Array4< const Real > &mf_my, const Array4< const Real > &mf_uy, const Array4< const Real > &mf_vy, const BCRec *bc_ptr)
Definition: ERF_ComputeStrain_S.cpp:36
void ComputeStrain_T(Box bxcc, Box tbxxy, Box tbxxz, Box tbxyz, Box domain, const Array4< const Real > &u, const Array4< const Real > &v, const Array4< const Real > &w, Array4< Real > &tau11, Array4< Real > &tau22, Array4< Real > &tau33, Array4< Real > &tau12, Array4< Real > &tau21, Array4< Real > &tau13, Array4< Real > &tau31, Array4< Real > &tau23, Array4< Real > &tau32, const Array4< const Real > &z_nd, const Array4< const Real > &detJ, const GpuArray< Real, AMREX_SPACEDIM > &dxInv, const Array4< const Real > &mf_mx, const Array4< const Real > &mf_ux, const Array4< const Real > &mf_vx, const Array4< const Real > &mf_my, const Array4< const Real > &mf_uy, const Array4< const Real > &mf_vy, const BCRec *bc_ptr)
Definition: ERF_ComputeStrain_T.cpp:36
void ComputeStressVarVisc_N(Box bxcc, Box tbxxy, Box tbxxz, Box tbxyz, Real mu_eff, const Array4< const Real > &mu_turb, const Array4< const Real > &cell_data, Array4< Real > &tau11, Array4< Real > &tau22, Array4< Real > &tau33, Array4< Real > &tau12, Array4< Real > &tau13, Array4< Real > &tau23, const Array4< const Real > &er_arr)
Definition: ERF_ComputeStress_N.cpp:105
void ComputeStressConsVisc_N(Box bxcc, Box tbxxy, Box tbxxz, Box tbxyz, Real mu_eff, const Array4< const Real > &cell_data, Array4< Real > &tau11, Array4< Real > &tau22, Array4< Real > &tau33, Array4< Real > &tau12, Array4< Real > &tau13, Array4< Real > &tau23, const Array4< const Real > &er_arr)
Definition: ERF_ComputeStress_N.cpp:23
void ComputeStressVarVisc_S(Box bxcc, Box tbxxy, Box tbxxz, Box tbxyz, Real mu_eff, const Array4< const Real > &mu_turb, const Array4< const Real > &cell_data, Array4< Real > &tau11, Array4< Real > &tau22, Array4< Real > &tau33, Array4< Real > &tau12, Array4< Real > &tau21, Array4< Real > &tau13, Array4< Real > &tau31, Array4< Real > &tau23, Array4< Real > &tau32, const Array4< const Real > &er_arr, const Gpu::DeviceVector< Real > &stretched_dz_d, const GpuArray< Real, AMREX_SPACEDIM > &dxInv, const Array4< const Real > &mf_mx, const Array4< const Real > &mf_ux, const Array4< const Real > &mf_vx, const Array4< const Real > &mf_my, const Array4< const Real > &mf_uy, const Array4< const Real > &mf_vy)
Definition: ERF_ComputeStress_S.cpp:150
void ComputeStressConsVisc_S(Box bxcc, Box tbxxy, Box tbxxz, Box tbxyz, Real mu_eff, const Array4< const Real > &cell_data, Array4< Real > &tau11, Array4< Real > &tau22, Array4< Real > &tau33, Array4< Real > &tau12, Array4< Real > &tau21, Array4< Real > &tau13, Array4< Real > &tau31, Array4< Real > &tau23, Array4< Real > &tau32, const Array4< const Real > &er_arr, const Gpu::DeviceVector< Real > &stretched_dz_d, const GpuArray< Real, AMREX_SPACEDIM > &dxInv, const Array4< const Real > &mf_mx, const Array4< const Real > &mf_ux, const Array4< const Real > &mf_vx, const Array4< const Real > &mf_my, const Array4< const Real > &mf_uy, const Array4< const Real > &mf_vy)
Definition: ERF_ComputeStress_S.cpp:29
void ComputeStressConsVisc_T(Box bxcc, Box tbxxy, Box tbxxz, Box tbxyz, Real mu_eff, const Array4< const Real > &cell_data, Array4< Real > &tau11, Array4< Real > &tau22, Array4< Real > &tau33, Array4< Real > &tau12, Array4< Real > &tau21, Array4< Real > &tau13, Array4< Real > &tau31, Array4< Real > &tau23, Array4< Real > &tau32, const Array4< const Real > &er_arr, const Array4< const Real > &z_nd, const Array4< const Real > &detJ, const GpuArray< Real, AMREX_SPACEDIM > &dxInv, const Array4< const Real > &mf_mx, const Array4< const Real > &mf_ux, const Array4< const Real > &mf_vx, const Array4< const Real > &mf_my, const Array4< const Real > &mf_uy, const Array4< const Real > &mf_vy)
Definition: ERF_ComputeStress_T.cpp:29
void ComputeStressVarVisc_T(Box bxcc, Box tbxxy, Box tbxxz, Box tbxyz, Real mu_eff, const Array4< const Real > &mu_turb, const Array4< const Real > &cell_data, Array4< Real > &tau11, Array4< Real > &tau22, Array4< Real > &tau33, Array4< Real > &tau12, Array4< Real > &tau21, Array4< Real > &tau13, Array4< Real > &tau31, Array4< Real > &tau23, Array4< Real > &tau32, const Array4< const Real > &er_arr, const Array4< const Real > &z_nd, const Array4< const Real > &detJ, const GpuArray< Real, AMREX_SPACEDIM > &dxInv, const Array4< const Real > &mf_mx, const Array4< const Real > &mf_ux, const Array4< const Real > &mf_vx, const Array4< const Real > &mf_my, const Array4< const Real > &mf_uy, const Array4< const Real > &mf_vy)
Definition: ERF_ComputeStress_T.cpp:336
@ tau12
Definition: ERF_DataStruct.H:30
@ tau23
Definition: ERF_DataStruct.H:30
@ tau33
Definition: ERF_DataStruct.H:30
@ tau22
Definition: ERF_DataStruct.H:30
@ tau11
Definition: ERF_DataStruct.H:30
@ tau32
Definition: ERF_DataStruct.H:30
@ tau31
Definition: ERF_DataStruct.H:30
@ tau21
Definition: ERF_DataStruct.H:30
@ tau13
Definition: ERF_DataStruct.H:30
@ v_x
Definition: ERF_DataStruct.H:22
@ u_y
Definition: ERF_DataStruct.H:23
@ v_y
Definition: ERF_DataStruct.H:23
@ m_y
Definition: ERF_DataStruct.H:23
@ u_x
Definition: ERF_DataStruct.H:22
@ m_x
Definition: ERF_DataStruct.H:22
AMREX_GPU_DEVICE AMREX_FORCE_INLINE amrex::Real ComputeSmnSmn(int &i, int &j, int &k, const amrex::Array4< amrex::Real const > &tau11, const amrex::Array4< amrex::Real const > &tau22, const amrex::Array4< amrex::Real const > &tau33, const amrex::Array4< amrex::Real const > &tau12, const amrex::Array4< amrex::Real const > &tau13, const amrex::Array4< amrex::Real const > &tau23)
Definition: ERF_EddyViscosity.H:40
amrex::Real Real
Definition: ERF_ShocInterface.H:19
AMREX_GPU_DEVICE AMREX_FORCE_INLINE amrex::Real OmegaFromW(int &i, int &j, int &k, amrex::Real w, const amrex::Array4< const amrex::Real > &u_arr, const amrex::Array4< const amrex::Real > &v_arr, const amrex::Array4< const amrex::Real > &mf_u, const amrex::Array4< const amrex::Real > &mf_v, const amrex::Array4< const amrex::Real > &z_nd, const amrex::GpuArray< amrex::Real, AMREX_SPACEDIM > &dxInv)
Definition: ERF_TerrainMetrics.H:415
AMREX_GPU_DEVICE AMREX_FORCE_INLINE amrex::Real Compute_h_zeta_AtIface(const int &i, const int &j, const int &k, const amrex::GpuArray< amrex::Real, AMREX_SPACEDIM > &cellSizeInv, const amrex::Array4< const amrex::Real > &z_nd)
Definition: ERF_TerrainMetrics.H:96
AMREX_GPU_DEVICE AMREX_FORCE_INLINE amrex::Real Compute_h_zeta_AtJface(const int &i, const int &j, const int &k, const amrex::GpuArray< amrex::Real, AMREX_SPACEDIM > &cellSizeInv, const amrex::Array4< const amrex::Real > &z_nd)
Definition: ERF_TerrainMetrics.H:139
AMREX_FORCE_INLINE amrex::IntVect TileNoZ()
Definition: ERF_TileNoZ.H:11
@ cons
Definition: ERF_IndexDefines.H:158
@ xvel
Definition: ERF_IndexDefines.H:141
@ zvel
Definition: ERF_IndexDefines.H:143
@ yvel
Definition: ERF_IndexDefines.H:142
Definition: ERF_DiffStruct.H:19
amrex::Real rho0_trans
Definition: ERF_DiffStruct.H:91
MolecDiffType molec_diff_type
Definition: ERF_DiffStruct.H:84
amrex::Real dynamic_viscosity
Definition: ERF_DiffStruct.H:96
static MeshType mesh_type
Definition: ERF_DataStruct.H:815
DiffChoice diffChoice
Definition: ERF_DataStruct.H:824
amrex::Vector< TurbChoice > turbChoice
Definition: ERF_DataStruct.H:826
static TerrainType terrain_type
Definition: ERF_DataStruct.H:806
Definition: ERF_TurbStruct.H:41
PBLType pbl_type
Definition: ERF_TurbStruct.H:375
RANSType rans_type
Definition: ERF_TurbStruct.H:372
LESType les_type
Definition: ERF_TurbStruct.H:330
bool use_kturb
Definition: ERF_TurbStruct.H:381