aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Carpet/Carpet/param.ccl13
-rw-r--r--Carpet/Carpet/schedule.ccl8
-rw-r--r--Carpet/Carpet/src/Comm.cc36
-rw-r--r--Carpet/Carpet/src/Evolve.cc8
-rw-r--r--Carpet/Carpet/src/Restrict.cc14
-rw-r--r--Carpet/Carpet/src/SetupGH.cc10
-rw-r--r--Carpet/Carpet/src/Storage.cc8
-rw-r--r--Carpet/Carpet/src/carpet_public.h12
-rw-r--r--Carpet/Carpet/src/carpet_public.hh5
-rw-r--r--Carpet/Carpet/src/helpers.cc17
-rw-r--r--Carpet/Carpet/src/variables.cc5
-rw-r--r--Carpet/CarpetLib/param.ccl7
-rw-r--r--Carpet/CarpetLib/src/data.cc4
-rw-r--r--Carpet/CarpetLib/src/dh.cc28
-rw-r--r--Carpet/CarpetLib/src/dh.hh7
-rw-r--r--CarpetExtra/FOWaveToyF77/schedule.ccl6
-rw-r--r--CarpetExtra/SpaceTimeToy/schedule.ccl6
-rw-r--r--CarpetExtra/WaveToyExpl/schedule.ccl8
-rw-r--r--CarpetExtra/WaveToyFO/schedule.ccl6
-rw-r--r--CarpetExtra/WaveToyMoL/par/sw1d_2l_0020.par4
-rw-r--r--CarpetExtra/WaveToyMoL/par/sw1d_2l_0040.par4
-rw-r--r--CarpetExtra/WaveToyMoL/par/sw1d_2l_0080.par4
-rw-r--r--CarpetExtra/WaveToyMoL/par/sw1d_2l_0160.par4
-rw-r--r--CarpetExtra/WaveToyMoL/par/sw1d_2l_0320.par4
-rw-r--r--CarpetExtra/WaveToyMoL/schedule.ccl6
-rw-r--r--CarpetExtra/WaveToyMoL/src/calcrhs.F7723
26 files changed, 146 insertions, 111 deletions
diff --git a/Carpet/Carpet/param.ccl b/Carpet/Carpet/param.ccl
index ab662af64..43f4be299 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.30 2003/06/24 15:18:51 schnetter Exp $
+# $Header: /home/eschnett/C/carpet/Carpet/Carpet/Carpet/param.ccl,v 1.31 2003/07/20 21:03:43 schnetter Exp $
shares: Cactus
@@ -37,7 +37,8 @@ CCTK_INT global_nz "Grid size in z direction"
CCTK_INT global_nsize "Grid size in each spatial direction"
{
- -1:* :: "must be nonnegative, or -1 to use the individual parameters"
+ 0:* :: "must be nonnegative"
+ -1 :: "use the per-dimension parameters"
} -1
@@ -59,7 +60,8 @@ CCTK_INT ghost_size_z "Ghost zones in z direction"
CCTK_INT ghost_size "Ghost zones in each spatial direction"
{
- -1:* :: "must be nonnegative, or -1 to use the individual parameters"
+ 0:* :: "must be nonnegative"
+ -1 :: "use the per-dimension parameters"
} -1
@@ -100,6 +102,11 @@ CCTK_INT prolongation_order_time "Order of prolongation operator in time"
2 :: "second order (quadratic)"
} 1
+CCTK_INT buffer_width "Width of the buffer zone inside the fine grid"
+{
+ 0:* :: "Should be the radius of the numerical domain of dependence of the time integrator, minus the number of ghost zones"
+} 0
+
CCTK_STRING base_extents "Extents of base grid components, in grid point units of the finest level"
diff --git a/Carpet/Carpet/schedule.ccl b/Carpet/Carpet/schedule.ccl
index f401492ef..228dced2b 100644
--- a/Carpet/Carpet/schedule.ccl
+++ b/Carpet/Carpet/schedule.ccl
@@ -1,7 +1,13 @@
# Schedule definitions for thorn Carpet
-# $Header: /home/eschnett/C/carpet/Carpet/Carpet/Carpet/schedule.ccl,v 1.4 2001/12/14 16:39:05 schnetter Exp $
+# $Header: /home/eschnett/C/carpet/Carpet/Carpet/Carpet/schedule.ccl,v 1.5 2003/07/20 21:03:43 schnetter Exp $
schedule CarpetStartup at STARTUP as Driver_Startup
{
LANG: C
} "Startup routine"
+
+
+
+schedule group PostRestrict
+{
+} "Apply boundary conditions after restricting"
diff --git a/Carpet/Carpet/src/Comm.cc b/Carpet/Carpet/src/Comm.cc
index 72d8f725c..c445bb3e9 100644
--- a/Carpet/Carpet/src/Comm.cc
+++ b/Carpet/Carpet/src/Comm.cc
@@ -10,7 +10,7 @@
#include "carpet.hh"
extern "C" {
- static const char* rcsid = "$Header: /home/eschnett/C/carpet/Carpet/Carpet/Carpet/src/Comm.cc,v 1.19 2003/07/14 15:45:37 schnetter Exp $";
+ static const char* rcsid = "$Header: /home/eschnett/C/carpet/Carpet/Carpet/Carpet/src/Comm.cc,v 1.20 2003/07/20 21:03:43 schnetter Exp $";
CCTK_FILEVERSION(Carpet_Carpet_Comm_cc);
}
@@ -29,7 +29,8 @@ namespace Carpet {
const int group = CCTK_GroupIndex(groupname);
assert (group>=0 && group<CCTK_NumGroups());
- Checkpoint ("%*sSyncGroup %s", 2*reflevel, "", groupname);
+ Checkpoint ("%*sSyncGroup %s time=%g", 2*reflevel, "",
+ groupname, cgh->cctk_time);
const int grouptype = CCTK_GroupTypeI(group);
@@ -67,26 +68,27 @@ namespace Carpet {
assert (group<(int)arrdata.size());
for (int var=0; var<(int)arrdata[group].data.size(); ++var) {
if (grouptype == CCTK_GF) {
- if (arrdata[group].do_transfer) {
- if (reflevel>0) {
- // use the current time here (which may be modified by the
- // user)
- const CCTK_REAL time = (cgh->cctk_time - cctk_initial_time) / delta_time;
- if (false) {
+ if (do_prolongate) {
+ if (arrdata[group].do_transfer) {
+ if (reflevel>0) {
+ // use the current time here (which may be modified by the
+ // user)
+ const CCTK_REAL time = (cgh->cctk_time - cctk_initial_time) / delta_time;
+#if 0
const CCTK_REAL time1 = tt->time (tl, reflevel, mglevel);
const CCTK_REAL time2 = (cgh->cctk_time - cctk_initial_time) / delta_time;
assert (fabs((time1 - time2) / (fabs(time1) + fabs(time2) + fabs(cgh->cctk_delta_time))) < 1e-12);
+#endif
+ for (int c=0; c<arrdata[group].hh->components(reflevel); ++c) {
+ arrdata[group].data[var]->ref_bnd_prolongate
+ (tl, reflevel, c, mglevel, time);
+ }
}
-
- for (int c=0; c<arrdata[group].hh->components(reflevel); ++c) {
- arrdata[group].data[var]->ref_bnd_prolongate
- (tl, reflevel, c, mglevel, time);
- }
+ } else {
+ Checkpoint ("%*s(no prolongating for group %s)",
+ 2*reflevel, "", groupname);
}
- } else {
- Checkpoint ("%*s(no prolongating for group %s)",
- 2*reflevel, "", groupname);
- }
+ } // if do_prolongate
for (int c=0; c<arrdata[group].hh->components(reflevel); ++c) {
arrdata[group].data[var]->sync (tl, reflevel, c, mglevel);
}
diff --git a/Carpet/Carpet/src/Evolve.cc b/Carpet/Carpet/src/Evolve.cc
index 967b505b5..833121d9e 100644
--- a/Carpet/Carpet/src/Evolve.cc
+++ b/Carpet/Carpet/src/Evolve.cc
@@ -18,7 +18,7 @@
#include "carpet.hh"
extern "C" {
- static const char* rcsid = "$Header: /home/eschnett/C/carpet/Carpet/Carpet/Carpet/src/Evolve.cc,v 1.26 2003/07/11 09:27:11 schnetter Exp $";
+ static const char* rcsid = "$Header: /home/eschnett/C/carpet/Carpet/Carpet/Carpet/src/Evolve.cc,v 1.27 2003/07/20 21:03:43 schnetter Exp $";
CCTK_FILEVERSION(Carpet_Carpet_Evolve_cc);
}
@@ -166,7 +166,7 @@ namespace Carpet {
CCTK_ScheduleTraverse ("CCTK_EVOL", cgh, CallFunction);
Waypoint ("%*sScheduling POSTSTEP", 2*reflevel, "");
CCTK_ScheduleTraverse ("CCTK_POSTSTEP", cgh, CallFunction);
-
+
// Checking
PoisonCheck (cgh, currenttimebutnotifonly);
@@ -201,8 +201,8 @@ namespace Carpet {
do_global_mode ? " (global time)" : "");
Restrict (cgh);
- Waypoint ("%*sScheduling POSTRESTRICT", 2*reflevel, "");
- CCTK_ScheduleTraverse ("POSTRESTRICT", cgh, CallFunction);
+ Waypoint ("%*sScheduling PostRestrict", 2*reflevel, "");
+ CCTK_ScheduleTraverse ("PostRestrict", cgh, CallFunction);
// Checking
CalculateChecksums (cgh, currenttime);
diff --git a/Carpet/Carpet/src/Restrict.cc b/Carpet/Carpet/src/Restrict.cc
index 0b62258dc..e392af3ca 100644
--- a/Carpet/Carpet/src/Restrict.cc
+++ b/Carpet/Carpet/src/Restrict.cc
@@ -10,7 +10,7 @@
#include "carpet.hh"
extern "C" {
- static const char* rcsid = "$Header: /home/eschnett/C/carpet/Carpet/Carpet/Carpet/src/Restrict.cc,v 1.18 2003/07/16 21:46:38 schnetter Exp $";
+ static const char* rcsid = "$Header: /home/eschnett/C/carpet/Carpet/Carpet/Carpet/src/Restrict.cc,v 1.19 2003/07/20 21:03:43 schnetter Exp $";
CCTK_FILEVERSION(Carpet_Carpet_Restrict_cc);
}
@@ -46,18 +46,6 @@ namespace Carpet {
assert (fabs((time1 - time2) / (fabs(time1) + fabs(time2) + fabs(cgh->cctk_delta_time))) < 1e-12);
}
- if (mglevel > 0) {
-
- for (int c=0; c<hh->components(reflevel); ++c) {
- arrdata[group].data[var]->mg_restrict
- (tl, reflevel, c, mglevel, time);
- }
- for (int c=0; c<arrdata[group].hh->components(reflevel); ++c) {
- arrdata[group].data[var]->sync (tl, reflevel, c, mglevel);
- }
-
- } // if not finest multigrid level
-
if (reflevel < hh->reflevels()-1) {
for (int c=0; c<hh->components(reflevel); ++c) {
diff --git a/Carpet/Carpet/src/SetupGH.cc b/Carpet/Carpet/src/SetupGH.cc
index 42ba5829a..e1fd46355 100644
--- a/Carpet/Carpet/src/SetupGH.cc
+++ b/Carpet/Carpet/src/SetupGH.cc
@@ -19,7 +19,7 @@
#include "carpet.hh"
extern "C" {
- static const char* rcsid = "$Header: /home/eschnett/C/carpet/Carpet/Carpet/Carpet/src/SetupGH.cc,v 1.50 2003/07/09 21:59:07 schnetter Exp $";
+ static const char* rcsid = "$Header: /home/eschnett/C/carpet/Carpet/Carpet/Carpet/src/SetupGH.cc,v 1.51 2003/07/20 21:03:43 schnetter Exp $";
CCTK_FILEVERSION(Carpet_Carpet_SetupGH_cc);
}
@@ -196,7 +196,8 @@ namespace Carpet {
tt = new th<dim>(hh, 1.0);
// Allocate data hierarchy
- dd = new dh<dim>(*hh, lghosts, ughosts, prolongation_order_space);
+ dd = new dh<dim>(*hh, lghosts, ughosts,
+ prolongation_order_space, buffer_width);
if (max_refinement_levels > 1) {
const int prolongation_stencil_size = dd->prolongation_stencil_size();
@@ -279,7 +280,7 @@ namespace Carpet {
}
arrdata[group].dd
- = new dh<dim>(*arrdata[group].hh, alghosts, aughosts, 0);
+ = new dh<dim>(*arrdata[group].hh, alghosts, aughosts, 0, 0);
// Set refinement structure for scalars and arrays:
@@ -417,6 +418,9 @@ namespace Carpet {
mglevel = -1;
component = -1;
+ // Enable prolongating
+ do_prolongate = true;
+
// Set initial refinement structure
diff --git a/Carpet/Carpet/src/Storage.cc b/Carpet/Carpet/src/Storage.cc
index 600f568af..b950c4029 100644
--- a/Carpet/Carpet/src/Storage.cc
+++ b/Carpet/Carpet/src/Storage.cc
@@ -10,7 +10,7 @@
#include "carpet.hh"
extern "C" {
- static const char* rcsid = "$Header: /home/eschnett/C/carpet/Carpet/Carpet/Carpet/src/Storage.cc,v 1.24 2003/07/16 21:46:38 schnetter Exp $";
+ static const char* rcsid = "$Header: /home/eschnett/C/carpet/Carpet/Carpet/Carpet/src/Storage.cc,v 1.25 2003/07/20 21:03:43 schnetter Exp $";
CCTK_FILEVERSION(Carpet_Carpet_Storage_cc);
}
@@ -61,7 +61,7 @@ namespace Carpet {
assert (var>=0);
const int vartype = CCTK_VarTypeI(var);
const char * vartypename = CCTK_VarTypeName(vartype);
- CCTK_VWarn (1, __LINE__, __FILE__, CCTK_THORNSTRING,
+ CCTK_VWarn (2, __LINE__, __FILE__, CCTK_THORNSTRING,
"(Allocating storage for Cactus group \"%s\".) Note: This group (which has the variable type %s) will be neither prolongated nor restricted.",
groupname, vartypename);
}
@@ -143,8 +143,8 @@ namespace Carpet {
return 0;
}
- // XXX
- CCTK_WARN (1, "Cannot disable storage -- storage management is not yet consistent for FMR");
+ // TODO
+ CCTK_WARN (2, "Cannot disable storage -- storage management is not yet consistent for FMR");
return 1;
const int n0 = CCTK_FirstVarIndexI(group);
diff --git a/Carpet/Carpet/src/carpet_public.h b/Carpet/Carpet/src/carpet_public.h
index 938c7a364..02a8902e3 100644
--- a/Carpet/Carpet/src/carpet_public.h
+++ b/Carpet/Carpet/src/carpet_public.h
@@ -1,4 +1,4 @@
-/* $Header: /home/eschnett/C/carpet/Carpet/Carpet/Carpet/src/carpet_public.h,v 1.9 2003/05/27 12:01:11 schnetter Exp $ */
+/* $Header: /home/eschnett/C/carpet/Carpet/Carpet/Carpet/src/carpet_public.h,v 1.10 2003/07/20 21:03:43 schnetter Exp $ */
#ifndef CARPET_PUBLIC_H
#define CARPET_PUBLIC_H
@@ -9,6 +9,11 @@
+/* Tell thorns that the Carpet routines exist */
+#define HAVE_CARPET
+
+
+
#ifdef __cplusplus
namespace Carpet {
extern "C" {
@@ -20,6 +25,11 @@ namespace Carpet {
+ /* Prolongation management */
+ int CarpetEnableProlongating (const int flag);
+
+
+
/* Call a schedule group */
int CallScheduleGroup (cGH * const cgh, const char * const group);
diff --git a/Carpet/Carpet/src/carpet_public.hh b/Carpet/Carpet/src/carpet_public.hh
index 0cee399c4..c7e0aa216 100644
--- a/Carpet/Carpet/src/carpet_public.hh
+++ b/Carpet/Carpet/src/carpet_public.hh
@@ -1,4 +1,4 @@
-// $Header: /home/eschnett/C/carpet/Carpet/Carpet/Carpet/src/carpet_public.hh,v 1.32 2003/07/14 15:41:34 schnetter Exp $
+// $Header: /home/eschnett/C/carpet/Carpet/Carpet/Carpet/src/carpet_public.hh,v 1.33 2003/07/20 21:03:43 schnetter Exp $
// It is assumed that the number of components of all arrays is equal
// to the number of components of the grid functions, and that their
@@ -73,6 +73,9 @@ namespace Carpet {
// Is this the time for a global mode call?
extern bool do_global_mode;
+ // Is prolongation enabled?
+ extern bool do_prolongate;
+
// Current times on the refinement levels
extern vector<CCTK_REAL> refleveltimes;
extern CCTK_REAL delta_time;
diff --git a/Carpet/Carpet/src/helpers.cc b/Carpet/Carpet/src/helpers.cc
index c6ef56165..7631b5db7 100644
--- a/Carpet/Carpet/src/helpers.cc
+++ b/Carpet/Carpet/src/helpers.cc
@@ -15,7 +15,7 @@
#include "carpet.hh"
extern "C" {
- static const char* rcsid = "$Header: /home/eschnett/C/carpet/Carpet/Carpet/Carpet/src/helpers.cc,v 1.39 2003/07/09 21:59:08 schnetter Exp $";
+ static const char* rcsid = "$Header: /home/eschnett/C/carpet/Carpet/Carpet/Carpet/src/helpers.cc,v 1.40 2003/07/20 21:03:43 schnetter Exp $";
CCTK_FILEVERSION(Carpet_Carpet_helpers_cc);
}
@@ -428,6 +428,21 @@ namespace Carpet {
+ // Enable or disable prolongating
+ int CarpetEnableProlongating (const int flag)
+ {
+ assert (flag==0 || flag==1);
+ do_prolongate = flag;
+ if (do_prolongate) {
+ Checkpoint ("Prolongating enabled");
+ } else {
+ Checkpoint ("Prolongating disabled");
+ }
+ return 0;
+ }
+
+
+
// This is a temporary measure to call a schedule group from a level
// mode function.
int CallScheduleGroup (cGH * const cgh, const char * const group)
diff --git a/Carpet/Carpet/src/variables.cc b/Carpet/Carpet/src/variables.cc
index 09037bdd9..da18966bb 100644
--- a/Carpet/Carpet/src/variables.cc
+++ b/Carpet/Carpet/src/variables.cc
@@ -6,7 +6,7 @@
#include "carpet.hh"
extern "C" {
- static const char* rcsid = "$Header: /home/eschnett/C/carpet/Carpet/Carpet/Carpet/src/variables.cc,v 1.16 2003/06/18 18:28:07 schnetter Exp $";
+ static const char* rcsid = "$Header: /home/eschnett/C/carpet/Carpet/Carpet/Carpet/src/variables.cc,v 1.17 2003/07/20 21:03:43 schnetter Exp $";
CCTK_FILEVERSION(Carpet_Carpet_variables_cc);
}
@@ -55,6 +55,9 @@ namespace Carpet {
// Is this the time for a global mode call?
bool do_global_mode;
+ // Is prolongation enabled?
+ bool do_prolongate;
+
// Current times on the refinement levels
vector<CCTK_REAL> refleveltimes;
CCTK_REAL delta_time;
diff --git a/Carpet/CarpetLib/param.ccl b/Carpet/CarpetLib/param.ccl
index 707da6619..4316c4dd7 100644
--- a/Carpet/CarpetLib/param.ccl
+++ b/Carpet/CarpetLib/param.ccl
@@ -1,5 +1,5 @@
# Parameter definitions for thorn CarpetLib
-# $Header: /home/eschnett/C/carpet/Carpet/Carpet/CarpetLib/param.ccl,v 1.4 2003/07/16 21:45:58 schnetter Exp $
+# $Header: /home/eschnett/C/carpet/Carpet/Carpet/CarpetLib/param.ccl,v 1.5 2003/07/20 21:03:43 schnetter Exp $
private:
@@ -14,8 +14,3 @@ BOOLEAN barriers "Insert barriers at strategic places for debugging purposes (sl
BOOLEAN output_bboxes "Output bounding box information to the screen"
{
} "no"
-
-CCTK_INT buffer_width "Width of the buffer zone between the prolongation destination and the restriction source"
-{
- 0:* :: "2 seems to be the minimum for second-order convergence"
-} 2
diff --git a/Carpet/CarpetLib/src/data.cc b/Carpet/CarpetLib/src/data.cc
index 155e220db..9a3c6c010 100644
--- a/Carpet/CarpetLib/src/data.cc
+++ b/Carpet/CarpetLib/src/data.cc
@@ -1,4 +1,4 @@
-// $Header: /home/eschnett/C/carpet/Carpet/Carpet/CarpetLib/src/data.cc,v 1.26 2003/06/24 14:00:58 schnetter Exp $
+// $Header: /home/eschnett/C/carpet/Carpet/Carpet/CarpetLib/src/data.cc,v 1.27 2003/07/20 21:03:43 schnetter Exp $
#include <assert.h>
@@ -206,7 +206,7 @@ void data<T,D>
assert (rank == proc());
T Tdummy;
- CCTK_VWarn (1, __LINE__, __FILE__, CCTK_THORNSTRING,
+ CCTK_VWarn (2, __LINE__, __FILE__, CCTK_THORNSTRING,
"There is no interpolator available for variable type %s, dimension %d, spatial interpolation order %d, temporal interpolation order %d. The interpolation will not be done.",
typestring(Tdummy), D, order_space, order_time);
}
diff --git a/Carpet/CarpetLib/src/dh.cc b/Carpet/CarpetLib/src/dh.cc
index 4c9fd616d..40688562c 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.39 2003/07/17 15:40:28 schnetter Exp $
+// $Header: /home/eschnett/C/carpet/Carpet/Carpet/CarpetLib/src/dh.cc,v 1.40 2003/07/20 21:03:43 schnetter Exp $
#include <assert.h>
@@ -18,13 +18,17 @@ using namespace std;
// Constructors
template<int D>
-dh<D>::dh (gh<D>& h, const ivect& lghosts, const ivect& ughosts,
- int prolongation_order_space)
+dh<D>::dh (gh<D>& h,
+ const ivect& lghosts, const ivect& ughosts,
+ const int prolongation_order_space, const int buffer_width)
: h(h),
lghosts(lghosts), ughosts(ughosts),
- prolongation_order_space(prolongation_order_space)
+ prolongation_order_space(prolongation_order_space),
+ buffer_width(buffer_width)
{
assert (all(lghosts>=0 && ughosts>=0));
+ assert (prolongation_order_space>=0);
+ assert (buffer_width>=0);
h.add(this);
CHECKPOINT;
recompose(false);
@@ -218,7 +222,10 @@ void dh<D>::recompose (const int initialise_upto) {
// coarsify boundaries of fine component
for (typename ibset::const_iterator bi=bndsf.begin();
bi!=bndsf.end(); ++bi) {
- const ibbox& bndf = *bi;
+ // TODO
+// const ibbox& bndf = *bi;
+ const ibbox& bndf = ((*bi).expand(buffer_width, buffer_width)
+ & boxes[rl+1][cc][ml].exterior);
// (the prolongation may use the exterior of the
// coarse grid, and must fill all of the boundary of
// the fine grid)
@@ -282,6 +289,7 @@ void dh<D>::recompose (const int initialise_upto) {
boxes[rl ][c ][ml].recv_ref_fine [cc].push_back(recv);
}
#else
+ // TODO
ivect buf[2];
for (int f=0; f<2; ++f) {
for (int d=0; d<D; ++d) {
@@ -289,9 +297,11 @@ void dh<D>::recompose (const int initialise_upto) {
? 0 : buffer_width);
}
}
- const ibbox recv = (intrf.contracted_for(intr)
+ const ibbox recv = (intrf
.expand(-buf[0], -buf[1])
+ .contracted_for(intr)
& intr);
+// const ibbox recv = intrf.contracted_for(intr) & intr;
const ibbox send = recv.expanded_for(intrf);
assert (send.empty() == recv.empty());
if (! send.empty()) {
@@ -452,7 +462,8 @@ void dh<D>::recompose (const int initialise_upto) {
const int this_sz = li->size();
intr -= *li;
const int new_sz = intr.size();
- assert (new_sz + this_sz == old_sz);
+ // TODO
+// assert (new_sz + this_sz == old_sz);
}
}
#if 0
@@ -489,7 +500,8 @@ void dh<D>::recompose (const int initialise_upto) {
const int this_sz = li->size();
bnds -= *li;
const int new_sz = bnds.size();
- assert (new_sz + this_sz == old_sz);
+ // TODO
+// assert (new_sz + this_sz == old_sz);
}
}
}
diff --git a/Carpet/CarpetLib/src/dh.hh b/Carpet/CarpetLib/src/dh.hh
index 98c7c75e3..4a23d5cba 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.14 2003/05/02 14:23:12 schnetter Exp $
+// $Header: /home/eschnett/C/carpet/Carpet/Carpet/CarpetLib/src/dh.hh,v 1.15 2003/07/20 21:03:43 schnetter Exp $
#ifndef DH_HH
#define DH_HH
@@ -95,17 +95,18 @@ public: // should be readonly
ivect lghosts, ughosts; // ghost zones
int prolongation_order_space; // order of spatial prolongation operator
+ int buffer_width; // buffer inside refined grids
rboxes boxes;
rbases bases;
- list<ggf<D>*> gfs; // list of all grid functions
+ list<ggf<D>*> gfs; // list of all grid functions
public:
// Constructors
dh (gh<D>& h, const ivect& lghosts, const ivect& ughosts,
- int prolongation_order_space);
+ int prolongation_order_space, int buffer_width);
// Destructors
virtual ~dh ();
diff --git a/CarpetExtra/FOWaveToyF77/schedule.ccl b/CarpetExtra/FOWaveToyF77/schedule.ccl
index 806ea2a34..05e414b85 100644
--- a/CarpetExtra/FOWaveToyF77/schedule.ccl
+++ b/CarpetExtra/FOWaveToyF77/schedule.ccl
@@ -1,5 +1,5 @@
# Schedule definitions for thorn FOWaveToy77
-# $Header: /home/eschnett/C/carpet/Carpet/CarpetExtra/FOWaveToyF77/schedule.ccl,v 1.8 2003/07/08 22:52:48 schnetter Exp $
+# $Header: /home/eschnett/C/carpet/Carpet/CarpetExtra/FOWaveToyF77/schedule.ccl,v 1.9 2003/07/20 21:03:43 schnetter Exp $
STORAGE: scalarevolve[3] scalarevolve_derivs[3]
@@ -45,12 +45,12 @@ schedule group ApplyBCs as FOWaveToy_ApplyBCs at EVOL after FOWaveToy_Boundaries
-schedule FOWaveToyF77_Boundaries as FOWaveToy_Boundaries in POSTRESTRICT
+schedule FOWaveToyF77_Boundaries as FOWaveToy_Boundaries in PostRestrict
{
LANG: Fortran
SYNC: scalarevolve scalarevolve_derivs
} "Select boundary conditions of 3D wave equation"
-schedule group ApplyBCs as FOWaveToy_ApplyBCs in POSTRESTRICT after FOWaveToy_Boundaries
+schedule group ApplyBCs as FOWaveToy_ApplyBCs in PostRestrict after FOWaveToy_Boundaries
{
} "Apply boundary conditions of 3D wave equation"
diff --git a/CarpetExtra/SpaceTimeToy/schedule.ccl b/CarpetExtra/SpaceTimeToy/schedule.ccl
index e39f9a31d..35f556492 100644
--- a/CarpetExtra/SpaceTimeToy/schedule.ccl
+++ b/CarpetExtra/SpaceTimeToy/schedule.ccl
@@ -1,5 +1,5 @@
# Schedule definitions for thorn SpaceTimeToy
-# $Header: /home/eschnett/C/carpet/Carpet/CarpetExtra/SpaceTimeToy/schedule.ccl,v 1.6 2003/06/18 18:24:29 schnetter Exp $
+# $Header: /home/eschnett/C/carpet/Carpet/CarpetExtra/SpaceTimeToy/schedule.ccl,v 1.7 2003/07/20 21:03:43 schnetter Exp $
STORAGE: spacetimeevolve[3]
STORAGE: icn_state
@@ -72,13 +72,13 @@ schedule GROUP ApplyBCs in SpaceTimeToy_ICNLoop \
-schedule SpaceTimeToy_Boundaries in POSTRESTRICT
+schedule SpaceTimeToy_Boundaries in PostRestrict
{
LANG: Fortran
SYNC: spacetimeevolve
} "Select boundary conditions after restricting"
-schedule GROUP ApplyBCs in POSTRESTRICT \
+schedule GROUP ApplyBCs in PostRestrict \
after SpaceTimeToy_Boundaries
{
} "Apply boundary conditions after restricting"
diff --git a/CarpetExtra/WaveToyExpl/schedule.ccl b/CarpetExtra/WaveToyExpl/schedule.ccl
index 08dc51abc..8e9e6cb26 100644
--- a/CarpetExtra/WaveToyExpl/schedule.ccl
+++ b/CarpetExtra/WaveToyExpl/schedule.ccl
@@ -1,5 +1,5 @@
# Schedule definitions for thorn WaveToyExpl
-# $Header: /home/eschnett/C/carpet/Carpet/CarpetExtra/WaveToyExpl/schedule.ccl,v 1.1 2003/06/18 18:24:30 schnetter Exp $
+# $Header: /home/eschnett/C/carpet/Carpet/CarpetExtra/WaveToyExpl/schedule.ccl,v 1.2 2003/07/20 21:03:43 schnetter Exp $
STORAGE: scalarevolve[3]
STORAGE: scalarevolveint[3]
@@ -60,18 +60,18 @@ SCHEDULE GROUP ApplyBCs AS WaveToyExpl_ApplyFinalBoundaries AT evol AFTER WaveTo
-SCHEDULE WaveToyExpl_IntBoundaries IN postrestrict
+SCHEDULE WaveToyExpl_IntBoundaries IN PostRestrict
{
LANG: Fortran
SYNC: scalarevolveint
} "Select boundary conditions after restricting"
-SCHEDULE WaveToyExpl_FinalBoundaries IN postrestrict
+SCHEDULE WaveToyExpl_FinalBoundaries IN PostRestrict
{
LANG: Fortran
SYNC: scalarevolve
} "Select boundary conditions after restricting"
-SCHEDULE GROUP ApplyBCs AS WaveToyExpl_ApplyBoundaries IN postrestrict AFTER (WaveToyMoL_IntBoundaries, WaveToyMoL_FinalBoundaries)
+SCHEDULE GROUP ApplyBCs AS WaveToyExpl_ApplyBoundaries IN PostRestrict AFTER (WaveToyMoL_IntBoundaries, WaveToyMoL_FinalBoundaries)
{
} "Apply boundary conditions after restricting"
diff --git a/CarpetExtra/WaveToyFO/schedule.ccl b/CarpetExtra/WaveToyFO/schedule.ccl
index 153ecea83..1455dade7 100644
--- a/CarpetExtra/WaveToyFO/schedule.ccl
+++ b/CarpetExtra/WaveToyFO/schedule.ccl
@@ -1,5 +1,5 @@
# Schedule definitions for thorn WaveToyFO
-# $Header: /home/eschnett/C/carpet/Carpet/CarpetExtra/WaveToyFO/schedule.ccl,v 1.2 2003/06/18 20:08:29 schnetter Exp $
+# $Header: /home/eschnett/C/carpet/Carpet/CarpetExtra/WaveToyFO/schedule.ccl,v 1.3 2003/07/20 21:03:43 schnetter Exp $
STORAGE: scalarevolve[3]
STORAGE: scalarevolvedot
@@ -42,12 +42,12 @@ SCHEDULE GROUP ApplyBCs IN MoL_PostStep AFTER WaveToyFO_Boundaries
-SCHEDULE WaveToyFO_Boundaries IN postrestrict
+SCHEDULE WaveToyFO_Boundaries IN PostRestrict
{
LANG: Fortran
SYNC: scalarevolve
} "Select boundary conditions after restricting"
-SCHEDULE GROUP ApplyBCs IN postrestrict AFTER WaveToyFO_Boundaries
+SCHEDULE GROUP ApplyBCs IN PostRestrict AFTER WaveToyFO_Boundaries
{
} "Apply boundary conditions after restricting"
diff --git a/CarpetExtra/WaveToyMoL/par/sw1d_2l_0020.par b/CarpetExtra/WaveToyMoL/par/sw1d_2l_0020.par
index fc8dfd4ce..9bb72f8d4 100644
--- a/CarpetExtra/WaveToyMoL/par/sw1d_2l_0020.par
+++ b/CarpetExtra/WaveToyMoL/par/sw1d_2l_0020.par
@@ -1,4 +1,4 @@
-# $Header: /home/eschnett/C/carpet/Carpet/CarpetExtra/WaveToyMoL/par/sw1d_2l_0020.par,v 1.2 2003/06/18 20:08:29 schnetter Exp $
+# $Header: /home/eschnett/C/carpet/Carpet/CarpetExtra/WaveToyMoL/par/sw1d_2l_0020.par,v 1.3 2003/07/20 21:03:43 schnetter Exp $
Cactus::cctk_initial_time = 0
Cactus::cctk_itlast = 3200
@@ -32,7 +32,7 @@ Carpet::init_each_timelevel = yes
CarpetRegrid::refinement_levels = 2
CarpetRegrid::refined_regions = manual-gridpoint-list
-CarpetRegrid::gridpoints = "[[ ([28,4,4]:[68,12,12]:[2,2,2]) ]]"
+CarpetRegrid::gridpoints = "[[ ([30,4,4]:[66,12,12]:[2,2,2]) ]]"
CarpetRegrid::outerbounds = "[[ [[0,0],[1,1],[1,1]] ]]"
diff --git a/CarpetExtra/WaveToyMoL/par/sw1d_2l_0040.par b/CarpetExtra/WaveToyMoL/par/sw1d_2l_0040.par
index ecfe0eb62..fd1a0773a 100644
--- a/CarpetExtra/WaveToyMoL/par/sw1d_2l_0040.par
+++ b/CarpetExtra/WaveToyMoL/par/sw1d_2l_0040.par
@@ -1,4 +1,4 @@
-# $Header: /home/eschnett/C/carpet/Carpet/CarpetExtra/WaveToyMoL/par/sw1d_2l_0040.par,v 1.2 2003/06/18 20:08:29 schnetter Exp $
+# $Header: /home/eschnett/C/carpet/Carpet/CarpetExtra/WaveToyMoL/par/sw1d_2l_0040.par,v 1.3 2003/07/20 21:03:43 schnetter Exp $
Cactus::cctk_initial_time = 0
Cactus::cctk_itlast = 6400
@@ -32,7 +32,7 @@ Carpet::init_each_timelevel = yes
CarpetRegrid::refinement_levels = 2
CarpetRegrid::refined_regions = manual-gridpoint-list
-CarpetRegrid::gridpoints = "[[ ([48,4,4]:[128,12,12]:[2,2,2]) ]]"
+CarpetRegrid::gridpoints = "[[ ([50,4,4]:[126,12,12]:[2,2,2]) ]]"
CarpetRegrid::outerbounds = "[[ [[0,0],[1,1],[1,1]] ]]"
diff --git a/CarpetExtra/WaveToyMoL/par/sw1d_2l_0080.par b/CarpetExtra/WaveToyMoL/par/sw1d_2l_0080.par
index 588336e06..8ba9cdbe7 100644
--- a/CarpetExtra/WaveToyMoL/par/sw1d_2l_0080.par
+++ b/CarpetExtra/WaveToyMoL/par/sw1d_2l_0080.par
@@ -1,4 +1,4 @@
-# $Header: /home/eschnett/C/carpet/Carpet/CarpetExtra/WaveToyMoL/par/sw1d_2l_0080.par,v 1.2 2003/06/18 20:08:29 schnetter Exp $
+# $Header: /home/eschnett/C/carpet/Carpet/CarpetExtra/WaveToyMoL/par/sw1d_2l_0080.par,v 1.3 2003/07/20 21:03:43 schnetter Exp $
Cactus::cctk_initial_time = 0
Cactus::cctk_itlast = 12800
@@ -32,7 +32,7 @@ Carpet::init_each_timelevel = yes
CarpetRegrid::refinement_levels = 2
CarpetRegrid::refined_regions = manual-gridpoint-list
-CarpetRegrid::gridpoints = "[[ ([88,4,4]:[248,12,12]:[2,2,2]) ]]"
+CarpetRegrid::gridpoints = "[[ ([90,4,4]:[246,12,12]:[2,2,2]) ]]"
CarpetRegrid::outerbounds = "[[ [[0,0],[1,1],[1,1]] ]]"
diff --git a/CarpetExtra/WaveToyMoL/par/sw1d_2l_0160.par b/CarpetExtra/WaveToyMoL/par/sw1d_2l_0160.par
index d7b4ba7ff..3313c9399 100644
--- a/CarpetExtra/WaveToyMoL/par/sw1d_2l_0160.par
+++ b/CarpetExtra/WaveToyMoL/par/sw1d_2l_0160.par
@@ -1,4 +1,4 @@
-# $Header: /home/eschnett/C/carpet/Carpet/CarpetExtra/WaveToyMoL/par/sw1d_2l_0160.par,v 1.2 2003/06/18 20:08:29 schnetter Exp $
+# $Header: /home/eschnett/C/carpet/Carpet/CarpetExtra/WaveToyMoL/par/sw1d_2l_0160.par,v 1.3 2003/07/20 21:03:43 schnetter Exp $
Cactus::cctk_initial_time = 0
Cactus::cctk_itlast = 25600
@@ -32,7 +32,7 @@ Carpet::init_each_timelevel = yes
CarpetRegrid::refinement_levels = 2
CarpetRegrid::refined_regions = manual-gridpoint-list
-CarpetRegrid::gridpoints = "[[ ([168,4,4]:[488,12,12]:[2,2,2]) ]]"
+CarpetRegrid::gridpoints = "[[ ([170,4,4]:[486,12,12]:[2,2,2]) ]]"
CarpetRegrid::outerbounds = "[[ [[0,0],[1,1],[1,1]] ]]"
diff --git a/CarpetExtra/WaveToyMoL/par/sw1d_2l_0320.par b/CarpetExtra/WaveToyMoL/par/sw1d_2l_0320.par
index 509569064..275deef78 100644
--- a/CarpetExtra/WaveToyMoL/par/sw1d_2l_0320.par
+++ b/CarpetExtra/WaveToyMoL/par/sw1d_2l_0320.par
@@ -1,4 +1,4 @@
-# $Header: /home/eschnett/C/carpet/Carpet/CarpetExtra/WaveToyMoL/par/sw1d_2l_0320.par,v 1.2 2003/06/18 20:08:29 schnetter Exp $
+# $Header: /home/eschnett/C/carpet/Carpet/CarpetExtra/WaveToyMoL/par/sw1d_2l_0320.par,v 1.3 2003/07/20 21:03:43 schnetter Exp $
Cactus::cctk_initial_time = 0
Cactus::cctk_itlast = 51200
@@ -32,7 +32,7 @@ Carpet::init_each_timelevel = yes
CarpetRegrid::refinement_levels = 2
CarpetRegrid::refined_regions = manual-gridpoint-list
-CarpetRegrid::gridpoints = "[[ ([328,4,4]:[968,12,12]:[2,2,2]) ]]"
+CarpetRegrid::gridpoints = "[[ ([330,4,4]:[966,12,12]:[2,2,2]) ]]"
CarpetRegrid::outerbounds = "[[ [[0,0],[1,1],[1,1]] ]]"
diff --git a/CarpetExtra/WaveToyMoL/schedule.ccl b/CarpetExtra/WaveToyMoL/schedule.ccl
index 92eae59c1..5404f562c 100644
--- a/CarpetExtra/WaveToyMoL/schedule.ccl
+++ b/CarpetExtra/WaveToyMoL/schedule.ccl
@@ -1,5 +1,5 @@
# Schedule definitions for thorn WaveToyMoL
-# $Header: /home/eschnett/C/carpet/Carpet/CarpetExtra/WaveToyMoL/schedule.ccl,v 1.1 2003/06/18 18:24:30 schnetter Exp $
+# $Header: /home/eschnett/C/carpet/Carpet/CarpetExtra/WaveToyMoL/schedule.ccl,v 1.2 2003/07/20 21:03:43 schnetter Exp $
STORAGE: scalarevolve[3]
STORAGE: scalarevolvedot
@@ -42,12 +42,12 @@ SCHEDULE GROUP ApplyBCs IN MoL_PostStep AFTER WaveToyMoL_Boundaries
-SCHEDULE WaveToyMoL_Boundaries IN postrestrict
+SCHEDULE WaveToyMoL_Boundaries IN PostRestrict
{
LANG: Fortran
SYNC: scalarevolve
} "Select boundary conditions after restricting"
-SCHEDULE GROUP ApplyBCs IN postrestrict AFTER WaveToyMoL_Boundaries
+SCHEDULE GROUP ApplyBCs IN PostRestrict AFTER WaveToyMoL_Boundaries
{
} "Apply boundary conditions after restricting"
diff --git a/CarpetExtra/WaveToyMoL/src/calcrhs.F77 b/CarpetExtra/WaveToyMoL/src/calcrhs.F77
index 777979b81..2c684eaec 100644
--- a/CarpetExtra/WaveToyMoL/src/calcrhs.F77
+++ b/CarpetExtra/WaveToyMoL/src/calcrhs.F77
@@ -1,4 +1,4 @@
-c $Header: /home/eschnett/C/carpet/Carpet/CarpetExtra/WaveToyMoL/src/calcrhs.F77,v 1.1 2003/06/18 18:24:31 schnetter Exp $
+c $Header: /home/eschnett/C/carpet/Carpet/CarpetExtra/WaveToyMoL/src/calcrhs.F77,v 1.2 2003/07/20 21:03:44 schnetter Exp $
#include "cctk.h"
#include "cctk_Arguments.h"
@@ -9,26 +9,15 @@ c $Header: /home/eschnett/C/carpet/Carpet/CarpetExtra/WaveToyMoL/src/calcrhs
DECLARE_CCTK_ARGUMENTS
DECLARE_CCTK_FUNCTIONS
DECLARE_CCTK_PARAMETERS
- CCTK_REAL dx(3)
- integer bndwidth(3)
+ CCTK_INT bndwidth
+ parameter (bndwidth = 1)
integer imin(3), imax(3)
+ CCTK_REAL dx(3)
integer i, j, k
integer d
- integer ierr
- do d=1,3
- bndwidth(d) = 1
- end do
do d=1,3
- if (cctk_bbox(2*d).ne.0) then
- imin(d) = 1+bndwidth(d)
- else
- imin(d) = 1+cctk_nghostzones(d)
- end if
- if (cctk_bbox(2*d+1).ne.0) then
- imax(d) = cctk_lsh(d)-bndwidth(d)
- else
- imax(d) = cctk_lsh(d)-cctk_nghostzones(d)
- end if
+ imin(d) = 1+bndwidth
+ imax(d) = cctk_lsh(d)-bndwidth
end do
do d=1,3
dx(d) = CCTK_DELTA_SPACE(3)