5 const Real l_vert_implicit_fac = solverChoice.vert_implicit_fac[nrk];
9 for (
int ori = 0; ori < 2*AMREX_SPACEDIM; ori++) {
13 if (l_vert_implicit_fac > 0.) {
15 const bool l_use_stretched_dz = (solverChoice.mesh_type == MeshType::StretchedDz);
16 const bool l_use_SurfLayer = (m_SurfaceLayer !=
nullptr);
17 const BCRec* bc_ptr_h = domain_bcs_type.data();
19 const bool l_use_turb = solverChoice.turbChoice[level].use_kturb;
21 std::unique_ptr<MultiFab> dflux_z;
22 dflux_z = std::make_unique<MultiFab>(convert(ba,IntVect(0,0,1)), dm, 1, 0);
26 Box bx = mfi.tilebox();
28 const Array4< Real> & cell_data = scratch.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<Real const>& mu_turb = l_use_turb ? eddyDiffs->const_array(mfi) : Array4<const Real>{};
35 const Array4<Real>& hfx_z = Hfx3->array(mfi);
37 if (l_use_stretched_dz) {
41 stretched_dz_d[level], hfx_z,
42 mu_turb, solverChoice,
43 bc_ptr_h, l_use_SurfLayer, l_vert_implicit_fac);
44 }
else if (l_use_terrain_fitted_coords) {
48 z_nd_arr, detJ_arr, dxInv, hfx_z,
49 mu_turb, solverChoice,
50 bc_ptr_h, l_use_SurfLayer, l_vert_implicit_fac);
56 mu_turb, solverChoice,
57 bc_ptr_h, l_use_SurfLayer, l_vert_implicit_fac);
void ImplicitDiffForState_S(const amrex::Box &bx, const amrex::Box &domain, const int level, 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< 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 ImplicitDiffForState_N(const amrex::Box &bx, const amrex::Box &domain, const int level, 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< 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 ImplicitDiffForState_T(const amrex::Box &bx, const amrex::Box &domain, const int level, 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< 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 int bc_comp
Definition: ERF_Implicit.H:8
GpuArray< Real, AMREX_SPACEDIM *2 > l_bc_neumann_vals_d
Definition: ERF_Implicit.H:4
#define RhoTheta_comp
Definition: ERF_IndexDefines.H:37
amrex::Real Real
Definition: ERF_ShocInterface.H:19
AMREX_FORCE_INLINE amrex::IntVect TileNoZ()
Definition: ERF_TileNoZ.H:11
@ cons
Definition: ERF_IndexDefines.H:158