39 mf.FillBoundary(comp, ncomp, geom.periodicity());
41 const Box domain = geom.Domain();
42 const bool nonperiodic_x = !geom.isPeriodic(0);
43 const bool nonperiodic_y = !geom.isPeriodic(1);
44 const bool nonperiodic_z = !geom.isPeriodic(2);
46 for (MFIter mfi(mf,
false); mfi.isValid(); ++mfi) {
47 const Box gbx = mfi.growntilebox();
48 auto data = mf.array(mfi);
50 [=] AMREX_GPU_DEVICE (
int i,
int j,
int k,
int n) noexcept {
51 const int ii = nonperiodic_x
52 ? ((i < domain.smallEnd(0)) ? domain.smallEnd(0)
53 : ((i > domain.bigEnd(0)) ? domain.bigEnd(0) : i))
55 const int jj = nonperiodic_y
56 ? ((j < domain.smallEnd(1)) ? domain.smallEnd(1)
57 : ((j > domain.bigEnd(1)) ? domain.bigEnd(1) : j))
59 const int kk = nonperiodic_z
60 ? ((k < domain.smallEnd(2)) ? domain.smallEnd(2)
61 : ((k > domain.bigEnd(2)) ? domain.bigEnd(2) : k))
64 if (ii != i || jj != j || kk != k) {
65 data(i,j,k,comp+n) = data(ii,jj,kk,comp+n);
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);})