aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorschnetter <>2004-08-07 17:47:00 +0000
committerschnetter <>2004-08-07 17:47:00 +0000
commit57797b68e4ff8e77228ea3238d7875d5d467b1a5 (patch)
tree9e60d5b16486d46e293e2d512e9bd7ecbce0b087
parentbd98f737a458649127b4ef25252fdcefb22926ad (diff)
Re-introduce the parameter Carpet::prolongate_initial_data with the
Re-introduce the parameter Carpet::prolongate_initial_data with the default "yes". If set to "no", newly created refinement levels are not initialised through prolongation, which saves quite some time. Remove the unused optional argument checkpoing_recovery from Carpet::Regrid. darcs-hash:20040807174712-07bb3-78054ad80959a2e26238531d9ea54eaac161ffce.gz
-rw-r--r--Carpet/Carpet/param.ccl9
-rw-r--r--Carpet/Carpet/src/Evolve.cc6
-rw-r--r--Carpet/Carpet/src/Initialise.cc4
-rw-r--r--Carpet/Carpet/src/Recompose.cc11
-rw-r--r--Carpet/Carpet/src/SetupGH.cc6
-rw-r--r--Carpet/Carpet/src/carpet.hh4
-rw-r--r--Carpet/CarpetLib/src/dh.cc18
-rw-r--r--Carpet/CarpetLib/src/dh.hh4
-rw-r--r--Carpet/CarpetLib/src/gf.cc12
-rw-r--r--Carpet/CarpetLib/src/ggf.cc127
-rw-r--r--Carpet/CarpetLib/src/ggf.hh8
-rw-r--r--Carpet/CarpetLib/src/gh.cc7
-rw-r--r--Carpet/CarpetLib/src/gh.hh5
13 files changed, 116 insertions, 105 deletions
diff --git a/Carpet/Carpet/param.ccl b/Carpet/Carpet/param.ccl
index c216f8519..3cd8c1a54 100644
--- a/Carpet/Carpet/param.ccl
+++ b/Carpet/Carpet/param.ccl
@@ -1,5 +1,5 @@
# Parameter definitions for thorn Carpet
-# $Header: /home/eschnett/C/carpet/Carpet/Carpet/Carpet/param.ccl,v 1.39 2004/06/26 12:56:01 schnetter Exp $
+# $Header: /home/eschnett/C/carpet/Carpet/Carpet/Carpet/param.ccl,v 1.40 2004/08/07 19:47:12 schnetter Exp $
shares: Cactus
@@ -283,12 +283,9 @@ BOOLEAN init_each_timelevel "Call initial data routines once for each timelevel"
{
} "no"
-#BOOLEAN prolongate_initial_data "Prolongate the refined regions during initial data generation" STEERABLE=always
-#{
-#} "no"
-BOOLEAN prolongate_initial_data "unused" STEERABLE=always
+BOOLEAN prolongate_initial_data "Prolongate the refined regions during initial data generation" STEERABLE=always
{
-} "no"
+} "yes"
diff --git a/Carpet/Carpet/src/Evolve.cc b/Carpet/Carpet/src/Evolve.cc
index 92e33fb3d..4bdcffdc1 100644
--- a/Carpet/Carpet/src/Evolve.cc
+++ b/Carpet/Carpet/src/Evolve.cc
@@ -31,7 +31,7 @@
#include "carpet.hh"
extern "C" {
- static const char* rcsid = "$Header: /home/eschnett/C/carpet/Carpet/Carpet/Carpet/src/Evolve.cc,v 1.51 2004/08/02 11:43:15 schnetter Exp $";
+ static const char* rcsid = "$Header: /home/eschnett/C/carpet/Carpet/Carpet/Carpet/src/Evolve.cc,v 1.52 2004/08/07 19:47:12 schnetter Exp $";
CCTK_FILEVERSION(Carpet_Carpet_Evolve_cc);
}
@@ -157,7 +157,7 @@ namespace Carpet {
enter_level_mode (cgh, rl);
Checkpoint ("Regrid");
- did_regrid |= Regrid (cgh);
+ did_regrid |= Regrid (cgh, true);
leave_level_mode (cgh);
leave_global_mode (cgh);
@@ -171,7 +171,7 @@ namespace Carpet {
enter_global_mode (cgh, ml);
enter_level_mode (cgh, rl);
- do_global_mode = rl==0;
+ do_global_mode = reflevel==0;
do_meta_mode = do_global_mode && mglevel==mglevels-1;
Waypoint ("Postregrid at iteration %d time %g%s%s",
diff --git a/Carpet/Carpet/src/Initialise.cc b/Carpet/Carpet/src/Initialise.cc
index fc8cd9626..5b864ebdd 100644
--- a/Carpet/Carpet/src/Initialise.cc
+++ b/Carpet/Carpet/src/Initialise.cc
@@ -12,7 +12,7 @@
#include "carpet.hh"
extern "C" {
- static const char* rcsid = "$Header: /home/eschnett/C/carpet/Carpet/Carpet/Carpet/src/Initialise.cc,v 1.50 2004/08/02 12:18:14 schnetter Exp $";
+ static const char* rcsid = "$Header: /home/eschnett/C/carpet/Carpet/Carpet/Carpet/src/Initialise.cc,v 1.51 2004/08/07 19:47:12 schnetter Exp $";
CCTK_FILEVERSION(Carpet_Carpet_Initialise_cc);
}
@@ -255,7 +255,7 @@ namespace Carpet {
// Regrid
Checkpoint ("Regrid");
- did_regrid |= Regrid (cgh);
+ did_regrid |= Regrid (cgh, prolongate_initial_data);
leave_level_mode (cgh);
leave_global_mode (cgh);
diff --git a/Carpet/Carpet/src/Recompose.cc b/Carpet/Carpet/src/Recompose.cc
index 316b16724..a6e9c301a 100644
--- a/Carpet/Carpet/src/Recompose.cc
+++ b/Carpet/Carpet/src/Recompose.cc
@@ -27,7 +27,7 @@
#include "modes.hh"
extern "C" {
- static const char* rcsid = "$Header: /home/eschnett/C/carpet/Carpet/Carpet/Carpet/src/Recompose.cc,v 1.69 2004/08/02 12:18:14 schnetter Exp $";
+ static const char* rcsid = "$Header: /home/eschnett/C/carpet/Carpet/Carpet/Carpet/src/Recompose.cc,v 1.70 2004/08/07 19:47:11 schnetter Exp $";
CCTK_FILEVERSION(Carpet_Carpet_Recompose_cc);
}
@@ -118,8 +118,8 @@ namespace Carpet {
}
-
- bool Regrid (const cGH* cgh, bool checkpoint_recovery)
+
+ bool Regrid (const cGH* cgh, const bool do_init)
{
assert (is_level_mode());
@@ -140,8 +140,7 @@ namespace Carpet {
gh<dim>::rprocs pss = vhh.at(map)->processors;
// Check whether to recompose
- CCTK_INT const do_recompose = Carpet_Regrid (cgh, &bbsss, &obss, &pss,
- checkpoint_recovery);
+ CCTK_INT const do_recompose = Carpet_Regrid (cgh, &bbsss, &obss, &pss, false);
assert (do_recompose >= 0);
did_change = did_change || do_recompose;
@@ -158,7 +157,7 @@ namespace Carpet {
OutputGridStructure (cgh, map, bbsss, obss, pss);
// Recompose
- vhh.at(map)->recompose (bbsss, obss, pss);
+ vhh.at(map)->recompose (bbsss, obss, pss, do_init);
OutputGrids (cgh, map, *vhh.at(map));
diff --git a/Carpet/Carpet/src/SetupGH.cc b/Carpet/Carpet/src/SetupGH.cc
index 70c1480fe..8bccd5015 100644
--- a/Carpet/Carpet/src/SetupGH.cc
+++ b/Carpet/Carpet/src/SetupGH.cc
@@ -24,7 +24,7 @@
#include "carpet.hh"
extern "C" {
- static const char* rcsid = "$Header: /home/eschnett/C/carpet/Carpet/Carpet/Carpet/src/SetupGH.cc,v 1.83 2004/08/02 12:18:14 schnetter Exp $";
+ static const char* rcsid = "$Header: /home/eschnett/C/carpet/Carpet/Carpet/Carpet/src/SetupGH.cc,v 1.84 2004/08/07 19:47:11 schnetter Exp $";
CCTK_FILEVERSION(Carpet_Carpet_SetupGH_cc);
}
@@ -567,7 +567,7 @@ namespace Carpet {
#endif
// Recompose grid hierarchy
- vhh.at(m)->recompose (bbsss, obss, pss);
+ vhh.at(m)->recompose (bbsss, obss, pss, false);
CCTK_INFO ("Grid structure (grid points):");
const int rl = 0;
@@ -821,7 +821,7 @@ namespace Carpet {
assert (groupname);
Checkpoint ("Recomposing grid array group \"%s\"", groupname);
free (groupname);
- arrdata.at(group).at(0).hh->recompose (bbsss, obss, pss);
+ arrdata.at(group).at(0).hh->recompose (bbsss, obss, pss, false);
break;
} // case of scalar or array
diff --git a/Carpet/Carpet/src/carpet.hh b/Carpet/Carpet/src/carpet.hh
index b30efc845..60018cc5a 100644
--- a/Carpet/Carpet/src/carpet.hh
+++ b/Carpet/Carpet/src/carpet.hh
@@ -1,4 +1,4 @@
-// $Header: /home/eschnett/C/carpet/Carpet/Carpet/Carpet/src/carpet.hh,v 1.30 2004/06/21 12:28:59 schnetter Exp $
+// $Header: /home/eschnett/C/carpet/Carpet/Carpet/Carpet/src/carpet.hh,v 1.31 2004/08/07 19:47:11 schnetter Exp $
#ifndef CARPET_HH
#define CARPET_HH
@@ -34,7 +34,7 @@ namespace Carpet {
int CallFunction (void* function, cFunctionData* attribute, void* data);
// Other functions
- bool Regrid (const cGH* cgh, bool checkpoint_recovery = false);
+ bool Regrid (const cGH* cgh, const bool do_init);
void CycleTimeLevels (const cGH* cgh);
void FlipTimeLevels (const cGH* cgh);
void Restrict (const cGH* cgh);
diff --git a/Carpet/CarpetLib/src/dh.cc b/Carpet/CarpetLib/src/dh.cc
index 8a615432b..7cc9ff96b 100644
--- a/Carpet/CarpetLib/src/dh.cc
+++ b/Carpet/CarpetLib/src/dh.cc
@@ -1,4 +1,4 @@
-// $Header: /home/eschnett/C/carpet/Carpet/Carpet/CarpetLib/src/dh.cc,v 1.55 2004/06/08 22:58:01 schnetter Exp $
+// $Header: /home/eschnett/C/carpet/Carpet/Carpet/CarpetLib/src/dh.cc,v 1.56 2004/08/07 19:47:11 schnetter Exp $
#include <assert.h>
@@ -31,7 +31,7 @@ dh<D>::dh (gh<D>& h,
assert (buffer_width>=0);
h.add(this);
CHECKPOINT;
- recompose ();
+ recompose (false);
}
// Destructors
@@ -51,7 +51,7 @@ int dh<D>::prolongation_stencil_size () const {
// Modifiers
template<int D>
-void dh<D>::recompose () {
+void dh<D>::recompose (const bool do_prolongate) {
DECLARE_CCTK_PARAMETERS;
CHECKPOINT;
@@ -583,7 +583,7 @@ void dh<D>::recompose () {
}
for (comm_state<D> state; !state.done(); state.step()) {
for (typename list<ggf<D>*>::iterator f=gfs.begin(); f!=gfs.end(); ++f) {
- (*f)->recompose_fill (state, rl);
+ (*f)->recompose_fill (state, rl, do_prolongate);
}
}
for (typename list<ggf<D>*>::reverse_iterator f=gfs.rbegin(); f!=gfs.rend(); ++f) {
@@ -591,12 +591,12 @@ void dh<D>::recompose () {
}
for (comm_state<D> state; !state.done(); state.step()) {
for (typename list<ggf<D>*>::iterator f=gfs.begin(); f!=gfs.end(); ++f) {
- (*f)->recompose_bnd_prolongate (state, rl);
+ (*f)->recompose_bnd_prolongate (state, rl, do_prolongate);
}
}
for (comm_state<D> state; !state.done(); state.step()) {
for (typename list<ggf<D>*>::iterator f=gfs.begin(); f!=gfs.end(); ++f) {
- (*f)->recompose_sync (state, rl);
+ (*f)->recompose_sync (state, rl, do_prolongate);
}
}
} // for rl
@@ -610,7 +610,7 @@ void dh<D>::recompose () {
for (int rl=0; rl<h.reflevels(); ++rl) {
(*f)->recompose_allocate (rl);
for (comm_state<D> state; !state.done(); state.step()) {
- (*f)->recompose_fill (state, rl);
+ (*f)->recompose_fill (state, rl, do_prolongate);
}
if ((*f)->vectorlength == 1) {
(*f)->recompose_free (rl);
@@ -632,10 +632,10 @@ void dh<D>::recompose () {
}
}
for (comm_state<D> state; !state.done(); state.step()) {
- (*f)->recompose_bnd_prolongate (state, rl);
+ (*f)->recompose_bnd_prolongate (state, rl, do_prolongate);
}
for (comm_state<D> state; !state.done(); state.step()) {
- (*f)->recompose_sync (state, rl);
+ (*f)->recompose_sync (state, rl, do_prolongate);
}
} // for rl
diff --git a/Carpet/CarpetLib/src/dh.hh b/Carpet/CarpetLib/src/dh.hh
index c8d6b3bc0..22a9bd425 100644
--- a/Carpet/CarpetLib/src/dh.hh
+++ b/Carpet/CarpetLib/src/dh.hh
@@ -1,4 +1,4 @@
-// $Header: /home/eschnett/C/carpet/Carpet/Carpet/CarpetLib/src/dh.hh,v 1.19 2004/04/20 11:55:52 schnetter Exp $
+// $Header: /home/eschnett/C/carpet/Carpet/Carpet/CarpetLib/src/dh.hh,v 1.20 2004/08/07 19:47:11 schnetter Exp $
#ifndef DH_HH
#define DH_HH
@@ -123,7 +123,7 @@ public:
int prolongation_stencil_size () const;
// Modifiers
- void recompose ();
+ void recompose (const bool do_prolongate);
// Grid function management
void add (ggf<D>* f);
diff --git a/Carpet/CarpetLib/src/gf.cc b/Carpet/CarpetLib/src/gf.cc
index 51a110a19..69537d537 100644
--- a/Carpet/CarpetLib/src/gf.cc
+++ b/Carpet/CarpetLib/src/gf.cc
@@ -1,4 +1,4 @@
-// $Header: /home/eschnett/C/carpet/Carpet/Carpet/CarpetLib/src/gf.cc,v 1.20 2004/04/24 20:42:34 schnetter Exp $
+// $Header: /home/eschnett/C/carpet/Carpet/Carpet/CarpetLib/src/gf.cc,v 1.21 2004/08/07 19:47:11 schnetter Exp $
#include <assert.h>
@@ -27,16 +27,20 @@ gf<T,D>::gf (const int varindex, const operator_type transport_operator,
this->recompose_crop ();
for (int rl=0; rl<this->h.reflevels(); ++rl) {
this->recompose_allocate (rl);
+#if 0
for (comm_state<D> state; !state.done(); state.step()) {
- this->recompose_fill (state, rl);
+ this->recompose_fill (state, rl, false);
}
+#endif
this->recompose_free (rl);
+#if 0
for (comm_state<D> state; !state.done(); state.step()) {
- this->recompose_bnd_prolongate (state, rl);
+ this->recompose_bnd_prolongate (state, rl, false);
}
for (comm_state<D> state; !state.done(); state.step()) {
- this->recompose_sync (state, rl);
+ this->recompose_sync (state, rl, false);
}
+#endif
} // for rl
}
diff --git a/Carpet/CarpetLib/src/ggf.cc b/Carpet/CarpetLib/src/ggf.cc
index 466bb0689..bcb6263ed 100644
--- a/Carpet/CarpetLib/src/ggf.cc
+++ b/Carpet/CarpetLib/src/ggf.cc
@@ -1,4 +1,4 @@
-// $Header: /home/eschnett/C/carpet/Carpet/Carpet/CarpetLib/src/ggf.cc,v 1.44 2004/05/29 11:36:22 schnetter Exp $
+// $Header: /home/eschnett/C/carpet/Carpet/Carpet/CarpetLib/src/ggf.cc,v 1.45 2004/08/07 19:47:11 schnetter Exp $
#include <assert.h>
#include <math.h>
@@ -103,7 +103,8 @@ void ggf<D>::recompose_allocate (const int rl)
}
template<int D>
-void ggf<D>::recompose_fill (comm_state<D>& state, const int rl)
+void ggf<D>::recompose_fill (comm_state<D>& state, const int rl,
+ const bool do_prolongate)
{
// Initialise the new storage
for (int c=0; c<h.components(rl); ++c) {
@@ -133,43 +134,45 @@ void ggf<D>::recompose_fill (comm_state<D>& state, const int rl)
} // for cc
} // if rl
- // Initialise from coarser level, if possible
- if (rl>0) {
- if (transport_operator != op_none) {
- const int numtl = prolongation_order_time+1;
- assert (tmax-tmin+1 >= numtl);
- vector<int> tls(numtl);
- vector<CCTK_REAL> times(numtl);
- for (int i=0; i<numtl; ++i) {
- tls.at(i) = tmax - i;
- times.at(i) = t.time(tls.at(i),rl-1,ml);
- }
- for (int cc=0; cc<(int)storage.at(tl-tmin).at(rl-1).size(); ++cc) {
- vector<const gdata<D>*> gsrcs(numtl);
+ if (do_prolongate) {
+ // Initialise from coarser level, if possible
+ if (rl>0) {
+ if (transport_operator != op_none) {
+ const int numtl = prolongation_order_time+1;
+ assert (tmax-tmin+1 >= numtl);
+ vector<int> tls(numtl);
+ vector<CCTK_REAL> times(numtl);
for (int i=0; i<numtl; ++i) {
- gsrcs.at(i)
- = storage.at(tls.at(i)-tmin).at(rl-1).at(cc).at(ml);
- assert (gsrcs.at(i)->extent() == gsrcs.at(0)->extent());
+ tls.at(i) = tmax - i;
+ times.at(i) = t.time(tls.at(i),rl-1,ml);
}
- const CCTK_REAL time = t.time(tl,rl,ml);
-
- // TODO: choose larger regions first
- // TODO: prefer regions from the same processor
- const iblist& list
- = d.boxes.at(rl).at(c).at(ml).recv_ref_coarse.at(cc);
- for (typename iblist::const_iterator iter=list.begin(); iter!=list.end(); ++iter) {
- ibset ovlp = work & *iter;
- ovlp.normalize();
- work -= ovlp;
- for (typename ibset::const_iterator r=ovlp.begin(); r!=ovlp.end(); ++r) {
- storage.at(tl-tmin).at(rl).at(c).at(ml)->interpolate_from
- (state, gsrcs, times, *r, time,
- d.prolongation_order_space, prolongation_order_time);
- } // for r
- } // for iter
- } // for cc
- } // if transport_operator
- } // if rl
+ for (int cc=0; cc<(int)storage.at(tl-tmin).at(rl-1).size(); ++cc) {
+ vector<const gdata<D>*> gsrcs(numtl);
+ for (int i=0; i<numtl; ++i) {
+ gsrcs.at(i)
+ = storage.at(tls.at(i)-tmin).at(rl-1).at(cc).at(ml);
+ assert (gsrcs.at(i)->extent() == gsrcs.at(0)->extent());
+ }
+ const CCTK_REAL time = t.time(tl,rl,ml);
+
+ // TODO: choose larger regions first
+ // TODO: prefer regions from the same processor
+ const iblist& list
+ = d.boxes.at(rl).at(c).at(ml).recv_ref_coarse.at(cc);
+ for (typename iblist::const_iterator iter=list.begin(); iter!=list.end(); ++iter) {
+ ibset ovlp = work & *iter;
+ ovlp.normalize();
+ work -= ovlp;
+ for (typename ibset::const_iterator r=ovlp.begin(); r!=ovlp.end(); ++r) {
+ storage.at(tl-tmin).at(rl).at(c).at(ml)->interpolate_from
+ (state, gsrcs, times, *r, time,
+ d.prolongation_order_space, prolongation_order_time);
+ } // for r
+ } // for iter
+ } // for cc
+ } // if transport_operator
+ } // if rl
+ } // if do_prolongate
// Note that work need not be empty here; in this case, not
// everything could be initialised. This is okay on outer
@@ -196,37 +199,43 @@ void ggf<D>::recompose_free (const int rl)
}
template<int D>
-void ggf<D>::recompose_bnd_prolongate (comm_state<D>& state, const int rl)
+void ggf<D>::recompose_bnd_prolongate (comm_state<D>& state, const int rl,
+ const bool do_prolongate)
+{
+ if (do_prolongate) {
+ // Set boundaries
+ if (rl>0) {
+ for (int c=0; c<h.components(rl); ++c) {
+ for (int ml=0; ml<h.mglevels(rl,c); ++ml) {
+ for (int tl=tmin; tl<=tmax; ++tl) {
+
+ // TODO: assert that reflevel 0 boundaries are copied
+ const CCTK_REAL time = t.time(tl,rl,ml);
+ ref_bnd_prolongate (state,tl,rl,c,ml,time);
+
+ } // for tl
+ } // for ml
+ } // for c
+ } // if rl
+ } // if do_prolongate
+}
+
+template<int D>
+void ggf<D>::recompose_sync (comm_state<D>& state, const int rl,
+ const bool do_prolongate)
{
- // Set boundaries
- if (rl>0) {
+ if (do_prolongate) {
+ // Set boundaries
for (int c=0; c<h.components(rl); ++c) {
for (int ml=0; ml<h.mglevels(rl,c); ++ml) {
for (int tl=tmin; tl<=tmax; ++tl) {
- // TODO: assert that reflevel 0 boundaries are copied
- const CCTK_REAL time = t.time(tl,rl,ml);
- ref_bnd_prolongate (state,tl,rl,c,ml,time);
+ sync (state,tl,rl,c,ml);
} // for tl
} // for ml
} // for c
- } // if rl
-}
-
-template<int D>
-void ggf<D>::recompose_sync (comm_state<D>& state, const int rl)
-{
- // Set boundaries
- for (int c=0; c<h.components(rl); ++c) {
- for (int ml=0; ml<h.mglevels(rl,c); ++ml) {
- for (int tl=tmin; tl<=tmax; ++tl) {
-
- sync (state,tl,rl,c,ml);
-
- } // for tl
- } // for ml
- } // for c
+ } // if do_prolongate
}
diff --git a/Carpet/CarpetLib/src/ggf.hh b/Carpet/CarpetLib/src/ggf.hh
index 6cb0b431f..b6a551cf3 100644
--- a/Carpet/CarpetLib/src/ggf.hh
+++ b/Carpet/CarpetLib/src/ggf.hh
@@ -1,4 +1,4 @@
-// $Header: /home/eschnett/C/carpet/Carpet/Carpet/CarpetLib/src/ggf.hh,v 1.24 2004/06/08 22:58:01 schnetter Exp $
+// $Header: /home/eschnett/C/carpet/Carpet/Carpet/CarpetLib/src/ggf.hh,v 1.25 2004/08/07 19:47:11 schnetter Exp $
#ifndef GGF_HH
#define GGF_HH
@@ -94,10 +94,10 @@ public:
// void recompose ();
void recompose_crop ();
void recompose_allocate (int rl);
- void recompose_fill (comm_state<D>& state, int rl);
+ void recompose_fill (comm_state<D>& state, int rl, bool do_prolongate);
void recompose_free (int rl);
- void recompose_bnd_prolongate (comm_state<D>& state, int rl);
- void recompose_sync (comm_state<D>& state, int rl);
+ void recompose_bnd_prolongate (comm_state<D>& state, int rl, bool do_prolongate);
+ void recompose_sync (comm_state<D>& state, int rl, bool do_prolongate);
// Cycle the time levels by rotating the data sets
void cycle (int rl, int c, int ml);
diff --git a/Carpet/CarpetLib/src/gh.cc b/Carpet/CarpetLib/src/gh.cc
index b68be34d8..32df39bf0 100644
--- a/Carpet/CarpetLib/src/gh.cc
+++ b/Carpet/CarpetLib/src/gh.cc
@@ -1,4 +1,4 @@
-// $Header: /home/eschnett/C/carpet/Carpet/Carpet/CarpetLib/src/gh.cc,v 1.28 2004/04/18 13:29:43 schnetter Exp $
+// $Header: /home/eschnett/C/carpet/Carpet/Carpet/CarpetLib/src/gh.cc,v 1.29 2004/08/07 19:47:11 schnetter Exp $
#include <assert.h>
#include <stdlib.h>
@@ -36,7 +36,8 @@ gh<D>::~gh () { }
template<int D>
void gh<D>::recompose (const rexts& exts,
const rbnds& outer_bounds,
- const rprocs& procs)
+ const rprocs& procs,
+ const bool do_prolongate)
{
DECLARE_CCTK_PARAMETERS;
@@ -171,7 +172,7 @@ void gh<D>::recompose (const rexts& exts,
}
for (typename list<dh<D>*>::iterator d=dhs.begin(); d!=dhs.end(); ++d) {
- (*d)->recompose ();
+ (*d)->recompose (do_prolongate);
}
}
diff --git a/Carpet/CarpetLib/src/gh.hh b/Carpet/CarpetLib/src/gh.hh
index 69f9f31c0..edf149000 100644
--- a/Carpet/CarpetLib/src/gh.hh
+++ b/Carpet/CarpetLib/src/gh.hh
@@ -1,4 +1,4 @@
-// $Header: /home/eschnett/C/carpet/Carpet/Carpet/CarpetLib/src/gh.hh,v 1.17 2004/04/18 13:29:43 schnetter Exp $
+// $Header: /home/eschnett/C/carpet/Carpet/Carpet/CarpetLib/src/gh.hh,v 1.18 2004/08/07 19:47:11 schnetter Exp $
#ifndef GH_HH
#define GH_HH
@@ -85,7 +85,8 @@ public:
// Modifiers
void recompose (const rexts& exts, const rbnds& outer_bounds,
- const rprocs& procs);
+ const rprocs& procs,
+ const bool do_prolongate);
// Accessors
int reflevels () const {