aboutsummaryrefslogtreecommitdiff
path: root/Carpet/CarpetRegrid2/src
diff options
context:
space:
mode:
authorErik Schnetter <schnetter@cct.lsu.edu>2011-06-23 12:19:16 -0400
committerBarry Wardell <barry.wardell@gmail.com>2011-12-14 19:44:28 +0000
commitd662002eace59d344705bc415f84c05fb2eb47cd (patch)
tree01a3f622210e5caf8350819a84ac64e8e85b6778 /Carpet/CarpetRegrid2/src
parent10d65a8baf7f22ba7992b08a6c87decc172a0aba (diff)
CarpetRegrid2: Activate AMR
Diffstat (limited to 'Carpet/CarpetRegrid2/src')
-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