aboutsummaryrefslogtreecommitdiff
path: root/Carpet/Carpet/src/modes.cc
diff options
context:
space:
mode:
authorErik Schnetter <schnetter@cct.lsu.edu>2006-03-28 16:17:00 +0000
committerErik Schnetter <schnetter@cct.lsu.edu>2006-03-28 16:17:00 +0000
commit8581d76c284ba046b92263ba1f7d1744a1b8b305 (patch)
treedb9b45cf29fcd4058f40f4cd0263f4e18f113cbd /Carpet/Carpet/src/modes.cc
parent6fe7c11f79c5218052cd55218cf91b43f4654876 (diff)
Carpet: Define coarse grid spacing in global mode when there is only one map
Different maps may have different coarse grid spacings, so that in general the coarse grid spacing cannot be set in global mode. Treat the case where there is only one map specially, and do define the coarse grid spacing in global mode in this case. darcs-hash:20060328161736-dae7b-b33ef56eb3db4e383cca283f53955972364fc49d.gz
Diffstat (limited to 'Carpet/Carpet/src/modes.cc')
-rw-r--r--Carpet/Carpet/src/modes.cc54
1 files changed, 31 insertions, 23 deletions
diff --git a/Carpet/Carpet/src/modes.cc b/Carpet/Carpet/src/modes.cc
index 473428a85..bd674ab83 100644
--- a/Carpet/Carpet/src/modes.cc
+++ b/Carpet/Carpet/src/modes.cc
@@ -77,11 +77,13 @@ namespace Carpet {
// Set time delta
cgh->cctk_delta_time = delta_time * 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;
-// }
+ if (maps == 1) {
+ // Set space delta
+ for (int d=0; d<dim; ++d) {
+ cgh->cctk_origin_space[d] = origin_space.at(0).at(mglevel)[d];
+ cgh->cctk_delta_space[d] = delta_space.at(0)[d] * mglevelfact;
+ }
+ }
// Set array information
for (int group=0; group<CCTK_NumGroups(); ++group) {
@@ -165,14 +167,16 @@ namespace Carpet {
// Save and unset time delta
delta_time = cgh->cctk_delta_time / mglevelfact;
cgh->cctk_delta_time = 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;
-// }
-
+ if (maps == 1) {
+ // Save and unset space delta
+ for (int d=0; d<dim; ++d) {
+ origin_space.at(0).at(mglevel)[d] = cgh->cctk_origin_space[d];
+ delta_space.at(mglevel)[d] = cgh->cctk_delta_space[d] / mglevelfact;
+ cgh->cctk_origin_space[d] = -424242.0;
+ cgh->cctk_delta_space[d] = -424242.0;
+ }
+ }
+
// Set array information
for (int group=0; group<CCTK_NumGroups(); ++group) {
if (CCTK_GroupTypeI(group) != CCTK_GF) {
@@ -293,10 +297,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;
+ if (maps > 1) {
+ // 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
@@ -331,12 +337,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] = -424242.0;
+ if (maps > 1) {
+ // 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] = -424242.0;
+ }
}
// Unset grid shape