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"
22 const amrex::Vector<amrex::BCRec>& domain_bcs_type,
23 const amrex::MultiFab& z_phys_nd,
24 amrex::Vector<amrex::MultiFab>& S_data,
25 const amrex::MultiFab&
xvel,
26 const amrex::MultiFab&
yvel,
27 const amrex::MultiFab&
zvel,
28 amrex::Vector<std::unique_ptr<amrex::MultiFab>>& Tau_lev,
29 amrex::Vector<std::unique_ptr<amrex::MultiFab>>& Tau_corr_lev,
30 amrex::MultiFab* SmnSmn,
31 amrex::MultiFab* eddyDiffs,
32 const amrex::Geometry geom,
34 std::unique_ptr<SurfaceLayer>& SurfLayer,
35 amrex::Gpu::DeviceVector<amrex::Real>& stretched_dz_d,
36 const amrex::MultiFab& detJ,
37 amrex::Vector<std::unique_ptr<amrex::MultiFab>>& mapfac,
38 const amrex::MultiFab& ax,
39 const amrex::MultiFab& ay,
40 const amrex::MultiFab& az,
44 amrex::Vector<std::unique_ptr<amrex::MultiFab>>& Tau_corr_lev);
52 amrex::Vector<amrex::MultiFab>& S_rhs,
53 amrex::Vector<amrex::MultiFab>& S_old,
54 amrex::Vector<amrex::MultiFab>& S_data,
55 const amrex::MultiFab & S_prim,
56 const amrex::MultiFab &
qt,
57 amrex::MultiFab& avg_xmom,
58 amrex::MultiFab& avg_ymom,
59 amrex::MultiFab& avg_zmom,
60 const amrex::MultiFab&
xvel,
61 const amrex::MultiFab&
yvel,
62 const amrex::MultiFab&
zvel,
63 std::unique_ptr<amrex::MultiFab>& z_t,
64 const amrex::MultiFab& cc_src,
65 const amrex::MultiFab& xmom_src,
66 const amrex::MultiFab& ymom_src,
67 const amrex::MultiFab& zmom_src,
68 const amrex::MultiFab& buoyancy,
69 const amrex::MultiFab* zmom_crse_rhs,
70 amrex::Vector<std::unique_ptr<amrex::MultiFab>>& Tau_lev,
71 amrex::Vector<std::unique_ptr<amrex::MultiFab>>& Tau_corr_lev,
72 amrex::Vector<amrex::Vector<std::unique_ptr<amrex::MultiFab>>>& Tau_EB,
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 amrex::MultiFab* Hfx3_EB,
84 const amrex::Geometry geom,
86 std::unique_ptr<SurfaceLayer>& SurfLayer,
87 const amrex::Gpu::DeviceVector<amrex::BCRec>& domain_bcs_type_d,
88 const amrex::Vector<amrex::BCRec>& domain_bcs_type,
89 const amrex::MultiFab& z_phys_nd,
90 const amrex::MultiFab& z_phys_cc,
91 const amrex::MultiFab& ax,
92 const amrex::MultiFab& ay,
93 const amrex::MultiFab& az,
94 const amrex::MultiFab& dJ,
95 amrex::Gpu::DeviceVector<amrex::Real>& stretched_dz_d,
96 amrex::Vector<amrex::MultiFab>& gradp,
97 amrex::Vector<std::unique_ptr<amrex::MultiFab>>& mapfac,
100 std::unique_ptr<SHOCInterface>& shoc_lev,
102 amrex::YAFluxRegister* fr_as_crse,
103 amrex::YAFluxRegister* fr_as_fine);
112 amrex::Vector<amrex::MultiFab>& S_rhs,
113 amrex::Vector<amrex::MultiFab>& S_old,
114 amrex::Vector<amrex::MultiFab>& S_new,
115 amrex::Vector<amrex::MultiFab>& S_data,
116 const amrex::MultiFab& S_prim,
117 amrex::MultiFab& avg_xmom,
118 amrex::MultiFab& avg_ymom,
119 amrex::MultiFab& avg_zmom,
120 const amrex::MultiFab&
xvel,
121 const amrex::MultiFab&
yvel,
122 const amrex::MultiFab&
zvel,
123 const amrex::MultiFab& source,
124 const amrex::MultiFab* SmnSmn,
125 const amrex::MultiFab* eddyDiffs,
126 amrex::MultiFab* Hfx1,
127 amrex::MultiFab* Hfx2,
128 amrex::MultiFab* Hfx3,
129 amrex::MultiFab* Q1fx1,
130 amrex::MultiFab* Q1fx2,
131 amrex::MultiFab* Q1fx3,
132 amrex::MultiFab* Q2fx3,
133 amrex::MultiFab* Diss,
134 const amrex::Geometry geom,
136 std::unique_ptr<SurfaceLayer>& SurfLayer,
137 const amrex::Gpu::DeviceVector<amrex::BCRec>& domain_bcs_type_d,
138 const amrex::Vector<amrex::BCRec>& domain_bcs_type,
139 std::unique_ptr<amrex::MultiFab>& z_phys_nd,
140 std::unique_ptr<amrex::MultiFab>& z_phys_cc,
141 std::unique_ptr<amrex::MultiFab>& ax,
142 std::unique_ptr<amrex::MultiFab>& ay,
143 std::unique_ptr<amrex::MultiFab>& az,
144 std::unique_ptr<amrex::MultiFab>& dJ_old,
145 amrex::MultiFab* dJ_new,
146 amrex::Gpu::DeviceVector<amrex::Real>& stretched_dz_d,
147 amrex::Vector<std::unique_ptr<amrex::MultiFab>>& mapfac,
148 amrex::EBFArrayBoxFactory
const& ebfact,
149 #
if defined(ERF_USE_NETCDF)
150 const bool& moist_zero,
156 amrex::Vector<amrex::Vector<amrex::FArrayBox>>& bdy_data_xlo,
157 amrex::Vector<amrex::Vector<amrex::FArrayBox>>& bdy_data_xhi,
158 amrex::Vector<amrex::Vector<amrex::FArrayBox>>& bdy_data_ylo,
159 amrex::Vector<amrex::Vector<amrex::FArrayBox>>& bdy_data_yhi,
162 std::unique_ptr<SHOCInterface>& shoc_lev,
164 amrex::YAFluxRegister* fr_as_crse,
165 amrex::YAFluxRegister* fr_as_fine,
166 std::unique_ptr<ReadBndryPlanes>& m_r2d);
amrex::Real Real
Definition: ERF_ShocInterface.H:19
@ qt
Definition: ERF_Kessler.H:28
@ xvel
Definition: ERF_IndexDefines.H:175
@ zvel
Definition: ERF_IndexDefines.H:177
@ yvel
Definition: ERF_IndexDefines.H:176
Definition: ERF_DataStruct.H:141