diff --git a/Source/Parallelization/WarpXRegrid.cpp b/Source/Parallelization/WarpXRegrid.cpp index 403bad18748..744442f694d 100644 --- a/Source/Parallelization/WarpXRegrid.cpp +++ b/Source/Parallelization/WarpXRegrid.cpp @@ -293,12 +293,6 @@ WarpX::RemakeLevel (int lev, Real /*time*/, const BoxArray& ba, const Distributi #endif } - if (lev > 0 && (n_field_gather_buffer > 0 || n_current_deposition_buffer > 0)) { - if (current_buffer_masks[lev] || gather_buffer_masks[lev]) { - BuildBufferMasks(); - } - } - // Re-initialize the lattice element finder with the new ba and dm. m_accelerator_lattice[lev]->InitElementFinder(lev, gamma_boost, gett_new(), ba, dm); @@ -315,6 +309,18 @@ WarpX::RemakeLevel (int lev, Real /*time*/, const BoxArray& ba, const Distributi SetDistributionMap(lev, dm); + if (lev > 0 && (n_field_gather_buffer > 0 || n_current_deposition_buffer > 0)) { + if (current_buffer_masks[lev] || gather_buffer_masks[lev]) { + if (current_buffer_masks[lev]) { + RemakeMultiFab( current_buffer_masks[lev] ); + } + if (gather_buffer_masks[lev]) { + RemakeMultiFab( gather_buffer_masks[lev] ); + } + BuildBufferMasks(); + } + } + } else { WARPX_ABORT_WITH_MESSAGE("RemakeLevel: to be implemented");