12 #include "AMReX_Vector.H"
24 Affine (amrex::Vector<amrex::Geometry> &_geom) :
27 amrex::ParmParse pp(
"ic");
28 amrex::Vector<amrex::Real> ntmp;
pp_queryarr(
"n",ntmp);
29 for (
int i = 0; i < AMREX_SPACEDIM; i++)
n(i) = ntmp[i];
34 Affine (amrex::Vector<amrex::Geometry> &_geom,
38 bool a_halfspace =
false,
47 bool cellcentered = (field[0]->boxArray().ixType() == amrex::IndexType(amrex::IntVect::TheCellVector()));
49 for (amrex::MFIter mfi(*field[lev],
true); mfi.isValid(); ++mfi)
51 const amrex::Box& box = mfi.tilebox();
53 amrex::BaseFab<amrex::Real> &field_box = (*field[lev])[mfi];
55 AMREX_D_TERM(
for (
int i = box.loVect()[0]-field[lev]->nGrow(); i<=box.hiVect()[0]+field[lev]->nGrow(); i++),
56 for (
int j = box.loVect()[1]-field[lev]->nGrow(); j<=box.hiVect()[1]+field[lev]->nGrow(); j++),
57 for (
int k = box.loVect()[2]-field[lev]->nGrow(); k<=box.hiVect()[2]+field[lev]->nGrow(); k++))
63 AMREX_D_TERM(x1 =
geom[lev].ProbLo()[0] + ((amrex::Real)(i) + 0.5) *
geom[lev].CellSize()[0];,
64 x2 =
geom[lev].ProbLo()[1] + ((amrex::Real)(j) + 0.5) *
geom[lev].CellSize()[1];,
65 x3 =
geom[lev].ProbLo()[2] + ((amrex::Real)(k) + 0.5) *
geom[lev].CellSize()[2];);
68 AMREX_D_TERM(x1 =
geom[lev].ProbLo()[0] + ((amrex::Real)(i)) *
geom[lev].CellSize()[0];,
69 x2 =
geom[lev].ProbLo()[1] + ((amrex::Real)(j)) *
geom[lev].CellSize()[1];,
70 x3 =
geom[lev].ProbLo()[2] + ((amrex::Real)(k)) *
geom[lev].CellSize()[2];);