8 for (
int lev=0; lev<=finest_level;lev++) {
11#pragma omp parallel if (Gpu::notInLaunchRegion())
13 for ( MFIter mfi(mf_cons, TilingIfNotGPU()); mfi.isValid(); ++mfi )
15 Array4<Real const>
const& pm =
vec_pm[lev]->array(mfi);
16 Array4<Real const>
const& pn =
vec_pn[lev]->array(mfi);
17 Array4<Real >
const& ru =
vec_ru[lev]->array(mfi);
18 Array4<Real >
const& rv =
vec_rv[lev]->array(mfi);
19 Array4<Real >
const& ru2d =
vec_ru2d[lev]->array(mfi);
20 Array4<Real >
const& rv2d =
vec_rv2d[lev]->array(mfi);
22 Box ubx = mfi.grownnodaltilebox(0,IntVect(
NGROW,
NGROW,0));
23 Box vbx = mfi.grownnodaltilebox(1,IntVect(
NGROW,
NGROW,0));
24 Box ubx2d = ubx; ubx.makeSlab(2,0);
25 Box vbx2d = vbx; vbx.makeSlab(2,0);
27 ParallelFor(ubx, 2, [=] AMREX_GPU_DEVICE (
int i,
int j,
int k,
int n)
29 Real cff = (pm(i,j,0)+pm(i-1,j,0)) * (pn(i,j,0)+pn(i-1,j,0));
30 ru(i,j,k,n) = ru(i,j,k,n) / cff;
33 ParallelFor(vbx, 2, [=] AMREX_GPU_DEVICE (
int i,
int j,
int k,
int n)
35 Real cff = (pm(i,j,0)+pm(i,j-1,0)) * (pn(i,j,0)+pn(i,j-1,0));
36 rv(i,j,k,n) = rv(i,j,k,n) / cff;
39 ParallelFor(ubx2d, 2, [=] AMREX_GPU_DEVICE (
int i,
int j,
int ,
int n)
41 Real cff = (pm(i,j,0)+pm(i-1,j,0)) * (pn(i,j,0)+pn(i-1,j,0));
42 ru2d(i,j,0,n) = ru2d(i,j,0,n) / cff;
45 ParallelFor(vbx2d, 2, [=] AMREX_GPU_DEVICE (
int i,
int j,
int ,
int n)
47 Real cff = (pm(i,j,0)+pm(i,j-1,0)) * (pn(i,j,0)+pn(i,j-1,0));
48 rv2d(i,j,0,n) = rv2d(i,j,0,n) / cff;
57 for (
int lev=0; lev<=finest_level;lev++) {
60#pragma omp parallel if (Gpu::notInLaunchRegion())
62 for ( MFIter mfi(mf_cons, TilingIfNotGPU()); mfi.isValid(); ++mfi )
64 Array4<Real const>
const& pm =
vec_pm[lev]->array(mfi);
65 Array4<Real const>
const& pn =
vec_pn[lev]->array(mfi);
66 Array4<Real >
const& ru =
vec_ru[lev]->array(mfi);
67 Array4<Real >
const& rv =
vec_rv[lev]->array(mfi);
68 Array4<Real >
const& ru2d =
vec_ru2d[lev]->array(mfi);
69 Array4<Real >
const& rv2d =
vec_rv2d[lev]->array(mfi);
71 Box ubx = mfi.grownnodaltilebox(0,IntVect(
NGROW,
NGROW,0));
72 Box vbx = mfi.grownnodaltilebox(1,IntVect(
NGROW,
NGROW,0));
73 Box ubx2d = ubx; ubx.makeSlab(2,0);
74 Box vbx2d = vbx; vbx.makeSlab(2,0);
76 ParallelFor(ubx, 2, [=] AMREX_GPU_DEVICE (
int i,
int j,
int k,
int n)
78 Real cff = (pm(i,j,0)+pm(i-1,j,0)) * (pn(i,j,0)+pn(i-1,j,0));
79 ru(i,j,k,n) = ru(i,j,k,n) * cff;
82 ParallelFor(vbx, 2, [=] AMREX_GPU_DEVICE (
int i,
int j,
int k,
int n)
84 Real cff = (pm(i,j,0)+pm(i,j-1,0)) * (pn(i,j,0)+pn(i,j-1,0));
85 rv(i,j,k,n) = rv(i,j,k,n) * cff;
88 ParallelFor(ubx2d, 2, [=] AMREX_GPU_DEVICE (
int i,
int j,
int ,
int n)
90 Real cff = (pm(i,j,0)+pm(i-1,j,0)) * (pn(i,j,0)+pn(i-1,j,0));
91 ru2d(i,j,0,n) = ru2d(i,j,0,n) * cff;
94 ParallelFor(vbx2d, 2, [=] AMREX_GPU_DEVICE (
int i,
int j,
int ,
int n)
96 Real cff = (pm(i,j,0)+pm(i,j-1,0)) * (pn(i,j,0)+pn(i,j-1,0));
97 rv2d(i,j,0,n) = rv2d(i,j,0,n) * cff;