aboutsummaryrefslogtreecommitdiff
path: root/ML_BSSN
diff options
context:
space:
mode:
authorErik Schnetter <schnetter@cct.lsu.edu>2011-08-02 20:37:19 -0400
committerErik Schnetter <schnetter@cct.lsu.edu>2011-08-02 20:37:19 -0400
commit3ba8a55ae2578cb6dc06f0ec8b81f86b3a2654ac (patch)
treefb4b417951204eb82ae19b4ed2dd207ef2fb0f20 /ML_BSSN
parent4c04a8bc35cf7706e144fe771ba5d6c907f5a455 (diff)
Correct schedule, in particular for checkpoint/recovery
Do not mark ADMBase variables for non-checkpointing if they have multiple timelevels. (Variables with multiple timelevels must always be checkpointed, because the past timelevels cannot be regenerated after recovery.) Finally remove all perl post-processing of the auto-generated code; instead, use proper Kranc mechanisms. Schedule the ADM constraints and ADM quantities after MoL_PostStep, since this is where the ADMBase variables are set. Schedule enforcing the BSSN constraints in the new schedule group MoL_PostStepModify, since they should not be enforced after recovery. (This would lead to inconsistencies at floating-point round-off level.) Regenerate all thorns.
Diffstat (limited to 'ML_BSSN')
-rw-r--r--ML_BSSN/schedule.ccl20
1 files changed, 5 insertions, 15 deletions
diff --git a/ML_BSSN/schedule.ccl b/ML_BSSN/schedule.ccl
index 9477f4a..9c0fddb 100644
--- a/ML_BSSN/schedule.ccl
+++ b/ML_BSSN/schedule.ccl
@@ -340,7 +340,7 @@ if (CCTK_EQUALS(my_rhs_boundary_condition, "static"))
} "ML_BSSN_RHSStaticBoundary"
}
-schedule ML_BSSN_enforce IN MoL_PostStep BEFORE ML_BSSN_SelectBoundConds
+schedule ML_BSSN_enforce IN MoL_PostStepModify
{
LANG: C
} "ML_BSSN_enforce"
@@ -388,7 +388,7 @@ if (CCTK_EQUALS(dt_lapse_shift_method, "noLapseShiftAdvection"))
} "ML_BSSN_convertToADMBaseFakeDtLapseShift"
}
-schedule group ML_BSSN_constraints1_group in MoL_PseudoEvolution
+schedule group ML_BSSN_constraints1_group in MoL_PseudoEvolution after MoL_PostStep
{
# no language specified
} "ML_BSSN_constraints1"
@@ -415,17 +415,12 @@ schedule group ML_BSSN_constraints1_bc_group in ML_BSSN_constraints1_group after
# no language specified
} "ML_BSSN_constraints1"
-schedule group ML_BSSN_constraints1_bc_group at CCTK_POSTRESTRICT
+schedule group ML_BSSN_constraints1_bc_group in MoL_PseudoEvolutionBoundaries after MoL_PostStep
{
# no language specified
} "ML_BSSN_constraints1"
-schedule group ML_BSSN_constraints1_bc_group at CCTK_POSTRESTRICTINITIAL
-{
- # no language specified
-} "ML_BSSN_constraints1"
-
-schedule group ML_BSSN_constraints2_group in MoL_PseudoEvolution
+schedule group ML_BSSN_constraints2_group in MoL_PseudoEvolution after MoL_PostStep
{
# no language specified
} "ML_BSSN_constraints2"
@@ -455,12 +450,7 @@ schedule group ML_BSSN_constraints2_bc_group in ML_BSSN_constraints2_group after
# no language specified
} "ML_BSSN_constraints2"
-schedule group ML_BSSN_constraints2_bc_group at CCTK_POSTRESTRICT
-{
- # no language specified
-} "ML_BSSN_constraints2"
-
-schedule group ML_BSSN_constraints2_bc_group at CCTK_POSTRESTRICTINITIAL
+schedule group ML_BSSN_constraints2_bc_group in MoL_PseudoEvolutionBoundaries after MoL_PostStep
{
# no language specified
} "ML_BSSN_constraints2"