43 amrex::FArrayBox& derfab,
46 const amrex::FArrayBox& datfab,
47 const amrex::Array4<const amrex::Real>& pm,
48 const amrex::Array4<const amrex::Real>& pn,
49 const amrex::Geometry& ,
54 AMREX_ALWAYS_ASSERT(ncomp == 1);
56 auto const dat = datfab.array();
57 auto tfab = derfab.array();
59 ParallelFor(bx, [=] AMREX_GPU_DEVICE(
int i,
int j,
int k)
noexcept
61 Real d2x = 0.5_rt / pm(i-1,j, 0) + 1.0_rt / pm(i,j,0) + 0.5_rt / pm(i+1,j,0);
62 Real d2y = 0.5_rt / pn(i, j-1,0) + 1.0_rt / pm(i,j,0) + 0.5_rt / pm(i,j+1,0);
63 tfab(i,j,k,dcomp) = (dat(i+1,j,k,1) - dat(i-1,j,k,1)) / (d2x)
64 - (dat(i,j+1,k,0) - dat(i,j-1,k,0)) / (d2y);