From b34930c3bb728fd9fe4a603eea4840e725d06fb8 Mon Sep 17 00:00:00 2001 From: Ilker Topcuoglu Date: Fri, 14 Nov 2025 14:20:32 -0700 Subject: [PATCH 1/2] Adding the new function setOversetMask() in AMReX_MLCellABecLap.H --- Src/LinearSolvers/MLMG/AMReX_MLCellABecLap.H | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/Src/LinearSolvers/MLMG/AMReX_MLCellABecLap.H b/Src/LinearSolvers/MLMG/AMReX_MLCellABecLap.H index 5b60fb7853..6d3e07a4f5 100644 --- a/Src/LinearSolvers/MLMG/AMReX_MLCellABecLap.H +++ b/Src/LinearSolvers/MLMG/AMReX_MLCellABecLap.H @@ -43,6 +43,23 @@ public: return m_overset_mask[amrlev][mglev].get(); } + void setOversetMask(int amrlev, const iMultiFab& a_mask){ +#ifdef AMREX_USE_OMP +#pragma omp parallel if(Gpu::notInLaunchRegion()) +#endif + for (MFIter mfi(*m_overset_mask[amrlev][0], TilingIfNotGPU());mfi.isValid();++mfi){ + Array4 const& amsk = a_mask.const_array(mfi); + Array4 const& omsk = m_overset_mask[amrlev][0]->array(mfi); + Box const& bx = mfi.tilebox(); + AMREX_HOST_DEVICE_PARALLEL_FOR_3D(bx,i,j,k, + { + omsk(i,j,k) = 1-amsk(i,j,k); + }); + } + +} + + [[nodiscard]] bool needsUpdate () const override { return MLCellLinOpT::needsUpdate(); } From 1c6d213bdd53c26905b11dc7e4c399f8797561b7 Mon Sep 17 00:00:00 2001 From: Ilker Topcuoglu Date: Mon, 24 Nov 2025 22:38:53 -0700 Subject: [PATCH 2/2] Formatting --- Src/LinearSolvers/MLMG/AMReX_MLCellABecLap.H | 26 ++++++++++---------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/Src/LinearSolvers/MLMG/AMReX_MLCellABecLap.H b/Src/LinearSolvers/MLMG/AMReX_MLCellABecLap.H index 6d3e07a4f5..9c2e936d38 100644 --- a/Src/LinearSolvers/MLMG/AMReX_MLCellABecLap.H +++ b/Src/LinearSolvers/MLMG/AMReX_MLCellABecLap.H @@ -43,22 +43,22 @@ public: return m_overset_mask[amrlev][mglev].get(); } - void setOversetMask(int amrlev, const iMultiFab& a_mask){ + void setOversetMask(int amrlev, const iMultiFab& a_mask) + { #ifdef AMREX_USE_OMP #pragma omp parallel if(Gpu::notInLaunchRegion()) #endif - for (MFIter mfi(*m_overset_mask[amrlev][0], TilingIfNotGPU());mfi.isValid();++mfi){ - Array4 const& amsk = a_mask.const_array(mfi); - Array4 const& omsk = m_overset_mask[amrlev][0]->array(mfi); - Box const& bx = mfi.tilebox(); - AMREX_HOST_DEVICE_PARALLEL_FOR_3D(bx,i,j,k, - { - omsk(i,j,k) = 1-amsk(i,j,k); - }); - } - -} - + for (MFIter mfi(*m_overset_mask[amrlev][0], TilingIfNotGPU());mfi.isValid();++mfi) + { + Array4 const& amsk = a_mask.const_array(mfi); + Array4 const& omsk = m_overset_mask[amrlev][0]->array(mfi); + Box const& bx = mfi.tilebox(); + AMREX_HOST_DEVICE_PARALLEL_FOR_3D(bx,i,j,k, + { + omsk(i,j,k) = 1-amsk(i,j,k); + }); + } + } [[nodiscard]] bool needsUpdate () const override { return MLCellLinOpT::needsUpdate();