1 #ifndef ERF_ADVECTION_H_
2 #define ERF_ADVECTION_H_
5 #include "AMReX_MultiFab.H"
6 #include "AMReX_iMultiFab.H"
7 #include "AMReX_BCRec.H"
8 #include "AMReX_YAFluxRegister.H"
17 const amrex::Array4<amrex::Real>& src,
18 const amrex::Array4<const amrex::Real>& rho_u,
19 const amrex::Array4<const amrex::Real>& rho_v,
20 const amrex::Array4<const amrex::Real>&
omega,
21 const amrex::Array4< amrex::Real>& avg_xmom,
22 const amrex::Array4< amrex::Real>& avg_ymom,
23 const amrex::Array4< amrex::Real>& avg_zmom,
24 const amrex::Array4<const amrex::Real>& ax_arr,
25 const amrex::Array4<const amrex::Real>& ay_arr,
26 const amrex::Array4<const amrex::Real>& az_arr,
27 const amrex::Array4<const amrex::Real>& detJ,
28 const amrex::GpuArray<amrex::Real, AMREX_SPACEDIM>& cellSizeInv,
29 const amrex::Array4<const amrex::Real>& mf_mx,
30 const amrex::Array4<const amrex::Real>& mf_my,
31 const amrex::Array4<const amrex::Real>& mf_uy,
32 const amrex::Array4<const amrex::Real>& mf_vx,
33 const amrex::GpuArray<
const amrex::Array4<amrex::Real>, AMREX_SPACEDIM>& flx_arr,
34 const bool fixed_rho);
39 const int icomp,
const int ncomp,
40 const amrex::Array4<const amrex::Real>& avg_xmom,
41 const amrex::Array4<const amrex::Real>& avg_ymom,
42 const amrex::Array4<const amrex::Real>& avg_zmom,
43 const amrex::Array4<const amrex::Real>& cur_cons,
44 const amrex::Array4<const amrex::Real>& cell_prim,
45 const amrex::Array4<amrex::Real>& src,
46 const bool& use_mono_adv,
47 amrex::Real* max_s_ptr,
48 amrex::Real* min_s_ptr,
49 const amrex::Array4<const amrex::Real>& vf_arr,
50 const amrex::GpuArray<amrex::Real, AMREX_SPACEDIM>& cellSizeInv,
51 const amrex::Array4<const amrex::Real>& mf_mx,
52 const amrex::Array4<const amrex::Real>& mf_my,
54 const amrex::Real horiz_upw_frac,
const amrex::Real vert_upw_frac,
55 const amrex::GpuArray<
const amrex::Array4<amrex::Real>, AMREX_SPACEDIM>& flx_arr,
56 const amrex::GpuArray< amrex::Array4<amrex::Real>, AMREX_SPACEDIM>& flx_tmp_arr,
57 const amrex::Box& domain,
58 const amrex::BCRec* bc_ptr_h);
63 const amrex::Box& bxx,
const amrex::Box& bxy,
const amrex::Box& bxz,
64 const amrex::Vector<amrex::Box>& bxx_grown,
65 const amrex::Vector<amrex::Box>& bxy_grown,
66 const amrex::Vector<amrex::Box>& bxz_grown,
67 const amrex::Array4< amrex::Real>& rho_u_rhs,
const amrex::Array4< amrex::Real>& rho_v_rhs,
68 const amrex::Array4< amrex::Real>& rho_w_rhs,
69 const amrex::Array4<const amrex::Real>&
rho,
70 const amrex::Array4<const amrex::Real>& u ,
const amrex::Array4<const amrex::Real>& v,
71 const amrex::Array4<const amrex::Real>& w ,
72 const amrex::Array4<const amrex::Real>& rho_u ,
const amrex::Array4<const amrex::Real>& rho_v,
73 const amrex::Array4<const amrex::Real>& Omega ,
74 const amrex::Array4<const amrex::Real>& z_nd,
75 const amrex::Array4<const amrex::Real>& ax,
76 const amrex::Array4<const amrex::Real>& ay,
77 const amrex::Array4<const amrex::Real>& az,
78 const amrex::Array4<const amrex::Real>& detJ,
79 amrex::Gpu::DeviceVector<amrex::Real>& stretched_dz_d,
80 const amrex::GpuArray<amrex::Real, AMREX_SPACEDIM>& cellSizeInv,
81 const amrex::Array4<const amrex::Real>& mf_mx,
82 const amrex::Array4<const amrex::Real>& mf_ux,
83 const amrex::Array4<const amrex::Real>& mf_vx,
84 const amrex::Array4<const amrex::Real>& mf_my,
85 const amrex::Array4<const amrex::Real>& mf_uy,
86 const amrex::Array4<const amrex::Real>& mf_vy,
88 const amrex::Real horiz_upw_frac,
const amrex::Real vert_upw_frac,
89 MeshType& mesh_type, TerrainType& terrain_type,
91 amrex::GpuArray<amrex::Array4<amrex::Real>, AMREX_SPACEDIM>& flx_u_arr,
92 amrex::GpuArray<amrex::Array4<amrex::Real>, AMREX_SPACEDIM>& flx_v_arr,
93 amrex::GpuArray<amrex::Array4<amrex::Real>, AMREX_SPACEDIM>& flx_w_arr,
94 const amrex::Vector<amrex::iMultiFab>& physbnd_mask,
95 const bool already_on_centroids,
96 const int lo_z_face,
const int hi_z_face,
97 const amrex::Box& domain,
98 const amrex::BCRec* bc_ptr_h);
102 const amrex::Box& bxx,
const amrex::Box& bxy,
const amrex::Box& bxz,
103 const amrex::Array4< amrex::Real>& rho_u_rhs,
const amrex::Array4< amrex::Real>& rho_v_rhs,
104 const amrex::Array4< amrex::Real>& rho_w_rhs,
105 const amrex::Array4<const amrex::Real>& u ,
const amrex::Array4<const amrex::Real>& v,
106 const amrex::Array4<const amrex::Real>& w ,
107 const amrex::Array4<const amrex::Real>& rho_u ,
const amrex::Array4<const amrex::Real>& rho_v,
108 const amrex::Array4<const amrex::Real>& Omega ,
109 const amrex::GpuArray<amrex::Real, AMREX_SPACEDIM>& cellSizeInv,
110 const amrex::Gpu::DeviceVector<amrex::Real>& stretched_dz_d,
111 const amrex::Array4<const amrex::Real>& mf_mx,
112 const amrex::Array4<const amrex::Real>& mf_ux,
113 const amrex::Array4<const amrex::Real>& mf_vx,
114 const amrex::Array4<const amrex::Real>& mf_my,
115 const amrex::Array4<const amrex::Real>& mf_uy,
116 const amrex::Array4<const amrex::Real>& mf_vy,
118 const amrex::Real horiz_upw_frac,
const amrex::Real vert_upw_frac,
119 TerrainType& terrain_type,
120 const int lo_z_face,
const int hi_z_face);
124 const amrex::Box& bxx,
const amrex::Box& bxy,
const amrex::Box& bxz,
125 const amrex::Array4< amrex::Real>& rho_u_rhs,
const amrex::Array4< amrex::Real>& rho_v_rhs,
126 const amrex::Array4< amrex::Real>& rho_w_rhs,
127 const amrex::Array4<const amrex::Real>& u ,
const amrex::Array4<const amrex::Real>& v,
128 const amrex::Array4<const amrex::Real>& w ,
129 const amrex::Array4<const amrex::Real>& rho_u ,
const amrex::Array4<const amrex::Real>& rho_v,
130 const amrex::Array4<const amrex::Real>& Omega ,
131 const amrex::GpuArray<amrex::Real, AMREX_SPACEDIM>& cellSizeInv,
132 const amrex::Gpu::DeviceVector<amrex::Real>& stretched_dz_d,
133 const amrex::Array4<const amrex::Real>& mf_mx,
134 const amrex::Array4<const amrex::Real>& mf_ux,
135 const amrex::Array4<const amrex::Real>& mf_vx,
136 const amrex::Array4<const amrex::Real>& mf_my,
137 const amrex::Array4<const amrex::Real>& mf_uy,
138 const amrex::Array4<const amrex::Real>& mf_vy,
140 const amrex::Real horiz_upw_frac,
const amrex::Real vert_upw_frac,
141 const int lo_z_face,
const int hi_z_face);
145 const amrex::Box& bxx,
const amrex::Box& bxy,
const amrex::Box& bxz,
146 const amrex::Array4< amrex::Real>& rho_u_rhs,
const amrex::Array4< amrex::Real>& rho_v_rhs,
147 const amrex::Array4< amrex::Real>& rho_w_rhs,
148 const amrex::Array4<const amrex::Real>& u ,
const amrex::Array4<const amrex::Real>& v,
149 const amrex::Array4<const amrex::Real>& w ,
150 const amrex::Array4<const amrex::Real>& rho_u ,
const amrex::Array4<const amrex::Real>& rho_v,
151 const amrex::Array4<const amrex::Real>& Omega ,
152 const amrex::Array4<const amrex::Real>& z_nd,
153 const amrex::Array4<const amrex::Real>& ax,
154 const amrex::Array4<const amrex::Real>& ay,
155 const amrex::Array4<const amrex::Real>& az,
156 const amrex::Array4<const amrex::Real>& detJ,
157 const amrex::GpuArray<amrex::Real, AMREX_SPACEDIM>& cellSizeInv,
158 const amrex::Array4<const amrex::Real>& mf_mx,
159 const amrex::Array4<const amrex::Real>& mf_ux,
160 const amrex::Array4<const amrex::Real>& mf_vx,
161 const amrex::Array4<const amrex::Real>& mf_my,
162 const amrex::Array4<const amrex::Real>& mf_uy,
163 const amrex::Array4<const amrex::Real>& mf_vy,
165 const amrex::Real horiz_upw_frac,
const amrex::Real vert_upw_frac,
166 const int lo_z_face,
const int hi_z_face);
170 const amrex::Box& bxx,
const amrex::Box& bxy,
const amrex::Box& bxz,
171 const amrex::Vector<amrex::Box>& bxx_grown,
172 const amrex::Vector<amrex::Box>& bxy_grown,
173 const amrex::Vector<amrex::Box>& bxz_grown,
174 const amrex::Array4< amrex::Real>& rho_u_rhs,
const amrex::Array4< amrex::Real>& rho_v_rhs,
175 const amrex::Array4< amrex::Real>& rho_w_rhs,
176 const amrex::Array4<const amrex::Real>& u ,
const amrex::Array4<const amrex::Real>& v,
177 const amrex::Array4<const amrex::Real>& w ,
178 const amrex::Array4<const amrex::Real>& rho_u ,
const amrex::Array4<const amrex::Real>& rho_v,
179 const amrex::Array4<const amrex::Real>& Omega ,
180 const amrex::GpuArray<amrex::Real, AMREX_SPACEDIM>& cellSizeInv,
181 const amrex::Array4<const amrex::Real>& mf_mx,
182 const amrex::Array4<const amrex::Real>& mf_ux,
183 const amrex::Array4<const amrex::Real>& mf_vx,
184 const amrex::Array4<const amrex::Real>& mf_my,
185 const amrex::Array4<const amrex::Real>& mf_uy,
186 const amrex::Array4<const amrex::Real>& mf_vy,
188 const amrex::Real horiz_upw_frac,
const amrex::Real vert_upw_frac,
190 amrex::GpuArray<amrex::Array4<amrex::Real>, AMREX_SPACEDIM>& flx_u_arr,
191 amrex::GpuArray<amrex::Array4<amrex::Real>, AMREX_SPACEDIM>& flx_v_arr,
192 amrex::GpuArray<amrex::Array4<amrex::Real>, AMREX_SPACEDIM>& flx_w_arr,
193 const amrex::Vector<amrex::iMultiFab>& physbnd_mask,
194 const bool already_on_centroids,
195 const int lo_z_face,
const int hi_z_face,
196 const amrex::Box& domain);
202 const amrex::Array4< amrex::Real>& rhs_arr,
203 const amrex::Array4<const amrex::Real>& vel_norm_arr,
204 const amrex::Array4<const amrex::Real>& cell_data_arr,
205 const amrex::GpuArray<amrex::Real, AMREX_SPACEDIM>& dxInv,
206 const bool do_lo=
false);
212 const amrex::Array4< amrex::Real>& rho_u_rhs,
213 const amrex::Array4<const amrex::Real>& u,
214 const amrex::Array4<const amrex::Real>& rho_u,
215 const amrex::Array4<const amrex::Real>& rho_v,
216 const amrex::Array4<const amrex::Real>& Omega,
217 const amrex::Array4<const amrex::Real>& ax,
218 const amrex::Array4<const amrex::Real>& az,
219 const amrex::Array4<const amrex::Real>& detJ,
220 const amrex::GpuArray<amrex::Real, AMREX_SPACEDIM>& cellSizeInv,
221 const bool do_lo=
false);
227 const amrex::Array4< amrex::Real>& rho_v_rhs,
228 const amrex::Array4<const amrex::Real>& v,
229 const amrex::Array4<const amrex::Real>& rho_u,
230 const amrex::Array4<const amrex::Real>& rho_v,
231 const amrex::Array4<const amrex::Real>& Omega,
232 const amrex::Array4<const amrex::Real>& ay,
233 const amrex::Array4<const amrex::Real>& az,
234 const amrex::Array4<const amrex::Real>& detJ,
235 const amrex::GpuArray<amrex::Real, AMREX_SPACEDIM>& cellSizeInv,
236 const bool do_lo=
false);
242 const amrex::Array4< amrex::Real>& rho_w_rhs,
243 const amrex::Array4<const amrex::Real>& w,
244 const amrex::Array4<const amrex::Real>& rho_u,
245 const amrex::Array4<const amrex::Real>& rho_v,
246 const amrex::Array4<const amrex::Real>& Omega,
247 const amrex::Array4<const amrex::Real>& ax,
248 const amrex::Array4<const amrex::Real>& ay,
249 const amrex::Array4<const amrex::Real>& az,
250 const amrex::Array4<const amrex::Real>& detJ,
251 const amrex::GpuArray<amrex::Real, AMREX_SPACEDIM>& cellSizeInv,
253 const bool do_lo=
false);
261 const amrex::Array4< amrex::Real>& cell_rhs,
262 const amrex::Array4<const amrex::Real>& cell_prim,
263 const amrex::Array4<const amrex::Real>& avg_xmom,
264 const amrex::Array4<const amrex::Real>& avg_ymom,
265 const amrex::Array4<const amrex::Real>& avg_zmom,
266 const amrex::Array4<const amrex::Real>& detJ,
267 const amrex::GpuArray<amrex::Real, AMREX_SPACEDIM>& cellSizeInv,
268 const bool do_lo=
false);
271 AMREX_GPU_HOST_DEVICE
279 const amrex::Array4<const amrex::Real>& prim_tang_arr,
280 const amrex::Array4<const amrex::Real>& mom_norm_arr,
281 const amrex::Real& dxInv,
282 const bool do_lo=
false);
284 AMREX_GPU_HOST_DEVICE
295 }
else if (nrk == 1) {
319 eff_adv_type = adv_type;
322 return(eff_adv_type);
void AdvectionSrcForRho(const amrex::Box &bx, const amrex::Array4< amrex::Real > &src, const amrex::Array4< const amrex::Real > &rho_u, const amrex::Array4< const amrex::Real > &rho_v, const amrex::Array4< const amrex::Real > &omega, const amrex::Array4< amrex::Real > &avg_xmom, const amrex::Array4< amrex::Real > &avg_ymom, const amrex::Array4< amrex::Real > &avg_zmom, const amrex::Array4< const amrex::Real > &ax_arr, const amrex::Array4< const amrex::Real > &ay_arr, const amrex::Array4< const amrex::Real > &az_arr, const amrex::Array4< const amrex::Real > &detJ, const amrex::GpuArray< amrex::Real, AMREX_SPACEDIM > &cellSizeInv, const amrex::Array4< const amrex::Real > &mf_mx, const amrex::Array4< const amrex::Real > &mf_my, const amrex::Array4< const amrex::Real > &mf_uy, const amrex::Array4< const amrex::Real > &mf_vx, const amrex::GpuArray< const amrex::Array4< amrex::Real >, AMREX_SPACEDIM > &flx_arr, const bool fixed_rho)
void AdvectionSrcForMom_EB(const amrex::MFIter &mfi, const amrex::Box &bxx, const amrex::Box &bxy, const amrex::Box &bxz, const amrex::Vector< amrex::Box > &bxx_grown, const amrex::Vector< amrex::Box > &bxy_grown, const amrex::Vector< amrex::Box > &bxz_grown, const amrex::Array4< amrex::Real > &rho_u_rhs, const amrex::Array4< amrex::Real > &rho_v_rhs, const amrex::Array4< amrex::Real > &rho_w_rhs, const amrex::Array4< const amrex::Real > &u, const amrex::Array4< const amrex::Real > &v, const amrex::Array4< const amrex::Real > &w, const amrex::Array4< const amrex::Real > &rho_u, const amrex::Array4< const amrex::Real > &rho_v, const amrex::Array4< const amrex::Real > &Omega, const amrex::GpuArray< amrex::Real, AMREX_SPACEDIM > &cellSizeInv, const amrex::Array4< const amrex::Real > &mf_mx, const amrex::Array4< const amrex::Real > &mf_ux, const amrex::Array4< const amrex::Real > &mf_vx, const amrex::Array4< const amrex::Real > &mf_my, const amrex::Array4< const amrex::Real > &mf_uy, const amrex::Array4< const amrex::Real > &mf_vy, const AdvType horiz_adv_type, const AdvType vert_adv_type, const amrex::Real horiz_upw_frac, const amrex::Real vert_upw_frac, const eb_ &ebfact, amrex::GpuArray< amrex::Array4< amrex::Real >, AMREX_SPACEDIM > &flx_u_arr, amrex::GpuArray< amrex::Array4< amrex::Real >, AMREX_SPACEDIM > &flx_v_arr, amrex::GpuArray< amrex::Array4< amrex::Real >, AMREX_SPACEDIM > &flx_w_arr, const amrex::Vector< amrex::iMultiFab > &physbnd_mask, const bool already_on_centroids, const int lo_z_face, const int hi_z_face, const amrex::Box &domain)
void AdvectionSrcForMom_StretchedDz(const amrex::Box &bxx, const amrex::Box &bxy, const amrex::Box &bxz, const amrex::Array4< amrex::Real > &rho_u_rhs, const amrex::Array4< amrex::Real > &rho_v_rhs, const amrex::Array4< amrex::Real > &rho_w_rhs, const amrex::Array4< const amrex::Real > &u, const amrex::Array4< const amrex::Real > &v, const amrex::Array4< const amrex::Real > &w, const amrex::Array4< const amrex::Real > &rho_u, const amrex::Array4< const amrex::Real > &rho_v, const amrex::Array4< const amrex::Real > &Omega, const amrex::GpuArray< amrex::Real, AMREX_SPACEDIM > &cellSizeInv, const amrex::Gpu::DeviceVector< amrex::Real > &stretched_dz_d, const amrex::Array4< const amrex::Real > &mf_mx, const amrex::Array4< const amrex::Real > &mf_ux, const amrex::Array4< const amrex::Real > &mf_vx, const amrex::Array4< const amrex::Real > &mf_my, const amrex::Array4< const amrex::Real > &mf_uy, const amrex::Array4< const amrex::Real > &mf_vy, const AdvType horiz_adv_type, const AdvType vert_adv_type, const amrex::Real horiz_upw_frac, const amrex::Real vert_upw_frac, const int lo_z_face, const int hi_z_face)
void AdvectionSrcForOpenBC_Tangent_Ymom(const amrex::Box &bxy, const int &dir, const amrex::Array4< amrex::Real > &rho_v_rhs, const amrex::Array4< const amrex::Real > &v, const amrex::Array4< const amrex::Real > &rho_u, const amrex::Array4< const amrex::Real > &rho_v, const amrex::Array4< const amrex::Real > &Omega, const amrex::Array4< const amrex::Real > &ay, const amrex::Array4< const amrex::Real > &az, const amrex::Array4< const amrex::Real > &detJ, const amrex::GpuArray< amrex::Real, AMREX_SPACEDIM > &cellSizeInv, const bool do_lo=false)
void AdvectionSrcForOpenBC_Tangent_Xmom(const amrex::Box &bxx, const int &dir, const amrex::Array4< amrex::Real > &rho_u_rhs, const amrex::Array4< const amrex::Real > &u, const amrex::Array4< const amrex::Real > &rho_u, const amrex::Array4< const amrex::Real > &rho_v, const amrex::Array4< const amrex::Real > &Omega, const amrex::Array4< const amrex::Real > &ax, const amrex::Array4< const amrex::Real > &az, const amrex::Array4< const amrex::Real > &detJ, const amrex::GpuArray< amrex::Real, AMREX_SPACEDIM > &cellSizeInv, const bool do_lo=false)
void AdvectionSrcForMom_TF(const amrex::Box &bxx, const amrex::Box &bxy, const amrex::Box &bxz, const amrex::Array4< amrex::Real > &rho_u_rhs, const amrex::Array4< amrex::Real > &rho_v_rhs, const amrex::Array4< amrex::Real > &rho_w_rhs, const amrex::Array4< const amrex::Real > &u, const amrex::Array4< const amrex::Real > &v, const amrex::Array4< const amrex::Real > &w, const amrex::Array4< const amrex::Real > &rho_u, const amrex::Array4< const amrex::Real > &rho_v, const amrex::Array4< const amrex::Real > &Omega, const amrex::Array4< const amrex::Real > &z_nd, const amrex::Array4< const amrex::Real > &ax, const amrex::Array4< const amrex::Real > &ay, const amrex::Array4< const amrex::Real > &az, const amrex::Array4< const amrex::Real > &detJ, const amrex::GpuArray< amrex::Real, AMREX_SPACEDIM > &cellSizeInv, const amrex::Array4< const amrex::Real > &mf_mx, const amrex::Array4< const amrex::Real > &mf_ux, const amrex::Array4< const amrex::Real > &mf_vx, const amrex::Array4< const amrex::Real > &mf_my, const amrex::Array4< const amrex::Real > &mf_uy, const amrex::Array4< const amrex::Real > &mf_vy, const AdvType horiz_adv_type, const AdvType vert_adv_type, const amrex::Real horiz_upw_frac, const amrex::Real vert_upw_frac, const int lo_z_face, const int hi_z_face)
void AdvectionSrcForOpenBC_Normal(const amrex::Box &bx, const int &dir, const amrex::Array4< amrex::Real > &rhs_arr, const amrex::Array4< const amrex::Real > &vel_norm_arr, const amrex::Array4< const amrex::Real > &cell_data_arr, const amrex::GpuArray< amrex::Real, AMREX_SPACEDIM > &dxInv, const bool do_lo=false)
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE amrex::Real AdvectionSrcForOpenBC_Tangent(const int &i, const int &j, const int &k, const int &nprim, const int &dir, const amrex::Array4< const amrex::Real > &prim_tang_arr, const amrex::Array4< const amrex::Real > &mom_norm_arr, const amrex::Real &dxInv, const bool do_lo=false)
void AdvectionSrcForMom(const amrex::MFIter &mfi, const amrex::Box &bx, const amrex::Box &bxx, const amrex::Box &bxy, const amrex::Box &bxz, const amrex::Vector< amrex::Box > &bxx_grown, const amrex::Vector< amrex::Box > &bxy_grown, const amrex::Vector< amrex::Box > &bxz_grown, const amrex::Array4< amrex::Real > &rho_u_rhs, const amrex::Array4< amrex::Real > &rho_v_rhs, const amrex::Array4< amrex::Real > &rho_w_rhs, const amrex::Array4< const amrex::Real > &rho, const amrex::Array4< const amrex::Real > &u, const amrex::Array4< const amrex::Real > &v, const amrex::Array4< const amrex::Real > &w, const amrex::Array4< const amrex::Real > &rho_u, const amrex::Array4< const amrex::Real > &rho_v, const amrex::Array4< const amrex::Real > &Omega, const amrex::Array4< const amrex::Real > &z_nd, const amrex::Array4< const amrex::Real > &ax, const amrex::Array4< const amrex::Real > &ay, const amrex::Array4< const amrex::Real > &az, const amrex::Array4< const amrex::Real > &detJ, amrex::Gpu::DeviceVector< amrex::Real > &stretched_dz_d, const amrex::GpuArray< amrex::Real, AMREX_SPACEDIM > &cellSizeInv, const amrex::Array4< const amrex::Real > &mf_mx, const amrex::Array4< const amrex::Real > &mf_ux, const amrex::Array4< const amrex::Real > &mf_vx, const amrex::Array4< const amrex::Real > &mf_my, const amrex::Array4< const amrex::Real > &mf_uy, const amrex::Array4< const amrex::Real > &mf_vy, const AdvType horiz_adv_type, const AdvType vert_adv_type, const amrex::Real horiz_upw_frac, const amrex::Real vert_upw_frac, MeshType &mesh_type, TerrainType &terrain_type, const eb_ &ebfact, amrex::GpuArray< amrex::Array4< amrex::Real >, AMREX_SPACEDIM > &flx_u_arr, amrex::GpuArray< amrex::Array4< amrex::Real >, AMREX_SPACEDIM > &flx_v_arr, amrex::GpuArray< amrex::Array4< amrex::Real >, AMREX_SPACEDIM > &flx_w_arr, const amrex::Vector< amrex::iMultiFab > &physbnd_mask, const bool already_on_centroids, const int lo_z_face, const int hi_z_face, const amrex::Box &domain, const amrex::BCRec *bc_ptr_h)
void AdvectionSrcForOpenBC_Tangent_Cons(const amrex::Box &bx, const int &dir, const int &icomp, const int &ncomp, const amrex::Array4< amrex::Real > &cell_rhs, const amrex::Array4< const amrex::Real > &cell_prim, const amrex::Array4< const amrex::Real > &avg_xmom, const amrex::Array4< const amrex::Real > &avg_ymom, const amrex::Array4< const amrex::Real > &avg_zmom, const amrex::Array4< const amrex::Real > &detJ, const amrex::GpuArray< amrex::Real, AMREX_SPACEDIM > &cellSizeInv, const bool do_lo=false)
void AdvectionSrcForOpenBC_Tangent_Zmom(const amrex::Box &bxz, const int &dir, const amrex::Array4< amrex::Real > &rho_w_rhs, const amrex::Array4< const amrex::Real > &w, const amrex::Array4< const amrex::Real > &rho_u, const amrex::Array4< const amrex::Real > &rho_v, const amrex::Array4< const amrex::Real > &Omega, const amrex::Array4< const amrex::Real > &ax, const amrex::Array4< const amrex::Real > &ay, const amrex::Array4< const amrex::Real > &az, const amrex::Array4< const amrex::Real > &detJ, const amrex::GpuArray< amrex::Real, AMREX_SPACEDIM > &cellSizeInv, const int domhi_z, const bool do_lo=false)
void AdvectionSrcForMom_ConstantDz(const amrex::Box &bxx, const amrex::Box &bxy, const amrex::Box &bxz, const amrex::Array4< amrex::Real > &rho_u_rhs, const amrex::Array4< amrex::Real > &rho_v_rhs, const amrex::Array4< amrex::Real > &rho_w_rhs, const amrex::Array4< const amrex::Real > &u, const amrex::Array4< const amrex::Real > &v, const amrex::Array4< const amrex::Real > &w, const amrex::Array4< const amrex::Real > &rho_u, const amrex::Array4< const amrex::Real > &rho_v, const amrex::Array4< const amrex::Real > &Omega, const amrex::GpuArray< amrex::Real, AMREX_SPACEDIM > &cellSizeInv, const amrex::Gpu::DeviceVector< amrex::Real > &stretched_dz_d, const amrex::Array4< const amrex::Real > &mf_mx, const amrex::Array4< const amrex::Real > &mf_ux, const amrex::Array4< const amrex::Real > &mf_vx, const amrex::Array4< const amrex::Real > &mf_my, const amrex::Array4< const amrex::Real > &mf_uy, const amrex::Array4< const amrex::Real > &mf_vy, const AdvType horiz_adv_type, const AdvType vert_adv_type, const amrex::Real horiz_upw_frac, const amrex::Real vert_upw_frac, TerrainType &terrain_type, const int lo_z_face, const int hi_z_face)
void AdvectionSrcForScalars(const amrex::Real &dt, const amrex::Box &bx, const int icomp, const int ncomp, const amrex::Array4< const amrex::Real > &avg_xmom, const amrex::Array4< const amrex::Real > &avg_ymom, const amrex::Array4< const amrex::Real > &avg_zmom, const amrex::Array4< const amrex::Real > &cur_cons, const amrex::Array4< const amrex::Real > &cell_prim, const amrex::Array4< amrex::Real > &src, const bool &use_mono_adv, amrex::Real *max_s_ptr, amrex::Real *min_s_ptr, const amrex::Array4< const amrex::Real > &vf_arr, const amrex::GpuArray< amrex::Real, AMREX_SPACEDIM > &cellSizeInv, const amrex::Array4< const amrex::Real > &mf_mx, const amrex::Array4< const amrex::Real > &mf_my, const AdvType horiz_adv_type, const AdvType vert_adv_type, const amrex::Real horiz_upw_frac, const amrex::Real vert_upw_frac, const amrex::GpuArray< const amrex::Array4< amrex::Real >, AMREX_SPACEDIM > &flx_arr, const amrex::GpuArray< amrex::Array4< amrex::Real >, AMREX_SPACEDIM > &flx_tmp_arr, const amrex::Box &domain, const amrex::BCRec *bc_ptr_h)
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE AdvType EfficientAdvType(int nrk, AdvType adv_type)
Definition: ERF_Advection.H:287
AdvType
Definition: ERF_IndexDefines.H:221
@ rho
Definition: ERF_Kessler.H:22
@ omega
Definition: ERF_Morrison.H:53