diff options
author | Erik Schnetter <schnetter@cct.lsu.edu> | 2011-11-14 15:10:17 -0500 |
---|---|---|
committer | Barry Wardell <barry.wardell@gmail.com> | 2011-12-14 19:54:54 +0000 |
commit | b3be54ca3dd78aeb60f083bd8a7ddbb30b15b66d (patch) | |
tree | 8104d12736dddf3c720690ef77d719a8cc33409a | |
parent | 31af145203c6f953c569fd30bf2937f4a0206e68 (diff) |
Carpet: Introduce per-level regridding epochs
-rw-r--r-- | Carpet/Carpet/src/Recompose.cc | 12 | ||||
-rw-r--r-- | Carpet/Carpet/src/variables.cc | 1 | ||||
-rw-r--r-- | Carpet/Carpet/src/variables.hh | 1 |
3 files changed, 14 insertions, 0 deletions
diff --git a/Carpet/Carpet/src/Recompose.cc b/Carpet/Carpet/src/Recompose.cc index c44172e23..ce68c66d3 100644 --- a/Carpet/Carpet/src/Recompose.cc +++ b/Carpet/Carpet/src/Recompose.cc @@ -367,6 +367,14 @@ namespace Carpet { // } ++ regridding_epoch; + // Mark all vanished levels as changed + for (int rl=reflevels; rl<int(level_regridding_epochs.size()); ++rl) { + ++ level_regridding_epochs.at(rl); + } + // Insert entries for new levels + if (int(level_regridding_epochs.size()) < reflevels) { + level_regridding_epochs.resize(reflevels, 0); + } OutputGridStatistics (cctkGH); @@ -398,6 +406,10 @@ namespace Carpet { ClassifyPoints (cctkGH, rl); + if (did_recompose) { + ++ level_regridding_epochs.at(rl); + } + timer.stop(); return did_recompose; } diff --git a/Carpet/Carpet/src/variables.cc b/Carpet/Carpet/src/variables.cc index c9d82cb16..1de61db65 100644 --- a/Carpet/Carpet/src/variables.cc +++ b/Carpet/Carpet/src/variables.cc @@ -115,6 +115,7 @@ namespace Carpet { vector<dh*> vdd; // [map] th* tt; int regridding_epoch; + vector<int> level_regridding_epochs; // Data for the groups vector<groupdesc> groupdata; // [group] diff --git a/Carpet/Carpet/src/variables.hh b/Carpet/Carpet/src/variables.hh index 037e6a192..778f6f516 100644 --- a/Carpet/Carpet/src/variables.hh +++ b/Carpet/Carpet/src/variables.hh @@ -156,6 +156,7 @@ namespace Carpet { extern vector<dh*> vdd; // [map] extern th* tt; extern int regridding_epoch; // increases with each regridding + extern vector<int> level_regridding_epochs; // Data for the groups struct groupdesc { |