ERF
Energy Research and Forecasting: An Atmospheric Modeling Code
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
ERF_Diffusion.H
Go to the documentation of this file.
1 #ifndef ERF_DIFFUSION_H_
2 #define ERF_DIFFUSION_H_
3 
4 #include "AMReX.H"
5 #include "AMReX_MultiFab.H"
6 #include "AMReX_BCRec.H"
7 
8 #include "ERF_DataStruct.H"
9 #include "ERF_IndexDefines.H"
10 #include "ERF_SurfaceLayer.H"
11 #include "ERF_EB.H"
12 
13 void DiffusionSrcForMom (const amrex::Box& bxx, const amrex::Box& bxy, const amrex::Box& bxz,
14  const amrex::Array4< amrex::Real>& rho_u_rhs,
15  const amrex::Array4< amrex::Real>& rho_v_rhs,
16  const amrex::Array4< amrex::Real>& rho_w_rhs,
17  const amrex::Array4<const amrex::Real>& tau11 ,
18  const amrex::Array4<const amrex::Real>& tau22 ,
19  const amrex::Array4<const amrex::Real>& tau33 ,
20  const amrex::Array4<const amrex::Real>& tau12 , const amrex::Array4<const amrex::Real>& tau21,
21  const amrex::Array4<const amrex::Real>& tau13 , const amrex::Array4<const amrex::Real>& tau31,
22  const amrex::Array4<const amrex::Real>& tau23 , const amrex::Array4<const amrex::Real>& tau32,
23  const amrex::Array4<const amrex::Real>& detJ_arr ,
24  const amrex::Gpu::DeviceVector<amrex::Real>& stretched_dz_d,
25  const amrex::GpuArray<amrex::Real, AMREX_SPACEDIM>& dxInv,
26  const amrex::Array4<const amrex::Real>& mf_mx ,
27  const amrex::Array4<const amrex::Real>& mf_ux ,
28  const amrex::Array4<const amrex::Real>& mf_vx ,
29  const amrex::Array4<const amrex::Real>& mf_my ,
30  const amrex::Array4<const amrex::Real>& mf_uy ,
31  const amrex::Array4<const amrex::Real>& mf_vy ,
32  const bool use_stretched_dz, const bool use_variable_dz);
33 
34 void DiffusionSrcForMom_EB (const amrex::MFIter& mfi,
35  [[maybe_unused]] const amrex::Box& domain,
36  const amrex::Box& bxx, const amrex::Box& bxy, const amrex::Box& bxz,
37  const amrex::Array4< amrex::Real>& rho_u_rhs,
38  const amrex::Array4< amrex::Real>& rho_v_rhs,
39  const amrex::Array4< amrex::Real>& rho_w_rhs,
40  const amrex::Array4<const amrex::Real>& u_arr ,
41  const amrex::Array4<const amrex::Real>& v_arr ,
42  const amrex::Array4<const amrex::Real>& w_arr ,
43  const amrex::Array4<const amrex::Real>& tau11 ,
44  const amrex::Array4<const amrex::Real>& tau22 ,
45  const amrex::Array4<const amrex::Real>& tau33 ,
46  const amrex::Array4<const amrex::Real>& tau12 ,
47  const amrex::Array4<const amrex::Real>& tau13 ,
48  const amrex::Array4<const amrex::Real>& tau23 ,
49  const amrex::Real* dx_arr,
50  const amrex::GpuArray<amrex::Real, AMREX_SPACEDIM>& dxInv,
51  const amrex::Array4<const amrex::Real>& mf_mx ,
52  const amrex::Array4<const amrex::Real>& mf_ux ,
53  const amrex::Array4<const amrex::Real>& mf_vx ,
54  const amrex::Array4<const amrex::Real>& mf_my ,
55  const amrex::Array4<const amrex::Real>& mf_uy ,
56  const amrex::Array4<const amrex::Real>& mf_vy ,
57  const SolverChoice& solverChoice,
58  const eb_& ebfact,
59  [[maybe_unused]] const amrex::BCRec* bc_ptr);
60 
61 void DiffusionSrcForState_N (const amrex::Box& bx, const amrex::Box& domain,
62  int start_comp, int num_comp,
63  const amrex::Array4<const amrex::Real>& u,
64  const amrex::Array4<const amrex::Real>& v,
65  const amrex::Array4<const amrex::Real>& cell_data,
66  const amrex::Array4<const amrex::Real>& cell_prim,
67  const amrex::Array4<amrex::Real>& cell_rhs,
68  const amrex::Array4<amrex::Real>& xflux,
69  const amrex::Array4<amrex::Real>& yflux,
70  const amrex::Array4<amrex::Real>& zflux,
71  const amrex::GpuArray<amrex::Real, AMREX_SPACEDIM>& cellSizeInv,
72  const amrex::Array4<const amrex::Real>& SmnSmn_a,
73  const amrex::Array4<const amrex::Real>& mf_mx,
74  const amrex::Array4<const amrex::Real>& mf_ux,
75  const amrex::Array4<const amrex::Real>& mf_vx,
76  const amrex::Array4<const amrex::Real>& mf_my,
77  const amrex::Array4<const amrex::Real>& mf_uy,
78  const amrex::Array4<const amrex::Real>& mf_vy,
79  amrex::Array4< amrex::Real>& hfx_z,
80  amrex::Array4< amrex::Real>& qfx1_z,
81  amrex::Array4< amrex::Real>& qfx2_z,
82  amrex::Array4< amrex::Real>& diss,
83  const amrex::Array4<const amrex::Real>& mu_turb,
84  const SolverChoice& solverChoice,
85  const int level,
86  const amrex::Array4<const amrex::Real>& tm_arr,
87  const amrex::GpuArray<amrex::Real,AMREX_SPACEDIM> grav_gpu,
88  const amrex::BCRec* bc_ptr,
89  const bool use_SurfLayer);
90 
91 void DiffusionSrcForState_S (const amrex::Box& bx, const amrex::Box& domain,
92  int start_comp, int num_comp,
93  const bool& rotate,
94  const amrex::Array4<const amrex::Real>& u,
95  const amrex::Array4<const amrex::Real>& v,
96  const amrex::Array4<const amrex::Real>& cell_data,
97  const amrex::Array4<const amrex::Real>& cell_prim,
98  const amrex::Array4<amrex::Real>& cell_rhs,
99  const amrex::Array4<amrex::Real>& xflux,
100  const amrex::Array4<amrex::Real>& yflux,
101  const amrex::Array4<amrex::Real>& zflux,
102  const amrex::Gpu::DeviceVector<amrex::Real>& stretched_dz_d,
103  const amrex::GpuArray<amrex::Real, AMREX_SPACEDIM>& dxInv,
104  const amrex::Array4<const amrex::Real>& SmnSmn_a,
105  const amrex::Array4<const amrex::Real>& mf_mx,
106  const amrex::Array4<const amrex::Real>& mf_ux,
107  const amrex::Array4<const amrex::Real>& mf_vx,
108  const amrex::Array4<const amrex::Real>& mf_my,
109  const amrex::Array4<const amrex::Real>& mf_uy,
110  const amrex::Array4<const amrex::Real>& mf_vy,
111  amrex::Array4< amrex::Real>& hfx_x,
112  amrex::Array4< amrex::Real>& hfx_y,
113  amrex::Array4< amrex::Real>& hfx_z,
114  amrex::Array4< amrex::Real>& qfx1_x,
115  amrex::Array4< amrex::Real>& qfx1_y,
116  amrex::Array4< amrex::Real>& qfx1_z,
117  amrex::Array4< amrex::Real>& qfx2_z,
118  amrex::Array4< amrex::Real>& diss,
119  const amrex::Array4<const amrex::Real>& mu_turb,
120  const SolverChoice& solverChoice,
121  const int level,
122  const amrex::Array4<const amrex::Real>& tm_arr,
123  const amrex::GpuArray<amrex::Real,AMREX_SPACEDIM> grav_gpu,
124  const amrex::BCRec* bc_ptr,
125  const bool use_SurfLayer);
126 
127 void DiffusionSrcForState_T (const amrex::Box& bx, const amrex::Box& domain,
128  int start_comp, int num_comp,
129  const bool& rotate,
130  const amrex::Array4<const amrex::Real>& u,
131  const amrex::Array4<const amrex::Real>& v,
132  const amrex::Array4<const amrex::Real>& cell_data,
133  const amrex::Array4<const amrex::Real>& cell_prim,
134  const amrex::Array4<amrex::Real>& cell_rhs,
135  const amrex::Array4<amrex::Real>& xflux,
136  const amrex::Array4<amrex::Real>& yflux,
137  const amrex::Array4<amrex::Real>& zflux,
138  const amrex::Array4<const amrex::Real>& z_nd,
139  const amrex::Array4<const amrex::Real>& z_cc,
140  const amrex::Array4<const amrex::Real>& ax,
141  const amrex::Array4<const amrex::Real>& ay,
142  const amrex::Array4<const amrex::Real>& az,
143  const amrex::Array4<const amrex::Real>& detJ,
144  const amrex::GpuArray<amrex::Real, AMREX_SPACEDIM>& dxInv,
145  const amrex::Array4<const amrex::Real>& SmnSmn_a,
146  const amrex::Array4<const amrex::Real>& mf_mx,
147  const amrex::Array4<const amrex::Real>& mf_ux,
148  const amrex::Array4<const amrex::Real>& mf_vx,
149  const amrex::Array4<const amrex::Real>& mf_my,
150  const amrex::Array4<const amrex::Real>& mf_uy,
151  const amrex::Array4<const amrex::Real>& mf_vy,
152  amrex::Array4< amrex::Real>& hfx_x,
153  amrex::Array4< amrex::Real>& hfx_y,
154  amrex::Array4< amrex::Real>& hfx_z,
155  amrex::Array4< amrex::Real>& qfx1_x,
156  amrex::Array4< amrex::Real>& qfx1_y,
157  amrex::Array4< amrex::Real>& qfx1_z,
158  amrex::Array4< amrex::Real>& qfx2_z,
159  amrex::Array4< amrex::Real>& diss,
160  const amrex::Array4<const amrex::Real>& mu_turb,
161  const SolverChoice& solverChoice,
162  const int level,
163  const amrex::Array4<const amrex::Real>& tm_arr,
164  const amrex::GpuArray<amrex::Real,AMREX_SPACEDIM> grav_gpu,
165  const amrex::BCRec* bc_ptr,
166  const bool use_SurfLayer);
167 
168 
169 
170 void ComputeStressConsVisc_N (amrex::Box bxcc,
171  amrex::Box tbxxy,
172  amrex::Box tbxxz,
173  amrex::Box tbxyz,
174  amrex::Real mu_eff,
175  const amrex::Array4<const amrex::Real>& cell_data,
176  amrex::Array4<amrex::Real>& tau11,
177  amrex::Array4<amrex::Real>& tau22,
178  amrex::Array4<amrex::Real>& tau33,
179  amrex::Array4<amrex::Real>& tau12,
180  amrex::Array4<amrex::Real>& tau13,
181  amrex::Array4<amrex::Real>& tau23,
182  const amrex::Array4<const amrex::Real>& er_arr);
183 
184 void ComputeStressConsVisc_S (amrex::Box bxcc,
185  amrex::Box tbxxy,
186  amrex::Box tbxxz,
187  amrex::Box tbxyz,
188  amrex::Real mu_eff,
189  const amrex::Array4<const amrex::Real>& cell_data,
190  amrex::Array4<amrex::Real>& tau11,
191  amrex::Array4<amrex::Real>& tau22,
192  amrex::Array4<amrex::Real>& tau33,
193  amrex::Array4<amrex::Real>& tau12, amrex::Array4<amrex::Real>& tau21,
194  amrex::Array4<amrex::Real>& tau13, amrex::Array4<amrex::Real>& tau31,
195  amrex::Array4<amrex::Real>& tau23, amrex::Array4<amrex::Real>& tau32,
196  const amrex::Array4<const amrex::Real>& er_arr,
197  const amrex::Gpu::DeviceVector<amrex::Real>& stretched_dz_d,
198  const amrex::GpuArray<amrex::Real, AMREX_SPACEDIM>& dxInv,
199  const amrex::Array4<const amrex::Real>& mf_mx,
200  const amrex::Array4<const amrex::Real>& mf_ux,
201  const amrex::Array4<const amrex::Real>& mf_vx,
202  const amrex::Array4<const amrex::Real>& mf_my,
203  const amrex::Array4<const amrex::Real>& mf_uy,
204  const amrex::Array4<const amrex::Real>& mf_vy);
205 
206 void ComputeStressConsVisc_T (amrex::Box bxcc,
207  amrex::Box tbxxy,
208  amrex::Box tbxxz,
209  amrex::Box tbxyz,
210  amrex::Real mu_eff,
211  const amrex::Array4<const amrex::Real>& cell_data,
212  amrex::Array4<amrex::Real>& tau11,
213  amrex::Array4<amrex::Real>& tau22,
214  amrex::Array4<amrex::Real>& tau33,
215  amrex::Array4<amrex::Real>& tau12, amrex::Array4<amrex::Real>& tau21,
216  amrex::Array4<amrex::Real>& tau13, amrex::Array4<amrex::Real>& tau31,
217  amrex::Array4<amrex::Real>& tau23, amrex::Array4<amrex::Real>& tau32,
218  const amrex::Array4<const amrex::Real>& er_arr,
219  const amrex::Array4<const amrex::Real>& z_nd,
220  const amrex::Array4<const amrex::Real>& detJ,
221  const amrex::GpuArray<amrex::Real, AMREX_SPACEDIM>& dxInv,
222  const amrex::Array4<const amrex::Real>& mf_mx,
223  const amrex::Array4<const amrex::Real>& mf_ux,
224  const amrex::Array4<const amrex::Real>& mf_vx,
225  const amrex::Array4<const amrex::Real>& mf_my,
226  const amrex::Array4<const amrex::Real>& mf_uy,
227  const amrex::Array4<const amrex::Real>& mf_vy);
228 
229 
230 
231 void ComputeStressVarVisc_N (amrex::Box bxcc,
232  amrex::Box tbxxy,
233  amrex::Box tbxxz,
234  amrex::Box tbxyz,
235  amrex::Real mu_eff,
236  const amrex::Array4<const amrex::Real>& mu_turb,
237  const amrex::Array4<const amrex::Real>& cell_data,
238  amrex::Array4<amrex::Real>& tau11,
239  amrex::Array4<amrex::Real>& tau22,
240  amrex::Array4<amrex::Real>& tau33,
241  amrex::Array4<amrex::Real>& tau12,
242  amrex::Array4<amrex::Real>& tau13,
243  amrex::Array4<amrex::Real>& tau23,
244  const amrex::Array4<const amrex::Real>& er_arr);
245 
246 void ComputeStressVarVisc_S (amrex::Box bxcc,
247  amrex::Box tbxxy,
248  amrex::Box tbxxz,
249  amrex::Box tbxyz,
250  amrex::Real mu_eff,
251  const amrex::Array4<const amrex::Real>& mu_turb,
252  const amrex::Array4<const amrex::Real>& cell_data,
253  amrex::Array4<amrex::Real>& tau11,
254  amrex::Array4<amrex::Real>& tau22,
255  amrex::Array4<amrex::Real>& tau33,
256  amrex::Array4<amrex::Real>& tau12, amrex::Array4<amrex::Real>& tau21,
257  amrex::Array4<amrex::Real>& tau13, amrex::Array4<amrex::Real>& tau31,
258  amrex::Array4<amrex::Real>& tau23, amrex::Array4<amrex::Real>& tau32,
259  const amrex::Array4<const amrex::Real>& er_arr,
260  const amrex::Gpu::DeviceVector<amrex::Real>& stretched_dz_d,
261  const amrex::GpuArray<amrex::Real, AMREX_SPACEDIM>& dxInv,
262  const amrex::Array4<const amrex::Real>& mf_mx,
263  const amrex::Array4<const amrex::Real>& mf_ux,
264  const amrex::Array4<const amrex::Real>& mf_vx,
265  const amrex::Array4<const amrex::Real>& mf_my,
266  const amrex::Array4<const amrex::Real>& mf_uy,
267  const amrex::Array4<const amrex::Real>& mf_vy);
268 
269 void ComputeStressVarVisc_T (amrex::Box bxcc,
270  amrex::Box tbxxy,
271  amrex::Box tbxxz,
272  amrex::Box tbxyz,
273  amrex::Real mu_eff,
274  const amrex::Array4<const amrex::Real>& mu_turb,
275  const amrex::Array4<const amrex::Real>& cell_data,
276  amrex::Array4<amrex::Real>& tau11,
277  amrex::Array4<amrex::Real>& tau22,
278  amrex::Array4<amrex::Real>& tau33,
279  amrex::Array4<amrex::Real>& tau12, amrex::Array4<amrex::Real>& tau21,
280  amrex::Array4<amrex::Real>& tau13, amrex::Array4<amrex::Real>& tau31,
281  amrex::Array4<amrex::Real>& tau23, amrex::Array4<amrex::Real>& tau32,
282  const amrex::Array4<const amrex::Real>& er_arr,
283  const amrex::Array4<const amrex::Real>& z_nd,
284  const amrex::Array4<const amrex::Real>& detJ,
285  const amrex::GpuArray<amrex::Real, AMREX_SPACEDIM>& dxInv,
286  const amrex::Array4<const amrex::Real>& mf_mx,
287  const amrex::Array4<const amrex::Real>& mf_ux,
288  const amrex::Array4<const amrex::Real>& mf_vx,
289  const amrex::Array4<const amrex::Real>& mf_my,
290  const amrex::Array4<const amrex::Real>& mf_uy,
291  const amrex::Array4<const amrex::Real>& mf_vy);
292 
293 
294 
295 void ComputeStrain_N (amrex::Box bxcc, amrex::Box tbxxy, amrex::Box tbxxz, amrex::Box tbxyz, amrex::Box domain,
296  const amrex::Array4<const amrex::Real>& u,
297  const amrex::Array4<const amrex::Real>& v,
298  const amrex::Array4<const amrex::Real>& w,
299  amrex::Array4<amrex::Real>& tau11,
300  amrex::Array4<amrex::Real>& tau22,
301  amrex::Array4<amrex::Real>& tau33,
302  amrex::Array4<amrex::Real>& tau12,
303  amrex::Array4<amrex::Real>& tau13,
304  amrex::Array4<amrex::Real>& tau23,
305  const amrex::GpuArray<amrex::Real, AMREX_SPACEDIM>& dxInv,
306  const amrex::Array4<const amrex::Real>& mf_mx,
307  const amrex::Array4<const amrex::Real>& mf_ux,
308  const amrex::Array4<const amrex::Real>& mf_vx,
309  const amrex::Array4<const amrex::Real>& mf_my,
310  const amrex::Array4<const amrex::Real>& mf_uy,
311  const amrex::Array4<const amrex::Real>& mf_vy,
312  const amrex::BCRec* bc_ptr);
313 
314 void ComputeStrain_S (amrex::Box bxcc, amrex::Box tbxxy, amrex::Box tbxxz, amrex::Box tbxyz, amrex::Box domain,
315  const amrex::Array4<const amrex::Real>& u,
316  const amrex::Array4<const amrex::Real>& v,
317  const amrex::Array4<const amrex::Real>& w,
318  amrex::Array4<amrex::Real>& tau11,
319  amrex::Array4<amrex::Real>& tau22,
320  amrex::Array4<amrex::Real>& tau33,
321  amrex::Array4<amrex::Real>& tau12, amrex::Array4<amrex::Real>& tau21,
322  amrex::Array4<amrex::Real>& tau13, amrex::Array4<amrex::Real>& tau31,
323  amrex::Array4<amrex::Real>& tau23, amrex::Array4<amrex::Real>& tau32,
324  const amrex::Gpu::DeviceVector<amrex::Real>& stretched_dz_d,
325  const amrex::GpuArray<amrex::Real, AMREX_SPACEDIM>& dxInv,
326  const amrex::Array4<const amrex::Real>& mf_mx,
327  const amrex::Array4<const amrex::Real>& mf_ux,
328  const amrex::Array4<const amrex::Real>& mf_vx,
329  const amrex::Array4<const amrex::Real>& mf_my,
330  const amrex::Array4<const amrex::Real>& mf_uy,
331  const amrex::Array4<const amrex::Real>& mf_vy,
332  const amrex::BCRec* bc_ptr);
333 
334 void ComputeStrain_T (amrex::Box bxcc, amrex::Box tbxxy, amrex::Box tbxxz, amrex::Box tbxyz, amrex::Box domain,
335  const amrex::Array4<const amrex::Real>& u,
336  const amrex::Array4<const amrex::Real>& v,
337  const amrex::Array4<const amrex::Real>& w,
338  amrex::Array4<amrex::Real>& tau11,
339  amrex::Array4<amrex::Real>& tau22,
340  amrex::Array4<amrex::Real>& tau33,
341  amrex::Array4<amrex::Real>& tau12, amrex::Array4<amrex::Real>& tau21,
342  amrex::Array4<amrex::Real>& tau13, amrex::Array4<amrex::Real>& tau31,
343  amrex::Array4<amrex::Real>& tau23, amrex::Array4<amrex::Real>& tau32,
344  const amrex::Array4<const amrex::Real>& z_nd,
345  const amrex::Array4<const amrex::Real>& detJ,
346  const amrex::GpuArray<amrex::Real, AMREX_SPACEDIM>& dxInv,
347  const amrex::Array4<const amrex::Real>& mf_mx,
348  const amrex::Array4<const amrex::Real>& mf_ux,
349  const amrex::Array4<const amrex::Real>& mf_vx,
350  const amrex::Array4<const amrex::Real>& mf_my,
351  const amrex::Array4<const amrex::Real>& mf_uy,
352  const amrex::Array4<const amrex::Real>& mf_vy,
353  const amrex::BCRec* bc_ptr);
354 #endif
@ tau12
Definition: ERF_DataStruct.H:30
@ tau23
Definition: ERF_DataStruct.H:30
@ tau33
Definition: ERF_DataStruct.H:30
@ tau22
Definition: ERF_DataStruct.H:30
@ tau11
Definition: ERF_DataStruct.H:30
@ tau32
Definition: ERF_DataStruct.H:30
@ tau31
Definition: ERF_DataStruct.H:30
@ tau21
Definition: ERF_DataStruct.H:30
@ tau13
Definition: ERF_DataStruct.H:30
void DiffusionSrcForState_S(const amrex::Box &bx, const amrex::Box &domain, int start_comp, int num_comp, const bool &rotate, const amrex::Array4< const amrex::Real > &u, const amrex::Array4< const amrex::Real > &v, const amrex::Array4< const amrex::Real > &cell_data, const amrex::Array4< const amrex::Real > &cell_prim, const amrex::Array4< amrex::Real > &cell_rhs, const amrex::Array4< amrex::Real > &xflux, const amrex::Array4< amrex::Real > &yflux, const amrex::Array4< amrex::Real > &zflux, const amrex::Gpu::DeviceVector< amrex::Real > &stretched_dz_d, const amrex::GpuArray< amrex::Real, AMREX_SPACEDIM > &dxInv, const amrex::Array4< const amrex::Real > &SmnSmn_a, 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, amrex::Array4< amrex::Real > &hfx_x, amrex::Array4< amrex::Real > &hfx_y, amrex::Array4< amrex::Real > &hfx_z, amrex::Array4< amrex::Real > &qfx1_x, amrex::Array4< amrex::Real > &qfx1_y, amrex::Array4< amrex::Real > &qfx1_z, amrex::Array4< amrex::Real > &qfx2_z, amrex::Array4< amrex::Real > &diss, const amrex::Array4< const amrex::Real > &mu_turb, const SolverChoice &solverChoice, const int level, const amrex::Array4< const amrex::Real > &tm_arr, const amrex::GpuArray< amrex::Real, AMREX_SPACEDIM > grav_gpu, const amrex::BCRec *bc_ptr, const bool use_SurfLayer)
void ComputeStressConsVisc_N(amrex::Box bxcc, amrex::Box tbxxy, amrex::Box tbxxz, amrex::Box tbxyz, amrex::Real mu_eff, const amrex::Array4< const amrex::Real > &cell_data, amrex::Array4< amrex::Real > &tau11, amrex::Array4< amrex::Real > &tau22, amrex::Array4< amrex::Real > &tau33, amrex::Array4< amrex::Real > &tau12, amrex::Array4< amrex::Real > &tau13, amrex::Array4< amrex::Real > &tau23, const amrex::Array4< const amrex::Real > &er_arr)
void DiffusionSrcForMom(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 > &tau11, const amrex::Array4< const amrex::Real > &tau22, const amrex::Array4< const amrex::Real > &tau33, const amrex::Array4< const amrex::Real > &tau12, const amrex::Array4< const amrex::Real > &tau21, const amrex::Array4< const amrex::Real > &tau13, const amrex::Array4< const amrex::Real > &tau31, const amrex::Array4< const amrex::Real > &tau23, const amrex::Array4< const amrex::Real > &tau32, const amrex::Array4< const amrex::Real > &detJ_arr, const amrex::Gpu::DeviceVector< amrex::Real > &stretched_dz_d, const amrex::GpuArray< amrex::Real, AMREX_SPACEDIM > &dxInv, 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 bool use_stretched_dz, const bool use_variable_dz)
void DiffusionSrcForMom_EB(const amrex::MFIter &mfi, [[maybe_unused]] const amrex::Box &domain, 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_arr, const amrex::Array4< const amrex::Real > &v_arr, const amrex::Array4< const amrex::Real > &w_arr, const amrex::Array4< const amrex::Real > &tau11, const amrex::Array4< const amrex::Real > &tau22, const amrex::Array4< const amrex::Real > &tau33, const amrex::Array4< const amrex::Real > &tau12, const amrex::Array4< const amrex::Real > &tau13, const amrex::Array4< const amrex::Real > &tau23, const amrex::Real *dx_arr, const amrex::GpuArray< amrex::Real, AMREX_SPACEDIM > &dxInv, 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 SolverChoice &solverChoice, const eb_ &ebfact, [[maybe_unused]] const amrex::BCRec *bc_ptr)
void ComputeStrain_S(amrex::Box bxcc, amrex::Box tbxxy, amrex::Box tbxxz, amrex::Box tbxyz, amrex::Box domain, const amrex::Array4< const amrex::Real > &u, const amrex::Array4< const amrex::Real > &v, const amrex::Array4< const amrex::Real > &w, amrex::Array4< amrex::Real > &tau11, amrex::Array4< amrex::Real > &tau22, amrex::Array4< amrex::Real > &tau33, amrex::Array4< amrex::Real > &tau12, amrex::Array4< amrex::Real > &tau21, amrex::Array4< amrex::Real > &tau13, amrex::Array4< amrex::Real > &tau31, amrex::Array4< amrex::Real > &tau23, amrex::Array4< amrex::Real > &tau32, const amrex::Gpu::DeviceVector< amrex::Real > &stretched_dz_d, const amrex::GpuArray< amrex::Real, AMREX_SPACEDIM > &dxInv, 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 amrex::BCRec *bc_ptr)
void DiffusionSrcForState_N(const amrex::Box &bx, const amrex::Box &domain, int start_comp, int num_comp, const amrex::Array4< const amrex::Real > &u, const amrex::Array4< const amrex::Real > &v, const amrex::Array4< const amrex::Real > &cell_data, const amrex::Array4< const amrex::Real > &cell_prim, const amrex::Array4< amrex::Real > &cell_rhs, const amrex::Array4< amrex::Real > &xflux, const amrex::Array4< amrex::Real > &yflux, const amrex::Array4< amrex::Real > &zflux, const amrex::GpuArray< amrex::Real, AMREX_SPACEDIM > &cellSizeInv, const amrex::Array4< const amrex::Real > &SmnSmn_a, 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, amrex::Array4< amrex::Real > &hfx_z, amrex::Array4< amrex::Real > &qfx1_z, amrex::Array4< amrex::Real > &qfx2_z, amrex::Array4< amrex::Real > &diss, const amrex::Array4< const amrex::Real > &mu_turb, const SolverChoice &solverChoice, const int level, const amrex::Array4< const amrex::Real > &tm_arr, const amrex::GpuArray< amrex::Real, AMREX_SPACEDIM > grav_gpu, const amrex::BCRec *bc_ptr, const bool use_SurfLayer)
void ComputeStressConsVisc_S(amrex::Box bxcc, amrex::Box tbxxy, amrex::Box tbxxz, amrex::Box tbxyz, amrex::Real mu_eff, const amrex::Array4< const amrex::Real > &cell_data, amrex::Array4< amrex::Real > &tau11, amrex::Array4< amrex::Real > &tau22, amrex::Array4< amrex::Real > &tau33, amrex::Array4< amrex::Real > &tau12, amrex::Array4< amrex::Real > &tau21, amrex::Array4< amrex::Real > &tau13, amrex::Array4< amrex::Real > &tau31, amrex::Array4< amrex::Real > &tau23, amrex::Array4< amrex::Real > &tau32, const amrex::Array4< const amrex::Real > &er_arr, const amrex::Gpu::DeviceVector< amrex::Real > &stretched_dz_d, const amrex::GpuArray< amrex::Real, AMREX_SPACEDIM > &dxInv, 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)
void DiffusionSrcForState_T(const amrex::Box &bx, const amrex::Box &domain, int start_comp, int num_comp, const bool &rotate, const amrex::Array4< const amrex::Real > &u, const amrex::Array4< const amrex::Real > &v, const amrex::Array4< const amrex::Real > &cell_data, const amrex::Array4< const amrex::Real > &cell_prim, const amrex::Array4< amrex::Real > &cell_rhs, const amrex::Array4< amrex::Real > &xflux, const amrex::Array4< amrex::Real > &yflux, const amrex::Array4< amrex::Real > &zflux, const amrex::Array4< const amrex::Real > &z_nd, const amrex::Array4< const amrex::Real > &z_cc, 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 > &dxInv, const amrex::Array4< const amrex::Real > &SmnSmn_a, 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, amrex::Array4< amrex::Real > &hfx_x, amrex::Array4< amrex::Real > &hfx_y, amrex::Array4< amrex::Real > &hfx_z, amrex::Array4< amrex::Real > &qfx1_x, amrex::Array4< amrex::Real > &qfx1_y, amrex::Array4< amrex::Real > &qfx1_z, amrex::Array4< amrex::Real > &qfx2_z, amrex::Array4< amrex::Real > &diss, const amrex::Array4< const amrex::Real > &mu_turb, const SolverChoice &solverChoice, const int level, const amrex::Array4< const amrex::Real > &tm_arr, const amrex::GpuArray< amrex::Real, AMREX_SPACEDIM > grav_gpu, const amrex::BCRec *bc_ptr, const bool use_SurfLayer)
void ComputeStrain_N(amrex::Box bxcc, amrex::Box tbxxy, amrex::Box tbxxz, amrex::Box tbxyz, amrex::Box domain, const amrex::Array4< const amrex::Real > &u, const amrex::Array4< const amrex::Real > &v, const amrex::Array4< const amrex::Real > &w, amrex::Array4< amrex::Real > &tau11, amrex::Array4< amrex::Real > &tau22, amrex::Array4< amrex::Real > &tau33, amrex::Array4< amrex::Real > &tau12, amrex::Array4< amrex::Real > &tau13, amrex::Array4< amrex::Real > &tau23, const amrex::GpuArray< amrex::Real, AMREX_SPACEDIM > &dxInv, 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 amrex::BCRec *bc_ptr)
void ComputeStressVarVisc_S(amrex::Box bxcc, amrex::Box tbxxy, amrex::Box tbxxz, amrex::Box tbxyz, amrex::Real mu_eff, const amrex::Array4< const amrex::Real > &mu_turb, const amrex::Array4< const amrex::Real > &cell_data, amrex::Array4< amrex::Real > &tau11, amrex::Array4< amrex::Real > &tau22, amrex::Array4< amrex::Real > &tau33, amrex::Array4< amrex::Real > &tau12, amrex::Array4< amrex::Real > &tau21, amrex::Array4< amrex::Real > &tau13, amrex::Array4< amrex::Real > &tau31, amrex::Array4< amrex::Real > &tau23, amrex::Array4< amrex::Real > &tau32, const amrex::Array4< const amrex::Real > &er_arr, const amrex::Gpu::DeviceVector< amrex::Real > &stretched_dz_d, const amrex::GpuArray< amrex::Real, AMREX_SPACEDIM > &dxInv, 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)
void ComputeStrain_T(amrex::Box bxcc, amrex::Box tbxxy, amrex::Box tbxxz, amrex::Box tbxyz, amrex::Box domain, const amrex::Array4< const amrex::Real > &u, const amrex::Array4< const amrex::Real > &v, const amrex::Array4< const amrex::Real > &w, amrex::Array4< amrex::Real > &tau11, amrex::Array4< amrex::Real > &tau22, amrex::Array4< amrex::Real > &tau33, amrex::Array4< amrex::Real > &tau12, amrex::Array4< amrex::Real > &tau21, amrex::Array4< amrex::Real > &tau13, amrex::Array4< amrex::Real > &tau31, amrex::Array4< amrex::Real > &tau23, amrex::Array4< amrex::Real > &tau32, const amrex::Array4< const amrex::Real > &z_nd, const amrex::Array4< const amrex::Real > &detJ, const amrex::GpuArray< amrex::Real, AMREX_SPACEDIM > &dxInv, 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 amrex::BCRec *bc_ptr)
void ComputeStressVarVisc_T(amrex::Box bxcc, amrex::Box tbxxy, amrex::Box tbxxz, amrex::Box tbxyz, amrex::Real mu_eff, const amrex::Array4< const amrex::Real > &mu_turb, const amrex::Array4< const amrex::Real > &cell_data, amrex::Array4< amrex::Real > &tau11, amrex::Array4< amrex::Real > &tau22, amrex::Array4< amrex::Real > &tau33, amrex::Array4< amrex::Real > &tau12, amrex::Array4< amrex::Real > &tau21, amrex::Array4< amrex::Real > &tau13, amrex::Array4< amrex::Real > &tau31, amrex::Array4< amrex::Real > &tau23, amrex::Array4< amrex::Real > &tau32, const amrex::Array4< const amrex::Real > &er_arr, const amrex::Array4< const amrex::Real > &z_nd, const amrex::Array4< const amrex::Real > &detJ, const amrex::GpuArray< amrex::Real, AMREX_SPACEDIM > &dxInv, 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)
void ComputeStressConsVisc_T(amrex::Box bxcc, amrex::Box tbxxy, amrex::Box tbxxz, amrex::Box tbxyz, amrex::Real mu_eff, const amrex::Array4< const amrex::Real > &cell_data, amrex::Array4< amrex::Real > &tau11, amrex::Array4< amrex::Real > &tau22, amrex::Array4< amrex::Real > &tau33, amrex::Array4< amrex::Real > &tau12, amrex::Array4< amrex::Real > &tau21, amrex::Array4< amrex::Real > &tau13, amrex::Array4< amrex::Real > &tau31, amrex::Array4< amrex::Real > &tau23, amrex::Array4< amrex::Real > &tau32, const amrex::Array4< const amrex::Real > &er_arr, const amrex::Array4< const amrex::Real > &z_nd, const amrex::Array4< const amrex::Real > &detJ, const amrex::GpuArray< amrex::Real, AMREX_SPACEDIM > &dxInv, 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)
void ComputeStressVarVisc_N(amrex::Box bxcc, amrex::Box tbxxy, amrex::Box tbxxz, amrex::Box tbxyz, amrex::Real mu_eff, const amrex::Array4< const amrex::Real > &mu_turb, const amrex::Array4< const amrex::Real > &cell_data, amrex::Array4< amrex::Real > &tau11, amrex::Array4< amrex::Real > &tau22, amrex::Array4< amrex::Real > &tau33, amrex::Array4< amrex::Real > &tau12, amrex::Array4< amrex::Real > &tau13, amrex::Array4< amrex::Real > &tau23, const amrex::Array4< const amrex::Real > &er_arr)
Definition: ERF_EB.H:13
Definition: ERF_DataStruct.H:99