diff options
author | Erik Schnetter <schnetter@cct.lsu.edu> | 2006-03-28 16:17:00 +0000 |
---|---|---|
committer | Erik Schnetter <schnetter@cct.lsu.edu> | 2006-03-28 16:17:00 +0000 |
commit | 8581d76c284ba046b92263ba1f7d1744a1b8b305 (patch) | |
tree | db9b45cf29fcd4058f40f4cd0263f4e18f113cbd /Carpet/Carpet/src/modes.cc | |
parent | 6fe7c11f79c5218052cd55218cf91b43f4654876 (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.cc | 54 |
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 |