aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoreschnett <eschnett@578cdeb0-5ea1-4b81-8215-5a3b8777ee0b>2011-08-02 23:45:52 +0000
committereschnett <eschnett@578cdeb0-5ea1-4b81-8215-5a3b8777ee0b>2011-08-02 23:45:52 +0000
commit48d30e8e785097c94db7c72f78e4ec7399127286 (patch)
tree180a6e6e3aa6cf39568e5fd7b7fd4fae61e64cf9
parent06ab1f5caf1a3a3a4a372b8dee6539da8f9e919d (diff)
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
-rw-r--r--schedule.ccl39
1 files 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