76 const Real explicit_fac =
one - implicit_fac;
80 int klo = domain.smallEnd(2);
81 int khi = domain.bigEnd(2);
82 auto dz_ptr = stretched_dz_d.data();
84 for (
int n(0); n<num_comp; ++n) {
85 const int qty_index = start_comp + n;
106 SurfLayer_xlo, SurfLayer_xhi, SurfLayer_ylo, SurfLayer_yhi,
107 SurfLayer_zlo, SurfLayer_zhi
113 flux_policy.
prescribed.
x = Array4<const Real>(hfx_x);
114 flux_policy.
prescribed.
y = Array4<const Real>(hfx_y);
115 flux_policy.
prescribed.
z = Array4<const Real>(hfx_z);
118 }
else if (native_policy.
is_q1) {
122 flux_policy.
prescribed.
x = Array4<const Real>(qfx1_x);
123 flux_policy.
prescribed.
y = Array4<const Real>(qfx1_y);
124 flux_policy.
prescribed.
z = Array4<const Real>(qfx1_z);
127 }
else if (native_policy.
is_q2) {
133 const Real dx_inv = cellSizeInv[0];
134 const Real dy_inv = cellSizeInv[1];
136 bx, domain, field, flux_policy, dx_inv, dy_inv, dz_ptr,
klo,
khi,
137 mf_ux, mf_uy, mf_vx, mf_vy, bc_ptr, native_policy.
bc_comp);
140 zbx, zflux, field.
flux_comp, explicit_fac);
144 mf_mx, mf_my, dx_inv, dy_inv, dz_ptr);
147 bx, xflux, yflux, zflux, field.
flux_comp, *reflux_flx, field.
rhs_comp, mf_mx, mf_my,
148 dz_ptr, cellSizeInv[2]);
void DiffusionSrcForState_S(const Box &bx, const Box &domain, int start_comp, int num_comp, const Array4< const Real > &cell_data, const Array4< const Real > &cell_prim, const Array4< Real > &cell_rhs, const Array4< Real > &xflux, const Array4< Real > &yflux, const Array4< Real > &zflux, const Gpu::DeviceVector< Real > &stretched_dz_d, const GpuArray< Real, AMREX_SPACEDIM > &cellSizeInv, 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 > &hfx_x, Array4< Real > &hfx_y, Array4< Real > &hfx_z, Array4< Real > &qfx1_x, Array4< Real > &qfx1_y, Array4< Real > &qfx1_z, Array4< Real > &qfx2_z, const Array4< const Real > &mu_turb, const SolverChoice &solverChoice, const int level, const BCRec *bc_ptr, const bool use_SurfLayer, const Vector< std::unique_ptr< SurfaceLayer >> &SurfLayer, const Real implicit_fac, const ScalarDiffusionRefluxViews *reflux_flx)
Definition: ERF_DiffusionSrcForState_S.cpp:42
#define Rho_comp
Definition: ERF_IndexDefines.H:53
const int khi
Definition: ERF_InitCustomPert_Bubble.H:25
const int klo
Definition: ERF_InitCustomPert_KE.H:9
NativeScalarDiffusionPolicy ResolveNativeScalarDiffusionPolicy(const int qty_comp, const DiffChoice &choice)
Definition: ERF_NativeScalarDiffusion.H:26
constexpr amrex::Real one
Definition: ERF_NumericalConstants.H:37
void BuildScalarDiffusionFluxes_S(const amrex::Box &bx, const amrex::Box &domain, const ScalarDiffusionFieldViews &field, const ScalarDiffusionFluxPolicy &policy, const amrex::Real dx_inv, const amrex::Real dy_inv, const amrex::Real *dz, const int klo, const int khi, const amrex::Array4< const amrex::Real > &mf_ux, const amrex::Array4< const amrex::Real > &mf_uy, const amrex::Array4< const amrex::Real > &mf_vx, const amrex::Array4< const amrex::Real > &mf_vy, const amrex::BCRec *bc_ptr, const int bc_comp)
Definition: ERF_ScalarDiffusion.H:963
void ScaleScalarDiffusionVerticalFlux(const amrex::Box &zbx, const amrex::Array4< amrex::Real > &raw_Fz, const int flux_comp, const amrex::Real explicit_fac)
Definition: ERF_ScalarDiffusion.H:1564
void ApplyScalarDiffusionFluxDivergence_S(const amrex::Box &bx, const amrex::Array4< const amrex::Real > &xflux, const amrex::Array4< const amrex::Real > &yflux, const amrex::Array4< const amrex::Real > &raw_Fz, const int flux_comp, const amrex::Array4< amrex::Real > &rhs, const int rhs_comp, const amrex::Array4< const amrex::Real > &mf_mx, const amrex::Array4< const amrex::Real > &mf_my, const amrex::Real dx_inv, const amrex::Real dy_inv, const amrex::Real *dz)
Definition: ERF_ScalarDiffusion.H:1456
void AddScalarDiffusionRefluxFluxes_S(const amrex::Box &bx, const amrex::Array4< const amrex::Real > &xflux, const amrex::Array4< const amrex::Real > &yflux, const amrex::Array4< const amrex::Real > &zflux, const int flux_comp, const ScalarDiffusionRefluxViews &reflux, const int state_comp, const amrex::Array4< const amrex::Real > &mf_mx, const amrex::Array4< const amrex::Real > &mf_my, const amrex::Real *dz, const amrex::Real dz_inv)
Definition: ERF_ScalarDiffusion.H:1620
amrex::Real Real
Definition: ERF_ShocInterface.H:19
Definition: ERF_NativeScalarDiffusion.H:11
int bc_comp
Definition: ERF_NativeScalarDiffusion.H:16
bool scale_raw_vertical_flux
Definition: ERF_NativeScalarDiffusion.H:21
int rhs_comp
Definition: ERF_NativeScalarDiffusion.H:14
int scalar_comp
Definition: ERF_NativeScalarDiffusion.H:13
ScalarDiffusionCoefficients coefficients
Definition: ERF_NativeScalarDiffusion.H:12
bool is_q1
Definition: ERF_NativeScalarDiffusion.H:19
bool is_theta
Definition: ERF_NativeScalarDiffusion.H:17
int flux_comp
Definition: ERF_NativeScalarDiffusion.H:15
bool is_q2
Definition: ERF_NativeScalarDiffusion.H:20
Definition: ERF_ScalarDiffusion.H:33
int rho_comp
Definition: ERF_ScalarDiffusion.H:37
amrex::Array4< amrex::Real > xflux
Definition: ERF_ScalarDiffusion.H:39
amrex::Array4< amrex::Real > rhs
Definition: ERF_ScalarDiffusion.H:43
int rhs_comp
Definition: ERF_ScalarDiffusion.H:44
amrex::Array4< const amrex::Real > scalar
Definition: ERF_ScalarDiffusion.H:34
amrex::Array4< amrex::Real > yflux
Definition: ERF_ScalarDiffusion.H:40
int flux_comp
Definition: ERF_ScalarDiffusion.H:42
amrex::Array4< const amrex::Real > density
Definition: ERF_ScalarDiffusion.H:36
int scalar_comp
Definition: ERF_ScalarDiffusion.H:35
amrex::Array4< amrex::Real > zflux
Definition: ERF_ScalarDiffusion.H:41
amrex::Array4< const amrex::Real > mu_turb
Definition: ERF_ScalarDiffusion.H:38
Definition: ERF_ScalarDiffusion.H:92
ScalarDiffusionRawFluxDiagnostic diagnostic
Definition: ERF_ScalarDiffusion.H:96
ScalarDiffusionPrescribedFluxes prescribed
Definition: ERF_ScalarDiffusion.H:95
ScalarDiffusionCoefficientMode coefficient_mode
Definition: ERF_ScalarDiffusion.H:94
ScalarDiffusionSurfaceFaces surface
Definition: ERF_ScalarDiffusion.H:97
ScalarDiffusionCoefficients coefficients
Definition: ERF_ScalarDiffusion.H:93
bool use_z_on_side
Definition: ERF_ScalarDiffusion.H:59
amrex::Array4< const amrex::Real > x
Definition: ERF_ScalarDiffusion.H:62
amrex::Array4< const amrex::Real > z
Definition: ERF_ScalarDiffusion.H:64
bool use_x_on_side
Definition: ERF_ScalarDiffusion.H:57
amrex::Array4< const amrex::Real > y
Definition: ERF_ScalarDiffusion.H:63
bool use_y_on_side
Definition: ERF_ScalarDiffusion.H:58
amrex::Array4< amrex::Real > z
Definition: ERF_ScalarDiffusion.H:75
bool write_on_surface
Definition: ERF_ScalarDiffusion.H:74
bool enabled
Definition: ERF_ScalarDiffusion.H:73