aboutsummaryrefslogtreecommitdiff
path: root/src/TwoPunctures.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/TwoPunctures.c')
-rw-r--r--src/TwoPunctures.c20
1 files changed, 20 insertions, 0 deletions
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]);
+ }
+ }
+
}
}
}