diff options
author | schnetter <schnetter@b2a53a04-0f4f-0410-87ed-f9f25ced00cf> | 2004-10-20 22:18:24 +0000 |
---|---|---|
committer | schnetter <schnetter@b2a53a04-0f4f-0410-87ed-f9f25ced00cf> | 2004-10-20 22:18:24 +0000 |
commit | 167e407763d63145178831ba9172a2d8848fcfac (patch) | |
tree | 7d6388a510ac6a8c59447f9053a262223ff6d4cc | |
parent | 7ca07d73e19ff65d5eaa3762ccad0242650498ff (diff) |
Provide an initial lapse that is adapted to the solution.
git-svn-id: http://svn.einsteintoolkit.org/cactus/EinsteinInitialData/TwoPunctures/trunk@26 b2a53a04-0f4f-0410-87ed-f9f25ced00cf
-rw-r--r-- | param.ccl | 6 | ||||
-rw-r--r-- | src/TwoPunctures.c | 20 |
2 files changed, 26 insertions, 0 deletions
@@ -10,6 +10,12 @@ EXTENDS KEYWORD initial_data "twopunctures" :: "two puncture black holes" } +EXTENDS KEYWORD initial_lapse +{ + "twopunctures-antisymmetric" :: "antisymmetric lapse for two puncture black holes, -1 <= alpha <= +1" + "twopunctures-averaged" :: "averaged lapse for two puncture black holes, 0 <= alpha <= +1" +} + SHARES: StaticConformal diff --git a/src/TwoPunctures.c b/src/TwoPunctures.c index e926b65..4493e7b 100644 --- a/src/TwoPunctures.c +++ b/src/TwoPunctures.c @@ -32,6 +32,8 @@ TwoPunctures (CCTK_ARGUMENTS) enum GRID_SETUP_METHOD { GSM_Taylor_expansion, GSM_evaluation }; enum GRID_SETUP_METHOD gsm; + int antisymmetric_lapse, averaged_lapse; + int nvar = 1, n1 = npoints_A, n2 = npoints_B, n3 = npoints_phi; int i, j, k, ntotal = n1 * n2 * n3 * nvar; @@ -69,6 +71,9 @@ TwoPunctures (CCTK_ARGUMENTS) CCTK_WARN (0, "internal error"); } + antisymmetric_lapse = CCTK_EQUALS(initial_lapse, "twopunctures-antisymmetric"); + averaged_lapse = CCTK_EQUALS(initial_lapse, "twopunctures-averaged"); + CCTK_INFO ("Interpolating result"); if (CCTK_EQUALS(metric_type, "static conformal")) { if (CCTK_EQUALS(conformal_storage, "factor")) { @@ -213,6 +218,21 @@ TwoPunctures (CCTK_ARGUMENTS) kyz[ind] = Aij[1][2] / pow2(psi1); kzz[ind] = Aij[2][2] / pow2(psi1); + if (antisymmetric_lapse || averaged_lapse) { +/* const double alp1 = ((1.0 - 0.5 * par_m_plus / r_plus) */ +/* / (1.0 + 0.5 * par_m_plus / r_plus)); */ +/* const double alp2 = ((1.0 - 0.5 * par_m_minus / r_minus) */ +/* / (1.0 + 0.5 * par_m_minus / r_minus)); */ +/* alp[ind] = alp1 * alp2; */ + alp[ind] = + ((1.0 - 0.5 * par_m_plus / r_plus - 0.5 * par_m_minus / r_minus) + / (1.0 + 0.5 * par_m_plus / r_plus + 0.5 * par_m_minus / r_minus)); + + if (averaged_lapse) { + alp[ind] = 0.5 * (1.0 + alp[ind]); + } + } + } } } |