aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorErik Schnetter <schnetter@cct.lsu.edu>2006-04-17 21:49:00 +0000
committerErik Schnetter <schnetter@cct.lsu.edu>2006-04-17 21:49:00 +0000
commit27bc51bca2d237407ee144740b052af32d3ed935 (patch)
tree1d17b674213d3db9b91ae6d76ac896ae731b0bb2
parentfa262cfe1008823367a8869a5fdfb5ace7bc008d (diff)
Carpet: Set up level times when regridding
Set up the current time on each refinement level correctly when regridding. darcs-hash:20060417214936-dae7b-9a9e79298b450f3bd3ae44645e13edd176090c22.gz
-rw-r--r--Carpet/Carpet/src/Recompose.cc24
-rw-r--r--Carpet/Carpet/src/SetupGH.cc2
2 files changed, 16 insertions, 10 deletions
diff --git a/Carpet/Carpet/src/Recompose.cc b/Carpet/Carpet/src/Recompose.cc
index 063dd20f1..a24dea839 100644
--- a/Carpet/Carpet/src/Recompose.cc
+++ b/Carpet/Carpet/src/Recompose.cc
@@ -165,27 +165,33 @@ namespace Carpet {
} END_MAP_LOOP;
+ // Calculate new number of levels
+ int const oldreflevels = reflevels;
+ reflevels = vhh.at(0)->reflevels();
+ for (int m=0; m<maps; ++m) {
+ assert (vhh.at(m)->reflevels() == reflevels);
+ }
+
+ // One cannot switch off the current level
+ assert (reflevels > reflevel);
+
// Set new number of active time levels
for (int n=0; n<CCTK_NumGroups(); ++n) {
int const grouptype = CCTK_GroupTypeI (n);
if (grouptype == CCTK_GF) {
for (int ml=0; ml<mglevels; ++ml) {
groupdata.at(n).activetimelevels.at(ml).resize
- (vhh.at(0)->reflevels(),
- groupdata.at(n).activetimelevels.at(ml).at(0));
+ (reflevels, groupdata.at(n).activetimelevels.at(ml).at(0));
}
}
}
- // Calculate new number of levels
- reflevels = vhh.at(0)->reflevels();
- for (int m=0; m<maps; ++m) {
- assert (vhh.at(m)->reflevels() == reflevels);
+ // Set new level times
+ for (int ml=0; ml<mglevels; ++ml) {
+ leveltimes.at(ml).resize
+ (reflevels, leveltimes.at(ml).at(oldreflevels-1));
}
- // One cannot switch off the current level
- assert (reflevels > reflevel);
-
return did_change;
}
diff --git a/Carpet/Carpet/src/SetupGH.cc b/Carpet/Carpet/src/SetupGH.cc
index a70b89ebb..2bbf799d7 100644
--- a/Carpet/Carpet/src/SetupGH.cc
+++ b/Carpet/Carpet/src/SetupGH.cc
@@ -460,7 +460,7 @@ namespace Carpet {
// Allocate level times
leveltimes.resize (mglevels);
for (int ml=0; ml<mglevels; ++ml) {
- leveltimes.at(ml).resize (maxreflevels);
+ leveltimes.at(ml).resize (1);
}
origin_space.resize (maps);
delta_space.resize (maps);