aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorschnetter <>2003-07-20 19:03:00 +0000
committerschnetter <>2003-07-20 19:03:00 +0000
commit57eaa7849a138658c97655edaab19028b47febc9 (patch)
tree2ab2eb2d50e92c3c61d29cb2be35fc03901509c5
parent4a6805faf80b8cb6034cdc83208ed41f2a9c1505 (diff)
Fix the casing of the postrestrict group to PostRestrict. Update all
Fix the casing of the postrestrict group to PostRestrict. Update all schedule.ccl files accordingly. Introduce a Carpet parameter buffer_width. This parameter specifies a region within refined grids that is also boundary-prolongated. Introduce a function CarpetEnableProlongation to dis- and re-enable boundary prolongation. darcs-hash:20030720190343-07bb3-0c5db5cebe769c0d4b3237f11a089aab9da94b1a.gz
-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)