-if there are cells not in the valid + periodic grown box we need to fill them here
22 if (
m_geom.isAllPeriodic())
return;
@@ -1276,76 +1275,38 @@
39 #pragma omp parallel if (Gpu::notInLaunchRegion())
- 42 Vector<BCRec> bcrs(ncomp);
+ 42 if (mf.boxArray()[0].ixType() == IndexType(IntVect(0,0,0))) {
-
- 45 for (MFIter mfi(mf); mfi.isValid(); ++mfi)
-
- 47 const Array4<Real>& dest_arr = mf.array(mfi);
- 48 Box bx = mfi.validbox(); bx.grow(nghost);
+
+ 45 for (MFIter mfi(mf); mfi.isValid(); ++mfi)
+
+ 47 const Array4<Real>& dest_arr = mf.array(mfi);
+ 48 Box bx = mfi.validbox(); bx.grow(nghost);
- 50 Array4<const Real> velx_arr;
- 51 Array4<const Real> vely_arr;
-
-
-
-
- 56 if (!gdomain.contains(bx) || (mf.boxArray()[0].ixType() == IndexType(IntVect(0,0,1))) )
-
- 58 if (mf.boxArray()[0].ixType() == IndexType(IntVect(1,0,0)))
-
-
-
-
- 63 }
else if (mf.boxArray()[0].ixType() == IndexType(IntVect(0,1,0)))
-
-
-
-
- 68 }
else if (mf.boxArray()[0].ixType() == IndexType(IntVect(0,0,1)))
-
- 70 AMREX_ALWAYS_ASSERT(ncomp == 1 && icomp == 0);
-
-
-
-
- 75 }
else if (mf.boxArray()[0].ixType() == IndexType(IntVect(0,0,0)))
-
- 77 AMREX_ALWAYS_ASSERT(icomp == 0 && icomp+ncomp <=
NCONS);
-
- 79 dxInv,icomp,ncomp,time,bccomp);
-
- 81 amrex::Abort(
"Dont know this box type in ROMSX_PhysBC");
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 98 amrex::Gpu::DeviceVector<BCRec> bcrs_d(ncomp);
-
- 100 Gpu::htod_memcpy_async
- 101 (bcrs_d.data(), bcrs.data(),
sizeof(BCRec)*ncomp);
-
-
- 104 (bcrs_d.data(), bcrs.data(),
sizeof(BCRec)*ncomp);
-
-
- 107 Gpu::streamSynchronize();
-
-
-
-
+ 50 if (!gdomain.contains(bx)) {
+ 51 AMREX_ALWAYS_ASSERT(icomp == 0 && icomp+ncomp <=
NCONS);
+
+ 53 dxInv,icomp,ncomp,time,bccomp);
+
+
+
+
+
+
+ 60 for (MFIter mfi(mf); mfi.isValid(); ++mfi)
+
+ 62 Box bx = mfi.validbox(); bx.grow(nghost);
+
+ 64 if (!gdomain.contains(bx)) {
+ 65 for (
int nn = 0; nn < ncomp; nn++) {
+ 66 const Array4<Real>& dest_arr = mf.array(mfi,nn);
+
+
+
+
+
+
+
Referenced by FillBoundary().