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"
33 const amrex::Vector<amrex::BCRec>& domain_bcs_type,
34 const amrex::MultiFab& z_phys_nd,
35 amrex::Vector<amrex::MultiFab>& S_data,
36 const amrex::MultiFab&
xvel,
37 const amrex::MultiFab&
yvel,
38 const amrex::MultiFab&
zvel,
39 amrex::Vector<std::unique_ptr<amrex::MultiFab>>& Tau_lev,
40 amrex::Vector<std::unique_ptr<amrex::MultiFab>>& Tau_corr_lev,
41 amrex::MultiFab* SmnSmn,
42 amrex::MultiFab* eddyDiffs,
43 const amrex::Geometry geom,
45 std::unique_ptr<SurfaceLayer>& SurfLayer,
46 amrex::Gpu::DeviceVector<amrex::Real>& stretched_dz_d,
47 const amrex::MultiFab& detJ,
48 amrex::Vector<std::unique_ptr<amrex::MultiFab>>& mapfac,
49 const amrex::MultiFab& ax,
50 const amrex::MultiFab& ay,
51 const amrex::MultiFab& az,
55 amrex::Vector<std::unique_ptr<amrex::MultiFab>>& Tau_corr_lev);
63 amrex::Vector<amrex::MultiFab>& S_rhs,
64 amrex::Vector<amrex::MultiFab>& S_old,
65 amrex::Vector<amrex::MultiFab>& S_data,
66 const amrex::MultiFab & S_prim,
67 const amrex::MultiFab &
qt,
68 amrex::MultiFab& avg_xmom,
69 amrex::MultiFab& avg_ymom,
70 amrex::MultiFab& avg_zmom,
71 const amrex::MultiFab&
xvel,
72 const amrex::MultiFab&
yvel,
73 const amrex::MultiFab&
zvel,
74 std::unique_ptr<amrex::MultiFab>& z_t,
75 const amrex::MultiFab& cc_src,
76 const amrex::MultiFab& xmom_src,
77 const amrex::MultiFab& ymom_src,
78 const amrex::MultiFab& zmom_src,
79 const amrex::MultiFab& buoyancy,
80 const amrex::MultiFab* zmom_crse_rhs,
81 amrex::Vector<std::unique_ptr<amrex::MultiFab>>& Tau_lev,
82 amrex::Vector<std::unique_ptr<amrex::MultiFab>>& Tau_corr_lev,
83 amrex::Vector<amrex::Vector<std::unique_ptr<amrex::MultiFab>>>& Tau_EB,
84 amrex::MultiFab* SmnSmn,
85 amrex::MultiFab* eddyDiffs,
86 amrex::MultiFab* Hfx1,
87 amrex::MultiFab* Hfx2,
88 amrex::MultiFab* Hfx3,
89 amrex::MultiFab* Q1fx1,
90 amrex::MultiFab* Q1fx2,
91 amrex::MultiFab* Q1fx3,
92 amrex::MultiFab* Q2fx3,
93 amrex::MultiFab* Diss,
94 amrex::MultiFab* Hfx3_EB,
95 const amrex::Geometry geom,
97 std::unique_ptr<SurfaceLayer>& SurfLayer,
98 const amrex::Gpu::DeviceVector<amrex::BCRec>& domain_bcs_type_d,
99 const amrex::Vector<amrex::BCRec>& domain_bcs_type,
100 const amrex::MultiFab& z_phys_nd,
101 const amrex::MultiFab& z_phys_cc,
102 const amrex::MultiFab& ax,
103 const amrex::MultiFab& ay,
104 const amrex::MultiFab& az,
105 const amrex::MultiFab& dJ,
106 amrex::Gpu::DeviceVector<amrex::Real>& stretched_dz_d,
107 amrex::Vector<amrex::MultiFab>& gradp,
108 amrex::Vector<std::unique_ptr<amrex::MultiFab>>& mapfac,
110 #ifdef ERF_USE_EAMXX_SHOC
114 amrex::YAFluxRegister* fr_as_crse,
115 amrex::YAFluxRegister* fr_as_fine,
116 const amrex::MultiFab* cloud_chamber_base_state,
127 amrex::Vector<amrex::MultiFab>& S_rhs,
128 amrex::Vector<amrex::MultiFab>& S_old,
129 amrex::Vector<amrex::MultiFab>& S_new,
130 amrex::Vector<amrex::MultiFab>& S_data,
131 const amrex::MultiFab& S_prim,
132 amrex::MultiFab& avg_xmom,
133 amrex::MultiFab& avg_ymom,
134 amrex::MultiFab& avg_zmom,
135 const amrex::MultiFab&
xvel,
136 const amrex::MultiFab&
yvel,
137 const amrex::MultiFab&
zvel,
138 const amrex::MultiFab& source,
139 amrex::MultiFab* terrain_blank,
140 amrex::MultiFab* terrain_blank_xface,
141 amrex::MultiFab* terrain_blank_yface,
142 amrex::MultiFab* terrain_blank_zface,
143 const amrex::MultiFab* SmnSmn,
144 const amrex::MultiFab* eddyDiffs,
145 amrex::MultiFab* Hfx1,
146 amrex::MultiFab* Hfx2,
147 amrex::MultiFab* Hfx3,
148 amrex::MultiFab* Q1fx1,
149 amrex::MultiFab* Q1fx2,
150 amrex::MultiFab* Q1fx3,
151 amrex::MultiFab* Q2fx3,
152 amrex::MultiFab* Diss,
153 const amrex::Geometry geom,
155 std::unique_ptr<SurfaceLayer>& SurfLayer,
156 const amrex::Gpu::DeviceVector<amrex::BCRec>& domain_bcs_type_d,
157 const amrex::Vector<amrex::BCRec>& domain_bcs_type,
158 std::unique_ptr<amrex::MultiFab>& z_phys_nd,
159 std::unique_ptr<amrex::MultiFab>& z_phys_cc,
160 std::unique_ptr<amrex::MultiFab>& ax,
161 std::unique_ptr<amrex::MultiFab>& ay,
162 std::unique_ptr<amrex::MultiFab>& az,
163 std::unique_ptr<amrex::MultiFab>& dJ_old,
164 amrex::MultiFab* dJ_new,
165 amrex::Gpu::DeviceVector<amrex::Real>& stretched_dz_d,
166 amrex::Vector<std::unique_ptr<amrex::MultiFab>>& mapfac,
168 #ifdef ERF_USE_EAMXX_SHOC
172 amrex::YAFluxRegister* fr_as_crse,
173 amrex::YAFluxRegister* fr_as_fine,
174 std::unique_ptr<ReadBndryPlanes>& m_r2d,
175 const amrex::MultiFab* cloud_chamber_base_state,
Declares the embedded-boundary factory manager used by ERF levels.
Definition: ERF_CloudChamberBudget.H:28
Definition: ERF_ShocInterface.H:50
Definition: ERF_ShocDriver.H:61
Owns and exposes cell-centered and face-centered EB factories.
Definition: ERF_EB.H:24
@ qt
Definition: ERF_Kessler.H:29
@ xvel
Definition: ERF_IndexDefines.H:215
@ zvel
Definition: ERF_IndexDefines.H:217
@ yvel
Definition: ERF_IndexDefines.H:216
Definition: ERF_DataStruct.H:634
Configuration parameters for cloud chamber initialization.
Definition: ERF_CloudChamber.H:41