aboutsummaryrefslogtreecommitdiff
path: root/ML_BSSN_Helper
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_Helper
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_Helper')
-rw-r--r--ML_BSSN_Helper/src/SetGroupTags.c43
1 files changed, 22 insertions, 21 deletions
diff --git a/ML_BSSN_Helper/src/SetGroupTags.c b/ML_BSSN_Helper/src/SetGroupTags.c
index 4b24e56..7ae24bb 100644
--- a/ML_BSSN_Helper/src/SetGroupTags.c
+++ b/ML_BSSN_Helper/src/SetGroupTags.c
@@ -15,29 +15,30 @@ ML_BSSN_SetGroupTags (void)
{
DECLARE_CCTK_PARAMETERS;
- set_group_tags (0, 0, 1, "ADMBase::metric");
- set_group_tags (0, 0, 1, "ADMBase::curv");
- set_group_tags (0, 0, 1, "ADMBase::lapse");
- set_group_tags (0, 0, 1, "ADMBase::shift");
- set_group_tags (0, 0, 1, "ADMBase::dtlapse");
- set_group_tags (0, 0, 1, "ADMBase::dtshift");
+ int const checkpoint = timelevels > 1;
+ set_group_tags (checkpoint, checkpoint, 1, "ADMBase::metric");
+ set_group_tags (checkpoint, checkpoint, 1, "ADMBase::curv");
+ set_group_tags (checkpoint, checkpoint, 1, "ADMBase::lapse");
+ set_group_tags (checkpoint, checkpoint, 1, "ADMBase::shift");
+ set_group_tags (checkpoint, checkpoint, 1, "ADMBase::dtlapse");
+ set_group_tags (checkpoint, checkpoint, 1, "ADMBase::dtshift");
- set_group_tags (0, 0, 0, "ML_BSSN::ML_cons_detg");
- set_group_tags (0, 0, 0, "ML_BSSN::ML_cons_Gamma");
- set_group_tags (0, 0, 0, "ML_BSSN::ML_cons_traceA");
- set_group_tags (0, 0, 0, "ML_BSSN::ML_Ham");
- set_group_tags (0, 0, 0, "ML_BSSN::ML_mom");
+ set_group_tags (checkpoint, checkpoint, 0, "ML_BSSN::ML_cons_detg");
+ set_group_tags (checkpoint, checkpoint, 0, "ML_BSSN::ML_cons_Gamma");
+ set_group_tags (checkpoint, checkpoint, 0, "ML_BSSN::ML_cons_traceA");
+ set_group_tags (checkpoint, checkpoint, 0, "ML_BSSN::ML_Ham");
+ set_group_tags (checkpoint, checkpoint, 0, "ML_BSSN::ML_mom");
- int const checkpoint = rhs_timelevels > 1;
- set_group_tags (checkpoint, checkpoint, 0, "ML_BSSN::ML_log_confacrhs");
- set_group_tags (checkpoint, checkpoint, 0, "ML_BSSN::ML_metricrhs");
- set_group_tags (checkpoint, checkpoint, 0, "ML_BSSN::ML_Gammarhs");
- set_group_tags (checkpoint, checkpoint, 0, "ML_BSSN::ML_trace_curvrhs");
- set_group_tags (checkpoint, checkpoint, 0, "ML_BSSN::ML_curvrhs");
- set_group_tags (checkpoint, checkpoint, 0, "ML_BSSN::ML_lapserhs");
- set_group_tags (checkpoint, checkpoint, 0, "ML_BSSN::ML_dtlapserhs");
- set_group_tags (checkpoint, checkpoint, 0, "ML_BSSN::ML_shiftrhs");
- set_group_tags (checkpoint, checkpoint, 0, "ML_BSSN::ML_dtshiftrhs");
+ int const rhs_checkpoint = rhs_timelevels > 1;
+ set_group_tags (rhs_checkpoint, rhs_checkpoint, 0, "ML_BSSN::ML_log_confacrhs");
+ set_group_tags (rhs_checkpoint, rhs_checkpoint, 0, "ML_BSSN::ML_metricrhs");
+ set_group_tags (rhs_checkpoint, rhs_checkpoint, 0, "ML_BSSN::ML_Gammarhs");
+ set_group_tags (rhs_checkpoint, rhs_checkpoint, 0, "ML_BSSN::ML_trace_curvrhs");
+ set_group_tags (rhs_checkpoint, rhs_checkpoint, 0, "ML_BSSN::ML_curvrhs");
+ set_group_tags (rhs_checkpoint, rhs_checkpoint, 0, "ML_BSSN::ML_lapserhs");
+ set_group_tags (rhs_checkpoint, rhs_checkpoint, 0, "ML_BSSN::ML_dtlapserhs");
+ set_group_tags (rhs_checkpoint, rhs_checkpoint, 0, "ML_BSSN::ML_shiftrhs");
+ set_group_tags (rhs_checkpoint, rhs_checkpoint, 0, "ML_BSSN::ML_dtshiftrhs");
return 0;
}