From 3ba8a55ae2578cb6dc06f0ec8b81f86b3a2654ac Mon Sep 17 00:00:00 2001 From: Erik Schnetter Date: Tue, 2 Aug 2011 20:37:19 -0400 Subject: 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. --- ML_BSSN/schedule.ccl | 20 +++++--------------- 1 file changed, 5 insertions(+), 15 deletions(-) (limited to 'ML_BSSN') 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" -- cgit v1.2.3