diff options
author | schnetter <> | 2004-08-02 09:43:00 +0000 |
---|---|---|
committer | schnetter <> | 2004-08-02 09:43:00 +0000 |
commit | 37ecf87633999295a6eee3cb5627765e39eef155 (patch) | |
tree | cb0f57a5375e4acc9f446cdd32e59f7a5d5cedbe /Carpet/Carpet/src/Evolve.cc | |
parent | d6b3a969cd619d6a57b3a9483456625d790286c7 (diff) |
Support the "loop-*" schedule options.
darcs-hash:20040802094315-07bb3-317e45fe3de6fb0e50549dd7806c908e014fa29f.gz
Diffstat (limited to 'Carpet/Carpet/src/Evolve.cc')
-rw-r--r-- | Carpet/Carpet/src/Evolve.cc | 58 |
1 files changed, 27 insertions, 31 deletions
diff --git a/Carpet/Carpet/src/Evolve.cc b/Carpet/Carpet/src/Evolve.cc index f8113ea4d..92e33fb3d 100644 --- a/Carpet/Carpet/src/Evolve.cc +++ b/Carpet/Carpet/src/Evolve.cc @@ -31,7 +31,7 @@ #include "carpet.hh" extern "C" { - static const char* rcsid = "$Header: /home/eschnett/C/carpet/Carpet/Carpet/Carpet/src/Evolve.cc,v 1.50 2004/06/27 11:19:38 schnetter Exp $"; + static const char* rcsid = "$Header: /home/eschnett/C/carpet/Carpet/Carpet/Carpet/src/Evolve.cc,v 1.51 2004/08/02 11:43:15 schnetter Exp $"; CCTK_FILEVERSION(Carpet_Carpet_Evolve_cc); } @@ -148,9 +148,9 @@ namespace Carpet { // Regrid { bool did_regrid = false; - { - const int ml=0; - for (int rl=0; rl<reflevels; ++rl) { + for (int rl=0; rl<reflevels; ++rl) { + { + const int ml=0; const int do_every = maxreflevelfact / ipow(reffact, rl); if ((cgh->cctk_iteration-1) % do_every == 0) { enter_global_mode (cgh, ml); @@ -162,35 +162,31 @@ namespace Carpet { leave_level_mode (cgh); leave_global_mode (cgh); } // if do_every - } // for rl - } // ml + } // ml + } // for rl if (did_regrid) { - for (int ml=mglevels-1; ml>=0; --ml) { - for (int rl=0; rl<reflevels; ++rl) { - const int do_every - = ipow(mgfact, ml) * (maxreflevelfact / ipow(reffact, rl)); - if ((cgh->cctk_iteration-1) % do_every == 0) { - enter_global_mode (cgh, ml); - enter_level_mode (cgh, rl); - - do_global_mode = true; - do_meta_mode = do_global_mode && mglevel==mglevels-1; - - Waypoint ("Postregrid at iteration %d time %g%s%s", - cgh->cctk_iteration, (double)cgh->cctk_time, - (do_global_mode ? " (global)" : ""), - (do_meta_mode ? " (meta)" : "")); - - // Postregrid - Checkpoint ("Scheduling POSTREGRID"); - CCTK_ScheduleTraverse ("CCTK_POSTREGRID", cgh, CallFunction); - - leave_level_mode (cgh); - leave_global_mode (cgh); - } // if do_every - } // for rl - } // for ml + for (int rl=0; rl<reflevels; ++rl) { + for (int ml=mglevels-1; ml>=0; --ml) { + enter_global_mode (cgh, ml); + enter_level_mode (cgh, rl); + + do_global_mode = rl==0; + do_meta_mode = do_global_mode && mglevel==mglevels-1; + + Waypoint ("Postregrid at iteration %d time %g%s%s", + cgh->cctk_iteration, (double)cgh->cctk_time, + (do_global_mode ? " (global)" : ""), + (do_meta_mode ? " (meta)" : "")); + + // Postregrid + Checkpoint ("Scheduling POSTREGRID"); + CCTK_ScheduleTraverse ("CCTK_POSTREGRID", cgh, CallFunction); + + leave_level_mode (cgh); + leave_global_mode (cgh); + } // for ml + } // for rl } // if did_regrid } |