20 const Array4<Real const>& uold,
21 const Array4<Real const>& vold,
22 const Array4<Real >& ru,
23 const Array4<Real >& rv,
24 const Array4<Real const>& Hz,
25 const Array4<Real const>& fomn,
35 [=] AMREX_GPU_DEVICE (
int i,
int j,
int k)
37 Real UFx_i = 0.5_rt * Hz(i ,j,k) * fomn(i ,j,0) * (vold(i ,j,k,nrhs)+vold(i ,j+1,k,nrhs));
38 Real UFx_im1 = 0.5_rt * Hz(i-1,j,k) * fomn(i-1,j,0) * (vold(i-1,j,k,nrhs)+vold(i-1,j+1,k,nrhs));
39 ru(i,j,k,nr) += 0.5_rt*(UFx_i + UFx_im1);
43 [=] AMREX_GPU_DEVICE (
int i,
int j,
int k)
45 Real VFe_j = 0.5_rt * Hz(i,j ,k) * fomn(i,j ,0) * (uold(i,j ,k,nrhs)+uold(i+1,j ,k,nrhs));
46 Real VFe_jm1 = 0.5_rt * Hz(i,j-1,k) * fomn(i,j-1,0) * (uold(i,j-1,k,nrhs)+uold(i+1,j-1,k,nrhs));
47 rv(i,j,k,nr) -= 0.5_rt*(VFe_j + VFe_jm1);
void coriolis(const amrex::Box &xbx, const amrex::Box &ybx, const amrex::Array4< amrex::Real const > &uold, const amrex::Array4< amrex::Real const > &vold, const amrex::Array4< amrex::Real > &ru, const amrex::Array4< amrex::Real > &rv, const amrex::Array4< amrex::Real const > &Hz, const amrex::Array4< amrex::Real const > &fomn, int nrhs, int nr)
Calculate Coriolis terms.