1 #ifndef ERF_FAST_INTEGRATION_H_
2 #define ERF_FAST_INTEGRATION_H_
4 #include <AMReX_MultiFab.H>
5 #include <AMReX_BCRec.H>
6 #include <AMReX_YAFluxRegister.H>
7 #include <AMReX_EBMultiFabUtil.H>
29 std::array<amrex::MultiFab*, AMREX_SPACEDIM>
rec {{AMREX_D_DECL(
nullptr,
nullptr,
nullptr)}};
30 amrex::MultiFab*
rec_w =
nullptr;
32 std::array<const amrex::MultiFab*, AMREX_SPACEDIM>
tgt {{AMREX_D_DECL(
nullptr,
nullptr,
nullptr)}};
33 const amrex::MultiFab*
tgt_w =
nullptr;
41 amrex::Vector<amrex::MultiFab >& S_slow_rhs,
42 const amrex::Vector<amrex::MultiFab >& S_prev,
43 amrex::Vector<amrex::MultiFab >& S_stage_data,
44 const amrex::MultiFab& S_stage_prim,
45 const amrex::MultiFab&
qt,
46 const amrex::MultiFab& pi_stage,
47 const amrex::MultiFab& fast_coeffs,
48 amrex::Vector<amrex::MultiFab >& S_data,
49 amrex::MultiFab& lagged_delta_rt,
50 amrex::MultiFab& avg_xmom,
51 amrex::MultiFab& avg_ymom,
52 amrex::MultiFab& avg_zmom,
53 const amrex::MultiFab& cc_src,
54 const amrex::MultiFab& xmom_src,
55 const amrex::MultiFab& ymom_src,
56 const amrex::MultiFab& zmom_src,
57 const amrex::Geometry geom,
59 amrex::Gpu::DeviceVector<amrex::Real>& stretched_dz_d,
62 amrex::Vector<std::unique_ptr<amrex::MultiFab>>& mapfac,
63 amrex::YAFluxRegister* fr_as_crse,
64 amrex::YAFluxRegister* fr_as_fine,
65 bool l_use_moisture,
bool l_reflux,
bool l_real_bc,
76 amrex::Vector<amrex::MultiFab >& S_slow_rhs,
77 const amrex::Vector<amrex::MultiFab >& S_prev,
78 amrex::Vector<amrex::MultiFab >& S_stage_data,
79 const amrex::MultiFab& S_stage_prim,
80 const amrex::MultiFab&
qt,
81 const amrex::MultiFab& pi_stage,
82 const amrex::MultiFab& fast_coeffs,
83 amrex::Vector<amrex::MultiFab >& S_data,
84 amrex::MultiFab& lagged_delta_rt,
85 amrex::MultiFab& avg_xmom,
86 amrex::MultiFab& avg_ymom,
87 amrex::MultiFab& avg_zmom,
88 const amrex::MultiFab& cc_src,
89 const amrex::MultiFab& xmom_src,
90 const amrex::MultiFab& ymom_src,
91 const amrex::MultiFab& zmom_src,
92 const amrex::Geometry geom,
94 std::unique_ptr<amrex::MultiFab>& z_phys_nd,
95 std::unique_ptr<amrex::MultiFab>& detJ_cc,
98 amrex::Vector<std::unique_ptr<amrex::MultiFab>>& mapfac,
99 amrex::YAFluxRegister* fr_as_crse,
100 amrex::YAFluxRegister* fr_as_fine,
101 bool l_use_moisture,
bool l_reflux,
bool l_real_bc,
112 amrex::Vector<amrex::MultiFab >& S_slow_rhs,
113 const amrex::Vector<amrex::MultiFab >& S_prev,
114 amrex::Vector<amrex::MultiFab >& S_stg_data,
115 const amrex::MultiFab& S_stg_prim,
116 const amrex::MultiFab&
qt,
117 const amrex::MultiFab& pi_stage,
118 const amrex::MultiFab& fast_coeffs,
119 amrex::Vector<amrex::MultiFab >& S_data,
120 amrex::MultiFab& lagged_delta_rt,
121 amrex::MultiFab& avg_xmom,
122 amrex::MultiFab& avg_ymom,
123 amrex::MultiFab& avg_zmom,
124 const amrex::MultiFab& cc_src,
125 const amrex::MultiFab& xmom_src,
126 const amrex::MultiFab& ymom_src,
127 const amrex::MultiFab& zmom_src,
128 const amrex::Geometry geom,
130 const bool use_lagged_delta_rt,
131 std::unique_ptr<amrex::MultiFab>& z_t_rk,
132 const amrex::MultiFab* z_t_pert,
133 std::unique_ptr<amrex::MultiFab>& z_phys_nd_old,
134 std::unique_ptr<amrex::MultiFab>& z_phys_nd_new,
135 std::unique_ptr<amrex::MultiFab>& z_phys_nd_stg,
136 std::unique_ptr<amrex::MultiFab>& detJ_cc_old,
137 std::unique_ptr<amrex::MultiFab>& detJ_cc_new,
138 std::unique_ptr<amrex::MultiFab>& detJ_cc_stg,
141 amrex::Vector<std::unique_ptr<amrex::MultiFab>>& mapfac,
142 amrex::YAFluxRegister* fr_as_crse,
143 amrex::YAFluxRegister* fr_as_fine,
144 bool l_use_moisture,
bool l_reflux,
bool l_real_bc,
154 amrex::MultiFab& fast_coeffs,
155 amrex::Vector<amrex::MultiFab >& S_stage_data,
156 const amrex::MultiFab& S_stage_prim,
157 const amrex::MultiFab& pi_stage,
158 const amrex::Geometry geom,
160 const MeshType mesh_type,
163 std::unique_ptr<amrex::MultiFab>& detJ_cc,
166 const amrex::MultiFab* z_phys_nd,
167 const bool use_variable_beta_s,
170 amrex::GpuArray<ERF_BC, AMREX_SPACEDIM*2> &phys_bc_type);
const bool use_moisture
Definition: ERF_InitCustomPert_ABL.H:71
amrex::Real Real
Definition: ERF_ShocInterface.H:19
@ qt
Definition: ERF_Kessler.H:30
Definition: ERF_TI_fast_headers.H:28
std::array< amrex::MultiFab *, AMREX_SPACEDIM > rec
Definition: ERF_TI_fast_headers.H:29
amrex::MultiFab * rec_w
Definition: ERF_TI_fast_headers.H:30
const amrex::MultiFab * tgt_w
Definition: ERF_TI_fast_headers.H:33
std::array< const amrex::MultiFab *, AMREX_SPACEDIM > tgt
Definition: ERF_TI_fast_headers.H:32
amrex::MultiFab * rec_w_old
Definition: ERF_TI_fast_headers.H:31