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 ParallelFor(Box(ru), 2, [=] AMREX_GPU_DEVICE (
int i,
int j,
int k,
int n)
24 Real cff = (pm(i,j,0)+pm(i-1,j,0)) * (pn(i,j,0)+pn(i-1,j,0));
25 ru(i,j,k,n) = ru(i,j,k,n) / cff;
28 ParallelFor(Box(rv), 2, [=] AMREX_GPU_DEVICE (
int i,
int j,
int k,
int n)
30 Real cff = (pm(i,j,0)+pm(i,j-1,0)) * (pn(i,j,0)+pn(i,j-1,0));
31 rv(i,j,k,n) = rv(i,j,k,n) / cff;
34 ParallelFor(Box(ru2d), 2, [=] AMREX_GPU_DEVICE (
int i,
int j,
int ,
int n)
36 Real cff = (pm(i,j,0)+pm(i-1,j,0)) * (pn(i,j,0)+pn(i-1,j,0));
37 ru2d(i,j,0,n) = ru2d(i,j,0,n) / cff;
40 ParallelFor(Box(rv2d), 2, [=] AMREX_GPU_DEVICE (
int i,
int j,
int ,
int n)
42 Real cff = (pm(i,j,0)+pm(i,j-1,0)) * (pn(i,j,0)+pn(i,j-1,0));
43 rv2d(i,j,0,n) = rv2d(i,j,0,n) / cff;
52 for (
int lev=0; lev<=finest_level;lev++) {
55#pragma omp parallel if (Gpu::notInLaunchRegion())
57 for ( MFIter mfi(mf_cons, TilingIfNotGPU()); mfi.isValid(); ++mfi )
59 Array4<Real const>
const& pm =
vec_pm[lev]->array(mfi);
60 Array4<Real const>
const& pn =
vec_pn[lev]->array(mfi);
61 Array4<Real >
const& ru =
vec_ru[lev]->array(mfi);
62 Array4<Real >
const& rv =
vec_rv[lev]->array(mfi);
63 Array4<Real >
const& ru2d =
vec_ru2d[lev]->array(mfi);
64 Array4<Real >
const& rv2d =
vec_rv2d[lev]->array(mfi);
66 ParallelFor(Box(ru), 2, [=] AMREX_GPU_DEVICE (
int i,
int j,
int k,
int n)
68 Real cff = (pm(i,j,0)+pm(i-1,j,0)) * (pn(i,j,0)+pn(i-1,j,0));
69 ru(i,j,k,n) = ru(i,j,k,n) * cff;
72 ParallelFor(Box(rv), 2, [=] AMREX_GPU_DEVICE (
int i,
int j,
int k,
int n)
74 Real cff = (pm(i,j,0)+pm(i,j-1,0)) * (pn(i,j,0)+pn(i,j-1,0));
75 rv(i,j,k,n) = rv(i,j,k,n) * cff;
78 ParallelFor(Box(ru2d), 2, [=] AMREX_GPU_DEVICE (
int i,
int j,
int ,
int n)
80 Real cff = (pm(i,j,0)+pm(i-1,j,0)) * (pn(i,j,0)+pn(i-1,j,0));
81 ru2d(i,j,0,n) = ru2d(i,j,0,n) * cff;
84 ParallelFor(Box(rv2d), 2, [=] AMREX_GPU_DEVICE (
int i,
int j,
int ,
int n)
86 Real cff = (pm(i,j,0)+pm(i,j-1,0)) * (pn(i,j,0)+pn(i,j-1,0));
87 rv2d(i,j,0,n) = rv2d(i,j,0,n) * cff;
amrex::Vector< amrex::MultiFab * > cons_new
multilevel data container for current step's scalar data: temperature, salinity, passive scalar