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);
123 Real dzinv_loc = 2.0 / (dz_ptr[k] + dz_ptr[k-1]);
125 Real diffContrib = ( (
tau31(i+1, j , k ) -
tau31(i , j , k )) * dxinv * mfsq
126 + (
tau32(i , j+1, k ) -
tau32(i , j , k )) * dyinv * mfsq
127 + (
tau33(i , j , k ) -
tau33(i , j , k-1)) * dzinv_loc );
129 rho_w_rhs(i,j,k) -= diffContrib;
134 ParallelFor(bxx, bxy, bxz,
135 [=] AMREX_GPU_DEVICE (
int i,
int j,
int k)
138 Real mfsq = mf_ux(i,j,0) * mf_uy(i,j,0);
141 Real Imfy_hi = 1. / mf_my(i ,j,0);
142 Real Imfy_lo = 1. / mf_my(i-1,j,0);
143 Real Imfx_hi = 1. / (0.5 * (mf_vx(i,j+1,0) + mf_vx(i-1,j+1,0)));
144 Real Imfx_lo = 1. / (0.5 * (mf_vx(i,j ,0) + mf_vx(i-1,j ,0)));
145 rho_u_rhs(i,j,k) -= ( (
tau11(i , j , k )*Imfy_hi -
tau11(i-1, j ,k )*Imfy_lo) * dxinv * mfsq
146 + (
tau12(i , j+1, k )*Imfx_hi -
tau12(i , j ,k )*Imfx_lo) * dyinv * mfsq
147 + (
tau13(i , j , k+1) -
tau13(i , j ,k ) ) * dzinv );
149 [=] AMREX_GPU_DEVICE (
int i,
int j,
int k)
152 Real mfsq = mf_vx(i,j,0) * mf_vy(i,j,0);
155 Real Imfy_hi = 1. / (0.5 * (mf_uy(i+1,j,0) + mf_uy(i+1,j-1,0)));
156 Real Imfy_lo = 1. / (0.5 * (mf_uy(i ,j,0) + mf_uy(i ,j-1,0)));
157 Real Imfx_hi = 1. / mf_mx(i ,j,0);
158 Real Imfx_lo = 1. / mf_mx(i-1,j,0);
159 rho_v_rhs(i,j,k) -= ( (
tau12(i+1, j , k )*Imfy_hi -
tau12(i , j , k )*Imfy_lo) * dxinv * mfsq
160 + (
tau22(i , j , k )*Imfx_hi -
tau22(i , j-1, k )*Imfx_lo) * dyinv * mfsq
161 + (
tau23(i , j , k+1) -
tau23(i , j , k ) ) * dzinv );
163 [=] AMREX_GPU_DEVICE (
int i,
int j,
int k)
166 Real mfsq = mf_mx(i,j,0) * mf_my(i,j,0);
169 Real Imfy_hi = 1. / mf_uy(i+1,j ,0);
170 Real Imfy_lo = 1. / mf_uy(i ,j ,0);
171 Real Imfx_hi = 1. / mf_vx(i ,j+1,0);
172 Real Imfx_lo = 1. / mf_vx(i ,j ,0);
173 rho_w_rhs(i,j,k) -= ( (
tau13(i+1, j , k )*Imfy_hi -
tau13(i , j , k )*Imfy_lo) * dxinv * mfsq
174 + (
tau23(i , j+1, k )*Imfx_hi -
tau23(i , j , k )*Imfx_lo) * dyinv * mfsq
175 + (
tau33(i , j , k ) -
tau33(i , j , k-1) ) * dzinv );
@ tau12
Definition: ERF_DataStruct.H:31
@ tau23
Definition: ERF_DataStruct.H:31
@ tau33
Definition: ERF_DataStruct.H:31
@ tau22
Definition: ERF_DataStruct.H:31
@ tau11
Definition: ERF_DataStruct.H:31
@ tau32
Definition: ERF_DataStruct.H:31
@ tau31
Definition: ERF_DataStruct.H:31
@ tau21
Definition: ERF_DataStruct.H:31
@ tau13
Definition: ERF_DataStruct.H:31
amrex::Real Real
Definition: ERF_ShocInterface.H:19