aboutsummaryrefslogtreecommitdiff
path: root/Carpet/Carpet/src/Evolve.cc
diff options
context:
space:
mode:
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) {