diff --git a/nufi/poisson_problem.h b/nufi/poisson_problem.h index 0d15e69..b7cfd18 100644 --- a/nufi/poisson_problem.h +++ b/nufi/poisson_problem.h @@ -427,6 +427,11 @@ template void PoissonProblem::coarse_and_refine_grid(size_t it) { Parameters::REFINEMENT_BOTTOM_FRACTION, std::numeric_limits::max(), VectorTools::L2_norm); + // Avoid coarsing below GLOBAL_REFINEMENT level for CellLocator + for (const auto &cell : triangulation.active_cell_iterators()) + if (cell->level() <= static_cast(Parameters::GLOBAL_REFINEMENT)) + cell->clear_coarsen_flag(); + triangulation.execute_coarsening_and_refinement(); std::cout << "Refinement Finished..." << "\n";