From 7ecbd6e427f539e2f5067b2dcca32ef613315a8a Mon Sep 17 00:00:00 2001 From: Erik Schnetter Date: Mon, 14 Jan 2008 12:20:47 +0100 Subject: Update McLachlan. ML_BSSN_Helper is now required at run time Calculate the complete RHS in one loop, including matter if desired. This requires different McLachlan builds for runs with and without matter. Make the number of active timelevels a run-time parameter. Register the slicing in ML_BSSN_Helper. This requires CoordGauge to be activated at run time. Add custom boundary conditions, to be used instead of Cactus boundary conditions. Make McLachlan fully compliant with the ADMBase initial data mechanism. Calculate RHS and constrains in special groups provided by ML_BSSN_Helper. ML_BSSN_Helper is now required at run time. --- ML_BSSN_Helper/configuration.ccl | 1 + ML_BSSN_Helper/interface.ccl | 2 ++ ML_BSSN_Helper/schedule.ccl | 43 +++++++++++++++++++++++++++++++++++- ML_BSSN_Helper/src/RegisterSlicing.c | 10 +++++++++ ML_BSSN_Helper/src/make.code.defn | 2 +- 5 files changed, 56 insertions(+), 2 deletions(-) create mode 100644 ML_BSSN_Helper/configuration.ccl create mode 100644 ML_BSSN_Helper/src/RegisterSlicing.c (limited to 'ML_BSSN_Helper') diff --git a/ML_BSSN_Helper/configuration.ccl b/ML_BSSN_Helper/configuration.ccl new file mode 100644 index 0000000..aecb1c4 --- /dev/null +++ b/ML_BSSN_Helper/configuration.ccl @@ -0,0 +1 @@ +REQUIRES THORNS: CoordGauge diff --git a/ML_BSSN_Helper/interface.ccl b/ML_BSSN_Helper/interface.ccl index 7fda368..0e82975 100644 --- a/ML_BSSN_Helper/interface.ccl +++ b/ML_BSSN_Helper/interface.ccl @@ -1 +1,3 @@ IMPLEMENTS: ML_BSSN_Helper + +INHERITS: ADMBase CoordGauge ML_BSSN diff --git a/ML_BSSN_Helper/schedule.ccl b/ML_BSSN_Helper/schedule.ccl index 49edf5e..ec388d1 100644 --- a/ML_BSSN_Helper/schedule.ccl +++ b/ML_BSSN_Helper/schedule.ccl @@ -1,7 +1,48 @@ if (CCTK_EQUALS (evolution_method, "ML_BSSN")) { + + STORAGE: ADMBase::metric[3] + STORAGE: ADMBase::curv[3] + STORAGE: ADMBase::lapse[3] + STORAGE: ADMBase::shift[3] + STORAGE: ADMBase::dtlapse[3] + STORAGE: ADMBase::dtshift[3] + + SCHEDULE ML_BSSN_RegisterSlicing AT startup + { + LANG: C + OPTIONS: meta + } "Register slicing" + SCHEDULE ML_BSSN_UnsetCheckpointTags AT basegrid { LANG: C - OPTIONS: global + OPTIONS: meta } "Don't checkpoint ADMBase variables" + + + + SCHEDULE GROUP ML_BSSN_evolCalcGroup IN MoL_CalcRHS + { + } "Calculate BSSN RHS" + + SCHEDULE GROUP ML_BSSN_evolCalcGroup AT analysis + { + TRIGGERS: ML_BSSN::ML_log_confacrhs + TRIGGERS: ML_BSSN::ML_metricrhs + TRIGGERS: ML_BSSN::ML_Gammarhs + TRIGGERS: ML_BSSN::ML_trace_curvrhs + TRIGGERS: ML_BSSN::ML_curvrhs + TRIGGERS: ML_BSSN::ML_lapserhs + TRIGGERS: ML_BSSN::ML_dtlapserhs + TRIGGERS: ML_BSSN::ML_shiftrhs + TRIGGERS: ML_BSSN::ML_dtshiftrhs + } "Calculate BSSN RHS" + + + + SCHEDULE GROUP ML_BSSN_constraintsCalcGroup AT analysis + { + TRIGGERS: ML_BSSN::Ham + TRIGGERS: ML_BSSN::mom + } "Calculate BSSN constraints" } diff --git a/ML_BSSN_Helper/src/RegisterSlicing.c b/ML_BSSN_Helper/src/RegisterSlicing.c new file mode 100644 index 0000000..313bf32 --- /dev/null +++ b/ML_BSSN_Helper/src/RegisterSlicing.c @@ -0,0 +1,10 @@ +#include + +#include "CactusEinstein/CoordGauge/src/Slicing.h" + +int +ML_BSSN_RegisterSlicing (void) +{ + Einstein_RegisterSlicing ("ML_BSSN"); + return 0; +} diff --git a/ML_BSSN_Helper/src/make.code.defn b/ML_BSSN_Helper/src/make.code.defn index 7df7001..ec09a08 100644 --- a/ML_BSSN_Helper/src/make.code.defn +++ b/ML_BSSN_Helper/src/make.code.defn @@ -1,2 +1,2 @@ # -*-Makefile-*- -SRCS = UnsetCheckpointTags.c +SRCS = RegisterSlicing.c UnsetCheckpointTags.c -- cgit v1.2.3