aboutsummaryrefslogtreecommitdiff
path: root/Carpet/Carpet/src/modes.cc
diff options
context:
space:
mode:
authorErik Schnetter <schnetter@cct.lsu.edu>2005-11-19 21:21:00 +0000
committerErik Schnetter <schnetter@cct.lsu.edu>2005-11-19 21:21:00 +0000
commit75da5b34b3ac3cee970b435cc3ce6aac4af1e466 (patch)
treeb67cf0cd957bcd88fdbe3f2a405eff059fa40705 /Carpet/Carpet/src/modes.cc
parent557ed43dd9116a525ebc5736cf887db6920973c0 (diff)
Carpet: Store grid spacing per map instead of globally
Store the coarse grid spacing per individual map instead of globally. Set and unset the grid spacing when entering or leaving singlemap mode, not global mode. This breaks code that tries to access the coarse grid spacing in the cGH in global mode. darcs-hash:20051119212129-dae7b-2bfe457a182d4e7e3229ede412aad8ecf450417a.gz
Diffstat (limited to 'Carpet/Carpet/src/modes.cc')
-rw-r--r--Carpet/Carpet/src/modes.cc40
1 files changed, 28 insertions, 12 deletions
diff --git a/Carpet/Carpet/src/modes.cc b/Carpet/Carpet/src/modes.cc
index 9669097f5..7e63816b3 100644
--- a/Carpet/Carpet/src/modes.cc
+++ b/Carpet/Carpet/src/modes.cc
@@ -75,12 +75,13 @@ namespace Carpet {
// TODO: this could also just be "mglevel" instead
cgh->cctk_convlevel = basemglevel + mglevel;
- // Set time and space delta
+ // Set time delta
cgh->cctk_delta_time = delta_time * mglevelfact;
- for (int d=0; d<dim; ++d) {
- cgh->cctk_origin_space[d] = origin_space.at(mglevel)[d];
- cgh->cctk_delta_space[d] = delta_space[d] * mglevelfact;
- }
+// // Set space delta
+// for (int d=0; d<dim; ++d) {
+// cgh->cctk_origin_space[d] = origin_space.at(mglevel)[d];
+// cgh->cctk_delta_space[d] = delta_space[d] * mglevelfact;
+// }
// Set array information
for (int group=0; group<CCTK_NumGroups(); ++group) {
@@ -161,15 +162,16 @@ namespace Carpet {
if (mglevel == -1) return; // early return
- // Save and unset time and space delta
+ // Save and unset time delta
delta_time = cgh->cctk_delta_time / mglevelfact;
cgh->cctk_delta_time = 0.0;
- for (int d=0; d<dim; ++d) {
- origin_space.at(mglevel)[d] = cgh->cctk_origin_space[d];
- delta_space[d] = cgh->cctk_delta_space[d] / mglevelfact;
- cgh->cctk_origin_space[d] = -424242.0;
- cgh->cctk_delta_space[d] = 0.0;
- }
+// // Save and unset space delta
+// for (int d=0; d<dim; ++d) {
+// origin_space.at(mglevel)[d] = cgh->cctk_origin_space[d];
+// delta_space[d] = cgh->cctk_delta_space[d] / mglevelfact;
+// cgh->cctk_origin_space[d] = -424242.0;
+// cgh->cctk_delta_space[d] = 0.0;
+// }
// Set array information
for (int group=0; group<CCTK_NumGroups(); ++group) {
@@ -291,6 +293,12 @@ namespace Carpet {
carpetGH.map = map = m;
+ // Set space delta
+ for (int d=0; d<dim; ++d) {
+ cgh->cctk_origin_space[d] = origin_space.at(map).at(mglevel)[d];
+ cgh->cctk_delta_space[d] = delta_space.at(map)[d] * mglevelfact;
+ }
+
// Set grid shape
const ibbox& coarseext = vdd.at(map)->bases.at(mglevel).at(0 ).exterior;
const ibbox& baseext = vdd.at(map)->bases.at(mglevel).at(reflevel).exterior;
@@ -323,6 +331,14 @@ namespace Carpet {
if (map == -1) return; // early return
+ // Save and unset space delta
+ for (int d=0; d<dim; ++d) {
+ origin_space.at(map).at(mglevel)[d] = cgh->cctk_origin_space[d];
+ delta_space.at(map)[d] = cgh->cctk_delta_space[d] / mglevelfact;
+ cgh->cctk_origin_space[d] = -424242.0;
+ cgh->cctk_delta_space[d] = 0.0;
+ }
+
// Unset grid shape
ivect::ref(cgh->cctk_levoff) = deadbeef;
ivect::ref(cgh->cctk_levoffdenom) = 0;