From 48d30e8e785097c94db7c72f78e4ec7399127286 Mon Sep 17 00:00:00 2001 From: eschnett Date: Tue, 2 Aug 2011 23:45:52 +0000 Subject: Introduce new schedule groups, correct scheduling of others. Help ensure exact consistency while checkpointing and recovering: Introduce new schedule groups MoL_PostStepModify and MoL_PseudoEvolutionBoundaries. Correct scheduling of MoL_PseudoEvolution. git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@148 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b --- schedule.ccl | 39 +++++++++++++++++++++++++++++---------- 1 file changed, 29 insertions(+), 10 deletions(-) diff --git a/schedule.ccl b/schedule.ccl index 998f1e2..35e257e 100644 --- a/schedule.ccl +++ b/schedule.ccl @@ -657,17 +657,32 @@ schedule GROUP MoL_PostStep AT PostRestrict { } "Ensure that everything is correct after restriction" -################################################################## +############################################################## ### Schedule the PostStep parts after recovery ### ### so that symmetries are automatically done correctly. ### ### We may want to change this later as it could be ### ### expensive, but it's simplest for the moment. ### -################################################################## +############################################################## schedule GROUP MoL_PostStep AT Post_Recover_Variables { } "Ensure that everything is correct after recovery" +######################################################################### +### Physics thorns can apply enforce constraints in PostStepModify. ### +### The difference between PostStep and PostStepModify is that ### +### PostStep is scheduled at many other occasions, whereas the ### +### PostStepModify is only scheduled during evolution. ### +######################################################################### + +schedule GROUP MoL_PostStepModify IN MoL_Step AFTER MoL_PostStep +{ +} "The group for physics thorns to schedule enforcing constraints" + +schedule GROUP MoL_PostStepModify At PostInitial AFTER MoL_PostStep +{ +} "The group for physics thorns to schedule enforcing constraints" + ########################################################################## ### Schedule a pseudo-evolution group to handle variables which are ### ### not evolved, but which should be calculated at every time step. ### @@ -677,21 +692,25 @@ schedule GROUP MoL_PseudoEvolution AT PostInitial AFTER MoL_PostStep { } "Calculate pseudo-evolved quantities" -schedule GROUP MoL_PseudoEvolution AT PostRegridInitial AFTER MoL_PostStep +schedule GROUP MoL_PseudoEvolution AT Evol AFTER MoL_Evolution { } "Calculate pseudo-evolved quantities" -schedule GROUP MoL_PseudoEvolution AT Evol AFTER MoL_Evolution +schedule GROUP MoL_PseudoEvolutionBoundaries AT PostRegridInitial AFTER MoL_PostStep { -} "Calculate pseudo-evolved quantities" +} "Apply boundary conditions to pseudo-evolved quantities" -schedule GROUP MoL_PseudoEvolution AT PostRegrid AFTER MoL_PostStep +schedule GROUP MoL_PseudoEvolutionBoundaries AT PostRegrid AFTER MoL_PostStep { -} "Calculate pseudo-evolved quantities" +} "Apply boundary conditions to pseudo-evolved quantities" -schedule GROUP MoL_PseudoEvolution AT Post_Recover_Variables AFTER MoL_PostStep +schedule GROUP MoL_PseudoEvolutionBoundaries AT PostRestrictInitial AFTER MoL_PostStep { -} "Calculate pseudo-evolved quantities" +} "Apply boundary conditions to pseudo-evolved quantities" + +schedule GROUP MoL_PseudoEvolutionBoundaries AT PostRestrict AFTER MoL_PostStep +{ +} "Apply boundary conditions to pseudo-evolved quantities" ############################################################ ### Additional boundary condition bins as requested by ### @@ -735,7 +754,7 @@ schedule MoL_ResetTime IN MoL_Step AFTER MoL_DecrementCounter BEFORE MoL_PostSte OPTIONS: LEVEL } "If necessary, change the time" -schedule MoL_ResetDeltaTime IN MoL_Step AFTER MoL_PostStep +schedule MoL_ResetDeltaTime IN MoL_Step AFTER (MoL_PostStep MoL_PostStepModify) { LANG: C OPTIONS: LEVEL -- cgit v1.2.3