1 #ifndef ERF_DIFFUSION_H_
2 #define ERF_DIFFUSION_H_
5 #include "AMReX_MultiFab.H"
6 #include "AMReX_BCRec.H"
13 const amrex::Array4< amrex::Real>& rho_u_rhs,
14 const amrex::Array4< amrex::Real>& rho_v_rhs,
15 const amrex::Array4< amrex::Real>& rho_w_rhs,
16 const amrex::Array4<const amrex::Real>&
tau11 ,
17 const amrex::Array4<const amrex::Real>&
tau22 ,
18 const amrex::Array4<const amrex::Real>&
tau33 ,
19 const amrex::Array4<const amrex::Real>&
tau12 ,
20 const amrex::Array4<const amrex::Real>&
tau13 ,
21 const amrex::Array4<const amrex::Real>&
tau23 ,
22 const amrex::GpuArray<amrex::Real, AMREX_SPACEDIM>& dxInv,
23 const amrex::Array4<const amrex::Real>& mf_mx ,
24 const amrex::Array4<const amrex::Real>& mf_ux ,
25 const amrex::Array4<const amrex::Real>& mf_vx ,
26 const amrex::Array4<const amrex::Real>& mf_my ,
27 const amrex::Array4<const amrex::Real>& mf_uy ,
28 const amrex::Array4<const amrex::Real>& mf_vy );
31 const amrex::Array4< amrex::Real>& rho_u_rhs,
32 const amrex::Array4< amrex::Real>& rho_v_rhs,
33 const amrex::Array4< amrex::Real>& rho_w_rhs,
34 const amrex::Array4<const amrex::Real>&
tau11 ,
35 const amrex::Array4<const amrex::Real>&
tau22 ,
36 const amrex::Array4<const amrex::Real>&
tau33 ,
37 const amrex::Array4<const amrex::Real>&
tau12 ,
const amrex::Array4<const amrex::Real>&
tau21,
38 const amrex::Array4<const amrex::Real>&
tau13 ,
const amrex::Array4<const amrex::Real>&
tau31,
39 const amrex::Array4<const amrex::Real>&
tau23 ,
const amrex::Array4<const amrex::Real>&
tau32,
40 const amrex::Array4<const amrex::Real>& detJ,
41 const amrex::GpuArray<amrex::Real, AMREX_SPACEDIM>& dxInv,
42 const amrex::Array4<const amrex::Real>& mf_mx ,
43 const amrex::Array4<const amrex::Real>& mf_my );
47 int start_comp,
int num_comp,
48 const amrex::Array4<const amrex::Real>& u,
49 const amrex::Array4<const amrex::Real>& v,
50 const amrex::Array4<const amrex::Real>& cell_data,
51 const amrex::Array4<const amrex::Real>& cell_prim,
52 const amrex::Array4<amrex::Real>& cell_rhs,
53 const amrex::Array4<amrex::Real>& xflux,
54 const amrex::Array4<amrex::Real>& yflux,
55 const amrex::Array4<amrex::Real>& zflux,
56 const amrex::GpuArray<amrex::Real, AMREX_SPACEDIM>& cellSizeInv,
57 const amrex::Array4<const amrex::Real>& SmnSmn_a,
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_my,
61 const amrex::Array4<const amrex::Real>& mf_vy,
62 amrex::Array4< amrex::Real>& hfx_z,
63 amrex::Array4< amrex::Real>& qfx1_z,
64 amrex::Array4< amrex::Real>& qfx2_z,
65 amrex::Array4< amrex::Real>& diss,
66 const amrex::Array4<const amrex::Real>& mu_turb,
69 const amrex::Array4<const amrex::Real>& tm_arr,
70 const amrex::GpuArray<amrex::Real,AMREX_SPACEDIM> grav_gpu,
71 const amrex::BCRec* bc_ptr,
72 const bool use_SurfLayer);
75 int start_comp,
int num_comp,
77 const amrex::Array4<const amrex::Real>& u,
78 const amrex::Array4<const amrex::Real>& v,
79 const amrex::Array4<const amrex::Real>& cell_data,
80 const amrex::Array4<const amrex::Real>& cell_prim,
81 const amrex::Array4<amrex::Real>& cell_rhs,
82 const amrex::Array4<amrex::Real>& xflux,
83 const amrex::Array4<amrex::Real>& yflux,
84 const amrex::Array4<amrex::Real>& zflux,
85 const amrex::Array4<const amrex::Real>& z_nd,
86 const amrex::Array4<const amrex::Real>& ax,
87 const amrex::Array4<const amrex::Real>& ay,
88 const amrex::Array4<const amrex::Real>& az,
89 const amrex::Array4<const amrex::Real>& detJ,
90 const amrex::GpuArray<amrex::Real, AMREX_SPACEDIM>& dxInv,
91 const amrex::Array4<const amrex::Real>& SmnSmn_a,
92 const amrex::Array4<const amrex::Real>& mf_mx,
93 const amrex::Array4<const amrex::Real>& mf_ux,
94 const amrex::Array4<const amrex::Real>& mf_my,
95 const amrex::Array4<const amrex::Real>& mf_vy,
96 amrex::Array4< amrex::Real>& hfx_x,
97 amrex::Array4< amrex::Real>& hfx_y,
98 amrex::Array4< amrex::Real>& hfx_z,
99 amrex::Array4< amrex::Real>& qfx1_x,
100 amrex::Array4< amrex::Real>& qfx1_y,
101 amrex::Array4< amrex::Real>& qfx1_z,
102 amrex::Array4< amrex::Real>& qfx2_z,
103 amrex::Array4< amrex::Real>& diss,
104 const amrex::Array4<const amrex::Real>& mu_turb,
107 const amrex::Array4<const amrex::Real>& tm_arr,
108 const amrex::GpuArray<amrex::Real,AMREX_SPACEDIM> grav_gpu,
109 const amrex::BCRec* bc_ptr,
110 const bool use_SurfLayer);
117 const amrex::Array4<const amrex::Real>& cell_data,
118 amrex::Array4<amrex::Real>&
tau11,
119 amrex::Array4<amrex::Real>&
tau22,
120 amrex::Array4<amrex::Real>&
tau33,
121 amrex::Array4<amrex::Real>&
tau12,
122 amrex::Array4<amrex::Real>&
tau13,
123 amrex::Array4<amrex::Real>&
tau23,
124 const amrex::Array4<const amrex::Real>& er_arr);
131 const amrex::Array4<const amrex::Real>& cell_data,
132 amrex::Array4<amrex::Real>&
tau11,
133 amrex::Array4<amrex::Real>&
tau22,
134 amrex::Array4<amrex::Real>&
tau33,
135 amrex::Array4<amrex::Real>&
tau12, amrex::Array4<amrex::Real>&
tau21,
136 amrex::Array4<amrex::Real>&
tau13, amrex::Array4<amrex::Real>&
tau31,
137 amrex::Array4<amrex::Real>&
tau23, amrex::Array4<amrex::Real>&
tau32,
138 const amrex::Array4<const amrex::Real>& er_arr,
139 const amrex::Array4<const amrex::Real>& z_nd,
140 const amrex::Array4<const amrex::Real>& detJ,
141 const amrex::GpuArray<amrex::Real, AMREX_SPACEDIM>& dxInv);
150 const amrex::Array4<const amrex::Real>& mu_turb,
151 const amrex::Array4<const amrex::Real>& cell_data,
152 amrex::Array4<amrex::Real>&
tau11,
153 amrex::Array4<amrex::Real>&
tau22,
154 amrex::Array4<amrex::Real>&
tau33,
155 amrex::Array4<amrex::Real>&
tau12,
156 amrex::Array4<amrex::Real>&
tau13,
157 amrex::Array4<amrex::Real>&
tau23,
158 const amrex::Array4<const amrex::Real>& er_arr);
165 const amrex::Array4<const amrex::Real>& mu_turb,
166 const amrex::Array4<const amrex::Real>& cell_data,
167 amrex::Array4<amrex::Real>&
tau11,
168 amrex::Array4<amrex::Real>&
tau22,
169 amrex::Array4<amrex::Real>&
tau33,
170 amrex::Array4<amrex::Real>&
tau12, amrex::Array4<amrex::Real>&
tau21,
171 amrex::Array4<amrex::Real>&
tau13, amrex::Array4<amrex::Real>&
tau31,
172 amrex::Array4<amrex::Real>&
tau23, amrex::Array4<amrex::Real>&
tau32,
173 const amrex::Array4<const amrex::Real>& er_arr,
174 const amrex::Array4<const amrex::Real>& z_nd,
175 const amrex::Array4<const amrex::Real>& detJ,
176 const amrex::GpuArray<amrex::Real, AMREX_SPACEDIM>& dxInv);
180 void ComputeStrain_N (amrex::Box bxcc, amrex::Box tbxxy, amrex::Box tbxxz, amrex::Box tbxyz, amrex::Box domain,
181 const amrex::Array4<const amrex::Real>& u,
182 const amrex::Array4<const amrex::Real>& v,
183 const amrex::Array4<const amrex::Real>& w,
184 amrex::Array4<amrex::Real>&
tau11,
185 amrex::Array4<amrex::Real>&
tau22,
186 amrex::Array4<amrex::Real>&
tau33,
187 amrex::Array4<amrex::Real>&
tau12,
188 amrex::Array4<amrex::Real>&
tau13,
189 amrex::Array4<amrex::Real>&
tau23,
190 const amrex::BCRec* bc_ptr,
191 const amrex::GpuArray<amrex::Real, AMREX_SPACEDIM>& dxInv,
192 const amrex::Array4<const amrex::Real>& mf_mx,
193 const amrex::Array4<const amrex::Real>& mf_ux,
194 const amrex::Array4<const amrex::Real>& mf_vx,
195 const amrex::Array4<const amrex::Real>& mf_my,
196 const amrex::Array4<const amrex::Real>& mf_uy,
197 const amrex::Array4<const amrex::Real>& mf_vy);
199 void ComputeStrain_T (amrex::Box bxcc, amrex::Box tbxxy, amrex::Box tbxxz, amrex::Box tbxyz, amrex::Box domain,
200 const amrex::Array4<const amrex::Real>& u,
201 const amrex::Array4<const amrex::Real>& v,
202 const amrex::Array4<const amrex::Real>& w,
203 amrex::Array4<amrex::Real>&
tau11,
204 amrex::Array4<amrex::Real>&
tau22,
205 amrex::Array4<amrex::Real>&
tau33,
206 amrex::Array4<amrex::Real>&
tau12, amrex::Array4<amrex::Real>&
tau21,
207 amrex::Array4<amrex::Real>&
tau13, amrex::Array4<amrex::Real>&
tau31,
208 amrex::Array4<amrex::Real>&
tau23, amrex::Array4<amrex::Real>&
tau32,
209 const amrex::Array4<const amrex::Real>& z_nd,
210 const amrex::Array4<const amrex::Real>& detJ,
211 const amrex::BCRec* bc_ptr,
const amrex::GpuArray<amrex::Real, AMREX_SPACEDIM>& dxInv,
212 const amrex::Array4<const amrex::Real>& mf_mx,
213 const amrex::Array4<const amrex::Real>& mf_ux,
214 const amrex::Array4<const amrex::Real>& mf_vx,
215 const amrex::Array4<const amrex::Real>& mf_my,
216 const amrex::Array4<const amrex::Real>& mf_uy,
217 const amrex::Array4<const amrex::Real>& mf_vy);
@ tau12
Definition: ERF_DataStruct.H:26
@ tau23
Definition: ERF_DataStruct.H:26
@ tau33
Definition: ERF_DataStruct.H:26
@ tau22
Definition: ERF_DataStruct.H:26
@ tau11
Definition: ERF_DataStruct.H:26
@ tau32
Definition: ERF_DataStruct.H:26
@ tau31
Definition: ERF_DataStruct.H:26
@ tau21
Definition: ERF_DataStruct.H:26
@ tau13
Definition: ERF_DataStruct.H:26
void DiffusionSrcForMom_N(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 > &tau13, const amrex::Array4< const 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)
void ComputeStressConsVisc_N(amrex::Box bxcc, amrex::Box tbxxy, amrex::Box tbxxz, amrex::Box tbxyz, amrex::Real mu_eff, const amrex::Array4< const amrex::Real > &cell_data, amrex::Array4< amrex::Real > &tau11, amrex::Array4< amrex::Real > &tau22, amrex::Array4< amrex::Real > &tau33, amrex::Array4< amrex::Real > &tau12, amrex::Array4< amrex::Real > &tau13, amrex::Array4< amrex::Real > &tau23, const amrex::Array4< const amrex::Real > &er_arr)
void 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 > &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_my, const amrex::Array4< const amrex::Real > &mf_vy, amrex::Array4< amrex::Real > &hfx_x, amrex::Array4< amrex::Real > &hfx_y, amrex::Array4< amrex::Real > &hfx_z, amrex::Array4< amrex::Real > &qfx1_x, amrex::Array4< amrex::Real > &qfx1_y, amrex::Array4< amrex::Real > &qfx1_z, amrex::Array4< amrex::Real > &qfx2_z, amrex::Array4< amrex::Real > &diss, const amrex::Array4< const amrex::Real > &mu_turb, const SolverChoice &solverChoice, const int level, const amrex::Array4< const amrex::Real > &tm_arr, const amrex::GpuArray< amrex::Real, AMREX_SPACEDIM > grav_gpu, const amrex::BCRec *bc_ptr, const bool use_SurfLayer)
void 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_my, const amrex::Array4< const amrex::Real > &mf_vy, amrex::Array4< amrex::Real > &hfx_z, amrex::Array4< amrex::Real > &qfx1_z, amrex::Array4< amrex::Real > &qfx2_z, amrex::Array4< amrex::Real > &diss, const amrex::Array4< const amrex::Real > &mu_turb, const SolverChoice &solverChoice, const int level, const amrex::Array4< const amrex::Real > &tm_arr, const amrex::GpuArray< amrex::Real, AMREX_SPACEDIM > grav_gpu, const amrex::BCRec *bc_ptr, const bool use_SurfLayer)
void 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)
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::BCRec *bc_ptr, const amrex::GpuArray< amrex::Real, AMREX_SPACEDIM > &dxInv, const amrex::Array4< const amrex::Real > &mf_mx, const amrex::Array4< const amrex::Real > &mf_ux, const amrex::Array4< const amrex::Real > &mf_vx, const amrex::Array4< const amrex::Real > &mf_my, const amrex::Array4< const amrex::Real > &mf_uy, const amrex::Array4< const amrex::Real > &mf_vy)
void DiffusionSrcForMom_T(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, const amrex::GpuArray< amrex::Real, AMREX_SPACEDIM > &dxInv, const amrex::Array4< const amrex::Real > &mf_mx, const amrex::Array4< const amrex::Real > &mf_my)
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)
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::BCRec *bc_ptr, const amrex::GpuArray< amrex::Real, AMREX_SPACEDIM > &dxInv, const amrex::Array4< const amrex::Real > &mf_mx, const amrex::Array4< const amrex::Real > &mf_ux, const amrex::Array4< const amrex::Real > &mf_vx, const amrex::Array4< const amrex::Real > &mf_my, const amrex::Array4< const amrex::Real > &mf_uy, const amrex::Array4< const amrex::Real > &mf_vy)
void ComputeStressVarVisc_N(amrex::Box bxcc, amrex::Box tbxxy, amrex::Box tbxxz, amrex::Box tbxyz, amrex::Real mu_eff, const amrex::Array4< const amrex::Real > &mu_turb, const amrex::Array4< const amrex::Real > &cell_data, amrex::Array4< amrex::Real > &tau11, amrex::Array4< amrex::Real > &tau22, amrex::Array4< amrex::Real > &tau33, amrex::Array4< amrex::Real > &tau12, amrex::Array4< amrex::Real > &tau13, amrex::Array4< amrex::Real > &tau23, const amrex::Array4< const amrex::Real > &er_arr)
Definition: ERF_DataStruct.H:91