aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorpollney <pollney@b2a53a04-0f4f-0410-87ed-f9f25ced00cf>2006-04-03 17:14:56 +0000
committerpollney <pollney@b2a53a04-0f4f-0410-87ed-f9f25ced00cf>2006-04-03 17:14:56 +0000
commit7fd9ab1996d56de722d2945e298c85d3751ca5db (patch)
tree50ba91c56e7fff8bea84842fde03e3b3b6e1bcdf
parenta1a9c98fc4f1e907341844611d37fbddf7aca23a (diff)
Added new intial lapse profile, 'psi^n' corresponding to the initial
conformal factor raised to some exponent, given by the new parameter initial_lapse_psi_exponent. git-svn-id: http://svn.einsteintoolkit.org/cactus/EinsteinInitialData/TwoPunctures/trunk@54 b2a53a04-0f4f-0410-87ed-f9f25ced00cf
-rw-r--r--param.ccl5
-rw-r--r--src/TwoPunctures.c11
2 files changed, 14 insertions, 2 deletions
diff --git a/param.ccl b/param.ccl
index d578502..0d3973f 100644
--- a/param.ccl
+++ b/param.ccl
@@ -14,6 +14,7 @@ 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"
+ "psi^n" :: "Based on the initial conformal factor"
}
@@ -120,6 +121,10 @@ REAL par_S_minus[3] "spin of the m- puncture"
(*:*) :: ""
} 0.0
+REAL initial_lapse_psi_exponent "Exponent n for psi^-n initial lapse profile"
+{
+ (*:*) :: "Should be negative"
+} -2.0
BOOLEAN use_sources "Use sources?"
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;