diff options
Diffstat (limited to 'src/TwoPunctures.c')
-rw-r--r-- | src/TwoPunctures.c | 11 |
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; |