aboutsummaryrefslogtreecommitdiff
path: root/Carpet/Carpet
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
commita8d081b00bc4c07166f6827b48026a792acb3dee (patch)
tree2094122167ad2ce619f8abb9e7429a128276300c /Carpet/Carpet
parent0e0d0a99b6966b6ff900d754eea6a43af36ffe24 (diff)
UNDO: 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-ca0ccee9a08c988e44b9024b69e17da2d78d8cba.gz
Diffstat (limited to 'Carpet/Carpet')
-rw-r--r--Carpet/Carpet/src/Recompose.cc4
-rw-r--r--Carpet/Carpet/src/SetupGH.cc6
-rw-r--r--Carpet/Carpet/src/modes.cc40
-rw-r--r--Carpet/Carpet/src/variables.cc4
-rw-r--r--Carpet/Carpet/src/variables.hh4
5 files changed, 19 insertions, 39 deletions
diff --git a/Carpet/Carpet/src/Recompose.cc b/Carpet/Carpet/src/Recompose.cc
index 8e2a6c7f8..1b19853c3 100644
--- a/Carpet/Carpet/src/Recompose.cc
+++ b/Carpet/Carpet/src/Recompose.cc
@@ -217,8 +217,8 @@ namespace Carpet {
for (int ml=0; ml<hh.mglevels(); ++ml) {
for (int rl=0; rl<hh.reflevels(); ++rl) {
for (int c=0; c<hh.components(rl); ++c) {
- const rvect origin = origin_space.at(m).at(0);
- const rvect delta = delta_space.at(m);
+ const rvect origin = origin_space.at(0);
+ const rvect delta = delta_space;
const ivect lower = hh.extents().at(ml).at(rl).at(c).lower();
const ivect upper = hh.extents().at(ml).at(rl).at(c).upper();
const int convfact = ipow(mgfact, ml);
diff --git a/Carpet/Carpet/src/SetupGH.cc b/Carpet/Carpet/src/SetupGH.cc
index 0376da045..921e75006 100644
--- a/Carpet/Carpet/src/SetupGH.cc
+++ b/Carpet/Carpet/src/SetupGH.cc
@@ -437,11 +437,7 @@ namespace Carpet {
for (int ml=0; ml<mglevels; ++ml) {
leveltimes.at(ml).resize (maxreflevels);
}
- origin_space.resize (maps);
- delta_space.resize (maps);
- for (int m=0; m<maps; ++m) {
- origin_space.at(m).resize (mglevels);
- }
+ origin_space.resize (mglevels);
// Enable prolongating
do_prolongate = true;
diff --git a/Carpet/Carpet/src/modes.cc b/Carpet/Carpet/src/modes.cc
index 7e63816b3..9669097f5 100644
--- a/Carpet/Carpet/src/modes.cc
+++ b/Carpet/Carpet/src/modes.cc
@@ -75,13 +75,12 @@ namespace Carpet {
// TODO: this could also just be "mglevel" instead
cgh->cctk_convlevel = basemglevel + mglevel;
- // Set time delta
+ // Set time and space 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;
-// }
+ 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) {
@@ -162,16 +161,15 @@ namespace Carpet {
if (mglevel == -1) return; // early return
- // Save and unset time delta
+ // Save and unset time and space 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;
-// }
+ 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) {
@@ -293,12 +291,6 @@ 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;
@@ -331,14 +323,6 @@ 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;
diff --git a/Carpet/Carpet/src/variables.cc b/Carpet/Carpet/src/variables.cc
index 81b9a9ecb..fdd499419 100644
--- a/Carpet/Carpet/src/variables.cc
+++ b/Carpet/Carpet/src/variables.cc
@@ -75,8 +75,8 @@ namespace Carpet {
vector<vector<CCTK_REAL> > leveltimes; // [mglevel][reflevel]
CCTK_REAL delta_time;
- vector<vector<vect<CCTK_REAL,dim> > > origin_space; // [map][mglevel]
- vector<vect<CCTK_REAL,dim> > delta_space; // [map]
+ vector<vect<CCTK_REAL,dim> > origin_space; // [mglevel]
+ vect<CCTK_REAL,dim> delta_space;
diff --git a/Carpet/Carpet/src/variables.hh b/Carpet/Carpet/src/variables.hh
index b2981ee24..2d8a6d294 100644
--- a/Carpet/Carpet/src/variables.hh
+++ b/Carpet/Carpet/src/variables.hh
@@ -104,8 +104,8 @@ namespace Carpet {
extern vector<vector<CCTK_REAL> > leveltimes; // [mglevel][reflevel]
extern CCTK_REAL delta_time;
- extern vector<vector<vect<CCTK_REAL,dim> > > origin_space; // [map][mglevel]
- extern vector<vect<CCTK_REAL,dim> > delta_space; // [map]
+ extern vector<vect<CCTK_REAL,dim> > origin_space; // [mglevel]
+ extern vect<CCTK_REAL,dim> delta_space;