32 BL_PROFILE_REGION(
"erf_make_tau_terms()");
34 const BCRec* bc_ptr_h = domain_bcs_type_h.data();
39 const bool l_use_terrain_fitted_coords = (solverChoice.
mesh_type != MeshType::ConstantDz);
40 const bool l_moving_terrain = (solverChoice.
terrain_type == TerrainType::MovingFittedMesh);
41 if (l_moving_terrain) AMREX_ALWAYS_ASSERT (l_use_terrain_fitted_coords);
46 const bool l_use_turb = ( tc.
les_type == LESType::Smagorinsky ||
55 const bool need_SmnSmn = (tc.
les_type == LESType::Deardorff ||
60 const Box& domain = geom.Domain();
61 const int domlo_z = domain.smallEnd(2);
62 const int domhi_z = domain.bigEnd(2);
64 const GpuArray<Real, AMREX_SPACEDIM> dxInv = geom.InvCellSizeArray();
70 const DistributionMapping& dm = S_data[
IntVars::cons].DistributionMap();
72 std::unique_ptr<MultiFab> expr;
75 expr = std::make_unique<MultiFab>(ba, dm, 1, IntVect(1,1,1));
83 auto dz_ptr = stretched_dz_d.data();
86 #pragma omp parallel if (Gpu::notInLaunchRegion())
90 const Box& valid_bx = mfi.validbox();
93 const Array4<const Real> & u =
xvel.array(mfi);
94 const Array4<const Real> & v =
yvel.array(mfi);
95 const Array4<const Real> & w =
zvel.array(mfi);
98 const Array4<const Real>& mf_mx = mapfac[
MapFacType::m_x]->const_array(mfi);
99 const Array4<const Real>& mf_ux = mapfac[
MapFacType::u_x]->const_array(mfi);
100 const Array4<const Real>& mf_vx = mapfac[
MapFacType::v_x]->const_array(mfi);
101 const Array4<const Real>& mf_my = mapfac[
MapFacType::m_y]->const_array(mfi);
102 const Array4<const Real>& mf_uy = mapfac[
MapFacType::u_y]->const_array(mfi);
103 const Array4<const Real>& mf_vy = mapfac[
MapFacType::v_y]->const_array(mfi);
106 const Array4<Real const>& mu_turb = l_use_turb ? eddyDiffs->const_array(mfi) :
107 Array4<const Real>{};
108 const Array4<Real const>& cell_data = l_use_constAlpha ? S_data[
IntVars::cons].const_array(mfi) :
109 Array4<const Real>{};
112 const Array4<const Real>& z_nd = z_phys_nd.const_array(mfi);
113 const Array4<const Real>& detJ_arr = detJ.const_array(mfi);
116 Array4<const EBCellFlag> cflag{};
117 Array4<const Real> vfrac{};
118 Array4<const Real> apx{};
119 Array4<const Real> apy{};
120 Array4<const Real> apz{};
122 EBCellFlagFab
const& cflag_fab = (ebfact.
get_const_factory())->getMultiEBCellFlagFab()[mfi];
123 cflag = cflag_fab.const_array();
124 if (cflag_fab.getType(valid_bx) == FabType::singlevalued) {
130 vfrac = detJ.const_array(mfi);
131 apx = ax.const_array(mfi);
132 apy = ay.const_array(mfi);
133 apz = az.const_array(mfi);
154 Box bx = mfi.tilebox();
155 Box bxcc = mfi.tilebox();
156 Box tbxxy = mfi.tilebox(IntVect(1,1,0));
157 Box tbxxz = mfi.tilebox(IntVect(1,0,1));
158 Box tbxyz = mfi.tilebox(IntVect(0,1,1));
161 bxcc.grow(IntVect(1,1,0));
162 tbxxy.grow(IntVect(1,1,0));
163 tbxxz.grow(IntVect(1,1,0));
164 tbxyz.grow(IntVect(1,1,0));
166 if (bxcc.smallEnd(2) != domain.smallEnd(2)) {
173 if (bxcc.bigEnd(2) != domain.bigEnd(2)) {
181 Array4<Real> er_arr = expr->array(mfi);
184 FArrayBox S11,S22,S33;
185 FArrayBox S12,S13,S23;
188 S11.resize( bxcc,1,The_Async_Arena()); S22.resize( bxcc,1,The_Async_Arena()); S33.resize( bxcc,1,The_Async_Arena());
189 S12.resize(tbxxy,1,The_Async_Arena()); S13.resize(tbxxz,1,The_Async_Arena()); S23.resize(tbxyz,1,The_Async_Arena());
190 Array4<Real> s11 = S11.array(); Array4<Real> s22 = S22.array(); Array4<Real> s33 = S33.array();
191 Array4<Real> s12 = S12.array(); Array4<Real> s13 = S13.array(); Array4<Real> s23 = S23.array();
201 FArrayBox S13_for_impl, S23_for_impl;
202 S13_for_impl.resize(tbxxz,1,The_Async_Arena());
203 S23_for_impl.resize(tbxyz,1,The_Async_Arena());
204 Array4<Real> s13_corr = (do_implicit) ? S13_for_impl.array() : Array4<Real>{};
205 Array4<Real> s23_corr = (do_implicit) ? S23_for_impl.array() : Array4<Real>{};
206 Array4<Real> tau13_corr = (do_implicit) ? Tau_corr_lev[0]->array(mfi) : Array4<Real>{};
207 Array4<Real> tau23_corr = (do_implicit) ? Tau_corr_lev[1]->array(mfi) : Array4<Real>{};
208 #ifdef ERF_IMPLICIT_W
209 FArrayBox S33_for_impl;
210 S33_for_impl.resize( bxcc,1,The_Async_Arena());
211 Array4<Real> s33_corr = (do_implicit) ? S33_for_impl.array() : Array4<Real>{};
212 Array4<Real> tau33_corr = (do_implicit) ? Tau_corr_lev[2]->array(mfi) : Array4<Real>{};
214 Array4<Real> s33_corr = Array4<Real>{};
215 Array4<Real> tau33_corr = Array4<Real>{};
222 Array4<Real> SmnSmn_a = ((nrk==0) && need_SmnSmn) ? SmnSmn->array(mfi) : Array4<Real>{};
250 if (solverChoice.
mesh_type == MeshType::StretchedDz) {
252 FArrayBox S21,S31,S32;
253 S21.resize(tbxxy,1,The_Async_Arena()); S31.resize(tbxxz,1,The_Async_Arena()); S32.resize(tbxyz,1,The_Async_Arena());
254 Array4<Real> s21 = S21.array(); Array4<Real> s31 = S31.array(); Array4<Real> s32 = S32.array();
263 BL_PROFILE(
"slow_rhs_making_er_S");
264 ParallelFor(bxcc, [=] AMREX_GPU_DEVICE (
int i,
int j,
int k) noexcept
266 Real mfsq = mf_mx(i,j,0)*mf_my(i,j,0);
267 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 +
268 (v(i , j+1, k )/mf_vx(i,j+1,0) - v(i, j, k)/mf_vx(i,j,0))*dxInv[1] * mfsq +
269 (w(i , j , k+1) - w(i, j, k) )/dz_ptr[k];
277 BL_PROFILE(
"slow_rhs_making_strain_S");
284 stretched_dz_d, dxInv,
286 mf_my, mf_uy, mf_vy, bc_ptr_h,
291 ParallelFor(bx, [=] AMREX_GPU_DEVICE (
int i,
int j,
int k) noexcept
303 BL_PROFILE(
"slow_rhs_making_stress_T");
306 tbxxy.grow(IntVect(-1,-1,0));
307 tbxxz.grow(IntVect(-1,-1,0));
308 tbxyz.grow(IntVect(-1,-1,0));
320 s13_corr, s23_corr, s33_corr);
331 s13_corr, s23_corr, s33_corr);
335 bxcc.grow(IntVect(-1,-1,0));
336 if (bxcc.smallEnd(0) == valid_bx.smallEnd(0)) bxcc.growLo(0, 1);
337 if (bxcc.bigEnd(0) == valid_bx.bigEnd(0)) bxcc.growHi(0, 1);
338 if (bxcc.smallEnd(1) == valid_bx.smallEnd(1)) bxcc.growLo(1, 1);
339 if (bxcc.bigEnd(1) == valid_bx.bigEnd(1)) bxcc.growHi(1, 1);
343 [=] AMREX_GPU_DEVICE (
int i,
int j,
int k) noexcept {
344 tau11(i,j,k) = s11(i,j,k);
345 tau22(i,j,k) = s22(i,j,k);
346 tau33(i,j,k) = s33(i,j,k);
347 if (tau33_corr) tau33_corr(i,j,k) = s33_corr(i,j,k);
350 ParallelFor(tbxxy, tbxxz, tbxyz,
351 [=] AMREX_GPU_DEVICE (
int i,
int j,
int k) noexcept {
352 tau12(i,j,k) = s12(i,j,k);
353 tau21(i,j,k) = s21(i,j,k);
355 [=] AMREX_GPU_DEVICE (
int i,
int j,
int k) noexcept {
356 tau13(i,j,k) = s13(i,j,k);
357 tau31(i,j,k) = s31(i,j,k);
358 if (tau13_corr) tau13_corr(i,j,k) = s13_corr(i,j,k);
360 [=] AMREX_GPU_DEVICE (
int i,
int j,
int k) noexcept {
361 tau23(i,j,k) = s23(i,j,k);
362 tau32(i,j,k) = s32(i,j,k);
363 if (tau23_corr) tau23_corr(i,j,k) = s23_corr(i,j,k);
367 }
else if (l_use_terrain_fitted_coords) {
370 FArrayBox S21,S31,S32;
371 S21.resize(tbxxy,1,The_Async_Arena()); S31.resize(tbxxz,1,The_Async_Arena()); S32.resize(tbxyz,1,The_Async_Arena());
372 Array4<Real> s21 = S21.array(); Array4<Real> s31 = S31.array(); Array4<Real> s32 = S32.array();
382 BL_PROFILE(
"slow_rhs_making_er_T");
383 Box gbxo = surroundingNodes(bxcc,2);
388 Omega.resize(gbxo,1,The_Async_Arena());
391 Array4<Real> omega_arr = Omega.array();
392 ParallelFor(gbxo, [=] AMREX_GPU_DEVICE (
int i,
int j,
int k) noexcept
394 omega_arr(i,j,k) = (k == 0) ? 0. :
OmegaFromW(i,j,k,w(i,j,k),u,v,
395 mf_ux,mf_vy,z_nd,dxInv);
398 ParallelFor(bxcc, [=] AMREX_GPU_DEVICE (
int i,
int j,
int k) noexcept
407 Real Omega_hi = omega_arr(i,j,k+1);
408 Real Omega_lo = omega_arr(i,j,k );
410 Real mfsq = mf_mx(i,j,0)*mf_my(i,j,0);
412 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 +
413 (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 +
414 (Omega_hi - Omega_lo)*dxInv[2];
416 er_arr(i,j,k) = expansionRate / detJ_arr(i,j,k);
431 BL_PROFILE(
"slow_rhs_making_strain_T");
438 z_nd, detJ_arr, dxInv,
440 mf_my, mf_uy, mf_vy, bc_ptr_h,
445 ParallelFor(bx, [=] AMREX_GPU_DEVICE (
int i,
int j,
int k) noexcept
457 BL_PROFILE(
"slow_rhs_making_stress_T");
460 tbxxy.grow(IntVect(-1,-1,0));
461 tbxxz.grow(IntVect(-1,-1,0));
462 tbxyz.grow(IntVect(-1,-1,0));
471 er_arr, z_nd, detJ_arr, dxInv,
474 s13_corr, s23_corr, s33_corr);
482 er_arr, z_nd, detJ_arr, dxInv,
485 s13_corr, s23_corr, s33_corr);
489 bxcc.grow(IntVect(-1,-1,0));
490 if (bxcc.smallEnd(0) == valid_bx.smallEnd(0)) bxcc.growLo(0, 1);
491 if (bxcc.bigEnd(0) == valid_bx.bigEnd(0)) bxcc.growHi(0, 1);
492 if (bxcc.smallEnd(1) == valid_bx.smallEnd(1)) bxcc.growLo(1, 1);
493 if (bxcc.bigEnd(1) == valid_bx.bigEnd(1)) bxcc.growHi(1, 1);
497 [=] AMREX_GPU_DEVICE (
int i,
int j,
int k) noexcept {
498 tau11(i,j,k) = s11(i,j,k);
499 tau22(i,j,k) = s22(i,j,k);
500 tau33(i,j,k) = s33(i,j,k);
501 if (tau33_corr) tau33_corr(i,j,k) = s33_corr(i,j,k);
504 ParallelFor(tbxxy, tbxxz, tbxyz,
505 [=] AMREX_GPU_DEVICE (
int i,
int j,
int k) noexcept {
506 tau12(i,j,k) = s12(i,j,k);
507 tau21(i,j,k) = s21(i,j,k);
509 [=] AMREX_GPU_DEVICE (
int i,
int j,
int k) noexcept {
510 tau13(i,j,k) = s13(i,j,k);
511 tau31(i,j,k) = s31(i,j,k);
512 if(tau13_corr) tau13_corr(i,j,k) = s13_corr(i,j,k);
514 [=] AMREX_GPU_DEVICE (
int i,
int j,
int k) noexcept {
515 tau23(i,j,k) = s23(i,j,k);
516 tau32(i,j,k) = s32(i,j,k);
517 if(tau23_corr) tau23_corr(i,j,k) = s23_corr(i,j,k);
527 BL_PROFILE(
"slow_rhs_making_er_N");
529 ParallelFor(bxcc, [=] AMREX_GPU_DEVICE (
int i,
int j,
int k) noexcept {
530 Real mfsq = mf_mx(i,j,0)*mf_my(i,j,0);
531 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 +
532 (v(i , j+1, k )/mf_vx(i,j+1,0) - v(i, j, k)/mf_vx(i,j,0))*dxInv[1]*mfsq +
533 (w(i , j , k+1) - w(i, j, k))*dxInv[2];
536 ParallelFor(bxcc, [=] AMREX_GPU_DEVICE (
int i,
int j,
int k) noexcept {
537 if (cflag(i,j,k).isSingleValued()) {
538 er_arr(i,j,k) = (
Real(1.0)/vfrac(i,j,k)) * (
539 dxInv[0] * ( apx(i+1,j,k)*u(i+1,j,k) - apx(i,j,k)*u(i,j,k) )
540 + dxInv[1] * ( apy(i,j+1,k)*v(i,j+1,k) - apy(i,j,k)*v(i,j,k) )
541 + dxInv[2] * ( apz(i,j,k+1)*w(i,j,k+1) - apz(i,j,k)*w(i,j,k) ) );
542 }
else if (cflag(i,j,k).isRegular()) {
543 er_arr(i,j,k) = (u(i+1, j , k ) - u(i, j, k))*dxInv[0] +
544 (v(i , j+1, k ) - v(i, j, k))*dxInv[1] +
545 (w(i , j , k+1) - w(i, j, k))*dxInv[2];
557 BL_PROFILE(
"slow_rhs_making_strain_N");
565 mf_my, mf_uy, mf_vy, bc_ptr_h,
580 ParallelFor(bx, [=] AMREX_GPU_DEVICE (
int i,
int j,
int k) noexcept
592 BL_PROFILE(
"slow_rhs_making_stress_N");
595 tbxxy.grow(IntVect(-1,-1,0));
596 tbxxz.grow(IntVect(-1,-1,0));
597 tbxyz.grow(IntVect(-1,-1,0));
598 if (tbxxy.smallEnd(2) > domlo_z) {
603 if (tbxxy.bigEnd(2) < domhi_z) {
616 s13_corr, s23_corr, s33_corr);
624 s13_corr, s23_corr, s33_corr);
632 s13_corr, s23_corr, s33_corr);
636 bxcc.grow(IntVect(-1,-1,0));
637 if (bxcc.smallEnd(0) == valid_bx.smallEnd(0)) bxcc.growLo(0, 1);
638 if (bxcc.bigEnd(0) == valid_bx.bigEnd(0)) bxcc.growHi(0, 1);
639 if (bxcc.smallEnd(1) == valid_bx.smallEnd(1)) bxcc.growLo(1, 1);
640 if (bxcc.bigEnd(1) == valid_bx.bigEnd(1)) bxcc.growHi(1, 1);
644 [=] AMREX_GPU_DEVICE (
int i,
int j,
int k) noexcept {
645 tau11(i,j,k) = s11(i,j,k);
646 tau22(i,j,k) = s22(i,j,k);
647 tau33(i,j,k) = s33(i,j,k);
648 if (tau33_corr) tau33_corr(i,j,k) = s33_corr(i,j,k);
650 ParallelFor(tbxxy, tbxxz, tbxyz,
651 [=] AMREX_GPU_DEVICE (
int i,
int j,
int k) noexcept {
652 tau12(i,j,k) = s12(i,j,k);
654 [=] AMREX_GPU_DEVICE (
int i,
int j,
int k) noexcept {
655 tau13(i,j,k) = s13(i,j,k);
656 if (tau13_corr) tau13_corr(i,j,k) = s13_corr(i,j,k);
658 [=] AMREX_GPU_DEVICE (
int i,
int j,
int k) noexcept {
659 tau23(i,j,k) = s23(i,j,k);
660 if (tau23_corr) tau23_corr(i,j,k) = s23_corr(i,j,k);
void ComputeStrain_EB(const MFIter &mfi, 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 BCRec *bc_ptr, const eb_ &ebfact, Array4< Real > &tau13i, Array4< Real > &tau23i)
Definition: ERF_ComputeStrain_EB.cpp:28
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, Array4< Real > &tau13i, Array4< Real > &tau23i)
Definition: ERF_ComputeStrain_N.cpp:31
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, Array4< Real > &tau13i, Array4< Real > &tau23i)
Definition: ERF_ComputeStrain_S.cpp:39
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, Array4< Real > &tau13i, Array4< Real > &tau23i)
Definition: ERF_ComputeStrain_T.cpp:39
void ComputeStressConsVisc_EB(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, Array4< const Real > &vfrac, Array4< Real > &tau13i, Array4< Real > &tau23i, Array4< Real > &tau33i)
Definition: ERF_ComputeStress_EB.cpp:26
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, Array4< Real > &tau13i, Array4< Real > &tau23i, Array4< Real > &tau33i)
Definition: ERF_ComputeStress_N.cpp:26
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, Array4< Real > &tau13i, Array4< Real > &tau23i, Array4< Real > &tau33i)
Definition: ERF_ComputeStress_N.cpp:126
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 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, Array4< Real > &tau13i, Array4< Real > &tau23i, Array4< Real > &tau33i)
Definition: ERF_ComputeStress_S.cpp:162
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 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, Array4< Real > &tau13i, Array4< Real > &tau23i, Array4< Real > &tau33i)
Definition: ERF_ComputeStress_S.cpp:32
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, Array4< Real > &tau13i, Array4< Real > &tau23i, Array4< Real > &tau33i)
Definition: ERF_ComputeStress_T.cpp:363
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, Array4< Real > &tau13i, Array4< Real > &tau23i, Array4< Real > &tau33i)
Definition: ERF_ComputeStress_T.cpp:32
@ tau12
Definition: ERF_DataStruct.H:32
@ tau33
Definition: ERF_DataStruct.H:32
@ tau22
Definition: ERF_DataStruct.H:32
@ tau32
Definition: ERF_DataStruct.H:32
@ tau31
Definition: ERF_DataStruct.H:32
@ tau21
Definition: ERF_DataStruct.H:32
@ v_x
Definition: ERF_DataStruct.H:24
@ u_y
Definition: ERF_DataStruct.H:25
@ v_y
Definition: ERF_DataStruct.H:25
@ m_y
Definition: ERF_DataStruct.H:25
@ u_x
Definition: ERF_DataStruct.H:24
@ m_x
Definition: ERF_DataStruct.H:24
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:63
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:412
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:102
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:142
const std::unique_ptr< amrex::EBFArrayBoxFactory > & get_const_factory() const noexcept
Definition: ERF_EB.H:46
@ 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:1021
DiffChoice diffChoice
Definition: ERF_DataStruct.H:1030
amrex::Vector< amrex::Real > vert_implicit_fac
Definition: ERF_DataStruct.H:1055
amrex::Vector< TurbChoice > turbChoice
Definition: ERF_DataStruct.H:1033
static TerrainType terrain_type
Definition: ERF_DataStruct.H:1009
bool implicit_momentum_diffusion
Definition: ERF_DataStruct.H:1058
Definition: ERF_TurbStruct.H:41
PBLType pbl_type
Definition: ERF_TurbStruct.H:410
RANSType rans_type
Definition: ERF_TurbStruct.H:407
LESType les_type
Definition: ERF_TurbStruct.H:365
bool use_kturb
Definition: ERF_TurbStruct.H:416