aboutsummaryrefslogtreecommitdiff
path: root/ML_BSSN
diff options
context:
space:
mode:
authorPeter Diener <diener@linux-hn3d.site>2009-11-12 18:15:08 -0600
committerPeter Diener <diener@linux-hn3d.site>2009-11-12 18:15:08 -0600
commit946a27631f65631e0472ae95a1fe57dc4695e4dc (patch)
tree47c53575bb8bd4554208bb27515322d5e51f3a4f /ML_BSSN
parenta52abf35db4c68c5e28e8ce9b00b394c4ea382ee (diff)
Add support for the W-method.
Choose between phi and W-methods by setting the integer parameter conformalmethod to either 0 or 1. Signed-off-by: Peter Diener <diener@linux-hn3d.site>
Diffstat (limited to 'ML_BSSN')
-rw-r--r--ML_BSSN/configuration.ccl5
-rw-r--r--ML_BSSN/interface.ccl163
-rw-r--r--ML_BSSN/param.ccl33
-rw-r--r--ML_BSSN/schedule.ccl212
-rw-r--r--ML_BSSN/src/Boundaries.c5
-rw-r--r--ML_BSSN/src/ML_BSSN_ADMBaseBoundary.c7
-rw-r--r--ML_BSSN/src/ML_BSSN_Minkowski.c7
-rw-r--r--ML_BSSN/src/ML_BSSN_RHS.c197
-rw-r--r--ML_BSSN/src/ML_BSSN_RHSBoundary.c7
-rw-r--r--ML_BSSN/src/ML_BSSN_boundary.c7
-rw-r--r--ML_BSSN/src/ML_BSSN_constraints.c220
-rw-r--r--ML_BSSN/src/ML_BSSN_constraints_boundary.c5
-rw-r--r--ML_BSSN/src/ML_BSSN_convertFromADMBase.c9
-rw-r--r--ML_BSSN/src/ML_BSSN_convertFromADMBaseGamma.c5
-rw-r--r--ML_BSSN/src/ML_BSSN_convertToADMBase.c7
-rw-r--r--ML_BSSN/src/ML_BSSN_enforce.c10
-rw-r--r--ML_BSSN/src/RegisterMoL.c5
-rw-r--r--ML_BSSN/src/RegisterSymmetries.c5
-rw-r--r--ML_BSSN/src/Startup.c5
-rw-r--r--ML_BSSN/src/make.code.defn5
20 files changed, 379 insertions, 540 deletions
diff --git a/ML_BSSN/configuration.ccl b/ML_BSSN/configuration.ccl
index 148a1a1..ed457cd 100644
--- a/ML_BSSN/configuration.ccl
+++ b/ML_BSSN/configuration.ccl
@@ -1,3 +1,6 @@
-# File produced by Kranc
+# File produced by user diener
+# Produced with Mathematica Version 7.0 for Linux x86 (64-bit) (February 18, 2009)
+
+# Mathematica script written by Ian Hinder and Sascha Husa
REQUIRES LoopControl
diff --git a/ML_BSSN/interface.ccl b/ML_BSSN/interface.ccl
index 52de196..84e9e92 100644
--- a/ML_BSSN/interface.ccl
+++ b/ML_BSSN/interface.ccl
@@ -1,4 +1,7 @@
-# File produced by Kranc
+# File produced by user diener
+# Produced with Mathematica Version 7.0 for Linux x86 (64-bit) (February 18, 2009)
+
+# Mathematica script written by Ian Hinder and Sascha Husa
implements: ML_BSSN
@@ -59,77 +62,7 @@ CCTK_REAL ML_mom type=GF timelevels=1 tags='tensortypealias="D" tensorweight=1.0
} "ML_mom"
public:
-CCTK_REAL ML_curv type=GF timelevels=4 tags='tensortypealias="DD_sym" tensorweight=-0.66666666666666666667'
-{
- At11,
- At12,
- At13,
- At22,
- At23,
- At33
-} "ML_curv"
-
-public:
-CCTK_REAL ML_dtlapse type=GF timelevels=4 tags='tensortypealias="Scalar" tensorweight=1.0000000000000000000'
-{
- A
-} "ML_dtlapse"
-
-public:
-CCTK_REAL ML_dtshift type=GF timelevels=4 tags='tensortypealias="U" tensorweight=1.0000000000000000000'
-{
- B1,
- B2,
- B3
-} "ML_dtshift"
-
-public:
-CCTK_REAL ML_Gamma type=GF timelevels=4 tags='tensortypealias="U" tensorweight=0.66666666666666666667'
-{
- Xt1,
- Xt2,
- Xt3
-} "ML_Gamma"
-
-public:
-CCTK_REAL ML_lapse type=GF timelevels=4 tags='tensortypealias="Scalar" tensorweight=1.0000000000000000000'
-{
- alpha
-} "ML_lapse"
-
-public:
-CCTK_REAL ML_log_confac type=GF timelevels=4 tags='tensortypealias="Scalar" tensorweight=0.16666666666666666667'
-{
- phi
-} "ML_log_confac"
-
-public:
-CCTK_REAL ML_metric type=GF timelevels=4 tags='tensortypealias="DD_sym" tensorweight=-0.66666666666666666667'
-{
- gt11,
- gt12,
- gt13,
- gt22,
- gt23,
- gt33
-} "ML_metric"
-
-public:
-CCTK_REAL ML_shift type=GF timelevels=4 tags='tensortypealias="U" tensorweight=1.0000000000000000000'
-{
- beta1,
- beta2,
- beta3
-} "ML_shift"
-
-public:
-CCTK_REAL ML_trace_curv type=GF timelevels=4 tags='tensortypealias="Scalar" tensorweight=1.0000000000000000000'
-{
- trK
-} "ML_trace_curv"
-
-public:
-CCTK_REAL ML_curvrhs type=GF timelevels=4 tags='tensortypealias="DD_sym" tensorweight=-0.66666666666666666667'
+CCTK_REAL ML_curvrhs type=GF timelevels=1 tags='tensortypealias="DD_sym" tensorweight=-0.66666666666666666667'
{
At11rhs,
At12rhs,
@@ -140,13 +73,13 @@ CCTK_REAL ML_curvrhs type=GF timelevels=4 tags='tensortypealias="DD_sym" tensorw
} "ML_curvrhs"
public:
-CCTK_REAL ML_dtlapserhs type=GF timelevels=4 tags='tensortypealias="Scalar" tensorweight=1.0000000000000000000'
+CCTK_REAL ML_dtlapserhs type=GF timelevels=1 tags='tensortypealias="Scalar" tensorweight=1.0000000000000000000'
{
Arhs
} "ML_dtlapserhs"
public:
-CCTK_REAL ML_dtshiftrhs type=GF timelevels=4 tags='tensortypealias="U" tensorweight=1.0000000000000000000'
+CCTK_REAL ML_dtshiftrhs type=GF timelevels=1 tags='tensortypealias="U" tensorweight=1.0000000000000000000'
{
B1rhs,
B2rhs,
@@ -154,7 +87,7 @@ CCTK_REAL ML_dtshiftrhs type=GF timelevels=4 tags='tensortypealias="U" tensorwei
} "ML_dtshiftrhs"
public:
-CCTK_REAL ML_Gammarhs type=GF timelevels=4 tags='tensortypealias="U" tensorweight=0.66666666666666666667'
+CCTK_REAL ML_Gammarhs type=GF timelevels=1 tags='tensortypealias="U" tensorweight=0.66666666666666666667'
{
Xt1rhs,
Xt2rhs,
@@ -162,19 +95,19 @@ CCTK_REAL ML_Gammarhs type=GF timelevels=4 tags='tensortypealias="U" tensorweigh
} "ML_Gammarhs"
public:
-CCTK_REAL ML_lapserhs type=GF timelevels=4 tags='tensortypealias="Scalar" tensorweight=1.0000000000000000000'
+CCTK_REAL ML_lapserhs type=GF timelevels=1 tags='tensortypealias="Scalar" tensorweight=1.0000000000000000000'
{
alpharhs
} "ML_lapserhs"
public:
-CCTK_REAL ML_log_confacrhs type=GF timelevels=4 tags='tensortypealias="Scalar" tensorweight=0.16666666666666666667'
+CCTK_REAL ML_log_confacrhs type=GF timelevels=1 tags='tensortypealias="Scalar" tensorweight=0.16666666666666666667'
{
phirhs
} "ML_log_confacrhs"
public:
-CCTK_REAL ML_metricrhs type=GF timelevels=4 tags='tensortypealias="DD_sym" tensorweight=-0.66666666666666666667'
+CCTK_REAL ML_metricrhs type=GF timelevels=1 tags='tensortypealias="DD_sym" tensorweight=-0.66666666666666666667'
{
gt11rhs,
gt12rhs,
@@ -185,7 +118,7 @@ CCTK_REAL ML_metricrhs type=GF timelevels=4 tags='tensortypealias="DD_sym" tenso
} "ML_metricrhs"
public:
-CCTK_REAL ML_shiftrhs type=GF timelevels=4 tags='tensortypealias="U" tensorweight=1.0000000000000000000'
+CCTK_REAL ML_shiftrhs type=GF timelevels=1 tags='tensortypealias="U" tensorweight=1.0000000000000000000'
{
beta1rhs,
beta2rhs,
@@ -193,7 +126,77 @@ CCTK_REAL ML_shiftrhs type=GF timelevels=4 tags='tensortypealias="U" tensorweigh
} "ML_shiftrhs"
public:
-CCTK_REAL ML_trace_curvrhs type=GF timelevels=4 tags='tensortypealias="Scalar" tensorweight=1.0000000000000000000'
+CCTK_REAL ML_trace_curvrhs type=GF timelevels=1 tags='tensortypealias="Scalar" tensorweight=1.0000000000000000000'
{
trKrhs
} "ML_trace_curvrhs"
+
+public:
+CCTK_REAL ML_curv type=GF timelevels=3 tags='tensortypealias="DD_sym" tensorweight=-0.66666666666666666667'
+{
+ At11,
+ At12,
+ At13,
+ At22,
+ At23,
+ At33
+} "ML_curv"
+
+public:
+CCTK_REAL ML_dtlapse type=GF timelevels=3 tags='tensortypealias="Scalar" tensorweight=1.0000000000000000000'
+{
+ A
+} "ML_dtlapse"
+
+public:
+CCTK_REAL ML_dtshift type=GF timelevels=3 tags='tensortypealias="U" tensorweight=1.0000000000000000000'
+{
+ B1,
+ B2,
+ B3
+} "ML_dtshift"
+
+public:
+CCTK_REAL ML_Gamma type=GF timelevels=3 tags='tensortypealias="U" tensorweight=0.66666666666666666667'
+{
+ Xt1,
+ Xt2,
+ Xt3
+} "ML_Gamma"
+
+public:
+CCTK_REAL ML_lapse type=GF timelevels=3 tags='tensortypealias="Scalar" tensorweight=1.0000000000000000000'
+{
+ alpha
+} "ML_lapse"
+
+public:
+CCTK_REAL ML_log_confac type=GF timelevels=3 tags='tensortypealias="Scalar" tensorweight=0.16666666666666666667'
+{
+ phi
+} "ML_log_confac"
+
+public:
+CCTK_REAL ML_metric type=GF timelevels=3 tags='tensortypealias="DD_sym" tensorweight=-0.66666666666666666667'
+{
+ gt11,
+ gt12,
+ gt13,
+ gt22,
+ gt23,
+ gt33
+} "ML_metric"
+
+public:
+CCTK_REAL ML_shift type=GF timelevels=3 tags='tensortypealias="U" tensorweight=1.0000000000000000000'
+{
+ beta1,
+ beta2,
+ beta3
+} "ML_shift"
+
+public:
+CCTK_REAL ML_trace_curv type=GF timelevels=3 tags='tensortypealias="Scalar" tensorweight=1.0000000000000000000'
+{
+ trK
+} "ML_trace_curv"
diff --git a/ML_BSSN/param.ccl b/ML_BSSN/param.ccl
index dabbeb9..cd6077f 100644
--- a/ML_BSSN/param.ccl
+++ b/ML_BSSN/param.ccl
@@ -1,4 +1,7 @@
-# File produced by Kranc
+# File produced by user diener
+# Produced with Mathematica Version 7.0 for Linux x86 (64-bit) (February 18, 2009)
+
+# Mathematica script written by Ian Hinder and Sascha Husa
shares: ADMBase
@@ -22,6 +25,12 @@ EXTENDS CCTK_KEYWORD shift_evolution_method "shift_evolution_method"
}
+EXTENDS CCTK_KEYWORD dtshift_evolution_method "dtshift_evolution_method"
+{
+ ML_BSSN :: ""
+}
+
+
shares: GenericFD
@@ -79,12 +88,6 @@ CCTK_REAL ShiftAdvectionCoeff "Factor in front of the shift advection terms in g
} 1
restricted:
-CCTK_REAL MinimumLapse "Minimum value of the lapse function"
-{
- "*:*" :: ""
-} -1
-
-restricted:
CCTK_INT harmonicN "d/dt alpha = - f alpha^n K (harmonic=2, 1+log=1)"
{
*:* :: ""
@@ -96,6 +99,12 @@ CCTK_INT ShiftAlphaPower "ShiftAlphaPower"
*:* :: ""
} 0
+restricted:
+CCTK_INT conformalmethod "0 for phi method, 1 for W method"
+{
+ *:* :: ""
+} 0
+
private:
KEYWORD my_initial_data "my_initial_data"
{
@@ -134,14 +143,8 @@ CCTK_INT ML_BSSN_MaxNumEvolvedVars "Number of evolved variables used by this tho
restricted:
CCTK_INT timelevels "Number of active timelevels"
{
- 0:4 :: ""
-} 4
-
-restricted:
-CCTK_INT rhs_timelevels "Number of active RHS timelevels"
-{
- 0:4 :: ""
-} 1
+ 0:3 :: ""
+} 3
restricted:
CCTK_INT ML_BSSN_Minkowski_calc_every "ML_BSSN_Minkowski_calc_every"
diff --git a/ML_BSSN/schedule.ccl b/ML_BSSN/schedule.ccl
index 4b0d77e..bb9d7a6 100644
--- a/ML_BSSN/schedule.ccl
+++ b/ML_BSSN/schedule.ccl
@@ -1,4 +1,7 @@
-# File produced by Kranc
+# File produced by user diener
+# Produced with Mathematica Version 7.0 for Linux x86 (64-bit) (February 18, 2009)
+
+# Mathematica script written by Ian Hinder and Sascha Husa
STORAGE: ML_cons_detg[1]
@@ -11,6 +14,24 @@ STORAGE: ML_Ham[1]
STORAGE: ML_mom[1]
+STORAGE: ML_curvrhs[1]
+
+STORAGE: ML_dtlapserhs[1]
+
+STORAGE: ML_dtshiftrhs[1]
+
+STORAGE: ML_Gammarhs[1]
+
+STORAGE: ML_lapserhs[1]
+
+STORAGE: ML_log_confacrhs[1]
+
+STORAGE: ML_metricrhs[1]
+
+STORAGE: ML_shiftrhs[1]
+
+STORAGE: ML_trace_curvrhs[1]
+
if (timelevels == 1)
{
STORAGE: ML_curv[1]
@@ -23,10 +44,6 @@ if (timelevels == 3)
{
STORAGE: ML_curv[3]
}
-if (timelevels == 4)
-{
- STORAGE: ML_curv[4]
-}
if (timelevels == 1)
{
@@ -40,10 +57,6 @@ if (timelevels == 3)
{
STORAGE: ML_dtlapse[3]
}
-if (timelevels == 4)
-{
- STORAGE: ML_dtlapse[4]
-}
if (timelevels == 1)
{
@@ -57,10 +70,6 @@ if (timelevels == 3)
{
STORAGE: ML_dtshift[3]
}
-if (timelevels == 4)
-{
- STORAGE: ML_dtshift[4]
-}
if (timelevels == 1)
{
@@ -74,10 +83,6 @@ if (timelevels == 3)
{
STORAGE: ML_Gamma[3]
}
-if (timelevels == 4)
-{
- STORAGE: ML_Gamma[4]
-}
if (timelevels == 1)
{
@@ -91,10 +96,6 @@ if (timelevels == 3)
{
STORAGE: ML_lapse[3]
}
-if (timelevels == 4)
-{
- STORAGE: ML_lapse[4]
-}
if (timelevels == 1)
{
@@ -108,10 +109,6 @@ if (timelevels == 3)
{
STORAGE: ML_log_confac[3]
}
-if (timelevels == 4)
-{
- STORAGE: ML_log_confac[4]
-}
if (timelevels == 1)
{
@@ -125,10 +122,6 @@ if (timelevels == 3)
{
STORAGE: ML_metric[3]
}
-if (timelevels == 4)
-{
- STORAGE: ML_metric[4]
-}
if (timelevels == 1)
{
@@ -142,10 +135,6 @@ if (timelevels == 3)
{
STORAGE: ML_shift[3]
}
-if (timelevels == 4)
-{
- STORAGE: ML_shift[4]
-}
if (timelevels == 1)
{
@@ -159,163 +148,6 @@ if (timelevels == 3)
{
STORAGE: ML_trace_curv[3]
}
-if (timelevels == 4)
-{
- STORAGE: ML_trace_curv[4]
-}
-
-if (rhs_timelevels == 1)
-{
- STORAGE: ML_curvrhs[1]
-}
-if (rhs_timelevels == 2)
-{
- STORAGE: ML_curvrhs[2]
-}
-if (rhs_timelevels == 3)
-{
- STORAGE: ML_curvrhs[3]
-}
-if (rhs_timelevels == 4)
-{
- STORAGE: ML_curvrhs[4]
-}
-
-if (rhs_timelevels == 1)
-{
- STORAGE: ML_dtlapserhs[1]
-}
-if (rhs_timelevels == 2)
-{
- STORAGE: ML_dtlapserhs[2]
-}
-if (rhs_timelevels == 3)
-{
- STORAGE: ML_dtlapserhs[3]
-}
-if (rhs_timelevels == 4)
-{
- STORAGE: ML_dtlapserhs[4]
-}
-
-if (rhs_timelevels == 1)
-{
- STORAGE: ML_dtshiftrhs[1]
-}
-if (rhs_timelevels == 2)
-{
- STORAGE: ML_dtshiftrhs[2]
-}
-if (rhs_timelevels == 3)
-{
- STORAGE: ML_dtshiftrhs[3]
-}
-if (rhs_timelevels == 4)
-{
- STORAGE: ML_dtshiftrhs[4]
-}
-
-if (rhs_timelevels == 1)
-{
- STORAGE: ML_Gammarhs[1]
-}
-if (rhs_timelevels == 2)
-{
- STORAGE: ML_Gammarhs[2]
-}
-if (rhs_timelevels == 3)
-{
- STORAGE: ML_Gammarhs[3]
-}
-if (rhs_timelevels == 4)
-{
- STORAGE: ML_Gammarhs[4]
-}
-
-if (rhs_timelevels == 1)
-{
- STORAGE: ML_lapserhs[1]
-}
-if (rhs_timelevels == 2)
-{
- STORAGE: ML_lapserhs[2]
-}
-if (rhs_timelevels == 3)
-{
- STORAGE: ML_lapserhs[3]
-}
-if (rhs_timelevels == 4)
-{
- STORAGE: ML_lapserhs[4]
-}
-
-if (rhs_timelevels == 1)
-{
- STORAGE: ML_log_confacrhs[1]
-}
-if (rhs_timelevels == 2)
-{
- STORAGE: ML_log_confacrhs[2]
-}
-if (rhs_timelevels == 3)
-{
- STORAGE: ML_log_confacrhs[3]
-}
-if (rhs_timelevels == 4)
-{
- STORAGE: ML_log_confacrhs[4]
-}
-
-if (rhs_timelevels == 1)
-{
- STORAGE: ML_metricrhs[1]
-}
-if (rhs_timelevels == 2)
-{
- STORAGE: ML_metricrhs[2]
-}
-if (rhs_timelevels == 3)
-{
- STORAGE: ML_metricrhs[3]
-}
-if (rhs_timelevels == 4)
-{
- STORAGE: ML_metricrhs[4]
-}
-
-if (rhs_timelevels == 1)
-{
- STORAGE: ML_shiftrhs[1]
-}
-if (rhs_timelevels == 2)
-{
- STORAGE: ML_shiftrhs[2]
-}
-if (rhs_timelevels == 3)
-{
- STORAGE: ML_shiftrhs[3]
-}
-if (rhs_timelevels == 4)
-{
- STORAGE: ML_shiftrhs[4]
-}
-
-if (rhs_timelevels == 1)
-{
- STORAGE: ML_trace_curvrhs[1]
-}
-if (rhs_timelevels == 2)
-{
- STORAGE: ML_trace_curvrhs[2]
-}
-if (rhs_timelevels == 3)
-{
- STORAGE: ML_trace_curvrhs[3]
-}
-if (rhs_timelevels == 4)
-{
- STORAGE: ML_trace_curvrhs[4]
-}
schedule ML_BSSN_Startup at STARTUP
{
diff --git a/ML_BSSN/src/Boundaries.c b/ML_BSSN/src/Boundaries.c
index 7680861..ded5d44 100644
--- a/ML_BSSN/src/Boundaries.c
+++ b/ML_BSSN/src/Boundaries.c
@@ -1,4 +1,7 @@
-/* File produced by Kranc */
+/* File produced by user diener */
+/* Produced with Mathematica Version 7.0 for Linux x86 (64-bit) (February 18, 2009) */
+
+/* Mathematica script written by Ian Hinder and Sascha Husa */
#include "cctk.h"
#include "cctk_Arguments.h"
diff --git a/ML_BSSN/src/ML_BSSN_ADMBaseBoundary.c b/ML_BSSN/src/ML_BSSN_ADMBaseBoundary.c
index 779d151..f4428fd 100644
--- a/ML_BSSN/src/ML_BSSN_ADMBaseBoundary.c
+++ b/ML_BSSN/src/ML_BSSN_ADMBaseBoundary.c
@@ -1,4 +1,7 @@
-/* File produced by Kranc */
+/* File produced by user diener */
+/* Produced with Mathematica Version 7.0 for Linux x86 (64-bit) (February 18, 2009) */
+
+/* Mathematica script written by Ian Hinder and Sascha Husa */
#define KRANC_C
@@ -171,7 +174,7 @@ void ML_BSSN_ADMBaseBoundary_Body(cGH const * const cctkGH, CCTK_INT const dir,
/* Precompute derivatives (old style) */
/* Calculate temporaries and grid functions */
- e4phi = exp(4*phiL);
+ e4phi = IfThen(conformalmethod,pow(phiL,-2),exp(4*phiL));
g11 = e4phi*gt11L;
diff --git a/ML_BSSN/src/ML_BSSN_Minkowski.c b/ML_BSSN/src/ML_BSSN_Minkowski.c
index 8108734..b9335af 100644
--- a/ML_BSSN/src/ML_BSSN_Minkowski.c
+++ b/ML_BSSN/src/ML_BSSN_Minkowski.c
@@ -1,4 +1,7 @@
-/* File produced by Kranc */
+/* File produced by user diener */
+/* Produced with Mathematica Version 7.0 for Linux x86 (64-bit) (February 18, 2009) */
+
+/* Mathematica script written by Ian Hinder and Sascha Husa */
#define KRANC_C
@@ -127,7 +130,7 @@ void ML_BSSN_Minkowski_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK_I
/* Precompute derivatives (old style) */
/* Calculate temporaries and grid functions */
- phiL = 0;
+ phiL = IfThen(conformalmethod,1,0);
gt11L = 1;
diff --git a/ML_BSSN/src/ML_BSSN_RHS.c b/ML_BSSN/src/ML_BSSN_RHS.c
index d387557..7ae2285 100644
--- a/ML_BSSN/src/ML_BSSN_RHS.c
+++ b/ML_BSSN/src/ML_BSSN_RHS.c
@@ -1,4 +1,7 @@
-/* File produced by Kranc */
+/* File produced by user diener */
+/* Produced with Mathematica Version 7.0 for Linux x86 (64-bit) (February 18, 2009) */
+
+/* Mathematica script written by Ian Hinder and Sascha Husa */
#define KRANC_C
@@ -105,10 +108,13 @@ void ML_BSSN_RHS_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK_INT con
CCTK_REAL Atm31 = INITVALUE, Atm32 = INITVALUE, Atm33 = INITVALUE;
CCTK_REAL Ats11 = INITVALUE, Ats12 = INITVALUE, Ats13 = INITVALUE, Ats22 = INITVALUE, Ats23 = INITVALUE, Ats33 = INITVALUE;
CCTK_REAL Atu11 = INITVALUE, Atu21 = INITVALUE, Atu22 = INITVALUE, Atu31 = INITVALUE, Atu32 = INITVALUE, Atu33 = INITVALUE;
+ CCTK_REAL cdphi1 = INITVALUE, cdphi2 = INITVALUE, cdphi211 = INITVALUE, cdphi212 = INITVALUE, cdphi213 = INITVALUE, cdphi222 = INITVALUE;
+ CCTK_REAL cdphi223 = INITVALUE, cdphi233 = INITVALUE, cdphi3 = INITVALUE;
CCTK_REAL detgt = INITVALUE;
CCTK_REAL dir1 = INITVALUE, dir2 = INITVALUE, dir3 = INITVALUE;
CCTK_REAL e4phi = INITVALUE;
CCTK_REAL em4phi = INITVALUE;
+ CCTK_REAL fac1 = INITVALUE, fac2 = INITVALUE;
CCTK_REAL g11 = INITVALUE;
CCTK_REAL G111 = INITVALUE, G112 = INITVALUE, G113 = INITVALUE;
CCTK_REAL g12 = INITVALUE;
@@ -738,82 +744,59 @@ void ML_BSSN_RHS_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK_INT con
gt11L*gtu33*SQR(Gt133) + gt22L*gtu11*SQR(Gt213) + gt22L*gtu22*SQR(Gt223) + 2*gt23L*gtu32*SQR(Gt223) +
gt22L*gtu33*SQR(Gt233) + 3*gt33L*gtu11*SQR(Gt313) + 3*gt33L*gtu22*SQR(Gt323) + 3*gt33L*gtu33*SQR(Gt333);
- Rphi11 = 2*(-PDstandardNth11phi - gt11L*gtu11*PDstandardNth11phi - 2*gt11L*gtu21*PDstandardNth12phi -
- 2*gt11L*gtu31*PDstandardNth13phi - gt11L*gtu22*PDstandardNth22phi - 2*gt11L*gtu32*PDstandardNth23phi -
- gt11L*gtu33*PDstandardNth33phi + Gt311*PDstandardNth3phi + gt11L*Gt311*gtu11*PDstandardNth3phi +
- 2*gt11L*Gt312*gtu21*PDstandardNth3phi + gt11L*Gt322*gtu22*PDstandardNth3phi +
- 2*gt11L*Gt313*gtu31*PDstandardNth3phi + 2*gt11L*Gt323*gtu32*PDstandardNth3phi +
- gt11L*Gt333*gtu33*PDstandardNth3phi + PDstandardNth1phi*
- (Gt111 + Gt111*gt11L*gtu11 + 2*Gt112*gt11L*gtu21 + gt11L*Gt122*gtu22 + 2*Gt113*gt11L*gtu31 +
- 2*gt11L*Gt123*gtu32 + gt11L*Gt133*gtu33 - 4*gt11L*gtu21*PDstandardNth2phi - 4*gt11L*gtu31*PDstandardNth3phi) +
- PDstandardNth2phi*(Gt211 + gt11L*Gt211*gtu11 +
- gt11L*(2*Gt212*gtu21 + Gt222*gtu22 + 2*Gt213*gtu31 + 2*Gt223*gtu32 + Gt233*gtu33) -
- 4*gt11L*gtu32*PDstandardNth3phi) + (2 - 2*gt11L*gtu11)*SQR(PDstandardNth1phi) -
- 2*gt11L*gtu22*SQR(PDstandardNth2phi) - 2*gt11L*gtu33*SQR(PDstandardNth3phi));
-
- Rphi12 = 2*(-(gt12L*gtu11*PDstandardNth11phi) - PDstandardNth12phi - 2*gt12L*gtu21*PDstandardNth12phi -
- 2*gt12L*gtu31*PDstandardNth13phi - gt12L*gtu22*PDstandardNth22phi - 2*gt12L*gtu32*PDstandardNth23phi -
- gt12L*gtu33*PDstandardNth33phi + Gt312*PDstandardNth3phi + gt12L*Gt311*gtu11*PDstandardNth3phi +
- 2*gt12L*Gt312*gtu21*PDstandardNth3phi + gt12L*Gt322*gtu22*PDstandardNth3phi +
- 2*gt12L*Gt313*gtu31*PDstandardNth3phi + 2*gt12L*Gt323*gtu32*PDstandardNth3phi +
- gt12L*Gt333*gtu33*PDstandardNth3phi + PDstandardNth1phi*
- (Gt112 + Gt111*gt12L*gtu11 + 2*Gt112*gt12L*gtu21 + Gt122*gt12L*gtu22 + 2*Gt113*gt12L*gtu31 +
- 2*Gt123*gt12L*gtu32 + gt12L*Gt133*gtu33 + (2 - 4*gt12L*gtu21)*PDstandardNth2phi -
- 4*gt12L*gtu31*PDstandardNth3phi) + PDstandardNth2phi*
- (Gt212 + 2*gt12L*Gt212*gtu21 + gt12L*(Gt211*gtu11 + Gt222*gtu22 + 2*Gt213*gtu31 + 2*Gt223*gtu32 + Gt233*gtu33) -
- 4*gt12L*gtu32*PDstandardNth3phi) - 2*gt12L*gtu11*SQR(PDstandardNth1phi) -
- 2*gt12L*gtu22*SQR(PDstandardNth2phi) - 2*gt12L*gtu33*SQR(PDstandardNth3phi));
-
- Rphi13 = 2*(-PDstandardNth13phi + gt13L*(-(gtu11*PDstandardNth11phi) - 2*gtu21*PDstandardNth12phi -
- 2*gtu31*PDstandardNth13phi) - gt13L*gtu22*PDstandardNth22phi - 2*gt13L*gtu32*PDstandardNth23phi -
- gt13L*gtu33*PDstandardNth33phi + Gt313*PDstandardNth3phi + gt13L*Gt311*gtu11*PDstandardNth3phi +
- 2*gt13L*Gt312*gtu21*PDstandardNth3phi + gt13L*Gt322*gtu22*PDstandardNth3phi +
- 2*gt13L*Gt313*gtu31*PDstandardNth3phi + 2*gt13L*Gt323*gtu32*PDstandardNth3phi +
- gt13L*Gt333*gtu33*PDstandardNth3phi + PDstandardNth1phi*
- (Gt113 + Gt111*gt13L*gtu11 + 2*Gt112*gt13L*gtu21 + Gt122*gt13L*gtu22 + 2*Gt113*gt13L*gtu31 +
- 2*Gt123*gt13L*gtu32 + Gt133*gt13L*gtu33 - 4*gt13L*gtu21*PDstandardNth2phi +
- (2 - 4*gt13L*gtu31)*PDstandardNth3phi) +
- PDstandardNth2phi*(Gt213 + 2*gt13L*Gt213*gtu31 +
- gt13L*(Gt211*gtu11 + 2*Gt212*gtu21 + Gt222*gtu22 + 2*Gt223*gtu32 + Gt233*gtu33) -
- 4*gt13L*gtu32*PDstandardNth3phi) - 2*gt13L*gtu11*SQR(PDstandardNth1phi) -
- 2*gt13L*gtu22*SQR(PDstandardNth2phi) - 2*gt13L*gtu33*SQR(PDstandardNth3phi));
-
- Rphi22 = 2*(-PDstandardNth22phi + gt22L*(-(gtu11*PDstandardNth11phi) - 2*gtu21*PDstandardNth12phi -
- 2*gtu31*PDstandardNth13phi - gtu22*PDstandardNth22phi) - 2*gt22L*gtu32*PDstandardNth23phi -
- gt22L*gtu33*PDstandardNth33phi + Gt322*PDstandardNth3phi + gt22L*Gt311*gtu11*PDstandardNth3phi +
- 2*gt22L*Gt312*gtu21*PDstandardNth3phi + gt22L*Gt322*gtu22*PDstandardNth3phi +
- 2*gt22L*Gt313*gtu31*PDstandardNth3phi + 2*gt22L*Gt323*gtu32*PDstandardNth3phi +
- gt22L*Gt333*gtu33*PDstandardNth3phi + PDstandardNth1phi*
- (Gt122 + Gt111*gt22L*gtu11 + 2*Gt112*gt22L*gtu21 + Gt122*gt22L*gtu22 + 2*Gt113*gt22L*gtu31 +
- 2*Gt123*gt22L*gtu32 + Gt133*gt22L*gtu33 - 4*gt22L*gtu21*PDstandardNth2phi - 4*gt22L*gtu31*PDstandardNth3phi) +
- PDstandardNth2phi*(Gt222 + Gt222*gt22L*gtu22 +
- gt22L*(Gt211*gtu11 + 2*Gt212*gtu21 + 2*Gt213*gtu31 + 2*Gt223*gtu32 + Gt233*gtu33) -
- 4*gt22L*gtu32*PDstandardNth3phi) - 2*gt22L*gtu11*SQR(PDstandardNth1phi) +
- (2 - 2*gt22L*gtu22)*SQR(PDstandardNth2phi) - 2*gt22L*gtu33*SQR(PDstandardNth3phi));
-
- Rphi23 = 2*(-PDstandardNth23phi + gt23L*(-(gtu11*PDstandardNth11phi) - 2*gtu21*PDstandardNth12phi -
- 2*gtu31*PDstandardNth13phi - gtu22*PDstandardNth22phi - 2*gtu32*PDstandardNth23phi) -
- gt23L*gtu33*PDstandardNth33phi + Gt323*PDstandardNth3phi + gt23L*Gt311*gtu11*PDstandardNth3phi +
- 2*gt23L*Gt312*gtu21*PDstandardNth3phi + gt23L*Gt322*gtu22*PDstandardNth3phi +
- 2*gt23L*Gt313*gtu31*PDstandardNth3phi + 2*gt23L*Gt323*gtu32*PDstandardNth3phi +
- gt23L*Gt333*gtu33*PDstandardNth3phi + PDstandardNth1phi*
- (Gt123 + Gt111*gt23L*gtu11 + 2*Gt112*gt23L*gtu21 + Gt122*gt23L*gtu22 + 2*Gt113*gt23L*gtu31 +
- 2*Gt123*gt23L*gtu32 + Gt133*gt23L*gtu33 - 4*gt23L*gtu21*PDstandardNth2phi - 4*gt23L*gtu31*PDstandardNth3phi) +
- PDstandardNth2phi*(Gt223 + 2*Gt223*gt23L*gtu32 +
- gt23L*(Gt211*gtu11 + 2*Gt212*gtu21 + Gt222*gtu22 + 2*Gt213*gtu31 + Gt233*gtu33) +
- (2 - 4*gt23L*gtu32)*PDstandardNth3phi) - 2*gt23L*gtu11*SQR(PDstandardNth1phi) -
- 2*gt23L*gtu22*SQR(PDstandardNth2phi) - 2*gt23L*gtu33*SQR(PDstandardNth3phi));
-
- Rphi33 = 2*(-PDstandardNth33phi + (Gt333 + gt33L*
- (Gt322*gtu22 + 2*(Gt312*gtu21 + Gt313*gtu31 + Gt323*gtu32) + Gt333*gtu33))*PDstandardNth3phi +
- PDstandardNth2phi*(Gt233 + gt33L*(Gt211*gtu11 + Gt222*gtu22 + 2*(Gt212*gtu21 + Gt213*gtu31 + Gt223*gtu32) +
- Gt233*gtu33 - 4*gtu32*PDstandardNth3phi)) +
- PDstandardNth1phi*(Gt133 + gt33L*(Gt111*gtu11 + Gt122*gtu22 + 2*(Gt112*gtu21 + Gt113*gtu31 + Gt123*gtu32) +
- Gt133*gtu33 - 4*(gtu21*PDstandardNth2phi + gtu31*PDstandardNth3phi))) + 2*SQR(PDstandardNth3phi) +
- gt33L*(-(gtu11*PDstandardNth11phi) - 2*gtu21*PDstandardNth12phi - 2*gtu31*PDstandardNth13phi -
- gtu22*PDstandardNth22phi - 2*gtu32*PDstandardNth23phi - gtu33*PDstandardNth33phi +
- Gt311*gtu11*PDstandardNth3phi - 2*gtu11*SQR(PDstandardNth1phi) - 2*gtu22*SQR(PDstandardNth2phi) -
- 2*gtu33*SQR(PDstandardNth3phi)));
+ fac1 = IfThen(conformalmethod,-(khalf*INV(phiL)),1);
+
+ cdphi1 = fac1*PDstandardNth1phi;
+
+ cdphi2 = fac1*PDstandardNth2phi;
+
+ cdphi3 = fac1*PDstandardNth3phi;
+
+ fac2 = IfThen(conformalmethod,khalf*pow(phiL,-2),0);
+
+ cdphi211 = -(fac1*(-PDstandardNth11phi + Gt111*PDstandardNth1phi + Gt211*PDstandardNth2phi +
+ Gt311*PDstandardNth3phi)) + fac2*SQR(PDstandardNth1phi);
+
+ cdphi212 = fac2*PDstandardNth1phi*PDstandardNth2phi -
+ fac1*(-PDstandardNth12phi + Gt112*PDstandardNth1phi + Gt212*PDstandardNth2phi + Gt312*PDstandardNth3phi);
+
+ cdphi213 = fac2*PDstandardNth1phi*PDstandardNth3phi -
+ fac1*(-PDstandardNth13phi + Gt113*PDstandardNth1phi + Gt213*PDstandardNth2phi + Gt313*PDstandardNth3phi);
+
+ cdphi222 = -(fac1*(Gt122*PDstandardNth1phi - PDstandardNth22phi + Gt222*PDstandardNth2phi +
+ Gt322*PDstandardNth3phi)) + fac2*SQR(PDstandardNth2phi);
+
+ cdphi223 = fac2*PDstandardNth2phi*PDstandardNth3phi -
+ fac1*(Gt123*PDstandardNth1phi - PDstandardNth23phi + Gt223*PDstandardNth2phi + Gt323*PDstandardNth3phi);
+
+ cdphi233 = -(fac1*(Gt133*PDstandardNth1phi + Gt233*PDstandardNth2phi - PDstandardNth33phi +
+ Gt333*PDstandardNth3phi)) + fac2*SQR(PDstandardNth3phi);
+
+ Rphi11 = -2*(cdphi211 + 2*(-1 + gt11L*gtu11)*SQR(cdphi1) +
+ gt11L*(cdphi211*gtu11 + 4*(cdphi1*(cdphi2*gtu21 + cdphi3*gtu31) + cdphi2*cdphi3*gtu32) + cdphi233*gtu33 +
+ gtu22*(cdphi222 + 2*SQR(cdphi2)) + 2*(cdphi212*gtu21 + cdphi213*gtu31 + cdphi223*gtu32 + gtu33*SQR(cdphi3))));
+
+ Rphi12 = -2*(cdphi212 + cdphi1*(cdphi2*(-2 + 4*gt12L*gtu21) + 4*cdphi3*gt12L*gtu31) +
+ gt12L*(cdphi211*gtu11 + 4*cdphi2*cdphi3*gtu32 +
+ 2*(cdphi212*gtu21 + cdphi213*gtu31 + cdphi223*gtu32 + gtu11*SQR(cdphi1)) + gtu22*(cdphi222 + 2*SQR(cdphi2)) +
+ gtu33*(cdphi233 + 2*SQR(cdphi3))));
+
+ Rphi13 = -2*(cdphi213 + cdphi1*(4*cdphi2*gt13L*gtu21 + cdphi3*(-2 + 4*gt13L*gtu31)) +
+ gt13L*(cdphi211*gtu11 + 4*cdphi2*cdphi3*gtu32 +
+ 2*(cdphi212*gtu21 + cdphi213*gtu31 + cdphi223*gtu32 + gtu11*SQR(cdphi1)) + gtu22*(cdphi222 + 2*SQR(cdphi2)) +
+ gtu33*(cdphi233 + 2*SQR(cdphi3))));
+
+ Rphi22 = -2*(cdphi222 + 2*(-1 + gt22L*gtu22)*SQR(cdphi2) +
+ gt22L*(cdphi222*gtu22 + 4*(cdphi1*cdphi3*gtu31 + cdphi2*(cdphi1*gtu21 + cdphi3*gtu32)) + cdphi233*gtu33 +
+ gtu11*(cdphi211 + 2*SQR(cdphi1)) + 2*(cdphi212*gtu21 + cdphi213*gtu31 + cdphi223*gtu32 + gtu33*SQR(cdphi3))));
+
+ Rphi23 = -2*(cdphi223 + cdphi2*(4*cdphi1*gt23L*gtu21 + cdphi3*(-2 + 4*gt23L*gtu32)) +
+ gt23L*(cdphi222*gtu22 + 4*cdphi1*cdphi3*gtu31 + gtu11*(cdphi211 + 2*SQR(cdphi1)) +
+ 2*(cdphi212*gtu21 + cdphi213*gtu31 + cdphi223*gtu32 + gtu22*SQR(cdphi2)) + gtu33*(cdphi233 + 2*SQR(cdphi3))));
+
+ Rphi33 = -2*(cdphi233 + gt33L*((4*cdphi1*cdphi2 + 2*cdphi212)*gtu21 + 4*cdphi3*(cdphi1*gtu31 + cdphi2*gtu32) +
+ 2*(cdphi213*gtu31 + cdphi223*gtu32) + cdphi233*gtu33 + gtu11*(cdphi211 + 2*SQR(cdphi1)) +
+ gtu22*(cdphi222 + 2*SQR(cdphi2))) + 2*(-1 + gt33L*gtu33)*SQR(cdphi3));
Atm11 = At11L*gtu11 + At12L*gtu21 + At13L*gtu31;
@@ -845,7 +828,7 @@ void ML_BSSN_RHS_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK_INT con
Atu33 = Atm31*gtu31 + Atm32*gtu32 + Atm33*gtu33;
- e4phi = exp(4*phiL);
+ e4phi = IfThen(conformalmethod,pow(phiL,-2),exp(4*phiL));
em4phi = INV(e4phi);
@@ -873,44 +856,41 @@ void ML_BSSN_RHS_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK_INT con
gu33 = em4phi*gtu33;
- G111 = Gt111 + (4 - 2*gt11L*gtu11)*PDstandardNth1phi - 2*gt11L*(gtu21*PDstandardNth2phi + gtu31*PDstandardNth3phi);
+ G111 = Gt111 + cdphi1*(4 - 2*gt11L*gtu11) - 2*gt11L*(cdphi2*gtu21 + cdphi3*gtu31);
- G211 = Gt211 - 2*gt11L*(gtu21*PDstandardNth1phi + gtu22*PDstandardNth2phi + gtu32*PDstandardNth3phi);
+ G211 = Gt211 - 2*gt11L*(cdphi1*gtu21 + cdphi2*gtu22 + cdphi3*gtu32);
- G311 = Gt311 - 2*gt11L*(gtu31*PDstandardNth1phi + gtu32*PDstandardNth2phi + gtu33*PDstandardNth3phi);
+ G311 = Gt311 - 2*gt11L*(cdphi1*gtu31 + cdphi2*gtu32 + cdphi3*gtu33);
- G112 = Gt112 + (2 - 2*gt12L*gtu21)*PDstandardNth2phi - 2*gt12L*(gtu11*PDstandardNth1phi + gtu31*PDstandardNth3phi);
+ G112 = Gt112 + cdphi2*(2 - 2*gt12L*gtu21) - 2*gt12L*(cdphi1*gtu11 + cdphi3*gtu31);
- G212 = Gt212 + (2 - 2*gt12L*gtu21)*PDstandardNth1phi - 2*gt12L*(gtu22*PDstandardNth2phi + gtu32*PDstandardNth3phi);
+ G212 = Gt212 + cdphi1*(2 - 2*gt12L*gtu21) - 2*gt12L*(cdphi2*gtu22 + cdphi3*gtu32);
- G312 = Gt312 - 2*gt12L*(gtu31*PDstandardNth1phi + gtu32*PDstandardNth2phi + gtu33*PDstandardNth3phi);
+ G312 = Gt312 - 2*gt12L*(cdphi1*gtu31 + cdphi2*gtu32 + cdphi3*gtu33);
- G113 = Gt113 + 2*PDstandardNth3phi - 2*gt13L*(gtu11*PDstandardNth1phi + gtu21*PDstandardNth2phi +
- gtu31*PDstandardNth3phi);
+ G113 = Gt113 - 2*gt13L*(cdphi1*gtu11 + cdphi2*gtu21) + cdphi3*(2 - 2*gt13L*gtu31);
- G213 = Gt213 - 2*gt13L*(gtu21*PDstandardNth1phi + gtu22*PDstandardNth2phi + gtu32*PDstandardNth3phi);
+ G213 = Gt213 - 2*gt13L*(cdphi1*gtu21 + cdphi2*gtu22 + cdphi3*gtu32);
- G313 = Gt313 + (2 - 2*gt13L*gtu31)*PDstandardNth1phi - 2*gt13L*(gtu32*PDstandardNth2phi + gtu33*PDstandardNth3phi);
+ G313 = Gt313 + cdphi1*(2 - 2*gt13L*gtu31) - 2*gt13L*(cdphi2*gtu32 + cdphi3*gtu33);
- G122 = Gt122 - 2*gt22L*(gtu11*PDstandardNth1phi + gtu21*PDstandardNth2phi + gtu31*PDstandardNth3phi);
+ G122 = Gt122 - 2*gt22L*(cdphi1*gtu11 + cdphi2*gtu21 + cdphi3*gtu31);
- G222 = Gt222 + (4 - 2*gt22L*gtu22)*PDstandardNth2phi - 2*gt22L*(gtu21*PDstandardNth1phi + gtu32*PDstandardNth3phi);
+ G222 = Gt222 + cdphi2*(4 - 2*gt22L*gtu22) - 2*gt22L*(cdphi1*gtu21 + cdphi3*gtu32);
- G322 = Gt322 - 2*gt22L*(gtu31*PDstandardNth1phi + gtu32*PDstandardNth2phi + gtu33*PDstandardNth3phi);
+ G322 = Gt322 - 2*gt22L*(cdphi1*gtu31 + cdphi2*gtu32 + cdphi3*gtu33);
- G123 = Gt123 - 2*gt23L*(gtu11*PDstandardNth1phi + gtu21*PDstandardNth2phi + gtu31*PDstandardNth3phi);
+ G123 = Gt123 - 2*gt23L*(cdphi1*gtu11 + cdphi2*gtu21 + cdphi3*gtu31);
- G223 = Gt223 + 2*PDstandardNth3phi - 2*gt23L*(gtu21*PDstandardNth1phi + gtu22*PDstandardNth2phi +
- gtu32*PDstandardNth3phi);
+ G223 = Gt223 - 2*gt23L*(cdphi1*gtu21 + cdphi2*gtu22) + cdphi3*(2 - 2*gt23L*gtu32);
- G323 = Gt323 + (2 - 2*gt23L*gtu32)*PDstandardNth2phi - 2*gt23L*(gtu31*PDstandardNth1phi + gtu33*PDstandardNth3phi);
+ G323 = Gt323 + cdphi2*(2 - 2*gt23L*gtu32) - 2*gt23L*(cdphi1*gtu31 + cdphi3*gtu33);
- G133 = Gt133 - 2*gt33L*(gtu11*PDstandardNth1phi + gtu21*PDstandardNth2phi + gtu31*PDstandardNth3phi);
+ G133 = Gt133 - 2*gt33L*(cdphi1*gtu11 + cdphi2*gtu21 + cdphi3*gtu31);
- G233 = Gt233 - 2*gt33L*(gtu21*PDstandardNth1phi + gtu22*PDstandardNth2phi + gtu32*PDstandardNth3phi);
+ G233 = Gt233 - 2*gt33L*(cdphi1*gtu21 + cdphi2*gtu22 + cdphi3*gtu32);
- G333 = Gt333 + 4*PDstandardNth3phi - 2*gt33L*(gtu31*PDstandardNth1phi + gtu32*PDstandardNth2phi +
- gtu33*PDstandardNth3phi);
+ G333 = Gt333 - 2*gt33L*(cdphi1*gtu31 + cdphi2*gtu32) + cdphi3*(4 - 2*gt33L*gtu33);
R11 = Rphi11 + Rt11;
@@ -924,9 +904,10 @@ void ML_BSSN_RHS_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK_INT con
R33 = Rphi33 + Rt33;
- phirhsL = (6*(PDupwindNth1(phi, i, j, k)*beta1L + PDupwindNth2(phi, i, j, k)*beta2L +
- PDupwindNth3(phi, i, j, k)*beta3L) + PDstandardNth1beta1 + PDstandardNth2beta2 + PDstandardNth3beta3 -
- alphaL*trKL)/6.;
+ phirhsL = PDupwindNth1(phi, i, j, k)*beta1L + PDupwindNth2(phi, i, j, k)*beta2L +
+ PDupwindNth3(phi, i, j, k)*beta3L + (PDstandardNth1beta1 + PDstandardNth2beta2 + PDstandardNth3beta3)*
+ IfThen(conformalmethod,-(kthird*phiL),0.16666666666666666) +
+ alphaL*trKL*IfThen(conformalmethod,kthird*phiL,-0.16666666666666666);
gt11rhsL = -2*alphaL*At11L + PDupwindNth1(gt11, i, j, k)*beta1L + PDupwindNth2(gt11, i, j, k)*beta2L +
PDupwindNth3(gt11, i, j, k)*beta3L + 2*(gt12L*PDstandardNth1beta2 + gt13L*PDstandardNth1beta3) +
@@ -962,8 +943,8 @@ void ML_BSSN_RHS_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK_INT con
PDupwindNth3(Xt1, i, j, k)*beta3L + gtu22*PDstandardNth22beta1 + gtu33*PDstandardNth33beta1) +
gtu31*(PDstandardNth23beta2 + PDstandardNth33beta3) -
6*(Atu11*PDstandardNth1alpha + Atu21*PDstandardNth2alpha + Atu31*PDstandardNth3alpha) +
- 6*(gtu32*PDstandardNth23beta1 + alphaL*(Atu11*Gt111 + Atu22*Gt122 + 2*(Atu21*Gt112 + Atu31*Gt113 + Atu32*Gt123) +
- Atu33*Gt133 + 6*(Atu11*PDstandardNth1phi + Atu21*PDstandardNth2phi + Atu31*PDstandardNth3phi) -
+ 6*(gtu32*PDstandardNth23beta1 + alphaL*(6*(Atu11*cdphi1 + Atu21*cdphi2 + Atu31*cdphi3) + Atu11*Gt111 +
+ Atu22*Gt122 + 2*(Atu21*Gt112 + Atu31*Gt113 + Atu32*Gt123) + Atu33*Gt133 -
ktwothird*(gtu11*PDstandardNth1trK + gtu21*PDstandardNth2trK + gtu31*PDstandardNth3trK))) +
(-3*PDstandardNth1beta1 + 2*(PDstandardNth1beta1 + PDstandardNth2beta2 + PDstandardNth3beta3))*Xtn1 -
3*(PDstandardNth2beta1*Xtn2 + PDstandardNth3beta1*Xtn3));
@@ -974,8 +955,8 @@ void ML_BSSN_RHS_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK_INT con
PDupwindNth3(Xt2, i, j, k)*beta3L + gtu11*PDstandardNth11beta2 + gtu33*PDstandardNth33beta2) +
gtu32*(PDstandardNth13beta1 + 7*PDstandardNth23beta2 + PDstandardNth33beta3) -
6*(Atu21*PDstandardNth1alpha + Atu22*PDstandardNth2alpha + Atu32*PDstandardNth3alpha) +
- 6*(gtu31*PDstandardNth13beta2 + alphaL*(Atu11*Gt211 + Atu22*Gt222 + 2*(Atu21*Gt212 + Atu31*Gt213 + Atu32*Gt223) +
- Atu33*Gt233 + 6*(Atu21*PDstandardNth1phi + Atu22*PDstandardNth2phi + Atu32*PDstandardNth3phi) -
+ 6*(gtu31*PDstandardNth13beta2 + alphaL*(6*(Atu21*cdphi1 + Atu22*cdphi2 + Atu32*cdphi3) + Atu11*Gt211 +
+ Atu22*Gt222 + 2*(Atu21*Gt212 + Atu31*Gt213 + Atu32*Gt223) + Atu33*Gt233 -
ktwothird*(gtu21*PDstandardNth1trK + gtu22*PDstandardNth2trK + gtu32*PDstandardNth3trK))) +
2*(PDstandardNth1beta1 + PDstandardNth2beta2 + PDstandardNth3beta3)*Xtn2 -
3*(PDstandardNth1beta2*Xtn1 + PDstandardNth2beta2*Xtn2 + PDstandardNth3beta2*Xtn3));
@@ -986,8 +967,8 @@ void ML_BSSN_RHS_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK_INT con
gtu32*(PDstandardNth12beta1 + PDstandardNth22beta2 + 7*PDstandardNth23beta3) +
gtu33*(PDstandardNth13beta1 + PDstandardNth23beta2 + 4*PDstandardNth33beta3) -
6*(Atu31*PDstandardNth1alpha + Atu32*PDstandardNth2alpha + Atu33*PDstandardNth3alpha) +
- 6*(gtu21*PDstandardNth12beta3 + alphaL*(Atu11*Gt311 + Atu22*Gt322 + 2*(Atu21*Gt312 + Atu31*Gt313 + Atu32*Gt323) +
- Atu33*Gt333 + 6*(Atu31*PDstandardNth1phi + Atu32*PDstandardNth2phi + Atu33*PDstandardNth3phi) -
+ 6*(gtu21*PDstandardNth12beta3 + alphaL*(6*(Atu31*cdphi1 + Atu32*cdphi2 + Atu33*cdphi3) + Atu11*Gt311 +
+ Atu22*Gt322 + 2*(Atu21*Gt312 + Atu31*Gt313 + Atu32*Gt323) + Atu33*Gt333 -
ktwothird*(gtu31*PDstandardNth1trK + gtu32*PDstandardNth2trK + gtu33*PDstandardNth3trK))) +
2*(PDstandardNth1beta1 + PDstandardNth2beta2 + PDstandardNth3beta3)*Xtn3 -
3*(PDstandardNth1beta3*Xtn1 + PDstandardNth2beta3*Xtn2 + PDstandardNth3beta3*Xtn3));
diff --git a/ML_BSSN/src/ML_BSSN_RHSBoundary.c b/ML_BSSN/src/ML_BSSN_RHSBoundary.c
index 3458ffc..2218115 100644
--- a/ML_BSSN/src/ML_BSSN_RHSBoundary.c
+++ b/ML_BSSN/src/ML_BSSN_RHSBoundary.c
@@ -1,4 +1,7 @@
-/* File produced by Kranc */
+/* File produced by user diener */
+/* Produced with Mathematica Version 7.0 for Linux x86 (64-bit) (February 18, 2009) */
+
+/* Mathematica script written by Ian Hinder and Sascha Husa */
#define KRANC_C
@@ -185,7 +188,7 @@ void ML_BSSN_RHSBoundary_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK
gtu33 = INV(detgt)*(gt11L*gt22L - SQR(gt12L));
- em4phi = exp(-4*phiL);
+ em4phi = IfThen(conformalmethod,SQR(phiL),exp(-4*phiL));
gu11 = em4phi*gtu11;
diff --git a/ML_BSSN/src/ML_BSSN_boundary.c b/ML_BSSN/src/ML_BSSN_boundary.c
index a949ca0..c8ac285 100644
--- a/ML_BSSN/src/ML_BSSN_boundary.c
+++ b/ML_BSSN/src/ML_BSSN_boundary.c
@@ -1,4 +1,7 @@
-/* File produced by Kranc */
+/* File produced by user diener */
+/* Produced with Mathematica Version 7.0 for Linux x86 (64-bit) (February 18, 2009) */
+
+/* Mathematica script written by Ian Hinder and Sascha Husa */
#define KRANC_C
@@ -127,7 +130,7 @@ void ML_BSSN_boundary_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK_IN
/* Precompute derivatives (old style) */
/* Calculate temporaries and grid functions */
- phiL = 0;
+ phiL = IfThen(conformalmethod,1,0);
gt11L = 1;
diff --git a/ML_BSSN/src/ML_BSSN_constraints.c b/ML_BSSN/src/ML_BSSN_constraints.c
index 136079e..d66379d 100644
--- a/ML_BSSN/src/ML_BSSN_constraints.c
+++ b/ML_BSSN/src/ML_BSSN_constraints.c
@@ -1,4 +1,7 @@
-/* File produced by Kranc */
+/* File produced by user diener */
+/* Produced with Mathematica Version 7.0 for Linux x86 (64-bit) (February 18, 2009) */
+
+/* Mathematica script written by Ian Hinder and Sascha Husa */
#define KRANC_C
@@ -103,9 +106,12 @@ void ML_BSSN_constraints_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK
/* Declare shorthands */
CCTK_REAL Atm11 = INITVALUE, Atm12 = INITVALUE, Atm13 = INITVALUE, Atm21 = INITVALUE, Atm22 = INITVALUE, Atm23 = INITVALUE;
CCTK_REAL Atm31 = INITVALUE, Atm32 = INITVALUE, Atm33 = INITVALUE;
+ CCTK_REAL cdphi1 = INITVALUE, cdphi2 = INITVALUE, cdphi211 = INITVALUE, cdphi212 = INITVALUE, cdphi213 = INITVALUE, cdphi222 = INITVALUE;
+ CCTK_REAL cdphi223 = INITVALUE, cdphi233 = INITVALUE, cdphi3 = INITVALUE;
CCTK_REAL detgt = INITVALUE;
CCTK_REAL e4phi = INITVALUE;
CCTK_REAL em4phi = INITVALUE;
+ CCTK_REAL fac1 = INITVALUE, fac2 = INITVALUE;
CCTK_REAL Gt111 = INITVALUE, Gt112 = INITVALUE, Gt113 = INITVALUE, Gt122 = INITVALUE, Gt123 = INITVALUE, Gt133 = INITVALUE;
CCTK_REAL Gt211 = INITVALUE, Gt212 = INITVALUE, Gt213 = INITVALUE, Gt222 = INITVALUE, Gt223 = INITVALUE, Gt233 = INITVALUE;
CCTK_REAL Gt311 = INITVALUE, Gt312 = INITVALUE, Gt313 = INITVALUE, Gt322 = INITVALUE, Gt323 = INITVALUE, Gt333 = INITVALUE;
@@ -660,84 +666,61 @@ void ML_BSSN_constraints_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK
gt11L*gtu33*SQR(Gt133) + gt22L*gtu11*SQR(Gt213) + gt22L*gtu22*SQR(Gt223) + 2*gt23L*gtu32*SQR(Gt223) +
gt22L*gtu33*SQR(Gt233) + 3*gt33L*gtu11*SQR(Gt313) + 3*gt33L*gtu22*SQR(Gt323) + 3*gt33L*gtu33*SQR(Gt333);
- Rphi11 = 2*(-PDstandardNth11phi - gt11L*gtu11*PDstandardNth11phi - 2*gt11L*gtu21*PDstandardNth12phi -
- 2*gt11L*gtu31*PDstandardNth13phi - gt11L*gtu22*PDstandardNth22phi - 2*gt11L*gtu32*PDstandardNth23phi -
- gt11L*gtu33*PDstandardNth33phi + Gt311*PDstandardNth3phi + gt11L*Gt311*gtu11*PDstandardNth3phi +
- 2*gt11L*Gt312*gtu21*PDstandardNth3phi + gt11L*Gt322*gtu22*PDstandardNth3phi +
- 2*gt11L*Gt313*gtu31*PDstandardNth3phi + 2*gt11L*Gt323*gtu32*PDstandardNth3phi +
- gt11L*Gt333*gtu33*PDstandardNth3phi + PDstandardNth1phi*
- (Gt111 + Gt111*gt11L*gtu11 + 2*Gt112*gt11L*gtu21 + gt11L*Gt122*gtu22 + 2*Gt113*gt11L*gtu31 +
- 2*gt11L*Gt123*gtu32 + gt11L*Gt133*gtu33 - 4*gt11L*gtu21*PDstandardNth2phi - 4*gt11L*gtu31*PDstandardNth3phi) +
- PDstandardNth2phi*(Gt211 + gt11L*Gt211*gtu11 +
- gt11L*(2*Gt212*gtu21 + Gt222*gtu22 + 2*Gt213*gtu31 + 2*Gt223*gtu32 + Gt233*gtu33) -
- 4*gt11L*gtu32*PDstandardNth3phi) + (2 - 2*gt11L*gtu11)*SQR(PDstandardNth1phi) -
- 2*gt11L*gtu22*SQR(PDstandardNth2phi) - 2*gt11L*gtu33*SQR(PDstandardNth3phi));
-
- Rphi12 = 2*(-(gt12L*gtu11*PDstandardNth11phi) - PDstandardNth12phi - 2*gt12L*gtu21*PDstandardNth12phi -
- 2*gt12L*gtu31*PDstandardNth13phi - gt12L*gtu22*PDstandardNth22phi - 2*gt12L*gtu32*PDstandardNth23phi -
- gt12L*gtu33*PDstandardNth33phi + Gt312*PDstandardNth3phi + gt12L*Gt311*gtu11*PDstandardNth3phi +
- 2*gt12L*Gt312*gtu21*PDstandardNth3phi + gt12L*Gt322*gtu22*PDstandardNth3phi +
- 2*gt12L*Gt313*gtu31*PDstandardNth3phi + 2*gt12L*Gt323*gtu32*PDstandardNth3phi +
- gt12L*Gt333*gtu33*PDstandardNth3phi + PDstandardNth1phi*
- (Gt112 + Gt111*gt12L*gtu11 + 2*Gt112*gt12L*gtu21 + Gt122*gt12L*gtu22 + 2*Gt113*gt12L*gtu31 +
- 2*Gt123*gt12L*gtu32 + gt12L*Gt133*gtu33 + (2 - 4*gt12L*gtu21)*PDstandardNth2phi -
- 4*gt12L*gtu31*PDstandardNth3phi) + PDstandardNth2phi*
- (Gt212 + 2*gt12L*Gt212*gtu21 + gt12L*(Gt211*gtu11 + Gt222*gtu22 + 2*Gt213*gtu31 + 2*Gt223*gtu32 + Gt233*gtu33) -
- 4*gt12L*gtu32*PDstandardNth3phi) - 2*gt12L*gtu11*SQR(PDstandardNth1phi) -
- 2*gt12L*gtu22*SQR(PDstandardNth2phi) - 2*gt12L*gtu33*SQR(PDstandardNth3phi));
-
- Rphi13 = 2*(-PDstandardNth13phi + gt13L*(-(gtu11*PDstandardNth11phi) - 2*gtu21*PDstandardNth12phi -
- 2*gtu31*PDstandardNth13phi) - gt13L*gtu22*PDstandardNth22phi - 2*gt13L*gtu32*PDstandardNth23phi -
- gt13L*gtu33*PDstandardNth33phi + Gt313*PDstandardNth3phi + gt13L*Gt311*gtu11*PDstandardNth3phi +
- 2*gt13L*Gt312*gtu21*PDstandardNth3phi + gt13L*Gt322*gtu22*PDstandardNth3phi +
- 2*gt13L*Gt313*gtu31*PDstandardNth3phi + 2*gt13L*Gt323*gtu32*PDstandardNth3phi +
- gt13L*Gt333*gtu33*PDstandardNth3phi + PDstandardNth1phi*
- (Gt113 + Gt111*gt13L*gtu11 + 2*Gt112*gt13L*gtu21 + Gt122*gt13L*gtu22 + 2*Gt113*gt13L*gtu31 +
- 2*Gt123*gt13L*gtu32 + Gt133*gt13L*gtu33 - 4*gt13L*gtu21*PDstandardNth2phi +
- (2 - 4*gt13L*gtu31)*PDstandardNth3phi) +
- PDstandardNth2phi*(Gt213 + 2*gt13L*Gt213*gtu31 +
- gt13L*(Gt211*gtu11 + 2*Gt212*gtu21 + Gt222*gtu22 + 2*Gt223*gtu32 + Gt233*gtu33) -
- 4*gt13L*gtu32*PDstandardNth3phi) - 2*gt13L*gtu11*SQR(PDstandardNth1phi) -
- 2*gt13L*gtu22*SQR(PDstandardNth2phi) - 2*gt13L*gtu33*SQR(PDstandardNth3phi));
-
- Rphi22 = 2*(-PDstandardNth22phi + gt22L*(-(gtu11*PDstandardNth11phi) - 2*gtu21*PDstandardNth12phi -
- 2*gtu31*PDstandardNth13phi - gtu22*PDstandardNth22phi) - 2*gt22L*gtu32*PDstandardNth23phi -
- gt22L*gtu33*PDstandardNth33phi + Gt322*PDstandardNth3phi + gt22L*Gt311*gtu11*PDstandardNth3phi +
- 2*gt22L*Gt312*gtu21*PDstandardNth3phi + gt22L*Gt322*gtu22*PDstandardNth3phi +
- 2*gt22L*Gt313*gtu31*PDstandardNth3phi + 2*gt22L*Gt323*gtu32*PDstandardNth3phi +
- gt22L*Gt333*gtu33*PDstandardNth3phi + PDstandardNth1phi*
- (Gt122 + Gt111*gt22L*gtu11 + 2*Gt112*gt22L*gtu21 + Gt122*gt22L*gtu22 + 2*Gt113*gt22L*gtu31 +
- 2*Gt123*gt22L*gtu32 + Gt133*gt22L*gtu33 - 4*gt22L*gtu21*PDstandardNth2phi - 4*gt22L*gtu31*PDstandardNth3phi) +
- PDstandardNth2phi*(Gt222 + Gt222*gt22L*gtu22 +
- gt22L*(Gt211*gtu11 + 2*Gt212*gtu21 + 2*Gt213*gtu31 + 2*Gt223*gtu32 + Gt233*gtu33) -
- 4*gt22L*gtu32*PDstandardNth3phi) - 2*gt22L*gtu11*SQR(PDstandardNth1phi) +
- (2 - 2*gt22L*gtu22)*SQR(PDstandardNth2phi) - 2*gt22L*gtu33*SQR(PDstandardNth3phi));
-
- Rphi23 = 2*(-PDstandardNth23phi + gt23L*(-(gtu11*PDstandardNth11phi) - 2*gtu21*PDstandardNth12phi -
- 2*gtu31*PDstandardNth13phi - gtu22*PDstandardNth22phi - 2*gtu32*PDstandardNth23phi) -
- gt23L*gtu33*PDstandardNth33phi + Gt323*PDstandardNth3phi + gt23L*Gt311*gtu11*PDstandardNth3phi +
- 2*gt23L*Gt312*gtu21*PDstandardNth3phi + gt23L*Gt322*gtu22*PDstandardNth3phi +
- 2*gt23L*Gt313*gtu31*PDstandardNth3phi + 2*gt23L*Gt323*gtu32*PDstandardNth3phi +
- gt23L*Gt333*gtu33*PDstandardNth3phi + PDstandardNth1phi*
- (Gt123 + Gt111*gt23L*gtu11 + 2*Gt112*gt23L*gtu21 + Gt122*gt23L*gtu22 + 2*Gt113*gt23L*gtu31 +
- 2*Gt123*gt23L*gtu32 + Gt133*gt23L*gtu33 - 4*gt23L*gtu21*PDstandardNth2phi - 4*gt23L*gtu31*PDstandardNth3phi) +
- PDstandardNth2phi*(Gt223 + 2*Gt223*gt23L*gtu32 +
- gt23L*(Gt211*gtu11 + 2*Gt212*gtu21 + Gt222*gtu22 + 2*Gt213*gtu31 + Gt233*gtu33) +
- (2 - 4*gt23L*gtu32)*PDstandardNth3phi) - 2*gt23L*gtu11*SQR(PDstandardNth1phi) -
- 2*gt23L*gtu22*SQR(PDstandardNth2phi) - 2*gt23L*gtu33*SQR(PDstandardNth3phi));
-
- Rphi33 = 2*(-PDstandardNth33phi + (Gt333 + gt33L*
- (Gt322*gtu22 + 2*(Gt312*gtu21 + Gt313*gtu31 + Gt323*gtu32) + Gt333*gtu33))*PDstandardNth3phi +
- PDstandardNth2phi*(Gt233 + gt33L*(Gt211*gtu11 + Gt222*gtu22 + 2*(Gt212*gtu21 + Gt213*gtu31 + Gt223*gtu32) +
- Gt233*gtu33 - 4*gtu32*PDstandardNth3phi)) +
- PDstandardNth1phi*(Gt133 + gt33L*(Gt111*gtu11 + Gt122*gtu22 + 2*(Gt112*gtu21 + Gt113*gtu31 + Gt123*gtu32) +
- Gt133*gtu33 - 4*(gtu21*PDstandardNth2phi + gtu31*PDstandardNth3phi))) + 2*SQR(PDstandardNth3phi) +
- gt33L*(-(gtu11*PDstandardNth11phi) - 2*gtu21*PDstandardNth12phi - 2*gtu31*PDstandardNth13phi -
- gtu22*PDstandardNth22phi - 2*gtu32*PDstandardNth23phi - gtu33*PDstandardNth33phi +
- Gt311*gtu11*PDstandardNth3phi - 2*gtu11*SQR(PDstandardNth1phi) - 2*gtu22*SQR(PDstandardNth2phi) -
- 2*gtu33*SQR(PDstandardNth3phi)));
-
- e4phi = exp(4*phiL);
+ fac1 = IfThen(conformalmethod,-(khalf*INV(phiL)),1);
+
+ cdphi1 = fac1*PDstandardNth1phi;
+
+ cdphi2 = fac1*PDstandardNth2phi;
+
+ cdphi3 = fac1*PDstandardNth3phi;
+
+ fac2 = IfThen(conformalmethod,khalf*pow(phiL,-2),0);
+
+ cdphi211 = -(fac1*(-PDstandardNth11phi + Gt111*PDstandardNth1phi + Gt211*PDstandardNth2phi +
+ Gt311*PDstandardNth3phi)) + fac2*SQR(PDstandardNth1phi);
+
+ cdphi212 = fac2*PDstandardNth1phi*PDstandardNth2phi -
+ fac1*(-PDstandardNth12phi + Gt112*PDstandardNth1phi + Gt212*PDstandardNth2phi + Gt312*PDstandardNth3phi);
+
+ cdphi213 = fac2*PDstandardNth1phi*PDstandardNth3phi -
+ fac1*(-PDstandardNth13phi + Gt113*PDstandardNth1phi + Gt213*PDstandardNth2phi + Gt313*PDstandardNth3phi);
+
+ cdphi222 = -(fac1*(Gt122*PDstandardNth1phi - PDstandardNth22phi + Gt222*PDstandardNth2phi +
+ Gt322*PDstandardNth3phi)) + fac2*SQR(PDstandardNth2phi);
+
+ cdphi223 = fac2*PDstandardNth2phi*PDstandardNth3phi -
+ fac1*(Gt123*PDstandardNth1phi - PDstandardNth23phi + Gt223*PDstandardNth2phi + Gt323*PDstandardNth3phi);
+
+ cdphi233 = -(fac1*(Gt133*PDstandardNth1phi + Gt233*PDstandardNth2phi - PDstandardNth33phi +
+ Gt333*PDstandardNth3phi)) + fac2*SQR(PDstandardNth3phi);
+
+ Rphi11 = -2*(cdphi211 + 2*(-1 + gt11L*gtu11)*SQR(cdphi1) +
+ gt11L*(cdphi211*gtu11 + 4*(cdphi1*(cdphi2*gtu21 + cdphi3*gtu31) + cdphi2*cdphi3*gtu32) + cdphi233*gtu33 +
+ gtu22*(cdphi222 + 2*SQR(cdphi2)) + 2*(cdphi212*gtu21 + cdphi213*gtu31 + cdphi223*gtu32 + gtu33*SQR(cdphi3))));
+
+ Rphi12 = -2*(cdphi212 + cdphi1*(cdphi2*(-2 + 4*gt12L*gtu21) + 4*cdphi3*gt12L*gtu31) +
+ gt12L*(cdphi211*gtu11 + 4*cdphi2*cdphi3*gtu32 +
+ 2*(cdphi212*gtu21 + cdphi213*gtu31 + cdphi223*gtu32 + gtu11*SQR(cdphi1)) + gtu22*(cdphi222 + 2*SQR(cdphi2)) +
+ gtu33*(cdphi233 + 2*SQR(cdphi3))));
+
+ Rphi13 = -2*(cdphi213 + cdphi1*(4*cdphi2*gt13L*gtu21 + cdphi3*(-2 + 4*gt13L*gtu31)) +
+ gt13L*(cdphi211*gtu11 + 4*cdphi2*cdphi3*gtu32 +
+ 2*(cdphi212*gtu21 + cdphi213*gtu31 + cdphi223*gtu32 + gtu11*SQR(cdphi1)) + gtu22*(cdphi222 + 2*SQR(cdphi2)) +
+ gtu33*(cdphi233 + 2*SQR(cdphi3))));
+
+ Rphi22 = -2*(cdphi222 + 2*(-1 + gt22L*gtu22)*SQR(cdphi2) +
+ gt22L*(cdphi222*gtu22 + 4*(cdphi1*cdphi3*gtu31 + cdphi2*(cdphi1*gtu21 + cdphi3*gtu32)) + cdphi233*gtu33 +
+ gtu11*(cdphi211 + 2*SQR(cdphi1)) + 2*(cdphi212*gtu21 + cdphi213*gtu31 + cdphi223*gtu32 + gtu33*SQR(cdphi3))));
+
+ Rphi23 = -2*(cdphi223 + cdphi2*(4*cdphi1*gt23L*gtu21 + cdphi3*(-2 + 4*gt23L*gtu32)) +
+ gt23L*(cdphi222*gtu22 + 4*cdphi1*cdphi3*gtu31 + gtu11*(cdphi211 + 2*SQR(cdphi1)) +
+ 2*(cdphi212*gtu21 + cdphi213*gtu31 + cdphi223*gtu32 + gtu22*SQR(cdphi2)) + gtu33*(cdphi233 + 2*SQR(cdphi3))));
+
+ Rphi33 = -2*(cdphi233 + gt33L*((4*cdphi1*cdphi2 + 2*cdphi212)*gtu21 + 4*cdphi3*(cdphi1*gtu31 + cdphi2*gtu32) +
+ 2*(cdphi213*gtu31 + cdphi223*gtu32) + cdphi233*gtu33 + gtu11*(cdphi211 + 2*SQR(cdphi1)) +
+ gtu22*(cdphi222 + 2*SQR(cdphi2))) + 2*(-1 + gt33L*gtu33)*SQR(cdphi3));
+
+ e4phi = IfThen(conformalmethod,pow(phiL,-2),exp(4*phiL));
em4phi = INV(e4phi);
@@ -787,47 +770,44 @@ void ML_BSSN_constraints_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK
HL = -2*(Atm12*Atm21 + Atm13*Atm31 + Atm23*Atm32) + trR - SQR(Atm11) - SQR(Atm22) - SQR(Atm33) + ktwothird*SQR(trKL);
- M1L = -(At12L*Gt112*gtu22) - At11L*Gt122*gtu22 - At22L*Gt212*gtu22 - At12L*Gt222*gtu22 - At23L*Gt312*gtu22 -
- At13L*Gt322*gtu22 - At13L*Gt111*gtu31 - 3*At11L*Gt113*gtu31 - At23L*Gt211*gtu31 - 3*At12L*Gt213*gtu31 -
- At33L*Gt311*gtu31 - 3*At13L*Gt313*gtu31 - At13L*Gt112*gtu32 - At12L*Gt113*gtu32 - At23L*Gt212*gtu32 -
- At22L*Gt213*gtu32 - 2*At12L*Gt223*gtu32 - At33L*Gt312*gtu32 - At23L*Gt313*gtu32 - 2*At13L*Gt323*gtu32 -
- 2*(At11L*Gt111*gtu11 + At12L*Gt211*gtu11 + At13L*Gt311*gtu11 + At11L*Gt123*gtu32) - At13L*Gt113*gtu33 -
- At11L*Gt133*gtu33 - At23L*Gt213*gtu33 - At12L*Gt233*gtu33 - At33L*Gt313*gtu33 - At13L*Gt333*gtu33 +
- gtu11*PDstandardNth1At11 + gtu21*(-(At12L*Gt111) - 3*At11L*Gt112 - At22L*Gt211 - 3*At12L*Gt212 - At23L*Gt311 -
- 3*At13L*Gt312 + PDstandardNth1At12) + gtu31*PDstandardNth1At13 + 6*At11L*gtu11*PDstandardNth1phi +
- 6*At12L*gtu21*PDstandardNth1phi + 6*At13L*gtu31*PDstandardNth1phi - ktwothird*PDstandardNth1trK +
- gtu21*PDstandardNth2At11 + gtu22*PDstandardNth2At12 + gtu32*PDstandardNth2At13 + 6*At11L*gtu21*PDstandardNth2phi +
- 6*At12L*gtu22*PDstandardNth2phi + 6*At13L*gtu32*PDstandardNth2phi + gtu31*PDstandardNth3At11 +
- gtu32*PDstandardNth3At12 + gtu33*PDstandardNth3At13 + 6*At11L*gtu31*PDstandardNth3phi +
- 6*At12L*gtu32*PDstandardNth3phi + 6*At13L*gtu33*PDstandardNth3phi;
-
- M2L = -(At12L*Gt111*gtu11) - At11L*Gt112*gtu11 - At22L*Gt211*gtu11 - At12L*Gt212*gtu11 - At23L*Gt311*gtu11 -
- At13L*Gt312*gtu11 - 3*At12L*Gt112*gtu21 - At11L*Gt122*gtu21 - 3*At22L*Gt212*gtu21 - At12L*Gt222*gtu21 -
- 3*At23L*Gt312*gtu21 - At13L*Gt322*gtu21 - 2*At12L*Gt122*gtu22 - 2*At22L*Gt222*gtu22 - 2*At23L*Gt322*gtu22 -
- At13L*Gt112*gtu31 - 2*At12L*Gt113*gtu31 - At11L*Gt123*gtu31 - At23L*Gt212*gtu31 - 2*At22L*Gt213*gtu31 -
- At12L*Gt223*gtu31 - At33L*Gt312*gtu31 - 2*At23L*Gt313*gtu31 - At13L*Gt323*gtu31 - At13L*Gt122*gtu32 -
- 3*At12L*Gt123*gtu32 - At23L*Gt222*gtu32 - 3*At22L*Gt223*gtu32 - At33L*Gt322*gtu32 - 3*At23L*Gt323*gtu32 -
- At13L*Gt123*gtu33 - At12L*Gt133*gtu33 - At23L*Gt223*gtu33 - At22L*Gt233*gtu33 - At33L*Gt323*gtu33 -
- At23L*Gt333*gtu33 + gtu11*PDstandardNth1At12 + gtu21*PDstandardNth1At22 + gtu31*PDstandardNth1At23 +
- 6*At12L*gtu11*PDstandardNth1phi + 6*At22L*gtu21*PDstandardNth1phi + 6*At23L*gtu31*PDstandardNth1phi +
- gtu21*PDstandardNth2At12 + gtu22*PDstandardNth2At22 + gtu32*PDstandardNth2At23 + 6*At12L*gtu21*PDstandardNth2phi +
- 6*At22L*gtu22*PDstandardNth2phi + 6*At23L*gtu32*PDstandardNth2phi - ktwothird*PDstandardNth2trK +
- gtu31*PDstandardNth3At12 + gtu32*PDstandardNth3At22 + gtu33*PDstandardNth3At23 + 6*At12L*gtu31*PDstandardNth3phi +
- 6*At22L*gtu32*PDstandardNth3phi + 6*At23L*gtu33*PDstandardNth3phi;
-
- M3L = -(At13L*Gt111*gtu11) - At11L*Gt113*gtu11 - At23L*Gt211*gtu11 - At12L*Gt213*gtu11 - At33L*Gt311*gtu11 -
- At13L*Gt313*gtu11 - 2*At13L*Gt112*gtu21 - At12L*Gt113*gtu21 - At11L*Gt123*gtu21 - 2*At23L*Gt212*gtu21 -
- At22L*Gt213*gtu21 - At12L*Gt223*gtu21 - 2*At33L*Gt312*gtu21 - At23L*Gt313*gtu21 - At13L*Gt323*gtu21 -
- At13L*Gt122*gtu22 - At12L*Gt123*gtu22 - At23L*Gt222*gtu22 - At22L*Gt223*gtu22 - At33L*Gt322*gtu22 -
- At23L*Gt323*gtu22 - 3*At13L*Gt113*gtu31 - At11L*Gt133*gtu31 - 3*At23L*Gt213*gtu31 - At12L*Gt233*gtu31 -
- 3*At33L*Gt313*gtu31 - At13L*Gt333*gtu31 - 3*At13L*Gt123*gtu32 - At12L*Gt133*gtu32 - 3*At23L*Gt223*gtu32 -
- At22L*Gt233*gtu32 - 3*At33L*Gt323*gtu32 - At23L*Gt333*gtu32 - 2*At13L*Gt133*gtu33 - 2*At23L*Gt233*gtu33 -
- 2*At33L*Gt333*gtu33 + gtu11*PDstandardNth1At13 + gtu21*PDstandardNth1At23 + gtu31*PDstandardNth1At33 +
- 6*At13L*gtu11*PDstandardNth1phi + 6*At23L*gtu21*PDstandardNth1phi + 6*At33L*gtu31*PDstandardNth1phi +
- gtu21*PDstandardNth2At13 + gtu22*PDstandardNth2At23 + gtu32*PDstandardNth2At33 + 6*At13L*gtu21*PDstandardNth2phi +
- 6*At23L*gtu22*PDstandardNth2phi + 6*At33L*gtu32*PDstandardNth2phi + gtu31*PDstandardNth3At13 +
- gtu32*PDstandardNth3At23 + gtu33*PDstandardNth3At33 + 6*At13L*gtu31*PDstandardNth3phi +
- 6*At23L*gtu32*PDstandardNth3phi + 6*At33L*gtu33*PDstandardNth3phi - ktwothird*PDstandardNth3trK;
+ M1L = -(At12L*Gt112*gtu22) - At22L*Gt212*gtu22 - At12L*Gt222*gtu22 - At23L*Gt312*gtu22 - At13L*Gt322*gtu22 +
+ At12L*(6*cdphi1*gtu21 - Gt111*gtu21 + 6*cdphi2*gtu22) +
+ At11L*(6*cdphi1*gtu11 - 2*Gt111*gtu11 + 6*cdphi2*gtu21 - Gt122*gtu22) + 6*At13L*cdphi1*gtu31 +
+ 6*At11L*cdphi3*gtu31 - At13L*Gt111*gtu31 - 3*At11L*Gt113*gtu31 - At23L*Gt211*gtu31 - 3*At12L*Gt213*gtu31 -
+ At33L*Gt311*gtu31 - 3*At13L*Gt313*gtu31 + 6*At13L*cdphi2*gtu32 + 6*At12L*cdphi3*gtu32 - At13L*Gt112*gtu32 -
+ At12L*Gt113*gtu32 - At23L*Gt212*gtu32 - At22L*Gt213*gtu32 - 2*At12L*Gt223*gtu32 - At33L*Gt312*gtu32 -
+ At23L*Gt313*gtu32 - 2*At13L*Gt323*gtu32 - 2*(At12L*Gt211*gtu11 + At13L*Gt311*gtu11 + At11L*Gt123*gtu32) +
+ 6*At13L*cdphi3*gtu33 - At13L*Gt113*gtu33 - At11L*Gt133*gtu33 - At23L*Gt213*gtu33 - At12L*Gt233*gtu33 -
+ At33L*Gt313*gtu33 - At13L*Gt333*gtu33 + gtu11*PDstandardNth1At11 +
+ gtu21*(-3*At11L*Gt112 - At22L*Gt211 - 3*At12L*Gt212 - At23L*Gt311 - 3*At13L*Gt312 + PDstandardNth1At12) +
+ gtu31*PDstandardNth1At13 - ktwothird*PDstandardNth1trK + gtu21*PDstandardNth2At11 + gtu22*PDstandardNth2At12 +
+ gtu32*PDstandardNth2At13 + gtu31*PDstandardNth3At11 + gtu32*PDstandardNth3At12 + gtu33*PDstandardNth3At13;
+
+ M2L = -(At11L*Gt112*gtu11) - At22L*Gt211*gtu11 - At12L*Gt212*gtu11 - At23L*Gt311*gtu11 - At13L*Gt312*gtu11 +
+ At12L*(6*cdphi1*gtu11 - Gt111*gtu11) + 6*At22L*cdphi1*gtu21 + 6*At12L*cdphi2*gtu21 - 3*At12L*Gt112*gtu21 -
+ At11L*Gt122*gtu21 - 3*At22L*Gt212*gtu21 - At12L*Gt222*gtu21 - 3*At23L*Gt312*gtu21 - At13L*Gt322*gtu21 +
+ 6*At22L*cdphi2*gtu22 - 2*At12L*Gt122*gtu22 - 2*At22L*Gt222*gtu22 - 2*At23L*Gt322*gtu22 + 6*At23L*cdphi1*gtu31 +
+ 6*At12L*cdphi3*gtu31 - At13L*Gt112*gtu31 - 2*At12L*Gt113*gtu31 - At11L*Gt123*gtu31 - At23L*Gt212*gtu31 -
+ 2*At22L*Gt213*gtu31 - At12L*Gt223*gtu31 - At33L*Gt312*gtu31 - 2*At23L*Gt313*gtu31 - At13L*Gt323*gtu31 +
+ 6*At23L*cdphi2*gtu32 + 6*At22L*cdphi3*gtu32 - At13L*Gt122*gtu32 - 3*At12L*Gt123*gtu32 - At23L*Gt222*gtu32 -
+ 3*At22L*Gt223*gtu32 - At33L*Gt322*gtu32 - 3*At23L*Gt323*gtu32 + 6*At23L*cdphi3*gtu33 - At13L*Gt123*gtu33 -
+ At12L*Gt133*gtu33 - At23L*Gt223*gtu33 - At22L*Gt233*gtu33 - At33L*Gt323*gtu33 - At23L*Gt333*gtu33 +
+ gtu11*PDstandardNth1At12 + gtu21*PDstandardNth1At22 + gtu31*PDstandardNth1At23 + gtu21*PDstandardNth2At12 +
+ gtu22*PDstandardNth2At22 + gtu32*PDstandardNth2At23 - ktwothird*PDstandardNth2trK + gtu31*PDstandardNth3At12 +
+ gtu32*PDstandardNth3At22 + gtu33*PDstandardNth3At23;
+
+ M3L = -(At11L*Gt113*gtu11) - At23L*Gt211*gtu11 - At12L*Gt213*gtu11 - At33L*Gt311*gtu11 - At13L*Gt313*gtu11 +
+ At13L*(6*cdphi1*gtu11 - Gt111*gtu11) + 6*At23L*cdphi1*gtu21 + 6*At13L*cdphi2*gtu21 - 2*At13L*Gt112*gtu21 -
+ At12L*Gt113*gtu21 - At11L*Gt123*gtu21 - 2*At23L*Gt212*gtu21 - At22L*Gt213*gtu21 - At12L*Gt223*gtu21 -
+ 2*At33L*Gt312*gtu21 - At23L*Gt313*gtu21 - At13L*Gt323*gtu21 + 6*At23L*cdphi2*gtu22 - At13L*Gt122*gtu22 -
+ At12L*Gt123*gtu22 - At23L*Gt222*gtu22 - At22L*Gt223*gtu22 - At33L*Gt322*gtu22 - At23L*Gt323*gtu22 +
+ 6*At33L*cdphi1*gtu31 + 6*At13L*cdphi3*gtu31 - 3*At13L*Gt113*gtu31 - At11L*Gt133*gtu31 - 3*At23L*Gt213*gtu31 -
+ At12L*Gt233*gtu31 - 3*At33L*Gt313*gtu31 - At13L*Gt333*gtu31 + 6*At33L*cdphi2*gtu32 + 6*At23L*cdphi3*gtu32 -
+ 3*At13L*Gt123*gtu32 - At12L*Gt133*gtu32 - 3*At23L*Gt223*gtu32 - At22L*Gt233*gtu32 - 3*At33L*Gt323*gtu32 -
+ At23L*Gt333*gtu32 + 6*At33L*cdphi3*gtu33 - 2*At13L*Gt133*gtu33 - 2*At23L*Gt233*gtu33 - 2*At33L*Gt333*gtu33 +
+ gtu11*PDstandardNth1At13 + gtu21*PDstandardNth1At23 + gtu31*PDstandardNth1At33 + gtu21*PDstandardNth2At13 +
+ gtu22*PDstandardNth2At23 + gtu32*PDstandardNth2At33 + gtu31*PDstandardNth3At13 + gtu32*PDstandardNth3At23 +
+ gtu33*PDstandardNth3At33 - ktwothird*PDstandardNth3trK;
cSL = Log(detgt);
diff --git a/ML_BSSN/src/ML_BSSN_constraints_boundary.c b/ML_BSSN/src/ML_BSSN_constraints_boundary.c
index 97e44da..1c519d1 100644
--- a/ML_BSSN/src/ML_BSSN_constraints_boundary.c
+++ b/ML_BSSN/src/ML_BSSN_constraints_boundary.c
@@ -1,4 +1,7 @@
-/* File produced by Kranc */
+/* File produced by user diener */
+/* Produced with Mathematica Version 7.0 for Linux x86 (64-bit) (February 18, 2009) */
+
+/* Mathematica script written by Ian Hinder and Sascha Husa */
#define KRANC_C
diff --git a/ML_BSSN/src/ML_BSSN_convertFromADMBase.c b/ML_BSSN/src/ML_BSSN_convertFromADMBase.c
index 056573d..ad7e385 100644
--- a/ML_BSSN/src/ML_BSSN_convertFromADMBase.c
+++ b/ML_BSSN/src/ML_BSSN_convertFromADMBase.c
@@ -1,4 +1,7 @@
-/* File produced by Kranc */
+/* File produced by user diener */
+/* Produced with Mathematica Version 7.0 for Linux x86 (64-bit) (February 18, 2009) */
+
+/* Mathematica script written by Ian Hinder and Sascha Husa */
#define KRANC_C
@@ -189,9 +192,9 @@ void ML_BSSN_convertFromADMBase_Body(cGH const * const cctkGH, CCTK_INT const di
gu33 = INV(detg)*(g11*g22 - SQR(g12));
- phiL = Log(detg)/12.;
+ phiL = IfThen(conformalmethod,pow(detg,-0.16666666666666666),Log(detg)/12.);
- em4phi = exp(-4*phiL);
+ em4phi = IfThen(conformalmethod,SQR(phiL),exp(-4*phiL));
gt11L = em4phi*g11;
diff --git a/ML_BSSN/src/ML_BSSN_convertFromADMBaseGamma.c b/ML_BSSN/src/ML_BSSN_convertFromADMBaseGamma.c
index d16d1ae..37cd75b 100644
--- a/ML_BSSN/src/ML_BSSN_convertFromADMBaseGamma.c
+++ b/ML_BSSN/src/ML_BSSN_convertFromADMBaseGamma.c
@@ -1,4 +1,7 @@
-/* File produced by Kranc */
+/* File produced by user diener */
+/* Produced with Mathematica Version 7.0 for Linux x86 (64-bit) (February 18, 2009) */
+
+/* Mathematica script written by Ian Hinder and Sascha Husa */
#define KRANC_C
diff --git a/ML_BSSN/src/ML_BSSN_convertToADMBase.c b/ML_BSSN/src/ML_BSSN_convertToADMBase.c
index d8ded4b..09437a2 100644
--- a/ML_BSSN/src/ML_BSSN_convertToADMBase.c
+++ b/ML_BSSN/src/ML_BSSN_convertToADMBase.c
@@ -1,4 +1,7 @@
-/* File produced by Kranc */
+/* File produced by user diener */
+/* Produced with Mathematica Version 7.0 for Linux x86 (64-bit) (February 18, 2009) */
+
+/* Mathematica script written by Ian Hinder and Sascha Husa */
#define KRANC_C
@@ -178,7 +181,7 @@ void ML_BSSN_convertToADMBase_Body(cGH const * const cctkGH, CCTK_INT const dir,
dir3 = Sign(beta3L);
- e4phi = exp(4*phiL);
+ e4phi = IfThen(conformalmethod,pow(phiL,-2),exp(4*phiL));
g11 = e4phi*gt11L;
diff --git a/ML_BSSN/src/ML_BSSN_enforce.c b/ML_BSSN/src/ML_BSSN_enforce.c
index 482a59b..ffd2d24 100644
--- a/ML_BSSN/src/ML_BSSN_enforce.c
+++ b/ML_BSSN/src/ML_BSSN_enforce.c
@@ -1,4 +1,7 @@
-/* File produced by Kranc */
+/* File produced by user diener */
+/* Produced with Mathematica Version 7.0 for Linux x86 (64-bit) (February 18, 2009) */
+
+/* Mathematica script written by Ian Hinder and Sascha Husa */
#define KRANC_C
@@ -106,7 +109,6 @@ void ML_BSSN_enforce_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK_INT
CCTK_REAL trAt = INITVALUE;
/* Declare local copies of grid functions */
- CCTK_REAL alphaL = INITVALUE;
CCTK_REAL At11L = INITVALUE, At12L = INITVALUE, At13L = INITVALUE, At22L = INITVALUE, At23L = INITVALUE, At33L = INITVALUE;
CCTK_REAL gt11L = INITVALUE, gt12L = INITVALUE, gt13L = INITVALUE, gt22L = INITVALUE, gt23L = INITVALUE, gt33L = INITVALUE;
/* Declare precomputed derivatives*/
@@ -114,7 +116,6 @@ void ML_BSSN_enforce_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK_INT
/* Declare derivatives */
/* Assign local copies of grid functions */
- alphaL = alpha[index];
At11L = At11[index];
At12L = At12[index];
At13L = At13[index];
@@ -165,11 +166,8 @@ void ML_BSSN_enforce_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK_INT
At33L = At33L - gt33L*kthird*trAt;
- alphaL = fmax(alphaL,MinimumLapse);
-
/* Copy local copies back to grid functions */
- alpha[index] = alphaL;
At11[index] = At11L;
At12[index] = At12L;
At13[index] = At13L;
diff --git a/ML_BSSN/src/RegisterMoL.c b/ML_BSSN/src/RegisterMoL.c
index f02fa5c..93049e2 100644
--- a/ML_BSSN/src/RegisterMoL.c
+++ b/ML_BSSN/src/RegisterMoL.c
@@ -1,4 +1,7 @@
-/* File produced by Kranc */
+/* File produced by user diener */
+/* Produced with Mathematica Version 7.0 for Linux x86 (64-bit) (February 18, 2009) */
+
+/* Mathematica script written by Ian Hinder and Sascha Husa */
#include "cctk.h"
#include "cctk_Arguments.h"
diff --git a/ML_BSSN/src/RegisterSymmetries.c b/ML_BSSN/src/RegisterSymmetries.c
index 20db895..013e3d1 100644
--- a/ML_BSSN/src/RegisterSymmetries.c
+++ b/ML_BSSN/src/RegisterSymmetries.c
@@ -1,4 +1,7 @@
-/* File produced by Kranc */
+/* File produced by user diener */
+/* Produced with Mathematica Version 7.0 for Linux x86 (64-bit) (February 18, 2009) */
+
+/* Mathematica script written by Ian Hinder and Sascha Husa */
#include "cctk.h"
#include "cctk_Arguments.h"
diff --git a/ML_BSSN/src/Startup.c b/ML_BSSN/src/Startup.c
index 705a850..91eac42 100644
--- a/ML_BSSN/src/Startup.c
+++ b/ML_BSSN/src/Startup.c
@@ -1,4 +1,7 @@
-/* File produced by Kranc */
+/* File produced by user diener */
+/* Produced with Mathematica Version 7.0 for Linux x86 (64-bit) (February 18, 2009) */
+
+/* Mathematica script written by Ian Hinder and Sascha Husa */
#include "cctk.h"
diff --git a/ML_BSSN/src/make.code.defn b/ML_BSSN/src/make.code.defn
index 33f6bba..cf27ba6 100644
--- a/ML_BSSN/src/make.code.defn
+++ b/ML_BSSN/src/make.code.defn
@@ -1,3 +1,6 @@
-# File produced by Kranc
+# File produced by user diener
+# Produced with Mathematica Version 7.0 for Linux x86 (64-bit) (February 18, 2009)
+
+# Mathematica script written by Ian Hinder and Sascha Husa
SRCS = Startup.c RegisterMoL.c RegisterSymmetries.c ML_BSSN_Minkowski.c ML_BSSN_convertFromADMBase.c ML_BSSN_convertFromADMBaseGamma.c ML_BSSN_RHS.c ML_BSSN_RHSBoundary.c ML_BSSN_enforce.c ML_BSSN_boundary.c ML_BSSN_convertToADMBase.c ML_BSSN_ADMBaseBoundary.c ML_BSSN_constraints.c ML_BSSN_constraints_boundary.c Boundaries.c