ERF
Energy Research and Forecasting: An Atmospheric Modeling Code
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
ERF_DiffusionSrcForMom_EB.cpp File Reference
#include <AMReX.H>
#include <AMReX_EB_Slopes_K.H>
#include <ERF_EB.H>
#include <ERF_Diffusion.H>
#include <ERF_IndexDefines.H>
#include <ERF_EBSlopes.H>
#include <ERF_DiffStruct.H>
Include dependency graph for ERF_DiffusionSrcForMom_EB.cpp:

Functions

void DiffusionSrcForMom_EB (const MFIter &mfi, [[maybe_unused]] const Box &domain, const Box &bxx, const Box &bxy, const Box &bxz, const Array4< Real > &rho_u_rhs, const Array4< Real > &rho_v_rhs, const Array4< Real > &rho_w_rhs, const Array4< const Real > &u_arr, const Array4< const Real > &v_arr, const Array4< const Real > &w_arr, const Array4< const Real > &tau11, const Array4< const Real > &tau22, const Array4< const Real > &tau33, const Array4< const Real > &tau12, const Array4< const Real > &tau13, const Array4< const Real > &tau23, const Real *dx_arr, const GpuArray< Real, AMREX_SPACEDIM > &dxInv, const Array4< const Real > &mf_mx, const Array4< const Real > &mf_ux, const Array4< const Real > &mf_vx, const Array4< const Real > &mf_my, const Array4< const Real > &mf_uy, const Array4< const Real > &mf_vy, const SolverChoice &solverChoice, const eb_ &ebfact, [[maybe_unused]] const BCRec *d_bcrec_ptr)
 

Function Documentation

◆ DiffusionSrcForMom_EB()

void DiffusionSrcForMom_EB ( const MFIter &  mfi,
[[maybe_unused] ] const Box &  domain,
const Box &  bxx,
const Box &  bxy,
const Box &  bxz,
const Array4< Real > &  rho_u_rhs,
const Array4< Real > &  rho_v_rhs,
const Array4< Real > &  rho_w_rhs,
const Array4< const Real > &  u_arr,
const Array4< const Real > &  v_arr,
const Array4< const Real > &  w_arr,
const Array4< const Real > &  tau11,
const Array4< const Real > &  tau22,
const Array4< const Real > &  tau33,
const Array4< const Real > &  tau12,
const Array4< const Real > &  tau13,
const Array4< const Real > &  tau23,
const Real *  dx_arr,
const GpuArray< Real, AMREX_SPACEDIM > &  dxInv,
const Array4< const Real > &  mf_mx,
const Array4< const Real > &  mf_ux,
const Array4< const Real > &  mf_vx,
const Array4< const Real > &  mf_my,
const Array4< const Real > &  mf_uy,
const Array4< const Real > &  mf_vy,
const SolverChoice solverChoice,
const eb_ ebfact,
[[maybe_unused] ] const BCRec *  d_bcrec_ptr 
)

Function for computing the momentum RHS for diffusion operator without terrain.

Parameters
[in]mfiMultiFab Iterator
[in]domaincomputational domain
[in]bxxnodal x box for x-mom
[in]bxynodal y box for y-mom
[in]bxznodal z box for z-mom
[out]rho_u_rhsRHS for x-mom
[out]rho_v_rhsRHS for y-mom
[out]rho_w_rhsRHS for z-mom
[in]tau1111 stress
[in]tau2222 stress
[in]tau3333 stress
[in]tau1212 stress
[in]tau1313 stress
[in]tau2323 stress
[in]dxInvinverse cell size array
[in]mf_mmap factor at cell center
[in]ebfactEB factories for cell- and face-centered variables
59 {
60  BL_PROFILE_VAR("DiffusionSrcForMom_EB()",DiffusionSrcForMom_EB);
61 
62  DiffChoice dc = solverChoice.diffChoice;
63  const bool l_use_constAlpha = ( dc.molec_diff_type == MolecDiffType::ConstantAlpha );
64  Real mu_eff = (l_use_constAlpha) ? 2.0 * dc.dynamic_viscosity / dc.rho0_trans
65  : 2.0 * dc.dynamic_viscosity;
66 
67  auto dxinv = dxInv[0], dyinv = dxInv[1], dzinv = dxInv[2];
68  Real dx = dx_arr[0], dy = dx_arr[1], dz = dx_arr[2];
69  Real vol = dx * dy * dz;
70 
71  const bool l_simple = false;
72  const bool l_constraint_x = solverChoice.diffChoice.eb_diff_constraint_x;
73  const bool l_constraint_y = solverChoice.diffChoice.eb_diff_constraint_y;
74  const bool l_constraint_z = solverChoice.diffChoice.eb_diff_constraint_z;
75 
76  // int n = 0;
77 
78  // EB u-factory
79  Array4<const EBCellFlag> u_cellflg = (ebfact.get_u_const_factory())->getMultiEBCellFlagFab()[mfi].const_array();
80  Array4<const Real > u_volfrac = (ebfact.get_u_const_factory())->getVolFrac().const_array(mfi);
81  Array4<const Real > u_volcent = (ebfact.get_u_const_factory())->getCentroid().const_array(mfi);
82  Array4<const Real > u_afrac_x = (ebfact.get_u_const_factory())->getAreaFrac()[0]->const_array(mfi);
83  Array4<const Real > u_afrac_y = (ebfact.get_u_const_factory())->getAreaFrac()[1]->const_array(mfi);
84  Array4<const Real > u_afrac_z = (ebfact.get_u_const_factory())->getAreaFrac()[2]->const_array(mfi);
85  Array4<const Real > u_bcent = (ebfact.get_u_const_factory())->getBndryCent().const_array(mfi);
86  Array4<const Real > u_bnorm = (ebfact.get_u_const_factory())->getBndryNorm().const_array(mfi);
87 
88  // EB v-factory
89  Array4<const EBCellFlag> v_cellflg = (ebfact.get_v_const_factory())->getMultiEBCellFlagFab()[mfi].const_array();
90  Array4<const Real > v_volfrac = (ebfact.get_v_const_factory())->getVolFrac().const_array(mfi);
91  Array4<const Real > v_volcent = (ebfact.get_v_const_factory())->getCentroid().const_array(mfi);
92  Array4<const Real > v_afrac_x = (ebfact.get_v_const_factory())->getAreaFrac()[0]->const_array(mfi);
93  Array4<const Real > v_afrac_y = (ebfact.get_v_const_factory())->getAreaFrac()[1]->const_array(mfi);
94  Array4<const Real > v_afrac_z = (ebfact.get_v_const_factory())->getAreaFrac()[2]->const_array(mfi);
95  Array4<const Real > v_bcent = (ebfact.get_v_const_factory())->getBndryCent().const_array(mfi);
96  Array4<const Real > v_bnorm = (ebfact.get_v_const_factory())->getBndryNorm().const_array(mfi);
97 
98  // EB w-factory
99  Array4<const EBCellFlag> w_cellflg = (ebfact.get_w_const_factory())->getMultiEBCellFlagFab()[mfi].const_array();
100  Array4<const Real > w_volfrac = (ebfact.get_w_const_factory())->getVolFrac().const_array(mfi);
101  Array4<const Real > w_volcent = (ebfact.get_w_const_factory())->getCentroid().const_array(mfi);
102  Array4<const Real > w_afrac_x = (ebfact.get_w_const_factory())->getAreaFrac()[0]->const_array(mfi);
103  Array4<const Real > w_afrac_y = (ebfact.get_w_const_factory())->getAreaFrac()[1]->const_array(mfi);
104  Array4<const Real > w_afrac_z = (ebfact.get_w_const_factory())->getAreaFrac()[2]->const_array(mfi);
105  Array4<const Real > w_bcent = (ebfact.get_w_const_factory())->getBndryCent().const_array(mfi);
106  Array4<const Real > w_bnorm = (ebfact.get_w_const_factory())->getBndryNorm().const_array(mfi);
107 
108  // Two methods are implemented:
109  // (1) Simple method: approximate the gradient at EB
110  // (2) Compute the gradient at EB using Least-Squares fitting
111 
112  ParallelFor(bxx, bxy, bxz,
113  [=] AMREX_GPU_DEVICE (int i, int j, int k)
114  {
115  if (u_volfrac(i,j,k)>0.) {
116 
117  // Inv Jacobian
118  Real mfsq = mf_ux(i,j,0) * mf_uy(i,j,0);
119 
120  Real diffContrib = ( (tau11(i , j , k ) * u_afrac_x(i+1,j ,k )
121  - tau11(i-1, j , k ) * u_afrac_x(i ,j ,k ) ) * dxinv * mfsq
122  + (tau12(i , j+1, k ) * u_afrac_y(i ,j+1,k )
123  - tau12(i , j , k ) * u_afrac_y(i ,j ,k ) ) * dyinv * mfsq
124  + (tau13(i , j , k+1) * u_afrac_z(i ,j ,k+1)
125  - tau13(i , j , k ) * u_afrac_z(i ,j ,k )) * dzinv );
126  diffContrib /= u_volfrac(i,j,k);
127  rho_u_rhs(i,j,k) -= diffContrib;
128 
129  if (!l_constraint_x && u_cellflg(i,j,k).isSingleValued()) {
130 
131  Real axm = u_afrac_x(i ,j ,k );
132  Real axp = u_afrac_x(i+1,j ,k );
133  Real aym = u_afrac_y(i ,j ,k );
134  Real ayp = u_afrac_y(i ,j+1,k );
135  Real azm = u_afrac_z(i ,j ,k );
136  Real azp = u_afrac_z(i ,j ,k+1);
137 
138  Real adx = (axm-axp) * dy * dz;
139  Real ady = (aym-ayp) * dx * dz;
140  Real adz = (azm-azp) * dx * dy;
141 
142  Real barea = std::sqrt(adx*adx + ady*ady + adz*adz);
143 
144  if (l_simple) {
145 
146  Real dist_x = u_bcent(i,j,k,0)*dx;
147  Real dist_y = u_bcent(i,j,k,1)*dy;
148  Real dist_z = u_bcent(i,j,k,2)*dz;
149 
150  //
151  // Should this be the distance from the centroid to the face?
152  //
153  Real dn = std::sqrt( dist_x * dist_x + dist_y * dist_y + dist_z * dist_z );
154 
155  rho_u_rhs(i,j,k) -= - mu_eff * barea / vol * u_arr(i,j,k) / dn / u_volfrac(i,j,k);
156 
157  // barea needs scaling back? No, it is already in physical scale.
158  // This needs to be multiplied by diffusion.
159 
160  } else {
161 
162  const RealVect bcent_eb {u_bcent(i,j,k,0), u_bcent(i,j,k,1), u_bcent(i,j,k,2)};
163  const Real Dirichlet_u {0.};
164  const Real Dirichlet_v {0.};
165  const Real Dirichlet_w {0.};
166 
167  GpuArray<Real,AMREX_SPACEDIM> slopes_u;
168  GpuArray<Real,AMREX_SPACEDIM> slopes_v;
169  GpuArray<Real,AMREX_SPACEDIM> slopes_w;
170 
171  slopes_u = erf_calc_slopes_eb_Dirichlet ( Vars::xvel, Vars::xvel, dx, dy, dz, i, j, k, bcent_eb, Dirichlet_u, u_arr, u_volcent, u_cellflg);
172  slopes_v = erf_calc_slopes_eb_Dirichlet_staggered( Vars::xvel, Vars::yvel, dx, dy, dz, i, j, k, bcent_eb, Dirichlet_v, v_arr, v_volcent, v_cellflg);
173  slopes_w = erf_calc_slopes_eb_Dirichlet_staggered( Vars::xvel, Vars::zvel, dx, dy, dz, i, j, k, bcent_eb, Dirichlet_w, w_arr, w_volcent, w_cellflg);
174 
175  Real dudx = slopes_u[0];
176  Real dudy = slopes_u[1];
177  Real dudz = slopes_u[2];
178  Real dvdx = slopes_v[0];
179  Real dvdy = slopes_v[1];
180  // Real dvdz = slopes_v[2];
181  Real dwdx = slopes_w[0];
182  // Real dwdy = slopes_w[1];
183  Real dwdz = slopes_w[2];
184 
185  Real tau11_eb = - mu_eff * ( dudx - ( dudx + dvdy + dwdz ) / 3. );
186  Real tau12_eb = - mu_eff * 0.5 * (dudy + dvdx);
187  Real tau13_eb = - mu_eff * 0.5 * (dudz + dwdx);
188 
189  rho_u_rhs(i,j,k) -= barea / vol * (u_bnorm(i,j,k,0) * tau11_eb
190  + u_bnorm(i,j,k,1) * tau12_eb
191  + u_bnorm(i,j,k,2) * tau13_eb) / u_volfrac(i,j,k);
192  }
193  }
194  }
195 
196  },
197  [=] AMREX_GPU_DEVICE (int i, int j, int k)
198  {
199  if (v_volfrac(i,j,k)>0.) {
200 
201  // Inv Jacobian
202  Real mfsq = mf_vx(i,j,0) * mf_vy(i,j,0);
203 
204  Real diffContrib = ( (tau12(i+1, j , k ) * v_afrac_x(i+1,j ,k )
205  - tau12(i , j , k ) * v_afrac_x(i ,j ,k ) ) * dxinv * mfsq
206  + (tau22(i , j , k ) * v_afrac_y(i ,j+1,k )
207  - tau22(i , j-1, k ) * v_afrac_y(i ,j ,k ) ) * dyinv * mfsq
208  + (tau23(i , j , k+1) * v_afrac_z(i ,j ,k+1)
209  - tau23(i , j , k ) * v_afrac_z(i ,j ,k ) ) * dzinv );
210  diffContrib /= v_volfrac(i,j,k);
211  rho_v_rhs(i,j,k) -= diffContrib;
212 
213  // Boundary flux (simple version)
214  if (!l_constraint_y && v_cellflg(i,j,k).isSingleValued()) {
215 
216  Real axm = v_afrac_x(i ,j ,k );
217  Real axp = v_afrac_x(i+1,j ,k );
218  Real aym = v_afrac_y(i ,j ,k );
219  Real ayp = v_afrac_y(i ,j+1,k );
220  Real azm = v_afrac_z(i ,j ,k );
221  Real azp = v_afrac_z(i ,j ,k+1);
222 
223  Real adx = (axm-axp) * dy * dz;
224  Real ady = (aym-ayp) * dx * dz;
225  Real adz = (azm-azp) * dx * dy;
226 
227  Real barea = std::sqrt(adx*adx + ady*ady + adz*adz);
228 
229  if (l_simple) {
230 
231  Real dist_x = v_bcent(i,j,k,0)*dx;
232  Real dist_y = v_bcent(i,j,k,1)*dy;
233  Real dist_z = v_bcent(i,j,k,2)*dz;
234 
235  //
236  // Should this be the distance from the centroid to the face?
237  //
238  Real dn = std::sqrt( dist_x * dist_x + dist_y * dist_y + dist_z * dist_z );
239 
240  rho_v_rhs(i,j,k) -= - mu_eff * barea / vol * v_arr(i,j,k) / dn / v_volfrac(i,j,k);
241 
242  } else {
243 
244  const RealVect bcent_eb {v_bcent(i,j,k,0), v_bcent(i,j,k,1), v_bcent(i,j,k,2)};
245  const Real Dirichlet_u {0.};
246  const Real Dirichlet_v {0.};
247  const Real Dirichlet_w {0.};
248 
249  GpuArray<Real,AMREX_SPACEDIM> slopes_u;
250  GpuArray<Real,AMREX_SPACEDIM> slopes_v;
251  GpuArray<Real,AMREX_SPACEDIM> slopes_w;
252 
253  slopes_u = erf_calc_slopes_eb_Dirichlet_staggered( Vars::yvel, Vars::xvel, dx, dy, dz, i, j, k, bcent_eb, Dirichlet_u, u_arr, u_volcent, u_cellflg);
254  slopes_v = erf_calc_slopes_eb_Dirichlet ( Vars::yvel, Vars::yvel, dx, dy, dz, i, j, k, bcent_eb, Dirichlet_v, v_arr, v_volcent, v_cellflg);
255  slopes_w = erf_calc_slopes_eb_Dirichlet_staggered( Vars::yvel, Vars::zvel, dx, dy, dz, i, j, k, bcent_eb, Dirichlet_w, w_arr, w_volcent, w_cellflg);
256 
257  Real dudx = slopes_u[0];
258  Real dudy = slopes_u[1];
259  // Real dudz = slopes_u[2];
260  Real dvdx = slopes_v[0];
261  Real dvdy = slopes_v[1];
262  Real dvdz = slopes_v[2];
263  // Real dwdx = slopes_w[0];
264  Real dwdy = slopes_w[1];
265  Real dwdz = slopes_w[2];
266 
267  Real tau22_eb = - mu_eff * ( dvdy - ( dudx + dvdy + dwdz ) / 3. );
268  Real tau12_eb = - mu_eff * 0.5 * (dudy + dvdx);
269  Real tau23_eb = - mu_eff * 0.5 * (dvdz + dwdy);
270 
271  rho_v_rhs(i,j,k) -= mu_eff * barea / vol * (v_bnorm(i,j,k,0) * tau12_eb
272  + v_bnorm(i,j,k,1) * tau22_eb
273  + v_bnorm(i,j,k,2) * tau23_eb) / v_volfrac(i,j,k);
274  }
275  }
276  }
277  },
278  [=] AMREX_GPU_DEVICE (int i, int j, int k)
279  {
280  if (w_volfrac(i,j,k)>0.) {
281 
282  // Inv Jacobian
283  Real mfsq = mf_mx(i,j,0) * mf_my(i,j,0);
284 
285  Real diffContrib = ( (tau13(i+1, j , k ) * w_afrac_x(i+1,j ,k )
286  - tau13(i , j , k ) * w_afrac_x(i ,j ,k ) ) * dxinv * mfsq
287  + (tau23(i , j+1, k ) * w_afrac_y(i ,j+1,k )
288  - tau23(i , j , k ) * w_afrac_y(i ,j ,k ) ) * dyinv * mfsq
289  + (tau33(i , j , k ) * w_afrac_z(i ,j ,k+1)
290  - tau33(i , j , k-1) * w_afrac_z(i ,j ,k ) ) * dzinv );
291  diffContrib /= w_volfrac(i,j,k);
292  rho_w_rhs(i,j,k) -= diffContrib;
293 
294  // Boundary flux (simple version)
295  if (!l_constraint_z && w_cellflg(i,j,k).isSingleValued()) {
296 
297  Real axm = w_afrac_x(i ,j ,k );
298  Real axp = w_afrac_x(i+1,j ,k );
299  Real aym = w_afrac_y(i ,j ,k );
300  Real ayp = w_afrac_y(i ,j+1,k );
301  Real azm = w_afrac_z(i ,j ,k );
302  Real azp = w_afrac_z(i ,j ,k+1);
303 
304  Real adx = (axm-axp) * dy * dz;
305  Real ady = (aym-ayp) * dx * dz;
306  Real adz = (azm-azp) * dx * dy;
307 
308  Real barea = std::sqrt(adx*adx + ady*ady + adz*adz);
309 
310  if (l_simple) {
311 
312  Real dist_x = w_bcent(i,j,k,0)*dx;
313  Real dist_y = w_bcent(i,j,k,1)*dy;
314  Real dist_z = w_bcent(i,j,k,2)*dz;
315 
316  //
317  // Should this be the distance from the centroid to the face?
318  //
319  Real dn = std::sqrt( dist_x * dist_x + dist_y * dist_y + dist_z * dist_z );
320 
321  rho_w_rhs(i,j,k) -= - barea / vol * w_arr(i,j,k) / dn / w_volfrac(i,j,k);
322 
323  } else {
324 
325  const RealVect bcent_eb {w_bcent(i,j,k,0), w_bcent(i,j,k,1), w_bcent(i,j,k,2)};
326  const Real Dirichlet_u {0.};
327  const Real Dirichlet_v {0.};
328  const Real Dirichlet_w {0.};
329 
330  GpuArray<Real,AMREX_SPACEDIM> slopes_u;
331  GpuArray<Real,AMREX_SPACEDIM> slopes_v;
332  GpuArray<Real,AMREX_SPACEDIM> slopes_w;
333 
334  slopes_u = erf_calc_slopes_eb_Dirichlet_staggered( Vars::zvel, Vars::xvel, dx, dy, dz, i, j, k, bcent_eb, Dirichlet_u, u_arr, u_volcent, u_cellflg);
335  slopes_v = erf_calc_slopes_eb_Dirichlet_staggered( Vars::zvel, Vars::yvel, dx, dy, dz, i, j, k, bcent_eb, Dirichlet_v, v_arr, v_volcent, v_cellflg);
336  slopes_w = erf_calc_slopes_eb_Dirichlet ( Vars::zvel, Vars::zvel, dx, dy, dz, i, j, k, bcent_eb, Dirichlet_w, w_arr, w_volcent, w_cellflg);
337 
338  Real dudx = slopes_u[0];
339  // Real dudy = slopes_u[1];
340  Real dudz = slopes_u[2];
341  // Real dvdx = slopes_v[0];
342  Real dvdy = slopes_v[1];
343  Real dvdz = slopes_v[2];
344  Real dwdx = slopes_w[0];
345  Real dwdy = slopes_w[1];
346  Real dwdz = slopes_w[2];
347 
348  Real tau33_eb = - mu_eff * ( dwdz - ( dudx + dvdy + dwdz ) / 3. );
349  Real tau13_eb = - mu_eff * 0.5 * (dudz + dwdx);
350  Real tau23_eb = - mu_eff * 0.5 * (dvdz + dwdy);
351 
352  rho_w_rhs(i,j,k) -= barea / vol * (w_bnorm(i,j,k,0) * tau13_eb
353  + w_bnorm(i,j,k,1) * tau23_eb
354  + w_bnorm(i,j,k,2) * tau33_eb) / w_volfrac(i,j,k);
355  }
356  }
357  }
358  });
359 
360 }
@ tau12
Definition: ERF_DataStruct.H:30
@ tau23
Definition: ERF_DataStruct.H:30
@ tau33
Definition: ERF_DataStruct.H:30
@ tau22
Definition: ERF_DataStruct.H:30
@ tau11
Definition: ERF_DataStruct.H:30
@ tau13
Definition: ERF_DataStruct.H:30
void DiffusionSrcForMom_EB(const MFIter &mfi, [[maybe_unused]] const Box &domain, const Box &bxx, const Box &bxy, const Box &bxz, const Array4< Real > &rho_u_rhs, const Array4< Real > &rho_v_rhs, const Array4< Real > &rho_w_rhs, const Array4< const Real > &u_arr, const Array4< const Real > &v_arr, const Array4< const Real > &w_arr, const Array4< const Real > &tau11, const Array4< const Real > &tau22, const Array4< const Real > &tau33, const Array4< const Real > &tau12, const Array4< const Real > &tau13, const Array4< const Real > &tau23, const Real *dx_arr, const GpuArray< Real, AMREX_SPACEDIM > &dxInv, const Array4< const Real > &mf_mx, const Array4< const Real > &mf_ux, const Array4< const Real > &mf_vx, const Array4< const Real > &mf_my, const Array4< const Real > &mf_uy, const Array4< const Real > &mf_vy, const SolverChoice &solverChoice, const eb_ &ebfact, [[maybe_unused]] const BCRec *d_bcrec_ptr)
Definition: ERF_DiffusionSrcForMom_EB.cpp:33
AMREX_GPU_DEVICE AMREX_FORCE_INLINE amrex::GpuArray< amrex::Real, AMREX_SPACEDIM > erf_calc_slopes_eb_Dirichlet_staggered(int igrid_query, int igrid_data, amrex::Real dx, amrex::Real dy, amrex::Real dz, int i, int j, int k, amrex::RealVect const &bcent_eb, amrex::Real const state_eb, amrex::Array4< amrex::Real const > const &state, amrex::Array4< amrex::Real const > const &ccent, amrex::Array4< amrex::EBCellFlag const > const &flag)
Definition: ERF_EBSlopes.H:157
AMREX_GPU_DEVICE AMREX_FORCE_INLINE amrex::GpuArray< amrex::Real, AMREX_SPACEDIM > erf_calc_slopes_eb_Dirichlet([[maybe_unused]] int igrid_query, [[maybe_unused]] int igrid_data, amrex::Real dx, amrex::Real dy, amrex::Real dz, int i, int j, int k, amrex::RealVect const &bcent_eb, amrex::Real const state_eb, amrex::Array4< amrex::Real const > const &state, amrex::Array4< amrex::Real const > const &ccent, amrex::Array4< amrex::EBCellFlag const > const &flag)
Definition: ERF_EBSlopes.H:20
eb_aux_ const * get_w_const_factory() const noexcept
Definition: ERF_EB.H:56
eb_aux_ const * get_v_const_factory() const noexcept
Definition: ERF_EB.H:55
eb_aux_ const * get_u_const_factory() const noexcept
Definition: ERF_EB.H:54
@ xvel
Definition: ERF_IndexDefines.H:141
@ zvel
Definition: ERF_IndexDefines.H:143
@ yvel
Definition: ERF_IndexDefines.H:142
Definition: ERF_DiffStruct.H:19
amrex::Real rho0_trans
Definition: ERF_DiffStruct.H:91
bool eb_diff_constraint_z
Definition: ERF_DiffStruct.H:99
bool eb_diff_constraint_x
Definition: ERF_DiffStruct.H:97
bool eb_diff_constraint_y
Definition: ERF_DiffStruct.H:98
MolecDiffType molec_diff_type
Definition: ERF_DiffStruct.H:84
amrex::Real dynamic_viscosity
Definition: ERF_DiffStruct.H:96
DiffChoice diffChoice
Definition: ERF_DataStruct.H:766
Here is the call graph for this function: