aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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
-rw-r--r--ML_BSSN_M/configuration.ccl5
-rw-r--r--ML_BSSN_M/interface.ccl163
-rw-r--r--ML_BSSN_M/param.ccl33
-rw-r--r--ML_BSSN_M/schedule.ccl212
-rw-r--r--ML_BSSN_M/src/Boundaries.c5
-rw-r--r--ML_BSSN_M/src/ML_BSSN_M_ADMBaseBoundary.c7
-rw-r--r--ML_BSSN_M/src/ML_BSSN_M_Minkowski.c7
-rw-r--r--ML_BSSN_M/src/ML_BSSN_M_RHS.c197
-rw-r--r--ML_BSSN_M/src/ML_BSSN_M_RHSBoundary.c7
-rw-r--r--ML_BSSN_M/src/ML_BSSN_M_boundary.c7
-rw-r--r--ML_BSSN_M/src/ML_BSSN_M_constraints.c219
-rw-r--r--ML_BSSN_M/src/ML_BSSN_M_constraints_boundary.c5
-rw-r--r--ML_BSSN_M/src/ML_BSSN_M_convertFromADMBase.c9
-rw-r--r--ML_BSSN_M/src/ML_BSSN_M_convertFromADMBaseGamma.c5
-rw-r--r--ML_BSSN_M/src/ML_BSSN_M_convertToADMBase.c7
-rw-r--r--ML_BSSN_M/src/ML_BSSN_M_enforce.c10
-rw-r--r--ML_BSSN_M/src/RegisterMoL.c5
-rw-r--r--ML_BSSN_M/src/RegisterSymmetries.c5
-rw-r--r--ML_BSSN_M/src/Startup.c5
-rw-r--r--ML_BSSN_M/src/make.code.defn5
-rw-r--r--ML_BSSN_MP/configuration.ccl5
-rw-r--r--ML_BSSN_MP/interface.ccl163
-rw-r--r--ML_BSSN_MP/param.ccl33
-rw-r--r--ML_BSSN_MP/schedule.ccl212
-rw-r--r--ML_BSSN_MP/src/Boundaries.c5
-rw-r--r--ML_BSSN_MP/src/ML_BSSN_MP_ADMBaseBoundary.c7
-rw-r--r--ML_BSSN_MP/src/ML_BSSN_MP_Minkowski.c7
-rw-r--r--ML_BSSN_MP/src/ML_BSSN_MP_RHS.c566
-rw-r--r--ML_BSSN_MP/src/ML_BSSN_MP_RHSBoundary.c7
-rw-r--r--ML_BSSN_MP/src/ML_BSSN_MP_boundary.c7
-rw-r--r--ML_BSSN_MP/src/ML_BSSN_MP_constraints.c496
-rw-r--r--ML_BSSN_MP/src/ML_BSSN_MP_constraints_boundary.c5
-rw-r--r--ML_BSSN_MP/src/ML_BSSN_MP_convertFromADMBase.c9
-rw-r--r--ML_BSSN_MP/src/ML_BSSN_MP_convertFromADMBaseGamma.c5
-rw-r--r--ML_BSSN_MP/src/ML_BSSN_MP_convertToADMBase.c7
-rw-r--r--ML_BSSN_MP/src/ML_BSSN_MP_enforce.c10
-rw-r--r--ML_BSSN_MP/src/RegisterMoL.c5
-rw-r--r--ML_BSSN_MP/src/RegisterSymmetries.c5
-rw-r--r--ML_BSSN_MP/src/Startup.c5
-rw-r--r--ML_BSSN_MP/src/make.code.defn5
-rw-r--r--m/McLachlan_BSSN.m97
61 files changed, 1288 insertions, 2210 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
diff --git a/ML_BSSN_M/configuration.ccl b/ML_BSSN_M/configuration.ccl
index 148a1a1..ed457cd 100644
--- a/ML_BSSN_M/configuration.ccl
+++ b/ML_BSSN_M/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_M/interface.ccl b/ML_BSSN_M/interface.ccl
index cb45630..0e6e5c9 100644
--- a/ML_BSSN_M/interface.ccl
+++ b/ML_BSSN_M/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_M
@@ -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_M/param.ccl b/ML_BSSN_M/param.ccl
index 0592f38..4729010 100644
--- a/ML_BSSN_M/param.ccl
+++ b/ML_BSSN_M/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_M :: ""
+}
+
+
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_M_MaxNumEvolvedVars "Number of evolved variables used by this t
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_M_Minkowski_calc_every "ML_BSSN_M_Minkowski_calc_every"
diff --git a/ML_BSSN_M/schedule.ccl b/ML_BSSN_M/schedule.ccl
index 1b46aef..8b84661 100644
--- a/ML_BSSN_M/schedule.ccl
+++ b/ML_BSSN_M/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_M_Startup at STARTUP
{
diff --git a/ML_BSSN_M/src/Boundaries.c b/ML_BSSN_M/src/Boundaries.c
index 68bc54f..6f2e2f4 100644
--- a/ML_BSSN_M/src/Boundaries.c
+++ b/ML_BSSN_M/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_M/src/ML_BSSN_M_ADMBaseBoundary.c b/ML_BSSN_M/src/ML_BSSN_M_ADMBaseBoundary.c
index 670ec0c..f42daa8 100644
--- a/ML_BSSN_M/src/ML_BSSN_M_ADMBaseBoundary.c
+++ b/ML_BSSN_M/src/ML_BSSN_M_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_M_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_M/src/ML_BSSN_M_Minkowski.c b/ML_BSSN_M/src/ML_BSSN_M_Minkowski.c
index e552548..24aaef2 100644
--- a/ML_BSSN_M/src/ML_BSSN_M_Minkowski.c
+++ b/ML_BSSN_M/src/ML_BSSN_M_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_M_Minkowski_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK
/* Precompute derivatives (old style) */
/* Calculate temporaries and grid functions */
- phiL = 0;
+ phiL = IfThen(conformalmethod,1,0);
gt11L = 1;
diff --git a/ML_BSSN_M/src/ML_BSSN_M_RHS.c b/ML_BSSN_M/src/ML_BSSN_M_RHS.c
index fe93508..766cf48 100644
--- a/ML_BSSN_M/src/ML_BSSN_M_RHS.c
+++ b/ML_BSSN_M/src/ML_BSSN_M_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_M_RHS_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK_INT c
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;
@@ -763,82 +769,59 @@ void ML_BSSN_M_RHS_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK_INT c
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;
@@ -870,7 +853,7 @@ void ML_BSSN_M_RHS_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK_INT c
Atu33 = Atm31*gtu31 + Atm32*gtu32 + Atm33*gtu33;
- e4phi = exp(4*phiL);
+ e4phi = IfThen(conformalmethod,pow(phiL,-2),exp(4*phiL));
em4phi = INV(e4phi);
@@ -898,44 +881,41 @@ void ML_BSSN_M_RHS_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK_INT c
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;
@@ -981,9 +961,10 @@ void ML_BSSN_M_RHS_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK_INT c
trS = gu11*T11 + gu22*T22 + 2*(gu21*T12 + gu31*T13 + gu32*T23) + gu33*T33;
- 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) +
@@ -1019,8 +1000,8 @@ void ML_BSSN_M_RHS_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK_INT c
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))) -
150.7964473723100754462068823974161384415*alphaL*(gtu11*S1 + gtu21*S2 + gtu31*S3) +
(-3*PDstandardNth1beta1 + 2*(PDstandardNth1beta1 + PDstandardNth2beta2 + PDstandardNth3beta3))*Xtn1 -
@@ -1032,8 +1013,8 @@ void ML_BSSN_M_RHS_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK_INT c
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))) -
150.7964473723100754462068823974161384415*alphaL*(gtu21*S1 + gtu22*S2 + gtu32*S3) +
2*(PDstandardNth1beta1 + PDstandardNth2beta2 + PDstandardNth3beta3)*Xtn2 -
@@ -1045,8 +1026,8 @@ void ML_BSSN_M_RHS_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK_INT c
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))) -
150.7964473723100754462068823974161384415*alphaL*(gtu31*S1 + gtu32*S2 + gtu33*S3) +
2*(PDstandardNth1beta1 + PDstandardNth2beta2 + PDstandardNth3beta3)*Xtn3 -
diff --git a/ML_BSSN_M/src/ML_BSSN_M_RHSBoundary.c b/ML_BSSN_M/src/ML_BSSN_M_RHSBoundary.c
index 930b356..8cb6279 100644
--- a/ML_BSSN_M/src/ML_BSSN_M_RHSBoundary.c
+++ b/ML_BSSN_M/src/ML_BSSN_M_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_M_RHSBoundary_Body(cGH const * const cctkGH, CCTK_INT const dir, CC
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_M/src/ML_BSSN_M_boundary.c b/ML_BSSN_M/src/ML_BSSN_M_boundary.c
index 93ccb6c..9db49a2 100644
--- a/ML_BSSN_M/src/ML_BSSN_M_boundary.c
+++ b/ML_BSSN_M/src/ML_BSSN_M_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_M_boundary_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK_
/* Precompute derivatives (old style) */
/* Calculate temporaries and grid functions */
- phiL = 0;
+ phiL = IfThen(conformalmethod,1,0);
gt11L = 1;
diff --git a/ML_BSSN_M/src/ML_BSSN_M_constraints.c b/ML_BSSN_M/src/ML_BSSN_M_constraints.c
index 95e7057..9348356 100644
--- a/ML_BSSN_M/src/ML_BSSN_M_constraints.c
+++ b/ML_BSSN_M/src/ML_BSSN_M_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_M_constraints_Body(cGH const * const cctkGH, CCTK_INT const dir, CC
/* 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;
@@ -690,84 +696,61 @@ void ML_BSSN_M_constraints_Body(cGH const * const cctkGH, CCTK_INT const dir, CC
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);
@@ -848,50 +831,46 @@ void ML_BSSN_M_constraints_Body(cGH const * const cctkGH, CCTK_INT const dir, CC
HL = -2.*(Atm12*Atm21 + Atm13*Atm31 + Atm23*Atm32) - 50.26548245743669181540229413247204614715*rho + trR -
1.*(SQR(Atm11) + SQR(Atm22) + SQR(Atm33)) + 0.6666666666666666666666666666666666666667*SQR(trKL);
- M1L = -2.*((At11L*Gt111 + At12L*Gt211 + At13L*Gt311)*gtu11 + At11L*Gt123*gtu32) -
- 1.*((At11L*Gt122 + At22L*Gt212 + At12L*(Gt112 + Gt222) + At23L*Gt312 + At13L*Gt322)*gtu22 +
- (At12L*Gt113 + At23L*Gt212)*gtu32 + (At11L*Gt133 + At23L*Gt213 + At12L*Gt233 + At33L*Gt313 + At13L*Gt333)*
- gtu33 + At13L*(Gt111*gtu31 + Gt112*gtu32 + Gt113*gtu33)) +
- gtu11*(PDstandardNth1At11 + 6.*At11L*PDstandardNth1phi) -
- 0.6666666666666666666666666666666666666667*PDstandardNth1trK +
- gtu22*(PDstandardNth2At12 + 6.*At12L*PDstandardNth2phi) +
- gtu21*(-1.*(At12L*Gt111 + At22L*Gt211 + At23L*Gt311) - 3.*(At11L*Gt112 + At12L*Gt212 + At13L*Gt312) +
- PDstandardNth1At12 + PDstandardNth2At11 + 6.*(At12L*PDstandardNth1phi + At11L*PDstandardNth2phi)) +
- gtu33*(PDstandardNth3At13 + 6.*At13L*PDstandardNth3phi) +
- gtu31*(-1.*(At23L*Gt211 + At33L*Gt311) - 3.*(At11L*Gt113 + At12L*Gt213 + At13L*Gt313) + PDstandardNth1At13 +
- PDstandardNth3At11 + 6.*(At13L*PDstandardNth1phi + At11L*PDstandardNth3phi)) +
- gtu32*(-1.*(At22L*Gt213 + At33L*Gt312 + At23L*Gt313) - 2.*(At12L*Gt223 + At13L*Gt323) + PDstandardNth2At13 +
- PDstandardNth3At12 + 6.*(At13L*PDstandardNth2phi + At12L*PDstandardNth3phi)) -
+ M1L = -2.*((At12L*Gt211 + At13L*Gt311)*gtu11 + At11L*Gt123*gtu32) +
+ At12L*((6.*cdphi1 - 1.*Gt111)*gtu21 - 3.*Gt213*gtu31 + 6.*(cdphi2*gtu22 + cdphi3*gtu32) - 1.*Gt233*gtu33) -
+ 1.*((At22L*Gt212 + At12L*(Gt112 + Gt222) + At23L*Gt312 + At13L*Gt322)*gtu22 +
+ At13L*(Gt111*gtu31 + Gt112*gtu32 + Gt113*gtu33)) +
+ At11L*((6.*cdphi1 - 2.*Gt111)*gtu11 + 6.*(cdphi2*gtu21 + cdphi3*gtu31) - 1.*(Gt122*gtu22 + Gt133*gtu33)) +
+ gtu11*PDstandardNth1At11 - 0.6666666666666666666666666666666666666667*PDstandardNth1trK +
+ gtu21*(-1.*(At22L*Gt211 + At23L*Gt311) - 3.*(At11L*Gt112 + At12L*Gt212 + At13L*Gt312) + PDstandardNth1At12 +
+ PDstandardNth2At11) + gtu22*PDstandardNth2At12 +
+ gtu31*(-3.*At11L*Gt113 - 1.*(At23L*Gt211 + At33L*Gt311) + At13L*(6.*cdphi1 - 3.*Gt313) + PDstandardNth1At13 +
+ PDstandardNth3At11) + gtu32*(-2.*At12L*Gt223 -
+ 1.*(At12L*Gt113 + At22L*Gt213 + At33L*Gt312 + At23L*(Gt212 + Gt313)) + At13L*(6.*cdphi2 - 2.*Gt323) +
+ PDstandardNth2At13 + PDstandardNth3At12) +
+ gtu33*(-1.*(At23L*Gt213 + At33L*Gt313) + At13L*(6.*cdphi3 - 1.*Gt333) + PDstandardNth3At13) -
25.13274122871834590770114706623602307358*S1;
- M2L = -2.*((At12L*Gt122 + At22L*Gt222 + At23L*Gt322)*gtu22 + At12L*Gt113*gtu31) -
- 3.*((At12L*Gt112 + At22L*Gt212)*gtu21 + At12L*Gt123*gtu32) -
- 1.*((At11L*Gt112 + At22L*Gt211 + At12L*(Gt111 + Gt212) + At23L*Gt311 + At13L*Gt312)*gtu11 +
- (At13L*Gt112 + At23L*Gt212)*gtu31 + At11L*(Gt122*gtu21 + Gt123*gtu31) +
- (At12L*Gt133 + At22L*Gt233 + At33L*Gt323 + At23L*(Gt223 + Gt333))*gtu33 + At13L*(Gt122*gtu32 + Gt123*gtu33)) +
- gtu11*(PDstandardNth1At12 + 6.*At12L*PDstandardNth1phi) + gtu22*(PDstandardNth2At22 + 6.*At22L*PDstandardNth2phi) +
- gtu21*(-3.*At23L*Gt312 - 1.*(At12L*Gt222 + At13L*Gt322) + PDstandardNth1At22 + PDstandardNth2At12 +
- 6.*(At22L*PDstandardNth1phi + At12L*PDstandardNth2phi)) -
+ M2L = At12L*((6.*cdphi1 - 1.*Gt111)*gtu11 - 2.*Gt122*gtu22 + 6.*(cdphi2*gtu21 + cdphi3*gtu31) - 3.*Gt123*gtu32 -
+ 1.*Gt133*gtu33) + At22L*((6.*cdphi2 - 2.*Gt222)*gtu22 - 2.*Gt213*gtu31 + 6.*cdphi3*gtu32 - 1.*Gt233*gtu33) +
+ At23L*(-2.*Gt322*gtu22 - 1.*Gt333*gtu33 + 6.*(cdphi1*gtu31 + cdphi2*gtu32 + cdphi3*gtu33)) -
+ 1.*((At11L*Gt112 + At22L*Gt211 + At12L*Gt212 + At23L*Gt311 + At13L*Gt312)*gtu11 +
+ Gt122*(At11L*gtu21 + At13L*gtu32) + (At23L*Gt223 + At33L*Gt323)*gtu33 + At13L*(Gt112*gtu31 + Gt123*gtu33)) +
+ gtu11*PDstandardNth1At12 + gtu21*(At22L*(6.*cdphi1 - 3.*Gt212) + At12L*(-3.*Gt112 - 1.*Gt222) - 3.*At23L*Gt312 -
+ 1.*At13L*Gt322 + PDstandardNth1At22 + PDstandardNth2At12) + gtu22*PDstandardNth2At22 -
0.6666666666666666666666666666666666666667*PDstandardNth2trK +
- gtu33*(PDstandardNth3At23 + 6.*At23L*PDstandardNth3phi) +
- gtu31*(-2.*(At22L*Gt213 + At23L*Gt313) - 1.*(At12L*Gt223 + At33L*Gt312 + At13L*Gt323) + PDstandardNth1At23 +
- PDstandardNth3At12 + 6.*(At23L*PDstandardNth1phi + At12L*PDstandardNth3phi)) +
- gtu32*(-1.*(At23L*Gt222 + At33L*Gt322) - 3.*(At22L*Gt223 + At23L*Gt323) + PDstandardNth2At23 + PDstandardNth3At22 +
- 6.*(At23L*PDstandardNth2phi + At22L*PDstandardNth3phi)) - 25.13274122871834590770114706623602307358*S2;
-
- M3L = -3.*((At13L*Gt113 + At23L*Gt213)*gtu31 + At13L*Gt123*gtu32) -
- 1.*((At11L*Gt113 + At23L*Gt211 + At12L*Gt213 + At33L*Gt311 + At13L*(Gt111 + Gt313))*gtu11 +
- (At13L*Gt122 + At22L*Gt223 + At33L*Gt322 + At23L*(Gt222 + Gt323))*gtu22 + At11L*Gt133*gtu31 +
- At12L*(Gt113*gtu21 + Gt123*gtu22 + Gt133*gtu32)) + gtu11*(PDstandardNth1At13 + 6.*At13L*PDstandardNth1phi) +
- gtu22*(PDstandardNth2At23 + 6.*At23L*PDstandardNth2phi) +
- gtu21*(-2.*(At13L*Gt112 + At23L*Gt212 + At33L*Gt312) -
- 1.*(At11L*Gt123 + At22L*Gt213 + At12L*Gt223 + At23L*Gt313 + At13L*Gt323) + PDstandardNth1At23 +
- PDstandardNth2At13 + 6.*(At23L*PDstandardNth1phi + At13L*PDstandardNth2phi)) +
- gtu31*(-1.*(At12L*Gt233 + At13L*Gt333) + PDstandardNth1At33 + At33L*(-3.*Gt313 + 6.*PDstandardNth1phi) +
- PDstandardNth3At13 + 6.*At13L*PDstandardNth3phi) +
- gtu33*(-2.*(At13L*Gt133 + At23L*Gt233 + At33L*Gt333) + PDstandardNth3At33 + 6.*At33L*PDstandardNth3phi) +
- gtu32*(-3.*(At23L*Gt223 + At33L*Gt323) - 1.*(At22L*Gt233 + At23L*Gt333) + PDstandardNth2At33 + PDstandardNth3At23 +
- 6.*(At33L*PDstandardNth2phi + At23L*PDstandardNth3phi)) -
+ gtu31*(At12L*(-2.*Gt113 - 1.*Gt223) - 2.*At23L*Gt313 - 1.*(At11L*Gt123 + At23L*Gt212 + At33L*Gt312 + At13L*Gt323) +
+ PDstandardNth1At23 + PDstandardNth3At12) +
+ gtu32*(-1.*(At23L*Gt222 + At33L*Gt322) - 3.*(At22L*Gt223 + At23L*Gt323) + PDstandardNth2At23 +
+ PDstandardNth3At22) + gtu33*PDstandardNth3At23 - 25.13274122871834590770114706623602307358*S2;
+
+ M3L = -1.*((At11L*Gt113 + At23L*Gt211 + At12L*Gt213 + At33L*Gt311)*gtu11 +
+ (At22L*Gt223 + At33L*Gt322 + At23L*Gt323)*gtu22 + At11L*Gt133*gtu31 +
+ At12L*(Gt113*gtu21 + Gt123*gtu22 + Gt133*gtu32)) +
+ At13L*((6.*cdphi1 - 1.*(Gt111 + Gt313))*gtu11 - 1.*Gt122*gtu22 + 6.*(cdphi2*gtu21 + cdphi3*gtu31) -
+ 3.*Gt123*gtu32 - 2.*Gt133*gtu33) + At23L*((6.*cdphi2 - 1.*Gt222)*gtu22 - 3.*Gt213*gtu31 + 6.*cdphi3*gtu32 -
+ 2.*Gt233*gtu33) + gtu11*PDstandardNth1At13 +
+ gtu21*(-2.*(At13L*Gt112 + At33L*Gt312) + At23L*(6.*cdphi1 - 2.*Gt212 - 1.*Gt313) -
+ 1.*(At11L*Gt123 + At22L*Gt213 + At12L*Gt223 + At13L*Gt323) + PDstandardNth1At23 + PDstandardNth2At13) +
+ gtu22*PDstandardNth2At23 + gtu31*(-1.*At12L*Gt233 + At33L*(6.*cdphi1 - 3.*Gt313) + At13L*(-3.*Gt113 - 1.*Gt333) +
+ PDstandardNth1At33 + PDstandardNth3At13) +
+ gtu32*(-1.*At22L*Gt233 + At33L*(6.*cdphi2 - 3.*Gt323) + At23L*(-3.*Gt223 - 1.*Gt333) + PDstandardNth2At33 +
+ PDstandardNth3At23) + gtu33*(At33L*(6.*cdphi3 - 2.*Gt333) + PDstandardNth3At33) -
0.6666666666666666666666666666666666666667*PDstandardNth3trK - 25.13274122871834590770114706623602307358*S3;
cSL = Log(detgt);
diff --git a/ML_BSSN_M/src/ML_BSSN_M_constraints_boundary.c b/ML_BSSN_M/src/ML_BSSN_M_constraints_boundary.c
index bc1d16b..a0ec350 100644
--- a/ML_BSSN_M/src/ML_BSSN_M_constraints_boundary.c
+++ b/ML_BSSN_M/src/ML_BSSN_M_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_M/src/ML_BSSN_M_convertFromADMBase.c b/ML_BSSN_M/src/ML_BSSN_M_convertFromADMBase.c
index aa76038..afe06af 100644
--- a/ML_BSSN_M/src/ML_BSSN_M_convertFromADMBase.c
+++ b/ML_BSSN_M/src/ML_BSSN_M_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_M_convertFromADMBase_Body(cGH const * const cctkGH, CCTK_INT const
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_M/src/ML_BSSN_M_convertFromADMBaseGamma.c b/ML_BSSN_M/src/ML_BSSN_M_convertFromADMBaseGamma.c
index 80a5368..b380aca 100644
--- a/ML_BSSN_M/src/ML_BSSN_M_convertFromADMBaseGamma.c
+++ b/ML_BSSN_M/src/ML_BSSN_M_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_M/src/ML_BSSN_M_convertToADMBase.c b/ML_BSSN_M/src/ML_BSSN_M_convertToADMBase.c
index 7109969..0f64817 100644
--- a/ML_BSSN_M/src/ML_BSSN_M_convertToADMBase.c
+++ b/ML_BSSN_M/src/ML_BSSN_M_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_M_convertToADMBase_Body(cGH const * const cctkGH, CCTK_INT const di
dir3 = Sign(beta3L);
- e4phi = exp(4*phiL);
+ e4phi = IfThen(conformalmethod,pow(phiL,-2),exp(4*phiL));
g11 = e4phi*gt11L;
diff --git a/ML_BSSN_M/src/ML_BSSN_M_enforce.c b/ML_BSSN_M/src/ML_BSSN_M_enforce.c
index 6468062..6dff8c8 100644
--- a/ML_BSSN_M/src/ML_BSSN_M_enforce.c
+++ b/ML_BSSN_M/src/ML_BSSN_M_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_M_enforce_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK_I
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_M_enforce_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK_I
/* 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_M_enforce_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK_I
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_M/src/RegisterMoL.c b/ML_BSSN_M/src/RegisterMoL.c
index 8cd1553..623f4fe 100644
--- a/ML_BSSN_M/src/RegisterMoL.c
+++ b/ML_BSSN_M/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_M/src/RegisterSymmetries.c b/ML_BSSN_M/src/RegisterSymmetries.c
index 1200325..b8a4f23 100644
--- a/ML_BSSN_M/src/RegisterSymmetries.c
+++ b/ML_BSSN_M/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_M/src/Startup.c b/ML_BSSN_M/src/Startup.c
index 2f67a77..ab3fee9 100644
--- a/ML_BSSN_M/src/Startup.c
+++ b/ML_BSSN_M/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_M/src/make.code.defn b/ML_BSSN_M/src/make.code.defn
index 47c79f0..6cbb469 100644
--- a/ML_BSSN_M/src/make.code.defn
+++ b/ML_BSSN_M/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_M_Minkowski.c ML_BSSN_M_convertFromADMBase.c ML_BSSN_M_convertFromADMBaseGamma.c ML_BSSN_M_RHS.c ML_BSSN_M_RHSBoundary.c ML_BSSN_M_enforce.c ML_BSSN_M_boundary.c ML_BSSN_M_convertToADMBase.c ML_BSSN_M_ADMBaseBoundary.c ML_BSSN_M_constraints.c ML_BSSN_M_constraints_boundary.c Boundaries.c
diff --git a/ML_BSSN_MP/configuration.ccl b/ML_BSSN_MP/configuration.ccl
index 148a1a1..ed457cd 100644
--- a/ML_BSSN_MP/configuration.ccl
+++ b/ML_BSSN_MP/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_MP/interface.ccl b/ML_BSSN_MP/interface.ccl
index 8573da7..c01c9be 100644
--- a/ML_BSSN_MP/interface.ccl
+++ b/ML_BSSN_MP/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_MP
@@ -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_MP/param.ccl b/ML_BSSN_MP/param.ccl
index 9ed8fb2..27248c8 100644
--- a/ML_BSSN_MP/param.ccl
+++ b/ML_BSSN_MP/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_MP :: ""
+}
+
+
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_MP_MaxNumEvolvedVars "Number of evolved variables used by this
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_MP_Minkowski_calc_every "ML_BSSN_MP_Minkowski_calc_every"
diff --git a/ML_BSSN_MP/schedule.ccl b/ML_BSSN_MP/schedule.ccl
index 12a7d04..414d395 100644
--- a/ML_BSSN_MP/schedule.ccl
+++ b/ML_BSSN_MP/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_MP_Startup at STARTUP
{
diff --git a/ML_BSSN_MP/src/Boundaries.c b/ML_BSSN_MP/src/Boundaries.c
index 86cdd53..af1b176 100644
--- a/ML_BSSN_MP/src/Boundaries.c
+++ b/ML_BSSN_MP/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_MP/src/ML_BSSN_MP_ADMBaseBoundary.c b/ML_BSSN_MP/src/ML_BSSN_MP_ADMBaseBoundary.c
index 14dba68..5ddd630 100644
--- a/ML_BSSN_MP/src/ML_BSSN_MP_ADMBaseBoundary.c
+++ b/ML_BSSN_MP/src/ML_BSSN_MP_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_MP_ADMBaseBoundary_Body(cGH const * const cctkGH, CCTK_INT const di
/* 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_MP/src/ML_BSSN_MP_Minkowski.c b/ML_BSSN_MP/src/ML_BSSN_MP_Minkowski.c
index df47800..e527e43 100644
--- a/ML_BSSN_MP/src/ML_BSSN_MP_Minkowski.c
+++ b/ML_BSSN_MP/src/ML_BSSN_MP_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_MP_Minkowski_Body(cGH const * const cctkGH, CCTK_INT const dir, CCT
/* Precompute derivatives (old style) */
/* Calculate temporaries and grid functions */
- phiL = 0;
+ phiL = IfThen(conformalmethod,1,0);
gt11L = 1;
diff --git a/ML_BSSN_MP/src/ML_BSSN_MP_RHS.c b/ML_BSSN_MP/src/ML_BSSN_MP_RHS.c
index 4f32a58..c48526c 100644
--- a/ML_BSSN_MP/src/ML_BSSN_MP_RHS.c
+++ b/ML_BSSN_MP/src/ML_BSSN_MP_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_MP_RHS_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK_INT
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;
@@ -947,314 +953,92 @@ void ML_BSSN_MP_RHS_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK_INT
2*J23L*J33L*PDstandardNth23gt33 + dJ233L*PDstandardNth2gt33 + dJ333L*PDstandardNth3gt33 +
PDstandardNth11gt33*SQR(J13L) + PDstandardNth22gt33*SQR(J23L) + PDstandardNth33gt33*SQR(J33L)));
- Rphi11 = -2*((dJ111L - Gt111*J11L - Gt211*J12L - Gt311*J13L)*PDstandardNth1phi +
+ fac1 = IfThen(conformalmethod,-(khalf*INV(phiL)),1);
+
+ cdphi1 = fac1*(J11L*PDstandardNth1phi + J21L*PDstandardNth2phi + J31L*PDstandardNth3phi);
+
+ cdphi2 = fac1*(J12L*PDstandardNth1phi + J22L*PDstandardNth2phi + J32L*PDstandardNth3phi);
+
+ cdphi3 = fac1*(J13L*PDstandardNth1phi + J23L*PDstandardNth2phi + J33L*PDstandardNth3phi);
+
+ fac2 = IfThen(conformalmethod,khalf*pow(phiL,-2),0);
+
+ cdphi211 = fac1*((dJ111L - Gt111*J11L - Gt211*J12L - Gt311*J13L)*PDstandardNth1phi +
2*(J11L*(J21L*PDstandardNth12phi + J31L*PDstandardNth13phi) + J21L*J31L*PDstandardNth23phi) +
(dJ211L - Gt111*J21L - Gt211*J22L - Gt311*J23L)*PDstandardNth2phi +
(dJ311L - Gt111*J31L - Gt211*J32L - Gt311*J33L)*PDstandardNth3phi + PDstandardNth11phi*SQR(J11L) +
- PDstandardNth22phi*SQR(J21L) + PDstandardNth33phi*SQR(J31L) +
- gt11L*((2*(dJ112L*gtu21 + dJ113L*gtu31 + dJ123L*gtu32) + gtu11*(dJ111L - Gt111*J11L - Gt211*J12L - Gt311*J13L) +
- gtu22*(dJ122L - Gt122*J11L - Gt222*J12L - Gt322*J13L) +
- gtu33*(dJ133L - Gt133*J11L - Gt233*J12L - Gt333*J13L) -
- 2*((Gt112*gtu21 + Gt113*gtu31 + Gt123*gtu32)*J11L + (Gt212*gtu21 + Gt213*gtu31 + Gt223*gtu32)*J12L +
- (Gt312*gtu21 + Gt313*gtu31 + Gt323*gtu32)*J13L))*PDstandardNth1phi +
- (2*(dJ212L*gtu21 + dJ213L*gtu31 + dJ223L*gtu32) + gtu11*(dJ211L - Gt111*J21L - Gt211*J22L - Gt311*J23L) +
- gtu22*(dJ222L - Gt122*J21L - Gt222*J22L - Gt322*J23L) +
- gtu33*(dJ233L - Gt133*J21L - Gt233*J22L - Gt333*J23L) -
- 2*((Gt112*gtu21 + Gt113*gtu31 + Gt123*gtu32)*J21L + (Gt212*gtu21 + Gt213*gtu31 + Gt223*gtu32)*J22L +
- (Gt312*gtu21 + Gt313*gtu31 + Gt323*gtu32)*J23L))*PDstandardNth2phi +
- (dJ322L*gtu22 + 2*(dJ313L*gtu31 + dJ323L*gtu32) + (-2*Gt112*gtu21 - Gt122*gtu22)*J31L +
- (-2*Gt212*gtu21 - Gt222*gtu22)*J32L + (-2*Gt312*gtu21 - Gt322*gtu22)*J33L +
- gtu11*(dJ311L - Gt111*J31L - Gt211*J32L - Gt311*J33L) +
- gtu33*(dJ333L - Gt133*J31L - Gt233*J32L - Gt333*J33L) -
- 2*((Gt113*gtu31 + Gt123*gtu32)*J31L + (Gt213*gtu31 + Gt223*gtu32)*J32L + (Gt313*gtu31 + Gt323*gtu32)*J33L))
- *PDstandardNth3phi + 2*((gtu21*J11L*J22L + gtu31*(J13L*J21L + J11L*J23L))*PDstandardNth12phi +
- (gtu21*J11L*J32L + gtu31*(J13L*J31L + J11L*J33L))*PDstandardNth13phi +
- J11L*((gtu21*J12L + gtu31*J13L)*PDstandardNth11phi +
- gtu11*(J21L*PDstandardNth12phi + J31L*PDstandardNth13phi)) +
- J12L*(gtu32*J13L*PDstandardNth11phi + gtu21*(J21L*PDstandardNth12phi + J31L*PDstandardNth13phi)) +
- (gtu11*J21L*J31L + (gtu22*J22L + gtu32*J23L)*J32L + (gtu32*J22L + gtu33*J23L)*J33L)*PDstandardNth23phi +
- J22L*((gtu22*J12L + gtu32*J13L)*PDstandardNth12phi + (gtu21*J21L + gtu32*J23L)*PDstandardNth22phi +
- gtu21*J31L*PDstandardNth23phi) +
- J23L*((gtu32*J12L + gtu33*J13L)*PDstandardNth12phi +
- gtu31*(J21L*PDstandardNth22phi + J31L*PDstandardNth23phi)) +
- J32L*((gtu22*J12L + gtu32*J13L)*PDstandardNth13phi + gtu32*J33L*PDstandardNth33phi +
- gtu21*(J21L*PDstandardNth23phi + J31L*PDstandardNth33phi)) +
- J33L*((gtu32*J12L + gtu33*J13L)*PDstandardNth13phi +
- gtu31*(J21L*PDstandardNth23phi + J31L*PDstandardNth33phi)) + dJ312L*gtu21*PDstandardNth3phi) +
- PDstandardNth11phi*(gtu11*SQR(J11L) + gtu22*SQR(J12L) + gtu33*SQR(J13L)) +
- PDstandardNth22phi*(gtu11*SQR(J21L) + gtu22*SQR(J22L) + gtu33*SQR(J23L)) +
- PDstandardNth33phi*(gtu11*SQR(J31L) + gtu22*SQR(J32L) + gtu33*SQR(J33L)))) -
- 4*gt11L*(2*(((gtu11*J21L + gtu21*J22L + gtu31*J23L)*J31L + (gtu21*J21L + gtu22*J22L + gtu32*J23L)*J32L +
- (gtu31*J21L + gtu32*J22L + gtu33*J23L)*J33L)*PDstandardNth2phi*PDstandardNth3phi +
- PDstandardNth1phi*(((gtu11*J11L + gtu21*J12L + gtu31*J13L)*J21L +
- (gtu21*J11L + gtu22*J12L + gtu32*J13L)*J22L + (gtu31*J11L + gtu32*J12L + gtu33*J13L)*J23L)*
- PDstandardNth2phi + ((gtu11*J11L + gtu21*J12L + gtu31*J13L)*J31L +
- (gtu21*J11L + gtu22*J12L + gtu32*J13L)*J32L + (gtu31*J11L + gtu32*J12L + gtu33*J13L)*J33L)*
- PDstandardNth3phi)) + (2*(gtu32*J12L*J13L + J11L*(gtu21*J12L + gtu31*J13L)) + gtu11*SQR(J11L) +
- gtu22*SQR(J12L) + gtu33*SQR(J13L))*SQR(PDstandardNth1phi) +
- (2*(gtu32*J22L*J23L + J21L*(gtu21*J22L + gtu31*J23L)) + gtu11*SQR(J21L) + gtu22*SQR(J22L) + gtu33*SQR(J23L))*
- SQR(PDstandardNth2phi) + (2*(gtu32*J32L*J33L + J31L*(gtu21*J32L + gtu31*J33L)) + gtu11*SQR(J31L) +
- gtu22*SQR(J32L) + gtu33*SQR(J33L))*SQR(PDstandardNth3phi)) +
- 4*SQR(J11L*PDstandardNth1phi + J21L*PDstandardNth2phi + J31L*PDstandardNth3phi);
-
- Rphi12 = 4*(J11L*PDstandardNth1phi + J21L*PDstandardNth2phi + J31L*PDstandardNth3phi)*
- (J12L*PDstandardNth1phi + J22L*PDstandardNth2phi + J32L*PDstandardNth3phi) -
- 2*(J12L*(J11L*PDstandardNth11phi + J21L*PDstandardNth12phi + J31L*PDstandardNth13phi) +
+ PDstandardNth22phi*SQR(J21L) + PDstandardNth33phi*SQR(J31L)) +
+ fac2*SQR(J11L*PDstandardNth1phi + J21L*PDstandardNth2phi + J31L*PDstandardNth3phi);
+
+ cdphi212 = fac2*(J11L*PDstandardNth1phi + J21L*PDstandardNth2phi + J31L*PDstandardNth3phi)*
+ (J12L*PDstandardNth1phi + J22L*PDstandardNth2phi + J32L*PDstandardNth3phi) +
+ fac1*(J12L*(J11L*PDstandardNth11phi + J21L*PDstandardNth12phi + J31L*PDstandardNth13phi) +
J11L*(J22L*PDstandardNth12phi + J32L*PDstandardNth13phi) +
(dJ112L - Gt112*J11L - Gt212*J12L - Gt312*J13L)*PDstandardNth1phi +
J22L*(J21L*PDstandardNth22phi + J31L*PDstandardNth23phi) +
(dJ212L - Gt112*J21L - Gt212*J22L - Gt312*J23L)*PDstandardNth2phi +
J32L*(J21L*PDstandardNth23phi + J31L*PDstandardNth33phi) +
- (dJ312L - Gt112*J31L - Gt212*J32L - Gt312*J33L)*PDstandardNth3phi +
- gt12L*((2*(dJ112L*gtu21 + dJ113L*gtu31 + dJ123L*gtu32) + gtu11*(dJ111L - Gt111*J11L - Gt211*J12L - Gt311*J13L) +
- gtu22*(dJ122L - Gt122*J11L - Gt222*J12L - Gt322*J13L) +
- gtu33*(dJ133L - Gt133*J11L - Gt233*J12L - Gt333*J13L) -
- 2*((Gt112*gtu21 + Gt113*gtu31 + Gt123*gtu32)*J11L + (Gt212*gtu21 + Gt213*gtu31 + Gt223*gtu32)*J12L +
- (Gt312*gtu21 + Gt313*gtu31 + Gt323*gtu32)*J13L))*PDstandardNth1phi +
- (2*(dJ212L*gtu21 + dJ213L*gtu31 + dJ223L*gtu32) + gtu11*(dJ211L - Gt111*J21L - Gt211*J22L - Gt311*J23L) +
- gtu22*(dJ222L - Gt122*J21L - Gt222*J22L - Gt322*J23L) +
- gtu33*(dJ233L - Gt133*J21L - Gt233*J22L - Gt333*J23L) -
- 2*((Gt112*gtu21 + Gt113*gtu31 + Gt123*gtu32)*J21L + (Gt212*gtu21 + Gt213*gtu31 + Gt223*gtu32)*J22L +
- (Gt312*gtu21 + Gt313*gtu31 + Gt323*gtu32)*J23L))*PDstandardNth2phi +
- (dJ322L*gtu22 + 2*(dJ313L*gtu31 + dJ323L*gtu32) + (-2*Gt112*gtu21 - Gt122*gtu22)*J31L +
- (-2*Gt212*gtu21 - Gt222*gtu22)*J32L + (-2*Gt312*gtu21 - Gt322*gtu22)*J33L +
- gtu11*(dJ311L - Gt111*J31L - Gt211*J32L - Gt311*J33L) +
- gtu33*(dJ333L - Gt133*J31L - Gt233*J32L - Gt333*J33L) -
- 2*((Gt113*gtu31 + Gt123*gtu32)*J31L + (Gt213*gtu31 + Gt223*gtu32)*J32L + (Gt313*gtu31 + Gt323*gtu32)*J33L))
- *PDstandardNth3phi + 2*((gtu21*J11L*J22L + gtu31*(J13L*J21L + J11L*J23L))*PDstandardNth12phi +
- (gtu21*J11L*J32L + gtu31*(J13L*J31L + J11L*J33L))*PDstandardNth13phi +
- J11L*((gtu21*J12L + gtu31*J13L)*PDstandardNth11phi +
- gtu11*(J21L*PDstandardNth12phi + J31L*PDstandardNth13phi)) +
- J12L*(gtu32*J13L*PDstandardNth11phi + gtu21*(J21L*PDstandardNth12phi + J31L*PDstandardNth13phi)) +
- (gtu11*J21L*J31L + (gtu22*J22L + gtu32*J23L)*J32L + (gtu32*J22L + gtu33*J23L)*J33L)*PDstandardNth23phi +
- J22L*((gtu22*J12L + gtu32*J13L)*PDstandardNth12phi + (gtu21*J21L + gtu32*J23L)*PDstandardNth22phi +
- gtu21*J31L*PDstandardNth23phi) +
- J23L*((gtu32*J12L + gtu33*J13L)*PDstandardNth12phi +
- gtu31*(J21L*PDstandardNth22phi + J31L*PDstandardNth23phi)) +
- J32L*((gtu22*J12L + gtu32*J13L)*PDstandardNth13phi + gtu32*J33L*PDstandardNth33phi +
- gtu21*(J21L*PDstandardNth23phi + J31L*PDstandardNth33phi)) +
- J33L*((gtu32*J12L + gtu33*J13L)*PDstandardNth13phi +
- gtu31*(J21L*PDstandardNth23phi + J31L*PDstandardNth33phi)) + dJ312L*gtu21*PDstandardNth3phi) +
- PDstandardNth11phi*(gtu11*SQR(J11L) + gtu22*SQR(J12L) + gtu33*SQR(J13L)) +
- PDstandardNth22phi*(gtu11*SQR(J21L) + gtu22*SQR(J22L) + gtu33*SQR(J23L)) +
- PDstandardNth33phi*(gtu11*SQR(J31L) + gtu22*SQR(J32L) + gtu33*SQR(J33L)))) -
- 4*gt12L*(2*(((gtu11*J21L + gtu21*J22L + gtu31*J23L)*J31L + (gtu21*J21L + gtu22*J22L + gtu32*J23L)*J32L +
- (gtu31*J21L + gtu32*J22L + gtu33*J23L)*J33L)*PDstandardNth2phi*PDstandardNth3phi +
- PDstandardNth1phi*(((gtu11*J11L + gtu21*J12L + gtu31*J13L)*J21L +
- (gtu21*J11L + gtu22*J12L + gtu32*J13L)*J22L + (gtu31*J11L + gtu32*J12L + gtu33*J13L)*J23L)*
- PDstandardNth2phi + ((gtu11*J11L + gtu21*J12L + gtu31*J13L)*J31L +
- (gtu21*J11L + gtu22*J12L + gtu32*J13L)*J32L + (gtu31*J11L + gtu32*J12L + gtu33*J13L)*J33L)*
- PDstandardNth3phi)) + (2*(gtu32*J12L*J13L + J11L*(gtu21*J12L + gtu31*J13L)) + gtu11*SQR(J11L) +
- gtu22*SQR(J12L) + gtu33*SQR(J13L))*SQR(PDstandardNth1phi) +
- (2*(gtu32*J22L*J23L + J21L*(gtu21*J22L + gtu31*J23L)) + gtu11*SQR(J21L) + gtu22*SQR(J22L) + gtu33*SQR(J23L))*
- SQR(PDstandardNth2phi) + (2*(gtu32*J32L*J33L + J31L*(gtu21*J32L + gtu31*J33L)) + gtu11*SQR(J31L) +
- gtu22*SQR(J32L) + gtu33*SQR(J33L))*SQR(PDstandardNth3phi));
-
- Rphi13 = 4*(J11L*PDstandardNth1phi + J21L*PDstandardNth2phi + J31L*PDstandardNth3phi)*
- (J13L*PDstandardNth1phi + J23L*PDstandardNth2phi + J33L*PDstandardNth3phi) -
- 2*(J13L*(J11L*PDstandardNth11phi + J21L*PDstandardNth12phi + J31L*PDstandardNth13phi) +
+ (dJ312L - Gt112*J31L - Gt212*J32L - Gt312*J33L)*PDstandardNth3phi);
+
+ cdphi213 = fac2*(J11L*PDstandardNth1phi + J21L*PDstandardNth2phi + J31L*PDstandardNth3phi)*
+ (J13L*PDstandardNth1phi + J23L*PDstandardNth2phi + J33L*PDstandardNth3phi) +
+ fac1*(J13L*(J11L*PDstandardNth11phi + J21L*PDstandardNth12phi + J31L*PDstandardNth13phi) +
J11L*(J23L*PDstandardNth12phi + J33L*PDstandardNth13phi) +
(dJ113L - Gt113*J11L - Gt213*J12L - Gt313*J13L)*PDstandardNth1phi +
J23L*(J21L*PDstandardNth22phi + J31L*PDstandardNth23phi) +
(dJ213L - Gt113*J21L - Gt213*J22L - Gt313*J23L)*PDstandardNth2phi +
J33L*(J21L*PDstandardNth23phi + J31L*PDstandardNth33phi) +
- (dJ313L - Gt113*J31L - Gt213*J32L - Gt313*J33L)*PDstandardNth3phi +
- gt13L*((2*(dJ112L*gtu21 + dJ113L*gtu31 + dJ123L*gtu32) + gtu11*(dJ111L - Gt111*J11L - Gt211*J12L - Gt311*J13L) +
- gtu22*(dJ122L - Gt122*J11L - Gt222*J12L - Gt322*J13L) +
- gtu33*(dJ133L - Gt133*J11L - Gt233*J12L - Gt333*J13L) -
- 2*((Gt112*gtu21 + Gt113*gtu31 + Gt123*gtu32)*J11L + (Gt212*gtu21 + Gt213*gtu31 + Gt223*gtu32)*J12L +
- (Gt312*gtu21 + Gt313*gtu31 + Gt323*gtu32)*J13L))*PDstandardNth1phi +
- (2*(dJ212L*gtu21 + dJ213L*gtu31 + dJ223L*gtu32) + gtu11*(dJ211L - Gt111*J21L - Gt211*J22L - Gt311*J23L) +
- gtu22*(dJ222L - Gt122*J21L - Gt222*J22L - Gt322*J23L) +
- gtu33*(dJ233L - Gt133*J21L - Gt233*J22L - Gt333*J23L) -
- 2*((Gt112*gtu21 + Gt113*gtu31 + Gt123*gtu32)*J21L + (Gt212*gtu21 + Gt213*gtu31 + Gt223*gtu32)*J22L +
- (Gt312*gtu21 + Gt313*gtu31 + Gt323*gtu32)*J23L))*PDstandardNth2phi +
- (dJ322L*gtu22 + 2*(dJ313L*gtu31 + dJ323L*gtu32) + (-2*Gt112*gtu21 - Gt122*gtu22)*J31L +
- (-2*Gt212*gtu21 - Gt222*gtu22)*J32L + (-2*Gt312*gtu21 - Gt322*gtu22)*J33L +
- gtu11*(dJ311L - Gt111*J31L - Gt211*J32L - Gt311*J33L) +
- gtu33*(dJ333L - Gt133*J31L - Gt233*J32L - Gt333*J33L) -
- 2*((Gt113*gtu31 + Gt123*gtu32)*J31L + (Gt213*gtu31 + Gt223*gtu32)*J32L + (Gt313*gtu31 + Gt323*gtu32)*J33L))
- *PDstandardNth3phi + 2*((gtu21*J11L*J22L + gtu31*(J13L*J21L + J11L*J23L))*PDstandardNth12phi +
- (gtu21*J11L*J32L + gtu31*(J13L*J31L + J11L*J33L))*PDstandardNth13phi +
- J11L*((gtu21*J12L + gtu31*J13L)*PDstandardNth11phi +
- gtu11*(J21L*PDstandardNth12phi + J31L*PDstandardNth13phi)) +
- J12L*(gtu32*J13L*PDstandardNth11phi + gtu21*(J21L*PDstandardNth12phi + J31L*PDstandardNth13phi)) +
- (gtu11*J21L*J31L + (gtu22*J22L + gtu32*J23L)*J32L + (gtu32*J22L + gtu33*J23L)*J33L)*PDstandardNth23phi +
- J22L*((gtu22*J12L + gtu32*J13L)*PDstandardNth12phi + (gtu21*J21L + gtu32*J23L)*PDstandardNth22phi +
- gtu21*J31L*PDstandardNth23phi) +
- J23L*((gtu32*J12L + gtu33*J13L)*PDstandardNth12phi +
- gtu31*(J21L*PDstandardNth22phi + J31L*PDstandardNth23phi)) +
- J32L*((gtu22*J12L + gtu32*J13L)*PDstandardNth13phi + gtu32*J33L*PDstandardNth33phi +
- gtu21*(J21L*PDstandardNth23phi + J31L*PDstandardNth33phi)) +
- J33L*((gtu32*J12L + gtu33*J13L)*PDstandardNth13phi +
- gtu31*(J21L*PDstandardNth23phi + J31L*PDstandardNth33phi)) + dJ312L*gtu21*PDstandardNth3phi) +
- PDstandardNth11phi*(gtu11*SQR(J11L) + gtu22*SQR(J12L) + gtu33*SQR(J13L)) +
- PDstandardNth22phi*(gtu11*SQR(J21L) + gtu22*SQR(J22L) + gtu33*SQR(J23L)) +
- PDstandardNth33phi*(gtu11*SQR(J31L) + gtu22*SQR(J32L) + gtu33*SQR(J33L)))) -
- 4*gt13L*(2*(((gtu11*J21L + gtu21*J22L + gtu31*J23L)*J31L + (gtu21*J21L + gtu22*J22L + gtu32*J23L)*J32L +
- (gtu31*J21L + gtu32*J22L + gtu33*J23L)*J33L)*PDstandardNth2phi*PDstandardNth3phi +
- PDstandardNth1phi*(((gtu11*J11L + gtu21*J12L + gtu31*J13L)*J21L +
- (gtu21*J11L + gtu22*J12L + gtu32*J13L)*J22L + (gtu31*J11L + gtu32*J12L + gtu33*J13L)*J23L)*
- PDstandardNth2phi + ((gtu11*J11L + gtu21*J12L + gtu31*J13L)*J31L +
- (gtu21*J11L + gtu22*J12L + gtu32*J13L)*J32L + (gtu31*J11L + gtu32*J12L + gtu33*J13L)*J33L)*
- PDstandardNth3phi)) + (2*(gtu32*J12L*J13L + J11L*(gtu21*J12L + gtu31*J13L)) + gtu11*SQR(J11L) +
- gtu22*SQR(J12L) + gtu33*SQR(J13L))*SQR(PDstandardNth1phi) +
- (2*(gtu32*J22L*J23L + J21L*(gtu21*J22L + gtu31*J23L)) + gtu11*SQR(J21L) + gtu22*SQR(J22L) + gtu33*SQR(J23L))*
- SQR(PDstandardNth2phi) + (2*(gtu32*J32L*J33L + J31L*(gtu21*J32L + gtu31*J33L)) + gtu11*SQR(J31L) +
- gtu22*SQR(J32L) + gtu33*SQR(J33L))*SQR(PDstandardNth3phi));
-
- Rphi22 = -2*((dJ122L - Gt122*J11L - Gt222*J12L - Gt322*J13L)*PDstandardNth1phi +
+ (dJ313L - Gt113*J31L - Gt213*J32L - Gt313*J33L)*PDstandardNth3phi);
+
+ cdphi222 = fac1*((dJ122L - Gt122*J11L - Gt222*J12L - Gt322*J13L)*PDstandardNth1phi +
2*(J12L*(J22L*PDstandardNth12phi + J32L*PDstandardNth13phi) + J22L*J32L*PDstandardNth23phi) +
(dJ222L - Gt122*J21L - Gt222*J22L - Gt322*J23L)*PDstandardNth2phi +
(dJ322L - Gt122*J31L - Gt222*J32L - Gt322*J33L)*PDstandardNth3phi + PDstandardNth11phi*SQR(J12L) +
- PDstandardNth22phi*SQR(J22L) + PDstandardNth33phi*SQR(J32L) +
- gt22L*((2*(dJ112L*gtu21 + dJ113L*gtu31 + dJ123L*gtu32) + gtu11*(dJ111L - Gt111*J11L - Gt211*J12L - Gt311*J13L) +
- gtu22*(dJ122L - Gt122*J11L - Gt222*J12L - Gt322*J13L) +
- gtu33*(dJ133L - Gt133*J11L - Gt233*J12L - Gt333*J13L) -
- 2*((Gt112*gtu21 + Gt113*gtu31 + Gt123*gtu32)*J11L + (Gt212*gtu21 + Gt213*gtu31 + Gt223*gtu32)*J12L +
- (Gt312*gtu21 + Gt313*gtu31 + Gt323*gtu32)*J13L))*PDstandardNth1phi +
- (2*(dJ212L*gtu21 + dJ213L*gtu31 + dJ223L*gtu32) + gtu11*(dJ211L - Gt111*J21L - Gt211*J22L - Gt311*J23L) +
- gtu22*(dJ222L - Gt122*J21L - Gt222*J22L - Gt322*J23L) +
- gtu33*(dJ233L - Gt133*J21L - Gt233*J22L - Gt333*J23L) -
- 2*((Gt112*gtu21 + Gt113*gtu31 + Gt123*gtu32)*J21L + (Gt212*gtu21 + Gt213*gtu31 + Gt223*gtu32)*J22L +
- (Gt312*gtu21 + Gt313*gtu31 + Gt323*gtu32)*J23L))*PDstandardNth2phi +
- (dJ322L*gtu22 + 2*(dJ313L*gtu31 + dJ323L*gtu32) + (-2*Gt112*gtu21 - Gt122*gtu22)*J31L +
- (-2*Gt212*gtu21 - Gt222*gtu22)*J32L + (-2*Gt312*gtu21 - Gt322*gtu22)*J33L +
- gtu11*(dJ311L - Gt111*J31L - Gt211*J32L - Gt311*J33L) +
- gtu33*(dJ333L - Gt133*J31L - Gt233*J32L - Gt333*J33L) -
- 2*((Gt113*gtu31 + Gt123*gtu32)*J31L + (Gt213*gtu31 + Gt223*gtu32)*J32L + (Gt313*gtu31 + Gt323*gtu32)*J33L))
- *PDstandardNth3phi + 2*((gtu21*J11L*J22L + gtu31*(J13L*J21L + J11L*J23L))*PDstandardNth12phi +
- (gtu21*J11L*J32L + gtu31*(J13L*J31L + J11L*J33L))*PDstandardNth13phi +
- J11L*((gtu21*J12L + gtu31*J13L)*PDstandardNth11phi +
- gtu11*(J21L*PDstandardNth12phi + J31L*PDstandardNth13phi)) +
- J12L*(gtu32*J13L*PDstandardNth11phi + gtu21*(J21L*PDstandardNth12phi + J31L*PDstandardNth13phi)) +
- (gtu11*J21L*J31L + (gtu22*J22L + gtu32*J23L)*J32L + (gtu32*J22L + gtu33*J23L)*J33L)*PDstandardNth23phi +
- J22L*((gtu22*J12L + gtu32*J13L)*PDstandardNth12phi + (gtu21*J21L + gtu32*J23L)*PDstandardNth22phi +
- gtu21*J31L*PDstandardNth23phi) +
- J23L*((gtu32*J12L + gtu33*J13L)*PDstandardNth12phi +
- gtu31*(J21L*PDstandardNth22phi + J31L*PDstandardNth23phi)) +
- J32L*((gtu22*J12L + gtu32*J13L)*PDstandardNth13phi + gtu32*J33L*PDstandardNth33phi +
- gtu21*(J21L*PDstandardNth23phi + J31L*PDstandardNth33phi)) +
- J33L*((gtu32*J12L + gtu33*J13L)*PDstandardNth13phi +
- gtu31*(J21L*PDstandardNth23phi + J31L*PDstandardNth33phi)) + dJ312L*gtu21*PDstandardNth3phi) +
- PDstandardNth11phi*(gtu11*SQR(J11L) + gtu22*SQR(J12L) + gtu33*SQR(J13L)) +
- PDstandardNth22phi*(gtu11*SQR(J21L) + gtu22*SQR(J22L) + gtu33*SQR(J23L)) +
- PDstandardNth33phi*(gtu11*SQR(J31L) + gtu22*SQR(J32L) + gtu33*SQR(J33L)))) -
- 4*gt22L*(2*(((gtu11*J21L + gtu21*J22L + gtu31*J23L)*J31L + (gtu21*J21L + gtu22*J22L + gtu32*J23L)*J32L +
- (gtu31*J21L + gtu32*J22L + gtu33*J23L)*J33L)*PDstandardNth2phi*PDstandardNth3phi +
- PDstandardNth1phi*(((gtu11*J11L + gtu21*J12L + gtu31*J13L)*J21L +
- (gtu21*J11L + gtu22*J12L + gtu32*J13L)*J22L + (gtu31*J11L + gtu32*J12L + gtu33*J13L)*J23L)*
- PDstandardNth2phi + ((gtu11*J11L + gtu21*J12L + gtu31*J13L)*J31L +
- (gtu21*J11L + gtu22*J12L + gtu32*J13L)*J32L + (gtu31*J11L + gtu32*J12L + gtu33*J13L)*J33L)*
- PDstandardNth3phi)) + (2*(gtu32*J12L*J13L + J11L*(gtu21*J12L + gtu31*J13L)) + gtu11*SQR(J11L) +
- gtu22*SQR(J12L) + gtu33*SQR(J13L))*SQR(PDstandardNth1phi) +
- (2*(gtu32*J22L*J23L + J21L*(gtu21*J22L + gtu31*J23L)) + gtu11*SQR(J21L) + gtu22*SQR(J22L) + gtu33*SQR(J23L))*
- SQR(PDstandardNth2phi) + (2*(gtu32*J32L*J33L + J31L*(gtu21*J32L + gtu31*J33L)) + gtu11*SQR(J31L) +
- gtu22*SQR(J32L) + gtu33*SQR(J33L))*SQR(PDstandardNth3phi)) +
- 4*SQR(J12L*PDstandardNth1phi + J22L*PDstandardNth2phi + J32L*PDstandardNth3phi);
-
- Rphi23 = 4*(J12L*PDstandardNth1phi + J22L*PDstandardNth2phi + J32L*PDstandardNth3phi)*
- (J13L*PDstandardNth1phi + J23L*PDstandardNth2phi + J33L*PDstandardNth3phi) -
- 2*(J13L*(J12L*PDstandardNth11phi + J22L*PDstandardNth12phi + J32L*PDstandardNth13phi) +
+ PDstandardNth22phi*SQR(J22L) + PDstandardNth33phi*SQR(J32L)) +
+ fac2*SQR(J12L*PDstandardNth1phi + J22L*PDstandardNth2phi + J32L*PDstandardNth3phi);
+
+ cdphi223 = fac2*(J12L*PDstandardNth1phi + J22L*PDstandardNth2phi + J32L*PDstandardNth3phi)*
+ (J13L*PDstandardNth1phi + J23L*PDstandardNth2phi + J33L*PDstandardNth3phi) +
+ fac1*(J13L*(J12L*PDstandardNth11phi + J22L*PDstandardNth12phi + J32L*PDstandardNth13phi) +
J12L*(J23L*PDstandardNth12phi + J33L*PDstandardNth13phi) +
(dJ123L - Gt123*J11L - Gt223*J12L - Gt323*J13L)*PDstandardNth1phi +
J23L*(J22L*PDstandardNth22phi + J32L*PDstandardNth23phi) +
(dJ223L - Gt123*J21L - Gt223*J22L - Gt323*J23L)*PDstandardNth2phi +
J33L*(J22L*PDstandardNth23phi + J32L*PDstandardNth33phi) +
- (dJ323L - Gt123*J31L - Gt223*J32L - Gt323*J33L)*PDstandardNth3phi +
- gt23L*((2*(dJ112L*gtu21 + dJ113L*gtu31 + dJ123L*gtu32) + gtu11*(dJ111L - Gt111*J11L - Gt211*J12L - Gt311*J13L) +
- gtu22*(dJ122L - Gt122*J11L - Gt222*J12L - Gt322*J13L) +
- gtu33*(dJ133L - Gt133*J11L - Gt233*J12L - Gt333*J13L) -
- 2*((Gt112*gtu21 + Gt113*gtu31 + Gt123*gtu32)*J11L + (Gt212*gtu21 + Gt213*gtu31 + Gt223*gtu32)*J12L +
- (Gt312*gtu21 + Gt313*gtu31 + Gt323*gtu32)*J13L))*PDstandardNth1phi +
- (2*(dJ212L*gtu21 + dJ213L*gtu31 + dJ223L*gtu32) + gtu11*(dJ211L - Gt111*J21L - Gt211*J22L - Gt311*J23L) +
- gtu22*(dJ222L - Gt122*J21L - Gt222*J22L - Gt322*J23L) +
- gtu33*(dJ233L - Gt133*J21L - Gt233*J22L - Gt333*J23L) -
- 2*((Gt112*gtu21 + Gt113*gtu31 + Gt123*gtu32)*J21L + (Gt212*gtu21 + Gt213*gtu31 + Gt223*gtu32)*J22L +
- (Gt312*gtu21 + Gt313*gtu31 + Gt323*gtu32)*J23L))*PDstandardNth2phi +
- (dJ322L*gtu22 + 2*(dJ313L*gtu31 + dJ323L*gtu32) + (-2*Gt112*gtu21 - Gt122*gtu22)*J31L +
- (-2*Gt212*gtu21 - Gt222*gtu22)*J32L + (-2*Gt312*gtu21 - Gt322*gtu22)*J33L +
- gtu11*(dJ311L - Gt111*J31L - Gt211*J32L - Gt311*J33L) +
- gtu33*(dJ333L - Gt133*J31L - Gt233*J32L - Gt333*J33L) -
- 2*((Gt113*gtu31 + Gt123*gtu32)*J31L + (Gt213*gtu31 + Gt223*gtu32)*J32L + (Gt313*gtu31 + Gt323*gtu32)*J33L))
- *PDstandardNth3phi + 2*((gtu21*J11L*J22L + gtu31*(J13L*J21L + J11L*J23L))*PDstandardNth12phi +
- (gtu21*J11L*J32L + gtu31*(J13L*J31L + J11L*J33L))*PDstandardNth13phi +
- J11L*((gtu21*J12L + gtu31*J13L)*PDstandardNth11phi +
- gtu11*(J21L*PDstandardNth12phi + J31L*PDstandardNth13phi)) +
- J12L*(gtu32*J13L*PDstandardNth11phi + gtu21*(J21L*PDstandardNth12phi + J31L*PDstandardNth13phi)) +
- (gtu11*J21L*J31L + (gtu22*J22L + gtu32*J23L)*J32L + (gtu32*J22L + gtu33*J23L)*J33L)*PDstandardNth23phi +
- J22L*((gtu22*J12L + gtu32*J13L)*PDstandardNth12phi + (gtu21*J21L + gtu32*J23L)*PDstandardNth22phi +
- gtu21*J31L*PDstandardNth23phi) +
- J23L*((gtu32*J12L + gtu33*J13L)*PDstandardNth12phi +
- gtu31*(J21L*PDstandardNth22phi + J31L*PDstandardNth23phi)) +
- J32L*((gtu22*J12L + gtu32*J13L)*PDstandardNth13phi + gtu32*J33L*PDstandardNth33phi +
- gtu21*(J21L*PDstandardNth23phi + J31L*PDstandardNth33phi)) +
- J33L*((gtu32*J12L + gtu33*J13L)*PDstandardNth13phi +
- gtu31*(J21L*PDstandardNth23phi + J31L*PDstandardNth33phi)) + dJ312L*gtu21*PDstandardNth3phi) +
- PDstandardNth11phi*(gtu11*SQR(J11L) + gtu22*SQR(J12L) + gtu33*SQR(J13L)) +
- PDstandardNth22phi*(gtu11*SQR(J21L) + gtu22*SQR(J22L) + gtu33*SQR(J23L)) +
- PDstandardNth33phi*(gtu11*SQR(J31L) + gtu22*SQR(J32L) + gtu33*SQR(J33L)))) -
- 4*gt23L*(2*(((gtu11*J21L + gtu21*J22L + gtu31*J23L)*J31L + (gtu21*J21L + gtu22*J22L + gtu32*J23L)*J32L +
- (gtu31*J21L + gtu32*J22L + gtu33*J23L)*J33L)*PDstandardNth2phi*PDstandardNth3phi +
- PDstandardNth1phi*(((gtu11*J11L + gtu21*J12L + gtu31*J13L)*J21L +
- (gtu21*J11L + gtu22*J12L + gtu32*J13L)*J22L + (gtu31*J11L + gtu32*J12L + gtu33*J13L)*J23L)*
- PDstandardNth2phi + ((gtu11*J11L + gtu21*J12L + gtu31*J13L)*J31L +
- (gtu21*J11L + gtu22*J12L + gtu32*J13L)*J32L + (gtu31*J11L + gtu32*J12L + gtu33*J13L)*J33L)*
- PDstandardNth3phi)) + (2*(gtu32*J12L*J13L + J11L*(gtu21*J12L + gtu31*J13L)) + gtu11*SQR(J11L) +
- gtu22*SQR(J12L) + gtu33*SQR(J13L))*SQR(PDstandardNth1phi) +
- (2*(gtu32*J22L*J23L + J21L*(gtu21*J22L + gtu31*J23L)) + gtu11*SQR(J21L) + gtu22*SQR(J22L) + gtu33*SQR(J23L))*
- SQR(PDstandardNth2phi) + (2*(gtu32*J32L*J33L + J31L*(gtu21*J32L + gtu31*J33L)) + gtu11*SQR(J31L) +
- gtu22*SQR(J32L) + gtu33*SQR(J33L))*SQR(PDstandardNth3phi));
-
- Rphi33 = -2*((dJ133L - Gt133*J11L - Gt233*J12L - Gt333*J13L)*PDstandardNth1phi +
+ (dJ323L - Gt123*J31L - Gt223*J32L - Gt323*J33L)*PDstandardNth3phi);
+
+ cdphi233 = fac1*((dJ133L - Gt133*J11L - Gt233*J12L - Gt333*J13L)*PDstandardNth1phi +
2*(J13L*(J23L*PDstandardNth12phi + J33L*PDstandardNth13phi) + J23L*J33L*PDstandardNth23phi) +
(dJ233L - Gt133*J21L - Gt233*J22L - Gt333*J23L)*PDstandardNth2phi +
(dJ333L - Gt133*J31L - Gt233*J32L - Gt333*J33L)*PDstandardNth3phi + PDstandardNth11phi*SQR(J13L) +
- PDstandardNth22phi*SQR(J23L) + PDstandardNth33phi*SQR(J33L) +
- gt33L*((2*(dJ112L*gtu21 + dJ113L*gtu31 + dJ123L*gtu32) + gtu11*(dJ111L - Gt111*J11L - Gt211*J12L - Gt311*J13L) +
- gtu22*(dJ122L - Gt122*J11L - Gt222*J12L - Gt322*J13L) +
- gtu33*(dJ133L - Gt133*J11L - Gt233*J12L - Gt333*J13L) -
- 2*((Gt112*gtu21 + Gt113*gtu31 + Gt123*gtu32)*J11L + (Gt212*gtu21 + Gt213*gtu31 + Gt223*gtu32)*J12L +
- (Gt312*gtu21 + Gt313*gtu31 + Gt323*gtu32)*J13L))*PDstandardNth1phi +
- (2*(dJ212L*gtu21 + dJ213L*gtu31 + dJ223L*gtu32) + gtu11*(dJ211L - Gt111*J21L - Gt211*J22L - Gt311*J23L) +
- gtu22*(dJ222L - Gt122*J21L - Gt222*J22L - Gt322*J23L) +
- gtu33*(dJ233L - Gt133*J21L - Gt233*J22L - Gt333*J23L) -
- 2*((Gt112*gtu21 + Gt113*gtu31 + Gt123*gtu32)*J21L + (Gt212*gtu21 + Gt213*gtu31 + Gt223*gtu32)*J22L +
- (Gt312*gtu21 + Gt313*gtu31 + Gt323*gtu32)*J23L))*PDstandardNth2phi +
- (dJ322L*gtu22 + 2*(dJ313L*gtu31 + dJ323L*gtu32) + (-2*Gt112*gtu21 - Gt122*gtu22)*J31L +
- (-2*Gt212*gtu21 - Gt222*gtu22)*J32L + (-2*Gt312*gtu21 - Gt322*gtu22)*J33L +
- gtu11*(dJ311L - Gt111*J31L - Gt211*J32L - Gt311*J33L) +
- gtu33*(dJ333L - Gt133*J31L - Gt233*J32L - Gt333*J33L) -
- 2*((Gt113*gtu31 + Gt123*gtu32)*J31L + (Gt213*gtu31 + Gt223*gtu32)*J32L + (Gt313*gtu31 + Gt323*gtu32)*J33L))
- *PDstandardNth3phi + 2*((gtu21*J11L*J22L + gtu31*(J13L*J21L + J11L*J23L))*PDstandardNth12phi +
- (gtu21*J11L*J32L + gtu31*(J13L*J31L + J11L*J33L))*PDstandardNth13phi +
- J11L*((gtu21*J12L + gtu31*J13L)*PDstandardNth11phi +
- gtu11*(J21L*PDstandardNth12phi + J31L*PDstandardNth13phi)) +
- J12L*(gtu32*J13L*PDstandardNth11phi + gtu21*(J21L*PDstandardNth12phi + J31L*PDstandardNth13phi)) +
- (gtu11*J21L*J31L + (gtu22*J22L + gtu32*J23L)*J32L + (gtu32*J22L + gtu33*J23L)*J33L)*PDstandardNth23phi +
- J22L*((gtu22*J12L + gtu32*J13L)*PDstandardNth12phi + (gtu21*J21L + gtu32*J23L)*PDstandardNth22phi +
- gtu21*J31L*PDstandardNth23phi) +
- J23L*((gtu32*J12L + gtu33*J13L)*PDstandardNth12phi +
- gtu31*(J21L*PDstandardNth22phi + J31L*PDstandardNth23phi)) +
- J32L*((gtu22*J12L + gtu32*J13L)*PDstandardNth13phi + gtu32*J33L*PDstandardNth33phi +
- gtu21*(J21L*PDstandardNth23phi + J31L*PDstandardNth33phi)) +
- J33L*((gtu32*J12L + gtu33*J13L)*PDstandardNth13phi +
- gtu31*(J21L*PDstandardNth23phi + J31L*PDstandardNth33phi)) + dJ312L*gtu21*PDstandardNth3phi) +
- PDstandardNth11phi*(gtu11*SQR(J11L) + gtu22*SQR(J12L) + gtu33*SQR(J13L)) +
- PDstandardNth22phi*(gtu11*SQR(J21L) + gtu22*SQR(J22L) + gtu33*SQR(J23L)) +
- PDstandardNth33phi*(gtu11*SQR(J31L) + gtu22*SQR(J32L) + gtu33*SQR(J33L)))) -
- 4*gt33L*(2*(((gtu11*J21L + gtu21*J22L + gtu31*J23L)*J31L + (gtu21*J21L + gtu22*J22L + gtu32*J23L)*J32L +
- (gtu31*J21L + gtu32*J22L + gtu33*J23L)*J33L)*PDstandardNth2phi*PDstandardNth3phi +
- PDstandardNth1phi*(((gtu11*J11L + gtu21*J12L + gtu31*J13L)*J21L +
- (gtu21*J11L + gtu22*J12L + gtu32*J13L)*J22L + (gtu31*J11L + gtu32*J12L + gtu33*J13L)*J23L)*
- PDstandardNth2phi + ((gtu11*J11L + gtu21*J12L + gtu31*J13L)*J31L +
- (gtu21*J11L + gtu22*J12L + gtu32*J13L)*J32L + (gtu31*J11L + gtu32*J12L + gtu33*J13L)*J33L)*
- PDstandardNth3phi)) + (2*(gtu32*J12L*J13L + J11L*(gtu21*J12L + gtu31*J13L)) + gtu11*SQR(J11L) +
- gtu22*SQR(J12L) + gtu33*SQR(J13L))*SQR(PDstandardNth1phi) +
- (2*(gtu32*J22L*J23L + J21L*(gtu21*J22L + gtu31*J23L)) + gtu11*SQR(J21L) + gtu22*SQR(J22L) + gtu33*SQR(J23L))*
- SQR(PDstandardNth2phi) + (2*(gtu32*J32L*J33L + J31L*(gtu21*J32L + gtu31*J33L)) + gtu11*SQR(J31L) +
- gtu22*SQR(J32L) + gtu33*SQR(J33L))*SQR(PDstandardNth3phi)) +
- 4*SQR(J13L*PDstandardNth1phi + J23L*PDstandardNth2phi + J33L*PDstandardNth3phi);
+ PDstandardNth22phi*SQR(J23L) + PDstandardNth33phi*SQR(J33L)) +
+ fac2*SQR(J13L*PDstandardNth1phi + J23L*PDstandardNth2phi + J33L*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;
@@ -1286,7 +1070,7 @@ void ML_BSSN_MP_RHS_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK_INT
Atu33 = Atm31*gtu31 + Atm32*gtu32 + Atm33*gtu33;
- e4phi = exp(4*phiL);
+ e4phi = IfThen(conformalmethod,pow(phiL,-2),exp(4*phiL));
em4phi = INV(e4phi);
@@ -1314,77 +1098,41 @@ void ML_BSSN_MP_RHS_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK_INT
gu33 = em4phi*gtu33;
- G111 = Gt111 + 2*(-((-2*J11L + gt11L*gtu11*J11L + gt11L*gtu21*J12L + gt11L*gtu31*J13L)*PDstandardNth1phi) -
- (-2*J21L + gt11L*gtu11*J21L + gt11L*gtu21*J22L + gt11L*gtu31*J23L)*PDstandardNth2phi -
- (-2*J31L + gt11L*gtu11*J31L + gt11L*gtu21*J32L + gt11L*gtu31*J33L)*PDstandardNth3phi);
+ G111 = Gt111 + cdphi1*(4 - 2*gt11L*gtu11) - 2*gt11L*(cdphi2*gtu21 + cdphi3*gtu31);
- G211 = Gt211 + 2*gt11L*(-((gtu21*J11L + gtu22*J12L + gtu32*J13L)*PDstandardNth1phi) -
- (gtu21*J21L + gtu22*J22L + gtu32*J23L)*PDstandardNth2phi -
- (gtu21*J31L + gtu22*J32L + gtu32*J33L)*PDstandardNth3phi);
+ G211 = Gt211 - 2*gt11L*(cdphi1*gtu21 + cdphi2*gtu22 + cdphi3*gtu32);
- G311 = Gt311 + 2*gt11L*(-((gtu31*J11L + gtu32*J12L + gtu33*J13L)*PDstandardNth1phi) -
- (gtu31*J21L + gtu32*J22L + gtu33*J23L)*PDstandardNth2phi -
- (gtu31*J31L + gtu32*J32L + gtu33*J33L)*PDstandardNth3phi);
+ G311 = Gt311 - 2*gt11L*(cdphi1*gtu31 + cdphi2*gtu32 + cdphi3*gtu33);
- G112 = Gt112 + 2*((J12L - gt12L*(gtu11*J11L + gtu21*J12L + gtu31*J13L))*PDstandardNth1phi +
- (J22L - gt12L*(gtu11*J21L + gtu21*J22L + gtu31*J23L))*PDstandardNth2phi +
- (J32L - gt12L*(gtu11*J31L + gtu21*J32L + gtu31*J33L))*PDstandardNth3phi);
+ G112 = Gt112 + cdphi2*(2 - 2*gt12L*gtu21) - 2*gt12L*(cdphi1*gtu11 + cdphi3*gtu31);
- G212 = Gt212 + 2*((J11L - gt12L*(gtu21*J11L + gtu22*J12L + gtu32*J13L))*PDstandardNth1phi +
- (J21L - gt12L*(gtu21*J21L + gtu22*J22L + gtu32*J23L))*PDstandardNth2phi +
- (J31L - gt12L*(gtu21*J31L + gtu22*J32L + gtu32*J33L))*PDstandardNth3phi);
+ G212 = Gt212 + cdphi1*(2 - 2*gt12L*gtu21) - 2*gt12L*(cdphi2*gtu22 + cdphi3*gtu32);
- G312 = Gt312 + 2*gt12L*(-((gtu31*J11L + gtu32*J12L + gtu33*J13L)*PDstandardNth1phi) -
- (gtu31*J21L + gtu32*J22L + gtu33*J23L)*PDstandardNth2phi -
- (gtu31*J31L + gtu32*J32L + gtu33*J33L)*PDstandardNth3phi);
+ G312 = Gt312 - 2*gt12L*(cdphi1*gtu31 + cdphi2*gtu32 + cdphi3*gtu33);
- G113 = Gt113 + 2*((J13L - gt13L*(gtu11*J11L + gtu21*J12L + gtu31*J13L))*PDstandardNth1phi +
- (J23L - gt13L*(gtu11*J21L + gtu21*J22L + gtu31*J23L))*PDstandardNth2phi +
- (J33L - gt13L*(gtu11*J31L + gtu21*J32L + gtu31*J33L))*PDstandardNth3phi);
+ G113 = Gt113 - 2*gt13L*(cdphi1*gtu11 + cdphi2*gtu21) + cdphi3*(2 - 2*gt13L*gtu31);
- G213 = Gt213 + 2*gt13L*(-((gtu21*J11L + gtu22*J12L + gtu32*J13L)*PDstandardNth1phi) -
- (gtu21*J21L + gtu22*J22L + gtu32*J23L)*PDstandardNth2phi -
- (gtu21*J31L + gtu22*J32L + gtu32*J33L)*PDstandardNth3phi);
+ G213 = Gt213 - 2*gt13L*(cdphi1*gtu21 + cdphi2*gtu22 + cdphi3*gtu32);
- G313 = Gt313 + 2*((J11L - gt13L*(gtu31*J11L + gtu32*J12L + gtu33*J13L))*PDstandardNth1phi +
- (J21L - gt13L*(gtu31*J21L + gtu32*J22L + gtu33*J23L))*PDstandardNth2phi +
- (J31L - gt13L*(gtu31*J31L + gtu32*J32L + gtu33*J33L))*PDstandardNth3phi);
+ G313 = Gt313 + cdphi1*(2 - 2*gt13L*gtu31) - 2*gt13L*(cdphi2*gtu32 + cdphi3*gtu33);
- G122 = Gt122 + 2*gt22L*(-((gtu11*J11L + gtu21*J12L + gtu31*J13L)*PDstandardNth1phi) -
- (gtu11*J21L + gtu21*J22L + gtu31*J23L)*PDstandardNth2phi -
- (gtu11*J31L + gtu21*J32L + gtu31*J33L)*PDstandardNth3phi);
+ G122 = Gt122 - 2*gt22L*(cdphi1*gtu11 + cdphi2*gtu21 + cdphi3*gtu31);
- G222 = Gt222 + 2*(-((-2*J12L + gt22L*(gtu21*J11L + gtu22*J12L + gtu32*J13L))*PDstandardNth1phi) -
- (gt22L*gtu21*J21L - 2*J22L + gt22L*gtu22*J22L + gt22L*gtu32*J23L)*PDstandardNth2phi -
- (gt22L*gtu21*J31L - 2*J32L + gt22L*gtu22*J32L + gt22L*gtu32*J33L)*PDstandardNth3phi);
+ G222 = Gt222 + cdphi2*(4 - 2*gt22L*gtu22) - 2*gt22L*(cdphi1*gtu21 + cdphi3*gtu32);
- G322 = Gt322 + 2*gt22L*(-((gtu31*J11L + gtu32*J12L + gtu33*J13L)*PDstandardNth1phi) -
- (gtu31*J21L + gtu32*J22L + gtu33*J23L)*PDstandardNth2phi -
- (gtu31*J31L + gtu32*J32L + gtu33*J33L)*PDstandardNth3phi);
+ G322 = Gt322 - 2*gt22L*(cdphi1*gtu31 + cdphi2*gtu32 + cdphi3*gtu33);
- G123 = Gt123 + 2*gt23L*(-((gtu11*J11L + gtu21*J12L + gtu31*J13L)*PDstandardNth1phi) -
- (gtu11*J21L + gtu21*J22L + gtu31*J23L)*PDstandardNth2phi -
- (gtu11*J31L + gtu21*J32L + gtu31*J33L)*PDstandardNth3phi);
+ G123 = Gt123 - 2*gt23L*(cdphi1*gtu11 + cdphi2*gtu21 + cdphi3*gtu31);
- G223 = Gt223 + 2*((J13L - gt23L*(gtu21*J11L + gtu22*J12L + gtu32*J13L))*PDstandardNth1phi +
- (J23L - gt23L*(gtu21*J21L + gtu22*J22L + gtu32*J23L))*PDstandardNth2phi +
- (J33L - gt23L*(gtu21*J31L + gtu22*J32L + gtu32*J33L))*PDstandardNth3phi);
+ G223 = Gt223 - 2*gt23L*(cdphi1*gtu21 + cdphi2*gtu22) + cdphi3*(2 - 2*gt23L*gtu32);
- G323 = Gt323 + 2*((J12L - gt23L*(gtu31*J11L + gtu32*J12L + gtu33*J13L))*PDstandardNth1phi +
- (J22L - gt23L*(gtu31*J21L + gtu32*J22L + gtu33*J23L))*PDstandardNth2phi +
- (J32L - gt23L*(gtu31*J31L + gtu32*J32L + gtu33*J33L))*PDstandardNth3phi);
+ G323 = Gt323 + cdphi2*(2 - 2*gt23L*gtu32) - 2*gt23L*(cdphi1*gtu31 + cdphi3*gtu33);
- G133 = Gt133 + 2*gt33L*(-((gtu11*J11L + gtu21*J12L + gtu31*J13L)*PDstandardNth1phi) -
- (gtu11*J21L + gtu21*J22L + gtu31*J23L)*PDstandardNth2phi -
- (gtu11*J31L + gtu21*J32L + gtu31*J33L)*PDstandardNth3phi);
+ G133 = Gt133 - 2*gt33L*(cdphi1*gtu11 + cdphi2*gtu21 + cdphi3*gtu31);
- G233 = Gt233 + 2*gt33L*(-((gtu21*J11L + gtu22*J12L + gtu32*J13L)*PDstandardNth1phi) -
- (gtu21*J21L + gtu22*J22L + gtu32*J23L)*PDstandardNth2phi -
- (gtu21*J31L + gtu22*J32L + gtu32*J33L)*PDstandardNth3phi);
+ G233 = Gt233 - 2*gt33L*(cdphi1*gtu21 + cdphi2*gtu22 + cdphi3*gtu32);
- G333 = Gt333 + 2*(-((-2*J13L + gt33L*(gtu31*J11L + gtu32*J12L + gtu33*J13L))*PDstandardNth1phi) -
- (gt33L*gtu31*J21L + gt33L*gtu32*J22L - 2*J23L + gt33L*gtu33*J23L)*PDstandardNth2phi -
- (gt33L*gtu31*J31L + gt33L*gtu32*J32L - 2*J33L + gt33L*gtu33*J33L)*PDstandardNth3phi);
+ G333 = Gt333 - 2*gt33L*(cdphi1*gtu31 + cdphi2*gtu32) + cdphi3*(4 - 2*gt33L*gtu33);
R11 = Rphi11 + Rt11;
@@ -1403,7 +1151,8 @@ void ML_BSSN_MP_RHS_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK_INT
PDupwindNth3(phi, i, j, k)*(beta1L*J31L + beta2L*J32L + beta3L*J33L) +
(J11L*PDstandardNth1beta1 + J12L*PDstandardNth1beta2 + J13L*PDstandardNth1beta3 + J21L*PDstandardNth2beta1 +
J22L*PDstandardNth2beta2 + J23L*PDstandardNth2beta3 + J31L*PDstandardNth3beta1 + J32L*PDstandardNth3beta2 +
- J33L*PDstandardNth3beta3)/6. - (alphaL*trKL)/6.;
+ J33L*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*J11L + beta2L*J12L + beta3L*J13L) +
PDupwindNth2(gt11, i, j, k)*(beta1L*J21L + beta2L*J22L + beta3L*J23L) +
@@ -1483,9 +1232,9 @@ void ML_BSSN_MP_RHS_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK_INT
gtu33*J33L*PDstandardNth23beta1) + gtu32*
(dJ123L*PDstandardNth1beta1 + dJ223L*PDstandardNth2beta1 +
J32L*(J23L*PDstandardNth23beta1 + J33L*PDstandardNth33beta1) + dJ323L*PDstandardNth3beta1)) +
- alphaL*(12*(Atu21*Gt112 + Atu31*Gt113 + Atu32*Gt123) + 6*(Atu11*Gt111 + Atu22*Gt122 + Atu33*Gt133) -
- 4*gtu31*J13L*PDstandardNth1trK + 36*((Atu11*J11L + Atu31*J13L)*PDstandardNth1phi +
- Atu11*(J21L*PDstandardNth2phi + J31L*PDstandardNth3phi))) +
+ alphaL*(36*(Atu11*cdphi1 + Atu21*cdphi2 + Atu31*cdphi3) + 12*(Atu21*Gt112 + Atu31*Gt113 + Atu32*Gt123) +
+ 6*(Atu11*Gt111 + Atu22*Gt122 + Atu33*Gt133) -
+ 4*((gtu11*J11L + gtu31*J13L)*PDstandardNth1trK + gtu11*(J21L*PDstandardNth2trK + J31L*PDstandardNth3trK))) +
PDstandardNth1beta2*(dJ122L*gtu21 + dJ123L*gtu31 + 2*J12L*Xtn1) +
PDstandardNth1beta3*(dJ123L*gtu21 + dJ133L*gtu31 + 2*J13L*Xtn1) +
PDstandardNth2beta1*(7*dJ213L*gtu31 + 3*dJ233L*gtu33 - J21L*Xtn1) +
@@ -1498,39 +1247,36 @@ void ML_BSSN_MP_RHS_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK_INT
(6*gtu32*PDstandardNth11beta1 + gtu31*PDstandardNth11beta2 + gtu21*PDstandardNth11beta3) +
J22L*(6*gtu22*PDstandardNth12beta1 + 2*gtu21*PDstandardNth12beta2) +
J23L*(gtu31*PDstandardNth12beta2 + gtu21*PDstandardNth12beta3) +
- J33L*(6*gtu32*PDstandardNth13beta1 + gtu31*PDstandardNth13beta2) + 36*alphaL*Atu21*PDstandardNth1phi +
+ J33L*(6*gtu32*PDstandardNth13beta1 + gtu31*PDstandardNth13beta2) +
gtu21*(2*J32L*PDstandardNth13beta2 + J33L*PDstandardNth13beta3 - 4*alphaL*PDstandardNth1trK) -
3*PDstandardNth1beta1*Xtn2) + J22L*((gtu11*J11L + gtu31*J13L)*PDstandardNth12beta2 +
gtu31*J23L*PDstandardNth22beta2 + J33L*(6*gtu32*PDstandardNth23beta1 + gtu21*PDstandardNth23beta3) +
- 36*alphaL*Atu21*PDstandardNth2phi + gtu21*
- (J13L*PDstandardNth12beta3 + 7*J21L*PDstandardNth22beta1 + J23L*PDstandardNth22beta3 +
+ gtu21*(J13L*PDstandardNth12beta3 + 7*J21L*PDstandardNth22beta1 + J23L*PDstandardNth22beta3 +
2*J32L*PDstandardNth23beta2 - 4*alphaL*PDstandardNth2trK) - 3*PDstandardNth2beta1*Xtn2) +
J32L*((gtu11*J11L + gtu31*J13L)*PDstandardNth13beta2 + gtu11*J21L*PDstandardNth23beta2 +
- gtu31*J33L*PDstandardNth33beta2 + Atu21*(-6*PDstandardNth3alpha + 36*alphaL*PDstandardNth3phi) +
+ gtu31*J33L*PDstandardNth33beta2 - 6*Atu21*PDstandardNth3alpha +
gtu21*(J13L*PDstandardNth13beta3 + J23L*PDstandardNth23beta3 +
7*(J21L*PDstandardNth23beta1 + J31L*PDstandardNth33beta1) + J33L*PDstandardNth33beta3 -
4*alphaL*PDstandardNth3trK) - 3*PDstandardNth3beta1*Xtn2) +
PDstandardNth1beta1*(7*dJ113L*gtu31 + 3*dJ133L*gtu33 - J11L*Xtn1 - 3*J13L*Xtn3) +
J23L*((gtu11*J11L + 2*gtu31*J13L)*PDstandardNth12beta3 +
- J21L*(7*gtu31*PDstandardNth22beta1 + gtu11*PDstandardNth22beta3) + 36*alphaL*Atu31*PDstandardNth2phi +
+ J21L*(7*gtu31*PDstandardNth22beta1 + gtu11*PDstandardNth22beta3) +
gtu31*(7*J31L*PDstandardNth23beta1 + J32L*PDstandardNth23beta2 + 2*J33L*PDstandardNth23beta3 -
4*alphaL*PDstandardNth2trK) - 3*PDstandardNth2beta1*Xtn3) +
J33L*((gtu11*J11L + 2*gtu31*J13L)*PDstandardNth13beta3 +
- gtu11*(J21L*PDstandardNth23beta3 + J31L*PDstandardNth33beta3) +
- Atu31*(-6*PDstandardNth3alpha + 36*alphaL*PDstandardNth3phi) +
+ gtu11*(J21L*PDstandardNth23beta3 + J31L*PDstandardNth33beta3) - 6*Atu31*PDstandardNth3alpha +
gtu31*(J22L*PDstandardNth23beta2 + 7*(J21L*PDstandardNth23beta1 + J31L*PDstandardNth33beta1) -
4*alphaL*PDstandardNth3trK) - 3*PDstandardNth3beta1*Xtn3) +
- gtu11*(dJ112L*PDstandardNth1beta2 + dJ113L*PDstandardNth1beta3 +
- J11L*(J13L*PDstandardNth11beta3 + 8*(J21L*PDstandardNth12beta1 + J31L*PDstandardNth13beta1) -
- 4*alphaL*PDstandardNth1trK) + dJ212L*PDstandardNth2beta2 + dJ213L*PDstandardNth2beta3 +
- J21L*(J12L*PDstandardNth12beta2 + J13L*PDstandardNth12beta3 + J22L*PDstandardNth22beta2 -
- 4*alphaL*PDstandardNth2trK) + dJ312L*PDstandardNth3beta2 + dJ313L*PDstandardNth3beta3 +
+ gtu11*(J11L*(J13L*PDstandardNth11beta3 + 8*(J21L*PDstandardNth12beta1 + J31L*PDstandardNth13beta1)) +
+ dJ112L*PDstandardNth1beta2 + dJ113L*PDstandardNth1beta3 +
+ J21L*(J12L*PDstandardNth12beta2 + J13L*PDstandardNth12beta3 + J22L*PDstandardNth22beta2) +
+ dJ212L*PDstandardNth2beta2 + dJ213L*PDstandardNth2beta3 +
J31L*(J12L*PDstandardNth13beta2 + J13L*PDstandardNth13beta3 + 8*J21L*PDstandardNth23beta1 +
- J22L*PDstandardNth23beta2 + J23L*PDstandardNth23beta3 + J32L*PDstandardNth33beta2 -
- 4*alphaL*PDstandardNth3trK) + 4*(dJ111L*PDstandardNth1beta1 + dJ211L*PDstandardNth2beta1 +
- dJ311L*PDstandardNth3beta1 + PDstandardNth11beta1*SQR(J11L) + PDstandardNth22beta1*SQR(J21L) +
- PDstandardNth33beta1*SQR(J31L))) + gtu21*
- (PDstandardNth11beta2*SQR(J12L) + PDstandardNth22beta2*SQR(J22L) + PDstandardNth33beta2*SQR(J32L)) +
+ J22L*PDstandardNth23beta2 + J23L*PDstandardNth23beta3 + J32L*PDstandardNth33beta2) +
+ dJ312L*PDstandardNth3beta2 + dJ313L*PDstandardNth3beta3 +
+ 4*(dJ111L*PDstandardNth1beta1 + dJ211L*PDstandardNth2beta1 + dJ311L*PDstandardNth3beta1 +
+ PDstandardNth11beta1*SQR(J11L) + PDstandardNth22beta1*SQR(J21L) + PDstandardNth33beta1*SQR(J31L))) +
+ gtu21*(PDstandardNth11beta2*SQR(J12L) + PDstandardNth22beta2*SQR(J22L) + PDstandardNth33beta2*SQR(J32L)) +
gtu31*(PDstandardNth11beta3*SQR(J13L) + PDstandardNth22beta3*SQR(J23L) + PDstandardNth33beta3*SQR(J33L)) +
3*(PDupwindNth1(Xt1, i, j, k)*(beta1L*J11L + beta2L*J12L + beta3L*J13L) +
PDupwindNth2(Xt1, i, j, k)*(beta1L*J21L + beta2L*J22L + beta3L*J23L) +
@@ -1539,50 +1285,50 @@ void ML_BSSN_MP_RHS_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK_INT
PDstandardNth11beta1*SQR(J12L) + PDstandardNth22beta1*SQR(J22L) + PDstandardNth33beta1*SQR(J32L)) +
gtu33*(PDstandardNth11beta1*SQR(J13L) + PDstandardNth22beta1*SQR(J23L) + PDstandardNth33beta1*SQR(J33L))));
- Xt2rhsL = kthird*((7*gtu32*J13L*J22L + 6*gtu31*J11L*J23L)*PDstandardNth12beta2 +
- J11L*((gtu22*J12L + gtu32*J13L)*PDstandardNth11beta1 + gtu22*J32L*PDstandardNth13beta1 +
- gtu32*(J23L*PDstandardNth12beta1 + J33L*PDstandardNth13beta1) +
- 6*gtu11*(J21L*PDstandardNth12beta2 + J31L*PDstandardNth13beta2) +
- gtu21*(7*J12L*PDstandardNth11beta2 + J13L*PDstandardNth11beta3 +
- 2*(J21L*PDstandardNth12beta1 + J31L*PDstandardNth13beta1) - 4*alphaL*PDstandardNth1trK)) +
- J21L*((2*gtu21*J31L + gtu22*J32L)*PDstandardNth23beta1 + 6*gtu11*J31L*PDstandardNth23beta2 -
- 4*alphaL*gtu21*PDstandardNth2trK) - 6*((Atu21*J11L + Atu22*J12L + Atu32*J13L)*PDstandardNth1alpha +
+ Xt2rhsL = kthird*((7*gtu32*J13L*J22L + 6*gtu31*J11L*J23L)*PDstandardNth12beta2 -
+ 6*((Atu21*J11L + Atu22*J12L + Atu32*J13L)*PDstandardNth1alpha +
(Atu21*J21L + Atu22*J22L + Atu32*J23L)*PDstandardNth2alpha + (Atu21*J31L + Atu22*J32L)*PDstandardNth3alpha) +
7*(J32L*((gtu21*J11L + gtu32*J13L)*PDstandardNth13beta2 + (gtu21*J21L + gtu32*J23L)*PDstandardNth23beta2 +
gtu21*J31L*PDstandardNth33beta2) + gtu21*
((J12L*J21L + J11L*J22L)*PDstandardNth12beta2 + dJ112L*PDstandardNth1beta2 + J21L*J22L*PDstandardNth22beta2 +
J31L*(J12L*PDstandardNth13beta2 + J22L*PDstandardNth23beta2) + dJ212L*PDstandardNth2beta2 +
dJ312L*PDstandardNth3beta2)) + alphaL*
- (12*(Atu21*Gt212 + Atu31*Gt213 + Atu32*Gt223) + 6*(Atu11*Gt211 + Atu22*Gt222 + Atu33*Gt233) +
- 36*((Atu21*J11L + Atu22*J12L)*PDstandardNth1phi + (Atu21*J21L + Atu22*J22L)*PDstandardNth2phi +
- (Atu21*J31L + Atu22*J32L)*PDstandardNth3phi) - 4*gtu21*J31L*PDstandardNth3trK) +
- PDstandardNth1beta1*(dJ111L*gtu21 + dJ113L*gtu32 + 2*J11L*Xtn2) +
- PDstandardNth1beta2*(6*dJ113L*gtu31 + 7*dJ123L*gtu32 + 3*dJ133L*gtu33 - 3*J11L*Xtn1 - J12L*Xtn2) +
+ (36*(Atu21*cdphi1 + Atu22*cdphi2 + Atu32*cdphi3) + 12*(Atu21*Gt212 + Atu31*Gt213 + Atu32*Gt223) +
+ 6*(Atu11*Gt211 + Atu22*Gt222 + Atu33*Gt233) -
+ 4*gtu21*(J11L*PDstandardNth1trK + J21L*PDstandardNth2trK + J31L*PDstandardNth3trK)) +
+ J11L*((gtu22*J12L + gtu32*J13L)*PDstandardNth11beta1 + gtu22*J32L*PDstandardNth13beta1 +
+ gtu32*(J23L*PDstandardNth12beta1 + J33L*PDstandardNth13beta1) +
+ gtu21*(7*J12L*PDstandardNth11beta2 + J13L*PDstandardNth11beta3 +
+ 2*(J21L*PDstandardNth12beta1 + J31L*PDstandardNth13beta1)) +
+ 6*gtu11*(J21L*PDstandardNth12beta2 + J31L*PDstandardNth13beta2) - 3*PDstandardNth1beta2*Xtn1) +
+ J21L*((2*gtu21*J31L + gtu22*J32L)*PDstandardNth23beta1 + 6*gtu11*J31L*PDstandardNth23beta2 -
+ 3*PDstandardNth2beta2*Xtn1) + PDstandardNth1beta1*(dJ111L*gtu21 + dJ113L*gtu32 + 2*J11L*Xtn2) +
+ PDstandardNth1beta2*(6*dJ113L*gtu31 + 7*dJ123L*gtu32 + 3*dJ133L*gtu33 - J12L*Xtn2) +
PDstandardNth1beta3*(dJ113L*gtu21 + dJ133L*gtu32 + 2*J13L*Xtn2) +
PDstandardNth2beta1*(dJ211L*gtu21 + dJ213L*gtu32 + 2*J21L*Xtn2) +
- PDstandardNth2beta2*(6*dJ213L*gtu31 + 7*dJ223L*gtu32 + 3*dJ233L*gtu33 - 3*J21L*Xtn1 - J22L*Xtn2) +
+ PDstandardNth2beta2*(6*dJ213L*gtu31 + 7*dJ223L*gtu32 + 3*dJ233L*gtu33 - J22L*Xtn2) +
PDstandardNth2beta3*(dJ213L*gtu21 + dJ233L*gtu32 + 2*J23L*Xtn2) +
PDstandardNth3beta1*(dJ311L*gtu21 + dJ313L*gtu32 + 2*J31L*Xtn2) +
PDstandardNth3beta2*(6*dJ313L*gtu31 + 7*dJ323L*gtu32 + 3*dJ333L*gtu33 - 3*J31L*Xtn1 - J32L*Xtn2) +
PDstandardNth3beta3*(dJ313L*gtu21 + dJ333L*gtu32 + 2*J33L*Xtn2) +
J13L*((6*gtu31*J11L + 7*gtu32*J12L)*PDstandardNth11beta2 + gtu22*J12L*PDstandardNth11beta3 +
J21L*(gtu32*PDstandardNth12beta1 + 6*gtu31*PDstandardNth12beta2 + gtu21*PDstandardNth12beta3) +
- J31L*(gtu32*PDstandardNth13beta1 + 6*gtu31*PDstandardNth13beta2 + gtu21*PDstandardNth13beta3) +
- alphaL*(36*Atu32*PDstandardNth1phi - 4*gtu32*PDstandardNth1trK) - 3*PDstandardNth1beta2*Xtn3) +
+ J31L*(gtu32*PDstandardNth13beta1 + 6*gtu31*PDstandardNth13beta2 + gtu21*PDstandardNth13beta3) -
+ 4*alphaL*gtu32*PDstandardNth1trK - 3*PDstandardNth1beta2*Xtn3) +
J23L*((7*gtu32*J12L + 6*gtu33*J13L)*PDstandardNth12beta2 +
(gtu21*J11L + gtu22*J12L + 2*gtu32*J13L)*PDstandardNth12beta3 +
J21L*(gtu32*PDstandardNth22beta1 + 6*gtu31*PDstandardNth22beta2 + gtu21*PDstandardNth22beta3) +
- J31L*(6*gtu31*PDstandardNth23beta2 + gtu21*PDstandardNth23beta3) + 36*alphaL*Atu32*PDstandardNth2phi +
+ J31L*(6*gtu31*PDstandardNth23beta2 + gtu21*PDstandardNth23beta3) +
gtu32*(7*J22L*PDstandardNth22beta2 + J31L*PDstandardNth23beta1 - 4*alphaL*PDstandardNth2trK) -
3*PDstandardNth2beta2*Xtn3) + J33L*((7*gtu32*J12L + 6*(gtu31*J11L + gtu33*J13L))*PDstandardNth13beta2 +
(gtu21*J11L + gtu22*J12L + 2*gtu32*J13L)*PDstandardNth13beta3 +
(7*gtu32*J22L + 6*gtu33*J23L)*PDstandardNth23beta2 + (gtu22*J22L + 2*gtu32*J23L)*PDstandardNth23beta3 +
J21L*(gtu32*PDstandardNth23beta1 + 6*gtu31*PDstandardNth23beta2 + gtu21*PDstandardNth23beta3) +
- J31L*(gtu32*PDstandardNth33beta1 + 6*gtu31*PDstandardNth33beta2 + gtu21*PDstandardNth33beta3) +
- Atu32*(-6*PDstandardNth3alpha + 36*alphaL*PDstandardNth3phi) +
- gtu32*(7*J32L*PDstandardNth33beta2 - 4*alphaL*PDstandardNth3trK) - 3*PDstandardNth3beta2*Xtn3) +
- gtu21*(PDstandardNth11beta1*SQR(J11L) + PDstandardNth22beta1*SQR(J21L) + PDstandardNth33beta1*SQR(J31L)) +
- gtu22*((J12L*J21L + J11L*J22L)*PDstandardNth12beta1 + dJ112L*PDstandardNth1beta1 + dJ123L*PDstandardNth1beta3 +
+ J31L*(gtu32*PDstandardNth33beta1 + 6*gtu31*PDstandardNth33beta2 + gtu21*PDstandardNth33beta3) -
+ 6*Atu32*PDstandardNth3alpha + gtu32*(7*J32L*PDstandardNth33beta2 - 4*alphaL*PDstandardNth3trK) -
+ 3*PDstandardNth3beta2*Xtn3) + gtu21*(PDstandardNth11beta1*SQR(J11L) + PDstandardNth22beta1*SQR(J21L) +
+ PDstandardNth33beta1*SQR(J31L)) + gtu22*
+ ((J12L*J21L + J11L*J22L)*PDstandardNth12beta1 + dJ112L*PDstandardNth1beta1 + dJ123L*PDstandardNth1beta3 +
J12L*(J31L*PDstandardNth13beta1 + 8*J32L*PDstandardNth13beta2 - 4*alphaL*PDstandardNth1trK) +
dJ212L*PDstandardNth2beta1 + dJ223L*PDstandardNth2beta3 +
J22L*(8*J12L*PDstandardNth12beta2 + J13L*PDstandardNth12beta3 + J21L*PDstandardNth22beta1 +
@@ -1604,57 +1350,53 @@ void ML_BSSN_MP_RHS_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK_INT
(6*gtu22*J12L*J22L + 7*(J13L*(gtu31*J21L + gtu32*J22L) + gtu31*J11L*J23L))*PDstandardNth12beta3 +
(gtu32*J11L*J32L + gtu33*(J13L*J31L + J11L*J33L))*PDstandardNth13beta1 +
(6*gtu22*J12L*J32L + 7*(J13L*(gtu31*J31L + gtu32*J32L) + gtu31*J11L*J33L))*PDstandardNth13beta3 +
- J11L*((gtu32*J12L + gtu33*J13L)*PDstandardNth11beta1 +
- 6*gtu11*(J21L*PDstandardNth12beta3 + J31L*PDstandardNth13beta3) +
- gtu31*(J12L*PDstandardNth11beta2 + 7*J13L*PDstandardNth11beta3 + J22L*PDstandardNth12beta2 +
- 2*(J21L*PDstandardNth12beta1 + J31L*PDstandardNth13beta1) + J32L*PDstandardNth13beta2 -
- 4*alphaL*PDstandardNth1trK)) - 6*((Atu31*J11L + Atu32*J12L + Atu33*J13L)*PDstandardNth1alpha +
+ J12L*(J13L*(gtu33*PDstandardNth11beta2 + 7*gtu32*PDstandardNth11beta3) +
+ J21L*(gtu32*PDstandardNth12beta1 + gtu31*PDstandardNth12beta2) +
+ J31L*(gtu32*PDstandardNth13beta1 + gtu31*PDstandardNth13beta2) +
+ gtu33*(J23L*PDstandardNth12beta2 + J33L*PDstandardNth13beta2) +
+ 6*gtu21*(J11L*PDstandardNth11beta3 + J21L*PDstandardNth12beta3 + J31L*PDstandardNth13beta3) -
+ 4*alphaL*gtu32*PDstandardNth1trK) - 6*((Atu31*J11L + Atu32*J12L + Atu33*J13L)*PDstandardNth1alpha +
(Atu31*J21L + Atu32*J22L + Atu33*J23L)*PDstandardNth2alpha + Atu31*J31L*PDstandardNth3alpha) +
6*((gtu11*J21L*J31L + gtu22*J22L*J32L)*PDstandardNth23beta3 +
gtu21*(dJ212L*PDstandardNth2beta3 + J31L*J32L*PDstandardNth33beta3 + dJ312L*PDstandardNth3beta3)) +
- alphaL*(12*(Atu21*Gt312 + Atu31*Gt313 + Atu32*Gt323) + 6*(Atu11*Gt311 + Atu22*Gt322 + Atu33*Gt333) -
- 4*gtu33*J13L*PDstandardNth1trK + 36*((Atu31*J11L + Atu33*J13L)*PDstandardNth1phi +
- Atu31*(J21L*PDstandardNth2phi + J31L*PDstandardNth3phi))) +
+ alphaL*(36*(Atu31*cdphi1 + Atu32*cdphi2 + Atu33*cdphi3) + 12*(Atu21*Gt312 + Atu31*Gt313 + Atu32*Gt323) +
+ 6*(Atu11*Gt311 + Atu22*Gt322 + Atu33*Gt333) -
+ 4*((gtu31*J11L + gtu33*J13L)*PDstandardNth1trK + gtu31*(J21L*PDstandardNth2trK + J31L*PDstandardNth3trK))) +
PDstandardNth2beta3*(3*dJ222L*gtu22 + 7*dJ223L*gtu32 + 4*dJ233L*gtu33 - 3*J21L*Xtn1) +
PDstandardNth3beta3*(3*dJ322L*gtu22 + 7*dJ323L*gtu32 + 4*dJ333L*gtu33 - 3*J31L*Xtn1) +
- J12L*(J13L*(gtu33*PDstandardNth11beta2 + 7*gtu32*PDstandardNth11beta3) +
- J21L*(gtu32*PDstandardNth12beta1 + gtu31*PDstandardNth12beta2) +
- J31L*(gtu32*PDstandardNth13beta1 + gtu31*PDstandardNth13beta2) +
- gtu33*(J23L*PDstandardNth12beta2 + J33L*PDstandardNth13beta2) +
- 6*gtu21*(J11L*PDstandardNth11beta3 + J21L*PDstandardNth12beta3 + J31L*PDstandardNth13beta3) +
- alphaL*(36*Atu32*PDstandardNth1phi - 4*gtu32*PDstandardNth1trK) - 3*PDstandardNth1beta3*Xtn2) +
+ J11L*((gtu32*J12L + gtu33*J13L)*PDstandardNth11beta1 +
+ gtu31*(J12L*PDstandardNth11beta2 + 7*J13L*PDstandardNth11beta3 + J22L*PDstandardNth12beta2 +
+ 2*(J21L*PDstandardNth12beta1 + J31L*PDstandardNth13beta1) + J32L*PDstandardNth13beta2) +
+ 6*gtu11*(J21L*PDstandardNth12beta3 + J31L*PDstandardNth13beta3) - 3*PDstandardNth1beta3*Xtn1) +
J22L*((2*gtu32*J12L + gtu33*J13L)*PDstandardNth12beta2 +
J21L*(gtu32*PDstandardNth22beta1 + gtu31*PDstandardNth22beta2) +
6*gtu21*(J11L*PDstandardNth12beta3 + J21L*PDstandardNth22beta3 + J31L*PDstandardNth23beta3) +
- 36*alphaL*Atu32*PDstandardNth2phi + gtu32*
- (7*J23L*PDstandardNth22beta3 + J31L*PDstandardNth23beta1 + 2*J32L*PDstandardNth23beta2 -
+ gtu32*(7*J23L*PDstandardNth22beta3 + J31L*PDstandardNth23beta1 + 2*J32L*PDstandardNth23beta2 -
4*alphaL*PDstandardNth2trK) - 3*PDstandardNth2beta3*Xtn2) +
J32L*((2*gtu32*J12L + gtu33*J13L)*PDstandardNth13beta2 +
J21L*(gtu32*PDstandardNth23beta1 + gtu31*PDstandardNth23beta2) +
- 6*gtu21*(J11L*PDstandardNth13beta3 + J21L*PDstandardNth23beta3) + gtu33*J33L*PDstandardNth33beta2 +
- Atu32*(-6*PDstandardNth3alpha + 36*alphaL*PDstandardNth3phi) +
- gtu32*(J31L*PDstandardNth33beta1 + 7*J33L*PDstandardNth33beta3 - 4*alphaL*PDstandardNth3trK) -
- 3*PDstandardNth3beta3*Xtn2) + PDstandardNth1beta1*(dJ111L*gtu31 + dJ112L*gtu32 + dJ113L*gtu33 + 2*J11L*Xtn3) +
+ 6*gtu21*(J11L*PDstandardNth13beta3 + J21L*PDstandardNth23beta3) + gtu33*J33L*PDstandardNth33beta2 -
+ 6*Atu32*PDstandardNth3alpha + gtu32*(J31L*PDstandardNth33beta1 + 7*J33L*PDstandardNth33beta3 -
+ 4*alphaL*PDstandardNth3trK) - 3*PDstandardNth3beta3*Xtn2) +
+ PDstandardNth1beta1*(dJ111L*gtu31 + dJ112L*gtu32 + dJ113L*gtu33 + 2*J11L*Xtn3) +
PDstandardNth1beta2*(dJ112L*gtu31 + dJ122L*gtu32 + dJ123L*gtu33 + 2*J12L*Xtn3) +
PDstandardNth1beta3*(6*dJ112L*gtu21 + 3*dJ122L*gtu22 + 7*(dJ113L*gtu31 + dJ123L*gtu32) + 4*dJ133L*gtu33 -
- 3*J11L*Xtn1 - J13L*Xtn3) + PDstandardNth2beta1*(dJ212L*gtu32 + dJ213L*gtu33 + 2*J21L*Xtn3) +
+ 3*J12L*Xtn2 - J13L*Xtn3) + PDstandardNth2beta1*(dJ212L*gtu32 + dJ213L*gtu33 + 2*J21L*Xtn3) +
PDstandardNth2beta2*(dJ222L*gtu32 + dJ223L*gtu33 + 2*J22L*Xtn3) +
PDstandardNth3beta1*(dJ312L*gtu32 + dJ313L*gtu33 + 2*J31L*Xtn3) +
PDstandardNth3beta2*(dJ322L*gtu32 + dJ323L*gtu33 + 2*J32L*Xtn3) +
J23L*((7*gtu32*J12L + 8*gtu33*J13L)*PDstandardNth12beta3 +
- 7*(gtu31*J21L*PDstandardNth22beta3 + gtu32*J32L*PDstandardNth23beta3) + 36*alphaL*Atu33*PDstandardNth2phi +
+ 7*(gtu31*J21L*PDstandardNth22beta3 + gtu32*J32L*PDstandardNth23beta3) +
gtu33*(J21L*PDstandardNth22beta1 + J22L*PDstandardNth22beta2 + J31L*PDstandardNth23beta1 +
J32L*PDstandardNth23beta2 - 4*alphaL*PDstandardNth2trK) - PDstandardNth2beta3*Xtn3) +
J33L*((7*gtu32*J12L + 8*gtu33*J13L)*PDstandardNth13beta3 +
- 7*((gtu31*J21L + gtu32*J22L)*PDstandardNth23beta3 + gtu31*J31L*PDstandardNth33beta3) +
- Atu33*(-6*PDstandardNth3alpha + 36*alphaL*PDstandardNth3phi) +
- gtu33*(J21L*PDstandardNth23beta1 + J22L*PDstandardNth23beta2 + 8*J23L*PDstandardNth23beta3 +
- J31L*PDstandardNth33beta1 - 4*alphaL*PDstandardNth3trK) - PDstandardNth3beta3*Xtn3) +
- gtu31*(dJ211L*PDstandardNth2beta1 + dJ212L*PDstandardNth2beta2 +
+ 7*((gtu31*J21L + gtu32*J22L)*PDstandardNth23beta3 + gtu31*J31L*PDstandardNth33beta3) -
+ 6*Atu33*PDstandardNth3alpha + gtu33*(J21L*PDstandardNth23beta1 + J22L*PDstandardNth23beta2 +
+ 8*J23L*PDstandardNth23beta3 + J31L*PDstandardNth33beta1 - 4*alphaL*PDstandardNth3trK) -
+ PDstandardNth3beta3*Xtn3) + gtu31*(dJ211L*PDstandardNth2beta1 + dJ212L*PDstandardNth2beta2 +
J31L*(2*J21L*PDstandardNth23beta1 + J22L*PDstandardNth23beta2 + 7*J23L*PDstandardNth23beta3 +
J32L*PDstandardNth33beta2) + dJ311L*PDstandardNth3beta1 + dJ312L*PDstandardNth3beta2 +
- 7*(dJ213L*PDstandardNth2beta3 + dJ313L*PDstandardNth3beta3) -
- 4*alphaL*(J21L*PDstandardNth2trK + J31L*PDstandardNth3trK) + PDstandardNth11beta1*SQR(J11L) +
+ 7*(dJ213L*PDstandardNth2beta3 + dJ313L*PDstandardNth3beta3) + PDstandardNth11beta1*SQR(J11L) +
PDstandardNth22beta1*SQR(J21L) + PDstandardNth33beta1*SQR(J31L)) +
gtu32*(PDstandardNth11beta2*SQR(J12L) + PDstandardNth22beta2*SQR(J22L) + PDstandardNth33beta2*SQR(J32L)) +
3*(PDupwindNth1(Xt3, i, j, k)*(beta1L*J11L + beta2L*J12L + beta3L*J13L) +
diff --git a/ML_BSSN_MP/src/ML_BSSN_MP_RHSBoundary.c b/ML_BSSN_MP/src/ML_BSSN_MP_RHSBoundary.c
index ff72aa3..aa6d446 100644
--- a/ML_BSSN_MP/src/ML_BSSN_MP_RHSBoundary.c
+++ b/ML_BSSN_MP/src/ML_BSSN_MP_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
@@ -196,7 +199,7 @@ void ML_BSSN_MP_RHSBoundary_Body(cGH const * const cctkGH, CCTK_INT const dir, C
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_MP/src/ML_BSSN_MP_boundary.c b/ML_BSSN_MP/src/ML_BSSN_MP_boundary.c
index 0d51b7c..7789c94 100644
--- a/ML_BSSN_MP/src/ML_BSSN_MP_boundary.c
+++ b/ML_BSSN_MP/src/ML_BSSN_MP_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_MP_boundary_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK
/* Precompute derivatives (old style) */
/* Calculate temporaries and grid functions */
- phiL = 0;
+ phiL = IfThen(conformalmethod,1,0);
gt11L = 1;
diff --git a/ML_BSSN_MP/src/ML_BSSN_MP_constraints.c b/ML_BSSN_MP/src/ML_BSSN_MP_constraints.c
index 309aed2..69b697c 100644
--- a/ML_BSSN_MP/src/ML_BSSN_MP_constraints.c
+++ b/ML_BSSN_MP/src/ML_BSSN_MP_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_MP_constraints_Body(cGH const * const cctkGH, CCTK_INT const dir, C
/* 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;
@@ -869,316 +875,94 @@ void ML_BSSN_MP_constraints_Body(cGH const * const cctkGH, CCTK_INT const dir, C
2*J23L*J33L*PDstandardNth23gt33 + dJ233L*PDstandardNth2gt33 + dJ333L*PDstandardNth3gt33 +
PDstandardNth11gt33*SQR(J13L) + PDstandardNth22gt33*SQR(J23L) + PDstandardNth33gt33*SQR(J33L)));
- Rphi11 = -2*((dJ111L - Gt111*J11L - Gt211*J12L - Gt311*J13L)*PDstandardNth1phi +
+ fac1 = IfThen(conformalmethod,-(khalf*INV(phiL)),1);
+
+ cdphi1 = fac1*(J11L*PDstandardNth1phi + J21L*PDstandardNth2phi + J31L*PDstandardNth3phi);
+
+ cdphi2 = fac1*(J12L*PDstandardNth1phi + J22L*PDstandardNth2phi + J32L*PDstandardNth3phi);
+
+ cdphi3 = fac1*(J13L*PDstandardNth1phi + J23L*PDstandardNth2phi + J33L*PDstandardNth3phi);
+
+ fac2 = IfThen(conformalmethod,khalf*pow(phiL,-2),0);
+
+ cdphi211 = fac1*((dJ111L - Gt111*J11L - Gt211*J12L - Gt311*J13L)*PDstandardNth1phi +
2*(J11L*(J21L*PDstandardNth12phi + J31L*PDstandardNth13phi) + J21L*J31L*PDstandardNth23phi) +
(dJ211L - Gt111*J21L - Gt211*J22L - Gt311*J23L)*PDstandardNth2phi +
(dJ311L - Gt111*J31L - Gt211*J32L - Gt311*J33L)*PDstandardNth3phi + PDstandardNth11phi*SQR(J11L) +
- PDstandardNth22phi*SQR(J21L) + PDstandardNth33phi*SQR(J31L) +
- gt11L*((2*(dJ112L*gtu21 + dJ113L*gtu31 + dJ123L*gtu32) + gtu11*(dJ111L - Gt111*J11L - Gt211*J12L - Gt311*J13L) +
- gtu22*(dJ122L - Gt122*J11L - Gt222*J12L - Gt322*J13L) +
- gtu33*(dJ133L - Gt133*J11L - Gt233*J12L - Gt333*J13L) -
- 2*((Gt112*gtu21 + Gt113*gtu31 + Gt123*gtu32)*J11L + (Gt212*gtu21 + Gt213*gtu31 + Gt223*gtu32)*J12L +
- (Gt312*gtu21 + Gt313*gtu31 + Gt323*gtu32)*J13L))*PDstandardNth1phi +
- (2*(dJ212L*gtu21 + dJ213L*gtu31 + dJ223L*gtu32) + gtu11*(dJ211L - Gt111*J21L - Gt211*J22L - Gt311*J23L) +
- gtu22*(dJ222L - Gt122*J21L - Gt222*J22L - Gt322*J23L) +
- gtu33*(dJ233L - Gt133*J21L - Gt233*J22L - Gt333*J23L) -
- 2*((Gt112*gtu21 + Gt113*gtu31 + Gt123*gtu32)*J21L + (Gt212*gtu21 + Gt213*gtu31 + Gt223*gtu32)*J22L +
- (Gt312*gtu21 + Gt313*gtu31 + Gt323*gtu32)*J23L))*PDstandardNth2phi +
- (dJ322L*gtu22 + 2*(dJ313L*gtu31 + dJ323L*gtu32) + (-2*Gt112*gtu21 - Gt122*gtu22)*J31L +
- (-2*Gt212*gtu21 - Gt222*gtu22)*J32L + (-2*Gt312*gtu21 - Gt322*gtu22)*J33L +
- gtu11*(dJ311L - Gt111*J31L - Gt211*J32L - Gt311*J33L) +
- gtu33*(dJ333L - Gt133*J31L - Gt233*J32L - Gt333*J33L) -
- 2*((Gt113*gtu31 + Gt123*gtu32)*J31L + (Gt213*gtu31 + Gt223*gtu32)*J32L + (Gt313*gtu31 + Gt323*gtu32)*J33L))
- *PDstandardNth3phi + 2*((gtu21*J11L*J22L + gtu31*(J13L*J21L + J11L*J23L))*PDstandardNth12phi +
- (gtu21*J11L*J32L + gtu31*(J13L*J31L + J11L*J33L))*PDstandardNth13phi +
- J11L*((gtu21*J12L + gtu31*J13L)*PDstandardNth11phi +
- gtu11*(J21L*PDstandardNth12phi + J31L*PDstandardNth13phi)) +
- J12L*(gtu32*J13L*PDstandardNth11phi + gtu21*(J21L*PDstandardNth12phi + J31L*PDstandardNth13phi)) +
- (gtu11*J21L*J31L + (gtu22*J22L + gtu32*J23L)*J32L + (gtu32*J22L + gtu33*J23L)*J33L)*PDstandardNth23phi +
- J22L*((gtu22*J12L + gtu32*J13L)*PDstandardNth12phi + (gtu21*J21L + gtu32*J23L)*PDstandardNth22phi +
- gtu21*J31L*PDstandardNth23phi) +
- J23L*((gtu32*J12L + gtu33*J13L)*PDstandardNth12phi +
- gtu31*(J21L*PDstandardNth22phi + J31L*PDstandardNth23phi)) +
- J32L*((gtu22*J12L + gtu32*J13L)*PDstandardNth13phi + gtu32*J33L*PDstandardNth33phi +
- gtu21*(J21L*PDstandardNth23phi + J31L*PDstandardNth33phi)) +
- J33L*((gtu32*J12L + gtu33*J13L)*PDstandardNth13phi +
- gtu31*(J21L*PDstandardNth23phi + J31L*PDstandardNth33phi)) + dJ312L*gtu21*PDstandardNth3phi) +
- PDstandardNth11phi*(gtu11*SQR(J11L) + gtu22*SQR(J12L) + gtu33*SQR(J13L)) +
- PDstandardNth22phi*(gtu11*SQR(J21L) + gtu22*SQR(J22L) + gtu33*SQR(J23L)) +
- PDstandardNth33phi*(gtu11*SQR(J31L) + gtu22*SQR(J32L) + gtu33*SQR(J33L)))) -
- 4*gt11L*(2*(((gtu11*J21L + gtu21*J22L + gtu31*J23L)*J31L + (gtu21*J21L + gtu22*J22L + gtu32*J23L)*J32L +
- (gtu31*J21L + gtu32*J22L + gtu33*J23L)*J33L)*PDstandardNth2phi*PDstandardNth3phi +
- PDstandardNth1phi*(((gtu11*J11L + gtu21*J12L + gtu31*J13L)*J21L +
- (gtu21*J11L + gtu22*J12L + gtu32*J13L)*J22L + (gtu31*J11L + gtu32*J12L + gtu33*J13L)*J23L)*
- PDstandardNth2phi + ((gtu11*J11L + gtu21*J12L + gtu31*J13L)*J31L +
- (gtu21*J11L + gtu22*J12L + gtu32*J13L)*J32L + (gtu31*J11L + gtu32*J12L + gtu33*J13L)*J33L)*
- PDstandardNth3phi)) + (2*(gtu32*J12L*J13L + J11L*(gtu21*J12L + gtu31*J13L)) + gtu11*SQR(J11L) +
- gtu22*SQR(J12L) + gtu33*SQR(J13L))*SQR(PDstandardNth1phi) +
- (2*(gtu32*J22L*J23L + J21L*(gtu21*J22L + gtu31*J23L)) + gtu11*SQR(J21L) + gtu22*SQR(J22L) + gtu33*SQR(J23L))*
- SQR(PDstandardNth2phi) + (2*(gtu32*J32L*J33L + J31L*(gtu21*J32L + gtu31*J33L)) + gtu11*SQR(J31L) +
- gtu22*SQR(J32L) + gtu33*SQR(J33L))*SQR(PDstandardNth3phi)) +
- 4*SQR(J11L*PDstandardNth1phi + J21L*PDstandardNth2phi + J31L*PDstandardNth3phi);
-
- Rphi12 = 4*(J11L*PDstandardNth1phi + J21L*PDstandardNth2phi + J31L*PDstandardNth3phi)*
- (J12L*PDstandardNth1phi + J22L*PDstandardNth2phi + J32L*PDstandardNth3phi) -
- 2*(J12L*(J11L*PDstandardNth11phi + J21L*PDstandardNth12phi + J31L*PDstandardNth13phi) +
+ PDstandardNth22phi*SQR(J21L) + PDstandardNth33phi*SQR(J31L)) +
+ fac2*SQR(J11L*PDstandardNth1phi + J21L*PDstandardNth2phi + J31L*PDstandardNth3phi);
+
+ cdphi212 = fac2*(J11L*PDstandardNth1phi + J21L*PDstandardNth2phi + J31L*PDstandardNth3phi)*
+ (J12L*PDstandardNth1phi + J22L*PDstandardNth2phi + J32L*PDstandardNth3phi) +
+ fac1*(J12L*(J11L*PDstandardNth11phi + J21L*PDstandardNth12phi + J31L*PDstandardNth13phi) +
J11L*(J22L*PDstandardNth12phi + J32L*PDstandardNth13phi) +
(dJ112L - Gt112*J11L - Gt212*J12L - Gt312*J13L)*PDstandardNth1phi +
J22L*(J21L*PDstandardNth22phi + J31L*PDstandardNth23phi) +
(dJ212L - Gt112*J21L - Gt212*J22L - Gt312*J23L)*PDstandardNth2phi +
J32L*(J21L*PDstandardNth23phi + J31L*PDstandardNth33phi) +
- (dJ312L - Gt112*J31L - Gt212*J32L - Gt312*J33L)*PDstandardNth3phi +
- gt12L*((2*(dJ112L*gtu21 + dJ113L*gtu31 + dJ123L*gtu32) + gtu11*(dJ111L - Gt111*J11L - Gt211*J12L - Gt311*J13L) +
- gtu22*(dJ122L - Gt122*J11L - Gt222*J12L - Gt322*J13L) +
- gtu33*(dJ133L - Gt133*J11L - Gt233*J12L - Gt333*J13L) -
- 2*((Gt112*gtu21 + Gt113*gtu31 + Gt123*gtu32)*J11L + (Gt212*gtu21 + Gt213*gtu31 + Gt223*gtu32)*J12L +
- (Gt312*gtu21 + Gt313*gtu31 + Gt323*gtu32)*J13L))*PDstandardNth1phi +
- (2*(dJ212L*gtu21 + dJ213L*gtu31 + dJ223L*gtu32) + gtu11*(dJ211L - Gt111*J21L - Gt211*J22L - Gt311*J23L) +
- gtu22*(dJ222L - Gt122*J21L - Gt222*J22L - Gt322*J23L) +
- gtu33*(dJ233L - Gt133*J21L - Gt233*J22L - Gt333*J23L) -
- 2*((Gt112*gtu21 + Gt113*gtu31 + Gt123*gtu32)*J21L + (Gt212*gtu21 + Gt213*gtu31 + Gt223*gtu32)*J22L +
- (Gt312*gtu21 + Gt313*gtu31 + Gt323*gtu32)*J23L))*PDstandardNth2phi +
- (dJ322L*gtu22 + 2*(dJ313L*gtu31 + dJ323L*gtu32) + (-2*Gt112*gtu21 - Gt122*gtu22)*J31L +
- (-2*Gt212*gtu21 - Gt222*gtu22)*J32L + (-2*Gt312*gtu21 - Gt322*gtu22)*J33L +
- gtu11*(dJ311L - Gt111*J31L - Gt211*J32L - Gt311*J33L) +
- gtu33*(dJ333L - Gt133*J31L - Gt233*J32L - Gt333*J33L) -
- 2*((Gt113*gtu31 + Gt123*gtu32)*J31L + (Gt213*gtu31 + Gt223*gtu32)*J32L + (Gt313*gtu31 + Gt323*gtu32)*J33L))
- *PDstandardNth3phi + 2*((gtu21*J11L*J22L + gtu31*(J13L*J21L + J11L*J23L))*PDstandardNth12phi +
- (gtu21*J11L*J32L + gtu31*(J13L*J31L + J11L*J33L))*PDstandardNth13phi +
- J11L*((gtu21*J12L + gtu31*J13L)*PDstandardNth11phi +
- gtu11*(J21L*PDstandardNth12phi + J31L*PDstandardNth13phi)) +
- J12L*(gtu32*J13L*PDstandardNth11phi + gtu21*(J21L*PDstandardNth12phi + J31L*PDstandardNth13phi)) +
- (gtu11*J21L*J31L + (gtu22*J22L + gtu32*J23L)*J32L + (gtu32*J22L + gtu33*J23L)*J33L)*PDstandardNth23phi +
- J22L*((gtu22*J12L + gtu32*J13L)*PDstandardNth12phi + (gtu21*J21L + gtu32*J23L)*PDstandardNth22phi +
- gtu21*J31L*PDstandardNth23phi) +
- J23L*((gtu32*J12L + gtu33*J13L)*PDstandardNth12phi +
- gtu31*(J21L*PDstandardNth22phi + J31L*PDstandardNth23phi)) +
- J32L*((gtu22*J12L + gtu32*J13L)*PDstandardNth13phi + gtu32*J33L*PDstandardNth33phi +
- gtu21*(J21L*PDstandardNth23phi + J31L*PDstandardNth33phi)) +
- J33L*((gtu32*J12L + gtu33*J13L)*PDstandardNth13phi +
- gtu31*(J21L*PDstandardNth23phi + J31L*PDstandardNth33phi)) + dJ312L*gtu21*PDstandardNth3phi) +
- PDstandardNth11phi*(gtu11*SQR(J11L) + gtu22*SQR(J12L) + gtu33*SQR(J13L)) +
- PDstandardNth22phi*(gtu11*SQR(J21L) + gtu22*SQR(J22L) + gtu33*SQR(J23L)) +
- PDstandardNth33phi*(gtu11*SQR(J31L) + gtu22*SQR(J32L) + gtu33*SQR(J33L)))) -
- 4*gt12L*(2*(((gtu11*J21L + gtu21*J22L + gtu31*J23L)*J31L + (gtu21*J21L + gtu22*J22L + gtu32*J23L)*J32L +
- (gtu31*J21L + gtu32*J22L + gtu33*J23L)*J33L)*PDstandardNth2phi*PDstandardNth3phi +
- PDstandardNth1phi*(((gtu11*J11L + gtu21*J12L + gtu31*J13L)*J21L +
- (gtu21*J11L + gtu22*J12L + gtu32*J13L)*J22L + (gtu31*J11L + gtu32*J12L + gtu33*J13L)*J23L)*
- PDstandardNth2phi + ((gtu11*J11L + gtu21*J12L + gtu31*J13L)*J31L +
- (gtu21*J11L + gtu22*J12L + gtu32*J13L)*J32L + (gtu31*J11L + gtu32*J12L + gtu33*J13L)*J33L)*
- PDstandardNth3phi)) + (2*(gtu32*J12L*J13L + J11L*(gtu21*J12L + gtu31*J13L)) + gtu11*SQR(J11L) +
- gtu22*SQR(J12L) + gtu33*SQR(J13L))*SQR(PDstandardNth1phi) +
- (2*(gtu32*J22L*J23L + J21L*(gtu21*J22L + gtu31*J23L)) + gtu11*SQR(J21L) + gtu22*SQR(J22L) + gtu33*SQR(J23L))*
- SQR(PDstandardNth2phi) + (2*(gtu32*J32L*J33L + J31L*(gtu21*J32L + gtu31*J33L)) + gtu11*SQR(J31L) +
- gtu22*SQR(J32L) + gtu33*SQR(J33L))*SQR(PDstandardNth3phi));
-
- Rphi13 = 4*(J11L*PDstandardNth1phi + J21L*PDstandardNth2phi + J31L*PDstandardNth3phi)*
- (J13L*PDstandardNth1phi + J23L*PDstandardNth2phi + J33L*PDstandardNth3phi) -
- 2*(J13L*(J11L*PDstandardNth11phi + J21L*PDstandardNth12phi + J31L*PDstandardNth13phi) +
+ (dJ312L - Gt112*J31L - Gt212*J32L - Gt312*J33L)*PDstandardNth3phi);
+
+ cdphi213 = fac2*(J11L*PDstandardNth1phi + J21L*PDstandardNth2phi + J31L*PDstandardNth3phi)*
+ (J13L*PDstandardNth1phi + J23L*PDstandardNth2phi + J33L*PDstandardNth3phi) +
+ fac1*(J13L*(J11L*PDstandardNth11phi + J21L*PDstandardNth12phi + J31L*PDstandardNth13phi) +
J11L*(J23L*PDstandardNth12phi + J33L*PDstandardNth13phi) +
(dJ113L - Gt113*J11L - Gt213*J12L - Gt313*J13L)*PDstandardNth1phi +
J23L*(J21L*PDstandardNth22phi + J31L*PDstandardNth23phi) +
(dJ213L - Gt113*J21L - Gt213*J22L - Gt313*J23L)*PDstandardNth2phi +
J33L*(J21L*PDstandardNth23phi + J31L*PDstandardNth33phi) +
- (dJ313L - Gt113*J31L - Gt213*J32L - Gt313*J33L)*PDstandardNth3phi +
- gt13L*((2*(dJ112L*gtu21 + dJ113L*gtu31 + dJ123L*gtu32) + gtu11*(dJ111L - Gt111*J11L - Gt211*J12L - Gt311*J13L) +
- gtu22*(dJ122L - Gt122*J11L - Gt222*J12L - Gt322*J13L) +
- gtu33*(dJ133L - Gt133*J11L - Gt233*J12L - Gt333*J13L) -
- 2*((Gt112*gtu21 + Gt113*gtu31 + Gt123*gtu32)*J11L + (Gt212*gtu21 + Gt213*gtu31 + Gt223*gtu32)*J12L +
- (Gt312*gtu21 + Gt313*gtu31 + Gt323*gtu32)*J13L))*PDstandardNth1phi +
- (2*(dJ212L*gtu21 + dJ213L*gtu31 + dJ223L*gtu32) + gtu11*(dJ211L - Gt111*J21L - Gt211*J22L - Gt311*J23L) +
- gtu22*(dJ222L - Gt122*J21L - Gt222*J22L - Gt322*J23L) +
- gtu33*(dJ233L - Gt133*J21L - Gt233*J22L - Gt333*J23L) -
- 2*((Gt112*gtu21 + Gt113*gtu31 + Gt123*gtu32)*J21L + (Gt212*gtu21 + Gt213*gtu31 + Gt223*gtu32)*J22L +
- (Gt312*gtu21 + Gt313*gtu31 + Gt323*gtu32)*J23L))*PDstandardNth2phi +
- (dJ322L*gtu22 + 2*(dJ313L*gtu31 + dJ323L*gtu32) + (-2*Gt112*gtu21 - Gt122*gtu22)*J31L +
- (-2*Gt212*gtu21 - Gt222*gtu22)*J32L + (-2*Gt312*gtu21 - Gt322*gtu22)*J33L +
- gtu11*(dJ311L - Gt111*J31L - Gt211*J32L - Gt311*J33L) +
- gtu33*(dJ333L - Gt133*J31L - Gt233*J32L - Gt333*J33L) -
- 2*((Gt113*gtu31 + Gt123*gtu32)*J31L + (Gt213*gtu31 + Gt223*gtu32)*J32L + (Gt313*gtu31 + Gt323*gtu32)*J33L))
- *PDstandardNth3phi + 2*((gtu21*J11L*J22L + gtu31*(J13L*J21L + J11L*J23L))*PDstandardNth12phi +
- (gtu21*J11L*J32L + gtu31*(J13L*J31L + J11L*J33L))*PDstandardNth13phi +
- J11L*((gtu21*J12L + gtu31*J13L)*PDstandardNth11phi +
- gtu11*(J21L*PDstandardNth12phi + J31L*PDstandardNth13phi)) +
- J12L*(gtu32*J13L*PDstandardNth11phi + gtu21*(J21L*PDstandardNth12phi + J31L*PDstandardNth13phi)) +
- (gtu11*J21L*J31L + (gtu22*J22L + gtu32*J23L)*J32L + (gtu32*J22L + gtu33*J23L)*J33L)*PDstandardNth23phi +
- J22L*((gtu22*J12L + gtu32*J13L)*PDstandardNth12phi + (gtu21*J21L + gtu32*J23L)*PDstandardNth22phi +
- gtu21*J31L*PDstandardNth23phi) +
- J23L*((gtu32*J12L + gtu33*J13L)*PDstandardNth12phi +
- gtu31*(J21L*PDstandardNth22phi + J31L*PDstandardNth23phi)) +
- J32L*((gtu22*J12L + gtu32*J13L)*PDstandardNth13phi + gtu32*J33L*PDstandardNth33phi +
- gtu21*(J21L*PDstandardNth23phi + J31L*PDstandardNth33phi)) +
- J33L*((gtu32*J12L + gtu33*J13L)*PDstandardNth13phi +
- gtu31*(J21L*PDstandardNth23phi + J31L*PDstandardNth33phi)) + dJ312L*gtu21*PDstandardNth3phi) +
- PDstandardNth11phi*(gtu11*SQR(J11L) + gtu22*SQR(J12L) + gtu33*SQR(J13L)) +
- PDstandardNth22phi*(gtu11*SQR(J21L) + gtu22*SQR(J22L) + gtu33*SQR(J23L)) +
- PDstandardNth33phi*(gtu11*SQR(J31L) + gtu22*SQR(J32L) + gtu33*SQR(J33L)))) -
- 4*gt13L*(2*(((gtu11*J21L + gtu21*J22L + gtu31*J23L)*J31L + (gtu21*J21L + gtu22*J22L + gtu32*J23L)*J32L +
- (gtu31*J21L + gtu32*J22L + gtu33*J23L)*J33L)*PDstandardNth2phi*PDstandardNth3phi +
- PDstandardNth1phi*(((gtu11*J11L + gtu21*J12L + gtu31*J13L)*J21L +
- (gtu21*J11L + gtu22*J12L + gtu32*J13L)*J22L + (gtu31*J11L + gtu32*J12L + gtu33*J13L)*J23L)*
- PDstandardNth2phi + ((gtu11*J11L + gtu21*J12L + gtu31*J13L)*J31L +
- (gtu21*J11L + gtu22*J12L + gtu32*J13L)*J32L + (gtu31*J11L + gtu32*J12L + gtu33*J13L)*J33L)*
- PDstandardNth3phi)) + (2*(gtu32*J12L*J13L + J11L*(gtu21*J12L + gtu31*J13L)) + gtu11*SQR(J11L) +
- gtu22*SQR(J12L) + gtu33*SQR(J13L))*SQR(PDstandardNth1phi) +
- (2*(gtu32*J22L*J23L + J21L*(gtu21*J22L + gtu31*J23L)) + gtu11*SQR(J21L) + gtu22*SQR(J22L) + gtu33*SQR(J23L))*
- SQR(PDstandardNth2phi) + (2*(gtu32*J32L*J33L + J31L*(gtu21*J32L + gtu31*J33L)) + gtu11*SQR(J31L) +
- gtu22*SQR(J32L) + gtu33*SQR(J33L))*SQR(PDstandardNth3phi));
-
- Rphi22 = -2*((dJ122L - Gt122*J11L - Gt222*J12L - Gt322*J13L)*PDstandardNth1phi +
+ (dJ313L - Gt113*J31L - Gt213*J32L - Gt313*J33L)*PDstandardNth3phi);
+
+ cdphi222 = fac1*((dJ122L - Gt122*J11L - Gt222*J12L - Gt322*J13L)*PDstandardNth1phi +
2*(J12L*(J22L*PDstandardNth12phi + J32L*PDstandardNth13phi) + J22L*J32L*PDstandardNth23phi) +
(dJ222L - Gt122*J21L - Gt222*J22L - Gt322*J23L)*PDstandardNth2phi +
(dJ322L - Gt122*J31L - Gt222*J32L - Gt322*J33L)*PDstandardNth3phi + PDstandardNth11phi*SQR(J12L) +
- PDstandardNth22phi*SQR(J22L) + PDstandardNth33phi*SQR(J32L) +
- gt22L*((2*(dJ112L*gtu21 + dJ113L*gtu31 + dJ123L*gtu32) + gtu11*(dJ111L - Gt111*J11L - Gt211*J12L - Gt311*J13L) +
- gtu22*(dJ122L - Gt122*J11L - Gt222*J12L - Gt322*J13L) +
- gtu33*(dJ133L - Gt133*J11L - Gt233*J12L - Gt333*J13L) -
- 2*((Gt112*gtu21 + Gt113*gtu31 + Gt123*gtu32)*J11L + (Gt212*gtu21 + Gt213*gtu31 + Gt223*gtu32)*J12L +
- (Gt312*gtu21 + Gt313*gtu31 + Gt323*gtu32)*J13L))*PDstandardNth1phi +
- (2*(dJ212L*gtu21 + dJ213L*gtu31 + dJ223L*gtu32) + gtu11*(dJ211L - Gt111*J21L - Gt211*J22L - Gt311*J23L) +
- gtu22*(dJ222L - Gt122*J21L - Gt222*J22L - Gt322*J23L) +
- gtu33*(dJ233L - Gt133*J21L - Gt233*J22L - Gt333*J23L) -
- 2*((Gt112*gtu21 + Gt113*gtu31 + Gt123*gtu32)*J21L + (Gt212*gtu21 + Gt213*gtu31 + Gt223*gtu32)*J22L +
- (Gt312*gtu21 + Gt313*gtu31 + Gt323*gtu32)*J23L))*PDstandardNth2phi +
- (dJ322L*gtu22 + 2*(dJ313L*gtu31 + dJ323L*gtu32) + (-2*Gt112*gtu21 - Gt122*gtu22)*J31L +
- (-2*Gt212*gtu21 - Gt222*gtu22)*J32L + (-2*Gt312*gtu21 - Gt322*gtu22)*J33L +
- gtu11*(dJ311L - Gt111*J31L - Gt211*J32L - Gt311*J33L) +
- gtu33*(dJ333L - Gt133*J31L - Gt233*J32L - Gt333*J33L) -
- 2*((Gt113*gtu31 + Gt123*gtu32)*J31L + (Gt213*gtu31 + Gt223*gtu32)*J32L + (Gt313*gtu31 + Gt323*gtu32)*J33L))
- *PDstandardNth3phi + 2*((gtu21*J11L*J22L + gtu31*(J13L*J21L + J11L*J23L))*PDstandardNth12phi +
- (gtu21*J11L*J32L + gtu31*(J13L*J31L + J11L*J33L))*PDstandardNth13phi +
- J11L*((gtu21*J12L + gtu31*J13L)*PDstandardNth11phi +
- gtu11*(J21L*PDstandardNth12phi + J31L*PDstandardNth13phi)) +
- J12L*(gtu32*J13L*PDstandardNth11phi + gtu21*(J21L*PDstandardNth12phi + J31L*PDstandardNth13phi)) +
- (gtu11*J21L*J31L + (gtu22*J22L + gtu32*J23L)*J32L + (gtu32*J22L + gtu33*J23L)*J33L)*PDstandardNth23phi +
- J22L*((gtu22*J12L + gtu32*J13L)*PDstandardNth12phi + (gtu21*J21L + gtu32*J23L)*PDstandardNth22phi +
- gtu21*J31L*PDstandardNth23phi) +
- J23L*((gtu32*J12L + gtu33*J13L)*PDstandardNth12phi +
- gtu31*(J21L*PDstandardNth22phi + J31L*PDstandardNth23phi)) +
- J32L*((gtu22*J12L + gtu32*J13L)*PDstandardNth13phi + gtu32*J33L*PDstandardNth33phi +
- gtu21*(J21L*PDstandardNth23phi + J31L*PDstandardNth33phi)) +
- J33L*((gtu32*J12L + gtu33*J13L)*PDstandardNth13phi +
- gtu31*(J21L*PDstandardNth23phi + J31L*PDstandardNth33phi)) + dJ312L*gtu21*PDstandardNth3phi) +
- PDstandardNth11phi*(gtu11*SQR(J11L) + gtu22*SQR(J12L) + gtu33*SQR(J13L)) +
- PDstandardNth22phi*(gtu11*SQR(J21L) + gtu22*SQR(J22L) + gtu33*SQR(J23L)) +
- PDstandardNth33phi*(gtu11*SQR(J31L) + gtu22*SQR(J32L) + gtu33*SQR(J33L)))) -
- 4*gt22L*(2*(((gtu11*J21L + gtu21*J22L + gtu31*J23L)*J31L + (gtu21*J21L + gtu22*J22L + gtu32*J23L)*J32L +
- (gtu31*J21L + gtu32*J22L + gtu33*J23L)*J33L)*PDstandardNth2phi*PDstandardNth3phi +
- PDstandardNth1phi*(((gtu11*J11L + gtu21*J12L + gtu31*J13L)*J21L +
- (gtu21*J11L + gtu22*J12L + gtu32*J13L)*J22L + (gtu31*J11L + gtu32*J12L + gtu33*J13L)*J23L)*
- PDstandardNth2phi + ((gtu11*J11L + gtu21*J12L + gtu31*J13L)*J31L +
- (gtu21*J11L + gtu22*J12L + gtu32*J13L)*J32L + (gtu31*J11L + gtu32*J12L + gtu33*J13L)*J33L)*
- PDstandardNth3phi)) + (2*(gtu32*J12L*J13L + J11L*(gtu21*J12L + gtu31*J13L)) + gtu11*SQR(J11L) +
- gtu22*SQR(J12L) + gtu33*SQR(J13L))*SQR(PDstandardNth1phi) +
- (2*(gtu32*J22L*J23L + J21L*(gtu21*J22L + gtu31*J23L)) + gtu11*SQR(J21L) + gtu22*SQR(J22L) + gtu33*SQR(J23L))*
- SQR(PDstandardNth2phi) + (2*(gtu32*J32L*J33L + J31L*(gtu21*J32L + gtu31*J33L)) + gtu11*SQR(J31L) +
- gtu22*SQR(J32L) + gtu33*SQR(J33L))*SQR(PDstandardNth3phi)) +
- 4*SQR(J12L*PDstandardNth1phi + J22L*PDstandardNth2phi + J32L*PDstandardNth3phi);
-
- Rphi23 = 4*(J12L*PDstandardNth1phi + J22L*PDstandardNth2phi + J32L*PDstandardNth3phi)*
- (J13L*PDstandardNth1phi + J23L*PDstandardNth2phi + J33L*PDstandardNth3phi) -
- 2*(J13L*(J12L*PDstandardNth11phi + J22L*PDstandardNth12phi + J32L*PDstandardNth13phi) +
+ PDstandardNth22phi*SQR(J22L) + PDstandardNth33phi*SQR(J32L)) +
+ fac2*SQR(J12L*PDstandardNth1phi + J22L*PDstandardNth2phi + J32L*PDstandardNth3phi);
+
+ cdphi223 = fac2*(J12L*PDstandardNth1phi + J22L*PDstandardNth2phi + J32L*PDstandardNth3phi)*
+ (J13L*PDstandardNth1phi + J23L*PDstandardNth2phi + J33L*PDstandardNth3phi) +
+ fac1*(J13L*(J12L*PDstandardNth11phi + J22L*PDstandardNth12phi + J32L*PDstandardNth13phi) +
J12L*(J23L*PDstandardNth12phi + J33L*PDstandardNth13phi) +
(dJ123L - Gt123*J11L - Gt223*J12L - Gt323*J13L)*PDstandardNth1phi +
J23L*(J22L*PDstandardNth22phi + J32L*PDstandardNth23phi) +
(dJ223L - Gt123*J21L - Gt223*J22L - Gt323*J23L)*PDstandardNth2phi +
J33L*(J22L*PDstandardNth23phi + J32L*PDstandardNth33phi) +
- (dJ323L - Gt123*J31L - Gt223*J32L - Gt323*J33L)*PDstandardNth3phi +
- gt23L*((2*(dJ112L*gtu21 + dJ113L*gtu31 + dJ123L*gtu32) + gtu11*(dJ111L - Gt111*J11L - Gt211*J12L - Gt311*J13L) +
- gtu22*(dJ122L - Gt122*J11L - Gt222*J12L - Gt322*J13L) +
- gtu33*(dJ133L - Gt133*J11L - Gt233*J12L - Gt333*J13L) -
- 2*((Gt112*gtu21 + Gt113*gtu31 + Gt123*gtu32)*J11L + (Gt212*gtu21 + Gt213*gtu31 + Gt223*gtu32)*J12L +
- (Gt312*gtu21 + Gt313*gtu31 + Gt323*gtu32)*J13L))*PDstandardNth1phi +
- (2*(dJ212L*gtu21 + dJ213L*gtu31 + dJ223L*gtu32) + gtu11*(dJ211L - Gt111*J21L - Gt211*J22L - Gt311*J23L) +
- gtu22*(dJ222L - Gt122*J21L - Gt222*J22L - Gt322*J23L) +
- gtu33*(dJ233L - Gt133*J21L - Gt233*J22L - Gt333*J23L) -
- 2*((Gt112*gtu21 + Gt113*gtu31 + Gt123*gtu32)*J21L + (Gt212*gtu21 + Gt213*gtu31 + Gt223*gtu32)*J22L +
- (Gt312*gtu21 + Gt313*gtu31 + Gt323*gtu32)*J23L))*PDstandardNth2phi +
- (dJ322L*gtu22 + 2*(dJ313L*gtu31 + dJ323L*gtu32) + (-2*Gt112*gtu21 - Gt122*gtu22)*J31L +
- (-2*Gt212*gtu21 - Gt222*gtu22)*J32L + (-2*Gt312*gtu21 - Gt322*gtu22)*J33L +
- gtu11*(dJ311L - Gt111*J31L - Gt211*J32L - Gt311*J33L) +
- gtu33*(dJ333L - Gt133*J31L - Gt233*J32L - Gt333*J33L) -
- 2*((Gt113*gtu31 + Gt123*gtu32)*J31L + (Gt213*gtu31 + Gt223*gtu32)*J32L + (Gt313*gtu31 + Gt323*gtu32)*J33L))
- *PDstandardNth3phi + 2*((gtu21*J11L*J22L + gtu31*(J13L*J21L + J11L*J23L))*PDstandardNth12phi +
- (gtu21*J11L*J32L + gtu31*(J13L*J31L + J11L*J33L))*PDstandardNth13phi +
- J11L*((gtu21*J12L + gtu31*J13L)*PDstandardNth11phi +
- gtu11*(J21L*PDstandardNth12phi + J31L*PDstandardNth13phi)) +
- J12L*(gtu32*J13L*PDstandardNth11phi + gtu21*(J21L*PDstandardNth12phi + J31L*PDstandardNth13phi)) +
- (gtu11*J21L*J31L + (gtu22*J22L + gtu32*J23L)*J32L + (gtu32*J22L + gtu33*J23L)*J33L)*PDstandardNth23phi +
- J22L*((gtu22*J12L + gtu32*J13L)*PDstandardNth12phi + (gtu21*J21L + gtu32*J23L)*PDstandardNth22phi +
- gtu21*J31L*PDstandardNth23phi) +
- J23L*((gtu32*J12L + gtu33*J13L)*PDstandardNth12phi +
- gtu31*(J21L*PDstandardNth22phi + J31L*PDstandardNth23phi)) +
- J32L*((gtu22*J12L + gtu32*J13L)*PDstandardNth13phi + gtu32*J33L*PDstandardNth33phi +
- gtu21*(J21L*PDstandardNth23phi + J31L*PDstandardNth33phi)) +
- J33L*((gtu32*J12L + gtu33*J13L)*PDstandardNth13phi +
- gtu31*(J21L*PDstandardNth23phi + J31L*PDstandardNth33phi)) + dJ312L*gtu21*PDstandardNth3phi) +
- PDstandardNth11phi*(gtu11*SQR(J11L) + gtu22*SQR(J12L) + gtu33*SQR(J13L)) +
- PDstandardNth22phi*(gtu11*SQR(J21L) + gtu22*SQR(J22L) + gtu33*SQR(J23L)) +
- PDstandardNth33phi*(gtu11*SQR(J31L) + gtu22*SQR(J32L) + gtu33*SQR(J33L)))) -
- 4*gt23L*(2*(((gtu11*J21L + gtu21*J22L + gtu31*J23L)*J31L + (gtu21*J21L + gtu22*J22L + gtu32*J23L)*J32L +
- (gtu31*J21L + gtu32*J22L + gtu33*J23L)*J33L)*PDstandardNth2phi*PDstandardNth3phi +
- PDstandardNth1phi*(((gtu11*J11L + gtu21*J12L + gtu31*J13L)*J21L +
- (gtu21*J11L + gtu22*J12L + gtu32*J13L)*J22L + (gtu31*J11L + gtu32*J12L + gtu33*J13L)*J23L)*
- PDstandardNth2phi + ((gtu11*J11L + gtu21*J12L + gtu31*J13L)*J31L +
- (gtu21*J11L + gtu22*J12L + gtu32*J13L)*J32L + (gtu31*J11L + gtu32*J12L + gtu33*J13L)*J33L)*
- PDstandardNth3phi)) + (2*(gtu32*J12L*J13L + J11L*(gtu21*J12L + gtu31*J13L)) + gtu11*SQR(J11L) +
- gtu22*SQR(J12L) + gtu33*SQR(J13L))*SQR(PDstandardNth1phi) +
- (2*(gtu32*J22L*J23L + J21L*(gtu21*J22L + gtu31*J23L)) + gtu11*SQR(J21L) + gtu22*SQR(J22L) + gtu33*SQR(J23L))*
- SQR(PDstandardNth2phi) + (2*(gtu32*J32L*J33L + J31L*(gtu21*J32L + gtu31*J33L)) + gtu11*SQR(J31L) +
- gtu22*SQR(J32L) + gtu33*SQR(J33L))*SQR(PDstandardNth3phi));
-
- Rphi33 = -2*((dJ133L - Gt133*J11L - Gt233*J12L - Gt333*J13L)*PDstandardNth1phi +
+ (dJ323L - Gt123*J31L - Gt223*J32L - Gt323*J33L)*PDstandardNth3phi);
+
+ cdphi233 = fac1*((dJ133L - Gt133*J11L - Gt233*J12L - Gt333*J13L)*PDstandardNth1phi +
2*(J13L*(J23L*PDstandardNth12phi + J33L*PDstandardNth13phi) + J23L*J33L*PDstandardNth23phi) +
(dJ233L - Gt133*J21L - Gt233*J22L - Gt333*J23L)*PDstandardNth2phi +
(dJ333L - Gt133*J31L - Gt233*J32L - Gt333*J33L)*PDstandardNth3phi + PDstandardNth11phi*SQR(J13L) +
- PDstandardNth22phi*SQR(J23L) + PDstandardNth33phi*SQR(J33L) +
- gt33L*((2*(dJ112L*gtu21 + dJ113L*gtu31 + dJ123L*gtu32) + gtu11*(dJ111L - Gt111*J11L - Gt211*J12L - Gt311*J13L) +
- gtu22*(dJ122L - Gt122*J11L - Gt222*J12L - Gt322*J13L) +
- gtu33*(dJ133L - Gt133*J11L - Gt233*J12L - Gt333*J13L) -
- 2*((Gt112*gtu21 + Gt113*gtu31 + Gt123*gtu32)*J11L + (Gt212*gtu21 + Gt213*gtu31 + Gt223*gtu32)*J12L +
- (Gt312*gtu21 + Gt313*gtu31 + Gt323*gtu32)*J13L))*PDstandardNth1phi +
- (2*(dJ212L*gtu21 + dJ213L*gtu31 + dJ223L*gtu32) + gtu11*(dJ211L - Gt111*J21L - Gt211*J22L - Gt311*J23L) +
- gtu22*(dJ222L - Gt122*J21L - Gt222*J22L - Gt322*J23L) +
- gtu33*(dJ233L - Gt133*J21L - Gt233*J22L - Gt333*J23L) -
- 2*((Gt112*gtu21 + Gt113*gtu31 + Gt123*gtu32)*J21L + (Gt212*gtu21 + Gt213*gtu31 + Gt223*gtu32)*J22L +
- (Gt312*gtu21 + Gt313*gtu31 + Gt323*gtu32)*J23L))*PDstandardNth2phi +
- (dJ322L*gtu22 + 2*(dJ313L*gtu31 + dJ323L*gtu32) + (-2*Gt112*gtu21 - Gt122*gtu22)*J31L +
- (-2*Gt212*gtu21 - Gt222*gtu22)*J32L + (-2*Gt312*gtu21 - Gt322*gtu22)*J33L +
- gtu11*(dJ311L - Gt111*J31L - Gt211*J32L - Gt311*J33L) +
- gtu33*(dJ333L - Gt133*J31L - Gt233*J32L - Gt333*J33L) -
- 2*((Gt113*gtu31 + Gt123*gtu32)*J31L + (Gt213*gtu31 + Gt223*gtu32)*J32L + (Gt313*gtu31 + Gt323*gtu32)*J33L))
- *PDstandardNth3phi + 2*((gtu21*J11L*J22L + gtu31*(J13L*J21L + J11L*J23L))*PDstandardNth12phi +
- (gtu21*J11L*J32L + gtu31*(J13L*J31L + J11L*J33L))*PDstandardNth13phi +
- J11L*((gtu21*J12L + gtu31*J13L)*PDstandardNth11phi +
- gtu11*(J21L*PDstandardNth12phi + J31L*PDstandardNth13phi)) +
- J12L*(gtu32*J13L*PDstandardNth11phi + gtu21*(J21L*PDstandardNth12phi + J31L*PDstandardNth13phi)) +
- (gtu11*J21L*J31L + (gtu22*J22L + gtu32*J23L)*J32L + (gtu32*J22L + gtu33*J23L)*J33L)*PDstandardNth23phi +
- J22L*((gtu22*J12L + gtu32*J13L)*PDstandardNth12phi + (gtu21*J21L + gtu32*J23L)*PDstandardNth22phi +
- gtu21*J31L*PDstandardNth23phi) +
- J23L*((gtu32*J12L + gtu33*J13L)*PDstandardNth12phi +
- gtu31*(J21L*PDstandardNth22phi + J31L*PDstandardNth23phi)) +
- J32L*((gtu22*J12L + gtu32*J13L)*PDstandardNth13phi + gtu32*J33L*PDstandardNth33phi +
- gtu21*(J21L*PDstandardNth23phi + J31L*PDstandardNth33phi)) +
- J33L*((gtu32*J12L + gtu33*J13L)*PDstandardNth13phi +
- gtu31*(J21L*PDstandardNth23phi + J31L*PDstandardNth33phi)) + dJ312L*gtu21*PDstandardNth3phi) +
- PDstandardNth11phi*(gtu11*SQR(J11L) + gtu22*SQR(J12L) + gtu33*SQR(J13L)) +
- PDstandardNth22phi*(gtu11*SQR(J21L) + gtu22*SQR(J22L) + gtu33*SQR(J23L)) +
- PDstandardNth33phi*(gtu11*SQR(J31L) + gtu22*SQR(J32L) + gtu33*SQR(J33L)))) -
- 4*gt33L*(2*(((gtu11*J21L + gtu21*J22L + gtu31*J23L)*J31L + (gtu21*J21L + gtu22*J22L + gtu32*J23L)*J32L +
- (gtu31*J21L + gtu32*J22L + gtu33*J23L)*J33L)*PDstandardNth2phi*PDstandardNth3phi +
- PDstandardNth1phi*(((gtu11*J11L + gtu21*J12L + gtu31*J13L)*J21L +
- (gtu21*J11L + gtu22*J12L + gtu32*J13L)*J22L + (gtu31*J11L + gtu32*J12L + gtu33*J13L)*J23L)*
- PDstandardNth2phi + ((gtu11*J11L + gtu21*J12L + gtu31*J13L)*J31L +
- (gtu21*J11L + gtu22*J12L + gtu32*J13L)*J32L + (gtu31*J11L + gtu32*J12L + gtu33*J13L)*J33L)*
- PDstandardNth3phi)) + (2*(gtu32*J12L*J13L + J11L*(gtu21*J12L + gtu31*J13L)) + gtu11*SQR(J11L) +
- gtu22*SQR(J12L) + gtu33*SQR(J13L))*SQR(PDstandardNth1phi) +
- (2*(gtu32*J22L*J23L + J21L*(gtu21*J22L + gtu31*J23L)) + gtu11*SQR(J21L) + gtu22*SQR(J22L) + gtu33*SQR(J23L))*
- SQR(PDstandardNth2phi) + (2*(gtu32*J32L*J33L + J31L*(gtu21*J32L + gtu31*J33L)) + gtu11*SQR(J31L) +
- gtu22*SQR(J32L) + gtu33*SQR(J33L))*SQR(PDstandardNth3phi)) +
- 4*SQR(J13L*PDstandardNth1phi + J23L*PDstandardNth2phi + J33L*PDstandardNth3phi);
-
- e4phi = exp(4*phiL);
+ PDstandardNth22phi*SQR(J23L) + PDstandardNth33phi*SQR(J33L)) +
+ fac2*SQR(J13L*PDstandardNth1phi + J23L*PDstandardNth2phi + J33L*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);
@@ -1228,85 +1012,65 @@ void ML_BSSN_MP_constraints_Body(cGH const * const cctkGH, CCTK_INT const dir, C
HL = -2*(Atm12*Atm21 + Atm13*Atm31 + Atm23*Atm32) + trR - SQR(Atm11) - SQR(Atm22) - SQR(Atm33) + ktwothird*SQR(trKL);
- M1L = gtu11*(-2*At11L*Gt111 - 2*At12L*Gt211 - 2*At13L*Gt311 + J11L*PDstandardNth1At11 +
- 6*At11L*J11L*PDstandardNth1phi + J21L*PDstandardNth2At11 + 6*At11L*J21L*PDstandardNth2phi +
- J31L*PDstandardNth3At11 + 6*At11L*J31L*PDstandardNth3phi) -
- gtu21*(At12L*Gt111 + At11L*Gt112 + At22L*Gt211 + At12L*Gt212 + At23L*Gt311 + At13L*Gt312 -
- J11L*PDstandardNth1At12 - 6*At12L*J11L*PDstandardNth1phi - J21L*PDstandardNth2At12 -
- 6*At12L*J21L*PDstandardNth2phi - J31L*PDstandardNth3At12 - 6*At12L*J31L*PDstandardNth3phi) -
- gtu31*(At13L*Gt111 + At11L*Gt113 + At23L*Gt211 + At12L*Gt213 + At33L*Gt311 + At13L*Gt313 -
- J11L*PDstandardNth1At13 - 6*At13L*J11L*PDstandardNth1phi - J21L*PDstandardNth2At13 -
- 6*At13L*J21L*PDstandardNth2phi - J31L*PDstandardNth3At13 - 6*At13L*J31L*PDstandardNth3phi) +
- gtu21*(-2*At11L*Gt112 - 2*At12L*Gt212 - 2*At13L*Gt312 + J12L*PDstandardNth1At11 + 6*At11L*J12L*PDstandardNth1phi +
- J22L*PDstandardNth2At11 + 6*At11L*J22L*PDstandardNth2phi + J32L*PDstandardNth3At11 +
- 6*At11L*J32L*PDstandardNth3phi) - gtu22*(At12L*Gt112 + At11L*Gt122 + At22L*Gt212 + At12L*Gt222 + At23L*Gt312 +
- At13L*Gt322 - J12L*PDstandardNth1At12 - 6*At12L*J12L*PDstandardNth1phi - J22L*PDstandardNth2At12 -
- 6*At12L*J22L*PDstandardNth2phi - J32L*PDstandardNth3At12 - 6*At12L*J32L*PDstandardNth3phi) -
- gtu32*(At13L*Gt112 + At11L*Gt123 + At23L*Gt212 + At12L*Gt223 + At33L*Gt312 + At13L*Gt323 -
- J12L*PDstandardNth1At13 - 6*At13L*J12L*PDstandardNth1phi - J22L*PDstandardNth2At13 -
- 6*At13L*J22L*PDstandardNth2phi - J32L*PDstandardNth3At13 - 6*At13L*J32L*PDstandardNth3phi) +
- gtu31*(-2*At11L*Gt113 - 2*At12L*Gt213 - 2*At13L*Gt313 + J13L*PDstandardNth1At11 + 6*At11L*J13L*PDstandardNth1phi +
- J23L*PDstandardNth2At11 + 6*At11L*J23L*PDstandardNth2phi + J33L*PDstandardNth3At11 +
- 6*At11L*J33L*PDstandardNth3phi) - gtu32*(At12L*Gt113 + At11L*Gt123 + At22L*Gt213 + At12L*Gt223 + At23L*Gt313 +
- At13L*Gt323 - J13L*PDstandardNth1At12 - 6*At12L*J13L*PDstandardNth1phi - J23L*PDstandardNth2At12 -
- 6*At12L*J23L*PDstandardNth2phi - J33L*PDstandardNth3At12 - 6*At12L*J33L*PDstandardNth3phi) -
- gtu33*(At13L*Gt113 + At11L*Gt133 + At23L*Gt213 + At12L*Gt233 + At33L*Gt313 + At13L*Gt333 -
- J13L*PDstandardNth1At13 - 6*At13L*J13L*PDstandardNth1phi - J23L*PDstandardNth2At13 -
- 6*At13L*J23L*PDstandardNth2phi - J33L*PDstandardNth3At13 - 6*At13L*J33L*PDstandardNth3phi) -
- ktwothird*(J11L*PDstandardNth1trK + J21L*PDstandardNth2trK + J31L*PDstandardNth3trK);
-
- M2L = -(gtu11*(At12L*Gt111 + At11L*Gt112 + At22L*Gt211 + At12L*Gt212 + At23L*Gt311 + At13L*Gt312 -
- J11L*PDstandardNth1At12 - 6*At12L*J11L*PDstandardNth1phi - J21L*PDstandardNth2At12 -
- 6*At12L*J21L*PDstandardNth2phi - J31L*PDstandardNth3At12 - 6*At12L*J31L*PDstandardNth3phi)) +
- gtu21*(-2*At12L*Gt112 - 2*At22L*Gt212 - 2*At23L*Gt312 + J11L*PDstandardNth1At22 + 6*At22L*J11L*PDstandardNth1phi +
- J21L*PDstandardNth2At22 + 6*At22L*J21L*PDstandardNth2phi + J31L*PDstandardNth3At22 +
- 6*At22L*J31L*PDstandardNth3phi) - gtu31*(At13L*Gt112 + At12L*Gt113 + At23L*Gt212 + At22L*Gt213 + At33L*Gt312 +
- At23L*Gt313 - J11L*PDstandardNth1At23 - 6*At23L*J11L*PDstandardNth1phi - J21L*PDstandardNth2At23 -
- 6*At23L*J21L*PDstandardNth2phi - J31L*PDstandardNth3At23 - 6*At23L*J31L*PDstandardNth3phi) -
- gtu21*(At12L*Gt112 + At11L*Gt122 + At22L*Gt212 + At12L*Gt222 + At23L*Gt312 + At13L*Gt322 -
- J12L*PDstandardNth1At12 - 6*At12L*J12L*PDstandardNth1phi - J22L*PDstandardNth2At12 -
- 6*At12L*J22L*PDstandardNth2phi - J32L*PDstandardNth3At12 - 6*At12L*J32L*PDstandardNth3phi) +
- gtu22*(-2*At12L*Gt122 - 2*At22L*Gt222 - 2*At23L*Gt322 + J12L*PDstandardNth1At22 + 6*At22L*J12L*PDstandardNth1phi +
- J22L*PDstandardNth2At22 + 6*At22L*J22L*PDstandardNth2phi + J32L*PDstandardNth3At22 +
- 6*At22L*J32L*PDstandardNth3phi) - gtu32*(At13L*Gt122 + At12L*Gt123 + At23L*Gt222 + At22L*Gt223 + At33L*Gt322 +
- At23L*Gt323 - J12L*PDstandardNth1At23 - 6*At23L*J12L*PDstandardNth1phi - J22L*PDstandardNth2At23 -
- 6*At23L*J22L*PDstandardNth2phi - J32L*PDstandardNth3At23 - 6*At23L*J32L*PDstandardNth3phi) -
- gtu31*(At12L*Gt113 + At11L*Gt123 + At22L*Gt213 + At12L*Gt223 + At23L*Gt313 + At13L*Gt323 -
- J13L*PDstandardNth1At12 - 6*At12L*J13L*PDstandardNth1phi - J23L*PDstandardNth2At12 -
- 6*At12L*J23L*PDstandardNth2phi - J33L*PDstandardNth3At12 - 6*At12L*J33L*PDstandardNth3phi) +
- gtu32*(-2*At12L*Gt123 - 2*At22L*Gt223 - 2*At23L*Gt323 + J13L*PDstandardNth1At22 + 6*At22L*J13L*PDstandardNth1phi +
- J23L*PDstandardNth2At22 + 6*At22L*J23L*PDstandardNth2phi + J33L*PDstandardNth3At22 +
- 6*At22L*J33L*PDstandardNth3phi) - gtu33*(At13L*Gt123 + At12L*Gt133 + At23L*Gt223 + At22L*Gt233 + At33L*Gt323 +
- At23L*Gt333 - J13L*PDstandardNth1At23 - 6*At23L*J13L*PDstandardNth1phi - J23L*PDstandardNth2At23 -
- 6*At23L*J23L*PDstandardNth2phi - J33L*PDstandardNth3At23 - 6*At23L*J33L*PDstandardNth3phi) -
- ktwothird*(J12L*PDstandardNth1trK + J22L*PDstandardNth2trK + J32L*PDstandardNth3trK);
-
- M3L = -(gtu11*(At13L*Gt111 + At11L*Gt113 + At23L*Gt211 + At12L*Gt213 + At33L*Gt311 + At13L*Gt313 -
- J11L*PDstandardNth1At13 - 6*At13L*J11L*PDstandardNth1phi - J21L*PDstandardNth2At13 -
- 6*At13L*J21L*PDstandardNth2phi - J31L*PDstandardNth3At13 - 6*At13L*J31L*PDstandardNth3phi)) -
- gtu21*(At13L*Gt112 + At12L*Gt113 + At23L*Gt212 + At22L*Gt213 + At33L*Gt312 + At23L*Gt313 -
- J11L*PDstandardNth1At23 - 6*At23L*J11L*PDstandardNth1phi - J21L*PDstandardNth2At23 -
- 6*At23L*J21L*PDstandardNth2phi - J31L*PDstandardNth3At23 - 6*At23L*J31L*PDstandardNth3phi) +
- gtu31*(-2*At13L*Gt113 - 2*At23L*Gt213 - 2*At33L*Gt313 + J11L*PDstandardNth1At33 + 6*At33L*J11L*PDstandardNth1phi +
- J21L*PDstandardNth2At33 + 6*At33L*J21L*PDstandardNth2phi + J31L*PDstandardNth3At33 +
- 6*At33L*J31L*PDstandardNth3phi) - gtu21*(At13L*Gt112 + At11L*Gt123 + At23L*Gt212 + At12L*Gt223 + At33L*Gt312 +
- At13L*Gt323 - J12L*PDstandardNth1At13 - 6*At13L*J12L*PDstandardNth1phi - J22L*PDstandardNth2At13 -
- 6*At13L*J22L*PDstandardNth2phi - J32L*PDstandardNth3At13 - 6*At13L*J32L*PDstandardNth3phi) -
- gtu22*(At13L*Gt122 + At12L*Gt123 + At23L*Gt222 + At22L*Gt223 + At33L*Gt322 + At23L*Gt323 -
- J12L*PDstandardNth1At23 - 6*At23L*J12L*PDstandardNth1phi - J22L*PDstandardNth2At23 -
- 6*At23L*J22L*PDstandardNth2phi - J32L*PDstandardNth3At23 - 6*At23L*J32L*PDstandardNth3phi) +
- gtu32*(-2*At13L*Gt123 - 2*At23L*Gt223 - 2*At33L*Gt323 + J12L*PDstandardNth1At33 + 6*At33L*J12L*PDstandardNth1phi +
- J22L*PDstandardNth2At33 + 6*At33L*J22L*PDstandardNth2phi + J32L*PDstandardNth3At33 +
- 6*At33L*J32L*PDstandardNth3phi) - gtu31*(At13L*Gt113 + At11L*Gt133 + At23L*Gt213 + At12L*Gt233 + At33L*Gt313 +
- At13L*Gt333 - J13L*PDstandardNth1At13 - 6*At13L*J13L*PDstandardNth1phi - J23L*PDstandardNth2At13 -
- 6*At13L*J23L*PDstandardNth2phi - J33L*PDstandardNth3At13 - 6*At13L*J33L*PDstandardNth3phi) -
- gtu32*(At13L*Gt123 + At12L*Gt133 + At23L*Gt223 + At22L*Gt233 + At33L*Gt323 + At23L*Gt333 -
- J13L*PDstandardNth1At23 - 6*At23L*J13L*PDstandardNth1phi - J23L*PDstandardNth2At23 -
- 6*At23L*J23L*PDstandardNth2phi - J33L*PDstandardNth3At23 - 6*At23L*J33L*PDstandardNth3phi) +
- gtu33*(-2*At13L*Gt133 - 2*At23L*Gt233 - 2*At33L*Gt333 + J13L*PDstandardNth1At33 + 6*At33L*J13L*PDstandardNth1phi +
- J23L*PDstandardNth2At33 + 6*At33L*J23L*PDstandardNth2phi + J33L*PDstandardNth3At33 +
- 6*At33L*J33L*PDstandardNth3phi) - ktwothird*
- (J13L*PDstandardNth1trK + J23L*PDstandardNth2trK + J33L*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*J11L + gtu21*J12L + gtu31*J13L)*PDstandardNth1At11 +
+ gtu22*J12L*PDstandardNth1At12 + gtu32*J13L*PDstandardNth1At12 +
+ gtu21*(-3*At11L*Gt112 - At22L*Gt211 - 3*At12L*Gt212 - At23L*Gt311 - 3*At13L*Gt312 + J11L*PDstandardNth1At12) +
+ gtu31*J11L*PDstandardNth1At13 + gtu32*J12L*PDstandardNth1At13 + gtu33*J13L*PDstandardNth1At13 -
+ J11L*ktwothird*PDstandardNth1trK + (gtu11*J21L + gtu21*J22L + gtu31*J23L)*PDstandardNth2At11 +
+ gtu21*J21L*PDstandardNth2At12 + gtu22*J22L*PDstandardNth2At12 + gtu32*J23L*PDstandardNth2At12 +
+ gtu31*J21L*PDstandardNth2At13 + gtu32*J22L*PDstandardNth2At13 + gtu33*J23L*PDstandardNth2At13 -
+ J21L*ktwothird*PDstandardNth2trK + gtu11*J31L*PDstandardNth3At11 + gtu21*J32L*PDstandardNth3At11 +
+ gtu31*J33L*PDstandardNth3At11 + gtu21*J31L*PDstandardNth3At12 + gtu22*J32L*PDstandardNth3At12 +
+ gtu32*J33L*PDstandardNth3At12 + gtu31*J31L*PDstandardNth3At13 + gtu32*J32L*PDstandardNth3At13 +
+ gtu33*J33L*PDstandardNth3At13 - J31L*ktwothird*PDstandardNth3trK;
+
+ 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*J11L + gtu21*J12L + gtu31*J13L)*PDstandardNth1At12 + gtu21*J11L*PDstandardNth1At22 +
+ gtu22*J12L*PDstandardNth1At22 + gtu32*J13L*PDstandardNth1At22 + gtu31*J11L*PDstandardNth1At23 +
+ gtu32*J12L*PDstandardNth1At23 + gtu33*J13L*PDstandardNth1At23 - J12L*ktwothird*PDstandardNth1trK +
+ (gtu11*J21L + gtu21*J22L + gtu31*J23L)*PDstandardNth2At12 + gtu21*J21L*PDstandardNth2At22 +
+ gtu22*J22L*PDstandardNth2At22 + gtu32*J23L*PDstandardNth2At22 + gtu31*J21L*PDstandardNth2At23 +
+ gtu32*J22L*PDstandardNth2At23 + gtu33*J23L*PDstandardNth2At23 - J22L*ktwothird*PDstandardNth2trK +
+ gtu11*J31L*PDstandardNth3At12 + gtu21*J32L*PDstandardNth3At12 + gtu31*J33L*PDstandardNth3At12 +
+ gtu21*J31L*PDstandardNth3At22 + gtu22*J32L*PDstandardNth3At22 + gtu32*J33L*PDstandardNth3At22 +
+ gtu31*J31L*PDstandardNth3At23 + gtu32*J32L*PDstandardNth3At23 + gtu33*J33L*PDstandardNth3At23 -
+ J32L*ktwothird*PDstandardNth3trK;
+
+ 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*J11L + gtu21*J12L + gtu31*J13L)*PDstandardNth1At13 + gtu21*J11L*PDstandardNth1At23 +
+ gtu22*J12L*PDstandardNth1At23 + gtu32*J13L*PDstandardNth1At23 + gtu31*J11L*PDstandardNth1At33 +
+ gtu32*J12L*PDstandardNth1At33 + gtu33*J13L*PDstandardNth1At33 - J13L*ktwothird*PDstandardNth1trK +
+ (gtu11*J21L + gtu21*J22L + gtu31*J23L)*PDstandardNth2At13 + gtu21*J21L*PDstandardNth2At23 +
+ gtu22*J22L*PDstandardNth2At23 + gtu32*J23L*PDstandardNth2At23 + gtu31*J21L*PDstandardNth2At33 +
+ gtu32*J22L*PDstandardNth2At33 + gtu33*J23L*PDstandardNth2At33 - J23L*ktwothird*PDstandardNth2trK +
+ gtu11*J31L*PDstandardNth3At13 + gtu21*J32L*PDstandardNth3At13 + gtu31*J33L*PDstandardNth3At13 +
+ gtu21*J31L*PDstandardNth3At23 + gtu22*J32L*PDstandardNth3At23 + gtu32*J33L*PDstandardNth3At23 +
+ gtu31*J31L*PDstandardNth3At33 + gtu32*J32L*PDstandardNth3At33 + gtu33*J33L*PDstandardNth3At33 -
+ J33L*ktwothird*PDstandardNth3trK;
cSL = Log(detgt);
diff --git a/ML_BSSN_MP/src/ML_BSSN_MP_constraints_boundary.c b/ML_BSSN_MP/src/ML_BSSN_MP_constraints_boundary.c
index fe72526..6de3c8a 100644
--- a/ML_BSSN_MP/src/ML_BSSN_MP_constraints_boundary.c
+++ b/ML_BSSN_MP/src/ML_BSSN_MP_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_MP/src/ML_BSSN_MP_convertFromADMBase.c b/ML_BSSN_MP/src/ML_BSSN_MP_convertFromADMBase.c
index 53b1366..185a465 100644
--- a/ML_BSSN_MP/src/ML_BSSN_MP_convertFromADMBase.c
+++ b/ML_BSSN_MP/src/ML_BSSN_MP_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_MP_convertFromADMBase_Body(cGH const * const cctkGH, CCTK_INT const
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_MP/src/ML_BSSN_MP_convertFromADMBaseGamma.c b/ML_BSSN_MP/src/ML_BSSN_MP_convertFromADMBaseGamma.c
index e6c8836..5033669 100644
--- a/ML_BSSN_MP/src/ML_BSSN_MP_convertFromADMBaseGamma.c
+++ b/ML_BSSN_MP/src/ML_BSSN_MP_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_MP/src/ML_BSSN_MP_convertToADMBase.c b/ML_BSSN_MP/src/ML_BSSN_MP_convertToADMBase.c
index 3a549d8..dd263f7 100644
--- a/ML_BSSN_MP/src/ML_BSSN_MP_convertToADMBase.c
+++ b/ML_BSSN_MP/src/ML_BSSN_MP_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
@@ -189,7 +192,7 @@ void ML_BSSN_MP_convertToADMBase_Body(cGH const * const cctkGH, CCTK_INT const d
dir3 = Sign(beta3L);
- e4phi = exp(4*phiL);
+ e4phi = IfThen(conformalmethod,pow(phiL,-2),exp(4*phiL));
g11 = e4phi*gt11L;
diff --git a/ML_BSSN_MP/src/ML_BSSN_MP_enforce.c b/ML_BSSN_MP/src/ML_BSSN_MP_enforce.c
index 3b8364e..b33a381 100644
--- a/ML_BSSN_MP/src/ML_BSSN_MP_enforce.c
+++ b/ML_BSSN_MP/src/ML_BSSN_MP_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_MP_enforce_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK_
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_MP_enforce_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK_
/* 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_MP_enforce_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK_
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_MP/src/RegisterMoL.c b/ML_BSSN_MP/src/RegisterMoL.c
index c92e848..38a9daa 100644
--- a/ML_BSSN_MP/src/RegisterMoL.c
+++ b/ML_BSSN_MP/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_MP/src/RegisterSymmetries.c b/ML_BSSN_MP/src/RegisterSymmetries.c
index e2081a6..9deac3b 100644
--- a/ML_BSSN_MP/src/RegisterSymmetries.c
+++ b/ML_BSSN_MP/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_MP/src/Startup.c b/ML_BSSN_MP/src/Startup.c
index 98a9498..ef671de 100644
--- a/ML_BSSN_MP/src/Startup.c
+++ b/ML_BSSN_MP/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_MP/src/make.code.defn b/ML_BSSN_MP/src/make.code.defn
index 3af787e..5d7cbfc 100644
--- a/ML_BSSN_MP/src/make.code.defn
+++ b/ML_BSSN_MP/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_MP_Minkowski.c ML_BSSN_MP_convertFromADMBase.c ML_BSSN_MP_convertFromADMBaseGamma.c ML_BSSN_MP_RHS.c ML_BSSN_MP_RHSBoundary.c ML_BSSN_MP_enforce.c ML_BSSN_MP_boundary.c ML_BSSN_MP_convertToADMBase.c ML_BSSN_MP_ADMBaseBoundary.c ML_BSSN_MP_constraints.c ML_BSSN_MP_constraints_boundary.c Boundaries.c
diff --git a/m/McLachlan_BSSN.m b/m/McLachlan_BSSN.m
index 03ab5c7..6e19a2e 100644
--- a/m/McLachlan_BSSN.m
+++ b/m/McLachlan_BSSN.m
@@ -17,7 +17,7 @@ prefix = "ML_";
suffix =
If [useGlobalDerivs, "_MP", ""] <>
If [derivOrder!=4, "_O" <> ToString[derivOrder], ""] <>
- (* If [evolutionTimelevels!=3, "_TL" <> ToString[evolutionTimelevels], ""] <> *)
+ If [evolutionTimelevels!=3, "_TL" <> ToString[evolutionTimelevels], ""] <>
If [addMatter==1, "_M", ""];
BSSN = prefix <> "BSSN" <> suffix;
@@ -128,7 +128,7 @@ Map [DefineTensor,
nn, nu, nlen, nlen2, su, vg,
xx, rr, th, ph,
J, dJ,
- g, K, alpha, beta, H, M, detg, gu, G, R, trR, Km, trK,
+ g, K, alpha, beta, H, M, detg, gu, G, R, trR, Km, trK, cdphi, cdphi2,
phi, gt, At, Xt, Xtn, A, B, Atm, Atu, trA, Ats, trAts, cXt, cS, cA,
e4phi, em4phi, ddetg, detgt, gtu, ddetgt, dgtu, ddgtu, Gt, Rt, Rphi, gK,
T00, T0, T, rho, S,
@@ -148,7 +148,7 @@ SetTensorAttribute[cXt, TensorWeight, +2/3];
SetTensorAttribute[cS, TensorWeight, +2 ];
Map [AssertSymmetricIncreasing,
- {g[la,lb], K[la,lb], R[la,lb],
+ {g[la,lb], K[la,lb], R[la,lb], cdphi2[la,lb],
gt[la,lb], At[la,lb], Ats[la,lb], Rt[la,lb], Rphi[la,lb], T[la,lb]}];
AssertSymmetricIncreasing [dJ[ua,lb,lc], lb, lc];
AssertSymmetricIncreasing [G[ua,lb,lc], lb, lc];
@@ -248,7 +248,7 @@ initialCalc =
ConditionalOnKeyword -> {"my_initial_data", "Minkowski"},
Equations ->
{
- phi -> 0,
+ phi -> IfThen[conformalmethod,1,0],
gt[la,lb] -> KD[la,lb],
trK -> 0,
At[la,lb] -> 0,
@@ -296,8 +296,8 @@ convertFromADMBaseCalc =
detg -> detgExpr,
gu[ua,ub] -> 1/detg detgExpr MatrixInverse [g[ua,ub]],
- phi -> Log[detg] / 12,
- em4phi -> Exp[-4 phi],
+ phi -> IfThen[conformalmethod,detg^(-1/6),Log[detg]/12],
+ em4phi -> IfThen[conformalmethod,phi^2,Exp[-4 phi]],
gt[la,lb] -> em4phi g[la,lb],
K11 -> kxx,
@@ -364,7 +364,7 @@ convertToADMBaseCalc =
{
dir[ua] -> Sign[beta[ua]],
- e4phi -> Exp[4 phi],
+ e4phi -> IfThen[conformalmethod,1/phi^2,Exp[4 phi]],
g[la,lb] -> e4phi gt[la,lb],
gxx -> g11,
gxy -> g12,
@@ -440,7 +440,7 @@ boundaryCalcADMBase =
Shorthands -> {e4phi, g[la,lb], K[la,lb]},
Equations ->
{
- e4phi -> Exp[4 phi],
+ e4phi -> IfThen[conformalmethod,1/phi^2,Exp[4 phi]],
g[la,lb] -> e4phi gt[la,lb],
gxx -> g11,
gxy -> g12,
@@ -482,9 +482,9 @@ evolCalc =
dgtu[ua,ub,lc], ddgtu[ua,ub,lc,ld], Gt[ua,lb,lc],
Xtn[ua], Rt[la,lb], Rphi[la,lb], R[la,lb],
Atm[ua,lb], Atu[ua,ub],
- e4phi, em4phi, g[la,lb], detg,
+ e4phi, em4phi, cdphi[la], cdphi2[la,lb], g[la,lb], detg,
ddetg[la], gu[ua,ub], G[ua,lb,lc], Ats[la,lb], trAts,
- T00, T0[la], T[la,lb], rho, S[la], trS},
+ T00, T0[la], T[la,lb], rho, S[la], trS, fac1, fac2 },
Equations ->
{
dir[ua] -> Sign[beta[ua]],
@@ -514,24 +514,30 @@ evolCalc =
+ gtu[ul,um] (+ Gt[uk,ll,li] gt[lj,ln] Gt[un,lk,lm]
+ Gt[uk,ll,lj] gt[li,ln] Gt[un,lk,lm]
+ Gt[uk,li,lm] gt[lk,ln] Gt[un,ll,lj]),
+
+ fac1 -> IfThen[conformalmethod,-1/(2 phi),1],
+ cdphi[la] -> fac1 CDt[phi,la],
+ fac2 -> IfThen[conformalmethod,1/(2 phi^2),0],
+ cdphi2[la,lb] -> fac1 CDt[phi,la,lb] + fac2 CDt[phi,la] CDt[phi,lb],
+
(* PRD 62, 044034 (2000), eqn. (15) *)
- Rphi[li,lj] -> - 2 CDt[phi,lj,li]
- - 2 gt[li,lj] gtu[ul,un] CDt[phi,ll,ln]
- + 4 CDt[phi,li] CDt[phi,lj]
- - 4 gt[li,lj] gtu[ul,un] CDt[phi,ln] CDt[phi,ll],
+ Rphi[li,lj] -> - 2 cdphi2[lj,li]
+ - 2 gt[li,lj] gtu[ul,un] cdphi2[ll,ln]
+ + 4 cdphi[li] cdphi[lj]
+ - 4 gt[li,lj] gtu[ul,un] cdphi[ln] cdphi[ll],
Atm[ua,lb] -> gtu[ua,uc] At[lc,lb],
Atu[ua,ub] -> Atm[ua,lc] gtu[ub,uc],
- e4phi -> Exp[4 phi],
+ e4phi -> IfThen[conformalmethod,1/phi^2,Exp[4 phi]],
em4phi -> 1 / e4phi,
g[la,lb] -> e4phi gt[la,lb],
detg -> detgExpr,
(* gu[ua,ub] -> 1/detg detgExpr MatrixInverse [g[ua,ub]], *)
gu[ua,ub] -> em4phi gtu[ua,ub],
G[ua,lb,lc] -> Gt[ua,lb,lc]
- + 2 (KD[ua,lb] PD[phi,lc] + KD[ua,lc] PD[phi,lb]
- - gtu[ua,ud] gt[lb,lc] PD[phi,ld]),
+ + 2 (KD[ua,lb] cdphi[lc] + KD[ua,lc] cdphi[lb]
+ - gtu[ua,ud] gt[lb,lc] cdphi[ld]),
R[la,lb] -> Rt[la,lb] + Rphi[la,lb],
@@ -562,9 +568,9 @@ evolCalc =
(* PRD 62, 044034 (2000), eqn. (10) *)
(* PRD 67 084023 (2003), eqn. (16) and (23) *)
- dot[phi] -> - (1/6) alpha trK
+ dot[phi] -> IfThen[conformalmethod,(1/3) phi,-(1/6) ] alpha trK
+ beta[ua] PDu[phi,la]
- + (1/6) PD[beta[ua],la],
+ + IfThen[conformalmethod,-(1/3) phi ,(1/6)] PD[beta[ua],la],
(* PRD 62, 044034 (2000), eqn. (9) *)
dot[gt[la,lb]] -> - 2 alpha At[la,lb]
@@ -576,7 +582,7 @@ evolCalc =
dot[Xt[ui]] -> - 2 Atu[ui,uj] PD[alpha,lj]
+ 2 alpha (+ Gt[ui,lj,lk] Atu[uk,uj]
- (2/3) gtu[ui,uj] PD[trK,lj]
- + 6 Atu[ui,uj] PD[phi,lj])
+ + 6 Atu[ui,uj] cdphi[lj])
+ gtu[uj,ul] PD[beta[ui],lj,ll]
+ (1/3) gtu[ui,uj] PD[beta[ul],lj,ll]
+ beta[uj] PDu[Xt[ui],lj]
@@ -640,7 +646,7 @@ RHSBoundaryCalc =
detgt -> 1 (* detgtExpr *),
gtu[ua,ub] -> 1/detgt detgtExpr MatrixInverse [gt[ua,ub]],
- em4phi -> Exp[-4 phi],
+ em4phi -> IfThen[conformalmethod,phi^2,Exp[-4 phi]],
gu[ua,ub] -> em4phi gtu[ua,ub],
nn[la] -> normal[la],
@@ -675,9 +681,9 @@ enforceCalc =
trAt -> gtu[ua,ub] At[la,lb],
- At[la,lb] -> At[la,lb] - (1/3) gt[la,lb] trAt,
+ At[la,lb] -> At[la,lb] - (1/3) gt[la,lb] trAt
- alpha -> Max[alpha, MinimumLapse]
+ (* alpha -> Max[alpha, 10^(-10)] *)
}
};
@@ -693,7 +699,7 @@ boundaryCalc =
Where -> BoundaryWithGhosts,
Equations ->
{
- phi -> 0,
+ phi -> IfThen[conformalmethod,1,0],
gt[la,lb] -> KD[la,lb],
trK -> 0,
At[la,lb] -> 0,
@@ -717,8 +723,8 @@ constraintsCalc =
Shorthands -> {detgt, ddetgt[la], gtu[ua,ub], Gt[ua,lb,lc], e4phi, em4phi,
g[la,lb], detg, gu[ua,ub], ddetg[la], G[ua,lb,lc],
Rt[la,lb], Rphi[la,lb], R[la,lb], trR, Atm[la,lb],
- gK[la,lb,lc],
- T00, T0[la], T[la,lb], rho, S[la]},
+ gK[la,lb,lc], cdphi[la], cdphi2[la,lb],
+ T00, T0[la], T[la,lb], rho, S[la], fac1, fac2},
Equations ->
{
detgt -> 1 (* detgtExpr *),
@@ -762,13 +768,19 @@ constraintsCalc =
+ 1/2 gtu[u1,u2] (- PD[gt[l1,l2],la,lb] + PD[gt[l1,la],l2,lb]
- PD[gt[la,lb],l1,l2] + PD[gt[l2,lb],l1,la]),
*)
+
+ fac1 -> IfThen[conformalmethod,-1/(2 phi),1],
+ cdphi[la] -> fac1 CDt[phi,la],
+ fac2 -> IfThen[conformalmethod,1/(2 phi^2),0],
+ cdphi2[la,lb] -> fac1 CDt[phi,la,lb] + fac2 CDt[phi,la] CDt[phi,lb],
+
(* PRD 62, 044034 (2000), eqn. (15) *)
- Rphi[li,lj] -> - 2 CDt[phi,lj,li]
- - 2 gt[li,lj] gtu[ul,un] CDt[phi,ll,ln]
- + 4 CDt[phi,li] CDt[phi,lj]
- - 4 gt[li,lj] gtu[ul,un] CDt[phi,ln] CDt[phi,ll],
+ Rphi[li,lj] -> - 2 cdphi2[lj,li]
+ - 2 gt[li,lj] gtu[ul,un] cdphi2[ll,ln]
+ + 4 cdphi[li] cdphi[lj]
+ - 4 gt[li,lj] gtu[ul,un] cdphi[ln] cdphi[ll],
- e4phi -> Exp[4 phi],
+ e4phi -> IfThen[conformalmethod,1/phi^2,Exp[4 phi]],
em4phi -> 1 / e4phi,
g[la,lb] -> e4phi gt[la,lb],
(* detg -> detgExpr, *)
@@ -820,7 +832,7 @@ constraintsCalc =
M[la] -> gu[ub,uc] (gK[lc,la,lb] - gK[lc,lb,la]), *)
- M[li] -> + gtu[uj,uk] (CDt[At[li,lj],lk] + 6 At[li,lj] PD[phi,lk])
+ M[li] -> + gtu[uj,uk] (CDt[At[li,lj],lk] + 6 At[li,lj] cdphi[lk])
- (2/3) PD[trK,li]
- addMatter 8 pi S[li],
(* TODO: use PRD 67, 084023 (2003), eqn. (20) *)
@@ -876,6 +888,10 @@ extendedKeywordParameters =
{
Name -> "ADMBase::shift_evolution_method",
AllowedValues -> {BSSN}
+ },
+ {
+ Name -> "ADMBase::dtshift_evolution_method",
+ AllowedValues -> {BSSN}
}
};
@@ -921,6 +937,12 @@ intParameters =
{
Name -> ShiftAlphaPower,
Default -> 0
+ },
+ {
+ Name -> conformalmethod,
+ Description -> "0 for phi method, 1 for W method",
+ AllowedValues -> {{Value -> "0:1", Description -> "0 or 1"}},
+ Default -> 0
}
};
@@ -952,11 +974,6 @@ realParameters =
Name -> ShiftAdvectionCoeff,
Description -> "Factor in front of the shift advection terms in gamma driver",
Default -> 1
- },
- {
- Name -> MinimumLapse,
- Description -> "Minimum value of the lapse function",
- Default -> -1
}
};
@@ -1008,6 +1025,6 @@ CreateKrancThornTT [groups, ".", BSSN,
(* matter: 0 or 1
(matter seems cheap; it should be always enabled) *)
-createCode[4, False, 4, 0];
-createCode[4, False, 4, 1];
-createCode[4, True, 4, 0];
+createCode[4, False, 3, 0];
+createCode[4, False, 3, 1];
+createCode[4, True, 3, 0];