ERF
Energy Research and Forecasting: An Atmospheric Modeling Code
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_Constants.H"
10 #include "ERF_IndexDefines.H"
11 #include "ERF_SurfaceLayer.H"
12 #include "ERF_EB.H"
13 
14 void DiffusionSrcForMom (const amrex::Box& bxx, const amrex::Box& bxy, const amrex::Box& bxz,
15  const amrex::Array4< amrex::Real>& rho_u_rhs,
16  const amrex::Array4< amrex::Real>& rho_v_rhs,
17  const amrex::Array4< amrex::Real>& rho_w_rhs,
18  const amrex::Array4<const amrex::Real>& tau11 ,
19  const amrex::Array4<const amrex::Real>& tau22 ,
20  const amrex::Array4<const amrex::Real>& tau33 ,
21  const amrex::Array4<const amrex::Real>& tau12 , const amrex::Array4<const amrex::Real>& tau21,
22  const amrex::Array4<const amrex::Real>& tau13 , const amrex::Array4<const amrex::Real>& tau31,
23  const amrex::Array4<const amrex::Real>& tau23 , const amrex::Array4<const amrex::Real>& tau32,
24  const amrex::Array4<const amrex::Real>& detJ_arr ,
25  const amrex::Gpu::DeviceVector<amrex::Real>& stretched_dz_d,
26  const amrex::GpuArray<amrex::Real, AMREX_SPACEDIM>& dxInv,
27  const amrex::Array4<const amrex::Real>& mf_mx ,
28  const amrex::Array4<const amrex::Real>& mf_ux ,
29  const amrex::Array4<const amrex::Real>& mf_vx ,
30  const amrex::Array4<const amrex::Real>& mf_my ,
31  const amrex::Array4<const amrex::Real>& mf_uy ,
32  const amrex::Array4<const amrex::Real>& mf_vy ,
33  const bool use_stretched_dz, const bool use_variable_dz);
34 
35 void DiffusionSrcForMom_EB (const amrex::MFIter& mfi,
36  [[maybe_unused]] const amrex::Box& domain,
37  const amrex::Box& bxx, const amrex::Box& bxy, const amrex::Box& bxz,
38  const amrex::Array4< amrex::Real>& rho_u_rhs,
39  const amrex::Array4< amrex::Real>& rho_v_rhs,
40  const amrex::Array4< amrex::Real>& rho_w_rhs,
41  const amrex::Array4<const amrex::Real>& u_arr ,
42  const amrex::Array4<const amrex::Real>& v_arr ,
43  const amrex::Array4<const amrex::Real>& w_arr ,
44  const amrex::Array4<const amrex::Real>& tau11 ,
45  const amrex::Array4<const amrex::Real>& tau22 ,
46  const amrex::Array4<const amrex::Real>& tau33 ,
47  const amrex::Array4<const amrex::Real>& tau12 ,
48  const amrex::Array4<const amrex::Real>& tau13 ,
49  const amrex::Array4<const amrex::Real>& tau23 ,
50  const amrex::Array4<const amrex::Real>& u_tau_eb13 ,
51  const amrex::Array4<const amrex::Real>& u_tau_eb23 ,
52  const amrex::Array4<const amrex::Real>& v_tau_eb13 ,
53  const amrex::Array4<const amrex::Real>& v_tau_eb23 ,
54  const amrex::Array4<const amrex::Real>& w_tau_eb13 ,
55  const amrex::Array4<const amrex::Real>& w_tau_eb23 ,
56  const amrex::Real* dx_arr,
57  const amrex::GpuArray<amrex::Real, AMREX_SPACEDIM>& dxInv,
58  const amrex::Array4<const amrex::Real>& mf_mx ,
59  const amrex::Array4<const amrex::Real>& mf_ux ,
60  const amrex::Array4<const amrex::Real>& mf_vx ,
61  const amrex::Array4<const amrex::Real>& mf_my ,
62  const amrex::Array4<const amrex::Real>& mf_uy ,
63  const amrex::Array4<const amrex::Real>& mf_vy ,
64  const SolverChoice& solverChoice,
65  const eb_& ebfact,
66  [[maybe_unused]] const amrex::BCRec* bc_ptr);
67 
68 void DiffusionSrcForState_N (const amrex::Box& bx, const amrex::Box& domain,
69  int start_comp, int num_comp,
70  const amrex::Array4<const amrex::Real>& u,
71  const amrex::Array4<const amrex::Real>& v,
72  const amrex::Array4<const amrex::Real>& cell_data,
73  const amrex::Array4<const amrex::Real>& cell_prim,
74  const amrex::Array4<amrex::Real>& cell_rhs,
75  const amrex::Array4<amrex::Real>& xflux,
76  const amrex::Array4<amrex::Real>& yflux,
77  const amrex::Array4<amrex::Real>& zflux,
78  const amrex::GpuArray<amrex::Real, AMREX_SPACEDIM>& cellSizeInv,
79  const amrex::Array4<const amrex::Real>& SmnSmn_a,
80  const amrex::Array4<const amrex::Real>& mf_mx,
81  const amrex::Array4<const amrex::Real>& mf_ux,
82  const amrex::Array4<const amrex::Real>& mf_vx,
83  const amrex::Array4<const amrex::Real>& mf_my,
84  const amrex::Array4<const amrex::Real>& mf_uy,
85  const amrex::Array4<const amrex::Real>& mf_vy,
86  amrex::Array4< amrex::Real>& hfx_z,
87  amrex::Array4< amrex::Real>& qfx1_z,
88  amrex::Array4< amrex::Real>& qfx2_z,
89  amrex::Array4< amrex::Real>& diss,
90  const amrex::Array4<const amrex::Real>& mu_turb,
91  const SolverChoice& solverChoice,
92  const int level,
93  const amrex::Array4<const amrex::Real>& tm_arr,
94  const amrex::GpuArray<amrex::Real,AMREX_SPACEDIM> grav_gpu,
95  const amrex::BCRec* bc_ptr,
96  const bool use_SurfLayer,
97  const amrex::Real implicit_fac);
98 
99 void DiffusionSrcForState_S (const amrex::Box& bx, const amrex::Box& domain,
100  int start_comp, int num_comp,
101  const amrex::Array4<const amrex::Real>& u,
102  const amrex::Array4<const amrex::Real>& v,
103  const amrex::Array4<const amrex::Real>& cell_data,
104  const amrex::Array4<const amrex::Real>& cell_prim,
105  const amrex::Array4<amrex::Real>& cell_rhs,
106  const amrex::Array4<amrex::Real>& xflux,
107  const amrex::Array4<amrex::Real>& yflux,
108  const amrex::Array4<amrex::Real>& zflux,
109  const amrex::Gpu::DeviceVector<amrex::Real>& stretched_dz_d,
110  const amrex::GpuArray<amrex::Real, AMREX_SPACEDIM>& dxInv,
111  const amrex::Array4<const amrex::Real>& SmnSmn_a,
112  const amrex::Array4<const amrex::Real>& mf_mx,
113  const amrex::Array4<const amrex::Real>& mf_ux,
114  const amrex::Array4<const amrex::Real>& mf_vx,
115  const amrex::Array4<const amrex::Real>& mf_my,
116  const amrex::Array4<const amrex::Real>& mf_uy,
117  const amrex::Array4<const amrex::Real>& mf_vy,
118  amrex::Array4< amrex::Real>& hfx_z,
119  amrex::Array4< amrex::Real>& qfx1_z,
120  amrex::Array4< amrex::Real>& qfx2_z,
121  amrex::Array4< amrex::Real>& diss,
122  const amrex::Array4<const amrex::Real>& mu_turb,
123  const SolverChoice& solverChoice,
124  const int level,
125  const amrex::Array4<const amrex::Real>& tm_arr,
126  const amrex::GpuArray<amrex::Real,AMREX_SPACEDIM> grav_gpu,
127  const amrex::BCRec* bc_ptr,
128  const bool use_SurfLayer,
129  const amrex::Real implicit_fac);
130 
131 void DiffusionSrcForState_T (const amrex::Box& bx, const amrex::Box& domain,
132  int start_comp, int num_comp,
133  const bool& rotate,
134  const amrex::Array4<const amrex::Real>& u,
135  const amrex::Array4<const amrex::Real>& v,
136  const amrex::Array4<const amrex::Real>& cell_data,
137  const amrex::Array4<const amrex::Real>& cell_prim,
138  const amrex::Array4<amrex::Real>& cell_rhs,
139  const amrex::Array4<amrex::Real>& xflux,
140  const amrex::Array4<amrex::Real>& yflux,
141  const amrex::Array4<amrex::Real>& zflux,
142  const amrex::Array4<const amrex::Real>& z_nd,
143  const amrex::Array4<const amrex::Real>& z_cc,
144  const amrex::Array4<const amrex::Real>& ax,
145  const amrex::Array4<const amrex::Real>& ay,
146  const amrex::Array4<const amrex::Real>& az,
147  const amrex::Array4<const amrex::Real>& detJ,
148  const amrex::GpuArray<amrex::Real, AMREX_SPACEDIM>& dxInv,
149  const amrex::Array4<const amrex::Real>& SmnSmn_a,
150  const amrex::Array4<const amrex::Real>& mf_mx,
151  const amrex::Array4<const amrex::Real>& mf_ux,
152  const amrex::Array4<const amrex::Real>& mf_vx,
153  const amrex::Array4<const amrex::Real>& mf_my,
154  const amrex::Array4<const amrex::Real>& mf_uy,
155  const amrex::Array4<const amrex::Real>& mf_vy,
156  amrex::Array4< amrex::Real>& hfx_x,
157  amrex::Array4< amrex::Real>& hfx_y,
158  amrex::Array4< amrex::Real>& hfx_z,
159  amrex::Array4< amrex::Real>& qfx1_x,
160  amrex::Array4< amrex::Real>& qfx1_y,
161  amrex::Array4< amrex::Real>& qfx1_z,
162  amrex::Array4< amrex::Real>& qfx2_z,
163  amrex::Array4< amrex::Real>& diss,
164  const amrex::Array4<const amrex::Real>& mu_turb,
165  const SolverChoice& solverChoice,
166  const int level,
167  const amrex::Array4<const amrex::Real>& tm_arr,
168  const amrex::GpuArray<amrex::Real,AMREX_SPACEDIM> grav_gpu,
169  const amrex::BCRec* bc_ptr,
170  const bool use_SurfLayer,
171  const amrex::Real implicit_fac);
172 
173 void DiffusionSrcForState_EB (const amrex::Box& bx, const amrex::Box& domain,
174  int start_comp, int num_comp,
175  const amrex::Array4<const amrex::Real>& u,
176  const amrex::Array4<const amrex::Real>& v,
177  const amrex::Array4<const amrex::Real>& cell_data,
178  const amrex::Array4<const amrex::Real>& cell_prim,
179  const amrex::Array4<amrex::Real>& cell_rhs,
180  const amrex::Array4<amrex::Real>& xflux,
181  const amrex::Array4<amrex::Real>& yflux,
182  const amrex::Array4<amrex::Real>& zflux,
183  const amrex::Array4<const amrex::EBCellFlag>& cfg_arr,
184  const amrex::Array4<const amrex::Real>& ax_arr,
185  const amrex::Array4<const amrex::Real>& ay_arr,
186  const amrex::Array4<const amrex::Real>& az_arr,
187  const amrex::Array4<const amrex::Real>& detJ,
188  const amrex::Array4<const amrex::Real>& barea_arr,
189  const amrex::Array4<const amrex::Real>& bcent_arr,
190  const amrex::Real* dx_arr,
191  const amrex::GpuArray<amrex::Real, AMREX_SPACEDIM>& cellSizeInv,
192  amrex::Array4< amrex::Real>& hfx_z,
193  amrex::Array4< amrex::Real>& qfx1_z,
194  amrex::Array4< amrex::Real>& qfx2_z,
195  amrex::Array4< amrex::Real>& hfx_EB,
196  const amrex::Array4<const amrex::Real>& mu_turb,
197  const SolverChoice& solverChoice,
198  const int level,
199  const amrex::BCRec* bc_ptr,
200  const bool use_SurfLayer);
201 
202 void ComputeStressConsVisc_EB (amrex::Box bxcc,
203  amrex::Box tbxxy,
204  amrex::Box tbxxz,
205  amrex::Box tbxyz,
206  amrex::Real mu_eff,
207  const amrex::Array4<const amrex::Real>& cell_data,
208  amrex::Array4<amrex::Real>& tau11,
209  amrex::Array4<amrex::Real>& tau22,
210  amrex::Array4<amrex::Real>& tau33,
211  amrex::Array4<amrex::Real>& tau12,
212  amrex::Array4<amrex::Real>& tau13,
213  amrex::Array4<amrex::Real>& tau23,
214  const amrex::Array4<const amrex::Real>& er_arr,
215  amrex::Array4<const amrex::Real>& vfrac,
216  amrex::Array4<amrex::Real>& tau13i,
217  amrex::Array4<amrex::Real>& tau23i,
218  amrex::Array4<amrex::Real>& tau33i);
219 
220 void ComputeStressConsVisc_N (amrex::Box bxcc,
221  amrex::Box tbxxy,
222  amrex::Box tbxxz,
223  amrex::Box tbxyz,
224  amrex::Real mu_eff,
225  const amrex::Array4<const amrex::Real>& cell_data,
226  amrex::Array4<amrex::Real>& tau11,
227  amrex::Array4<amrex::Real>& tau22,
228  amrex::Array4<amrex::Real>& tau33,
229  amrex::Array4<amrex::Real>& tau12,
230  amrex::Array4<amrex::Real>& tau13,
231  amrex::Array4<amrex::Real>& tau23,
232  const amrex::Array4<const amrex::Real>& er_arr,
233  amrex::Array4<amrex::Real>& tau13i,
234  amrex::Array4<amrex::Real>& tau23i,
235  amrex::Array4<amrex::Real>& tau33i);
236 
237 void ComputeStressConsVisc_S (amrex::Box bxcc,
238  amrex::Box tbxxy,
239  amrex::Box tbxxz,
240  amrex::Box tbxyz,
241  amrex::Real mu_eff,
242  const amrex::Array4<const amrex::Real>& cell_data,
243  amrex::Array4<amrex::Real>& tau11,
244  amrex::Array4<amrex::Real>& tau22,
245  amrex::Array4<amrex::Real>& tau33,
246  amrex::Array4<amrex::Real>& tau12, amrex::Array4<amrex::Real>& tau21,
247  amrex::Array4<amrex::Real>& tau13, amrex::Array4<amrex::Real>& tau31,
248  amrex::Array4<amrex::Real>& tau23, amrex::Array4<amrex::Real>& tau32,
249  const amrex::Array4<const amrex::Real>& er_arr,
250  const amrex::Array4<const amrex::Real>& mf_mx,
251  const amrex::Array4<const amrex::Real>& mf_ux,
252  const amrex::Array4<const amrex::Real>& mf_vx,
253  const amrex::Array4<const amrex::Real>& mf_my,
254  const amrex::Array4<const amrex::Real>& mf_uy,
255  const amrex::Array4<const amrex::Real>& mf_vy,
256  amrex::Array4<amrex::Real>& tau13i,
257  amrex::Array4<amrex::Real>& tau23i,
258  amrex::Array4<amrex::Real>& tau33i);
259 
260 void ComputeStressConsVisc_T (amrex::Box bxcc,
261  amrex::Box tbxxy,
262  amrex::Box tbxxz,
263  amrex::Box tbxyz,
264  amrex::Real mu_eff,
265  const amrex::Array4<const amrex::Real>& cell_data,
266  amrex::Array4<amrex::Real>& tau11,
267  amrex::Array4<amrex::Real>& tau22,
268  amrex::Array4<amrex::Real>& tau33,
269  amrex::Array4<amrex::Real>& tau12, amrex::Array4<amrex::Real>& tau21,
270  amrex::Array4<amrex::Real>& tau13, amrex::Array4<amrex::Real>& tau31,
271  amrex::Array4<amrex::Real>& tau23, amrex::Array4<amrex::Real>& tau32,
272  const amrex::Array4<const amrex::Real>& er_arr,
273  const amrex::Array4<const amrex::Real>& z_nd,
274  const amrex::Array4<const amrex::Real>& detJ,
275  const amrex::GpuArray<amrex::Real, AMREX_SPACEDIM>& dxInv,
276  const amrex::Array4<const amrex::Real>& mf_mx,
277  const amrex::Array4<const amrex::Real>& mf_ux,
278  const amrex::Array4<const amrex::Real>& mf_vx,
279  const amrex::Array4<const amrex::Real>& mf_my,
280  const amrex::Array4<const amrex::Real>& mf_uy,
281  const amrex::Array4<const amrex::Real>& mf_vy,
282  amrex::Array4<amrex::Real>& tau13i,
283  amrex::Array4<amrex::Real>& tau23i,
284  amrex::Array4<amrex::Real>& tau33i);
285 
286 void ComputeStressVarVisc_EB (amrex::Box bxcc,
287  amrex::Box tbxxy,
288  amrex::Box tbxxz,
289  amrex::Box tbxyz,
290  amrex::Real mu_eff,
291  const amrex::Array4<const amrex::Real>& mu_turb,
292  const amrex::Array4<const amrex::Real>& cell_data,
293  amrex::Array4<amrex::Real>& tau11,
294  amrex::Array4<amrex::Real>& tau22,
295  amrex::Array4<amrex::Real>& tau33,
296  amrex::Array4<amrex::Real>& tau12,
297  amrex::Array4<amrex::Real>& tau13,
298  amrex::Array4<amrex::Real>& tau23,
299  const amrex::Array4<const amrex::Real>& er_arr,
300  amrex::Array4<const amrex::Real>& vfrac,
301  amrex::Array4<amrex::Real>& tau13i,
302  amrex::Array4<amrex::Real>& tau23i,
303  amrex::Array4<amrex::Real>& tau33i);
304 
305 void ComputeStressVarVisc_N (amrex::Box bxcc,
306  amrex::Box tbxxy,
307  amrex::Box tbxxz,
308  amrex::Box tbxyz,
309  amrex::Real mu_eff,
310  const amrex::Array4<const amrex::Real>& mu_turb,
311  const amrex::Array4<const amrex::Real>& cell_data,
312  amrex::Array4<amrex::Real>& tau11,
313  amrex::Array4<amrex::Real>& tau22,
314  amrex::Array4<amrex::Real>& tau33,
315  amrex::Array4<amrex::Real>& tau12,
316  amrex::Array4<amrex::Real>& tau13,
317  amrex::Array4<amrex::Real>& tau23,
318  const amrex::Array4<const amrex::Real>& er_arr,
319  amrex::Array4<amrex::Real>& tau13i,
320  amrex::Array4<amrex::Real>& tau23i,
321  amrex::Array4<amrex::Real>& tau33i);
322 
323 void ComputeStressVarVisc_S (amrex::Box bxcc,
324  amrex::Box tbxxy,
325  amrex::Box tbxxz,
326  amrex::Box tbxyz,
327  amrex::Real mu_eff,
328  const amrex::Array4<const amrex::Real>& mu_turb,
329  const amrex::Array4<const amrex::Real>& cell_data,
330  amrex::Array4<amrex::Real>& tau11,
331  amrex::Array4<amrex::Real>& tau22,
332  amrex::Array4<amrex::Real>& tau33,
333  amrex::Array4<amrex::Real>& tau12, amrex::Array4<amrex::Real>& tau21,
334  amrex::Array4<amrex::Real>& tau13, amrex::Array4<amrex::Real>& tau31,
335  amrex::Array4<amrex::Real>& tau23, amrex::Array4<amrex::Real>& tau32,
336  const amrex::Array4<const amrex::Real>& er_arr,
337  const amrex::Array4<const amrex::Real>& mf_mx,
338  const amrex::Array4<const amrex::Real>& mf_ux,
339  const amrex::Array4<const amrex::Real>& mf_vx,
340  const amrex::Array4<const amrex::Real>& mf_my,
341  const amrex::Array4<const amrex::Real>& mf_uy,
342  const amrex::Array4<const amrex::Real>& mf_vy,
343  amrex::Array4<amrex::Real>& tau13i,
344  amrex::Array4<amrex::Real>& tau23i,
345  amrex::Array4<amrex::Real>& tau33i);
346 
347 void ComputeStressVarVisc_T (amrex::Box bxcc,
348  amrex::Box tbxxy,
349  amrex::Box tbxxz,
350  amrex::Box tbxyz,
351  amrex::Real mu_eff,
352  const amrex::Array4<const amrex::Real>& mu_turb,
353  const amrex::Array4<const amrex::Real>& cell_data,
354  amrex::Array4<amrex::Real>& tau11,
355  amrex::Array4<amrex::Real>& tau22,
356  amrex::Array4<amrex::Real>& tau33,
357  amrex::Array4<amrex::Real>& tau12, amrex::Array4<amrex::Real>& tau21,
358  amrex::Array4<amrex::Real>& tau13, amrex::Array4<amrex::Real>& tau31,
359  amrex::Array4<amrex::Real>& tau23, amrex::Array4<amrex::Real>& tau32,
360  const amrex::Array4<const amrex::Real>& er_arr,
361  const amrex::Array4<const amrex::Real>& z_nd,
362  const amrex::Array4<const amrex::Real>& detJ,
363  const amrex::GpuArray<amrex::Real, AMREX_SPACEDIM>& dxInv,
364  const amrex::Array4<const amrex::Real>& mf_mx,
365  const amrex::Array4<const amrex::Real>& mf_ux,
366  const amrex::Array4<const amrex::Real>& mf_vx,
367  const amrex::Array4<const amrex::Real>& mf_my,
368  const amrex::Array4<const amrex::Real>& mf_uy,
369  const amrex::Array4<const amrex::Real>& mf_vy,
370  amrex::Array4<amrex::Real>& tau13i,
371  amrex::Array4<amrex::Real>& tau23i,
372  amrex::Array4<amrex::Real>& tau33i);
373 
374 void ComputeStrain_EB (const amrex::MFIter& mfi,
375  amrex::Box bxcc, amrex::Box tbxxy,
376  amrex::Box tbxxz, amrex::Box tbxyz, amrex::Box domain,
377  const amrex::Array4<const amrex::Real>& u,
378  const amrex::Array4<const amrex::Real>& v,
379  const amrex::Array4<const amrex::Real>& w,
380  amrex::Array4<amrex::Real>& tau11,
381  amrex::Array4<amrex::Real>& tau22,
382  amrex::Array4<amrex::Real>& tau33,
383  amrex::Array4<amrex::Real>& tau12,
384  amrex::Array4<amrex::Real>& tau13,
385  amrex::Array4<amrex::Real>& tau23,
386  const amrex::GpuArray<amrex::Real, AMREX_SPACEDIM>& dxInv,
387  const amrex::BCRec* bc_ptr,
388  const eb_& ebfact,
389  amrex::Array4<amrex::Real>& tau13i,
390  amrex::Array4<amrex::Real>& tau23i);
391 
392 void ComputeStrain_N (amrex::Box bxcc, amrex::Box tbxxy,
393  amrex::Box tbxxz, amrex::Box tbxyz, amrex::Box domain,
394  const amrex::Array4<const amrex::Real>& u,
395  const amrex::Array4<const amrex::Real>& v,
396  const amrex::Array4<const amrex::Real>& w,
397  amrex::Array4<amrex::Real>& tau11,
398  amrex::Array4<amrex::Real>& tau22,
399  amrex::Array4<amrex::Real>& tau33,
400  amrex::Array4<amrex::Real>& tau12,
401  amrex::Array4<amrex::Real>& tau13,
402  amrex::Array4<amrex::Real>& tau23,
403  const amrex::GpuArray<amrex::Real, AMREX_SPACEDIM>& dxInv,
404  const amrex::Array4<const amrex::Real>& mf_mx,
405  const amrex::Array4<const amrex::Real>& mf_ux,
406  const amrex::Array4<const amrex::Real>& mf_vx,
407  const amrex::Array4<const amrex::Real>& mf_my,
408  const amrex::Array4<const amrex::Real>& mf_uy,
409  const amrex::Array4<const amrex::Real>& mf_vy,
410  const amrex::BCRec* bc_ptr,
411  amrex::Array4<amrex::Real>& tau13i,
412  amrex::Array4<amrex::Real>& tau23i);
413 
414 void ComputeStrain_S (amrex::Box bxcc, amrex::Box tbxxy,
415  amrex::Box tbxxz, amrex::Box tbxyz, amrex::Box domain,
416  const amrex::Array4<const amrex::Real>& u,
417  const amrex::Array4<const amrex::Real>& v,
418  const amrex::Array4<const amrex::Real>& w,
419  amrex::Array4<amrex::Real>& tau11,
420  amrex::Array4<amrex::Real>& tau22,
421  amrex::Array4<amrex::Real>& tau33,
422  amrex::Array4<amrex::Real>& tau12, amrex::Array4<amrex::Real>& tau21,
423  amrex::Array4<amrex::Real>& tau13, amrex::Array4<amrex::Real>& tau31,
424  amrex::Array4<amrex::Real>& tau23, amrex::Array4<amrex::Real>& tau32,
425  const amrex::Gpu::DeviceVector<amrex::Real>& stretched_dz_d,
426  const amrex::GpuArray<amrex::Real, AMREX_SPACEDIM>& dxInv,
427  const amrex::Array4<const amrex::Real>& mf_mx,
428  const amrex::Array4<const amrex::Real>& mf_ux,
429  const amrex::Array4<const amrex::Real>& mf_vx,
430  const amrex::Array4<const amrex::Real>& mf_my,
431  const amrex::Array4<const amrex::Real>& mf_uy,
432  const amrex::Array4<const amrex::Real>& mf_vy,
433  const amrex::BCRec* bc_ptr,
434  amrex::Array4<amrex::Real>& tau13i,
435  amrex::Array4<amrex::Real>& tau23i);
436 
437 void ComputeStrain_T (amrex::Box bxcc, amrex::Box tbxxy,
438  amrex::Box tbxxz, amrex::Box tbxyz, amrex::Box domain,
439  const amrex::Array4<const amrex::Real>& u,
440  const amrex::Array4<const amrex::Real>& v,
441  const amrex::Array4<const amrex::Real>& w,
442  amrex::Array4<amrex::Real>& tau11,
443  amrex::Array4<amrex::Real>& tau22,
444  amrex::Array4<amrex::Real>& tau33,
445  amrex::Array4<amrex::Real>& tau12, amrex::Array4<amrex::Real>& tau21,
446  amrex::Array4<amrex::Real>& tau13, amrex::Array4<amrex::Real>& tau31,
447  amrex::Array4<amrex::Real>& tau23, amrex::Array4<amrex::Real>& tau32,
448  const amrex::Array4<const amrex::Real>& z_nd,
449  const amrex::Array4<const amrex::Real>& detJ,
450  const amrex::GpuArray<amrex::Real, AMREX_SPACEDIM>& dxInv,
451  const amrex::Array4<const amrex::Real>& mf_mx,
452  const amrex::Array4<const amrex::Real>& mf_ux,
453  const amrex::Array4<const amrex::Real>& mf_vx,
454  const amrex::Array4<const amrex::Real>& mf_my,
455  const amrex::Array4<const amrex::Real>& mf_uy,
456  const amrex::Array4<const amrex::Real>& mf_vy,
457  const amrex::BCRec* bc_ptr,
458  amrex::Array4<amrex::Real>& tau13i,
459  amrex::Array4<amrex::Real>& tau23i);
460 
461 void ImplicitDiffForStateLU_N (const amrex::Box& bx,
462  const amrex::Box& domain,
463  const int level,
464  const int n,
465  const amrex::Real dt,
466  const amrex::GpuArray<amrex::Real, AMREX_SPACEDIM*2>& bc_neumann_vals,
467  const amrex::Array4< amrex::Real>& cell_data,
468  const amrex::GpuArray<amrex::Real, AMREX_SPACEDIM>& cellSizeInv,
469  const amrex::Array4<const amrex::Real>& hfx_z,
470  const amrex::Array4<const amrex::Real>& mu_turb,
471  const SolverChoice& solverChoice,
472  const amrex::BCRec* bc_ptr,
473  const bool use_SurfLayer,
474  const amrex::Real implicit_fac);
475 
476 void ImplicitDiffForStateLU_S (const amrex::Box& bx,
477  const amrex::Box& domain,
478  const int level,
479  const int n,
480  const amrex::Real dt,
481  const amrex::GpuArray<amrex::Real, AMREX_SPACEDIM*2>& bc_neumann_vals,
482  const amrex::Array4< amrex::Real>& cell_data,
483  const amrex::Gpu::DeviceVector<amrex::Real>& stretched_dz_d,
484  const amrex::Array4<const amrex::Real>& hfx_z,
485  const amrex::Array4<const amrex::Real>& mu_turb,
486  const SolverChoice& solverChoice,
487  const amrex::BCRec* bc_ptr,
488  const bool use_SurfLayer,
489  const amrex::Real implicit_fac);
490 
491 void ImplicitDiffForStateLU_T (const amrex::Box& bx,
492  const amrex::Box& domain,
493  const int level,
494  const int n,
495  const amrex::Real dt,
496  const amrex::GpuArray<amrex::Real, AMREX_SPACEDIM*2>& bc_neumann_vals,
497  const amrex::Array4< amrex::Real>& cell_data,
498  const amrex::Array4<const amrex::Real>& z_nd,
499  const amrex::Array4<const amrex::Real>& detJ,
500  const amrex::GpuArray<amrex::Real, AMREX_SPACEDIM>& cellSizeInv,
501  const amrex::Array4<const amrex::Real>& hfx_z,
502  const amrex::Array4<const amrex::Real>& mu_turb,
503  const SolverChoice& solverChoice,
504  const amrex::BCRec* bc_ptr,
505  const bool use_SurfLayer,
506  const amrex::Real implicit_fac);
507 
508 template <int stagdir>
509 void ImplicitDiffForMomLU_N (const amrex::Box& bx,
510  const amrex::Box& domain,
511  const int level,
512  const amrex::Real dt,
513  const amrex::Array4<const amrex::Real>& cell_data,
514  const amrex::Array4< amrex::Real>& face_data,
515  const amrex::Array4<const amrex::Real>& tau,
516  const amrex::Array4<const amrex::Real>& tau_corr,
517  const amrex::GpuArray<amrex::Real, AMREX_SPACEDIM>& cellSizeInv,
518  const amrex::Array4<const amrex::Real>& mu_turb,
519  const SolverChoice& solverChoice,
520  const amrex::BCRec* bc_ptr,
521  const bool use_SurfLayer,
522  const amrex::Real implicit_fac);
523 
524 template <int stagdir>
525 void ImplicitDiffForMomLU_S (const amrex::Box& bx,
526  const amrex::Box& domain,
527  const int level,
528  const amrex::Real dt,
529  const amrex::Array4<const amrex::Real>& cell_data,
530  const amrex::Array4< amrex::Real>& face_data,
531  const amrex::Array4<const amrex::Real>& tau,
532  const amrex::Array4<const amrex::Real>& tau_corr,
533  const amrex::Gpu::DeviceVector<amrex::Real>& stretched_dz_d,
534  const amrex::Array4<const amrex::Real>& mu_turb,
535  const SolverChoice& solverChoice,
536  const amrex::BCRec* bc_ptr,
537  const bool use_SurfLayer,
538  const amrex::Real implicit_fac);
539 
540 template <int stagdir>
541 void ImplicitDiffForMomLU_T (const amrex::Box& bx,
542  const amrex::Box& domain,
543  const int level,
544  const amrex::Real dt,
545  const amrex::Array4<const amrex::Real>& cell_data,
546  const amrex::Array4< amrex::Real>& face_data,
547  const amrex::Array4<const amrex::Real>& tau,
548  const amrex::Array4<const amrex::Real>& tau_corr,
549  const amrex::Array4<const amrex::Real>& z_nd,
550  const amrex::Array4<const amrex::Real>& detJ,
551  const amrex::GpuArray<amrex::Real, AMREX_SPACEDIM>& cellSizeInv,
552  const amrex::Array4<const amrex::Real>& mu_turb,
553  const SolverChoice& solverChoice,
554  const amrex::BCRec* bc_ptr,
555  const bool use_SurfLayer,
556  const amrex::Real implicit_fac);
557 #endif
@ tau12
Definition: ERF_DataStruct.H:32
@ tau23
Definition: ERF_DataStruct.H:32
@ tau33
Definition: ERF_DataStruct.H:32
@ tau22
Definition: ERF_DataStruct.H:32
@ tau11
Definition: ERF_DataStruct.H:32
@ tau32
Definition: ERF_DataStruct.H:32
@ tau31
Definition: ERF_DataStruct.H:32
@ tau21
Definition: ERF_DataStruct.H:32
@ tau13
Definition: ERF_DataStruct.H:32
void ImplicitDiffForMomLU_N(const amrex::Box &bx, const amrex::Box &domain, const int level, const amrex::Real dt, const amrex::Array4< const amrex::Real > &cell_data, const amrex::Array4< amrex::Real > &face_data, const amrex::Array4< const amrex::Real > &tau, const amrex::Array4< const amrex::Real > &tau_corr, const amrex::GpuArray< amrex::Real, AMREX_SPACEDIM > &cellSizeInv, const amrex::Array4< const amrex::Real > &mu_turb, const SolverChoice &solverChoice, const amrex::BCRec *bc_ptr, const bool use_SurfLayer, const amrex::Real implicit_fac)
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, amrex::Array4< amrex::Real > &tau13i, amrex::Array4< amrex::Real > &tau23i, amrex::Array4< amrex::Real > &tau33i)
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 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, amrex::Array4< amrex::Real > &tau13i, amrex::Array4< amrex::Real > &tau23i, amrex::Array4< amrex::Real > &tau33i)
void DiffusionSrcForState_S(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::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_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, const amrex::Real implicit_fac)
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, const amrex::Real implicit_fac)
void ComputeStrain_EB(const amrex::MFIter &mfi, 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::BCRec *bc_ptr, const eb_ &ebfact, amrex::Array4< amrex::Real > &tau13i, amrex::Array4< amrex::Real > &tau23i)
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, amrex::Array4< amrex::Real > &tau13i, amrex::Array4< amrex::Real > &tau23i)
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, amrex::Array4< amrex::Real > &tau13i, amrex::Array4< amrex::Real > &tau23i, amrex::Array4< amrex::Real > &tau33i)
void ImplicitDiffForMomLU_S(const amrex::Box &bx, const amrex::Box &domain, const int level, const amrex::Real dt, const amrex::Array4< const amrex::Real > &cell_data, const amrex::Array4< amrex::Real > &face_data, const amrex::Array4< const amrex::Real > &tau, const amrex::Array4< const amrex::Real > &tau_corr, const amrex::Gpu::DeviceVector< amrex::Real > &stretched_dz_d, const amrex::Array4< const amrex::Real > &mu_turb, const SolverChoice &solverChoice, const amrex::BCRec *bc_ptr, const bool use_SurfLayer, const amrex::Real implicit_fac)
void ComputeStressConsVisc_EB(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, amrex::Array4< const amrex::Real > &vfrac, amrex::Array4< amrex::Real > &tau13i, amrex::Array4< amrex::Real > &tau23i, amrex::Array4< amrex::Real > &tau33i)
void ImplicitDiffForStateLU_T(const amrex::Box &bx, const amrex::Box &domain, const int level, const int n, const amrex::Real dt, const amrex::GpuArray< amrex::Real, AMREX_SPACEDIM *2 > &bc_neumann_vals, const amrex::Array4< amrex::Real > &cell_data, const amrex::Array4< const amrex::Real > &z_nd, const amrex::Array4< const amrex::Real > &detJ, const amrex::GpuArray< amrex::Real, AMREX_SPACEDIM > &cellSizeInv, const amrex::Array4< const amrex::Real > &hfx_z, const amrex::Array4< const amrex::Real > &mu_turb, const SolverChoice &solverChoice, const amrex::BCRec *bc_ptr, const bool use_SurfLayer, const amrex::Real implicit_fac)
void ImplicitDiffForStateLU_N(const amrex::Box &bx, const amrex::Box &domain, const int level, const int n, const amrex::Real dt, const amrex::GpuArray< amrex::Real, AMREX_SPACEDIM *2 > &bc_neumann_vals, const amrex::Array4< amrex::Real > &cell_data, const amrex::GpuArray< amrex::Real, AMREX_SPACEDIM > &cellSizeInv, const amrex::Array4< const amrex::Real > &hfx_z, const amrex::Array4< const amrex::Real > &mu_turb, const SolverChoice &solverChoice, const amrex::BCRec *bc_ptr, const bool use_SurfLayer, const amrex::Real implicit_fac)
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, const amrex::Real implicit_fac)
void ComputeStressVarVisc_EB(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, amrex::Array4< const amrex::Real > &vfrac, amrex::Array4< amrex::Real > &tau13i, amrex::Array4< amrex::Real > &tau23i, amrex::Array4< amrex::Real > &tau33i)
void DiffusionSrcForState_EB(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::Array4< const amrex::EBCellFlag > &cfg_arr, const amrex::Array4< const amrex::Real > &ax_arr, const amrex::Array4< const amrex::Real > &ay_arr, const amrex::Array4< const amrex::Real > &az_arr, const amrex::Array4< const amrex::Real > &detJ, const amrex::Array4< const amrex::Real > &barea_arr, const amrex::Array4< const amrex::Real > &bcent_arr, const amrex::Real *dx_arr, const amrex::GpuArray< amrex::Real, AMREX_SPACEDIM > &cellSizeInv, amrex::Array4< amrex::Real > &hfx_z, amrex::Array4< amrex::Real > &qfx1_z, amrex::Array4< amrex::Real > &qfx2_z, amrex::Array4< amrex::Real > &hfx_EB, const amrex::Array4< const amrex::Real > &mu_turb, const SolverChoice &solverChoice, const int level, const amrex::BCRec *bc_ptr, const bool use_SurfLayer)
void ImplicitDiffForMomLU_T(const amrex::Box &bx, const amrex::Box &domain, const int level, const amrex::Real dt, const amrex::Array4< const amrex::Real > &cell_data, const amrex::Array4< amrex::Real > &face_data, const amrex::Array4< const amrex::Real > &tau, const amrex::Array4< const amrex::Real > &tau_corr, const amrex::Array4< const amrex::Real > &z_nd, const amrex::Array4< const amrex::Real > &detJ, const amrex::GpuArray< amrex::Real, AMREX_SPACEDIM > &cellSizeInv, const amrex::Array4< const amrex::Real > &mu_turb, const SolverChoice &solverChoice, const amrex::BCRec *bc_ptr, const bool use_SurfLayer, const amrex::Real implicit_fac)
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::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 > &tau13i, amrex::Array4< amrex::Real > &tau23i, amrex::Array4< amrex::Real > &tau33i)
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, amrex::Array4< amrex::Real > &tau13i, amrex::Array4< amrex::Real > &tau23i)
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::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 > &tau13i, amrex::Array4< amrex::Real > &tau23i, amrex::Array4< amrex::Real > &tau33i)
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::Array4< const amrex::Real > &u_tau_eb13, const amrex::Array4< const amrex::Real > &u_tau_eb23, const amrex::Array4< const amrex::Real > &v_tau_eb13, const amrex::Array4< const amrex::Real > &v_tau_eb23, const amrex::Array4< const amrex::Real > &w_tau_eb13, const amrex::Array4< const amrex::Real > &w_tau_eb23, 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 ImplicitDiffForStateLU_S(const amrex::Box &bx, const amrex::Box &domain, const int level, const int n, const amrex::Real dt, const amrex::GpuArray< amrex::Real, AMREX_SPACEDIM *2 > &bc_neumann_vals, const amrex::Array4< amrex::Real > &cell_data, const amrex::Gpu::DeviceVector< amrex::Real > &stretched_dz_d, const amrex::Array4< const amrex::Real > &hfx_z, const amrex::Array4< const amrex::Real > &mu_turb, const SolverChoice &solverChoice, const amrex::BCRec *bc_ptr, const bool use_SurfLayer, const amrex::Real implicit_fac)
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, amrex::Array4< amrex::Real > &tau13i, amrex::Array4< amrex::Real > &tau23i, amrex::Array4< amrex::Real > &tau33i)
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, amrex::Array4< amrex::Real > &tau13i, amrex::Array4< amrex::Real > &tau23i)
amrex::GpuArray< Real, AMREX_SPACEDIM > dxInv
Definition: ERF_InitCustomPertVels_ParticleTests.H:17
amrex::Real Real
Definition: ERF_ShocInterface.H:19
Definition: ERF_EB.H:13
Definition: ERF_DataStruct.H:141