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