Skip to content

Commit b34930c

Browse files
committed
Adding the new function setOversetMask() in AMReX_MLCellABecLap.H
1 parent ce6502b commit b34930c

File tree

1 file changed

+17
-0
lines changed

1 file changed

+17
-0
lines changed

Src/LinearSolvers/MLMG/AMReX_MLCellABecLap.H

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,23 @@ public:
4343
return m_overset_mask[amrlev][mglev].get();
4444
}
4545

46+
void setOversetMask(int amrlev, const iMultiFab& a_mask){
47+
#ifdef AMREX_USE_OMP
48+
#pragma omp parallel if(Gpu::notInLaunchRegion())
49+
#endif
50+
for (MFIter mfi(*m_overset_mask[amrlev][0], TilingIfNotGPU());mfi.isValid();++mfi){
51+
Array4<int const> const& amsk = a_mask.const_array(mfi);
52+
Array4<int> const& omsk = m_overset_mask[amrlev][0]->array(mfi);
53+
Box const& bx = mfi.tilebox();
54+
AMREX_HOST_DEVICE_PARALLEL_FOR_3D(bx,i,j,k,
55+
{
56+
omsk(i,j,k) = 1-amsk(i,j,k);
57+
});
58+
}
59+
60+
}
61+
62+
4663
[[nodiscard]] bool needsUpdate () const override {
4764
return MLCellLinOpT<MF>::needsUpdate();
4865
}

0 commit comments

Comments
 (0)