From b07bdd7dc4daba05591fed570976d3a315d8964c Mon Sep 17 00:00:00 2001 From: goodale Date: Mon, 29 Apr 2002 17:20:13 +0000 Subject: 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 --- schedule.ccl | 19 ++++++++------ src/ParamCheck.c | 73 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/make.code.defn | 2 +- 3 files changed, 86 insertions(+), 8 deletions(-) create mode 100644 src/ParamCheck.c 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 = -- cgit v1.2.3