aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnton Khirnov <anton@khirnov.net>2017-06-30 11:02:25 +0200
committerAnton Khirnov <anton@khirnov.net>2017-06-30 11:02:25 +0200
commit39ae3f847d3d968c2beb312de8522ef7b4a371c7 (patch)
tree814783af5a982d1539221bbe0383f1e730981408
parent2b38eb62f5101774268751a117c219d28927143d (diff)
Update for QMS.
-rw-r--r--ML_BSSN/interface.ccl9
-rw-r--r--ML_BSSN/param.ccl14
-rw-r--r--ML_BSSN/schedule.ccl240
-rw-r--r--ML_BSSN/src/ML_BSSN_Advect.cc68
-rw-r--r--ML_BSSN/src/ML_BSSN_InitRHS.cc2
-rw-r--r--ML_BSSN/src/ML_BSSN_RHS.cc175
-rw-r--r--ML_BSSN/src/ML_BSSN_constraints.cc56
-rw-r--r--ML_BSSN/src/ML_BSSN_convertFromADMBaseGamma.cc56
-rw-r--r--ML_BSSN/src/ML_BSSN_enforce.cc2
-rw-r--r--ML_BSSN/src/RegisterMoL.cc20
-rw-r--r--ML_BSSN/src/RegisterSymmetries.cc5
-rw-r--r--ML_BSSN/src/eval_timediff.cc2607
-rw-r--r--ML_BSSN/src/make.code.defn2
13 files changed, 2936 insertions, 320 deletions
diff --git a/ML_BSSN/interface.ccl b/ML_BSSN/interface.ccl
index 822e78b..3d66fde 100644
--- a/ML_BSSN/interface.ccl
+++ b/ML_BSSN/interface.ccl
@@ -15,6 +15,9 @@ USES INCLUDE: Boundary.h
CCTK_INT FUNCTION MoLRegisterEvolved(CCTK_INT IN EvolvedIndex, CCTK_INT IN RHSIndex)
USES FUNCTION MoLRegisterEvolved
+CCTK_INT FUNCTION MoLRegisterConstrained(CCTK_INT IN Index)
+USES FUNCTION MoLRegisterConstrained
+
SUBROUTINE Diff_coeff(CCTK_POINTER_TO_CONST IN cctkGH, CCTK_INT IN dir, CCTK_INT IN nsize, CCTK_INT OUT ARRAY imin, CCTK_INT OUT ARRAY imax, CCTK_REAL OUT ARRAY q, CCTK_INT IN table_handle)
USES FUNCTION Diff_coeff
@@ -95,10 +98,10 @@ CCTK_REAL ML_Xtdot type=GF timelevels=3 tags='tensortypealias="U" tensorweight=0
} "ML_Xtdot"
public:
-CCTK_REAL ML_phidot type=GF timelevels=3 tags='tensortypealias="Scalar" tensorweight=0'
+CCTK_REAL ML_beta_term type=GF timelevels=3 tags='tensortypealias="Scalar" tensorweight=0'
{
- phidot
-} "ML_phidot"
+ beta_term
+} "ML_beta_term"
public:
CCTK_REAL ML_shift type=GF timelevels=3 tags='tensortypealias="U" tensorweight=0'
diff --git a/ML_BSSN/param.ccl b/ML_BSSN/param.ccl
index 63b9998..db572db 100644
--- a/ML_BSSN/param.ccl
+++ b/ML_BSSN/param.ccl
@@ -88,37 +88,37 @@ CCTK_REAL RDriver "RDriver"
} 1
restricted:
-CCTK_REAL ShiftBCoeff "Whether to evolve B^i in time"
+CCTK_REAL ShiftBCoeff "Whether to evolve B^i in time" STEERABLE=RECOVER
{
"*:*" :: ""
} 1
restricted:
-CCTK_REAL ShiftGammaCoeff "ShiftGammaCoeff"
+CCTK_REAL ShiftGammaCoeff "ShiftGammaCoeff" STEERABLE=RECOVER
{
"*:*" :: ""
} 0
restricted:
-CCTK_REAL BetaDriver "BetaDriver"
+CCTK_REAL BetaDriver "BetaDriver" STEERABLE=RECOVER
{
"*:*" :: ""
} 0
restricted:
-CCTK_REAL WFactor "WFactor"
+CCTK_REAL WFactor "WFactor" STEERABLE=RECOVER
{
"*:*" :: ""
} 1
restricted:
-CCTK_REAL LapseAdvectionCoeff "Factor in front of the lapse advection terms in 1+log"
+CCTK_REAL LapseAdvectionCoeff "Factor in front of the lapse advection terms in 1+log" STEERABLE=RECOVER
{
"*:*" :: ""
} 1
restricted:
-CCTK_REAL ShiftAdvectionCoeff "Factor in front of the shift advection terms in gamma driver"
+CCTK_REAL ShiftAdvectionCoeff "Factor in front of the shift advection terms in gamma driver" STEERABLE=RECOVER
{
"*:*" :: ""
} 1
@@ -178,7 +178,7 @@ CCTK_INT fdOrder "fdOrder"
} 4
restricted:
-CCTK_INT harmonicShift "Whether to use the harmonic shift"
+CCTK_INT harmonicShift "Whether to use the harmonic shift" STEERABLE=RECOVER
{
*:* :: ""
} 0
diff --git a/ML_BSSN/schedule.ccl b/ML_BSSN/schedule.ccl
index 2aa1baf..4fe7352 100644
--- a/ML_BSSN/schedule.ccl
+++ b/ML_BSSN/schedule.ccl
@@ -17,7 +17,7 @@ STORAGE: ML_Kdot[timelevels]
STORAGE: ML_Xtdot[timelevels]
-STORAGE: ML_phidot[timelevels]
+STORAGE: ML_beta_term[timelevels]
STORAGE: ML_shift[timelevels]
@@ -243,13 +243,6 @@ schedule ML_BSSN_RHS IN ML_BSSN_evolCalcGroup
WRITES: ML_BSSN::gt22rhs(Interior)
WRITES: ML_BSSN::gt23rhs(Interior)
WRITES: ML_BSSN::gt33rhs(Interior)
- WRITES: ML_BSSN::Kdot11(Interior)
- WRITES: ML_BSSN::Kdot12(Interior)
- WRITES: ML_BSSN::Kdot13(Interior)
- WRITES: ML_BSSN::Kdot22(Interior)
- WRITES: ML_BSSN::Kdot23(Interior)
- WRITES: ML_BSSN::Kdot33(Interior)
- WRITES: ML_BSSN::phidot(Interior)
WRITES: ML_BSSN::phirhs(Interior)
WRITES: ML_BSSN::term1(Interior)
WRITES: ML_BSSN::term2(Interior)
@@ -258,19 +251,60 @@ schedule ML_BSSN_RHS IN ML_BSSN_evolCalcGroup
WRITES: ML_BSSN::Xt1rhs(Interior)
WRITES: ML_BSSN::Xt2rhs(Interior)
WRITES: ML_BSSN::Xt3rhs(Interior)
- WRITES: ML_BSSN::Xtdot1(Interior)
- WRITES: ML_BSSN::Xtdot2(Interior)
- WRITES: ML_BSSN::Xtdot3(Interior)
} "ML_BSSN_RHS"
-schedule ML_BSSN_lapse_evol IN ML_BSSN_evolCalcGroup
+ schedule eval_timediff IN MoL_PreStep BEFORE quasimaximal_slicing_axi_solve
+ #schedule eval_timediff IN ML_BSSN_evolCalcGroup BEFORE quasimaximal_slicing_axi_solve
+ {
+ LANG: C
+ READS: grid::r(Everywhere)
+ READS: ML_BSSN::At11(Everywhere)
+ READS: ML_BSSN::At12(Everywhere)
+ READS: ML_BSSN::At13(Everywhere)
+ READS: ML_BSSN::At22(Everywhere)
+ READS: ML_BSSN::At23(Everywhere)
+ READS: ML_BSSN::At33(Everywhere)
+ READS: ML_BSSN::B1(Everywhere)
+ READS: ML_BSSN::B2(Everywhere)
+ READS: ML_BSSN::B3(Everywhere)
+ READS: ML_BSSN::Xt1(Everywhere)
+ READS: ML_BSSN::Xt2(Everywhere)
+ READS: ML_BSSN::Xt3(Everywhere)
+ READS: ML_BSSN::alpha(Everywhere)
+ READS: ML_BSSN::phi(Everywhere)
+ READS: ML_BSSN::gt11(Everywhere)
+ READS: ML_BSSN::gt12(Everywhere)
+ READS: ML_BSSN::gt13(Everywhere)
+ READS: ML_BSSN::gt22(Everywhere)
+ READS: ML_BSSN::gt23(Everywhere)
+ READS: ML_BSSN::gt33(Everywhere)
+ READS: ML_BSSN::beta1(Everywhere)
+ READS: ML_BSSN::beta2(Everywhere)
+ READS: ML_BSSN::beta3(Everywhere)
+ READS: ML_BSSN::trK(Everywhere)
+ WRITES: ML_BSSN::Kdot11(Interior)
+ WRITES: ML_BSSN::Kdot12(Interior)
+ WRITES: ML_BSSN::Kdot13(Interior)
+ WRITES: ML_BSSN::Kdot22(Interior)
+ WRITES: ML_BSSN::Kdot23(Interior)
+ WRITES: ML_BSSN::Kdot33(Interior)
+ WRITES: ML_BSSN::beta_term(Interior)
+ WRITES: ML_BSSN::Xtdot1(Interior)
+ WRITES: ML_BSSN::Xtdot2(Interior)
+ WRITES: ML_BSSN::Xtdot3(Interior)
+ } "eval_timediff"
+
+if (CCTK_EQUALS(lapse_evolution_method, "ML_BSSN"))
{
- LANG: C
- READS: QuasiMaximalSlicing::W(Everywhere)
- READS: ML_BSSN::alpha(Everywhere)
- READS: ML_BSSN::trK(Everywhere)
- WRITES: ML_BSSN::alpharhs(Interior)
-} "ML_BSSN_lapse_evol"
+ schedule ML_BSSN_lapse_evol IN ML_BSSN_evolCalcGroup
+ {
+ LANG: C
+ READS: QuasiMaximalSlicing::W(Everywhere)
+ READS: ML_BSSN::alpha(Everywhere)
+ READS: ML_BSSN::trK(Everywhere)
+ WRITES: ML_BSSN::alpharhs(Interior)
+ } "ML_BSSN_lapse_evol"
+}
if (CCTK_EQUALS(apply_dissipation, "always"))
@@ -579,91 +613,91 @@ schedule ML_BSSN_convertToADMBase IN ML_BSSN_convertToADMBaseGroup
} "ML_BSSN_convertToADMBase"
-if (CCTK_EQUALS(dt_lapse_shift_method, "correct"))
-{
- schedule ML_BSSN_convertToADMBaseDtLapseShift IN ML_BSSN_convertToADMBaseGroup
- {
- LANG: C
- SYNC: ADMBase::dtshift
- READS: grid::r(Everywhere)
- READS: ML_BSSN::B1(Everywhere)
- READS: ML_BSSN::B2(Everywhere)
- READS: ML_BSSN::B3(Everywhere)
- READS: ML_BSSN::Xt1(Everywhere)
- READS: ML_BSSN::Xt2(Everywhere)
- READS: ML_BSSN::Xt3(Everywhere)
- READS: ML_BSSN::alpha(Everywhere)
- READS: ML_BSSN::phi(Everywhere)
- READS: ML_BSSN::gt11(Everywhere)
- READS: ML_BSSN::gt12(Everywhere)
- READS: ML_BSSN::gt13(Everywhere)
- READS: ML_BSSN::gt22(Everywhere)
- READS: ML_BSSN::gt23(Everywhere)
- READS: ML_BSSN::gt33(Everywhere)
- READS: ML_BSSN::beta1(Everywhere)
- READS: ML_BSSN::beta2(Everywhere)
- READS: ML_BSSN::beta3(Everywhere)
- WRITES: ADMBase::dtbetax(Interior)
- WRITES: ADMBase::dtbetay(Interior)
- WRITES: ADMBase::dtbetaz(Interior)
- } "ML_BSSN_convertToADMBaseDtLapseShift"
-}
-
-
-if (CCTK_EQUALS(dt_lapse_shift_method, "correct"))
-{
- schedule ML_BSSN_convertToADMBaseDtLapseShiftBoundary IN ML_BSSN_convertToADMBaseGroup
- {
- LANG: C
- READS: grid::r(Everywhere)
- READS: ML_BSSN::B1(Everywhere)
- READS: ML_BSSN::B2(Everywhere)
- READS: ML_BSSN::B3(Everywhere)
- READS: ML_BSSN::Xt1(Everywhere)
- READS: ML_BSSN::Xt2(Everywhere)
- READS: ML_BSSN::Xt3(Everywhere)
- READS: ML_BSSN::gt11(Everywhere)
- READS: ML_BSSN::gt12(Everywhere)
- READS: ML_BSSN::gt13(Everywhere)
- READS: ML_BSSN::gt22(Everywhere)
- READS: ML_BSSN::gt23(Everywhere)
- READS: ML_BSSN::gt33(Everywhere)
- READS: ML_BSSN::beta1(Everywhere)
- READS: ML_BSSN::beta2(Everywhere)
- READS: ML_BSSN::beta3(Everywhere)
- WRITES: ADMBase::dtbetax(ERROR(BoundaryWithGhosts))
- WRITES: ADMBase::dtbetay(ERROR(BoundaryWithGhosts))
- WRITES: ADMBase::dtbetaz(ERROR(BoundaryWithGhosts))
- } "ML_BSSN_convertToADMBaseDtLapseShiftBoundary"
-}
-
-
-if (CCTK_EQUALS(dt_lapse_shift_method, "noLapseShiftAdvection"))
-{
- schedule ML_BSSN_convertToADMBaseFakeDtLapseShift IN ML_BSSN_convertToADMBaseGroup
- {
- LANG: C
- READS: grid::r(Everywhere)
- READS: ML_BSSN::B1(Everywhere)
- READS: ML_BSSN::B2(Everywhere)
- READS: ML_BSSN::B3(Everywhere)
- READS: ML_BSSN::Xt1(Everywhere)
- READS: ML_BSSN::Xt2(Everywhere)
- READS: ML_BSSN::Xt3(Everywhere)
- READS: ML_BSSN::gt11(Everywhere)
- READS: ML_BSSN::gt12(Everywhere)
- READS: ML_BSSN::gt13(Everywhere)
- READS: ML_BSSN::gt22(Everywhere)
- READS: ML_BSSN::gt23(Everywhere)
- READS: ML_BSSN::gt33(Everywhere)
- READS: ML_BSSN::beta1(Everywhere)
- READS: ML_BSSN::beta2(Everywhere)
- READS: ML_BSSN::beta3(Everywhere)
- WRITES: ADMBase::dtbetax(Everywhere)
- WRITES: ADMBase::dtbetay(Everywhere)
- WRITES: ADMBase::dtbetaz(Everywhere)
- } "ML_BSSN_convertToADMBaseFakeDtLapseShift"
-}
+#if (CCTK_EQUALS(dt_lapse_shift_method, "correct"))
+#{
+# schedule ML_BSSN_convertToADMBaseDtLapseShift IN ML_BSSN_convertToADMBaseGroup
+# {
+# LANG: C
+# SYNC: ADMBase::dtshift
+# READS: grid::r(Everywhere)
+# READS: ML_BSSN::B1(Everywhere)
+# READS: ML_BSSN::B2(Everywhere)
+# READS: ML_BSSN::B3(Everywhere)
+# READS: ML_BSSN::Xt1(Everywhere)
+# READS: ML_BSSN::Xt2(Everywhere)
+# READS: ML_BSSN::Xt3(Everywhere)
+# READS: ML_BSSN::alpha(Everywhere)
+# READS: ML_BSSN::phi(Everywhere)
+# READS: ML_BSSN::gt11(Everywhere)
+# READS: ML_BSSN::gt12(Everywhere)
+# READS: ML_BSSN::gt13(Everywhere)
+# READS: ML_BSSN::gt22(Everywhere)
+# READS: ML_BSSN::gt23(Everywhere)
+# READS: ML_BSSN::gt33(Everywhere)
+# READS: ML_BSSN::beta1(Everywhere)
+# READS: ML_BSSN::beta2(Everywhere)
+# READS: ML_BSSN::beta3(Everywhere)
+# WRITES: ADMBase::dtbetax(Interior)
+# WRITES: ADMBase::dtbetay(Interior)
+# WRITES: ADMBase::dtbetaz(Interior)
+# } "ML_BSSN_convertToADMBaseDtLapseShift"
+#}
+
+
+#if (CCTK_EQUALS(dt_lapse_shift_method, "correct"))
+#{
+# schedule ML_BSSN_convertToADMBaseDtLapseShiftBoundary IN ML_BSSN_convertToADMBaseGroup
+# {
+# LANG: C
+# READS: grid::r(Everywhere)
+# READS: ML_BSSN::B1(Everywhere)
+# READS: ML_BSSN::B2(Everywhere)
+# READS: ML_BSSN::B3(Everywhere)
+# READS: ML_BSSN::Xt1(Everywhere)
+# READS: ML_BSSN::Xt2(Everywhere)
+# READS: ML_BSSN::Xt3(Everywhere)
+# READS: ML_BSSN::gt11(Everywhere)
+# READS: ML_BSSN::gt12(Everywhere)
+# READS: ML_BSSN::gt13(Everywhere)
+# READS: ML_BSSN::gt22(Everywhere)
+# READS: ML_BSSN::gt23(Everywhere)
+# READS: ML_BSSN::gt33(Everywhere)
+# READS: ML_BSSN::beta1(Everywhere)
+# READS: ML_BSSN::beta2(Everywhere)
+# READS: ML_BSSN::beta3(Everywhere)
+# WRITES: ADMBase::dtbetax(ERROR(BoundaryWithGhosts))
+# WRITES: ADMBase::dtbetay(ERROR(BoundaryWithGhosts))
+# WRITES: ADMBase::dtbetaz(ERROR(BoundaryWithGhosts))
+# } "ML_BSSN_convertToADMBaseDtLapseShiftBoundary"
+#}
+#
+#
+#if (CCTK_EQUALS(dt_lapse_shift_method, "noLapseShiftAdvection"))
+#{
+# schedule ML_BSSN_convertToADMBaseFakeDtLapseShift IN ML_BSSN_convertToADMBaseGroup
+# {
+# LANG: C
+# READS: grid::r(Everywhere)
+# READS: ML_BSSN::B1(Everywhere)
+# READS: ML_BSSN::B2(Everywhere)
+# READS: ML_BSSN::B3(Everywhere)
+# READS: ML_BSSN::Xt1(Everywhere)
+# READS: ML_BSSN::Xt2(Everywhere)
+# READS: ML_BSSN::Xt3(Everywhere)
+# READS: ML_BSSN::gt11(Everywhere)
+# READS: ML_BSSN::gt12(Everywhere)
+# READS: ML_BSSN::gt13(Everywhere)
+# READS: ML_BSSN::gt22(Everywhere)
+# READS: ML_BSSN::gt23(Everywhere)
+# READS: ML_BSSN::gt33(Everywhere)
+# READS: ML_BSSN::beta1(Everywhere)
+# READS: ML_BSSN::beta2(Everywhere)
+# READS: ML_BSSN::beta3(Everywhere)
+# WRITES: ADMBase::dtbetax(Everywhere)
+# WRITES: ADMBase::dtbetay(Everywhere)
+# WRITES: ADMBase::dtbetaz(Everywhere)
+# } "ML_BSSN_convertToADMBaseFakeDtLapseShift"
+#}
schedule group ML_BSSN_constraints_group in MoL_PseudoEvolution after MoL_PostStep
{
diff --git a/ML_BSSN/src/ML_BSSN_Advect.cc b/ML_BSSN/src/ML_BSSN_Advect.cc
index a519fdf..e03d073 100644
--- a/ML_BSSN/src/ML_BSSN_Advect.cc
+++ b/ML_BSSN/src/ML_BSSN_Advect.cc
@@ -1036,14 +1036,14 @@ static void ML_BSSN_Advect_Body(const cGH* restrict const cctkGH, const int dir,
double xx = x[index];
int origin = fabs(xx) < 1e-8;
- PDupwindNthAnti2At11 = origin ? -2 * PDupwindNthAnti1At12 : -2 * At12[index] / xx;
- PDupwindNthSymm2At11 = origin ? -2 * PDupwindNthSymm1At12 : -2 * At12[index] / xx;
+ PDupwindNthAnti2At11 = 0;
+ PDupwindNthSymm2At11 = 0;
PDupwindNthAnti2At12 = origin ? PDupwindNthAnti1At11 - PDupwindNthAnti1At22 : (At11[index] - At22[index]) / xx;
PDupwindNthSymm2At12 = origin ? PDupwindNthSymm1At11 - PDupwindNthSymm1At22 : (At11[index] - At22[index]) / xx;
- PDupwindNthAnti2At13 = origin ? -PDupwindNthAnti1At23 : - At23[index] / xx;
- PDupwindNthSymm2At13 = origin ? -PDupwindNthSymm1At23 : - At23[index] / xx;
- PDupwindNthAnti2At22 = origin ? 2 * PDupwindNthAnti1At12 : 2 * At12[index] / xx;
- PDupwindNthSymm2At22 = origin ? 2 * PDupwindNthSymm1At12 : 2 * At12[index] / xx;
+ PDupwindNthAnti2At13 = 0;
+ PDupwindNthSymm2At13 = 0;
+ PDupwindNthAnti2At22 = 0;
+ PDupwindNthSymm2At22 = 0;
PDupwindNthAnti2At23 = origin ? PDupwindNthAnti1At13 : At13[index] / xx;
PDupwindNthSymm2At23 = origin ? PDupwindNthSymm1At13 : At13[index] / xx;
PDupwindNthAnti2At33 = 0;
@@ -2059,34 +2059,34 @@ extern "C" void ML_BSSN_Advect(CCTK_ARGUMENTS)
"ML_BSSN::ML_trace_curvrhs"};
GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_Advect", 14, groups);
- switch (fdOrder)
- {
- case 2:
- {
- GenericFD_EnsureStencilFits(cctkGH, "ML_BSSN_Advect", 2, 2, 2);
- break;
- }
-
- case 4:
- {
- GenericFD_EnsureStencilFits(cctkGH, "ML_BSSN_Advect", 3, 3, 3);
- break;
- }
-
- case 6:
- {
- GenericFD_EnsureStencilFits(cctkGH, "ML_BSSN_Advect", 4, 4, 4);
- break;
- }
-
- case 8:
- {
- GenericFD_EnsureStencilFits(cctkGH, "ML_BSSN_Advect", 5, 5, 5);
- break;
- }
- default:
- CCTK_BUILTIN_UNREACHABLE();
- }
+ //switch (fdOrder)
+ //{
+ // case 2:
+ // {
+ // GenericFD_EnsureStencilFits(cctkGH, "ML_BSSN_Advect", 2, 2, 2);
+ // break;
+ // }
+ //
+ // case 4:
+ // {
+ // GenericFD_EnsureStencilFits(cctkGH, "ML_BSSN_Advect", 3, 3, 3);
+ // break;
+ // }
+ //
+ // case 6:
+ // {
+ // GenericFD_EnsureStencilFits(cctkGH, "ML_BSSN_Advect", 4, 4, 4);
+ // break;
+ // }
+ //
+ // case 8:
+ // {
+ // GenericFD_EnsureStencilFits(cctkGH, "ML_BSSN_Advect", 5, 5, 5);
+ // break;
+ // }
+ // default:
+ // CCTK_BUILTIN_UNREACHABLE();
+ //}
GenericFD_LoopOverInterior(cctkGH, ML_BSSN_Advect_Body);
diff --git a/ML_BSSN/src/ML_BSSN_InitRHS.cc b/ML_BSSN/src/ML_BSSN_InitRHS.cc
index 6a39489..1694957 100644
--- a/ML_BSSN/src/ML_BSSN_InitRHS.cc
+++ b/ML_BSSN/src/ML_BSSN_InitRHS.cc
@@ -214,6 +214,8 @@ static void ML_BSSN_InitRHS_Body(const cGH* restrict const cctkGH, const int dir
{
const ptrdiff_t index CCTK_ATTRIBUTE_UNUSED = di*i + dj*j + dk*k;
// vec_iter_counter+=CCTK_REAL_VEC_SIZE;
+ if (fabs(y[index]) > 1e-8)
+ continue;
/* Assign local copies of grid functions */
diff --git a/ML_BSSN/src/ML_BSSN_RHS.cc b/ML_BSSN/src/ML_BSSN_RHS.cc
index 28c80ea..098f585 100644
--- a/ML_BSSN/src/ML_BSSN_RHS.cc
+++ b/ML_BSSN/src/ML_BSSN_RHS.cc
@@ -27,6 +27,11 @@
#define CUB(x) (kmul(x,SQR(x)))
#define QAD(x) (SQR(SQR(x)))
+extern "C" {
+double TMP_fce_GammaDotX(double x, double z,double t,double tau);
+double TMP_fce_GammaDotZ(double x, double z,double t,double tau);
+}
+
extern "C" void ML_BSSN_RHS_SelectBCs(CCTK_ARGUMENTS)
{
DECLARE_CCTK_ARGUMENTS;
@@ -53,9 +58,6 @@ extern "C" void ML_BSSN_RHS_SelectBCs(CCTK_ARGUMENTS)
ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_BSSN::ML_metricrhs","flat");
if (ierr < 0)
CCTK_WARN(1, "Failed to register flat BC for ML_BSSN::ML_metricrhs.");
- ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_BSSN::ML_phidot","flat");
- if (ierr < 0)
- CCTK_WARN(1, "Failed to register flat BC for ML_BSSN::ML_phidot.");
ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_BSSN::ML_shiftrhs","flat");
if (ierr < 0)
CCTK_WARN(1, "Failed to register flat BC for ML_BSSN::ML_shiftrhs.");
@@ -995,7 +997,6 @@ static void ML_BSSN_RHS_Body(const cGH* restrict const cctkGH, const int dir, co
PDstandardNth22phi = origin ? PDstandardNth11phi : PDstandardNth1phi / xx;
PDstandardNth12phi = 0;
PDstandardNth23phi = 0;
- PDstandardNth2trK = 0;
PDstandardNth2Xt1 = 0;
PDstandardNth2Xt2 = origin ? PDstandardNth1Xt1 : Xt1[index] / xx;
PDstandardNth2Xt3 = 0;
@@ -2361,10 +2362,6 @@ static void ML_BSSN_RHS_Body(const cGH* restrict const cctkGH, const int dir, co
kneg(kmul(IfThen(conformalMethod ==
1,kmul(phiL,ToReal(0.333333333333333333333333333333)),ToReal(-0.166666666666666666666666666667)),kadd(JacPDstandardNth1beta1,kadd(JacPDstandardNth2beta2,knmsub(alphaL,trKL,JacPDstandardNth3beta3)))));
- CCTK_REAL_VEC phidotL CCTK_ATTRIBUTE_UNUSED =
- kneg(kmul(IfThen(conformalMethod ==
- 1,kmul(phiL,ToReal(0.333333333333333333333333333333)),ToReal(-0.166666666666666666666666666667)),kadd(JacPDstandardNth1beta1,kadd(JacPDstandardNth2beta2,knmsub(alphaL,trKL,JacPDstandardNth3beta3)))));
-
CCTK_REAL_VEC gt11rhsL CCTK_ATTRIBUTE_UNUSED =
kmadd(alphaL,kmul(At11L,ToReal(-2)),kmadd(gt11L,kmul(kadd(JacPDstandardNth1beta1,kadd(JacPDstandardNth2beta2,JacPDstandardNth3beta3)),ToReal(-0.666666666666666666666666666667)),kmul(kmadd(gt11L,JacPDstandardNth1beta1,kmadd(gt12L,JacPDstandardNth1beta2,kmul(gt13L,JacPDstandardNth1beta3))),ToReal(2))));
@@ -2398,12 +2395,6 @@ static void ML_BSSN_RHS_Body(const cGH* restrict const cctkGH, const int dir, co
CCTK_REAL_VEC Xt3rhsL CCTK_ATTRIBUTE_UNUSED = dotXt3;
- CCTK_REAL_VEC Xtdot1L CCTK_ATTRIBUTE_UNUSED = dotXt1;
-
- CCTK_REAL_VEC Xtdot2L CCTK_ATTRIBUTE_UNUSED = dotXt2;
-
- CCTK_REAL_VEC Xtdot3L CCTK_ATTRIBUTE_UNUSED = dotXt3;
-
term1L =
kneg(kmul(em4phi,knmsub(JacPDstandardNth1alpha,Xtn1,knmsub(JacPDstandardNth2alpha,Xtn2,knmsub(JacPDstandardNth3alpha,Xtn3,kmadd(gtu11,kmadd(cdphi1,kmul(JacPDstandardNth1alpha,ToReal(2)),JacPDstandardNth11alpha),kmadd(gtu12,kadd(JacPDstandardNth12alpha,kadd(JacPDstandardNth21alpha,kmadd(cdphi2,kmul(JacPDstandardNth1alpha,ToReal(2)),kmul(cdphi1,kmul(JacPDstandardNth2alpha,ToReal(2)))))),kmadd(gtu22,kmadd(cdphi2,kmul(JacPDstandardNth2alpha,ToReal(2)),JacPDstandardNth22alpha),kmadd(gtu13,kadd(JacPDstandardNth13alpha,kadd(JacPDstandardNth31alpha,kmadd(cdphi3,kmul(JacPDstandardNth1alpha,ToReal(2)),kmul(cdphi1,kmul(JacPDstandardNth3alpha,ToReal(2)))))),kmadd(gtu23,kadd(JacPDstandardNth23alpha,kadd(JacPDstandardNth32alpha,kmadd(cdphi3,kmul(JacPDstandardNth2alpha,ToReal(2)),kmul(cdphi2,kmul(JacPDstandardNth3alpha,ToReal(2)))))),kmul(gtu33,kmadd(cdphi3,kmul(JacPDstandardNth3alpha,ToReal(2)),JacPDstandardNth33alpha))))))))))));
@@ -2457,24 +2448,6 @@ static void ML_BSSN_RHS_Body(const cGH* restrict const cctkGH, const int dir, co
CCTK_REAL_VEC At33rhsL CCTK_ATTRIBUTE_UNUSED =
kmadd(At33L,kmul(kadd(JacPDstandardNth1beta1,kadd(JacPDstandardNth2beta2,JacPDstandardNth3beta3)),ToReal(-0.666666666666666666666666666667)),kmadd(em4phi,kmadd(g33,kmul(trAts,ToReal(-0.333333333333333333333333333333)),Ats33),kmadd(kmadd(At13L,JacPDstandardNth3beta1,kmadd(At23L,JacPDstandardNth3beta2,kmul(At33L,JacPDstandardNth3beta3))),ToReal(2),kmul(alphaL,kmadd(At33L,trKL,kmadd(kmadd(At13L,Atm13,kmadd(At23L,Atm23,kmul(At33L,Atm33))),ToReal(-2),kmul(em4phi,kmul(ToReal(-8),kmul(kmadd(g33,kmul(trS,ToReal(-0.333333333333333333333333333333)),eTzzL),ToReal(3.14159265358979323846264338328))))))))));
- CCTK_REAL_VEC Kdot11L CCTK_ATTRIBUTE_UNUSED =
- kmadd(G111,JacPDstandardNth1alpha,kmadd(G211,JacPDstandardNth2alpha,kmadd(G311,JacPDstandardNth3alpha,kmsub(alphaL,kmadd(trKL,K11,kmadd(kmadd(K11,Km11,kmadd(K12,Km12,kmul(K13,Km13))),ToReal(-2),R11)),JacPDstandardNth11alpha))));
-
- CCTK_REAL_VEC Kdot12L CCTK_ATTRIBUTE_UNUSED =
- kmadd(G112,JacPDstandardNth1alpha,kmadd(G212,JacPDstandardNth2alpha,kmadd(G312,JacPDstandardNth3alpha,kmsub(alphaL,kmadd(trKL,K12,kmadd(kmadd(K11,Km21,kmadd(K12,Km22,kmul(K13,Km23))),ToReal(-2),R12)),JacPDstandardNth12alpha))));
-
- CCTK_REAL_VEC Kdot13L CCTK_ATTRIBUTE_UNUSED =
- kmadd(G113,JacPDstandardNth1alpha,kmadd(G213,JacPDstandardNth2alpha,kmadd(G313,JacPDstandardNth3alpha,kmsub(alphaL,kmadd(trKL,K13,kmadd(kmadd(K11,Km31,kmadd(K12,Km32,kmul(K13,Km33))),ToReal(-2),R13)),JacPDstandardNth13alpha))));
-
- CCTK_REAL_VEC Kdot22L CCTK_ATTRIBUTE_UNUSED =
- kmadd(G122,JacPDstandardNth1alpha,kmadd(G222,JacPDstandardNth2alpha,kmadd(G322,JacPDstandardNth3alpha,kmsub(alphaL,kmadd(trKL,K22,kmadd(kmadd(K12,Km21,kmadd(K22,Km22,kmul(K23,Km23))),ToReal(-2),R22)),JacPDstandardNth22alpha))));
-
- CCTK_REAL_VEC Kdot23L CCTK_ATTRIBUTE_UNUSED =
- kmadd(G123,JacPDstandardNth1alpha,kmadd(G223,JacPDstandardNth2alpha,kmadd(G323,JacPDstandardNth3alpha,kmsub(alphaL,kmadd(trKL,K23,kmadd(kmadd(K12,Km31,kmadd(K22,Km32,kmul(K23,Km33))),ToReal(-2),R23)),JacPDstandardNth23alpha))));
-
- CCTK_REAL_VEC Kdot33L CCTK_ATTRIBUTE_UNUSED =
- kmadd(G133,JacPDstandardNth1alpha,kmadd(G233,JacPDstandardNth2alpha,kmadd(G333,JacPDstandardNth3alpha,kmsub(alphaL,kmadd(trKL,K33,kmadd(kmadd(K13,Km31,kmadd(K23,Km32,kmul(K33,Km33))),ToReal(-2),R33)),JacPDstandardNth33alpha))));
-
CCTK_REAL_VEC eta CCTK_ATTRIBUTE_UNUSED =
kdiv(ToReal(SpatialBetaDriverRadius),kfmax(rL,ToReal(SpatialBetaDriverRadius)));
@@ -2495,6 +2468,7 @@ static void ML_BSSN_RHS_Body(const cGH* restrict const cctkGH, const int dir, co
CCTK_REAL_VEC beta3rhsL CCTK_ATTRIBUTE_UNUSED;
if (harmonicShift)
+#if 0
{
beta1rhsL =
kmul(alphaL,kmul(em4phi,kmul(ToReal(-0.5),kmadd(gtu11,kmadd(alphaL,kmadd(kmadd(gtu11,JacPDstandardNth1gt11,kmadd(gtu12,kadd(JacPDstandardNth1gt12,JacPDstandardNth2gt11),kmadd(gtu22,JacPDstandardNth2gt12,kmadd(gtu13,kadd(JacPDstandardNth1gt13,JacPDstandardNth3gt11),kmadd(gtu23,kadd(JacPDstandardNth2gt13,JacPDstandardNth3gt12),kmadd(gtu33,JacPDstandardNth3gt13,kmul(JacPDstandardNth1phi,IfThen(conformalMethod
@@ -2523,19 +2497,57 @@ static void ML_BSSN_RHS_Body(const cGH* restrict const cctkGH, const int dir, co
==
1,kdiv(ToReal(1),phiL),ToReal(-2))))))))),ToReal(-2),Ddetgt3),kmul(JacPDstandardNth3alpha,ToReal(2)))))))));
}
+#else
+ {
+ double gu[3][3] = {{ gu11, gu12, gu13 },
+ { gu12, gu22, gu23 },
+ { gu13, gu23, gu33 }};
+ double G[3][3][3] = {{{ G111, G112, G113 },
+ { G112, G122, G123 },
+ { G113, G123, G133 }},
+ {{ G211, G212, G213 },
+ { G212, G222, G223 },
+ { G213, G223, G233 }},
+ {{ G311, G312, G313 },
+ { G312, G322, G323 },
+ { G313, G323, G333 }}};
+
+ double X1 = 0.0, X3 = 0.0;
+
+ double dux_alpha, duz_alpha;
+
+ for (int fn = 0; fn < 3; fn++)
+ for (int bz = 0; bz < 3; bz++) {
+ X1 += gu[fn][bz] * G[0][fn][bz];
+ X3 += gu[fn][bz] * G[2][fn][bz];
+ }
+
+ dux_alpha = gu[0][0] * PDstandardNth1alpha + gu[0][2] * PDstandardNth3alpha;
+ duz_alpha = gu[2][0] * PDstandardNth1alpha + gu[2][2] * PDstandardNth3alpha;
+
+ beta1rhsL = alphaL * alphaL * X1 - alphaL * dux_alpha - alphaL * BetaDriver * beta1L;
+ beta2rhsL = 0.0;
+ beta3rhsL = alphaL * alphaL * X3 - alphaL * duz_alpha - alphaL * BetaDriver * beta3L;
+ }
+#endif
else
{
- beta1rhsL =
- kmul(theta,kmul(kadd(Xt1L,kmadd(ksub(B1L,Xt1L),ToReal(ShiftBCoeff),kmul(beta1L,kmul(eta,ToReal(BetaDriver*(-1
- + ShiftBCoeff)))))),ToReal(ShiftGammaCoeff)));
-
- beta2rhsL =
- kmul(theta,kmul(kadd(Xt2L,kmadd(ksub(B2L,Xt2L),ToReal(ShiftBCoeff),kmul(beta2L,kmul(eta,ToReal(BetaDriver*(-1
- + ShiftBCoeff)))))),ToReal(ShiftGammaCoeff)));
-
- beta3rhsL =
- kmul(theta,kmul(kadd(Xt3L,kmadd(ksub(B3L,Xt3L),ToReal(ShiftBCoeff),kmul(beta3L,kmul(eta,ToReal(BetaDriver*(-1
- + ShiftBCoeff)))))),ToReal(ShiftGammaCoeff)));
+ double xx = x[index];
+ double zz = z[index];
+ double t = cctkGH->cctk_time;
+ //double rr = sqrt(xx * xx + zz * zz);
+ //double phi = atan2(zz, xx);
+
+ //double gauge_r = -20.0 * (1.0 + 0.0 * cos(2 * phi) * rr * rr) * rr / (1.0 + rr * rr * rr * rr);
+
+ beta1rhsL = theta * ShiftGammaCoeff *
+ (ShiftBCoeff * B1L + (1.0 - ShiftBCoeff) * (Xt1L - eta * BetaDriver * beta1L));
+
+ beta2rhsL = theta * ShiftGammaCoeff *
+ (ShiftBCoeff * B2L + (1.0 - ShiftBCoeff) * (Xt2L - eta * BetaDriver * beta2L));
+
+ beta3rhsL = theta * ShiftGammaCoeff *
+ (ShiftBCoeff * B3L + (1.0 - ShiftBCoeff) * (Xt3L - eta * BetaDriver * beta3L));
}
CCTK_REAL_VEC B1rhsL CCTK_ATTRIBUTE_UNUSED =
@@ -2567,13 +2579,6 @@ static void ML_BSSN_RHS_Body(const cGH* restrict const cctkGH, const int dir, co
vec_store_nta_partial(gt22rhs[index],gt22rhsL);
vec_store_nta_partial(gt23rhs[index],gt23rhsL);
vec_store_nta_partial(gt33rhs[index],gt33rhsL);
- vec_store_nta_partial(Kdot11[index],Kdot11L);
- vec_store_nta_partial(Kdot12[index],Kdot12L);
- vec_store_nta_partial(Kdot13[index],Kdot13L);
- vec_store_nta_partial(Kdot22[index],Kdot22L);
- vec_store_nta_partial(Kdot23[index],Kdot23L);
- vec_store_nta_partial(Kdot33[index],Kdot33L);
- vec_store_nta_partial(phidot[index],phidotL);
vec_store_nta_partial(phirhs[index],phirhsL);
vec_store_nta_partial(term1[index],term1L);
vec_store_nta_partial(term2[index],term2L);
@@ -2582,9 +2587,19 @@ static void ML_BSSN_RHS_Body(const cGH* restrict const cctkGH, const int dir, co
vec_store_nta_partial(Xt1rhs[index],Xt1rhsL);
vec_store_nta_partial(Xt2rhs[index],Xt2rhsL);
vec_store_nta_partial(Xt3rhs[index],Xt3rhsL);
- vec_store_nta_partial(Xtdot1[index],Xtdot1L);
- vec_store_nta_partial(Xtdot2[index],Xtdot2L);
- vec_store_nta_partial(Xtdot3[index],Xtdot3L);
+
+ //if (z[index] == 0.0 && x[index - 5] == 0.0) {
+ // fprintf(stderr, "%d %g", cctkGH->cctk_levfac[0], cctkGH->cctk_time);
+ // for (int i = 0; i < 5; i++) {
+ // double xx = x[index + i - 5];
+ // int origin = fabs(xx) < 1e-8;
+ // fprintf(stderr, " %16.16g ", PDstandardNthfdOrder433(&alpha[index + i - 5]));
+ // }
+ // fprintf(stderr, " | ");
+ // for (int i = 0; i < 5; i++)
+ // fprintf(stderr, " %g ", term1[index - 5 + i]);
+ // fprintf(stderr, "\n\n");
+ //}
}
CCTK_ENDLOOP3STR(ML_BSSN_RHS);
}
@@ -2605,60 +2620,6 @@ extern "C" void ML_BSSN_RHS(CCTK_ARGUMENTS)
return;
}
- const char* const groups[] = {
- "grid::coordinates",
- "ML_BSSN::ML_curv",
- "ML_BSSN::ML_curvrhs",
- "ML_BSSN::ML_dtshift",
- "ML_BSSN::ML_dtshiftrhs",
- "ML_BSSN::ML_Gamma",
- "ML_BSSN::ML_Gammarhs",
- "ML_BSSN::ML_Kdot",
- "ML_BSSN::ML_lapse",
- "ML_BSSN::ML_log_confac",
- "ML_BSSN::ML_log_confacrhs",
- "ML_BSSN::ML_metric",
- "ML_BSSN::ML_metricrhs",
- "ML_BSSN::ML_phidot",
- "ML_BSSN::ML_shift",
- "ML_BSSN::ML_shiftrhs",
- "ML_BSSN::ML_term1",
- "ML_BSSN::ML_term2",
- "ML_BSSN::ML_term3",
- "ML_BSSN::ML_trace_curv",
- "ML_BSSN::ML_trace_curvrhs",
- "ML_BSSN::ML_Xtdot"};
- GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_RHS", 22, groups);
-
- switch (fdOrder)
- {
- case 2:
- {
- GenericFD_EnsureStencilFits(cctkGH, "ML_BSSN_RHS", 1, 1, 1);
- break;
- }
-
- case 4:
- {
- GenericFD_EnsureStencilFits(cctkGH, "ML_BSSN_RHS", 2, 2, 2);
- break;
- }
-
- case 6:
- {
- GenericFD_EnsureStencilFits(cctkGH, "ML_BSSN_RHS", 3, 3, 3);
- break;
- }
-
- case 8:
- {
- GenericFD_EnsureStencilFits(cctkGH, "ML_BSSN_RHS", 4, 4, 4);
- break;
- }
- default:
- CCTK_BUILTIN_UNREACHABLE();
- }
-
GenericFD_LoopOverInterior(cctkGH, ML_BSSN_RHS_Body);
if (verbose > 1)
diff --git a/ML_BSSN/src/ML_BSSN_constraints.cc b/ML_BSSN/src/ML_BSSN_constraints.cc
index bcb7564..62f8953 100644
--- a/ML_BSSN/src/ML_BSSN_constraints.cc
+++ b/ML_BSSN/src/ML_BSSN_constraints.cc
@@ -1970,34 +1970,34 @@ extern "C" void ML_BSSN_constraints(CCTK_ARGUMENTS)
"ML_BSSN::ML_trace_curv"};
GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_constraints", 12, groups);
- switch (fdOrder)
- {
- case 2:
- {
- GenericFD_EnsureStencilFits(cctkGH, "ML_BSSN_constraints", 1, 1, 1);
- break;
- }
-
- case 4:
- {
- GenericFD_EnsureStencilFits(cctkGH, "ML_BSSN_constraints", 2, 2, 2);
- break;
- }
-
- case 6:
- {
- GenericFD_EnsureStencilFits(cctkGH, "ML_BSSN_constraints", 3, 3, 3);
- break;
- }
-
- case 8:
- {
- GenericFD_EnsureStencilFits(cctkGH, "ML_BSSN_constraints", 4, 4, 4);
- break;
- }
- default:
- CCTK_BUILTIN_UNREACHABLE();
- }
+ //switch (fdOrder)
+ //{
+ // case 2:
+ // {
+ // GenericFD_EnsureStencilFits(cctkGH, "ML_BSSN_constraints", 1, 1, 1);
+ // break;
+ // }
+ //
+ // case 4:
+ // {
+ // GenericFD_EnsureStencilFits(cctkGH, "ML_BSSN_constraints", 2, 2, 2);
+ // break;
+ // }
+ //
+ // case 6:
+ // {
+ // GenericFD_EnsureStencilFits(cctkGH, "ML_BSSN_constraints", 3, 3, 3);
+ // break;
+ // }
+ //
+ // case 8:
+ // {
+ // GenericFD_EnsureStencilFits(cctkGH, "ML_BSSN_constraints", 4, 4, 4);
+ // break;
+ // }
+ // default:
+ // CCTK_BUILTIN_UNREACHABLE();
+ //}
GenericFD_LoopOverInterior(cctkGH, ML_BSSN_constraints_Body);
diff --git a/ML_BSSN/src/ML_BSSN_convertFromADMBaseGamma.cc b/ML_BSSN/src/ML_BSSN_convertFromADMBaseGamma.cc
index 8c28e85..693b384 100644
--- a/ML_BSSN/src/ML_BSSN_convertFromADMBaseGamma.cc
+++ b/ML_BSSN/src/ML_BSSN_convertFromADMBaseGamma.cc
@@ -859,34 +859,34 @@ extern "C" void ML_BSSN_convertFromADMBaseGamma(CCTK_ARGUMENTS)
"ML_BSSN::ML_shift"};
GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_convertFromADMBaseGamma", 6, groups);
- switch (fdOrder)
- {
- case 2:
- {
- GenericFD_EnsureStencilFits(cctkGH, "ML_BSSN_convertFromADMBaseGamma", 2, 2, 2);
- break;
- }
-
- case 4:
- {
- GenericFD_EnsureStencilFits(cctkGH, "ML_BSSN_convertFromADMBaseGamma", 3, 3, 3);
- break;
- }
-
- case 6:
- {
- GenericFD_EnsureStencilFits(cctkGH, "ML_BSSN_convertFromADMBaseGamma", 4, 4, 4);
- break;
- }
-
- case 8:
- {
- GenericFD_EnsureStencilFits(cctkGH, "ML_BSSN_convertFromADMBaseGamma", 5, 5, 5);
- break;
- }
- default:
- CCTK_BUILTIN_UNREACHABLE();
- }
+ //switch (fdOrder)
+ //{
+ // case 2:
+ // {
+ // GenericFD_EnsureStencilFits(cctkGH, "ML_BSSN_convertFromADMBaseGamma", 2, 2, 2);
+ // break;
+ // }
+ //
+ // case 4:
+ // {
+ // GenericFD_EnsureStencilFits(cctkGH, "ML_BSSN_convertFromADMBaseGamma", 3, 3, 3);
+ // break;
+ // }
+ //
+ // case 6:
+ // {
+ // GenericFD_EnsureStencilFits(cctkGH, "ML_BSSN_convertFromADMBaseGamma", 4, 4, 4);
+ // break;
+ // }
+ //
+ // case 8:
+ // {
+ // GenericFD_EnsureStencilFits(cctkGH, "ML_BSSN_convertFromADMBaseGamma", 5, 5, 5);
+ // break;
+ // }
+ // default:
+ // CCTK_BUILTIN_UNREACHABLE();
+ //}
GenericFD_LoopOverInterior(cctkGH, ML_BSSN_convertFromADMBaseGamma_Body);
diff --git a/ML_BSSN/src/ML_BSSN_enforce.cc b/ML_BSSN/src/ML_BSSN_enforce.cc
index 30f7538..6f66d6d 100644
--- a/ML_BSSN/src/ML_BSSN_enforce.cc
+++ b/ML_BSSN/src/ML_BSSN_enforce.cc
@@ -214,6 +214,8 @@ static void ML_BSSN_enforce_Body(const cGH* restrict const cctkGH, const int dir
{
const ptrdiff_t index CCTK_ATTRIBUTE_UNUSED = di*i + dj*j + dk*k;
// vec_iter_counter+=CCTK_REAL_VEC_SIZE;
+ if (fabs(y[index]) > 1e-8)
+ continue;
/* Assign local copies of grid functions */
diff --git a/ML_BSSN/src/RegisterMoL.cc b/ML_BSSN/src/RegisterMoL.cc
index ee001ea..0a76a2f 100644
--- a/ML_BSSN/src/RegisterMoL.cc
+++ b/ML_BSSN/src/RegisterMoL.cc
@@ -24,7 +24,22 @@ extern "C" void ML_BSSN_RegisterVars(CCTK_ARGUMENTS)
ierr += MoLRegisterEvolved(CCTK_VarIndex("ML_BSSN::Xt1"), CCTK_VarIndex("ML_BSSN::Xt1rhs"));
ierr += MoLRegisterEvolved(CCTK_VarIndex("ML_BSSN::Xt2"), CCTK_VarIndex("ML_BSSN::Xt2rhs"));
ierr += MoLRegisterEvolved(CCTK_VarIndex("ML_BSSN::Xt3"), CCTK_VarIndex("ML_BSSN::Xt3rhs"));
- ierr += MoLRegisterEvolved(CCTK_VarIndex("ML_BSSN::alpha"), CCTK_VarIndex("ML_BSSN::alpharhs"));
+
+ if (CCTK_EQUALS(lapse_evolution_method, "ML_BSSN"))
+ ierr += MoLRegisterEvolved(CCTK_VarIndex("ML_BSSN::alpha"), CCTK_VarIndex("ML_BSSN::alpharhs"));
+ else
+ ierr += MoLRegisterConstrained(CCTK_VarIndex("ML_BSSN::alpha"));
+
+ if (CCTK_EQUALS(shift_evolution_method, "ML_BSSN")) {
+ ierr += MoLRegisterEvolved(CCTK_VarIndex("ML_BSSN::beta1"), CCTK_VarIndex("ML_BSSN::beta1rhs"));
+ ierr += MoLRegisterEvolved(CCTK_VarIndex("ML_BSSN::beta2"), CCTK_VarIndex("ML_BSSN::beta2rhs"));
+ ierr += MoLRegisterEvolved(CCTK_VarIndex("ML_BSSN::beta3"), CCTK_VarIndex("ML_BSSN::beta3rhs"));
+ } else {
+ ierr += MoLRegisterConstrained(CCTK_VarIndex("ML_BSSN::beta1"));
+ ierr += MoLRegisterConstrained(CCTK_VarIndex("ML_BSSN::beta2"));
+ ierr += MoLRegisterConstrained(CCTK_VarIndex("ML_BSSN::beta3"));
+ }
+
ierr += MoLRegisterEvolved(CCTK_VarIndex("ML_BSSN::phi"), CCTK_VarIndex("ML_BSSN::phirhs"));
ierr += MoLRegisterEvolved(CCTK_VarIndex("ML_BSSN::gt11"), CCTK_VarIndex("ML_BSSN::gt11rhs"));
ierr += MoLRegisterEvolved(CCTK_VarIndex("ML_BSSN::gt12"), CCTK_VarIndex("ML_BSSN::gt12rhs"));
@@ -32,9 +47,6 @@ extern "C" void ML_BSSN_RegisterVars(CCTK_ARGUMENTS)
ierr += MoLRegisterEvolved(CCTK_VarIndex("ML_BSSN::gt22"), CCTK_VarIndex("ML_BSSN::gt22rhs"));
ierr += MoLRegisterEvolved(CCTK_VarIndex("ML_BSSN::gt23"), CCTK_VarIndex("ML_BSSN::gt23rhs"));
ierr += MoLRegisterEvolved(CCTK_VarIndex("ML_BSSN::gt33"), CCTK_VarIndex("ML_BSSN::gt33rhs"));
- ierr += MoLRegisterEvolved(CCTK_VarIndex("ML_BSSN::beta1"), CCTK_VarIndex("ML_BSSN::beta1rhs"));
- ierr += MoLRegisterEvolved(CCTK_VarIndex("ML_BSSN::beta2"), CCTK_VarIndex("ML_BSSN::beta2rhs"));
- ierr += MoLRegisterEvolved(CCTK_VarIndex("ML_BSSN::beta3"), CCTK_VarIndex("ML_BSSN::beta3rhs"));
ierr += MoLRegisterEvolved(CCTK_VarIndex("ML_BSSN::trK"), CCTK_VarIndex("ML_BSSN::trKrhs"));
/* Register all the evolved Array functions with MoL */
diff --git a/ML_BSSN/src/RegisterSymmetries.cc b/ML_BSSN/src/RegisterSymmetries.cc
index 04db824..3dccb63 100644
--- a/ML_BSSN/src/RegisterSymmetries.cc
+++ b/ML_BSSN/src/RegisterSymmetries.cc
@@ -151,11 +151,6 @@ extern "C" void ML_BSSN_RegisterSymmetries(CCTK_ARGUMENTS)
sym[2] = -1;
SetCartSymVN(cctkGH, sym, "ML_BSSN::Xtdot3");
- sym[0] = 1;
- sym[1] = 1;
- sym[2] = 1;
- SetCartSymVN(cctkGH, sym, "ML_BSSN::phidot");
-
sym[0] = -1;
sym[1] = 1;
sym[2] = 1;
diff --git a/ML_BSSN/src/eval_timediff.cc b/ML_BSSN/src/eval_timediff.cc
new file mode 100644
index 0000000..46f7599
--- /dev/null
+++ b/ML_BSSN/src/eval_timediff.cc
@@ -0,0 +1,2607 @@
+/* File produced by Kranc */
+
+#define KRANC_C
+
+#include <assert.h>
+#include <math.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include "cctk.h"
+#include "cctk_Arguments.h"
+#include "cctk_Parameters.h"
+#include "GenericFD.h"
+#include "Differencing.h"
+#include "cctk_Loop.h"
+#include "loopcontrol.h"
+#include "vectors.h"
+
+/* Define macros used in calculations */
+#define INITVALUE (42)
+#define ScalarINV(x) ((CCTK_REAL)1.0 / (x))
+#define ScalarSQR(x) ((x) * (x))
+#define ScalarCUB(x) ((x) * ScalarSQR(x))
+#define ScalarQAD(x) (ScalarSQR(ScalarSQR(x)))
+#define INV(x) (kdiv(ToReal(1.0),x))
+#define SQR(x) (kmul(x,x))
+#define CUB(x) (kmul(x,SQR(x)))
+#define QAD(x) (SQR(SQR(x)))
+
+static void eval_timediff_body(const cGH* restrict const cctkGH, const int dir, const int face, const CCTK_REAL normal[3], const CCTK_REAL tangentA[3], const CCTK_REAL tangentB[3], const int imin[3], const int imax[3], const int n_subblock_gfs, CCTK_REAL* restrict const subblock_gfs[])
+{
+ DECLARE_CCTK_ARGUMENTS;
+ DECLARE_CCTK_PARAMETERS;
+
+
+ /* Include user-supplied include files */
+
+ /* Initialise finite differencing variables */
+ const ptrdiff_t di CCTK_ATTRIBUTE_UNUSED = 1;
+ const ptrdiff_t dj CCTK_ATTRIBUTE_UNUSED = CCTK_GFINDEX3D(cctkGH,0,1,0) - CCTK_GFINDEX3D(cctkGH,0,0,0);
+ const ptrdiff_t dk CCTK_ATTRIBUTE_UNUSED = CCTK_GFINDEX3D(cctkGH,0,0,1) - CCTK_GFINDEX3D(cctkGH,0,0,0);
+ const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * di;
+ const ptrdiff_t cdj CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * dj;
+ const ptrdiff_t cdk CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * dk;
+ const CCTK_REAL_VEC dx CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(0));
+ const CCTK_REAL_VEC dy CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(1));
+ const CCTK_REAL_VEC dz CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(2));
+ const CCTK_REAL_VEC dt CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_TIME);
+ const CCTK_REAL_VEC t CCTK_ATTRIBUTE_UNUSED = ToReal(cctk_time);
+ const CCTK_REAL_VEC dxi CCTK_ATTRIBUTE_UNUSED = INV(dx);
+ const CCTK_REAL_VEC dyi CCTK_ATTRIBUTE_UNUSED = INV(dy);
+ const CCTK_REAL_VEC dzi CCTK_ATTRIBUTE_UNUSED = INV(dz);
+ const CCTK_REAL_VEC khalf CCTK_ATTRIBUTE_UNUSED = ToReal(0.5);
+ const CCTK_REAL_VEC kthird CCTK_ATTRIBUTE_UNUSED =
+ ToReal(0.333333333333333333333333333333);
+ const CCTK_REAL_VEC ktwothird CCTK_ATTRIBUTE_UNUSED =
+ ToReal(0.666666666666666666666666666667);
+ const CCTK_REAL_VEC kfourthird CCTK_ATTRIBUTE_UNUSED =
+ ToReal(1.33333333333333333333333333333);
+ const CCTK_REAL_VEC hdxi CCTK_ATTRIBUTE_UNUSED =
+ kmul(dxi,ToReal(0.5));
+ const CCTK_REAL_VEC hdyi CCTK_ATTRIBUTE_UNUSED =
+ kmul(dyi,ToReal(0.5));
+ const CCTK_REAL_VEC hdzi CCTK_ATTRIBUTE_UNUSED =
+ kmul(dzi,ToReal(0.5));
+
+ /* Initialize predefined quantities */
+ const CCTK_REAL_VEC p1o1024dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dx);
+ const CCTK_REAL_VEC p1o1024dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dy);
+ const CCTK_REAL_VEC p1o1024dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dz);
+ const CCTK_REAL_VEC p1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dx);
+ const CCTK_REAL_VEC p1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dy);
+ const CCTK_REAL_VEC p1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dz);
+ const CCTK_REAL_VEC p1o12dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dx);
+ const CCTK_REAL_VEC p1o12dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dy);
+ const CCTK_REAL_VEC p1o12dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dz);
+ const CCTK_REAL_VEC p1o144dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dy,dx));
+ const CCTK_REAL_VEC p1o144dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dx));
+ const CCTK_REAL_VEC p1o144dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dy));
+ const CCTK_REAL_VEC p1o1680dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dx);
+ const CCTK_REAL_VEC p1o1680dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dy);
+ const CCTK_REAL_VEC p1o1680dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dz);
+ const CCTK_REAL_VEC p1o180dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dx,dx));
+ const CCTK_REAL_VEC p1o180dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dy,dy));
+ const CCTK_REAL_VEC p1o180dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dz,dz));
+ const CCTK_REAL_VEC p1o24dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dx);
+ const CCTK_REAL_VEC p1o24dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dy);
+ const CCTK_REAL_VEC p1o24dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dz);
+ const CCTK_REAL_VEC p1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dx);
+ const CCTK_REAL_VEC p1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dy);
+ const CCTK_REAL_VEC p1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dz);
+ const CCTK_REAL_VEC p1o3600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dy,dx));
+ const CCTK_REAL_VEC p1o3600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dx));
+ const CCTK_REAL_VEC p1o3600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dy));
+ const CCTK_REAL_VEC p1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dx);
+ const CCTK_REAL_VEC p1o4dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dy,dx));
+ const CCTK_REAL_VEC p1o4dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dx));
+ const CCTK_REAL_VEC p1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dy);
+ const CCTK_REAL_VEC p1o4dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dy));
+ const CCTK_REAL_VEC p1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dz);
+ const CCTK_REAL_VEC p1o5040dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dx,dx));
+ const CCTK_REAL_VEC p1o5040dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dy,dy));
+ const CCTK_REAL_VEC p1o5040dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dz,dz));
+ const CCTK_REAL_VEC p1o560dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dx);
+ const CCTK_REAL_VEC p1o560dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dy);
+ const CCTK_REAL_VEC p1o560dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dz);
+ const CCTK_REAL_VEC p1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dx);
+ const CCTK_REAL_VEC p1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dy);
+ const CCTK_REAL_VEC p1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dz);
+ const CCTK_REAL_VEC p1o64dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dx);
+ const CCTK_REAL_VEC p1o64dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dy);
+ const CCTK_REAL_VEC p1o64dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dz);
+ const CCTK_REAL_VEC p1o705600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dy,dx));
+ const CCTK_REAL_VEC p1o705600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dx));
+ const CCTK_REAL_VEC p1o705600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dy));
+ const CCTK_REAL_VEC p1o840dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dx);
+ const CCTK_REAL_VEC p1o840dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dy);
+ const CCTK_REAL_VEC p1o840dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dz);
+ const CCTK_REAL_VEC p1odx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dx);
+ const CCTK_REAL_VEC p1odx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dx,dx));
+ const CCTK_REAL_VEC p1ody CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dy);
+ const CCTK_REAL_VEC p1ody2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dy,dy));
+ const CCTK_REAL_VEC p1odz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dz);
+ const CCTK_REAL_VEC p1odz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dz,dz));
+ const CCTK_REAL_VEC pm1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dx);
+ const CCTK_REAL_VEC pm1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dy);
+ const CCTK_REAL_VEC pm1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dz);
+ const CCTK_REAL_VEC pm1o12dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dx,dx));
+ const CCTK_REAL_VEC pm1o12dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dy,dy));
+ const CCTK_REAL_VEC pm1o12dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dz,dz));
+ const CCTK_REAL_VEC pm1o16dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dx);
+ const CCTK_REAL_VEC pm1o16dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dy);
+ const CCTK_REAL_VEC pm1o16dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dz);
+ const CCTK_REAL_VEC pm1o256dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dx);
+ const CCTK_REAL_VEC pm1o256dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dy);
+ const CCTK_REAL_VEC pm1o256dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dz);
+ const CCTK_REAL_VEC pm1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dx);
+ const CCTK_REAL_VEC pm1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dy);
+ const CCTK_REAL_VEC pm1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dz);
+ const CCTK_REAL_VEC pm1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dx);
+ const CCTK_REAL_VEC pm1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dy);
+ const CCTK_REAL_VEC pm1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dz);
+ const CCTK_REAL_VEC pm1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dx);
+ const CCTK_REAL_VEC pm1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dy);
+ const CCTK_REAL_VEC pm1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dz);
+
+ /* Jacobian variable pointers */
+ const bool use_jacobian1 = (!CCTK_IsFunctionAliased("MultiPatch_GetMap") || MultiPatch_GetMap(cctkGH) != jacobian_identity_map)
+ && strlen(jacobian_group) > 0;
+ const bool use_jacobian = assume_use_jacobian>=0 ? assume_use_jacobian : use_jacobian1;
+ const bool usejacobian CCTK_ATTRIBUTE_UNUSED = use_jacobian;
+ if (use_jacobian && (strlen(jacobian_derivative_group) == 0))
+ {
+ CCTK_WARN(1, "GenericFD::jacobian_group and GenericFD::jacobian_derivative_group must both be set to valid group names");
+ }
+
+ const CCTK_REAL* restrict jacobian_ptrs[9];
+ if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_group,
+ 9, jacobian_ptrs);
+
+ const CCTK_REAL* restrict const J11 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[0] : 0;
+ const CCTK_REAL* restrict const J12 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[1] : 0;
+ const CCTK_REAL* restrict const J13 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[2] : 0;
+ const CCTK_REAL* restrict const J21 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[3] : 0;
+ const CCTK_REAL* restrict const J22 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[4] : 0;
+ const CCTK_REAL* restrict const J23 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[5] : 0;
+ const CCTK_REAL* restrict const J31 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[6] : 0;
+ const CCTK_REAL* restrict const J32 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[7] : 0;
+ const CCTK_REAL* restrict const J33 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[8] : 0;
+
+ const CCTK_REAL* restrict jacobian_derivative_ptrs[18] CCTK_ATTRIBUTE_UNUSED;
+ if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_derivative_group,
+ 18, jacobian_derivative_ptrs);
+
+ const CCTK_REAL* restrict const dJ111 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[0] : 0;
+ const CCTK_REAL* restrict const dJ112 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[1] : 0;
+ const CCTK_REAL* restrict const dJ113 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[2] : 0;
+ const CCTK_REAL* restrict const dJ122 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[3] : 0;
+ const CCTK_REAL* restrict const dJ123 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[4] : 0;
+ const CCTK_REAL* restrict const dJ133 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[5] : 0;
+ const CCTK_REAL* restrict const dJ211 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[6] : 0;
+ const CCTK_REAL* restrict const dJ212 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[7] : 0;
+ const CCTK_REAL* restrict const dJ213 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[8] : 0;
+ const CCTK_REAL* restrict const dJ222 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[9] : 0;
+ const CCTK_REAL* restrict const dJ223 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[10] : 0;
+ const CCTK_REAL* restrict const dJ233 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[11] : 0;
+ const CCTK_REAL* restrict const dJ311 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[12] : 0;
+ const CCTK_REAL* restrict const dJ312 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[13] : 0;
+ const CCTK_REAL* restrict const dJ313 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[14] : 0;
+ const CCTK_REAL* restrict const dJ322 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[15] : 0;
+ const CCTK_REAL* restrict const dJ323 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[16] : 0;
+ const CCTK_REAL* restrict const dJ333 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[17] : 0;
+
+ /* Assign local copies of arrays functions */
+
+
+
+ /* Calculate temporaries and arrays functions */
+
+ /* Copy local copies back to grid functions */
+
+ /* Loop over the grid points */
+ const int imin0=imin[0];
+ const int imin1=imin[1];
+ const int imin2=imin[2];
+ const int imax0=imax[0];
+ const int imax1=imax[1];
+ const int imax2=imax[2];
+ #pragma omp parallel // reduction(+: vec_iter_counter, vec_op_counter, vec_mem_counter)
+ CCTK_LOOP3STR(eval_timediff,
+ i,j,k, imin0,imin1,imin2, imax0,imax1,imax2,
+ cctk_ash[0],cctk_ash[1],cctk_ash[2],
+ vecimin,vecimax, CCTK_REAL_VEC_SIZE)
+ {
+ const ptrdiff_t index CCTK_ATTRIBUTE_UNUSED = di*i + dj*j + dk*k;
+ // vec_iter_counter+=CCTK_REAL_VEC_SIZE;
+ if (fabs(y[index]) > 1e-8)
+ continue;
+
+ /* Assign local copies of grid functions */
+
+ CCTK_REAL_VEC alphaL CCTK_ATTRIBUTE_UNUSED = vec_load(alpha[index]);
+ CCTK_REAL_VEC At11L CCTK_ATTRIBUTE_UNUSED = vec_load(At11[index]);
+ CCTK_REAL_VEC At12L CCTK_ATTRIBUTE_UNUSED = vec_load(At12[index]);
+ CCTK_REAL_VEC At13L CCTK_ATTRIBUTE_UNUSED = vec_load(At13[index]);
+ CCTK_REAL_VEC At22L CCTK_ATTRIBUTE_UNUSED = vec_load(At22[index]);
+ CCTK_REAL_VEC At23L CCTK_ATTRIBUTE_UNUSED = vec_load(At23[index]);
+ CCTK_REAL_VEC At33L CCTK_ATTRIBUTE_UNUSED = vec_load(At33[index]);
+ CCTK_REAL_VEC B1L CCTK_ATTRIBUTE_UNUSED = vec_load(B1[index]);
+ CCTK_REAL_VEC B2L CCTK_ATTRIBUTE_UNUSED = vec_load(B2[index]);
+ CCTK_REAL_VEC B3L CCTK_ATTRIBUTE_UNUSED = vec_load(B3[index]);
+ CCTK_REAL_VEC beta1L CCTK_ATTRIBUTE_UNUSED = vec_load(beta1[index]);
+ CCTK_REAL_VEC beta2L CCTK_ATTRIBUTE_UNUSED = vec_load(beta2[index]);
+ CCTK_REAL_VEC beta3L CCTK_ATTRIBUTE_UNUSED = vec_load(beta3[index]);
+ CCTK_REAL_VEC gt11L CCTK_ATTRIBUTE_UNUSED = vec_load(gt11[index]);
+ CCTK_REAL_VEC gt12L CCTK_ATTRIBUTE_UNUSED = vec_load(gt12[index]);
+ CCTK_REAL_VEC gt13L CCTK_ATTRIBUTE_UNUSED = vec_load(gt13[index]);
+ CCTK_REAL_VEC gt22L CCTK_ATTRIBUTE_UNUSED = vec_load(gt22[index]);
+ CCTK_REAL_VEC gt23L CCTK_ATTRIBUTE_UNUSED = vec_load(gt23[index]);
+ CCTK_REAL_VEC gt33L CCTK_ATTRIBUTE_UNUSED = vec_load(gt33[index]);
+ CCTK_REAL_VEC phiL CCTK_ATTRIBUTE_UNUSED = vec_load(phi[index]);
+ CCTK_REAL_VEC rL CCTK_ATTRIBUTE_UNUSED = vec_load(r[index]);
+ CCTK_REAL_VEC trKL CCTK_ATTRIBUTE_UNUSED = vec_load(trK[index]);
+ CCTK_REAL_VEC Xt1L CCTK_ATTRIBUTE_UNUSED = vec_load(Xt1[index]);
+ CCTK_REAL_VEC Xt2L CCTK_ATTRIBUTE_UNUSED = vec_load(Xt2[index]);
+ CCTK_REAL_VEC Xt3L CCTK_ATTRIBUTE_UNUSED = vec_load(Xt3[index]);
+
+ CCTK_REAL_VEC eTttL, eTtxL, eTtyL, eTtzL, eTxxL, eTxyL, eTxzL, eTyyL, eTyzL, eTzzL CCTK_ATTRIBUTE_UNUSED ;
+
+ double beta_term_val;
+
+
+ CCTK_REAL_VEC dJ111L, dJ112L, dJ113L, dJ122L, dJ123L, dJ133L, dJ211L, dJ212L, dJ213L, dJ222L, dJ223L, dJ233L, dJ311L, dJ312L, dJ313L, dJ322L, dJ323L, dJ333L, J11L, J12L, J13L, J21L, J22L, J23L, J31L, J32L, J33L CCTK_ATTRIBUTE_UNUSED ;
+
+ if (use_jacobian)
+ {
+ dJ111L = vec_load(dJ111[index]);
+ dJ112L = vec_load(dJ112[index]);
+ dJ113L = vec_load(dJ113[index]);
+ dJ122L = vec_load(dJ122[index]);
+ dJ123L = vec_load(dJ123[index]);
+ dJ133L = vec_load(dJ133[index]);
+ dJ211L = vec_load(dJ211[index]);
+ dJ212L = vec_load(dJ212[index]);
+ dJ213L = vec_load(dJ213[index]);
+ dJ222L = vec_load(dJ222[index]);
+ dJ223L = vec_load(dJ223[index]);
+ dJ233L = vec_load(dJ233[index]);
+ dJ311L = vec_load(dJ311[index]);
+ dJ312L = vec_load(dJ312[index]);
+ dJ313L = vec_load(dJ313[index]);
+ dJ322L = vec_load(dJ322[index]);
+ dJ323L = vec_load(dJ323[index]);
+ dJ333L = vec_load(dJ333[index]);
+ J11L = vec_load(J11[index]);
+ J12L = vec_load(J12[index]);
+ J13L = vec_load(J13[index]);
+ J21L = vec_load(J21[index]);
+ J22L = vec_load(J22[index]);
+ J23L = vec_load(J23[index]);
+ J31L = vec_load(J31[index]);
+ J32L = vec_load(J32[index]);
+ J33L = vec_load(J33[index]);
+ }
+
+ /* Include user supplied include files */
+
+ /* Precompute derivatives */
+ CCTK_REAL_VEC PDstandardNth1alpha CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth2alpha CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth3alpha CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth11alpha CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth22alpha CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth33alpha CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth12alpha CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth13alpha CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth23alpha CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth1beta1 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth2beta1 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth3beta1 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth11beta1 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth22beta1 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth33beta1 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth12beta1 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth13beta1 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth23beta1 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth1beta2 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth2beta2 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth3beta2 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth11beta2 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth22beta2 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth33beta2 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth12beta2 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth13beta2 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth23beta2 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth1beta3 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth2beta3 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth3beta3 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth11beta3 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth22beta3 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth33beta3 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth12beta3 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth13beta3 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth23beta3 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth1gt11 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth2gt11 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth3gt11 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth11gt11 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth22gt11 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth33gt11 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth12gt11 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth13gt11 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth23gt11 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth1gt12 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth2gt12 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth3gt12 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth11gt12 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth22gt12 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth33gt12 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth12gt12 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth13gt12 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth23gt12 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth1gt13 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth2gt13 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth3gt13 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth11gt13 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth22gt13 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth33gt13 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth12gt13 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth13gt13 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth23gt13 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth1gt22 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth2gt22 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth3gt22 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth11gt22 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth22gt22 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth33gt22 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth12gt22 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth13gt22 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth23gt22 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth1gt23 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth2gt23 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth3gt23 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth11gt23 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth22gt23 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth33gt23 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth12gt23 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth13gt23 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth23gt23 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth1gt33 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth2gt33 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth3gt33 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth11gt33 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth22gt33 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth33gt33 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth12gt33 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth13gt33 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth23gt33 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth1phi CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth2phi CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth3phi CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth11phi CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth22phi CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth33phi CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth12phi CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth13phi CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth23phi CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth1trK CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth2trK CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth3trK CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth1Xt1 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth2Xt1 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth3Xt1 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth1Xt2 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth2Xt2 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth3Xt2 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth1Xt3 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth2Xt3 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth3Xt3 CCTK_ATTRIBUTE_UNUSED;
+
+ switch (fdOrder)
+ {
+ case 2:
+ {
+ PDstandardNth1alpha = PDstandardNthfdOrder21(&alpha[index]);
+ PDstandardNth2alpha = PDstandardNthfdOrder22(&alpha[index]);
+ PDstandardNth3alpha = PDstandardNthfdOrder23(&alpha[index]);
+ PDstandardNth11alpha = PDstandardNthfdOrder211(&alpha[index]);
+ PDstandardNth22alpha = PDstandardNthfdOrder222(&alpha[index]);
+ PDstandardNth33alpha = PDstandardNthfdOrder233(&alpha[index]);
+ PDstandardNth12alpha = PDstandardNthfdOrder212(&alpha[index]);
+ PDstandardNth13alpha = PDstandardNthfdOrder213(&alpha[index]);
+ PDstandardNth23alpha = PDstandardNthfdOrder223(&alpha[index]);
+ PDstandardNth1beta1 = PDstandardNthfdOrder21(&beta1[index]);
+ PDstandardNth2beta1 = PDstandardNthfdOrder22(&beta1[index]);
+ PDstandardNth3beta1 = PDstandardNthfdOrder23(&beta1[index]);
+ PDstandardNth11beta1 = PDstandardNthfdOrder211(&beta1[index]);
+ PDstandardNth22beta1 = PDstandardNthfdOrder222(&beta1[index]);
+ PDstandardNth33beta1 = PDstandardNthfdOrder233(&beta1[index]);
+ PDstandardNth12beta1 = PDstandardNthfdOrder212(&beta1[index]);
+ PDstandardNth13beta1 = PDstandardNthfdOrder213(&beta1[index]);
+ PDstandardNth23beta1 = PDstandardNthfdOrder223(&beta1[index]);
+ PDstandardNth1beta2 = PDstandardNthfdOrder21(&beta2[index]);
+ PDstandardNth2beta2 = PDstandardNthfdOrder22(&beta2[index]);
+ PDstandardNth3beta2 = PDstandardNthfdOrder23(&beta2[index]);
+ PDstandardNth11beta2 = PDstandardNthfdOrder211(&beta2[index]);
+ PDstandardNth22beta2 = PDstandardNthfdOrder222(&beta2[index]);
+ PDstandardNth33beta2 = PDstandardNthfdOrder233(&beta2[index]);
+ PDstandardNth12beta2 = PDstandardNthfdOrder212(&beta2[index]);
+ PDstandardNth13beta2 = PDstandardNthfdOrder213(&beta2[index]);
+ PDstandardNth23beta2 = PDstandardNthfdOrder223(&beta2[index]);
+ PDstandardNth1beta3 = PDstandardNthfdOrder21(&beta3[index]);
+ PDstandardNth2beta3 = PDstandardNthfdOrder22(&beta3[index]);
+ PDstandardNth3beta3 = PDstandardNthfdOrder23(&beta3[index]);
+ PDstandardNth11beta3 = PDstandardNthfdOrder211(&beta3[index]);
+ PDstandardNth22beta3 = PDstandardNthfdOrder222(&beta3[index]);
+ PDstandardNth33beta3 = PDstandardNthfdOrder233(&beta3[index]);
+ PDstandardNth12beta3 = PDstandardNthfdOrder212(&beta3[index]);
+ PDstandardNth13beta3 = PDstandardNthfdOrder213(&beta3[index]);
+ PDstandardNth23beta3 = PDstandardNthfdOrder223(&beta3[index]);
+ PDstandardNth1gt11 = PDstandardNthfdOrder21(&gt11[index]);
+ PDstandardNth2gt11 = PDstandardNthfdOrder22(&gt11[index]);
+ PDstandardNth3gt11 = PDstandardNthfdOrder23(&gt11[index]);
+ PDstandardNth11gt11 = PDstandardNthfdOrder211(&gt11[index]);
+ PDstandardNth22gt11 = PDstandardNthfdOrder222(&gt11[index]);
+ PDstandardNth33gt11 = PDstandardNthfdOrder233(&gt11[index]);
+ PDstandardNth12gt11 = PDstandardNthfdOrder212(&gt11[index]);
+ PDstandardNth13gt11 = PDstandardNthfdOrder213(&gt11[index]);
+ PDstandardNth23gt11 = PDstandardNthfdOrder223(&gt11[index]);
+ PDstandardNth1gt12 = PDstandardNthfdOrder21(&gt12[index]);
+ PDstandardNth2gt12 = PDstandardNthfdOrder22(&gt12[index]);
+ PDstandardNth3gt12 = PDstandardNthfdOrder23(&gt12[index]);
+ PDstandardNth11gt12 = PDstandardNthfdOrder211(&gt12[index]);
+ PDstandardNth22gt12 = PDstandardNthfdOrder222(&gt12[index]);
+ PDstandardNth33gt12 = PDstandardNthfdOrder233(&gt12[index]);
+ PDstandardNth12gt12 = PDstandardNthfdOrder212(&gt12[index]);
+ PDstandardNth13gt12 = PDstandardNthfdOrder213(&gt12[index]);
+ PDstandardNth23gt12 = PDstandardNthfdOrder223(&gt12[index]);
+ PDstandardNth1gt13 = PDstandardNthfdOrder21(&gt13[index]);
+ PDstandardNth2gt13 = PDstandardNthfdOrder22(&gt13[index]);
+ PDstandardNth3gt13 = PDstandardNthfdOrder23(&gt13[index]);
+ PDstandardNth11gt13 = PDstandardNthfdOrder211(&gt13[index]);
+ PDstandardNth22gt13 = PDstandardNthfdOrder222(&gt13[index]);
+ PDstandardNth33gt13 = PDstandardNthfdOrder233(&gt13[index]);
+ PDstandardNth12gt13 = PDstandardNthfdOrder212(&gt13[index]);
+ PDstandardNth13gt13 = PDstandardNthfdOrder213(&gt13[index]);
+ PDstandardNth23gt13 = PDstandardNthfdOrder223(&gt13[index]);
+ PDstandardNth1gt22 = PDstandardNthfdOrder21(&gt22[index]);
+ PDstandardNth2gt22 = PDstandardNthfdOrder22(&gt22[index]);
+ PDstandardNth3gt22 = PDstandardNthfdOrder23(&gt22[index]);
+ PDstandardNth11gt22 = PDstandardNthfdOrder211(&gt22[index]);
+ PDstandardNth22gt22 = PDstandardNthfdOrder222(&gt22[index]);
+ PDstandardNth33gt22 = PDstandardNthfdOrder233(&gt22[index]);
+ PDstandardNth12gt22 = PDstandardNthfdOrder212(&gt22[index]);
+ PDstandardNth13gt22 = PDstandardNthfdOrder213(&gt22[index]);
+ PDstandardNth23gt22 = PDstandardNthfdOrder223(&gt22[index]);
+ PDstandardNth1gt23 = PDstandardNthfdOrder21(&gt23[index]);
+ PDstandardNth2gt23 = PDstandardNthfdOrder22(&gt23[index]);
+ PDstandardNth3gt23 = PDstandardNthfdOrder23(&gt23[index]);
+ PDstandardNth11gt23 = PDstandardNthfdOrder211(&gt23[index]);
+ PDstandardNth22gt23 = PDstandardNthfdOrder222(&gt23[index]);
+ PDstandardNth33gt23 = PDstandardNthfdOrder233(&gt23[index]);
+ PDstandardNth12gt23 = PDstandardNthfdOrder212(&gt23[index]);
+ PDstandardNth13gt23 = PDstandardNthfdOrder213(&gt23[index]);
+ PDstandardNth23gt23 = PDstandardNthfdOrder223(&gt23[index]);
+ PDstandardNth1gt33 = PDstandardNthfdOrder21(&gt33[index]);
+ PDstandardNth2gt33 = PDstandardNthfdOrder22(&gt33[index]);
+ PDstandardNth3gt33 = PDstandardNthfdOrder23(&gt33[index]);
+ PDstandardNth11gt33 = PDstandardNthfdOrder211(&gt33[index]);
+ PDstandardNth22gt33 = PDstandardNthfdOrder222(&gt33[index]);
+ PDstandardNth33gt33 = PDstandardNthfdOrder233(&gt33[index]);
+ PDstandardNth12gt33 = PDstandardNthfdOrder212(&gt33[index]);
+ PDstandardNth13gt33 = PDstandardNthfdOrder213(&gt33[index]);
+ PDstandardNth23gt33 = PDstandardNthfdOrder223(&gt33[index]);
+ PDstandardNth1phi = PDstandardNthfdOrder21(&phi[index]);
+ PDstandardNth2phi = PDstandardNthfdOrder22(&phi[index]);
+ PDstandardNth3phi = PDstandardNthfdOrder23(&phi[index]);
+ PDstandardNth11phi = PDstandardNthfdOrder211(&phi[index]);
+ PDstandardNth22phi = PDstandardNthfdOrder222(&phi[index]);
+ PDstandardNth33phi = PDstandardNthfdOrder233(&phi[index]);
+ PDstandardNth12phi = PDstandardNthfdOrder212(&phi[index]);
+ PDstandardNth13phi = PDstandardNthfdOrder213(&phi[index]);
+ PDstandardNth23phi = PDstandardNthfdOrder223(&phi[index]);
+ PDstandardNth1trK = PDstandardNthfdOrder21(&trK[index]);
+ PDstandardNth2trK = PDstandardNthfdOrder22(&trK[index]);
+ PDstandardNth3trK = PDstandardNthfdOrder23(&trK[index]);
+ PDstandardNth1Xt1 = PDstandardNthfdOrder21(&Xt1[index]);
+ PDstandardNth2Xt1 = PDstandardNthfdOrder22(&Xt1[index]);
+ PDstandardNth3Xt1 = PDstandardNthfdOrder23(&Xt1[index]);
+ PDstandardNth1Xt2 = PDstandardNthfdOrder21(&Xt2[index]);
+ PDstandardNth2Xt2 = PDstandardNthfdOrder22(&Xt2[index]);
+ PDstandardNth3Xt2 = PDstandardNthfdOrder23(&Xt2[index]);
+ PDstandardNth1Xt3 = PDstandardNthfdOrder21(&Xt3[index]);
+ PDstandardNth2Xt3 = PDstandardNthfdOrder22(&Xt3[index]);
+ PDstandardNth3Xt3 = PDstandardNthfdOrder23(&Xt3[index]);
+ break;
+ }
+
+ case 4:
+ {
+ PDstandardNth1alpha = PDstandardNthfdOrder41(&alpha[index]);
+ PDstandardNth2alpha = PDstandardNthfdOrder42(&alpha[index]);
+ PDstandardNth3alpha = PDstandardNthfdOrder43(&alpha[index]);
+ PDstandardNth11alpha = PDstandardNthfdOrder411(&alpha[index]);
+ PDstandardNth22alpha = PDstandardNthfdOrder422(&alpha[index]);
+ PDstandardNth33alpha = PDstandardNthfdOrder433(&alpha[index]);
+ PDstandardNth12alpha = PDstandardNthfdOrder412(&alpha[index]);
+ PDstandardNth13alpha = PDstandardNthfdOrder413(&alpha[index]);
+ PDstandardNth23alpha = PDstandardNthfdOrder423(&alpha[index]);
+ PDstandardNth1beta1 = PDstandardNthfdOrder41(&beta1[index]);
+ PDstandardNth2beta1 = PDstandardNthfdOrder42(&beta1[index]);
+ PDstandardNth3beta1 = PDstandardNthfdOrder43(&beta1[index]);
+ PDstandardNth11beta1 = PDstandardNthfdOrder411(&beta1[index]);
+ PDstandardNth22beta1 = PDstandardNthfdOrder422(&beta1[index]);
+ PDstandardNth33beta1 = PDstandardNthfdOrder433(&beta1[index]);
+ PDstandardNth12beta1 = PDstandardNthfdOrder412(&beta1[index]);
+ PDstandardNth13beta1 = PDstandardNthfdOrder413(&beta1[index]);
+ PDstandardNth23beta1 = PDstandardNthfdOrder423(&beta1[index]);
+ PDstandardNth1beta2 = PDstandardNthfdOrder41(&beta2[index]);
+ PDstandardNth2beta2 = PDstandardNthfdOrder42(&beta2[index]);
+ PDstandardNth3beta2 = PDstandardNthfdOrder43(&beta2[index]);
+ PDstandardNth11beta2 = PDstandardNthfdOrder411(&beta2[index]);
+ PDstandardNth22beta2 = PDstandardNthfdOrder422(&beta2[index]);
+ PDstandardNth33beta2 = PDstandardNthfdOrder433(&beta2[index]);
+ PDstandardNth12beta2 = PDstandardNthfdOrder412(&beta2[index]);
+ PDstandardNth13beta2 = PDstandardNthfdOrder413(&beta2[index]);
+ PDstandardNth23beta2 = PDstandardNthfdOrder423(&beta2[index]);
+ PDstandardNth1beta3 = PDstandardNthfdOrder41(&beta3[index]);
+ PDstandardNth2beta3 = PDstandardNthfdOrder42(&beta3[index]);
+ PDstandardNth3beta3 = PDstandardNthfdOrder43(&beta3[index]);
+ PDstandardNth11beta3 = PDstandardNthfdOrder411(&beta3[index]);
+ PDstandardNth22beta3 = PDstandardNthfdOrder422(&beta3[index]);
+ PDstandardNth33beta3 = PDstandardNthfdOrder433(&beta3[index]);
+ PDstandardNth12beta3 = PDstandardNthfdOrder412(&beta3[index]);
+ PDstandardNth13beta3 = PDstandardNthfdOrder413(&beta3[index]);
+ PDstandardNth23beta3 = PDstandardNthfdOrder423(&beta3[index]);
+ PDstandardNth1gt11 = PDstandardNthfdOrder41(&gt11[index]);
+ PDstandardNth2gt11 = PDstandardNthfdOrder42(&gt11[index]);
+ PDstandardNth3gt11 = PDstandardNthfdOrder43(&gt11[index]);
+ PDstandardNth11gt11 = PDstandardNthfdOrder411(&gt11[index]);
+ PDstandardNth22gt11 = PDstandardNthfdOrder422(&gt11[index]);
+ PDstandardNth33gt11 = PDstandardNthfdOrder433(&gt11[index]);
+ PDstandardNth12gt11 = PDstandardNthfdOrder412(&gt11[index]);
+ PDstandardNth13gt11 = PDstandardNthfdOrder413(&gt11[index]);
+ PDstandardNth23gt11 = PDstandardNthfdOrder423(&gt11[index]);
+ PDstandardNth1gt12 = PDstandardNthfdOrder41(&gt12[index]);
+ PDstandardNth2gt12 = PDstandardNthfdOrder42(&gt12[index]);
+ PDstandardNth3gt12 = PDstandardNthfdOrder43(&gt12[index]);
+ PDstandardNth11gt12 = PDstandardNthfdOrder411(&gt12[index]);
+ PDstandardNth22gt12 = PDstandardNthfdOrder422(&gt12[index]);
+ PDstandardNth33gt12 = PDstandardNthfdOrder433(&gt12[index]);
+ PDstandardNth12gt12 = PDstandardNthfdOrder412(&gt12[index]);
+ PDstandardNth13gt12 = PDstandardNthfdOrder413(&gt12[index]);
+ PDstandardNth23gt12 = PDstandardNthfdOrder423(&gt12[index]);
+ PDstandardNth1gt13 = PDstandardNthfdOrder41(&gt13[index]);
+ PDstandardNth2gt13 = PDstandardNthfdOrder42(&gt13[index]);
+ PDstandardNth3gt13 = PDstandardNthfdOrder43(&gt13[index]);
+ PDstandardNth11gt13 = PDstandardNthfdOrder411(&gt13[index]);
+ PDstandardNth22gt13 = PDstandardNthfdOrder422(&gt13[index]);
+ PDstandardNth33gt13 = PDstandardNthfdOrder433(&gt13[index]);
+ PDstandardNth12gt13 = PDstandardNthfdOrder412(&gt13[index]);
+ PDstandardNth13gt13 = PDstandardNthfdOrder413(&gt13[index]);
+ PDstandardNth23gt13 = PDstandardNthfdOrder423(&gt13[index]);
+ PDstandardNth1gt22 = PDstandardNthfdOrder41(&gt22[index]);
+ PDstandardNth2gt22 = PDstandardNthfdOrder42(&gt22[index]);
+ PDstandardNth3gt22 = PDstandardNthfdOrder43(&gt22[index]);
+ PDstandardNth11gt22 = PDstandardNthfdOrder411(&gt22[index]);
+ PDstandardNth22gt22 = PDstandardNthfdOrder422(&gt22[index]);
+ PDstandardNth33gt22 = PDstandardNthfdOrder433(&gt22[index]);
+ PDstandardNth12gt22 = PDstandardNthfdOrder412(&gt22[index]);
+ PDstandardNth13gt22 = PDstandardNthfdOrder413(&gt22[index]);
+ PDstandardNth23gt22 = PDstandardNthfdOrder423(&gt22[index]);
+ PDstandardNth1gt23 = PDstandardNthfdOrder41(&gt23[index]);
+ PDstandardNth2gt23 = PDstandardNthfdOrder42(&gt23[index]);
+ PDstandardNth3gt23 = PDstandardNthfdOrder43(&gt23[index]);
+ PDstandardNth11gt23 = PDstandardNthfdOrder411(&gt23[index]);
+ PDstandardNth22gt23 = PDstandardNthfdOrder422(&gt23[index]);
+ PDstandardNth33gt23 = PDstandardNthfdOrder433(&gt23[index]);
+ PDstandardNth12gt23 = PDstandardNthfdOrder412(&gt23[index]);
+ PDstandardNth13gt23 = PDstandardNthfdOrder413(&gt23[index]);
+ PDstandardNth23gt23 = PDstandardNthfdOrder423(&gt23[index]);
+ PDstandardNth1gt33 = PDstandardNthfdOrder41(&gt33[index]);
+ PDstandardNth2gt33 = PDstandardNthfdOrder42(&gt33[index]);
+ PDstandardNth3gt33 = PDstandardNthfdOrder43(&gt33[index]);
+ PDstandardNth11gt33 = PDstandardNthfdOrder411(&gt33[index]);
+ PDstandardNth22gt33 = PDstandardNthfdOrder422(&gt33[index]);
+ PDstandardNth33gt33 = PDstandardNthfdOrder433(&gt33[index]);
+ PDstandardNth12gt33 = PDstandardNthfdOrder412(&gt33[index]);
+ PDstandardNth13gt33 = PDstandardNthfdOrder413(&gt33[index]);
+ PDstandardNth23gt33 = PDstandardNthfdOrder423(&gt33[index]);
+ PDstandardNth1phi = PDstandardNthfdOrder41(&phi[index]);
+ PDstandardNth2phi = PDstandardNthfdOrder42(&phi[index]);
+ PDstandardNth3phi = PDstandardNthfdOrder43(&phi[index]);
+ PDstandardNth11phi = PDstandardNthfdOrder411(&phi[index]);
+ PDstandardNth22phi = PDstandardNthfdOrder422(&phi[index]);
+ PDstandardNth33phi = PDstandardNthfdOrder433(&phi[index]);
+ PDstandardNth12phi = PDstandardNthfdOrder412(&phi[index]);
+ PDstandardNth13phi = PDstandardNthfdOrder413(&phi[index]);
+ PDstandardNth23phi = PDstandardNthfdOrder423(&phi[index]);
+ PDstandardNth1trK = PDstandardNthfdOrder41(&trK[index]);
+ PDstandardNth2trK = PDstandardNthfdOrder42(&trK[index]);
+ PDstandardNth3trK = PDstandardNthfdOrder43(&trK[index]);
+ PDstandardNth1Xt1 = PDstandardNthfdOrder41(&Xt1[index]);
+ PDstandardNth2Xt1 = PDstandardNthfdOrder42(&Xt1[index]);
+ PDstandardNth3Xt1 = PDstandardNthfdOrder43(&Xt1[index]);
+ PDstandardNth1Xt2 = PDstandardNthfdOrder41(&Xt2[index]);
+ PDstandardNth2Xt2 = PDstandardNthfdOrder42(&Xt2[index]);
+ PDstandardNth3Xt2 = PDstandardNthfdOrder43(&Xt2[index]);
+ PDstandardNth1Xt3 = PDstandardNthfdOrder41(&Xt3[index]);
+ PDstandardNth2Xt3 = PDstandardNthfdOrder42(&Xt3[index]);
+ PDstandardNth3Xt3 = PDstandardNthfdOrder43(&Xt3[index]);
+ break;
+ }
+
+ case 6:
+ {
+ PDstandardNth1alpha = PDstandardNthfdOrder61(&alpha[index]);
+ PDstandardNth2alpha = PDstandardNthfdOrder62(&alpha[index]);
+ PDstandardNth3alpha = PDstandardNthfdOrder63(&alpha[index]);
+ PDstandardNth11alpha = PDstandardNthfdOrder611(&alpha[index]);
+ PDstandardNth22alpha = PDstandardNthfdOrder622(&alpha[index]);
+ PDstandardNth33alpha = PDstandardNthfdOrder633(&alpha[index]);
+ PDstandardNth12alpha = PDstandardNthfdOrder612(&alpha[index]);
+ PDstandardNth13alpha = PDstandardNthfdOrder613(&alpha[index]);
+ PDstandardNth23alpha = PDstandardNthfdOrder623(&alpha[index]);
+ PDstandardNth1beta1 = PDstandardNthfdOrder61(&beta1[index]);
+ PDstandardNth2beta1 = PDstandardNthfdOrder62(&beta1[index]);
+ PDstandardNth3beta1 = PDstandardNthfdOrder63(&beta1[index]);
+ PDstandardNth11beta1 = PDstandardNthfdOrder611(&beta1[index]);
+ PDstandardNth22beta1 = PDstandardNthfdOrder622(&beta1[index]);
+ PDstandardNth33beta1 = PDstandardNthfdOrder633(&beta1[index]);
+ PDstandardNth12beta1 = PDstandardNthfdOrder612(&beta1[index]);
+ PDstandardNth13beta1 = PDstandardNthfdOrder613(&beta1[index]);
+ PDstandardNth23beta1 = PDstandardNthfdOrder623(&beta1[index]);
+ PDstandardNth1beta2 = PDstandardNthfdOrder61(&beta2[index]);
+ PDstandardNth2beta2 = PDstandardNthfdOrder62(&beta2[index]);
+ PDstandardNth3beta2 = PDstandardNthfdOrder63(&beta2[index]);
+ PDstandardNth11beta2 = PDstandardNthfdOrder611(&beta2[index]);
+ PDstandardNth22beta2 = PDstandardNthfdOrder622(&beta2[index]);
+ PDstandardNth33beta2 = PDstandardNthfdOrder633(&beta2[index]);
+ PDstandardNth12beta2 = PDstandardNthfdOrder612(&beta2[index]);
+ PDstandardNth13beta2 = PDstandardNthfdOrder613(&beta2[index]);
+ PDstandardNth23beta2 = PDstandardNthfdOrder623(&beta2[index]);
+ PDstandardNth1beta3 = PDstandardNthfdOrder61(&beta3[index]);
+ PDstandardNth2beta3 = PDstandardNthfdOrder62(&beta3[index]);
+ PDstandardNth3beta3 = PDstandardNthfdOrder63(&beta3[index]);
+ PDstandardNth11beta3 = PDstandardNthfdOrder611(&beta3[index]);
+ PDstandardNth22beta3 = PDstandardNthfdOrder622(&beta3[index]);
+ PDstandardNth33beta3 = PDstandardNthfdOrder633(&beta3[index]);
+ PDstandardNth12beta3 = PDstandardNthfdOrder612(&beta3[index]);
+ PDstandardNth13beta3 = PDstandardNthfdOrder613(&beta3[index]);
+ PDstandardNth23beta3 = PDstandardNthfdOrder623(&beta3[index]);
+ PDstandardNth1gt11 = PDstandardNthfdOrder61(&gt11[index]);
+ PDstandardNth2gt11 = PDstandardNthfdOrder62(&gt11[index]);
+ PDstandardNth3gt11 = PDstandardNthfdOrder63(&gt11[index]);
+ PDstandardNth11gt11 = PDstandardNthfdOrder611(&gt11[index]);
+ PDstandardNth22gt11 = PDstandardNthfdOrder622(&gt11[index]);
+ PDstandardNth33gt11 = PDstandardNthfdOrder633(&gt11[index]);
+ PDstandardNth12gt11 = PDstandardNthfdOrder612(&gt11[index]);
+ PDstandardNth13gt11 = PDstandardNthfdOrder613(&gt11[index]);
+ PDstandardNth23gt11 = PDstandardNthfdOrder623(&gt11[index]);
+ PDstandardNth1gt12 = PDstandardNthfdOrder61(&gt12[index]);
+ PDstandardNth2gt12 = PDstandardNthfdOrder62(&gt12[index]);
+ PDstandardNth3gt12 = PDstandardNthfdOrder63(&gt12[index]);
+ PDstandardNth11gt12 = PDstandardNthfdOrder611(&gt12[index]);
+ PDstandardNth22gt12 = PDstandardNthfdOrder622(&gt12[index]);
+ PDstandardNth33gt12 = PDstandardNthfdOrder633(&gt12[index]);
+ PDstandardNth12gt12 = PDstandardNthfdOrder612(&gt12[index]);
+ PDstandardNth13gt12 = PDstandardNthfdOrder613(&gt12[index]);
+ PDstandardNth23gt12 = PDstandardNthfdOrder623(&gt12[index]);
+ PDstandardNth1gt13 = PDstandardNthfdOrder61(&gt13[index]);
+ PDstandardNth2gt13 = PDstandardNthfdOrder62(&gt13[index]);
+ PDstandardNth3gt13 = PDstandardNthfdOrder63(&gt13[index]);
+ PDstandardNth11gt13 = PDstandardNthfdOrder611(&gt13[index]);
+ PDstandardNth22gt13 = PDstandardNthfdOrder622(&gt13[index]);
+ PDstandardNth33gt13 = PDstandardNthfdOrder633(&gt13[index]);
+ PDstandardNth12gt13 = PDstandardNthfdOrder612(&gt13[index]);
+ PDstandardNth13gt13 = PDstandardNthfdOrder613(&gt13[index]);
+ PDstandardNth23gt13 = PDstandardNthfdOrder623(&gt13[index]);
+ PDstandardNth1gt22 = PDstandardNthfdOrder61(&gt22[index]);
+ PDstandardNth2gt22 = PDstandardNthfdOrder62(&gt22[index]);
+ PDstandardNth3gt22 = PDstandardNthfdOrder63(&gt22[index]);
+ PDstandardNth11gt22 = PDstandardNthfdOrder611(&gt22[index]);
+ PDstandardNth22gt22 = PDstandardNthfdOrder622(&gt22[index]);
+ PDstandardNth33gt22 = PDstandardNthfdOrder633(&gt22[index]);
+ PDstandardNth12gt22 = PDstandardNthfdOrder612(&gt22[index]);
+ PDstandardNth13gt22 = PDstandardNthfdOrder613(&gt22[index]);
+ PDstandardNth23gt22 = PDstandardNthfdOrder623(&gt22[index]);
+ PDstandardNth1gt23 = PDstandardNthfdOrder61(&gt23[index]);
+ PDstandardNth2gt23 = PDstandardNthfdOrder62(&gt23[index]);
+ PDstandardNth3gt23 = PDstandardNthfdOrder63(&gt23[index]);
+ PDstandardNth11gt23 = PDstandardNthfdOrder611(&gt23[index]);
+ PDstandardNth22gt23 = PDstandardNthfdOrder622(&gt23[index]);
+ PDstandardNth33gt23 = PDstandardNthfdOrder633(&gt23[index]);
+ PDstandardNth12gt23 = PDstandardNthfdOrder612(&gt23[index]);
+ PDstandardNth13gt23 = PDstandardNthfdOrder613(&gt23[index]);
+ PDstandardNth23gt23 = PDstandardNthfdOrder623(&gt23[index]);
+ PDstandardNth1gt33 = PDstandardNthfdOrder61(&gt33[index]);
+ PDstandardNth2gt33 = PDstandardNthfdOrder62(&gt33[index]);
+ PDstandardNth3gt33 = PDstandardNthfdOrder63(&gt33[index]);
+ PDstandardNth11gt33 = PDstandardNthfdOrder611(&gt33[index]);
+ PDstandardNth22gt33 = PDstandardNthfdOrder622(&gt33[index]);
+ PDstandardNth33gt33 = PDstandardNthfdOrder633(&gt33[index]);
+ PDstandardNth12gt33 = PDstandardNthfdOrder612(&gt33[index]);
+ PDstandardNth13gt33 = PDstandardNthfdOrder613(&gt33[index]);
+ PDstandardNth23gt33 = PDstandardNthfdOrder623(&gt33[index]);
+ PDstandardNth1phi = PDstandardNthfdOrder61(&phi[index]);
+ PDstandardNth2phi = PDstandardNthfdOrder62(&phi[index]);
+ PDstandardNth3phi = PDstandardNthfdOrder63(&phi[index]);
+ PDstandardNth11phi = PDstandardNthfdOrder611(&phi[index]);
+ PDstandardNth22phi = PDstandardNthfdOrder622(&phi[index]);
+ PDstandardNth33phi = PDstandardNthfdOrder633(&phi[index]);
+ PDstandardNth12phi = PDstandardNthfdOrder612(&phi[index]);
+ PDstandardNth13phi = PDstandardNthfdOrder613(&phi[index]);
+ PDstandardNth23phi = PDstandardNthfdOrder623(&phi[index]);
+ PDstandardNth1trK = PDstandardNthfdOrder61(&trK[index]);
+ PDstandardNth2trK = PDstandardNthfdOrder62(&trK[index]);
+ PDstandardNth3trK = PDstandardNthfdOrder63(&trK[index]);
+ PDstandardNth1Xt1 = PDstandardNthfdOrder61(&Xt1[index]);
+ PDstandardNth2Xt1 = PDstandardNthfdOrder62(&Xt1[index]);
+ PDstandardNth3Xt1 = PDstandardNthfdOrder63(&Xt1[index]);
+ PDstandardNth1Xt2 = PDstandardNthfdOrder61(&Xt2[index]);
+ PDstandardNth2Xt2 = PDstandardNthfdOrder62(&Xt2[index]);
+ PDstandardNth3Xt2 = PDstandardNthfdOrder63(&Xt2[index]);
+ PDstandardNth1Xt3 = PDstandardNthfdOrder61(&Xt3[index]);
+ PDstandardNth2Xt3 = PDstandardNthfdOrder62(&Xt3[index]);
+ PDstandardNth3Xt3 = PDstandardNthfdOrder63(&Xt3[index]);
+ break;
+ }
+
+ case 8:
+ {
+ PDstandardNth1alpha = PDstandardNthfdOrder81(&alpha[index]);
+ PDstandardNth2alpha = PDstandardNthfdOrder82(&alpha[index]);
+ PDstandardNth3alpha = PDstandardNthfdOrder83(&alpha[index]);
+ PDstandardNth11alpha = PDstandardNthfdOrder811(&alpha[index]);
+ PDstandardNth22alpha = PDstandardNthfdOrder822(&alpha[index]);
+ PDstandardNth33alpha = PDstandardNthfdOrder833(&alpha[index]);
+ PDstandardNth12alpha = PDstandardNthfdOrder812(&alpha[index]);
+ PDstandardNth13alpha = PDstandardNthfdOrder813(&alpha[index]);
+ PDstandardNth23alpha = PDstandardNthfdOrder823(&alpha[index]);
+ PDstandardNth1beta1 = PDstandardNthfdOrder81(&beta1[index]);
+ PDstandardNth2beta1 = PDstandardNthfdOrder82(&beta1[index]);
+ PDstandardNth3beta1 = PDstandardNthfdOrder83(&beta1[index]);
+ PDstandardNth11beta1 = PDstandardNthfdOrder811(&beta1[index]);
+ PDstandardNth22beta1 = PDstandardNthfdOrder822(&beta1[index]);
+ PDstandardNth33beta1 = PDstandardNthfdOrder833(&beta1[index]);
+ PDstandardNth12beta1 = PDstandardNthfdOrder812(&beta1[index]);
+ PDstandardNth13beta1 = PDstandardNthfdOrder813(&beta1[index]);
+ PDstandardNth23beta1 = PDstandardNthfdOrder823(&beta1[index]);
+ PDstandardNth1beta2 = PDstandardNthfdOrder81(&beta2[index]);
+ PDstandardNth2beta2 = PDstandardNthfdOrder82(&beta2[index]);
+ PDstandardNth3beta2 = PDstandardNthfdOrder83(&beta2[index]);
+ PDstandardNth11beta2 = PDstandardNthfdOrder811(&beta2[index]);
+ PDstandardNth22beta2 = PDstandardNthfdOrder822(&beta2[index]);
+ PDstandardNth33beta2 = PDstandardNthfdOrder833(&beta2[index]);
+ PDstandardNth12beta2 = PDstandardNthfdOrder812(&beta2[index]);
+ PDstandardNth13beta2 = PDstandardNthfdOrder813(&beta2[index]);
+ PDstandardNth23beta2 = PDstandardNthfdOrder823(&beta2[index]);
+ PDstandardNth1beta3 = PDstandardNthfdOrder81(&beta3[index]);
+ PDstandardNth2beta3 = PDstandardNthfdOrder82(&beta3[index]);
+ PDstandardNth3beta3 = PDstandardNthfdOrder83(&beta3[index]);
+ PDstandardNth11beta3 = PDstandardNthfdOrder811(&beta3[index]);
+ PDstandardNth22beta3 = PDstandardNthfdOrder822(&beta3[index]);
+ PDstandardNth33beta3 = PDstandardNthfdOrder833(&beta3[index]);
+ PDstandardNth12beta3 = PDstandardNthfdOrder812(&beta3[index]);
+ PDstandardNth13beta3 = PDstandardNthfdOrder813(&beta3[index]);
+ PDstandardNth23beta3 = PDstandardNthfdOrder823(&beta3[index]);
+ PDstandardNth1gt11 = PDstandardNthfdOrder81(&gt11[index]);
+ PDstandardNth2gt11 = PDstandardNthfdOrder82(&gt11[index]);
+ PDstandardNth3gt11 = PDstandardNthfdOrder83(&gt11[index]);
+ PDstandardNth11gt11 = PDstandardNthfdOrder811(&gt11[index]);
+ PDstandardNth22gt11 = PDstandardNthfdOrder822(&gt11[index]);
+ PDstandardNth33gt11 = PDstandardNthfdOrder833(&gt11[index]);
+ PDstandardNth12gt11 = PDstandardNthfdOrder812(&gt11[index]);
+ PDstandardNth13gt11 = PDstandardNthfdOrder813(&gt11[index]);
+ PDstandardNth23gt11 = PDstandardNthfdOrder823(&gt11[index]);
+ PDstandardNth1gt12 = PDstandardNthfdOrder81(&gt12[index]);
+ PDstandardNth2gt12 = PDstandardNthfdOrder82(&gt12[index]);
+ PDstandardNth3gt12 = PDstandardNthfdOrder83(&gt12[index]);
+ PDstandardNth11gt12 = PDstandardNthfdOrder811(&gt12[index]);
+ PDstandardNth22gt12 = PDstandardNthfdOrder822(&gt12[index]);
+ PDstandardNth33gt12 = PDstandardNthfdOrder833(&gt12[index]);
+ PDstandardNth12gt12 = PDstandardNthfdOrder812(&gt12[index]);
+ PDstandardNth13gt12 = PDstandardNthfdOrder813(&gt12[index]);
+ PDstandardNth23gt12 = PDstandardNthfdOrder823(&gt12[index]);
+ PDstandardNth1gt13 = PDstandardNthfdOrder81(&gt13[index]);
+ PDstandardNth2gt13 = PDstandardNthfdOrder82(&gt13[index]);
+ PDstandardNth3gt13 = PDstandardNthfdOrder83(&gt13[index]);
+ PDstandardNth11gt13 = PDstandardNthfdOrder811(&gt13[index]);
+ PDstandardNth22gt13 = PDstandardNthfdOrder822(&gt13[index]);
+ PDstandardNth33gt13 = PDstandardNthfdOrder833(&gt13[index]);
+ PDstandardNth12gt13 = PDstandardNthfdOrder812(&gt13[index]);
+ PDstandardNth13gt13 = PDstandardNthfdOrder813(&gt13[index]);
+ PDstandardNth23gt13 = PDstandardNthfdOrder823(&gt13[index]);
+ PDstandardNth1gt22 = PDstandardNthfdOrder81(&gt22[index]);
+ PDstandardNth2gt22 = PDstandardNthfdOrder82(&gt22[index]);
+ PDstandardNth3gt22 = PDstandardNthfdOrder83(&gt22[index]);
+ PDstandardNth11gt22 = PDstandardNthfdOrder811(&gt22[index]);
+ PDstandardNth22gt22 = PDstandardNthfdOrder822(&gt22[index]);
+ PDstandardNth33gt22 = PDstandardNthfdOrder833(&gt22[index]);
+ PDstandardNth12gt22 = PDstandardNthfdOrder812(&gt22[index]);
+ PDstandardNth13gt22 = PDstandardNthfdOrder813(&gt22[index]);
+ PDstandardNth23gt22 = PDstandardNthfdOrder823(&gt22[index]);
+ PDstandardNth1gt23 = PDstandardNthfdOrder81(&gt23[index]);
+ PDstandardNth2gt23 = PDstandardNthfdOrder82(&gt23[index]);
+ PDstandardNth3gt23 = PDstandardNthfdOrder83(&gt23[index]);
+ PDstandardNth11gt23 = PDstandardNthfdOrder811(&gt23[index]);
+ PDstandardNth22gt23 = PDstandardNthfdOrder822(&gt23[index]);
+ PDstandardNth33gt23 = PDstandardNthfdOrder833(&gt23[index]);
+ PDstandardNth12gt23 = PDstandardNthfdOrder812(&gt23[index]);
+ PDstandardNth13gt23 = PDstandardNthfdOrder813(&gt23[index]);
+ PDstandardNth23gt23 = PDstandardNthfdOrder823(&gt23[index]);
+ PDstandardNth1gt33 = PDstandardNthfdOrder81(&gt33[index]);
+ PDstandardNth2gt33 = PDstandardNthfdOrder82(&gt33[index]);
+ PDstandardNth3gt33 = PDstandardNthfdOrder83(&gt33[index]);
+ PDstandardNth11gt33 = PDstandardNthfdOrder811(&gt33[index]);
+ PDstandardNth22gt33 = PDstandardNthfdOrder822(&gt33[index]);
+ PDstandardNth33gt33 = PDstandardNthfdOrder833(&gt33[index]);
+ PDstandardNth12gt33 = PDstandardNthfdOrder812(&gt33[index]);
+ PDstandardNth13gt33 = PDstandardNthfdOrder813(&gt33[index]);
+ PDstandardNth23gt33 = PDstandardNthfdOrder823(&gt33[index]);
+ PDstandardNth1phi = PDstandardNthfdOrder81(&phi[index]);
+ PDstandardNth2phi = PDstandardNthfdOrder82(&phi[index]);
+ PDstandardNth3phi = PDstandardNthfdOrder83(&phi[index]);
+ PDstandardNth11phi = PDstandardNthfdOrder811(&phi[index]);
+ PDstandardNth22phi = PDstandardNthfdOrder822(&phi[index]);
+ PDstandardNth33phi = PDstandardNthfdOrder833(&phi[index]);
+ PDstandardNth12phi = PDstandardNthfdOrder812(&phi[index]);
+ PDstandardNth13phi = PDstandardNthfdOrder813(&phi[index]);
+ PDstandardNth23phi = PDstandardNthfdOrder823(&phi[index]);
+ PDstandardNth1trK = PDstandardNthfdOrder81(&trK[index]);
+ PDstandardNth2trK = PDstandardNthfdOrder82(&trK[index]);
+ PDstandardNth3trK = PDstandardNthfdOrder83(&trK[index]);
+ PDstandardNth1Xt1 = PDstandardNthfdOrder81(&Xt1[index]);
+ PDstandardNth2Xt1 = PDstandardNthfdOrder82(&Xt1[index]);
+ PDstandardNth3Xt1 = PDstandardNthfdOrder83(&Xt1[index]);
+ PDstandardNth1Xt2 = PDstandardNthfdOrder81(&Xt2[index]);
+ PDstandardNth2Xt2 = PDstandardNthfdOrder82(&Xt2[index]);
+ PDstandardNth3Xt2 = PDstandardNthfdOrder83(&Xt2[index]);
+ PDstandardNth1Xt3 = PDstandardNthfdOrder81(&Xt3[index]);
+ PDstandardNth2Xt3 = PDstandardNthfdOrder82(&Xt3[index]);
+ PDstandardNth3Xt3 = PDstandardNthfdOrder83(&Xt3[index]);
+ break;
+ }
+ default:
+ CCTK_BUILTIN_UNREACHABLE();
+ }
+
+ double xx = x[index];
+ int origin = fabs(xx) < 1e-8;
+
+ PDstandardNth2trK = 0;
+ PDstandardNth2alpha = 0;
+ PDstandardNth22alpha = origin ? PDstandardNth11alpha : PDstandardNth1alpha / xx;
+ PDstandardNth12alpha = 0;
+ PDstandardNth23alpha = 0;
+
+ PDstandardNth2beta1 = 0;
+ PDstandardNth22beta1 = origin ? PDstandardNth11beta1 / 2 : PDstandardNth1beta1 / xx - beta1[index] / (xx * xx);
+ PDstandardNth12beta1 = 0;
+ PDstandardNth23beta1 = 0;
+ PDstandardNth2beta2 = origin ? PDstandardNth1beta1 : beta1[index] / xx;
+ PDstandardNth22beta2 = 0;
+ PDstandardNth12beta2 = origin ? PDstandardNth11beta1 / 2 : PDstandardNth1beta1 / xx - beta1[index] / (xx * xx);
+ PDstandardNth23beta2 = origin ? PDstandardNth13beta1 : PDstandardNth3beta1 / xx;
+ PDstandardNth2beta3 = 0;
+ PDstandardNth22beta3 = origin ? PDstandardNth11beta3 : PDstandardNth1beta3 / xx;
+ PDstandardNth12beta3 = 0;
+ PDstandardNth23beta3 = 0;
+
+ PDstandardNth2gt11 = 0;
+ PDstandardNth22gt11 = origin ? PDstandardNth11gt22 : PDstandardNth1gt11 / xx - 2 * (gt11[index] - gt22[index]) / (xx * xx);
+ PDstandardNth12gt11 = 0;
+ PDstandardNth23gt11 = 0;
+ PDstandardNth2gt12 = origin ? PDstandardNth1gt11 - PDstandardNth1gt22 : (gt11[index] - gt22[index]) / xx;
+ PDstandardNth22gt12 = 0;
+ PDstandardNth12gt12 = origin ? (PDstandardNth11gt11 - PDstandardNth11gt22) / 2 : (PDstandardNth1gt11 - PDstandardNth1gt22) / xx - (gt11[index] - gt22[index]) / (xx * xx);
+ PDstandardNth23gt12 = origin ? PDstandardNth13gt11 - PDstandardNth13gt22 : (PDstandardNth3gt11 - PDstandardNth3gt22) / xx;
+ PDstandardNth2gt13 = 0;
+ PDstandardNth22gt13 = origin ? PDstandardNth11gt13 / 2 : PDstandardNth1gt13 / xx - gt13[index] / (xx * xx);
+ PDstandardNth12gt13 = 0;
+ PDstandardNth23gt13 = 0;
+ PDstandardNth2gt22 = 0;
+ PDstandardNth22gt22 = origin ? PDstandardNth11gt11 : PDstandardNth1gt22 / xx + 2 * (gt11[index] - gt22[index]) / (xx * xx);
+ PDstandardNth12gt22 = 0;
+ PDstandardNth23gt22 = 0;
+ PDstandardNth2gt23 = origin ? PDstandardNth1gt13 : gt13[index] / xx;
+ PDstandardNth22gt23 = 0;
+ PDstandardNth12gt23 = origin ? PDstandardNth11gt13 / 2 : PDstandardNth1gt13 / xx - gt13[index] / (xx * xx);
+ PDstandardNth23gt23 = origin ? PDstandardNth13gt13 : PDstandardNth3gt13 / xx;
+ PDstandardNth2gt33 = 0;
+ PDstandardNth22gt33 = origin ? PDstandardNth11gt33 : PDstandardNth1gt33 / xx;
+ PDstandardNth12gt33 = 0;
+ PDstandardNth23gt33 = 0;
+
+ PDstandardNth2phi = 0;
+ PDstandardNth22phi = origin ? PDstandardNth11phi : PDstandardNth1phi / xx;
+ PDstandardNth12phi = 0;
+ PDstandardNth23phi = 0;
+ PDstandardNth2Xt1 = 0;
+ PDstandardNth2Xt2 = origin ? PDstandardNth1Xt1 : Xt1[index] / xx;
+ PDstandardNth2Xt3 = 0;
+ /* Calculate temporaries and grid functions */
+
+ CCTK_REAL_VEC JacPDstandardNth11alpha CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth11beta1 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth11beta2 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth11beta3 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth11gt11 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth11gt12 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth11gt13 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth11gt22 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth11gt23 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth11gt33 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth11phi CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth12alpha CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth12beta1 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth12beta2 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth12beta3 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth12gt11 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth12gt12 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth12gt13 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth12gt22 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth12gt23 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth12gt33 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth12phi CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth13alpha CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth13beta1 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth13beta2 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth13beta3 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth13gt11 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth13gt12 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth13gt13 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth13gt22 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth13gt23 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth13gt33 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth13phi CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth1alpha CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth1beta1 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth1beta2 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth1beta3 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth1gt11 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth1gt12 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth1gt13 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth1gt22 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth1gt23 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth1gt33 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth1phi CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth1trK CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth1Xt1 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth1Xt2 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth1Xt3 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth21alpha CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth21beta1 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth21beta2 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth21beta3 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth21gt11 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth21gt12 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth21gt13 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth21gt22 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth21gt23 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth21gt33 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth22alpha CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth22beta1 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth22beta2 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth22beta3 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth22gt11 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth22gt12 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth22gt13 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth22gt22 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth22gt23 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth22gt33 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth22phi CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth23alpha CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth23beta1 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth23beta2 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth23beta3 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth23gt11 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth23gt12 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth23gt13 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth23gt22 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth23gt23 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth23gt33 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth23phi CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth2alpha CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth2beta1 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth2beta2 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth2beta3 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth2gt11 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth2gt12 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth2gt13 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth2gt22 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth2gt23 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth2gt33 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth2phi CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth2trK CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth2Xt1 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth2Xt2 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth2Xt3 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth31alpha CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth31beta1 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth31beta2 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth31beta3 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth31gt11 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth31gt12 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth31gt13 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth31gt22 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth31gt23 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth31gt33 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth32alpha CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth32beta1 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth32beta2 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth32beta3 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth32gt11 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth32gt12 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth32gt13 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth32gt22 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth32gt23 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth32gt33 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth33alpha CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth33beta1 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth33beta2 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth33beta3 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth33gt11 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth33gt12 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth33gt13 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth33gt22 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth33gt23 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth33gt33 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth33phi CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth3alpha CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth3beta1 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth3beta2 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth3beta3 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth3gt11 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth3gt12 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth3gt13 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth3gt22 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth3gt23 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth3gt33 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth3phi CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth3trK CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth3Xt1 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth3Xt2 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth3Xt3 CCTK_ATTRIBUTE_UNUSED;
+
+ if (use_jacobian)
+ {
+ JacPDstandardNth1alpha =
+ kmadd(J11L,PDstandardNth1alpha,kmadd(J21L,PDstandardNth2alpha,kmul(J31L,PDstandardNth3alpha)));
+
+ JacPDstandardNth1beta1 =
+ kmadd(J11L,PDstandardNth1beta1,kmadd(J21L,PDstandardNth2beta1,kmul(J31L,PDstandardNth3beta1)));
+
+ JacPDstandardNth1beta2 =
+ kmadd(J11L,PDstandardNth1beta2,kmadd(J21L,PDstandardNth2beta2,kmul(J31L,PDstandardNth3beta2)));
+
+ JacPDstandardNth1beta3 =
+ kmadd(J11L,PDstandardNth1beta3,kmadd(J21L,PDstandardNth2beta3,kmul(J31L,PDstandardNth3beta3)));
+
+ JacPDstandardNth1gt11 =
+ kmadd(J11L,PDstandardNth1gt11,kmadd(J21L,PDstandardNth2gt11,kmul(J31L,PDstandardNth3gt11)));
+
+ JacPDstandardNth1gt12 =
+ kmadd(J11L,PDstandardNth1gt12,kmadd(J21L,PDstandardNth2gt12,kmul(J31L,PDstandardNth3gt12)));
+
+ JacPDstandardNth1gt13 =
+ kmadd(J11L,PDstandardNth1gt13,kmadd(J21L,PDstandardNth2gt13,kmul(J31L,PDstandardNth3gt13)));
+
+ JacPDstandardNth1gt22 =
+ kmadd(J11L,PDstandardNth1gt22,kmadd(J21L,PDstandardNth2gt22,kmul(J31L,PDstandardNth3gt22)));
+
+ JacPDstandardNth1gt23 =
+ kmadd(J11L,PDstandardNth1gt23,kmadd(J21L,PDstandardNth2gt23,kmul(J31L,PDstandardNth3gt23)));
+
+ JacPDstandardNth1gt33 =
+ kmadd(J11L,PDstandardNth1gt33,kmadd(J21L,PDstandardNth2gt33,kmul(J31L,PDstandardNth3gt33)));
+
+ JacPDstandardNth1phi =
+ kmadd(J11L,PDstandardNth1phi,kmadd(J21L,PDstandardNth2phi,kmul(J31L,PDstandardNth3phi)));
+
+ JacPDstandardNth1trK =
+ kmadd(J11L,PDstandardNth1trK,kmadd(J21L,PDstandardNth2trK,kmul(J31L,PDstandardNth3trK)));
+
+ JacPDstandardNth1Xt1 =
+ kmadd(J11L,PDstandardNth1Xt1,kmadd(J21L,PDstandardNth2Xt1,kmul(J31L,PDstandardNth3Xt1)));
+
+ JacPDstandardNth1Xt2 =
+ kmadd(J11L,PDstandardNth1Xt2,kmadd(J21L,PDstandardNth2Xt2,kmul(J31L,PDstandardNth3Xt2)));
+
+ JacPDstandardNth1Xt3 =
+ kmadd(J11L,PDstandardNth1Xt3,kmadd(J21L,PDstandardNth2Xt3,kmul(J31L,PDstandardNth3Xt3)));
+
+ JacPDstandardNth2alpha =
+ kmadd(J12L,PDstandardNth1alpha,kmadd(J22L,PDstandardNth2alpha,kmul(J32L,PDstandardNth3alpha)));
+
+ JacPDstandardNth2beta1 =
+ kmadd(J12L,PDstandardNth1beta1,kmadd(J22L,PDstandardNth2beta1,kmul(J32L,PDstandardNth3beta1)));
+
+ JacPDstandardNth2beta2 =
+ kmadd(J12L,PDstandardNth1beta2,kmadd(J22L,PDstandardNth2beta2,kmul(J32L,PDstandardNth3beta2)));
+
+ JacPDstandardNth2beta3 =
+ kmadd(J12L,PDstandardNth1beta3,kmadd(J22L,PDstandardNth2beta3,kmul(J32L,PDstandardNth3beta3)));
+
+ JacPDstandardNth2gt11 =
+ kmadd(J12L,PDstandardNth1gt11,kmadd(J22L,PDstandardNth2gt11,kmul(J32L,PDstandardNth3gt11)));
+
+ JacPDstandardNth2gt12 =
+ kmadd(J12L,PDstandardNth1gt12,kmadd(J22L,PDstandardNth2gt12,kmul(J32L,PDstandardNth3gt12)));
+
+ JacPDstandardNth2gt13 =
+ kmadd(J12L,PDstandardNth1gt13,kmadd(J22L,PDstandardNth2gt13,kmul(J32L,PDstandardNth3gt13)));
+
+ JacPDstandardNth2gt22 =
+ kmadd(J12L,PDstandardNth1gt22,kmadd(J22L,PDstandardNth2gt22,kmul(J32L,PDstandardNth3gt22)));
+
+ JacPDstandardNth2gt23 =
+ kmadd(J12L,PDstandardNth1gt23,kmadd(J22L,PDstandardNth2gt23,kmul(J32L,PDstandardNth3gt23)));
+
+ JacPDstandardNth2gt33 =
+ kmadd(J12L,PDstandardNth1gt33,kmadd(J22L,PDstandardNth2gt33,kmul(J32L,PDstandardNth3gt33)));
+
+ JacPDstandardNth2phi =
+ kmadd(J12L,PDstandardNth1phi,kmadd(J22L,PDstandardNth2phi,kmul(J32L,PDstandardNth3phi)));
+
+ JacPDstandardNth2trK =
+ kmadd(J12L,PDstandardNth1trK,kmadd(J22L,PDstandardNth2trK,kmul(J32L,PDstandardNth3trK)));
+
+ JacPDstandardNth2Xt1 =
+ kmadd(J12L,PDstandardNth1Xt1,kmadd(J22L,PDstandardNth2Xt1,kmul(J32L,PDstandardNth3Xt1)));
+
+ JacPDstandardNth2Xt2 =
+ kmadd(J12L,PDstandardNth1Xt2,kmadd(J22L,PDstandardNth2Xt2,kmul(J32L,PDstandardNth3Xt2)));
+
+ JacPDstandardNth2Xt3 =
+ kmadd(J12L,PDstandardNth1Xt3,kmadd(J22L,PDstandardNth2Xt3,kmul(J32L,PDstandardNth3Xt3)));
+
+ JacPDstandardNth3alpha =
+ kmadd(J13L,PDstandardNth1alpha,kmadd(J23L,PDstandardNth2alpha,kmul(J33L,PDstandardNth3alpha)));
+
+ JacPDstandardNth3beta1 =
+ kmadd(J13L,PDstandardNth1beta1,kmadd(J23L,PDstandardNth2beta1,kmul(J33L,PDstandardNth3beta1)));
+
+ JacPDstandardNth3beta2 =
+ kmadd(J13L,PDstandardNth1beta2,kmadd(J23L,PDstandardNth2beta2,kmul(J33L,PDstandardNth3beta2)));
+
+ JacPDstandardNth3beta3 =
+ kmadd(J13L,PDstandardNth1beta3,kmadd(J23L,PDstandardNth2beta3,kmul(J33L,PDstandardNth3beta3)));
+
+ JacPDstandardNth3gt11 =
+ kmadd(J13L,PDstandardNth1gt11,kmadd(J23L,PDstandardNth2gt11,kmul(J33L,PDstandardNth3gt11)));
+
+ JacPDstandardNth3gt12 =
+ kmadd(J13L,PDstandardNth1gt12,kmadd(J23L,PDstandardNth2gt12,kmul(J33L,PDstandardNth3gt12)));
+
+ JacPDstandardNth3gt13 =
+ kmadd(J13L,PDstandardNth1gt13,kmadd(J23L,PDstandardNth2gt13,kmul(J33L,PDstandardNth3gt13)));
+
+ JacPDstandardNth3gt22 =
+ kmadd(J13L,PDstandardNth1gt22,kmadd(J23L,PDstandardNth2gt22,kmul(J33L,PDstandardNth3gt22)));
+
+ JacPDstandardNth3gt23 =
+ kmadd(J13L,PDstandardNth1gt23,kmadd(J23L,PDstandardNth2gt23,kmul(J33L,PDstandardNth3gt23)));
+
+ JacPDstandardNth3gt33 =
+ kmadd(J13L,PDstandardNth1gt33,kmadd(J23L,PDstandardNth2gt33,kmul(J33L,PDstandardNth3gt33)));
+
+ JacPDstandardNth3phi =
+ kmadd(J13L,PDstandardNth1phi,kmadd(J23L,PDstandardNth2phi,kmul(J33L,PDstandardNth3phi)));
+
+ JacPDstandardNth3trK =
+ kmadd(J13L,PDstandardNth1trK,kmadd(J23L,PDstandardNth2trK,kmul(J33L,PDstandardNth3trK)));
+
+ JacPDstandardNth3Xt1 =
+ kmadd(J13L,PDstandardNth1Xt1,kmadd(J23L,PDstandardNth2Xt1,kmul(J33L,PDstandardNth3Xt1)));
+
+ JacPDstandardNth3Xt2 =
+ kmadd(J13L,PDstandardNth1Xt2,kmadd(J23L,PDstandardNth2Xt2,kmul(J33L,PDstandardNth3Xt2)));
+
+ JacPDstandardNth3Xt3 =
+ kmadd(J13L,PDstandardNth1Xt3,kmadd(J23L,PDstandardNth2Xt3,kmul(J33L,PDstandardNth3Xt3)));
+
+ JacPDstandardNth11alpha =
+ kmadd(dJ111L,PDstandardNth1alpha,kmadd(dJ211L,PDstandardNth2alpha,kmadd(dJ311L,PDstandardNth3alpha,kmadd(PDstandardNth11alpha,kmul(J11L,J11L),kmadd(PDstandardNth22alpha,kmul(J21L,J21L),kmadd(PDstandardNth33alpha,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12alpha,kmul(J31L,PDstandardNth13alpha)),kmul(J21L,kmul(J31L,PDstandardNth23alpha))),ToReal(2))))))));
+
+ JacPDstandardNth11beta1 =
+ kmadd(dJ111L,PDstandardNth1beta1,kmadd(dJ211L,PDstandardNth2beta1,kmadd(dJ311L,PDstandardNth3beta1,kmadd(PDstandardNth11beta1,kmul(J11L,J11L),kmadd(PDstandardNth22beta1,kmul(J21L,J21L),kmadd(PDstandardNth33beta1,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12beta1,kmul(J31L,PDstandardNth13beta1)),kmul(J21L,kmul(J31L,PDstandardNth23beta1))),ToReal(2))))))));
+
+ JacPDstandardNth11beta2 =
+ kmadd(dJ111L,PDstandardNth1beta2,kmadd(dJ211L,PDstandardNth2beta2,kmadd(dJ311L,PDstandardNth3beta2,kmadd(PDstandardNth11beta2,kmul(J11L,J11L),kmadd(PDstandardNth22beta2,kmul(J21L,J21L),kmadd(PDstandardNth33beta2,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12beta2,kmul(J31L,PDstandardNth13beta2)),kmul(J21L,kmul(J31L,PDstandardNth23beta2))),ToReal(2))))))));
+
+ JacPDstandardNth11beta3 =
+ kmadd(dJ111L,PDstandardNth1beta3,kmadd(dJ211L,PDstandardNth2beta3,kmadd(dJ311L,PDstandardNth3beta3,kmadd(PDstandardNth11beta3,kmul(J11L,J11L),kmadd(PDstandardNth22beta3,kmul(J21L,J21L),kmadd(PDstandardNth33beta3,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12beta3,kmul(J31L,PDstandardNth13beta3)),kmul(J21L,kmul(J31L,PDstandardNth23beta3))),ToReal(2))))))));
+
+ JacPDstandardNth11gt11 =
+ kmadd(dJ111L,PDstandardNth1gt11,kmadd(dJ211L,PDstandardNth2gt11,kmadd(dJ311L,PDstandardNth3gt11,kmadd(PDstandardNth11gt11,kmul(J11L,J11L),kmadd(PDstandardNth22gt11,kmul(J21L,J21L),kmadd(PDstandardNth33gt11,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12gt11,kmul(J31L,PDstandardNth13gt11)),kmul(J21L,kmul(J31L,PDstandardNth23gt11))),ToReal(2))))))));
+
+ JacPDstandardNth11gt12 =
+ kmadd(dJ111L,PDstandardNth1gt12,kmadd(dJ211L,PDstandardNth2gt12,kmadd(dJ311L,PDstandardNth3gt12,kmadd(PDstandardNth11gt12,kmul(J11L,J11L),kmadd(PDstandardNth22gt12,kmul(J21L,J21L),kmadd(PDstandardNth33gt12,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12gt12,kmul(J31L,PDstandardNth13gt12)),kmul(J21L,kmul(J31L,PDstandardNth23gt12))),ToReal(2))))))));
+
+ JacPDstandardNth11gt13 =
+ kmadd(dJ111L,PDstandardNth1gt13,kmadd(dJ211L,PDstandardNth2gt13,kmadd(dJ311L,PDstandardNth3gt13,kmadd(PDstandardNth11gt13,kmul(J11L,J11L),kmadd(PDstandardNth22gt13,kmul(J21L,J21L),kmadd(PDstandardNth33gt13,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12gt13,kmul(J31L,PDstandardNth13gt13)),kmul(J21L,kmul(J31L,PDstandardNth23gt13))),ToReal(2))))))));
+
+ JacPDstandardNth11gt22 =
+ kmadd(dJ111L,PDstandardNth1gt22,kmadd(dJ211L,PDstandardNth2gt22,kmadd(dJ311L,PDstandardNth3gt22,kmadd(PDstandardNth11gt22,kmul(J11L,J11L),kmadd(PDstandardNth22gt22,kmul(J21L,J21L),kmadd(PDstandardNth33gt22,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12gt22,kmul(J31L,PDstandardNth13gt22)),kmul(J21L,kmul(J31L,PDstandardNth23gt22))),ToReal(2))))))));
+
+ JacPDstandardNth11gt23 =
+ kmadd(dJ111L,PDstandardNth1gt23,kmadd(dJ211L,PDstandardNth2gt23,kmadd(dJ311L,PDstandardNth3gt23,kmadd(PDstandardNth11gt23,kmul(J11L,J11L),kmadd(PDstandardNth22gt23,kmul(J21L,J21L),kmadd(PDstandardNth33gt23,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12gt23,kmul(J31L,PDstandardNth13gt23)),kmul(J21L,kmul(J31L,PDstandardNth23gt23))),ToReal(2))))))));
+
+ JacPDstandardNth11gt33 =
+ kmadd(dJ111L,PDstandardNth1gt33,kmadd(dJ211L,PDstandardNth2gt33,kmadd(dJ311L,PDstandardNth3gt33,kmadd(PDstandardNth11gt33,kmul(J11L,J11L),kmadd(PDstandardNth22gt33,kmul(J21L,J21L),kmadd(PDstandardNth33gt33,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12gt33,kmul(J31L,PDstandardNth13gt33)),kmul(J21L,kmul(J31L,PDstandardNth23gt33))),ToReal(2))))))));
+
+ JacPDstandardNth11phi =
+ kmadd(dJ111L,PDstandardNth1phi,kmadd(dJ211L,PDstandardNth2phi,kmadd(dJ311L,PDstandardNth3phi,kmadd(PDstandardNth11phi,kmul(J11L,J11L),kmadd(PDstandardNth22phi,kmul(J21L,J21L),kmadd(PDstandardNth33phi,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12phi,kmul(J31L,PDstandardNth13phi)),kmul(J21L,kmul(J31L,PDstandardNth23phi))),ToReal(2))))))));
+
+ JacPDstandardNth22alpha =
+ kmadd(dJ122L,PDstandardNth1alpha,kmadd(dJ222L,PDstandardNth2alpha,kmadd(dJ322L,PDstandardNth3alpha,kmadd(PDstandardNth11alpha,kmul(J12L,J12L),kmadd(PDstandardNth22alpha,kmul(J22L,J22L),kmadd(PDstandardNth33alpha,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12alpha,kmul(J32L,PDstandardNth13alpha)),kmul(J22L,kmul(J32L,PDstandardNth23alpha))),ToReal(2))))))));
+
+ JacPDstandardNth22beta1 =
+ kmadd(dJ122L,PDstandardNth1beta1,kmadd(dJ222L,PDstandardNth2beta1,kmadd(dJ322L,PDstandardNth3beta1,kmadd(PDstandardNth11beta1,kmul(J12L,J12L),kmadd(PDstandardNth22beta1,kmul(J22L,J22L),kmadd(PDstandardNth33beta1,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12beta1,kmul(J32L,PDstandardNth13beta1)),kmul(J22L,kmul(J32L,PDstandardNth23beta1))),ToReal(2))))))));
+
+ JacPDstandardNth22beta2 =
+ kmadd(dJ122L,PDstandardNth1beta2,kmadd(dJ222L,PDstandardNth2beta2,kmadd(dJ322L,PDstandardNth3beta2,kmadd(PDstandardNth11beta2,kmul(J12L,J12L),kmadd(PDstandardNth22beta2,kmul(J22L,J22L),kmadd(PDstandardNth33beta2,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12beta2,kmul(J32L,PDstandardNth13beta2)),kmul(J22L,kmul(J32L,PDstandardNth23beta2))),ToReal(2))))))));
+
+ JacPDstandardNth22beta3 =
+ kmadd(dJ122L,PDstandardNth1beta3,kmadd(dJ222L,PDstandardNth2beta3,kmadd(dJ322L,PDstandardNth3beta3,kmadd(PDstandardNth11beta3,kmul(J12L,J12L),kmadd(PDstandardNth22beta3,kmul(J22L,J22L),kmadd(PDstandardNth33beta3,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12beta3,kmul(J32L,PDstandardNth13beta3)),kmul(J22L,kmul(J32L,PDstandardNth23beta3))),ToReal(2))))))));
+
+ JacPDstandardNth22gt11 =
+ kmadd(dJ122L,PDstandardNth1gt11,kmadd(dJ222L,PDstandardNth2gt11,kmadd(dJ322L,PDstandardNth3gt11,kmadd(PDstandardNth11gt11,kmul(J12L,J12L),kmadd(PDstandardNth22gt11,kmul(J22L,J22L),kmadd(PDstandardNth33gt11,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12gt11,kmul(J32L,PDstandardNth13gt11)),kmul(J22L,kmul(J32L,PDstandardNth23gt11))),ToReal(2))))))));
+
+ JacPDstandardNth22gt12 =
+ kmadd(dJ122L,PDstandardNth1gt12,kmadd(dJ222L,PDstandardNth2gt12,kmadd(dJ322L,PDstandardNth3gt12,kmadd(PDstandardNth11gt12,kmul(J12L,J12L),kmadd(PDstandardNth22gt12,kmul(J22L,J22L),kmadd(PDstandardNth33gt12,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12gt12,kmul(J32L,PDstandardNth13gt12)),kmul(J22L,kmul(J32L,PDstandardNth23gt12))),ToReal(2))))))));
+
+ JacPDstandardNth22gt13 =
+ kmadd(dJ122L,PDstandardNth1gt13,kmadd(dJ222L,PDstandardNth2gt13,kmadd(dJ322L,PDstandardNth3gt13,kmadd(PDstandardNth11gt13,kmul(J12L,J12L),kmadd(PDstandardNth22gt13,kmul(J22L,J22L),kmadd(PDstandardNth33gt13,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12gt13,kmul(J32L,PDstandardNth13gt13)),kmul(J22L,kmul(J32L,PDstandardNth23gt13))),ToReal(2))))))));
+
+ JacPDstandardNth22gt22 =
+ kmadd(dJ122L,PDstandardNth1gt22,kmadd(dJ222L,PDstandardNth2gt22,kmadd(dJ322L,PDstandardNth3gt22,kmadd(PDstandardNth11gt22,kmul(J12L,J12L),kmadd(PDstandardNth22gt22,kmul(J22L,J22L),kmadd(PDstandardNth33gt22,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12gt22,kmul(J32L,PDstandardNth13gt22)),kmul(J22L,kmul(J32L,PDstandardNth23gt22))),ToReal(2))))))));
+
+ JacPDstandardNth22gt23 =
+ kmadd(dJ122L,PDstandardNth1gt23,kmadd(dJ222L,PDstandardNth2gt23,kmadd(dJ322L,PDstandardNth3gt23,kmadd(PDstandardNth11gt23,kmul(J12L,J12L),kmadd(PDstandardNth22gt23,kmul(J22L,J22L),kmadd(PDstandardNth33gt23,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12gt23,kmul(J32L,PDstandardNth13gt23)),kmul(J22L,kmul(J32L,PDstandardNth23gt23))),ToReal(2))))))));
+
+ JacPDstandardNth22gt33 =
+ kmadd(dJ122L,PDstandardNth1gt33,kmadd(dJ222L,PDstandardNth2gt33,kmadd(dJ322L,PDstandardNth3gt33,kmadd(PDstandardNth11gt33,kmul(J12L,J12L),kmadd(PDstandardNth22gt33,kmul(J22L,J22L),kmadd(PDstandardNth33gt33,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12gt33,kmul(J32L,PDstandardNth13gt33)),kmul(J22L,kmul(J32L,PDstandardNth23gt33))),ToReal(2))))))));
+
+ JacPDstandardNth22phi =
+ kmadd(dJ122L,PDstandardNth1phi,kmadd(dJ222L,PDstandardNth2phi,kmadd(dJ322L,PDstandardNth3phi,kmadd(PDstandardNth11phi,kmul(J12L,J12L),kmadd(PDstandardNth22phi,kmul(J22L,J22L),kmadd(PDstandardNth33phi,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12phi,kmul(J32L,PDstandardNth13phi)),kmul(J22L,kmul(J32L,PDstandardNth23phi))),ToReal(2))))))));
+
+ JacPDstandardNth33alpha =
+ kmadd(dJ133L,PDstandardNth1alpha,kmadd(dJ233L,PDstandardNth2alpha,kmadd(dJ333L,PDstandardNth3alpha,kmadd(PDstandardNth11alpha,kmul(J13L,J13L),kmadd(PDstandardNth22alpha,kmul(J23L,J23L),kmadd(PDstandardNth33alpha,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12alpha,kmul(J33L,PDstandardNth13alpha)),kmul(J23L,kmul(J33L,PDstandardNth23alpha))),ToReal(2))))))));
+
+ JacPDstandardNth33beta1 =
+ kmadd(dJ133L,PDstandardNth1beta1,kmadd(dJ233L,PDstandardNth2beta1,kmadd(dJ333L,PDstandardNth3beta1,kmadd(PDstandardNth11beta1,kmul(J13L,J13L),kmadd(PDstandardNth22beta1,kmul(J23L,J23L),kmadd(PDstandardNth33beta1,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12beta1,kmul(J33L,PDstandardNth13beta1)),kmul(J23L,kmul(J33L,PDstandardNth23beta1))),ToReal(2))))))));
+
+ JacPDstandardNth33beta2 =
+ kmadd(dJ133L,PDstandardNth1beta2,kmadd(dJ233L,PDstandardNth2beta2,kmadd(dJ333L,PDstandardNth3beta2,kmadd(PDstandardNth11beta2,kmul(J13L,J13L),kmadd(PDstandardNth22beta2,kmul(J23L,J23L),kmadd(PDstandardNth33beta2,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12beta2,kmul(J33L,PDstandardNth13beta2)),kmul(J23L,kmul(J33L,PDstandardNth23beta2))),ToReal(2))))))));
+
+ JacPDstandardNth33beta3 =
+ kmadd(dJ133L,PDstandardNth1beta3,kmadd(dJ233L,PDstandardNth2beta3,kmadd(dJ333L,PDstandardNth3beta3,kmadd(PDstandardNth11beta3,kmul(J13L,J13L),kmadd(PDstandardNth22beta3,kmul(J23L,J23L),kmadd(PDstandardNth33beta3,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12beta3,kmul(J33L,PDstandardNth13beta3)),kmul(J23L,kmul(J33L,PDstandardNth23beta3))),ToReal(2))))))));
+
+ JacPDstandardNth33gt11 =
+ kmadd(dJ133L,PDstandardNth1gt11,kmadd(dJ233L,PDstandardNth2gt11,kmadd(dJ333L,PDstandardNth3gt11,kmadd(PDstandardNth11gt11,kmul(J13L,J13L),kmadd(PDstandardNth22gt11,kmul(J23L,J23L),kmadd(PDstandardNth33gt11,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12gt11,kmul(J33L,PDstandardNth13gt11)),kmul(J23L,kmul(J33L,PDstandardNth23gt11))),ToReal(2))))))));
+
+ JacPDstandardNth33gt12 =
+ kmadd(dJ133L,PDstandardNth1gt12,kmadd(dJ233L,PDstandardNth2gt12,kmadd(dJ333L,PDstandardNth3gt12,kmadd(PDstandardNth11gt12,kmul(J13L,J13L),kmadd(PDstandardNth22gt12,kmul(J23L,J23L),kmadd(PDstandardNth33gt12,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12gt12,kmul(J33L,PDstandardNth13gt12)),kmul(J23L,kmul(J33L,PDstandardNth23gt12))),ToReal(2))))))));
+
+ JacPDstandardNth33gt13 =
+ kmadd(dJ133L,PDstandardNth1gt13,kmadd(dJ233L,PDstandardNth2gt13,kmadd(dJ333L,PDstandardNth3gt13,kmadd(PDstandardNth11gt13,kmul(J13L,J13L),kmadd(PDstandardNth22gt13,kmul(J23L,J23L),kmadd(PDstandardNth33gt13,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12gt13,kmul(J33L,PDstandardNth13gt13)),kmul(J23L,kmul(J33L,PDstandardNth23gt13))),ToReal(2))))))));
+
+ JacPDstandardNth33gt22 =
+ kmadd(dJ133L,PDstandardNth1gt22,kmadd(dJ233L,PDstandardNth2gt22,kmadd(dJ333L,PDstandardNth3gt22,kmadd(PDstandardNth11gt22,kmul(J13L,J13L),kmadd(PDstandardNth22gt22,kmul(J23L,J23L),kmadd(PDstandardNth33gt22,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12gt22,kmul(J33L,PDstandardNth13gt22)),kmul(J23L,kmul(J33L,PDstandardNth23gt22))),ToReal(2))))))));
+
+ JacPDstandardNth33gt23 =
+ kmadd(dJ133L,PDstandardNth1gt23,kmadd(dJ233L,PDstandardNth2gt23,kmadd(dJ333L,PDstandardNth3gt23,kmadd(PDstandardNth11gt23,kmul(J13L,J13L),kmadd(PDstandardNth22gt23,kmul(J23L,J23L),kmadd(PDstandardNth33gt23,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12gt23,kmul(J33L,PDstandardNth13gt23)),kmul(J23L,kmul(J33L,PDstandardNth23gt23))),ToReal(2))))))));
+
+ JacPDstandardNth33gt33 =
+ kmadd(dJ133L,PDstandardNth1gt33,kmadd(dJ233L,PDstandardNth2gt33,kmadd(dJ333L,PDstandardNth3gt33,kmadd(PDstandardNth11gt33,kmul(J13L,J13L),kmadd(PDstandardNth22gt33,kmul(J23L,J23L),kmadd(PDstandardNth33gt33,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12gt33,kmul(J33L,PDstandardNth13gt33)),kmul(J23L,kmul(J33L,PDstandardNth23gt33))),ToReal(2))))))));
+
+ JacPDstandardNth33phi =
+ kmadd(dJ133L,PDstandardNth1phi,kmadd(dJ233L,PDstandardNth2phi,kmadd(dJ333L,PDstandardNth3phi,kmadd(PDstandardNth11phi,kmul(J13L,J13L),kmadd(PDstandardNth22phi,kmul(J23L,J23L),kmadd(PDstandardNth33phi,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12phi,kmul(J33L,PDstandardNth13phi)),kmul(J23L,kmul(J33L,PDstandardNth23phi))),ToReal(2))))))));
+
+ JacPDstandardNth12alpha =
+ kmadd(J12L,kmadd(J11L,PDstandardNth11alpha,kmadd(J21L,PDstandardNth12alpha,kmul(J31L,PDstandardNth13alpha))),kmadd(J11L,kmadd(J22L,PDstandardNth12alpha,kmul(J32L,PDstandardNth13alpha)),kmadd(dJ112L,PDstandardNth1alpha,kmadd(J22L,kmadd(J21L,PDstandardNth22alpha,kmul(J31L,PDstandardNth23alpha)),kmadd(dJ212L,PDstandardNth2alpha,kmadd(J32L,kmadd(J21L,PDstandardNth23alpha,kmul(J31L,PDstandardNth33alpha)),kmul(dJ312L,PDstandardNth3alpha)))))));
+
+ JacPDstandardNth12beta1 =
+ kmadd(J12L,kmadd(J11L,PDstandardNth11beta1,kmadd(J21L,PDstandardNth12beta1,kmul(J31L,PDstandardNth13beta1))),kmadd(J11L,kmadd(J22L,PDstandardNth12beta1,kmul(J32L,PDstandardNth13beta1)),kmadd(dJ112L,PDstandardNth1beta1,kmadd(J22L,kmadd(J21L,PDstandardNth22beta1,kmul(J31L,PDstandardNth23beta1)),kmadd(dJ212L,PDstandardNth2beta1,kmadd(J32L,kmadd(J21L,PDstandardNth23beta1,kmul(J31L,PDstandardNth33beta1)),kmul(dJ312L,PDstandardNth3beta1)))))));
+
+ JacPDstandardNth12beta2 =
+ kmadd(J12L,kmadd(J11L,PDstandardNth11beta2,kmadd(J21L,PDstandardNth12beta2,kmul(J31L,PDstandardNth13beta2))),kmadd(J11L,kmadd(J22L,PDstandardNth12beta2,kmul(J32L,PDstandardNth13beta2)),kmadd(dJ112L,PDstandardNth1beta2,kmadd(J22L,kmadd(J21L,PDstandardNth22beta2,kmul(J31L,PDstandardNth23beta2)),kmadd(dJ212L,PDstandardNth2beta2,kmadd(J32L,kmadd(J21L,PDstandardNth23beta2,kmul(J31L,PDstandardNth33beta2)),kmul(dJ312L,PDstandardNth3beta2)))))));
+
+ JacPDstandardNth12beta3 =
+ kmadd(J12L,kmadd(J11L,PDstandardNth11beta3,kmadd(J21L,PDstandardNth12beta3,kmul(J31L,PDstandardNth13beta3))),kmadd(J11L,kmadd(J22L,PDstandardNth12beta3,kmul(J32L,PDstandardNth13beta3)),kmadd(dJ112L,PDstandardNth1beta3,kmadd(J22L,kmadd(J21L,PDstandardNth22beta3,kmul(J31L,PDstandardNth23beta3)),kmadd(dJ212L,PDstandardNth2beta3,kmadd(J32L,kmadd(J21L,PDstandardNth23beta3,kmul(J31L,PDstandardNth33beta3)),kmul(dJ312L,PDstandardNth3beta3)))))));
+
+ JacPDstandardNth12gt11 =
+ kmadd(J12L,kmadd(J11L,PDstandardNth11gt11,kmadd(J21L,PDstandardNth12gt11,kmul(J31L,PDstandardNth13gt11))),kmadd(J11L,kmadd(J22L,PDstandardNth12gt11,kmul(J32L,PDstandardNth13gt11)),kmadd(dJ112L,PDstandardNth1gt11,kmadd(J22L,kmadd(J21L,PDstandardNth22gt11,kmul(J31L,PDstandardNth23gt11)),kmadd(dJ212L,PDstandardNth2gt11,kmadd(J32L,kmadd(J21L,PDstandardNth23gt11,kmul(J31L,PDstandardNth33gt11)),kmul(dJ312L,PDstandardNth3gt11)))))));
+
+ JacPDstandardNth12gt12 =
+ kmadd(J12L,kmadd(J11L,PDstandardNth11gt12,kmadd(J21L,PDstandardNth12gt12,kmul(J31L,PDstandardNth13gt12))),kmadd(J11L,kmadd(J22L,PDstandardNth12gt12,kmul(J32L,PDstandardNth13gt12)),kmadd(dJ112L,PDstandardNth1gt12,kmadd(J22L,kmadd(J21L,PDstandardNth22gt12,kmul(J31L,PDstandardNth23gt12)),kmadd(dJ212L,PDstandardNth2gt12,kmadd(J32L,kmadd(J21L,PDstandardNth23gt12,kmul(J31L,PDstandardNth33gt12)),kmul(dJ312L,PDstandardNth3gt12)))))));
+
+ JacPDstandardNth12gt13 =
+ kmadd(J12L,kmadd(J11L,PDstandardNth11gt13,kmadd(J21L,PDstandardNth12gt13,kmul(J31L,PDstandardNth13gt13))),kmadd(J11L,kmadd(J22L,PDstandardNth12gt13,kmul(J32L,PDstandardNth13gt13)),kmadd(dJ112L,PDstandardNth1gt13,kmadd(J22L,kmadd(J21L,PDstandardNth22gt13,kmul(J31L,PDstandardNth23gt13)),kmadd(dJ212L,PDstandardNth2gt13,kmadd(J32L,kmadd(J21L,PDstandardNth23gt13,kmul(J31L,PDstandardNth33gt13)),kmul(dJ312L,PDstandardNth3gt13)))))));
+
+ JacPDstandardNth12gt22 =
+ kmadd(J12L,kmadd(J11L,PDstandardNth11gt22,kmadd(J21L,PDstandardNth12gt22,kmul(J31L,PDstandardNth13gt22))),kmadd(J11L,kmadd(J22L,PDstandardNth12gt22,kmul(J32L,PDstandardNth13gt22)),kmadd(dJ112L,PDstandardNth1gt22,kmadd(J22L,kmadd(J21L,PDstandardNth22gt22,kmul(J31L,PDstandardNth23gt22)),kmadd(dJ212L,PDstandardNth2gt22,kmadd(J32L,kmadd(J21L,PDstandardNth23gt22,kmul(J31L,PDstandardNth33gt22)),kmul(dJ312L,PDstandardNth3gt22)))))));
+
+ JacPDstandardNth12gt23 =
+ kmadd(J12L,kmadd(J11L,PDstandardNth11gt23,kmadd(J21L,PDstandardNth12gt23,kmul(J31L,PDstandardNth13gt23))),kmadd(J11L,kmadd(J22L,PDstandardNth12gt23,kmul(J32L,PDstandardNth13gt23)),kmadd(dJ112L,PDstandardNth1gt23,kmadd(J22L,kmadd(J21L,PDstandardNth22gt23,kmul(J31L,PDstandardNth23gt23)),kmadd(dJ212L,PDstandardNth2gt23,kmadd(J32L,kmadd(J21L,PDstandardNth23gt23,kmul(J31L,PDstandardNth33gt23)),kmul(dJ312L,PDstandardNth3gt23)))))));
+
+ JacPDstandardNth12gt33 =
+ kmadd(J12L,kmadd(J11L,PDstandardNth11gt33,kmadd(J21L,PDstandardNth12gt33,kmul(J31L,PDstandardNth13gt33))),kmadd(J11L,kmadd(J22L,PDstandardNth12gt33,kmul(J32L,PDstandardNth13gt33)),kmadd(dJ112L,PDstandardNth1gt33,kmadd(J22L,kmadd(J21L,PDstandardNth22gt33,kmul(J31L,PDstandardNth23gt33)),kmadd(dJ212L,PDstandardNth2gt33,kmadd(J32L,kmadd(J21L,PDstandardNth23gt33,kmul(J31L,PDstandardNth33gt33)),kmul(dJ312L,PDstandardNth3gt33)))))));
+
+ JacPDstandardNth12phi =
+ kmadd(J12L,kmadd(J11L,PDstandardNth11phi,kmadd(J21L,PDstandardNth12phi,kmul(J31L,PDstandardNth13phi))),kmadd(J11L,kmadd(J22L,PDstandardNth12phi,kmul(J32L,PDstandardNth13phi)),kmadd(dJ112L,PDstandardNth1phi,kmadd(J22L,kmadd(J21L,PDstandardNth22phi,kmul(J31L,PDstandardNth23phi)),kmadd(dJ212L,PDstandardNth2phi,kmadd(J32L,kmadd(J21L,PDstandardNth23phi,kmul(J31L,PDstandardNth33phi)),kmul(dJ312L,PDstandardNth3phi)))))));
+
+ JacPDstandardNth13alpha =
+ kmadd(J13L,kmadd(J11L,PDstandardNth11alpha,kmadd(J21L,PDstandardNth12alpha,kmul(J31L,PDstandardNth13alpha))),kmadd(J11L,kmadd(J23L,PDstandardNth12alpha,kmul(J33L,PDstandardNth13alpha)),kmadd(dJ113L,PDstandardNth1alpha,kmadd(J23L,kmadd(J21L,PDstandardNth22alpha,kmul(J31L,PDstandardNth23alpha)),kmadd(dJ213L,PDstandardNth2alpha,kmadd(J33L,kmadd(J21L,PDstandardNth23alpha,kmul(J31L,PDstandardNth33alpha)),kmul(dJ313L,PDstandardNth3alpha)))))));
+
+ JacPDstandardNth13beta1 =
+ kmadd(J13L,kmadd(J11L,PDstandardNth11beta1,kmadd(J21L,PDstandardNth12beta1,kmul(J31L,PDstandardNth13beta1))),kmadd(J11L,kmadd(J23L,PDstandardNth12beta1,kmul(J33L,PDstandardNth13beta1)),kmadd(dJ113L,PDstandardNth1beta1,kmadd(J23L,kmadd(J21L,PDstandardNth22beta1,kmul(J31L,PDstandardNth23beta1)),kmadd(dJ213L,PDstandardNth2beta1,kmadd(J33L,kmadd(J21L,PDstandardNth23beta1,kmul(J31L,PDstandardNth33beta1)),kmul(dJ313L,PDstandardNth3beta1)))))));
+
+ JacPDstandardNth13beta2 =
+ kmadd(J13L,kmadd(J11L,PDstandardNth11beta2,kmadd(J21L,PDstandardNth12beta2,kmul(J31L,PDstandardNth13beta2))),kmadd(J11L,kmadd(J23L,PDstandardNth12beta2,kmul(J33L,PDstandardNth13beta2)),kmadd(dJ113L,PDstandardNth1beta2,kmadd(J23L,kmadd(J21L,PDstandardNth22beta2,kmul(J31L,PDstandardNth23beta2)),kmadd(dJ213L,PDstandardNth2beta2,kmadd(J33L,kmadd(J21L,PDstandardNth23beta2,kmul(J31L,PDstandardNth33beta2)),kmul(dJ313L,PDstandardNth3beta2)))))));
+
+ JacPDstandardNth13beta3 =
+ kmadd(J13L,kmadd(J11L,PDstandardNth11beta3,kmadd(J21L,PDstandardNth12beta3,kmul(J31L,PDstandardNth13beta3))),kmadd(J11L,kmadd(J23L,PDstandardNth12beta3,kmul(J33L,PDstandardNth13beta3)),kmadd(dJ113L,PDstandardNth1beta3,kmadd(J23L,kmadd(J21L,PDstandardNth22beta3,kmul(J31L,PDstandardNth23beta3)),kmadd(dJ213L,PDstandardNth2beta3,kmadd(J33L,kmadd(J21L,PDstandardNth23beta3,kmul(J31L,PDstandardNth33beta3)),kmul(dJ313L,PDstandardNth3beta3)))))));
+
+ JacPDstandardNth13gt11 =
+ kmadd(J13L,kmadd(J11L,PDstandardNth11gt11,kmadd(J21L,PDstandardNth12gt11,kmul(J31L,PDstandardNth13gt11))),kmadd(J11L,kmadd(J23L,PDstandardNth12gt11,kmul(J33L,PDstandardNth13gt11)),kmadd(dJ113L,PDstandardNth1gt11,kmadd(J23L,kmadd(J21L,PDstandardNth22gt11,kmul(J31L,PDstandardNth23gt11)),kmadd(dJ213L,PDstandardNth2gt11,kmadd(J33L,kmadd(J21L,PDstandardNth23gt11,kmul(J31L,PDstandardNth33gt11)),kmul(dJ313L,PDstandardNth3gt11)))))));
+
+ JacPDstandardNth13gt12 =
+ kmadd(J13L,kmadd(J11L,PDstandardNth11gt12,kmadd(J21L,PDstandardNth12gt12,kmul(J31L,PDstandardNth13gt12))),kmadd(J11L,kmadd(J23L,PDstandardNth12gt12,kmul(J33L,PDstandardNth13gt12)),kmadd(dJ113L,PDstandardNth1gt12,kmadd(J23L,kmadd(J21L,PDstandardNth22gt12,kmul(J31L,PDstandardNth23gt12)),kmadd(dJ213L,PDstandardNth2gt12,kmadd(J33L,kmadd(J21L,PDstandardNth23gt12,kmul(J31L,PDstandardNth33gt12)),kmul(dJ313L,PDstandardNth3gt12)))))));
+
+ JacPDstandardNth13gt13 =
+ kmadd(J13L,kmadd(J11L,PDstandardNth11gt13,kmadd(J21L,PDstandardNth12gt13,kmul(J31L,PDstandardNth13gt13))),kmadd(J11L,kmadd(J23L,PDstandardNth12gt13,kmul(J33L,PDstandardNth13gt13)),kmadd(dJ113L,PDstandardNth1gt13,kmadd(J23L,kmadd(J21L,PDstandardNth22gt13,kmul(J31L,PDstandardNth23gt13)),kmadd(dJ213L,PDstandardNth2gt13,kmadd(J33L,kmadd(J21L,PDstandardNth23gt13,kmul(J31L,PDstandardNth33gt13)),kmul(dJ313L,PDstandardNth3gt13)))))));
+
+ JacPDstandardNth13gt22 =
+ kmadd(J13L,kmadd(J11L,PDstandardNth11gt22,kmadd(J21L,PDstandardNth12gt22,kmul(J31L,PDstandardNth13gt22))),kmadd(J11L,kmadd(J23L,PDstandardNth12gt22,kmul(J33L,PDstandardNth13gt22)),kmadd(dJ113L,PDstandardNth1gt22,kmadd(J23L,kmadd(J21L,PDstandardNth22gt22,kmul(J31L,PDstandardNth23gt22)),kmadd(dJ213L,PDstandardNth2gt22,kmadd(J33L,kmadd(J21L,PDstandardNth23gt22,kmul(J31L,PDstandardNth33gt22)),kmul(dJ313L,PDstandardNth3gt22)))))));
+
+ JacPDstandardNth13gt23 =
+ kmadd(J13L,kmadd(J11L,PDstandardNth11gt23,kmadd(J21L,PDstandardNth12gt23,kmul(J31L,PDstandardNth13gt23))),kmadd(J11L,kmadd(J23L,PDstandardNth12gt23,kmul(J33L,PDstandardNth13gt23)),kmadd(dJ113L,PDstandardNth1gt23,kmadd(J23L,kmadd(J21L,PDstandardNth22gt23,kmul(J31L,PDstandardNth23gt23)),kmadd(dJ213L,PDstandardNth2gt23,kmadd(J33L,kmadd(J21L,PDstandardNth23gt23,kmul(J31L,PDstandardNth33gt23)),kmul(dJ313L,PDstandardNth3gt23)))))));
+
+ JacPDstandardNth13gt33 =
+ kmadd(J13L,kmadd(J11L,PDstandardNth11gt33,kmadd(J21L,PDstandardNth12gt33,kmul(J31L,PDstandardNth13gt33))),kmadd(J11L,kmadd(J23L,PDstandardNth12gt33,kmul(J33L,PDstandardNth13gt33)),kmadd(dJ113L,PDstandardNth1gt33,kmadd(J23L,kmadd(J21L,PDstandardNth22gt33,kmul(J31L,PDstandardNth23gt33)),kmadd(dJ213L,PDstandardNth2gt33,kmadd(J33L,kmadd(J21L,PDstandardNth23gt33,kmul(J31L,PDstandardNth33gt33)),kmul(dJ313L,PDstandardNth3gt33)))))));
+
+ JacPDstandardNth13phi =
+ kmadd(J13L,kmadd(J11L,PDstandardNth11phi,kmadd(J21L,PDstandardNth12phi,kmul(J31L,PDstandardNth13phi))),kmadd(J11L,kmadd(J23L,PDstandardNth12phi,kmul(J33L,PDstandardNth13phi)),kmadd(dJ113L,PDstandardNth1phi,kmadd(J23L,kmadd(J21L,PDstandardNth22phi,kmul(J31L,PDstandardNth23phi)),kmadd(dJ213L,PDstandardNth2phi,kmadd(J33L,kmadd(J21L,PDstandardNth23phi,kmul(J31L,PDstandardNth33phi)),kmul(dJ313L,PDstandardNth3phi)))))));
+
+ JacPDstandardNth21alpha =
+ kmadd(J12L,kmadd(J11L,PDstandardNth11alpha,kmadd(J21L,PDstandardNth12alpha,kmul(J31L,PDstandardNth13alpha))),kmadd(J11L,kmadd(J22L,PDstandardNth12alpha,kmul(J32L,PDstandardNth13alpha)),kmadd(dJ112L,PDstandardNth1alpha,kmadd(J22L,kmadd(J21L,PDstandardNth22alpha,kmul(J31L,PDstandardNth23alpha)),kmadd(dJ212L,PDstandardNth2alpha,kmadd(J32L,kmadd(J21L,PDstandardNth23alpha,kmul(J31L,PDstandardNth33alpha)),kmul(dJ312L,PDstandardNth3alpha)))))));
+
+ JacPDstandardNth21beta1 =
+ kmadd(J12L,kmadd(J11L,PDstandardNth11beta1,kmadd(J21L,PDstandardNth12beta1,kmul(J31L,PDstandardNth13beta1))),kmadd(J11L,kmadd(J22L,PDstandardNth12beta1,kmul(J32L,PDstandardNth13beta1)),kmadd(dJ112L,PDstandardNth1beta1,kmadd(J22L,kmadd(J21L,PDstandardNth22beta1,kmul(J31L,PDstandardNth23beta1)),kmadd(dJ212L,PDstandardNth2beta1,kmadd(J32L,kmadd(J21L,PDstandardNth23beta1,kmul(J31L,PDstandardNth33beta1)),kmul(dJ312L,PDstandardNth3beta1)))))));
+
+ JacPDstandardNth21beta2 =
+ kmadd(J12L,kmadd(J11L,PDstandardNth11beta2,kmadd(J21L,PDstandardNth12beta2,kmul(J31L,PDstandardNth13beta2))),kmadd(J11L,kmadd(J22L,PDstandardNth12beta2,kmul(J32L,PDstandardNth13beta2)),kmadd(dJ112L,PDstandardNth1beta2,kmadd(J22L,kmadd(J21L,PDstandardNth22beta2,kmul(J31L,PDstandardNth23beta2)),kmadd(dJ212L,PDstandardNth2beta2,kmadd(J32L,kmadd(J21L,PDstandardNth23beta2,kmul(J31L,PDstandardNth33beta2)),kmul(dJ312L,PDstandardNth3beta2)))))));
+
+ JacPDstandardNth21beta3 =
+ kmadd(J12L,kmadd(J11L,PDstandardNth11beta3,kmadd(J21L,PDstandardNth12beta3,kmul(J31L,PDstandardNth13beta3))),kmadd(J11L,kmadd(J22L,PDstandardNth12beta3,kmul(J32L,PDstandardNth13beta3)),kmadd(dJ112L,PDstandardNth1beta3,kmadd(J22L,kmadd(J21L,PDstandardNth22beta3,kmul(J31L,PDstandardNth23beta3)),kmadd(dJ212L,PDstandardNth2beta3,kmadd(J32L,kmadd(J21L,PDstandardNth23beta3,kmul(J31L,PDstandardNth33beta3)),kmul(dJ312L,PDstandardNth3beta3)))))));
+
+ JacPDstandardNth21gt11 =
+ kmadd(J12L,kmadd(J11L,PDstandardNth11gt11,kmadd(J21L,PDstandardNth12gt11,kmul(J31L,PDstandardNth13gt11))),kmadd(J11L,kmadd(J22L,PDstandardNth12gt11,kmul(J32L,PDstandardNth13gt11)),kmadd(dJ112L,PDstandardNth1gt11,kmadd(J22L,kmadd(J21L,PDstandardNth22gt11,kmul(J31L,PDstandardNth23gt11)),kmadd(dJ212L,PDstandardNth2gt11,kmadd(J32L,kmadd(J21L,PDstandardNth23gt11,kmul(J31L,PDstandardNth33gt11)),kmul(dJ312L,PDstandardNth3gt11)))))));
+
+ JacPDstandardNth21gt12 =
+ kmadd(J12L,kmadd(J11L,PDstandardNth11gt12,kmadd(J21L,PDstandardNth12gt12,kmul(J31L,PDstandardNth13gt12))),kmadd(J11L,kmadd(J22L,PDstandardNth12gt12,kmul(J32L,PDstandardNth13gt12)),kmadd(dJ112L,PDstandardNth1gt12,kmadd(J22L,kmadd(J21L,PDstandardNth22gt12,kmul(J31L,PDstandardNth23gt12)),kmadd(dJ212L,PDstandardNth2gt12,kmadd(J32L,kmadd(J21L,PDstandardNth23gt12,kmul(J31L,PDstandardNth33gt12)),kmul(dJ312L,PDstandardNth3gt12)))))));
+
+ JacPDstandardNth21gt13 =
+ kmadd(J12L,kmadd(J11L,PDstandardNth11gt13,kmadd(J21L,PDstandardNth12gt13,kmul(J31L,PDstandardNth13gt13))),kmadd(J11L,kmadd(J22L,PDstandardNth12gt13,kmul(J32L,PDstandardNth13gt13)),kmadd(dJ112L,PDstandardNth1gt13,kmadd(J22L,kmadd(J21L,PDstandardNth22gt13,kmul(J31L,PDstandardNth23gt13)),kmadd(dJ212L,PDstandardNth2gt13,kmadd(J32L,kmadd(J21L,PDstandardNth23gt13,kmul(J31L,PDstandardNth33gt13)),kmul(dJ312L,PDstandardNth3gt13)))))));
+
+ JacPDstandardNth21gt22 =
+ kmadd(J12L,kmadd(J11L,PDstandardNth11gt22,kmadd(J21L,PDstandardNth12gt22,kmul(J31L,PDstandardNth13gt22))),kmadd(J11L,kmadd(J22L,PDstandardNth12gt22,kmul(J32L,PDstandardNth13gt22)),kmadd(dJ112L,PDstandardNth1gt22,kmadd(J22L,kmadd(J21L,PDstandardNth22gt22,kmul(J31L,PDstandardNth23gt22)),kmadd(dJ212L,PDstandardNth2gt22,kmadd(J32L,kmadd(J21L,PDstandardNth23gt22,kmul(J31L,PDstandardNth33gt22)),kmul(dJ312L,PDstandardNth3gt22)))))));
+
+ JacPDstandardNth21gt23 =
+ kmadd(J12L,kmadd(J11L,PDstandardNth11gt23,kmadd(J21L,PDstandardNth12gt23,kmul(J31L,PDstandardNth13gt23))),kmadd(J11L,kmadd(J22L,PDstandardNth12gt23,kmul(J32L,PDstandardNth13gt23)),kmadd(dJ112L,PDstandardNth1gt23,kmadd(J22L,kmadd(J21L,PDstandardNth22gt23,kmul(J31L,PDstandardNth23gt23)),kmadd(dJ212L,PDstandardNth2gt23,kmadd(J32L,kmadd(J21L,PDstandardNth23gt23,kmul(J31L,PDstandardNth33gt23)),kmul(dJ312L,PDstandardNth3gt23)))))));
+
+ JacPDstandardNth21gt33 =
+ kmadd(J12L,kmadd(J11L,PDstandardNth11gt33,kmadd(J21L,PDstandardNth12gt33,kmul(J31L,PDstandardNth13gt33))),kmadd(J11L,kmadd(J22L,PDstandardNth12gt33,kmul(J32L,PDstandardNth13gt33)),kmadd(dJ112L,PDstandardNth1gt33,kmadd(J22L,kmadd(J21L,PDstandardNth22gt33,kmul(J31L,PDstandardNth23gt33)),kmadd(dJ212L,PDstandardNth2gt33,kmadd(J32L,kmadd(J21L,PDstandardNth23gt33,kmul(J31L,PDstandardNth33gt33)),kmul(dJ312L,PDstandardNth3gt33)))))));
+
+ JacPDstandardNth23alpha =
+ kmadd(J13L,kmadd(J12L,PDstandardNth11alpha,kmadd(J22L,PDstandardNth12alpha,kmul(J32L,PDstandardNth13alpha))),kmadd(J12L,kmadd(J23L,PDstandardNth12alpha,kmul(J33L,PDstandardNth13alpha)),kmadd(dJ123L,PDstandardNth1alpha,kmadd(J23L,kmadd(J22L,PDstandardNth22alpha,kmul(J32L,PDstandardNth23alpha)),kmadd(dJ223L,PDstandardNth2alpha,kmadd(J33L,kmadd(J22L,PDstandardNth23alpha,kmul(J32L,PDstandardNth33alpha)),kmul(dJ323L,PDstandardNth3alpha)))))));
+
+ JacPDstandardNth23beta1 =
+ kmadd(J13L,kmadd(J12L,PDstandardNth11beta1,kmadd(J22L,PDstandardNth12beta1,kmul(J32L,PDstandardNth13beta1))),kmadd(J12L,kmadd(J23L,PDstandardNth12beta1,kmul(J33L,PDstandardNth13beta1)),kmadd(dJ123L,PDstandardNth1beta1,kmadd(J23L,kmadd(J22L,PDstandardNth22beta1,kmul(J32L,PDstandardNth23beta1)),kmadd(dJ223L,PDstandardNth2beta1,kmadd(J33L,kmadd(J22L,PDstandardNth23beta1,kmul(J32L,PDstandardNth33beta1)),kmul(dJ323L,PDstandardNth3beta1)))))));
+
+ JacPDstandardNth23beta2 =
+ kmadd(J13L,kmadd(J12L,PDstandardNth11beta2,kmadd(J22L,PDstandardNth12beta2,kmul(J32L,PDstandardNth13beta2))),kmadd(J12L,kmadd(J23L,PDstandardNth12beta2,kmul(J33L,PDstandardNth13beta2)),kmadd(dJ123L,PDstandardNth1beta2,kmadd(J23L,kmadd(J22L,PDstandardNth22beta2,kmul(J32L,PDstandardNth23beta2)),kmadd(dJ223L,PDstandardNth2beta2,kmadd(J33L,kmadd(J22L,PDstandardNth23beta2,kmul(J32L,PDstandardNth33beta2)),kmul(dJ323L,PDstandardNth3beta2)))))));
+
+ JacPDstandardNth23beta3 =
+ kmadd(J13L,kmadd(J12L,PDstandardNth11beta3,kmadd(J22L,PDstandardNth12beta3,kmul(J32L,PDstandardNth13beta3))),kmadd(J12L,kmadd(J23L,PDstandardNth12beta3,kmul(J33L,PDstandardNth13beta3)),kmadd(dJ123L,PDstandardNth1beta3,kmadd(J23L,kmadd(J22L,PDstandardNth22beta3,kmul(J32L,PDstandardNth23beta3)),kmadd(dJ223L,PDstandardNth2beta3,kmadd(J33L,kmadd(J22L,PDstandardNth23beta3,kmul(J32L,PDstandardNth33beta3)),kmul(dJ323L,PDstandardNth3beta3)))))));
+
+ JacPDstandardNth23gt11 =
+ kmadd(J13L,kmadd(J12L,PDstandardNth11gt11,kmadd(J22L,PDstandardNth12gt11,kmul(J32L,PDstandardNth13gt11))),kmadd(J12L,kmadd(J23L,PDstandardNth12gt11,kmul(J33L,PDstandardNth13gt11)),kmadd(dJ123L,PDstandardNth1gt11,kmadd(J23L,kmadd(J22L,PDstandardNth22gt11,kmul(J32L,PDstandardNth23gt11)),kmadd(dJ223L,PDstandardNth2gt11,kmadd(J33L,kmadd(J22L,PDstandardNth23gt11,kmul(J32L,PDstandardNth33gt11)),kmul(dJ323L,PDstandardNth3gt11)))))));
+
+ JacPDstandardNth23gt12 =
+ kmadd(J13L,kmadd(J12L,PDstandardNth11gt12,kmadd(J22L,PDstandardNth12gt12,kmul(J32L,PDstandardNth13gt12))),kmadd(J12L,kmadd(J23L,PDstandardNth12gt12,kmul(J33L,PDstandardNth13gt12)),kmadd(dJ123L,PDstandardNth1gt12,kmadd(J23L,kmadd(J22L,PDstandardNth22gt12,kmul(J32L,PDstandardNth23gt12)),kmadd(dJ223L,PDstandardNth2gt12,kmadd(J33L,kmadd(J22L,PDstandardNth23gt12,kmul(J32L,PDstandardNth33gt12)),kmul(dJ323L,PDstandardNth3gt12)))))));
+
+ JacPDstandardNth23gt13 =
+ kmadd(J13L,kmadd(J12L,PDstandardNth11gt13,kmadd(J22L,PDstandardNth12gt13,kmul(J32L,PDstandardNth13gt13))),kmadd(J12L,kmadd(J23L,PDstandardNth12gt13,kmul(J33L,PDstandardNth13gt13)),kmadd(dJ123L,PDstandardNth1gt13,kmadd(J23L,kmadd(J22L,PDstandardNth22gt13,kmul(J32L,PDstandardNth23gt13)),kmadd(dJ223L,PDstandardNth2gt13,kmadd(J33L,kmadd(J22L,PDstandardNth23gt13,kmul(J32L,PDstandardNth33gt13)),kmul(dJ323L,PDstandardNth3gt13)))))));
+
+ JacPDstandardNth23gt22 =
+ kmadd(J13L,kmadd(J12L,PDstandardNth11gt22,kmadd(J22L,PDstandardNth12gt22,kmul(J32L,PDstandardNth13gt22))),kmadd(J12L,kmadd(J23L,PDstandardNth12gt22,kmul(J33L,PDstandardNth13gt22)),kmadd(dJ123L,PDstandardNth1gt22,kmadd(J23L,kmadd(J22L,PDstandardNth22gt22,kmul(J32L,PDstandardNth23gt22)),kmadd(dJ223L,PDstandardNth2gt22,kmadd(J33L,kmadd(J22L,PDstandardNth23gt22,kmul(J32L,PDstandardNth33gt22)),kmul(dJ323L,PDstandardNth3gt22)))))));
+
+ JacPDstandardNth23gt23 =
+ kmadd(J13L,kmadd(J12L,PDstandardNth11gt23,kmadd(J22L,PDstandardNth12gt23,kmul(J32L,PDstandardNth13gt23))),kmadd(J12L,kmadd(J23L,PDstandardNth12gt23,kmul(J33L,PDstandardNth13gt23)),kmadd(dJ123L,PDstandardNth1gt23,kmadd(J23L,kmadd(J22L,PDstandardNth22gt23,kmul(J32L,PDstandardNth23gt23)),kmadd(dJ223L,PDstandardNth2gt23,kmadd(J33L,kmadd(J22L,PDstandardNth23gt23,kmul(J32L,PDstandardNth33gt23)),kmul(dJ323L,PDstandardNth3gt23)))))));
+
+ JacPDstandardNth23gt33 =
+ kmadd(J13L,kmadd(J12L,PDstandardNth11gt33,kmadd(J22L,PDstandardNth12gt33,kmul(J32L,PDstandardNth13gt33))),kmadd(J12L,kmadd(J23L,PDstandardNth12gt33,kmul(J33L,PDstandardNth13gt33)),kmadd(dJ123L,PDstandardNth1gt33,kmadd(J23L,kmadd(J22L,PDstandardNth22gt33,kmul(J32L,PDstandardNth23gt33)),kmadd(dJ223L,PDstandardNth2gt33,kmadd(J33L,kmadd(J22L,PDstandardNth23gt33,kmul(J32L,PDstandardNth33gt33)),kmul(dJ323L,PDstandardNth3gt33)))))));
+
+ JacPDstandardNth23phi =
+ kmadd(J13L,kmadd(J12L,PDstandardNth11phi,kmadd(J22L,PDstandardNth12phi,kmul(J32L,PDstandardNth13phi))),kmadd(J12L,kmadd(J23L,PDstandardNth12phi,kmul(J33L,PDstandardNth13phi)),kmadd(dJ123L,PDstandardNth1phi,kmadd(J23L,kmadd(J22L,PDstandardNth22phi,kmul(J32L,PDstandardNth23phi)),kmadd(dJ223L,PDstandardNth2phi,kmadd(J33L,kmadd(J22L,PDstandardNth23phi,kmul(J32L,PDstandardNth33phi)),kmul(dJ323L,PDstandardNth3phi)))))));
+
+ JacPDstandardNth31alpha =
+ kmadd(J13L,kmadd(J11L,PDstandardNth11alpha,kmadd(J21L,PDstandardNth12alpha,kmul(J31L,PDstandardNth13alpha))),kmadd(J11L,kmadd(J23L,PDstandardNth12alpha,kmul(J33L,PDstandardNth13alpha)),kmadd(dJ113L,PDstandardNth1alpha,kmadd(J23L,kmadd(J21L,PDstandardNth22alpha,kmul(J31L,PDstandardNth23alpha)),kmadd(dJ213L,PDstandardNth2alpha,kmadd(J33L,kmadd(J21L,PDstandardNth23alpha,kmul(J31L,PDstandardNth33alpha)),kmul(dJ313L,PDstandardNth3alpha)))))));
+
+ JacPDstandardNth31beta1 =
+ kmadd(J13L,kmadd(J11L,PDstandardNth11beta1,kmadd(J21L,PDstandardNth12beta1,kmul(J31L,PDstandardNth13beta1))),kmadd(J11L,kmadd(J23L,PDstandardNth12beta1,kmul(J33L,PDstandardNth13beta1)),kmadd(dJ113L,PDstandardNth1beta1,kmadd(J23L,kmadd(J21L,PDstandardNth22beta1,kmul(J31L,PDstandardNth23beta1)),kmadd(dJ213L,PDstandardNth2beta1,kmadd(J33L,kmadd(J21L,PDstandardNth23beta1,kmul(J31L,PDstandardNth33beta1)),kmul(dJ313L,PDstandardNth3beta1)))))));
+
+ JacPDstandardNth31beta2 =
+ kmadd(J13L,kmadd(J11L,PDstandardNth11beta2,kmadd(J21L,PDstandardNth12beta2,kmul(J31L,PDstandardNth13beta2))),kmadd(J11L,kmadd(J23L,PDstandardNth12beta2,kmul(J33L,PDstandardNth13beta2)),kmadd(dJ113L,PDstandardNth1beta2,kmadd(J23L,kmadd(J21L,PDstandardNth22beta2,kmul(J31L,PDstandardNth23beta2)),kmadd(dJ213L,PDstandardNth2beta2,kmadd(J33L,kmadd(J21L,PDstandardNth23beta2,kmul(J31L,PDstandardNth33beta2)),kmul(dJ313L,PDstandardNth3beta2)))))));
+
+ JacPDstandardNth31beta3 =
+ kmadd(J13L,kmadd(J11L,PDstandardNth11beta3,kmadd(J21L,PDstandardNth12beta3,kmul(J31L,PDstandardNth13beta3))),kmadd(J11L,kmadd(J23L,PDstandardNth12beta3,kmul(J33L,PDstandardNth13beta3)),kmadd(dJ113L,PDstandardNth1beta3,kmadd(J23L,kmadd(J21L,PDstandardNth22beta3,kmul(J31L,PDstandardNth23beta3)),kmadd(dJ213L,PDstandardNth2beta3,kmadd(J33L,kmadd(J21L,PDstandardNth23beta3,kmul(J31L,PDstandardNth33beta3)),kmul(dJ313L,PDstandardNth3beta3)))))));
+
+ JacPDstandardNth31gt11 =
+ kmadd(J13L,kmadd(J11L,PDstandardNth11gt11,kmadd(J21L,PDstandardNth12gt11,kmul(J31L,PDstandardNth13gt11))),kmadd(J11L,kmadd(J23L,PDstandardNth12gt11,kmul(J33L,PDstandardNth13gt11)),kmadd(dJ113L,PDstandardNth1gt11,kmadd(J23L,kmadd(J21L,PDstandardNth22gt11,kmul(J31L,PDstandardNth23gt11)),kmadd(dJ213L,PDstandardNth2gt11,kmadd(J33L,kmadd(J21L,PDstandardNth23gt11,kmul(J31L,PDstandardNth33gt11)),kmul(dJ313L,PDstandardNth3gt11)))))));
+
+ JacPDstandardNth31gt12 =
+ kmadd(J13L,kmadd(J11L,PDstandardNth11gt12,kmadd(J21L,PDstandardNth12gt12,kmul(J31L,PDstandardNth13gt12))),kmadd(J11L,kmadd(J23L,PDstandardNth12gt12,kmul(J33L,PDstandardNth13gt12)),kmadd(dJ113L,PDstandardNth1gt12,kmadd(J23L,kmadd(J21L,PDstandardNth22gt12,kmul(J31L,PDstandardNth23gt12)),kmadd(dJ213L,PDstandardNth2gt12,kmadd(J33L,kmadd(J21L,PDstandardNth23gt12,kmul(J31L,PDstandardNth33gt12)),kmul(dJ313L,PDstandardNth3gt12)))))));
+
+ JacPDstandardNth31gt13 =
+ kmadd(J13L,kmadd(J11L,PDstandardNth11gt13,kmadd(J21L,PDstandardNth12gt13,kmul(J31L,PDstandardNth13gt13))),kmadd(J11L,kmadd(J23L,PDstandardNth12gt13,kmul(J33L,PDstandardNth13gt13)),kmadd(dJ113L,PDstandardNth1gt13,kmadd(J23L,kmadd(J21L,PDstandardNth22gt13,kmul(J31L,PDstandardNth23gt13)),kmadd(dJ213L,PDstandardNth2gt13,kmadd(J33L,kmadd(J21L,PDstandardNth23gt13,kmul(J31L,PDstandardNth33gt13)),kmul(dJ313L,PDstandardNth3gt13)))))));
+
+ JacPDstandardNth31gt22 =
+ kmadd(J13L,kmadd(J11L,PDstandardNth11gt22,kmadd(J21L,PDstandardNth12gt22,kmul(J31L,PDstandardNth13gt22))),kmadd(J11L,kmadd(J23L,PDstandardNth12gt22,kmul(J33L,PDstandardNth13gt22)),kmadd(dJ113L,PDstandardNth1gt22,kmadd(J23L,kmadd(J21L,PDstandardNth22gt22,kmul(J31L,PDstandardNth23gt22)),kmadd(dJ213L,PDstandardNth2gt22,kmadd(J33L,kmadd(J21L,PDstandardNth23gt22,kmul(J31L,PDstandardNth33gt22)),kmul(dJ313L,PDstandardNth3gt22)))))));
+
+ JacPDstandardNth31gt23 =
+ kmadd(J13L,kmadd(J11L,PDstandardNth11gt23,kmadd(J21L,PDstandardNth12gt23,kmul(J31L,PDstandardNth13gt23))),kmadd(J11L,kmadd(J23L,PDstandardNth12gt23,kmul(J33L,PDstandardNth13gt23)),kmadd(dJ113L,PDstandardNth1gt23,kmadd(J23L,kmadd(J21L,PDstandardNth22gt23,kmul(J31L,PDstandardNth23gt23)),kmadd(dJ213L,PDstandardNth2gt23,kmadd(J33L,kmadd(J21L,PDstandardNth23gt23,kmul(J31L,PDstandardNth33gt23)),kmul(dJ313L,PDstandardNth3gt23)))))));
+
+ JacPDstandardNth31gt33 =
+ kmadd(J13L,kmadd(J11L,PDstandardNth11gt33,kmadd(J21L,PDstandardNth12gt33,kmul(J31L,PDstandardNth13gt33))),kmadd(J11L,kmadd(J23L,PDstandardNth12gt33,kmul(J33L,PDstandardNth13gt33)),kmadd(dJ113L,PDstandardNth1gt33,kmadd(J23L,kmadd(J21L,PDstandardNth22gt33,kmul(J31L,PDstandardNth23gt33)),kmadd(dJ213L,PDstandardNth2gt33,kmadd(J33L,kmadd(J21L,PDstandardNth23gt33,kmul(J31L,PDstandardNth33gt33)),kmul(dJ313L,PDstandardNth3gt33)))))));
+
+ JacPDstandardNth32alpha =
+ kmadd(J13L,kmadd(J12L,PDstandardNth11alpha,kmadd(J22L,PDstandardNth12alpha,kmul(J32L,PDstandardNth13alpha))),kmadd(J12L,kmadd(J23L,PDstandardNth12alpha,kmul(J33L,PDstandardNth13alpha)),kmadd(dJ123L,PDstandardNth1alpha,kmadd(J23L,kmadd(J22L,PDstandardNth22alpha,kmul(J32L,PDstandardNth23alpha)),kmadd(dJ223L,PDstandardNth2alpha,kmadd(J33L,kmadd(J22L,PDstandardNth23alpha,kmul(J32L,PDstandardNth33alpha)),kmul(dJ323L,PDstandardNth3alpha)))))));
+
+ JacPDstandardNth32beta1 =
+ kmadd(J13L,kmadd(J12L,PDstandardNth11beta1,kmadd(J22L,PDstandardNth12beta1,kmul(J32L,PDstandardNth13beta1))),kmadd(J12L,kmadd(J23L,PDstandardNth12beta1,kmul(J33L,PDstandardNth13beta1)),kmadd(dJ123L,PDstandardNth1beta1,kmadd(J23L,kmadd(J22L,PDstandardNth22beta1,kmul(J32L,PDstandardNth23beta1)),kmadd(dJ223L,PDstandardNth2beta1,kmadd(J33L,kmadd(J22L,PDstandardNth23beta1,kmul(J32L,PDstandardNth33beta1)),kmul(dJ323L,PDstandardNth3beta1)))))));
+
+ JacPDstandardNth32beta2 =
+ kmadd(J13L,kmadd(J12L,PDstandardNth11beta2,kmadd(J22L,PDstandardNth12beta2,kmul(J32L,PDstandardNth13beta2))),kmadd(J12L,kmadd(J23L,PDstandardNth12beta2,kmul(J33L,PDstandardNth13beta2)),kmadd(dJ123L,PDstandardNth1beta2,kmadd(J23L,kmadd(J22L,PDstandardNth22beta2,kmul(J32L,PDstandardNth23beta2)),kmadd(dJ223L,PDstandardNth2beta2,kmadd(J33L,kmadd(J22L,PDstandardNth23beta2,kmul(J32L,PDstandardNth33beta2)),kmul(dJ323L,PDstandardNth3beta2)))))));
+
+ JacPDstandardNth32beta3 =
+ kmadd(J13L,kmadd(J12L,PDstandardNth11beta3,kmadd(J22L,PDstandardNth12beta3,kmul(J32L,PDstandardNth13beta3))),kmadd(J12L,kmadd(J23L,PDstandardNth12beta3,kmul(J33L,PDstandardNth13beta3)),kmadd(dJ123L,PDstandardNth1beta3,kmadd(J23L,kmadd(J22L,PDstandardNth22beta3,kmul(J32L,PDstandardNth23beta3)),kmadd(dJ223L,PDstandardNth2beta3,kmadd(J33L,kmadd(J22L,PDstandardNth23beta3,kmul(J32L,PDstandardNth33beta3)),kmul(dJ323L,PDstandardNth3beta3)))))));
+
+ JacPDstandardNth32gt11 =
+ kmadd(J13L,kmadd(J12L,PDstandardNth11gt11,kmadd(J22L,PDstandardNth12gt11,kmul(J32L,PDstandardNth13gt11))),kmadd(J12L,kmadd(J23L,PDstandardNth12gt11,kmul(J33L,PDstandardNth13gt11)),kmadd(dJ123L,PDstandardNth1gt11,kmadd(J23L,kmadd(J22L,PDstandardNth22gt11,kmul(J32L,PDstandardNth23gt11)),kmadd(dJ223L,PDstandardNth2gt11,kmadd(J33L,kmadd(J22L,PDstandardNth23gt11,kmul(J32L,PDstandardNth33gt11)),kmul(dJ323L,PDstandardNth3gt11)))))));
+
+ JacPDstandardNth32gt12 =
+ kmadd(J13L,kmadd(J12L,PDstandardNth11gt12,kmadd(J22L,PDstandardNth12gt12,kmul(J32L,PDstandardNth13gt12))),kmadd(J12L,kmadd(J23L,PDstandardNth12gt12,kmul(J33L,PDstandardNth13gt12)),kmadd(dJ123L,PDstandardNth1gt12,kmadd(J23L,kmadd(J22L,PDstandardNth22gt12,kmul(J32L,PDstandardNth23gt12)),kmadd(dJ223L,PDstandardNth2gt12,kmadd(J33L,kmadd(J22L,PDstandardNth23gt12,kmul(J32L,PDstandardNth33gt12)),kmul(dJ323L,PDstandardNth3gt12)))))));
+
+ JacPDstandardNth32gt13 =
+ kmadd(J13L,kmadd(J12L,PDstandardNth11gt13,kmadd(J22L,PDstandardNth12gt13,kmul(J32L,PDstandardNth13gt13))),kmadd(J12L,kmadd(J23L,PDstandardNth12gt13,kmul(J33L,PDstandardNth13gt13)),kmadd(dJ123L,PDstandardNth1gt13,kmadd(J23L,kmadd(J22L,PDstandardNth22gt13,kmul(J32L,PDstandardNth23gt13)),kmadd(dJ223L,PDstandardNth2gt13,kmadd(J33L,kmadd(J22L,PDstandardNth23gt13,kmul(J32L,PDstandardNth33gt13)),kmul(dJ323L,PDstandardNth3gt13)))))));
+
+ JacPDstandardNth32gt22 =
+ kmadd(J13L,kmadd(J12L,PDstandardNth11gt22,kmadd(J22L,PDstandardNth12gt22,kmul(J32L,PDstandardNth13gt22))),kmadd(J12L,kmadd(J23L,PDstandardNth12gt22,kmul(J33L,PDstandardNth13gt22)),kmadd(dJ123L,PDstandardNth1gt22,kmadd(J23L,kmadd(J22L,PDstandardNth22gt22,kmul(J32L,PDstandardNth23gt22)),kmadd(dJ223L,PDstandardNth2gt22,kmadd(J33L,kmadd(J22L,PDstandardNth23gt22,kmul(J32L,PDstandardNth33gt22)),kmul(dJ323L,PDstandardNth3gt22)))))));
+
+ JacPDstandardNth32gt23 =
+ kmadd(J13L,kmadd(J12L,PDstandardNth11gt23,kmadd(J22L,PDstandardNth12gt23,kmul(J32L,PDstandardNth13gt23))),kmadd(J12L,kmadd(J23L,PDstandardNth12gt23,kmul(J33L,PDstandardNth13gt23)),kmadd(dJ123L,PDstandardNth1gt23,kmadd(J23L,kmadd(J22L,PDstandardNth22gt23,kmul(J32L,PDstandardNth23gt23)),kmadd(dJ223L,PDstandardNth2gt23,kmadd(J33L,kmadd(J22L,PDstandardNth23gt23,kmul(J32L,PDstandardNth33gt23)),kmul(dJ323L,PDstandardNth3gt23)))))));
+
+ JacPDstandardNth32gt33 =
+ kmadd(J13L,kmadd(J12L,PDstandardNth11gt33,kmadd(J22L,PDstandardNth12gt33,kmul(J32L,PDstandardNth13gt33))),kmadd(J12L,kmadd(J23L,PDstandardNth12gt33,kmul(J33L,PDstandardNth13gt33)),kmadd(dJ123L,PDstandardNth1gt33,kmadd(J23L,kmadd(J22L,PDstandardNth22gt33,kmul(J32L,PDstandardNth23gt33)),kmadd(dJ223L,PDstandardNth2gt33,kmadd(J33L,kmadd(J22L,PDstandardNth23gt33,kmul(J32L,PDstandardNth33gt33)),kmul(dJ323L,PDstandardNth3gt33)))))));
+ }
+ else
+ {
+ JacPDstandardNth1alpha = PDstandardNth1alpha;
+
+ JacPDstandardNth1beta1 = PDstandardNth1beta1;
+
+ JacPDstandardNth1beta2 = PDstandardNth1beta2;
+
+ JacPDstandardNth1beta3 = PDstandardNth1beta3;
+
+ JacPDstandardNth1gt11 = PDstandardNth1gt11;
+
+ JacPDstandardNth1gt12 = PDstandardNth1gt12;
+
+ JacPDstandardNth1gt13 = PDstandardNth1gt13;
+
+ JacPDstandardNth1gt22 = PDstandardNth1gt22;
+
+ JacPDstandardNth1gt23 = PDstandardNth1gt23;
+
+ JacPDstandardNth1gt33 = PDstandardNth1gt33;
+
+ JacPDstandardNth1phi = PDstandardNth1phi;
+
+ JacPDstandardNth1trK = PDstandardNth1trK;
+
+ JacPDstandardNth1Xt1 = PDstandardNth1Xt1;
+
+ JacPDstandardNth1Xt2 = PDstandardNth1Xt2;
+
+ JacPDstandardNth1Xt3 = PDstandardNth1Xt3;
+
+ JacPDstandardNth2alpha = PDstandardNth2alpha;
+
+ JacPDstandardNth2beta1 = PDstandardNth2beta1;
+
+ JacPDstandardNth2beta2 = PDstandardNth2beta2;
+
+ JacPDstandardNth2beta3 = PDstandardNth2beta3;
+
+ JacPDstandardNth2gt11 = PDstandardNth2gt11;
+
+ JacPDstandardNth2gt12 = PDstandardNth2gt12;
+
+ JacPDstandardNth2gt13 = PDstandardNth2gt13;
+
+ JacPDstandardNth2gt22 = PDstandardNth2gt22;
+
+ JacPDstandardNth2gt23 = PDstandardNth2gt23;
+
+ JacPDstandardNth2gt33 = PDstandardNth2gt33;
+
+ JacPDstandardNth2phi = PDstandardNth2phi;
+
+ JacPDstandardNth2trK = PDstandardNth2trK;
+
+ JacPDstandardNth2Xt1 = PDstandardNth2Xt1;
+
+ JacPDstandardNth2Xt2 = PDstandardNth2Xt2;
+
+ JacPDstandardNth2Xt3 = PDstandardNth2Xt3;
+
+ JacPDstandardNth3alpha = PDstandardNth3alpha;
+
+ JacPDstandardNth3beta1 = PDstandardNth3beta1;
+
+ JacPDstandardNth3beta2 = PDstandardNth3beta2;
+
+ JacPDstandardNth3beta3 = PDstandardNth3beta3;
+
+ JacPDstandardNth3gt11 = PDstandardNth3gt11;
+
+ JacPDstandardNth3gt12 = PDstandardNth3gt12;
+
+ JacPDstandardNth3gt13 = PDstandardNth3gt13;
+
+ JacPDstandardNth3gt22 = PDstandardNth3gt22;
+
+ JacPDstandardNth3gt23 = PDstandardNth3gt23;
+
+ JacPDstandardNth3gt33 = PDstandardNth3gt33;
+
+ JacPDstandardNth3phi = PDstandardNth3phi;
+
+ JacPDstandardNth3trK = PDstandardNth3trK;
+
+ JacPDstandardNth3Xt1 = PDstandardNth3Xt1;
+
+ JacPDstandardNth3Xt2 = PDstandardNth3Xt2;
+
+ JacPDstandardNth3Xt3 = PDstandardNth3Xt3;
+
+ JacPDstandardNth11alpha = PDstandardNth11alpha;
+
+ JacPDstandardNth11beta1 = PDstandardNth11beta1;
+
+ JacPDstandardNth11beta2 = PDstandardNth11beta2;
+
+ JacPDstandardNth11beta3 = PDstandardNth11beta3;
+
+ JacPDstandardNth11gt11 = PDstandardNth11gt11;
+
+ JacPDstandardNth11gt12 = PDstandardNth11gt12;
+
+ JacPDstandardNth11gt13 = PDstandardNth11gt13;
+
+ JacPDstandardNth11gt22 = PDstandardNth11gt22;
+
+ JacPDstandardNth11gt23 = PDstandardNth11gt23;
+
+ JacPDstandardNth11gt33 = PDstandardNth11gt33;
+
+ JacPDstandardNth11phi = PDstandardNth11phi;
+
+ JacPDstandardNth22alpha = PDstandardNth22alpha;
+
+ JacPDstandardNth22beta1 = PDstandardNth22beta1;
+
+ JacPDstandardNth22beta2 = PDstandardNth22beta2;
+
+ JacPDstandardNth22beta3 = PDstandardNth22beta3;
+
+ JacPDstandardNth22gt11 = PDstandardNth22gt11;
+
+ JacPDstandardNth22gt12 = PDstandardNth22gt12;
+
+ JacPDstandardNth22gt13 = PDstandardNth22gt13;
+
+ JacPDstandardNth22gt22 = PDstandardNth22gt22;
+
+ JacPDstandardNth22gt23 = PDstandardNth22gt23;
+
+ JacPDstandardNth22gt33 = PDstandardNth22gt33;
+
+ JacPDstandardNth22phi = PDstandardNth22phi;
+
+ JacPDstandardNth33alpha = PDstandardNth33alpha;
+
+ JacPDstandardNth33beta1 = PDstandardNth33beta1;
+
+ JacPDstandardNth33beta2 = PDstandardNth33beta2;
+
+ JacPDstandardNth33beta3 = PDstandardNth33beta3;
+
+ JacPDstandardNth33gt11 = PDstandardNth33gt11;
+
+ JacPDstandardNth33gt12 = PDstandardNth33gt12;
+
+ JacPDstandardNth33gt13 = PDstandardNth33gt13;
+
+ JacPDstandardNth33gt22 = PDstandardNth33gt22;
+
+ JacPDstandardNth33gt23 = PDstandardNth33gt23;
+
+ JacPDstandardNth33gt33 = PDstandardNth33gt33;
+
+ JacPDstandardNth33phi = PDstandardNth33phi;
+
+ JacPDstandardNth12alpha = PDstandardNth12alpha;
+
+ JacPDstandardNth12beta1 = PDstandardNth12beta1;
+
+ JacPDstandardNth12beta2 = PDstandardNth12beta2;
+
+ JacPDstandardNth12beta3 = PDstandardNth12beta3;
+
+ JacPDstandardNth12gt11 = PDstandardNth12gt11;
+
+ JacPDstandardNth12gt12 = PDstandardNth12gt12;
+
+ JacPDstandardNth12gt13 = PDstandardNth12gt13;
+
+ JacPDstandardNth12gt22 = PDstandardNth12gt22;
+
+ JacPDstandardNth12gt23 = PDstandardNth12gt23;
+
+ JacPDstandardNth12gt33 = PDstandardNth12gt33;
+
+ JacPDstandardNth12phi = PDstandardNth12phi;
+
+ JacPDstandardNth13alpha = PDstandardNth13alpha;
+
+ JacPDstandardNth13beta1 = PDstandardNth13beta1;
+
+ JacPDstandardNth13beta2 = PDstandardNth13beta2;
+
+ JacPDstandardNth13beta3 = PDstandardNth13beta3;
+
+ JacPDstandardNth13gt11 = PDstandardNth13gt11;
+
+ JacPDstandardNth13gt12 = PDstandardNth13gt12;
+
+ JacPDstandardNth13gt13 = PDstandardNth13gt13;
+
+ JacPDstandardNth13gt22 = PDstandardNth13gt22;
+
+ JacPDstandardNth13gt23 = PDstandardNth13gt23;
+
+ JacPDstandardNth13gt33 = PDstandardNth13gt33;
+
+ JacPDstandardNth13phi = PDstandardNth13phi;
+
+ JacPDstandardNth21alpha = PDstandardNth12alpha;
+
+ JacPDstandardNth21beta1 = PDstandardNth12beta1;
+
+ JacPDstandardNth21beta2 = PDstandardNth12beta2;
+
+ JacPDstandardNth21beta3 = PDstandardNth12beta3;
+
+ JacPDstandardNth21gt11 = PDstandardNth12gt11;
+
+ JacPDstandardNth21gt12 = PDstandardNth12gt12;
+
+ JacPDstandardNth21gt13 = PDstandardNth12gt13;
+
+ JacPDstandardNth21gt22 = PDstandardNth12gt22;
+
+ JacPDstandardNth21gt23 = PDstandardNth12gt23;
+
+ JacPDstandardNth21gt33 = PDstandardNth12gt33;
+
+ JacPDstandardNth23alpha = PDstandardNth23alpha;
+
+ JacPDstandardNth23beta1 = PDstandardNth23beta1;
+
+ JacPDstandardNth23beta2 = PDstandardNth23beta2;
+
+ JacPDstandardNth23beta3 = PDstandardNth23beta3;
+
+ JacPDstandardNth23gt11 = PDstandardNth23gt11;
+
+ JacPDstandardNth23gt12 = PDstandardNth23gt12;
+
+ JacPDstandardNth23gt13 = PDstandardNth23gt13;
+
+ JacPDstandardNth23gt22 = PDstandardNth23gt22;
+
+ JacPDstandardNth23gt23 = PDstandardNth23gt23;
+
+ JacPDstandardNth23gt33 = PDstandardNth23gt33;
+
+ JacPDstandardNth23phi = PDstandardNth23phi;
+
+ JacPDstandardNth31alpha = PDstandardNth13alpha;
+
+ JacPDstandardNth31beta1 = PDstandardNth13beta1;
+
+ JacPDstandardNth31beta2 = PDstandardNth13beta2;
+
+ JacPDstandardNth31beta3 = PDstandardNth13beta3;
+
+ JacPDstandardNth31gt11 = PDstandardNth13gt11;
+
+ JacPDstandardNth31gt12 = PDstandardNth13gt12;
+
+ JacPDstandardNth31gt13 = PDstandardNth13gt13;
+
+ JacPDstandardNth31gt22 = PDstandardNth13gt22;
+
+ JacPDstandardNth31gt23 = PDstandardNth13gt23;
+
+ JacPDstandardNth31gt33 = PDstandardNth13gt33;
+
+ JacPDstandardNth32alpha = PDstandardNth23alpha;
+
+ JacPDstandardNth32beta1 = PDstandardNth23beta1;
+
+ JacPDstandardNth32beta2 = PDstandardNth23beta2;
+
+ JacPDstandardNth32beta3 = PDstandardNth23beta3;
+
+ JacPDstandardNth32gt11 = PDstandardNth23gt11;
+
+ JacPDstandardNth32gt12 = PDstandardNth23gt12;
+
+ JacPDstandardNth32gt13 = PDstandardNth23gt13;
+
+ JacPDstandardNth32gt22 = PDstandardNth23gt22;
+
+ JacPDstandardNth32gt23 = PDstandardNth23gt23;
+
+ JacPDstandardNth32gt33 = PDstandardNth23gt33;
+ }
+
+ CCTK_REAL_VEC detgt CCTK_ATTRIBUTE_UNUSED = ToReal(1);
+
+ CCTK_REAL_VEC gtu11 CCTK_ATTRIBUTE_UNUSED =
+ kdiv(kmsub(gt22L,gt33L,kmul(gt23L,gt23L)),detgt);
+
+ CCTK_REAL_VEC gtu12 CCTK_ATTRIBUTE_UNUSED =
+ kdiv(kmsub(gt13L,gt23L,kmul(gt12L,gt33L)),detgt);
+
+ CCTK_REAL_VEC gtu13 CCTK_ATTRIBUTE_UNUSED =
+ kdiv(kmsub(gt12L,gt23L,kmul(gt13L,gt22L)),detgt);
+
+ CCTK_REAL_VEC gtu22 CCTK_ATTRIBUTE_UNUSED =
+ kdiv(kmsub(gt11L,gt33L,kmul(gt13L,gt13L)),detgt);
+
+ CCTK_REAL_VEC gtu23 CCTK_ATTRIBUTE_UNUSED =
+ kdiv(kmsub(gt12L,gt13L,kmul(gt11L,gt23L)),detgt);
+
+ CCTK_REAL_VEC gtu33 CCTK_ATTRIBUTE_UNUSED =
+ kdiv(kmsub(gt11L,gt22L,kmul(gt12L,gt12L)),detgt);
+
+ CCTK_REAL_VEC Gtl111 CCTK_ATTRIBUTE_UNUSED =
+ kmul(JacPDstandardNth1gt11,ToReal(0.5));
+
+ CCTK_REAL_VEC Gtl112 CCTK_ATTRIBUTE_UNUSED =
+ kmul(JacPDstandardNth2gt11,ToReal(0.5));
+
+ CCTK_REAL_VEC Gtl113 CCTK_ATTRIBUTE_UNUSED =
+ kmul(JacPDstandardNth3gt11,ToReal(0.5));
+
+ CCTK_REAL_VEC Gtl122 CCTK_ATTRIBUTE_UNUSED =
+ kmadd(JacPDstandardNth1gt22,ToReal(-0.5),JacPDstandardNth2gt12);
+
+ CCTK_REAL_VEC Gtl123 CCTK_ATTRIBUTE_UNUSED =
+ kmul(kadd(JacPDstandardNth2gt13,ksub(JacPDstandardNth3gt12,JacPDstandardNth1gt23)),ToReal(0.5));
+
+ CCTK_REAL_VEC Gtl133 CCTK_ATTRIBUTE_UNUSED =
+ kmadd(JacPDstandardNth1gt33,ToReal(-0.5),JacPDstandardNth3gt13);
+
+ CCTK_REAL_VEC Gtl211 CCTK_ATTRIBUTE_UNUSED =
+ kmadd(JacPDstandardNth2gt11,ToReal(-0.5),JacPDstandardNth1gt12);
+
+ CCTK_REAL_VEC Gtl212 CCTK_ATTRIBUTE_UNUSED =
+ kmul(JacPDstandardNth1gt22,ToReal(0.5));
+
+ CCTK_REAL_VEC Gtl213 CCTK_ATTRIBUTE_UNUSED =
+ kmul(kadd(JacPDstandardNth1gt23,ksub(JacPDstandardNth3gt12,JacPDstandardNth2gt13)),ToReal(0.5));
+
+ CCTK_REAL_VEC Gtl222 CCTK_ATTRIBUTE_UNUSED =
+ kmul(JacPDstandardNth2gt22,ToReal(0.5));
+
+ CCTK_REAL_VEC Gtl223 CCTK_ATTRIBUTE_UNUSED =
+ kmul(JacPDstandardNth3gt22,ToReal(0.5));
+
+ CCTK_REAL_VEC Gtl233 CCTK_ATTRIBUTE_UNUSED =
+ kmadd(JacPDstandardNth2gt33,ToReal(-0.5),JacPDstandardNth3gt23);
+
+ CCTK_REAL_VEC Gtl311 CCTK_ATTRIBUTE_UNUSED =
+ kmadd(JacPDstandardNth3gt11,ToReal(-0.5),JacPDstandardNth1gt13);
+
+ CCTK_REAL_VEC Gtl312 CCTK_ATTRIBUTE_UNUSED =
+ kmul(kadd(JacPDstandardNth1gt23,ksub(JacPDstandardNth2gt13,JacPDstandardNth3gt12)),ToReal(0.5));
+
+ CCTK_REAL_VEC Gtl313 CCTK_ATTRIBUTE_UNUSED =
+ kmul(JacPDstandardNth1gt33,ToReal(0.5));
+
+ CCTK_REAL_VEC Gtl322 CCTK_ATTRIBUTE_UNUSED =
+ kmadd(JacPDstandardNth3gt22,ToReal(-0.5),JacPDstandardNth2gt23);
+
+ CCTK_REAL_VEC Gtl323 CCTK_ATTRIBUTE_UNUSED =
+ kmul(JacPDstandardNth2gt33,ToReal(0.5));
+
+ CCTK_REAL_VEC Gtl333 CCTK_ATTRIBUTE_UNUSED =
+ kmul(JacPDstandardNth3gt33,ToReal(0.5));
+
+ CCTK_REAL_VEC Gtlu111 CCTK_ATTRIBUTE_UNUSED =
+ kmadd(Gtl111,gtu11,kmadd(Gtl112,gtu12,kmul(Gtl113,gtu13)));
+
+ CCTK_REAL_VEC Gtlu112 CCTK_ATTRIBUTE_UNUSED =
+ kmadd(Gtl111,gtu12,kmadd(Gtl112,gtu22,kmul(Gtl113,gtu23)));
+
+ CCTK_REAL_VEC Gtlu113 CCTK_ATTRIBUTE_UNUSED =
+ kmadd(Gtl111,gtu13,kmadd(Gtl112,gtu23,kmul(Gtl113,gtu33)));
+
+ CCTK_REAL_VEC Gtlu121 CCTK_ATTRIBUTE_UNUSED =
+ kmadd(Gtl112,gtu11,kmadd(Gtl122,gtu12,kmul(Gtl123,gtu13)));
+
+ CCTK_REAL_VEC Gtlu122 CCTK_ATTRIBUTE_UNUSED =
+ kmadd(Gtl112,gtu12,kmadd(Gtl122,gtu22,kmul(Gtl123,gtu23)));
+
+ CCTK_REAL_VEC Gtlu123 CCTK_ATTRIBUTE_UNUSED =
+ kmadd(Gtl112,gtu13,kmadd(Gtl122,gtu23,kmul(Gtl123,gtu33)));
+
+ CCTK_REAL_VEC Gtlu131 CCTK_ATTRIBUTE_UNUSED =
+ kmadd(Gtl113,gtu11,kmadd(Gtl123,gtu12,kmul(Gtl133,gtu13)));
+
+ CCTK_REAL_VEC Gtlu132 CCTK_ATTRIBUTE_UNUSED =
+ kmadd(Gtl113,gtu12,kmadd(Gtl123,gtu22,kmul(Gtl133,gtu23)));
+
+ CCTK_REAL_VEC Gtlu133 CCTK_ATTRIBUTE_UNUSED =
+ kmadd(Gtl113,gtu13,kmadd(Gtl123,gtu23,kmul(Gtl133,gtu33)));
+
+ CCTK_REAL_VEC Gtlu211 CCTK_ATTRIBUTE_UNUSED =
+ kmadd(Gtl211,gtu11,kmadd(Gtl212,gtu12,kmul(Gtl213,gtu13)));
+
+ CCTK_REAL_VEC Gtlu212 CCTK_ATTRIBUTE_UNUSED =
+ kmadd(Gtl211,gtu12,kmadd(Gtl212,gtu22,kmul(Gtl213,gtu23)));
+
+ CCTK_REAL_VEC Gtlu213 CCTK_ATTRIBUTE_UNUSED =
+ kmadd(Gtl211,gtu13,kmadd(Gtl212,gtu23,kmul(Gtl213,gtu33)));
+
+ CCTK_REAL_VEC Gtlu221 CCTK_ATTRIBUTE_UNUSED =
+ kmadd(Gtl212,gtu11,kmadd(Gtl222,gtu12,kmul(Gtl223,gtu13)));
+
+ CCTK_REAL_VEC Gtlu222 CCTK_ATTRIBUTE_UNUSED =
+ kmadd(Gtl212,gtu12,kmadd(Gtl222,gtu22,kmul(Gtl223,gtu23)));
+
+ CCTK_REAL_VEC Gtlu223 CCTK_ATTRIBUTE_UNUSED =
+ kmadd(Gtl212,gtu13,kmadd(Gtl222,gtu23,kmul(Gtl223,gtu33)));
+
+ CCTK_REAL_VEC Gtlu231 CCTK_ATTRIBUTE_UNUSED =
+ kmadd(Gtl213,gtu11,kmadd(Gtl223,gtu12,kmul(Gtl233,gtu13)));
+
+ CCTK_REAL_VEC Gtlu232 CCTK_ATTRIBUTE_UNUSED =
+ kmadd(Gtl213,gtu12,kmadd(Gtl223,gtu22,kmul(Gtl233,gtu23)));
+
+ CCTK_REAL_VEC Gtlu233 CCTK_ATTRIBUTE_UNUSED =
+ kmadd(Gtl213,gtu13,kmadd(Gtl223,gtu23,kmul(Gtl233,gtu33)));
+
+ CCTK_REAL_VEC Gtlu311 CCTK_ATTRIBUTE_UNUSED =
+ kmadd(Gtl311,gtu11,kmadd(Gtl312,gtu12,kmul(Gtl313,gtu13)));
+
+ CCTK_REAL_VEC Gtlu312 CCTK_ATTRIBUTE_UNUSED =
+ kmadd(Gtl311,gtu12,kmadd(Gtl312,gtu22,kmul(Gtl313,gtu23)));
+
+ CCTK_REAL_VEC Gtlu313 CCTK_ATTRIBUTE_UNUSED =
+ kmadd(Gtl311,gtu13,kmadd(Gtl312,gtu23,kmul(Gtl313,gtu33)));
+
+ CCTK_REAL_VEC Gtlu321 CCTK_ATTRIBUTE_UNUSED =
+ kmadd(Gtl312,gtu11,kmadd(Gtl322,gtu12,kmul(Gtl323,gtu13)));
+
+ CCTK_REAL_VEC Gtlu322 CCTK_ATTRIBUTE_UNUSED =
+ kmadd(Gtl312,gtu12,kmadd(Gtl322,gtu22,kmul(Gtl323,gtu23)));
+
+ CCTK_REAL_VEC Gtlu323 CCTK_ATTRIBUTE_UNUSED =
+ kmadd(Gtl312,gtu13,kmadd(Gtl322,gtu23,kmul(Gtl323,gtu33)));
+
+ CCTK_REAL_VEC Gtlu331 CCTK_ATTRIBUTE_UNUSED =
+ kmadd(Gtl313,gtu11,kmadd(Gtl323,gtu12,kmul(Gtl333,gtu13)));
+
+ CCTK_REAL_VEC Gtlu332 CCTK_ATTRIBUTE_UNUSED =
+ kmadd(Gtl313,gtu12,kmadd(Gtl323,gtu22,kmul(Gtl333,gtu23)));
+
+ CCTK_REAL_VEC Gtlu333 CCTK_ATTRIBUTE_UNUSED =
+ kmadd(Gtl313,gtu13,kmadd(Gtl323,gtu23,kmul(Gtl333,gtu33)));
+
+ CCTK_REAL_VEC Gt111 CCTK_ATTRIBUTE_UNUSED =
+ kmadd(Gtl111,gtu11,kmadd(Gtl211,gtu12,kmul(Gtl311,gtu13)));
+
+ CCTK_REAL_VEC Gt211 CCTK_ATTRIBUTE_UNUSED =
+ kmadd(Gtl111,gtu12,kmadd(Gtl211,gtu22,kmul(Gtl311,gtu23)));
+
+ CCTK_REAL_VEC Gt311 CCTK_ATTRIBUTE_UNUSED =
+ kmadd(Gtl111,gtu13,kmadd(Gtl211,gtu23,kmul(Gtl311,gtu33)));
+
+ CCTK_REAL_VEC Gt112 CCTK_ATTRIBUTE_UNUSED =
+ kmadd(Gtl112,gtu11,kmadd(Gtl212,gtu12,kmul(Gtl312,gtu13)));
+
+ CCTK_REAL_VEC Gt212 CCTK_ATTRIBUTE_UNUSED =
+ kmadd(Gtl112,gtu12,kmadd(Gtl212,gtu22,kmul(Gtl312,gtu23)));
+
+ CCTK_REAL_VEC Gt312 CCTK_ATTRIBUTE_UNUSED =
+ kmadd(Gtl112,gtu13,kmadd(Gtl212,gtu23,kmul(Gtl312,gtu33)));
+
+ CCTK_REAL_VEC Gt113 CCTK_ATTRIBUTE_UNUSED =
+ kmadd(Gtl113,gtu11,kmadd(Gtl213,gtu12,kmul(Gtl313,gtu13)));
+
+ CCTK_REAL_VEC Gt213 CCTK_ATTRIBUTE_UNUSED =
+ kmadd(Gtl113,gtu12,kmadd(Gtl213,gtu22,kmul(Gtl313,gtu23)));
+
+ CCTK_REAL_VEC Gt313 CCTK_ATTRIBUTE_UNUSED =
+ kmadd(Gtl113,gtu13,kmadd(Gtl213,gtu23,kmul(Gtl313,gtu33)));
+
+ CCTK_REAL_VEC Gt122 CCTK_ATTRIBUTE_UNUSED =
+ kmadd(Gtl122,gtu11,kmadd(Gtl222,gtu12,kmul(Gtl322,gtu13)));
+
+ CCTK_REAL_VEC Gt222 CCTK_ATTRIBUTE_UNUSED =
+ kmadd(Gtl122,gtu12,kmadd(Gtl222,gtu22,kmul(Gtl322,gtu23)));
+
+ CCTK_REAL_VEC Gt322 CCTK_ATTRIBUTE_UNUSED =
+ kmadd(Gtl122,gtu13,kmadd(Gtl222,gtu23,kmul(Gtl322,gtu33)));
+
+ CCTK_REAL_VEC Gt123 CCTK_ATTRIBUTE_UNUSED =
+ kmadd(Gtl123,gtu11,kmadd(Gtl223,gtu12,kmul(Gtl323,gtu13)));
+
+ CCTK_REAL_VEC Gt223 CCTK_ATTRIBUTE_UNUSED =
+ kmadd(Gtl123,gtu12,kmadd(Gtl223,gtu22,kmul(Gtl323,gtu23)));
+
+ CCTK_REAL_VEC Gt323 CCTK_ATTRIBUTE_UNUSED =
+ kmadd(Gtl123,gtu13,kmadd(Gtl223,gtu23,kmul(Gtl323,gtu33)));
+
+ CCTK_REAL_VEC Gt133 CCTK_ATTRIBUTE_UNUSED =
+ kmadd(Gtl133,gtu11,kmadd(Gtl233,gtu12,kmul(Gtl333,gtu13)));
+
+ CCTK_REAL_VEC Gt233 CCTK_ATTRIBUTE_UNUSED =
+ kmadd(Gtl133,gtu12,kmadd(Gtl233,gtu22,kmul(Gtl333,gtu23)));
+
+ CCTK_REAL_VEC Gt333 CCTK_ATTRIBUTE_UNUSED =
+ kmadd(Gtl133,gtu13,kmadd(Gtl233,gtu23,kmul(Gtl333,gtu33)));
+
+ CCTK_REAL_VEC Xtn1 CCTK_ATTRIBUTE_UNUSED =
+ kmadd(Gt111,gtu11,kmadd(Gt122,gtu22,kmadd(Gt133,gtu33,kmul(kmadd(Gt112,gtu12,kmadd(Gt113,gtu13,kmul(Gt123,gtu23))),ToReal(2)))));
+
+ CCTK_REAL_VEC Xtn2 CCTK_ATTRIBUTE_UNUSED =
+ kmadd(Gt211,gtu11,kmadd(Gt222,gtu22,kmadd(Gt233,gtu33,kmul(kmadd(Gt212,gtu12,kmadd(Gt213,gtu13,kmul(Gt223,gtu23))),ToReal(2)))));
+
+ CCTK_REAL_VEC Xtn3 CCTK_ATTRIBUTE_UNUSED =
+ kmadd(Gt311,gtu11,kmadd(Gt322,gtu22,kmadd(Gt333,gtu33,kmul(kmadd(Gt312,gtu12,kmadd(Gt313,gtu13,kmul(Gt323,gtu23))),ToReal(2)))));
+
+ CCTK_REAL_VEC e4phi CCTK_ATTRIBUTE_UNUSED = IfThen(conformalMethod ==
+ 1,kdiv(ToReal(1),kmul(phiL,phiL)),kexp(kmul(phiL,ToReal(4))));
+
+ CCTK_REAL_VEC em4phi CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),e4phi);
+
+ CCTK_REAL_VEC g11 CCTK_ATTRIBUTE_UNUSED = kmul(gt11L,e4phi);
+
+ CCTK_REAL_VEC g12 CCTK_ATTRIBUTE_UNUSED = kmul(gt12L,e4phi);
+
+ CCTK_REAL_VEC g13 CCTK_ATTRIBUTE_UNUSED = kmul(gt13L,e4phi);
+
+ CCTK_REAL_VEC g22 CCTK_ATTRIBUTE_UNUSED = kmul(gt22L,e4phi);
+
+ CCTK_REAL_VEC g23 CCTK_ATTRIBUTE_UNUSED = kmul(gt23L,e4phi);
+
+ CCTK_REAL_VEC g33 CCTK_ATTRIBUTE_UNUSED = kmul(gt33L,e4phi);
+
+ CCTK_REAL_VEC detg CCTK_ATTRIBUTE_UNUSED =
+ knmsub(g22,kmul(g13,g13),knmsub(g11,kmul(g23,g23),kmadd(g33,kmsub(g11,g22,kmul(g12,g12)),kmul(g12,kmul(g13,kmul(g23,ToReal(2)))))));
+
+ CCTK_REAL_VEC gu11 CCTK_ATTRIBUTE_UNUSED = kmul(em4phi,gtu11);
+
+ CCTK_REAL_VEC gu12 CCTK_ATTRIBUTE_UNUSED = kmul(em4phi,gtu12);
+
+ CCTK_REAL_VEC gu13 CCTK_ATTRIBUTE_UNUSED = kmul(em4phi,gtu13);
+
+ CCTK_REAL_VEC gu22 CCTK_ATTRIBUTE_UNUSED = kmul(em4phi,gtu22);
+
+ CCTK_REAL_VEC gu23 CCTK_ATTRIBUTE_UNUSED = kmul(em4phi,gtu23);
+
+ CCTK_REAL_VEC gu33 CCTK_ATTRIBUTE_UNUSED = kmul(em4phi,gtu33);
+
+ CCTK_REAL_VEC ddetg1 CCTK_ATTRIBUTE_UNUSED =
+ kmul(detgt,kmul(e4phi,kmul(JacPDstandardNth1phi,ToReal(4))));
+
+ CCTK_REAL_VEC ddetg2 CCTK_ATTRIBUTE_UNUSED =
+ kmul(detgt,kmul(e4phi,kmul(JacPDstandardNth2phi,ToReal(4))));
+
+ CCTK_REAL_VEC ddetg3 CCTK_ATTRIBUTE_UNUSED =
+ kmul(detgt,kmul(e4phi,kmul(JacPDstandardNth3phi,ToReal(4))));
+
+ CCTK_REAL_VEC G111 CCTK_ATTRIBUTE_UNUSED =
+ kadd(Gt111,kdiv(kmul(ToReal(0.5),kmadd(g11,kmul(kmadd(ddetg1,gu11,kmadd(ddetg2,gu12,kmul(ddetg3,gu13))),ToReal(-0.333333333333333333333333333333)),kmul(ddetg1,ToReal(2)))),detg));
+
+ CCTK_REAL_VEC G211 CCTK_ATTRIBUTE_UNUSED =
+ kadd(Gt211,kdiv(kmul(g11,kmul(kmadd(ddetg1,gu12,kmadd(ddetg2,gu22,kmul(ddetg3,gu23))),ToReal(-0.166666666666666666666666666667))),detg));
+
+ CCTK_REAL_VEC G311 CCTK_ATTRIBUTE_UNUSED =
+ kadd(Gt311,kdiv(kmul(g11,kmul(kmadd(ddetg1,gu13,kmadd(ddetg2,gu23,kmul(ddetg3,gu33))),ToReal(-0.166666666666666666666666666667))),detg));
+
+ CCTK_REAL_VEC G112 CCTK_ATTRIBUTE_UNUSED =
+ kadd(Gt112,kdiv(kmul(kmadd(g12,kmul(kmadd(ddetg1,gu11,kmadd(ddetg2,gu12,kmul(ddetg3,gu13))),ToReal(-0.333333333333333333333333333333)),ddetg2),ToReal(0.5)),detg));
+
+ CCTK_REAL_VEC G212 CCTK_ATTRIBUTE_UNUSED =
+ kadd(Gt212,kdiv(kmul(kmadd(g12,kmul(kmadd(ddetg1,gu12,kmadd(ddetg2,gu22,kmul(ddetg3,gu23))),ToReal(-0.333333333333333333333333333333)),ddetg1),ToReal(0.5)),detg));
+
+ CCTK_REAL_VEC G312 CCTK_ATTRIBUTE_UNUSED =
+ kadd(Gt312,kdiv(kmul(g12,kmul(kmadd(ddetg1,gu13,kmadd(ddetg2,gu23,kmul(ddetg3,gu33))),ToReal(-0.166666666666666666666666666667))),detg));
+
+ CCTK_REAL_VEC G113 CCTK_ATTRIBUTE_UNUSED =
+ kadd(Gt113,kdiv(kmul(kmadd(g13,kmul(kmadd(ddetg1,gu11,kmadd(ddetg2,gu12,kmul(ddetg3,gu13))),ToReal(-0.333333333333333333333333333333)),ddetg3),ToReal(0.5)),detg));
+
+ CCTK_REAL_VEC G213 CCTK_ATTRIBUTE_UNUSED =
+ kadd(Gt213,kdiv(kmul(g13,kmul(kmadd(ddetg1,gu12,kmadd(ddetg2,gu22,kmul(ddetg3,gu23))),ToReal(-0.166666666666666666666666666667))),detg));
+
+ CCTK_REAL_VEC G313 CCTK_ATTRIBUTE_UNUSED =
+ kadd(Gt313,kdiv(kmul(kmadd(g13,kmul(kmadd(ddetg1,gu13,kmadd(ddetg2,gu23,kmul(ddetg3,gu33))),ToReal(-0.333333333333333333333333333333)),ddetg1),ToReal(0.5)),detg));
+
+ CCTK_REAL_VEC G122 CCTK_ATTRIBUTE_UNUSED =
+ kadd(Gt122,kdiv(kmul(g22,kmul(kmadd(ddetg1,gu11,kmadd(ddetg2,gu12,kmul(ddetg3,gu13))),ToReal(-0.166666666666666666666666666667))),detg));
+
+ CCTK_REAL_VEC G222 CCTK_ATTRIBUTE_UNUSED =
+ kadd(Gt222,kdiv(kmul(ToReal(0.5),kmadd(g22,kmul(kmadd(ddetg1,gu12,kmadd(ddetg2,gu22,kmul(ddetg3,gu23))),ToReal(-0.333333333333333333333333333333)),kmul(ddetg2,ToReal(2)))),detg));
+
+ CCTK_REAL_VEC G322 CCTK_ATTRIBUTE_UNUSED =
+ kadd(Gt322,kdiv(kmul(g22,kmul(kmadd(ddetg1,gu13,kmadd(ddetg2,gu23,kmul(ddetg3,gu33))),ToReal(-0.166666666666666666666666666667))),detg));
+
+ CCTK_REAL_VEC G123 CCTK_ATTRIBUTE_UNUSED =
+ kadd(Gt123,kdiv(kmul(g23,kmul(kmadd(ddetg1,gu11,kmadd(ddetg2,gu12,kmul(ddetg3,gu13))),ToReal(-0.166666666666666666666666666667))),detg));
+
+ CCTK_REAL_VEC G223 CCTK_ATTRIBUTE_UNUSED =
+ kadd(Gt223,kdiv(kmul(kmadd(g23,kmul(kmadd(ddetg1,gu12,kmadd(ddetg2,gu22,kmul(ddetg3,gu23))),ToReal(-0.333333333333333333333333333333)),ddetg3),ToReal(0.5)),detg));
+
+ CCTK_REAL_VEC G323 CCTK_ATTRIBUTE_UNUSED =
+ kadd(Gt323,kdiv(kmul(kmadd(g23,kmul(kmadd(ddetg1,gu13,kmadd(ddetg2,gu23,kmul(ddetg3,gu33))),ToReal(-0.333333333333333333333333333333)),ddetg2),ToReal(0.5)),detg));
+
+ CCTK_REAL_VEC G133 CCTK_ATTRIBUTE_UNUSED =
+ kadd(Gt133,kdiv(kmul(g33,kmul(kmadd(ddetg1,gu11,kmadd(ddetg2,gu12,kmul(ddetg3,gu13))),ToReal(-0.166666666666666666666666666667))),detg));
+
+ CCTK_REAL_VEC G233 CCTK_ATTRIBUTE_UNUSED =
+ kadd(Gt233,kdiv(kmul(g33,kmul(kmadd(ddetg1,gu12,kmadd(ddetg2,gu22,kmul(ddetg3,gu23))),ToReal(-0.166666666666666666666666666667))),detg));
+
+ CCTK_REAL_VEC G333 CCTK_ATTRIBUTE_UNUSED =
+ kadd(Gt333,kdiv(kmul(ToReal(0.5),kmadd(g33,kmul(kmadd(ddetg1,gu13,kmadd(ddetg2,gu23,kmul(ddetg3,gu33))),ToReal(-0.333333333333333333333333333333)),kmul(ddetg3,ToReal(2)))),detg));
+
+ {
+ double Gt[3][3][3] = {
+ {
+ { Gt111, Gt112, Gt113 },
+ { Gt112, Gt122, Gt123 },
+ { Gt113, Gt123, Gt133 },
+ },
+ {
+ { Gt211, Gt212, Gt213 },
+ { Gt212, Gt222, Gt223 },
+ { Gt213, Gt223, Gt233 },
+ },
+ {
+ { Gt311, Gt312, Gt313 },
+ { Gt312, Gt322, Gt323 },
+ { Gt313, Gt323, Gt333 },
+ }
+ };
+ double gt[3][3] = {
+ { gt11L, gt12L, gt13L },
+ { gt12L, gt22L, gt23L },
+ { gt13L, gt23L, gt33L },
+ };
+ double gtu[3][3] = {
+ { gtu11, gtu12, gtu13 },
+ { gtu12, gtu22, gtu23 },
+ { gtu13, gtu23, gtu33 },
+ };
+
+ double dphi[3] = { PDstandardNth1phi, 0.0, PDstandardNth3phi };
+
+ double G[3][3][3];
+
+ for (int idx0 = 0; idx0 < 3; idx0++)
+ for (int idx1 = 0; idx1 < 3; idx1++)
+ for (int idx2 = 0; idx2 < 3; idx2++) {
+ G[idx0][idx1][idx2] = Gt[idx0][idx1][idx2] - (dphi[idx1] * (idx0 == idx2) + dphi[idx2] * (idx0 == idx1) - gt[idx1][idx2] * (gtu[idx0][0] * dphi[0] + gtu[idx0][2] * dphi[2])) / phiL;
+ }
+ G111 = G[0][0][0];
+ G122 = G[0][1][1];
+ G133 = G[0][2][2];
+ G112 = G[0][0][1];
+ G113 = G[0][0][2];
+ G123 = G[0][1][2];
+
+ G211 = G[1][0][0];
+ G222 = G[1][1][1];
+ G233 = G[1][2][2];
+ G212 = G[1][0][1];
+ G213 = G[1][0][2];
+ G223 = G[1][1][2];
+
+ G311 = G[2][0][0];
+ G322 = G[2][1][1];
+ G333 = G[2][2][2];
+ G312 = G[2][0][1];
+ G313 = G[2][0][2];
+ G323 = G[2][1][2];
+ }
+
+ CCTK_REAL_VEC K11 CCTK_ATTRIBUTE_UNUSED =
+ kmadd(At11L,e4phi,kmul(trKL,kmul(g11,ToReal(0.333333333333333333333333333333))));
+
+ CCTK_REAL_VEC K12 CCTK_ATTRIBUTE_UNUSED =
+ kmadd(At12L,e4phi,kmul(trKL,kmul(g12,ToReal(0.333333333333333333333333333333))));
+
+ CCTK_REAL_VEC K13 CCTK_ATTRIBUTE_UNUSED =
+ kmadd(At13L,e4phi,kmul(trKL,kmul(g13,ToReal(0.333333333333333333333333333333))));
+
+ CCTK_REAL_VEC K22 CCTK_ATTRIBUTE_UNUSED =
+ kmadd(At22L,e4phi,kmul(trKL,kmul(g22,ToReal(0.333333333333333333333333333333))));
+
+ CCTK_REAL_VEC K23 CCTK_ATTRIBUTE_UNUSED =
+ kmadd(At23L,e4phi,kmul(trKL,kmul(g23,ToReal(0.333333333333333333333333333333))));
+
+ CCTK_REAL_VEC K33 CCTK_ATTRIBUTE_UNUSED =
+ kmadd(At33L,e4phi,kmul(trKL,kmul(g33,ToReal(0.333333333333333333333333333333))));
+
+ CCTK_REAL_VEC Km11 CCTK_ATTRIBUTE_UNUSED =
+ kmadd(gu11,K11,kmadd(gu12,K12,kmul(gu13,K13)));
+
+ CCTK_REAL_VEC Km12 CCTK_ATTRIBUTE_UNUSED =
+ kmadd(gu12,K11,kmadd(gu22,K12,kmul(gu23,K13)));
+
+ CCTK_REAL_VEC Km13 CCTK_ATTRIBUTE_UNUSED =
+ kmadd(gu13,K11,kmadd(gu23,K12,kmul(gu33,K13)));
+
+ CCTK_REAL_VEC Km21 CCTK_ATTRIBUTE_UNUSED =
+ kmadd(gu11,K12,kmadd(gu12,K22,kmul(gu13,K23)));
+
+ CCTK_REAL_VEC Km22 CCTK_ATTRIBUTE_UNUSED =
+ kmadd(gu12,K12,kmadd(gu22,K22,kmul(gu23,K23)));
+
+ CCTK_REAL_VEC Km23 CCTK_ATTRIBUTE_UNUSED =
+ kmadd(gu13,K12,kmadd(gu23,K22,kmul(gu33,K23)));
+
+ CCTK_REAL_VEC Km31 CCTK_ATTRIBUTE_UNUSED =
+ kmadd(gu11,K13,kmadd(gu12,K23,kmul(gu13,K33)));
+
+ CCTK_REAL_VEC Km32 CCTK_ATTRIBUTE_UNUSED =
+ kmadd(gu12,K13,kmadd(gu22,K23,kmul(gu23,K33)));
+
+ CCTK_REAL_VEC Km33 CCTK_ATTRIBUTE_UNUSED =
+ kmadd(gu13,K13,kmadd(gu23,K23,kmul(gu33,K33)));
+
+ CCTK_REAL_VEC Rt11 CCTK_ATTRIBUTE_UNUSED =
+ kmadd(Gt211,Gtlu211,kmadd(Gt212,Gtlu212,kmadd(Gt213,Gtlu213,kmadd(Gt311,Gtlu311,kmadd(Gt312,Gtlu312,kmadd(Gt313,Gtlu313,kmadd(gt11L,JacPDstandardNth1Xt1,kmadd(gt12L,JacPDstandardNth1Xt2,kmadd(gt13L,JacPDstandardNth1Xt3,kmadd(Gtl111,Xtn1,kmadd(Gtl112,Xtn2,kmadd(Gtl113,Xtn3,knmsub(kmadd(gtu11,JacPDstandardNth11gt11,kmadd(gtu12,kadd(JacPDstandardNth12gt11,JacPDstandardNth21gt11),kmadd(gtu22,JacPDstandardNth22gt11,kmadd(gtu33,JacPDstandardNth33gt11,kmadd(gtu23,kadd(JacPDstandardNth32gt11,JacPDstandardNth23gt11),kmul(gtu13,kadd(JacPDstandardNth31gt11,JacPDstandardNth13gt11))))))),ToReal(0.5),kmadd(kmadd(Gt211,Gtlu121,kmadd(Gt212,Gtlu122,kmadd(Gt213,Gtlu123,kmadd(Gt311,Gtlu131,kmadd(Gt312,Gtlu132,kmul(Gt313,Gtlu133)))))),ToReal(2),kmul(kmadd(Gt111,Gtlu111,kmadd(Gt112,Gtlu112,kmul(Gt113,Gtlu113))),ToReal(3))))))))))))))));
+
+ CCTK_REAL_VEC Rt12 CCTK_ATTRIBUTE_UNUSED =
+ kmul(ToReal(0.5),kmadd(gt12L,JacPDstandardNth1Xt1,kmadd(gt22L,JacPDstandardNth1Xt2,kmadd(gt23L,JacPDstandardNth1Xt3,kmadd(gt11L,JacPDstandardNth2Xt1,kmadd(gt12L,JacPDstandardNth2Xt2,kmadd(gt13L,JacPDstandardNth2Xt3,kmadd(Gtl112,Xtn1,kmadd(Gtl211,Xtn1,kmadd(Gtl122,Xtn2,kmadd(Gtl212,Xtn2,kmadd(Gtl123,Xtn3,kmadd(Gtl213,Xtn3,knmsub(gtu11,JacPDstandardNth11gt12,knmsub(gtu22,JacPDstandardNth22gt12,knmsub(gtu33,JacPDstandardNth33gt12,knmsub(gtu12,kadd(JacPDstandardNth21gt12,JacPDstandardNth12gt12),knmsub(gtu13,kadd(JacPDstandardNth31gt12,JacPDstandardNth13gt12),knmsub(gtu23,kadd(JacPDstandardNth32gt12,JacPDstandardNth23gt12),kmadd(kmadd(Gt122,Gtlu112,kmadd(Gt123,Gtlu113,kmadd(Gt111,Gtlu121,kmadd(Gt212,Gtlu121,kmadd(Gt222,Gtlu122,kmadd(Gt113,Gtlu123,kmadd(Gt223,Gtlu123,kmadd(Gt312,Gtlu131,kmadd(Gt322,Gtlu132,kmadd(Gt323,Gtlu133,kmadd(Gt111,Gtlu211,kmadd(Gt112,kadd(Gtlu111,kadd(Gtlu122,Gtlu212)),kmadd(Gt113,Gtlu213,kmadd(Gt311,Gtlu231,kmadd(Gt312,Gtlu232,kmadd(Gt313,Gtlu233,kmadd(Gt311,Gtlu321,kmadd(Gt312,Gtlu322,kmul(Gt313,Gtlu323))))))))))))))))))),ToReal(2),kmul(kmadd(Gt211,Gtlu221,kmadd(Gt212,Gtlu222,kmul(Gt213,Gtlu223))),ToReal(4))))))))))))))))))))));
+
+ CCTK_REAL_VEC Rt13 CCTK_ATTRIBUTE_UNUSED =
+ kmul(ToReal(0.5),kmadd(gt13L,JacPDstandardNth1Xt1,kmadd(gt23L,JacPDstandardNth1Xt2,kmadd(gt33L,JacPDstandardNth1Xt3,kmadd(gt11L,JacPDstandardNth3Xt1,kmadd(gt12L,JacPDstandardNth3Xt2,kmadd(gt13L,JacPDstandardNth3Xt3,kmadd(Gtl113,Xtn1,kmadd(Gtl311,Xtn1,kmadd(Gtl123,Xtn2,kmadd(Gtl312,Xtn2,kmadd(Gtl133,Xtn3,kmadd(Gtl313,Xtn3,knmsub(gtu11,JacPDstandardNth11gt13,knmsub(gtu22,JacPDstandardNth22gt13,knmsub(gtu33,JacPDstandardNth33gt13,knmsub(gtu12,kadd(JacPDstandardNth21gt13,JacPDstandardNth12gt13),knmsub(gtu13,kadd(JacPDstandardNth31gt13,JacPDstandardNth13gt13),knmsub(gtu23,kadd(JacPDstandardNth32gt13,JacPDstandardNth23gt13),kmadd(kmadd(Gt123,Gtlu112,kmadd(Gt133,Gtlu113,kmadd(Gt213,Gtlu121,kmadd(Gt223,Gtlu122,kmadd(Gt233,Gtlu123,kmadd(Gt111,Gtlu131,kmadd(Gt313,Gtlu131,kmadd(Gt112,Gtlu132,kmadd(Gt323,Gtlu132,kmadd(Gt333,Gtlu133,kmadd(Gt211,Gtlu231,kmadd(Gt212,Gtlu232,kmadd(Gt213,Gtlu233,kmadd(Gt111,Gtlu311,kmadd(Gt112,Gtlu312,kmadd(Gt113,kadd(Gtlu111,kadd(Gtlu133,Gtlu313)),kmadd(Gt211,Gtlu321,kmadd(Gt212,Gtlu322,kmul(Gt213,Gtlu323))))))))))))))))))),ToReal(2),kmul(kmadd(Gt311,Gtlu331,kmadd(Gt312,Gtlu332,kmul(Gt313,Gtlu333))),ToReal(4))))))))))))))))))))));
+
+ CCTK_REAL_VEC Rt22 CCTK_ATTRIBUTE_UNUSED =
+ kmadd(Gt312,Gtlu321,kmadd(Gt322,Gtlu322,kmadd(Gt323,Gtlu323,kmadd(gt12L,JacPDstandardNth2Xt1,kmadd(gt22L,JacPDstandardNth2Xt2,kmadd(gt23L,JacPDstandardNth2Xt3,kmadd(Gtl212,Xtn1,kmadd(Gtl222,Xtn2,kmadd(Gtl223,Xtn3,knmsub(kmadd(gtu11,JacPDstandardNth11gt22,kmadd(gtu12,kadd(JacPDstandardNth12gt22,JacPDstandardNth21gt22),kmadd(gtu22,JacPDstandardNth22gt22,kmadd(gtu33,JacPDstandardNth33gt22,kmadd(gtu23,kadd(JacPDstandardNth32gt22,JacPDstandardNth23gt22),kmul(gtu13,kadd(JacPDstandardNth31gt22,JacPDstandardNth13gt22))))))),ToReal(0.5),kmadd(kmadd(Gt312,Gtlu231,kmadd(Gt322,Gtlu232,kmul(Gt323,Gtlu233))),ToReal(2),kmadd(Gt112,kmadd(Gtlu211,ToReal(2),Gtlu121),kmadd(Gt122,kmadd(Gtlu212,ToReal(2),Gtlu122),kmadd(Gt123,kmadd(Gtlu213,ToReal(2),Gtlu123),kmul(kmadd(Gt212,Gtlu221,kmadd(Gt222,Gtlu222,kmul(Gt223,Gtlu223))),ToReal(3))))))))))))))));
+
+ CCTK_REAL_VEC Rt23 CCTK_ATTRIBUTE_UNUSED =
+ kmul(ToReal(0.5),kmadd(gt13L,JacPDstandardNth2Xt1,kmadd(gt23L,JacPDstandardNth2Xt2,kmadd(gt33L,JacPDstandardNth2Xt3,kmadd(gt12L,JacPDstandardNth3Xt1,kmadd(gt22L,JacPDstandardNth3Xt2,kmadd(gt23L,JacPDstandardNth3Xt3,kmadd(Gtl213,Xtn1,kmadd(Gtl312,Xtn1,kmadd(Gtl223,Xtn2,kmadd(Gtl322,Xtn2,kmadd(Gtl233,Xtn3,kmadd(Gtl323,Xtn3,knmsub(gtu11,JacPDstandardNth11gt23,knmsub(gtu22,JacPDstandardNth22gt23,knmsub(gtu33,JacPDstandardNth33gt23,knmsub(gtu12,kadd(JacPDstandardNth21gt23,JacPDstandardNth12gt23),knmsub(gtu13,kadd(JacPDstandardNth31gt23,JacPDstandardNth13gt23),knmsub(gtu23,kadd(JacPDstandardNth32gt23,JacPDstandardNth23gt23),kmadd(kmadd(Gt123,Gtlu133,kmadd(Gt113,Gtlu211,kmadd(Gt123,Gtlu212,kmadd(Gt133,Gtlu213,kmadd(Gt213,Gtlu221,kmadd(Gt223,Gtlu222,kmadd(Gt233,Gtlu223,kmadd(Gt212,Gtlu231,kmadd(Gt313,Gtlu231,kmadd(Gt222,Gtlu232,kmadd(Gt323,Gtlu232,kmadd(Gt223,Gtlu233,kmadd(Gt333,Gtlu233,kmadd(Gt112,kadd(Gtlu131,Gtlu311),kmadd(Gt122,kadd(Gtlu132,Gtlu312),kmadd(Gt123,Gtlu313,kmadd(Gt212,Gtlu321,kmadd(Gt222,Gtlu322,kmul(Gt223,Gtlu323))))))))))))))))))),ToReal(2),kmul(kmadd(Gt312,Gtlu331,kmadd(Gt322,Gtlu332,kmul(Gt323,Gtlu333))),ToReal(4))))))))))))))))))))));
+
+ CCTK_REAL_VEC Rt33 CCTK_ATTRIBUTE_UNUSED =
+ kmadd(gt13L,JacPDstandardNth3Xt1,kmadd(gt23L,JacPDstandardNth3Xt2,kmadd(gt33L,JacPDstandardNth3Xt3,kmadd(Gtl313,Xtn1,kmadd(Gtl323,Xtn2,kmadd(Gtl333,Xtn3,knmsub(kmadd(gtu11,JacPDstandardNth11gt33,kmadd(gtu12,kadd(JacPDstandardNth12gt33,JacPDstandardNth21gt33),kmadd(gtu22,JacPDstandardNth22gt33,kmadd(gtu33,JacPDstandardNth33gt33,kmadd(gtu23,kadd(JacPDstandardNth32gt33,JacPDstandardNth23gt33),kmul(gtu13,kadd(JacPDstandardNth31gt33,JacPDstandardNth13gt33))))))),ToReal(0.5),kmadd(Gt113,kmadd(Gtlu311,ToReal(2),Gtlu131),kmadd(Gt123,kmadd(Gtlu312,ToReal(2),Gtlu132),kmadd(Gt133,kmadd(Gtlu313,ToReal(2),Gtlu133),kmadd(Gt213,kmadd(Gtlu321,ToReal(2),Gtlu231),kmadd(Gt223,kmadd(Gtlu322,ToReal(2),Gtlu232),kmadd(Gt233,kmadd(Gtlu323,ToReal(2),Gtlu233),kmul(kmadd(Gt313,Gtlu331,kmadd(Gt323,Gtlu332,kmul(Gt333,Gtlu333))),ToReal(3)))))))))))))));
+
+ CCTK_REAL_VEC fac1 CCTK_ATTRIBUTE_UNUSED = IfThen(conformalMethod ==
+ 1,kdiv(ToReal(-0.5),phiL),ToReal(1));
+
+ CCTK_REAL_VEC cdphi1 CCTK_ATTRIBUTE_UNUSED =
+ kmul(fac1,JacPDstandardNth1phi);
+
+ CCTK_REAL_VEC cdphi2 CCTK_ATTRIBUTE_UNUSED =
+ kmul(fac1,JacPDstandardNth2phi);
+
+ CCTK_REAL_VEC cdphi3 CCTK_ATTRIBUTE_UNUSED =
+ kmul(fac1,JacPDstandardNth3phi);
+
+ CCTK_REAL_VEC fac2 CCTK_ATTRIBUTE_UNUSED = IfThen(conformalMethod ==
+ 1,kdiv(ToReal(0.5),kmul(phiL,phiL)),ToReal(0));
+
+ CCTK_REAL_VEC cdphi211 CCTK_ATTRIBUTE_UNUSED =
+ kmadd(fac2,kmul(JacPDstandardNth1phi,JacPDstandardNth1phi),kmul(fac1,ksub(JacPDstandardNth11phi,kmadd(Gt111,JacPDstandardNth1phi,kmadd(Gt311,JacPDstandardNth3phi,kmul(Gt211,JacPDstandardNth2phi))))));
+
+ CCTK_REAL_VEC cdphi212 CCTK_ATTRIBUTE_UNUSED =
+ kmadd(fac2,kmul(JacPDstandardNth1phi,JacPDstandardNth2phi),kmul(fac1,ksub(JacPDstandardNth12phi,kmadd(Gt112,JacPDstandardNth1phi,kmadd(Gt312,JacPDstandardNth3phi,kmul(Gt212,JacPDstandardNth2phi))))));
+
+ CCTK_REAL_VEC cdphi213 CCTK_ATTRIBUTE_UNUSED =
+ kmadd(fac2,kmul(JacPDstandardNth1phi,JacPDstandardNth3phi),kmul(fac1,ksub(JacPDstandardNth13phi,kmadd(Gt113,JacPDstandardNth1phi,kmadd(Gt313,JacPDstandardNth3phi,kmul(Gt213,JacPDstandardNth2phi))))));
+
+ CCTK_REAL_VEC cdphi222 CCTK_ATTRIBUTE_UNUSED =
+ kmsub(fac2,kmul(JacPDstandardNth2phi,JacPDstandardNth2phi),kmul(fac1,kmadd(Gt122,JacPDstandardNth1phi,kmadd(Gt222,JacPDstandardNth2phi,kmsub(Gt322,JacPDstandardNth3phi,JacPDstandardNth22phi)))));
+
+ CCTK_REAL_VEC cdphi223 CCTK_ATTRIBUTE_UNUSED =
+ kmsub(fac2,kmul(JacPDstandardNth2phi,JacPDstandardNth3phi),kmul(fac1,kmadd(Gt123,JacPDstandardNth1phi,kmadd(Gt223,JacPDstandardNth2phi,kmsub(Gt323,JacPDstandardNth3phi,JacPDstandardNth23phi)))));
+
+ CCTK_REAL_VEC cdphi233 CCTK_ATTRIBUTE_UNUSED =
+ kmsub(fac2,kmul(JacPDstandardNth3phi,JacPDstandardNth3phi),kmul(fac1,kmadd(Gt133,JacPDstandardNth1phi,kmadd(Gt233,JacPDstandardNth2phi,kmsub(Gt333,JacPDstandardNth3phi,JacPDstandardNth33phi)))));
+
+ CCTK_REAL_VEC Rphi11 CCTK_ATTRIBUTE_UNUSED =
+ kmul(ToReal(-2),kadd(cdphi211,kmadd(kmul(cdphi1,cdphi1),kmul(kmadd(gt11L,gtu11,ToReal(-1)),ToReal(2)),kmul(gt11L,kmadd(cdphi211,gtu11,kmadd(cdphi233,gtu33,kmadd(kmadd(cdphi212,gtu12,kmadd(cdphi213,gtu13,kmadd(cdphi223,gtu23,kmul(gtu33,kmul(cdphi3,cdphi3))))),ToReal(2),kmadd(gtu22,kmadd(kmul(cdphi2,cdphi2),ToReal(2),cdphi222),kmul(kmadd(cdphi1,kmadd(cdphi2,gtu12,kmul(cdphi3,gtu13)),kmul(cdphi2,kmul(cdphi3,gtu23))),ToReal(4))))))))));
+
+ CCTK_REAL_VEC Rphi12 CCTK_ATTRIBUTE_UNUSED =
+ kmul(ToReal(-2),kadd(cdphi212,kmadd(gt12L,kmadd(cdphi211,gtu11,kmadd(kmadd(cdphi212,gtu12,kmadd(cdphi213,gtu13,kmadd(cdphi223,gtu23,kmul(gtu11,kmul(cdphi1,cdphi1))))),ToReal(2),kmadd(gtu22,kmadd(kmul(cdphi2,cdphi2),ToReal(2),cdphi222),kmadd(gtu33,kmadd(kmul(cdphi3,cdphi3),ToReal(2),cdphi233),kmul(cdphi2,kmul(cdphi3,kmul(gtu23,ToReal(4)))))))),kmul(cdphi1,kmadd(gt12L,kmul(cdphi3,kmul(gtu13,ToReal(4))),kmul(cdphi2,kmadd(gt12L,kmul(gtu12,ToReal(4)),ToReal(-2))))))));
+
+ CCTK_REAL_VEC Rphi13 CCTK_ATTRIBUTE_UNUSED =
+ kmul(ToReal(-2),kadd(cdphi213,kmadd(gt13L,kmadd(cdphi211,gtu11,kmadd(kmadd(cdphi212,gtu12,kmadd(cdphi213,gtu13,kmadd(cdphi223,gtu23,kmul(gtu11,kmul(cdphi1,cdphi1))))),ToReal(2),kmadd(gtu22,kmadd(kmul(cdphi2,cdphi2),ToReal(2),cdphi222),kmadd(gtu33,kmadd(kmul(cdphi3,cdphi3),ToReal(2),cdphi233),kmul(cdphi2,kmul(cdphi3,kmul(gtu23,ToReal(4)))))))),kmul(cdphi1,kmadd(gt13L,kmul(cdphi2,kmul(gtu12,ToReal(4))),kmul(cdphi3,kmadd(gt13L,kmul(gtu13,ToReal(4)),ToReal(-2))))))));
+
+ CCTK_REAL_VEC Rphi22 CCTK_ATTRIBUTE_UNUSED =
+ kmul(ToReal(-2),kadd(cdphi222,kmadd(kmul(cdphi2,cdphi2),kmul(kmadd(gt22L,gtu22,ToReal(-1)),ToReal(2)),kmul(gt22L,kmadd(cdphi222,gtu22,kmadd(cdphi233,gtu33,kmadd(kmadd(cdphi212,gtu12,kmadd(cdphi213,gtu13,kmadd(cdphi223,gtu23,kmul(gtu33,kmul(cdphi3,cdphi3))))),ToReal(2),kmadd(gtu11,kmadd(kmul(cdphi1,cdphi1),ToReal(2),cdphi211),kmul(kmadd(cdphi1,kmul(cdphi3,gtu13),kmul(cdphi2,kmadd(cdphi1,gtu12,kmul(cdphi3,gtu23)))),ToReal(4))))))))));
+
+ CCTK_REAL_VEC Rphi23 CCTK_ATTRIBUTE_UNUSED =
+ kmul(ToReal(-2),kadd(cdphi223,kmadd(gt23L,kmadd(cdphi222,gtu22,kmadd(kmadd(cdphi212,gtu12,kmadd(cdphi213,gtu13,kmadd(cdphi223,gtu23,kmul(gtu22,kmul(cdphi2,cdphi2))))),ToReal(2),kmadd(gtu11,kmadd(kmul(cdphi1,cdphi1),ToReal(2),cdphi211),kmadd(gtu33,kmadd(kmul(cdphi3,cdphi3),ToReal(2),cdphi233),kmul(cdphi1,kmul(cdphi3,kmul(gtu13,ToReal(4)))))))),kmul(cdphi2,kmadd(gt23L,kmul(cdphi1,kmul(gtu12,ToReal(4))),kmul(cdphi3,kmadd(gt23L,kmul(gtu23,ToReal(4)),ToReal(-2))))))));
+
+ CCTK_REAL_VEC Rphi33 CCTK_ATTRIBUTE_UNUSED =
+ kmul(ToReal(-2),kadd(cdphi233,kmadd(kmul(cdphi3,cdphi3),kmul(kmadd(gt33L,gtu33,ToReal(-1)),ToReal(2)),kmul(gt33L,kmadd(cdphi233,gtu33,kmadd(kmadd(cdphi213,gtu13,kmul(cdphi223,gtu23)),ToReal(2),kmadd(gtu11,kmadd(kmul(cdphi1,cdphi1),ToReal(2),cdphi211),kmadd(gtu22,kmadd(kmul(cdphi2,cdphi2),ToReal(2),cdphi222),kmadd(cdphi3,kmul(kmadd(cdphi1,gtu13,kmul(cdphi2,gtu23)),ToReal(4)),kmul(gtu12,kmadd(cdphi212,ToReal(2),kmul(cdphi1,kmul(cdphi2,ToReal(4))))))))))))));
+
+ CCTK_REAL_VEC Atm11 CCTK_ATTRIBUTE_UNUSED =
+ kmadd(At11L,gtu11,kmadd(At12L,gtu12,kmul(At13L,gtu13)));
+
+ CCTK_REAL_VEC Atm21 CCTK_ATTRIBUTE_UNUSED =
+ kmadd(At11L,gtu12,kmadd(At12L,gtu22,kmul(At13L,gtu23)));
+
+ CCTK_REAL_VEC Atm31 CCTK_ATTRIBUTE_UNUSED =
+ kmadd(At11L,gtu13,kmadd(At12L,gtu23,kmul(At13L,gtu33)));
+
+ CCTK_REAL_VEC Atm12 CCTK_ATTRIBUTE_UNUSED =
+ kmadd(At12L,gtu11,kmadd(At22L,gtu12,kmul(At23L,gtu13)));
+
+ CCTK_REAL_VEC Atm22 CCTK_ATTRIBUTE_UNUSED =
+ kmadd(At12L,gtu12,kmadd(At22L,gtu22,kmul(At23L,gtu23)));
+
+ CCTK_REAL_VEC Atm32 CCTK_ATTRIBUTE_UNUSED =
+ kmadd(At12L,gtu13,kmadd(At22L,gtu23,kmul(At23L,gtu33)));
+
+ CCTK_REAL_VEC Atm13 CCTK_ATTRIBUTE_UNUSED =
+ kmadd(At13L,gtu11,kmadd(At23L,gtu12,kmul(At33L,gtu13)));
+
+ CCTK_REAL_VEC Atm23 CCTK_ATTRIBUTE_UNUSED =
+ kmadd(At13L,gtu12,kmadd(At23L,gtu22,kmul(At33L,gtu23)));
+
+ CCTK_REAL_VEC Atm33 CCTK_ATTRIBUTE_UNUSED =
+ kmadd(At13L,gtu13,kmadd(At23L,gtu23,kmul(At33L,gtu33)));
+
+ CCTK_REAL_VEC Atu11 CCTK_ATTRIBUTE_UNUSED =
+ kmadd(Atm11,gtu11,kmadd(Atm12,gtu12,kmul(Atm13,gtu13)));
+
+ CCTK_REAL_VEC Atu12 CCTK_ATTRIBUTE_UNUSED =
+ kmadd(Atm11,gtu12,kmadd(Atm12,gtu22,kmul(Atm13,gtu23)));
+
+ CCTK_REAL_VEC Atu13 CCTK_ATTRIBUTE_UNUSED =
+ kmadd(Atm11,gtu13,kmadd(Atm12,gtu23,kmul(Atm13,gtu33)));
+
+ CCTK_REAL_VEC Atu22 CCTK_ATTRIBUTE_UNUSED =
+ kmadd(Atm21,gtu12,kmadd(Atm22,gtu22,kmul(Atm23,gtu23)));
+
+ CCTK_REAL_VEC Atu23 CCTK_ATTRIBUTE_UNUSED =
+ kmadd(Atm21,gtu13,kmadd(Atm22,gtu23,kmul(Atm23,gtu33)));
+
+ CCTK_REAL_VEC Atu33 CCTK_ATTRIBUTE_UNUSED =
+ kmadd(Atm31,gtu13,kmadd(Atm32,gtu23,kmul(Atm33,gtu33)));
+
+ CCTK_REAL_VEC R11 CCTK_ATTRIBUTE_UNUSED = kadd(Rphi11,Rt11);
+
+ CCTK_REAL_VEC R12 CCTK_ATTRIBUTE_UNUSED = kadd(Rphi12,Rt12);
+
+ CCTK_REAL_VEC R13 CCTK_ATTRIBUTE_UNUSED = kadd(Rphi13,Rt13);
+
+ CCTK_REAL_VEC R22 CCTK_ATTRIBUTE_UNUSED = kadd(Rphi22,Rt22);
+
+ CCTK_REAL_VEC R23 CCTK_ATTRIBUTE_UNUSED = kadd(Rphi23,Rt23);
+
+ CCTK_REAL_VEC R33 CCTK_ATTRIBUTE_UNUSED = kadd(Rphi33,Rt33);
+
+ CCTK_REAL_VEC S1 CCTK_ATTRIBUTE_UNUSED =
+ kdiv(kmadd(beta1L,eTxxL,kmadd(beta2L,eTxyL,kmsub(beta3L,eTxzL,eTtxL))),alphaL);
+
+ CCTK_REAL_VEC S2 CCTK_ATTRIBUTE_UNUSED =
+ kdiv(kmadd(beta1L,eTxyL,kmadd(beta2L,eTyyL,kmsub(beta3L,eTyzL,eTtyL))),alphaL);
+
+ CCTK_REAL_VEC S3 CCTK_ATTRIBUTE_UNUSED =
+ kdiv(kmadd(beta1L,eTxzL,kmadd(beta2L,eTyzL,kmsub(beta3L,eTzzL,eTtzL))),alphaL);
+
+ CCTK_REAL_VEC trS CCTK_ATTRIBUTE_UNUSED =
+ kmul(em4phi,kmadd(eTxxL,gtu11,kmadd(eTyyL,gtu22,kmadd(eTzzL,gtu33,kmul(kmadd(eTxyL,gtu12,kmadd(eTxzL,gtu13,kmul(eTyzL,gtu23))),ToReal(2))))));
+
+ CCTK_REAL_VEC dotXt1 CCTK_ATTRIBUTE_UNUSED =
+ kmadd(gtu11,JacPDstandardNth11beta1,kmadd(gtu12,kadd(JacPDstandardNth12beta1,JacPDstandardNth21beta1),kmadd(gtu22,JacPDstandardNth22beta1,kmadd(gtu13,kadd(JacPDstandardNth13beta1,JacPDstandardNth31beta1),kmadd(gtu23,kadd(JacPDstandardNth23beta1,JacPDstandardNth32beta1),kmadd(gtu33,JacPDstandardNth33beta1,kmadd(kmadd(Atu11,JacPDstandardNth1alpha,kmadd(Atu12,JacPDstandardNth2alpha,kmul(Atu13,JacPDstandardNth3alpha))),ToReal(-2),knmsub(JacPDstandardNth2beta1,Xtn2,knmsub(JacPDstandardNth3beta1,Xtn3,kmadd(kmadd(gtu11,kadd(JacPDstandardNth11beta1,kadd(JacPDstandardNth12beta2,JacPDstandardNth13beta3)),kmadd(gtu12,kadd(JacPDstandardNth21beta1,kadd(JacPDstandardNth22beta2,JacPDstandardNth23beta3)),kmul(gtu13,kadd(JacPDstandardNth31beta1,kadd(JacPDstandardNth32beta2,JacPDstandardNth33beta3))))),ToReal(0.333333333333333333333333333333),kmadd(Xtn1,kmsub(kadd(JacPDstandardNth1beta1,kadd(JacPDstandardNth2beta2,JacPDstandardNth3beta3)),ToReal(0.666666666666666666666666666667),JacPDstandardNth1beta1),kmul(alphaL,kmadd(ToReal(2),kmadd(Atu11,Gt111,kmadd(Atu22,Gt122,kmadd(Atu33,Gt133,kmadd(kmadd(gtu11,JacPDstandardNth1trK,kmadd(gtu12,JacPDstandardNth2trK,kmul(gtu13,JacPDstandardNth3trK))),ToReal(-0.666666666666666666666666666667),kmadd(Atu12,kmul(Gt112,ToReal(2)),kmadd(Atu13,kmul(Gt113,ToReal(2)),kmadd(Atu23,kmul(Gt123,ToReal(2)),kmul(kmadd(Atu11,cdphi1,kmadd(Atu12,cdphi2,kmul(Atu13,cdphi3))),ToReal(6))))))))),kmul(kmadd(gtu11,S1,kmadd(gtu12,S2,kmul(gtu13,S3))),ToReal(-50.2654824574366918154022941325)))))))))))))));
+
+ CCTK_REAL_VEC dotXt2 CCTK_ATTRIBUTE_UNUSED =
+ kmadd(gtu11,JacPDstandardNth11beta2,kmadd(gtu12,kadd(JacPDstandardNth12beta2,JacPDstandardNth21beta2),kmadd(gtu22,JacPDstandardNth22beta2,kmadd(gtu13,kadd(JacPDstandardNth13beta2,JacPDstandardNth31beta2),kmadd(gtu23,kadd(JacPDstandardNth23beta2,JacPDstandardNth32beta2),kmadd(gtu33,JacPDstandardNth33beta2,kmadd(kmadd(Atu12,JacPDstandardNth1alpha,kmadd(Atu22,JacPDstandardNth2alpha,kmul(Atu23,JacPDstandardNth3alpha))),ToReal(-2),knmsub(JacPDstandardNth1beta2,Xtn1,knmsub(JacPDstandardNth3beta2,Xtn3,kmadd(kmadd(gtu12,kadd(JacPDstandardNth11beta1,kadd(JacPDstandardNth12beta2,JacPDstandardNth13beta3)),kmadd(gtu22,kadd(JacPDstandardNth21beta1,kadd(JacPDstandardNth22beta2,JacPDstandardNth23beta3)),kmul(gtu23,kadd(JacPDstandardNth31beta1,kadd(JacPDstandardNth32beta2,JacPDstandardNth33beta3))))),ToReal(0.333333333333333333333333333333),kmadd(Xtn2,kmsub(kadd(JacPDstandardNth1beta1,kadd(JacPDstandardNth2beta2,JacPDstandardNth3beta3)),ToReal(0.666666666666666666666666666667),JacPDstandardNth2beta2),kmul(alphaL,kmadd(ToReal(2),kmadd(Atu11,Gt211,kmadd(Atu22,Gt222,kmadd(Atu33,Gt233,kmadd(kmadd(gtu12,JacPDstandardNth1trK,kmadd(gtu22,JacPDstandardNth2trK,kmul(gtu23,JacPDstandardNth3trK))),ToReal(-0.666666666666666666666666666667),kmadd(Atu12,kmul(Gt212,ToReal(2)),kmadd(Atu13,kmul(Gt213,ToReal(2)),kmadd(Atu23,kmul(Gt223,ToReal(2)),kmul(kmadd(Atu12,cdphi1,kmadd(Atu22,cdphi2,kmul(Atu23,cdphi3))),ToReal(6))))))))),kmul(kmadd(gtu12,S1,kmadd(gtu22,S2,kmul(gtu23,S3))),ToReal(-50.2654824574366918154022941325)))))))))))))));
+
+ CCTK_REAL_VEC dotXt3 CCTK_ATTRIBUTE_UNUSED =
+ kmadd(gtu11,JacPDstandardNth11beta3,kmadd(gtu12,kadd(JacPDstandardNth12beta3,JacPDstandardNth21beta3),kmadd(gtu22,JacPDstandardNth22beta3,kmadd(gtu13,kadd(JacPDstandardNth13beta3,JacPDstandardNth31beta3),kmadd(gtu23,kadd(JacPDstandardNth23beta3,JacPDstandardNth32beta3),kmadd(gtu33,JacPDstandardNth33beta3,kmadd(kmadd(Atu13,JacPDstandardNth1alpha,kmadd(Atu23,JacPDstandardNth2alpha,kmul(Atu33,JacPDstandardNth3alpha))),ToReal(-2),knmsub(JacPDstandardNth1beta3,Xtn1,knmsub(JacPDstandardNth2beta3,Xtn2,kmadd(kmadd(gtu13,kadd(JacPDstandardNth11beta1,kadd(JacPDstandardNth12beta2,JacPDstandardNth13beta3)),kmadd(gtu23,kadd(JacPDstandardNth21beta1,kadd(JacPDstandardNth22beta2,JacPDstandardNth23beta3)),kmul(gtu33,kadd(JacPDstandardNth31beta1,kadd(JacPDstandardNth32beta2,JacPDstandardNth33beta3))))),ToReal(0.333333333333333333333333333333),kmadd(Xtn3,kmsub(kadd(JacPDstandardNth1beta1,kadd(JacPDstandardNth2beta2,JacPDstandardNth3beta3)),ToReal(0.666666666666666666666666666667),JacPDstandardNth3beta3),kmul(alphaL,kmadd(ToReal(2),kmadd(Atu11,Gt311,kmadd(Atu22,Gt322,kmadd(Atu33,Gt333,kmadd(kmadd(gtu13,JacPDstandardNth1trK,kmadd(gtu23,JacPDstandardNth2trK,kmul(gtu33,JacPDstandardNth3trK))),ToReal(-0.666666666666666666666666666667),kmadd(Atu12,kmul(Gt312,ToReal(2)),kmadd(Atu13,kmul(Gt313,ToReal(2)),kmadd(Atu23,kmul(Gt323,ToReal(2)),kmul(kmadd(Atu13,cdphi1,kmadd(Atu23,cdphi2,kmul(Atu33,cdphi3))),ToReal(6))))))))),kmul(kmadd(gtu13,S1,kmadd(gtu23,S2,kmul(gtu33,S3))),ToReal(-50.2654824574366918154022941325)))))))))))))));
+
+ CCTK_REAL_VEC Xtdot1L CCTK_ATTRIBUTE_UNUSED = dotXt1;
+
+ CCTK_REAL_VEC Xtdot2L CCTK_ATTRIBUTE_UNUSED = dotXt2;
+
+ CCTK_REAL_VEC Xtdot3L CCTK_ATTRIBUTE_UNUSED = dotXt3;
+
+ CCTK_REAL_VEC Kdot11L CCTK_ATTRIBUTE_UNUSED =
+ G111 * JacPDstandardNth1alpha + G211 * JacPDstandardNth2alpha + G311 * JacPDstandardNth3alpha + alphaL * (trKL * K11 + R11 - 2.0 * (K11 * Km11 + K12 * Km12 + K13 * Km13)) - JacPDstandardNth11alpha;
+
+ CCTK_REAL_VEC Kdot12L CCTK_ATTRIBUTE_UNUSED =
+ G112 * JacPDstandardNth1alpha + G212 * JacPDstandardNth2alpha + G312 * JacPDstandardNth3alpha + alphaL * (trKL * K12 + R12 - 2.0 * (K11 * Km21 + K12 * Km22 + K13 * Km23)) - JacPDstandardNth12alpha;
+
+ CCTK_REAL_VEC Kdot13L CCTK_ATTRIBUTE_UNUSED =
+ G113 * JacPDstandardNth1alpha + G213 * JacPDstandardNth2alpha + G313 * JacPDstandardNth3alpha + alphaL * (trKL * K13 + R13 - 2.0 * (K11 * Km31 + K12 * Km32 + K13 * Km33)) - JacPDstandardNth13alpha;
+
+ CCTK_REAL_VEC Kdot22L CCTK_ATTRIBUTE_UNUSED =
+ G122 * JacPDstandardNth1alpha + G222 * JacPDstandardNth2alpha + G322 * JacPDstandardNth3alpha + alphaL * (trKL * K22 + R22 - 2.0 * (K12 * Km21 + K22 * Km22 + K23 * Km23)) - JacPDstandardNth22alpha;
+
+ CCTK_REAL_VEC Kdot23L CCTK_ATTRIBUTE_UNUSED =
+ G123 * JacPDstandardNth1alpha + G223 * JacPDstandardNth2alpha + G323 * JacPDstandardNth3alpha + alphaL * (trKL * K23 + R23 - 2.0 * (K12 * Km31 + K22 * Km32 + K23 * Km33)) - JacPDstandardNth23alpha;
+
+ CCTK_REAL_VEC Kdot33L CCTK_ATTRIBUTE_UNUSED =
+ G133 * JacPDstandardNth1alpha + G233 * JacPDstandardNth2alpha + G333 * JacPDstandardNth3alpha + alphaL * (trKL * K33 + R33 - 2.0 * (K13 * Km31 + K23 * Km32 + K33 * Km33)) - JacPDstandardNth33alpha;
+
+ /* compute the beta term */
+ {
+ const double gt[3][3] = {
+ { gt11L, gt12L, gt13L },
+ { gt12L, gt22L, gt23L },
+ { gt13L, gt23L, gt33L },
+ };
+
+ const double gtu[3][3] = {
+ { gtu11, gtu12, gtu13 },
+ { gtu12, gtu22, gtu23 },
+ { gtu13, gtu23, gtu33 },
+ };
+
+ const double dgt[3][3][3] = {
+ {
+ { PDstandardNth1gt11, PDstandardNth2gt11, PDstandardNth3gt11 },
+ { PDstandardNth1gt12, PDstandardNth2gt12, PDstandardNth3gt12 },
+ { PDstandardNth1gt13, PDstandardNth2gt13, PDstandardNth3gt13 },
+ },
+ {
+ { PDstandardNth1gt12, PDstandardNth2gt12, PDstandardNth3gt12 },
+ { PDstandardNth1gt22, PDstandardNth2gt22, PDstandardNth3gt22 },
+ { PDstandardNth1gt23, PDstandardNth2gt23, PDstandardNth3gt23 },
+ },
+ {
+ { PDstandardNth1gt13, PDstandardNth2gt13, PDstandardNth3gt13 },
+ { PDstandardNth1gt23, PDstandardNth2gt23, PDstandardNth3gt23 },
+ { PDstandardNth1gt33, PDstandardNth2gt33, PDstandardNth3gt33 },
+ },
+ };
+
+ const double d2gt[3][3][3][3] = {
+ {
+ {
+ { PDstandardNth11gt11, PDstandardNth12gt11, PDstandardNth13gt11 },
+ { PDstandardNth12gt11, PDstandardNth22gt11, PDstandardNth23gt11 },
+ { PDstandardNth13gt11, PDstandardNth23gt11, PDstandardNth33gt11 },
+ },
+ {
+ { PDstandardNth11gt12, PDstandardNth12gt12, PDstandardNth13gt12 },
+ { PDstandardNth12gt12, PDstandardNth22gt12, PDstandardNth23gt12 },
+ { PDstandardNth13gt12, PDstandardNth23gt12, PDstandardNth33gt12 },
+ },
+ {
+ { PDstandardNth11gt13, PDstandardNth12gt13, PDstandardNth13gt13 },
+ { PDstandardNth12gt13, PDstandardNth22gt13, PDstandardNth23gt13 },
+ { PDstandardNth13gt13, PDstandardNth23gt13, PDstandardNth33gt13 },
+ },
+ },
+ {
+ {
+ { PDstandardNth11gt12, PDstandardNth12gt12, PDstandardNth13gt12 },
+ { PDstandardNth12gt12, PDstandardNth22gt12, PDstandardNth23gt12 },
+ { PDstandardNth13gt12, PDstandardNth23gt12, PDstandardNth33gt12 },
+ },
+ {
+ { PDstandardNth11gt22, PDstandardNth12gt22, PDstandardNth13gt22 },
+ { PDstandardNth12gt22, PDstandardNth22gt22, PDstandardNth23gt22 },
+ { PDstandardNth13gt22, PDstandardNth23gt22, PDstandardNth33gt22 },
+ },
+ {
+ { PDstandardNth11gt23, PDstandardNth12gt23, PDstandardNth13gt23 },
+ { PDstandardNth12gt23, PDstandardNth22gt23, PDstandardNth23gt23 },
+ { PDstandardNth13gt23, PDstandardNth23gt23, PDstandardNth33gt23 },
+ },
+ },
+ {
+ {
+ { PDstandardNth11gt13, PDstandardNth12gt13, PDstandardNth13gt13 },
+ { PDstandardNth12gt13, PDstandardNth22gt13, PDstandardNth23gt13 },
+ { PDstandardNth13gt13, PDstandardNth23gt13, PDstandardNth33gt13 },
+ },
+ {
+ { PDstandardNth11gt23, PDstandardNth12gt23, PDstandardNth13gt23 },
+ { PDstandardNth12gt23, PDstandardNth22gt23, PDstandardNth23gt23 },
+ { PDstandardNth13gt23, PDstandardNth23gt23, PDstandardNth33gt23 },
+ },
+ {
+ { PDstandardNth11gt33, PDstandardNth12gt33, PDstandardNth13gt33 },
+ { PDstandardNth12gt33, PDstandardNth22gt33, PDstandardNth23gt33 },
+ { PDstandardNth13gt33, PDstandardNth23gt33, PDstandardNth33gt33 },
+ },
+ },
+ };
+
+ const double Ric[3][3] = {
+ { R11, R12, R13 },
+ { R12, R22, R23 },
+ { R13, R23, R33 },
+ };
+
+ const double betaval[3] = {beta1L, 0.0, beta3L};
+ const double dbeta[3][3] = {{ PDstandardNth1beta1, PDstandardNth2beta1, PDstandardNth3beta1 },
+ { PDstandardNth1beta2, PDstandardNth2beta2, PDstandardNth3beta2 },
+ { PDstandardNth1beta3, PDstandardNth2beta3, PDstandardNth3beta3 }};
+
+ const double d2beta[3][3][3] = {
+ {
+ { PDstandardNth11beta1, PDstandardNth12beta1, PDstandardNth13beta1 },
+ { PDstandardNth12beta1, PDstandardNth22beta1, PDstandardNth23beta1 },
+ { PDstandardNth13beta1, PDstandardNth23beta1, PDstandardNth33beta1 },
+ },
+ {
+ { PDstandardNth11beta2, PDstandardNth12beta2, PDstandardNth13beta2 },
+ { PDstandardNth12beta2, PDstandardNth22beta2, PDstandardNth23beta2 },
+ { PDstandardNth13beta2, PDstandardNth23beta2, PDstandardNth33beta2 },
+ },
+ {
+ { PDstandardNth11beta3, PDstandardNth12beta3, PDstandardNth13beta3 },
+ { PDstandardNth12beta3, PDstandardNth22beta3, PDstandardNth23beta3 },
+ { PDstandardNth13beta3, PDstandardNth23beta3, PDstandardNth33beta3 },
+ },
+ };
+
+ const double G[3][3][3] = {
+ {
+ { G111, G112, G113 },
+ { G112, G122, G123 },
+ { G113, G123, G133 },
+ },
+ {
+ { G211, G212, G213 },
+ { G212, G222, G223 },
+ { G213, G223, G233 },
+ },
+ {
+ { G311, G312, G313 },
+ { G312, G322, G323 },
+ { G313, G323, G333 },
+ }
+ };
+
+ const double dalpha[3] = { PDstandardNth1alpha, 0.0, PDstandardNth3alpha };
+
+ const double dphi[3] = { PDstandardNth1phi, 0.0, PDstandardNth3phi };
+ const double d2phi[3][3] = {{ PDstandardNth11phi, PDstandardNth12phi, PDstandardNth13phi },
+ { PDstandardNth12phi, PDstandardNth22phi, PDstandardNth23phi },
+ { PDstandardNth13phi, PDstandardNth23phi, PDstandardNth33phi }};
+
+ double gu[3][3], Ricm[3][3], dg[3][3][3], dgu[3][3][3], d2g[3][3][3][3], dG[3][3][3][3];
+ double d2beta_term[3] = { 0.0 };
+
+ double ric_term;
+
+ for (int i = 0; i < 3; i++)
+ for (int j = 0; j < 3; j++)
+ gu[i][j] = phiL * phiL * gtu[i][j];
+
+
+ for (int i = 0; i < 3; i++)
+ for (int j = 0; j < 3; j++) {
+ double val = 0.0;
+ for (int k = 0; k < 3; k++)
+ val += gu[i][k] * Ric[k][j];
+ Ricm[i][j] = val;
+ }
+
+ for (int i = 0; i < 3; i++)
+ for (int j = 0; j < 3; j++)
+ for (int k = 0; k < 3; k++) {
+ dg[j][k][i] = -2.0 * dphi[i] * gt[j][k] / (phiL * SQR(phiL)) + dgt[j][k][i] / SQR(phiL);
+ }
+
+ for (int i = 0; i < 3; i++)
+ for (int k = 0; k < 3; k++)
+ for (int m = 0; m < 3; m++) {
+ double val = 0.0;
+ for (int j = 0; j < 3; j++)
+ for (int l = 0; l < 3; l++)
+ val += - gu[k][j] * gu[l][m] * dg[j][l][i];
+ dgu[k][m][i] = val;
+ }
+
+ for (int i = 0; i < 3; i++)
+ for (int j = 0; j < 3; j++)
+ for (int k = 0; k < 3; k++)
+ for (int l = 0; l < 3; l++) {
+ d2g[k][l][i][j] = 6.0 * gt[k][l] * dphi[i] * dphi[j] / SQR(SQR(phiL)) - 2.0 * gt[k][l] * d2phi[i][j] / (phiL * SQR(phiL))
+ - 2.0 * dgt[k][l][i] * dphi[j] / (phiL * SQR(phiL)) - 2.0 * dgt[k][l][j] * dphi[i] / (phiL * SQR(phiL)) + d2gt[k][l][i][j] / SQR(phiL);
+ }
+
+ for (int i = 0; i < 3; i++)
+ for (int j = 0; j < 3; j++)
+ for (int k = 0; k < 3; k++)
+ for (int l = 0; l < 3; l++) {
+ double val = 0.0;
+ for (int m = 0; m < 3; m++) {
+ val += dgu[k][m][i] * (dg[l][m][j] + dg[j][m][l] - dg[j][l][m]) + gu[k][m] * (d2g[l][m][i][j] + d2g[j][m][l][i] - d2g[j][l][m][i]);
+ }
+ dG[k][j][l][i] = 0.5 * val;
+ }
+
+ for (int i = 0; i < 3; i++)
+ for (int j = 0; j < 3; j++)
+ for (int k = 0; k < 3; k++) {
+ d2beta_term[k] += gu[i][j] * d2beta[k][i][j];
+
+ for (int l = 0; l < 3; l++) {
+ d2beta_term[k] += gu[i][j] * (G[k][j][l] * dbeta[l][i] + dG[k][j][l][i] * betaval[l] + G[k][i][l] * dbeta[l][j] - G[l][i][j] * dbeta[k][l]);
+
+ for (int m = 0; m < 3; m++) {
+ d2beta_term[k] += gu[i][j] * (G[k][i][l] * G[l][j][m] * betaval[m] - G[l][i][j] * G[k][l][m] * betaval[m]);
+ }
+ }
+ }
+
+ ric_term = 0.0;
+ for (int i = 0; i < 3; i++)
+ for (int j = 0; j < 3; j++)
+ ric_term += betaval[j] * Ricm[i][j] * dalpha[i];
+
+ beta_term_val = -(d2beta_term[0] * dalpha[0] + d2beta_term[2] * dalpha[2]) - ric_term;
+ }
+
+ /* Copy local copies back to grid functions */
+ vec_store_partial_prepare(i,vecimin,vecimax);
+ vec_store_nta_partial(Kdot11[index],Kdot11L);
+ vec_store_nta_partial(Kdot12[index],Kdot12L);
+ vec_store_nta_partial(Kdot13[index],Kdot13L);
+ vec_store_nta_partial(Kdot22[index],Kdot22L);
+ vec_store_nta_partial(Kdot23[index],Kdot23L);
+ vec_store_nta_partial(Kdot33[index],Kdot33L);
+ vec_store_nta_partial(beta_term[index], beta_term_val);
+ vec_store_nta_partial(Xtdot1[index],Xtdot1L);
+ vec_store_nta_partial(Xtdot2[index],Xtdot2L);
+ vec_store_nta_partial(Xtdot3[index],Xtdot3L);
+ }
+ CCTK_ENDLOOP3STR(eval_timediff);
+}
+
+extern "C" void eval_timediff(CCTK_ARGUMENTS)
+{
+ DECLARE_CCTK_ARGUMENTS;
+ DECLARE_CCTK_PARAMETERS;
+
+
+
+ GenericFD_LoopOverInterior(cctkGH, eval_timediff_body);
+
+}
diff --git a/ML_BSSN/src/make.code.defn b/ML_BSSN/src/make.code.defn
index 20a2829..fe14364 100644
--- a/ML_BSSN/src/make.code.defn
+++ b/ML_BSSN/src/make.code.defn
@@ -1,3 +1,3 @@
# File produced by Kranc
-SRCS = Boundaries.cc ML_BSSN_Advect.cc ML_BSSN_boundary.cc ML_BSSN_constraints.cc ML_BSSN_convertFromADMBase.cc ML_BSSN_convertFromADMBaseGamma.cc ML_BSSN_convertToADMBase.cc ML_BSSN_convertToADMBaseDtLapseShiftBoundary.cc ML_BSSN_convertToADMBaseDtLapseShift.cc ML_BSSN_convertToADMBaseFakeDtLapseShift.cc ML_BSSN_Dissipation.cc ML_BSSN_enforce.cc ML_BSSN_InitGamma.cc ML_BSSN_InitRHS.cc ML_BSSN_lapse_evol.cc ML_BSSN_Minkowski.cc ML_BSSN_RHS.cc ML_BSSN_RHSStaticBoundary.cc RegisterMoL.cc RegisterSymmetries.cc Startup.cc
+SRCS = Boundaries.cc ML_BSSN_Advect.cc ML_BSSN_boundary.cc ML_BSSN_constraints.cc ML_BSSN_convertFromADMBase.cc ML_BSSN_convertFromADMBaseGamma.cc ML_BSSN_convertToADMBase.cc ML_BSSN_convertToADMBaseDtLapseShiftBoundary.cc ML_BSSN_convertToADMBaseDtLapseShift.cc ML_BSSN_convertToADMBaseFakeDtLapseShift.cc ML_BSSN_Dissipation.cc ML_BSSN_enforce.cc ML_BSSN_InitGamma.cc ML_BSSN_InitRHS.cc ML_BSSN_lapse_evol.cc ML_BSSN_Minkowski.cc ML_BSSN_RHS.cc ML_BSSN_RHSStaticBoundary.cc RegisterMoL.cc RegisterSymmetries.cc Startup.cc eval_timediff.cc