aboutsummaryrefslogtreecommitdiff
path: root/ML_BSSN/src/ML_BSSN_constraints2.cc
diff options
context:
space:
mode:
Diffstat (limited to 'ML_BSSN/src/ML_BSSN_constraints2.cc')
-rw-r--r--ML_BSSN/src/ML_BSSN_constraints2.cc712
1 files changed, 645 insertions, 67 deletions
diff --git a/ML_BSSN/src/ML_BSSN_constraints2.cc b/ML_BSSN/src/ML_BSSN_constraints2.cc
index 442917a..2c39faf 100644
--- a/ML_BSSN/src/ML_BSSN_constraints2.cc
+++ b/ML_BSSN/src/ML_BSSN_constraints2.cc
@@ -64,7 +64,24 @@ static void ML_BSSN_constraints2_Body(cGH const * restrict const cctkGH, int con
const char *groups[] = {"ML_BSSN::ML_cons_detg","ML_BSSN::ML_cons_Gamma","ML_BSSN::ML_cons_traceA","ML_BSSN::ML_curv","ML_BSSN::ML_Gamma","ML_BSSN::ML_lapse","ML_BSSN::ML_log_confac","ML_BSSN::ML_metric","ML_BSSN::ML_mom","ML_BSSN::ML_shift","ML_BSSN::ML_trace_curv"};
GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_constraints2", 11, groups);
- GenericFD_EnsureStencilFits(cctkGH, "ML_BSSN_constraints2", 2, 2, 2);
+ switch(fdOrder)
+ {
+ case 2:
+ GenericFD_EnsureStencilFits(cctkGH, "ML_BSSN_constraints2", 1, 1, 1);
+ break;
+
+ case 4:
+ GenericFD_EnsureStencilFits(cctkGH, "ML_BSSN_constraints2", 2, 2, 2);
+ break;
+
+ case 6:
+ GenericFD_EnsureStencilFits(cctkGH, "ML_BSSN_constraints2", 3, 3, 3);
+ break;
+
+ case 8:
+ GenericFD_EnsureStencilFits(cctkGH, "ML_BSSN_constraints2", 4, 4, 4);
+ break;
+ }
/* Include user-supplied include files */
@@ -92,24 +109,129 @@ static void ML_BSSN_constraints2_Body(cGH const * restrict const cctkGH, int con
CCTK_REAL_VEC const hdzi = kmul(ToReal(0.5), dzi);
/* Initialize predefined quantities */
+ CCTK_REAL_VEC const p1o1024dx = kmul(INV(dx),ToReal(0.0009765625));
+ CCTK_REAL_VEC const p1o1024dy = kmul(INV(dy),ToReal(0.0009765625));
+ CCTK_REAL_VEC const p1o1024dz = kmul(INV(dz),ToReal(0.0009765625));
+ CCTK_REAL_VEC const p1o120dx = kmul(INV(dx),ToReal(0.00833333333333333333333333333333));
+ CCTK_REAL_VEC const p1o120dy = kmul(INV(dy),ToReal(0.00833333333333333333333333333333));
+ CCTK_REAL_VEC const p1o120dz = kmul(INV(dz),ToReal(0.00833333333333333333333333333333));
CCTK_REAL_VEC const p1o12dx = kmul(INV(dx),ToReal(0.0833333333333333333333333333333));
CCTK_REAL_VEC const p1o12dy = kmul(INV(dy),ToReal(0.0833333333333333333333333333333));
CCTK_REAL_VEC const p1o12dz = kmul(INV(dz),ToReal(0.0833333333333333333333333333333));
CCTK_REAL_VEC const p1o144dxdy = kmul(INV(dx),kmul(INV(dy),ToReal(0.00694444444444444444444444444444)));
CCTK_REAL_VEC const p1o144dxdz = kmul(INV(dx),kmul(INV(dz),ToReal(0.00694444444444444444444444444444)));
CCTK_REAL_VEC const p1o144dydz = kmul(INV(dy),kmul(INV(dz),ToReal(0.00694444444444444444444444444444)));
+ CCTK_REAL_VEC const p1o1680dx = kmul(INV(dx),ToReal(0.000595238095238095238095238095238));
+ CCTK_REAL_VEC const p1o1680dy = kmul(INV(dy),ToReal(0.000595238095238095238095238095238));
+ CCTK_REAL_VEC const p1o1680dz = kmul(INV(dz),ToReal(0.000595238095238095238095238095238));
+ CCTK_REAL_VEC const p1o16dx = kmul(INV(dx),ToReal(0.0625));
+ CCTK_REAL_VEC const p1o16dy = kmul(INV(dy),ToReal(0.0625));
+ CCTK_REAL_VEC const p1o16dz = kmul(INV(dz),ToReal(0.0625));
+ CCTK_REAL_VEC const p1o180dx2 = kmul(INV(SQR(dx)),ToReal(0.00555555555555555555555555555556));
+ CCTK_REAL_VEC const p1o180dy2 = kmul(INV(SQR(dy)),ToReal(0.00555555555555555555555555555556));
+ CCTK_REAL_VEC const p1o180dz2 = kmul(INV(SQR(dz)),ToReal(0.00555555555555555555555555555556));
CCTK_REAL_VEC const p1o24dx = kmul(INV(dx),ToReal(0.0416666666666666666666666666667));
CCTK_REAL_VEC const p1o24dy = kmul(INV(dy),ToReal(0.0416666666666666666666666666667));
CCTK_REAL_VEC const p1o24dz = kmul(INV(dz),ToReal(0.0416666666666666666666666666667));
+ CCTK_REAL_VEC const p1o256dx = kmul(INV(dx),ToReal(0.00390625));
+ CCTK_REAL_VEC const p1o256dy = kmul(INV(dy),ToReal(0.00390625));
+ CCTK_REAL_VEC const p1o256dz = kmul(INV(dz),ToReal(0.00390625));
+ CCTK_REAL_VEC const p1o2dx = kmul(INV(dx),ToReal(0.5));
+ CCTK_REAL_VEC const p1o2dy = kmul(INV(dy),ToReal(0.5));
+ CCTK_REAL_VEC const p1o2dz = kmul(INV(dz),ToReal(0.5));
+ CCTK_REAL_VEC const p1o3600dxdy = kmul(INV(dx),kmul(INV(dy),ToReal(0.000277777777777777777777777777778)));
+ CCTK_REAL_VEC const p1o3600dxdz = kmul(INV(dx),kmul(INV(dz),ToReal(0.000277777777777777777777777777778)));
+ CCTK_REAL_VEC const p1o3600dydz = kmul(INV(dy),kmul(INV(dz),ToReal(0.000277777777777777777777777777778)));
+ CCTK_REAL_VEC const p1o4dx = kmul(INV(dx),ToReal(0.25));
+ CCTK_REAL_VEC const p1o4dxdy = kmul(INV(dx),kmul(INV(dy),ToReal(0.25)));
+ CCTK_REAL_VEC const p1o4dxdz = kmul(INV(dx),kmul(INV(dz),ToReal(0.25)));
+ CCTK_REAL_VEC const p1o4dy = kmul(INV(dy),ToReal(0.25));
+ CCTK_REAL_VEC const p1o4dydz = kmul(INV(dy),kmul(INV(dz),ToReal(0.25)));
+ CCTK_REAL_VEC const p1o4dz = kmul(INV(dz),ToReal(0.25));
+ CCTK_REAL_VEC const p1o5040dx2 = kmul(INV(SQR(dx)),ToReal(0.000198412698412698412698412698413));
+ CCTK_REAL_VEC const p1o5040dy2 = kmul(INV(SQR(dy)),ToReal(0.000198412698412698412698412698413));
+ CCTK_REAL_VEC const p1o5040dz2 = kmul(INV(SQR(dz)),ToReal(0.000198412698412698412698412698413));
+ CCTK_REAL_VEC const p1o560dx = kmul(INV(dx),ToReal(0.00178571428571428571428571428571));
+ CCTK_REAL_VEC const p1o560dy = kmul(INV(dy),ToReal(0.00178571428571428571428571428571));
+ CCTK_REAL_VEC const p1o560dz = kmul(INV(dz),ToReal(0.00178571428571428571428571428571));
+ CCTK_REAL_VEC const p1o60dx = kmul(INV(dx),ToReal(0.0166666666666666666666666666667));
+ CCTK_REAL_VEC const p1o60dy = kmul(INV(dy),ToReal(0.0166666666666666666666666666667));
+ CCTK_REAL_VEC const p1o60dz = kmul(INV(dz),ToReal(0.0166666666666666666666666666667));
CCTK_REAL_VEC const p1o64dx = kmul(INV(dx),ToReal(0.015625));
CCTK_REAL_VEC const p1o64dy = kmul(INV(dy),ToReal(0.015625));
CCTK_REAL_VEC const p1o64dz = kmul(INV(dz),ToReal(0.015625));
+ CCTK_REAL_VEC const p1o705600dxdy = kmul(INV(dx),kmul(INV(dy),ToReal(1.41723356009070294784580498866e-6)));
+ CCTK_REAL_VEC const p1o705600dxdz = kmul(INV(dx),kmul(INV(dz),ToReal(1.41723356009070294784580498866e-6)));
+ CCTK_REAL_VEC const p1o705600dydz = kmul(INV(dy),kmul(INV(dz),ToReal(1.41723356009070294784580498866e-6)));
+ CCTK_REAL_VEC const p1o840dx = kmul(INV(dx),ToReal(0.00119047619047619047619047619048));
+ CCTK_REAL_VEC const p1o840dy = kmul(INV(dy),ToReal(0.00119047619047619047619047619048));
+ CCTK_REAL_VEC const p1o840dz = kmul(INV(dz),ToReal(0.00119047619047619047619047619048));
CCTK_REAL_VEC const p1odx = INV(dx);
+ CCTK_REAL_VEC const p1odx2 = INV(SQR(dx));
CCTK_REAL_VEC const p1ody = INV(dy);
+ CCTK_REAL_VEC const p1ody2 = INV(SQR(dy));
CCTK_REAL_VEC const p1odz = INV(dz);
+ CCTK_REAL_VEC const p1odz2 = INV(SQR(dz));
+ CCTK_REAL_VEC const pm1o120dx = kmul(INV(dx),ToReal(-0.00833333333333333333333333333333));
+ CCTK_REAL_VEC const pm1o120dy = kmul(INV(dy),ToReal(-0.00833333333333333333333333333333));
+ CCTK_REAL_VEC const pm1o120dz = kmul(INV(dz),ToReal(-0.00833333333333333333333333333333));
CCTK_REAL_VEC const pm1o12dx2 = kmul(INV(SQR(dx)),ToReal(-0.0833333333333333333333333333333));
CCTK_REAL_VEC const pm1o12dy2 = kmul(INV(SQR(dy)),ToReal(-0.0833333333333333333333333333333));
CCTK_REAL_VEC const pm1o12dz2 = kmul(INV(SQR(dz)),ToReal(-0.0833333333333333333333333333333));
+ CCTK_REAL_VEC const pm1o2dx = kmul(INV(dx),ToReal(-0.5));
+ CCTK_REAL_VEC const pm1o2dy = kmul(INV(dy),ToReal(-0.5));
+ CCTK_REAL_VEC const pm1o2dz = kmul(INV(dz),ToReal(-0.5));
+ CCTK_REAL_VEC const pm1o4dx = kmul(INV(dx),ToReal(-0.25));
+ CCTK_REAL_VEC const pm1o4dy = kmul(INV(dy),ToReal(-0.25));
+ CCTK_REAL_VEC const pm1o4dz = kmul(INV(dz),ToReal(-0.25));
+ CCTK_REAL_VEC const pm1o60dx = kmul(INV(dx),ToReal(-0.0166666666666666666666666666667));
+ CCTK_REAL_VEC const pm1o60dy = kmul(INV(dy),ToReal(-0.0166666666666666666666666666667));
+ CCTK_REAL_VEC const pm1o60dz = kmul(INV(dz),ToReal(-0.0166666666666666666666666666667));
+
+ /* Jacobian variable pointers */
+ bool const use_jacobian = (!CCTK_IsFunctionAliased("MultiPatch_GetMap") || MultiPatch_GetMap(cctkGH) != jacobian_identity_map)
+ && strlen(jacobian_group) > 0;
+ 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");
+ }
+
+ CCTK_REAL const *restrict jacobian_ptrs[9];
+ if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_group,
+ 9, jacobian_ptrs);
+
+ CCTK_REAL const *restrict const J11 = use_jacobian ? jacobian_ptrs[0] : 0;
+ CCTK_REAL const *restrict const J12 = use_jacobian ? jacobian_ptrs[1] : 0;
+ CCTK_REAL const *restrict const J13 = use_jacobian ? jacobian_ptrs[2] : 0;
+ CCTK_REAL const *restrict const J21 = use_jacobian ? jacobian_ptrs[3] : 0;
+ CCTK_REAL const *restrict const J22 = use_jacobian ? jacobian_ptrs[4] : 0;
+ CCTK_REAL const *restrict const J23 = use_jacobian ? jacobian_ptrs[5] : 0;
+ CCTK_REAL const *restrict const J31 = use_jacobian ? jacobian_ptrs[6] : 0;
+ CCTK_REAL const *restrict const J32 = use_jacobian ? jacobian_ptrs[7] : 0;
+ CCTK_REAL const *restrict const J33 = use_jacobian ? jacobian_ptrs[8] : 0;
+
+ CCTK_REAL const *restrict jacobian_derivative_ptrs[18];
+ if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_derivative_group,
+ 18, jacobian_derivative_ptrs);
+
+ CCTK_REAL const *restrict const dJ111 = use_jacobian ? jacobian_derivative_ptrs[0] : 0;
+ CCTK_REAL const *restrict const dJ112 = use_jacobian ? jacobian_derivative_ptrs[1] : 0;
+ CCTK_REAL const *restrict const dJ113 = use_jacobian ? jacobian_derivative_ptrs[2] : 0;
+ CCTK_REAL const *restrict const dJ122 = use_jacobian ? jacobian_derivative_ptrs[3] : 0;
+ CCTK_REAL const *restrict const dJ123 = use_jacobian ? jacobian_derivative_ptrs[4] : 0;
+ CCTK_REAL const *restrict const dJ133 = use_jacobian ? jacobian_derivative_ptrs[5] : 0;
+ CCTK_REAL const *restrict const dJ211 = use_jacobian ? jacobian_derivative_ptrs[6] : 0;
+ CCTK_REAL const *restrict const dJ212 = use_jacobian ? jacobian_derivative_ptrs[7] : 0;
+ CCTK_REAL const *restrict const dJ213 = use_jacobian ? jacobian_derivative_ptrs[8] : 0;
+ CCTK_REAL const *restrict const dJ222 = use_jacobian ? jacobian_derivative_ptrs[9] : 0;
+ CCTK_REAL const *restrict const dJ223 = use_jacobian ? jacobian_derivative_ptrs[10] : 0;
+ CCTK_REAL const *restrict const dJ233 = use_jacobian ? jacobian_derivative_ptrs[11] : 0;
+ CCTK_REAL const *restrict const dJ311 = use_jacobian ? jacobian_derivative_ptrs[12] : 0;
+ CCTK_REAL const *restrict const dJ312 = use_jacobian ? jacobian_derivative_ptrs[13] : 0;
+ CCTK_REAL const *restrict const dJ313 = use_jacobian ? jacobian_derivative_ptrs[14] : 0;
+ CCTK_REAL const *restrict const dJ322 = use_jacobian ? jacobian_derivative_ptrs[15] : 0;
+ CCTK_REAL const *restrict const dJ323 = use_jacobian ? jacobian_derivative_ptrs[16] : 0;
+ CCTK_REAL const *restrict const dJ333 = use_jacobian ? jacobian_derivative_ptrs[17] : 0;
/* Loop over the grid points */
#pragma omp parallel
@@ -171,53 +293,509 @@ static void ML_BSSN_constraints2_Body(cGH const * restrict const cctkGH, int con
eTzzL = ToReal(0.0);
}
+ CCTK_REAL_VEC J11L, J12L, J13L, J21L, J22L, J23L, J31L, J32L, J33L;
+
+ if (use_jacobian)
+ {
+ 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 const PDstandardNth1At11 = PDstandardNth1(&At11[index]);
- CCTK_REAL_VEC const PDstandardNth2At11 = PDstandardNth2(&At11[index]);
- CCTK_REAL_VEC const PDstandardNth3At11 = PDstandardNth3(&At11[index]);
- CCTK_REAL_VEC const PDstandardNth1At12 = PDstandardNth1(&At12[index]);
- CCTK_REAL_VEC const PDstandardNth2At12 = PDstandardNth2(&At12[index]);
- CCTK_REAL_VEC const PDstandardNth3At12 = PDstandardNth3(&At12[index]);
- CCTK_REAL_VEC const PDstandardNth1At13 = PDstandardNth1(&At13[index]);
- CCTK_REAL_VEC const PDstandardNth2At13 = PDstandardNth2(&At13[index]);
- CCTK_REAL_VEC const PDstandardNth3At13 = PDstandardNth3(&At13[index]);
- CCTK_REAL_VEC const PDstandardNth1At22 = PDstandardNth1(&At22[index]);
- CCTK_REAL_VEC const PDstandardNth2At22 = PDstandardNth2(&At22[index]);
- CCTK_REAL_VEC const PDstandardNth3At22 = PDstandardNth3(&At22[index]);
- CCTK_REAL_VEC const PDstandardNth1At23 = PDstandardNth1(&At23[index]);
- CCTK_REAL_VEC const PDstandardNth2At23 = PDstandardNth2(&At23[index]);
- CCTK_REAL_VEC const PDstandardNth3At23 = PDstandardNth3(&At23[index]);
- CCTK_REAL_VEC const PDstandardNth1At33 = PDstandardNth1(&At33[index]);
- CCTK_REAL_VEC const PDstandardNth2At33 = PDstandardNth2(&At33[index]);
- CCTK_REAL_VEC const PDstandardNth3At33 = PDstandardNth3(&At33[index]);
- CCTK_REAL_VEC const PDstandardNth1gt11 = PDstandardNth1(&gt11[index]);
- CCTK_REAL_VEC const PDstandardNth2gt11 = PDstandardNth2(&gt11[index]);
- CCTK_REAL_VEC const PDstandardNth3gt11 = PDstandardNth3(&gt11[index]);
- CCTK_REAL_VEC const PDstandardNth1gt12 = PDstandardNth1(&gt12[index]);
- CCTK_REAL_VEC const PDstandardNth2gt12 = PDstandardNth2(&gt12[index]);
- CCTK_REAL_VEC const PDstandardNth3gt12 = PDstandardNth3(&gt12[index]);
- CCTK_REAL_VEC const PDstandardNth1gt13 = PDstandardNth1(&gt13[index]);
- CCTK_REAL_VEC const PDstandardNth2gt13 = PDstandardNth2(&gt13[index]);
- CCTK_REAL_VEC const PDstandardNth3gt13 = PDstandardNth3(&gt13[index]);
- CCTK_REAL_VEC const PDstandardNth1gt22 = PDstandardNth1(&gt22[index]);
- CCTK_REAL_VEC const PDstandardNth2gt22 = PDstandardNth2(&gt22[index]);
- CCTK_REAL_VEC const PDstandardNth3gt22 = PDstandardNth3(&gt22[index]);
- CCTK_REAL_VEC const PDstandardNth1gt23 = PDstandardNth1(&gt23[index]);
- CCTK_REAL_VEC const PDstandardNth2gt23 = PDstandardNth2(&gt23[index]);
- CCTK_REAL_VEC const PDstandardNth3gt23 = PDstandardNth3(&gt23[index]);
- CCTK_REAL_VEC const PDstandardNth1gt33 = PDstandardNth1(&gt33[index]);
- CCTK_REAL_VEC const PDstandardNth2gt33 = PDstandardNth2(&gt33[index]);
- CCTK_REAL_VEC const PDstandardNth3gt33 = PDstandardNth3(&gt33[index]);
- CCTK_REAL_VEC const PDstandardNth1phi = PDstandardNth1(&phi[index]);
- CCTK_REAL_VEC const PDstandardNth2phi = PDstandardNth2(&phi[index]);
- CCTK_REAL_VEC const PDstandardNth3phi = PDstandardNth3(&phi[index]);
- CCTK_REAL_VEC const PDstandardNth1trK = PDstandardNth1(&trK[index]);
- CCTK_REAL_VEC const PDstandardNth2trK = PDstandardNth2(&trK[index]);
- CCTK_REAL_VEC const PDstandardNth3trK = PDstandardNth3(&trK[index]);
+ CCTK_REAL_VEC PDstandardNth1At11;
+ CCTK_REAL_VEC PDstandardNth2At11;
+ CCTK_REAL_VEC PDstandardNth3At11;
+ CCTK_REAL_VEC PDstandardNth1At12;
+ CCTK_REAL_VEC PDstandardNth2At12;
+ CCTK_REAL_VEC PDstandardNth3At12;
+ CCTK_REAL_VEC PDstandardNth1At13;
+ CCTK_REAL_VEC PDstandardNth2At13;
+ CCTK_REAL_VEC PDstandardNth3At13;
+ CCTK_REAL_VEC PDstandardNth1At22;
+ CCTK_REAL_VEC PDstandardNth2At22;
+ CCTK_REAL_VEC PDstandardNth3At22;
+ CCTK_REAL_VEC PDstandardNth1At23;
+ CCTK_REAL_VEC PDstandardNth2At23;
+ CCTK_REAL_VEC PDstandardNth3At23;
+ CCTK_REAL_VEC PDstandardNth1At33;
+ CCTK_REAL_VEC PDstandardNth2At33;
+ CCTK_REAL_VEC PDstandardNth3At33;
+ CCTK_REAL_VEC PDstandardNth1gt11;
+ CCTK_REAL_VEC PDstandardNth2gt11;
+ CCTK_REAL_VEC PDstandardNth3gt11;
+ CCTK_REAL_VEC PDstandardNth1gt12;
+ CCTK_REAL_VEC PDstandardNth2gt12;
+ CCTK_REAL_VEC PDstandardNth3gt12;
+ CCTK_REAL_VEC PDstandardNth1gt13;
+ CCTK_REAL_VEC PDstandardNth2gt13;
+ CCTK_REAL_VEC PDstandardNth3gt13;
+ CCTK_REAL_VEC PDstandardNth1gt22;
+ CCTK_REAL_VEC PDstandardNth2gt22;
+ CCTK_REAL_VEC PDstandardNth3gt22;
+ CCTK_REAL_VEC PDstandardNth1gt23;
+ CCTK_REAL_VEC PDstandardNth2gt23;
+ CCTK_REAL_VEC PDstandardNth3gt23;
+ CCTK_REAL_VEC PDstandardNth1gt33;
+ CCTK_REAL_VEC PDstandardNth2gt33;
+ CCTK_REAL_VEC PDstandardNth3gt33;
+ CCTK_REAL_VEC PDstandardNth1phi;
+ CCTK_REAL_VEC PDstandardNth2phi;
+ CCTK_REAL_VEC PDstandardNth3phi;
+ CCTK_REAL_VEC PDstandardNth1trK;
+ CCTK_REAL_VEC PDstandardNth2trK;
+ CCTK_REAL_VEC PDstandardNth3trK;
+
+ switch(fdOrder)
+ {
+ case 2:
+ PDstandardNth1At11 = PDstandardNthfdOrder21(&At11[index]);
+ PDstandardNth2At11 = PDstandardNthfdOrder22(&At11[index]);
+ PDstandardNth3At11 = PDstandardNthfdOrder23(&At11[index]);
+ PDstandardNth1At12 = PDstandardNthfdOrder21(&At12[index]);
+ PDstandardNth2At12 = PDstandardNthfdOrder22(&At12[index]);
+ PDstandardNth3At12 = PDstandardNthfdOrder23(&At12[index]);
+ PDstandardNth1At13 = PDstandardNthfdOrder21(&At13[index]);
+ PDstandardNth2At13 = PDstandardNthfdOrder22(&At13[index]);
+ PDstandardNth3At13 = PDstandardNthfdOrder23(&At13[index]);
+ PDstandardNth1At22 = PDstandardNthfdOrder21(&At22[index]);
+ PDstandardNth2At22 = PDstandardNthfdOrder22(&At22[index]);
+ PDstandardNth3At22 = PDstandardNthfdOrder23(&At22[index]);
+ PDstandardNth1At23 = PDstandardNthfdOrder21(&At23[index]);
+ PDstandardNth2At23 = PDstandardNthfdOrder22(&At23[index]);
+ PDstandardNth3At23 = PDstandardNthfdOrder23(&At23[index]);
+ PDstandardNth1At33 = PDstandardNthfdOrder21(&At33[index]);
+ PDstandardNth2At33 = PDstandardNthfdOrder22(&At33[index]);
+ PDstandardNth3At33 = PDstandardNthfdOrder23(&At33[index]);
+ PDstandardNth1gt11 = PDstandardNthfdOrder21(&gt11[index]);
+ PDstandardNth2gt11 = PDstandardNthfdOrder22(&gt11[index]);
+ PDstandardNth3gt11 = PDstandardNthfdOrder23(&gt11[index]);
+ PDstandardNth1gt12 = PDstandardNthfdOrder21(&gt12[index]);
+ PDstandardNth2gt12 = PDstandardNthfdOrder22(&gt12[index]);
+ PDstandardNth3gt12 = PDstandardNthfdOrder23(&gt12[index]);
+ PDstandardNth1gt13 = PDstandardNthfdOrder21(&gt13[index]);
+ PDstandardNth2gt13 = PDstandardNthfdOrder22(&gt13[index]);
+ PDstandardNth3gt13 = PDstandardNthfdOrder23(&gt13[index]);
+ PDstandardNth1gt22 = PDstandardNthfdOrder21(&gt22[index]);
+ PDstandardNth2gt22 = PDstandardNthfdOrder22(&gt22[index]);
+ PDstandardNth3gt22 = PDstandardNthfdOrder23(&gt22[index]);
+ PDstandardNth1gt23 = PDstandardNthfdOrder21(&gt23[index]);
+ PDstandardNth2gt23 = PDstandardNthfdOrder22(&gt23[index]);
+ PDstandardNth3gt23 = PDstandardNthfdOrder23(&gt23[index]);
+ PDstandardNth1gt33 = PDstandardNthfdOrder21(&gt33[index]);
+ PDstandardNth2gt33 = PDstandardNthfdOrder22(&gt33[index]);
+ PDstandardNth3gt33 = PDstandardNthfdOrder23(&gt33[index]);
+ PDstandardNth1phi = PDstandardNthfdOrder21(&phi[index]);
+ PDstandardNth2phi = PDstandardNthfdOrder22(&phi[index]);
+ PDstandardNth3phi = PDstandardNthfdOrder23(&phi[index]);
+ PDstandardNth1trK = PDstandardNthfdOrder21(&trK[index]);
+ PDstandardNth2trK = PDstandardNthfdOrder22(&trK[index]);
+ PDstandardNth3trK = PDstandardNthfdOrder23(&trK[index]);
+ break;
+
+ case 4:
+ PDstandardNth1At11 = PDstandardNthfdOrder41(&At11[index]);
+ PDstandardNth2At11 = PDstandardNthfdOrder42(&At11[index]);
+ PDstandardNth3At11 = PDstandardNthfdOrder43(&At11[index]);
+ PDstandardNth1At12 = PDstandardNthfdOrder41(&At12[index]);
+ PDstandardNth2At12 = PDstandardNthfdOrder42(&At12[index]);
+ PDstandardNth3At12 = PDstandardNthfdOrder43(&At12[index]);
+ PDstandardNth1At13 = PDstandardNthfdOrder41(&At13[index]);
+ PDstandardNth2At13 = PDstandardNthfdOrder42(&At13[index]);
+ PDstandardNth3At13 = PDstandardNthfdOrder43(&At13[index]);
+ PDstandardNth1At22 = PDstandardNthfdOrder41(&At22[index]);
+ PDstandardNth2At22 = PDstandardNthfdOrder42(&At22[index]);
+ PDstandardNth3At22 = PDstandardNthfdOrder43(&At22[index]);
+ PDstandardNth1At23 = PDstandardNthfdOrder41(&At23[index]);
+ PDstandardNth2At23 = PDstandardNthfdOrder42(&At23[index]);
+ PDstandardNth3At23 = PDstandardNthfdOrder43(&At23[index]);
+ PDstandardNth1At33 = PDstandardNthfdOrder41(&At33[index]);
+ PDstandardNth2At33 = PDstandardNthfdOrder42(&At33[index]);
+ PDstandardNth3At33 = PDstandardNthfdOrder43(&At33[index]);
+ PDstandardNth1gt11 = PDstandardNthfdOrder41(&gt11[index]);
+ PDstandardNth2gt11 = PDstandardNthfdOrder42(&gt11[index]);
+ PDstandardNth3gt11 = PDstandardNthfdOrder43(&gt11[index]);
+ PDstandardNth1gt12 = PDstandardNthfdOrder41(&gt12[index]);
+ PDstandardNth2gt12 = PDstandardNthfdOrder42(&gt12[index]);
+ PDstandardNth3gt12 = PDstandardNthfdOrder43(&gt12[index]);
+ PDstandardNth1gt13 = PDstandardNthfdOrder41(&gt13[index]);
+ PDstandardNth2gt13 = PDstandardNthfdOrder42(&gt13[index]);
+ PDstandardNth3gt13 = PDstandardNthfdOrder43(&gt13[index]);
+ PDstandardNth1gt22 = PDstandardNthfdOrder41(&gt22[index]);
+ PDstandardNth2gt22 = PDstandardNthfdOrder42(&gt22[index]);
+ PDstandardNth3gt22 = PDstandardNthfdOrder43(&gt22[index]);
+ PDstandardNth1gt23 = PDstandardNthfdOrder41(&gt23[index]);
+ PDstandardNth2gt23 = PDstandardNthfdOrder42(&gt23[index]);
+ PDstandardNth3gt23 = PDstandardNthfdOrder43(&gt23[index]);
+ PDstandardNth1gt33 = PDstandardNthfdOrder41(&gt33[index]);
+ PDstandardNth2gt33 = PDstandardNthfdOrder42(&gt33[index]);
+ PDstandardNth3gt33 = PDstandardNthfdOrder43(&gt33[index]);
+ PDstandardNth1phi = PDstandardNthfdOrder41(&phi[index]);
+ PDstandardNth2phi = PDstandardNthfdOrder42(&phi[index]);
+ PDstandardNth3phi = PDstandardNthfdOrder43(&phi[index]);
+ PDstandardNth1trK = PDstandardNthfdOrder41(&trK[index]);
+ PDstandardNth2trK = PDstandardNthfdOrder42(&trK[index]);
+ PDstandardNth3trK = PDstandardNthfdOrder43(&trK[index]);
+ break;
+
+ case 6:
+ PDstandardNth1At11 = PDstandardNthfdOrder61(&At11[index]);
+ PDstandardNth2At11 = PDstandardNthfdOrder62(&At11[index]);
+ PDstandardNth3At11 = PDstandardNthfdOrder63(&At11[index]);
+ PDstandardNth1At12 = PDstandardNthfdOrder61(&At12[index]);
+ PDstandardNth2At12 = PDstandardNthfdOrder62(&At12[index]);
+ PDstandardNth3At12 = PDstandardNthfdOrder63(&At12[index]);
+ PDstandardNth1At13 = PDstandardNthfdOrder61(&At13[index]);
+ PDstandardNth2At13 = PDstandardNthfdOrder62(&At13[index]);
+ PDstandardNth3At13 = PDstandardNthfdOrder63(&At13[index]);
+ PDstandardNth1At22 = PDstandardNthfdOrder61(&At22[index]);
+ PDstandardNth2At22 = PDstandardNthfdOrder62(&At22[index]);
+ PDstandardNth3At22 = PDstandardNthfdOrder63(&At22[index]);
+ PDstandardNth1At23 = PDstandardNthfdOrder61(&At23[index]);
+ PDstandardNth2At23 = PDstandardNthfdOrder62(&At23[index]);
+ PDstandardNth3At23 = PDstandardNthfdOrder63(&At23[index]);
+ PDstandardNth1At33 = PDstandardNthfdOrder61(&At33[index]);
+ PDstandardNth2At33 = PDstandardNthfdOrder62(&At33[index]);
+ PDstandardNth3At33 = PDstandardNthfdOrder63(&At33[index]);
+ PDstandardNth1gt11 = PDstandardNthfdOrder61(&gt11[index]);
+ PDstandardNth2gt11 = PDstandardNthfdOrder62(&gt11[index]);
+ PDstandardNth3gt11 = PDstandardNthfdOrder63(&gt11[index]);
+ PDstandardNth1gt12 = PDstandardNthfdOrder61(&gt12[index]);
+ PDstandardNth2gt12 = PDstandardNthfdOrder62(&gt12[index]);
+ PDstandardNth3gt12 = PDstandardNthfdOrder63(&gt12[index]);
+ PDstandardNth1gt13 = PDstandardNthfdOrder61(&gt13[index]);
+ PDstandardNth2gt13 = PDstandardNthfdOrder62(&gt13[index]);
+ PDstandardNth3gt13 = PDstandardNthfdOrder63(&gt13[index]);
+ PDstandardNth1gt22 = PDstandardNthfdOrder61(&gt22[index]);
+ PDstandardNth2gt22 = PDstandardNthfdOrder62(&gt22[index]);
+ PDstandardNth3gt22 = PDstandardNthfdOrder63(&gt22[index]);
+ PDstandardNth1gt23 = PDstandardNthfdOrder61(&gt23[index]);
+ PDstandardNth2gt23 = PDstandardNthfdOrder62(&gt23[index]);
+ PDstandardNth3gt23 = PDstandardNthfdOrder63(&gt23[index]);
+ PDstandardNth1gt33 = PDstandardNthfdOrder61(&gt33[index]);
+ PDstandardNth2gt33 = PDstandardNthfdOrder62(&gt33[index]);
+ PDstandardNth3gt33 = PDstandardNthfdOrder63(&gt33[index]);
+ PDstandardNth1phi = PDstandardNthfdOrder61(&phi[index]);
+ PDstandardNth2phi = PDstandardNthfdOrder62(&phi[index]);
+ PDstandardNth3phi = PDstandardNthfdOrder63(&phi[index]);
+ PDstandardNth1trK = PDstandardNthfdOrder61(&trK[index]);
+ PDstandardNth2trK = PDstandardNthfdOrder62(&trK[index]);
+ PDstandardNth3trK = PDstandardNthfdOrder63(&trK[index]);
+ break;
+
+ case 8:
+ PDstandardNth1At11 = PDstandardNthfdOrder81(&At11[index]);
+ PDstandardNth2At11 = PDstandardNthfdOrder82(&At11[index]);
+ PDstandardNth3At11 = PDstandardNthfdOrder83(&At11[index]);
+ PDstandardNth1At12 = PDstandardNthfdOrder81(&At12[index]);
+ PDstandardNth2At12 = PDstandardNthfdOrder82(&At12[index]);
+ PDstandardNth3At12 = PDstandardNthfdOrder83(&At12[index]);
+ PDstandardNth1At13 = PDstandardNthfdOrder81(&At13[index]);
+ PDstandardNth2At13 = PDstandardNthfdOrder82(&At13[index]);
+ PDstandardNth3At13 = PDstandardNthfdOrder83(&At13[index]);
+ PDstandardNth1At22 = PDstandardNthfdOrder81(&At22[index]);
+ PDstandardNth2At22 = PDstandardNthfdOrder82(&At22[index]);
+ PDstandardNth3At22 = PDstandardNthfdOrder83(&At22[index]);
+ PDstandardNth1At23 = PDstandardNthfdOrder81(&At23[index]);
+ PDstandardNth2At23 = PDstandardNthfdOrder82(&At23[index]);
+ PDstandardNth3At23 = PDstandardNthfdOrder83(&At23[index]);
+ PDstandardNth1At33 = PDstandardNthfdOrder81(&At33[index]);
+ PDstandardNth2At33 = PDstandardNthfdOrder82(&At33[index]);
+ PDstandardNth3At33 = PDstandardNthfdOrder83(&At33[index]);
+ PDstandardNth1gt11 = PDstandardNthfdOrder81(&gt11[index]);
+ PDstandardNth2gt11 = PDstandardNthfdOrder82(&gt11[index]);
+ PDstandardNth3gt11 = PDstandardNthfdOrder83(&gt11[index]);
+ PDstandardNth1gt12 = PDstandardNthfdOrder81(&gt12[index]);
+ PDstandardNth2gt12 = PDstandardNthfdOrder82(&gt12[index]);
+ PDstandardNth3gt12 = PDstandardNthfdOrder83(&gt12[index]);
+ PDstandardNth1gt13 = PDstandardNthfdOrder81(&gt13[index]);
+ PDstandardNth2gt13 = PDstandardNthfdOrder82(&gt13[index]);
+ PDstandardNth3gt13 = PDstandardNthfdOrder83(&gt13[index]);
+ PDstandardNth1gt22 = PDstandardNthfdOrder81(&gt22[index]);
+ PDstandardNth2gt22 = PDstandardNthfdOrder82(&gt22[index]);
+ PDstandardNth3gt22 = PDstandardNthfdOrder83(&gt22[index]);
+ PDstandardNth1gt23 = PDstandardNthfdOrder81(&gt23[index]);
+ PDstandardNth2gt23 = PDstandardNthfdOrder82(&gt23[index]);
+ PDstandardNth3gt23 = PDstandardNthfdOrder83(&gt23[index]);
+ PDstandardNth1gt33 = PDstandardNthfdOrder81(&gt33[index]);
+ PDstandardNth2gt33 = PDstandardNthfdOrder82(&gt33[index]);
+ PDstandardNth3gt33 = PDstandardNthfdOrder83(&gt33[index]);
+ PDstandardNth1phi = PDstandardNthfdOrder81(&phi[index]);
+ PDstandardNth2phi = PDstandardNthfdOrder82(&phi[index]);
+ PDstandardNth3phi = PDstandardNthfdOrder83(&phi[index]);
+ PDstandardNth1trK = PDstandardNthfdOrder81(&trK[index]);
+ PDstandardNth2trK = PDstandardNthfdOrder82(&trK[index]);
+ PDstandardNth3trK = PDstandardNthfdOrder83(&trK[index]);
+ break;
+ }
/* Calculate temporaries and grid functions */
+ CCTK_REAL_VEC JacPDstandardNth1At11;
+ CCTK_REAL_VEC JacPDstandardNth1At12;
+ CCTK_REAL_VEC JacPDstandardNth1At13;
+ CCTK_REAL_VEC JacPDstandardNth1At22;
+ CCTK_REAL_VEC JacPDstandardNth1At23;
+ CCTK_REAL_VEC JacPDstandardNth1At33;
+ CCTK_REAL_VEC JacPDstandardNth1gt11;
+ CCTK_REAL_VEC JacPDstandardNth1gt12;
+ CCTK_REAL_VEC JacPDstandardNth1gt13;
+ CCTK_REAL_VEC JacPDstandardNth1gt22;
+ CCTK_REAL_VEC JacPDstandardNth1gt23;
+ CCTK_REAL_VEC JacPDstandardNth1gt33;
+ CCTK_REAL_VEC JacPDstandardNth1phi;
+ CCTK_REAL_VEC JacPDstandardNth1trK;
+ CCTK_REAL_VEC JacPDstandardNth2At11;
+ CCTK_REAL_VEC JacPDstandardNth2At12;
+ CCTK_REAL_VEC JacPDstandardNth2At13;
+ CCTK_REAL_VEC JacPDstandardNth2At22;
+ CCTK_REAL_VEC JacPDstandardNth2At23;
+ CCTK_REAL_VEC JacPDstandardNth2At33;
+ CCTK_REAL_VEC JacPDstandardNth2gt11;
+ CCTK_REAL_VEC JacPDstandardNth2gt12;
+ CCTK_REAL_VEC JacPDstandardNth2gt13;
+ CCTK_REAL_VEC JacPDstandardNth2gt22;
+ CCTK_REAL_VEC JacPDstandardNth2gt23;
+ CCTK_REAL_VEC JacPDstandardNth2gt33;
+ CCTK_REAL_VEC JacPDstandardNth2phi;
+ CCTK_REAL_VEC JacPDstandardNth2trK;
+ CCTK_REAL_VEC JacPDstandardNth3At11;
+ CCTK_REAL_VEC JacPDstandardNth3At12;
+ CCTK_REAL_VEC JacPDstandardNth3At13;
+ CCTK_REAL_VEC JacPDstandardNth3At22;
+ CCTK_REAL_VEC JacPDstandardNth3At23;
+ CCTK_REAL_VEC JacPDstandardNth3At33;
+ CCTK_REAL_VEC JacPDstandardNth3gt11;
+ CCTK_REAL_VEC JacPDstandardNth3gt12;
+ CCTK_REAL_VEC JacPDstandardNth3gt13;
+ CCTK_REAL_VEC JacPDstandardNth3gt22;
+ CCTK_REAL_VEC JacPDstandardNth3gt23;
+ CCTK_REAL_VEC JacPDstandardNth3gt33;
+ CCTK_REAL_VEC JacPDstandardNth3phi;
+ CCTK_REAL_VEC JacPDstandardNth3trK;
+
+ if (use_jacobian)
+ {
+ JacPDstandardNth1At11 =
+ kmadd(J11L,PDstandardNth1At11,kmadd(J21L,PDstandardNth2At11,kmul(J31L,PDstandardNth3At11)));
+
+ JacPDstandardNth1At12 =
+ kmadd(J11L,PDstandardNth1At12,kmadd(J21L,PDstandardNth2At12,kmul(J31L,PDstandardNth3At12)));
+
+ JacPDstandardNth1At13 =
+ kmadd(J11L,PDstandardNth1At13,kmadd(J21L,PDstandardNth2At13,kmul(J31L,PDstandardNth3At13)));
+
+ JacPDstandardNth1At22 =
+ kmadd(J11L,PDstandardNth1At22,kmadd(J21L,PDstandardNth2At22,kmul(J31L,PDstandardNth3At22)));
+
+ JacPDstandardNth1At23 =
+ kmadd(J11L,PDstandardNth1At23,kmadd(J21L,PDstandardNth2At23,kmul(J31L,PDstandardNth3At23)));
+
+ JacPDstandardNth1At33 =
+ kmadd(J11L,PDstandardNth1At33,kmadd(J21L,PDstandardNth2At33,kmul(J31L,PDstandardNth3At33)));
+
+ 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)));
+
+ JacPDstandardNth2At11 =
+ kmadd(J12L,PDstandardNth1At11,kmadd(J22L,PDstandardNth2At11,kmul(J32L,PDstandardNth3At11)));
+
+ JacPDstandardNth2At12 =
+ kmadd(J12L,PDstandardNth1At12,kmadd(J22L,PDstandardNth2At12,kmul(J32L,PDstandardNth3At12)));
+
+ JacPDstandardNth2At13 =
+ kmadd(J12L,PDstandardNth1At13,kmadd(J22L,PDstandardNth2At13,kmul(J32L,PDstandardNth3At13)));
+
+ JacPDstandardNth2At22 =
+ kmadd(J12L,PDstandardNth1At22,kmadd(J22L,PDstandardNth2At22,kmul(J32L,PDstandardNth3At22)));
+
+ JacPDstandardNth2At23 =
+ kmadd(J12L,PDstandardNth1At23,kmadd(J22L,PDstandardNth2At23,kmul(J32L,PDstandardNth3At23)));
+
+ JacPDstandardNth2At33 =
+ kmadd(J12L,PDstandardNth1At33,kmadd(J22L,PDstandardNth2At33,kmul(J32L,PDstandardNth3At33)));
+
+ 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)));
+
+ JacPDstandardNth3At11 =
+ kmadd(J13L,PDstandardNth1At11,kmadd(J23L,PDstandardNth2At11,kmul(J33L,PDstandardNth3At11)));
+
+ JacPDstandardNth3At12 =
+ kmadd(J13L,PDstandardNth1At12,kmadd(J23L,PDstandardNth2At12,kmul(J33L,PDstandardNth3At12)));
+
+ JacPDstandardNth3At13 =
+ kmadd(J13L,PDstandardNth1At13,kmadd(J23L,PDstandardNth2At13,kmul(J33L,PDstandardNth3At13)));
+
+ JacPDstandardNth3At22 =
+ kmadd(J13L,PDstandardNth1At22,kmadd(J23L,PDstandardNth2At22,kmul(J33L,PDstandardNth3At22)));
+
+ JacPDstandardNth3At23 =
+ kmadd(J13L,PDstandardNth1At23,kmadd(J23L,PDstandardNth2At23,kmul(J33L,PDstandardNth3At23)));
+
+ JacPDstandardNth3At33 =
+ kmadd(J13L,PDstandardNth1At33,kmadd(J23L,PDstandardNth2At33,kmul(J33L,PDstandardNth3At33)));
+
+ 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)));
+ }
+ else
+ {
+ JacPDstandardNth1At11 = PDstandardNth1At11;
+
+ JacPDstandardNth1At12 = PDstandardNth1At12;
+
+ JacPDstandardNth1At13 = PDstandardNth1At13;
+
+ JacPDstandardNth1At22 = PDstandardNth1At22;
+
+ JacPDstandardNth1At23 = PDstandardNth1At23;
+
+ JacPDstandardNth1At33 = PDstandardNth1At33;
+
+ JacPDstandardNth1gt11 = PDstandardNth1gt11;
+
+ JacPDstandardNth1gt12 = PDstandardNth1gt12;
+
+ JacPDstandardNth1gt13 = PDstandardNth1gt13;
+
+ JacPDstandardNth1gt22 = PDstandardNth1gt22;
+
+ JacPDstandardNth1gt23 = PDstandardNth1gt23;
+
+ JacPDstandardNth1gt33 = PDstandardNth1gt33;
+
+ JacPDstandardNth1phi = PDstandardNth1phi;
+
+ JacPDstandardNth1trK = PDstandardNth1trK;
+
+ JacPDstandardNth2At11 = PDstandardNth2At11;
+
+ JacPDstandardNth2At12 = PDstandardNth2At12;
+
+ JacPDstandardNth2At13 = PDstandardNth2At13;
+
+ JacPDstandardNth2At22 = PDstandardNth2At22;
+
+ JacPDstandardNth2At23 = PDstandardNth2At23;
+
+ JacPDstandardNth2At33 = PDstandardNth2At33;
+
+ JacPDstandardNth2gt11 = PDstandardNth2gt11;
+
+ JacPDstandardNth2gt12 = PDstandardNth2gt12;
+
+ JacPDstandardNth2gt13 = PDstandardNth2gt13;
+
+ JacPDstandardNth2gt22 = PDstandardNth2gt22;
+
+ JacPDstandardNth2gt23 = PDstandardNth2gt23;
+
+ JacPDstandardNth2gt33 = PDstandardNth2gt33;
+
+ JacPDstandardNth2phi = PDstandardNth2phi;
+
+ JacPDstandardNth2trK = PDstandardNth2trK;
+
+ JacPDstandardNth3At11 = PDstandardNth3At11;
+
+ JacPDstandardNth3At12 = PDstandardNth3At12;
+
+ JacPDstandardNth3At13 = PDstandardNth3At13;
+
+ JacPDstandardNth3At22 = PDstandardNth3At22;
+
+ JacPDstandardNth3At23 = PDstandardNth3At23;
+
+ JacPDstandardNth3At33 = PDstandardNth3At33;
+
+ JacPDstandardNth3gt11 = PDstandardNth3gt11;
+
+ JacPDstandardNth3gt12 = PDstandardNth3gt12;
+
+ JacPDstandardNth3gt13 = PDstandardNth3gt13;
+
+ JacPDstandardNth3gt22 = PDstandardNth3gt22;
+
+ JacPDstandardNth3gt23 = PDstandardNth3gt23;
+
+ JacPDstandardNth3gt33 = PDstandardNth3gt33;
+
+ JacPDstandardNth3phi = PDstandardNth3phi;
+
+ JacPDstandardNth3trK = PDstandardNth3trK;
+ }
+
CCTK_REAL_VEC detgt = ToReal(1);
CCTK_REAL_VEC gtu11 = kmul(INV(detgt),kmsub(gt22L,gt33L,SQR(gt23L)));
@@ -235,50 +813,50 @@ static void ML_BSSN_constraints2_Body(cGH const * restrict const cctkGH, int con
CCTK_REAL_VEC gtu33 = kmul(INV(detgt),kmsub(gt11L,gt22L,SQR(gt12L)));
- CCTK_REAL_VEC Gtl111 = kmul(PDstandardNth1gt11,ToReal(0.5));
+ CCTK_REAL_VEC Gtl111 = kmul(JacPDstandardNth1gt11,ToReal(0.5));
- CCTK_REAL_VEC Gtl112 = kmul(PDstandardNth2gt11,ToReal(0.5));
+ CCTK_REAL_VEC Gtl112 = kmul(JacPDstandardNth2gt11,ToReal(0.5));
- CCTK_REAL_VEC Gtl113 = kmul(PDstandardNth3gt11,ToReal(0.5));
+ CCTK_REAL_VEC Gtl113 = kmul(JacPDstandardNth3gt11,ToReal(0.5));
CCTK_REAL_VEC Gtl122 =
- kmadd(PDstandardNth1gt22,ToReal(-0.5),PDstandardNth2gt12);
+ kmadd(JacPDstandardNth1gt22,ToReal(-0.5),JacPDstandardNth2gt12);
CCTK_REAL_VEC Gtl123 =
- kmul(kadd(PDstandardNth2gt13,ksub(PDstandardNth3gt12,PDstandardNth1gt23)),ToReal(0.5));
+ kmul(kadd(JacPDstandardNth2gt13,ksub(JacPDstandardNth3gt12,JacPDstandardNth1gt23)),ToReal(0.5));
CCTK_REAL_VEC Gtl133 =
- kmadd(PDstandardNth1gt33,ToReal(-0.5),PDstandardNth3gt13);
+ kmadd(JacPDstandardNth1gt33,ToReal(-0.5),JacPDstandardNth3gt13);
CCTK_REAL_VEC Gtl211 =
- kmadd(PDstandardNth2gt11,ToReal(-0.5),PDstandardNth1gt12);
+ kmadd(JacPDstandardNth2gt11,ToReal(-0.5),JacPDstandardNth1gt12);
- CCTK_REAL_VEC Gtl212 = kmul(PDstandardNth1gt22,ToReal(0.5));
+ CCTK_REAL_VEC Gtl212 = kmul(JacPDstandardNth1gt22,ToReal(0.5));
CCTK_REAL_VEC Gtl213 =
- kmul(kadd(PDstandardNth1gt23,ksub(PDstandardNth3gt12,PDstandardNth2gt13)),ToReal(0.5));
+ kmul(kadd(JacPDstandardNth1gt23,ksub(JacPDstandardNth3gt12,JacPDstandardNth2gt13)),ToReal(0.5));
- CCTK_REAL_VEC Gtl222 = kmul(PDstandardNth2gt22,ToReal(0.5));
+ CCTK_REAL_VEC Gtl222 = kmul(JacPDstandardNth2gt22,ToReal(0.5));
- CCTK_REAL_VEC Gtl223 = kmul(PDstandardNth3gt22,ToReal(0.5));
+ CCTK_REAL_VEC Gtl223 = kmul(JacPDstandardNth3gt22,ToReal(0.5));
CCTK_REAL_VEC Gtl233 =
- kmadd(PDstandardNth2gt33,ToReal(-0.5),PDstandardNth3gt23);
+ kmadd(JacPDstandardNth2gt33,ToReal(-0.5),JacPDstandardNth3gt23);
CCTK_REAL_VEC Gtl311 =
- kmadd(PDstandardNth3gt11,ToReal(-0.5),PDstandardNth1gt13);
+ kmadd(JacPDstandardNth3gt11,ToReal(-0.5),JacPDstandardNth1gt13);
CCTK_REAL_VEC Gtl312 =
- kmul(kadd(PDstandardNth1gt23,ksub(PDstandardNth2gt13,PDstandardNth3gt12)),ToReal(0.5));
+ kmul(kadd(JacPDstandardNth1gt23,ksub(JacPDstandardNth2gt13,JacPDstandardNth3gt12)),ToReal(0.5));
- CCTK_REAL_VEC Gtl313 = kmul(PDstandardNth1gt33,ToReal(0.5));
+ CCTK_REAL_VEC Gtl313 = kmul(JacPDstandardNth1gt33,ToReal(0.5));
CCTK_REAL_VEC Gtl322 =
- kmadd(PDstandardNth3gt22,ToReal(-0.5),PDstandardNth2gt23);
+ kmadd(JacPDstandardNth3gt22,ToReal(-0.5),JacPDstandardNth2gt23);
- CCTK_REAL_VEC Gtl323 = kmul(PDstandardNth2gt33,ToReal(0.5));
+ CCTK_REAL_VEC Gtl323 = kmul(JacPDstandardNth2gt33,ToReal(0.5));
- CCTK_REAL_VEC Gtl333 = kmul(PDstandardNth3gt33,ToReal(0.5));
+ CCTK_REAL_VEC Gtl333 = kmul(JacPDstandardNth3gt33,ToReal(0.5));
CCTK_REAL_VEC Gt111 =
kmadd(Gtl111,gtu11,kmadd(Gtl211,gtu12,kmul(Gtl311,gtu13)));
@@ -337,11 +915,11 @@ static void ML_BSSN_constraints2_Body(cGH const * restrict const cctkGH, int con
CCTK_REAL_VEC fac1 =
IfThen(conformalMethod,kmul(INV(phiL),ToReal(-0.5)),ToReal(1));
- CCTK_REAL_VEC cdphi1 = kmul(fac1,PDstandardNth1phi);
+ CCTK_REAL_VEC cdphi1 = kmul(fac1,JacPDstandardNth1phi);
- CCTK_REAL_VEC cdphi2 = kmul(fac1,PDstandardNth2phi);
+ CCTK_REAL_VEC cdphi2 = kmul(fac1,JacPDstandardNth2phi);
- CCTK_REAL_VEC cdphi3 = kmul(fac1,PDstandardNth3phi);
+ CCTK_REAL_VEC cdphi3 = kmul(fac1,JacPDstandardNth3phi);
CCTK_REAL_VEC S1 =
kmul(INV(alphaL),kmadd(beta1L,eTxxL,kmadd(beta2L,eTxyL,kmsub(beta3L,eTxzL,eTtxL))));
@@ -353,13 +931,13 @@ static void ML_BSSN_constraints2_Body(cGH const * restrict const cctkGH, int con
kmul(INV(alphaL),kmadd(beta1L,eTxzL,kmadd(beta2L,eTyzL,kmsub(beta3L,eTzzL,eTtzL))));
CCTK_REAL_VEC M1L =
- kmadd(gtu11,PDstandardNth1At11,kmadd(gtu22,PDstandardNth2At12,kmadd(gtu33,PDstandardNth3At13,kmadd(S1,ToReal(-25.13274122871834590770114706623602307358),kmadd(kmadd(kmadd(At12L,Gt211,kmul(At13L,Gt311)),gtu11,kmul(At11L,kmul(Gt123,gtu23))),ToReal(-2.),kmadd(kmadd(kmadd(At22L,Gt212,kmadd(At12L,kadd(Gt112,Gt222),kmul(At23L,Gt312))),gtu22,kmadd(kmadd(At13L,Gt112,kmadd(At12L,Gt113,kmul(At23L,Gt212))),gtu23,kmul(kmadd(At13L,Gt113,kmadd(At23L,Gt213,kmul(At33L,Gt313))),gtu33))),ToReal(-1.),kmadd(gtu12,kadd(PDstandardNth1At12,kadd(PDstandardNth2At11,kmadd(kmadd(At11L,Gt112,kmadd(At12L,Gt212,kmul(At13L,Gt312))),ToReal(-3.),kmul(kmadd(At22L,Gt211,kmul(At23L,Gt311)),ToReal(-1.))))),kmadd(gtu13,kadd(PDstandardNth1At13,kadd(PDstandardNth3At11,kmadd(kmadd(At11L,Gt113,kmul(At13L,Gt313)),ToReal(-3.),kmul(kmadd(At23L,Gt211,kmul(At33L,Gt311)),ToReal(-1.))))),kmadd(gtu23,kadd(PDstandardNth2At13,kadd(PDstandardNth3At12,kmadd(kmadd(At12L,Gt223,kmul(At13L,Gt323)),ToReal(-2.),kmul(kmadd(At22L,Gt213,kmadd(At33L,Gt312,kmul(At23L,Gt313))),ToReal(-1.))))),kmadd(PDstandardNth1trK,ToReal(-0.6666666666666666666666666666666666666667),kmadd(At11L,kmadd(kmadd(Gt122,gtu22,kmul(Gt133,gtu33)),ToReal(-1.),kmadd(kmadd(cdphi2,gtu12,kmul(cdphi3,gtu13)),ToReal(6.),kmul(gtu11,kmadd(Gt111,ToReal(-2.),kmul(cdphi1,ToReal(6.)))))),kmadd(At12L,kmadd(Gt213,kmul(gtu13,ToReal(-3.)),kmadd(Gt233,kmul(gtu33,ToReal(-1.)),kmadd(kmadd(cdphi2,gtu22,kmul(cdphi3,gtu23)),ToReal(6.),kmul(gtu12,kmadd(Gt111,ToReal(-1.),kmul(cdphi1,ToReal(6.))))))),kmul(At13L,kmadd(kmadd(Gt322,gtu22,kmul(Gt333,gtu33)),ToReal(-1.),kmadd(kmadd(cdphi2,gtu23,kmul(cdphi3,gtu33)),ToReal(6.),kmul(gtu13,kmadd(Gt111,ToReal(-1.),kmul(cdphi1,ToReal(6.)))))))))))))))))));
+ kmadd(gtu11,JacPDstandardNth1At11,kmadd(gtu22,JacPDstandardNth2At12,kmadd(gtu23,kadd(JacPDstandardNth2At13,JacPDstandardNth3At12),kmadd(gtu33,JacPDstandardNth3At13,kmadd(S1,ToReal(-25.13274122871834590770114706623602307358),kmadd(kmadd(kmadd(At22L,Gt212,kmul(At23L,Gt312)),gtu22,kmadd(kmadd(At13L,Gt112,kmadd(At22L,Gt213,kmadd(At33L,Gt312,kmul(At23L,kadd(Gt212,Gt313))))),gtu23,kmul(kmadd(At13L,Gt113,kmadd(At23L,Gt213,kmul(At33L,Gt313))),gtu33))),ToReal(-1.),kmadd(gtu12,kadd(JacPDstandardNth1At12,kadd(JacPDstandardNth2At11,kmadd(At13L,kmul(Gt312,ToReal(-3.)),kmul(At22L,kmul(Gt211,ToReal(-1.)))))),kmadd(gtu13,kadd(JacPDstandardNth1At13,kadd(JacPDstandardNth3At11,kmadd(At13L,kmul(Gt313,ToReal(-3.)),kmul(At23L,kmul(Gt211,ToReal(-1.)))))),kmadd(Gt311,kmadd(At13L,kmul(gtu11,ToReal(-2.)),kmul(kmadd(At23L,gtu12,kmul(At33L,gtu13)),ToReal(-1.))),kmadd(JacPDstandardNth1trK,ToReal(-0.6666666666666666666666666666666666666667),kmadd(At13L,kmadd(kmadd(Gt322,gtu22,kmul(Gt333,gtu33)),ToReal(-1.),kmadd(cdphi3,kmul(gtu33,ToReal(6.)),kmadd(gtu13,kmadd(Gt111,ToReal(-1.),kmul(cdphi1,ToReal(6.))),kmul(gtu23,kmadd(Gt323,ToReal(-2.),kmul(cdphi2,ToReal(6.))))))),kmadd(At11L,kmadd(Gt123,kmul(gtu23,ToReal(-2.)),kmadd(kmadd(Gt122,gtu22,kmul(Gt133,gtu33)),ToReal(-1.),kmadd(gtu11,kmadd(Gt111,ToReal(-2.),kmul(cdphi1,ToReal(6.))),kmadd(gtu12,kmadd(Gt112,ToReal(-3.),kmul(cdphi2,ToReal(6.))),kmul(gtu13,kmadd(Gt113,ToReal(-3.),kmul(cdphi3,ToReal(6.)))))))),kmul(At12L,kmadd(Gt213,kmul(gtu13,ToReal(-3.)),kmadd(kmadd(Gt211,gtu11,kmul(Gt223,gtu23)),ToReal(-2.),kmadd(Gt233,kmul(gtu33,ToReal(-1.)),kmadd(gtu12,kmadd(Gt212,ToReal(-3.),kmadd(Gt111,ToReal(-1.),kmul(cdphi1,ToReal(6.)))),kmadd(gtu22,kmadd(kadd(Gt112,Gt222),ToReal(-1.),kmul(cdphi2,ToReal(6.))),kmul(gtu23,kmadd(Gt113,ToReal(-1.),kmul(cdphi3,ToReal(6.))))))))))))))))))))));
CCTK_REAL_VEC M2L =
- kmadd(gtu11,PDstandardNth1At12,kmadd(gtu22,PDstandardNth2At22,kmadd(gtu33,PDstandardNth3At23,kmadd(S2,ToReal(-25.13274122871834590770114706623602307358),kmadd(kmadd(kmadd(At11L,Gt112,kmadd(At22L,Gt211,kmadd(At12L,Gt212,kmadd(At23L,Gt311,kmul(At13L,Gt312))))),gtu11,kmadd(Gt122,kmadd(At11L,gtu12,kmul(At13L,gtu23)),kmadd(kmadd(At23L,Gt223,kmul(At33L,Gt323)),gtu33,kmul(At13L,kmadd(Gt112,gtu13,kmul(Gt123,gtu33)))))),ToReal(-1.),kmadd(gtu23,kadd(PDstandardNth2At23,kadd(PDstandardNth3At22,kmadd(kmadd(At22L,Gt223,kmul(At23L,Gt323)),ToReal(-3.),kmul(kmadd(At23L,Gt222,kmul(At33L,Gt322)),ToReal(-1.))))),kmadd(PDstandardNth2trK,ToReal(-0.6666666666666666666666666666666666666667),kmadd(At23L,kmadd(Gt322,kmul(gtu22,ToReal(-2.)),kmadd(Gt333,kmul(gtu33,ToReal(-1.)),kmul(kmadd(cdphi2,gtu23,kmul(cdphi3,gtu33)),ToReal(6.)))),kmadd(gtu12,kadd(PDstandardNth1At22,kadd(PDstandardNth2At12,kmadd(At23L,kmul(Gt312,ToReal(-3.)),kmadd(At13L,kmul(Gt322,ToReal(-1.)),kmadd(At12L,kmadd(Gt112,ToReal(-3.),kmul(Gt222,ToReal(-1.))),kmul(At22L,kmadd(Gt212,ToReal(-3.),kmul(cdphi1,ToReal(6.))))))))),kmadd(At12L,kmadd(Gt123,kmul(gtu23,ToReal(-3.)),kmadd(Gt122,kmul(gtu22,ToReal(-2.)),kmadd(Gt133,kmul(gtu33,ToReal(-1.)),kmadd(kmadd(cdphi2,gtu12,kmul(cdphi3,gtu13)),ToReal(6.),kmul(gtu11,kmadd(Gt111,ToReal(-1.),kmul(cdphi1,ToReal(6.)))))))),kmadd(gtu13,kadd(PDstandardNth1At23,kadd(PDstandardNth3At12,kmadd(kmadd(At12L,Gt113,kmul(At22L,Gt213)),ToReal(-2.),kmadd(kmadd(At11L,Gt123,kmadd(At12L,Gt223,kmadd(At33L,Gt312,kmul(At13L,Gt323)))),ToReal(-1.),kmul(At23L,kmadd(Gt313,ToReal(-2.),kmadd(Gt212,ToReal(-1.),kmul(cdphi1,ToReal(6.))))))))),kmul(At22L,kmadd(Gt233,kmul(gtu33,ToReal(-1.)),kmadd(cdphi3,kmul(gtu23,ToReal(6.)),kmul(gtu22,kmadd(Gt222,ToReal(-2.),kmul(cdphi2,ToReal(6.))))))))))))))))));
+ kmadd(gtu11,JacPDstandardNth1At12,kmadd(gtu12,kadd(JacPDstandardNth1At22,JacPDstandardNth2At12),kmadd(gtu22,JacPDstandardNth2At22,kmadd(gtu33,JacPDstandardNth3At23,kmadd(S2,ToReal(-25.13274122871834590770114706623602307358),kmadd(kmadd(kmadd(At22L,Gt211,kmadd(At23L,Gt311,kmul(At13L,Gt312))),gtu11,kmadd(kmadd(At23L,Gt212,kmul(At33L,Gt312)),gtu13,kmadd(At11L,kmadd(Gt112,gtu11,kmadd(Gt122,gtu12,kmul(Gt123,gtu13))),kmadd(kmadd(At23L,Gt223,kmul(At33L,Gt323)),gtu33,kmul(At13L,kmadd(Gt322,gtu12,kmadd(Gt112,gtu13,kmadd(Gt122,gtu23,kmul(Gt123,gtu33))))))))),ToReal(-1.),kmadd(gtu23,kadd(JacPDstandardNth2At23,kadd(JacPDstandardNth3At22,kmadd(kmadd(At22L,Gt223,kmul(At23L,Gt323)),ToReal(-3.),kmul(kmadd(At23L,Gt222,kmul(At33L,Gt322)),ToReal(-1.))))),kmadd(gtu13,kadd(JacPDstandardNth1At23,kadd(JacPDstandardNth3At12,kmadd(At23L,kmul(Gt313,ToReal(-2.)),kmul(At13L,kmul(Gt323,ToReal(-1.)))))),kmadd(JacPDstandardNth2trK,ToReal(-0.6666666666666666666666666666666666666667),kmadd(At23L,kmadd(Gt312,kmul(gtu12,ToReal(-3.)),kmadd(Gt322,kmul(gtu22,ToReal(-2.)),kmadd(Gt333,kmul(gtu33,ToReal(-1.)),kmul(kmadd(cdphi1,gtu13,kmadd(cdphi2,gtu23,kmul(cdphi3,gtu33))),ToReal(6.))))),kmadd(At22L,kmadd(kmadd(Gt213,gtu13,kmul(Gt222,gtu22)),ToReal(-2.),kmadd(Gt233,kmul(gtu33,ToReal(-1.)),kmadd(kmadd(cdphi2,gtu22,kmul(cdphi3,gtu23)),ToReal(6.),kmul(gtu12,kmadd(Gt212,ToReal(-3.),kmul(cdphi1,ToReal(6.))))))),kmul(At12L,kmadd(Gt123,kmul(gtu23,ToReal(-3.)),kmadd(Gt122,kmul(gtu22,ToReal(-2.)),kmadd(Gt133,kmul(gtu33,ToReal(-1.)),kmadd(gtu11,kmadd(kadd(Gt111,Gt212),ToReal(-1.),kmul(cdphi1,ToReal(6.))),kmadd(gtu12,kmadd(Gt112,ToReal(-3.),kmadd(Gt222,ToReal(-1.),kmul(cdphi2,ToReal(6.)))),kmul(gtu13,kmadd(Gt113,ToReal(-2.),kmadd(Gt223,ToReal(-1.),kmul(cdphi3,ToReal(6.))))))))))))))))))))));
CCTK_REAL_VEC M3L =
- kmadd(gtu11,PDstandardNth1At13,kmadd(gtu22,PDstandardNth2At23,kmadd(S3,ToReal(-25.13274122871834590770114706623602307358),kmadd(kmadd(kmadd(At11L,Gt113,kmadd(At23L,Gt211,kmadd(At12L,Gt213,kmul(At33L,Gt311)))),gtu11,kmadd(kmadd(At22L,Gt223,kmadd(At33L,Gt322,kmul(At23L,Gt323))),gtu22,kmadd(At12L,kmadd(Gt113,gtu12,kmul(Gt123,gtu22)),kmul(Gt133,kmadd(At11L,gtu13,kmul(At12L,gtu23)))))),ToReal(-1.),kmadd(PDstandardNth3trK,ToReal(-0.6666666666666666666666666666666666666667),kmadd(gtu13,kadd(PDstandardNth1At33,kadd(PDstandardNth3At13,kmadd(kmadd(At13L,Gt113,kmul(At23L,Gt213)),ToReal(-3.),kmadd(kmadd(At12L,Gt233,kmul(At13L,Gt333)),ToReal(-1.),kmul(At33L,kmadd(Gt313,ToReal(-3.),kmul(cdphi1,ToReal(6.)))))))),kmadd(gtu12,kadd(PDstandardNth1At23,kadd(PDstandardNth2At13,kmadd(kmadd(At13L,Gt112,kmul(At33L,Gt312)),ToReal(-2.),kmadd(kmadd(At11L,Gt123,kmadd(At22L,Gt213,kmadd(At12L,Gt223,kmul(At13L,Gt323)))),ToReal(-1.),kmul(At23L,kmadd(Gt212,ToReal(-2.),kmadd(Gt313,ToReal(-1.),kmul(cdphi1,ToReal(6.))))))))),kmadd(At13L,kmadd(Gt123,kmul(gtu23,ToReal(-3.)),kmadd(Gt133,kmul(gtu33,ToReal(-2.)),kmadd(Gt122,kmul(gtu22,ToReal(-1.)),kmadd(kmadd(cdphi2,gtu12,kmul(cdphi3,gtu13)),ToReal(6.),kmul(gtu11,kmadd(kadd(Gt111,Gt313),ToReal(-1.),kmul(cdphi1,ToReal(6.)))))))),kmadd(gtu23,kadd(PDstandardNth2At33,kadd(PDstandardNth3At23,kmadd(At22L,kmul(Gt233,ToReal(-1.)),kmadd(At23L,kmadd(Gt223,ToReal(-3.),kmul(Gt333,ToReal(-1.))),kmul(At33L,kmadd(Gt323,ToReal(-3.),kmul(cdphi2,ToReal(6.)))))))),kmadd(At23L,kmadd(Gt233,kmul(gtu33,ToReal(-2.)),kmadd(cdphi3,kmul(gtu23,ToReal(6.)),kmul(gtu22,kmadd(Gt222,ToReal(-1.),kmul(cdphi2,ToReal(6.)))))),kmul(gtu33,kmadd(At33L,kmadd(Gt333,ToReal(-2.),kmul(cdphi3,ToReal(6.))),PDstandardNth3At33))))))))))));
+ kmadd(gtu11,JacPDstandardNth1At13,kmadd(gtu22,JacPDstandardNth2At23,kmadd(gtu13,kadd(JacPDstandardNth1At33,JacPDstandardNth3At13),kmadd(gtu33,JacPDstandardNth3At33,kmadd(S3,ToReal(-25.13274122871834590770114706623602307358),kmadd(kmadd(kmadd(At23L,Gt211,kmadd(At12L,Gt213,kmul(At33L,Gt311))),gtu11,kmadd(kmadd(At22L,Gt213,kmul(At12L,kadd(Gt113,Gt223))),gtu12,kmadd(At11L,kmadd(Gt113,gtu11,kmadd(Gt123,gtu12,kmul(Gt133,gtu13))),kmadd(kmadd(At23L,Gt222,kmul(At22L,Gt223)),gtu22,kmul(At12L,kmadd(Gt233,gtu13,kmadd(Gt123,gtu22,kmul(Gt133,gtu23)))))))),ToReal(-1.),kmadd(gtu12,kadd(JacPDstandardNth1At23,kadd(JacPDstandardNth2At13,kmadd(At33L,kmul(Gt312,ToReal(-2.)),kmul(At23L,kmul(Gt313,ToReal(-1.)))))),kmadd(gtu23,kadd(JacPDstandardNth2At33,kadd(JacPDstandardNth3At23,kmadd(kmadd(At23L,Gt223,kmul(At33L,Gt323)),ToReal(-3.),kmul(kmadd(At22L,Gt233,kmul(At23L,Gt333)),ToReal(-1.))))),kmadd(JacPDstandardNth3trK,ToReal(-0.6666666666666666666666666666666666666667),kmadd(At33L,kmadd(Gt333,kmul(gtu33,ToReal(-2.)),kmadd(Gt322,kmul(gtu22,ToReal(-1.)),kmadd(kmadd(cdphi2,gtu23,kmul(cdphi3,gtu33)),ToReal(6.),kmul(gtu13,kmadd(Gt313,ToReal(-3.),kmul(cdphi1,ToReal(6.))))))),kmadd(At23L,kmadd(Gt213,kmul(gtu13,ToReal(-3.)),kmadd(Gt233,kmul(gtu33,ToReal(-2.)),kmadd(cdphi3,kmul(gtu23,ToReal(6.)),kmadd(gtu12,kmadd(Gt212,ToReal(-2.),kmul(cdphi1,ToReal(6.))),kmul(gtu22,kmadd(Gt323,ToReal(-1.),kmul(cdphi2,ToReal(6.)))))))),kmul(At13L,kmadd(Gt123,kmul(gtu23,ToReal(-3.)),kmadd(Gt133,kmul(gtu33,ToReal(-2.)),kmadd(Gt122,kmul(gtu22,ToReal(-1.)),kmadd(gtu11,kmadd(kadd(Gt111,Gt313),ToReal(-1.),kmul(cdphi1,ToReal(6.))),kmadd(gtu12,kmadd(Gt112,ToReal(-2.),kmadd(Gt323,ToReal(-1.),kmul(cdphi2,ToReal(6.)))),kmul(gtu13,kmadd(Gt113,ToReal(-3.),kmadd(Gt333,ToReal(-1.),kmul(cdphi3,ToReal(6.))))))))))))))))))))));
CCTK_REAL_VEC cSL = klog(detgt);