diff options
author | Erik Schnetter <schnetter@cct.lsu.edu> | 2011-06-23 12:19:16 -0400 |
---|---|---|
committer | Barry Wardell <barry.wardell@gmail.com> | 2011-12-14 19:44:28 +0000 |
commit | d662002eace59d344705bc415f84c05fb2eb47cd (patch) | |
tree | 01a3f622210e5caf8350819a84ac64e8e85b6778 /Carpet/CarpetRegrid2/src | |
parent | 10d65a8baf7f22ba7992b08a6c87decc172a0aba (diff) |
CarpetRegrid2: Activate AMR
Diffstat (limited to 'Carpet/CarpetRegrid2/src')
-rw-r--r-- | Carpet/CarpetRegrid2/src/regrid.cc | 18 |
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 |