aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Carpet/CarpetRegrid2/src/regrid.cc18
1 files changed, 18 insertions, 0 deletions
diff --git a/Carpet/CarpetRegrid2/src/regrid.cc b/Carpet/CarpetRegrid2/src/regrid.cc
index c5d153d0a..4e68cf14b 100644
--- a/Carpet/CarpetRegrid2/src/regrid.cc
+++ b/Carpet/CarpetRegrid2/src/regrid.cc
@@ -22,6 +22,7 @@
#include <carpet.hh>
#include <CarpetTimers.hh>
+#include "amr.hh"
#include "boundary.hh"
#include "indexing.hh"
#include "property.hh"
@@ -289,6 +290,23 @@ namespace CarpetRegrid2 {
} // if centre is active
} // for n
+ if (adaptive_refinement) {
+ // Loop over all levels
+ for (int rl = min_rl; rl < min(maxreflevels, reflevels+1); ++ rl) {
+ if (static_cast <int> (regions.size()) < rl+1) {
+ regions.resize (rl+1);
+ }
+ evaluate_level_mask (cctkGH, regions, rl);
+ if (regions.at(rl).empty()) {
+ // If there are no refined regions on this level, truncate
+ // the refinement hierarchy, and stop
+ assert (static_cast <int> (regions.size()) == rl+1);
+ regions.resize (rl);
+ break;
+ }
+ }
+ }
+
} // if map==0