diff options
author | allen <allen@eec4d7dc-71c2-46d6-addf-10296150bf52> | 2002-05-04 11:34:44 +0000 |
---|---|---|
committer | allen <allen@eec4d7dc-71c2-46d6-addf-10296150bf52> | 2002-05-04 11:34:44 +0000 |
commit | 76c77724cb9c5c4302de36f9a8333c4998547578 (patch) | |
tree | 4b8201c0c128fbf46c491b27784c57c44a03dbf5 /src | |
parent | 36ed3bfdf64c621e22df2e74d39bd7bf796e5865 (diff) |
Changes so that Cartoon works with both old and new einstein
New testsuite is the same as test_cartoon_1
git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/Cartoon2D/trunk@33 eec4d7dc-71c2-46d6-addf-10296150bf52
Diffstat (limited to 'src')
-rw-r--r-- | src/CheckParameters.c | 26 | ||||
-rw-r--r-- | src/SetSym.c | 163 |
2 files changed, 132 insertions, 57 deletions
diff --git a/src/CheckParameters.c b/src/CheckParameters.c index 224dfed..90fc1f1 100644 --- a/src/CheckParameters.c +++ b/src/CheckParameters.c @@ -15,6 +15,32 @@ static const char *rcsid = "$Id$"; CCTK_FILEVERSION(Development_Cartoon2D_CheckParameters_c) +/******************************************************************** + ********************* Local Data Types *********************** + ********************************************************************/ + +/******************************************************************** + ********************* Local Routine Prototypes ********************* + ********************************************************************/ + +/******************************************************************** + ***************** Scheduled Routine Prototypes ********************* + ********************************************************************/ + +void Cartoon2D_CheckParameters(CCTK_ARGUMENTS); + +/******************************************************************** + ********************* Other Routine Prototypes ********************* + ********************************************************************/ + +/******************************************************************** + ********************* Local Data ***************************** + ********************************************************************/ + +/******************************************************************** + ********************* External Routines ********************** + ********************************************************************/ + /*@@ @routine Cartoon2D_CheckParameters @date Wed Nov 3 10:17:46 MET 1999 diff --git a/src/SetSym.c b/src/SetSym.c index 423b0b0..febd1b4 100644 --- a/src/SetSym.c +++ b/src/SetSym.c @@ -81,27 +81,53 @@ Cartoon_SetSym_Einstein(CCTK_ARGUMENTS) DECLARE_CCTK_ARGUMENTS int one; + int testsystem; char* evo_sys; CCTK_INFO("Resetting cartoon boundary symmetries for Einstein variables"); - ResetSym(cctkGH, "einstein::gxx"); - ResetSym(cctkGH, "einstein::gyy"); - ResetSym(cctkGH, "einstein::gzz"); - ResetSym(cctkGH, "einstein::gxy"); - ResetSym(cctkGH, "einstein::gxz"); - ResetSym(cctkGH, "einstein::gyz"); - ResetSym(cctkGH, "einstein::kxx"); - ResetSym(cctkGH, "einstein::kyy"); - ResetSym(cctkGH, "einstein::kzz"); - ResetSym(cctkGH, "einstein::kxy"); - ResetSym(cctkGH, "einstein::kxz"); - ResetSym(cctkGH, "einstein::kyz"); - ResetSym(cctkGH, "einstein::alp"); - ResetSym(cctkGH, "einstein::betax"); - ResetSym(cctkGH, "einstein::betay"); - ResetSym(cctkGH, "einstein::betaz"); - ResetSym(cctkGH, "einstein::emask"); + /* Handle both old and new einstein systems */ + if (CCTK_GroupIndex("einstein::metric") > -1) + { + ResetSym(cctkGH, "einstein::gxx"); + ResetSym(cctkGH, "einstein::gyy"); + ResetSym(cctkGH, "einstein::gzz"); + ResetSym(cctkGH, "einstein::gxy"); + ResetSym(cctkGH, "einstein::gxz"); + ResetSym(cctkGH, "einstein::gyz"); + ResetSym(cctkGH, "einstein::kxx"); + ResetSym(cctkGH, "einstein::kyy"); + ResetSym(cctkGH, "einstein::kzz"); + ResetSym(cctkGH, "einstein::kxy"); + ResetSym(cctkGH, "einstein::kxz"); + ResetSym(cctkGH, "einstein::kyz"); + ResetSym(cctkGH, "einstein::alp"); + ResetSym(cctkGH, "einstein::betax"); + ResetSym(cctkGH, "einstein::betay"); + ResetSym(cctkGH, "einstein::betaz"); + ResetSym(cctkGH, "einstein::emask"); + } + else if (CCTK_GroupIndex("admbase::metric") > -1) + { + ResetSym(cctkGH, "admbase::gxx"); + ResetSym(cctkGH, "admbase::gyy"); + ResetSym(cctkGH, "admbase::gzz"); + ResetSym(cctkGH, "admbase::gxy"); + ResetSym(cctkGH, "admbase::gxz"); + ResetSym(cctkGH, "admbase::gyz"); + ResetSym(cctkGH, "admbase::kxx"); + ResetSym(cctkGH, "admbase::kyy"); + ResetSym(cctkGH, "admbase::kzz"); + ResetSym(cctkGH, "admbase::kxy"); + ResetSym(cctkGH, "admbase::kxz"); + ResetSym(cctkGH, "admbase::kyz"); + ResetSym(cctkGH, "admbase::alp"); + ResetSym(cctkGH, "admbase::betax"); + ResetSym(cctkGH, "admbase::betay"); + ResetSym(cctkGH, "admbase::betaz"); + ResetSym(cctkGH, "spacemask::emask"); + } + } /*@@ @@ -121,52 +147,70 @@ Cartoon_SetSym_BSSN(CCTK_ARGUMENTS) DECLARE_CCTK_ARGUMENTS DECLARE_CCTK_PARAMETERS + int ret=0; char* method; char* evolution_system; + char* evolution_method; evolution_system = CCTK_ParameterValString("evolution_system", "Einstein"); - - if (!CCTK_Equals(evolution_system, "adm_bssn")) + evolution_method = CCTK_ParameterValString("evolution_method", "ADMBase"); + + if (evolution_system) + { + ret = CCTK_Equals(evolution_system, "adm_bssn"); + } + else if (evolution_method) + { + ret = CCTK_Equals(evolution_method, "adm_bssn"); + } + + if (ret) + { + + CCTK_INFO("Resetting cartoon boundary symmetries for ADM_BSSN variables"); + + ResetSym(cctkGH, "adm_bssn::ADM_BS_dtalp"); + ResetSym(cctkGH, "adm_bssn::ADM_BS_phi"); + ResetSym(cctkGH, "adm_bssn::ADM_BS_gxx"); + ResetSym(cctkGH, "adm_bssn::ADM_BS_gyy"); + ResetSym(cctkGH, "adm_bssn::ADM_BS_gzz"); + ResetSym(cctkGH, "adm_bssn::ADM_BS_K"); + ResetSym(cctkGH, "adm_bssn::ADM_BS_Axx"); + ResetSym(cctkGH, "adm_bssn::ADM_BS_Ayy"); + ResetSym(cctkGH, "adm_bssn::ADM_BS_Azz"); + ResetSym(cctkGH, "adm_bssn::ADM_BS_mask"); + ResetSym(cctkGH, "adm_bssn::ADM_BS_gxy"); + ResetSym(cctkGH, "adm_bssn::ADM_BS_Axy"); + ResetSym(cctkGH, "adm_bssn::ADM_BS_gxz"); + ResetSym(cctkGH, "adm_bssn::ADM_BS_Axz"); + ResetSym(cctkGH, "adm_bssn::ADM_BS_gyz"); + ResetSym(cctkGH, "adm_bssn::ADM_BS_Ayz"); + ResetSym(cctkGH, "adm_bssn::ADM_BS_Gx"); + ResetSym(cctkGH, "adm_bssn::ADM_BS_Bx"); + ResetSym(cctkGH, "adm_bssn::ADM_BS_dirx"); + ResetSym(cctkGH, "adm_bssn::ADM_BS_Gy"); + ResetSym(cctkGH, "adm_bssn::ADM_BS_By"); + ResetSym(cctkGH, "adm_bssn::ADM_BS_diry"); + ResetSym(cctkGH, "adm_bssn::ADM_BS_Gz"); + ResetSym(cctkGH, "adm_bssn::ADM_BS_Bz"); + ResetSym(cctkGH, "adm_bssn::ADM_BS_dirz"); + + if (CCTK_GroupIndex("einstein::shift") > -1) { - free(evolution_system); - return; + ResetSym(cctkGH, "einstein::betax"); + ResetSym(cctkGH, "einstein::betay"); + ResetSym(cctkGH, "einstein::betaz"); + } + else if (CCTK_GroupIndex("admbase::shift") > -1) + { + ResetSym(cctkGH, "admbase::betax"); + ResetSym(cctkGH, "admbase::betay"); + ResetSym(cctkGH, "admbase::betaz"); } - free(evolution_system); - CCTK_INFO("Resetting cartoon boundary symmetries for ADM_BSSN variables"); - - ResetSym(cctkGH, "adm_bssn::ADM_BS_dtalp"); - ResetSym(cctkGH, "adm_bssn::ADM_BS_phi"); - ResetSym(cctkGH, "adm_bssn::ADM_BS_gxx"); - ResetSym(cctkGH, "adm_bssn::ADM_BS_gyy"); - ResetSym(cctkGH, "adm_bssn::ADM_BS_gzz"); - ResetSym(cctkGH, "adm_bssn::ADM_BS_K"); - ResetSym(cctkGH, "adm_bssn::ADM_BS_Axx"); - ResetSym(cctkGH, "adm_bssn::ADM_BS_Ayy"); - ResetSym(cctkGH, "adm_bssn::ADM_BS_Azz"); - ResetSym(cctkGH, "adm_bssn::ADM_BS_mask"); - ResetSym(cctkGH, "adm_bssn::ADM_BS_gxy"); - ResetSym(cctkGH, "adm_bssn::ADM_BS_Axy"); - ResetSym(cctkGH, "adm_bssn::ADM_BS_gxz"); - ResetSym(cctkGH, "adm_bssn::ADM_BS_Axz"); - ResetSym(cctkGH, "adm_bssn::ADM_BS_gyz"); - ResetSym(cctkGH, "adm_bssn::ADM_BS_Ayz"); - ResetSym(cctkGH, "einstein::betax"); - ResetSym(cctkGH, "adm_bssn::ADM_BS_Gx"); - ResetSym(cctkGH, "adm_bssn::ADM_BS_Bx"); - ResetSym(cctkGH, "adm_bssn::ADM_BS_dirx"); - ResetSym(cctkGH, "einstein::betay"); - ResetSym(cctkGH, "adm_bssn::ADM_BS_Gy"); - ResetSym(cctkGH, "adm_bssn::ADM_BS_By"); - ResetSym(cctkGH, "adm_bssn::ADM_BS_diry"); - ResetSym(cctkGH, "einstein::betaz"); - ResetSym(cctkGH, "adm_bssn::ADM_BS_Gz"); - ResetSym(cctkGH, "adm_bssn::ADM_BS_Bz"); - ResetSym(cctkGH, "adm_bssn::ADM_BS_dirz"); - - method = CCTK_ParameterValString("method", "ADM_BSSN"); - - if (CCTK_Equals(method, "stagleap")) + method = CCTK_ParameterValString("method", "ADM_BSSN"); + + if (CCTK_Equals(method, "stagleap")) { ResetSym(cctkGH, "adm_bssn::ADM_BS_K_stag"); ResetSym(cctkGH, "adm_bssn::ADM_BS_Axx_stag"); @@ -176,6 +220,11 @@ Cartoon_SetSym_BSSN(CCTK_ARGUMENTS) ResetSym(cctkGH, "adm_bssn::ADM_BS_Axz_stag"); ResetSym(cctkGH, "adm_bssn::ADM_BS_Ayz_stag"); } - free(method); + free(method); + + } + + free(evolution_system); + free(evolution_method); } |