diff options
author | Erik Schnetter <schnetter@cct.lsu.edu> | 2009-04-27 13:46:38 -0500 |
---|---|---|
committer | Erik Schnetter <schnetter@cct.lsu.edu> | 2009-04-27 13:46:38 -0500 |
commit | 20a951ae90552fd2bda42af987b1e082adba0de3 (patch) | |
tree | 49c9cdedae43dbaa83ba33c17f843f309d81c3ec /ML_BSSN_Helper/src | |
parent | 028eeb71a95553e1a4106a8b38149ad4ece8f445 (diff) |
Add Helper thorns that went missing during a merge (my apologies)
Diffstat (limited to 'ML_BSSN_Helper/src')
-rw-r--r-- | ML_BSSN_Helper/src/CopyADMBase.c | 50 | ||||
-rw-r--r-- | ML_BSSN_Helper/src/RegisterSlicing.c | 10 | ||||
-rw-r--r-- | ML_BSSN_Helper/src/SelectBCsADMBase.c | 31 | ||||
-rw-r--r-- | ML_BSSN_Helper/src/UnsetCheckpointTags.c | 59 | ||||
-rw-r--r-- | ML_BSSN_Helper/src/make.code.defn | 2 |
5 files changed, 152 insertions, 0 deletions
diff --git a/ML_BSSN_Helper/src/CopyADMBase.c b/ML_BSSN_Helper/src/CopyADMBase.c new file mode 100644 index 0000000..529e1c8 --- /dev/null +++ b/ML_BSSN_Helper/src/CopyADMBase.c @@ -0,0 +1,50 @@ +#include <stdlib.h> +#include <string.h> + +#include <cctk.h> +#include <cctk_Arguments.h> + +static void +copy (cGH const * restrict cctkGH, + CCTK_REAL * restrict dst, CCTK_REAL const * restrict src); + +void +ML_BSSN_CopyADMBase (CCTK_ARGUMENTS) +{ + DECLARE_CCTK_ARGUMENTS; + + copy (cctkGH, gxx, gxx_p); + copy (cctkGH, gxy, gxx_p); + copy (cctkGH, gxz, gxx_p); + copy (cctkGH, gyy, gxx_p); + copy (cctkGH, gyz, gxx_p); + copy (cctkGH, gzz, gxx_p); + + copy (cctkGH, kxx, gxx_p); + copy (cctkGH, kxy, gxx_p); + copy (cctkGH, kxz, gxx_p); + copy (cctkGH, kyy, gxx_p); + copy (cctkGH, kyz, gxx_p); + copy (cctkGH, kzz, gxx_p); + + copy (cctkGH, alp, alp_p); + + copy (cctkGH, betax, betax_p); + copy (cctkGH, betay, betay_p); + copy (cctkGH, betaz, betaz_p); + + copy (cctkGH, dtalp, dtalp_p); + + copy (cctkGH, dtbetax, dtbetax_p); + copy (cctkGH, dtbetay, dtbetay_p); + copy (cctkGH, dtbetaz, dtbetaz_p); +} + +static void +copy (cGH const * restrict const cctkGH, + CCTK_REAL * restrict const dst, CCTK_REAL const * restrict const src) +{ + size_t const npoints = + (size_t) cctkGH->cctk_lsh[0] * cctkGH->cctk_lsh[1] * cctkGH->cctk_lsh[2]; + memcpy (dst, src, npoints * sizeof *dst); +} 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 <cctk.h> + +#include "CactusEinstein/CoordGauge/src/Slicing.h" + +int +ML_BSSN_RegisterSlicing (void) +{ + Einstein_RegisterSlicing ("ML_BSSN"); + return 0; +} diff --git a/ML_BSSN_Helper/src/SelectBCsADMBase.c b/ML_BSSN_Helper/src/SelectBCsADMBase.c new file mode 100644 index 0000000..315d713 --- /dev/null +++ b/ML_BSSN_Helper/src/SelectBCsADMBase.c @@ -0,0 +1,31 @@ +#include <assert.h> + +#include <cctk.h> +#include <cctk_Arguments.h> +#include <cctk_Parameters.h> + +static void +select_bcs (cGH const * restrict cctkGH, char const * restrict gn); + +void +ML_BSSN_SelectBCsADMBase (CCTK_ARGUMENTS) +{ + DECLARE_CCTK_ARGUMENTS; + + select_bcs (cctkGH, "ADMBase::metric"); + select_bcs (cctkGH, "ADMBase::curv"); + select_bcs (cctkGH, "ADMBase::lapse"); + select_bcs (cctkGH, "ADMBase::shift"); + select_bcs (cctkGH, "ADMBase::dtlapse"); + select_bcs (cctkGH, "ADMBase::dtshift"); +} + +static void +select_bcs (cGH const * restrict const cctkGH, char const * restrict const gn) +{ + DECLARE_CCTK_PARAMETERS; + + int const ierr = Boundary_SelectGroupForBC + (cctkGH, CCTK_ALL_FACES, boundary_width, -1, gn, "none"); + assert (! ierr); +} diff --git a/ML_BSSN_Helper/src/UnsetCheckpointTags.c b/ML_BSSN_Helper/src/UnsetCheckpointTags.c new file mode 100644 index 0000000..3eaf347 --- /dev/null +++ b/ML_BSSN_Helper/src/UnsetCheckpointTags.c @@ -0,0 +1,59 @@ +#include <cctk.h> +#include <util_Table.h> + +#include <assert.h> + +static void +unset_checkpoint_tag (int prolongate, char const * restrict gn); + +int +ML_BSSN_UnsetCheckpointTags (void) +{ + unset_checkpoint_tag (1, "ADMBase::metric"); + unset_checkpoint_tag (1, "ADMBase::curv"); + unset_checkpoint_tag (1, "ADMBase::lapse"); + unset_checkpoint_tag (1, "ADMBase::shift"); + unset_checkpoint_tag (1, "ADMBase::dtlapse"); + unset_checkpoint_tag (1, "ADMBase::dtshift"); + + unset_checkpoint_tag (0, "ML_BSSN::ML_cons_detg"); + unset_checkpoint_tag (0, "ML_BSSN::ML_cons_Gamma"); + unset_checkpoint_tag (0, "ML_BSSN::ML_cons_traceA"); + unset_checkpoint_tag (0, "ML_BSSN::ML_Ham"); + unset_checkpoint_tag (0, "ML_BSSN::ML_mom"); + unset_checkpoint_tag (0, "ML_BSSN::ML_curvrhs"); + unset_checkpoint_tag (0, "ML_BSSN::ML_dtlapserhs"); + unset_checkpoint_tag (0, "ML_BSSN::ML_dtshiftrhs"); + unset_checkpoint_tag (0, "ML_BSSN::ML_Gammarhs"); + unset_checkpoint_tag (0, "ML_BSSN::ML_lapserhs"); + unset_checkpoint_tag (0, "ML_BSSN::ML_log_confacrhs"); + unset_checkpoint_tag (0, "ML_BSSN::ML_metricrhs"); + unset_checkpoint_tag (0, "ML_BSSN::ML_shiftrhs"); + unset_checkpoint_tag (0, "ML_BSSN::ML_trace_curvrhs"); + + return 0; +} + +static void +unset_checkpoint_tag (int const prolongate, 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 ierr; + ierr = Util_TableSetString (table, "no", "Checkpoint"); + assert (! ierr); + + ierr = Util_TableSetString (table, "no", "Persistent"); + assert (! ierr); + + if (! prolongate) { + ierr = Util_TableSetString (table, "none", "Prolongation"); + 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..86aceb8 --- /dev/null +++ b/ML_BSSN_Helper/src/make.code.defn @@ -0,0 +1,2 @@ +# -*-Makefile-*- +SRCS = CopyADMBase.c RegisterSlicing.c SelectBCsADMBase.c UnsetCheckpointTags.c |