aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorgoodale <goodale@d576a68a-b34a-40ae-82fc-004fa1a9d16f>2002-04-29 17:20:13 +0000
committergoodale <goodale@d576a68a-b34a-40ae-82fc-004fa1a9d16f>2002-04-29 17:20:13 +0000
commitb07bdd7dc4daba05591fed570976d3a315d8964c (patch)
tree5e44cb06423abed4d1854f7e5485a5b15148048a
parentb1538d2c3a1bd35cbbd53f8993bbce6dbeda2dde (diff)
Adding a ParamCheck routine - ADMBase only knows about "physical" metric_type
so will refuse to setup "cartesian minkowski" if metric_type is not "physical". Tom git-svn-id: http://svn.einsteintoolkit.org/cactus/EinsteinBase/ADMBase/trunk@8 d576a68a-b34a-40ae-82fc-004fa1a9d16f
-rw-r--r--schedule.ccl19
-rw-r--r--src/ParamCheck.c73
-rw-r--r--src/make.code.defn2
3 files changed, 86 insertions, 8 deletions
diff --git a/schedule.ccl b/schedule.ccl
index 75e4170..d66d70e 100644
--- a/schedule.ccl
+++ b/schedule.ccl
@@ -3,9 +3,14 @@
STORAGE: metric[1], curv[1], lapse[1]
+SCHEDULE ADMBase_ParamCheck at CCTK_PARAMCHECK
+{
+ LANG: C
+} "Check consistency of parameters"
+
# Schedule group for setting initial data
-schedule group ADMBase_InitialData at CCTK_INITIAL
+SCHEDULE group ADMBase_InitialData at CCTK_INITIAL
{
} "Schedule group for ADM initial data"
@@ -13,8 +18,8 @@ schedule group ADMBase_InitialData at CCTK_INITIAL
if(CCTK_Equals(initial_data, "Cartesian Minkowski"))
{
- SCHEDULE ADMBase_CartesianMinkowski at CCTK_INITIAL
- {
+ SCHEDULE ADMBase_CartesianMinkowski in ADMBase_InitialData
+ {
LANG: C
} "Set the metric and extrinsic curvature to cartesian minkowski values"
}
@@ -24,7 +29,7 @@ if(CCTK_Equals(initial_data, "Cartesian Minkowski"))
if(CCTK_Equals(initial_lapse, "one"))
{
SCHEDULE ADMBase_LapseOne at CCTK_INITIAL
- {
+ {
LANG: C
} "Set the lapse to 1 at all points"
}
@@ -35,14 +40,14 @@ if (!CCTK_Equals(initial_shift,"none"))
STORAGE: shift[1]
SCHEDULE ADMBase_SetShiftStateOn at CCTK_BASEGRID
- {
+ {
LANG: C
} "Set the shift_state variable to 1"
}
else
{
SCHEDULE ADMBase_SetShiftStateOff at CCTK_BASEGRID
- {
+ {
LANG: C
} "Set the shift_state variable to 0"
}
@@ -52,7 +57,7 @@ else
if(CCTK_Equals(initial_shift, "zero"))
{
SCHEDULE ADMBase_ShiftZero at CCTK_INITIAL
- {
+ {
LANG: C
} "Set the shift to 0 at all points"
}
diff --git a/src/ParamCheck.c b/src/ParamCheck.c
new file mode 100644
index 0000000..7e41803
--- /dev/null
+++ b/src/ParamCheck.c
@@ -0,0 +1,73 @@
+ /*@@
+ @file ParamCheck.c
+ @date Thu Apr 25 19:02:51 2002
+ @author Tom Goodale
+ @desc
+ Parameter checking stuff for ADMBase
+ @enddesc
+ @version $Header$
+ @@*/
+
+#include "cctk.h"
+
+#include "cctk_Arguments.h"
+#include "cctk_Parameters.h"
+
+static const char *rcsid = "$Header$";
+
+CCTK_FILEVERSION(CactusEinstein_ADMBase_ParamCheck_c)
+
+/********************************************************************
+ ********************* Local Data Types ***********************
+ ********************************************************************/
+
+/********************************************************************
+ ********************* Local Routine Prototypes *********************
+ ********************************************************************/
+
+/********************************************************************
+ ***************** Scheduled Routine Prototypes *********************
+ ********************************************************************/
+
+
+/********************************************************************
+ ********************* Other Routine Prototypes *********************
+ ********************************************************************/
+
+/********************************************************************
+ ********************* Local Data *****************************
+ ********************************************************************/
+
+/********************************************************************
+ ********************* External Routines **********************
+ ********************************************************************/
+
+ /*@@
+ @routine ADMBase_ParamCheck
+ @date Thu Apr 25 19:04:06 2002
+ @author Tom Goodale
+ @desc
+ Scheduled routine to detect invalid parameter settings.
+ @enddesc
+ @calls
+ @calledby
+ @history
+
+ @endhistory
+
+ @@*/
+void ADMBase_ParamCheck(CCTK_ARGUMENTS)
+{
+ DECLARE_CCTK_ARGUMENTS;
+ DECLARE_CCTK_PARAMETERS;
+
+ if(CCTK_EQUALS(initial_data, "Cartesian Minkowski") &&
+ ! CCTK_EQUALS(metric_type, "physical"))
+ {
+ CCTK_PARAMWARN("ADMBase asked to setup Cartesian Minkowski initial data, but metric_type is not \"physical\"");
+ }
+}
+
+/********************************************************************
+ ********************* Local Routines *************************
+ ********************************************************************/
diff --git a/src/make.code.defn b/src/make.code.defn
index b40cd8e..fe350cd 100644
--- a/src/make.code.defn
+++ b/src/make.code.defn
@@ -2,7 +2,7 @@
# $Header$
# Source files in this directory
-SRCS = Initialisation.c InitSymBound.c
+SRCS = ParamCheck.c Initialisation.c InitSymBound.c
# Subdirectories containing source files
SUBDIRS =