487 const int ncomp = dst.nComp();
488 if (crse_mf !=
nullptr) {
489 MultiFab
tmp(dst.boxArray(), dst.DistributionMap(), ncomp, 0);
490 Vector<BCRec> bcs(ncomp);
491 for (
int n = 0; n < ncomp; ++n) {
492 for (
int dir = 0; dir < AMREX_SPACEDIM; ++dir) {
497 InterpFromCoarseLevel(
tmp, IntVect(0), IntVect(0), *crse_mf, 0, 0, ncomp,
498 crse_geom, fine_geom, ratio, &pc_interp, bcs, 0);
499 const int klo = fine_geom.Domain().smallEnd(2);
500 for (MFIter mfi(dst, TilingIfNotGPU()); mfi.isValid(); ++mfi) {
501 Box bx = mfi.tilebox();
502 if (bx.smallEnd(2) >
klo) {
continue; }
504 const auto& dst_arr = dst.array(mfi);
505 const auto& tmp_arr =
tmp.const_array(mfi);
506 ParallelFor(bx, ncomp, [=] AMREX_GPU_DEVICE (
int i,
int j,
int k,
int n) noexcept
508 dst_arr(i,j,k,n) = tmp_arr(i,j,k,n);
512 if (old_mf !=
nullptr) { dst.ParallelCopy(*old_mf, 0, 0, ncomp); }
513 dst.FillBoundary(fine_geom.periodicity());
const int klo
Definition: ERF_InitCustomPert_KE.H:9
ParallelFor(fab_box, [=] AMREX_GPU_DEVICE(int i, int j, int k) { qrcuten_arr(i, j, k)=Real(0);qscuten_arr(i, j, k)=Real(0);qicuten_arr(i, j, k)=Real(0);})
@ foextrap
Definition: ERF_IndexDefines.H:339
@ tmp
Definition: ERF_AdvanceWSM6.cpp:116