54 auto dxinv = dxInv[0], dyinv = dxInv[1], dzinv = dxInv[2];
57 ParallelFor(bxx, bxy, bxz,
58 [=] AMREX_GPU_DEVICE (
int i,
int j,
int k)
61 Real mfsq = mf_ux(i,j,0) * mf_uy(i,j,0);
63 Real diffContrib = ( (
tau11(i , j , k ) -
tau11(i-1, j ,k )) * dxinv * mfsq
64 + (
tau12(i , j+1, k ) -
tau12(i , j ,k )) * dyinv * mfsq
65 + (
tau13(i , j , k+1) -
tau13(i , j ,k )) * dzinv );
66 diffContrib /= 0.5*(detJ(i,j,k) + detJ(i-1,j,k));
67 rho_u_rhs(i,j,k) -= diffContrib;
69 [=] AMREX_GPU_DEVICE (
int i,
int j,
int k)
72 Real mfsq = mf_vx(i,j,0) * mf_vy(i,j,0);
74 Real diffContrib = ( (
tau21(i+1, j , k ) -
tau21(i , j , k )) * dxinv * mfsq
75 + (
tau22(i , j , k ) -
tau22(i , j-1, k )) * dyinv * mfsq
76 + (
tau23(i , j , k+1) -
tau23(i , j , k )) * dzinv );
77 diffContrib /= 0.5*(detJ(i,j,k) + detJ(i,j-1,k));
78 rho_v_rhs(i,j,k) -= diffContrib;
80 [=] AMREX_GPU_DEVICE (
int i,
int j,
int k)
83 Real mfsq = mf_mx(i,j,0) * mf_my(i,j,0);
85 Real diffContrib = ( (
tau31(i+1, j , k ) -
tau31(i , j , k )) * dxinv * mfsq
86 + (
tau32(i , j+1, k ) -
tau32(i , j , k )) * dyinv * mfsq
87 + (
tau33(i , j , k ) -
tau33(i , j , k-1)) * dzinv );
88 diffContrib /= 0.5*(detJ(i,j,k) + detJ(i,j,k-1));
89 rho_w_rhs(i,j,k) -= diffContrib;
92 }
else if (l_stretched_dz) {
94 auto dz_ptr = stretched_dz_d.data();
96 ParallelFor(bxx, bxy, bxz,
97 [=] AMREX_GPU_DEVICE (
int i,
int j,
int k)
99 Real mfsq = mf_ux(i,j,0) * mf_uy(i,j,0);
101 Real diffContrib = ( (
tau11(i , j , k ) -
tau11(i-1, j ,k )) * dxinv * mfsq
102 + (
tau12(i , j+1, k ) -
tau12(i , j ,k )) * dyinv * mfsq
103 + (
tau13(i , j , k+1) -
tau13(i , j ,k )) / dz_ptr[k] );
105 rho_u_rhs(i,j,k) -= diffContrib;
107 [=] AMREX_GPU_DEVICE (
int i,
int j,
int k)
109 Real mfsq = mf_vx(i,j,0) * mf_vy(i,j,0);
111 Real diffContrib = ( (
tau21(i+1, j , k ) -
tau21(i , j , k )) * dxinv * mfsq
112 + (
tau22(i , j , k ) -
tau22(i , j-1, k )) * dyinv * mfsq
113 + (
tau23(i , j , k+1) -
tau23(i , j , k )) / dz_ptr[k] );
115 rho_v_rhs(i,j,k) -= diffContrib;
117 [=] AMREX_GPU_DEVICE (
int i,
int j,
int k)
119 Real mfsq = mf_mx(i,j,0) * mf_my(i,j,0);
122 Real dzinv_loc = 2.0 / (dz_ptr[k] + dz_ptr[k-1]);
124 Real diffContrib = ( (
tau31(i+1, j , k ) -
tau31(i , j , k )) * dxinv * mfsq
125 + (
tau32(i , j+1, k ) -
tau32(i , j , k )) * dyinv * mfsq
126 + (
tau33(i , j , k ) -
tau33(i , j , k-1)) * dzinv_loc );
128 rho_w_rhs(i,j,k) -= diffContrib;
133 ParallelFor(bxx, bxy, bxz,
134 [=] AMREX_GPU_DEVICE (
int i,
int j,
int k)
137 Real mfsq = mf_ux(i,j,0) * mf_uy(i,j,0);
140 Real Imfy_hi = 1. / mf_my(i ,j,0);
141 Real Imfy_lo = 1. / mf_my(i-1,j,0);
142 Real Imfx_hi = 1. / (0.5 * (mf_vx(i,j+1,0) + mf_vx(i-1,j+1,0)));
143 Real Imfx_lo = 1. / (0.5 * (mf_vx(i,j ,0) + mf_vx(i-1,j ,0)));
144 rho_u_rhs(i,j,k) -= ( (
tau11(i , j , k )*Imfy_hi -
tau11(i-1, j ,k )*Imfy_lo) * dxinv * mfsq
145 + (
tau12(i , j+1, k )*Imfx_hi -
tau12(i , j ,k )*Imfx_lo) * dyinv * mfsq
146 + (
tau13(i , j , k+1) -
tau13(i , j ,k ) ) * dzinv );
148 [=] AMREX_GPU_DEVICE (
int i,
int j,
int k)
151 Real mfsq = mf_vx(i,j,0) * mf_vy(i,j,0);
154 Real Imfy_hi = 1. / (0.5 * (mf_uy(i+1,j,0) + mf_uy(i+1,j-1,0)));
155 Real Imfy_lo = 1. / (0.5 * (mf_uy(i ,j,0) + mf_uy(i ,j-1,0)));
156 Real Imfx_hi = 1. / mf_mx(i ,j,0);
157 Real Imfx_lo = 1. / mf_mx(i-1,j,0);
158 rho_v_rhs(i,j,k) -= ( (
tau12(i+1, j , k )*Imfy_hi -
tau12(i , j , k )*Imfy_lo) * dxinv * mfsq
159 + (
tau22(i , j , k )*Imfx_hi -
tau22(i , j-1, k )*Imfx_lo) * dyinv * mfsq
160 + (
tau23(i , j , k+1) -
tau23(i , j , k ) ) * dzinv );
162 [=] AMREX_GPU_DEVICE (
int i,
int j,
int k)
165 Real mfsq = mf_mx(i,j,0) * mf_my(i,j,0);
168 Real Imfy_hi = 1. / mf_uy(i+1,j ,0);
169 Real Imfy_lo = 1. / mf_uy(i ,j ,0);
170 Real Imfx_hi = 1. / mf_vx(i ,j+1,0);
171 Real Imfx_lo = 1. / mf_vx(i ,j ,0);
172 rho_w_rhs(i,j,k) -= ( (
tau13(i+1, j , k )*Imfy_hi -
tau13(i , j , k )*Imfy_lo) * dxinv * mfsq
173 + (
tau23(i , j+1, k )*Imfx_hi -
tau23(i , j , k )*Imfx_lo) * dyinv * mfsq
174 + (
tau33(i , j , k ) -
tau33(i , j , k-1) ) * dzinv );
@ tau12
Definition: ERF_DataStruct.H:30
@ tau23
Definition: ERF_DataStruct.H:30
@ tau33
Definition: ERF_DataStruct.H:30
@ tau22
Definition: ERF_DataStruct.H:30
@ tau11
Definition: ERF_DataStruct.H:30
@ tau32
Definition: ERF_DataStruct.H:30
@ tau31
Definition: ERF_DataStruct.H:30
@ tau21
Definition: ERF_DataStruct.H:30
@ tau13
Definition: ERF_DataStruct.H:30
amrex::Real Real
Definition: ERF_ShocInterface.H:19