aboutsummaryrefslogtreecommitdiff
path: root/ML_BSSN_Helper
diff options
context:
space:
mode:
authorErik Schnetter <schnetter@cct.lsu.edu>2008-01-02 15:17:48 +0100
committerErik Schnetter <schnetter@cct.lsu.edu>2008-01-02 15:17:48 +0100
commitb63fa9341d98d6f1189869e745b26ce4f4abd4fd (patch)
tree22e07250e6ffc99a2283ae9ce433cf68dbd3771f /ML_BSSN_Helper
parent51c2468863e407195bd99c852071bdda74a889dd (diff)
Add new thorn ML_BSSN_Helper
Add a new thorn which disables checkpointing of the ADMBase variables.
Diffstat (limited to 'ML_BSSN_Helper')
-rw-r--r--ML_BSSN_Helper/interface.ccl1
-rw-r--r--ML_BSSN_Helper/param.ccl3
-rw-r--r--ML_BSSN_Helper/schedule.ccl7
-rw-r--r--ML_BSSN_Helper/src/UnsetCheckpointTags.c38
-rw-r--r--ML_BSSN_Helper/src/make.code.defn2
5 files changed, 51 insertions, 0 deletions
diff --git a/ML_BSSN_Helper/interface.ccl b/ML_BSSN_Helper/interface.ccl
new file mode 100644
index 0000000..7fda368
--- /dev/null
+++ b/ML_BSSN_Helper/interface.ccl
@@ -0,0 +1 @@
+IMPLEMENTS: ML_BSSN_Helper
diff --git a/ML_BSSN_Helper/param.ccl b/ML_BSSN_Helper/param.ccl
new file mode 100644
index 0000000..97850ba
--- /dev/null
+++ b/ML_BSSN_Helper/param.ccl
@@ -0,0 +1,3 @@
+SHARES: ADMBase
+
+USES KEYWORD evolution_method
diff --git a/ML_BSSN_Helper/schedule.ccl b/ML_BSSN_Helper/schedule.ccl
new file mode 100644
index 0000000..49edf5e
--- /dev/null
+++ b/ML_BSSN_Helper/schedule.ccl
@@ -0,0 +1,7 @@
+if (CCTK_EQUALS (evolution_method, "ML_BSSN")) {
+ SCHEDULE ML_BSSN_UnsetCheckpointTags AT basegrid
+ {
+ LANG: C
+ OPTIONS: global
+ } "Don't checkpoint ADMBase variables"
+}
diff --git a/ML_BSSN_Helper/src/UnsetCheckpointTags.c b/ML_BSSN_Helper/src/UnsetCheckpointTags.c
new file mode 100644
index 0000000..0375846
--- /dev/null
+++ b/ML_BSSN_Helper/src/UnsetCheckpointTags.c
@@ -0,0 +1,38 @@
+#include <cctk.h>
+#include <cctk_Arguments.h>
+#include <cctk_Parameters.h>
+#include <util_Table.h>
+
+#include <assert.h>
+
+static void
+unset_checkpoint_tag (char const * restrict gn);
+
+void
+ML_BSSN_UnsetCheckpointTags (CCTK_ARGUMENTS)
+{
+ DECLARE_CCTK_ARGUMENTS;
+ DECLARE_CCTK_PARAMETERS;
+
+ unset_checkpoint_tag ("ADMBase::metric");
+ unset_checkpoint_tag ("ADMBase::curv");
+ unset_checkpoint_tag ("ADMBase::lapse");
+ unset_checkpoint_tag ("ADMBase::shift");
+ unset_checkpoint_tag ("ADMBase::dtlapse");
+ unset_checkpoint_tag ("ADMBase::dtshift");
+}
+
+static void
+unset_checkpoint_tag (char const * restrict const gn)
+{
+ assert (gn);
+
+ int const gi = CCTK_GroupIndex (gn);
+ assert (gi >= 0);
+
+ int const table = CCTK_GroupTagsTableI (gi);
+ assert (table >= 0);
+
+ int const ierr = Util_TableSetString (table, "no", "Checkpoint");
+ assert (! ierr);
+}
diff --git a/ML_BSSN_Helper/src/make.code.defn b/ML_BSSN_Helper/src/make.code.defn
new file mode 100644
index 0000000..7df7001
--- /dev/null
+++ b/ML_BSSN_Helper/src/make.code.defn
@@ -0,0 +1,2 @@
+# -*-Makefile-*-
+SRCS = UnsetCheckpointTags.c