diff options
author | Erik Schnetter <schnetter@cct.lsu.edu> | 2009-11-10 14:49:54 -0600 |
---|---|---|
committer | Barry Wardell <barry.wardell@gmail.com> | 2011-12-14 16:45:14 +0000 |
commit | 61b583ab168d6fd425076ccf05a53ad8312e53ed (patch) | |
tree | bd4c27669e4765cfb29c36a01c2db28dd324d632 /Carpet/Carpet/src/Evolve.cc | |
parent | bd2df888ecaece594a886df8de14cdc75e125db2 (diff) |
Carpet: Clean up cycling over time levels
Clean up cycling over time levels during initialisation, regridding,
poisoning etc.
Diffstat (limited to 'Carpet/Carpet/src/Evolve.cc')
-rw-r--r-- | Carpet/Carpet/src/Evolve.cc | 28 |
1 files changed, 16 insertions, 12 deletions
diff --git a/Carpet/Carpet/src/Evolve.cc b/Carpet/Carpet/src/Evolve.cc index 103221088..6c65ce0cd 100644 --- a/Carpet/Carpet/src/Evolve.cc +++ b/Carpet/Carpet/src/Evolve.cc @@ -307,24 +307,28 @@ namespace Carpet { // Rewind times for (int m=0; m<maps; ++m) { - vtt.AT(m)->set_delta - (reflevel, mglevel, - - vtt.AT(m)->get_delta (reflevel, mglevel)); - FlipTimeLevels (cctkGH); - for (int tl=0; tl<num_tl; ++tl) { + CCTK_REAL const old_delta = + vtt.AT(m)->get_delta (reflevel, mglevel); + vtt.AT(m)->set_delta (reflevel, mglevel, - old_delta); + } + FlipTimeLevels (cctkGH); + for (int tl=0; tl<num_tl; ++tl) { + for (int m=0; m<maps; ++m) { vtt.AT(m)->advance_time (reflevel, mglevel); - CycleTimeLevels (cctkGH); } - vtt.AT(m)->set_delta - (reflevel, mglevel, - - vtt.AT(m)->get_delta (reflevel, mglevel)); - FlipTimeLevels (cctkGH); - } // for m + CycleTimeLevels (cctkGH); + } + for (int m=0; m<maps; ++m) { + CCTK_REAL const old_delta = + vtt.AT(m)->get_delta (reflevel, mglevel); + vtt.AT(m)->set_delta (reflevel, mglevel, - old_delta); + } + FlipTimeLevels (cctkGH); CCTK_REAL const old_cctk_time = cctkGH->cctk_time; cctkGH->cctk_time -= num_tl * (cctkGH->cctk_delta_time / cctkGH->cctk_timefac); - for (int tl=num_tl-1; tl>=0; --tl) { + for (int tl=0; tl<num_tl; ++tl) { // Advance times for (int m=0; m<maps; ++m) { |