aboutsummaryrefslogtreecommitdiff
path: root/src/TwoPunctures.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/TwoPunctures.c')
-rw-r--r--src/TwoPunctures.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/TwoPunctures.c b/src/TwoPunctures.c
index eaf4164..4e8b6f5 100644
--- a/src/TwoPunctures.c
+++ b/src/TwoPunctures.c
@@ -180,7 +180,7 @@ TwoPunctures (CCTK_ARGUMENTS)
enum GRID_SETUP_METHOD { GSM_Taylor_expansion, GSM_evaluation };
enum GRID_SETUP_METHOD gsm;
- int antisymmetric_lapse, averaged_lapse;
+ int antisymmetric_lapse, averaged_lapse, pmn_lapse;
int nvar = 1, n1 = npoints_A, n2 = npoints_B, n3 = npoints_phi;
@@ -242,6 +242,10 @@ TwoPunctures (CCTK_ARGUMENTS)
antisymmetric_lapse = CCTK_EQUALS(initial_lapse, "twopunctures-antisymmetric");
averaged_lapse = CCTK_EQUALS(initial_lapse, "twopunctures-averaged");
+ pmn_lapse = CCTK_EQUALS(initial_lapse, "psi^n");
+ if (pmn_lapse)
+ CCTK_VInfo(CCTK_THORNSTRING, "Setting initial lapse to psi^%f profile.",
+ initial_lapse_psi_exponent);
CCTK_INFO ("Interpolating result");
if (CCTK_EQUALS(metric_type, "static conformal")) {
@@ -319,7 +323,7 @@ TwoPunctures (CCTK_ARGUMENTS)
double Aij[3][3];
BY_Aijofxyz (x[ind], y[ind], z[ind], Aij);
- if (*conformal_state > 0) {
+ if ((*conformal_state > 0) || (pmn_lapse)) {
double xp, yp, zp, rp, ir;
double s1, s3, s5;
@@ -409,6 +413,9 @@ TwoPunctures (CCTK_ARGUMENTS)
psizz[ind] = pzz / static_psi;
}
+ if (pmn_lapse)
+ alp[ind] = pow(p, initial_lapse_psi_exponent);
+
} /* if conformal-state > 0 */
puncture_u[ind] = U;