9 const bool l_use_turb = solverChoice.turbChoice[level].use_kturb;
10 const bool l_use_stretched_dz = (solverChoice.mesh_type == MeshType::StretchedDz);
13 (solverChoice.turbChoice[level].use_tke)) {
16 const BCRec* bc_ptr_h = domain_bcs_type.data();
17 GpuArray<Real, AMREX_SPACEDIM*2> l_bc_neumann_vals_d;
18 for (
int ori = 0; ori < 2*AMREX_SPACEDIM; ori++) {
19 l_bc_neumann_vals_d[ori] = m_bc_neumann_vals[
RhoKE_comp][ori];
21 const bool l_use_SurfLayer =
false;
25 Box bx = mfi.tilebox();
28 const Array4< Real>& cell_data = S_new[
IntVars::cons].array(mfi);
30 const Array4<const Real>& z_nd_arr = z_phys_nd[level]->const_array(mfi);
31 const Array4<const Real>& detJ_arr = detJ_cc[level]->const_array(mfi);
33 const Array4<const Real>& mu_turb = l_use_turb ? eddyDiffs->const_array(mfi) :
36 if (l_use_stretched_dz) {
38 slow_dt, l_bc_neumann_vals_d, cell_data,
39 stretched_dz_d[level], Array4<const Real>{},
40 mu_turb, solverChoice,
42 }
else if (l_use_terrain_fitted_coords) {
44 slow_dt, l_bc_neumann_vals_d, cell_data,
45 z_nd_arr, detJ_arr,
dxInv, Array4<const Real>{},
46 mu_turb, solverChoice,
50 slow_dt, l_bc_neumann_vals_d, cell_data,
51 dxInv, Array4<const Real>{}, mu_turb, solverChoice,
58 (solverChoice.moisture_type != MoistureType::None) ) {
61 const BCRec* bc_ptr_h = domain_bcs_type.data();
62 GpuArray<Real, AMREX_SPACEDIM*2> l_bc_neumann_vals_d;
63 for (
int ori = 0; ori < 2*AMREX_SPACEDIM; ori++) {
64 l_bc_neumann_vals_d[ori] = m_bc_neumann_vals[
RhoQ1_comp][ori];
66 const bool l_use_SurfLayer = (m_SurfaceLayer !=
nullptr);
70 Box bx = mfi.tilebox();
73 const Array4< Real>& cell_data = S_new[
IntVars::cons].array(mfi);
75 const Array4<const Real>& z_nd_arr = z_phys_nd[level]->const_array(mfi);
76 const Array4<const Real>& detJ_arr = detJ_cc[level]->const_array(mfi);
78 const Array4<const Real>& mu_turb = l_use_turb ? eddyDiffs->const_array(mfi) :
80 const Array4<const Real>& q1fx_z = Q1fx3->const_array(mfi);
82 if (l_use_stretched_dz) {
84 slow_dt, l_bc_neumann_vals_d, cell_data,
85 stretched_dz_d[level], q1fx_z,
86 mu_turb, solverChoice,
88 }
else if (l_use_terrain_fitted_coords) {
90 slow_dt, l_bc_neumann_vals_d, cell_data,
91 z_nd_arr, detJ_arr,
dxInv, q1fx_z,
92 mu_turb, solverChoice,
96 slow_dt, l_bc_neumann_vals_d, cell_data,
97 dxInv, q1fx_z, mu_turb, solverChoice,
constexpr amrex::Real zero
Definition: ERF_Constants.H:8
void ImplicitDiffForStateLU_T(const amrex::Box &bx, const amrex::Box &domain, const int level, const int n, const amrex::Real dt, const amrex::GpuArray< amrex::Real, AMREX_SPACEDIM *2 > &bc_neumann_vals, const amrex::Array4< amrex::Real > &cell_data, const amrex::Array4< const amrex::Real > &z_nd, const amrex::Array4< const amrex::Real > &detJ, const amrex::GpuArray< amrex::Real, AMREX_SPACEDIM > &cellSizeInv, const amrex::Array4< const amrex::Real > &hfx_z, const amrex::Array4< const amrex::Real > &mu_turb, const SolverChoice &solverChoice, const amrex::BCRec *bc_ptr, const bool use_SurfLayer, const amrex::Real implicit_fac)
void ImplicitDiffForStateLU_N(const amrex::Box &bx, const amrex::Box &domain, const int level, const int n, const amrex::Real dt, const amrex::GpuArray< amrex::Real, AMREX_SPACEDIM *2 > &bc_neumann_vals, const amrex::Array4< amrex::Real > &cell_data, const amrex::GpuArray< amrex::Real, AMREX_SPACEDIM > &cellSizeInv, const amrex::Array4< const amrex::Real > &hfx_z, const amrex::Array4< const amrex::Real > &mu_turb, const SolverChoice &solverChoice, const amrex::BCRec *bc_ptr, const bool use_SurfLayer, const amrex::Real implicit_fac)
void ImplicitDiffForStateLU_S(const amrex::Box &bx, const amrex::Box &domain, const int level, const int n, const amrex::Real dt, const amrex::GpuArray< amrex::Real, AMREX_SPACEDIM *2 > &bc_neumann_vals, const amrex::Array4< amrex::Real > &cell_data, const amrex::Gpu::DeviceVector< amrex::Real > &stretched_dz_d, const amrex::Array4< const amrex::Real > &hfx_z, const amrex::Array4< const amrex::Real > &mu_turb, const SolverChoice &solverChoice, const amrex::BCRec *bc_ptr, const bool use_SurfLayer, const amrex::Real implicit_fac)
const bool l_do_implicit_ke
Definition: ERF_ImplicitPost.H:4
const bool l_do_implicit_moist
Definition: ERF_ImplicitPost.H:5
const Real l_vert_implicit_fac
Definition: ERF_ImplicitPost.H:6
#define RhoQ1_comp
Definition: ERF_IndexDefines.H:42
#define RhoKE_comp
Definition: ERF_IndexDefines.H:38
amrex::GpuArray< Real, AMREX_SPACEDIM > dxInv
Definition: ERF_InitCustomPertVels_ParticleTests.H:17
amrex::Real Real
Definition: ERF_ShocInterface.H:19
AMREX_FORCE_INLINE amrex::IntVect TileNoZ()
Definition: ERF_TileNoZ.H:11
@ cons
Definition: ERF_IndexDefines.H:192