diff options
Diffstat (limited to 'Carpet')
-rw-r--r-- | Carpet/Carpet/src/Evolve.cc | 9 |
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); |