aboutsummaryrefslogtreecommitdiff
path: root/CarpetDev
diff options
context:
space:
mode:
Diffstat (limited to 'CarpetDev')
-rw-r--r--CarpetDev/CarpetJacobi/src/Jacobi.cc24
-rw-r--r--CarpetDev/CarpetMG/src/mg.cc5
2 files changed, 13 insertions, 16 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;
diff --git a/CarpetDev/CarpetMG/src/mg.cc b/CarpetDev/CarpetMG/src/mg.cc
index d76a10212..07e889e02 100644
--- a/CarpetDev/CarpetMG/src/mg.cc
+++ b/CarpetDev/CarpetMG/src/mg.cc
@@ -1015,7 +1015,6 @@ namespace CarpetMG {
int const tl = 0;
for (comm_state state; !state.done(); state.step()) {
for (int m=0; m<maps; ++m) {
- const CCTK_REAL time = vtt.at(m)->time (tl, reflevel, mglevel);
for (int n=0; n<var.size(); ++n) {
int const vi = var.at(n);
assert (vi >= 0);
@@ -1024,7 +1023,7 @@ namespace CarpetMG {
int const v0 = CCTK_FirstVarIndexI (gi);
assert (v0 >= 0);
arrdata.at(gi).at(m).data.at(vi-v0)->ref_restrict_all
- (state, tl, reflevel, mglevel, time);
+ (state, tl, reflevel, mglevel);
} // for n
} // for m
} // for state
@@ -1040,9 +1039,9 @@ namespace CarpetMG {
{
assert (reflevel > 0);
int const tl = 0;
+ CCTK_REAL const time = tt->get_time (mglevel, reflevel, tl);
for (comm_state state; !state.done(); state.step()) {
for (int m=0; m<maps; ++m) {
- const CCTK_REAL time = vtt.at(m)->time (tl, reflevel, mglevel);
for (int n=0; n<var.size(); ++n) {
int const vi = var.at(n);
assert (vi >= 0);