Function for computing the momentum RHS for diffusion operator without terrain.
46 auto dxinv = dxInv[0], dyinv = dxInv[1], dzinv = dxInv[2];
48 ParallelFor(bxx, bxy, bxz,
49 [=] AMREX_GPU_DEVICE (
int i,
int j,
int k)
52 Real mfsq = mf_ux(i,j,0) * mf_uy(i,j,0);
55 Real Imfy_hi = 1. / mf_my(i ,j,0);
56 Real Imfy_lo = 1. / mf_my(i-1,j,0);
57 Real Imfx_hi = 1. / (0.5 * (mf_vx(i,j+1,0) + mf_vx(i-1,j+1,0)));
58 Real Imfx_lo = 1. / (0.5 * (mf_vx(i,j ,0) + mf_vx(i-1,j ,0)));
59 rho_u_rhs(i,j,k) -= ( (
tau11(i , j , k )*Imfy_hi -
tau11(i-1, j ,k )*Imfy_lo) * dxinv * mfsq
60 + (
tau12(i , j+1, k )*Imfx_hi -
tau12(i , j ,k )*Imfx_lo) * dyinv * mfsq
61 + (
tau13(i , j , k+1) -
tau13(i , j ,k ) ) * dzinv );
63 [=] AMREX_GPU_DEVICE (
int i,
int j,
int k)
66 Real mfsq = mf_vx(i,j,0) * mf_vy(i,j,0);
69 Real Imfy_hi = 1. / (0.5 * (mf_uy(i+1,j,0) + mf_uy(i+1,j-1,0)));
70 Real Imfy_lo = 1. / (0.5 * (mf_uy(i ,j,0) + mf_uy(i ,j-1,0)));
71 Real Imfx_hi = 1. / mf_mx(i ,j,0);
72 Real Imfx_lo = 1. / mf_mx(i-1,j,0);
73 rho_v_rhs(i,j,k) -= ( (
tau12(i+1, j , k )*Imfy_hi -
tau12(i , j , k )*Imfy_lo) * dxinv * mfsq
74 + (
tau22(i , j , k )*Imfx_hi -
tau22(i , j-1, k )*Imfx_lo) * dyinv * mfsq
75 + (
tau23(i , j , k+1) -
tau23(i , j , k ) ) * dzinv );
77 [=] AMREX_GPU_DEVICE (
int i,
int j,
int k)
80 Real mfsq = mf_mx(i,j,0) * mf_my(i,j,0);
83 Real Imfy_hi = 1. / mf_uy(i+1,j ,0);
84 Real Imfy_lo = 1. / mf_uy(i ,j ,0);
85 Real Imfx_hi = 1. / mf_vx(i ,j+1,0);
86 Real Imfx_lo = 1. / mf_vx(i ,j ,0);
87 rho_w_rhs(i,j,k) -= ( (
tau13(i+1, j , k )*Imfy_hi -
tau13(i , j , k )*Imfy_lo) * dxinv * mfsq
88 + (
tau23(i , j+1, k )*Imfx_hi -
tau23(i , j , k )*Imfx_lo) * dyinv * mfsq
89 + (
tau33(i , j , k ) -
tau33(i , j , k-1) ) * dzinv );
@ 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
@ tau13
Definition: ERF_DataStruct.H:26