Function for computing the momentum RHS for diffusion operator with terrain.
48 auto dxinv = dxInv[0], dyinv = dxInv[1], dzinv = dxInv[2];
50 ParallelFor(bxx, bxy, bxz,
51 [=] AMREX_GPU_DEVICE (
int i,
int j,
int k)
53 Real mfx = mf_mx(i,j,0);
54 Real mfy = mf_my(i,j,0);
56 Real diffContrib = ( (
tau11(i , j , k ) -
tau11(i-1, j ,k )) * dxinv * mfx
57 + (
tau12(i , j+1, k ) -
tau12(i , j ,k )) * dyinv * mfy
58 + (
tau13(i , j , k+1) -
tau13(i , j ,k )) * dzinv );
59 diffContrib /= 0.5*(detJ(i,j,k) + detJ(i-1,j,k));
60 rho_u_rhs(i,j,k) -= diffContrib;
62 [=] AMREX_GPU_DEVICE (
int i,
int j,
int k)
64 Real mfx = mf_mx(i,j,0);
65 Real mfy = mf_my(i,j,0);
67 Real diffContrib = ( (
tau21(i+1, j , k ) -
tau21(i , j , k )) * dxinv * mfx
68 + (
tau22(i , j , k ) -
tau22(i , j-1, k )) * dyinv * mfy
69 + (
tau23(i , j , k+1) -
tau23(i , j , k )) * dzinv );
70 diffContrib /= 0.5*(detJ(i,j,k) + detJ(i,j-1,k));
71 rho_v_rhs(i,j,k) -= diffContrib;
73 [=] AMREX_GPU_DEVICE (
int i,
int j,
int k)
75 Real mfx = mf_mx(i,j,0);
76 Real mfy = mf_my(i,j,0);
78 Real diffContrib = ( (
tau31(i+1, j , k ) -
tau31(i , j , k )) * dxinv * mfx
79 + (
tau32(i , j+1, k ) -
tau32(i , j , k )) * dyinv * mfy
80 + (
tau33(i , j , k ) -
tau33(i , j , k-1)) * dzinv );
81 diffContrib /= 0.5*(detJ(i,j,k) + detJ(i,j,k-1));
82 rho_w_rhs(i,j,k) -= diffContrib;
@ 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