1 #ifndef ERF_SLOW_INTEGRATION_H_
2 #define ERF_SLOW_INTEGRATION_H_
4 #include "AMReX_MultiFab.H"
5 #include "AMReX_BCRec.H"
6 #include "AMReX_YAFluxRegister.H"
7 #include "AMReX_MultiCutFab.H"
8 #include "AMReX_EBMultiFabUtil.H"
23 const amrex::Vector<amrex::BCRec>& domain_bcs_type,
24 const amrex::MultiFab& z_phys_nd,
25 amrex::Vector<amrex::MultiFab>& S_data,
26 const amrex::MultiFab&
xvel,
27 const amrex::MultiFab&
yvel,
28 const amrex::MultiFab&
zvel,
29 amrex::Vector<std::unique_ptr<amrex::MultiFab>>& Tau_lev,
30 amrex::Vector<std::unique_ptr<amrex::MultiFab>>& Tau_corr_lev,
31 amrex::MultiFab* SmnSmn,
32 amrex::MultiFab* eddyDiffs,
33 const amrex::Geometry geom,
35 std::unique_ptr<SurfaceLayer>& SurfLayer,
36 amrex::Gpu::DeviceVector<amrex::Real>& stretched_dz_d,
37 const amrex::MultiFab& detJ,
38 amrex::Vector<std::unique_ptr<amrex::MultiFab>>& mapfac,
39 const amrex::MultiFab& ax,
40 const amrex::MultiFab& ay,
41 const amrex::MultiFab& az,
45 amrex::Vector<std::unique_ptr<amrex::MultiFab>>& Tau_corr_lev);
53 amrex::Vector<amrex::MultiFab>& S_rhs,
54 amrex::Vector<amrex::MultiFab>& S_old,
55 amrex::Vector<amrex::MultiFab>& S_data,
56 const amrex::MultiFab & S_prim,
57 const amrex::MultiFab &
qt,
58 amrex::MultiFab& avg_xmom,
59 amrex::MultiFab& avg_ymom,
60 amrex::MultiFab& avg_zmom,
61 const amrex::MultiFab&
xvel,
62 const amrex::MultiFab&
yvel,
63 const amrex::MultiFab&
zvel,
64 std::unique_ptr<amrex::MultiFab>& z_t,
65 const amrex::MultiFab& cc_src,
66 const amrex::MultiFab& xmom_src,
67 const amrex::MultiFab& ymom_src,
68 const amrex::MultiFab& zmom_src,
69 const amrex::MultiFab& buoyancy,
70 const amrex::MultiFab* zmom_crse_rhs,
71 amrex::Vector<std::unique_ptr<amrex::MultiFab>>& Tau_lev,
72 amrex::Vector<std::unique_ptr<amrex::MultiFab>>& Tau_corr_lev,
73 amrex::MultiFab* SmnSmn,
74 amrex::MultiFab* eddyDiffs,
75 amrex::MultiFab* Hfx1,
76 amrex::MultiFab* Hfx2,
77 amrex::MultiFab* Hfx3,
78 amrex::MultiFab* Q1fx1,
79 amrex::MultiFab* Q1fx2,
80 amrex::MultiFab* Q1fx3,
81 amrex::MultiFab* Q2fx3,
82 amrex::MultiFab* Diss,
83 const amrex::Geometry geom,
85 std::unique_ptr<SurfaceLayer>& SurfLayer,
86 const amrex::Gpu::DeviceVector<amrex::BCRec>& domain_bcs_type_d,
87 const amrex::Vector<amrex::BCRec>& domain_bcs_type,
88 const amrex::MultiFab& z_phys_nd,
89 const amrex::MultiFab& z_phys_cc,
90 const amrex::MultiFab& ax,
91 const amrex::MultiFab& ay,
92 const amrex::MultiFab& az,
93 const amrex::MultiFab& dJ,
94 amrex::Gpu::DeviceVector<amrex::Real>& stretched_dz_d,
95 amrex::Vector<amrex::MultiFab>& gradp,
96 amrex::Vector<std::unique_ptr<amrex::MultiFab>>& mapfac,
99 std::unique_ptr<SHOCInterface>& shoc_lev,
101 amrex::YAFluxRegister* fr_as_crse,
102 amrex::YAFluxRegister* fr_as_fine);
111 amrex::Vector<amrex::MultiFab>& S_rhs,
112 amrex::Vector<amrex::MultiFab>& S_old,
113 amrex::Vector<amrex::MultiFab>& S_new,
114 amrex::Vector<amrex::MultiFab>& S_data,
115 const amrex::MultiFab& S_prim,
116 amrex::MultiFab& avg_xmom,
117 amrex::MultiFab& avg_ymom,
118 amrex::MultiFab& avg_zmom,
119 const amrex::MultiFab&
xvel,
120 const amrex::MultiFab&
yvel,
121 const amrex::MultiFab&
zvel,
122 const amrex::MultiFab& source,
123 const amrex::MultiFab* SmnSmn,
124 const amrex::MultiFab* eddyDiffs,
125 amrex::MultiFab* Hfx1,
126 amrex::MultiFab* Hfx2,
127 amrex::MultiFab* Hfx3,
128 amrex::MultiFab* Q1fx1,
129 amrex::MultiFab* Q1fx2,
130 amrex::MultiFab* Q1fx3,
131 amrex::MultiFab* Q2fx3,
132 amrex::MultiFab* Diss,
133 const amrex::Geometry geom,
135 std::unique_ptr<SurfaceLayer>& SurfLayer,
136 const amrex::Gpu::DeviceVector<amrex::BCRec>& domain_bcs_type_d,
137 const amrex::Vector<amrex::BCRec>& domain_bcs_type,
138 std::unique_ptr<amrex::MultiFab>& z_phys_nd,
139 std::unique_ptr<amrex::MultiFab>& z_phys_cc,
140 std::unique_ptr<amrex::MultiFab>& ax,
141 std::unique_ptr<amrex::MultiFab>& ay,
142 std::unique_ptr<amrex::MultiFab>& az,
143 std::unique_ptr<amrex::MultiFab>& dJ_old,
144 amrex::MultiFab* dJ_new,
145 amrex::Gpu::DeviceVector<amrex::Real>& stretched_dz_d,
146 amrex::Vector<std::unique_ptr<amrex::MultiFab>>& mapfac,
147 amrex::EBFArrayBoxFactory
const& ebfact,
148 #
if defined(ERF_USE_NETCDF)
149 const bool& moist_zero,
155 amrex::Vector<amrex::Vector<amrex::FArrayBox>>& bdy_data_xlo,
156 amrex::Vector<amrex::Vector<amrex::FArrayBox>>& bdy_data_xhi,
157 amrex::Vector<amrex::Vector<amrex::FArrayBox>>& bdy_data_ylo,
158 amrex::Vector<amrex::Vector<amrex::FArrayBox>>& bdy_data_yhi,
161 std::unique_ptr<SHOCInterface>& shoc_lev,
163 amrex::YAFluxRegister* fr_as_crse,
164 amrex::YAFluxRegister* fr_as_fine,
165 std::unique_ptr<ReadBndryPlanes>& m_r2d);
amrex::Real Real
Definition: ERF_ShocInterface.H:19
@ qt
Definition: ERF_Kessler.H:27
@ xvel
Definition: ERF_IndexDefines.H:157
@ zvel
Definition: ERF_IndexDefines.H:159
@ yvel
Definition: ERF_IndexDefines.H:158
Definition: ERF_DataStruct.H:130