aboutsummaryrefslogtreecommitdiff
path: root/Carpet/Carpet/src/Evolve.cc
diff options
context:
space:
mode:
authorErik Schnetter <schnetter@cct.lsu.edu>2009-11-10 14:49:54 -0600
committerBarry Wardell <barry.wardell@gmail.com>2011-12-14 16:45:14 +0000
commit61b583ab168d6fd425076ccf05a53ad8312e53ed (patch)
treebd4c27669e4765cfb29c36a01c2db28dd324d632 /Carpet/Carpet/src/Evolve.cc
parentbd2df888ecaece594a886df8de14cdc75e125db2 (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.cc28
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) {