aboutsummaryrefslogtreecommitdiff
path: root/Carpet/Carpet/src/Evolve.cc
diff options
context:
space:
mode:
authorErik Schnetter <schnetter@cct.lsu.edu>2010-03-29 13:28:45 -0500
committerBarry Wardell <barry.wardell@gmail.com>2011-12-14 16:45:39 +0000
commit8958368d0d80c7f8a442c225d2daf4f429111a12 (patch)
tree06c9c31fabc8c7abeb717ac3170ebef7193bfbf5 /Carpet/Carpet/src/Evolve.cc
parentb0e7caafb8aebebad64dec33fd1873b81b21da96 (diff)
Carpet: Correct scheduling of global-early mode in analysis bin
Diffstat (limited to 'Carpet/Carpet/src/Evolve.cc')
-rw-r--r--Carpet/Carpet/src/Evolve.cc12
1 files changed, 11 insertions, 1 deletions
diff --git a/Carpet/Carpet/src/Evolve.cc b/Carpet/Carpet/src/Evolve.cc
index 3ed5ae848..38efe537f 100644
--- a/Carpet/Carpet/src/Evolve.cc
+++ b/Carpet/Carpet/src/Evolve.cc
@@ -467,6 +467,8 @@ namespace Carpet {
for (int ml=mglevels-1; ml>=0; --ml) {
bool have_done_global_mode = false;
+ bool have_done_early_global_mode = false;
+ bool have_done_late_global_mode = false;
bool have_done_anything = false;
for (int rl=0; rl<reflevels; ++rl) {
@@ -477,14 +479,20 @@ namespace Carpet {
ENTER_LEVEL_MODE (cctkGH, rl) {
BeginTimingLevel (cctkGH);
- do_early_global_mode = not have_done_global_mode;
+ do_early_global_mode = not have_done_early_global_mode;
do_late_global_mode = reflevel==reflevels-1;
do_early_meta_mode = do_early_global_mode and mglevel==mglevels-1;
do_late_meta_mode = do_late_global_mode and mglevel==0;
do_global_mode = do_late_global_mode;
do_meta_mode = do_global_mode and do_late_meta_mode;
assert (not (have_done_global_mode and do_global_mode));
+ assert (not (have_done_early_global_mode and
+ do_early_global_mode));
+ assert (not (have_done_late_global_mode and
+ do_late_global_mode));
have_done_global_mode |= do_global_mode;
+ have_done_early_global_mode |= do_early_global_mode;
+ have_done_late_global_mode |= do_late_global_mode;
have_done_anything = true;
if (use_tapered_grids and reflevel > 0) {
@@ -544,6 +552,8 @@ namespace Carpet {
} // for rl
if (have_done_anything) assert (have_done_global_mode);
+ if (have_done_anything) assert (have_done_early_global_mode);
+ if (have_done_anything) assert (have_done_late_global_mode);
} // for ml