aboutsummaryrefslogtreecommitdiff
path: root/CarpetDev/CarpetJacobi/src/Jacobi.cc
diff options
context:
space:
mode:
Diffstat (limited to 'CarpetDev/CarpetJacobi/src/Jacobi.cc')
-rw-r--r--CarpetDev/CarpetJacobi/src/Jacobi.cc24
1 files changed, 11 insertions, 13 deletions
diff --git a/CarpetDev/CarpetJacobi/src/Jacobi.cc b/CarpetDev/CarpetJacobi/src/Jacobi.cc
index 0f1149918..b6969b6a5 100644
--- a/CarpetDev/CarpetJacobi/src/Jacobi.cc
+++ b/CarpetDev/CarpetJacobi/src/Jacobi.cc
@@ -23,7 +23,7 @@
namespace Carpet {
// TODO: fix this
- void CycleTimeLevels (const cGH* cctkGH);
+ void CycleTimeLevels (cGH* cctkGH);
void Restrict (const cGH* cctkGH);
};
@@ -202,12 +202,12 @@ namespace CarpetJacobi {
* const_cast<CCTK_REAL *> (& cctkGH->cctk_delta_time) = delta_time;
BEGIN_REFLEVEL_LOOP(cctkGH) {
* const_cast<CCTK_REAL *> (& cctkGH->cctk_time) = global_time;
- for (int m=0; m<maps; ++m) {
- vtt[m]->set_time (reflevel, mglevel, 0);
- vtt[m]->set_delta
- (reflevel, mglevel,
- 1.0 / ipow (maxval (spacereflevelfact), reflevelpower));
+ for (int tl=0; tl<timelevels; ++tl) {
+ tt->set_time (mglevel, reflevel, tl, global_time - tl * delta_time);
}
+ tt->set_delta
+ (mglevel, reflevel,
+ 1.0 / ipow (maxval (spacereflevelfact), reflevelpower));
} END_REFLEVEL_LOOP;
@@ -252,13 +252,11 @@ namespace CarpetJacobi {
if (reflevel <= solve_level && (iter-istep) % do_every == 0) {
// Advance time
- for (int m=0; m<maps; ++m) {
- vtt[m]->advance_time (reflevel, mglevel);
- }
+ tt->advance_time (mglevel, reflevel);
* const_cast<CCTK_REAL *> (& cctkGH->cctk_time)
= (1.0 * (iter - istep + do_every)
/ ipow (maxval (maxspacereflevelfact), reflevelpower));
- CycleTimeLevels (cctkGH);
+ CycleTimeLevels (const_cast<cGH*>(cctkGH));
if (DEBUG) cout << "CJ residual iter " << iter << " reflevel " << reflevel << " time " << cctkGH->cctk_time << flush << endl;
// Advance time levels
@@ -569,10 +567,10 @@ namespace CarpetJacobi {
* const_cast<CCTK_REAL *> (& cctkGH->cctk_delta_time) = delta_time;
BEGIN_REFLEVEL_LOOP(cctkGH) {
* const_cast<CCTK_REAL *> (& cctkGH->cctk_time) = global_time;
- for (int m=0; m<maps; ++m) {
- vtt[m]->set_time (reflevel, mglevel, 0);
- vtt[m]->set_delta (reflevel, mglevel, 1.0 / timereflevelfact);
+ for (int tl=0; tl<timelevels; ++tl) {
+ tt->set_time (mglevel, reflevel, tl, global_time - tl * delta_time);
}
+ tt->set_delta (mglevel, reflevel, 1.0 / timereflevelfact);
} END_REFLEVEL_LOOP;
} END_GLOBAL_MODE;