aboutsummaryrefslogtreecommitdiff
path: root/Carpet
diff options
context:
space:
mode:
Diffstat (limited to 'Carpet')
-rw-r--r--Carpet/Carpet/src/Evolve.cc9
1 files changed, 7 insertions, 2 deletions
diff --git a/Carpet/Carpet/src/Evolve.cc b/Carpet/Carpet/src/Evolve.cc
index af292ea38..c47713967 100644
--- a/Carpet/Carpet/src/Evolve.cc
+++ b/Carpet/Carpet/src/Evolve.cc
@@ -194,7 +194,10 @@ namespace Carpet {
for (int rl=0; rl<reflevels; ++rl) {
for (int ml=mglevels-1; ml>=0; --ml) {
const int do_every = maxtimereflevelfact / timereffacts.at(rl);
- if ((cgh->cctk_iteration-1) % do_every == 0) {
+ // Regridding may change coarser grids, so that postregrid has
+ // to be run on all levels. For symmetry, we also run
+ // preregrid on all levels.
+ if (true or (cgh->cctk_iteration-1) % do_every == 0) {
enter_global_mode (cgh, ml);
enter_level_mode (cgh, rl);
@@ -242,7 +245,9 @@ namespace Carpet {
for (int rl=0; rl<reflevels; ++rl) {
for (int ml=mglevels-1; ml>=0; --ml) {
const int do_every = maxtimereflevelfact / timereffacts.at(rl);
- if ((cgh->cctk_iteration-1) % do_every == 0) {
+ // Regridding may change coarser grids, so that postregrid has
+ // to be run on all levels.
+ if (true or (cgh->cctk_iteration-1) % do_every == 0) {
enter_global_mode (cgh, ml);
enter_level_mode (cgh, rl);