92 Velocity
const& velocity,
108 Set::Scalar slope_xm =
Slope(phi, i-2,j,k, i-1,j,k, i,j,k, comp);
109 Set::Scalar slope_x =
Slope(phi, i-1,j,k, i,j,k, i+1,j,k, comp);
110 Set::Scalar slope_xp =
Slope(phi, i,j,k, i+1,j,k, i+2,j,k, comp);
112 Set::Scalar ux_xlo = 0.5 * (velocity(i-1,j,k,0) + velocity(i,j,k,0));
113 Set::Scalar ux_xhi = 0.5 * (velocity(i,j,k,0) + velocity(i+1,j,k,0));
120 Set::Scalar flux_xlo = ux_xlo * (ux_xlo >= 0.0 ? phi_xlo_l : phi_xlo_r);
121 Set::Scalar flux_xhi = ux_xhi * (ux_xhi >= 0.0 ? phi_xhi_l : phi_xhi_r);
122 div_phi_u += (flux_xhi - flux_xlo) / DX[0];
123 div_u += (ux_xhi - ux_xlo) / DX[0];
125#if AMREX_SPACEDIM >= 2
128 Set::Scalar slope_ym =
Slope(phi, i,j-2,k, i,j-1,k, i,j,k, comp);
129 Set::Scalar slope_y =
Slope(phi, i,j-1,k, i,j,k, i,j+1,k, comp);
130 Set::Scalar slope_yp =
Slope(phi, i,j,k, i,j+1,k, i,j+2,k, comp);
132 Set::Scalar uy_ylo = 0.5 * (velocity(i,j-1,k,1) + velocity(i,j,k,1));
133 Set::Scalar uy_yhi = 0.5 * (velocity(i,j,k,1) + velocity(i,j+1,k,1));
140 Set::Scalar flux_ylo = uy_ylo * (uy_ylo >= 0.0 ? phi_ylo_l : phi_ylo_r);
141 Set::Scalar flux_yhi = uy_yhi * (uy_yhi >= 0.0 ? phi_yhi_l : phi_yhi_r);
142 div_phi_u += (flux_yhi - flux_ylo) / DX[1];
143 div_u += (uy_yhi - uy_ylo) / DX[1];
146#if AMREX_SPACEDIM == 3
149 Set::Scalar slope_zm =
Slope(phi, i,j,k-2, i,j,k-1, i,j,k, comp);
150 Set::Scalar slope_z =
Slope(phi, i,j,k-1, i,j,k, i,j,k+1, comp);
151 Set::Scalar slope_zp =
Slope(phi, i,j,k, i,j,k+1, i,j,k+2, comp);
153 Set::Scalar uz_zlo = 0.5 * (velocity(i,j,k-1,2) + velocity(i,j,k,2));
154 Set::Scalar uz_zhi = 0.5 * (velocity(i,j,k,2) + velocity(i,j,k+1,2));
161 Set::Scalar flux_zlo = uz_zlo * (uz_zlo >= 0.0 ? phi_zlo_l : phi_zlo_r);
162 Set::Scalar flux_zhi = uz_zhi * (uz_zhi >= 0.0 ? phi_zhi_l : phi_zhi_r);
163 div_phi_u += (flux_zhi - flux_zlo) / DX[2];
164 div_u += (uz_zhi - uz_zlo) / DX[2];
168 return -div_phi_u + phi_c * div_u;