11 if (lev==0 && m_solverChoice.init_l1ad_T) {
12 const int Lm = geom.Domain().size()[0] *
rrx;
13 const int Mm = geom.Domain().size()[1] *
rry;
14 BoxArray old_ba(mf_h.boxArray());
15 BoxArray tmp_ba = old_ba.refine(IntVect(
rrx,
rry,1));
16 DistributionMapping tmp_dm(tmp_ba);
17 MultiFab mf_h_hires(tmp_ba, tmp_dm, 2, mf_h.nGrow());
18 mf_h_hires.setVal(
geomdata.ProbHi(2));
20 for ( MFIter mfi(mf_h_hires, TilingIfNotGPU()); mfi.isValid(); ++mfi )
22 Array4<Real>
const& h = (mf_h_hires).array(mfi);
24 Box bx = mfi.tilebox();
31 Gpu::streamSynchronize();
35 ParallelFor(gbx3D, [=] AMREX_GPU_DEVICE (
int i,
int j,
int )
41 Real adj =
geomdata.CellSize()[0]/(Real(1000.0) *
rrx);
43 h(i,j,0) = std::min(-
geomdata.ProbLo(2),(Real(84.5)+Real(66.526)*std::tanh((
val1*adj-Real(10.0))/Real(7.0))));
47 ParallelFor(gbx3D, [=] AMREX_GPU_DEVICE (
int i,
int j,
int )
53 Real adj =
geomdata.CellSize()[1]/(Real(1000.0) *
rry);
55 h(i,j,0) = std::min(-
geomdata.ProbLo(2),(Real(84.5)+Real(66.526)*std::tanh((
val1*adj-Real(10.0))/Real(7.0))));
59 average_down(mf_h_hires, mf_h, 0, mf_h.nComp(), IntVect(
rrx,
rry,1));
63 for ( MFIter mfi(mf_h, TilingIfNotGPU()); mfi.isValid(); ++mfi )
65 Array4<Real>
const& h = (mf_h).array(mfi);
67 Box bx = mfi.tilebox();
74 Gpu::streamSynchronize();
78 ParallelFor(gbx3D, [=] AMREX_GPU_DEVICE (
int i,
int j,
int )
84 Real adj =
geomdata.CellSize()[0]/Real(1000.0);
86 h(i,j,0) = std::min(-
geomdata.ProbLo(2),(Real(84.5)+Real(66.526)*std::tanh((
val1*adj-Real(10.0))/Real(7.0))));
90 ParallelFor(gbx3D, [=] AMREX_GPU_DEVICE (
int i,
int j,
int )
96 Real adj =
geomdata.CellSize()[1]/Real(1000.0);
98 h(i,j,0) = std::min(-
geomdata.ProbLo(2),(Real(84.5)+Real(66.526)*std::tanh((
val1*adj-Real(10.0))/Real(7.0))));