diff options
author | schnetter <> | 2003-07-20 19:03:00 +0000 |
---|---|---|
committer | schnetter <> | 2003-07-20 19:03:00 +0000 |
commit | 57eaa7849a138658c97655edaab19028b47febc9 (patch) | |
tree | 2ab2eb2d50e92c3c61d29cb2be35fc03901509c5 | |
parent | 4a6805faf80b8cb6034cdc83208ed41f2a9c1505 (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
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) |