aboutsummaryrefslogtreecommitdiff
path: root/ML_BSSN_MP_O8
diff options
context:
space:
mode:
authorIan Hinder <ian.hinder@aei.mpg.de>2011-06-11 04:53:48 +0200
committerIan Hinder <ian.hinder@aei.mpg.de>2011-06-11 04:53:48 +0200
commit9341eef232b1232ed55ed68126862e71eb68b1f2 (patch)
treefbc9f8c9a8c80b99f324ffab15713e7160c0548b /ML_BSSN_MP_O8
parent7c50d21a280caf9329ceaac74909a92ae459c816 (diff)
Regenerate code
Testsuites all pass
Diffstat (limited to 'ML_BSSN_MP_O8')
-rw-r--r--ML_BSSN_MP_O8/interface.ccl2
-rw-r--r--ML_BSSN_MP_O8/param.ccl3
-rw-r--r--ML_BSSN_MP_O8/src/ML_BSSN_MP_O8_Advect.cc1419
-rw-r--r--ML_BSSN_MP_O8/src/ML_BSSN_MP_O8_Dissipation.cc736
-rw-r--r--ML_BSSN_MP_O8/src/ML_BSSN_MP_O8_Minkowski.cc46
-rw-r--r--ML_BSSN_MP_O8/src/ML_BSSN_MP_O8_RHS1.cc1354
-rw-r--r--ML_BSSN_MP_O8/src/ML_BSSN_MP_O8_RHS2.cc1824
-rw-r--r--ML_BSSN_MP_O8/src/ML_BSSN_MP_O8_RHSStaticBoundary.cc46
-rw-r--r--ML_BSSN_MP_O8/src/ML_BSSN_MP_O8_boundary.cc46
-rw-r--r--ML_BSSN_MP_O8/src/ML_BSSN_MP_O8_constraints1.cc1455
-rw-r--r--ML_BSSN_MP_O8/src/ML_BSSN_MP_O8_constraints2.cc553
-rw-r--r--ML_BSSN_MP_O8/src/ML_BSSN_MP_O8_convertFromADMBase.cc46
-rw-r--r--ML_BSSN_MP_O8/src/ML_BSSN_MP_O8_convertFromADMBaseGamma.cc608
-rw-r--r--ML_BSSN_MP_O8/src/ML_BSSN_MP_O8_convertToADMBase.cc46
-rw-r--r--ML_BSSN_MP_O8/src/ML_BSSN_MP_O8_convertToADMBaseDtLapseShift.cc281
-rw-r--r--ML_BSSN_MP_O8/src/ML_BSSN_MP_O8_convertToADMBaseDtLapseShiftBoundary.cc46
-rw-r--r--ML_BSSN_MP_O8/src/ML_BSSN_MP_O8_convertToADMBaseFakeDtLapseShift.cc46
-rw-r--r--ML_BSSN_MP_O8/src/ML_BSSN_MP_O8_enforce.cc46
18 files changed, 6162 insertions, 2441 deletions
diff --git a/ML_BSSN_MP_O8/interface.ccl b/ML_BSSN_MP_O8/interface.ccl
index 67f91ac..6e64b9f 100644
--- a/ML_BSSN_MP_O8/interface.ccl
+++ b/ML_BSSN_MP_O8/interface.ccl
@@ -2,7 +2,7 @@
implements: ML_BSSN_MP_O8
-inherits: ADMBase TmunuBase Coordinates Grid GenericFD Boundary
+inherits: ADMBase TmunuBase Grid GenericFD Boundary
diff --git a/ML_BSSN_MP_O8/param.ccl b/ML_BSSN_MP_O8/param.ccl
index 16f629e..45ac371 100644
--- a/ML_BSSN_MP_O8/param.ccl
+++ b/ML_BSSN_MP_O8/param.ccl
@@ -37,6 +37,9 @@ EXTENDS CCTK_KEYWORD dtshift_evolution_method "dtshift_evolution_method"
shares: GenericFD
+USES CCTK_STRING jacobian_group
+USES CCTK_STRING jacobian_derivative_group
+USES CCTK_INT jacobian_identity_map
shares: MethodOfLines
diff --git a/ML_BSSN_MP_O8/src/ML_BSSN_MP_O8_Advect.cc b/ML_BSSN_MP_O8/src/ML_BSSN_MP_O8_Advect.cc
index da5e1a9..70fe221 100644
--- a/ML_BSSN_MP_O8/src/ML_BSSN_MP_O8_Advect.cc
+++ b/ML_BSSN_MP_O8/src/ML_BSSN_MP_O8_Advect.cc
@@ -75,8 +75,8 @@ static void ML_BSSN_MP_O8_Advect_Body(cGH const * restrict const cctkGH, int con
return;
}
- const char *groups[] = {"Coordinates::jacobian","ML_BSSN_MP_O8::ML_curv","ML_BSSN_MP_O8::ML_curvrhs","ML_BSSN_MP_O8::ML_dtlapse","ML_BSSN_MP_O8::ML_dtlapserhs","ML_BSSN_MP_O8::ML_dtshift","ML_BSSN_MP_O8::ML_dtshiftrhs","ML_BSSN_MP_O8::ML_Gamma","ML_BSSN_MP_O8::ML_Gammarhs","ML_BSSN_MP_O8::ML_lapse","ML_BSSN_MP_O8::ML_lapserhs","ML_BSSN_MP_O8::ML_log_confac","ML_BSSN_MP_O8::ML_log_confacrhs","ML_BSSN_MP_O8::ML_metric","ML_BSSN_MP_O8::ML_metricrhs","ML_BSSN_MP_O8::ML_shift","ML_BSSN_MP_O8::ML_shiftrhs","ML_BSSN_MP_O8::ML_trace_curv","ML_BSSN_MP_O8::ML_trace_curvrhs"};
- GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_MP_O8_Advect", 19, groups);
+ const char *groups[] = {"ML_BSSN_MP_O8::ML_curv","ML_BSSN_MP_O8::ML_curvrhs","ML_BSSN_MP_O8::ML_dtlapse","ML_BSSN_MP_O8::ML_dtlapserhs","ML_BSSN_MP_O8::ML_dtshift","ML_BSSN_MP_O8::ML_dtshiftrhs","ML_BSSN_MP_O8::ML_Gamma","ML_BSSN_MP_O8::ML_Gammarhs","ML_BSSN_MP_O8::ML_lapse","ML_BSSN_MP_O8::ML_lapserhs","ML_BSSN_MP_O8::ML_log_confac","ML_BSSN_MP_O8::ML_log_confacrhs","ML_BSSN_MP_O8::ML_metric","ML_BSSN_MP_O8::ML_metricrhs","ML_BSSN_MP_O8::ML_shift","ML_BSSN_MP_O8::ML_shiftrhs","ML_BSSN_MP_O8::ML_trace_curv","ML_BSSN_MP_O8::ML_trace_curvrhs"};
+ GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_MP_O8_Advect", 18, groups);
GenericFD_EnsureStencilFits(cctkGH, "ML_BSSN_MP_O8_Advect", 5, 5, 5);
@@ -131,6 +131,51 @@ static void ML_BSSN_MP_O8_Advect_Body(cGH const * restrict const cctkGH, int con
CCTK_REAL const pm1o840dy = -0.00119047619047619047619047619048*INV(dy);
CCTK_REAL const pm1o840dz = -0.00119047619047619047619047619048*INV(dz);
+ /* 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
LC_LOOP3 (ML_BSSN_MP_O8_Advect,
@@ -181,15 +226,6 @@ static void ML_BSSN_MP_O8_Advect_Body(cGH const * restrict const cctkGH, int con
CCTK_REAL gt23rhsL = gt23rhs[index];
CCTK_REAL gt33L = gt33[index];
CCTK_REAL gt33rhsL = gt33rhs[index];
- CCTK_REAL J11L = J11[index];
- CCTK_REAL J12L = J12[index];
- CCTK_REAL J13L = J13[index];
- CCTK_REAL J21L = J21[index];
- CCTK_REAL J22L = J22[index];
- CCTK_REAL J23L = J23[index];
- CCTK_REAL J31L = J31[index];
- CCTK_REAL J32L = J32[index];
- CCTK_REAL J33L = J33[index];
CCTK_REAL phiL = phi[index];
CCTK_REAL phirhsL = phirhs[index];
CCTK_REAL trKL = trK[index];
@@ -202,6 +238,21 @@ static void ML_BSSN_MP_O8_Advect_Body(cGH const * restrict const cctkGH, int con
CCTK_REAL Xt3rhsL = Xt3rhs[index];
+ CCTK_REAL J11L, J12L, J13L, J21L, J22L, J23L, J31L, J32L, J33L;
+
+ if (use_jacobian)
+ {
+ J11L = J11[index];
+ J12L = J12[index];
+ J13L = J13[index];
+ J21L = J21[index];
+ J22L = J22[index];
+ J23L = J23[index];
+ J31L = J31[index];
+ J32L = J32[index];
+ J33L = J33[index];
+ }
+
/* Include user supplied include files */
/* Precompute derivatives */
@@ -357,286 +408,1084 @@ static void ML_BSSN_MP_O8_Advect_Body(cGH const * restrict const cctkGH, int con
CCTK_REAL const PDupwindNthSymm3Xt3 = PDupwindNthSymm3(&Xt3[index]);
/* Calculate temporaries and grid functions */
+ CCTK_REAL JacPDupwindNthAnti1A;
+ CCTK_REAL JacPDupwindNthAnti1alpha;
+ CCTK_REAL JacPDupwindNthAnti1At11;
+ CCTK_REAL JacPDupwindNthAnti1At12;
+ CCTK_REAL JacPDupwindNthAnti1At13;
+ CCTK_REAL JacPDupwindNthAnti1At22;
+ CCTK_REAL JacPDupwindNthAnti1At23;
+ CCTK_REAL JacPDupwindNthAnti1At33;
+ CCTK_REAL JacPDupwindNthAnti1B1;
+ CCTK_REAL JacPDupwindNthAnti1B2;
+ CCTK_REAL JacPDupwindNthAnti1B3;
+ CCTK_REAL JacPDupwindNthAnti1beta1;
+ CCTK_REAL JacPDupwindNthAnti1beta2;
+ CCTK_REAL JacPDupwindNthAnti1beta3;
+ CCTK_REAL JacPDupwindNthAnti1gt11;
+ CCTK_REAL JacPDupwindNthAnti1gt12;
+ CCTK_REAL JacPDupwindNthAnti1gt13;
+ CCTK_REAL JacPDupwindNthAnti1gt22;
+ CCTK_REAL JacPDupwindNthAnti1gt23;
+ CCTK_REAL JacPDupwindNthAnti1gt33;
+ CCTK_REAL JacPDupwindNthAnti1phi;
+ CCTK_REAL JacPDupwindNthAnti1trK;
+ CCTK_REAL JacPDupwindNthAnti1Xt1;
+ CCTK_REAL JacPDupwindNthAnti1Xt2;
+ CCTK_REAL JacPDupwindNthAnti1Xt3;
+ CCTK_REAL JacPDupwindNthAnti2A;
+ CCTK_REAL JacPDupwindNthAnti2alpha;
+ CCTK_REAL JacPDupwindNthAnti2At11;
+ CCTK_REAL JacPDupwindNthAnti2At12;
+ CCTK_REAL JacPDupwindNthAnti2At13;
+ CCTK_REAL JacPDupwindNthAnti2At22;
+ CCTK_REAL JacPDupwindNthAnti2At23;
+ CCTK_REAL JacPDupwindNthAnti2At33;
+ CCTK_REAL JacPDupwindNthAnti2B1;
+ CCTK_REAL JacPDupwindNthAnti2B2;
+ CCTK_REAL JacPDupwindNthAnti2B3;
+ CCTK_REAL JacPDupwindNthAnti2beta1;
+ CCTK_REAL JacPDupwindNthAnti2beta2;
+ CCTK_REAL JacPDupwindNthAnti2beta3;
+ CCTK_REAL JacPDupwindNthAnti2gt11;
+ CCTK_REAL JacPDupwindNthAnti2gt12;
+ CCTK_REAL JacPDupwindNthAnti2gt13;
+ CCTK_REAL JacPDupwindNthAnti2gt22;
+ CCTK_REAL JacPDupwindNthAnti2gt23;
+ CCTK_REAL JacPDupwindNthAnti2gt33;
+ CCTK_REAL JacPDupwindNthAnti2phi;
+ CCTK_REAL JacPDupwindNthAnti2trK;
+ CCTK_REAL JacPDupwindNthAnti2Xt1;
+ CCTK_REAL JacPDupwindNthAnti2Xt2;
+ CCTK_REAL JacPDupwindNthAnti2Xt3;
+ CCTK_REAL JacPDupwindNthAnti3A;
+ CCTK_REAL JacPDupwindNthAnti3alpha;
+ CCTK_REAL JacPDupwindNthAnti3At11;
+ CCTK_REAL JacPDupwindNthAnti3At12;
+ CCTK_REAL JacPDupwindNthAnti3At13;
+ CCTK_REAL JacPDupwindNthAnti3At22;
+ CCTK_REAL JacPDupwindNthAnti3At23;
+ CCTK_REAL JacPDupwindNthAnti3At33;
+ CCTK_REAL JacPDupwindNthAnti3B1;
+ CCTK_REAL JacPDupwindNthAnti3B2;
+ CCTK_REAL JacPDupwindNthAnti3B3;
+ CCTK_REAL JacPDupwindNthAnti3beta1;
+ CCTK_REAL JacPDupwindNthAnti3beta2;
+ CCTK_REAL JacPDupwindNthAnti3beta3;
+ CCTK_REAL JacPDupwindNthAnti3gt11;
+ CCTK_REAL JacPDupwindNthAnti3gt12;
+ CCTK_REAL JacPDupwindNthAnti3gt13;
+ CCTK_REAL JacPDupwindNthAnti3gt22;
+ CCTK_REAL JacPDupwindNthAnti3gt23;
+ CCTK_REAL JacPDupwindNthAnti3gt33;
+ CCTK_REAL JacPDupwindNthAnti3phi;
+ CCTK_REAL JacPDupwindNthAnti3trK;
+ CCTK_REAL JacPDupwindNthAnti3Xt1;
+ CCTK_REAL JacPDupwindNthAnti3Xt2;
+ CCTK_REAL JacPDupwindNthAnti3Xt3;
+ CCTK_REAL JacPDupwindNthSymm1A;
+ CCTK_REAL JacPDupwindNthSymm1alpha;
+ CCTK_REAL JacPDupwindNthSymm1At11;
+ CCTK_REAL JacPDupwindNthSymm1At12;
+ CCTK_REAL JacPDupwindNthSymm1At13;
+ CCTK_REAL JacPDupwindNthSymm1At22;
+ CCTK_REAL JacPDupwindNthSymm1At23;
+ CCTK_REAL JacPDupwindNthSymm1At33;
+ CCTK_REAL JacPDupwindNthSymm1B1;
+ CCTK_REAL JacPDupwindNthSymm1B2;
+ CCTK_REAL JacPDupwindNthSymm1B3;
+ CCTK_REAL JacPDupwindNthSymm1beta1;
+ CCTK_REAL JacPDupwindNthSymm1beta2;
+ CCTK_REAL JacPDupwindNthSymm1beta3;
+ CCTK_REAL JacPDupwindNthSymm1gt11;
+ CCTK_REAL JacPDupwindNthSymm1gt12;
+ CCTK_REAL JacPDupwindNthSymm1gt13;
+ CCTK_REAL JacPDupwindNthSymm1gt22;
+ CCTK_REAL JacPDupwindNthSymm1gt23;
+ CCTK_REAL JacPDupwindNthSymm1gt33;
+ CCTK_REAL JacPDupwindNthSymm1phi;
+ CCTK_REAL JacPDupwindNthSymm1trK;
+ CCTK_REAL JacPDupwindNthSymm1Xt1;
+ CCTK_REAL JacPDupwindNthSymm1Xt2;
+ CCTK_REAL JacPDupwindNthSymm1Xt3;
+ CCTK_REAL JacPDupwindNthSymm2A;
+ CCTK_REAL JacPDupwindNthSymm2alpha;
+ CCTK_REAL JacPDupwindNthSymm2At11;
+ CCTK_REAL JacPDupwindNthSymm2At12;
+ CCTK_REAL JacPDupwindNthSymm2At13;
+ CCTK_REAL JacPDupwindNthSymm2At22;
+ CCTK_REAL JacPDupwindNthSymm2At23;
+ CCTK_REAL JacPDupwindNthSymm2At33;
+ CCTK_REAL JacPDupwindNthSymm2B1;
+ CCTK_REAL JacPDupwindNthSymm2B2;
+ CCTK_REAL JacPDupwindNthSymm2B3;
+ CCTK_REAL JacPDupwindNthSymm2beta1;
+ CCTK_REAL JacPDupwindNthSymm2beta2;
+ CCTK_REAL JacPDupwindNthSymm2beta3;
+ CCTK_REAL JacPDupwindNthSymm2gt11;
+ CCTK_REAL JacPDupwindNthSymm2gt12;
+ CCTK_REAL JacPDupwindNthSymm2gt13;
+ CCTK_REAL JacPDupwindNthSymm2gt22;
+ CCTK_REAL JacPDupwindNthSymm2gt23;
+ CCTK_REAL JacPDupwindNthSymm2gt33;
+ CCTK_REAL JacPDupwindNthSymm2phi;
+ CCTK_REAL JacPDupwindNthSymm2trK;
+ CCTK_REAL JacPDupwindNthSymm2Xt1;
+ CCTK_REAL JacPDupwindNthSymm2Xt2;
+ CCTK_REAL JacPDupwindNthSymm2Xt3;
+ CCTK_REAL JacPDupwindNthSymm3A;
+ CCTK_REAL JacPDupwindNthSymm3alpha;
+ CCTK_REAL JacPDupwindNthSymm3At11;
+ CCTK_REAL JacPDupwindNthSymm3At12;
+ CCTK_REAL JacPDupwindNthSymm3At13;
+ CCTK_REAL JacPDupwindNthSymm3At22;
+ CCTK_REAL JacPDupwindNthSymm3At23;
+ CCTK_REAL JacPDupwindNthSymm3At33;
+ CCTK_REAL JacPDupwindNthSymm3B1;
+ CCTK_REAL JacPDupwindNthSymm3B2;
+ CCTK_REAL JacPDupwindNthSymm3B3;
+ CCTK_REAL JacPDupwindNthSymm3beta1;
+ CCTK_REAL JacPDupwindNthSymm3beta2;
+ CCTK_REAL JacPDupwindNthSymm3beta3;
+ CCTK_REAL JacPDupwindNthSymm3gt11;
+ CCTK_REAL JacPDupwindNthSymm3gt12;
+ CCTK_REAL JacPDupwindNthSymm3gt13;
+ CCTK_REAL JacPDupwindNthSymm3gt22;
+ CCTK_REAL JacPDupwindNthSymm3gt23;
+ CCTK_REAL JacPDupwindNthSymm3gt33;
+ CCTK_REAL JacPDupwindNthSymm3phi;
+ CCTK_REAL JacPDupwindNthSymm3trK;
+ CCTK_REAL JacPDupwindNthSymm3Xt1;
+ CCTK_REAL JacPDupwindNthSymm3Xt2;
+ CCTK_REAL JacPDupwindNthSymm3Xt3;
+
+ if (use_jacobian)
+ {
+ JacPDupwindNthAnti1A = J11L*PDupwindNthAnti1A + J21L*PDupwindNthAnti2A
+ + J31L*PDupwindNthAnti3A;
+
+ JacPDupwindNthAnti1alpha = J11L*PDupwindNthAnti1alpha +
+ J21L*PDupwindNthAnti2alpha + J31L*PDupwindNthAnti3alpha;
+
+ JacPDupwindNthAnti1At11 = J11L*PDupwindNthAnti1At11 +
+ J21L*PDupwindNthAnti2At11 + J31L*PDupwindNthAnti3At11;
+
+ JacPDupwindNthAnti1At12 = J11L*PDupwindNthAnti1At12 +
+ J21L*PDupwindNthAnti2At12 + J31L*PDupwindNthAnti3At12;
+
+ JacPDupwindNthAnti1At13 = J11L*PDupwindNthAnti1At13 +
+ J21L*PDupwindNthAnti2At13 + J31L*PDupwindNthAnti3At13;
+
+ JacPDupwindNthAnti1At22 = J11L*PDupwindNthAnti1At22 +
+ J21L*PDupwindNthAnti2At22 + J31L*PDupwindNthAnti3At22;
+
+ JacPDupwindNthAnti1At23 = J11L*PDupwindNthAnti1At23 +
+ J21L*PDupwindNthAnti2At23 + J31L*PDupwindNthAnti3At23;
+
+ JacPDupwindNthAnti1At33 = J11L*PDupwindNthAnti1At33 +
+ J21L*PDupwindNthAnti2At33 + J31L*PDupwindNthAnti3At33;
+
+ JacPDupwindNthAnti1B1 = J11L*PDupwindNthAnti1B1 +
+ J21L*PDupwindNthAnti2B1 + J31L*PDupwindNthAnti3B1;
+
+ JacPDupwindNthAnti1B2 = J11L*PDupwindNthAnti1B2 +
+ J21L*PDupwindNthAnti2B2 + J31L*PDupwindNthAnti3B2;
+
+ JacPDupwindNthAnti1B3 = J11L*PDupwindNthAnti1B3 +
+ J21L*PDupwindNthAnti2B3 + J31L*PDupwindNthAnti3B3;
+
+ JacPDupwindNthAnti1beta1 = J11L*PDupwindNthAnti1beta1 +
+ J21L*PDupwindNthAnti2beta1 + J31L*PDupwindNthAnti3beta1;
+
+ JacPDupwindNthAnti1beta2 = J11L*PDupwindNthAnti1beta2 +
+ J21L*PDupwindNthAnti2beta2 + J31L*PDupwindNthAnti3beta2;
+
+ JacPDupwindNthAnti1beta3 = J11L*PDupwindNthAnti1beta3 +
+ J21L*PDupwindNthAnti2beta3 + J31L*PDupwindNthAnti3beta3;
+
+ JacPDupwindNthAnti1gt11 = J11L*PDupwindNthAnti1gt11 +
+ J21L*PDupwindNthAnti2gt11 + J31L*PDupwindNthAnti3gt11;
+
+ JacPDupwindNthAnti1gt12 = J11L*PDupwindNthAnti1gt12 +
+ J21L*PDupwindNthAnti2gt12 + J31L*PDupwindNthAnti3gt12;
+
+ JacPDupwindNthAnti1gt13 = J11L*PDupwindNthAnti1gt13 +
+ J21L*PDupwindNthAnti2gt13 + J31L*PDupwindNthAnti3gt13;
+
+ JacPDupwindNthAnti1gt22 = J11L*PDupwindNthAnti1gt22 +
+ J21L*PDupwindNthAnti2gt22 + J31L*PDupwindNthAnti3gt22;
+
+ JacPDupwindNthAnti1gt23 = J11L*PDupwindNthAnti1gt23 +
+ J21L*PDupwindNthAnti2gt23 + J31L*PDupwindNthAnti3gt23;
+
+ JacPDupwindNthAnti1gt33 = J11L*PDupwindNthAnti1gt33 +
+ J21L*PDupwindNthAnti2gt33 + J31L*PDupwindNthAnti3gt33;
+
+ JacPDupwindNthAnti1phi = J11L*PDupwindNthAnti1phi +
+ J21L*PDupwindNthAnti2phi + J31L*PDupwindNthAnti3phi;
+
+ JacPDupwindNthAnti1trK = J11L*PDupwindNthAnti1trK +
+ J21L*PDupwindNthAnti2trK + J31L*PDupwindNthAnti3trK;
+
+ JacPDupwindNthAnti1Xt1 = J11L*PDupwindNthAnti1Xt1 +
+ J21L*PDupwindNthAnti2Xt1 + J31L*PDupwindNthAnti3Xt1;
+
+ JacPDupwindNthAnti1Xt2 = J11L*PDupwindNthAnti1Xt2 +
+ J21L*PDupwindNthAnti2Xt2 + J31L*PDupwindNthAnti3Xt2;
+
+ JacPDupwindNthAnti1Xt3 = J11L*PDupwindNthAnti1Xt3 +
+ J21L*PDupwindNthAnti2Xt3 + J31L*PDupwindNthAnti3Xt3;
+
+ JacPDupwindNthSymm1A = J11L*PDupwindNthSymm1A + J21L*PDupwindNthSymm2A
+ + J31L*PDupwindNthSymm3A;
+
+ JacPDupwindNthSymm1alpha = J11L*PDupwindNthSymm1alpha +
+ J21L*PDupwindNthSymm2alpha + J31L*PDupwindNthSymm3alpha;
+
+ JacPDupwindNthSymm1At11 = J11L*PDupwindNthSymm1At11 +
+ J21L*PDupwindNthSymm2At11 + J31L*PDupwindNthSymm3At11;
+
+ JacPDupwindNthSymm1At12 = J11L*PDupwindNthSymm1At12 +
+ J21L*PDupwindNthSymm2At12 + J31L*PDupwindNthSymm3At12;
+
+ JacPDupwindNthSymm1At13 = J11L*PDupwindNthSymm1At13 +
+ J21L*PDupwindNthSymm2At13 + J31L*PDupwindNthSymm3At13;
+
+ JacPDupwindNthSymm1At22 = J11L*PDupwindNthSymm1At22 +
+ J21L*PDupwindNthSymm2At22 + J31L*PDupwindNthSymm3At22;
+
+ JacPDupwindNthSymm1At23 = J11L*PDupwindNthSymm1At23 +
+ J21L*PDupwindNthSymm2At23 + J31L*PDupwindNthSymm3At23;
+
+ JacPDupwindNthSymm1At33 = J11L*PDupwindNthSymm1At33 +
+ J21L*PDupwindNthSymm2At33 + J31L*PDupwindNthSymm3At33;
+
+ JacPDupwindNthSymm1B1 = J11L*PDupwindNthSymm1B1 +
+ J21L*PDupwindNthSymm2B1 + J31L*PDupwindNthSymm3B1;
+
+ JacPDupwindNthSymm1B2 = J11L*PDupwindNthSymm1B2 +
+ J21L*PDupwindNthSymm2B2 + J31L*PDupwindNthSymm3B2;
+
+ JacPDupwindNthSymm1B3 = J11L*PDupwindNthSymm1B3 +
+ J21L*PDupwindNthSymm2B3 + J31L*PDupwindNthSymm3B3;
+
+ JacPDupwindNthSymm1beta1 = J11L*PDupwindNthSymm1beta1 +
+ J21L*PDupwindNthSymm2beta1 + J31L*PDupwindNthSymm3beta1;
+
+ JacPDupwindNthSymm1beta2 = J11L*PDupwindNthSymm1beta2 +
+ J21L*PDupwindNthSymm2beta2 + J31L*PDupwindNthSymm3beta2;
+
+ JacPDupwindNthSymm1beta3 = J11L*PDupwindNthSymm1beta3 +
+ J21L*PDupwindNthSymm2beta3 + J31L*PDupwindNthSymm3beta3;
+
+ JacPDupwindNthSymm1gt11 = J11L*PDupwindNthSymm1gt11 +
+ J21L*PDupwindNthSymm2gt11 + J31L*PDupwindNthSymm3gt11;
+
+ JacPDupwindNthSymm1gt12 = J11L*PDupwindNthSymm1gt12 +
+ J21L*PDupwindNthSymm2gt12 + J31L*PDupwindNthSymm3gt12;
+
+ JacPDupwindNthSymm1gt13 = J11L*PDupwindNthSymm1gt13 +
+ J21L*PDupwindNthSymm2gt13 + J31L*PDupwindNthSymm3gt13;
+
+ JacPDupwindNthSymm1gt22 = J11L*PDupwindNthSymm1gt22 +
+ J21L*PDupwindNthSymm2gt22 + J31L*PDupwindNthSymm3gt22;
+
+ JacPDupwindNthSymm1gt23 = J11L*PDupwindNthSymm1gt23 +
+ J21L*PDupwindNthSymm2gt23 + J31L*PDupwindNthSymm3gt23;
+
+ JacPDupwindNthSymm1gt33 = J11L*PDupwindNthSymm1gt33 +
+ J21L*PDupwindNthSymm2gt33 + J31L*PDupwindNthSymm3gt33;
+
+ JacPDupwindNthSymm1phi = J11L*PDupwindNthSymm1phi +
+ J21L*PDupwindNthSymm2phi + J31L*PDupwindNthSymm3phi;
+
+ JacPDupwindNthSymm1trK = J11L*PDupwindNthSymm1trK +
+ J21L*PDupwindNthSymm2trK + J31L*PDupwindNthSymm3trK;
+
+ JacPDupwindNthSymm1Xt1 = J11L*PDupwindNthSymm1Xt1 +
+ J21L*PDupwindNthSymm2Xt1 + J31L*PDupwindNthSymm3Xt1;
+
+ JacPDupwindNthSymm1Xt2 = J11L*PDupwindNthSymm1Xt2 +
+ J21L*PDupwindNthSymm2Xt2 + J31L*PDupwindNthSymm3Xt2;
+
+ JacPDupwindNthSymm1Xt3 = J11L*PDupwindNthSymm1Xt3 +
+ J21L*PDupwindNthSymm2Xt3 + J31L*PDupwindNthSymm3Xt3;
+
+ JacPDupwindNthAnti2A = J12L*PDupwindNthAnti1A + J22L*PDupwindNthAnti2A
+ + J32L*PDupwindNthAnti3A;
+
+ JacPDupwindNthAnti2alpha = J12L*PDupwindNthAnti1alpha +
+ J22L*PDupwindNthAnti2alpha + J32L*PDupwindNthAnti3alpha;
+
+ JacPDupwindNthAnti2At11 = J12L*PDupwindNthAnti1At11 +
+ J22L*PDupwindNthAnti2At11 + J32L*PDupwindNthAnti3At11;
+
+ JacPDupwindNthAnti2At12 = J12L*PDupwindNthAnti1At12 +
+ J22L*PDupwindNthAnti2At12 + J32L*PDupwindNthAnti3At12;
+
+ JacPDupwindNthAnti2At13 = J12L*PDupwindNthAnti1At13 +
+ J22L*PDupwindNthAnti2At13 + J32L*PDupwindNthAnti3At13;
+
+ JacPDupwindNthAnti2At22 = J12L*PDupwindNthAnti1At22 +
+ J22L*PDupwindNthAnti2At22 + J32L*PDupwindNthAnti3At22;
+
+ JacPDupwindNthAnti2At23 = J12L*PDupwindNthAnti1At23 +
+ J22L*PDupwindNthAnti2At23 + J32L*PDupwindNthAnti3At23;
+
+ JacPDupwindNthAnti2At33 = J12L*PDupwindNthAnti1At33 +
+ J22L*PDupwindNthAnti2At33 + J32L*PDupwindNthAnti3At33;
+
+ JacPDupwindNthAnti2B1 = J12L*PDupwindNthAnti1B1 +
+ J22L*PDupwindNthAnti2B1 + J32L*PDupwindNthAnti3B1;
+
+ JacPDupwindNthAnti2B2 = J12L*PDupwindNthAnti1B2 +
+ J22L*PDupwindNthAnti2B2 + J32L*PDupwindNthAnti3B2;
+
+ JacPDupwindNthAnti2B3 = J12L*PDupwindNthAnti1B3 +
+ J22L*PDupwindNthAnti2B3 + J32L*PDupwindNthAnti3B3;
+
+ JacPDupwindNthAnti2beta1 = J12L*PDupwindNthAnti1beta1 +
+ J22L*PDupwindNthAnti2beta1 + J32L*PDupwindNthAnti3beta1;
+
+ JacPDupwindNthAnti2beta2 = J12L*PDupwindNthAnti1beta2 +
+ J22L*PDupwindNthAnti2beta2 + J32L*PDupwindNthAnti3beta2;
+
+ JacPDupwindNthAnti2beta3 = J12L*PDupwindNthAnti1beta3 +
+ J22L*PDupwindNthAnti2beta3 + J32L*PDupwindNthAnti3beta3;
+
+ JacPDupwindNthAnti2gt11 = J12L*PDupwindNthAnti1gt11 +
+ J22L*PDupwindNthAnti2gt11 + J32L*PDupwindNthAnti3gt11;
+
+ JacPDupwindNthAnti2gt12 = J12L*PDupwindNthAnti1gt12 +
+ J22L*PDupwindNthAnti2gt12 + J32L*PDupwindNthAnti3gt12;
+
+ JacPDupwindNthAnti2gt13 = J12L*PDupwindNthAnti1gt13 +
+ J22L*PDupwindNthAnti2gt13 + J32L*PDupwindNthAnti3gt13;
+
+ JacPDupwindNthAnti2gt22 = J12L*PDupwindNthAnti1gt22 +
+ J22L*PDupwindNthAnti2gt22 + J32L*PDupwindNthAnti3gt22;
+
+ JacPDupwindNthAnti2gt23 = J12L*PDupwindNthAnti1gt23 +
+ J22L*PDupwindNthAnti2gt23 + J32L*PDupwindNthAnti3gt23;
+
+ JacPDupwindNthAnti2gt33 = J12L*PDupwindNthAnti1gt33 +
+ J22L*PDupwindNthAnti2gt33 + J32L*PDupwindNthAnti3gt33;
+
+ JacPDupwindNthAnti2phi = J12L*PDupwindNthAnti1phi +
+ J22L*PDupwindNthAnti2phi + J32L*PDupwindNthAnti3phi;
+
+ JacPDupwindNthAnti2trK = J12L*PDupwindNthAnti1trK +
+ J22L*PDupwindNthAnti2trK + J32L*PDupwindNthAnti3trK;
+
+ JacPDupwindNthAnti2Xt1 = J12L*PDupwindNthAnti1Xt1 +
+ J22L*PDupwindNthAnti2Xt1 + J32L*PDupwindNthAnti3Xt1;
+
+ JacPDupwindNthAnti2Xt2 = J12L*PDupwindNthAnti1Xt2 +
+ J22L*PDupwindNthAnti2Xt2 + J32L*PDupwindNthAnti3Xt2;
+
+ JacPDupwindNthAnti2Xt3 = J12L*PDupwindNthAnti1Xt3 +
+ J22L*PDupwindNthAnti2Xt3 + J32L*PDupwindNthAnti3Xt3;
+
+ JacPDupwindNthSymm2A = J12L*PDupwindNthSymm1A + J22L*PDupwindNthSymm2A
+ + J32L*PDupwindNthSymm3A;
+
+ JacPDupwindNthSymm2alpha = J12L*PDupwindNthSymm1alpha +
+ J22L*PDupwindNthSymm2alpha + J32L*PDupwindNthSymm3alpha;
+
+ JacPDupwindNthSymm2At11 = J12L*PDupwindNthSymm1At11 +
+ J22L*PDupwindNthSymm2At11 + J32L*PDupwindNthSymm3At11;
+
+ JacPDupwindNthSymm2At12 = J12L*PDupwindNthSymm1At12 +
+ J22L*PDupwindNthSymm2At12 + J32L*PDupwindNthSymm3At12;
+
+ JacPDupwindNthSymm2At13 = J12L*PDupwindNthSymm1At13 +
+ J22L*PDupwindNthSymm2At13 + J32L*PDupwindNthSymm3At13;
+
+ JacPDupwindNthSymm2At22 = J12L*PDupwindNthSymm1At22 +
+ J22L*PDupwindNthSymm2At22 + J32L*PDupwindNthSymm3At22;
+
+ JacPDupwindNthSymm2At23 = J12L*PDupwindNthSymm1At23 +
+ J22L*PDupwindNthSymm2At23 + J32L*PDupwindNthSymm3At23;
+
+ JacPDupwindNthSymm2At33 = J12L*PDupwindNthSymm1At33 +
+ J22L*PDupwindNthSymm2At33 + J32L*PDupwindNthSymm3At33;
+
+ JacPDupwindNthSymm2B1 = J12L*PDupwindNthSymm1B1 +
+ J22L*PDupwindNthSymm2B1 + J32L*PDupwindNthSymm3B1;
+
+ JacPDupwindNthSymm2B2 = J12L*PDupwindNthSymm1B2 +
+ J22L*PDupwindNthSymm2B2 + J32L*PDupwindNthSymm3B2;
+
+ JacPDupwindNthSymm2B3 = J12L*PDupwindNthSymm1B3 +
+ J22L*PDupwindNthSymm2B3 + J32L*PDupwindNthSymm3B3;
+
+ JacPDupwindNthSymm2beta1 = J12L*PDupwindNthSymm1beta1 +
+ J22L*PDupwindNthSymm2beta1 + J32L*PDupwindNthSymm3beta1;
+
+ JacPDupwindNthSymm2beta2 = J12L*PDupwindNthSymm1beta2 +
+ J22L*PDupwindNthSymm2beta2 + J32L*PDupwindNthSymm3beta2;
+
+ JacPDupwindNthSymm2beta3 = J12L*PDupwindNthSymm1beta3 +
+ J22L*PDupwindNthSymm2beta3 + J32L*PDupwindNthSymm3beta3;
+
+ JacPDupwindNthSymm2gt11 = J12L*PDupwindNthSymm1gt11 +
+ J22L*PDupwindNthSymm2gt11 + J32L*PDupwindNthSymm3gt11;
+
+ JacPDupwindNthSymm2gt12 = J12L*PDupwindNthSymm1gt12 +
+ J22L*PDupwindNthSymm2gt12 + J32L*PDupwindNthSymm3gt12;
+
+ JacPDupwindNthSymm2gt13 = J12L*PDupwindNthSymm1gt13 +
+ J22L*PDupwindNthSymm2gt13 + J32L*PDupwindNthSymm3gt13;
+
+ JacPDupwindNthSymm2gt22 = J12L*PDupwindNthSymm1gt22 +
+ J22L*PDupwindNthSymm2gt22 + J32L*PDupwindNthSymm3gt22;
+
+ JacPDupwindNthSymm2gt23 = J12L*PDupwindNthSymm1gt23 +
+ J22L*PDupwindNthSymm2gt23 + J32L*PDupwindNthSymm3gt23;
+
+ JacPDupwindNthSymm2gt33 = J12L*PDupwindNthSymm1gt33 +
+ J22L*PDupwindNthSymm2gt33 + J32L*PDupwindNthSymm3gt33;
+
+ JacPDupwindNthSymm2phi = J12L*PDupwindNthSymm1phi +
+ J22L*PDupwindNthSymm2phi + J32L*PDupwindNthSymm3phi;
+
+ JacPDupwindNthSymm2trK = J12L*PDupwindNthSymm1trK +
+ J22L*PDupwindNthSymm2trK + J32L*PDupwindNthSymm3trK;
+
+ JacPDupwindNthSymm2Xt1 = J12L*PDupwindNthSymm1Xt1 +
+ J22L*PDupwindNthSymm2Xt1 + J32L*PDupwindNthSymm3Xt1;
+
+ JacPDupwindNthSymm2Xt2 = J12L*PDupwindNthSymm1Xt2 +
+ J22L*PDupwindNthSymm2Xt2 + J32L*PDupwindNthSymm3Xt2;
+
+ JacPDupwindNthSymm2Xt3 = J12L*PDupwindNthSymm1Xt3 +
+ J22L*PDupwindNthSymm2Xt3 + J32L*PDupwindNthSymm3Xt3;
+
+ JacPDupwindNthAnti3A = J13L*PDupwindNthAnti1A + J23L*PDupwindNthAnti2A
+ + J33L*PDupwindNthAnti3A;
+
+ JacPDupwindNthAnti3alpha = J13L*PDupwindNthAnti1alpha +
+ J23L*PDupwindNthAnti2alpha + J33L*PDupwindNthAnti3alpha;
+
+ JacPDupwindNthAnti3At11 = J13L*PDupwindNthAnti1At11 +
+ J23L*PDupwindNthAnti2At11 + J33L*PDupwindNthAnti3At11;
+
+ JacPDupwindNthAnti3At12 = J13L*PDupwindNthAnti1At12 +
+ J23L*PDupwindNthAnti2At12 + J33L*PDupwindNthAnti3At12;
+
+ JacPDupwindNthAnti3At13 = J13L*PDupwindNthAnti1At13 +
+ J23L*PDupwindNthAnti2At13 + J33L*PDupwindNthAnti3At13;
+
+ JacPDupwindNthAnti3At22 = J13L*PDupwindNthAnti1At22 +
+ J23L*PDupwindNthAnti2At22 + J33L*PDupwindNthAnti3At22;
+
+ JacPDupwindNthAnti3At23 = J13L*PDupwindNthAnti1At23 +
+ J23L*PDupwindNthAnti2At23 + J33L*PDupwindNthAnti3At23;
+
+ JacPDupwindNthAnti3At33 = J13L*PDupwindNthAnti1At33 +
+ J23L*PDupwindNthAnti2At33 + J33L*PDupwindNthAnti3At33;
+
+ JacPDupwindNthAnti3B1 = J13L*PDupwindNthAnti1B1 +
+ J23L*PDupwindNthAnti2B1 + J33L*PDupwindNthAnti3B1;
+
+ JacPDupwindNthAnti3B2 = J13L*PDupwindNthAnti1B2 +
+ J23L*PDupwindNthAnti2B2 + J33L*PDupwindNthAnti3B2;
+
+ JacPDupwindNthAnti3B3 = J13L*PDupwindNthAnti1B3 +
+ J23L*PDupwindNthAnti2B3 + J33L*PDupwindNthAnti3B3;
+
+ JacPDupwindNthAnti3beta1 = J13L*PDupwindNthAnti1beta1 +
+ J23L*PDupwindNthAnti2beta1 + J33L*PDupwindNthAnti3beta1;
+
+ JacPDupwindNthAnti3beta2 = J13L*PDupwindNthAnti1beta2 +
+ J23L*PDupwindNthAnti2beta2 + J33L*PDupwindNthAnti3beta2;
+
+ JacPDupwindNthAnti3beta3 = J13L*PDupwindNthAnti1beta3 +
+ J23L*PDupwindNthAnti2beta3 + J33L*PDupwindNthAnti3beta3;
+
+ JacPDupwindNthAnti3gt11 = J13L*PDupwindNthAnti1gt11 +
+ J23L*PDupwindNthAnti2gt11 + J33L*PDupwindNthAnti3gt11;
+
+ JacPDupwindNthAnti3gt12 = J13L*PDupwindNthAnti1gt12 +
+ J23L*PDupwindNthAnti2gt12 + J33L*PDupwindNthAnti3gt12;
+
+ JacPDupwindNthAnti3gt13 = J13L*PDupwindNthAnti1gt13 +
+ J23L*PDupwindNthAnti2gt13 + J33L*PDupwindNthAnti3gt13;
+
+ JacPDupwindNthAnti3gt22 = J13L*PDupwindNthAnti1gt22 +
+ J23L*PDupwindNthAnti2gt22 + J33L*PDupwindNthAnti3gt22;
+
+ JacPDupwindNthAnti3gt23 = J13L*PDupwindNthAnti1gt23 +
+ J23L*PDupwindNthAnti2gt23 + J33L*PDupwindNthAnti3gt23;
+
+ JacPDupwindNthAnti3gt33 = J13L*PDupwindNthAnti1gt33 +
+ J23L*PDupwindNthAnti2gt33 + J33L*PDupwindNthAnti3gt33;
+
+ JacPDupwindNthAnti3phi = J13L*PDupwindNthAnti1phi +
+ J23L*PDupwindNthAnti2phi + J33L*PDupwindNthAnti3phi;
+
+ JacPDupwindNthAnti3trK = J13L*PDupwindNthAnti1trK +
+ J23L*PDupwindNthAnti2trK + J33L*PDupwindNthAnti3trK;
+
+ JacPDupwindNthAnti3Xt1 = J13L*PDupwindNthAnti1Xt1 +
+ J23L*PDupwindNthAnti2Xt1 + J33L*PDupwindNthAnti3Xt1;
+
+ JacPDupwindNthAnti3Xt2 = J13L*PDupwindNthAnti1Xt2 +
+ J23L*PDupwindNthAnti2Xt2 + J33L*PDupwindNthAnti3Xt2;
+
+ JacPDupwindNthAnti3Xt3 = J13L*PDupwindNthAnti1Xt3 +
+ J23L*PDupwindNthAnti2Xt3 + J33L*PDupwindNthAnti3Xt3;
+
+ JacPDupwindNthSymm3A = J13L*PDupwindNthSymm1A + J23L*PDupwindNthSymm2A
+ + J33L*PDupwindNthSymm3A;
+
+ JacPDupwindNthSymm3alpha = J13L*PDupwindNthSymm1alpha +
+ J23L*PDupwindNthSymm2alpha + J33L*PDupwindNthSymm3alpha;
+
+ JacPDupwindNthSymm3At11 = J13L*PDupwindNthSymm1At11 +
+ J23L*PDupwindNthSymm2At11 + J33L*PDupwindNthSymm3At11;
+
+ JacPDupwindNthSymm3At12 = J13L*PDupwindNthSymm1At12 +
+ J23L*PDupwindNthSymm2At12 + J33L*PDupwindNthSymm3At12;
+
+ JacPDupwindNthSymm3At13 = J13L*PDupwindNthSymm1At13 +
+ J23L*PDupwindNthSymm2At13 + J33L*PDupwindNthSymm3At13;
+
+ JacPDupwindNthSymm3At22 = J13L*PDupwindNthSymm1At22 +
+ J23L*PDupwindNthSymm2At22 + J33L*PDupwindNthSymm3At22;
+
+ JacPDupwindNthSymm3At23 = J13L*PDupwindNthSymm1At23 +
+ J23L*PDupwindNthSymm2At23 + J33L*PDupwindNthSymm3At23;
+
+ JacPDupwindNthSymm3At33 = J13L*PDupwindNthSymm1At33 +
+ J23L*PDupwindNthSymm2At33 + J33L*PDupwindNthSymm3At33;
+
+ JacPDupwindNthSymm3B1 = J13L*PDupwindNthSymm1B1 +
+ J23L*PDupwindNthSymm2B1 + J33L*PDupwindNthSymm3B1;
+
+ JacPDupwindNthSymm3B2 = J13L*PDupwindNthSymm1B2 +
+ J23L*PDupwindNthSymm2B2 + J33L*PDupwindNthSymm3B2;
+
+ JacPDupwindNthSymm3B3 = J13L*PDupwindNthSymm1B3 +
+ J23L*PDupwindNthSymm2B3 + J33L*PDupwindNthSymm3B3;
+
+ JacPDupwindNthSymm3beta1 = J13L*PDupwindNthSymm1beta1 +
+ J23L*PDupwindNthSymm2beta1 + J33L*PDupwindNthSymm3beta1;
+
+ JacPDupwindNthSymm3beta2 = J13L*PDupwindNthSymm1beta2 +
+ J23L*PDupwindNthSymm2beta2 + J33L*PDupwindNthSymm3beta2;
+
+ JacPDupwindNthSymm3beta3 = J13L*PDupwindNthSymm1beta3 +
+ J23L*PDupwindNthSymm2beta3 + J33L*PDupwindNthSymm3beta3;
+
+ JacPDupwindNthSymm3gt11 = J13L*PDupwindNthSymm1gt11 +
+ J23L*PDupwindNthSymm2gt11 + J33L*PDupwindNthSymm3gt11;
+
+ JacPDupwindNthSymm3gt12 = J13L*PDupwindNthSymm1gt12 +
+ J23L*PDupwindNthSymm2gt12 + J33L*PDupwindNthSymm3gt12;
+
+ JacPDupwindNthSymm3gt13 = J13L*PDupwindNthSymm1gt13 +
+ J23L*PDupwindNthSymm2gt13 + J33L*PDupwindNthSymm3gt13;
+
+ JacPDupwindNthSymm3gt22 = J13L*PDupwindNthSymm1gt22 +
+ J23L*PDupwindNthSymm2gt22 + J33L*PDupwindNthSymm3gt22;
+
+ JacPDupwindNthSymm3gt23 = J13L*PDupwindNthSymm1gt23 +
+ J23L*PDupwindNthSymm2gt23 + J33L*PDupwindNthSymm3gt23;
+
+ JacPDupwindNthSymm3gt33 = J13L*PDupwindNthSymm1gt33 +
+ J23L*PDupwindNthSymm2gt33 + J33L*PDupwindNthSymm3gt33;
+
+ JacPDupwindNthSymm3phi = J13L*PDupwindNthSymm1phi +
+ J23L*PDupwindNthSymm2phi + J33L*PDupwindNthSymm3phi;
+
+ JacPDupwindNthSymm3trK = J13L*PDupwindNthSymm1trK +
+ J23L*PDupwindNthSymm2trK + J33L*PDupwindNthSymm3trK;
+
+ JacPDupwindNthSymm3Xt1 = J13L*PDupwindNthSymm1Xt1 +
+ J23L*PDupwindNthSymm2Xt1 + J33L*PDupwindNthSymm3Xt1;
+
+ JacPDupwindNthSymm3Xt2 = J13L*PDupwindNthSymm1Xt2 +
+ J23L*PDupwindNthSymm2Xt2 + J33L*PDupwindNthSymm3Xt2;
+
+ JacPDupwindNthSymm3Xt3 = J13L*PDupwindNthSymm1Xt3 +
+ J23L*PDupwindNthSymm2Xt3 + J33L*PDupwindNthSymm3Xt3;
+ }
+ else
+ {
+ JacPDupwindNthAnti1A = PDupwindNthAnti1A;
+
+ JacPDupwindNthAnti1alpha = PDupwindNthAnti1alpha;
+
+ JacPDupwindNthAnti1At11 = PDupwindNthAnti1At11;
+
+ JacPDupwindNthAnti1At12 = PDupwindNthAnti1At12;
+
+ JacPDupwindNthAnti1At13 = PDupwindNthAnti1At13;
+
+ JacPDupwindNthAnti1At22 = PDupwindNthAnti1At22;
+
+ JacPDupwindNthAnti1At23 = PDupwindNthAnti1At23;
+
+ JacPDupwindNthAnti1At33 = PDupwindNthAnti1At33;
+
+ JacPDupwindNthAnti1B1 = PDupwindNthAnti1B1;
+
+ JacPDupwindNthAnti1B2 = PDupwindNthAnti1B2;
+
+ JacPDupwindNthAnti1B3 = PDupwindNthAnti1B3;
+
+ JacPDupwindNthAnti1beta1 = PDupwindNthAnti1beta1;
+
+ JacPDupwindNthAnti1beta2 = PDupwindNthAnti1beta2;
+
+ JacPDupwindNthAnti1beta3 = PDupwindNthAnti1beta3;
+
+ JacPDupwindNthAnti1gt11 = PDupwindNthAnti1gt11;
+
+ JacPDupwindNthAnti1gt12 = PDupwindNthAnti1gt12;
+
+ JacPDupwindNthAnti1gt13 = PDupwindNthAnti1gt13;
+
+ JacPDupwindNthAnti1gt22 = PDupwindNthAnti1gt22;
+
+ JacPDupwindNthAnti1gt23 = PDupwindNthAnti1gt23;
+
+ JacPDupwindNthAnti1gt33 = PDupwindNthAnti1gt33;
+
+ JacPDupwindNthAnti1phi = PDupwindNthAnti1phi;
+
+ JacPDupwindNthAnti1trK = PDupwindNthAnti1trK;
+
+ JacPDupwindNthAnti1Xt1 = PDupwindNthAnti1Xt1;
+
+ JacPDupwindNthAnti1Xt2 = PDupwindNthAnti1Xt2;
+
+ JacPDupwindNthAnti1Xt3 = PDupwindNthAnti1Xt3;
+
+ JacPDupwindNthSymm1A = PDupwindNthSymm1A;
+
+ JacPDupwindNthSymm1alpha = PDupwindNthSymm1alpha;
+
+ JacPDupwindNthSymm1At11 = PDupwindNthSymm1At11;
+
+ JacPDupwindNthSymm1At12 = PDupwindNthSymm1At12;
+
+ JacPDupwindNthSymm1At13 = PDupwindNthSymm1At13;
+
+ JacPDupwindNthSymm1At22 = PDupwindNthSymm1At22;
+
+ JacPDupwindNthSymm1At23 = PDupwindNthSymm1At23;
+
+ JacPDupwindNthSymm1At33 = PDupwindNthSymm1At33;
+
+ JacPDupwindNthSymm1B1 = PDupwindNthSymm1B1;
+
+ JacPDupwindNthSymm1B2 = PDupwindNthSymm1B2;
+
+ JacPDupwindNthSymm1B3 = PDupwindNthSymm1B3;
+
+ JacPDupwindNthSymm1beta1 = PDupwindNthSymm1beta1;
+
+ JacPDupwindNthSymm1beta2 = PDupwindNthSymm1beta2;
+
+ JacPDupwindNthSymm1beta3 = PDupwindNthSymm1beta3;
+
+ JacPDupwindNthSymm1gt11 = PDupwindNthSymm1gt11;
+
+ JacPDupwindNthSymm1gt12 = PDupwindNthSymm1gt12;
+
+ JacPDupwindNthSymm1gt13 = PDupwindNthSymm1gt13;
+
+ JacPDupwindNthSymm1gt22 = PDupwindNthSymm1gt22;
+
+ JacPDupwindNthSymm1gt23 = PDupwindNthSymm1gt23;
+
+ JacPDupwindNthSymm1gt33 = PDupwindNthSymm1gt33;
+
+ JacPDupwindNthSymm1phi = PDupwindNthSymm1phi;
+
+ JacPDupwindNthSymm1trK = PDupwindNthSymm1trK;
+
+ JacPDupwindNthSymm1Xt1 = PDupwindNthSymm1Xt1;
+
+ JacPDupwindNthSymm1Xt2 = PDupwindNthSymm1Xt2;
+
+ JacPDupwindNthSymm1Xt3 = PDupwindNthSymm1Xt3;
+
+ JacPDupwindNthAnti2A = PDupwindNthAnti2A;
+
+ JacPDupwindNthAnti2alpha = PDupwindNthAnti2alpha;
+
+ JacPDupwindNthAnti2At11 = PDupwindNthAnti2At11;
+
+ JacPDupwindNthAnti2At12 = PDupwindNthAnti2At12;
+
+ JacPDupwindNthAnti2At13 = PDupwindNthAnti2At13;
+
+ JacPDupwindNthAnti2At22 = PDupwindNthAnti2At22;
+
+ JacPDupwindNthAnti2At23 = PDupwindNthAnti2At23;
+
+ JacPDupwindNthAnti2At33 = PDupwindNthAnti2At33;
+
+ JacPDupwindNthAnti2B1 = PDupwindNthAnti2B1;
+
+ JacPDupwindNthAnti2B2 = PDupwindNthAnti2B2;
+
+ JacPDupwindNthAnti2B3 = PDupwindNthAnti2B3;
+
+ JacPDupwindNthAnti2beta1 = PDupwindNthAnti2beta1;
+
+ JacPDupwindNthAnti2beta2 = PDupwindNthAnti2beta2;
+
+ JacPDupwindNthAnti2beta3 = PDupwindNthAnti2beta3;
+
+ JacPDupwindNthAnti2gt11 = PDupwindNthAnti2gt11;
+
+ JacPDupwindNthAnti2gt12 = PDupwindNthAnti2gt12;
+
+ JacPDupwindNthAnti2gt13 = PDupwindNthAnti2gt13;
+
+ JacPDupwindNthAnti2gt22 = PDupwindNthAnti2gt22;
+
+ JacPDupwindNthAnti2gt23 = PDupwindNthAnti2gt23;
+
+ JacPDupwindNthAnti2gt33 = PDupwindNthAnti2gt33;
+
+ JacPDupwindNthAnti2phi = PDupwindNthAnti2phi;
+
+ JacPDupwindNthAnti2trK = PDupwindNthAnti2trK;
+
+ JacPDupwindNthAnti2Xt1 = PDupwindNthAnti2Xt1;
+
+ JacPDupwindNthAnti2Xt2 = PDupwindNthAnti2Xt2;
+
+ JacPDupwindNthAnti2Xt3 = PDupwindNthAnti2Xt3;
+
+ JacPDupwindNthSymm2A = PDupwindNthSymm2A;
+
+ JacPDupwindNthSymm2alpha = PDupwindNthSymm2alpha;
+
+ JacPDupwindNthSymm2At11 = PDupwindNthSymm2At11;
+
+ JacPDupwindNthSymm2At12 = PDupwindNthSymm2At12;
+
+ JacPDupwindNthSymm2At13 = PDupwindNthSymm2At13;
+
+ JacPDupwindNthSymm2At22 = PDupwindNthSymm2At22;
+
+ JacPDupwindNthSymm2At23 = PDupwindNthSymm2At23;
+
+ JacPDupwindNthSymm2At33 = PDupwindNthSymm2At33;
+
+ JacPDupwindNthSymm2B1 = PDupwindNthSymm2B1;
+
+ JacPDupwindNthSymm2B2 = PDupwindNthSymm2B2;
+
+ JacPDupwindNthSymm2B3 = PDupwindNthSymm2B3;
+
+ JacPDupwindNthSymm2beta1 = PDupwindNthSymm2beta1;
+
+ JacPDupwindNthSymm2beta2 = PDupwindNthSymm2beta2;
+
+ JacPDupwindNthSymm2beta3 = PDupwindNthSymm2beta3;
+
+ JacPDupwindNthSymm2gt11 = PDupwindNthSymm2gt11;
+
+ JacPDupwindNthSymm2gt12 = PDupwindNthSymm2gt12;
+
+ JacPDupwindNthSymm2gt13 = PDupwindNthSymm2gt13;
+
+ JacPDupwindNthSymm2gt22 = PDupwindNthSymm2gt22;
+
+ JacPDupwindNthSymm2gt23 = PDupwindNthSymm2gt23;
+
+ JacPDupwindNthSymm2gt33 = PDupwindNthSymm2gt33;
+
+ JacPDupwindNthSymm2phi = PDupwindNthSymm2phi;
+
+ JacPDupwindNthSymm2trK = PDupwindNthSymm2trK;
+
+ JacPDupwindNthSymm2Xt1 = PDupwindNthSymm2Xt1;
+
+ JacPDupwindNthSymm2Xt2 = PDupwindNthSymm2Xt2;
+
+ JacPDupwindNthSymm2Xt3 = PDupwindNthSymm2Xt3;
+
+ JacPDupwindNthAnti3A = PDupwindNthAnti3A;
+
+ JacPDupwindNthAnti3alpha = PDupwindNthAnti3alpha;
+
+ JacPDupwindNthAnti3At11 = PDupwindNthAnti3At11;
+
+ JacPDupwindNthAnti3At12 = PDupwindNthAnti3At12;
+
+ JacPDupwindNthAnti3At13 = PDupwindNthAnti3At13;
+
+ JacPDupwindNthAnti3At22 = PDupwindNthAnti3At22;
+
+ JacPDupwindNthAnti3At23 = PDupwindNthAnti3At23;
+
+ JacPDupwindNthAnti3At33 = PDupwindNthAnti3At33;
+
+ JacPDupwindNthAnti3B1 = PDupwindNthAnti3B1;
+
+ JacPDupwindNthAnti3B2 = PDupwindNthAnti3B2;
+
+ JacPDupwindNthAnti3B3 = PDupwindNthAnti3B3;
+
+ JacPDupwindNthAnti3beta1 = PDupwindNthAnti3beta1;
+
+ JacPDupwindNthAnti3beta2 = PDupwindNthAnti3beta2;
+
+ JacPDupwindNthAnti3beta3 = PDupwindNthAnti3beta3;
+
+ JacPDupwindNthAnti3gt11 = PDupwindNthAnti3gt11;
+
+ JacPDupwindNthAnti3gt12 = PDupwindNthAnti3gt12;
+
+ JacPDupwindNthAnti3gt13 = PDupwindNthAnti3gt13;
+
+ JacPDupwindNthAnti3gt22 = PDupwindNthAnti3gt22;
+
+ JacPDupwindNthAnti3gt23 = PDupwindNthAnti3gt23;
+
+ JacPDupwindNthAnti3gt33 = PDupwindNthAnti3gt33;
+
+ JacPDupwindNthAnti3phi = PDupwindNthAnti3phi;
+
+ JacPDupwindNthAnti3trK = PDupwindNthAnti3trK;
+
+ JacPDupwindNthAnti3Xt1 = PDupwindNthAnti3Xt1;
+
+ JacPDupwindNthAnti3Xt2 = PDupwindNthAnti3Xt2;
+
+ JacPDupwindNthAnti3Xt3 = PDupwindNthAnti3Xt3;
+
+ JacPDupwindNthSymm3A = PDupwindNthSymm3A;
+
+ JacPDupwindNthSymm3alpha = PDupwindNthSymm3alpha;
+
+ JacPDupwindNthSymm3At11 = PDupwindNthSymm3At11;
+
+ JacPDupwindNthSymm3At12 = PDupwindNthSymm3At12;
+
+ JacPDupwindNthSymm3At13 = PDupwindNthSymm3At13;
+
+ JacPDupwindNthSymm3At22 = PDupwindNthSymm3At22;
+
+ JacPDupwindNthSymm3At23 = PDupwindNthSymm3At23;
+
+ JacPDupwindNthSymm3At33 = PDupwindNthSymm3At33;
+
+ JacPDupwindNthSymm3B1 = PDupwindNthSymm3B1;
+
+ JacPDupwindNthSymm3B2 = PDupwindNthSymm3B2;
+
+ JacPDupwindNthSymm3B3 = PDupwindNthSymm3B3;
+
+ JacPDupwindNthSymm3beta1 = PDupwindNthSymm3beta1;
+
+ JacPDupwindNthSymm3beta2 = PDupwindNthSymm3beta2;
+
+ JacPDupwindNthSymm3beta3 = PDupwindNthSymm3beta3;
+
+ JacPDupwindNthSymm3gt11 = PDupwindNthSymm3gt11;
+
+ JacPDupwindNthSymm3gt12 = PDupwindNthSymm3gt12;
+
+ JacPDupwindNthSymm3gt13 = PDupwindNthSymm3gt13;
+
+ JacPDupwindNthSymm3gt22 = PDupwindNthSymm3gt22;
+
+ JacPDupwindNthSymm3gt23 = PDupwindNthSymm3gt23;
+
+ JacPDupwindNthSymm3gt33 = PDupwindNthSymm3gt33;
+
+ JacPDupwindNthSymm3phi = PDupwindNthSymm3phi;
+
+ JacPDupwindNthSymm3trK = PDupwindNthSymm3trK;
+
+ JacPDupwindNthSymm3Xt1 = PDupwindNthSymm3Xt1;
+
+ JacPDupwindNthSymm3Xt2 = PDupwindNthSymm3Xt2;
+
+ JacPDupwindNthSymm3Xt3 = PDupwindNthSymm3Xt3;
+ }
+
ptrdiff_t dir1 = Sign(beta1L);
ptrdiff_t dir2 = Sign(beta2L);
ptrdiff_t dir3 = Sign(beta3L);
- phirhsL = (beta1L*J11L + beta2L*J12L +
- beta3L*J13L)*PDupwindNthAnti1phi + (beta1L*J21L + beta2L*J22L +
- beta3L*J23L)*PDupwindNthAnti2phi + (beta1L*J31L + beta2L*J32L +
- beta3L*J33L)*PDupwindNthAnti3phi + phirhsL + (J11L*PDupwindNthSymm1phi
- + J21L*PDupwindNthSymm2phi + J31L*PDupwindNthSymm3phi)*Abs(beta1L) +
- (J12L*PDupwindNthSymm1phi + J22L*PDupwindNthSymm2phi +
- J32L*PDupwindNthSymm3phi)*Abs(beta2L) + (J13L*PDupwindNthSymm1phi +
- J23L*PDupwindNthSymm2phi + J33L*PDupwindNthSymm3phi)*Abs(beta3L);
-
- gt11rhsL = gt11rhsL + (beta1L*J11L + beta2L*J12L +
- beta3L*J13L)*PDupwindNthAnti1gt11 + (beta1L*J21L + beta2L*J22L +
- beta3L*J23L)*PDupwindNthAnti2gt11 + (beta1L*J31L + beta2L*J32L +
- beta3L*J33L)*PDupwindNthAnti3gt11 + (J11L*PDupwindNthSymm1gt11 +
- J21L*PDupwindNthSymm2gt11 + J31L*PDupwindNthSymm3gt11)*Abs(beta1L) +
- (J12L*PDupwindNthSymm1gt11 + J22L*PDupwindNthSymm2gt11 +
- J32L*PDupwindNthSymm3gt11)*Abs(beta2L) + (J13L*PDupwindNthSymm1gt11 +
- J23L*PDupwindNthSymm2gt11 + J33L*PDupwindNthSymm3gt11)*Abs(beta3L);
-
- gt12rhsL = gt12rhsL + (beta1L*J11L + beta2L*J12L +
- beta3L*J13L)*PDupwindNthAnti1gt12 + (beta1L*J21L + beta2L*J22L +
- beta3L*J23L)*PDupwindNthAnti2gt12 + (beta1L*J31L + beta2L*J32L +
- beta3L*J33L)*PDupwindNthAnti3gt12 + (J11L*PDupwindNthSymm1gt12 +
- J21L*PDupwindNthSymm2gt12 + J31L*PDupwindNthSymm3gt12)*Abs(beta1L) +
- (J12L*PDupwindNthSymm1gt12 + J22L*PDupwindNthSymm2gt12 +
- J32L*PDupwindNthSymm3gt12)*Abs(beta2L) + (J13L*PDupwindNthSymm1gt12 +
- J23L*PDupwindNthSymm2gt12 + J33L*PDupwindNthSymm3gt12)*Abs(beta3L);
-
- gt13rhsL = gt13rhsL + (beta1L*J11L + beta2L*J12L +
- beta3L*J13L)*PDupwindNthAnti1gt13 + (beta1L*J21L + beta2L*J22L +
- beta3L*J23L)*PDupwindNthAnti2gt13 + (beta1L*J31L + beta2L*J32L +
- beta3L*J33L)*PDupwindNthAnti3gt13 + (J11L*PDupwindNthSymm1gt13 +
- J21L*PDupwindNthSymm2gt13 + J31L*PDupwindNthSymm3gt13)*Abs(beta1L) +
- (J12L*PDupwindNthSymm1gt13 + J22L*PDupwindNthSymm2gt13 +
- J32L*PDupwindNthSymm3gt13)*Abs(beta2L) + (J13L*PDupwindNthSymm1gt13 +
- J23L*PDupwindNthSymm2gt13 + J33L*PDupwindNthSymm3gt13)*Abs(beta3L);
-
- gt22rhsL = gt22rhsL + (beta1L*J11L + beta2L*J12L +
- beta3L*J13L)*PDupwindNthAnti1gt22 + (beta1L*J21L + beta2L*J22L +
- beta3L*J23L)*PDupwindNthAnti2gt22 + (beta1L*J31L + beta2L*J32L +
- beta3L*J33L)*PDupwindNthAnti3gt22 + (J11L*PDupwindNthSymm1gt22 +
- J21L*PDupwindNthSymm2gt22 + J31L*PDupwindNthSymm3gt22)*Abs(beta1L) +
- (J12L*PDupwindNthSymm1gt22 + J22L*PDupwindNthSymm2gt22 +
- J32L*PDupwindNthSymm3gt22)*Abs(beta2L) + (J13L*PDupwindNthSymm1gt22 +
- J23L*PDupwindNthSymm2gt22 + J33L*PDupwindNthSymm3gt22)*Abs(beta3L);
-
- gt23rhsL = gt23rhsL + (beta1L*J11L + beta2L*J12L +
- beta3L*J13L)*PDupwindNthAnti1gt23 + (beta1L*J21L + beta2L*J22L +
- beta3L*J23L)*PDupwindNthAnti2gt23 + (beta1L*J31L + beta2L*J32L +
- beta3L*J33L)*PDupwindNthAnti3gt23 + (J11L*PDupwindNthSymm1gt23 +
- J21L*PDupwindNthSymm2gt23 + J31L*PDupwindNthSymm3gt23)*Abs(beta1L) +
- (J12L*PDupwindNthSymm1gt23 + J22L*PDupwindNthSymm2gt23 +
- J32L*PDupwindNthSymm3gt23)*Abs(beta2L) + (J13L*PDupwindNthSymm1gt23 +
- J23L*PDupwindNthSymm2gt23 + J33L*PDupwindNthSymm3gt23)*Abs(beta3L);
-
- gt33rhsL = gt33rhsL + (beta1L*J11L + beta2L*J12L +
- beta3L*J13L)*PDupwindNthAnti1gt33 + (beta1L*J21L + beta2L*J22L +
- beta3L*J23L)*PDupwindNthAnti2gt33 + (beta1L*J31L + beta2L*J32L +
- beta3L*J33L)*PDupwindNthAnti3gt33 + (J11L*PDupwindNthSymm1gt33 +
- J21L*PDupwindNthSymm2gt33 + J31L*PDupwindNthSymm3gt33)*Abs(beta1L) +
- (J12L*PDupwindNthSymm1gt33 + J22L*PDupwindNthSymm2gt33 +
- J32L*PDupwindNthSymm3gt33)*Abs(beta2L) + (J13L*PDupwindNthSymm1gt33 +
- J23L*PDupwindNthSymm2gt33 + J33L*PDupwindNthSymm3gt33)*Abs(beta3L);
-
- Xt1rhsL = (beta1L*J11L + beta2L*J12L +
- beta3L*J13L)*PDupwindNthAnti1Xt1 + (beta1L*J21L + beta2L*J22L +
- beta3L*J23L)*PDupwindNthAnti2Xt1 + (beta1L*J31L + beta2L*J32L +
- beta3L*J33L)*PDupwindNthAnti3Xt1 + Xt1rhsL + (J11L*PDupwindNthSymm1Xt1
- + J21L*PDupwindNthSymm2Xt1 + J31L*PDupwindNthSymm3Xt1)*Abs(beta1L) +
- (J12L*PDupwindNthSymm1Xt1 + J22L*PDupwindNthSymm2Xt1 +
- J32L*PDupwindNthSymm3Xt1)*Abs(beta2L) + (J13L*PDupwindNthSymm1Xt1 +
- J23L*PDupwindNthSymm2Xt1 + J33L*PDupwindNthSymm3Xt1)*Abs(beta3L);
-
- Xt2rhsL = (beta1L*J11L + beta2L*J12L +
- beta3L*J13L)*PDupwindNthAnti1Xt2 + (beta1L*J21L + beta2L*J22L +
- beta3L*J23L)*PDupwindNthAnti2Xt2 + (beta1L*J31L + beta2L*J32L +
- beta3L*J33L)*PDupwindNthAnti3Xt2 + Xt2rhsL + (J11L*PDupwindNthSymm1Xt2
- + J21L*PDupwindNthSymm2Xt2 + J31L*PDupwindNthSymm3Xt2)*Abs(beta1L) +
- (J12L*PDupwindNthSymm1Xt2 + J22L*PDupwindNthSymm2Xt2 +
- J32L*PDupwindNthSymm3Xt2)*Abs(beta2L) + (J13L*PDupwindNthSymm1Xt2 +
- J23L*PDupwindNthSymm2Xt2 + J33L*PDupwindNthSymm3Xt2)*Abs(beta3L);
-
- Xt3rhsL = (beta1L*J11L + beta2L*J12L +
- beta3L*J13L)*PDupwindNthAnti1Xt3 + (beta1L*J21L + beta2L*J22L +
- beta3L*J23L)*PDupwindNthAnti2Xt3 + (beta1L*J31L + beta2L*J32L +
- beta3L*J33L)*PDupwindNthAnti3Xt3 + Xt3rhsL + (J11L*PDupwindNthSymm1Xt3
- + J21L*PDupwindNthSymm2Xt3 + J31L*PDupwindNthSymm3Xt3)*Abs(beta1L) +
- (J12L*PDupwindNthSymm1Xt3 + J22L*PDupwindNthSymm2Xt3 +
- J32L*PDupwindNthSymm3Xt3)*Abs(beta2L) + (J13L*PDupwindNthSymm1Xt3 +
- J23L*PDupwindNthSymm2Xt3 + J33L*PDupwindNthSymm3Xt3)*Abs(beta3L);
-
- trKrhsL = (beta1L*J11L + beta2L*J12L +
- beta3L*J13L)*PDupwindNthAnti1trK + (beta1L*J21L + beta2L*J22L +
- beta3L*J23L)*PDupwindNthAnti2trK + (beta1L*J31L + beta2L*J32L +
- beta3L*J33L)*PDupwindNthAnti3trK + trKrhsL + (J11L*PDupwindNthSymm1trK
- + J21L*PDupwindNthSymm2trK + J31L*PDupwindNthSymm3trK)*Abs(beta1L) +
- (J12L*PDupwindNthSymm1trK + J22L*PDupwindNthSymm2trK +
- J32L*PDupwindNthSymm3trK)*Abs(beta2L) + (J13L*PDupwindNthSymm1trK +
- J23L*PDupwindNthSymm2trK + J33L*PDupwindNthSymm3trK)*Abs(beta3L);
-
- At11rhsL = At11rhsL + (beta1L*J11L + beta2L*J12L +
- beta3L*J13L)*PDupwindNthAnti1At11 + (beta1L*J21L + beta2L*J22L +
- beta3L*J23L)*PDupwindNthAnti2At11 + (beta1L*J31L + beta2L*J32L +
- beta3L*J33L)*PDupwindNthAnti3At11 + (J11L*PDupwindNthSymm1At11 +
- J21L*PDupwindNthSymm2At11 + J31L*PDupwindNthSymm3At11)*Abs(beta1L) +
- (J12L*PDupwindNthSymm1At11 + J22L*PDupwindNthSymm2At11 +
- J32L*PDupwindNthSymm3At11)*Abs(beta2L) + (J13L*PDupwindNthSymm1At11 +
- J23L*PDupwindNthSymm2At11 + J33L*PDupwindNthSymm3At11)*Abs(beta3L);
-
- At12rhsL = At12rhsL + (beta1L*J11L + beta2L*J12L +
- beta3L*J13L)*PDupwindNthAnti1At12 + (beta1L*J21L + beta2L*J22L +
- beta3L*J23L)*PDupwindNthAnti2At12 + (beta1L*J31L + beta2L*J32L +
- beta3L*J33L)*PDupwindNthAnti3At12 + (J11L*PDupwindNthSymm1At12 +
- J21L*PDupwindNthSymm2At12 + J31L*PDupwindNthSymm3At12)*Abs(beta1L) +
- (J12L*PDupwindNthSymm1At12 + J22L*PDupwindNthSymm2At12 +
- J32L*PDupwindNthSymm3At12)*Abs(beta2L) + (J13L*PDupwindNthSymm1At12 +
- J23L*PDupwindNthSymm2At12 + J33L*PDupwindNthSymm3At12)*Abs(beta3L);
-
- At13rhsL = At13rhsL + (beta1L*J11L + beta2L*J12L +
- beta3L*J13L)*PDupwindNthAnti1At13 + (beta1L*J21L + beta2L*J22L +
- beta3L*J23L)*PDupwindNthAnti2At13 + (beta1L*J31L + beta2L*J32L +
- beta3L*J33L)*PDupwindNthAnti3At13 + (J11L*PDupwindNthSymm1At13 +
- J21L*PDupwindNthSymm2At13 + J31L*PDupwindNthSymm3At13)*Abs(beta1L) +
- (J12L*PDupwindNthSymm1At13 + J22L*PDupwindNthSymm2At13 +
- J32L*PDupwindNthSymm3At13)*Abs(beta2L) + (J13L*PDupwindNthSymm1At13 +
- J23L*PDupwindNthSymm2At13 + J33L*PDupwindNthSymm3At13)*Abs(beta3L);
-
- At22rhsL = At22rhsL + (beta1L*J11L + beta2L*J12L +
- beta3L*J13L)*PDupwindNthAnti1At22 + (beta1L*J21L + beta2L*J22L +
- beta3L*J23L)*PDupwindNthAnti2At22 + (beta1L*J31L + beta2L*J32L +
- beta3L*J33L)*PDupwindNthAnti3At22 + (J11L*PDupwindNthSymm1At22 +
- J21L*PDupwindNthSymm2At22 + J31L*PDupwindNthSymm3At22)*Abs(beta1L) +
- (J12L*PDupwindNthSymm1At22 + J22L*PDupwindNthSymm2At22 +
- J32L*PDupwindNthSymm3At22)*Abs(beta2L) + (J13L*PDupwindNthSymm1At22 +
- J23L*PDupwindNthSymm2At22 + J33L*PDupwindNthSymm3At22)*Abs(beta3L);
-
- At23rhsL = At23rhsL + (beta1L*J11L + beta2L*J12L +
- beta3L*J13L)*PDupwindNthAnti1At23 + (beta1L*J21L + beta2L*J22L +
- beta3L*J23L)*PDupwindNthAnti2At23 + (beta1L*J31L + beta2L*J32L +
- beta3L*J33L)*PDupwindNthAnti3At23 + (J11L*PDupwindNthSymm1At23 +
- J21L*PDupwindNthSymm2At23 + J31L*PDupwindNthSymm3At23)*Abs(beta1L) +
- (J12L*PDupwindNthSymm1At23 + J22L*PDupwindNthSymm2At23 +
- J32L*PDupwindNthSymm3At23)*Abs(beta2L) + (J13L*PDupwindNthSymm1At23 +
- J23L*PDupwindNthSymm2At23 + J33L*PDupwindNthSymm3At23)*Abs(beta3L);
-
- At33rhsL = At33rhsL + (beta1L*J11L + beta2L*J12L +
- beta3L*J13L)*PDupwindNthAnti1At33 + (beta1L*J21L + beta2L*J22L +
- beta3L*J23L)*PDupwindNthAnti2At33 + (beta1L*J31L + beta2L*J32L +
- beta3L*J33L)*PDupwindNthAnti3At33 + (J11L*PDupwindNthSymm1At33 +
- J21L*PDupwindNthSymm2At33 + J31L*PDupwindNthSymm3At33)*Abs(beta1L) +
- (J12L*PDupwindNthSymm1At33 + J22L*PDupwindNthSymm2At33 +
- J32L*PDupwindNthSymm3At33)*Abs(beta2L) + (J13L*PDupwindNthSymm1At33 +
- J23L*PDupwindNthSymm2At33 + J33L*PDupwindNthSymm3At33)*Abs(beta3L);
-
- alpharhsL = alpharhsL + ((beta1L*J11L + beta2L*J12L +
- beta3L*J13L)*PDupwindNthAnti1alpha + (beta1L*J21L + beta2L*J22L +
- beta3L*J23L)*PDupwindNthAnti2alpha + (beta1L*J31L + beta2L*J32L +
- beta3L*J33L)*PDupwindNthAnti3alpha + (J11L*PDupwindNthSymm1alpha +
- J21L*PDupwindNthSymm2alpha + J31L*PDupwindNthSymm3alpha)*Abs(beta1L) +
- (J12L*PDupwindNthSymm1alpha + J22L*PDupwindNthSymm2alpha +
- J32L*PDupwindNthSymm3alpha)*Abs(beta2L) + (J13L*PDupwindNthSymm1alpha +
- J23L*PDupwindNthSymm2alpha +
- J33L*PDupwindNthSymm3alpha)*Abs(beta3L))*ToReal(LapseAdvectionCoeff);
-
- ArhsL = ArhsL + ((beta1L*J11L + beta2L*J12L +
- beta3L*J13L)*PDupwindNthAnti1A + (beta1L*J21L + beta2L*J22L +
- beta3L*J23L)*PDupwindNthAnti2A + (beta1L*J31L + beta2L*J32L +
- beta3L*J33L)*PDupwindNthAnti3A + (J11L*PDupwindNthSymm1A +
- J21L*PDupwindNthSymm2A + J31L*PDupwindNthSymm3A)*Abs(beta1L) +
- (J12L*PDupwindNthSymm1A + J22L*PDupwindNthSymm2A +
- J32L*PDupwindNthSymm3A)*Abs(beta2L) + (J13L*PDupwindNthSymm1A +
- J23L*PDupwindNthSymm2A +
- J33L*PDupwindNthSymm3A)*Abs(beta3L))*ToReal(LapseAdvectionCoeff);
-
- beta1rhsL = beta1rhsL + ((beta1L*J11L + beta2L*J12L +
- beta3L*J13L)*PDupwindNthAnti1beta1 + (beta1L*J21L + beta2L*J22L +
- beta3L*J23L)*PDupwindNthAnti2beta1 + (beta1L*J31L + beta2L*J32L +
- beta3L*J33L)*PDupwindNthAnti3beta1 + (J11L*PDupwindNthSymm1beta1 +
- J21L*PDupwindNthSymm2beta1 + J31L*PDupwindNthSymm3beta1)*Abs(beta1L) +
- (J12L*PDupwindNthSymm1beta1 + J22L*PDupwindNthSymm2beta1 +
- J32L*PDupwindNthSymm3beta1)*Abs(beta2L) + (J13L*PDupwindNthSymm1beta1 +
- J23L*PDupwindNthSymm2beta1 +
- J33L*PDupwindNthSymm3beta1)*Abs(beta3L))*ToReal(ShiftAdvectionCoeff);
-
- beta2rhsL = beta2rhsL + ((beta1L*J11L + beta2L*J12L +
- beta3L*J13L)*PDupwindNthAnti1beta2 + (beta1L*J21L + beta2L*J22L +
- beta3L*J23L)*PDupwindNthAnti2beta2 + (beta1L*J31L + beta2L*J32L +
- beta3L*J33L)*PDupwindNthAnti3beta2 + (J11L*PDupwindNthSymm1beta2 +
- J21L*PDupwindNthSymm2beta2 + J31L*PDupwindNthSymm3beta2)*Abs(beta1L) +
- (J12L*PDupwindNthSymm1beta2 + J22L*PDupwindNthSymm2beta2 +
- J32L*PDupwindNthSymm3beta2)*Abs(beta2L) + (J13L*PDupwindNthSymm1beta2 +
- J23L*PDupwindNthSymm2beta2 +
- J33L*PDupwindNthSymm3beta2)*Abs(beta3L))*ToReal(ShiftAdvectionCoeff);
-
- beta3rhsL = beta3rhsL + ((beta1L*J11L + beta2L*J12L +
- beta3L*J13L)*PDupwindNthAnti1beta3 + (beta1L*J21L + beta2L*J22L +
- beta3L*J23L)*PDupwindNthAnti2beta3 + (beta1L*J31L + beta2L*J32L +
- beta3L*J33L)*PDupwindNthAnti3beta3 + (J11L*PDupwindNthSymm1beta3 +
- J21L*PDupwindNthSymm2beta3 + J31L*PDupwindNthSymm3beta3)*Abs(beta1L) +
- (J12L*PDupwindNthSymm1beta3 + J22L*PDupwindNthSymm2beta3 +
- J32L*PDupwindNthSymm3beta3)*Abs(beta2L) + (J13L*PDupwindNthSymm1beta3 +
- J23L*PDupwindNthSymm2beta3 +
- J33L*PDupwindNthSymm3beta3)*Abs(beta3L))*ToReal(ShiftAdvectionCoeff);
-
- B1rhsL = B1rhsL + ((beta1L*J11L + beta2L*J12L +
- beta3L*J13L)*(PDupwindNthAnti1B1 - PDupwindNthAnti1Xt1) + (beta1L*J21L
- + beta2L*J22L + beta3L*J23L)*(PDupwindNthAnti2B1 - PDupwindNthAnti2Xt1)
- + (beta1L*J31L + beta2L*J32L + beta3L*J33L)*PDupwindNthAnti3B1 +
- (-(beta1L*J31L) - beta2L*J32L - beta3L*J33L)*PDupwindNthAnti3Xt1 +
- J11L*(PDupwindNthSymm1B1 - PDupwindNthSymm1Xt1)*Abs(beta1L) +
- J21L*(PDupwindNthSymm2B1 - PDupwindNthSymm2Xt1)*Abs(beta1L) +
- J31L*(PDupwindNthSymm3B1 - PDupwindNthSymm3Xt1)*Abs(beta1L) +
- J12L*(PDupwindNthSymm1B1 - PDupwindNthSymm1Xt1)*Abs(beta2L) +
- J22L*(PDupwindNthSymm2B1 - PDupwindNthSymm2Xt1)*Abs(beta2L) +
- J32L*(PDupwindNthSymm3B1 - PDupwindNthSymm3Xt1)*Abs(beta2L) +
- J13L*(PDupwindNthSymm1B1 - PDupwindNthSymm1Xt1)*Abs(beta3L) +
- J23L*(PDupwindNthSymm2B1 - PDupwindNthSymm2Xt1)*Abs(beta3L) +
- J33L*(PDupwindNthSymm3B1 -
- PDupwindNthSymm3Xt1)*Abs(beta3L))*ToReal(ShiftAdvectionCoeff) +
- ((beta1L*J11L + beta2L*J12L + beta3L*J13L)*PDupwindNthAnti1Xt1 +
- (beta1L*J21L + beta2L*J22L + beta3L*J23L)*PDupwindNthAnti2Xt1 +
- (beta1L*J31L + beta2L*J32L + beta3L*J33L)*PDupwindNthAnti3Xt1 +
- (J11L*PDupwindNthSymm1Xt1 + J21L*PDupwindNthSymm2Xt1 +
- J31L*PDupwindNthSymm3Xt1)*Abs(beta1L) + (J12L*PDupwindNthSymm1Xt1 +
- J22L*PDupwindNthSymm2Xt1 + J32L*PDupwindNthSymm3Xt1)*Abs(beta2L) +
- (J13L*PDupwindNthSymm1Xt1 + J23L*PDupwindNthSymm2Xt1 +
- J33L*PDupwindNthSymm3Xt1)*Abs(beta3L))*ToReal(ShiftBCoeff);
-
- B2rhsL = B2rhsL + ((beta1L*J11L + beta2L*J12L +
- beta3L*J13L)*(PDupwindNthAnti1B2 - PDupwindNthAnti1Xt2) + (beta1L*J21L
- + beta2L*J22L + beta3L*J23L)*(PDupwindNthAnti2B2 - PDupwindNthAnti2Xt2)
- + (beta1L*J31L + beta2L*J32L + beta3L*J33L)*PDupwindNthAnti3B2 +
- (-(beta1L*J31L) - beta2L*J32L - beta3L*J33L)*PDupwindNthAnti3Xt2 +
- J11L*(PDupwindNthSymm1B2 - PDupwindNthSymm1Xt2)*Abs(beta1L) +
- J21L*(PDupwindNthSymm2B2 - PDupwindNthSymm2Xt2)*Abs(beta1L) +
- J31L*(PDupwindNthSymm3B2 - PDupwindNthSymm3Xt2)*Abs(beta1L) +
- J12L*(PDupwindNthSymm1B2 - PDupwindNthSymm1Xt2)*Abs(beta2L) +
- J22L*(PDupwindNthSymm2B2 - PDupwindNthSymm2Xt2)*Abs(beta2L) +
- J32L*(PDupwindNthSymm3B2 - PDupwindNthSymm3Xt2)*Abs(beta2L) +
- J13L*(PDupwindNthSymm1B2 - PDupwindNthSymm1Xt2)*Abs(beta3L) +
- J23L*(PDupwindNthSymm2B2 - PDupwindNthSymm2Xt2)*Abs(beta3L) +
- J33L*(PDupwindNthSymm3B2 -
- PDupwindNthSymm3Xt2)*Abs(beta3L))*ToReal(ShiftAdvectionCoeff) +
- ((beta1L*J11L + beta2L*J12L + beta3L*J13L)*PDupwindNthAnti1Xt2 +
- (beta1L*J21L + beta2L*J22L + beta3L*J23L)*PDupwindNthAnti2Xt2 +
- (beta1L*J31L + beta2L*J32L + beta3L*J33L)*PDupwindNthAnti3Xt2 +
- (J11L*PDupwindNthSymm1Xt2 + J21L*PDupwindNthSymm2Xt2 +
- J31L*PDupwindNthSymm3Xt2)*Abs(beta1L) + (J12L*PDupwindNthSymm1Xt2 +
- J22L*PDupwindNthSymm2Xt2 + J32L*PDupwindNthSymm3Xt2)*Abs(beta2L) +
- (J13L*PDupwindNthSymm1Xt2 + J23L*PDupwindNthSymm2Xt2 +
- J33L*PDupwindNthSymm3Xt2)*Abs(beta3L))*ToReal(ShiftBCoeff);
-
- B3rhsL = B3rhsL + ((beta1L*J11L + beta2L*J12L +
- beta3L*J13L)*(PDupwindNthAnti1B3 - PDupwindNthAnti1Xt3) + (beta1L*J21L
- + beta2L*J22L + beta3L*J23L)*(PDupwindNthAnti2B3 - PDupwindNthAnti2Xt3)
- + (beta1L*J31L + beta2L*J32L + beta3L*J33L)*PDupwindNthAnti3B3 +
- (-(beta1L*J31L) - beta2L*J32L - beta3L*J33L)*PDupwindNthAnti3Xt3 +
- J11L*(PDupwindNthSymm1B3 - PDupwindNthSymm1Xt3)*Abs(beta1L) +
- J21L*(PDupwindNthSymm2B3 - PDupwindNthSymm2Xt3)*Abs(beta1L) +
- J31L*(PDupwindNthSymm3B3 - PDupwindNthSymm3Xt3)*Abs(beta1L) +
- J12L*(PDupwindNthSymm1B3 - PDupwindNthSymm1Xt3)*Abs(beta2L) +
- J22L*(PDupwindNthSymm2B3 - PDupwindNthSymm2Xt3)*Abs(beta2L) +
- J32L*(PDupwindNthSymm3B3 - PDupwindNthSymm3Xt3)*Abs(beta2L) +
- J13L*(PDupwindNthSymm1B3 - PDupwindNthSymm1Xt3)*Abs(beta3L) +
- J23L*(PDupwindNthSymm2B3 - PDupwindNthSymm2Xt3)*Abs(beta3L) +
- J33L*(PDupwindNthSymm3B3 -
- PDupwindNthSymm3Xt3)*Abs(beta3L))*ToReal(ShiftAdvectionCoeff) +
- ((beta1L*J11L + beta2L*J12L + beta3L*J13L)*PDupwindNthAnti1Xt3 +
- (beta1L*J21L + beta2L*J22L + beta3L*J23L)*PDupwindNthAnti2Xt3 +
- (beta1L*J31L + beta2L*J32L + beta3L*J33L)*PDupwindNthAnti3Xt3 +
- (J11L*PDupwindNthSymm1Xt3 + J21L*PDupwindNthSymm2Xt3 +
- J31L*PDupwindNthSymm3Xt3)*Abs(beta1L) + (J12L*PDupwindNthSymm1Xt3 +
- J22L*PDupwindNthSymm2Xt3 + J32L*PDupwindNthSymm3Xt3)*Abs(beta2L) +
- (J13L*PDupwindNthSymm1Xt3 + J23L*PDupwindNthSymm2Xt3 +
- J33L*PDupwindNthSymm3Xt3)*Abs(beta3L))*ToReal(ShiftBCoeff);
+ phirhsL = beta1L*JacPDupwindNthAnti1phi +
+ beta2L*JacPDupwindNthAnti2phi + beta3L*JacPDupwindNthAnti3phi + phirhsL
+ + JacPDupwindNthSymm1phi*Abs(beta1L) +
+ JacPDupwindNthSymm2phi*Abs(beta2L) +
+ JacPDupwindNthSymm3phi*Abs(beta3L);
+
+ gt11rhsL = gt11rhsL + beta1L*JacPDupwindNthAnti1gt11 +
+ beta2L*JacPDupwindNthAnti2gt11 + beta3L*JacPDupwindNthAnti3gt11 +
+ JacPDupwindNthSymm1gt11*Abs(beta1L) +
+ JacPDupwindNthSymm2gt11*Abs(beta2L) +
+ JacPDupwindNthSymm3gt11*Abs(beta3L);
+
+ gt12rhsL = gt12rhsL + beta1L*JacPDupwindNthAnti1gt12 +
+ beta2L*JacPDupwindNthAnti2gt12 + beta3L*JacPDupwindNthAnti3gt12 +
+ JacPDupwindNthSymm1gt12*Abs(beta1L) +
+ JacPDupwindNthSymm2gt12*Abs(beta2L) +
+ JacPDupwindNthSymm3gt12*Abs(beta3L);
+
+ gt13rhsL = gt13rhsL + beta1L*JacPDupwindNthAnti1gt13 +
+ beta2L*JacPDupwindNthAnti2gt13 + beta3L*JacPDupwindNthAnti3gt13 +
+ JacPDupwindNthSymm1gt13*Abs(beta1L) +
+ JacPDupwindNthSymm2gt13*Abs(beta2L) +
+ JacPDupwindNthSymm3gt13*Abs(beta3L);
+
+ gt22rhsL = gt22rhsL + beta1L*JacPDupwindNthAnti1gt22 +
+ beta2L*JacPDupwindNthAnti2gt22 + beta3L*JacPDupwindNthAnti3gt22 +
+ JacPDupwindNthSymm1gt22*Abs(beta1L) +
+ JacPDupwindNthSymm2gt22*Abs(beta2L) +
+ JacPDupwindNthSymm3gt22*Abs(beta3L);
+
+ gt23rhsL = gt23rhsL + beta1L*JacPDupwindNthAnti1gt23 +
+ beta2L*JacPDupwindNthAnti2gt23 + beta3L*JacPDupwindNthAnti3gt23 +
+ JacPDupwindNthSymm1gt23*Abs(beta1L) +
+ JacPDupwindNthSymm2gt23*Abs(beta2L) +
+ JacPDupwindNthSymm3gt23*Abs(beta3L);
+
+ gt33rhsL = gt33rhsL + beta1L*JacPDupwindNthAnti1gt33 +
+ beta2L*JacPDupwindNthAnti2gt33 + beta3L*JacPDupwindNthAnti3gt33 +
+ JacPDupwindNthSymm1gt33*Abs(beta1L) +
+ JacPDupwindNthSymm2gt33*Abs(beta2L) +
+ JacPDupwindNthSymm3gt33*Abs(beta3L);
+
+ Xt1rhsL = beta1L*JacPDupwindNthAnti1Xt1 +
+ beta2L*JacPDupwindNthAnti2Xt1 + beta3L*JacPDupwindNthAnti3Xt1 + Xt1rhsL
+ + JacPDupwindNthSymm1Xt1*Abs(beta1L) +
+ JacPDupwindNthSymm2Xt1*Abs(beta2L) +
+ JacPDupwindNthSymm3Xt1*Abs(beta3L);
+
+ Xt2rhsL = beta1L*JacPDupwindNthAnti1Xt2 +
+ beta2L*JacPDupwindNthAnti2Xt2 + beta3L*JacPDupwindNthAnti3Xt2 + Xt2rhsL
+ + JacPDupwindNthSymm1Xt2*Abs(beta1L) +
+ JacPDupwindNthSymm2Xt2*Abs(beta2L) +
+ JacPDupwindNthSymm3Xt2*Abs(beta3L);
+
+ Xt3rhsL = beta1L*JacPDupwindNthAnti1Xt3 +
+ beta2L*JacPDupwindNthAnti2Xt3 + beta3L*JacPDupwindNthAnti3Xt3 + Xt3rhsL
+ + JacPDupwindNthSymm1Xt3*Abs(beta1L) +
+ JacPDupwindNthSymm2Xt3*Abs(beta2L) +
+ JacPDupwindNthSymm3Xt3*Abs(beta3L);
+
+ trKrhsL = beta1L*JacPDupwindNthAnti1trK +
+ beta2L*JacPDupwindNthAnti2trK + beta3L*JacPDupwindNthAnti3trK + trKrhsL
+ + JacPDupwindNthSymm1trK*Abs(beta1L) +
+ JacPDupwindNthSymm2trK*Abs(beta2L) +
+ JacPDupwindNthSymm3trK*Abs(beta3L);
+
+ At11rhsL = At11rhsL + beta1L*JacPDupwindNthAnti1At11 +
+ beta2L*JacPDupwindNthAnti2At11 + beta3L*JacPDupwindNthAnti3At11 +
+ JacPDupwindNthSymm1At11*Abs(beta1L) +
+ JacPDupwindNthSymm2At11*Abs(beta2L) +
+ JacPDupwindNthSymm3At11*Abs(beta3L);
+
+ At12rhsL = At12rhsL + beta1L*JacPDupwindNthAnti1At12 +
+ beta2L*JacPDupwindNthAnti2At12 + beta3L*JacPDupwindNthAnti3At12 +
+ JacPDupwindNthSymm1At12*Abs(beta1L) +
+ JacPDupwindNthSymm2At12*Abs(beta2L) +
+ JacPDupwindNthSymm3At12*Abs(beta3L);
+
+ At13rhsL = At13rhsL + beta1L*JacPDupwindNthAnti1At13 +
+ beta2L*JacPDupwindNthAnti2At13 + beta3L*JacPDupwindNthAnti3At13 +
+ JacPDupwindNthSymm1At13*Abs(beta1L) +
+ JacPDupwindNthSymm2At13*Abs(beta2L) +
+ JacPDupwindNthSymm3At13*Abs(beta3L);
+
+ At22rhsL = At22rhsL + beta1L*JacPDupwindNthAnti1At22 +
+ beta2L*JacPDupwindNthAnti2At22 + beta3L*JacPDupwindNthAnti3At22 +
+ JacPDupwindNthSymm1At22*Abs(beta1L) +
+ JacPDupwindNthSymm2At22*Abs(beta2L) +
+ JacPDupwindNthSymm3At22*Abs(beta3L);
+
+ At23rhsL = At23rhsL + beta1L*JacPDupwindNthAnti1At23 +
+ beta2L*JacPDupwindNthAnti2At23 + beta3L*JacPDupwindNthAnti3At23 +
+ JacPDupwindNthSymm1At23*Abs(beta1L) +
+ JacPDupwindNthSymm2At23*Abs(beta2L) +
+ JacPDupwindNthSymm3At23*Abs(beta3L);
+
+ At33rhsL = At33rhsL + beta1L*JacPDupwindNthAnti1At33 +
+ beta2L*JacPDupwindNthAnti2At33 + beta3L*JacPDupwindNthAnti3At33 +
+ JacPDupwindNthSymm1At33*Abs(beta1L) +
+ JacPDupwindNthSymm2At33*Abs(beta2L) +
+ JacPDupwindNthSymm3At33*Abs(beta3L);
+
+ alpharhsL = alpharhsL + (beta1L*JacPDupwindNthAnti1alpha +
+ beta2L*JacPDupwindNthAnti2alpha + beta3L*JacPDupwindNthAnti3alpha +
+ JacPDupwindNthSymm1alpha*Abs(beta1L) +
+ JacPDupwindNthSymm2alpha*Abs(beta2L) +
+ JacPDupwindNthSymm3alpha*Abs(beta3L))*ToReal(LapseAdvectionCoeff);
+
+ ArhsL = ArhsL + (beta1L*JacPDupwindNthAnti1A +
+ beta2L*JacPDupwindNthAnti2A + beta3L*JacPDupwindNthAnti3A +
+ JacPDupwindNthSymm1A*Abs(beta1L) + JacPDupwindNthSymm2A*Abs(beta2L) +
+ JacPDupwindNthSymm3A*Abs(beta3L))*ToReal(LapseAdvectionCoeff);
+
+ beta1rhsL = beta1rhsL + (beta1L*JacPDupwindNthAnti1beta1 +
+ beta2L*JacPDupwindNthAnti2beta1 + beta3L*JacPDupwindNthAnti3beta1 +
+ JacPDupwindNthSymm1beta1*Abs(beta1L) +
+ JacPDupwindNthSymm2beta1*Abs(beta2L) +
+ JacPDupwindNthSymm3beta1*Abs(beta3L))*ToReal(ShiftAdvectionCoeff);
+
+ beta2rhsL = beta2rhsL + (beta1L*JacPDupwindNthAnti1beta2 +
+ beta2L*JacPDupwindNthAnti2beta2 + beta3L*JacPDupwindNthAnti3beta2 +
+ JacPDupwindNthSymm1beta2*Abs(beta1L) +
+ JacPDupwindNthSymm2beta2*Abs(beta2L) +
+ JacPDupwindNthSymm3beta2*Abs(beta3L))*ToReal(ShiftAdvectionCoeff);
+
+ beta3rhsL = beta3rhsL + (beta1L*JacPDupwindNthAnti1beta3 +
+ beta2L*JacPDupwindNthAnti2beta3 + beta3L*JacPDupwindNthAnti3beta3 +
+ JacPDupwindNthSymm1beta3*Abs(beta1L) +
+ JacPDupwindNthSymm2beta3*Abs(beta2L) +
+ JacPDupwindNthSymm3beta3*Abs(beta3L))*ToReal(ShiftAdvectionCoeff);
+
+ B1rhsL = B1rhsL + (beta1L*(JacPDupwindNthAnti1B1 -
+ JacPDupwindNthAnti1Xt1) + beta2L*(JacPDupwindNthAnti2B1 -
+ JacPDupwindNthAnti2Xt1) + beta3L*(JacPDupwindNthAnti3B1 -
+ JacPDupwindNthAnti3Xt1) + (JacPDupwindNthSymm1B1 -
+ JacPDupwindNthSymm1Xt1)*Abs(beta1L) + (JacPDupwindNthSymm2B1 -
+ JacPDupwindNthSymm2Xt1)*Abs(beta2L) + (JacPDupwindNthSymm3B1 -
+ JacPDupwindNthSymm3Xt1)*Abs(beta3L))*ToReal(ShiftAdvectionCoeff) +
+ (beta1L*JacPDupwindNthAnti1Xt1 + beta2L*JacPDupwindNthAnti2Xt1 +
+ beta3L*JacPDupwindNthAnti3Xt1 + JacPDupwindNthSymm1Xt1*Abs(beta1L) +
+ JacPDupwindNthSymm2Xt1*Abs(beta2L) +
+ JacPDupwindNthSymm3Xt1*Abs(beta3L))*ToReal(ShiftBCoeff);
+
+ B2rhsL = B2rhsL + (beta1L*(JacPDupwindNthAnti1B2 -
+ JacPDupwindNthAnti1Xt2) + beta2L*(JacPDupwindNthAnti2B2 -
+ JacPDupwindNthAnti2Xt2) + beta3L*(JacPDupwindNthAnti3B2 -
+ JacPDupwindNthAnti3Xt2) + (JacPDupwindNthSymm1B2 -
+ JacPDupwindNthSymm1Xt2)*Abs(beta1L) + (JacPDupwindNthSymm2B2 -
+ JacPDupwindNthSymm2Xt2)*Abs(beta2L) + (JacPDupwindNthSymm3B2 -
+ JacPDupwindNthSymm3Xt2)*Abs(beta3L))*ToReal(ShiftAdvectionCoeff) +
+ (beta1L*JacPDupwindNthAnti1Xt2 + beta2L*JacPDupwindNthAnti2Xt2 +
+ beta3L*JacPDupwindNthAnti3Xt2 + JacPDupwindNthSymm1Xt2*Abs(beta1L) +
+ JacPDupwindNthSymm2Xt2*Abs(beta2L) +
+ JacPDupwindNthSymm3Xt2*Abs(beta3L))*ToReal(ShiftBCoeff);
+
+ B3rhsL = B3rhsL + (beta1L*(JacPDupwindNthAnti1B3 -
+ JacPDupwindNthAnti1Xt3) + beta2L*(JacPDupwindNthAnti2B3 -
+ JacPDupwindNthAnti2Xt3) + beta3L*(JacPDupwindNthAnti3B3 -
+ JacPDupwindNthAnti3Xt3) + (JacPDupwindNthSymm1B3 -
+ JacPDupwindNthSymm1Xt3)*Abs(beta1L) + (JacPDupwindNthSymm2B3 -
+ JacPDupwindNthSymm2Xt3)*Abs(beta2L) + (JacPDupwindNthSymm3B3 -
+ JacPDupwindNthSymm3Xt3)*Abs(beta3L))*ToReal(ShiftAdvectionCoeff) +
+ (beta1L*JacPDupwindNthAnti1Xt3 + beta2L*JacPDupwindNthAnti2Xt3 +
+ beta3L*JacPDupwindNthAnti3Xt3 + JacPDupwindNthSymm1Xt3*Abs(beta1L) +
+ JacPDupwindNthSymm2Xt3*Abs(beta2L) +
+ JacPDupwindNthSymm3Xt3*Abs(beta3L))*ToReal(ShiftBCoeff);
/* Copy local copies back to grid functions */
alpharhs[index] = alpharhsL;
diff --git a/ML_BSSN_MP_O8/src/ML_BSSN_MP_O8_Dissipation.cc b/ML_BSSN_MP_O8/src/ML_BSSN_MP_O8_Dissipation.cc
index c39f29a..cdafb08 100644
--- a/ML_BSSN_MP_O8/src/ML_BSSN_MP_O8_Dissipation.cc
+++ b/ML_BSSN_MP_O8/src/ML_BSSN_MP_O8_Dissipation.cc
@@ -75,8 +75,8 @@ static void ML_BSSN_MP_O8_Dissipation_Body(cGH const * restrict const cctkGH, in
return;
}
- const char *groups[] = {"Coordinates::jacobian","ML_BSSN_MP_O8::ML_curv","ML_BSSN_MP_O8::ML_curvrhs","ML_BSSN_MP_O8::ML_dtlapse","ML_BSSN_MP_O8::ML_dtlapserhs","ML_BSSN_MP_O8::ML_dtshift","ML_BSSN_MP_O8::ML_dtshiftrhs","ML_BSSN_MP_O8::ML_Gamma","ML_BSSN_MP_O8::ML_Gammarhs","ML_BSSN_MP_O8::ML_lapse","ML_BSSN_MP_O8::ML_lapserhs","ML_BSSN_MP_O8::ML_log_confac","ML_BSSN_MP_O8::ML_log_confacrhs","ML_BSSN_MP_O8::ML_metric","ML_BSSN_MP_O8::ML_metricrhs","ML_BSSN_MP_O8::ML_shift","ML_BSSN_MP_O8::ML_shiftrhs","ML_BSSN_MP_O8::ML_trace_curv","ML_BSSN_MP_O8::ML_trace_curvrhs"};
- GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_MP_O8_Dissipation", 19, groups);
+ const char *groups[] = {"ML_BSSN_MP_O8::ML_curv","ML_BSSN_MP_O8::ML_curvrhs","ML_BSSN_MP_O8::ML_dtlapse","ML_BSSN_MP_O8::ML_dtlapserhs","ML_BSSN_MP_O8::ML_dtshift","ML_BSSN_MP_O8::ML_dtshiftrhs","ML_BSSN_MP_O8::ML_Gamma","ML_BSSN_MP_O8::ML_Gammarhs","ML_BSSN_MP_O8::ML_lapse","ML_BSSN_MP_O8::ML_lapserhs","ML_BSSN_MP_O8::ML_log_confac","ML_BSSN_MP_O8::ML_log_confacrhs","ML_BSSN_MP_O8::ML_metric","ML_BSSN_MP_O8::ML_metricrhs","ML_BSSN_MP_O8::ML_shift","ML_BSSN_MP_O8::ML_shiftrhs","ML_BSSN_MP_O8::ML_trace_curv","ML_BSSN_MP_O8::ML_trace_curvrhs"};
+ GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_MP_O8_Dissipation", 18, groups);
GenericFD_EnsureStencilFits(cctkGH, "ML_BSSN_MP_O8_Dissipation", 5, 5, 5);
@@ -131,6 +131,51 @@ static void ML_BSSN_MP_O8_Dissipation_Body(cGH const * restrict const cctkGH, in
CCTK_REAL const pm1o840dy = -0.00119047619047619047619047619048*INV(dy);
CCTK_REAL const pm1o840dz = -0.00119047619047619047619047619048*INV(dz);
+ /* 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
LC_LOOP3 (ML_BSSN_MP_O8_Dissipation,
@@ -181,15 +226,6 @@ static void ML_BSSN_MP_O8_Dissipation_Body(cGH const * restrict const cctkGH, in
CCTK_REAL gt23rhsL = gt23rhs[index];
CCTK_REAL gt33L = gt33[index];
CCTK_REAL gt33rhsL = gt33rhs[index];
- CCTK_REAL J11L = J11[index];
- CCTK_REAL J12L = J12[index];
- CCTK_REAL J13L = J13[index];
- CCTK_REAL J21L = J21[index];
- CCTK_REAL J22L = J22[index];
- CCTK_REAL J23L = J23[index];
- CCTK_REAL J31L = J31[index];
- CCTK_REAL J32L = J32[index];
- CCTK_REAL J33L = J33[index];
CCTK_REAL phiL = phi[index];
CCTK_REAL phirhsL = phirhs[index];
CCTK_REAL trKL = trK[index];
@@ -202,6 +238,21 @@ static void ML_BSSN_MP_O8_Dissipation_Body(cGH const * restrict const cctkGH, in
CCTK_REAL Xt3rhsL = Xt3rhs[index];
+ CCTK_REAL J11L, J12L, J13L, J21L, J22L, J23L, J31L, J32L, J33L;
+
+ if (use_jacobian)
+ {
+ J11L = J11[index];
+ J12L = J12[index];
+ J13L = J13[index];
+ J21L = J21[index];
+ J22L = J22[index];
+ J23L = J23[index];
+ J31L = J31[index];
+ J32L = J32[index];
+ J33L = J33[index];
+ }
+
/* Include user supplied include files */
/* Precompute derivatives */
@@ -282,136 +333,551 @@ static void ML_BSSN_MP_O8_Dissipation_Body(cGH const * restrict const cctkGH, in
CCTK_REAL const PDdissipationNth3Xt3 = PDdissipationNth3(&Xt3[index]);
/* Calculate temporaries and grid functions */
+ CCTK_REAL JacPDdissipationNth1A;
+ CCTK_REAL JacPDdissipationNth1alpha;
+ CCTK_REAL JacPDdissipationNth1At11;
+ CCTK_REAL JacPDdissipationNth1At12;
+ CCTK_REAL JacPDdissipationNth1At13;
+ CCTK_REAL JacPDdissipationNth1At22;
+ CCTK_REAL JacPDdissipationNth1At23;
+ CCTK_REAL JacPDdissipationNth1At33;
+ CCTK_REAL JacPDdissipationNth1B1;
+ CCTK_REAL JacPDdissipationNth1B2;
+ CCTK_REAL JacPDdissipationNth1B3;
+ CCTK_REAL JacPDdissipationNth1beta1;
+ CCTK_REAL JacPDdissipationNth1beta2;
+ CCTK_REAL JacPDdissipationNth1beta3;
+ CCTK_REAL JacPDdissipationNth1gt11;
+ CCTK_REAL JacPDdissipationNth1gt12;
+ CCTK_REAL JacPDdissipationNth1gt13;
+ CCTK_REAL JacPDdissipationNth1gt22;
+ CCTK_REAL JacPDdissipationNth1gt23;
+ CCTK_REAL JacPDdissipationNth1gt33;
+ CCTK_REAL JacPDdissipationNth1phi;
+ CCTK_REAL JacPDdissipationNth1trK;
+ CCTK_REAL JacPDdissipationNth1Xt1;
+ CCTK_REAL JacPDdissipationNth1Xt2;
+ CCTK_REAL JacPDdissipationNth1Xt3;
+ CCTK_REAL JacPDdissipationNth2A;
+ CCTK_REAL JacPDdissipationNth2alpha;
+ CCTK_REAL JacPDdissipationNth2At11;
+ CCTK_REAL JacPDdissipationNth2At12;
+ CCTK_REAL JacPDdissipationNth2At13;
+ CCTK_REAL JacPDdissipationNth2At22;
+ CCTK_REAL JacPDdissipationNth2At23;
+ CCTK_REAL JacPDdissipationNth2At33;
+ CCTK_REAL JacPDdissipationNth2B1;
+ CCTK_REAL JacPDdissipationNth2B2;
+ CCTK_REAL JacPDdissipationNth2B3;
+ CCTK_REAL JacPDdissipationNth2beta1;
+ CCTK_REAL JacPDdissipationNth2beta2;
+ CCTK_REAL JacPDdissipationNth2beta3;
+ CCTK_REAL JacPDdissipationNth2gt11;
+ CCTK_REAL JacPDdissipationNth2gt12;
+ CCTK_REAL JacPDdissipationNth2gt13;
+ CCTK_REAL JacPDdissipationNth2gt22;
+ CCTK_REAL JacPDdissipationNth2gt23;
+ CCTK_REAL JacPDdissipationNth2gt33;
+ CCTK_REAL JacPDdissipationNth2phi;
+ CCTK_REAL JacPDdissipationNth2trK;
+ CCTK_REAL JacPDdissipationNth2Xt1;
+ CCTK_REAL JacPDdissipationNth2Xt2;
+ CCTK_REAL JacPDdissipationNth2Xt3;
+ CCTK_REAL JacPDdissipationNth3A;
+ CCTK_REAL JacPDdissipationNth3alpha;
+ CCTK_REAL JacPDdissipationNth3At11;
+ CCTK_REAL JacPDdissipationNth3At12;
+ CCTK_REAL JacPDdissipationNth3At13;
+ CCTK_REAL JacPDdissipationNth3At22;
+ CCTK_REAL JacPDdissipationNth3At23;
+ CCTK_REAL JacPDdissipationNth3At33;
+ CCTK_REAL JacPDdissipationNth3B1;
+ CCTK_REAL JacPDdissipationNth3B2;
+ CCTK_REAL JacPDdissipationNth3B3;
+ CCTK_REAL JacPDdissipationNth3beta1;
+ CCTK_REAL JacPDdissipationNth3beta2;
+ CCTK_REAL JacPDdissipationNth3beta3;
+ CCTK_REAL JacPDdissipationNth3gt11;
+ CCTK_REAL JacPDdissipationNth3gt12;
+ CCTK_REAL JacPDdissipationNth3gt13;
+ CCTK_REAL JacPDdissipationNth3gt22;
+ CCTK_REAL JacPDdissipationNth3gt23;
+ CCTK_REAL JacPDdissipationNth3gt33;
+ CCTK_REAL JacPDdissipationNth3phi;
+ CCTK_REAL JacPDdissipationNth3trK;
+ CCTK_REAL JacPDdissipationNth3Xt1;
+ CCTK_REAL JacPDdissipationNth3Xt2;
+ CCTK_REAL JacPDdissipationNth3Xt3;
+
+ if (use_jacobian)
+ {
+ JacPDdissipationNth1A = J11L*PDdissipationNth1A +
+ J21L*PDdissipationNth2A + J31L*PDdissipationNth3A;
+
+ JacPDdissipationNth1alpha = J11L*PDdissipationNth1alpha +
+ J21L*PDdissipationNth2alpha + J31L*PDdissipationNth3alpha;
+
+ JacPDdissipationNth1At11 = J11L*PDdissipationNth1At11 +
+ J21L*PDdissipationNth2At11 + J31L*PDdissipationNth3At11;
+
+ JacPDdissipationNth1At12 = J11L*PDdissipationNth1At12 +
+ J21L*PDdissipationNth2At12 + J31L*PDdissipationNth3At12;
+
+ JacPDdissipationNth1At13 = J11L*PDdissipationNth1At13 +
+ J21L*PDdissipationNth2At13 + J31L*PDdissipationNth3At13;
+
+ JacPDdissipationNth1At22 = J11L*PDdissipationNth1At22 +
+ J21L*PDdissipationNth2At22 + J31L*PDdissipationNth3At22;
+
+ JacPDdissipationNth1At23 = J11L*PDdissipationNth1At23 +
+ J21L*PDdissipationNth2At23 + J31L*PDdissipationNth3At23;
+
+ JacPDdissipationNth1At33 = J11L*PDdissipationNth1At33 +
+ J21L*PDdissipationNth2At33 + J31L*PDdissipationNth3At33;
+
+ JacPDdissipationNth1B1 = J11L*PDdissipationNth1B1 +
+ J21L*PDdissipationNth2B1 + J31L*PDdissipationNth3B1;
+
+ JacPDdissipationNth1B2 = J11L*PDdissipationNth1B2 +
+ J21L*PDdissipationNth2B2 + J31L*PDdissipationNth3B2;
+
+ JacPDdissipationNth1B3 = J11L*PDdissipationNth1B3 +
+ J21L*PDdissipationNth2B3 + J31L*PDdissipationNth3B3;
+
+ JacPDdissipationNth1beta1 = J11L*PDdissipationNth1beta1 +
+ J21L*PDdissipationNth2beta1 + J31L*PDdissipationNth3beta1;
+
+ JacPDdissipationNth1beta2 = J11L*PDdissipationNth1beta2 +
+ J21L*PDdissipationNth2beta2 + J31L*PDdissipationNth3beta2;
+
+ JacPDdissipationNth1beta3 = J11L*PDdissipationNth1beta3 +
+ J21L*PDdissipationNth2beta3 + J31L*PDdissipationNth3beta3;
+
+ JacPDdissipationNth1gt11 = J11L*PDdissipationNth1gt11 +
+ J21L*PDdissipationNth2gt11 + J31L*PDdissipationNth3gt11;
+
+ JacPDdissipationNth1gt12 = J11L*PDdissipationNth1gt12 +
+ J21L*PDdissipationNth2gt12 + J31L*PDdissipationNth3gt12;
+
+ JacPDdissipationNth1gt13 = J11L*PDdissipationNth1gt13 +
+ J21L*PDdissipationNth2gt13 + J31L*PDdissipationNth3gt13;
+
+ JacPDdissipationNth1gt22 = J11L*PDdissipationNth1gt22 +
+ J21L*PDdissipationNth2gt22 + J31L*PDdissipationNth3gt22;
+
+ JacPDdissipationNth1gt23 = J11L*PDdissipationNth1gt23 +
+ J21L*PDdissipationNth2gt23 + J31L*PDdissipationNth3gt23;
+
+ JacPDdissipationNth1gt33 = J11L*PDdissipationNth1gt33 +
+ J21L*PDdissipationNth2gt33 + J31L*PDdissipationNth3gt33;
+
+ JacPDdissipationNth1phi = J11L*PDdissipationNth1phi +
+ J21L*PDdissipationNth2phi + J31L*PDdissipationNth3phi;
+
+ JacPDdissipationNth1trK = J11L*PDdissipationNth1trK +
+ J21L*PDdissipationNth2trK + J31L*PDdissipationNth3trK;
+
+ JacPDdissipationNth1Xt1 = J11L*PDdissipationNth1Xt1 +
+ J21L*PDdissipationNth2Xt1 + J31L*PDdissipationNth3Xt1;
+
+ JacPDdissipationNth1Xt2 = J11L*PDdissipationNth1Xt2 +
+ J21L*PDdissipationNth2Xt2 + J31L*PDdissipationNth3Xt2;
+
+ JacPDdissipationNth1Xt3 = J11L*PDdissipationNth1Xt3 +
+ J21L*PDdissipationNth2Xt3 + J31L*PDdissipationNth3Xt3;
+
+ JacPDdissipationNth2A = J12L*PDdissipationNth1A +
+ J22L*PDdissipationNth2A + J32L*PDdissipationNth3A;
+
+ JacPDdissipationNth2alpha = J12L*PDdissipationNth1alpha +
+ J22L*PDdissipationNth2alpha + J32L*PDdissipationNth3alpha;
+
+ JacPDdissipationNth2At11 = J12L*PDdissipationNth1At11 +
+ J22L*PDdissipationNth2At11 + J32L*PDdissipationNth3At11;
+
+ JacPDdissipationNth2At12 = J12L*PDdissipationNth1At12 +
+ J22L*PDdissipationNth2At12 + J32L*PDdissipationNth3At12;
+
+ JacPDdissipationNth2At13 = J12L*PDdissipationNth1At13 +
+ J22L*PDdissipationNth2At13 + J32L*PDdissipationNth3At13;
+
+ JacPDdissipationNth2At22 = J12L*PDdissipationNth1At22 +
+ J22L*PDdissipationNth2At22 + J32L*PDdissipationNth3At22;
+
+ JacPDdissipationNth2At23 = J12L*PDdissipationNth1At23 +
+ J22L*PDdissipationNth2At23 + J32L*PDdissipationNth3At23;
+
+ JacPDdissipationNth2At33 = J12L*PDdissipationNth1At33 +
+ J22L*PDdissipationNth2At33 + J32L*PDdissipationNth3At33;
+
+ JacPDdissipationNth2B1 = J12L*PDdissipationNth1B1 +
+ J22L*PDdissipationNth2B1 + J32L*PDdissipationNth3B1;
+
+ JacPDdissipationNth2B2 = J12L*PDdissipationNth1B2 +
+ J22L*PDdissipationNth2B2 + J32L*PDdissipationNth3B2;
+
+ JacPDdissipationNth2B3 = J12L*PDdissipationNth1B3 +
+ J22L*PDdissipationNth2B3 + J32L*PDdissipationNth3B3;
+
+ JacPDdissipationNth2beta1 = J12L*PDdissipationNth1beta1 +
+ J22L*PDdissipationNth2beta1 + J32L*PDdissipationNth3beta1;
+
+ JacPDdissipationNth2beta2 = J12L*PDdissipationNth1beta2 +
+ J22L*PDdissipationNth2beta2 + J32L*PDdissipationNth3beta2;
+
+ JacPDdissipationNth2beta3 = J12L*PDdissipationNth1beta3 +
+ J22L*PDdissipationNth2beta3 + J32L*PDdissipationNth3beta3;
+
+ JacPDdissipationNth2gt11 = J12L*PDdissipationNth1gt11 +
+ J22L*PDdissipationNth2gt11 + J32L*PDdissipationNth3gt11;
+
+ JacPDdissipationNth2gt12 = J12L*PDdissipationNth1gt12 +
+ J22L*PDdissipationNth2gt12 + J32L*PDdissipationNth3gt12;
+
+ JacPDdissipationNth2gt13 = J12L*PDdissipationNth1gt13 +
+ J22L*PDdissipationNth2gt13 + J32L*PDdissipationNth3gt13;
+
+ JacPDdissipationNth2gt22 = J12L*PDdissipationNth1gt22 +
+ J22L*PDdissipationNth2gt22 + J32L*PDdissipationNth3gt22;
+
+ JacPDdissipationNth2gt23 = J12L*PDdissipationNth1gt23 +
+ J22L*PDdissipationNth2gt23 + J32L*PDdissipationNth3gt23;
+
+ JacPDdissipationNth2gt33 = J12L*PDdissipationNth1gt33 +
+ J22L*PDdissipationNth2gt33 + J32L*PDdissipationNth3gt33;
+
+ JacPDdissipationNth2phi = J12L*PDdissipationNth1phi +
+ J22L*PDdissipationNth2phi + J32L*PDdissipationNth3phi;
+
+ JacPDdissipationNth2trK = J12L*PDdissipationNth1trK +
+ J22L*PDdissipationNth2trK + J32L*PDdissipationNth3trK;
+
+ JacPDdissipationNth2Xt1 = J12L*PDdissipationNth1Xt1 +
+ J22L*PDdissipationNth2Xt1 + J32L*PDdissipationNth3Xt1;
+
+ JacPDdissipationNth2Xt2 = J12L*PDdissipationNth1Xt2 +
+ J22L*PDdissipationNth2Xt2 + J32L*PDdissipationNth3Xt2;
+
+ JacPDdissipationNth2Xt3 = J12L*PDdissipationNth1Xt3 +
+ J22L*PDdissipationNth2Xt3 + J32L*PDdissipationNth3Xt3;
+
+ JacPDdissipationNth3A = J13L*PDdissipationNth1A +
+ J23L*PDdissipationNth2A + J33L*PDdissipationNth3A;
+
+ JacPDdissipationNth3alpha = J13L*PDdissipationNth1alpha +
+ J23L*PDdissipationNth2alpha + J33L*PDdissipationNth3alpha;
+
+ JacPDdissipationNth3At11 = J13L*PDdissipationNth1At11 +
+ J23L*PDdissipationNth2At11 + J33L*PDdissipationNth3At11;
+
+ JacPDdissipationNth3At12 = J13L*PDdissipationNth1At12 +
+ J23L*PDdissipationNth2At12 + J33L*PDdissipationNth3At12;
+
+ JacPDdissipationNth3At13 = J13L*PDdissipationNth1At13 +
+ J23L*PDdissipationNth2At13 + J33L*PDdissipationNth3At13;
+
+ JacPDdissipationNth3At22 = J13L*PDdissipationNth1At22 +
+ J23L*PDdissipationNth2At22 + J33L*PDdissipationNth3At22;
+
+ JacPDdissipationNth3At23 = J13L*PDdissipationNth1At23 +
+ J23L*PDdissipationNth2At23 + J33L*PDdissipationNth3At23;
+
+ JacPDdissipationNth3At33 = J13L*PDdissipationNth1At33 +
+ J23L*PDdissipationNth2At33 + J33L*PDdissipationNth3At33;
+
+ JacPDdissipationNth3B1 = J13L*PDdissipationNth1B1 +
+ J23L*PDdissipationNth2B1 + J33L*PDdissipationNth3B1;
+
+ JacPDdissipationNth3B2 = J13L*PDdissipationNth1B2 +
+ J23L*PDdissipationNth2B2 + J33L*PDdissipationNth3B2;
+
+ JacPDdissipationNth3B3 = J13L*PDdissipationNth1B3 +
+ J23L*PDdissipationNth2B3 + J33L*PDdissipationNth3B3;
+
+ JacPDdissipationNth3beta1 = J13L*PDdissipationNth1beta1 +
+ J23L*PDdissipationNth2beta1 + J33L*PDdissipationNth3beta1;
+
+ JacPDdissipationNth3beta2 = J13L*PDdissipationNth1beta2 +
+ J23L*PDdissipationNth2beta2 + J33L*PDdissipationNth3beta2;
+
+ JacPDdissipationNth3beta3 = J13L*PDdissipationNth1beta3 +
+ J23L*PDdissipationNth2beta3 + J33L*PDdissipationNth3beta3;
+
+ JacPDdissipationNth3gt11 = J13L*PDdissipationNth1gt11 +
+ J23L*PDdissipationNth2gt11 + J33L*PDdissipationNth3gt11;
+
+ JacPDdissipationNth3gt12 = J13L*PDdissipationNth1gt12 +
+ J23L*PDdissipationNth2gt12 + J33L*PDdissipationNth3gt12;
+
+ JacPDdissipationNth3gt13 = J13L*PDdissipationNth1gt13 +
+ J23L*PDdissipationNth2gt13 + J33L*PDdissipationNth3gt13;
+
+ JacPDdissipationNth3gt22 = J13L*PDdissipationNth1gt22 +
+ J23L*PDdissipationNth2gt22 + J33L*PDdissipationNth3gt22;
+
+ JacPDdissipationNth3gt23 = J13L*PDdissipationNth1gt23 +
+ J23L*PDdissipationNth2gt23 + J33L*PDdissipationNth3gt23;
+
+ JacPDdissipationNth3gt33 = J13L*PDdissipationNth1gt33 +
+ J23L*PDdissipationNth2gt33 + J33L*PDdissipationNth3gt33;
+
+ JacPDdissipationNth3phi = J13L*PDdissipationNth1phi +
+ J23L*PDdissipationNth2phi + J33L*PDdissipationNth3phi;
+
+ JacPDdissipationNth3trK = J13L*PDdissipationNth1trK +
+ J23L*PDdissipationNth2trK + J33L*PDdissipationNth3trK;
+
+ JacPDdissipationNth3Xt1 = J13L*PDdissipationNth1Xt1 +
+ J23L*PDdissipationNth2Xt1 + J33L*PDdissipationNth3Xt1;
+
+ JacPDdissipationNth3Xt2 = J13L*PDdissipationNth1Xt2 +
+ J23L*PDdissipationNth2Xt2 + J33L*PDdissipationNth3Xt2;
+
+ JacPDdissipationNth3Xt3 = J13L*PDdissipationNth1Xt3 +
+ J23L*PDdissipationNth2Xt3 + J33L*PDdissipationNth3Xt3;
+ }
+ else
+ {
+ JacPDdissipationNth1A = PDdissipationNth1A;
+
+ JacPDdissipationNth1alpha = PDdissipationNth1alpha;
+
+ JacPDdissipationNth1At11 = PDdissipationNth1At11;
+
+ JacPDdissipationNth1At12 = PDdissipationNth1At12;
+
+ JacPDdissipationNth1At13 = PDdissipationNth1At13;
+
+ JacPDdissipationNth1At22 = PDdissipationNth1At22;
+
+ JacPDdissipationNth1At23 = PDdissipationNth1At23;
+
+ JacPDdissipationNth1At33 = PDdissipationNth1At33;
+
+ JacPDdissipationNth1B1 = PDdissipationNth1B1;
+
+ JacPDdissipationNth1B2 = PDdissipationNth1B2;
+
+ JacPDdissipationNth1B3 = PDdissipationNth1B3;
+
+ JacPDdissipationNth1beta1 = PDdissipationNth1beta1;
+
+ JacPDdissipationNth1beta2 = PDdissipationNth1beta2;
+
+ JacPDdissipationNth1beta3 = PDdissipationNth1beta3;
+
+ JacPDdissipationNth1gt11 = PDdissipationNth1gt11;
+
+ JacPDdissipationNth1gt12 = PDdissipationNth1gt12;
+
+ JacPDdissipationNth1gt13 = PDdissipationNth1gt13;
+
+ JacPDdissipationNth1gt22 = PDdissipationNth1gt22;
+
+ JacPDdissipationNth1gt23 = PDdissipationNth1gt23;
+
+ JacPDdissipationNth1gt33 = PDdissipationNth1gt33;
+
+ JacPDdissipationNth1phi = PDdissipationNth1phi;
+
+ JacPDdissipationNth1trK = PDdissipationNth1trK;
+
+ JacPDdissipationNth1Xt1 = PDdissipationNth1Xt1;
+
+ JacPDdissipationNth1Xt2 = PDdissipationNth1Xt2;
+
+ JacPDdissipationNth1Xt3 = PDdissipationNth1Xt3;
+
+ JacPDdissipationNth2A = PDdissipationNth2A;
+
+ JacPDdissipationNth2alpha = PDdissipationNth2alpha;
+
+ JacPDdissipationNth2At11 = PDdissipationNth2At11;
+
+ JacPDdissipationNth2At12 = PDdissipationNth2At12;
+
+ JacPDdissipationNth2At13 = PDdissipationNth2At13;
+
+ JacPDdissipationNth2At22 = PDdissipationNth2At22;
+
+ JacPDdissipationNth2At23 = PDdissipationNth2At23;
+
+ JacPDdissipationNth2At33 = PDdissipationNth2At33;
+
+ JacPDdissipationNth2B1 = PDdissipationNth2B1;
+
+ JacPDdissipationNth2B2 = PDdissipationNth2B2;
+
+ JacPDdissipationNth2B3 = PDdissipationNth2B3;
+
+ JacPDdissipationNth2beta1 = PDdissipationNth2beta1;
+
+ JacPDdissipationNth2beta2 = PDdissipationNth2beta2;
+
+ JacPDdissipationNth2beta3 = PDdissipationNth2beta3;
+
+ JacPDdissipationNth2gt11 = PDdissipationNth2gt11;
+
+ JacPDdissipationNth2gt12 = PDdissipationNth2gt12;
+
+ JacPDdissipationNth2gt13 = PDdissipationNth2gt13;
+
+ JacPDdissipationNth2gt22 = PDdissipationNth2gt22;
+
+ JacPDdissipationNth2gt23 = PDdissipationNth2gt23;
+
+ JacPDdissipationNth2gt33 = PDdissipationNth2gt33;
+
+ JacPDdissipationNth2phi = PDdissipationNth2phi;
+
+ JacPDdissipationNth2trK = PDdissipationNth2trK;
+
+ JacPDdissipationNth2Xt1 = PDdissipationNth2Xt1;
+
+ JacPDdissipationNth2Xt2 = PDdissipationNth2Xt2;
+
+ JacPDdissipationNth2Xt3 = PDdissipationNth2Xt3;
+
+ JacPDdissipationNth3A = PDdissipationNth3A;
+
+ JacPDdissipationNth3alpha = PDdissipationNth3alpha;
+
+ JacPDdissipationNth3At11 = PDdissipationNth3At11;
+
+ JacPDdissipationNth3At12 = PDdissipationNth3At12;
+
+ JacPDdissipationNth3At13 = PDdissipationNth3At13;
+
+ JacPDdissipationNth3At22 = PDdissipationNth3At22;
+
+ JacPDdissipationNth3At23 = PDdissipationNth3At23;
+
+ JacPDdissipationNth3At33 = PDdissipationNth3At33;
+
+ JacPDdissipationNth3B1 = PDdissipationNth3B1;
+
+ JacPDdissipationNth3B2 = PDdissipationNth3B2;
+
+ JacPDdissipationNth3B3 = PDdissipationNth3B3;
+
+ JacPDdissipationNth3beta1 = PDdissipationNth3beta1;
+
+ JacPDdissipationNth3beta2 = PDdissipationNth3beta2;
+
+ JacPDdissipationNth3beta3 = PDdissipationNth3beta3;
+
+ JacPDdissipationNth3gt11 = PDdissipationNth3gt11;
+
+ JacPDdissipationNth3gt12 = PDdissipationNth3gt12;
+
+ JacPDdissipationNth3gt13 = PDdissipationNth3gt13;
+
+ JacPDdissipationNth3gt22 = PDdissipationNth3gt22;
+
+ JacPDdissipationNth3gt23 = PDdissipationNth3gt23;
+
+ JacPDdissipationNth3gt33 = PDdissipationNth3gt33;
+
+ JacPDdissipationNth3phi = PDdissipationNth3phi;
+
+ JacPDdissipationNth3trK = PDdissipationNth3trK;
+
+ JacPDdissipationNth3Xt1 = PDdissipationNth3Xt1;
+
+ JacPDdissipationNth3Xt2 = PDdissipationNth3Xt2;
+
+ JacPDdissipationNth3Xt3 = PDdissipationNth3Xt3;
+ }
+
CCTK_REAL epsdiss1 = ToReal(EpsDiss);
CCTK_REAL epsdiss2 = ToReal(EpsDiss);
CCTK_REAL epsdiss3 = ToReal(EpsDiss);
- phirhsL = (epsdiss1*J11L + epsdiss2*J12L +
- epsdiss3*J13L)*PDdissipationNth1phi + (epsdiss1*J21L + epsdiss2*J22L +
- epsdiss3*J23L)*PDdissipationNth2phi + (epsdiss1*J31L + epsdiss2*J32L +
- epsdiss3*J33L)*PDdissipationNth3phi + phirhsL;
-
- gt11rhsL = gt11rhsL + (epsdiss1*J11L + epsdiss2*J12L +
- epsdiss3*J13L)*PDdissipationNth1gt11 + (epsdiss1*J21L + epsdiss2*J22L +
- epsdiss3*J23L)*PDdissipationNth2gt11 + (epsdiss1*J31L + epsdiss2*J32L +
- epsdiss3*J33L)*PDdissipationNth3gt11;
-
- gt12rhsL = gt12rhsL + (epsdiss1*J11L + epsdiss2*J12L +
- epsdiss3*J13L)*PDdissipationNth1gt12 + (epsdiss1*J21L + epsdiss2*J22L +
- epsdiss3*J23L)*PDdissipationNth2gt12 + (epsdiss1*J31L + epsdiss2*J32L +
- epsdiss3*J33L)*PDdissipationNth3gt12;
-
- gt13rhsL = gt13rhsL + (epsdiss1*J11L + epsdiss2*J12L +
- epsdiss3*J13L)*PDdissipationNth1gt13 + (epsdiss1*J21L + epsdiss2*J22L +
- epsdiss3*J23L)*PDdissipationNth2gt13 + (epsdiss1*J31L + epsdiss2*J32L +
- epsdiss3*J33L)*PDdissipationNth3gt13;
-
- gt22rhsL = gt22rhsL + (epsdiss1*J11L + epsdiss2*J12L +
- epsdiss3*J13L)*PDdissipationNth1gt22 + (epsdiss1*J21L + epsdiss2*J22L +
- epsdiss3*J23L)*PDdissipationNth2gt22 + (epsdiss1*J31L + epsdiss2*J32L +
- epsdiss3*J33L)*PDdissipationNth3gt22;
-
- gt23rhsL = gt23rhsL + (epsdiss1*J11L + epsdiss2*J12L +
- epsdiss3*J13L)*PDdissipationNth1gt23 + (epsdiss1*J21L + epsdiss2*J22L +
- epsdiss3*J23L)*PDdissipationNth2gt23 + (epsdiss1*J31L + epsdiss2*J32L +
- epsdiss3*J33L)*PDdissipationNth3gt23;
-
- gt33rhsL = gt33rhsL + (epsdiss1*J11L + epsdiss2*J12L +
- epsdiss3*J13L)*PDdissipationNth1gt33 + (epsdiss1*J21L + epsdiss2*J22L +
- epsdiss3*J23L)*PDdissipationNth2gt33 + (epsdiss1*J31L + epsdiss2*J32L +
- epsdiss3*J33L)*PDdissipationNth3gt33;
-
- Xt1rhsL = (epsdiss1*J11L + epsdiss2*J12L +
- epsdiss3*J13L)*PDdissipationNth1Xt1 + (epsdiss1*J21L + epsdiss2*J22L +
- epsdiss3*J23L)*PDdissipationNth2Xt1 + (epsdiss1*J31L + epsdiss2*J32L +
- epsdiss3*J33L)*PDdissipationNth3Xt1 + Xt1rhsL;
-
- Xt2rhsL = (epsdiss1*J11L + epsdiss2*J12L +
- epsdiss3*J13L)*PDdissipationNth1Xt2 + (epsdiss1*J21L + epsdiss2*J22L +
- epsdiss3*J23L)*PDdissipationNth2Xt2 + (epsdiss1*J31L + epsdiss2*J32L +
- epsdiss3*J33L)*PDdissipationNth3Xt2 + Xt2rhsL;
-
- Xt3rhsL = (epsdiss1*J11L + epsdiss2*J12L +
- epsdiss3*J13L)*PDdissipationNth1Xt3 + (epsdiss1*J21L + epsdiss2*J22L +
- epsdiss3*J23L)*PDdissipationNth2Xt3 + (epsdiss1*J31L + epsdiss2*J32L +
- epsdiss3*J33L)*PDdissipationNth3Xt3 + Xt3rhsL;
-
- trKrhsL = (epsdiss1*J11L + epsdiss2*J12L +
- epsdiss3*J13L)*PDdissipationNth1trK + (epsdiss1*J21L + epsdiss2*J22L +
- epsdiss3*J23L)*PDdissipationNth2trK + (epsdiss1*J31L + epsdiss2*J32L +
- epsdiss3*J33L)*PDdissipationNth3trK + trKrhsL;
-
- At11rhsL = At11rhsL + (epsdiss1*J11L + epsdiss2*J12L +
- epsdiss3*J13L)*PDdissipationNth1At11 + (epsdiss1*J21L + epsdiss2*J22L +
- epsdiss3*J23L)*PDdissipationNth2At11 + (epsdiss1*J31L + epsdiss2*J32L +
- epsdiss3*J33L)*PDdissipationNth3At11;
-
- At12rhsL = At12rhsL + (epsdiss1*J11L + epsdiss2*J12L +
- epsdiss3*J13L)*PDdissipationNth1At12 + (epsdiss1*J21L + epsdiss2*J22L +
- epsdiss3*J23L)*PDdissipationNth2At12 + (epsdiss1*J31L + epsdiss2*J32L +
- epsdiss3*J33L)*PDdissipationNth3At12;
-
- At13rhsL = At13rhsL + (epsdiss1*J11L + epsdiss2*J12L +
- epsdiss3*J13L)*PDdissipationNth1At13 + (epsdiss1*J21L + epsdiss2*J22L +
- epsdiss3*J23L)*PDdissipationNth2At13 + (epsdiss1*J31L + epsdiss2*J32L +
- epsdiss3*J33L)*PDdissipationNth3At13;
-
- At22rhsL = At22rhsL + (epsdiss1*J11L + epsdiss2*J12L +
- epsdiss3*J13L)*PDdissipationNth1At22 + (epsdiss1*J21L + epsdiss2*J22L +
- epsdiss3*J23L)*PDdissipationNth2At22 + (epsdiss1*J31L + epsdiss2*J32L +
- epsdiss3*J33L)*PDdissipationNth3At22;
-
- At23rhsL = At23rhsL + (epsdiss1*J11L + epsdiss2*J12L +
- epsdiss3*J13L)*PDdissipationNth1At23 + (epsdiss1*J21L + epsdiss2*J22L +
- epsdiss3*J23L)*PDdissipationNth2At23 + (epsdiss1*J31L + epsdiss2*J32L +
- epsdiss3*J33L)*PDdissipationNth3At23;
-
- At33rhsL = At33rhsL + (epsdiss1*J11L + epsdiss2*J12L +
- epsdiss3*J13L)*PDdissipationNth1At33 + (epsdiss1*J21L + epsdiss2*J22L +
- epsdiss3*J23L)*PDdissipationNth2At33 + (epsdiss1*J31L + epsdiss2*J32L +
- epsdiss3*J33L)*PDdissipationNth3At33;
-
- alpharhsL = alpharhsL + (epsdiss1*J11L + epsdiss2*J12L +
- epsdiss3*J13L)*PDdissipationNth1alpha + (epsdiss1*J21L + epsdiss2*J22L
- + epsdiss3*J23L)*PDdissipationNth2alpha + (epsdiss1*J31L +
- epsdiss2*J32L + epsdiss3*J33L)*PDdissipationNth3alpha;
-
- ArhsL = ArhsL + (epsdiss1*J11L + epsdiss2*J12L +
- epsdiss3*J13L)*PDdissipationNth1A + (epsdiss1*J21L + epsdiss2*J22L +
- epsdiss3*J23L)*PDdissipationNth2A + (epsdiss1*J31L + epsdiss2*J32L +
- epsdiss3*J33L)*PDdissipationNth3A;
-
- beta1rhsL = beta1rhsL + (epsdiss1*J11L + epsdiss2*J12L +
- epsdiss3*J13L)*PDdissipationNth1beta1 + (epsdiss1*J21L + epsdiss2*J22L
- + epsdiss3*J23L)*PDdissipationNth2beta1 + (epsdiss1*J31L +
- epsdiss2*J32L + epsdiss3*J33L)*PDdissipationNth3beta1;
-
- beta2rhsL = beta2rhsL + (epsdiss1*J11L + epsdiss2*J12L +
- epsdiss3*J13L)*PDdissipationNth1beta2 + (epsdiss1*J21L + epsdiss2*J22L
- + epsdiss3*J23L)*PDdissipationNth2beta2 + (epsdiss1*J31L +
- epsdiss2*J32L + epsdiss3*J33L)*PDdissipationNth3beta2;
-
- beta3rhsL = beta3rhsL + (epsdiss1*J11L + epsdiss2*J12L +
- epsdiss3*J13L)*PDdissipationNth1beta3 + (epsdiss1*J21L + epsdiss2*J22L
- + epsdiss3*J23L)*PDdissipationNth2beta3 + (epsdiss1*J31L +
- epsdiss2*J32L + epsdiss3*J33L)*PDdissipationNth3beta3;
-
- B1rhsL = B1rhsL + (epsdiss1*J11L + epsdiss2*J12L +
- epsdiss3*J13L)*PDdissipationNth1B1 + (epsdiss1*J21L + epsdiss2*J22L +
- epsdiss3*J23L)*PDdissipationNth2B1 + (epsdiss1*J31L + epsdiss2*J32L +
- epsdiss3*J33L)*PDdissipationNth3B1;
-
- B2rhsL = B2rhsL + (epsdiss1*J11L + epsdiss2*J12L +
- epsdiss3*J13L)*PDdissipationNth1B2 + (epsdiss1*J21L + epsdiss2*J22L +
- epsdiss3*J23L)*PDdissipationNth2B2 + (epsdiss1*J31L + epsdiss2*J32L +
- epsdiss3*J33L)*PDdissipationNth3B2;
-
- B3rhsL = B3rhsL + (epsdiss1*J11L + epsdiss2*J12L +
- epsdiss3*J13L)*PDdissipationNth1B3 + (epsdiss1*J21L + epsdiss2*J22L +
- epsdiss3*J23L)*PDdissipationNth2B3 + (epsdiss1*J31L + epsdiss2*J32L +
- epsdiss3*J33L)*PDdissipationNth3B3;
+ phirhsL = epsdiss1*JacPDdissipationNth1phi +
+ epsdiss2*JacPDdissipationNth2phi + epsdiss3*JacPDdissipationNth3phi +
+ phirhsL;
+
+ gt11rhsL = gt11rhsL + epsdiss1*JacPDdissipationNth1gt11 +
+ epsdiss2*JacPDdissipationNth2gt11 + epsdiss3*JacPDdissipationNth3gt11;
+
+ gt12rhsL = gt12rhsL + epsdiss1*JacPDdissipationNth1gt12 +
+ epsdiss2*JacPDdissipationNth2gt12 + epsdiss3*JacPDdissipationNth3gt12;
+
+ gt13rhsL = gt13rhsL + epsdiss1*JacPDdissipationNth1gt13 +
+ epsdiss2*JacPDdissipationNth2gt13 + epsdiss3*JacPDdissipationNth3gt13;
+
+ gt22rhsL = gt22rhsL + epsdiss1*JacPDdissipationNth1gt22 +
+ epsdiss2*JacPDdissipationNth2gt22 + epsdiss3*JacPDdissipationNth3gt22;
+
+ gt23rhsL = gt23rhsL + epsdiss1*JacPDdissipationNth1gt23 +
+ epsdiss2*JacPDdissipationNth2gt23 + epsdiss3*JacPDdissipationNth3gt23;
+
+ gt33rhsL = gt33rhsL + epsdiss1*JacPDdissipationNth1gt33 +
+ epsdiss2*JacPDdissipationNth2gt33 + epsdiss3*JacPDdissipationNth3gt33;
+
+ Xt1rhsL = epsdiss1*JacPDdissipationNth1Xt1 +
+ epsdiss2*JacPDdissipationNth2Xt1 + epsdiss3*JacPDdissipationNth3Xt1 +
+ Xt1rhsL;
+
+ Xt2rhsL = epsdiss1*JacPDdissipationNth1Xt2 +
+ epsdiss2*JacPDdissipationNth2Xt2 + epsdiss3*JacPDdissipationNth3Xt2 +
+ Xt2rhsL;
+
+ Xt3rhsL = epsdiss1*JacPDdissipationNth1Xt3 +
+ epsdiss2*JacPDdissipationNth2Xt3 + epsdiss3*JacPDdissipationNth3Xt3 +
+ Xt3rhsL;
+
+ trKrhsL = epsdiss1*JacPDdissipationNth1trK +
+ epsdiss2*JacPDdissipationNth2trK + epsdiss3*JacPDdissipationNth3trK +
+ trKrhsL;
+
+ At11rhsL = At11rhsL + epsdiss1*JacPDdissipationNth1At11 +
+ epsdiss2*JacPDdissipationNth2At11 + epsdiss3*JacPDdissipationNth3At11;
+
+ At12rhsL = At12rhsL + epsdiss1*JacPDdissipationNth1At12 +
+ epsdiss2*JacPDdissipationNth2At12 + epsdiss3*JacPDdissipationNth3At12;
+
+ At13rhsL = At13rhsL + epsdiss1*JacPDdissipationNth1At13 +
+ epsdiss2*JacPDdissipationNth2At13 + epsdiss3*JacPDdissipationNth3At13;
+
+ At22rhsL = At22rhsL + epsdiss1*JacPDdissipationNth1At22 +
+ epsdiss2*JacPDdissipationNth2At22 + epsdiss3*JacPDdissipationNth3At22;
+
+ At23rhsL = At23rhsL + epsdiss1*JacPDdissipationNth1At23 +
+ epsdiss2*JacPDdissipationNth2At23 + epsdiss3*JacPDdissipationNth3At23;
+
+ At33rhsL = At33rhsL + epsdiss1*JacPDdissipationNth1At33 +
+ epsdiss2*JacPDdissipationNth2At33 + epsdiss3*JacPDdissipationNth3At33;
+
+ alpharhsL = alpharhsL + epsdiss1*JacPDdissipationNth1alpha +
+ epsdiss2*JacPDdissipationNth2alpha +
+ epsdiss3*JacPDdissipationNth3alpha;
+
+ ArhsL = ArhsL + epsdiss1*JacPDdissipationNth1A +
+ epsdiss2*JacPDdissipationNth2A + epsdiss3*JacPDdissipationNth3A;
+
+ beta1rhsL = beta1rhsL + epsdiss1*JacPDdissipationNth1beta1 +
+ epsdiss2*JacPDdissipationNth2beta1 +
+ epsdiss3*JacPDdissipationNth3beta1;
+
+ beta2rhsL = beta2rhsL + epsdiss1*JacPDdissipationNth1beta2 +
+ epsdiss2*JacPDdissipationNth2beta2 +
+ epsdiss3*JacPDdissipationNth3beta2;
+
+ beta3rhsL = beta3rhsL + epsdiss1*JacPDdissipationNth1beta3 +
+ epsdiss2*JacPDdissipationNth2beta3 +
+ epsdiss3*JacPDdissipationNth3beta3;
+
+ B1rhsL = B1rhsL + epsdiss1*JacPDdissipationNth1B1 +
+ epsdiss2*JacPDdissipationNth2B1 + epsdiss3*JacPDdissipationNth3B1;
+
+ B2rhsL = B2rhsL + epsdiss1*JacPDdissipationNth1B2 +
+ epsdiss2*JacPDdissipationNth2B2 + epsdiss3*JacPDdissipationNth3B2;
+
+ B3rhsL = B3rhsL + epsdiss1*JacPDdissipationNth1B3 +
+ epsdiss2*JacPDdissipationNth2B3 + epsdiss3*JacPDdissipationNth3B3;
/* Copy local copies back to grid functions */
alpharhs[index] = alpharhsL;
diff --git a/ML_BSSN_MP_O8/src/ML_BSSN_MP_O8_Minkowski.cc b/ML_BSSN_MP_O8/src/ML_BSSN_MP_O8_Minkowski.cc
index d589bd3..6545c4a 100644
--- a/ML_BSSN_MP_O8/src/ML_BSSN_MP_O8_Minkowski.cc
+++ b/ML_BSSN_MP_O8/src/ML_BSSN_MP_O8_Minkowski.cc
@@ -94,6 +94,51 @@ static void ML_BSSN_MP_O8_Minkowski_Body(cGH const * restrict const cctkGH, int
CCTK_REAL const pm1o840dy = -0.00119047619047619047619047619048*INV(dy);
CCTK_REAL const pm1o840dz = -0.00119047619047619047619047619048*INV(dz);
+ /* 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
LC_LOOP3 (ML_BSSN_MP_O8_Minkowski,
@@ -106,6 +151,7 @@ static void ML_BSSN_MP_O8_Minkowski_Body(cGH const * restrict const cctkGH, int
+
/* Include user supplied include files */
/* Precompute derivatives */
diff --git a/ML_BSSN_MP_O8/src/ML_BSSN_MP_O8_RHS1.cc b/ML_BSSN_MP_O8/src/ML_BSSN_MP_O8_RHS1.cc
index 2e4b5dd..cebbd90 100644
--- a/ML_BSSN_MP_O8/src/ML_BSSN_MP_O8_RHS1.cc
+++ b/ML_BSSN_MP_O8/src/ML_BSSN_MP_O8_RHS1.cc
@@ -72,8 +72,8 @@ static void ML_BSSN_MP_O8_RHS1_Body(cGH const * restrict const cctkGH, int const
return;
}
- const char *groups[] = {"Coordinates::jacobian","Coordinates::jacobian2","grid::coordinates","Grid::coordinates","ML_BSSN_MP_O8::ML_curv","ML_BSSN_MP_O8::ML_dtlapse","ML_BSSN_MP_O8::ML_dtlapserhs","ML_BSSN_MP_O8::ML_dtshift","ML_BSSN_MP_O8::ML_dtshiftrhs","ML_BSSN_MP_O8::ML_Gamma","ML_BSSN_MP_O8::ML_Gammarhs","ML_BSSN_MP_O8::ML_lapse","ML_BSSN_MP_O8::ML_lapserhs","ML_BSSN_MP_O8::ML_log_confac","ML_BSSN_MP_O8::ML_log_confacrhs","ML_BSSN_MP_O8::ML_metric","ML_BSSN_MP_O8::ML_metricrhs","ML_BSSN_MP_O8::ML_shift","ML_BSSN_MP_O8::ML_shiftrhs","ML_BSSN_MP_O8::ML_trace_curv","ML_BSSN_MP_O8::ML_trace_curvrhs"};
- GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_MP_O8_RHS1", 21, groups);
+ const char *groups[] = {"grid::coordinates","Grid::coordinates","ML_BSSN_MP_O8::ML_curv","ML_BSSN_MP_O8::ML_dtlapse","ML_BSSN_MP_O8::ML_dtlapserhs","ML_BSSN_MP_O8::ML_dtshift","ML_BSSN_MP_O8::ML_dtshiftrhs","ML_BSSN_MP_O8::ML_Gamma","ML_BSSN_MP_O8::ML_Gammarhs","ML_BSSN_MP_O8::ML_lapse","ML_BSSN_MP_O8::ML_lapserhs","ML_BSSN_MP_O8::ML_log_confac","ML_BSSN_MP_O8::ML_log_confacrhs","ML_BSSN_MP_O8::ML_metric","ML_BSSN_MP_O8::ML_metricrhs","ML_BSSN_MP_O8::ML_shift","ML_BSSN_MP_O8::ML_shiftrhs","ML_BSSN_MP_O8::ML_trace_curv","ML_BSSN_MP_O8::ML_trace_curvrhs"};
+ GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_MP_O8_RHS1", 19, groups);
GenericFD_EnsureStencilFits(cctkGH, "ML_BSSN_MP_O8_RHS1", 4, 4, 4);
@@ -128,6 +128,51 @@ static void ML_BSSN_MP_O8_RHS1_Body(cGH const * restrict const cctkGH, int const
CCTK_REAL const pm1o840dy = -0.00119047619047619047619047619048*INV(dy);
CCTK_REAL const pm1o840dz = -0.00119047619047619047619047619048*INV(dz);
+ /* 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
LC_LOOP3 (ML_BSSN_MP_O8_RHS1,
@@ -152,39 +197,12 @@ static void ML_BSSN_MP_O8_RHS1_Body(cGH const * restrict const cctkGH, int const
CCTK_REAL beta1L = beta1[index];
CCTK_REAL beta2L = beta2[index];
CCTK_REAL beta3L = beta3[index];
- CCTK_REAL dJ111L = dJ111[index];
- CCTK_REAL dJ112L = dJ112[index];
- CCTK_REAL dJ113L = dJ113[index];
- CCTK_REAL dJ122L = dJ122[index];
- CCTK_REAL dJ123L = dJ123[index];
- CCTK_REAL dJ133L = dJ133[index];
- CCTK_REAL dJ211L = dJ211[index];
- CCTK_REAL dJ212L = dJ212[index];
- CCTK_REAL dJ213L = dJ213[index];
- CCTK_REAL dJ222L = dJ222[index];
- CCTK_REAL dJ223L = dJ223[index];
- CCTK_REAL dJ233L = dJ233[index];
- CCTK_REAL dJ311L = dJ311[index];
- CCTK_REAL dJ312L = dJ312[index];
- CCTK_REAL dJ313L = dJ313[index];
- CCTK_REAL dJ322L = dJ322[index];
- CCTK_REAL dJ323L = dJ323[index];
- CCTK_REAL dJ333L = dJ333[index];
CCTK_REAL gt11L = gt11[index];
CCTK_REAL gt12L = gt12[index];
CCTK_REAL gt13L = gt13[index];
CCTK_REAL gt22L = gt22[index];
CCTK_REAL gt23L = gt23[index];
CCTK_REAL gt33L = gt33[index];
- CCTK_REAL J11L = J11[index];
- CCTK_REAL J12L = J12[index];
- CCTK_REAL J13L = J13[index];
- CCTK_REAL J21L = J21[index];
- CCTK_REAL J22L = J22[index];
- CCTK_REAL J23L = J23[index];
- CCTK_REAL J31L = J31[index];
- CCTK_REAL J32L = J32[index];
- CCTK_REAL J33L = J33[index];
CCTK_REAL phiL = phi[index];
CCTK_REAL rL = r[index];
CCTK_REAL trKL = trK[index];
@@ -221,6 +239,39 @@ static void ML_BSSN_MP_O8_RHS1_Body(cGH const * restrict const cctkGH, int const
eTzzL = ToReal(0.0);
}
+ CCTK_REAL 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;
+
+ if (use_jacobian)
+ {
+ dJ111L = dJ111[index];
+ dJ112L = dJ112[index];
+ dJ113L = dJ113[index];
+ dJ122L = dJ122[index];
+ dJ123L = dJ123[index];
+ dJ133L = dJ133[index];
+ dJ211L = dJ211[index];
+ dJ212L = dJ212[index];
+ dJ213L = dJ213[index];
+ dJ222L = dJ222[index];
+ dJ223L = dJ223[index];
+ dJ233L = dJ233[index];
+ dJ311L = dJ311[index];
+ dJ312L = dJ312[index];
+ dJ313L = dJ313[index];
+ dJ322L = dJ322[index];
+ dJ323L = dJ323[index];
+ dJ333L = dJ333[index];
+ J11L = J11[index];
+ J12L = J12[index];
+ J13L = J13[index];
+ J21L = J21[index];
+ J22L = J22[index];
+ J23L = J23[index];
+ J31L = J31[index];
+ J32L = J32[index];
+ J33L = J33[index];
+ }
+
/* Include user supplied include files */
/* Precompute derivatives */
@@ -286,6 +337,600 @@ static void ML_BSSN_MP_O8_RHS1_Body(cGH const * restrict const cctkGH, int const
CCTK_REAL const PDstandardNth3trK = PDstandardNth3(&trK[index]);
/* Calculate temporaries and grid functions */
+ CCTK_REAL JacPDstandardNth11alpha;
+ CCTK_REAL JacPDstandardNth11beta1;
+ CCTK_REAL JacPDstandardNth11beta2;
+ CCTK_REAL JacPDstandardNth11beta3;
+ CCTK_REAL JacPDstandardNth12alpha;
+ CCTK_REAL JacPDstandardNth12beta1;
+ CCTK_REAL JacPDstandardNth12beta2;
+ CCTK_REAL JacPDstandardNth12beta3;
+ CCTK_REAL JacPDstandardNth13alpha;
+ CCTK_REAL JacPDstandardNth13beta1;
+ CCTK_REAL JacPDstandardNth13beta2;
+ CCTK_REAL JacPDstandardNth13beta3;
+ CCTK_REAL JacPDstandardNth1alpha;
+ CCTK_REAL JacPDstandardNth1beta1;
+ CCTK_REAL JacPDstandardNth1beta2;
+ CCTK_REAL JacPDstandardNth1beta3;
+ CCTK_REAL JacPDstandardNth1gt11;
+ CCTK_REAL JacPDstandardNth1gt12;
+ CCTK_REAL JacPDstandardNth1gt13;
+ CCTK_REAL JacPDstandardNth1gt22;
+ CCTK_REAL JacPDstandardNth1gt23;
+ CCTK_REAL JacPDstandardNth1gt33;
+ CCTK_REAL JacPDstandardNth1phi;
+ CCTK_REAL JacPDstandardNth1trK;
+ CCTK_REAL JacPDstandardNth21alpha;
+ CCTK_REAL JacPDstandardNth21beta1;
+ CCTK_REAL JacPDstandardNth21beta2;
+ CCTK_REAL JacPDstandardNth21beta3;
+ CCTK_REAL JacPDstandardNth22alpha;
+ CCTK_REAL JacPDstandardNth22beta1;
+ CCTK_REAL JacPDstandardNth22beta2;
+ CCTK_REAL JacPDstandardNth22beta3;
+ CCTK_REAL JacPDstandardNth23alpha;
+ CCTK_REAL JacPDstandardNth23beta1;
+ CCTK_REAL JacPDstandardNth23beta2;
+ CCTK_REAL JacPDstandardNth23beta3;
+ CCTK_REAL JacPDstandardNth2alpha;
+ CCTK_REAL JacPDstandardNth2beta1;
+ CCTK_REAL JacPDstandardNth2beta2;
+ CCTK_REAL JacPDstandardNth2beta3;
+ CCTK_REAL JacPDstandardNth2gt11;
+ CCTK_REAL JacPDstandardNth2gt12;
+ CCTK_REAL JacPDstandardNth2gt13;
+ CCTK_REAL JacPDstandardNth2gt22;
+ CCTK_REAL JacPDstandardNth2gt23;
+ CCTK_REAL JacPDstandardNth2gt33;
+ CCTK_REAL JacPDstandardNth2phi;
+ CCTK_REAL JacPDstandardNth2trK;
+ CCTK_REAL JacPDstandardNth31alpha;
+ CCTK_REAL JacPDstandardNth31beta1;
+ CCTK_REAL JacPDstandardNth31beta2;
+ CCTK_REAL JacPDstandardNth31beta3;
+ CCTK_REAL JacPDstandardNth32alpha;
+ CCTK_REAL JacPDstandardNth32beta1;
+ CCTK_REAL JacPDstandardNth32beta2;
+ CCTK_REAL JacPDstandardNth32beta3;
+ CCTK_REAL JacPDstandardNth33alpha;
+ CCTK_REAL JacPDstandardNth33beta1;
+ CCTK_REAL JacPDstandardNth33beta2;
+ CCTK_REAL JacPDstandardNth33beta3;
+ CCTK_REAL JacPDstandardNth3alpha;
+ CCTK_REAL JacPDstandardNth3beta1;
+ CCTK_REAL JacPDstandardNth3beta2;
+ CCTK_REAL JacPDstandardNth3beta3;
+ CCTK_REAL JacPDstandardNth3gt11;
+ CCTK_REAL JacPDstandardNth3gt12;
+ CCTK_REAL JacPDstandardNth3gt13;
+ CCTK_REAL JacPDstandardNth3gt22;
+ CCTK_REAL JacPDstandardNth3gt23;
+ CCTK_REAL JacPDstandardNth3gt33;
+ CCTK_REAL JacPDstandardNth3phi;
+ CCTK_REAL JacPDstandardNth3trK;
+
+ if (use_jacobian)
+ {
+ JacPDstandardNth1alpha = J11L*PDstandardNth1alpha +
+ J21L*PDstandardNth2alpha + J31L*PDstandardNth3alpha;
+
+ JacPDstandardNth1beta1 = J11L*PDstandardNth1beta1 +
+ J21L*PDstandardNth2beta1 + J31L*PDstandardNth3beta1;
+
+ JacPDstandardNth1beta2 = J11L*PDstandardNth1beta2 +
+ J21L*PDstandardNth2beta2 + J31L*PDstandardNth3beta2;
+
+ JacPDstandardNth1beta3 = J11L*PDstandardNth1beta3 +
+ J21L*PDstandardNth2beta3 + J31L*PDstandardNth3beta3;
+
+ JacPDstandardNth1gt11 = J11L*PDstandardNth1gt11 +
+ J21L*PDstandardNth2gt11 + J31L*PDstandardNth3gt11;
+
+ JacPDstandardNth1gt12 = J11L*PDstandardNth1gt12 +
+ J21L*PDstandardNth2gt12 + J31L*PDstandardNth3gt12;
+
+ JacPDstandardNth1gt13 = J11L*PDstandardNth1gt13 +
+ J21L*PDstandardNth2gt13 + J31L*PDstandardNth3gt13;
+
+ JacPDstandardNth1gt22 = J11L*PDstandardNth1gt22 +
+ J21L*PDstandardNth2gt22 + J31L*PDstandardNth3gt22;
+
+ JacPDstandardNth1gt23 = J11L*PDstandardNth1gt23 +
+ J21L*PDstandardNth2gt23 + J31L*PDstandardNth3gt23;
+
+ JacPDstandardNth1gt33 = J11L*PDstandardNth1gt33 +
+ J21L*PDstandardNth2gt33 + J31L*PDstandardNth3gt33;
+
+ JacPDstandardNth1phi = J11L*PDstandardNth1phi + J21L*PDstandardNth2phi
+ + J31L*PDstandardNth3phi;
+
+ JacPDstandardNth1trK = J11L*PDstandardNth1trK + J21L*PDstandardNth2trK
+ + J31L*PDstandardNth3trK;
+
+ JacPDstandardNth2alpha = J12L*PDstandardNth1alpha +
+ J22L*PDstandardNth2alpha + J32L*PDstandardNth3alpha;
+
+ JacPDstandardNth2beta1 = J12L*PDstandardNth1beta1 +
+ J22L*PDstandardNth2beta1 + J32L*PDstandardNth3beta1;
+
+ JacPDstandardNth2beta2 = J12L*PDstandardNth1beta2 +
+ J22L*PDstandardNth2beta2 + J32L*PDstandardNth3beta2;
+
+ JacPDstandardNth2beta3 = J12L*PDstandardNth1beta3 +
+ J22L*PDstandardNth2beta3 + J32L*PDstandardNth3beta3;
+
+ JacPDstandardNth2gt11 = J12L*PDstandardNth1gt11 +
+ J22L*PDstandardNth2gt11 + J32L*PDstandardNth3gt11;
+
+ JacPDstandardNth2gt12 = J12L*PDstandardNth1gt12 +
+ J22L*PDstandardNth2gt12 + J32L*PDstandardNth3gt12;
+
+ JacPDstandardNth2gt13 = J12L*PDstandardNth1gt13 +
+ J22L*PDstandardNth2gt13 + J32L*PDstandardNth3gt13;
+
+ JacPDstandardNth2gt22 = J12L*PDstandardNth1gt22 +
+ J22L*PDstandardNth2gt22 + J32L*PDstandardNth3gt22;
+
+ JacPDstandardNth2gt23 = J12L*PDstandardNth1gt23 +
+ J22L*PDstandardNth2gt23 + J32L*PDstandardNth3gt23;
+
+ JacPDstandardNth2gt33 = J12L*PDstandardNth1gt33 +
+ J22L*PDstandardNth2gt33 + J32L*PDstandardNth3gt33;
+
+ JacPDstandardNth2phi = J12L*PDstandardNth1phi + J22L*PDstandardNth2phi
+ + J32L*PDstandardNth3phi;
+
+ JacPDstandardNth2trK = J12L*PDstandardNth1trK + J22L*PDstandardNth2trK
+ + J32L*PDstandardNth3trK;
+
+ JacPDstandardNth3alpha = J13L*PDstandardNth1alpha +
+ J23L*PDstandardNth2alpha + J33L*PDstandardNth3alpha;
+
+ JacPDstandardNth3beta1 = J13L*PDstandardNth1beta1 +
+ J23L*PDstandardNth2beta1 + J33L*PDstandardNth3beta1;
+
+ JacPDstandardNth3beta2 = J13L*PDstandardNth1beta2 +
+ J23L*PDstandardNth2beta2 + J33L*PDstandardNth3beta2;
+
+ JacPDstandardNth3beta3 = J13L*PDstandardNth1beta3 +
+ J23L*PDstandardNth2beta3 + J33L*PDstandardNth3beta3;
+
+ JacPDstandardNth3gt11 = J13L*PDstandardNth1gt11 +
+ J23L*PDstandardNth2gt11 + J33L*PDstandardNth3gt11;
+
+ JacPDstandardNth3gt12 = J13L*PDstandardNth1gt12 +
+ J23L*PDstandardNth2gt12 + J33L*PDstandardNth3gt12;
+
+ JacPDstandardNth3gt13 = J13L*PDstandardNth1gt13 +
+ J23L*PDstandardNth2gt13 + J33L*PDstandardNth3gt13;
+
+ JacPDstandardNth3gt22 = J13L*PDstandardNth1gt22 +
+ J23L*PDstandardNth2gt22 + J33L*PDstandardNth3gt22;
+
+ JacPDstandardNth3gt23 = J13L*PDstandardNth1gt23 +
+ J23L*PDstandardNth2gt23 + J33L*PDstandardNth3gt23;
+
+ JacPDstandardNth3gt33 = J13L*PDstandardNth1gt33 +
+ J23L*PDstandardNth2gt33 + J33L*PDstandardNth3gt33;
+
+ JacPDstandardNth3phi = J13L*PDstandardNth1phi + J23L*PDstandardNth2phi
+ + J33L*PDstandardNth3phi;
+
+ JacPDstandardNth3trK = J13L*PDstandardNth1trK + J23L*PDstandardNth2trK
+ + J33L*PDstandardNth3trK;
+
+ JacPDstandardNth11alpha = dJ111L*PDstandardNth1alpha +
+ 2*(J11L*(J21L*PDstandardNth12alpha + J31L*PDstandardNth13alpha) +
+ J21L*J31L*PDstandardNth23alpha) + dJ211L*PDstandardNth2alpha +
+ dJ311L*PDstandardNth3alpha + PDstandardNth11alpha*SQR(J11L) +
+ PDstandardNth22alpha*SQR(J21L) + PDstandardNth33alpha*SQR(J31L);
+
+ JacPDstandardNth11beta1 = dJ111L*PDstandardNth1beta1 +
+ 2*(J11L*(J21L*PDstandardNth12beta1 + J31L*PDstandardNth13beta1) +
+ J21L*J31L*PDstandardNth23beta1) + dJ211L*PDstandardNth2beta1 +
+ dJ311L*PDstandardNth3beta1 + PDstandardNth11beta1*SQR(J11L) +
+ PDstandardNth22beta1*SQR(J21L) + PDstandardNth33beta1*SQR(J31L);
+
+ JacPDstandardNth11beta2 = dJ111L*PDstandardNth1beta2 +
+ 2*(J11L*(J21L*PDstandardNth12beta2 + J31L*PDstandardNth13beta2) +
+ J21L*J31L*PDstandardNth23beta2) + dJ211L*PDstandardNth2beta2 +
+ dJ311L*PDstandardNth3beta2 + PDstandardNth11beta2*SQR(J11L) +
+ PDstandardNth22beta2*SQR(J21L) + PDstandardNth33beta2*SQR(J31L);
+
+ JacPDstandardNth11beta3 = dJ111L*PDstandardNth1beta3 +
+ 2*(J11L*(J21L*PDstandardNth12beta3 + J31L*PDstandardNth13beta3) +
+ J21L*J31L*PDstandardNth23beta3) + dJ211L*PDstandardNth2beta3 +
+ dJ311L*PDstandardNth3beta3 + PDstandardNth11beta3*SQR(J11L) +
+ PDstandardNth22beta3*SQR(J21L) + PDstandardNth33beta3*SQR(J31L);
+
+ JacPDstandardNth22alpha = dJ122L*PDstandardNth1alpha +
+ 2*(J12L*(J22L*PDstandardNth12alpha + J32L*PDstandardNth13alpha) +
+ J22L*J32L*PDstandardNth23alpha) + dJ222L*PDstandardNth2alpha +
+ dJ322L*PDstandardNth3alpha + PDstandardNth11alpha*SQR(J12L) +
+ PDstandardNth22alpha*SQR(J22L) + PDstandardNth33alpha*SQR(J32L);
+
+ JacPDstandardNth22beta1 = dJ122L*PDstandardNth1beta1 +
+ 2*(J12L*(J22L*PDstandardNth12beta1 + J32L*PDstandardNth13beta1) +
+ J22L*J32L*PDstandardNth23beta1) + dJ222L*PDstandardNth2beta1 +
+ dJ322L*PDstandardNth3beta1 + PDstandardNth11beta1*SQR(J12L) +
+ PDstandardNth22beta1*SQR(J22L) + PDstandardNth33beta1*SQR(J32L);
+
+ JacPDstandardNth22beta2 = dJ122L*PDstandardNth1beta2 +
+ 2*(J12L*(J22L*PDstandardNth12beta2 + J32L*PDstandardNth13beta2) +
+ J22L*J32L*PDstandardNth23beta2) + dJ222L*PDstandardNth2beta2 +
+ dJ322L*PDstandardNth3beta2 + PDstandardNth11beta2*SQR(J12L) +
+ PDstandardNth22beta2*SQR(J22L) + PDstandardNth33beta2*SQR(J32L);
+
+ JacPDstandardNth22beta3 = dJ122L*PDstandardNth1beta3 +
+ 2*(J12L*(J22L*PDstandardNth12beta3 + J32L*PDstandardNth13beta3) +
+ J22L*J32L*PDstandardNth23beta3) + dJ222L*PDstandardNth2beta3 +
+ dJ322L*PDstandardNth3beta3 + PDstandardNth11beta3*SQR(J12L) +
+ PDstandardNth22beta3*SQR(J22L) + PDstandardNth33beta3*SQR(J32L);
+
+ JacPDstandardNth33alpha = dJ133L*PDstandardNth1alpha +
+ 2*(J13L*(J23L*PDstandardNth12alpha + J33L*PDstandardNth13alpha) +
+ J23L*J33L*PDstandardNth23alpha) + dJ233L*PDstandardNth2alpha +
+ dJ333L*PDstandardNth3alpha + PDstandardNth11alpha*SQR(J13L) +
+ PDstandardNth22alpha*SQR(J23L) + PDstandardNth33alpha*SQR(J33L);
+
+ JacPDstandardNth33beta1 = dJ133L*PDstandardNth1beta1 +
+ 2*(J13L*(J23L*PDstandardNth12beta1 + J33L*PDstandardNth13beta1) +
+ J23L*J33L*PDstandardNth23beta1) + dJ233L*PDstandardNth2beta1 +
+ dJ333L*PDstandardNth3beta1 + PDstandardNth11beta1*SQR(J13L) +
+ PDstandardNth22beta1*SQR(J23L) + PDstandardNth33beta1*SQR(J33L);
+
+ JacPDstandardNth33beta2 = dJ133L*PDstandardNth1beta2 +
+ 2*(J13L*(J23L*PDstandardNth12beta2 + J33L*PDstandardNth13beta2) +
+ J23L*J33L*PDstandardNth23beta2) + dJ233L*PDstandardNth2beta2 +
+ dJ333L*PDstandardNth3beta2 + PDstandardNth11beta2*SQR(J13L) +
+ PDstandardNth22beta2*SQR(J23L) + PDstandardNth33beta2*SQR(J33L);
+
+ JacPDstandardNth33beta3 = dJ133L*PDstandardNth1beta3 +
+ 2*(J13L*(J23L*PDstandardNth12beta3 + J33L*PDstandardNth13beta3) +
+ J23L*J33L*PDstandardNth23beta3) + dJ233L*PDstandardNth2beta3 +
+ dJ333L*PDstandardNth3beta3 + PDstandardNth11beta3*SQR(J13L) +
+ PDstandardNth22beta3*SQR(J23L) + PDstandardNth33beta3*SQR(J33L);
+
+ JacPDstandardNth12alpha = J12L*(J11L*PDstandardNth11alpha +
+ J21L*PDstandardNth12alpha + J31L*PDstandardNth13alpha) +
+ J11L*(J22L*PDstandardNth12alpha + J32L*PDstandardNth13alpha) +
+ dJ112L*PDstandardNth1alpha + J22L*(J21L*PDstandardNth22alpha +
+ J31L*PDstandardNth23alpha) + dJ212L*PDstandardNth2alpha +
+ J32L*(J21L*PDstandardNth23alpha + J31L*PDstandardNth33alpha) +
+ dJ312L*PDstandardNth3alpha;
+
+ JacPDstandardNth12beta1 = J12L*(J11L*PDstandardNth11beta1 +
+ J21L*PDstandardNth12beta1 + J31L*PDstandardNth13beta1) +
+ J11L*(J22L*PDstandardNth12beta1 + J32L*PDstandardNth13beta1) +
+ dJ112L*PDstandardNth1beta1 + J22L*(J21L*PDstandardNth22beta1 +
+ J31L*PDstandardNth23beta1) + dJ212L*PDstandardNth2beta1 +
+ J32L*(J21L*PDstandardNth23beta1 + J31L*PDstandardNth33beta1) +
+ dJ312L*PDstandardNth3beta1;
+
+ JacPDstandardNth12beta2 = J12L*(J11L*PDstandardNth11beta2 +
+ J21L*PDstandardNth12beta2 + J31L*PDstandardNth13beta2) +
+ J11L*(J22L*PDstandardNth12beta2 + J32L*PDstandardNth13beta2) +
+ dJ112L*PDstandardNth1beta2 + J22L*(J21L*PDstandardNth22beta2 +
+ J31L*PDstandardNth23beta2) + dJ212L*PDstandardNth2beta2 +
+ J32L*(J21L*PDstandardNth23beta2 + J31L*PDstandardNth33beta2) +
+ dJ312L*PDstandardNth3beta2;
+
+ JacPDstandardNth12beta3 = J12L*(J11L*PDstandardNth11beta3 +
+ J21L*PDstandardNth12beta3 + J31L*PDstandardNth13beta3) +
+ J11L*(J22L*PDstandardNth12beta3 + J32L*PDstandardNth13beta3) +
+ dJ112L*PDstandardNth1beta3 + J22L*(J21L*PDstandardNth22beta3 +
+ J31L*PDstandardNth23beta3) + dJ212L*PDstandardNth2beta3 +
+ J32L*(J21L*PDstandardNth23beta3 + J31L*PDstandardNth33beta3) +
+ dJ312L*PDstandardNth3beta3;
+
+ JacPDstandardNth13alpha = J13L*(J11L*PDstandardNth11alpha +
+ J21L*PDstandardNth12alpha + J31L*PDstandardNth13alpha) +
+ J11L*(J23L*PDstandardNth12alpha + J33L*PDstandardNth13alpha) +
+ dJ113L*PDstandardNth1alpha + J23L*(J21L*PDstandardNth22alpha +
+ J31L*PDstandardNth23alpha) + dJ213L*PDstandardNth2alpha +
+ J33L*(J21L*PDstandardNth23alpha + J31L*PDstandardNth33alpha) +
+ dJ313L*PDstandardNth3alpha;
+
+ JacPDstandardNth13beta1 = J13L*(J11L*PDstandardNth11beta1 +
+ J21L*PDstandardNth12beta1 + J31L*PDstandardNth13beta1) +
+ J11L*(J23L*PDstandardNth12beta1 + J33L*PDstandardNth13beta1) +
+ dJ113L*PDstandardNth1beta1 + J23L*(J21L*PDstandardNth22beta1 +
+ J31L*PDstandardNth23beta1) + dJ213L*PDstandardNth2beta1 +
+ J33L*(J21L*PDstandardNth23beta1 + J31L*PDstandardNth33beta1) +
+ dJ313L*PDstandardNth3beta1;
+
+ JacPDstandardNth13beta2 = J13L*(J11L*PDstandardNth11beta2 +
+ J21L*PDstandardNth12beta2 + J31L*PDstandardNth13beta2) +
+ J11L*(J23L*PDstandardNth12beta2 + J33L*PDstandardNth13beta2) +
+ dJ113L*PDstandardNth1beta2 + J23L*(J21L*PDstandardNth22beta2 +
+ J31L*PDstandardNth23beta2) + dJ213L*PDstandardNth2beta2 +
+ J33L*(J21L*PDstandardNth23beta2 + J31L*PDstandardNth33beta2) +
+ dJ313L*PDstandardNth3beta2;
+
+ JacPDstandardNth13beta3 = J13L*(J11L*PDstandardNth11beta3 +
+ J21L*PDstandardNth12beta3 + J31L*PDstandardNth13beta3) +
+ J11L*(J23L*PDstandardNth12beta3 + J33L*PDstandardNth13beta3) +
+ dJ113L*PDstandardNth1beta3 + J23L*(J21L*PDstandardNth22beta3 +
+ J31L*PDstandardNth23beta3) + dJ213L*PDstandardNth2beta3 +
+ J33L*(J21L*PDstandardNth23beta3 + J31L*PDstandardNth33beta3) +
+ dJ313L*PDstandardNth3beta3;
+
+ JacPDstandardNth21alpha = J12L*(J11L*PDstandardNth11alpha +
+ J21L*PDstandardNth12alpha + J31L*PDstandardNth13alpha) +
+ J11L*(J22L*PDstandardNth12alpha + J32L*PDstandardNth13alpha) +
+ dJ112L*PDstandardNth1alpha + J22L*(J21L*PDstandardNth22alpha +
+ J31L*PDstandardNth23alpha) + dJ212L*PDstandardNth2alpha +
+ J32L*(J21L*PDstandardNth23alpha + J31L*PDstandardNth33alpha) +
+ dJ312L*PDstandardNth3alpha;
+
+ JacPDstandardNth21beta1 = J12L*(J11L*PDstandardNth11beta1 +
+ J21L*PDstandardNth12beta1 + J31L*PDstandardNth13beta1) +
+ J11L*(J22L*PDstandardNth12beta1 + J32L*PDstandardNth13beta1) +
+ dJ112L*PDstandardNth1beta1 + J22L*(J21L*PDstandardNth22beta1 +
+ J31L*PDstandardNth23beta1) + dJ212L*PDstandardNth2beta1 +
+ J32L*(J21L*PDstandardNth23beta1 + J31L*PDstandardNth33beta1) +
+ dJ312L*PDstandardNth3beta1;
+
+ JacPDstandardNth21beta2 = J12L*(J11L*PDstandardNth11beta2 +
+ J21L*PDstandardNth12beta2 + J31L*PDstandardNth13beta2) +
+ J11L*(J22L*PDstandardNth12beta2 + J32L*PDstandardNth13beta2) +
+ dJ112L*PDstandardNth1beta2 + J22L*(J21L*PDstandardNth22beta2 +
+ J31L*PDstandardNth23beta2) + dJ212L*PDstandardNth2beta2 +
+ J32L*(J21L*PDstandardNth23beta2 + J31L*PDstandardNth33beta2) +
+ dJ312L*PDstandardNth3beta2;
+
+ JacPDstandardNth21beta3 = J12L*(J11L*PDstandardNth11beta3 +
+ J21L*PDstandardNth12beta3 + J31L*PDstandardNth13beta3) +
+ J11L*(J22L*PDstandardNth12beta3 + J32L*PDstandardNth13beta3) +
+ dJ112L*PDstandardNth1beta3 + J22L*(J21L*PDstandardNth22beta3 +
+ J31L*PDstandardNth23beta3) + dJ212L*PDstandardNth2beta3 +
+ J32L*(J21L*PDstandardNth23beta3 + J31L*PDstandardNth33beta3) +
+ dJ312L*PDstandardNth3beta3;
+
+ JacPDstandardNth23alpha = J13L*(J12L*PDstandardNth11alpha +
+ J22L*PDstandardNth12alpha + J32L*PDstandardNth13alpha) +
+ J12L*(J23L*PDstandardNth12alpha + J33L*PDstandardNth13alpha) +
+ dJ123L*PDstandardNth1alpha + J23L*(J22L*PDstandardNth22alpha +
+ J32L*PDstandardNth23alpha) + dJ223L*PDstandardNth2alpha +
+ J33L*(J22L*PDstandardNth23alpha + J32L*PDstandardNth33alpha) +
+ dJ323L*PDstandardNth3alpha;
+
+ JacPDstandardNth23beta1 = J13L*(J12L*PDstandardNth11beta1 +
+ J22L*PDstandardNth12beta1 + J32L*PDstandardNth13beta1) +
+ J12L*(J23L*PDstandardNth12beta1 + J33L*PDstandardNth13beta1) +
+ dJ123L*PDstandardNth1beta1 + J23L*(J22L*PDstandardNth22beta1 +
+ J32L*PDstandardNth23beta1) + dJ223L*PDstandardNth2beta1 +
+ J33L*(J22L*PDstandardNth23beta1 + J32L*PDstandardNth33beta1) +
+ dJ323L*PDstandardNth3beta1;
+
+ JacPDstandardNth23beta2 = J13L*(J12L*PDstandardNth11beta2 +
+ J22L*PDstandardNth12beta2 + J32L*PDstandardNth13beta2) +
+ J12L*(J23L*PDstandardNth12beta2 + J33L*PDstandardNth13beta2) +
+ dJ123L*PDstandardNth1beta2 + J23L*(J22L*PDstandardNth22beta2 +
+ J32L*PDstandardNth23beta2) + dJ223L*PDstandardNth2beta2 +
+ J33L*(J22L*PDstandardNth23beta2 + J32L*PDstandardNth33beta2) +
+ dJ323L*PDstandardNth3beta2;
+
+ JacPDstandardNth23beta3 = J13L*(J12L*PDstandardNth11beta3 +
+ J22L*PDstandardNth12beta3 + J32L*PDstandardNth13beta3) +
+ J12L*(J23L*PDstandardNth12beta3 + J33L*PDstandardNth13beta3) +
+ dJ123L*PDstandardNth1beta3 + J23L*(J22L*PDstandardNth22beta3 +
+ J32L*PDstandardNth23beta3) + dJ223L*PDstandardNth2beta3 +
+ J33L*(J22L*PDstandardNth23beta3 + J32L*PDstandardNth33beta3) +
+ dJ323L*PDstandardNth3beta3;
+
+ JacPDstandardNth31alpha = J13L*(J11L*PDstandardNth11alpha +
+ J21L*PDstandardNth12alpha + J31L*PDstandardNth13alpha) +
+ J11L*(J23L*PDstandardNth12alpha + J33L*PDstandardNth13alpha) +
+ dJ113L*PDstandardNth1alpha + J23L*(J21L*PDstandardNth22alpha +
+ J31L*PDstandardNth23alpha) + dJ213L*PDstandardNth2alpha +
+ J33L*(J21L*PDstandardNth23alpha + J31L*PDstandardNth33alpha) +
+ dJ313L*PDstandardNth3alpha;
+
+ JacPDstandardNth31beta1 = J13L*(J11L*PDstandardNth11beta1 +
+ J21L*PDstandardNth12beta1 + J31L*PDstandardNth13beta1) +
+ J11L*(J23L*PDstandardNth12beta1 + J33L*PDstandardNth13beta1) +
+ dJ113L*PDstandardNth1beta1 + J23L*(J21L*PDstandardNth22beta1 +
+ J31L*PDstandardNth23beta1) + dJ213L*PDstandardNth2beta1 +
+ J33L*(J21L*PDstandardNth23beta1 + J31L*PDstandardNth33beta1) +
+ dJ313L*PDstandardNth3beta1;
+
+ JacPDstandardNth31beta2 = J13L*(J11L*PDstandardNth11beta2 +
+ J21L*PDstandardNth12beta2 + J31L*PDstandardNth13beta2) +
+ J11L*(J23L*PDstandardNth12beta2 + J33L*PDstandardNth13beta2) +
+ dJ113L*PDstandardNth1beta2 + J23L*(J21L*PDstandardNth22beta2 +
+ J31L*PDstandardNth23beta2) + dJ213L*PDstandardNth2beta2 +
+ J33L*(J21L*PDstandardNth23beta2 + J31L*PDstandardNth33beta2) +
+ dJ313L*PDstandardNth3beta2;
+
+ JacPDstandardNth31beta3 = J13L*(J11L*PDstandardNth11beta3 +
+ J21L*PDstandardNth12beta3 + J31L*PDstandardNth13beta3) +
+ J11L*(J23L*PDstandardNth12beta3 + J33L*PDstandardNth13beta3) +
+ dJ113L*PDstandardNth1beta3 + J23L*(J21L*PDstandardNth22beta3 +
+ J31L*PDstandardNth23beta3) + dJ213L*PDstandardNth2beta3 +
+ J33L*(J21L*PDstandardNth23beta3 + J31L*PDstandardNth33beta3) +
+ dJ313L*PDstandardNth3beta3;
+
+ JacPDstandardNth32alpha = J13L*(J12L*PDstandardNth11alpha +
+ J22L*PDstandardNth12alpha + J32L*PDstandardNth13alpha) +
+ J12L*(J23L*PDstandardNth12alpha + J33L*PDstandardNth13alpha) +
+ dJ123L*PDstandardNth1alpha + J23L*(J22L*PDstandardNth22alpha +
+ J32L*PDstandardNth23alpha) + dJ223L*PDstandardNth2alpha +
+ J33L*(J22L*PDstandardNth23alpha + J32L*PDstandardNth33alpha) +
+ dJ323L*PDstandardNth3alpha;
+
+ JacPDstandardNth32beta1 = J13L*(J12L*PDstandardNth11beta1 +
+ J22L*PDstandardNth12beta1 + J32L*PDstandardNth13beta1) +
+ J12L*(J23L*PDstandardNth12beta1 + J33L*PDstandardNth13beta1) +
+ dJ123L*PDstandardNth1beta1 + J23L*(J22L*PDstandardNth22beta1 +
+ J32L*PDstandardNth23beta1) + dJ223L*PDstandardNth2beta1 +
+ J33L*(J22L*PDstandardNth23beta1 + J32L*PDstandardNth33beta1) +
+ dJ323L*PDstandardNth3beta1;
+
+ JacPDstandardNth32beta2 = J13L*(J12L*PDstandardNth11beta2 +
+ J22L*PDstandardNth12beta2 + J32L*PDstandardNth13beta2) +
+ J12L*(J23L*PDstandardNth12beta2 + J33L*PDstandardNth13beta2) +
+ dJ123L*PDstandardNth1beta2 + J23L*(J22L*PDstandardNth22beta2 +
+ J32L*PDstandardNth23beta2) + dJ223L*PDstandardNth2beta2 +
+ J33L*(J22L*PDstandardNth23beta2 + J32L*PDstandardNth33beta2) +
+ dJ323L*PDstandardNth3beta2;
+
+ JacPDstandardNth32beta3 = J13L*(J12L*PDstandardNth11beta3 +
+ J22L*PDstandardNth12beta3 + J32L*PDstandardNth13beta3) +
+ J12L*(J23L*PDstandardNth12beta3 + J33L*PDstandardNth13beta3) +
+ dJ123L*PDstandardNth1beta3 + J23L*(J22L*PDstandardNth22beta3 +
+ J32L*PDstandardNth23beta3) + dJ223L*PDstandardNth2beta3 +
+ J33L*(J22L*PDstandardNth23beta3 + J32L*PDstandardNth33beta3) +
+ dJ323L*PDstandardNth3beta3;
+ }
+ 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;
+
+ JacPDstandardNth2alpha = PDstandardNth2alpha;
+
+ JacPDstandardNth2beta1 = PDstandardNth2beta1;
+
+ JacPDstandardNth2beta2 = PDstandardNth2beta2;
+
+ JacPDstandardNth2beta3 = PDstandardNth2beta3;
+
+ JacPDstandardNth2gt11 = PDstandardNth2gt11;
+
+ JacPDstandardNth2gt12 = PDstandardNth2gt12;
+
+ JacPDstandardNth2gt13 = PDstandardNth2gt13;
+
+ JacPDstandardNth2gt22 = PDstandardNth2gt22;
+
+ JacPDstandardNth2gt23 = PDstandardNth2gt23;
+
+ JacPDstandardNth2gt33 = PDstandardNth2gt33;
+
+ JacPDstandardNth2phi = PDstandardNth2phi;
+
+ JacPDstandardNth2trK = PDstandardNth2trK;
+
+ JacPDstandardNth3alpha = PDstandardNth3alpha;
+
+ JacPDstandardNth3beta1 = PDstandardNth3beta1;
+
+ JacPDstandardNth3beta2 = PDstandardNth3beta2;
+
+ JacPDstandardNth3beta3 = PDstandardNth3beta3;
+
+ JacPDstandardNth3gt11 = PDstandardNth3gt11;
+
+ JacPDstandardNth3gt12 = PDstandardNth3gt12;
+
+ JacPDstandardNth3gt13 = PDstandardNth3gt13;
+
+ JacPDstandardNth3gt22 = PDstandardNth3gt22;
+
+ JacPDstandardNth3gt23 = PDstandardNth3gt23;
+
+ JacPDstandardNth3gt33 = PDstandardNth3gt33;
+
+ JacPDstandardNth3phi = PDstandardNth3phi;
+
+ JacPDstandardNth3trK = PDstandardNth3trK;
+
+ JacPDstandardNth11alpha = PDstandardNth11alpha;
+
+ JacPDstandardNth11beta1 = PDstandardNth11beta1;
+
+ JacPDstandardNth11beta2 = PDstandardNth11beta2;
+
+ JacPDstandardNth11beta3 = PDstandardNth11beta3;
+
+ JacPDstandardNth22alpha = PDstandardNth22alpha;
+
+ JacPDstandardNth22beta1 = PDstandardNth22beta1;
+
+ JacPDstandardNth22beta2 = PDstandardNth22beta2;
+
+ JacPDstandardNth22beta3 = PDstandardNth22beta3;
+
+ JacPDstandardNth33alpha = PDstandardNth33alpha;
+
+ JacPDstandardNth33beta1 = PDstandardNth33beta1;
+
+ JacPDstandardNth33beta2 = PDstandardNth33beta2;
+
+ JacPDstandardNth33beta3 = PDstandardNth33beta3;
+
+ JacPDstandardNth12alpha = PDstandardNth12alpha;
+
+ JacPDstandardNth12beta1 = PDstandardNth12beta1;
+
+ JacPDstandardNth12beta2 = PDstandardNth12beta2;
+
+ JacPDstandardNth12beta3 = PDstandardNth12beta3;
+
+ JacPDstandardNth13alpha = PDstandardNth13alpha;
+
+ JacPDstandardNth13beta1 = PDstandardNth13beta1;
+
+ JacPDstandardNth13beta2 = PDstandardNth13beta2;
+
+ JacPDstandardNth13beta3 = PDstandardNth13beta3;
+
+ JacPDstandardNth21alpha = PDstandardNth12alpha;
+
+ JacPDstandardNth21beta1 = PDstandardNth12beta1;
+
+ JacPDstandardNth21beta2 = PDstandardNth12beta2;
+
+ JacPDstandardNth21beta3 = PDstandardNth12beta3;
+
+ JacPDstandardNth23alpha = PDstandardNth23alpha;
+
+ JacPDstandardNth23beta1 = PDstandardNth23beta1;
+
+ JacPDstandardNth23beta2 = PDstandardNth23beta2;
+
+ JacPDstandardNth23beta3 = PDstandardNth23beta3;
+
+ JacPDstandardNth31alpha = PDstandardNth13alpha;
+
+ JacPDstandardNth31beta1 = PDstandardNth13beta1;
+
+ JacPDstandardNth31beta2 = PDstandardNth13beta2;
+
+ JacPDstandardNth31beta3 = PDstandardNth13beta3;
+
+ JacPDstandardNth32alpha = PDstandardNth23alpha;
+
+ JacPDstandardNth32beta1 = PDstandardNth23beta1;
+
+ JacPDstandardNth32beta2 = PDstandardNth23beta2;
+
+ JacPDstandardNth32beta3 = PDstandardNth23beta3;
+ }
+
ptrdiff_t dir1 = Sign(beta1L);
ptrdiff_t dir2 = Sign(beta2L);
@@ -306,74 +951,44 @@ static void ML_BSSN_MP_O8_RHS1_Body(cGH const * restrict const cctkGH, int const
CCTK_REAL gtu33 = INV(detgt)*(gt11L*gt22L - SQR(gt12L));
- CCTK_REAL Gtl111 = 0.5*(J11L*PDstandardNth1gt11 +
- J21L*PDstandardNth2gt11 + J31L*PDstandardNth3gt11);
+ CCTK_REAL Gtl111 = 0.5*JacPDstandardNth1gt11;
- CCTK_REAL Gtl112 = 0.5*(J12L*PDstandardNth1gt11 +
- J22L*PDstandardNth2gt11 + J32L*PDstandardNth3gt11);
+ CCTK_REAL Gtl112 = 0.5*JacPDstandardNth2gt11;
- CCTK_REAL Gtl113 = 0.5*(J13L*PDstandardNth1gt11 +
- J23L*PDstandardNth2gt11 + J33L*PDstandardNth3gt11);
+ CCTK_REAL Gtl113 = 0.5*JacPDstandardNth3gt11;
- CCTK_REAL Gtl122 = J12L*PDstandardNth1gt12 + J22L*PDstandardNth2gt12 +
- J32L*PDstandardNth3gt12 - 0.5*(J11L*PDstandardNth1gt22 +
- J21L*PDstandardNth2gt22 + J31L*PDstandardNth3gt22);
+ CCTK_REAL Gtl122 = -0.5*JacPDstandardNth1gt22 + JacPDstandardNth2gt12;
- CCTK_REAL Gtl123 = 0.5*(J13L*PDstandardNth1gt12 +
- J12L*PDstandardNth1gt13 - J11L*PDstandardNth1gt23 +
- J23L*PDstandardNth2gt12 + J22L*PDstandardNth2gt13 -
- J21L*PDstandardNth2gt23 + J33L*PDstandardNth3gt12 +
- J32L*PDstandardNth3gt13 - J31L*PDstandardNth3gt23);
+ CCTK_REAL Gtl123 = 0.5*(-JacPDstandardNth1gt23 + JacPDstandardNth2gt13
+ + JacPDstandardNth3gt12);
- CCTK_REAL Gtl133 = J13L*PDstandardNth1gt13 + J23L*PDstandardNth2gt13 +
- J33L*PDstandardNth3gt13 - 0.5*(J11L*PDstandardNth1gt33 +
- J21L*PDstandardNth2gt33 + J31L*PDstandardNth3gt33);
+ CCTK_REAL Gtl133 = -0.5*JacPDstandardNth1gt33 + JacPDstandardNth3gt13;
- CCTK_REAL Gtl211 = J11L*PDstandardNth1gt12 + J21L*PDstandardNth2gt12 -
- 0.5*(J12L*PDstandardNth1gt11 + J22L*PDstandardNth2gt11 +
- J32L*PDstandardNth3gt11) + J31L*PDstandardNth3gt12;
+ CCTK_REAL Gtl211 = JacPDstandardNth1gt12 - 0.5*JacPDstandardNth2gt11;
- CCTK_REAL Gtl212 = 0.5*(J11L*PDstandardNth1gt22 +
- J21L*PDstandardNth2gt22 + J31L*PDstandardNth3gt22);
+ CCTK_REAL Gtl212 = 0.5*JacPDstandardNth1gt22;
- CCTK_REAL Gtl213 = 0.5*(J13L*PDstandardNth1gt12 -
- J12L*PDstandardNth1gt13 + J11L*PDstandardNth1gt23 +
- J23L*PDstandardNth2gt12 - J22L*PDstandardNth2gt13 +
- J21L*PDstandardNth2gt23 + J33L*PDstandardNth3gt12 -
- J32L*PDstandardNth3gt13 + J31L*PDstandardNth3gt23);
+ CCTK_REAL Gtl213 = 0.5*(JacPDstandardNth1gt23 - JacPDstandardNth2gt13
+ + JacPDstandardNth3gt12);
- CCTK_REAL Gtl222 = 0.5*(J12L*PDstandardNth1gt22 +
- J22L*PDstandardNth2gt22 + J32L*PDstandardNth3gt22);
+ CCTK_REAL Gtl222 = 0.5*JacPDstandardNth2gt22;
- CCTK_REAL Gtl223 = 0.5*(J13L*PDstandardNth1gt22 +
- J23L*PDstandardNth2gt22 + J33L*PDstandardNth3gt22);
+ CCTK_REAL Gtl223 = 0.5*JacPDstandardNth3gt22;
- CCTK_REAL Gtl233 = J13L*PDstandardNth1gt23 + J23L*PDstandardNth2gt23 +
- J33L*PDstandardNth3gt23 - 0.5*(J12L*PDstandardNth1gt33 +
- J22L*PDstandardNth2gt33 + J32L*PDstandardNth3gt33);
+ CCTK_REAL Gtl233 = -0.5*JacPDstandardNth2gt33 + JacPDstandardNth3gt23;
- CCTK_REAL Gtl311 = J11L*PDstandardNth1gt13 + J21L*PDstandardNth2gt13 -
- 0.5*(J13L*PDstandardNth1gt11 + J23L*PDstandardNth2gt11 +
- J33L*PDstandardNth3gt11) + J31L*PDstandardNth3gt13;
+ CCTK_REAL Gtl311 = JacPDstandardNth1gt13 - 0.5*JacPDstandardNth3gt11;
- CCTK_REAL Gtl312 = 0.5*(-(J13L*PDstandardNth1gt12) +
- J12L*PDstandardNth1gt13 + J11L*PDstandardNth1gt23 -
- J23L*PDstandardNth2gt12 + J22L*PDstandardNth2gt13 +
- J21L*PDstandardNth2gt23 - J33L*PDstandardNth3gt12 +
- J32L*PDstandardNth3gt13 + J31L*PDstandardNth3gt23);
+ CCTK_REAL Gtl312 = 0.5*(JacPDstandardNth1gt23 + JacPDstandardNth2gt13
+ - JacPDstandardNth3gt12);
- CCTK_REAL Gtl313 = 0.5*(J11L*PDstandardNth1gt33 +
- J21L*PDstandardNth2gt33 + J31L*PDstandardNth3gt33);
+ CCTK_REAL Gtl313 = 0.5*JacPDstandardNth1gt33;
- CCTK_REAL Gtl322 = J12L*PDstandardNth1gt23 + J22L*PDstandardNth2gt23 -
- 0.5*(J13L*PDstandardNth1gt22 + J23L*PDstandardNth2gt22 +
- J33L*PDstandardNth3gt22) + J32L*PDstandardNth3gt23;
+ CCTK_REAL Gtl322 = JacPDstandardNth2gt23 - 0.5*JacPDstandardNth3gt22;
- CCTK_REAL Gtl323 = 0.5*(J12L*PDstandardNth1gt33 +
- J22L*PDstandardNth2gt33 + J32L*PDstandardNth3gt33);
+ CCTK_REAL Gtl323 = 0.5*JacPDstandardNth2gt33;
- CCTK_REAL Gtl333 = 0.5*(J13L*PDstandardNth1gt33 +
- J23L*PDstandardNth2gt33 + J33L*PDstandardNth3gt33);
+ CCTK_REAL Gtl333 = 0.5*JacPDstandardNth3gt33;
CCTK_REAL Gt111 = Gtl111*gtu11 + Gtl211*gtu12 + Gtl311*gtu13;
@@ -422,14 +1037,11 @@ static void ML_BSSN_MP_O8_RHS1_Body(cGH const * restrict const cctkGH, int const
CCTK_REAL fac1 = IfThen(conformalMethod,-0.5*INV(phiL),1);
- CCTK_REAL cdphi1 = fac1*(J11L*PDstandardNth1phi +
- J21L*PDstandardNth2phi + J31L*PDstandardNth3phi);
+ CCTK_REAL cdphi1 = fac1*JacPDstandardNth1phi;
- CCTK_REAL cdphi2 = fac1*(J12L*PDstandardNth1phi +
- J22L*PDstandardNth2phi + J32L*PDstandardNth3phi);
+ CCTK_REAL cdphi2 = fac1*JacPDstandardNth2phi;
- CCTK_REAL cdphi3 = fac1*(J13L*PDstandardNth1phi +
- J23L*PDstandardNth2phi + J33L*PDstandardNth3phi);
+ CCTK_REAL cdphi3 = fac1*JacPDstandardNth3phi;
CCTK_REAL Atm11 = At11L*gtu11 + At12L*gtu12 + At13L*gtu13;
@@ -483,460 +1095,101 @@ static void ML_BSSN_MP_O8_RHS1_Body(cGH const * restrict const cctkGH, int const
eTxzL*gtu13 + eTyzL*gtu23) + eTzzL*gtu33);
CCTK_REAL phirhsL =
- IfThen(conformalMethod,phiL*(-0.333333333333333333333333333333*(J11L*PDstandardNth1beta1
- + J12L*PDstandardNth1beta2 + J13L*PDstandardNth1beta3 +
- J21L*PDstandardNth2beta1 + J22L*PDstandardNth2beta2 +
- J23L*PDstandardNth2beta3 + J31L*PDstandardNth3beta1 +
- J32L*PDstandardNth3beta2 + J33L*PDstandardNth3beta3) +
- 0.333333333333333333333333333333*alphaL*trKL),0.166666666666666666666666666667*(J11L*PDstandardNth1beta1
- + J12L*PDstandardNth1beta2 + J13L*PDstandardNth1beta3 +
- J21L*PDstandardNth2beta1 + J22L*PDstandardNth2beta2 +
- J23L*PDstandardNth2beta3 + J31L*PDstandardNth3beta1 +
- J32L*PDstandardNth3beta2 + J33L*PDstandardNth3beta3) -
+ IfThen(conformalMethod,phiL*(-0.333333333333333333333333333333*(JacPDstandardNth1beta1
+ + JacPDstandardNth2beta2 + JacPDstandardNth3beta3) +
+ 0.333333333333333333333333333333*alphaL*trKL),0.166666666666666666666666666667*(JacPDstandardNth1beta1
+ + JacPDstandardNth2beta2 + JacPDstandardNth3beta3) -
0.166666666666666666666666666667*alphaL*trKL);
CCTK_REAL gt11rhsL = -0.666666666666666666666666666667*(3*alphaL*At11L
- + J11L*(-2*gt11L*PDstandardNth1beta1 - 3*(gt12L*PDstandardNth1beta2 +
- gt13L*PDstandardNth1beta3)) + gt11L*(J12L*PDstandardNth1beta2 +
- J13L*PDstandardNth1beta3 + J22L*PDstandardNth2beta2 +
- J23L*PDstandardNth2beta3 - 2*(J21L*PDstandardNth2beta1 +
- J31L*PDstandardNth3beta1) + J32L*PDstandardNth3beta2 +
- J33L*PDstandardNth3beta3) - 3*(J21L*(gt12L*PDstandardNth2beta2 +
- gt13L*PDstandardNth2beta3) + J31L*(gt12L*PDstandardNth3beta2 +
- gt13L*PDstandardNth3beta3)));
+ - 3*(gt12L*JacPDstandardNth1beta2 + gt13L*JacPDstandardNth1beta3) +
+ gt11L*(-2*JacPDstandardNth1beta1 + JacPDstandardNth2beta2 +
+ JacPDstandardNth3beta3));
CCTK_REAL gt12rhsL = 0.333333333333333333333333333333*(-6*alphaL*At12L
- + (gt12L*J11L + 3*gt11L*J12L)*PDstandardNth1beta1 + (3*gt22L*J11L +
- gt12L*J12L)*PDstandardNth1beta2 + (gt12L*J21L +
- 3*gt11L*J22L)*PDstandardNth2beta1 + 3*((gt23L*J11L +
- gt13L*J12L)*PDstandardNth1beta3 + J21L*(gt22L*PDstandardNth2beta2 +
- gt23L*PDstandardNth2beta3) + gt11L*J32L*PDstandardNth3beta1 +
- J31L*(gt22L*PDstandardNth3beta2 + gt23L*PDstandardNth3beta3) +
- gt13L*(J22L*PDstandardNth2beta3 + J32L*PDstandardNth3beta3)) +
- gt12L*(J22L*PDstandardNth2beta2 + J31L*PDstandardNth3beta1 +
- J32L*PDstandardNth3beta2 - 2*(J13L*PDstandardNth1beta3 +
- J23L*PDstandardNth2beta3 + J33L*PDstandardNth3beta3)));
+ + 3*(gt22L*JacPDstandardNth1beta2 + gt23L*JacPDstandardNth1beta3 +
+ gt11L*JacPDstandardNth2beta1 + gt13L*JacPDstandardNth2beta3) +
+ gt12L*(JacPDstandardNth1beta1 + JacPDstandardNth2beta2 -
+ 2*JacPDstandardNth3beta3));
CCTK_REAL gt13rhsL = 0.333333333333333333333333333333*(-6*alphaL*At13L
- + (gt13L*J11L + 3*gt11L*J13L)*PDstandardNth1beta1 + (-2*gt13L*J12L +
- 3*(gt23L*J11L + gt12L*J13L))*PDstandardNth1beta2 + (3*gt33L*J11L +
- gt13L*J13L)*PDstandardNth1beta3 + (gt13L*J21L +
- 3*gt11L*J23L)*PDstandardNth2beta1 + (-2*gt13L*J22L + 3*(gt23L*J21L +
- gt12L*J23L))*PDstandardNth2beta2 + (3*gt33L*J21L +
- gt13L*J23L)*PDstandardNth2beta3 + (gt13L*J31L +
- 3*gt11L*J33L)*PDstandardNth3beta1 + (-2*gt13L*J32L + 3*(gt23L*J31L +
- gt12L*J33L))*PDstandardNth3beta2 + (3*gt33L*J31L +
- gt13L*J33L)*PDstandardNth3beta3);
+ + 3*(gt23L*JacPDstandardNth1beta2 + gt33L*JacPDstandardNth1beta3 +
+ gt11L*JacPDstandardNth3beta1 + gt12L*JacPDstandardNth3beta2) +
+ gt13L*(JacPDstandardNth1beta1 - 2*JacPDstandardNth2beta2 +
+ JacPDstandardNth3beta3));
CCTK_REAL gt22rhsL = -0.666666666666666666666666666667*(3*alphaL*At22L
- + (gt22L*J11L - 3*gt12L*J12L)*PDstandardNth1beta1 +
- J12L*(-2*gt22L*PDstandardNth1beta2 - 3*gt23L*PDstandardNth1beta3) +
- (gt22L*J21L - 3*gt12L*J22L)*PDstandardNth2beta1 +
- gt22L*(J13L*PDstandardNth1beta3 + J23L*PDstandardNth2beta3 +
- J31L*PDstandardNth3beta1 - 2*(J22L*PDstandardNth2beta2 +
- J32L*PDstandardNth3beta2) + J33L*PDstandardNth3beta3) -
- 3*(gt12L*J32L*PDstandardNth3beta1 + gt23L*(J22L*PDstandardNth2beta3 +
- J32L*PDstandardNth3beta3)));
+ - 3*(gt12L*JacPDstandardNth2beta1 + gt23L*JacPDstandardNth2beta3) +
+ gt22L*(JacPDstandardNth1beta1 - 2*JacPDstandardNth2beta2 +
+ JacPDstandardNth3beta3));
CCTK_REAL gt23rhsL = 0.333333333333333333333333333333*(-6*alphaL*At23L
- + (-2*gt23L*J11L + 3*(gt13L*J12L + gt12L*J13L))*PDstandardNth1beta1 +
- (gt23L*J12L + 3*gt22L*J13L)*PDstandardNth1beta2 + (3*gt33L*J12L +
- gt23L*J13L)*PDstandardNth1beta3 + (-2*gt23L*J21L + 3*(gt13L*J22L +
- gt12L*J23L))*PDstandardNth2beta1 + (gt23L*J22L +
- 3*gt22L*J23L)*PDstandardNth2beta2 + (3*gt33L*J22L +
- gt23L*J23L)*PDstandardNth2beta3 + (-2*gt23L*J31L + 3*(gt13L*J32L +
- gt12L*J33L))*PDstandardNth3beta1 + (gt23L*J32L +
- 3*gt22L*J33L)*PDstandardNth3beta2 + (3*gt33L*J32L +
- gt23L*J33L)*PDstandardNth3beta3);
+ + 3*(gt13L*JacPDstandardNth2beta1 + gt33L*JacPDstandardNth2beta3 +
+ gt12L*JacPDstandardNth3beta1 + gt22L*JacPDstandardNth3beta2) +
+ gt23L*(-2*JacPDstandardNth1beta1 + JacPDstandardNth2beta2 +
+ JacPDstandardNth3beta3));
CCTK_REAL gt33rhsL = -0.666666666666666666666666666667*(3*alphaL*At33L
- + (gt33L*J11L - 3*gt13L*J13L)*PDstandardNth1beta1 + (gt33L*J12L -
- 3*gt23L*J13L)*PDstandardNth1beta2 + (gt33L*J21L -
- 3*gt13L*J23L)*PDstandardNth2beta1 + J23L*(-3*gt23L*PDstandardNth2beta2
- - 2*gt33L*PDstandardNth2beta3) - 3*J33L*(gt13L*PDstandardNth3beta1 +
- gt23L*PDstandardNth3beta2) + gt33L*(J22L*PDstandardNth2beta2 +
- J31L*PDstandardNth3beta1 + J32L*PDstandardNth3beta2 -
- 2*(J13L*PDstandardNth1beta3 + J33L*PDstandardNth3beta3)));
+ - 3*(gt13L*JacPDstandardNth3beta1 + gt23L*JacPDstandardNth3beta2) +
+ gt33L*(JacPDstandardNth1beta1 + JacPDstandardNth2beta2 -
+ 2*JacPDstandardNth3beta3));
CCTK_REAL dotXt1 =
- (2.333333333333333333333333333333333333333*gtu13*J11L*J33L +
- 2*J13L*(gtu23*J32L + gtu33*J33L))*PDstandardNth13beta1 +
- 2.333333333333333333333333333333333333333*((gtu13*J13L*J21L +
- gtu12*J11L*J22L)*PDstandardNth12beta1 + (gtu12*J12L +
- gtu13*J13L)*J31L*PDstandardNth13beta1 +
- gtu12*(J11L*J32L*PDstandardNth13beta1 +
- J22L*J31L*PDstandardNth23beta1)) +
- 2*(gtu22*J12L*J32L*PDstandardNth13beta1 + J22L*((gtu22*J12L +
- gtu23*J13L)*PDstandardNth12beta1 + gtu22*J32L*PDstandardNth23beta1)) -
- 2.*((Atu11*J11L + Atu12*J12L + Atu13*J13L)*PDstandardNth1alpha +
- (Atu11*J21L + Atu12*J22L + Atu13*J23L)*PDstandardNth2alpha) +
- 2.333333333333333333333333333333333333333*(J11L*(gtu12*J12L +
- gtu13*J13L)*PDstandardNth11beta1 + gtu12*(dJ112L*PDstandardNth1beta1 +
- dJ212L*PDstandardNth2beta1 + dJ312L*PDstandardNth3beta1)) +
- alphaL*(12.*(Atu11*cdphi1 + Atu12*cdphi2 + Atu13*cdphi3) +
- 4.*(Atu12*Gt112 + Atu13*Gt113 + Atu23*Gt123) + 2.*(Atu11*Gt111 +
- Atu22*Gt122 + Atu33*Gt133) -
- 1.333333333333333333333333333333333333333*((gtu11*J11L +
- gtu13*J13L)*PDstandardNth1trK + gtu11*(J21L*PDstandardNth2trK +
- J31L*PDstandardNth3trK)) -
- 50.26548245743669181540229413247204614715*(gtu12*S2 + gtu13*S3)) +
- J12L*(J13L*(2.*gtu23*PDstandardNth11beta1 +
- 0.3333333333333333333333333333333333333333*gtu13*PDstandardNth11beta2)
- +
- 0.3333333333333333333333333333333333333333*(gtu12*J13L*PDstandardNth11beta3
- + gtu11*(J11L*PDstandardNth11beta2 + J21L*PDstandardNth12beta2) +
- gtu13*J33L*PDstandardNth13beta2) + J33L*(2*gtu23*PDstandardNth13beta1 +
- 0.3333333333333333333333333333333333333333*gtu12*PDstandardNth13beta3)
- +
- gtu12*(2.333333333333333333333333333333333333333*J21L*PDstandardNth12beta1
- + 0.3333333333333333333333333333333333333333*J23L*PDstandardNth12beta3
- + 0.6666666666666666666666666666666666666667*J32L*PDstandardNth13beta2
- - 1.333333333333333333333333333333333333333*alphaL*PDstandardNth1trK) +
- 0.6666666666666666666666666666666666666667*PDstandardNth1beta2*Xtn1) +
- J22L*((0.6666666666666666666666666666666666666667*gtu12*J12L +
- 0.3333333333333333333333333333333333333333*gtu13*J13L)*PDstandardNth12beta2
- + J23L*(2.*gtu23*PDstandardNth22beta1 +
- 0.3333333333333333333333333333333333333333*gtu12*PDstandardNth22beta3)
- + 2*gtu23*J33L*PDstandardNth23beta1 +
- gtu12*(0.3333333333333333333333333333333333333333*J13L*PDstandardNth12beta3
- + 2.333333333333333333333333333333333333333*J21L*PDstandardNth22beta1 +
- 0.6666666666666666666666666666666666666667*J32L*PDstandardNth23beta2 -
- 1.333333333333333333333333333333333333333*alphaL*PDstandardNth2trK) +
- 0.6666666666666666666666666666666666666667*PDstandardNth2beta2*Xtn1) +
- J31L*(-2.*Atu11*PDstandardNth3alpha -
- 0.3333333333333333333333333333333333333333*PDstandardNth3beta1*Xtn1) +
- J32L*((2.333333333333333333333333333333333333333*gtu12*J21L +
- 2*gtu23*J23L)*PDstandardNth23beta1 +
- (2.333333333333333333333333333333333333333*gtu12*J31L +
- 2.*gtu23*J33L)*PDstandardNth33beta1 +
- 0.3333333333333333333333333333333333333333*(gtu11*J21L*PDstandardNth23beta2
- + gtu12*(J23L*PDstandardNth23beta3 + J33L*PDstandardNth33beta3)) -
- 2.*Atu12*PDstandardNth3alpha -
- 1.333333333333333333333333333333333333333*alphaL*gtu12*PDstandardNth3trK
- + 0.6666666666666666666666666666666666666667*PDstandardNth3beta2*Xtn1)
- +
- PDstandardNth1beta1*(2.333333333333333333333333333333333333333*dJ113L*gtu13
- + dJ122L*gtu22 + 2.*dJ123L*gtu23 + dJ133L*gtu33 -
- 0.3333333333333333333333333333333333333333*J11L*Xtn1 - 1.*J12L*Xtn2) +
- PDstandardNth2beta1*(2.333333333333333333333333333333333333333*dJ213L*gtu13
- + dJ222L*gtu22 + 2.*dJ223L*gtu23 + dJ233L*gtu33 -
- 0.3333333333333333333333333333333333333333*J21L*Xtn1 - 1.*J22L*Xtn2) +
- PDstandardNth3beta1*(2.333333333333333333333333333333333333333*dJ313L*gtu13
- + dJ322L*gtu22 + 2.*dJ323L*gtu23 + dJ333L*gtu33 - 1.*J32L*Xtn2) +
- J13L*(0.6666666666666666666666666666666666666667*PDstandardNth1beta3*Xtn1
- - 1.*PDstandardNth1beta1*Xtn3) +
- J23L*((2.333333333333333333333333333333333333333*gtu13*J11L +
- 2*(gtu23*J12L + gtu33*J13L))*PDstandardNth12beta1 +
- 0.3333333333333333333333333333333333333333*(gtu11*(J11L*PDstandardNth12beta3
- + J21L*PDstandardNth22beta3) + gtu13*(J12L*PDstandardNth12beta2 +
- J32L*PDstandardNth23beta2)) +
- gtu13*(2.333333333333333333333333333333333333333*J21L*PDstandardNth22beta1
- + 2.333333333333333333333333333333333333333*J31L*PDstandardNth23beta1 +
- 0.6666666666666666666666666666666666666667*(J13L*PDstandardNth12beta3 +
- J33L*PDstandardNth23beta3) -
- 1.333333333333333333333333333333333333333*alphaL*PDstandardNth2trK) +
- 0.6666666666666666666666666666666666666667*PDstandardNth2beta3*Xtn1 -
- 1.*PDstandardNth2beta1*Xtn3) +
- J33L*((0.3333333333333333333333333333333333333333*gtu11*J11L +
- 0.6666666666666666666666666666666666666667*gtu13*J13L)*PDstandardNth13beta3
- + (2.333333333333333333333333333333333333333*gtu13*J21L +
- 2*gtu33*J23L)*PDstandardNth23beta1 +
- 0.3333333333333333333333333333333333333333*(gtu13*J22L*PDstandardNth23beta2
- + gtu11*(J21L*PDstandardNth23beta3 + J31L*PDstandardNth33beta3)) -
- 2.*Atu13*PDstandardNth3alpha +
- gtu13*(2.333333333333333333333333333333333333333*J31L*PDstandardNth33beta1
- - 1.333333333333333333333333333333333333333*alphaL*PDstandardNth3trK) +
- 0.6666666666666666666666666666666666666667*PDstandardNth3beta3*Xtn1 -
- 1.*PDstandardNth3beta1*Xtn3) + PDstandardNth11beta1*(gtu22*SQR(J12L) +
- gtu33*SQR(J13L)) + PDstandardNth22beta1*(gtu22*SQR(J22L) +
- gtu33*SQR(J23L)) +
- gtu11*(J11L*(0.3333333333333333333333333333333333333333*(J13L*PDstandardNth11beta3
- + J22L*PDstandardNth12beta2) +
- 2.666666666666666666666666666666666666667*(J21L*PDstandardNth12beta1 +
- J31L*PDstandardNth13beta1)) +
- J31L*(2.666666666666666666666666666666666666667*J21L*PDstandardNth23beta1
- + 0.3333333333333333333333333333333333333333*J32L*PDstandardNth33beta2)
- +
- 0.3333333333333333333333333333333333333333*(J13L*(J21L*PDstandardNth12beta3
- + J31L*PDstandardNth13beta3) + dJ113L*PDstandardNth1beta3 +
- J21L*J22L*PDstandardNth22beta2 + J31L*(J12L*PDstandardNth13beta2 +
- J23L*PDstandardNth23beta3) + dJ213L*PDstandardNth2beta3 +
- dJ313L*PDstandardNth3beta3) -
- 50.26548245743669181540229413247204614715*alphaL*S1 +
- 1.333333333333333333333333333333333333333*(dJ111L*PDstandardNth1beta1 +
- dJ211L*PDstandardNth2beta1 + dJ311L*PDstandardNth3beta1 +
- PDstandardNth11beta1*SQR(J11L) + PDstandardNth22beta1*SQR(J21L) +
- PDstandardNth33beta1*SQR(J31L))) +
- PDstandardNth33beta1*(gtu22*SQR(J32L) + gtu33*SQR(J33L)) +
- 0.3333333333333333333333333333333333333333*((dJ112L*gtu11 +
- dJ122L*gtu12 + dJ123L*gtu13)*PDstandardNth1beta2 + (dJ123L*gtu12 +
- dJ133L*gtu13)*PDstandardNth1beta3 +
- J22L*(gtu13*J23L*PDstandardNth22beta2 + gtu11*J31L*PDstandardNth23beta2
- + gtu12*J33L*PDstandardNth23beta3) + (dJ212L*gtu11 + dJ222L*gtu12 +
- dJ223L*gtu13)*PDstandardNth2beta2 + (dJ223L*gtu12 +
- dJ233L*gtu13)*PDstandardNth2beta3 + J32L*((gtu11*J11L +
- gtu13*J13L)*PDstandardNth13beta2 + gtu12*J13L*PDstandardNth13beta3 +
- gtu13*J33L*PDstandardNth33beta2) + (dJ312L*gtu11 + dJ322L*gtu12 +
- dJ323L*gtu13)*PDstandardNth3beta2 + (dJ323L*gtu12 +
- dJ333L*gtu13)*PDstandardNth3beta3 +
- gtu12*(PDstandardNth11beta2*SQR(J12L) + PDstandardNth22beta2*SQR(J22L)
- + PDstandardNth33beta2*SQR(J32L)) +
- gtu13*(PDstandardNth11beta3*SQR(J13L) + PDstandardNth22beta3*SQR(J23L)
- + PDstandardNth33beta3*SQR(J33L)));
+ 0.333333333333333333333333333333*(gtu11*(4*JacPDstandardNth11beta1 +
+ JacPDstandardNth12beta2 + JacPDstandardNth13beta3) +
+ gtu12*(4*JacPDstandardNth21beta1 + JacPDstandardNth22beta2 +
+ JacPDstandardNth23beta3) + 3*(gtu12*JacPDstandardNth12beta1 +
+ gtu13*JacPDstandardNth13beta1 + gtu22*JacPDstandardNth22beta1 +
+ gtu23*(JacPDstandardNth23beta1 + JacPDstandardNth32beta1) +
+ gtu33*JacPDstandardNth33beta1) + gtu13*(4*JacPDstandardNth31beta1 +
+ JacPDstandardNth32beta2 + JacPDstandardNth33beta3) -
+ 6*(Atu11*JacPDstandardNth1alpha + Atu12*JacPDstandardNth2alpha +
+ Atu13*JacPDstandardNth3alpha) + alphaL*(Atu13*(36*cdphi3 + 12*Gt113) +
+ 12*(Atu12*(3*cdphi2 + Gt112) + Atu23*Gt123) + 6*(Atu11*(6*cdphi1 +
+ Gt111) + Atu22*Gt122 + Atu33*Gt133) - 4*(gtu11*JacPDstandardNth1trK +
+ gtu12*JacPDstandardNth2trK + gtu13*JacPDstandardNth3trK) -
+ 150.7964473723100754462068823974161384415*(gtu11*S1 + gtu12*S2 +
+ gtu13*S3)) + (-JacPDstandardNth1beta1 + 2*(JacPDstandardNth2beta2 +
+ JacPDstandardNth3beta3))*Xtn1 - 3*(JacPDstandardNth2beta1*Xtn2 +
+ JacPDstandardNth3beta1*Xtn3));
CCTK_REAL dotXt2 =
- (2.333333333333333333333333333333333333333*gtu12*J11L*J22L +
- 2*gtu13*(J13L*J21L + J11L*J23L))*PDstandardNth12beta2 +
- (2.333333333333333333333333333333333333333*gtu12*J11L*J32L +
- 2*gtu13*(J13L*J31L + J11L*J33L))*PDstandardNth13beta2 +
- J12L*(J13L*(2.333333333333333333333333333333333333333*gtu23*PDstandardNth11beta2
- +
- 0.3333333333333333333333333333333333333333*gtu22*PDstandardNth11beta3)
- +
- J21L*(0.3333333333333333333333333333333333333333*gtu22*PDstandardNth12beta1
- + 2.333333333333333333333333333333333333333*gtu12*PDstandardNth12beta2)
- +
- 2.333333333333333333333333333333333333333*gtu12*J31L*PDstandardNth13beta2
- +
- gtu22*(0.3333333333333333333333333333333333333333*(J23L*PDstandardNth12beta3
- + J33L*PDstandardNth13beta3) -
- 1.333333333333333333333333333333333333333*alphaL*PDstandardNth1trK)) -
- 2.*((Atu12*J11L + Atu22*J12L + Atu23*J13L)*PDstandardNth1alpha +
- (Atu12*J21L + Atu22*J22L + Atu23*J23L)*PDstandardNth2alpha) +
- J22L*((2.666666666666666666666666666666666666667*gtu22*J12L +
- 2.333333333333333333333333333333333333333*gtu23*J13L)*PDstandardNth12beta2
- + 2.333333333333333333333333333333333333333*(gtu12*J21L +
- gtu23*J23L)*PDstandardNth22beta2 +
- 2.333333333333333333333333333333333333333*gtu12*J31L*PDstandardNth23beta2
- +
- gtu22*(0.3333333333333333333333333333333333333333*(J13L*PDstandardNth12beta3
- + J21L*PDstandardNth22beta1 + J31L*PDstandardNth23beta1 +
- J33L*PDstandardNth23beta3) -
- 1.333333333333333333333333333333333333333*alphaL*PDstandardNth2trK)) +
- J32L*((2.666666666666666666666666666666666666667*gtu22*J12L +
- 2.333333333333333333333333333333333333333*gtu23*J13L)*PDstandardNth13beta2
- + (2.666666666666666666666666666666666666667*gtu22*J22L +
- 2.333333333333333333333333333333333333333*(gtu12*J21L +
- gtu23*J23L))*PDstandardNth23beta2 +
- 2.333333333333333333333333333333333333333*(gtu12*J31L +
- gtu23*J33L)*PDstandardNth33beta2 - 2.*Atu22*PDstandardNth3alpha +
- gtu22*(0.3333333333333333333333333333333333333333*(J13L*PDstandardNth13beta3
- + J21L*PDstandardNth23beta1 + J23L*PDstandardNth23beta3 +
- J31L*PDstandardNth33beta1) -
- 1.333333333333333333333333333333333333333*alphaL*PDstandardNth3trK)) +
- alphaL*(12.*(Atu12*cdphi1 + Atu22*cdphi2 + Atu23*cdphi3) +
- 4.*(Atu12*Gt212 + Atu13*Gt213 + Atu23*Gt223) + 2.*(Atu11*Gt211 +
- Atu22*Gt222 + Atu33*Gt233) -
- 1.333333333333333333333333333333333333333*((gtu12*J11L +
- gtu23*J13L)*PDstandardNth1trK + gtu12*(J21L*PDstandardNth2trK +
- J31L*PDstandardNth3trK)) -
- 50.26548245743669181540229413247204614715*(gtu12*S1 + gtu22*S2 +
- gtu23*S3)) + PDstandardNth1beta2*(dJ111L*gtu11 + 2.*dJ113L*gtu13 +
- 1.333333333333333333333333333333333333333*dJ122L*gtu22 +
- 2.333333333333333333333333333333333333333*(dJ112L*gtu12 + dJ123L*gtu23)
- + dJ133L*gtu33 - 0.3333333333333333333333333333333333333333*J12L*Xtn2)
- + J11L*((2.333333333333333333333333333333333333333*gtu12*J12L +
- 2.*gtu13*J13L)*PDstandardNth11beta2 +
- J21L*(0.6666666666666666666666666666666666666667*gtu12*PDstandardNth12beta1
- + 2*gtu11*PDstandardNth12beta2) +
- (0.6666666666666666666666666666666666666667*gtu12*J31L +
- 0.3333333333333333333333333333333333333333*gtu23*J33L)*PDstandardNth13beta1
- + 2*gtu11*J31L*PDstandardNth13beta2 - 1.*PDstandardNth1beta2*Xtn1 +
- 0.6666666666666666666666666666666666666667*PDstandardNth1beta1*Xtn2) +
- J21L*(J31L*(0.6666666666666666666666666666666666666667*gtu12*PDstandardNth23beta1
- + 2*gtu11*PDstandardNth23beta2) - 1.*PDstandardNth2beta2*Xtn1 +
- 0.6666666666666666666666666666666666666667*PDstandardNth2beta1*Xtn2) +
- J23L*((2.333333333333333333333333333333333333333*gtu23*J12L +
- 2*gtu33*J13L)*PDstandardNth12beta2 +
- (0.3333333333333333333333333333333333333333*gtu12*J11L +
- 0.6666666666666666666666666666666666666667*gtu23*J13L)*PDstandardNth12beta3
- +
- J21L*(0.3333333333333333333333333333333333333333*gtu23*PDstandardNth22beta1
- + 2.*gtu13*PDstandardNth22beta2) +
- 0.3333333333333333333333333333333333333333*(gtu22*J22L*PDstandardNth22beta3
- + gtu23*J31L*PDstandardNth23beta1) + 2*gtu13*J31L*PDstandardNth23beta2
- +
- gtu23*(0.6666666666666666666666666666666666666667*J33L*PDstandardNth23beta3
- - 1.333333333333333333333333333333333333333*alphaL*PDstandardNth2trK) +
- 0.6666666666666666666666666666666666666667*PDstandardNth2beta3*Xtn2) +
- J31L*(-2.*Atu12*PDstandardNth3alpha - 1.*PDstandardNth3beta2*Xtn1 +
- 0.6666666666666666666666666666666666666667*PDstandardNth3beta1*Xtn2) +
- J33L*((2.333333333333333333333333333333333333333*gtu23*J12L +
- 2*gtu33*J13L)*PDstandardNth13beta2 +
- (0.3333333333333333333333333333333333333333*gtu12*J11L +
- 0.6666666666666666666666666666666666666667*gtu23*J13L)*PDstandardNth13beta3
- + (2.333333333333333333333333333333333333333*gtu23*J22L +
- 2*gtu33*J23L)*PDstandardNth23beta2 + J21L*(2*gtu13*PDstandardNth23beta2
- +
- 0.3333333333333333333333333333333333333333*(gtu23*PDstandardNth23beta1
- + gtu12*PDstandardNth23beta3)) +
- J31L*(0.3333333333333333333333333333333333333333*gtu23*PDstandardNth33beta1
- + 2.*gtu13*PDstandardNth33beta2) +
- 0.3333333333333333333333333333333333333333*gtu22*J32L*PDstandardNth33beta3
- - 2.*Atu23*PDstandardNth3alpha -
- 1.333333333333333333333333333333333333333*alphaL*gtu23*PDstandardNth3trK
- + 0.6666666666666666666666666666666666666667*PDstandardNth3beta3*Xtn2)
- + PDstandardNth2beta2*(dJ211L*gtu11 + 2.*dJ213L*gtu13 +
- 1.333333333333333333333333333333333333333*dJ222L*gtu22 +
- 2.333333333333333333333333333333333333333*(dJ212L*gtu12 + dJ223L*gtu23)
- + dJ233L*gtu33 - 0.3333333333333333333333333333333333333333*J22L*Xtn2 -
- 1.*J23L*Xtn3) + PDstandardNth3beta2*(dJ311L*gtu11 + 2.*dJ313L*gtu13 +
- 1.333333333333333333333333333333333333333*dJ322L*gtu22 +
- 2.333333333333333333333333333333333333333*(dJ312L*gtu12 + dJ323L*gtu23)
- + dJ333L*gtu33 - 0.3333333333333333333333333333333333333333*J32L*Xtn2 -
- 1.*J33L*Xtn3) +
- J13L*(0.6666666666666666666666666666666666666667*PDstandardNth1beta3*Xtn2
- - 1.*PDstandardNth1beta2*Xtn3) + PDstandardNth11beta2*(gtu11*SQR(J11L)
- + 1.333333333333333333333333333333333333333*gtu22*SQR(J12L) +
- gtu33*SQR(J13L)) + PDstandardNth22beta2*(gtu11*SQR(J21L) +
- 1.333333333333333333333333333333333333333*gtu22*SQR(J22L) +
- gtu33*SQR(J23L)) + PDstandardNth33beta2*(gtu11*SQR(J31L) +
- 1.333333333333333333333333333333333333333*gtu22*SQR(J32L) +
- gtu33*SQR(J33L)) +
- 0.3333333333333333333333333333333333333333*(J11L*((gtu22*J12L +
- gtu23*J13L)*PDstandardNth11beta1 + gtu12*J13L*PDstandardNth11beta3 +
- gtu22*(J22L*PDstandardNth12beta1 + J32L*PDstandardNth13beta1)) +
- gtu22*(J12L*J31L*PDstandardNth13beta1 + dJ112L*PDstandardNth1beta1 +
- dJ123L*PDstandardNth1beta3 + dJ212L*PDstandardNth2beta1 +
- dJ223L*PDstandardNth2beta3 + dJ312L*PDstandardNth3beta1 +
- dJ323L*PDstandardNth3beta3) + gtu12*(J13L*(J21L*PDstandardNth12beta3 +
- J31L*PDstandardNth13beta3) + dJ111L*PDstandardNth1beta1 +
- dJ113L*PDstandardNth1beta3 + J23L*(J21L*PDstandardNth22beta3 +
- J31L*PDstandardNth23beta3) + dJ211L*PDstandardNth2beta1 +
- dJ213L*PDstandardNth2beta3 + J31L*J33L*PDstandardNth33beta3 +
- dJ311L*PDstandardNth3beta1 + dJ313L*PDstandardNth3beta3 +
- PDstandardNth11beta1*SQR(J11L) + PDstandardNth22beta1*SQR(J21L) +
- PDstandardNth33beta1*SQR(J31L)) + gtu23*((J13L*J21L +
- J11L*J23L)*PDstandardNth12beta1 + J13L*J31L*PDstandardNth13beta1 +
- dJ113L*PDstandardNth1beta1 + dJ133L*PDstandardNth1beta3 +
- dJ213L*PDstandardNth2beta1 + dJ233L*PDstandardNth2beta3 +
- dJ313L*PDstandardNth3beta1 + dJ333L*PDstandardNth3beta3 +
- PDstandardNth11beta3*SQR(J13L) + PDstandardNth22beta3*SQR(J23L) +
- PDstandardNth33beta3*SQR(J33L)));
-
- CCTK_REAL dotXt3 = (2*gtu22*J12L*J32L +
- 2.333333333333333333333333333333333333333*gtu13*J11L*J33L)*PDstandardNth13beta3
- + 2*((gtu12*J11L + gtu22*J12L)*J22L*PDstandardNth12beta3 +
- gtu11*J31L*(J11L*PDstandardNth13beta3 + J21L*PDstandardNth23beta3)) +
- 2.333333333333333333333333333333333333333*((gtu23*J13L*J22L +
- gtu13*J11L*J23L)*PDstandardNth12beta3 +
- gtu13*J31L*(J13L*PDstandardNth13beta3 + J23L*PDstandardNth23beta3)) -
- 2.*((Atu13*J11L + Atu23*J12L + Atu33*J13L)*PDstandardNth1alpha +
- (Atu13*J21L + Atu23*J22L + Atu33*J23L)*PDstandardNth2alpha) +
- alphaL*(12.*(Atu13*cdphi1 + Atu23*cdphi2 + Atu33*cdphi3) +
- 4.*(Atu12*Gt312 + Atu13*Gt313 + Atu23*Gt323) + 2.*(Atu11*Gt311 +
- Atu22*Gt322 + Atu33*Gt333) -
- 1.333333333333333333333333333333333333333*gtu13*(J11L*PDstandardNth1trK
- + J21L*PDstandardNth2trK + J31L*PDstandardNth3trK) -
- 50.26548245743669181540229413247204614715*(gtu13*S1 + gtu23*S2 +
- gtu33*S3)) + PDstandardNth1beta3*(dJ111L*gtu11 + 2.*dJ112L*gtu12 +
- dJ122L*gtu22 + 2.333333333333333333333333333333333333333*(dJ113L*gtu13
- + dJ123L*gtu23) +
- 1.333333333333333333333333333333333333333*dJ133L*gtu33 - 1.*J12L*Xtn2)
- + PDstandardNth2beta3*(dJ211L*gtu11 + 2.*dJ212L*gtu12 + dJ222L*gtu22 +
- 2.333333333333333333333333333333333333333*(dJ213L*gtu13 + dJ223L*gtu23)
- + 1.333333333333333333333333333333333333333*dJ233L*gtu33 -
- 1.*J22L*Xtn2) + PDstandardNth3beta3*(dJ311L*gtu11 + 2.*dJ312L*gtu12 +
- dJ322L*gtu22 + 2.333333333333333333333333333333333333333*(dJ313L*gtu13
- + dJ323L*gtu23) +
- 1.333333333333333333333333333333333333333*dJ333L*gtu33 - 1.*J32L*Xtn2)
- + J11L*((2.*gtu12*J12L +
- 2.333333333333333333333333333333333333333*gtu13*J13L)*PDstandardNth11beta3
- +
- gtu13*(0.6666666666666666666666666666666666666667*(J21L*PDstandardNth12beta1
- + J31L*PDstandardNth13beta1) +
- 0.3333333333333333333333333333333333333333*(J22L*PDstandardNth12beta2 +
- J32L*PDstandardNth13beta2)) + 2*(gtu11*J21L*PDstandardNth12beta3 +
- gtu12*J32L*PDstandardNth13beta3) - 1.*PDstandardNth1beta3*Xtn1 +
- 0.6666666666666666666666666666666666666667*PDstandardNth1beta1*Xtn3) +
- J12L*((0.6666666666666666666666666666666666666667*gtu23*J22L +
- 0.3333333333333333333333333333333333333333*gtu33*J23L)*PDstandardNth12beta2
- + (0.3333333333333333333333333333333333333333*gtu13*J31L +
- 0.6666666666666666666666666666666666666667*gtu23*J32L)*PDstandardNth13beta2
- + 2*gtu12*(J21L*PDstandardNth12beta3 + J31L*PDstandardNth13beta3) -
- 1.333333333333333333333333333333333333333*alphaL*gtu23*PDstandardNth1trK
- + 0.6666666666666666666666666666666666666667*PDstandardNth1beta2*Xtn3)
- +
- J13L*(2.333333333333333333333333333333333333333*gtu13*J21L*PDstandardNth12beta3
- +
- gtu23*(2.333333333333333333333333333333333333333*J12L*PDstandardNth11beta3
- + 2.333333333333333333333333333333333333333*J32L*PDstandardNth13beta3)
- +
- gtu33*(0.3333333333333333333333333333333333333333*(J21L*PDstandardNth12beta1
- + J22L*PDstandardNth12beta2 + J31L*PDstandardNth13beta1 +
- J32L*PDstandardNth13beta2) -
- 1.333333333333333333333333333333333333333*alphaL*PDstandardNth1trK) -
- 0.3333333333333333333333333333333333333333*PDstandardNth1beta3*Xtn3) +
- J21L*((0.6666666666666666666666666666666666666667*gtu13*J31L +
- 0.3333333333333333333333333333333333333333*gtu23*J32L)*PDstandardNth23beta1
- + 2*gtu12*J32L*PDstandardNth23beta3 - 1.*PDstandardNth2beta3*Xtn1 +
- 0.6666666666666666666666666666666666666667*PDstandardNth2beta1*Xtn3) +
- J22L*((2.*gtu12*J21L +
- 2.333333333333333333333333333333333333333*gtu23*J23L)*PDstandardNth22beta3
- + (0.3333333333333333333333333333333333333333*gtu13*J31L +
- 0.6666666666666666666666666666666666666667*gtu23*J32L)*PDstandardNth23beta2
- + 2*(gtu12*J31L + gtu22*J32L)*PDstandardNth23beta3 +
- gtu23*(2.333333333333333333333333333333333333333*J33L*PDstandardNth23beta3
- - 1.333333333333333333333333333333333333333*alphaL*PDstandardNth2trK) +
- 0.6666666666666666666666666666666666666667*PDstandardNth2beta2*Xtn3) +
- J23L*((2.333333333333333333333333333333333333333*gtu23*J12L +
- 2.666666666666666666666666666666666666667*gtu33*J13L)*PDstandardNth12beta3
- +
- 2.333333333333333333333333333333333333333*gtu13*J21L*PDstandardNth22beta3
- +
- 2.333333333333333333333333333333333333333*gtu23*J32L*PDstandardNth23beta3
- +
- gtu33*(0.3333333333333333333333333333333333333333*(J21L*PDstandardNth22beta1
- + J22L*PDstandardNth22beta2 + J31L*PDstandardNth23beta1 +
- J32L*PDstandardNth23beta2) -
- 1.333333333333333333333333333333333333333*alphaL*PDstandardNth2trK) -
- 0.3333333333333333333333333333333333333333*PDstandardNth2beta3*Xtn3) +
- J31L*(-2.*Atu13*PDstandardNth3alpha - 1.*PDstandardNth3beta3*Xtn1 +
- 0.6666666666666666666666666666666666666667*PDstandardNth3beta1*Xtn3) +
- J32L*((2.*gtu12*J31L +
- 2.333333333333333333333333333333333333333*gtu23*J33L)*PDstandardNth33beta3
- - 2.*Atu23*PDstandardNth3alpha -
- 1.333333333333333333333333333333333333333*alphaL*gtu23*PDstandardNth3trK
- + 0.6666666666666666666666666666666666666667*PDstandardNth3beta2*Xtn3)
- + J33L*((2.333333333333333333333333333333333333333*gtu23*J12L +
- 2.666666666666666666666666666666666666667*gtu33*J13L)*PDstandardNth13beta3
- + (2.333333333333333333333333333333333333333*gtu13*J21L +
- 2.666666666666666666666666666666666666667*gtu33*J23L)*PDstandardNth23beta3
- +
- 2.333333333333333333333333333333333333333*gtu13*J31L*PDstandardNth33beta3
- - 2.*Atu33*PDstandardNth3alpha +
- gtu33*(0.3333333333333333333333333333333333333333*(J21L*PDstandardNth23beta1
- + J22L*PDstandardNth23beta2 + J31L*PDstandardNth33beta1 +
- J32L*PDstandardNth33beta2) -
- 1.333333333333333333333333333333333333333*alphaL*PDstandardNth3trK) -
- 0.3333333333333333333333333333333333333333*PDstandardNth3beta3*Xtn3) +
- PDstandardNth11beta3*(gtu11*SQR(J11L) + gtu22*SQR(J12L) +
- 1.333333333333333333333333333333333333333*gtu33*SQR(J13L)) +
- PDstandardNth22beta3*(gtu11*SQR(J21L) + gtu22*SQR(J22L) +
- 1.333333333333333333333333333333333333333*gtu33*SQR(J23L)) +
- 0.3333333333333333333333333333333333333333*(J11L*((gtu23*J12L +
- gtu33*J13L)*PDstandardNth11beta1 + gtu13*J12L*PDstandardNth11beta2 +
- (gtu23*J22L + gtu33*J23L)*PDstandardNth12beta1 + (gtu23*J32L +
- gtu33*J33L)*PDstandardNth13beta1) +
- J12L*(J21L*(gtu23*PDstandardNth12beta1 + gtu13*PDstandardNth12beta2) +
- gtu23*J31L*PDstandardNth13beta1 + gtu33*(J13L*PDstandardNth11beta2 +
- J33L*PDstandardNth13beta2)) + (dJ111L*gtu13 + dJ112L*gtu23 +
- dJ113L*gtu33)*PDstandardNth1beta1 + (dJ112L*gtu13 + dJ122L*gtu23 +
- dJ123L*gtu33)*PDstandardNth1beta2 +
- J21L*(J22L*(gtu23*PDstandardNth22beta1 + gtu13*PDstandardNth22beta2) +
- gtu13*J32L*PDstandardNth23beta2) + (dJ211L*gtu13 +
- dJ213L*gtu33)*PDstandardNth2beta1 + (dJ212L*gtu13 +
- dJ223L*gtu33)*PDstandardNth2beta2 + gtu33*(dJ313L*PDstandardNth3beta1 +
- dJ323L*PDstandardNth3beta2) + gtu13*(J31L*J32L*PDstandardNth33beta2 +
- dJ311L*PDstandardNth3beta1 + dJ312L*PDstandardNth3beta2 +
- PDstandardNth11beta1*SQR(J11L) + PDstandardNth22beta1*SQR(J21L) +
- PDstandardNth33beta1*SQR(J31L)) + gtu23*(dJ212L*PDstandardNth2beta1 +
- dJ222L*PDstandardNth2beta2 + J31L*(J22L*PDstandardNth23beta1 +
- J32L*PDstandardNth33beta1) + dJ312L*PDstandardNth3beta1 +
- dJ322L*PDstandardNth3beta2 + PDstandardNth11beta2*SQR(J12L) +
- PDstandardNth22beta2*SQR(J22L) + PDstandardNth33beta2*SQR(J32L))) +
- PDstandardNth33beta3*(gtu11*SQR(J31L) + gtu22*SQR(J32L) +
- 1.333333333333333333333333333333333333333*gtu33*SQR(J33L));
+ 0.333333333333333333333333333333*(gtu12*(JacPDstandardNth11beta1 +
+ 4*JacPDstandardNth12beta2 + JacPDstandardNth13beta3 +
+ 3*JacPDstandardNth21beta2) + gtu22*(JacPDstandardNth21beta1 +
+ 4*JacPDstandardNth22beta2 + JacPDstandardNth23beta3) +
+ 3*(gtu11*JacPDstandardNth11beta2 + gtu23*JacPDstandardNth23beta2 +
+ gtu13*(JacPDstandardNth13beta2 + JacPDstandardNth31beta2) +
+ gtu33*JacPDstandardNth33beta2) + gtu23*(JacPDstandardNth31beta1 +
+ 4*JacPDstandardNth32beta2 + JacPDstandardNth33beta3) -
+ 6*(Atu12*JacPDstandardNth1alpha + Atu22*JacPDstandardNth2alpha +
+ Atu23*JacPDstandardNth3alpha) + alphaL*(12*(Atu12*(3*cdphi1 + Gt212) +
+ Atu13*Gt213) + Atu23*(36*cdphi3 + 12*Gt223) + 6*(Atu11*Gt211 +
+ Atu22*(6*cdphi2 + Gt222) + Atu33*Gt233) - 4*(gtu12*JacPDstandardNth1trK
+ + gtu22*JacPDstandardNth2trK + gtu23*JacPDstandardNth3trK) -
+ 150.7964473723100754462068823974161384415*(gtu12*S1 + gtu22*S2 +
+ gtu23*S3)) + (-JacPDstandardNth2beta2 + 2*(JacPDstandardNth1beta1 +
+ JacPDstandardNth3beta3))*Xtn2 - 3*(JacPDstandardNth1beta2*Xtn1 +
+ JacPDstandardNth3beta2*Xtn3));
+
+ CCTK_REAL dotXt3 =
+ 0.333333333333333333333333333333*(gtu23*(JacPDstandardNth21beta1 +
+ JacPDstandardNth22beta2 + 4*JacPDstandardNth23beta3) +
+ gtu13*(JacPDstandardNth11beta1 + JacPDstandardNth12beta2 +
+ 4*JacPDstandardNth13beta3 + 3*JacPDstandardNth31beta3) +
+ 3*(gtu11*JacPDstandardNth11beta3 + gtu12*(JacPDstandardNth12beta3 +
+ JacPDstandardNth21beta3) + gtu22*JacPDstandardNth22beta3 +
+ gtu23*JacPDstandardNth32beta3) + gtu33*(JacPDstandardNth31beta1 +
+ JacPDstandardNth32beta2 + 4*JacPDstandardNth33beta3) -
+ 6*(Atu13*JacPDstandardNth1alpha + Atu23*JacPDstandardNth2alpha +
+ Atu33*JacPDstandardNth3alpha) + alphaL*(6*(Atu11*Gt311 + Atu22*Gt322) +
+ 12*(Atu12*Gt312 + Atu13*(3*cdphi1 + Gt313) + Atu23*(3*cdphi2 + Gt323))
+ + Atu33*(36*cdphi3 + 6*Gt333) - 4*(gtu13*JacPDstandardNth1trK +
+ gtu23*JacPDstandardNth2trK + gtu33*JacPDstandardNth3trK) -
+ 150.7964473723100754462068823974161384415*(gtu13*S1 + gtu23*S2 +
+ gtu33*S3)) - 3*(JacPDstandardNth1beta3*Xtn1 +
+ JacPDstandardNth2beta3*Xtn2) + (2*(JacPDstandardNth1beta1 +
+ JacPDstandardNth2beta2) - JacPDstandardNth3beta3)*Xtn3);
CCTK_REAL Xt1rhsL = dotXt1;
@@ -944,47 +1197,20 @@ static void ML_BSSN_MP_O8_RHS1_Body(cGH const * restrict const cctkGH, int const
CCTK_REAL Xt3rhsL = dotXt3;
- CCTK_REAL dottrK = -(em4phi*(2*((gtu12*J11L*J22L + gtu13*(J13L*J21L +
- J11L*J23L))*PDstandardNth12alpha + (gtu12*J11L*J32L + gtu13*(J13L*J31L
- + J11L*J33L))*PDstandardNth13alpha + J11L*((gtu12*J12L +
- gtu13*J13L)*PDstandardNth11alpha + gtu11*(J21L*PDstandardNth12alpha +
- J31L*PDstandardNth13alpha)) + J12L*(gtu23*J13L*PDstandardNth11alpha +
- gtu12*(J21L*PDstandardNth12alpha + J31L*PDstandardNth13alpha)) +
- (gtu11*J21L*J31L + (gtu22*J22L + gtu23*J23L)*J32L + (gtu23*J22L +
- gtu33*J23L)*J33L)*PDstandardNth23alpha + J22L*((gtu22*J12L +
- gtu23*J13L)*PDstandardNth12alpha + (gtu12*J21L +
- gtu23*J23L)*PDstandardNth22alpha + gtu12*J31L*PDstandardNth23alpha) +
- J23L*((gtu23*J12L + gtu33*J13L)*PDstandardNth12alpha +
- gtu13*(J21L*PDstandardNth22alpha + J31L*PDstandardNth23alpha)) +
- (gtu12*(dJ312L + cdphi2*J31L) + cdphi3*(gtu13*J31L +
- gtu23*J32L))*PDstandardNth3alpha + J32L*((gtu22*J12L +
- gtu23*J13L)*PDstandardNth13alpha + gtu23*J33L*PDstandardNth33alpha +
- gtu12*(J21L*PDstandardNth23alpha + J31L*PDstandardNth33alpha) +
- cdphi2*gtu22*PDstandardNth3alpha) + J33L*((gtu23*J12L +
- gtu33*J13L)*PDstandardNth13alpha + gtu13*(J21L*PDstandardNth23alpha +
- J31L*PDstandardNth33alpha) + (cdphi2*gtu23 +
- cdphi3*gtu33)*PDstandardNth3alpha)) +
- PDstandardNth1alpha*(gtu11*(dJ111L + 2*cdphi1*J11L) + gtu22*(dJ122L +
- 2*cdphi2*J12L) + gtu33*(dJ133L + 2*cdphi3*J13L) + 2*(dJ112L*gtu12 +
- dJ113L*gtu13 + dJ123L*gtu23 + cdphi2*gtu12*J11L + cdphi3*gtu13*J11L +
- cdphi1*gtu12*J12L + cdphi3*gtu23*J12L + cdphi1*gtu13*J13L +
- cdphi2*gtu23*J13L) - J11L*Xtn1 - J12L*Xtn2 - J13L*Xtn3) +
- PDstandardNth2alpha*(gtu11*(dJ211L + 2*cdphi1*J21L) + gtu22*(dJ222L +
- 2*cdphi2*J22L) + gtu33*(dJ233L + 2*cdphi3*J23L) + 2*(dJ212L*gtu12 +
- dJ213L*gtu13 + dJ223L*gtu23 + cdphi2*gtu12*J21L + cdphi3*gtu13*J21L +
- cdphi1*gtu12*J22L + cdphi3*gtu23*J22L + cdphi1*gtu13*J23L +
- cdphi2*gtu23*J23L) - J21L*Xtn1 - J22L*Xtn2 - J23L*Xtn3) +
- PDstandardNth3alpha*(dJ322L*gtu22 + dJ333L*gtu33 + gtu11*(dJ311L +
- 2*cdphi1*J31L) + 2*(dJ313L*gtu13 + dJ323L*gtu23 + cdphi1*gtu12*J32L +
- cdphi1*gtu13*J33L) - J31L*Xtn1 - J32L*Xtn2 - J33L*Xtn3) +
- PDstandardNth11alpha*(gtu11*SQR(J11L) + gtu22*SQR(J12L) +
- gtu33*SQR(J13L)) + PDstandardNth22alpha*(gtu11*SQR(J21L) +
- gtu22*SQR(J22L) + gtu33*SQR(J23L)) +
- PDstandardNth33alpha*(gtu11*SQR(J31L) + gtu22*SQR(J32L) +
- gtu33*SQR(J33L)))) + alphaL*(2*(Atm12*Atm21 + Atm13*Atm31 +
- Atm23*Atm32) + 12.56637061435917295385057353311801153679*(rho + trS) +
- SQR(Atm11) + SQR(Atm22) + SQR(Atm33) +
- 0.333333333333333333333333333333*SQR(trKL));
+ CCTK_REAL dottrK = -(em4phi*(gtu11*(JacPDstandardNth11alpha +
+ 2*cdphi1*JacPDstandardNth1alpha) + gtu12*(JacPDstandardNth12alpha +
+ 2*cdphi2*JacPDstandardNth1alpha + JacPDstandardNth21alpha +
+ 2*cdphi1*JacPDstandardNth2alpha) + gtu22*(JacPDstandardNth22alpha +
+ 2*cdphi2*JacPDstandardNth2alpha) + gtu13*(JacPDstandardNth13alpha +
+ 2*cdphi3*JacPDstandardNth1alpha + JacPDstandardNth31alpha +
+ 2*cdphi1*JacPDstandardNth3alpha) + gtu23*(JacPDstandardNth23alpha +
+ 2*cdphi3*JacPDstandardNth2alpha + JacPDstandardNth32alpha +
+ 2*cdphi2*JacPDstandardNth3alpha) + gtu33*(JacPDstandardNth33alpha +
+ 2*cdphi3*JacPDstandardNth3alpha) - JacPDstandardNth1alpha*Xtn1 -
+ JacPDstandardNth2alpha*Xtn2 - JacPDstandardNth3alpha*Xtn3)) +
+ alphaL*(2*(Atm12*Atm21 + Atm13*Atm31 + Atm23*Atm32) +
+ 12.56637061435917295385057353311801153679*(rho + trS) + SQR(Atm11) +
+ SQR(Atm22) + SQR(Atm33) + 0.333333333333333333333333333333*SQR(trKL));
CCTK_REAL trKrhsL = dottrK;
diff --git a/ML_BSSN_MP_O8/src/ML_BSSN_MP_O8_RHS2.cc b/ML_BSSN_MP_O8/src/ML_BSSN_MP_O8_RHS2.cc
index 73cf287..a361872 100644
--- a/ML_BSSN_MP_O8/src/ML_BSSN_MP_O8_RHS2.cc
+++ b/ML_BSSN_MP_O8/src/ML_BSSN_MP_O8_RHS2.cc
@@ -51,8 +51,8 @@ static void ML_BSSN_MP_O8_RHS2_Body(cGH const * restrict const cctkGH, int const
return;
}
- const char *groups[] = {"Coordinates::jacobian","Coordinates::jacobian2","ML_BSSN_MP_O8::ML_curv","ML_BSSN_MP_O8::ML_curvrhs","ML_BSSN_MP_O8::ML_Gamma","ML_BSSN_MP_O8::ML_lapse","ML_BSSN_MP_O8::ML_log_confac","ML_BSSN_MP_O8::ML_metric","ML_BSSN_MP_O8::ML_shift","ML_BSSN_MP_O8::ML_trace_curv"};
- GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_MP_O8_RHS2", 10, groups);
+ const char *groups[] = {"ML_BSSN_MP_O8::ML_curv","ML_BSSN_MP_O8::ML_curvrhs","ML_BSSN_MP_O8::ML_Gamma","ML_BSSN_MP_O8::ML_lapse","ML_BSSN_MP_O8::ML_log_confac","ML_BSSN_MP_O8::ML_metric","ML_BSSN_MP_O8::ML_shift","ML_BSSN_MP_O8::ML_trace_curv"};
+ GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_MP_O8_RHS2", 8, groups);
GenericFD_EnsureStencilFits(cctkGH, "ML_BSSN_MP_O8_RHS2", 4, 4, 4);
@@ -107,6 +107,51 @@ static void ML_BSSN_MP_O8_RHS2_Body(cGH const * restrict const cctkGH, int const
CCTK_REAL const pm1o840dy = -0.00119047619047619047619047619048*INV(dy);
CCTK_REAL const pm1o840dz = -0.00119047619047619047619047619048*INV(dz);
+ /* 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
LC_LOOP3 (ML_BSSN_MP_O8_RHS2,
@@ -127,39 +172,12 @@ static void ML_BSSN_MP_O8_RHS2_Body(cGH const * restrict const cctkGH, int const
CCTK_REAL beta1L = beta1[index];
CCTK_REAL beta2L = beta2[index];
CCTK_REAL beta3L = beta3[index];
- CCTK_REAL dJ111L = dJ111[index];
- CCTK_REAL dJ112L = dJ112[index];
- CCTK_REAL dJ113L = dJ113[index];
- CCTK_REAL dJ122L = dJ122[index];
- CCTK_REAL dJ123L = dJ123[index];
- CCTK_REAL dJ133L = dJ133[index];
- CCTK_REAL dJ211L = dJ211[index];
- CCTK_REAL dJ212L = dJ212[index];
- CCTK_REAL dJ213L = dJ213[index];
- CCTK_REAL dJ222L = dJ222[index];
- CCTK_REAL dJ223L = dJ223[index];
- CCTK_REAL dJ233L = dJ233[index];
- CCTK_REAL dJ311L = dJ311[index];
- CCTK_REAL dJ312L = dJ312[index];
- CCTK_REAL dJ313L = dJ313[index];
- CCTK_REAL dJ322L = dJ322[index];
- CCTK_REAL dJ323L = dJ323[index];
- CCTK_REAL dJ333L = dJ333[index];
CCTK_REAL gt11L = gt11[index];
CCTK_REAL gt12L = gt12[index];
CCTK_REAL gt13L = gt13[index];
CCTK_REAL gt22L = gt22[index];
CCTK_REAL gt23L = gt23[index];
CCTK_REAL gt33L = gt33[index];
- CCTK_REAL J11L = J11[index];
- CCTK_REAL J12L = J12[index];
- CCTK_REAL J13L = J13[index];
- CCTK_REAL J21L = J21[index];
- CCTK_REAL J22L = J22[index];
- CCTK_REAL J23L = J23[index];
- CCTK_REAL J31L = J31[index];
- CCTK_REAL J32L = J32[index];
- CCTK_REAL J33L = J33[index];
CCTK_REAL phiL = phi[index];
CCTK_REAL trKL = trK[index];
CCTK_REAL Xt1L = Xt1[index];
@@ -187,6 +205,39 @@ static void ML_BSSN_MP_O8_RHS2_Body(cGH const * restrict const cctkGH, int const
eTzzL = ToReal(0.0);
}
+ CCTK_REAL 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;
+
+ if (use_jacobian)
+ {
+ dJ111L = dJ111[index];
+ dJ112L = dJ112[index];
+ dJ113L = dJ113[index];
+ dJ122L = dJ122[index];
+ dJ123L = dJ123[index];
+ dJ133L = dJ133[index];
+ dJ211L = dJ211[index];
+ dJ212L = dJ212[index];
+ dJ213L = dJ213[index];
+ dJ222L = dJ222[index];
+ dJ223L = dJ223[index];
+ dJ233L = dJ233[index];
+ dJ311L = dJ311[index];
+ dJ312L = dJ312[index];
+ dJ313L = dJ313[index];
+ dJ322L = dJ322[index];
+ dJ323L = dJ323[index];
+ dJ333L = dJ333[index];
+ J11L = J11[index];
+ J12L = J12[index];
+ J13L = J13[index];
+ J21L = J21[index];
+ J22L = J22[index];
+ J23L = J23[index];
+ J31L = J31[index];
+ J32L = J32[index];
+ J33L = J33[index];
+ }
+
/* Include user supplied include files */
/* Precompute derivatives */
@@ -282,6 +333,942 @@ static void ML_BSSN_MP_O8_RHS2_Body(cGH const * restrict const cctkGH, int const
CCTK_REAL const PDstandardNth3Xt3 = PDstandardNth3(&Xt3[index]);
/* Calculate temporaries and grid functions */
+ CCTK_REAL JacPDstandardNth11alpha;
+ CCTK_REAL JacPDstandardNth11gt11;
+ CCTK_REAL JacPDstandardNth11gt12;
+ CCTK_REAL JacPDstandardNth11gt13;
+ CCTK_REAL JacPDstandardNth11gt22;
+ CCTK_REAL JacPDstandardNth11gt23;
+ CCTK_REAL JacPDstandardNth11gt33;
+ CCTK_REAL JacPDstandardNth11phi;
+ CCTK_REAL JacPDstandardNth12alpha;
+ CCTK_REAL JacPDstandardNth12gt11;
+ CCTK_REAL JacPDstandardNth12gt12;
+ CCTK_REAL JacPDstandardNth12gt13;
+ CCTK_REAL JacPDstandardNth12gt22;
+ CCTK_REAL JacPDstandardNth12gt23;
+ CCTK_REAL JacPDstandardNth12gt33;
+ CCTK_REAL JacPDstandardNth12phi;
+ CCTK_REAL JacPDstandardNth13alpha;
+ CCTK_REAL JacPDstandardNth13gt11;
+ CCTK_REAL JacPDstandardNth13gt12;
+ CCTK_REAL JacPDstandardNth13gt13;
+ CCTK_REAL JacPDstandardNth13gt22;
+ CCTK_REAL JacPDstandardNth13gt23;
+ CCTK_REAL JacPDstandardNth13gt33;
+ CCTK_REAL JacPDstandardNth13phi;
+ CCTK_REAL JacPDstandardNth1alpha;
+ CCTK_REAL JacPDstandardNth1beta1;
+ CCTK_REAL JacPDstandardNth1beta2;
+ CCTK_REAL JacPDstandardNth1beta3;
+ CCTK_REAL JacPDstandardNth1gt11;
+ CCTK_REAL JacPDstandardNth1gt12;
+ CCTK_REAL JacPDstandardNth1gt13;
+ CCTK_REAL JacPDstandardNth1gt22;
+ CCTK_REAL JacPDstandardNth1gt23;
+ CCTK_REAL JacPDstandardNth1gt33;
+ CCTK_REAL JacPDstandardNth1phi;
+ CCTK_REAL JacPDstandardNth1Xt1;
+ CCTK_REAL JacPDstandardNth1Xt2;
+ CCTK_REAL JacPDstandardNth1Xt3;
+ CCTK_REAL JacPDstandardNth21gt11;
+ CCTK_REAL JacPDstandardNth21gt12;
+ CCTK_REAL JacPDstandardNth21gt13;
+ CCTK_REAL JacPDstandardNth21gt22;
+ CCTK_REAL JacPDstandardNth21gt23;
+ CCTK_REAL JacPDstandardNth21gt33;
+ CCTK_REAL JacPDstandardNth22alpha;
+ CCTK_REAL JacPDstandardNth22gt11;
+ CCTK_REAL JacPDstandardNth22gt12;
+ CCTK_REAL JacPDstandardNth22gt13;
+ CCTK_REAL JacPDstandardNth22gt22;
+ CCTK_REAL JacPDstandardNth22gt23;
+ CCTK_REAL JacPDstandardNth22gt33;
+ CCTK_REAL JacPDstandardNth22phi;
+ CCTK_REAL JacPDstandardNth23alpha;
+ CCTK_REAL JacPDstandardNth23gt11;
+ CCTK_REAL JacPDstandardNth23gt12;
+ CCTK_REAL JacPDstandardNth23gt13;
+ CCTK_REAL JacPDstandardNth23gt22;
+ CCTK_REAL JacPDstandardNth23gt23;
+ CCTK_REAL JacPDstandardNth23gt33;
+ CCTK_REAL JacPDstandardNth23phi;
+ CCTK_REAL JacPDstandardNth2alpha;
+ CCTK_REAL JacPDstandardNth2beta1;
+ CCTK_REAL JacPDstandardNth2beta2;
+ CCTK_REAL JacPDstandardNth2beta3;
+ CCTK_REAL JacPDstandardNth2gt11;
+ CCTK_REAL JacPDstandardNth2gt12;
+ CCTK_REAL JacPDstandardNth2gt13;
+ CCTK_REAL JacPDstandardNth2gt22;
+ CCTK_REAL JacPDstandardNth2gt23;
+ CCTK_REAL JacPDstandardNth2gt33;
+ CCTK_REAL JacPDstandardNth2phi;
+ CCTK_REAL JacPDstandardNth2Xt1;
+ CCTK_REAL JacPDstandardNth2Xt2;
+ CCTK_REAL JacPDstandardNth2Xt3;
+ CCTK_REAL JacPDstandardNth31gt11;
+ CCTK_REAL JacPDstandardNth31gt12;
+ CCTK_REAL JacPDstandardNth31gt13;
+ CCTK_REAL JacPDstandardNth31gt22;
+ CCTK_REAL JacPDstandardNth31gt23;
+ CCTK_REAL JacPDstandardNth31gt33;
+ CCTK_REAL JacPDstandardNth32gt11;
+ CCTK_REAL JacPDstandardNth32gt12;
+ CCTK_REAL JacPDstandardNth32gt13;
+ CCTK_REAL JacPDstandardNth32gt22;
+ CCTK_REAL JacPDstandardNth32gt23;
+ CCTK_REAL JacPDstandardNth32gt33;
+ CCTK_REAL JacPDstandardNth33alpha;
+ CCTK_REAL JacPDstandardNth33gt11;
+ CCTK_REAL JacPDstandardNth33gt12;
+ CCTK_REAL JacPDstandardNth33gt13;
+ CCTK_REAL JacPDstandardNth33gt22;
+ CCTK_REAL JacPDstandardNth33gt23;
+ CCTK_REAL JacPDstandardNth33gt33;
+ CCTK_REAL JacPDstandardNth33phi;
+ CCTK_REAL JacPDstandardNth3alpha;
+ CCTK_REAL JacPDstandardNth3beta1;
+ CCTK_REAL JacPDstandardNth3beta2;
+ CCTK_REAL JacPDstandardNth3beta3;
+ CCTK_REAL JacPDstandardNth3gt11;
+ CCTK_REAL JacPDstandardNth3gt12;
+ CCTK_REAL JacPDstandardNth3gt13;
+ CCTK_REAL JacPDstandardNth3gt22;
+ CCTK_REAL JacPDstandardNth3gt23;
+ CCTK_REAL JacPDstandardNth3gt33;
+ CCTK_REAL JacPDstandardNth3phi;
+ CCTK_REAL JacPDstandardNth3Xt1;
+ CCTK_REAL JacPDstandardNth3Xt2;
+ CCTK_REAL JacPDstandardNth3Xt3;
+
+ if (use_jacobian)
+ {
+ JacPDstandardNth1alpha = J11L*PDstandardNth1alpha +
+ J21L*PDstandardNth2alpha + J31L*PDstandardNth3alpha;
+
+ JacPDstandardNth1beta1 = J11L*PDstandardNth1beta1 +
+ J21L*PDstandardNth2beta1 + J31L*PDstandardNth3beta1;
+
+ JacPDstandardNth1beta2 = J11L*PDstandardNth1beta2 +
+ J21L*PDstandardNth2beta2 + J31L*PDstandardNth3beta2;
+
+ JacPDstandardNth1beta3 = J11L*PDstandardNth1beta3 +
+ J21L*PDstandardNth2beta3 + J31L*PDstandardNth3beta3;
+
+ JacPDstandardNth1gt11 = J11L*PDstandardNth1gt11 +
+ J21L*PDstandardNth2gt11 + J31L*PDstandardNth3gt11;
+
+ JacPDstandardNth1gt12 = J11L*PDstandardNth1gt12 +
+ J21L*PDstandardNth2gt12 + J31L*PDstandardNth3gt12;
+
+ JacPDstandardNth1gt13 = J11L*PDstandardNth1gt13 +
+ J21L*PDstandardNth2gt13 + J31L*PDstandardNth3gt13;
+
+ JacPDstandardNth1gt22 = J11L*PDstandardNth1gt22 +
+ J21L*PDstandardNth2gt22 + J31L*PDstandardNth3gt22;
+
+ JacPDstandardNth1gt23 = J11L*PDstandardNth1gt23 +
+ J21L*PDstandardNth2gt23 + J31L*PDstandardNth3gt23;
+
+ JacPDstandardNth1gt33 = J11L*PDstandardNth1gt33 +
+ J21L*PDstandardNth2gt33 + J31L*PDstandardNth3gt33;
+
+ JacPDstandardNth1phi = J11L*PDstandardNth1phi + J21L*PDstandardNth2phi
+ + J31L*PDstandardNth3phi;
+
+ JacPDstandardNth1Xt1 = J11L*PDstandardNth1Xt1 + J21L*PDstandardNth2Xt1
+ + J31L*PDstandardNth3Xt1;
+
+ JacPDstandardNth1Xt2 = J11L*PDstandardNth1Xt2 + J21L*PDstandardNth2Xt2
+ + J31L*PDstandardNth3Xt2;
+
+ JacPDstandardNth1Xt3 = J11L*PDstandardNth1Xt3 + J21L*PDstandardNth2Xt3
+ + J31L*PDstandardNth3Xt3;
+
+ JacPDstandardNth2alpha = J12L*PDstandardNth1alpha +
+ J22L*PDstandardNth2alpha + J32L*PDstandardNth3alpha;
+
+ JacPDstandardNth2beta1 = J12L*PDstandardNth1beta1 +
+ J22L*PDstandardNth2beta1 + J32L*PDstandardNth3beta1;
+
+ JacPDstandardNth2beta2 = J12L*PDstandardNth1beta2 +
+ J22L*PDstandardNth2beta2 + J32L*PDstandardNth3beta2;
+
+ JacPDstandardNth2beta3 = J12L*PDstandardNth1beta3 +
+ J22L*PDstandardNth2beta3 + J32L*PDstandardNth3beta3;
+
+ JacPDstandardNth2gt11 = J12L*PDstandardNth1gt11 +
+ J22L*PDstandardNth2gt11 + J32L*PDstandardNth3gt11;
+
+ JacPDstandardNth2gt12 = J12L*PDstandardNth1gt12 +
+ J22L*PDstandardNth2gt12 + J32L*PDstandardNth3gt12;
+
+ JacPDstandardNth2gt13 = J12L*PDstandardNth1gt13 +
+ J22L*PDstandardNth2gt13 + J32L*PDstandardNth3gt13;
+
+ JacPDstandardNth2gt22 = J12L*PDstandardNth1gt22 +
+ J22L*PDstandardNth2gt22 + J32L*PDstandardNth3gt22;
+
+ JacPDstandardNth2gt23 = J12L*PDstandardNth1gt23 +
+ J22L*PDstandardNth2gt23 + J32L*PDstandardNth3gt23;
+
+ JacPDstandardNth2gt33 = J12L*PDstandardNth1gt33 +
+ J22L*PDstandardNth2gt33 + J32L*PDstandardNth3gt33;
+
+ JacPDstandardNth2phi = J12L*PDstandardNth1phi + J22L*PDstandardNth2phi
+ + J32L*PDstandardNth3phi;
+
+ JacPDstandardNth2Xt1 = J12L*PDstandardNth1Xt1 + J22L*PDstandardNth2Xt1
+ + J32L*PDstandardNth3Xt1;
+
+ JacPDstandardNth2Xt2 = J12L*PDstandardNth1Xt2 + J22L*PDstandardNth2Xt2
+ + J32L*PDstandardNth3Xt2;
+
+ JacPDstandardNth2Xt3 = J12L*PDstandardNth1Xt3 + J22L*PDstandardNth2Xt3
+ + J32L*PDstandardNth3Xt3;
+
+ JacPDstandardNth3alpha = J13L*PDstandardNth1alpha +
+ J23L*PDstandardNth2alpha + J33L*PDstandardNth3alpha;
+
+ JacPDstandardNth3beta1 = J13L*PDstandardNth1beta1 +
+ J23L*PDstandardNth2beta1 + J33L*PDstandardNth3beta1;
+
+ JacPDstandardNth3beta2 = J13L*PDstandardNth1beta2 +
+ J23L*PDstandardNth2beta2 + J33L*PDstandardNth3beta2;
+
+ JacPDstandardNth3beta3 = J13L*PDstandardNth1beta3 +
+ J23L*PDstandardNth2beta3 + J33L*PDstandardNth3beta3;
+
+ JacPDstandardNth3gt11 = J13L*PDstandardNth1gt11 +
+ J23L*PDstandardNth2gt11 + J33L*PDstandardNth3gt11;
+
+ JacPDstandardNth3gt12 = J13L*PDstandardNth1gt12 +
+ J23L*PDstandardNth2gt12 + J33L*PDstandardNth3gt12;
+
+ JacPDstandardNth3gt13 = J13L*PDstandardNth1gt13 +
+ J23L*PDstandardNth2gt13 + J33L*PDstandardNth3gt13;
+
+ JacPDstandardNth3gt22 = J13L*PDstandardNth1gt22 +
+ J23L*PDstandardNth2gt22 + J33L*PDstandardNth3gt22;
+
+ JacPDstandardNth3gt23 = J13L*PDstandardNth1gt23 +
+ J23L*PDstandardNth2gt23 + J33L*PDstandardNth3gt23;
+
+ JacPDstandardNth3gt33 = J13L*PDstandardNth1gt33 +
+ J23L*PDstandardNth2gt33 + J33L*PDstandardNth3gt33;
+
+ JacPDstandardNth3phi = J13L*PDstandardNth1phi + J23L*PDstandardNth2phi
+ + J33L*PDstandardNth3phi;
+
+ JacPDstandardNth3Xt1 = J13L*PDstandardNth1Xt1 + J23L*PDstandardNth2Xt1
+ + J33L*PDstandardNth3Xt1;
+
+ JacPDstandardNth3Xt2 = J13L*PDstandardNth1Xt2 + J23L*PDstandardNth2Xt2
+ + J33L*PDstandardNth3Xt2;
+
+ JacPDstandardNth3Xt3 = J13L*PDstandardNth1Xt3 + J23L*PDstandardNth2Xt3
+ + J33L*PDstandardNth3Xt3;
+
+ JacPDstandardNth11alpha = dJ111L*PDstandardNth1alpha +
+ 2*(J11L*(J21L*PDstandardNth12alpha + J31L*PDstandardNth13alpha) +
+ J21L*J31L*PDstandardNth23alpha) + dJ211L*PDstandardNth2alpha +
+ dJ311L*PDstandardNth3alpha + PDstandardNth11alpha*SQR(J11L) +
+ PDstandardNth22alpha*SQR(J21L) + PDstandardNth33alpha*SQR(J31L);
+
+ JacPDstandardNth11gt11 = dJ111L*PDstandardNth1gt11 +
+ 2*(J11L*(J21L*PDstandardNth12gt11 + J31L*PDstandardNth13gt11) +
+ J21L*J31L*PDstandardNth23gt11) + dJ211L*PDstandardNth2gt11 +
+ dJ311L*PDstandardNth3gt11 + PDstandardNth11gt11*SQR(J11L) +
+ PDstandardNth22gt11*SQR(J21L) + PDstandardNth33gt11*SQR(J31L);
+
+ JacPDstandardNth11gt12 = dJ111L*PDstandardNth1gt12 +
+ 2*(J11L*(J21L*PDstandardNth12gt12 + J31L*PDstandardNth13gt12) +
+ J21L*J31L*PDstandardNth23gt12) + dJ211L*PDstandardNth2gt12 +
+ dJ311L*PDstandardNth3gt12 + PDstandardNth11gt12*SQR(J11L) +
+ PDstandardNth22gt12*SQR(J21L) + PDstandardNth33gt12*SQR(J31L);
+
+ JacPDstandardNth11gt13 = dJ111L*PDstandardNth1gt13 +
+ 2*(J11L*(J21L*PDstandardNth12gt13 + J31L*PDstandardNth13gt13) +
+ J21L*J31L*PDstandardNth23gt13) + dJ211L*PDstandardNth2gt13 +
+ dJ311L*PDstandardNth3gt13 + PDstandardNth11gt13*SQR(J11L) +
+ PDstandardNth22gt13*SQR(J21L) + PDstandardNth33gt13*SQR(J31L);
+
+ JacPDstandardNth11gt22 = dJ111L*PDstandardNth1gt22 +
+ 2*(J11L*(J21L*PDstandardNth12gt22 + J31L*PDstandardNth13gt22) +
+ J21L*J31L*PDstandardNth23gt22) + dJ211L*PDstandardNth2gt22 +
+ dJ311L*PDstandardNth3gt22 + PDstandardNth11gt22*SQR(J11L) +
+ PDstandardNth22gt22*SQR(J21L) + PDstandardNth33gt22*SQR(J31L);
+
+ JacPDstandardNth11gt23 = dJ111L*PDstandardNth1gt23 +
+ 2*(J11L*(J21L*PDstandardNth12gt23 + J31L*PDstandardNth13gt23) +
+ J21L*J31L*PDstandardNth23gt23) + dJ211L*PDstandardNth2gt23 +
+ dJ311L*PDstandardNth3gt23 + PDstandardNth11gt23*SQR(J11L) +
+ PDstandardNth22gt23*SQR(J21L) + PDstandardNth33gt23*SQR(J31L);
+
+ JacPDstandardNth11gt33 = dJ111L*PDstandardNth1gt33 +
+ 2*(J11L*(J21L*PDstandardNth12gt33 + J31L*PDstandardNth13gt33) +
+ J21L*J31L*PDstandardNth23gt33) + dJ211L*PDstandardNth2gt33 +
+ dJ311L*PDstandardNth3gt33 + PDstandardNth11gt33*SQR(J11L) +
+ PDstandardNth22gt33*SQR(J21L) + PDstandardNth33gt33*SQR(J31L);
+
+ JacPDstandardNth11phi = dJ111L*PDstandardNth1phi +
+ 2*(J11L*(J21L*PDstandardNth12phi + J31L*PDstandardNth13phi) +
+ J21L*J31L*PDstandardNth23phi) + dJ211L*PDstandardNth2phi +
+ dJ311L*PDstandardNth3phi + PDstandardNth11phi*SQR(J11L) +
+ PDstandardNth22phi*SQR(J21L) + PDstandardNth33phi*SQR(J31L);
+
+ JacPDstandardNth22alpha = dJ122L*PDstandardNth1alpha +
+ 2*(J12L*(J22L*PDstandardNth12alpha + J32L*PDstandardNth13alpha) +
+ J22L*J32L*PDstandardNth23alpha) + dJ222L*PDstandardNth2alpha +
+ dJ322L*PDstandardNth3alpha + PDstandardNth11alpha*SQR(J12L) +
+ PDstandardNth22alpha*SQR(J22L) + PDstandardNth33alpha*SQR(J32L);
+
+ JacPDstandardNth22gt11 = dJ122L*PDstandardNth1gt11 +
+ 2*(J12L*(J22L*PDstandardNth12gt11 + J32L*PDstandardNth13gt11) +
+ J22L*J32L*PDstandardNth23gt11) + dJ222L*PDstandardNth2gt11 +
+ dJ322L*PDstandardNth3gt11 + PDstandardNth11gt11*SQR(J12L) +
+ PDstandardNth22gt11*SQR(J22L) + PDstandardNth33gt11*SQR(J32L);
+
+ JacPDstandardNth22gt12 = dJ122L*PDstandardNth1gt12 +
+ 2*(J12L*(J22L*PDstandardNth12gt12 + J32L*PDstandardNth13gt12) +
+ J22L*J32L*PDstandardNth23gt12) + dJ222L*PDstandardNth2gt12 +
+ dJ322L*PDstandardNth3gt12 + PDstandardNth11gt12*SQR(J12L) +
+ PDstandardNth22gt12*SQR(J22L) + PDstandardNth33gt12*SQR(J32L);
+
+ JacPDstandardNth22gt13 = dJ122L*PDstandardNth1gt13 +
+ 2*(J12L*(J22L*PDstandardNth12gt13 + J32L*PDstandardNth13gt13) +
+ J22L*J32L*PDstandardNth23gt13) + dJ222L*PDstandardNth2gt13 +
+ dJ322L*PDstandardNth3gt13 + PDstandardNth11gt13*SQR(J12L) +
+ PDstandardNth22gt13*SQR(J22L) + PDstandardNth33gt13*SQR(J32L);
+
+ JacPDstandardNth22gt22 = dJ122L*PDstandardNth1gt22 +
+ 2*(J12L*(J22L*PDstandardNth12gt22 + J32L*PDstandardNth13gt22) +
+ J22L*J32L*PDstandardNth23gt22) + dJ222L*PDstandardNth2gt22 +
+ dJ322L*PDstandardNth3gt22 + PDstandardNth11gt22*SQR(J12L) +
+ PDstandardNth22gt22*SQR(J22L) + PDstandardNth33gt22*SQR(J32L);
+
+ JacPDstandardNth22gt23 = dJ122L*PDstandardNth1gt23 +
+ 2*(J12L*(J22L*PDstandardNth12gt23 + J32L*PDstandardNth13gt23) +
+ J22L*J32L*PDstandardNth23gt23) + dJ222L*PDstandardNth2gt23 +
+ dJ322L*PDstandardNth3gt23 + PDstandardNth11gt23*SQR(J12L) +
+ PDstandardNth22gt23*SQR(J22L) + PDstandardNth33gt23*SQR(J32L);
+
+ JacPDstandardNth22gt33 = dJ122L*PDstandardNth1gt33 +
+ 2*(J12L*(J22L*PDstandardNth12gt33 + J32L*PDstandardNth13gt33) +
+ J22L*J32L*PDstandardNth23gt33) + dJ222L*PDstandardNth2gt33 +
+ dJ322L*PDstandardNth3gt33 + PDstandardNth11gt33*SQR(J12L) +
+ PDstandardNth22gt33*SQR(J22L) + PDstandardNth33gt33*SQR(J32L);
+
+ JacPDstandardNth22phi = dJ122L*PDstandardNth1phi +
+ 2*(J12L*(J22L*PDstandardNth12phi + J32L*PDstandardNth13phi) +
+ J22L*J32L*PDstandardNth23phi) + dJ222L*PDstandardNth2phi +
+ dJ322L*PDstandardNth3phi + PDstandardNth11phi*SQR(J12L) +
+ PDstandardNth22phi*SQR(J22L) + PDstandardNth33phi*SQR(J32L);
+
+ JacPDstandardNth33alpha = dJ133L*PDstandardNth1alpha +
+ 2*(J13L*(J23L*PDstandardNth12alpha + J33L*PDstandardNth13alpha) +
+ J23L*J33L*PDstandardNth23alpha) + dJ233L*PDstandardNth2alpha +
+ dJ333L*PDstandardNth3alpha + PDstandardNth11alpha*SQR(J13L) +
+ PDstandardNth22alpha*SQR(J23L) + PDstandardNth33alpha*SQR(J33L);
+
+ JacPDstandardNth33gt11 = dJ133L*PDstandardNth1gt11 +
+ 2*(J13L*(J23L*PDstandardNth12gt11 + J33L*PDstandardNth13gt11) +
+ J23L*J33L*PDstandardNth23gt11) + dJ233L*PDstandardNth2gt11 +
+ dJ333L*PDstandardNth3gt11 + PDstandardNth11gt11*SQR(J13L) +
+ PDstandardNth22gt11*SQR(J23L) + PDstandardNth33gt11*SQR(J33L);
+
+ JacPDstandardNth33gt12 = dJ133L*PDstandardNth1gt12 +
+ 2*(J13L*(J23L*PDstandardNth12gt12 + J33L*PDstandardNth13gt12) +
+ J23L*J33L*PDstandardNth23gt12) + dJ233L*PDstandardNth2gt12 +
+ dJ333L*PDstandardNth3gt12 + PDstandardNth11gt12*SQR(J13L) +
+ PDstandardNth22gt12*SQR(J23L) + PDstandardNth33gt12*SQR(J33L);
+
+ JacPDstandardNth33gt13 = dJ133L*PDstandardNth1gt13 +
+ 2*(J13L*(J23L*PDstandardNth12gt13 + J33L*PDstandardNth13gt13) +
+ J23L*J33L*PDstandardNth23gt13) + dJ233L*PDstandardNth2gt13 +
+ dJ333L*PDstandardNth3gt13 + PDstandardNth11gt13*SQR(J13L) +
+ PDstandardNth22gt13*SQR(J23L) + PDstandardNth33gt13*SQR(J33L);
+
+ JacPDstandardNth33gt22 = dJ133L*PDstandardNth1gt22 +
+ 2*(J13L*(J23L*PDstandardNth12gt22 + J33L*PDstandardNth13gt22) +
+ J23L*J33L*PDstandardNth23gt22) + dJ233L*PDstandardNth2gt22 +
+ dJ333L*PDstandardNth3gt22 + PDstandardNth11gt22*SQR(J13L) +
+ PDstandardNth22gt22*SQR(J23L) + PDstandardNth33gt22*SQR(J33L);
+
+ JacPDstandardNth33gt23 = dJ133L*PDstandardNth1gt23 +
+ 2*(J13L*(J23L*PDstandardNth12gt23 + J33L*PDstandardNth13gt23) +
+ J23L*J33L*PDstandardNth23gt23) + dJ233L*PDstandardNth2gt23 +
+ dJ333L*PDstandardNth3gt23 + PDstandardNth11gt23*SQR(J13L) +
+ PDstandardNth22gt23*SQR(J23L) + PDstandardNth33gt23*SQR(J33L);
+
+ JacPDstandardNth33gt33 = dJ133L*PDstandardNth1gt33 +
+ 2*(J13L*(J23L*PDstandardNth12gt33 + J33L*PDstandardNth13gt33) +
+ J23L*J33L*PDstandardNth23gt33) + dJ233L*PDstandardNth2gt33 +
+ dJ333L*PDstandardNth3gt33 + PDstandardNth11gt33*SQR(J13L) +
+ PDstandardNth22gt33*SQR(J23L) + PDstandardNth33gt33*SQR(J33L);
+
+ JacPDstandardNth33phi = dJ133L*PDstandardNth1phi +
+ 2*(J13L*(J23L*PDstandardNth12phi + J33L*PDstandardNth13phi) +
+ J23L*J33L*PDstandardNth23phi) + dJ233L*PDstandardNth2phi +
+ dJ333L*PDstandardNth3phi + PDstandardNth11phi*SQR(J13L) +
+ PDstandardNth22phi*SQR(J23L) + PDstandardNth33phi*SQR(J33L);
+
+ JacPDstandardNth12alpha = J12L*(J11L*PDstandardNth11alpha +
+ J21L*PDstandardNth12alpha + J31L*PDstandardNth13alpha) +
+ J11L*(J22L*PDstandardNth12alpha + J32L*PDstandardNth13alpha) +
+ dJ112L*PDstandardNth1alpha + J22L*(J21L*PDstandardNth22alpha +
+ J31L*PDstandardNth23alpha) + dJ212L*PDstandardNth2alpha +
+ J32L*(J21L*PDstandardNth23alpha + J31L*PDstandardNth33alpha) +
+ dJ312L*PDstandardNth3alpha;
+
+ JacPDstandardNth12gt11 = J12L*(J11L*PDstandardNth11gt11 +
+ J21L*PDstandardNth12gt11 + J31L*PDstandardNth13gt11) +
+ J11L*(J22L*PDstandardNth12gt11 + J32L*PDstandardNth13gt11) +
+ dJ112L*PDstandardNth1gt11 + J22L*(J21L*PDstandardNth22gt11 +
+ J31L*PDstandardNth23gt11) + dJ212L*PDstandardNth2gt11 +
+ J32L*(J21L*PDstandardNth23gt11 + J31L*PDstandardNth33gt11) +
+ dJ312L*PDstandardNth3gt11;
+
+ JacPDstandardNth12gt12 = J12L*(J11L*PDstandardNth11gt12 +
+ J21L*PDstandardNth12gt12 + J31L*PDstandardNth13gt12) +
+ J11L*(J22L*PDstandardNth12gt12 + J32L*PDstandardNth13gt12) +
+ dJ112L*PDstandardNth1gt12 + J22L*(J21L*PDstandardNth22gt12 +
+ J31L*PDstandardNth23gt12) + dJ212L*PDstandardNth2gt12 +
+ J32L*(J21L*PDstandardNth23gt12 + J31L*PDstandardNth33gt12) +
+ dJ312L*PDstandardNth3gt12;
+
+ JacPDstandardNth12gt13 = J12L*(J11L*PDstandardNth11gt13 +
+ J21L*PDstandardNth12gt13 + J31L*PDstandardNth13gt13) +
+ J11L*(J22L*PDstandardNth12gt13 + J32L*PDstandardNth13gt13) +
+ dJ112L*PDstandardNth1gt13 + J22L*(J21L*PDstandardNth22gt13 +
+ J31L*PDstandardNth23gt13) + dJ212L*PDstandardNth2gt13 +
+ J32L*(J21L*PDstandardNth23gt13 + J31L*PDstandardNth33gt13) +
+ dJ312L*PDstandardNth3gt13;
+
+ JacPDstandardNth12gt22 = J12L*(J11L*PDstandardNth11gt22 +
+ J21L*PDstandardNth12gt22 + J31L*PDstandardNth13gt22) +
+ J11L*(J22L*PDstandardNth12gt22 + J32L*PDstandardNth13gt22) +
+ dJ112L*PDstandardNth1gt22 + J22L*(J21L*PDstandardNth22gt22 +
+ J31L*PDstandardNth23gt22) + dJ212L*PDstandardNth2gt22 +
+ J32L*(J21L*PDstandardNth23gt22 + J31L*PDstandardNth33gt22) +
+ dJ312L*PDstandardNth3gt22;
+
+ JacPDstandardNth12gt23 = J12L*(J11L*PDstandardNth11gt23 +
+ J21L*PDstandardNth12gt23 + J31L*PDstandardNth13gt23) +
+ J11L*(J22L*PDstandardNth12gt23 + J32L*PDstandardNth13gt23) +
+ dJ112L*PDstandardNth1gt23 + J22L*(J21L*PDstandardNth22gt23 +
+ J31L*PDstandardNth23gt23) + dJ212L*PDstandardNth2gt23 +
+ J32L*(J21L*PDstandardNth23gt23 + J31L*PDstandardNth33gt23) +
+ dJ312L*PDstandardNth3gt23;
+
+ JacPDstandardNth12gt33 = J12L*(J11L*PDstandardNth11gt33 +
+ J21L*PDstandardNth12gt33 + J31L*PDstandardNth13gt33) +
+ J11L*(J22L*PDstandardNth12gt33 + J32L*PDstandardNth13gt33) +
+ dJ112L*PDstandardNth1gt33 + J22L*(J21L*PDstandardNth22gt33 +
+ J31L*PDstandardNth23gt33) + dJ212L*PDstandardNth2gt33 +
+ J32L*(J21L*PDstandardNth23gt33 + J31L*PDstandardNth33gt33) +
+ dJ312L*PDstandardNth3gt33;
+
+ JacPDstandardNth12phi = J12L*(J11L*PDstandardNth11phi +
+ J21L*PDstandardNth12phi + J31L*PDstandardNth13phi) +
+ J11L*(J22L*PDstandardNth12phi + J32L*PDstandardNth13phi) +
+ dJ112L*PDstandardNth1phi + J22L*(J21L*PDstandardNth22phi +
+ J31L*PDstandardNth23phi) + dJ212L*PDstandardNth2phi +
+ J32L*(J21L*PDstandardNth23phi + J31L*PDstandardNth33phi) +
+ dJ312L*PDstandardNth3phi;
+
+ JacPDstandardNth13alpha = J13L*(J11L*PDstandardNth11alpha +
+ J21L*PDstandardNth12alpha + J31L*PDstandardNth13alpha) +
+ J11L*(J23L*PDstandardNth12alpha + J33L*PDstandardNth13alpha) +
+ dJ113L*PDstandardNth1alpha + J23L*(J21L*PDstandardNth22alpha +
+ J31L*PDstandardNth23alpha) + dJ213L*PDstandardNth2alpha +
+ J33L*(J21L*PDstandardNth23alpha + J31L*PDstandardNth33alpha) +
+ dJ313L*PDstandardNth3alpha;
+
+ JacPDstandardNth13gt11 = J13L*(J11L*PDstandardNth11gt11 +
+ J21L*PDstandardNth12gt11 + J31L*PDstandardNth13gt11) +
+ J11L*(J23L*PDstandardNth12gt11 + J33L*PDstandardNth13gt11) +
+ dJ113L*PDstandardNth1gt11 + J23L*(J21L*PDstandardNth22gt11 +
+ J31L*PDstandardNth23gt11) + dJ213L*PDstandardNth2gt11 +
+ J33L*(J21L*PDstandardNth23gt11 + J31L*PDstandardNth33gt11) +
+ dJ313L*PDstandardNth3gt11;
+
+ JacPDstandardNth13gt12 = J13L*(J11L*PDstandardNth11gt12 +
+ J21L*PDstandardNth12gt12 + J31L*PDstandardNth13gt12) +
+ J11L*(J23L*PDstandardNth12gt12 + J33L*PDstandardNth13gt12) +
+ dJ113L*PDstandardNth1gt12 + J23L*(J21L*PDstandardNth22gt12 +
+ J31L*PDstandardNth23gt12) + dJ213L*PDstandardNth2gt12 +
+ J33L*(J21L*PDstandardNth23gt12 + J31L*PDstandardNth33gt12) +
+ dJ313L*PDstandardNth3gt12;
+
+ JacPDstandardNth13gt13 = J13L*(J11L*PDstandardNth11gt13 +
+ J21L*PDstandardNth12gt13 + J31L*PDstandardNth13gt13) +
+ J11L*(J23L*PDstandardNth12gt13 + J33L*PDstandardNth13gt13) +
+ dJ113L*PDstandardNth1gt13 + J23L*(J21L*PDstandardNth22gt13 +
+ J31L*PDstandardNth23gt13) + dJ213L*PDstandardNth2gt13 +
+ J33L*(J21L*PDstandardNth23gt13 + J31L*PDstandardNth33gt13) +
+ dJ313L*PDstandardNth3gt13;
+
+ JacPDstandardNth13gt22 = J13L*(J11L*PDstandardNth11gt22 +
+ J21L*PDstandardNth12gt22 + J31L*PDstandardNth13gt22) +
+ J11L*(J23L*PDstandardNth12gt22 + J33L*PDstandardNth13gt22) +
+ dJ113L*PDstandardNth1gt22 + J23L*(J21L*PDstandardNth22gt22 +
+ J31L*PDstandardNth23gt22) + dJ213L*PDstandardNth2gt22 +
+ J33L*(J21L*PDstandardNth23gt22 + J31L*PDstandardNth33gt22) +
+ dJ313L*PDstandardNth3gt22;
+
+ JacPDstandardNth13gt23 = J13L*(J11L*PDstandardNth11gt23 +
+ J21L*PDstandardNth12gt23 + J31L*PDstandardNth13gt23) +
+ J11L*(J23L*PDstandardNth12gt23 + J33L*PDstandardNth13gt23) +
+ dJ113L*PDstandardNth1gt23 + J23L*(J21L*PDstandardNth22gt23 +
+ J31L*PDstandardNth23gt23) + dJ213L*PDstandardNth2gt23 +
+ J33L*(J21L*PDstandardNth23gt23 + J31L*PDstandardNth33gt23) +
+ dJ313L*PDstandardNth3gt23;
+
+ JacPDstandardNth13gt33 = J13L*(J11L*PDstandardNth11gt33 +
+ J21L*PDstandardNth12gt33 + J31L*PDstandardNth13gt33) +
+ J11L*(J23L*PDstandardNth12gt33 + J33L*PDstandardNth13gt33) +
+ dJ113L*PDstandardNth1gt33 + J23L*(J21L*PDstandardNth22gt33 +
+ J31L*PDstandardNth23gt33) + dJ213L*PDstandardNth2gt33 +
+ J33L*(J21L*PDstandardNth23gt33 + J31L*PDstandardNth33gt33) +
+ dJ313L*PDstandardNth3gt33;
+
+ JacPDstandardNth13phi = J13L*(J11L*PDstandardNth11phi +
+ J21L*PDstandardNth12phi + J31L*PDstandardNth13phi) +
+ J11L*(J23L*PDstandardNth12phi + J33L*PDstandardNth13phi) +
+ dJ113L*PDstandardNth1phi + J23L*(J21L*PDstandardNth22phi +
+ J31L*PDstandardNth23phi) + dJ213L*PDstandardNth2phi +
+ J33L*(J21L*PDstandardNth23phi + J31L*PDstandardNth33phi) +
+ dJ313L*PDstandardNth3phi;
+
+ JacPDstandardNth21gt11 = J12L*(J11L*PDstandardNth11gt11 +
+ J21L*PDstandardNth12gt11 + J31L*PDstandardNth13gt11) +
+ J11L*(J22L*PDstandardNth12gt11 + J32L*PDstandardNth13gt11) +
+ dJ112L*PDstandardNth1gt11 + J22L*(J21L*PDstandardNth22gt11 +
+ J31L*PDstandardNth23gt11) + dJ212L*PDstandardNth2gt11 +
+ J32L*(J21L*PDstandardNth23gt11 + J31L*PDstandardNth33gt11) +
+ dJ312L*PDstandardNth3gt11;
+
+ JacPDstandardNth21gt12 = J12L*(J11L*PDstandardNth11gt12 +
+ J21L*PDstandardNth12gt12 + J31L*PDstandardNth13gt12) +
+ J11L*(J22L*PDstandardNth12gt12 + J32L*PDstandardNth13gt12) +
+ dJ112L*PDstandardNth1gt12 + J22L*(J21L*PDstandardNth22gt12 +
+ J31L*PDstandardNth23gt12) + dJ212L*PDstandardNth2gt12 +
+ J32L*(J21L*PDstandardNth23gt12 + J31L*PDstandardNth33gt12) +
+ dJ312L*PDstandardNth3gt12;
+
+ JacPDstandardNth21gt13 = J12L*(J11L*PDstandardNth11gt13 +
+ J21L*PDstandardNth12gt13 + J31L*PDstandardNth13gt13) +
+ J11L*(J22L*PDstandardNth12gt13 + J32L*PDstandardNth13gt13) +
+ dJ112L*PDstandardNth1gt13 + J22L*(J21L*PDstandardNth22gt13 +
+ J31L*PDstandardNth23gt13) + dJ212L*PDstandardNth2gt13 +
+ J32L*(J21L*PDstandardNth23gt13 + J31L*PDstandardNth33gt13) +
+ dJ312L*PDstandardNth3gt13;
+
+ JacPDstandardNth21gt22 = J12L*(J11L*PDstandardNth11gt22 +
+ J21L*PDstandardNth12gt22 + J31L*PDstandardNth13gt22) +
+ J11L*(J22L*PDstandardNth12gt22 + J32L*PDstandardNth13gt22) +
+ dJ112L*PDstandardNth1gt22 + J22L*(J21L*PDstandardNth22gt22 +
+ J31L*PDstandardNth23gt22) + dJ212L*PDstandardNth2gt22 +
+ J32L*(J21L*PDstandardNth23gt22 + J31L*PDstandardNth33gt22) +
+ dJ312L*PDstandardNth3gt22;
+
+ JacPDstandardNth21gt23 = J12L*(J11L*PDstandardNth11gt23 +
+ J21L*PDstandardNth12gt23 + J31L*PDstandardNth13gt23) +
+ J11L*(J22L*PDstandardNth12gt23 + J32L*PDstandardNth13gt23) +
+ dJ112L*PDstandardNth1gt23 + J22L*(J21L*PDstandardNth22gt23 +
+ J31L*PDstandardNth23gt23) + dJ212L*PDstandardNth2gt23 +
+ J32L*(J21L*PDstandardNth23gt23 + J31L*PDstandardNth33gt23) +
+ dJ312L*PDstandardNth3gt23;
+
+ JacPDstandardNth21gt33 = J12L*(J11L*PDstandardNth11gt33 +
+ J21L*PDstandardNth12gt33 + J31L*PDstandardNth13gt33) +
+ J11L*(J22L*PDstandardNth12gt33 + J32L*PDstandardNth13gt33) +
+ dJ112L*PDstandardNth1gt33 + J22L*(J21L*PDstandardNth22gt33 +
+ J31L*PDstandardNth23gt33) + dJ212L*PDstandardNth2gt33 +
+ J32L*(J21L*PDstandardNth23gt33 + J31L*PDstandardNth33gt33) +
+ dJ312L*PDstandardNth3gt33;
+
+ JacPDstandardNth23alpha = J13L*(J12L*PDstandardNth11alpha +
+ J22L*PDstandardNth12alpha + J32L*PDstandardNth13alpha) +
+ J12L*(J23L*PDstandardNth12alpha + J33L*PDstandardNth13alpha) +
+ dJ123L*PDstandardNth1alpha + J23L*(J22L*PDstandardNth22alpha +
+ J32L*PDstandardNth23alpha) + dJ223L*PDstandardNth2alpha +
+ J33L*(J22L*PDstandardNth23alpha + J32L*PDstandardNth33alpha) +
+ dJ323L*PDstandardNth3alpha;
+
+ JacPDstandardNth23gt11 = J13L*(J12L*PDstandardNth11gt11 +
+ J22L*PDstandardNth12gt11 + J32L*PDstandardNth13gt11) +
+ J12L*(J23L*PDstandardNth12gt11 + J33L*PDstandardNth13gt11) +
+ dJ123L*PDstandardNth1gt11 + J23L*(J22L*PDstandardNth22gt11 +
+ J32L*PDstandardNth23gt11) + dJ223L*PDstandardNth2gt11 +
+ J33L*(J22L*PDstandardNth23gt11 + J32L*PDstandardNth33gt11) +
+ dJ323L*PDstandardNth3gt11;
+
+ JacPDstandardNth23gt12 = J13L*(J12L*PDstandardNth11gt12 +
+ J22L*PDstandardNth12gt12 + J32L*PDstandardNth13gt12) +
+ J12L*(J23L*PDstandardNth12gt12 + J33L*PDstandardNth13gt12) +
+ dJ123L*PDstandardNth1gt12 + J23L*(J22L*PDstandardNth22gt12 +
+ J32L*PDstandardNth23gt12) + dJ223L*PDstandardNth2gt12 +
+ J33L*(J22L*PDstandardNth23gt12 + J32L*PDstandardNth33gt12) +
+ dJ323L*PDstandardNth3gt12;
+
+ JacPDstandardNth23gt13 = J13L*(J12L*PDstandardNth11gt13 +
+ J22L*PDstandardNth12gt13 + J32L*PDstandardNth13gt13) +
+ J12L*(J23L*PDstandardNth12gt13 + J33L*PDstandardNth13gt13) +
+ dJ123L*PDstandardNth1gt13 + J23L*(J22L*PDstandardNth22gt13 +
+ J32L*PDstandardNth23gt13) + dJ223L*PDstandardNth2gt13 +
+ J33L*(J22L*PDstandardNth23gt13 + J32L*PDstandardNth33gt13) +
+ dJ323L*PDstandardNth3gt13;
+
+ JacPDstandardNth23gt22 = J13L*(J12L*PDstandardNth11gt22 +
+ J22L*PDstandardNth12gt22 + J32L*PDstandardNth13gt22) +
+ J12L*(J23L*PDstandardNth12gt22 + J33L*PDstandardNth13gt22) +
+ dJ123L*PDstandardNth1gt22 + J23L*(J22L*PDstandardNth22gt22 +
+ J32L*PDstandardNth23gt22) + dJ223L*PDstandardNth2gt22 +
+ J33L*(J22L*PDstandardNth23gt22 + J32L*PDstandardNth33gt22) +
+ dJ323L*PDstandardNth3gt22;
+
+ JacPDstandardNth23gt23 = J13L*(J12L*PDstandardNth11gt23 +
+ J22L*PDstandardNth12gt23 + J32L*PDstandardNth13gt23) +
+ J12L*(J23L*PDstandardNth12gt23 + J33L*PDstandardNth13gt23) +
+ dJ123L*PDstandardNth1gt23 + J23L*(J22L*PDstandardNth22gt23 +
+ J32L*PDstandardNth23gt23) + dJ223L*PDstandardNth2gt23 +
+ J33L*(J22L*PDstandardNth23gt23 + J32L*PDstandardNth33gt23) +
+ dJ323L*PDstandardNth3gt23;
+
+ JacPDstandardNth23gt33 = J13L*(J12L*PDstandardNth11gt33 +
+ J22L*PDstandardNth12gt33 + J32L*PDstandardNth13gt33) +
+ J12L*(J23L*PDstandardNth12gt33 + J33L*PDstandardNth13gt33) +
+ dJ123L*PDstandardNth1gt33 + J23L*(J22L*PDstandardNth22gt33 +
+ J32L*PDstandardNth23gt33) + dJ223L*PDstandardNth2gt33 +
+ J33L*(J22L*PDstandardNth23gt33 + J32L*PDstandardNth33gt33) +
+ dJ323L*PDstandardNth3gt33;
+
+ JacPDstandardNth23phi = J13L*(J12L*PDstandardNth11phi +
+ J22L*PDstandardNth12phi + J32L*PDstandardNth13phi) +
+ J12L*(J23L*PDstandardNth12phi + J33L*PDstandardNth13phi) +
+ dJ123L*PDstandardNth1phi + J23L*(J22L*PDstandardNth22phi +
+ J32L*PDstandardNth23phi) + dJ223L*PDstandardNth2phi +
+ J33L*(J22L*PDstandardNth23phi + J32L*PDstandardNth33phi) +
+ dJ323L*PDstandardNth3phi;
+
+ JacPDstandardNth31gt11 = J13L*(J11L*PDstandardNth11gt11 +
+ J21L*PDstandardNth12gt11 + J31L*PDstandardNth13gt11) +
+ J11L*(J23L*PDstandardNth12gt11 + J33L*PDstandardNth13gt11) +
+ dJ113L*PDstandardNth1gt11 + J23L*(J21L*PDstandardNth22gt11 +
+ J31L*PDstandardNth23gt11) + dJ213L*PDstandardNth2gt11 +
+ J33L*(J21L*PDstandardNth23gt11 + J31L*PDstandardNth33gt11) +
+ dJ313L*PDstandardNth3gt11;
+
+ JacPDstandardNth31gt12 = J13L*(J11L*PDstandardNth11gt12 +
+ J21L*PDstandardNth12gt12 + J31L*PDstandardNth13gt12) +
+ J11L*(J23L*PDstandardNth12gt12 + J33L*PDstandardNth13gt12) +
+ dJ113L*PDstandardNth1gt12 + J23L*(J21L*PDstandardNth22gt12 +
+ J31L*PDstandardNth23gt12) + dJ213L*PDstandardNth2gt12 +
+ J33L*(J21L*PDstandardNth23gt12 + J31L*PDstandardNth33gt12) +
+ dJ313L*PDstandardNth3gt12;
+
+ JacPDstandardNth31gt13 = J13L*(J11L*PDstandardNth11gt13 +
+ J21L*PDstandardNth12gt13 + J31L*PDstandardNth13gt13) +
+ J11L*(J23L*PDstandardNth12gt13 + J33L*PDstandardNth13gt13) +
+ dJ113L*PDstandardNth1gt13 + J23L*(J21L*PDstandardNth22gt13 +
+ J31L*PDstandardNth23gt13) + dJ213L*PDstandardNth2gt13 +
+ J33L*(J21L*PDstandardNth23gt13 + J31L*PDstandardNth33gt13) +
+ dJ313L*PDstandardNth3gt13;
+
+ JacPDstandardNth31gt22 = J13L*(J11L*PDstandardNth11gt22 +
+ J21L*PDstandardNth12gt22 + J31L*PDstandardNth13gt22) +
+ J11L*(J23L*PDstandardNth12gt22 + J33L*PDstandardNth13gt22) +
+ dJ113L*PDstandardNth1gt22 + J23L*(J21L*PDstandardNth22gt22 +
+ J31L*PDstandardNth23gt22) + dJ213L*PDstandardNth2gt22 +
+ J33L*(J21L*PDstandardNth23gt22 + J31L*PDstandardNth33gt22) +
+ dJ313L*PDstandardNth3gt22;
+
+ JacPDstandardNth31gt23 = J13L*(J11L*PDstandardNth11gt23 +
+ J21L*PDstandardNth12gt23 + J31L*PDstandardNth13gt23) +
+ J11L*(J23L*PDstandardNth12gt23 + J33L*PDstandardNth13gt23) +
+ dJ113L*PDstandardNth1gt23 + J23L*(J21L*PDstandardNth22gt23 +
+ J31L*PDstandardNth23gt23) + dJ213L*PDstandardNth2gt23 +
+ J33L*(J21L*PDstandardNth23gt23 + J31L*PDstandardNth33gt23) +
+ dJ313L*PDstandardNth3gt23;
+
+ JacPDstandardNth31gt33 = J13L*(J11L*PDstandardNth11gt33 +
+ J21L*PDstandardNth12gt33 + J31L*PDstandardNth13gt33) +
+ J11L*(J23L*PDstandardNth12gt33 + J33L*PDstandardNth13gt33) +
+ dJ113L*PDstandardNth1gt33 + J23L*(J21L*PDstandardNth22gt33 +
+ J31L*PDstandardNth23gt33) + dJ213L*PDstandardNth2gt33 +
+ J33L*(J21L*PDstandardNth23gt33 + J31L*PDstandardNth33gt33) +
+ dJ313L*PDstandardNth3gt33;
+
+ JacPDstandardNth32gt11 = J13L*(J12L*PDstandardNth11gt11 +
+ J22L*PDstandardNth12gt11 + J32L*PDstandardNth13gt11) +
+ J12L*(J23L*PDstandardNth12gt11 + J33L*PDstandardNth13gt11) +
+ dJ123L*PDstandardNth1gt11 + J23L*(J22L*PDstandardNth22gt11 +
+ J32L*PDstandardNth23gt11) + dJ223L*PDstandardNth2gt11 +
+ J33L*(J22L*PDstandardNth23gt11 + J32L*PDstandardNth33gt11) +
+ dJ323L*PDstandardNth3gt11;
+
+ JacPDstandardNth32gt12 = J13L*(J12L*PDstandardNth11gt12 +
+ J22L*PDstandardNth12gt12 + J32L*PDstandardNth13gt12) +
+ J12L*(J23L*PDstandardNth12gt12 + J33L*PDstandardNth13gt12) +
+ dJ123L*PDstandardNth1gt12 + J23L*(J22L*PDstandardNth22gt12 +
+ J32L*PDstandardNth23gt12) + dJ223L*PDstandardNth2gt12 +
+ J33L*(J22L*PDstandardNth23gt12 + J32L*PDstandardNth33gt12) +
+ dJ323L*PDstandardNth3gt12;
+
+ JacPDstandardNth32gt13 = J13L*(J12L*PDstandardNth11gt13 +
+ J22L*PDstandardNth12gt13 + J32L*PDstandardNth13gt13) +
+ J12L*(J23L*PDstandardNth12gt13 + J33L*PDstandardNth13gt13) +
+ dJ123L*PDstandardNth1gt13 + J23L*(J22L*PDstandardNth22gt13 +
+ J32L*PDstandardNth23gt13) + dJ223L*PDstandardNth2gt13 +
+ J33L*(J22L*PDstandardNth23gt13 + J32L*PDstandardNth33gt13) +
+ dJ323L*PDstandardNth3gt13;
+
+ JacPDstandardNth32gt22 = J13L*(J12L*PDstandardNth11gt22 +
+ J22L*PDstandardNth12gt22 + J32L*PDstandardNth13gt22) +
+ J12L*(J23L*PDstandardNth12gt22 + J33L*PDstandardNth13gt22) +
+ dJ123L*PDstandardNth1gt22 + J23L*(J22L*PDstandardNth22gt22 +
+ J32L*PDstandardNth23gt22) + dJ223L*PDstandardNth2gt22 +
+ J33L*(J22L*PDstandardNth23gt22 + J32L*PDstandardNth33gt22) +
+ dJ323L*PDstandardNth3gt22;
+
+ JacPDstandardNth32gt23 = J13L*(J12L*PDstandardNth11gt23 +
+ J22L*PDstandardNth12gt23 + J32L*PDstandardNth13gt23) +
+ J12L*(J23L*PDstandardNth12gt23 + J33L*PDstandardNth13gt23) +
+ dJ123L*PDstandardNth1gt23 + J23L*(J22L*PDstandardNth22gt23 +
+ J32L*PDstandardNth23gt23) + dJ223L*PDstandardNth2gt23 +
+ J33L*(J22L*PDstandardNth23gt23 + J32L*PDstandardNth33gt23) +
+ dJ323L*PDstandardNth3gt23;
+
+ JacPDstandardNth32gt33 = J13L*(J12L*PDstandardNth11gt33 +
+ J22L*PDstandardNth12gt33 + J32L*PDstandardNth13gt33) +
+ J12L*(J23L*PDstandardNth12gt33 + J33L*PDstandardNth13gt33) +
+ dJ123L*PDstandardNth1gt33 + J23L*(J22L*PDstandardNth22gt33 +
+ J32L*PDstandardNth23gt33) + dJ223L*PDstandardNth2gt33 +
+ J33L*(J22L*PDstandardNth23gt33 + J32L*PDstandardNth33gt33) +
+ 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;
+
+ 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;
+
+ 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;
+
+ JacPDstandardNth3Xt1 = PDstandardNth3Xt1;
+
+ JacPDstandardNth3Xt2 = PDstandardNth3Xt2;
+
+ JacPDstandardNth3Xt3 = PDstandardNth3Xt3;
+
+ JacPDstandardNth11alpha = PDstandardNth11alpha;
+
+ JacPDstandardNth11gt11 = PDstandardNth11gt11;
+
+ JacPDstandardNth11gt12 = PDstandardNth11gt12;
+
+ JacPDstandardNth11gt13 = PDstandardNth11gt13;
+
+ JacPDstandardNth11gt22 = PDstandardNth11gt22;
+
+ JacPDstandardNth11gt23 = PDstandardNth11gt23;
+
+ JacPDstandardNth11gt33 = PDstandardNth11gt33;
+
+ JacPDstandardNth11phi = PDstandardNth11phi;
+
+ JacPDstandardNth22alpha = PDstandardNth22alpha;
+
+ JacPDstandardNth22gt11 = PDstandardNth22gt11;
+
+ JacPDstandardNth22gt12 = PDstandardNth22gt12;
+
+ JacPDstandardNth22gt13 = PDstandardNth22gt13;
+
+ JacPDstandardNth22gt22 = PDstandardNth22gt22;
+
+ JacPDstandardNth22gt23 = PDstandardNth22gt23;
+
+ JacPDstandardNth22gt33 = PDstandardNth22gt33;
+
+ JacPDstandardNth22phi = PDstandardNth22phi;
+
+ JacPDstandardNth33alpha = PDstandardNth33alpha;
+
+ JacPDstandardNth33gt11 = PDstandardNth33gt11;
+
+ JacPDstandardNth33gt12 = PDstandardNth33gt12;
+
+ JacPDstandardNth33gt13 = PDstandardNth33gt13;
+
+ JacPDstandardNth33gt22 = PDstandardNth33gt22;
+
+ JacPDstandardNth33gt23 = PDstandardNth33gt23;
+
+ JacPDstandardNth33gt33 = PDstandardNth33gt33;
+
+ JacPDstandardNth33phi = PDstandardNth33phi;
+
+ JacPDstandardNth12alpha = PDstandardNth12alpha;
+
+ JacPDstandardNth12gt11 = PDstandardNth12gt11;
+
+ JacPDstandardNth12gt12 = PDstandardNth12gt12;
+
+ JacPDstandardNth12gt13 = PDstandardNth12gt13;
+
+ JacPDstandardNth12gt22 = PDstandardNth12gt22;
+
+ JacPDstandardNth12gt23 = PDstandardNth12gt23;
+
+ JacPDstandardNth12gt33 = PDstandardNth12gt33;
+
+ JacPDstandardNth12phi = PDstandardNth12phi;
+
+ JacPDstandardNth13alpha = PDstandardNth13alpha;
+
+ JacPDstandardNth13gt11 = PDstandardNth13gt11;
+
+ JacPDstandardNth13gt12 = PDstandardNth13gt12;
+
+ JacPDstandardNth13gt13 = PDstandardNth13gt13;
+
+ JacPDstandardNth13gt22 = PDstandardNth13gt22;
+
+ JacPDstandardNth13gt23 = PDstandardNth13gt23;
+
+ JacPDstandardNth13gt33 = PDstandardNth13gt33;
+
+ JacPDstandardNth13phi = PDstandardNth13phi;
+
+ JacPDstandardNth21gt11 = PDstandardNth12gt11;
+
+ JacPDstandardNth21gt12 = PDstandardNth12gt12;
+
+ JacPDstandardNth21gt13 = PDstandardNth12gt13;
+
+ JacPDstandardNth21gt22 = PDstandardNth12gt22;
+
+ JacPDstandardNth21gt23 = PDstandardNth12gt23;
+
+ JacPDstandardNth21gt33 = PDstandardNth12gt33;
+
+ JacPDstandardNth23alpha = PDstandardNth23alpha;
+
+ JacPDstandardNth23gt11 = PDstandardNth23gt11;
+
+ JacPDstandardNth23gt12 = PDstandardNth23gt12;
+
+ JacPDstandardNth23gt13 = PDstandardNth23gt13;
+
+ JacPDstandardNth23gt22 = PDstandardNth23gt22;
+
+ JacPDstandardNth23gt23 = PDstandardNth23gt23;
+
+ JacPDstandardNth23gt33 = PDstandardNth23gt33;
+
+ JacPDstandardNth23phi = PDstandardNth23phi;
+
+ JacPDstandardNth31gt11 = PDstandardNth13gt11;
+
+ JacPDstandardNth31gt12 = PDstandardNth13gt12;
+
+ JacPDstandardNth31gt13 = PDstandardNth13gt13;
+
+ JacPDstandardNth31gt22 = PDstandardNth13gt22;
+
+ JacPDstandardNth31gt23 = PDstandardNth13gt23;
+
+ JacPDstandardNth31gt33 = PDstandardNth13gt33;
+
+ JacPDstandardNth32gt11 = PDstandardNth23gt11;
+
+ JacPDstandardNth32gt12 = PDstandardNth23gt12;
+
+ JacPDstandardNth32gt13 = PDstandardNth23gt13;
+
+ JacPDstandardNth32gt22 = PDstandardNth23gt22;
+
+ JacPDstandardNth32gt23 = PDstandardNth23gt23;
+
+ JacPDstandardNth32gt33 = PDstandardNth23gt33;
+ }
+
ptrdiff_t dir1 = Sign(beta1L);
ptrdiff_t dir2 = Sign(beta2L);
@@ -302,74 +1289,44 @@ static void ML_BSSN_MP_O8_RHS2_Body(cGH const * restrict const cctkGH, int const
CCTK_REAL gtu33 = INV(detgt)*(gt11L*gt22L - SQR(gt12L));
- CCTK_REAL Gtl111 = 0.5*(J11L*PDstandardNth1gt11 +
- J21L*PDstandardNth2gt11 + J31L*PDstandardNth3gt11);
+ CCTK_REAL Gtl111 = 0.5*JacPDstandardNth1gt11;
- CCTK_REAL Gtl112 = 0.5*(J12L*PDstandardNth1gt11 +
- J22L*PDstandardNth2gt11 + J32L*PDstandardNth3gt11);
+ CCTK_REAL Gtl112 = 0.5*JacPDstandardNth2gt11;
- CCTK_REAL Gtl113 = 0.5*(J13L*PDstandardNth1gt11 +
- J23L*PDstandardNth2gt11 + J33L*PDstandardNth3gt11);
+ CCTK_REAL Gtl113 = 0.5*JacPDstandardNth3gt11;
- CCTK_REAL Gtl122 = J12L*PDstandardNth1gt12 + J22L*PDstandardNth2gt12 +
- J32L*PDstandardNth3gt12 - 0.5*(J11L*PDstandardNth1gt22 +
- J21L*PDstandardNth2gt22 + J31L*PDstandardNth3gt22);
+ CCTK_REAL Gtl122 = -0.5*JacPDstandardNth1gt22 + JacPDstandardNth2gt12;
- CCTK_REAL Gtl123 = 0.5*(J13L*PDstandardNth1gt12 +
- J12L*PDstandardNth1gt13 - J11L*PDstandardNth1gt23 +
- J23L*PDstandardNth2gt12 + J22L*PDstandardNth2gt13 -
- J21L*PDstandardNth2gt23 + J33L*PDstandardNth3gt12 +
- J32L*PDstandardNth3gt13 - J31L*PDstandardNth3gt23);
+ CCTK_REAL Gtl123 = 0.5*(-JacPDstandardNth1gt23 + JacPDstandardNth2gt13
+ + JacPDstandardNth3gt12);
- CCTK_REAL Gtl133 = J13L*PDstandardNth1gt13 + J23L*PDstandardNth2gt13 +
- J33L*PDstandardNth3gt13 - 0.5*(J11L*PDstandardNth1gt33 +
- J21L*PDstandardNth2gt33 + J31L*PDstandardNth3gt33);
+ CCTK_REAL Gtl133 = -0.5*JacPDstandardNth1gt33 + JacPDstandardNth3gt13;
- CCTK_REAL Gtl211 = J11L*PDstandardNth1gt12 + J21L*PDstandardNth2gt12 -
- 0.5*(J12L*PDstandardNth1gt11 + J22L*PDstandardNth2gt11 +
- J32L*PDstandardNth3gt11) + J31L*PDstandardNth3gt12;
+ CCTK_REAL Gtl211 = JacPDstandardNth1gt12 - 0.5*JacPDstandardNth2gt11;
- CCTK_REAL Gtl212 = 0.5*(J11L*PDstandardNth1gt22 +
- J21L*PDstandardNth2gt22 + J31L*PDstandardNth3gt22);
+ CCTK_REAL Gtl212 = 0.5*JacPDstandardNth1gt22;
- CCTK_REAL Gtl213 = 0.5*(J13L*PDstandardNth1gt12 -
- J12L*PDstandardNth1gt13 + J11L*PDstandardNth1gt23 +
- J23L*PDstandardNth2gt12 - J22L*PDstandardNth2gt13 +
- J21L*PDstandardNth2gt23 + J33L*PDstandardNth3gt12 -
- J32L*PDstandardNth3gt13 + J31L*PDstandardNth3gt23);
+ CCTK_REAL Gtl213 = 0.5*(JacPDstandardNth1gt23 - JacPDstandardNth2gt13
+ + JacPDstandardNth3gt12);
- CCTK_REAL Gtl222 = 0.5*(J12L*PDstandardNth1gt22 +
- J22L*PDstandardNth2gt22 + J32L*PDstandardNth3gt22);
+ CCTK_REAL Gtl222 = 0.5*JacPDstandardNth2gt22;
- CCTK_REAL Gtl223 = 0.5*(J13L*PDstandardNth1gt22 +
- J23L*PDstandardNth2gt22 + J33L*PDstandardNth3gt22);
+ CCTK_REAL Gtl223 = 0.5*JacPDstandardNth3gt22;
- CCTK_REAL Gtl233 = J13L*PDstandardNth1gt23 + J23L*PDstandardNth2gt23 +
- J33L*PDstandardNth3gt23 - 0.5*(J12L*PDstandardNth1gt33 +
- J22L*PDstandardNth2gt33 + J32L*PDstandardNth3gt33);
+ CCTK_REAL Gtl233 = -0.5*JacPDstandardNth2gt33 + JacPDstandardNth3gt23;
- CCTK_REAL Gtl311 = J11L*PDstandardNth1gt13 + J21L*PDstandardNth2gt13 -
- 0.5*(J13L*PDstandardNth1gt11 + J23L*PDstandardNth2gt11 +
- J33L*PDstandardNth3gt11) + J31L*PDstandardNth3gt13;
+ CCTK_REAL Gtl311 = JacPDstandardNth1gt13 - 0.5*JacPDstandardNth3gt11;
- CCTK_REAL Gtl312 = 0.5*(-(J13L*PDstandardNth1gt12) +
- J12L*PDstandardNth1gt13 + J11L*PDstandardNth1gt23 -
- J23L*PDstandardNth2gt12 + J22L*PDstandardNth2gt13 +
- J21L*PDstandardNth2gt23 - J33L*PDstandardNth3gt12 +
- J32L*PDstandardNth3gt13 + J31L*PDstandardNth3gt23);
+ CCTK_REAL Gtl312 = 0.5*(JacPDstandardNth1gt23 + JacPDstandardNth2gt13
+ - JacPDstandardNth3gt12);
- CCTK_REAL Gtl313 = 0.5*(J11L*PDstandardNth1gt33 +
- J21L*PDstandardNth2gt33 + J31L*PDstandardNth3gt33);
+ CCTK_REAL Gtl313 = 0.5*JacPDstandardNth1gt33;
- CCTK_REAL Gtl322 = J12L*PDstandardNth1gt23 + J22L*PDstandardNth2gt23 -
- 0.5*(J13L*PDstandardNth1gt22 + J23L*PDstandardNth2gt22 +
- J33L*PDstandardNth3gt22) + J32L*PDstandardNth3gt23;
+ CCTK_REAL Gtl322 = JacPDstandardNth2gt23 - 0.5*JacPDstandardNth3gt22;
- CCTK_REAL Gtl323 = 0.5*(J12L*PDstandardNth1gt33 +
- J22L*PDstandardNth2gt33 + J32L*PDstandardNth3gt33);
+ CCTK_REAL Gtl323 = 0.5*JacPDstandardNth2gt33;
- CCTK_REAL Gtl333 = 0.5*(J13L*PDstandardNth1gt33 +
- J23L*PDstandardNth2gt33 + J33L*PDstandardNth3gt33);
+ CCTK_REAL Gtl333 = 0.5*JacPDstandardNth3gt33;
CCTK_REAL Gtlu111 = Gtl111*gtu11 + Gtl112*gtu12 + Gtl113*gtu13;
@@ -470,381 +1427,125 @@ static void ML_BSSN_MP_O8_RHS2_Body(cGH const * restrict const cctkGH, int const
CCTK_REAL Xtn3 = Gt311*gtu11 + Gt322*gtu22 + 2*(Gt312*gtu12 +
Gt313*gtu13 + Gt323*gtu23) + Gt333*gtu33;
- CCTK_REAL Rt11 = 3*(Gt111*Gtlu111 + Gt112*Gtlu112 + Gt113*Gtlu113) +
- 2*(Gt211*Gtlu121 + Gt212*Gtlu122 + Gt213*Gtlu123 + Gt311*Gtlu131 +
- Gt312*Gtlu132 + Gt313*Gtlu133) + Gt211*Gtlu211 + Gt212*Gtlu212 +
+ CCTK_REAL Rt11 = 0.5*(6*(Gt111*Gtlu111 + Gt112*Gtlu112 +
+ Gt113*Gtlu113) + 4*(Gt211*Gtlu121 + Gt212*Gtlu122 + Gt213*Gtlu123 +
+ Gt311*Gtlu131 + Gt312*Gtlu132 + Gt313*Gtlu133) -
+ gtu11*JacPDstandardNth11gt11 + 2*(Gt211*Gtlu211 + Gt212*Gtlu212 +
Gt213*Gtlu213 + Gt311*Gtlu311 + Gt312*Gtlu312 + Gt313*Gtlu313 +
- J11L*(gt11L*PDstandardNth1Xt1 + gt12L*PDstandardNth1Xt2 +
- gt13L*PDstandardNth1Xt3) + J21L*(gt11L*PDstandardNth2Xt1 +
- gt12L*PDstandardNth2Xt2 + gt13L*PDstandardNth2Xt3) -
- gtu12*(J11L*J12L*PDstandardNth11gt11 + J12L*J21L*PDstandardNth12gt11 +
- J11L*J22L*PDstandardNth12gt11 + J12L*J31L*PDstandardNth13gt11 +
- J11L*J32L*PDstandardNth13gt11 + dJ112L*PDstandardNth1gt11 +
- J21L*J22L*PDstandardNth22gt11 + J22L*J31L*PDstandardNth23gt11 +
- J21L*J32L*PDstandardNth23gt11 + dJ212L*PDstandardNth2gt11 +
- J31L*J32L*PDstandardNth33gt11 + dJ312L*PDstandardNth3gt11) -
- gtu13*(J11L*J13L*PDstandardNth11gt11 + J13L*J21L*PDstandardNth12gt11 +
- J11L*J23L*PDstandardNth12gt11 + J13L*J31L*PDstandardNth13gt11 +
- J11L*J33L*PDstandardNth13gt11 + dJ113L*PDstandardNth1gt11 +
- J21L*J23L*PDstandardNth22gt11 + J23L*J31L*PDstandardNth23gt11 +
- J21L*J33L*PDstandardNth23gt11 + dJ213L*PDstandardNth2gt11 +
- J31L*J33L*PDstandardNth33gt11 + dJ313L*PDstandardNth3gt11) -
- gtu23*(J12L*J13L*PDstandardNth11gt11 + J13L*J22L*PDstandardNth12gt11 +
- J12L*J23L*PDstandardNth12gt11 + J13L*J32L*PDstandardNth13gt11 +
- J12L*J33L*PDstandardNth13gt11 + dJ123L*PDstandardNth1gt11 +
- J22L*J23L*PDstandardNth22gt11 + J23L*J32L*PDstandardNth23gt11 +
- J22L*J33L*PDstandardNth23gt11 + dJ223L*PDstandardNth2gt11 +
- J32L*J33L*PDstandardNth33gt11 + dJ323L*PDstandardNth3gt11) +
- gt11L*J31L*PDstandardNth3Xt1 + gt12L*J31L*PDstandardNth3Xt2 +
- gt13L*J31L*PDstandardNth3Xt3 + Gtl111*Xtn1 + Gtl112*Xtn2 + Gtl113*Xtn3
- - 0.5*gtu11*(2*J11L*J21L*PDstandardNth12gt11 +
- 2*J11L*J31L*PDstandardNth13gt11 + dJ111L*PDstandardNth1gt11 +
- 2*J21L*J31L*PDstandardNth23gt11 + dJ211L*PDstandardNth2gt11 +
- dJ311L*PDstandardNth3gt11 + PDstandardNth11gt11*SQR(J11L) +
- PDstandardNth22gt11*SQR(J21L) + PDstandardNth33gt11*SQR(J31L)) -
- 0.5*gtu22*(2*J12L*J22L*PDstandardNth12gt11 +
- 2*J12L*J32L*PDstandardNth13gt11 + dJ122L*PDstandardNth1gt11 +
- 2*J22L*J32L*PDstandardNth23gt11 + dJ222L*PDstandardNth2gt11 +
- dJ322L*PDstandardNth3gt11 + PDstandardNth11gt11*SQR(J12L) +
- PDstandardNth22gt11*SQR(J22L) + PDstandardNth33gt11*SQR(J32L)) -
- 0.5*gtu33*(2*J13L*J23L*PDstandardNth12gt11 +
- 2*J13L*J33L*PDstandardNth13gt11 + dJ133L*PDstandardNth1gt11 +
- 2*J23L*J33L*PDstandardNth23gt11 + dJ233L*PDstandardNth2gt11 +
- dJ333L*PDstandardNth3gt11 + PDstandardNth11gt11*SQR(J13L) +
- PDstandardNth22gt11*SQR(J23L) + PDstandardNth33gt11*SQR(J33L));
+ gt11L*JacPDstandardNth1Xt1) + 2*gt12L*JacPDstandardNth1Xt2 +
+ 2*gt13L*JacPDstandardNth1Xt3 + gtu12*(-JacPDstandardNth12gt11 -
+ JacPDstandardNth21gt11) - gtu22*JacPDstandardNth22gt11 +
+ gtu13*(-JacPDstandardNth13gt11 - JacPDstandardNth31gt11) +
+ gtu23*(-JacPDstandardNth23gt11 - JacPDstandardNth32gt11) -
+ gtu33*JacPDstandardNth33gt11 + 2*Gtl111*Xtn1 + 2*Gtl112*Xtn2 +
+ 2*Gtl113*Xtn3);
CCTK_REAL Rt12 = 0.5*(4*(Gt211*Gtlu221 + Gt212*Gtlu222 +
- Gt213*Gtlu223) + 2*(Gt112*Gtlu111 + Gt122*Gtlu112 + Gt123*Gtlu113 +
- Gt111*Gtlu121 + Gt212*Gtlu121 + Gt112*Gtlu122 + Gt222*Gtlu122 +
- Gt113*Gtlu123 + Gt223*Gtlu123 + Gt312*Gtlu131 + Gt322*Gtlu132 +
- Gt323*Gtlu133 + Gt111*Gtlu211 + Gt112*Gtlu212 + Gt113*Gtlu213 +
- Gt311*Gtlu231 + Gt312*Gtlu232 + Gt313*Gtlu233 + Gt311*Gtlu321 +
- Gt312*Gtlu322 + Gt313*Gtlu323) + (gt12L*J11L +
- gt11L*J12L)*PDstandardNth1Xt1 + (gt22L*J11L +
- gt12L*J12L)*PDstandardNth1Xt2 + (gt23L*J11L +
- gt13L*J12L)*PDstandardNth1Xt3 + (gt12L*J21L +
- gt11L*J22L)*PDstandardNth2Xt1 + (gt22L*J21L +
- gt12L*J22L)*PDstandardNth2Xt2 + (gt23L*J21L +
- gt13L*J22L)*PDstandardNth2Xt3 - 2*(gtu12*(J11L*J12L*PDstandardNth11gt12
- + J12L*J21L*PDstandardNth12gt12 + J11L*J22L*PDstandardNth12gt12 +
- J12L*J31L*PDstandardNth13gt12 + J11L*J32L*PDstandardNth13gt12 +
- dJ112L*PDstandardNth1gt12 + J21L*J22L*PDstandardNth22gt12 +
- J22L*J31L*PDstandardNth23gt12 + J21L*J32L*PDstandardNth23gt12 +
- dJ212L*PDstandardNth2gt12 + J31L*J32L*PDstandardNth33gt12 +
- dJ312L*PDstandardNth3gt12) + gtu13*(J11L*J13L*PDstandardNth11gt12 +
- J13L*J21L*PDstandardNth12gt12 + J11L*J23L*PDstandardNth12gt12 +
- J13L*J31L*PDstandardNth13gt12 + J11L*J33L*PDstandardNth13gt12 +
- dJ113L*PDstandardNth1gt12 + J21L*J23L*PDstandardNth22gt12 +
- J23L*J31L*PDstandardNth23gt12 + J21L*J33L*PDstandardNth23gt12 +
- dJ213L*PDstandardNth2gt12 + J31L*J33L*PDstandardNth33gt12 +
- dJ313L*PDstandardNth3gt12) + gtu23*(J12L*J13L*PDstandardNth11gt12 +
- J13L*J22L*PDstandardNth12gt12 + J12L*J23L*PDstandardNth12gt12 +
- J13L*J32L*PDstandardNth13gt12 + J12L*J33L*PDstandardNth13gt12 +
- dJ123L*PDstandardNth1gt12 + J22L*J23L*PDstandardNth22gt12 +
- J23L*J32L*PDstandardNth23gt12 + J22L*J33L*PDstandardNth23gt12 +
- dJ223L*PDstandardNth2gt12 + J32L*J33L*PDstandardNth33gt12 +
- dJ323L*PDstandardNth3gt12)) + (gt12L*J31L +
- gt11L*J32L)*PDstandardNth3Xt1 + (gt22L*J31L +
- gt12L*J32L)*PDstandardNth3Xt2 + (gt23L*J31L +
- gt13L*J32L)*PDstandardNth3Xt3 + (Gtl112 + Gtl211)*Xtn1 + (Gtl122 +
- Gtl212)*Xtn2 + (Gtl123 + Gtl213)*Xtn3 -
- gtu11*(2*J11L*J21L*PDstandardNth12gt12 +
- 2*J11L*J31L*PDstandardNth13gt12 + dJ111L*PDstandardNth1gt12 +
- 2*J21L*J31L*PDstandardNth23gt12 + dJ211L*PDstandardNth2gt12 +
- dJ311L*PDstandardNth3gt12 + PDstandardNth11gt12*SQR(J11L) +
- PDstandardNth22gt12*SQR(J21L) + PDstandardNth33gt12*SQR(J31L)) -
- gtu22*(2*J12L*J22L*PDstandardNth12gt12 +
- 2*J12L*J32L*PDstandardNth13gt12 + dJ122L*PDstandardNth1gt12 +
- 2*J22L*J32L*PDstandardNth23gt12 + dJ222L*PDstandardNth2gt12 +
- dJ322L*PDstandardNth3gt12 + PDstandardNth11gt12*SQR(J12L) +
- PDstandardNth22gt12*SQR(J22L) + PDstandardNth33gt12*SQR(J32L)) -
- gtu33*(2*J13L*J23L*PDstandardNth12gt12 +
- 2*J13L*J33L*PDstandardNth13gt12 + dJ133L*PDstandardNth1gt12 +
- 2*J23L*J33L*PDstandardNth23gt12 + dJ233L*PDstandardNth2gt12 +
- dJ333L*PDstandardNth3gt12 + PDstandardNth11gt12*SQR(J13L) +
- PDstandardNth22gt12*SQR(J23L) + PDstandardNth33gt12*SQR(J33L)));
-
- CCTK_REAL Rt13 = 0.5*(2*(Gt113*Gtlu111 + Gt123*Gtlu112 + Gt133*Gtlu113
- + Gt213*Gtlu121 + Gt223*Gtlu122 + Gt233*Gtlu123 + Gt111*Gtlu131 +
- Gt313*Gtlu131 + Gt112*Gtlu132 + Gt323*Gtlu132 + Gt113*Gtlu133 +
- Gt333*Gtlu133 + Gt211*Gtlu231 + Gt212*Gtlu232 + Gt213*Gtlu233 +
- Gt111*Gtlu311 + Gt112*Gtlu312 + Gt113*Gtlu313 + Gt211*Gtlu321 +
- Gt212*Gtlu322 + Gt213*Gtlu323) + 4*(Gt311*Gtlu331 + Gt312*Gtlu332 +
- Gt313*Gtlu333) + (gt13L*J11L + gt11L*J13L)*PDstandardNth1Xt1 +
- (gt23L*J11L + gt12L*J13L)*PDstandardNth1Xt2 + (gt33L*J11L +
- gt13L*J13L)*PDstandardNth1Xt3 + (gt13L*J21L +
- gt11L*J23L)*PDstandardNth2Xt1 + (gt23L*J21L +
- gt12L*J23L)*PDstandardNth2Xt2 + (gt33L*J21L +
- gt13L*J23L)*PDstandardNth2Xt3 - 2*(gtu12*(J11L*J12L*PDstandardNth11gt13
- + J12L*J21L*PDstandardNth12gt13 + J11L*J22L*PDstandardNth12gt13 +
- J12L*J31L*PDstandardNth13gt13 + J11L*J32L*PDstandardNth13gt13 +
- dJ112L*PDstandardNth1gt13 + J21L*J22L*PDstandardNth22gt13 +
- J22L*J31L*PDstandardNth23gt13 + J21L*J32L*PDstandardNth23gt13 +
- dJ212L*PDstandardNth2gt13 + J31L*J32L*PDstandardNth33gt13 +
- dJ312L*PDstandardNth3gt13) + gtu13*(J11L*J13L*PDstandardNth11gt13 +
- J13L*J21L*PDstandardNth12gt13 + J11L*J23L*PDstandardNth12gt13 +
- J13L*J31L*PDstandardNth13gt13 + J11L*J33L*PDstandardNth13gt13 +
- dJ113L*PDstandardNth1gt13 + J21L*J23L*PDstandardNth22gt13 +
- J23L*J31L*PDstandardNth23gt13 + J21L*J33L*PDstandardNth23gt13 +
- dJ213L*PDstandardNth2gt13 + J31L*J33L*PDstandardNth33gt13 +
- dJ313L*PDstandardNth3gt13) + gtu23*(J12L*J13L*PDstandardNth11gt13 +
- J13L*J22L*PDstandardNth12gt13 + J12L*J23L*PDstandardNth12gt13 +
- J13L*J32L*PDstandardNth13gt13 + J12L*J33L*PDstandardNth13gt13 +
- dJ123L*PDstandardNth1gt13 + J22L*J23L*PDstandardNth22gt13 +
- J23L*J32L*PDstandardNth23gt13 + J22L*J33L*PDstandardNth23gt13 +
- dJ223L*PDstandardNth2gt13 + J32L*J33L*PDstandardNth33gt13 +
- dJ323L*PDstandardNth3gt13)) + (gt13L*J31L +
- gt11L*J33L)*PDstandardNth3Xt1 + (gt23L*J31L +
- gt12L*J33L)*PDstandardNth3Xt2 + (gt33L*J31L +
- gt13L*J33L)*PDstandardNth3Xt3 + (Gtl113 + Gtl311)*Xtn1 + (Gtl123 +
- Gtl312)*Xtn2 + (Gtl133 + Gtl313)*Xtn3 -
- gtu11*(2*J11L*J21L*PDstandardNth12gt13 +
- 2*J11L*J31L*PDstandardNth13gt13 + dJ111L*PDstandardNth1gt13 +
- 2*J21L*J31L*PDstandardNth23gt13 + dJ211L*PDstandardNth2gt13 +
- dJ311L*PDstandardNth3gt13 + PDstandardNth11gt13*SQR(J11L) +
- PDstandardNth22gt13*SQR(J21L) + PDstandardNth33gt13*SQR(J31L)) -
- gtu22*(2*J12L*J22L*PDstandardNth12gt13 +
- 2*J12L*J32L*PDstandardNth13gt13 + dJ122L*PDstandardNth1gt13 +
- 2*J22L*J32L*PDstandardNth23gt13 + dJ222L*PDstandardNth2gt13 +
- dJ322L*PDstandardNth3gt13 + PDstandardNth11gt13*SQR(J12L) +
- PDstandardNth22gt13*SQR(J22L) + PDstandardNth33gt13*SQR(J32L)) -
- gtu33*(2*J13L*J23L*PDstandardNth12gt13 +
- 2*J13L*J33L*PDstandardNth13gt13 + dJ133L*PDstandardNth1gt13 +
- 2*J23L*J33L*PDstandardNth23gt13 + dJ233L*PDstandardNth2gt13 +
- dJ333L*PDstandardNth3gt13 + PDstandardNth11gt13*SQR(J13L) +
- PDstandardNth22gt13*SQR(J23L) + PDstandardNth33gt13*SQR(J33L)));
-
- CCTK_REAL Rt22 = Gt112*(Gtlu121 + 2*Gtlu211) + Gt122*(Gtlu122 +
- 2*Gtlu212) + Gt123*(Gtlu123 + 2*Gtlu213) + 3*(Gt212*Gtlu221 +
- Gt222*Gtlu222 + Gt223*Gtlu223) + 2*(Gt312*Gtlu231 + Gt322*Gtlu232 +
- Gt323*Gtlu233) + Gt312*Gtlu321 + Gt322*Gtlu322 + Gt323*Gtlu323 +
- J12L*(gt12L*PDstandardNth1Xt1 + gt22L*PDstandardNth1Xt2 +
- gt23L*PDstandardNth1Xt3) + J22L*(gt12L*PDstandardNth2Xt1 +
- gt22L*PDstandardNth2Xt2 + gt23L*PDstandardNth2Xt3) -
- gtu12*(J11L*J12L*PDstandardNth11gt22 + J12L*J21L*PDstandardNth12gt22 +
- J11L*J22L*PDstandardNth12gt22 + J12L*J31L*PDstandardNth13gt22 +
- J11L*J32L*PDstandardNth13gt22 + dJ112L*PDstandardNth1gt22 +
- J21L*J22L*PDstandardNth22gt22 + J22L*J31L*PDstandardNth23gt22 +
- J21L*J32L*PDstandardNth23gt22 + dJ212L*PDstandardNth2gt22 +
- J31L*J32L*PDstandardNth33gt22 + dJ312L*PDstandardNth3gt22) -
- gtu13*(J11L*J13L*PDstandardNth11gt22 + J13L*J21L*PDstandardNth12gt22 +
- J11L*J23L*PDstandardNth12gt22 + J13L*J31L*PDstandardNth13gt22 +
- J11L*J33L*PDstandardNth13gt22 + dJ113L*PDstandardNth1gt22 +
- J21L*J23L*PDstandardNth22gt22 + J23L*J31L*PDstandardNth23gt22 +
- J21L*J33L*PDstandardNth23gt22 + dJ213L*PDstandardNth2gt22 +
- J31L*J33L*PDstandardNth33gt22 + dJ313L*PDstandardNth3gt22) -
- gtu23*(J12L*J13L*PDstandardNth11gt22 + J13L*J22L*PDstandardNth12gt22 +
- J12L*J23L*PDstandardNth12gt22 + J13L*J32L*PDstandardNth13gt22 +
- J12L*J33L*PDstandardNth13gt22 + dJ123L*PDstandardNth1gt22 +
- J22L*J23L*PDstandardNth22gt22 + J23L*J32L*PDstandardNth23gt22 +
- J22L*J33L*PDstandardNth23gt22 + dJ223L*PDstandardNth2gt22 +
- J32L*J33L*PDstandardNth33gt22 + dJ323L*PDstandardNth3gt22) +
- gt12L*J32L*PDstandardNth3Xt1 + gt22L*J32L*PDstandardNth3Xt2 +
- gt23L*J32L*PDstandardNth3Xt3 + Gtl212*Xtn1 + Gtl222*Xtn2 + Gtl223*Xtn3
- - 0.5*gtu11*(2*J11L*J21L*PDstandardNth12gt22 +
- 2*J11L*J31L*PDstandardNth13gt22 + dJ111L*PDstandardNth1gt22 +
- 2*J21L*J31L*PDstandardNth23gt22 + dJ211L*PDstandardNth2gt22 +
- dJ311L*PDstandardNth3gt22 + PDstandardNth11gt22*SQR(J11L) +
- PDstandardNth22gt22*SQR(J21L) + PDstandardNth33gt22*SQR(J31L)) -
- 0.5*gtu22*(2*J12L*J22L*PDstandardNth12gt22 +
- 2*J12L*J32L*PDstandardNth13gt22 + dJ122L*PDstandardNth1gt22 +
- 2*J22L*J32L*PDstandardNth23gt22 + dJ222L*PDstandardNth2gt22 +
- dJ322L*PDstandardNth3gt22 + PDstandardNth11gt22*SQR(J12L) +
- PDstandardNth22gt22*SQR(J22L) + PDstandardNth33gt22*SQR(J32L)) -
- 0.5*gtu33*(2*J13L*J23L*PDstandardNth12gt22 +
- 2*J13L*J33L*PDstandardNth13gt22 + dJ133L*PDstandardNth1gt22 +
- 2*J23L*J33L*PDstandardNth23gt22 + dJ233L*PDstandardNth2gt22 +
- dJ333L*PDstandardNth3gt22 + PDstandardNth11gt22*SQR(J13L) +
- PDstandardNth22gt22*SQR(J23L) + PDstandardNth33gt22*SQR(J33L));
-
- CCTK_REAL Rt23 = 0.5*(2*(Gt112*Gtlu131 + Gt122*Gtlu132 + Gt123*Gtlu133
- + Gt113*Gtlu211 + Gt123*Gtlu212 + Gt133*Gtlu213 + Gt213*Gtlu221 +
- Gt223*Gtlu222 + Gt233*Gtlu223 + Gt212*Gtlu231 + Gt313*Gtlu231 +
- Gt222*Gtlu232 + Gt323*Gtlu232 + Gt223*Gtlu233 + Gt333*Gtlu233 +
- Gt112*Gtlu311 + Gt122*Gtlu312 + Gt123*Gtlu313 + Gt212*Gtlu321 +
+ Gt213*Gtlu223) + 2*(Gt122*Gtlu112 + Gt123*Gtlu113 + Gt111*Gtlu121 +
+ Gt212*Gtlu121 + Gt222*Gtlu122 + Gt113*Gtlu123 + Gt223*Gtlu123 +
+ Gt312*Gtlu131 + Gt322*Gtlu132 + Gt323*Gtlu133 + Gt111*Gtlu211 +
+ Gt112*(Gtlu111 + Gtlu122 + Gtlu212) + Gt113*Gtlu213 + Gt311*Gtlu231 +
+ Gt312*Gtlu232 + Gt313*Gtlu233 + Gt311*Gtlu321 + Gt312*Gtlu322 +
+ Gt313*Gtlu323) - gtu11*JacPDstandardNth11gt12 +
+ gt12L*JacPDstandardNth1Xt1 + gt22L*JacPDstandardNth1Xt2 +
+ gt23L*JacPDstandardNth1Xt3 + gtu12*(-JacPDstandardNth12gt12 -
+ JacPDstandardNth21gt12) - gtu22*JacPDstandardNth22gt12 +
+ gt11L*JacPDstandardNth2Xt1 + gt12L*JacPDstandardNth2Xt2 +
+ gt13L*JacPDstandardNth2Xt3 + gtu13*(-JacPDstandardNth13gt12 -
+ JacPDstandardNth31gt12) + gtu23*(-JacPDstandardNth23gt12 -
+ JacPDstandardNth32gt12) - gtu33*JacPDstandardNth33gt12 + Gtl112*Xtn1 +
+ Gtl211*Xtn1 + Gtl122*Xtn2 + Gtl212*Xtn2 + Gtl123*Xtn3 + Gtl213*Xtn3);
+
+ CCTK_REAL Rt13 = 0.5*(2*(Gt123*Gtlu112 + Gt133*Gtlu113 + Gt213*Gtlu121
+ + Gt223*Gtlu122 + Gt233*Gtlu123 + Gt111*Gtlu131 + Gt313*Gtlu131 +
+ Gt112*Gtlu132 + Gt323*Gtlu132 + Gt333*Gtlu133 + Gt211*Gtlu231 +
+ Gt212*Gtlu232 + Gt213*Gtlu233 + Gt111*Gtlu311 + Gt112*Gtlu312 +
+ Gt113*(Gtlu111 + Gtlu133 + Gtlu313) + Gt211*Gtlu321 + Gt212*Gtlu322 +
+ Gt213*Gtlu323) + 4*(Gt311*Gtlu331 + Gt312*Gtlu332 + Gt313*Gtlu333) -
+ gtu11*JacPDstandardNth11gt13 + gt13L*JacPDstandardNth1Xt1 +
+ gt23L*JacPDstandardNth1Xt2 + gt33L*JacPDstandardNth1Xt3 +
+ gtu12*(-JacPDstandardNth12gt13 - JacPDstandardNth21gt13) -
+ gtu22*JacPDstandardNth22gt13 + gtu13*(-JacPDstandardNth13gt13 -
+ JacPDstandardNth31gt13) + gtu23*(-JacPDstandardNth23gt13 -
+ JacPDstandardNth32gt13) - gtu33*JacPDstandardNth33gt13 +
+ gt11L*JacPDstandardNth3Xt1 + gt12L*JacPDstandardNth3Xt2 +
+ gt13L*JacPDstandardNth3Xt3 + Gtl113*Xtn1 + Gtl311*Xtn1 + Gtl123*Xtn2 +
+ Gtl312*Xtn2 + Gtl133*Xtn3 + Gtl313*Xtn3);
+
+ CCTK_REAL Rt22 = 0.5*(6*(Gt212*Gtlu221 + Gt222*Gtlu222 +
+ Gt223*Gtlu223) + 4*(Gt123*Gtlu213 + Gt312*Gtlu231 + Gt322*Gtlu232 +
+ Gt323*Gtlu233) - gtu11*JacPDstandardNth11gt22 +
+ gtu12*(-JacPDstandardNth12gt22 - JacPDstandardNth21gt22) -
+ gtu22*JacPDstandardNth22gt22 + 2*(Gt123*Gtlu123 + Gt112*(Gtlu121 +
+ 2*Gtlu211) + Gt122*(Gtlu122 + 2*Gtlu212) + Gt312*Gtlu321 +
+ Gt322*Gtlu322 + Gt323*Gtlu323 + gt12L*JacPDstandardNth2Xt1) +
+ 2*gt22L*JacPDstandardNth2Xt2 + 2*gt23L*JacPDstandardNth2Xt3 +
+ gtu13*(-JacPDstandardNth13gt22 - JacPDstandardNth31gt22) +
+ gtu23*(-JacPDstandardNth23gt22 - JacPDstandardNth32gt22) -
+ gtu33*JacPDstandardNth33gt22 + 2*Gtl212*Xtn1 + 2*Gtl222*Xtn2 +
+ 2*Gtl223*Xtn3);
+
+ CCTK_REAL Rt23 = 0.5*(2*(Gt123*Gtlu133 + Gt113*Gtlu211 + Gt123*Gtlu212
+ + Gt133*Gtlu213 + Gt213*Gtlu221 + Gt223*Gtlu222 + Gt233*Gtlu223 +
+ Gt212*Gtlu231 + Gt313*Gtlu231 + Gt222*Gtlu232 + Gt323*Gtlu232 +
+ Gt223*Gtlu233 + Gt333*Gtlu233 + Gt112*(Gtlu131 + Gtlu311) +
+ Gt122*(Gtlu132 + Gtlu312) + Gt123*Gtlu313 + Gt212*Gtlu321 +
Gt222*Gtlu322 + Gt223*Gtlu323) + 4*(Gt312*Gtlu331 + Gt322*Gtlu332 +
- Gt323*Gtlu333) + (gt13L*J12L + gt12L*J13L)*PDstandardNth1Xt1 +
- (gt23L*J12L + gt22L*J13L)*PDstandardNth1Xt2 + (gt33L*J12L +
- gt23L*J13L)*PDstandardNth1Xt3 + (gt13L*J22L +
- gt12L*J23L)*PDstandardNth2Xt1 + (gt23L*J22L +
- gt22L*J23L)*PDstandardNth2Xt2 + (gt33L*J22L +
- gt23L*J23L)*PDstandardNth2Xt3 - 2*(gtu12*(J11L*J12L*PDstandardNth11gt23
- + J12L*J21L*PDstandardNth12gt23 + J11L*J22L*PDstandardNth12gt23 +
- J12L*J31L*PDstandardNth13gt23 + J11L*J32L*PDstandardNth13gt23 +
- dJ112L*PDstandardNth1gt23 + J21L*J22L*PDstandardNth22gt23 +
- J22L*J31L*PDstandardNth23gt23 + J21L*J32L*PDstandardNth23gt23 +
- dJ212L*PDstandardNth2gt23 + J31L*J32L*PDstandardNth33gt23 +
- dJ312L*PDstandardNth3gt23) + gtu13*(J11L*J13L*PDstandardNth11gt23 +
- J13L*J21L*PDstandardNth12gt23 + J11L*J23L*PDstandardNth12gt23 +
- J13L*J31L*PDstandardNth13gt23 + J11L*J33L*PDstandardNth13gt23 +
- dJ113L*PDstandardNth1gt23 + J21L*J23L*PDstandardNth22gt23 +
- J23L*J31L*PDstandardNth23gt23 + J21L*J33L*PDstandardNth23gt23 +
- dJ213L*PDstandardNth2gt23 + J31L*J33L*PDstandardNth33gt23 +
- dJ313L*PDstandardNth3gt23) + gtu23*(J12L*J13L*PDstandardNth11gt23 +
- J13L*J22L*PDstandardNth12gt23 + J12L*J23L*PDstandardNth12gt23 +
- J13L*J32L*PDstandardNth13gt23 + J12L*J33L*PDstandardNth13gt23 +
- dJ123L*PDstandardNth1gt23 + J22L*J23L*PDstandardNth22gt23 +
- J23L*J32L*PDstandardNth23gt23 + J22L*J33L*PDstandardNth23gt23 +
- dJ223L*PDstandardNth2gt23 + J32L*J33L*PDstandardNth33gt23 +
- dJ323L*PDstandardNth3gt23)) + (gt13L*J32L +
- gt12L*J33L)*PDstandardNth3Xt1 + (gt23L*J32L +
- gt22L*J33L)*PDstandardNth3Xt2 + (gt33L*J32L +
- gt23L*J33L)*PDstandardNth3Xt3 + (Gtl213 + Gtl312)*Xtn1 + (Gtl223 +
- Gtl322)*Xtn2 + (Gtl233 + Gtl323)*Xtn3 -
- gtu11*(2*J11L*J21L*PDstandardNth12gt23 +
- 2*J11L*J31L*PDstandardNth13gt23 + dJ111L*PDstandardNth1gt23 +
- 2*J21L*J31L*PDstandardNth23gt23 + dJ211L*PDstandardNth2gt23 +
- dJ311L*PDstandardNth3gt23 + PDstandardNth11gt23*SQR(J11L) +
- PDstandardNth22gt23*SQR(J21L) + PDstandardNth33gt23*SQR(J31L)) -
- gtu22*(2*J12L*J22L*PDstandardNth12gt23 +
- 2*J12L*J32L*PDstandardNth13gt23 + dJ122L*PDstandardNth1gt23 +
- 2*J22L*J32L*PDstandardNth23gt23 + dJ222L*PDstandardNth2gt23 +
- dJ322L*PDstandardNth3gt23 + PDstandardNth11gt23*SQR(J12L) +
- PDstandardNth22gt23*SQR(J22L) + PDstandardNth33gt23*SQR(J32L)) -
- gtu33*(2*J13L*J23L*PDstandardNth12gt23 +
- 2*J13L*J33L*PDstandardNth13gt23 + dJ133L*PDstandardNth1gt23 +
- 2*J23L*J33L*PDstandardNth23gt23 + dJ233L*PDstandardNth2gt23 +
- dJ333L*PDstandardNth3gt23 + PDstandardNth11gt23*SQR(J13L) +
- PDstandardNth22gt23*SQR(J23L) + PDstandardNth33gt23*SQR(J33L)));
-
- CCTK_REAL Rt33 = Gt113*(Gtlu131 + 2*Gtlu311) + Gt123*(Gtlu132 +
- 2*Gtlu312) + Gt133*(Gtlu133 + 2*Gtlu313) + Gt213*(Gtlu231 + 2*Gtlu321)
- + Gt223*(Gtlu232 + 2*Gtlu322) + Gt233*(Gtlu233 + 2*Gtlu323) +
- 3*(Gt313*Gtlu331 + Gt323*Gtlu332 + Gt333*Gtlu333) +
- J13L*(gt13L*PDstandardNth1Xt1 + gt23L*PDstandardNth1Xt2 +
- gt33L*PDstandardNth1Xt3) + J23L*(gt13L*PDstandardNth2Xt1 +
- gt23L*PDstandardNth2Xt2 + gt33L*PDstandardNth2Xt3) -
- gtu12*(J11L*J12L*PDstandardNth11gt33 + J12L*J21L*PDstandardNth12gt33 +
- J11L*J22L*PDstandardNth12gt33 + J12L*J31L*PDstandardNth13gt33 +
- J11L*J32L*PDstandardNth13gt33 + dJ112L*PDstandardNth1gt33 +
- J21L*J22L*PDstandardNth22gt33 + J22L*J31L*PDstandardNth23gt33 +
- J21L*J32L*PDstandardNth23gt33 + dJ212L*PDstandardNth2gt33 +
- J31L*J32L*PDstandardNth33gt33 + dJ312L*PDstandardNth3gt33) -
- gtu13*(J11L*J13L*PDstandardNth11gt33 + J13L*J21L*PDstandardNth12gt33 +
- J11L*J23L*PDstandardNth12gt33 + J13L*J31L*PDstandardNth13gt33 +
- J11L*J33L*PDstandardNth13gt33 + dJ113L*PDstandardNth1gt33 +
- J21L*J23L*PDstandardNth22gt33 + J23L*J31L*PDstandardNth23gt33 +
- J21L*J33L*PDstandardNth23gt33 + dJ213L*PDstandardNth2gt33 +
- J31L*J33L*PDstandardNth33gt33 + dJ313L*PDstandardNth3gt33) -
- gtu23*(J12L*J13L*PDstandardNth11gt33 + J13L*J22L*PDstandardNth12gt33 +
- J12L*J23L*PDstandardNth12gt33 + J13L*J32L*PDstandardNth13gt33 +
- J12L*J33L*PDstandardNth13gt33 + dJ123L*PDstandardNth1gt33 +
- J22L*J23L*PDstandardNth22gt33 + J23L*J32L*PDstandardNth23gt33 +
- J22L*J33L*PDstandardNth23gt33 + dJ223L*PDstandardNth2gt33 +
- J32L*J33L*PDstandardNth33gt33 + dJ323L*PDstandardNth3gt33) +
- gt13L*J33L*PDstandardNth3Xt1 + gt23L*J33L*PDstandardNth3Xt2 +
- gt33L*J33L*PDstandardNth3Xt3 + Gtl313*Xtn1 + Gtl323*Xtn2 + Gtl333*Xtn3
- - 0.5*gtu11*(2*J11L*J21L*PDstandardNth12gt33 +
- 2*J11L*J31L*PDstandardNth13gt33 + dJ111L*PDstandardNth1gt33 +
- 2*J21L*J31L*PDstandardNth23gt33 + dJ211L*PDstandardNth2gt33 +
- dJ311L*PDstandardNth3gt33 + PDstandardNth11gt33*SQR(J11L) +
- PDstandardNth22gt33*SQR(J21L) + PDstandardNth33gt33*SQR(J31L)) -
- 0.5*gtu22*(2*J12L*J22L*PDstandardNth12gt33 +
- 2*J12L*J32L*PDstandardNth13gt33 + dJ122L*PDstandardNth1gt33 +
- 2*J22L*J32L*PDstandardNth23gt33 + dJ222L*PDstandardNth2gt33 +
- dJ322L*PDstandardNth3gt33 + PDstandardNth11gt33*SQR(J12L) +
- PDstandardNth22gt33*SQR(J22L) + PDstandardNth33gt33*SQR(J32L)) -
- 0.5*gtu33*(2*J13L*J23L*PDstandardNth12gt33 +
- 2*J13L*J33L*PDstandardNth13gt33 + dJ133L*PDstandardNth1gt33 +
- 2*J23L*J33L*PDstandardNth23gt33 + dJ233L*PDstandardNth2gt33 +
- dJ333L*PDstandardNth3gt33 + PDstandardNth11gt33*SQR(J13L) +
- PDstandardNth22gt33*SQR(J23L) + PDstandardNth33gt33*SQR(J33L));
+ Gt323*Gtlu333) - gtu11*JacPDstandardNth11gt23 +
+ gtu12*(-JacPDstandardNth12gt23 - JacPDstandardNth21gt23) -
+ gtu22*JacPDstandardNth22gt23 + gt13L*JacPDstandardNth2Xt1 +
+ gt23L*JacPDstandardNth2Xt2 + gt33L*JacPDstandardNth2Xt3 +
+ gtu13*(-JacPDstandardNth13gt23 - JacPDstandardNth31gt23) +
+ gtu23*(-JacPDstandardNth23gt23 - JacPDstandardNth32gt23) -
+ gtu33*JacPDstandardNth33gt23 + gt12L*JacPDstandardNth3Xt1 +
+ gt22L*JacPDstandardNth3Xt2 + gt23L*JacPDstandardNth3Xt3 + Gtl213*Xtn1 +
+ Gtl312*Xtn1 + Gtl223*Xtn2 + Gtl322*Xtn2 + Gtl233*Xtn3 + Gtl323*Xtn3);
+
+ CCTK_REAL Rt33 = 0.5*(4*(Gt133*Gtlu313 + Gt213*Gtlu321 + Gt223*Gtlu322
+ + Gt233*Gtlu323) + 6*(Gt313*Gtlu331 + Gt323*Gtlu332 + Gt333*Gtlu333) -
+ gtu11*JacPDstandardNth11gt33 + gtu12*(-JacPDstandardNth12gt33 -
+ JacPDstandardNth21gt33) - gtu22*JacPDstandardNth22gt33 +
+ gtu13*(-JacPDstandardNth13gt33 - JacPDstandardNth31gt33) +
+ gtu23*(-JacPDstandardNth23gt33 - JacPDstandardNth32gt33) -
+ gtu33*JacPDstandardNth33gt33 + 2*(Gt133*Gtlu133 + Gt213*Gtlu231 +
+ Gt223*Gtlu232 + Gt233*Gtlu233 + Gt113*(Gtlu131 + 2*Gtlu311) +
+ Gt123*(Gtlu132 + 2*Gtlu312) + gt13L*JacPDstandardNth3Xt1) +
+ 2*gt23L*JacPDstandardNth3Xt2 + 2*gt33L*JacPDstandardNth3Xt3 +
+ 2*Gtl313*Xtn1 + 2*Gtl323*Xtn2 + 2*Gtl333*Xtn3);
CCTK_REAL fac1 = IfThen(conformalMethod,-0.5*INV(phiL),1);
- CCTK_REAL cdphi1 = fac1*(J11L*PDstandardNth1phi +
- J21L*PDstandardNth2phi + J31L*PDstandardNth3phi);
+ CCTK_REAL cdphi1 = fac1*JacPDstandardNth1phi;
- CCTK_REAL cdphi2 = fac1*(J12L*PDstandardNth1phi +
- J22L*PDstandardNth2phi + J32L*PDstandardNth3phi);
+ CCTK_REAL cdphi2 = fac1*JacPDstandardNth2phi;
- CCTK_REAL cdphi3 = fac1*(J13L*PDstandardNth1phi +
- J23L*PDstandardNth2phi + J33L*PDstandardNth3phi);
+ CCTK_REAL cdphi3 = fac1*JacPDstandardNth3phi;
CCTK_REAL fac2 = IfThen(conformalMethod,0.5*INV(SQR(phiL)),0);
- CCTK_REAL cdphi211 = fac1*((dJ111L - Gt111*J11L - Gt211*J12L -
- Gt311*J13L)*PDstandardNth1phi + 2*(J11L*(J21L*PDstandardNth12phi +
- J31L*PDstandardNth13phi) + J21L*J31L*PDstandardNth23phi) + (dJ211L -
- Gt111*J21L - Gt211*J22L - Gt311*J23L)*PDstandardNth2phi + (dJ311L -
- Gt111*J31L - Gt211*J32L - Gt311*J33L)*PDstandardNth3phi +
- PDstandardNth11phi*SQR(J11L) + PDstandardNth22phi*SQR(J21L) +
- PDstandardNth33phi*SQR(J31L)) +
- fac2*(2*(J21L*J31L*PDstandardNth2phi*PDstandardNth3phi +
- J11L*PDstandardNth1phi*(J21L*PDstandardNth2phi +
- J31L*PDstandardNth3phi)) + SQR(J11L)*SQR(PDstandardNth1phi) +
- SQR(J21L)*SQR(PDstandardNth2phi) + SQR(J31L)*SQR(PDstandardNth3phi));
-
- CCTK_REAL cdphi212 = fac1*(-(Gt112*J31L) -
- Gt212*J32L)*PDstandardNth3phi + PDstandardNth1phi*(fac1*(dJ112L -
- Gt112*J11L - Gt212*J12L - Gt312*J13L) + fac2*(J12L*J21L +
- J11L*J22L)*PDstandardNth2phi + fac2*(J12L*J31L +
- J11L*J32L)*PDstandardNth3phi) + PDstandardNth2phi*(fac1*(dJ212L -
- Gt112*J21L - Gt212*J22L - Gt312*J23L) + fac2*(J22L*J31L +
- J21L*J32L)*PDstandardNth3phi) + fac1*(J11L*J12L*PDstandardNth11phi +
- J12L*J21L*PDstandardNth12phi + J11L*J22L*PDstandardNth12phi +
- J12L*J31L*PDstandardNth13phi + J11L*J32L*PDstandardNth13phi +
- J21L*J22L*PDstandardNth22phi + J22L*J31L*PDstandardNth23phi +
- J21L*J32L*PDstandardNth23phi + J31L*J32L*PDstandardNth33phi + (dJ312L -
- Gt312*J33L)*PDstandardNth3phi) + fac2*J11L*J12L*SQR(PDstandardNth1phi)
- + fac2*J21L*J22L*SQR(PDstandardNth2phi) +
- fac2*J31L*J32L*SQR(PDstandardNth3phi);
-
- CCTK_REAL cdphi213 = fac1*(-(Gt113*J31L) -
- Gt213*J32L)*PDstandardNth3phi + PDstandardNth1phi*(fac1*(dJ113L -
- Gt113*J11L - Gt213*J12L - Gt313*J13L) + fac2*(J13L*J21L +
- J11L*J23L)*PDstandardNth2phi + fac2*(J13L*J31L +
- J11L*J33L)*PDstandardNth3phi) + PDstandardNth2phi*(fac1*(dJ213L -
- Gt113*J21L - Gt213*J22L - Gt313*J23L) + fac2*(J23L*J31L +
- J21L*J33L)*PDstandardNth3phi) + fac1*(J11L*J13L*PDstandardNth11phi +
- J13L*J21L*PDstandardNth12phi + J11L*J23L*PDstandardNth12phi +
- J13L*J31L*PDstandardNth13phi + J21L*J23L*PDstandardNth22phi +
- J23L*J31L*PDstandardNth23phi + J21L*J33L*PDstandardNth23phi +
- J31L*J33L*PDstandardNth33phi + dJ313L*PDstandardNth3phi +
- J33L*(J11L*PDstandardNth13phi - Gt313*PDstandardNth3phi)) +
- fac2*J11L*J13L*SQR(PDstandardNth1phi) +
- fac2*J21L*J23L*SQR(PDstandardNth2phi) +
- fac2*J31L*J33L*SQR(PDstandardNth3phi);
-
- CCTK_REAL cdphi222 = fac1*((dJ122L - Gt122*J11L - Gt222*J12L -
- Gt322*J13L)*PDstandardNth1phi + 2*(J12L*(J22L*PDstandardNth12phi +
- J32L*PDstandardNth13phi) + J22L*J32L*PDstandardNth23phi) + (dJ222L -
- Gt122*J21L - Gt222*J22L - Gt322*J23L)*PDstandardNth2phi + (dJ322L -
- Gt122*J31L - Gt222*J32L - Gt322*J33L)*PDstandardNth3phi +
- PDstandardNth11phi*SQR(J12L) + PDstandardNth22phi*SQR(J22L) +
- PDstandardNth33phi*SQR(J32L)) +
- fac2*(2*(J22L*J32L*PDstandardNth2phi*PDstandardNth3phi +
- J12L*PDstandardNth1phi*(J22L*PDstandardNth2phi +
- J32L*PDstandardNth3phi)) + SQR(J12L)*SQR(PDstandardNth1phi) +
- SQR(J22L)*SQR(PDstandardNth2phi) + SQR(J32L)*SQR(PDstandardNth3phi));
-
- CCTK_REAL cdphi223 = fac1*(-(Gt123*J31L) -
- Gt223*J32L)*PDstandardNth3phi + PDstandardNth1phi*(fac1*(dJ123L -
- Gt123*J11L - Gt223*J12L - Gt323*J13L) + fac2*(J13L*J22L +
- J12L*J23L)*PDstandardNth2phi + fac2*(J13L*J32L +
- J12L*J33L)*PDstandardNth3phi) + PDstandardNth2phi*(fac1*(dJ223L -
- Gt123*J21L - Gt223*J22L - Gt323*J23L) + fac2*(J23L*J32L +
- J22L*J33L)*PDstandardNth3phi) + fac1*(J12L*J13L*PDstandardNth11phi +
- J13L*J22L*PDstandardNth12phi + J12L*J23L*PDstandardNth12phi +
- J13L*J32L*PDstandardNth13phi + J22L*J23L*PDstandardNth22phi +
- J23L*J32L*PDstandardNth23phi + J22L*J33L*PDstandardNth23phi +
- J32L*J33L*PDstandardNth33phi + dJ323L*PDstandardNth3phi +
- J33L*(J12L*PDstandardNth13phi - Gt323*PDstandardNth3phi)) +
- fac2*J12L*J13L*SQR(PDstandardNth1phi) +
- fac2*J22L*J23L*SQR(PDstandardNth2phi) +
- fac2*J32L*J33L*SQR(PDstandardNth3phi);
-
- CCTK_REAL cdphi233 = fac1*((dJ133L - Gt133*J11L - Gt233*J12L -
- Gt333*J13L)*PDstandardNth1phi + 2*(J13L*(J23L*PDstandardNth12phi +
- J33L*PDstandardNth13phi) + J23L*J33L*PDstandardNth23phi) + (dJ233L -
- Gt133*J21L - Gt233*J22L - Gt333*J23L)*PDstandardNth2phi + (dJ333L -
- Gt133*J31L - Gt233*J32L - Gt333*J33L)*PDstandardNth3phi +
- PDstandardNth11phi*SQR(J13L) + PDstandardNth22phi*SQR(J23L) +
- PDstandardNth33phi*SQR(J33L)) +
- fac2*(2*(J23L*J33L*PDstandardNth2phi*PDstandardNth3phi +
- J13L*PDstandardNth1phi*(J23L*PDstandardNth2phi +
- J33L*PDstandardNth3phi)) + SQR(J13L)*SQR(PDstandardNth1phi) +
- SQR(J23L)*SQR(PDstandardNth2phi) + SQR(J33L)*SQR(PDstandardNth3phi));
+ CCTK_REAL cdphi211 = fac1*(JacPDstandardNth11phi -
+ Gt111*JacPDstandardNth1phi - Gt211*JacPDstandardNth2phi -
+ Gt311*JacPDstandardNth3phi) + fac2*SQR(JacPDstandardNth1phi);
+
+ CCTK_REAL cdphi212 = fac2*JacPDstandardNth1phi*JacPDstandardNth2phi +
+ fac1*(JacPDstandardNth12phi - Gt112*JacPDstandardNth1phi -
+ Gt212*JacPDstandardNth2phi - Gt312*JacPDstandardNth3phi);
+
+ CCTK_REAL cdphi213 = fac2*JacPDstandardNth1phi*JacPDstandardNth3phi +
+ fac1*(JacPDstandardNth13phi - Gt113*JacPDstandardNth1phi -
+ Gt213*JacPDstandardNth2phi - Gt313*JacPDstandardNth3phi);
+
+ CCTK_REAL cdphi222 = -(fac1*(Gt122*JacPDstandardNth1phi -
+ JacPDstandardNth22phi + Gt222*JacPDstandardNth2phi +
+ Gt322*JacPDstandardNth3phi)) + fac2*SQR(JacPDstandardNth2phi);
+
+ CCTK_REAL cdphi223 = fac2*JacPDstandardNth2phi*JacPDstandardNth3phi -
+ fac1*(Gt123*JacPDstandardNth1phi - JacPDstandardNth23phi +
+ Gt223*JacPDstandardNth2phi + Gt323*JacPDstandardNth3phi);
+
+ CCTK_REAL cdphi233 = -(fac1*(Gt133*JacPDstandardNth1phi +
+ Gt233*JacPDstandardNth2phi - JacPDstandardNth33phi +
+ Gt333*JacPDstandardNth3phi)) + fac2*SQR(JacPDstandardNth3phi);
CCTK_REAL Rphi11 = -2*(cdphi211 + 2*(-1 + gt11L*gtu11)*SQR(cdphi1) +
gt11L*(cdphi211*gtu11 + 4*(cdphi1*(cdphi2*gtu12 + cdphi3*gtu13) +
@@ -943,186 +1644,95 @@ static void ML_BSSN_MP_O8_RHS2_Body(cGH const * restrict const cctkGH, int const
CCTK_REAL trS = em4phi*(eTxxL*gtu11 + eTyyL*gtu22 + 2*(eTxyL*gtu12 +
eTxzL*gtu13 + eTyzL*gtu23) + eTzzL*gtu33);
- CCTK_REAL Ats11 = (-dJ111L + 4*cdphi1*J11L + Gt111*J11L + Gt211*J12L +
- Gt311*J13L)*PDstandardNth1alpha - 2*(J11L*J21L*PDstandardNth12alpha +
- J11L*J31L*PDstandardNth13alpha + J21L*J31L*PDstandardNth23alpha) +
- (-dJ211L + 4*cdphi1*J21L + Gt111*J21L + Gt211*J22L +
- Gt311*J23L)*PDstandardNth2alpha + (-dJ311L + 4*cdphi1*J31L + Gt111*J31L
- + Gt211*J32L + Gt311*J33L)*PDstandardNth3alpha + alphaL*R11 -
- PDstandardNth11alpha*SQR(J11L) - PDstandardNth22alpha*SQR(J21L) -
- PDstandardNth33alpha*SQR(J31L);
-
- CCTK_REAL Ats12 = J12L*(-(J11L*PDstandardNth11alpha) -
- J21L*PDstandardNth12alpha - J31L*PDstandardNth13alpha) +
- J11L*(-(J22L*PDstandardNth12alpha) - J32L*PDstandardNth13alpha) +
- (-dJ112L + 2*cdphi2*J11L + Gt112*J11L + 2*cdphi1*J12L + Gt212*J12L +
- Gt312*J13L)*PDstandardNth1alpha + J22L*(-(J21L*PDstandardNth22alpha) -
- J31L*PDstandardNth23alpha) + (-dJ212L + 2*cdphi2*J21L + Gt112*J21L +
- 2*cdphi1*J22L + Gt212*J22L + Gt312*J23L)*PDstandardNth2alpha +
- J32L*(-(J21L*PDstandardNth23alpha) - J31L*PDstandardNth33alpha) +
- Gt112*J31L*PDstandardNth3alpha + (-dJ312L +
- 2*cdphi2*J31L)*PDstandardNth3alpha + 2*cdphi1*J32L*PDstandardNth3alpha
- + Gt212*J32L*PDstandardNth3alpha + Gt312*J33L*PDstandardNth3alpha +
+ CCTK_REAL Ats11 = -JacPDstandardNth11alpha + (4*cdphi1 +
+ Gt111)*JacPDstandardNth1alpha + Gt211*JacPDstandardNth2alpha +
+ Gt311*JacPDstandardNth3alpha + alphaL*R11;
+
+ CCTK_REAL Ats12 = -JacPDstandardNth12alpha + (2*cdphi2 +
+ Gt112)*JacPDstandardNth1alpha + (2*cdphi1 +
+ Gt212)*JacPDstandardNth2alpha + Gt312*JacPDstandardNth3alpha +
alphaL*R12;
- CCTK_REAL Ats13 = J13L*(-(J11L*PDstandardNth11alpha) -
- J21L*PDstandardNth12alpha - J31L*PDstandardNth13alpha) +
- J11L*(-(J23L*PDstandardNth12alpha) - J33L*PDstandardNth13alpha) +
- (-dJ113L + 2*cdphi3*J11L + Gt113*J11L + Gt213*J12L + 2*cdphi1*J13L +
- Gt313*J13L)*PDstandardNth1alpha + J23L*(-(J21L*PDstandardNth22alpha) -
- J31L*PDstandardNth23alpha) + (-dJ213L + 2*cdphi3*J21L + Gt113*J21L +
- Gt213*J22L + 2*cdphi1*J23L + Gt313*J23L)*PDstandardNth2alpha +
- J33L*(-(J21L*PDstandardNth23alpha) - J31L*PDstandardNth33alpha) +
- Gt113*J31L*PDstandardNth3alpha + (-dJ313L +
- 2*cdphi3*J31L)*PDstandardNth3alpha + Gt213*J32L*PDstandardNth3alpha +
- 2*cdphi1*J33L*PDstandardNth3alpha + Gt313*J33L*PDstandardNth3alpha +
- alphaL*R13;
-
- CCTK_REAL Ats22 = (-dJ122L + Gt122*J11L + 4*cdphi2*J12L + Gt222*J12L +
- Gt322*J13L)*PDstandardNth1alpha - 2*(J12L*J22L*PDstandardNth12alpha +
- J12L*J32L*PDstandardNth13alpha + J22L*J32L*PDstandardNth23alpha) +
- (-dJ222L + Gt122*J21L + 4*cdphi2*J22L + Gt222*J22L +
- Gt322*J23L)*PDstandardNth2alpha + (-dJ322L + Gt122*J31L + 4*cdphi2*J32L
- + Gt222*J32L + Gt322*J33L)*PDstandardNth3alpha + alphaL*R22 -
- PDstandardNth11alpha*SQR(J12L) - PDstandardNth22alpha*SQR(J22L) -
- PDstandardNth33alpha*SQR(J32L);
-
- CCTK_REAL Ats23 = J13L*(-(J12L*PDstandardNth11alpha) -
- J22L*PDstandardNth12alpha - J32L*PDstandardNth13alpha) +
- J12L*(-(J23L*PDstandardNth12alpha) - J33L*PDstandardNth13alpha) +
- (-dJ123L + Gt123*J11L + 2*cdphi3*J12L + Gt223*J12L + 2*cdphi2*J13L +
- Gt323*J13L)*PDstandardNth1alpha + J23L*(-(J22L*PDstandardNth22alpha) -
- J32L*PDstandardNth23alpha) + (-dJ223L + Gt123*J21L + 2*cdphi3*J22L +
- Gt223*J22L + 2*cdphi2*J23L + Gt323*J23L)*PDstandardNth2alpha +
- J33L*(-(J22L*PDstandardNth23alpha) - J32L*PDstandardNth33alpha) +
- (-dJ323L + Gt123*J31L)*PDstandardNth3alpha +
- 2*cdphi3*J32L*PDstandardNth3alpha + Gt223*J32L*PDstandardNth3alpha +
- 2*cdphi2*J33L*PDstandardNth3alpha + Gt323*J33L*PDstandardNth3alpha +
- alphaL*R23;
-
- CCTK_REAL Ats33 = (-dJ133L + Gt133*J11L + Gt233*J12L + 4*cdphi3*J13L +
- Gt333*J13L)*PDstandardNth1alpha - 2*(J13L*J23L*PDstandardNth12alpha +
- J13L*J33L*PDstandardNth13alpha + J23L*J33L*PDstandardNth23alpha) +
- (-dJ233L + Gt133*J21L + Gt233*J22L + 4*cdphi3*J23L +
- Gt333*J23L)*PDstandardNth2alpha + (-dJ333L + Gt133*J31L + Gt233*J32L +
- 4*cdphi3*J33L + Gt333*J33L)*PDstandardNth3alpha + alphaL*R33 -
- PDstandardNth11alpha*SQR(J13L) - PDstandardNth22alpha*SQR(J23L) -
- PDstandardNth33alpha*SQR(J33L);
+ CCTK_REAL Ats13 = -JacPDstandardNth13alpha + (2*cdphi3 +
+ Gt113)*JacPDstandardNth1alpha + Gt213*JacPDstandardNth2alpha +
+ (2*cdphi1 + Gt313)*JacPDstandardNth3alpha + alphaL*R13;
+
+ CCTK_REAL Ats22 = Gt122*JacPDstandardNth1alpha -
+ JacPDstandardNth22alpha + (4*cdphi2 + Gt222)*JacPDstandardNth2alpha +
+ Gt322*JacPDstandardNth3alpha + alphaL*R22;
+
+ CCTK_REAL Ats23 = Gt123*JacPDstandardNth1alpha -
+ JacPDstandardNth23alpha + (2*cdphi3 + Gt223)*JacPDstandardNth2alpha +
+ (2*cdphi2 + Gt323)*JacPDstandardNth3alpha + alphaL*R23;
+
+ CCTK_REAL Ats33 = Gt133*JacPDstandardNth1alpha +
+ Gt233*JacPDstandardNth2alpha - JacPDstandardNth33alpha + (4*cdphi3 +
+ Gt333)*JacPDstandardNth3alpha + alphaL*R33;
CCTK_REAL trAts = Ats11*gu11 + Ats22*gu22 + 2*(Ats12*gu12 + Ats13*gu13
+ Ats23*gu23) + Ats33*gu33;
- CCTK_REAL At11rhsL =
- J11L*(1.333333333333333333333333333333333333333*At11L*PDstandardNth1beta1
- + 2.*(At12L*PDstandardNth1beta2 + At13L*PDstandardNth1beta3)) +
- J21L*(1.333333333333333333333333333333333333333*At11L*PDstandardNth2beta1
- + 2.*(At12L*PDstandardNth2beta2 + At13L*PDstandardNth2beta3)) -
- 0.6666666666666666666666666666666666666667*At11L*(J12L*PDstandardNth1beta2
- + J13L*PDstandardNth1beta3 + J22L*PDstandardNth2beta2 +
- J23L*PDstandardNth2beta3 + J32L*PDstandardNth3beta2 +
- J33L*PDstandardNth3beta3) +
- J31L*(1.333333333333333333333333333333333333333*At11L*PDstandardNth3beta1
- + 2.*(At12L*PDstandardNth3beta2 + At13L*PDstandardNth3beta3)) +
- alphaL*(-2.*(At11L*Atm11 + At12L*Atm21 + At13L*Atm31) + At11L*trKL) +
- em4phi*(Ats11 - 0.3333333333333333333333333333333333333333*g11*trAts +
- alphaL*(-25.13274122871834590770114706623602307358*eTxxL +
+ CCTK_REAL At11rhsL = 2.*(At12L*JacPDstandardNth1beta2 +
+ At13L*JacPDstandardNth1beta3) +
+ At11L*(1.333333333333333333333333333333333333333*JacPDstandardNth1beta1
+ - 0.6666666666666666666666666666666666666667*(JacPDstandardNth2beta2 +
+ JacPDstandardNth3beta3)) + em4phi*(Ats11 -
+ 0.3333333333333333333333333333333333333333*g11*trAts) +
+ alphaL*(-2.*(At12L*Atm21 + At13L*Atm31) + At11L*(-2.*Atm11 + trKL) +
+ em4phi*(-25.13274122871834590770114706623602307358*eTxxL +
8.377580409572781969233715688745341024526*g11*trS));
- CCTK_REAL At12rhsL =
- (0.3333333333333333333333333333333333333333*At12L*J11L +
- At11L*J12L)*PDstandardNth1beta1 + (At22L*J11L +
- 0.3333333333333333333333333333333333333333*At12L*J12L)*PDstandardNth1beta2
- + (At23L*J11L + At13L*J12L -
- 0.6666666666666666666666666666666666666667*At12L*J13L)*PDstandardNth1beta3
- + (0.3333333333333333333333333333333333333333*At12L*J21L +
- At11L*J22L)*PDstandardNth2beta1 + (At22L*J21L +
- 0.3333333333333333333333333333333333333333*At12L*J22L)*PDstandardNth2beta2
- + (At23L*J21L + At13L*J22L -
- 0.6666666666666666666666666666666666666667*At12L*J23L)*PDstandardNth2beta3
- + (0.3333333333333333333333333333333333333333*At12L*J31L +
- At11L*J32L)*PDstandardNth3beta1 + (At22L*J31L +
- 0.3333333333333333333333333333333333333333*At12L*J32L)*PDstandardNth3beta2
- + (At23L*J31L + At13L*J32L -
- 0.6666666666666666666666666666666666666667*At12L*J33L)*PDstandardNth3beta3
- + alphaL*(-2.*(At11L*Atm12 + At12L*Atm22 + At13L*Atm32) + At12L*trKL) +
- em4phi*(Ats12 - 0.3333333333333333333333333333333333333333*g12*trAts +
- alphaL*(-25.13274122871834590770114706623602307358*eTxyL +
+ CCTK_REAL At12rhsL = At22L*JacPDstandardNth1beta2 +
+ At23L*JacPDstandardNth1beta3 + At11L*JacPDstandardNth2beta1 +
+ At13L*JacPDstandardNth2beta3 +
+ At12L*(0.3333333333333333333333333333333333333333*(JacPDstandardNth1beta1
+ + JacPDstandardNth2beta2) -
+ 0.6666666666666666666666666666666666666667*JacPDstandardNth3beta3) +
+ em4phi*(Ats12 - 0.3333333333333333333333333333333333333333*g12*trAts) +
+ alphaL*(-2.*(At11L*Atm12 + At12L*Atm22 + At13L*Atm32) + At12L*trKL +
+ em4phi*(-25.13274122871834590770114706623602307358*eTxyL +
8.377580409572781969233715688745341024526*g12*trS));
- CCTK_REAL At13rhsL =
- (0.3333333333333333333333333333333333333333*At13L*J11L +
- At11L*J13L)*PDstandardNth1beta1 + (At23L*J11L -
- 0.6666666666666666666666666666666666666667*At13L*J12L +
- At12L*J13L)*PDstandardNth1beta2 + (At33L*J11L +
- 0.3333333333333333333333333333333333333333*At13L*J13L)*PDstandardNth1beta3
- + (0.3333333333333333333333333333333333333333*At13L*J21L +
- At11L*J23L)*PDstandardNth2beta1 + (At23L*J21L -
- 0.6666666666666666666666666666666666666667*At13L*J22L +
- At12L*J23L)*PDstandardNth2beta2 + (At33L*J21L +
- 0.3333333333333333333333333333333333333333*At13L*J23L)*PDstandardNth2beta3
- + (0.3333333333333333333333333333333333333333*At13L*J31L +
- At11L*J33L)*PDstandardNth3beta1 + (At23L*J31L -
- 0.6666666666666666666666666666666666666667*At13L*J32L +
- At12L*J33L)*PDstandardNth3beta2 + (At33L*J31L +
- 0.3333333333333333333333333333333333333333*At13L*J33L)*PDstandardNth3beta3
- + alphaL*(-2.*(At11L*Atm13 + At12L*Atm23 + At13L*Atm33) + At13L*trKL) +
- em4phi*(Ats13 - 0.3333333333333333333333333333333333333333*g13*trAts +
- alphaL*(-25.13274122871834590770114706623602307358*eTxzL +
+ CCTK_REAL At13rhsL = At23L*JacPDstandardNth1beta2 +
+ At33L*JacPDstandardNth1beta3 + At11L*JacPDstandardNth3beta1 +
+ At12L*JacPDstandardNth3beta2 +
+ At13L*(-0.6666666666666666666666666666666666666667*JacPDstandardNth2beta2
+ + 0.3333333333333333333333333333333333333333*(JacPDstandardNth1beta1 +
+ JacPDstandardNth3beta3)) + em4phi*(Ats13 -
+ 0.3333333333333333333333333333333333333333*g13*trAts) +
+ alphaL*(-2.*(At11L*Atm13 + At12L*Atm23 + At13L*Atm33) + At13L*trKL +
+ em4phi*(-25.13274122871834590770114706623602307358*eTxzL +
8.377580409572781969233715688745341024526*g13*trS));
- CCTK_REAL At22rhsL = -2.*alphaL*(At12L*Atm12 + At22L*Atm22 +
- At23L*Atm32) + (-0.6666666666666666666666666666666666666667*At22L*J11L
- + 2.*At12L*J12L)*PDstandardNth1beta1 +
- J12L*(1.333333333333333333333333333333333333333*At22L*PDstandardNth1beta2
- + 2.*At23L*PDstandardNth1beta3) +
- (-0.6666666666666666666666666666666666666667*At22L*J21L +
- 2.*At12L*J22L)*PDstandardNth2beta1 + 2.*(At12L*J32L*PDstandardNth3beta1
- + At23L*(J22L*PDstandardNth2beta3 + J32L*PDstandardNth3beta3)) +
- At22L*(1.333333333333333333333333333333333333333*(J22L*PDstandardNth2beta2
- + J32L*PDstandardNth3beta2) -
- 0.6666666666666666666666666666666666666667*(J13L*PDstandardNth1beta3 +
- J23L*PDstandardNth2beta3 + J31L*PDstandardNth3beta1 +
- J33L*PDstandardNth3beta3) + alphaL*trKL) + em4phi*(Ats22 -
- 0.3333333333333333333333333333333333333333*g22*trAts +
- alphaL*(-25.13274122871834590770114706623602307358*eTyyL +
+ CCTK_REAL At22rhsL = 2.*(At12L*JacPDstandardNth2beta1 +
+ At23L*JacPDstandardNth2beta3) +
+ At22L*(1.333333333333333333333333333333333333333*JacPDstandardNth2beta2
+ - 0.6666666666666666666666666666666666666667*(JacPDstandardNth1beta1 +
+ JacPDstandardNth3beta3)) + em4phi*(Ats22 -
+ 0.3333333333333333333333333333333333333333*g22*trAts) +
+ alphaL*(-2.*(At12L*Atm12 + At22L*Atm22 + At23L*Atm32) + At22L*trKL +
+ em4phi*(-25.13274122871834590770114706623602307358*eTyyL +
8.377580409572781969233715688745341024526*g22*trS));
- CCTK_REAL At23rhsL =
- (-0.6666666666666666666666666666666666666667*At23L*J11L + At13L*J12L +
- At12L*J13L)*PDstandardNth1beta1 +
- (0.3333333333333333333333333333333333333333*At23L*J12L +
- At22L*J13L)*PDstandardNth1beta2 + (At33L*J12L +
- 0.3333333333333333333333333333333333333333*At23L*J13L)*PDstandardNth1beta3
- + (-0.6666666666666666666666666666666666666667*At23L*J21L + At13L*J22L
- + At12L*J23L)*PDstandardNth2beta1 +
- (0.3333333333333333333333333333333333333333*At23L*J22L +
- At22L*J23L)*PDstandardNth2beta2 + (At33L*J22L +
- 0.3333333333333333333333333333333333333333*At23L*J23L)*PDstandardNth2beta3
- + (-0.6666666666666666666666666666666666666667*At23L*J31L + At13L*J32L
- + At12L*J33L)*PDstandardNth3beta1 +
- (0.3333333333333333333333333333333333333333*At23L*J32L +
- At22L*J33L)*PDstandardNth3beta2 + (At33L*J32L +
- 0.3333333333333333333333333333333333333333*At23L*J33L)*PDstandardNth3beta3
- + alphaL*(-2.*(At12L*Atm13 + At22L*Atm23 + At23L*Atm33) + At23L*trKL) +
- em4phi*(Ats23 - 0.3333333333333333333333333333333333333333*g23*trAts +
- alphaL*(-25.13274122871834590770114706623602307358*eTyzL +
+ CCTK_REAL At23rhsL = At13L*JacPDstandardNth2beta1 +
+ At33L*JacPDstandardNth2beta3 + At12L*JacPDstandardNth3beta1 +
+ At22L*JacPDstandardNth3beta2 +
+ At23L*(-0.6666666666666666666666666666666666666667*JacPDstandardNth1beta1
+ + 0.3333333333333333333333333333333333333333*(JacPDstandardNth2beta2 +
+ JacPDstandardNth3beta3)) + em4phi*(Ats23 -
+ 0.3333333333333333333333333333333333333333*g23*trAts) +
+ alphaL*(-2.*(At12L*Atm13 + At22L*Atm23 + At23L*Atm33) + At23L*trKL +
+ em4phi*(-25.13274122871834590770114706623602307358*eTyzL +
8.377580409572781969233715688745341024526*g23*trS));
- CCTK_REAL At33rhsL = -2.*alphaL*(At13L*Atm13 + At23L*Atm23 +
- At33L*Atm33) + (-0.6666666666666666666666666666666666666667*At33L*J11L
- + 2.*At13L*J13L)*PDstandardNth1beta1 +
- (-0.6666666666666666666666666666666666666667*At33L*J12L +
- 2.*At23L*J13L)*PDstandardNth1beta2 +
- (-0.6666666666666666666666666666666666666667*At33L*J21L +
- 2.*At13L*J23L)*PDstandardNth2beta1 + J23L*(2.*At23L*PDstandardNth2beta2
- + 1.333333333333333333333333333333333333333*At33L*PDstandardNth2beta3)
- + 2.*J33L*(At13L*PDstandardNth3beta1 + At23L*PDstandardNth3beta2) +
- At33L*(-0.6666666666666666666666666666666666666667*(J22L*PDstandardNth2beta2
- + J31L*PDstandardNth3beta1 + J32L*PDstandardNth3beta2) +
- 1.333333333333333333333333333333333333333*(J13L*PDstandardNth1beta3 +
- J33L*PDstandardNth3beta3) + alphaL*trKL) + em4phi*(Ats33 -
- 0.3333333333333333333333333333333333333333*g33*trAts +
- alphaL*(-25.13274122871834590770114706623602307358*eTzzL +
+ CCTK_REAL At33rhsL = 2.*(At13L*JacPDstandardNth3beta1 +
+ At23L*JacPDstandardNth3beta2) +
+ At33L*(-0.6666666666666666666666666666666666666667*(JacPDstandardNth1beta1
+ + JacPDstandardNth2beta2) +
+ 1.333333333333333333333333333333333333333*JacPDstandardNth3beta3) +
+ em4phi*(Ats33 - 0.3333333333333333333333333333333333333333*g33*trAts) +
+ alphaL*(-2.*(At13L*Atm13 + At23L*Atm23 + At33L*Atm33) + At33L*trKL +
+ em4phi*(-25.13274122871834590770114706623602307358*eTzzL +
8.377580409572781969233715688745341024526*g33*trS));
/* Copy local copies back to grid functions */
diff --git a/ML_BSSN_MP_O8/src/ML_BSSN_MP_O8_RHSStaticBoundary.cc b/ML_BSSN_MP_O8/src/ML_BSSN_MP_O8_RHSStaticBoundary.cc
index 35b6b04..b935519 100644
--- a/ML_BSSN_MP_O8/src/ML_BSSN_MP_O8_RHSStaticBoundary.cc
+++ b/ML_BSSN_MP_O8/src/ML_BSSN_MP_O8_RHSStaticBoundary.cc
@@ -130,6 +130,51 @@ static void ML_BSSN_MP_O8_RHSStaticBoundary_Body(cGH const * restrict const cctk
CCTK_REAL const pm1o840dy = -0.00119047619047619047619047619048*INV(dy);
CCTK_REAL const pm1o840dz = -0.00119047619047619047619047619048*INV(dz);
+ /* 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
LC_LOOP3 (ML_BSSN_MP_O8_RHSStaticBoundary,
@@ -142,6 +187,7 @@ static void ML_BSSN_MP_O8_RHSStaticBoundary_Body(cGH const * restrict const cctk
+
/* Include user supplied include files */
/* Precompute derivatives */
diff --git a/ML_BSSN_MP_O8/src/ML_BSSN_MP_O8_boundary.cc b/ML_BSSN_MP_O8/src/ML_BSSN_MP_O8_boundary.cc
index 09e98f3..0d3966a 100644
--- a/ML_BSSN_MP_O8/src/ML_BSSN_MP_O8_boundary.cc
+++ b/ML_BSSN_MP_O8/src/ML_BSSN_MP_O8_boundary.cc
@@ -130,6 +130,51 @@ static void ML_BSSN_MP_O8_boundary_Body(cGH const * restrict const cctkGH, int c
CCTK_REAL const pm1o840dy = -0.00119047619047619047619047619048*INV(dy);
CCTK_REAL const pm1o840dz = -0.00119047619047619047619047619048*INV(dz);
+ /* 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
LC_LOOP3 (ML_BSSN_MP_O8_boundary,
@@ -142,6 +187,7 @@ static void ML_BSSN_MP_O8_boundary_Body(cGH const * restrict const cctkGH, int c
+
/* Include user supplied include files */
/* Precompute derivatives */
diff --git a/ML_BSSN_MP_O8/src/ML_BSSN_MP_O8_constraints1.cc b/ML_BSSN_MP_O8/src/ML_BSSN_MP_O8_constraints1.cc
index 3083d34..b016ea7 100644
--- a/ML_BSSN_MP_O8/src/ML_BSSN_MP_O8_constraints1.cc
+++ b/ML_BSSN_MP_O8/src/ML_BSSN_MP_O8_constraints1.cc
@@ -51,8 +51,8 @@ static void ML_BSSN_MP_O8_constraints1_Body(cGH const * restrict const cctkGH, i
return;
}
- const char *groups[] = {"Coordinates::jacobian","Coordinates::jacobian2","ML_BSSN_MP_O8::ML_curv","ML_BSSN_MP_O8::ML_Gamma","ML_BSSN_MP_O8::ML_Ham","ML_BSSN_MP_O8::ML_lapse","ML_BSSN_MP_O8::ML_log_confac","ML_BSSN_MP_O8::ML_metric","ML_BSSN_MP_O8::ML_shift","ML_BSSN_MP_O8::ML_trace_curv"};
- GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_MP_O8_constraints1", 10, groups);
+ const char *groups[] = {"ML_BSSN_MP_O8::ML_curv","ML_BSSN_MP_O8::ML_Gamma","ML_BSSN_MP_O8::ML_Ham","ML_BSSN_MP_O8::ML_lapse","ML_BSSN_MP_O8::ML_log_confac","ML_BSSN_MP_O8::ML_metric","ML_BSSN_MP_O8::ML_shift","ML_BSSN_MP_O8::ML_trace_curv"};
+ GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_MP_O8_constraints1", 8, groups);
GenericFD_EnsureStencilFits(cctkGH, "ML_BSSN_MP_O8_constraints1", 4, 4, 4);
@@ -107,6 +107,51 @@ static void ML_BSSN_MP_O8_constraints1_Body(cGH const * restrict const cctkGH, i
CCTK_REAL const pm1o840dy = -0.00119047619047619047619047619048*INV(dy);
CCTK_REAL const pm1o840dz = -0.00119047619047619047619047619048*INV(dz);
+ /* 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
LC_LOOP3 (ML_BSSN_MP_O8_constraints1,
@@ -127,39 +172,12 @@ static void ML_BSSN_MP_O8_constraints1_Body(cGH const * restrict const cctkGH, i
CCTK_REAL beta1L = beta1[index];
CCTK_REAL beta2L = beta2[index];
CCTK_REAL beta3L = beta3[index];
- CCTK_REAL dJ111L = dJ111[index];
- CCTK_REAL dJ112L = dJ112[index];
- CCTK_REAL dJ113L = dJ113[index];
- CCTK_REAL dJ122L = dJ122[index];
- CCTK_REAL dJ123L = dJ123[index];
- CCTK_REAL dJ133L = dJ133[index];
- CCTK_REAL dJ211L = dJ211[index];
- CCTK_REAL dJ212L = dJ212[index];
- CCTK_REAL dJ213L = dJ213[index];
- CCTK_REAL dJ222L = dJ222[index];
- CCTK_REAL dJ223L = dJ223[index];
- CCTK_REAL dJ233L = dJ233[index];
- CCTK_REAL dJ311L = dJ311[index];
- CCTK_REAL dJ312L = dJ312[index];
- CCTK_REAL dJ313L = dJ313[index];
- CCTK_REAL dJ322L = dJ322[index];
- CCTK_REAL dJ323L = dJ323[index];
- CCTK_REAL dJ333L = dJ333[index];
CCTK_REAL gt11L = gt11[index];
CCTK_REAL gt12L = gt12[index];
CCTK_REAL gt13L = gt13[index];
CCTK_REAL gt22L = gt22[index];
CCTK_REAL gt23L = gt23[index];
CCTK_REAL gt33L = gt33[index];
- CCTK_REAL J11L = J11[index];
- CCTK_REAL J12L = J12[index];
- CCTK_REAL J13L = J13[index];
- CCTK_REAL J21L = J21[index];
- CCTK_REAL J22L = J22[index];
- CCTK_REAL J23L = J23[index];
- CCTK_REAL J31L = J31[index];
- CCTK_REAL J32L = J32[index];
- CCTK_REAL J33L = J33[index];
CCTK_REAL phiL = phi[index];
CCTK_REAL trKL = trK[index];
CCTK_REAL Xt1L = Xt1[index];
@@ -195,6 +213,39 @@ static void ML_BSSN_MP_O8_constraints1_Body(cGH const * restrict const cctkGH, i
eTzzL = ToReal(0.0);
}
+ CCTK_REAL 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;
+
+ if (use_jacobian)
+ {
+ dJ111L = dJ111[index];
+ dJ112L = dJ112[index];
+ dJ113L = dJ113[index];
+ dJ122L = dJ122[index];
+ dJ123L = dJ123[index];
+ dJ133L = dJ133[index];
+ dJ211L = dJ211[index];
+ dJ212L = dJ212[index];
+ dJ213L = dJ213[index];
+ dJ222L = dJ222[index];
+ dJ223L = dJ223[index];
+ dJ233L = dJ233[index];
+ dJ311L = dJ311[index];
+ dJ312L = dJ312[index];
+ dJ313L = dJ313[index];
+ dJ322L = dJ322[index];
+ dJ323L = dJ323[index];
+ dJ333L = dJ333[index];
+ J11L = J11[index];
+ J12L = J12[index];
+ J13L = J13[index];
+ J21L = J21[index];
+ J22L = J22[index];
+ J23L = J23[index];
+ J31L = J31[index];
+ J32L = J32[index];
+ J33L = J33[index];
+ }
+
/* Include user supplied include files */
/* Precompute derivatives */
@@ -272,6 +323,810 @@ static void ML_BSSN_MP_O8_constraints1_Body(cGH const * restrict const cctkGH, i
CCTK_REAL const PDstandardNth3Xt3 = PDstandardNth3(&Xt3[index]);
/* Calculate temporaries and grid functions */
+ CCTK_REAL JacPDstandardNth11gt11;
+ CCTK_REAL JacPDstandardNth11gt12;
+ CCTK_REAL JacPDstandardNth11gt13;
+ CCTK_REAL JacPDstandardNth11gt22;
+ CCTK_REAL JacPDstandardNth11gt23;
+ CCTK_REAL JacPDstandardNth11gt33;
+ CCTK_REAL JacPDstandardNth11phi;
+ CCTK_REAL JacPDstandardNth12gt11;
+ CCTK_REAL JacPDstandardNth12gt12;
+ CCTK_REAL JacPDstandardNth12gt13;
+ CCTK_REAL JacPDstandardNth12gt22;
+ CCTK_REAL JacPDstandardNth12gt23;
+ CCTK_REAL JacPDstandardNth12gt33;
+ CCTK_REAL JacPDstandardNth12phi;
+ CCTK_REAL JacPDstandardNth13gt11;
+ CCTK_REAL JacPDstandardNth13gt12;
+ CCTK_REAL JacPDstandardNth13gt13;
+ CCTK_REAL JacPDstandardNth13gt22;
+ CCTK_REAL JacPDstandardNth13gt23;
+ CCTK_REAL JacPDstandardNth13gt33;
+ CCTK_REAL JacPDstandardNth13phi;
+ CCTK_REAL JacPDstandardNth1gt11;
+ CCTK_REAL JacPDstandardNth1gt12;
+ CCTK_REAL JacPDstandardNth1gt13;
+ CCTK_REAL JacPDstandardNth1gt22;
+ CCTK_REAL JacPDstandardNth1gt23;
+ CCTK_REAL JacPDstandardNth1gt33;
+ CCTK_REAL JacPDstandardNth1phi;
+ CCTK_REAL JacPDstandardNth1Xt1;
+ CCTK_REAL JacPDstandardNth1Xt2;
+ CCTK_REAL JacPDstandardNth1Xt3;
+ CCTK_REAL JacPDstandardNth21gt11;
+ CCTK_REAL JacPDstandardNth21gt12;
+ CCTK_REAL JacPDstandardNth21gt13;
+ CCTK_REAL JacPDstandardNth21gt22;
+ CCTK_REAL JacPDstandardNth21gt23;
+ CCTK_REAL JacPDstandardNth21gt33;
+ CCTK_REAL JacPDstandardNth22gt11;
+ CCTK_REAL JacPDstandardNth22gt12;
+ CCTK_REAL JacPDstandardNth22gt13;
+ CCTK_REAL JacPDstandardNth22gt22;
+ CCTK_REAL JacPDstandardNth22gt23;
+ CCTK_REAL JacPDstandardNth22gt33;
+ CCTK_REAL JacPDstandardNth22phi;
+ CCTK_REAL JacPDstandardNth23gt11;
+ CCTK_REAL JacPDstandardNth23gt12;
+ CCTK_REAL JacPDstandardNth23gt13;
+ CCTK_REAL JacPDstandardNth23gt22;
+ CCTK_REAL JacPDstandardNth23gt23;
+ CCTK_REAL JacPDstandardNth23gt33;
+ CCTK_REAL JacPDstandardNth23phi;
+ CCTK_REAL JacPDstandardNth2gt11;
+ CCTK_REAL JacPDstandardNth2gt12;
+ CCTK_REAL JacPDstandardNth2gt13;
+ CCTK_REAL JacPDstandardNth2gt22;
+ CCTK_REAL JacPDstandardNth2gt23;
+ CCTK_REAL JacPDstandardNth2gt33;
+ CCTK_REAL JacPDstandardNth2phi;
+ CCTK_REAL JacPDstandardNth2Xt1;
+ CCTK_REAL JacPDstandardNth2Xt2;
+ CCTK_REAL JacPDstandardNth2Xt3;
+ CCTK_REAL JacPDstandardNth31gt11;
+ CCTK_REAL JacPDstandardNth31gt12;
+ CCTK_REAL JacPDstandardNth31gt13;
+ CCTK_REAL JacPDstandardNth31gt22;
+ CCTK_REAL JacPDstandardNth31gt23;
+ CCTK_REAL JacPDstandardNth31gt33;
+ CCTK_REAL JacPDstandardNth32gt11;
+ CCTK_REAL JacPDstandardNth32gt12;
+ CCTK_REAL JacPDstandardNth32gt13;
+ CCTK_REAL JacPDstandardNth32gt22;
+ CCTK_REAL JacPDstandardNth32gt23;
+ CCTK_REAL JacPDstandardNth32gt33;
+ CCTK_REAL JacPDstandardNth33gt11;
+ CCTK_REAL JacPDstandardNth33gt12;
+ CCTK_REAL JacPDstandardNth33gt13;
+ CCTK_REAL JacPDstandardNth33gt22;
+ CCTK_REAL JacPDstandardNth33gt23;
+ CCTK_REAL JacPDstandardNth33gt33;
+ CCTK_REAL JacPDstandardNth33phi;
+ CCTK_REAL JacPDstandardNth3gt11;
+ CCTK_REAL JacPDstandardNth3gt12;
+ CCTK_REAL JacPDstandardNth3gt13;
+ CCTK_REAL JacPDstandardNth3gt22;
+ CCTK_REAL JacPDstandardNth3gt23;
+ CCTK_REAL JacPDstandardNth3gt33;
+ CCTK_REAL JacPDstandardNth3phi;
+ CCTK_REAL JacPDstandardNth3Xt1;
+ CCTK_REAL JacPDstandardNth3Xt2;
+ CCTK_REAL JacPDstandardNth3Xt3;
+
+ if (use_jacobian)
+ {
+ JacPDstandardNth1gt11 = J11L*PDstandardNth1gt11 +
+ J21L*PDstandardNth2gt11 + J31L*PDstandardNth3gt11;
+
+ JacPDstandardNth1gt12 = J11L*PDstandardNth1gt12 +
+ J21L*PDstandardNth2gt12 + J31L*PDstandardNth3gt12;
+
+ JacPDstandardNth1gt13 = J11L*PDstandardNth1gt13 +
+ J21L*PDstandardNth2gt13 + J31L*PDstandardNth3gt13;
+
+ JacPDstandardNth1gt22 = J11L*PDstandardNth1gt22 +
+ J21L*PDstandardNth2gt22 + J31L*PDstandardNth3gt22;
+
+ JacPDstandardNth1gt23 = J11L*PDstandardNth1gt23 +
+ J21L*PDstandardNth2gt23 + J31L*PDstandardNth3gt23;
+
+ JacPDstandardNth1gt33 = J11L*PDstandardNth1gt33 +
+ J21L*PDstandardNth2gt33 + J31L*PDstandardNth3gt33;
+
+ JacPDstandardNth1phi = J11L*PDstandardNth1phi + J21L*PDstandardNth2phi
+ + J31L*PDstandardNth3phi;
+
+ JacPDstandardNth1Xt1 = J11L*PDstandardNth1Xt1 + J21L*PDstandardNth2Xt1
+ + J31L*PDstandardNth3Xt1;
+
+ JacPDstandardNth1Xt2 = J11L*PDstandardNth1Xt2 + J21L*PDstandardNth2Xt2
+ + J31L*PDstandardNth3Xt2;
+
+ JacPDstandardNth1Xt3 = J11L*PDstandardNth1Xt3 + J21L*PDstandardNth2Xt3
+ + J31L*PDstandardNth3Xt3;
+
+ JacPDstandardNth2gt11 = J12L*PDstandardNth1gt11 +
+ J22L*PDstandardNth2gt11 + J32L*PDstandardNth3gt11;
+
+ JacPDstandardNth2gt12 = J12L*PDstandardNth1gt12 +
+ J22L*PDstandardNth2gt12 + J32L*PDstandardNth3gt12;
+
+ JacPDstandardNth2gt13 = J12L*PDstandardNth1gt13 +
+ J22L*PDstandardNth2gt13 + J32L*PDstandardNth3gt13;
+
+ JacPDstandardNth2gt22 = J12L*PDstandardNth1gt22 +
+ J22L*PDstandardNth2gt22 + J32L*PDstandardNth3gt22;
+
+ JacPDstandardNth2gt23 = J12L*PDstandardNth1gt23 +
+ J22L*PDstandardNth2gt23 + J32L*PDstandardNth3gt23;
+
+ JacPDstandardNth2gt33 = J12L*PDstandardNth1gt33 +
+ J22L*PDstandardNth2gt33 + J32L*PDstandardNth3gt33;
+
+ JacPDstandardNth2phi = J12L*PDstandardNth1phi + J22L*PDstandardNth2phi
+ + J32L*PDstandardNth3phi;
+
+ JacPDstandardNth2Xt1 = J12L*PDstandardNth1Xt1 + J22L*PDstandardNth2Xt1
+ + J32L*PDstandardNth3Xt1;
+
+ JacPDstandardNth2Xt2 = J12L*PDstandardNth1Xt2 + J22L*PDstandardNth2Xt2
+ + J32L*PDstandardNth3Xt2;
+
+ JacPDstandardNth2Xt3 = J12L*PDstandardNth1Xt3 + J22L*PDstandardNth2Xt3
+ + J32L*PDstandardNth3Xt3;
+
+ JacPDstandardNth3gt11 = J13L*PDstandardNth1gt11 +
+ J23L*PDstandardNth2gt11 + J33L*PDstandardNth3gt11;
+
+ JacPDstandardNth3gt12 = J13L*PDstandardNth1gt12 +
+ J23L*PDstandardNth2gt12 + J33L*PDstandardNth3gt12;
+
+ JacPDstandardNth3gt13 = J13L*PDstandardNth1gt13 +
+ J23L*PDstandardNth2gt13 + J33L*PDstandardNth3gt13;
+
+ JacPDstandardNth3gt22 = J13L*PDstandardNth1gt22 +
+ J23L*PDstandardNth2gt22 + J33L*PDstandardNth3gt22;
+
+ JacPDstandardNth3gt23 = J13L*PDstandardNth1gt23 +
+ J23L*PDstandardNth2gt23 + J33L*PDstandardNth3gt23;
+
+ JacPDstandardNth3gt33 = J13L*PDstandardNth1gt33 +
+ J23L*PDstandardNth2gt33 + J33L*PDstandardNth3gt33;
+
+ JacPDstandardNth3phi = J13L*PDstandardNth1phi + J23L*PDstandardNth2phi
+ + J33L*PDstandardNth3phi;
+
+ JacPDstandardNth3Xt1 = J13L*PDstandardNth1Xt1 + J23L*PDstandardNth2Xt1
+ + J33L*PDstandardNth3Xt1;
+
+ JacPDstandardNth3Xt2 = J13L*PDstandardNth1Xt2 + J23L*PDstandardNth2Xt2
+ + J33L*PDstandardNth3Xt2;
+
+ JacPDstandardNth3Xt3 = J13L*PDstandardNth1Xt3 + J23L*PDstandardNth2Xt3
+ + J33L*PDstandardNth3Xt3;
+
+ JacPDstandardNth11gt11 = dJ111L*PDstandardNth1gt11 +
+ 2*(J11L*(J21L*PDstandardNth12gt11 + J31L*PDstandardNth13gt11) +
+ J21L*J31L*PDstandardNth23gt11) + dJ211L*PDstandardNth2gt11 +
+ dJ311L*PDstandardNth3gt11 + PDstandardNth11gt11*SQR(J11L) +
+ PDstandardNth22gt11*SQR(J21L) + PDstandardNth33gt11*SQR(J31L);
+
+ JacPDstandardNth11gt12 = dJ111L*PDstandardNth1gt12 +
+ 2*(J11L*(J21L*PDstandardNth12gt12 + J31L*PDstandardNth13gt12) +
+ J21L*J31L*PDstandardNth23gt12) + dJ211L*PDstandardNth2gt12 +
+ dJ311L*PDstandardNth3gt12 + PDstandardNth11gt12*SQR(J11L) +
+ PDstandardNth22gt12*SQR(J21L) + PDstandardNth33gt12*SQR(J31L);
+
+ JacPDstandardNth11gt13 = dJ111L*PDstandardNth1gt13 +
+ 2*(J11L*(J21L*PDstandardNth12gt13 + J31L*PDstandardNth13gt13) +
+ J21L*J31L*PDstandardNth23gt13) + dJ211L*PDstandardNth2gt13 +
+ dJ311L*PDstandardNth3gt13 + PDstandardNth11gt13*SQR(J11L) +
+ PDstandardNth22gt13*SQR(J21L) + PDstandardNth33gt13*SQR(J31L);
+
+ JacPDstandardNth11gt22 = dJ111L*PDstandardNth1gt22 +
+ 2*(J11L*(J21L*PDstandardNth12gt22 + J31L*PDstandardNth13gt22) +
+ J21L*J31L*PDstandardNth23gt22) + dJ211L*PDstandardNth2gt22 +
+ dJ311L*PDstandardNth3gt22 + PDstandardNth11gt22*SQR(J11L) +
+ PDstandardNth22gt22*SQR(J21L) + PDstandardNth33gt22*SQR(J31L);
+
+ JacPDstandardNth11gt23 = dJ111L*PDstandardNth1gt23 +
+ 2*(J11L*(J21L*PDstandardNth12gt23 + J31L*PDstandardNth13gt23) +
+ J21L*J31L*PDstandardNth23gt23) + dJ211L*PDstandardNth2gt23 +
+ dJ311L*PDstandardNth3gt23 + PDstandardNth11gt23*SQR(J11L) +
+ PDstandardNth22gt23*SQR(J21L) + PDstandardNth33gt23*SQR(J31L);
+
+ JacPDstandardNth11gt33 = dJ111L*PDstandardNth1gt33 +
+ 2*(J11L*(J21L*PDstandardNth12gt33 + J31L*PDstandardNth13gt33) +
+ J21L*J31L*PDstandardNth23gt33) + dJ211L*PDstandardNth2gt33 +
+ dJ311L*PDstandardNth3gt33 + PDstandardNth11gt33*SQR(J11L) +
+ PDstandardNth22gt33*SQR(J21L) + PDstandardNth33gt33*SQR(J31L);
+
+ JacPDstandardNth11phi = dJ111L*PDstandardNth1phi +
+ 2*(J11L*(J21L*PDstandardNth12phi + J31L*PDstandardNth13phi) +
+ J21L*J31L*PDstandardNth23phi) + dJ211L*PDstandardNth2phi +
+ dJ311L*PDstandardNth3phi + PDstandardNth11phi*SQR(J11L) +
+ PDstandardNth22phi*SQR(J21L) + PDstandardNth33phi*SQR(J31L);
+
+ JacPDstandardNth22gt11 = dJ122L*PDstandardNth1gt11 +
+ 2*(J12L*(J22L*PDstandardNth12gt11 + J32L*PDstandardNth13gt11) +
+ J22L*J32L*PDstandardNth23gt11) + dJ222L*PDstandardNth2gt11 +
+ dJ322L*PDstandardNth3gt11 + PDstandardNth11gt11*SQR(J12L) +
+ PDstandardNth22gt11*SQR(J22L) + PDstandardNth33gt11*SQR(J32L);
+
+ JacPDstandardNth22gt12 = dJ122L*PDstandardNth1gt12 +
+ 2*(J12L*(J22L*PDstandardNth12gt12 + J32L*PDstandardNth13gt12) +
+ J22L*J32L*PDstandardNth23gt12) + dJ222L*PDstandardNth2gt12 +
+ dJ322L*PDstandardNth3gt12 + PDstandardNth11gt12*SQR(J12L) +
+ PDstandardNth22gt12*SQR(J22L) + PDstandardNth33gt12*SQR(J32L);
+
+ JacPDstandardNth22gt13 = dJ122L*PDstandardNth1gt13 +
+ 2*(J12L*(J22L*PDstandardNth12gt13 + J32L*PDstandardNth13gt13) +
+ J22L*J32L*PDstandardNth23gt13) + dJ222L*PDstandardNth2gt13 +
+ dJ322L*PDstandardNth3gt13 + PDstandardNth11gt13*SQR(J12L) +
+ PDstandardNth22gt13*SQR(J22L) + PDstandardNth33gt13*SQR(J32L);
+
+ JacPDstandardNth22gt22 = dJ122L*PDstandardNth1gt22 +
+ 2*(J12L*(J22L*PDstandardNth12gt22 + J32L*PDstandardNth13gt22) +
+ J22L*J32L*PDstandardNth23gt22) + dJ222L*PDstandardNth2gt22 +
+ dJ322L*PDstandardNth3gt22 + PDstandardNth11gt22*SQR(J12L) +
+ PDstandardNth22gt22*SQR(J22L) + PDstandardNth33gt22*SQR(J32L);
+
+ JacPDstandardNth22gt23 = dJ122L*PDstandardNth1gt23 +
+ 2*(J12L*(J22L*PDstandardNth12gt23 + J32L*PDstandardNth13gt23) +
+ J22L*J32L*PDstandardNth23gt23) + dJ222L*PDstandardNth2gt23 +
+ dJ322L*PDstandardNth3gt23 + PDstandardNth11gt23*SQR(J12L) +
+ PDstandardNth22gt23*SQR(J22L) + PDstandardNth33gt23*SQR(J32L);
+
+ JacPDstandardNth22gt33 = dJ122L*PDstandardNth1gt33 +
+ 2*(J12L*(J22L*PDstandardNth12gt33 + J32L*PDstandardNth13gt33) +
+ J22L*J32L*PDstandardNth23gt33) + dJ222L*PDstandardNth2gt33 +
+ dJ322L*PDstandardNth3gt33 + PDstandardNth11gt33*SQR(J12L) +
+ PDstandardNth22gt33*SQR(J22L) + PDstandardNth33gt33*SQR(J32L);
+
+ JacPDstandardNth22phi = dJ122L*PDstandardNth1phi +
+ 2*(J12L*(J22L*PDstandardNth12phi + J32L*PDstandardNth13phi) +
+ J22L*J32L*PDstandardNth23phi) + dJ222L*PDstandardNth2phi +
+ dJ322L*PDstandardNth3phi + PDstandardNth11phi*SQR(J12L) +
+ PDstandardNth22phi*SQR(J22L) + PDstandardNth33phi*SQR(J32L);
+
+ JacPDstandardNth33gt11 = dJ133L*PDstandardNth1gt11 +
+ 2*(J13L*(J23L*PDstandardNth12gt11 + J33L*PDstandardNth13gt11) +
+ J23L*J33L*PDstandardNth23gt11) + dJ233L*PDstandardNth2gt11 +
+ dJ333L*PDstandardNth3gt11 + PDstandardNth11gt11*SQR(J13L) +
+ PDstandardNth22gt11*SQR(J23L) + PDstandardNth33gt11*SQR(J33L);
+
+ JacPDstandardNth33gt12 = dJ133L*PDstandardNth1gt12 +
+ 2*(J13L*(J23L*PDstandardNth12gt12 + J33L*PDstandardNth13gt12) +
+ J23L*J33L*PDstandardNth23gt12) + dJ233L*PDstandardNth2gt12 +
+ dJ333L*PDstandardNth3gt12 + PDstandardNth11gt12*SQR(J13L) +
+ PDstandardNth22gt12*SQR(J23L) + PDstandardNth33gt12*SQR(J33L);
+
+ JacPDstandardNth33gt13 = dJ133L*PDstandardNth1gt13 +
+ 2*(J13L*(J23L*PDstandardNth12gt13 + J33L*PDstandardNth13gt13) +
+ J23L*J33L*PDstandardNth23gt13) + dJ233L*PDstandardNth2gt13 +
+ dJ333L*PDstandardNth3gt13 + PDstandardNth11gt13*SQR(J13L) +
+ PDstandardNth22gt13*SQR(J23L) + PDstandardNth33gt13*SQR(J33L);
+
+ JacPDstandardNth33gt22 = dJ133L*PDstandardNth1gt22 +
+ 2*(J13L*(J23L*PDstandardNth12gt22 + J33L*PDstandardNth13gt22) +
+ J23L*J33L*PDstandardNth23gt22) + dJ233L*PDstandardNth2gt22 +
+ dJ333L*PDstandardNth3gt22 + PDstandardNth11gt22*SQR(J13L) +
+ PDstandardNth22gt22*SQR(J23L) + PDstandardNth33gt22*SQR(J33L);
+
+ JacPDstandardNth33gt23 = dJ133L*PDstandardNth1gt23 +
+ 2*(J13L*(J23L*PDstandardNth12gt23 + J33L*PDstandardNth13gt23) +
+ J23L*J33L*PDstandardNth23gt23) + dJ233L*PDstandardNth2gt23 +
+ dJ333L*PDstandardNth3gt23 + PDstandardNth11gt23*SQR(J13L) +
+ PDstandardNth22gt23*SQR(J23L) + PDstandardNth33gt23*SQR(J33L);
+
+ JacPDstandardNth33gt33 = dJ133L*PDstandardNth1gt33 +
+ 2*(J13L*(J23L*PDstandardNth12gt33 + J33L*PDstandardNth13gt33) +
+ J23L*J33L*PDstandardNth23gt33) + dJ233L*PDstandardNth2gt33 +
+ dJ333L*PDstandardNth3gt33 + PDstandardNth11gt33*SQR(J13L) +
+ PDstandardNth22gt33*SQR(J23L) + PDstandardNth33gt33*SQR(J33L);
+
+ JacPDstandardNth33phi = dJ133L*PDstandardNth1phi +
+ 2*(J13L*(J23L*PDstandardNth12phi + J33L*PDstandardNth13phi) +
+ J23L*J33L*PDstandardNth23phi) + dJ233L*PDstandardNth2phi +
+ dJ333L*PDstandardNth3phi + PDstandardNth11phi*SQR(J13L) +
+ PDstandardNth22phi*SQR(J23L) + PDstandardNth33phi*SQR(J33L);
+
+ JacPDstandardNth12gt11 = J12L*(J11L*PDstandardNth11gt11 +
+ J21L*PDstandardNth12gt11 + J31L*PDstandardNth13gt11) +
+ J11L*(J22L*PDstandardNth12gt11 + J32L*PDstandardNth13gt11) +
+ dJ112L*PDstandardNth1gt11 + J22L*(J21L*PDstandardNth22gt11 +
+ J31L*PDstandardNth23gt11) + dJ212L*PDstandardNth2gt11 +
+ J32L*(J21L*PDstandardNth23gt11 + J31L*PDstandardNth33gt11) +
+ dJ312L*PDstandardNth3gt11;
+
+ JacPDstandardNth12gt12 = J12L*(J11L*PDstandardNth11gt12 +
+ J21L*PDstandardNth12gt12 + J31L*PDstandardNth13gt12) +
+ J11L*(J22L*PDstandardNth12gt12 + J32L*PDstandardNth13gt12) +
+ dJ112L*PDstandardNth1gt12 + J22L*(J21L*PDstandardNth22gt12 +
+ J31L*PDstandardNth23gt12) + dJ212L*PDstandardNth2gt12 +
+ J32L*(J21L*PDstandardNth23gt12 + J31L*PDstandardNth33gt12) +
+ dJ312L*PDstandardNth3gt12;
+
+ JacPDstandardNth12gt13 = J12L*(J11L*PDstandardNth11gt13 +
+ J21L*PDstandardNth12gt13 + J31L*PDstandardNth13gt13) +
+ J11L*(J22L*PDstandardNth12gt13 + J32L*PDstandardNth13gt13) +
+ dJ112L*PDstandardNth1gt13 + J22L*(J21L*PDstandardNth22gt13 +
+ J31L*PDstandardNth23gt13) + dJ212L*PDstandardNth2gt13 +
+ J32L*(J21L*PDstandardNth23gt13 + J31L*PDstandardNth33gt13) +
+ dJ312L*PDstandardNth3gt13;
+
+ JacPDstandardNth12gt22 = J12L*(J11L*PDstandardNth11gt22 +
+ J21L*PDstandardNth12gt22 + J31L*PDstandardNth13gt22) +
+ J11L*(J22L*PDstandardNth12gt22 + J32L*PDstandardNth13gt22) +
+ dJ112L*PDstandardNth1gt22 + J22L*(J21L*PDstandardNth22gt22 +
+ J31L*PDstandardNth23gt22) + dJ212L*PDstandardNth2gt22 +
+ J32L*(J21L*PDstandardNth23gt22 + J31L*PDstandardNth33gt22) +
+ dJ312L*PDstandardNth3gt22;
+
+ JacPDstandardNth12gt23 = J12L*(J11L*PDstandardNth11gt23 +
+ J21L*PDstandardNth12gt23 + J31L*PDstandardNth13gt23) +
+ J11L*(J22L*PDstandardNth12gt23 + J32L*PDstandardNth13gt23) +
+ dJ112L*PDstandardNth1gt23 + J22L*(J21L*PDstandardNth22gt23 +
+ J31L*PDstandardNth23gt23) + dJ212L*PDstandardNth2gt23 +
+ J32L*(J21L*PDstandardNth23gt23 + J31L*PDstandardNth33gt23) +
+ dJ312L*PDstandardNth3gt23;
+
+ JacPDstandardNth12gt33 = J12L*(J11L*PDstandardNth11gt33 +
+ J21L*PDstandardNth12gt33 + J31L*PDstandardNth13gt33) +
+ J11L*(J22L*PDstandardNth12gt33 + J32L*PDstandardNth13gt33) +
+ dJ112L*PDstandardNth1gt33 + J22L*(J21L*PDstandardNth22gt33 +
+ J31L*PDstandardNth23gt33) + dJ212L*PDstandardNth2gt33 +
+ J32L*(J21L*PDstandardNth23gt33 + J31L*PDstandardNth33gt33) +
+ dJ312L*PDstandardNth3gt33;
+
+ JacPDstandardNth12phi = J12L*(J11L*PDstandardNth11phi +
+ J21L*PDstandardNth12phi + J31L*PDstandardNth13phi) +
+ J11L*(J22L*PDstandardNth12phi + J32L*PDstandardNth13phi) +
+ dJ112L*PDstandardNth1phi + J22L*(J21L*PDstandardNth22phi +
+ J31L*PDstandardNth23phi) + dJ212L*PDstandardNth2phi +
+ J32L*(J21L*PDstandardNth23phi + J31L*PDstandardNth33phi) +
+ dJ312L*PDstandardNth3phi;
+
+ JacPDstandardNth13gt11 = J13L*(J11L*PDstandardNth11gt11 +
+ J21L*PDstandardNth12gt11 + J31L*PDstandardNth13gt11) +
+ J11L*(J23L*PDstandardNth12gt11 + J33L*PDstandardNth13gt11) +
+ dJ113L*PDstandardNth1gt11 + J23L*(J21L*PDstandardNth22gt11 +
+ J31L*PDstandardNth23gt11) + dJ213L*PDstandardNth2gt11 +
+ J33L*(J21L*PDstandardNth23gt11 + J31L*PDstandardNth33gt11) +
+ dJ313L*PDstandardNth3gt11;
+
+ JacPDstandardNth13gt12 = J13L*(J11L*PDstandardNth11gt12 +
+ J21L*PDstandardNth12gt12 + J31L*PDstandardNth13gt12) +
+ J11L*(J23L*PDstandardNth12gt12 + J33L*PDstandardNth13gt12) +
+ dJ113L*PDstandardNth1gt12 + J23L*(J21L*PDstandardNth22gt12 +
+ J31L*PDstandardNth23gt12) + dJ213L*PDstandardNth2gt12 +
+ J33L*(J21L*PDstandardNth23gt12 + J31L*PDstandardNth33gt12) +
+ dJ313L*PDstandardNth3gt12;
+
+ JacPDstandardNth13gt13 = J13L*(J11L*PDstandardNth11gt13 +
+ J21L*PDstandardNth12gt13 + J31L*PDstandardNth13gt13) +
+ J11L*(J23L*PDstandardNth12gt13 + J33L*PDstandardNth13gt13) +
+ dJ113L*PDstandardNth1gt13 + J23L*(J21L*PDstandardNth22gt13 +
+ J31L*PDstandardNth23gt13) + dJ213L*PDstandardNth2gt13 +
+ J33L*(J21L*PDstandardNth23gt13 + J31L*PDstandardNth33gt13) +
+ dJ313L*PDstandardNth3gt13;
+
+ JacPDstandardNth13gt22 = J13L*(J11L*PDstandardNth11gt22 +
+ J21L*PDstandardNth12gt22 + J31L*PDstandardNth13gt22) +
+ J11L*(J23L*PDstandardNth12gt22 + J33L*PDstandardNth13gt22) +
+ dJ113L*PDstandardNth1gt22 + J23L*(J21L*PDstandardNth22gt22 +
+ J31L*PDstandardNth23gt22) + dJ213L*PDstandardNth2gt22 +
+ J33L*(J21L*PDstandardNth23gt22 + J31L*PDstandardNth33gt22) +
+ dJ313L*PDstandardNth3gt22;
+
+ JacPDstandardNth13gt23 = J13L*(J11L*PDstandardNth11gt23 +
+ J21L*PDstandardNth12gt23 + J31L*PDstandardNth13gt23) +
+ J11L*(J23L*PDstandardNth12gt23 + J33L*PDstandardNth13gt23) +
+ dJ113L*PDstandardNth1gt23 + J23L*(J21L*PDstandardNth22gt23 +
+ J31L*PDstandardNth23gt23) + dJ213L*PDstandardNth2gt23 +
+ J33L*(J21L*PDstandardNth23gt23 + J31L*PDstandardNth33gt23) +
+ dJ313L*PDstandardNth3gt23;
+
+ JacPDstandardNth13gt33 = J13L*(J11L*PDstandardNth11gt33 +
+ J21L*PDstandardNth12gt33 + J31L*PDstandardNth13gt33) +
+ J11L*(J23L*PDstandardNth12gt33 + J33L*PDstandardNth13gt33) +
+ dJ113L*PDstandardNth1gt33 + J23L*(J21L*PDstandardNth22gt33 +
+ J31L*PDstandardNth23gt33) + dJ213L*PDstandardNth2gt33 +
+ J33L*(J21L*PDstandardNth23gt33 + J31L*PDstandardNth33gt33) +
+ dJ313L*PDstandardNth3gt33;
+
+ JacPDstandardNth13phi = J13L*(J11L*PDstandardNth11phi +
+ J21L*PDstandardNth12phi + J31L*PDstandardNth13phi) +
+ J11L*(J23L*PDstandardNth12phi + J33L*PDstandardNth13phi) +
+ dJ113L*PDstandardNth1phi + J23L*(J21L*PDstandardNth22phi +
+ J31L*PDstandardNth23phi) + dJ213L*PDstandardNth2phi +
+ J33L*(J21L*PDstandardNth23phi + J31L*PDstandardNth33phi) +
+ dJ313L*PDstandardNth3phi;
+
+ JacPDstandardNth21gt11 = J12L*(J11L*PDstandardNth11gt11 +
+ J21L*PDstandardNth12gt11 + J31L*PDstandardNth13gt11) +
+ J11L*(J22L*PDstandardNth12gt11 + J32L*PDstandardNth13gt11) +
+ dJ112L*PDstandardNth1gt11 + J22L*(J21L*PDstandardNth22gt11 +
+ J31L*PDstandardNth23gt11) + dJ212L*PDstandardNth2gt11 +
+ J32L*(J21L*PDstandardNth23gt11 + J31L*PDstandardNth33gt11) +
+ dJ312L*PDstandardNth3gt11;
+
+ JacPDstandardNth21gt12 = J12L*(J11L*PDstandardNth11gt12 +
+ J21L*PDstandardNth12gt12 + J31L*PDstandardNth13gt12) +
+ J11L*(J22L*PDstandardNth12gt12 + J32L*PDstandardNth13gt12) +
+ dJ112L*PDstandardNth1gt12 + J22L*(J21L*PDstandardNth22gt12 +
+ J31L*PDstandardNth23gt12) + dJ212L*PDstandardNth2gt12 +
+ J32L*(J21L*PDstandardNth23gt12 + J31L*PDstandardNth33gt12) +
+ dJ312L*PDstandardNth3gt12;
+
+ JacPDstandardNth21gt13 = J12L*(J11L*PDstandardNth11gt13 +
+ J21L*PDstandardNth12gt13 + J31L*PDstandardNth13gt13) +
+ J11L*(J22L*PDstandardNth12gt13 + J32L*PDstandardNth13gt13) +
+ dJ112L*PDstandardNth1gt13 + J22L*(J21L*PDstandardNth22gt13 +
+ J31L*PDstandardNth23gt13) + dJ212L*PDstandardNth2gt13 +
+ J32L*(J21L*PDstandardNth23gt13 + J31L*PDstandardNth33gt13) +
+ dJ312L*PDstandardNth3gt13;
+
+ JacPDstandardNth21gt22 = J12L*(J11L*PDstandardNth11gt22 +
+ J21L*PDstandardNth12gt22 + J31L*PDstandardNth13gt22) +
+ J11L*(J22L*PDstandardNth12gt22 + J32L*PDstandardNth13gt22) +
+ dJ112L*PDstandardNth1gt22 + J22L*(J21L*PDstandardNth22gt22 +
+ J31L*PDstandardNth23gt22) + dJ212L*PDstandardNth2gt22 +
+ J32L*(J21L*PDstandardNth23gt22 + J31L*PDstandardNth33gt22) +
+ dJ312L*PDstandardNth3gt22;
+
+ JacPDstandardNth21gt23 = J12L*(J11L*PDstandardNth11gt23 +
+ J21L*PDstandardNth12gt23 + J31L*PDstandardNth13gt23) +
+ J11L*(J22L*PDstandardNth12gt23 + J32L*PDstandardNth13gt23) +
+ dJ112L*PDstandardNth1gt23 + J22L*(J21L*PDstandardNth22gt23 +
+ J31L*PDstandardNth23gt23) + dJ212L*PDstandardNth2gt23 +
+ J32L*(J21L*PDstandardNth23gt23 + J31L*PDstandardNth33gt23) +
+ dJ312L*PDstandardNth3gt23;
+
+ JacPDstandardNth21gt33 = J12L*(J11L*PDstandardNth11gt33 +
+ J21L*PDstandardNth12gt33 + J31L*PDstandardNth13gt33) +
+ J11L*(J22L*PDstandardNth12gt33 + J32L*PDstandardNth13gt33) +
+ dJ112L*PDstandardNth1gt33 + J22L*(J21L*PDstandardNth22gt33 +
+ J31L*PDstandardNth23gt33) + dJ212L*PDstandardNth2gt33 +
+ J32L*(J21L*PDstandardNth23gt33 + J31L*PDstandardNth33gt33) +
+ dJ312L*PDstandardNth3gt33;
+
+ JacPDstandardNth23gt11 = J13L*(J12L*PDstandardNth11gt11 +
+ J22L*PDstandardNth12gt11 + J32L*PDstandardNth13gt11) +
+ J12L*(J23L*PDstandardNth12gt11 + J33L*PDstandardNth13gt11) +
+ dJ123L*PDstandardNth1gt11 + J23L*(J22L*PDstandardNth22gt11 +
+ J32L*PDstandardNth23gt11) + dJ223L*PDstandardNth2gt11 +
+ J33L*(J22L*PDstandardNth23gt11 + J32L*PDstandardNth33gt11) +
+ dJ323L*PDstandardNth3gt11;
+
+ JacPDstandardNth23gt12 = J13L*(J12L*PDstandardNth11gt12 +
+ J22L*PDstandardNth12gt12 + J32L*PDstandardNth13gt12) +
+ J12L*(J23L*PDstandardNth12gt12 + J33L*PDstandardNth13gt12) +
+ dJ123L*PDstandardNth1gt12 + J23L*(J22L*PDstandardNth22gt12 +
+ J32L*PDstandardNth23gt12) + dJ223L*PDstandardNth2gt12 +
+ J33L*(J22L*PDstandardNth23gt12 + J32L*PDstandardNth33gt12) +
+ dJ323L*PDstandardNth3gt12;
+
+ JacPDstandardNth23gt13 = J13L*(J12L*PDstandardNth11gt13 +
+ J22L*PDstandardNth12gt13 + J32L*PDstandardNth13gt13) +
+ J12L*(J23L*PDstandardNth12gt13 + J33L*PDstandardNth13gt13) +
+ dJ123L*PDstandardNth1gt13 + J23L*(J22L*PDstandardNth22gt13 +
+ J32L*PDstandardNth23gt13) + dJ223L*PDstandardNth2gt13 +
+ J33L*(J22L*PDstandardNth23gt13 + J32L*PDstandardNth33gt13) +
+ dJ323L*PDstandardNth3gt13;
+
+ JacPDstandardNth23gt22 = J13L*(J12L*PDstandardNth11gt22 +
+ J22L*PDstandardNth12gt22 + J32L*PDstandardNth13gt22) +
+ J12L*(J23L*PDstandardNth12gt22 + J33L*PDstandardNth13gt22) +
+ dJ123L*PDstandardNth1gt22 + J23L*(J22L*PDstandardNth22gt22 +
+ J32L*PDstandardNth23gt22) + dJ223L*PDstandardNth2gt22 +
+ J33L*(J22L*PDstandardNth23gt22 + J32L*PDstandardNth33gt22) +
+ dJ323L*PDstandardNth3gt22;
+
+ JacPDstandardNth23gt23 = J13L*(J12L*PDstandardNth11gt23 +
+ J22L*PDstandardNth12gt23 + J32L*PDstandardNth13gt23) +
+ J12L*(J23L*PDstandardNth12gt23 + J33L*PDstandardNth13gt23) +
+ dJ123L*PDstandardNth1gt23 + J23L*(J22L*PDstandardNth22gt23 +
+ J32L*PDstandardNth23gt23) + dJ223L*PDstandardNth2gt23 +
+ J33L*(J22L*PDstandardNth23gt23 + J32L*PDstandardNth33gt23) +
+ dJ323L*PDstandardNth3gt23;
+
+ JacPDstandardNth23gt33 = J13L*(J12L*PDstandardNth11gt33 +
+ J22L*PDstandardNth12gt33 + J32L*PDstandardNth13gt33) +
+ J12L*(J23L*PDstandardNth12gt33 + J33L*PDstandardNth13gt33) +
+ dJ123L*PDstandardNth1gt33 + J23L*(J22L*PDstandardNth22gt33 +
+ J32L*PDstandardNth23gt33) + dJ223L*PDstandardNth2gt33 +
+ J33L*(J22L*PDstandardNth23gt33 + J32L*PDstandardNth33gt33) +
+ dJ323L*PDstandardNth3gt33;
+
+ JacPDstandardNth23phi = J13L*(J12L*PDstandardNth11phi +
+ J22L*PDstandardNth12phi + J32L*PDstandardNth13phi) +
+ J12L*(J23L*PDstandardNth12phi + J33L*PDstandardNth13phi) +
+ dJ123L*PDstandardNth1phi + J23L*(J22L*PDstandardNth22phi +
+ J32L*PDstandardNth23phi) + dJ223L*PDstandardNth2phi +
+ J33L*(J22L*PDstandardNth23phi + J32L*PDstandardNth33phi) +
+ dJ323L*PDstandardNth3phi;
+
+ JacPDstandardNth31gt11 = J13L*(J11L*PDstandardNth11gt11 +
+ J21L*PDstandardNth12gt11 + J31L*PDstandardNth13gt11) +
+ J11L*(J23L*PDstandardNth12gt11 + J33L*PDstandardNth13gt11) +
+ dJ113L*PDstandardNth1gt11 + J23L*(J21L*PDstandardNth22gt11 +
+ J31L*PDstandardNth23gt11) + dJ213L*PDstandardNth2gt11 +
+ J33L*(J21L*PDstandardNth23gt11 + J31L*PDstandardNth33gt11) +
+ dJ313L*PDstandardNth3gt11;
+
+ JacPDstandardNth31gt12 = J13L*(J11L*PDstandardNth11gt12 +
+ J21L*PDstandardNth12gt12 + J31L*PDstandardNth13gt12) +
+ J11L*(J23L*PDstandardNth12gt12 + J33L*PDstandardNth13gt12) +
+ dJ113L*PDstandardNth1gt12 + J23L*(J21L*PDstandardNth22gt12 +
+ J31L*PDstandardNth23gt12) + dJ213L*PDstandardNth2gt12 +
+ J33L*(J21L*PDstandardNth23gt12 + J31L*PDstandardNth33gt12) +
+ dJ313L*PDstandardNth3gt12;
+
+ JacPDstandardNth31gt13 = J13L*(J11L*PDstandardNth11gt13 +
+ J21L*PDstandardNth12gt13 + J31L*PDstandardNth13gt13) +
+ J11L*(J23L*PDstandardNth12gt13 + J33L*PDstandardNth13gt13) +
+ dJ113L*PDstandardNth1gt13 + J23L*(J21L*PDstandardNth22gt13 +
+ J31L*PDstandardNth23gt13) + dJ213L*PDstandardNth2gt13 +
+ J33L*(J21L*PDstandardNth23gt13 + J31L*PDstandardNth33gt13) +
+ dJ313L*PDstandardNth3gt13;
+
+ JacPDstandardNth31gt22 = J13L*(J11L*PDstandardNth11gt22 +
+ J21L*PDstandardNth12gt22 + J31L*PDstandardNth13gt22) +
+ J11L*(J23L*PDstandardNth12gt22 + J33L*PDstandardNth13gt22) +
+ dJ113L*PDstandardNth1gt22 + J23L*(J21L*PDstandardNth22gt22 +
+ J31L*PDstandardNth23gt22) + dJ213L*PDstandardNth2gt22 +
+ J33L*(J21L*PDstandardNth23gt22 + J31L*PDstandardNth33gt22) +
+ dJ313L*PDstandardNth3gt22;
+
+ JacPDstandardNth31gt23 = J13L*(J11L*PDstandardNth11gt23 +
+ J21L*PDstandardNth12gt23 + J31L*PDstandardNth13gt23) +
+ J11L*(J23L*PDstandardNth12gt23 + J33L*PDstandardNth13gt23) +
+ dJ113L*PDstandardNth1gt23 + J23L*(J21L*PDstandardNth22gt23 +
+ J31L*PDstandardNth23gt23) + dJ213L*PDstandardNth2gt23 +
+ J33L*(J21L*PDstandardNth23gt23 + J31L*PDstandardNth33gt23) +
+ dJ313L*PDstandardNth3gt23;
+
+ JacPDstandardNth31gt33 = J13L*(J11L*PDstandardNth11gt33 +
+ J21L*PDstandardNth12gt33 + J31L*PDstandardNth13gt33) +
+ J11L*(J23L*PDstandardNth12gt33 + J33L*PDstandardNth13gt33) +
+ dJ113L*PDstandardNth1gt33 + J23L*(J21L*PDstandardNth22gt33 +
+ J31L*PDstandardNth23gt33) + dJ213L*PDstandardNth2gt33 +
+ J33L*(J21L*PDstandardNth23gt33 + J31L*PDstandardNth33gt33) +
+ dJ313L*PDstandardNth3gt33;
+
+ JacPDstandardNth32gt11 = J13L*(J12L*PDstandardNth11gt11 +
+ J22L*PDstandardNth12gt11 + J32L*PDstandardNth13gt11) +
+ J12L*(J23L*PDstandardNth12gt11 + J33L*PDstandardNth13gt11) +
+ dJ123L*PDstandardNth1gt11 + J23L*(J22L*PDstandardNth22gt11 +
+ J32L*PDstandardNth23gt11) + dJ223L*PDstandardNth2gt11 +
+ J33L*(J22L*PDstandardNth23gt11 + J32L*PDstandardNth33gt11) +
+ dJ323L*PDstandardNth3gt11;
+
+ JacPDstandardNth32gt12 = J13L*(J12L*PDstandardNth11gt12 +
+ J22L*PDstandardNth12gt12 + J32L*PDstandardNth13gt12) +
+ J12L*(J23L*PDstandardNth12gt12 + J33L*PDstandardNth13gt12) +
+ dJ123L*PDstandardNth1gt12 + J23L*(J22L*PDstandardNth22gt12 +
+ J32L*PDstandardNth23gt12) + dJ223L*PDstandardNth2gt12 +
+ J33L*(J22L*PDstandardNth23gt12 + J32L*PDstandardNth33gt12) +
+ dJ323L*PDstandardNth3gt12;
+
+ JacPDstandardNth32gt13 = J13L*(J12L*PDstandardNth11gt13 +
+ J22L*PDstandardNth12gt13 + J32L*PDstandardNth13gt13) +
+ J12L*(J23L*PDstandardNth12gt13 + J33L*PDstandardNth13gt13) +
+ dJ123L*PDstandardNth1gt13 + J23L*(J22L*PDstandardNth22gt13 +
+ J32L*PDstandardNth23gt13) + dJ223L*PDstandardNth2gt13 +
+ J33L*(J22L*PDstandardNth23gt13 + J32L*PDstandardNth33gt13) +
+ dJ323L*PDstandardNth3gt13;
+
+ JacPDstandardNth32gt22 = J13L*(J12L*PDstandardNth11gt22 +
+ J22L*PDstandardNth12gt22 + J32L*PDstandardNth13gt22) +
+ J12L*(J23L*PDstandardNth12gt22 + J33L*PDstandardNth13gt22) +
+ dJ123L*PDstandardNth1gt22 + J23L*(J22L*PDstandardNth22gt22 +
+ J32L*PDstandardNth23gt22) + dJ223L*PDstandardNth2gt22 +
+ J33L*(J22L*PDstandardNth23gt22 + J32L*PDstandardNth33gt22) +
+ dJ323L*PDstandardNth3gt22;
+
+ JacPDstandardNth32gt23 = J13L*(J12L*PDstandardNth11gt23 +
+ J22L*PDstandardNth12gt23 + J32L*PDstandardNth13gt23) +
+ J12L*(J23L*PDstandardNth12gt23 + J33L*PDstandardNth13gt23) +
+ dJ123L*PDstandardNth1gt23 + J23L*(J22L*PDstandardNth22gt23 +
+ J32L*PDstandardNth23gt23) + dJ223L*PDstandardNth2gt23 +
+ J33L*(J22L*PDstandardNth23gt23 + J32L*PDstandardNth33gt23) +
+ dJ323L*PDstandardNth3gt23;
+
+ JacPDstandardNth32gt33 = J13L*(J12L*PDstandardNth11gt33 +
+ J22L*PDstandardNth12gt33 + J32L*PDstandardNth13gt33) +
+ J12L*(J23L*PDstandardNth12gt33 + J33L*PDstandardNth13gt33) +
+ dJ123L*PDstandardNth1gt33 + J23L*(J22L*PDstandardNth22gt33 +
+ J32L*PDstandardNth23gt33) + dJ223L*PDstandardNth2gt33 +
+ J33L*(J22L*PDstandardNth23gt33 + J32L*PDstandardNth33gt33) +
+ dJ323L*PDstandardNth3gt33;
+ }
+ else
+ {
+ JacPDstandardNth1gt11 = PDstandardNth1gt11;
+
+ JacPDstandardNth1gt12 = PDstandardNth1gt12;
+
+ JacPDstandardNth1gt13 = PDstandardNth1gt13;
+
+ JacPDstandardNth1gt22 = PDstandardNth1gt22;
+
+ JacPDstandardNth1gt23 = PDstandardNth1gt23;
+
+ JacPDstandardNth1gt33 = PDstandardNth1gt33;
+
+ JacPDstandardNth1phi = PDstandardNth1phi;
+
+ JacPDstandardNth1Xt1 = PDstandardNth1Xt1;
+
+ JacPDstandardNth1Xt2 = PDstandardNth1Xt2;
+
+ JacPDstandardNth1Xt3 = PDstandardNth1Xt3;
+
+ JacPDstandardNth2gt11 = PDstandardNth2gt11;
+
+ JacPDstandardNth2gt12 = PDstandardNth2gt12;
+
+ JacPDstandardNth2gt13 = PDstandardNth2gt13;
+
+ JacPDstandardNth2gt22 = PDstandardNth2gt22;
+
+ JacPDstandardNth2gt23 = PDstandardNth2gt23;
+
+ JacPDstandardNth2gt33 = PDstandardNth2gt33;
+
+ JacPDstandardNth2phi = PDstandardNth2phi;
+
+ JacPDstandardNth2Xt1 = PDstandardNth2Xt1;
+
+ JacPDstandardNth2Xt2 = PDstandardNth2Xt2;
+
+ JacPDstandardNth2Xt3 = PDstandardNth2Xt3;
+
+ JacPDstandardNth3gt11 = PDstandardNth3gt11;
+
+ JacPDstandardNth3gt12 = PDstandardNth3gt12;
+
+ JacPDstandardNth3gt13 = PDstandardNth3gt13;
+
+ JacPDstandardNth3gt22 = PDstandardNth3gt22;
+
+ JacPDstandardNth3gt23 = PDstandardNth3gt23;
+
+ JacPDstandardNth3gt33 = PDstandardNth3gt33;
+
+ JacPDstandardNth3phi = PDstandardNth3phi;
+
+ JacPDstandardNth3Xt1 = PDstandardNth3Xt1;
+
+ JacPDstandardNth3Xt2 = PDstandardNth3Xt2;
+
+ JacPDstandardNth3Xt3 = PDstandardNth3Xt3;
+
+ JacPDstandardNth11gt11 = PDstandardNth11gt11;
+
+ JacPDstandardNth11gt12 = PDstandardNth11gt12;
+
+ JacPDstandardNth11gt13 = PDstandardNth11gt13;
+
+ JacPDstandardNth11gt22 = PDstandardNth11gt22;
+
+ JacPDstandardNth11gt23 = PDstandardNth11gt23;
+
+ JacPDstandardNth11gt33 = PDstandardNth11gt33;
+
+ JacPDstandardNth11phi = PDstandardNth11phi;
+
+ JacPDstandardNth22gt11 = PDstandardNth22gt11;
+
+ JacPDstandardNth22gt12 = PDstandardNth22gt12;
+
+ JacPDstandardNth22gt13 = PDstandardNth22gt13;
+
+ JacPDstandardNth22gt22 = PDstandardNth22gt22;
+
+ JacPDstandardNth22gt23 = PDstandardNth22gt23;
+
+ JacPDstandardNth22gt33 = PDstandardNth22gt33;
+
+ JacPDstandardNth22phi = PDstandardNth22phi;
+
+ JacPDstandardNth33gt11 = PDstandardNth33gt11;
+
+ JacPDstandardNth33gt12 = PDstandardNth33gt12;
+
+ JacPDstandardNth33gt13 = PDstandardNth33gt13;
+
+ JacPDstandardNth33gt22 = PDstandardNth33gt22;
+
+ JacPDstandardNth33gt23 = PDstandardNth33gt23;
+
+ JacPDstandardNth33gt33 = PDstandardNth33gt33;
+
+ JacPDstandardNth33phi = PDstandardNth33phi;
+
+ JacPDstandardNth12gt11 = PDstandardNth12gt11;
+
+ JacPDstandardNth12gt12 = PDstandardNth12gt12;
+
+ JacPDstandardNth12gt13 = PDstandardNth12gt13;
+
+ JacPDstandardNth12gt22 = PDstandardNth12gt22;
+
+ JacPDstandardNth12gt23 = PDstandardNth12gt23;
+
+ JacPDstandardNth12gt33 = PDstandardNth12gt33;
+
+ JacPDstandardNth12phi = PDstandardNth12phi;
+
+ JacPDstandardNth13gt11 = PDstandardNth13gt11;
+
+ JacPDstandardNth13gt12 = PDstandardNth13gt12;
+
+ JacPDstandardNth13gt13 = PDstandardNth13gt13;
+
+ JacPDstandardNth13gt22 = PDstandardNth13gt22;
+
+ JacPDstandardNth13gt23 = PDstandardNth13gt23;
+
+ JacPDstandardNth13gt33 = PDstandardNth13gt33;
+
+ JacPDstandardNth13phi = PDstandardNth13phi;
+
+ JacPDstandardNth21gt11 = PDstandardNth12gt11;
+
+ JacPDstandardNth21gt12 = PDstandardNth12gt12;
+
+ JacPDstandardNth21gt13 = PDstandardNth12gt13;
+
+ JacPDstandardNth21gt22 = PDstandardNth12gt22;
+
+ JacPDstandardNth21gt23 = PDstandardNth12gt23;
+
+ JacPDstandardNth21gt33 = PDstandardNth12gt33;
+
+ JacPDstandardNth23gt11 = PDstandardNth23gt11;
+
+ JacPDstandardNth23gt12 = PDstandardNth23gt12;
+
+ JacPDstandardNth23gt13 = PDstandardNth23gt13;
+
+ JacPDstandardNth23gt22 = PDstandardNth23gt22;
+
+ JacPDstandardNth23gt23 = PDstandardNth23gt23;
+
+ JacPDstandardNth23gt33 = PDstandardNth23gt33;
+
+ JacPDstandardNth23phi = PDstandardNth23phi;
+
+ JacPDstandardNth31gt11 = PDstandardNth13gt11;
+
+ JacPDstandardNth31gt12 = PDstandardNth13gt12;
+
+ JacPDstandardNth31gt13 = PDstandardNth13gt13;
+
+ JacPDstandardNth31gt22 = PDstandardNth13gt22;
+
+ JacPDstandardNth31gt23 = PDstandardNth13gt23;
+
+ JacPDstandardNth31gt33 = PDstandardNth13gt33;
+
+ JacPDstandardNth32gt11 = PDstandardNth23gt11;
+
+ JacPDstandardNth32gt12 = PDstandardNth23gt12;
+
+ JacPDstandardNth32gt13 = PDstandardNth23gt13;
+
+ JacPDstandardNth32gt22 = PDstandardNth23gt22;
+
+ JacPDstandardNth32gt23 = PDstandardNth23gt23;
+
+ JacPDstandardNth32gt33 = PDstandardNth23gt33;
+ }
+
CCTK_REAL detgt = 1;
CCTK_REAL gtu11 = INV(detgt)*(gt22L*gt33L - SQR(gt23L));
@@ -286,74 +1141,44 @@ static void ML_BSSN_MP_O8_constraints1_Body(cGH const * restrict const cctkGH, i
CCTK_REAL gtu33 = INV(detgt)*(gt11L*gt22L - SQR(gt12L));
- CCTK_REAL Gtl111 = 0.5*(J11L*PDstandardNth1gt11 +
- J21L*PDstandardNth2gt11 + J31L*PDstandardNth3gt11);
+ CCTK_REAL Gtl111 = 0.5*JacPDstandardNth1gt11;
- CCTK_REAL Gtl112 = 0.5*(J12L*PDstandardNth1gt11 +
- J22L*PDstandardNth2gt11 + J32L*PDstandardNth3gt11);
+ CCTK_REAL Gtl112 = 0.5*JacPDstandardNth2gt11;
- CCTK_REAL Gtl113 = 0.5*(J13L*PDstandardNth1gt11 +
- J23L*PDstandardNth2gt11 + J33L*PDstandardNth3gt11);
+ CCTK_REAL Gtl113 = 0.5*JacPDstandardNth3gt11;
- CCTK_REAL Gtl122 = J12L*PDstandardNth1gt12 + J22L*PDstandardNth2gt12 +
- J32L*PDstandardNth3gt12 - 0.5*(J11L*PDstandardNth1gt22 +
- J21L*PDstandardNth2gt22 + J31L*PDstandardNth3gt22);
+ CCTK_REAL Gtl122 = -0.5*JacPDstandardNth1gt22 + JacPDstandardNth2gt12;
- CCTK_REAL Gtl123 = 0.5*(J13L*PDstandardNth1gt12 +
- J12L*PDstandardNth1gt13 - J11L*PDstandardNth1gt23 +
- J23L*PDstandardNth2gt12 + J22L*PDstandardNth2gt13 -
- J21L*PDstandardNth2gt23 + J33L*PDstandardNth3gt12 +
- J32L*PDstandardNth3gt13 - J31L*PDstandardNth3gt23);
+ CCTK_REAL Gtl123 = 0.5*(-JacPDstandardNth1gt23 + JacPDstandardNth2gt13
+ + JacPDstandardNth3gt12);
- CCTK_REAL Gtl133 = J13L*PDstandardNth1gt13 + J23L*PDstandardNth2gt13 +
- J33L*PDstandardNth3gt13 - 0.5*(J11L*PDstandardNth1gt33 +
- J21L*PDstandardNth2gt33 + J31L*PDstandardNth3gt33);
+ CCTK_REAL Gtl133 = -0.5*JacPDstandardNth1gt33 + JacPDstandardNth3gt13;
- CCTK_REAL Gtl211 = J11L*PDstandardNth1gt12 + J21L*PDstandardNth2gt12 -
- 0.5*(J12L*PDstandardNth1gt11 + J22L*PDstandardNth2gt11 +
- J32L*PDstandardNth3gt11) + J31L*PDstandardNth3gt12;
+ CCTK_REAL Gtl211 = JacPDstandardNth1gt12 - 0.5*JacPDstandardNth2gt11;
- CCTK_REAL Gtl212 = 0.5*(J11L*PDstandardNth1gt22 +
- J21L*PDstandardNth2gt22 + J31L*PDstandardNth3gt22);
+ CCTK_REAL Gtl212 = 0.5*JacPDstandardNth1gt22;
- CCTK_REAL Gtl213 = 0.5*(J13L*PDstandardNth1gt12 -
- J12L*PDstandardNth1gt13 + J11L*PDstandardNth1gt23 +
- J23L*PDstandardNth2gt12 - J22L*PDstandardNth2gt13 +
- J21L*PDstandardNth2gt23 + J33L*PDstandardNth3gt12 -
- J32L*PDstandardNth3gt13 + J31L*PDstandardNth3gt23);
+ CCTK_REAL Gtl213 = 0.5*(JacPDstandardNth1gt23 - JacPDstandardNth2gt13
+ + JacPDstandardNth3gt12);
- CCTK_REAL Gtl222 = 0.5*(J12L*PDstandardNth1gt22 +
- J22L*PDstandardNth2gt22 + J32L*PDstandardNth3gt22);
+ CCTK_REAL Gtl222 = 0.5*JacPDstandardNth2gt22;
- CCTK_REAL Gtl223 = 0.5*(J13L*PDstandardNth1gt22 +
- J23L*PDstandardNth2gt22 + J33L*PDstandardNth3gt22);
+ CCTK_REAL Gtl223 = 0.5*JacPDstandardNth3gt22;
- CCTK_REAL Gtl233 = J13L*PDstandardNth1gt23 + J23L*PDstandardNth2gt23 +
- J33L*PDstandardNth3gt23 - 0.5*(J12L*PDstandardNth1gt33 +
- J22L*PDstandardNth2gt33 + J32L*PDstandardNth3gt33);
+ CCTK_REAL Gtl233 = -0.5*JacPDstandardNth2gt33 + JacPDstandardNth3gt23;
- CCTK_REAL Gtl311 = J11L*PDstandardNth1gt13 + J21L*PDstandardNth2gt13 -
- 0.5*(J13L*PDstandardNth1gt11 + J23L*PDstandardNth2gt11 +
- J33L*PDstandardNth3gt11) + J31L*PDstandardNth3gt13;
+ CCTK_REAL Gtl311 = JacPDstandardNth1gt13 - 0.5*JacPDstandardNth3gt11;
- CCTK_REAL Gtl312 = 0.5*(-(J13L*PDstandardNth1gt12) +
- J12L*PDstandardNth1gt13 + J11L*PDstandardNth1gt23 -
- J23L*PDstandardNth2gt12 + J22L*PDstandardNth2gt13 +
- J21L*PDstandardNth2gt23 - J33L*PDstandardNth3gt12 +
- J32L*PDstandardNth3gt13 + J31L*PDstandardNth3gt23);
+ CCTK_REAL Gtl312 = 0.5*(JacPDstandardNth1gt23 + JacPDstandardNth2gt13
+ - JacPDstandardNth3gt12);
- CCTK_REAL Gtl313 = 0.5*(J11L*PDstandardNth1gt33 +
- J21L*PDstandardNth2gt33 + J31L*PDstandardNth3gt33);
+ CCTK_REAL Gtl313 = 0.5*JacPDstandardNth1gt33;
- CCTK_REAL Gtl322 = J12L*PDstandardNth1gt23 + J22L*PDstandardNth2gt23 -
- 0.5*(J13L*PDstandardNth1gt22 + J23L*PDstandardNth2gt22 +
- J33L*PDstandardNth3gt22) + J32L*PDstandardNth3gt23;
+ CCTK_REAL Gtl322 = JacPDstandardNth2gt23 - 0.5*JacPDstandardNth3gt22;
- CCTK_REAL Gtl323 = 0.5*(J12L*PDstandardNth1gt33 +
- J22L*PDstandardNth2gt33 + J32L*PDstandardNth3gt33);
+ CCTK_REAL Gtl323 = 0.5*JacPDstandardNth2gt33;
- CCTK_REAL Gtl333 = 0.5*(J13L*PDstandardNth1gt33 +
- J23L*PDstandardNth2gt33 + J33L*PDstandardNth3gt33);
+ CCTK_REAL Gtl333 = 0.5*JacPDstandardNth3gt33;
CCTK_REAL Gtlu111 = Gtl111*gtu11 + Gtl112*gtu12 + Gtl113*gtu13;
@@ -454,381 +1279,125 @@ static void ML_BSSN_MP_O8_constraints1_Body(cGH const * restrict const cctkGH, i
CCTK_REAL Xtn3 = Gt311*gtu11 + Gt322*gtu22 + 2*(Gt312*gtu12 +
Gt313*gtu13 + Gt323*gtu23) + Gt333*gtu33;
- CCTK_REAL Rt11 = 3*(Gt111*Gtlu111 + Gt112*Gtlu112 + Gt113*Gtlu113) +
- 2*(Gt211*Gtlu121 + Gt212*Gtlu122 + Gt213*Gtlu123 + Gt311*Gtlu131 +
- Gt312*Gtlu132 + Gt313*Gtlu133) + Gt211*Gtlu211 + Gt212*Gtlu212 +
+ CCTK_REAL Rt11 = 0.5*(6*(Gt111*Gtlu111 + Gt112*Gtlu112 +
+ Gt113*Gtlu113) + 4*(Gt211*Gtlu121 + Gt212*Gtlu122 + Gt213*Gtlu123 +
+ Gt311*Gtlu131 + Gt312*Gtlu132 + Gt313*Gtlu133) -
+ gtu11*JacPDstandardNth11gt11 + 2*(Gt211*Gtlu211 + Gt212*Gtlu212 +
Gt213*Gtlu213 + Gt311*Gtlu311 + Gt312*Gtlu312 + Gt313*Gtlu313 +
- J11L*(gt11L*PDstandardNth1Xt1 + gt12L*PDstandardNth1Xt2 +
- gt13L*PDstandardNth1Xt3) + J21L*(gt11L*PDstandardNth2Xt1 +
- gt12L*PDstandardNth2Xt2 + gt13L*PDstandardNth2Xt3) -
- gtu12*(J11L*J12L*PDstandardNth11gt11 + J12L*J21L*PDstandardNth12gt11 +
- J11L*J22L*PDstandardNth12gt11 + J12L*J31L*PDstandardNth13gt11 +
- J11L*J32L*PDstandardNth13gt11 + dJ112L*PDstandardNth1gt11 +
- J21L*J22L*PDstandardNth22gt11 + J22L*J31L*PDstandardNth23gt11 +
- J21L*J32L*PDstandardNth23gt11 + dJ212L*PDstandardNth2gt11 +
- J31L*J32L*PDstandardNth33gt11 + dJ312L*PDstandardNth3gt11) -
- gtu13*(J11L*J13L*PDstandardNth11gt11 + J13L*J21L*PDstandardNth12gt11 +
- J11L*J23L*PDstandardNth12gt11 + J13L*J31L*PDstandardNth13gt11 +
- J11L*J33L*PDstandardNth13gt11 + dJ113L*PDstandardNth1gt11 +
- J21L*J23L*PDstandardNth22gt11 + J23L*J31L*PDstandardNth23gt11 +
- J21L*J33L*PDstandardNth23gt11 + dJ213L*PDstandardNth2gt11 +
- J31L*J33L*PDstandardNth33gt11 + dJ313L*PDstandardNth3gt11) -
- gtu23*(J12L*J13L*PDstandardNth11gt11 + J13L*J22L*PDstandardNth12gt11 +
- J12L*J23L*PDstandardNth12gt11 + J13L*J32L*PDstandardNth13gt11 +
- J12L*J33L*PDstandardNth13gt11 + dJ123L*PDstandardNth1gt11 +
- J22L*J23L*PDstandardNth22gt11 + J23L*J32L*PDstandardNth23gt11 +
- J22L*J33L*PDstandardNth23gt11 + dJ223L*PDstandardNth2gt11 +
- J32L*J33L*PDstandardNth33gt11 + dJ323L*PDstandardNth3gt11) +
- gt11L*J31L*PDstandardNth3Xt1 + gt12L*J31L*PDstandardNth3Xt2 +
- gt13L*J31L*PDstandardNth3Xt3 + Gtl111*Xtn1 + Gtl112*Xtn2 + Gtl113*Xtn3
- - 0.5*gtu11*(2*J11L*J21L*PDstandardNth12gt11 +
- 2*J11L*J31L*PDstandardNth13gt11 + dJ111L*PDstandardNth1gt11 +
- 2*J21L*J31L*PDstandardNth23gt11 + dJ211L*PDstandardNth2gt11 +
- dJ311L*PDstandardNth3gt11 + PDstandardNth11gt11*SQR(J11L) +
- PDstandardNth22gt11*SQR(J21L) + PDstandardNth33gt11*SQR(J31L)) -
- 0.5*gtu22*(2*J12L*J22L*PDstandardNth12gt11 +
- 2*J12L*J32L*PDstandardNth13gt11 + dJ122L*PDstandardNth1gt11 +
- 2*J22L*J32L*PDstandardNth23gt11 + dJ222L*PDstandardNth2gt11 +
- dJ322L*PDstandardNth3gt11 + PDstandardNth11gt11*SQR(J12L) +
- PDstandardNth22gt11*SQR(J22L) + PDstandardNth33gt11*SQR(J32L)) -
- 0.5*gtu33*(2*J13L*J23L*PDstandardNth12gt11 +
- 2*J13L*J33L*PDstandardNth13gt11 + dJ133L*PDstandardNth1gt11 +
- 2*J23L*J33L*PDstandardNth23gt11 + dJ233L*PDstandardNth2gt11 +
- dJ333L*PDstandardNth3gt11 + PDstandardNth11gt11*SQR(J13L) +
- PDstandardNth22gt11*SQR(J23L) + PDstandardNth33gt11*SQR(J33L));
+ gt11L*JacPDstandardNth1Xt1) + 2*gt12L*JacPDstandardNth1Xt2 +
+ 2*gt13L*JacPDstandardNth1Xt3 + gtu12*(-JacPDstandardNth12gt11 -
+ JacPDstandardNth21gt11) - gtu22*JacPDstandardNth22gt11 +
+ gtu13*(-JacPDstandardNth13gt11 - JacPDstandardNth31gt11) +
+ gtu23*(-JacPDstandardNth23gt11 - JacPDstandardNth32gt11) -
+ gtu33*JacPDstandardNth33gt11 + 2*Gtl111*Xtn1 + 2*Gtl112*Xtn2 +
+ 2*Gtl113*Xtn3);
CCTK_REAL Rt12 = 0.5*(4*(Gt211*Gtlu221 + Gt212*Gtlu222 +
- Gt213*Gtlu223) + 2*(Gt112*Gtlu111 + Gt122*Gtlu112 + Gt123*Gtlu113 +
- Gt111*Gtlu121 + Gt212*Gtlu121 + Gt112*Gtlu122 + Gt222*Gtlu122 +
- Gt113*Gtlu123 + Gt223*Gtlu123 + Gt312*Gtlu131 + Gt322*Gtlu132 +
- Gt323*Gtlu133 + Gt111*Gtlu211 + Gt112*Gtlu212 + Gt113*Gtlu213 +
- Gt311*Gtlu231 + Gt312*Gtlu232 + Gt313*Gtlu233 + Gt311*Gtlu321 +
- Gt312*Gtlu322 + Gt313*Gtlu323) + (gt12L*J11L +
- gt11L*J12L)*PDstandardNth1Xt1 + (gt22L*J11L +
- gt12L*J12L)*PDstandardNth1Xt2 + (gt23L*J11L +
- gt13L*J12L)*PDstandardNth1Xt3 + (gt12L*J21L +
- gt11L*J22L)*PDstandardNth2Xt1 + (gt22L*J21L +
- gt12L*J22L)*PDstandardNth2Xt2 + (gt23L*J21L +
- gt13L*J22L)*PDstandardNth2Xt3 - 2*(gtu12*(J11L*J12L*PDstandardNth11gt12
- + J12L*J21L*PDstandardNth12gt12 + J11L*J22L*PDstandardNth12gt12 +
- J12L*J31L*PDstandardNth13gt12 + J11L*J32L*PDstandardNth13gt12 +
- dJ112L*PDstandardNth1gt12 + J21L*J22L*PDstandardNth22gt12 +
- J22L*J31L*PDstandardNth23gt12 + J21L*J32L*PDstandardNth23gt12 +
- dJ212L*PDstandardNth2gt12 + J31L*J32L*PDstandardNth33gt12 +
- dJ312L*PDstandardNth3gt12) + gtu13*(J11L*J13L*PDstandardNth11gt12 +
- J13L*J21L*PDstandardNth12gt12 + J11L*J23L*PDstandardNth12gt12 +
- J13L*J31L*PDstandardNth13gt12 + J11L*J33L*PDstandardNth13gt12 +
- dJ113L*PDstandardNth1gt12 + J21L*J23L*PDstandardNth22gt12 +
- J23L*J31L*PDstandardNth23gt12 + J21L*J33L*PDstandardNth23gt12 +
- dJ213L*PDstandardNth2gt12 + J31L*J33L*PDstandardNth33gt12 +
- dJ313L*PDstandardNth3gt12) + gtu23*(J12L*J13L*PDstandardNth11gt12 +
- J13L*J22L*PDstandardNth12gt12 + J12L*J23L*PDstandardNth12gt12 +
- J13L*J32L*PDstandardNth13gt12 + J12L*J33L*PDstandardNth13gt12 +
- dJ123L*PDstandardNth1gt12 + J22L*J23L*PDstandardNth22gt12 +
- J23L*J32L*PDstandardNth23gt12 + J22L*J33L*PDstandardNth23gt12 +
- dJ223L*PDstandardNth2gt12 + J32L*J33L*PDstandardNth33gt12 +
- dJ323L*PDstandardNth3gt12)) + (gt12L*J31L +
- gt11L*J32L)*PDstandardNth3Xt1 + (gt22L*J31L +
- gt12L*J32L)*PDstandardNth3Xt2 + (gt23L*J31L +
- gt13L*J32L)*PDstandardNth3Xt3 + (Gtl112 + Gtl211)*Xtn1 + (Gtl122 +
- Gtl212)*Xtn2 + (Gtl123 + Gtl213)*Xtn3 -
- gtu11*(2*J11L*J21L*PDstandardNth12gt12 +
- 2*J11L*J31L*PDstandardNth13gt12 + dJ111L*PDstandardNth1gt12 +
- 2*J21L*J31L*PDstandardNth23gt12 + dJ211L*PDstandardNth2gt12 +
- dJ311L*PDstandardNth3gt12 + PDstandardNth11gt12*SQR(J11L) +
- PDstandardNth22gt12*SQR(J21L) + PDstandardNth33gt12*SQR(J31L)) -
- gtu22*(2*J12L*J22L*PDstandardNth12gt12 +
- 2*J12L*J32L*PDstandardNth13gt12 + dJ122L*PDstandardNth1gt12 +
- 2*J22L*J32L*PDstandardNth23gt12 + dJ222L*PDstandardNth2gt12 +
- dJ322L*PDstandardNth3gt12 + PDstandardNth11gt12*SQR(J12L) +
- PDstandardNth22gt12*SQR(J22L) + PDstandardNth33gt12*SQR(J32L)) -
- gtu33*(2*J13L*J23L*PDstandardNth12gt12 +
- 2*J13L*J33L*PDstandardNth13gt12 + dJ133L*PDstandardNth1gt12 +
- 2*J23L*J33L*PDstandardNth23gt12 + dJ233L*PDstandardNth2gt12 +
- dJ333L*PDstandardNth3gt12 + PDstandardNth11gt12*SQR(J13L) +
- PDstandardNth22gt12*SQR(J23L) + PDstandardNth33gt12*SQR(J33L)));
-
- CCTK_REAL Rt13 = 0.5*(2*(Gt113*Gtlu111 + Gt123*Gtlu112 + Gt133*Gtlu113
- + Gt213*Gtlu121 + Gt223*Gtlu122 + Gt233*Gtlu123 + Gt111*Gtlu131 +
- Gt313*Gtlu131 + Gt112*Gtlu132 + Gt323*Gtlu132 + Gt113*Gtlu133 +
- Gt333*Gtlu133 + Gt211*Gtlu231 + Gt212*Gtlu232 + Gt213*Gtlu233 +
- Gt111*Gtlu311 + Gt112*Gtlu312 + Gt113*Gtlu313 + Gt211*Gtlu321 +
- Gt212*Gtlu322 + Gt213*Gtlu323) + 4*(Gt311*Gtlu331 + Gt312*Gtlu332 +
- Gt313*Gtlu333) + (gt13L*J11L + gt11L*J13L)*PDstandardNth1Xt1 +
- (gt23L*J11L + gt12L*J13L)*PDstandardNth1Xt2 + (gt33L*J11L +
- gt13L*J13L)*PDstandardNth1Xt3 + (gt13L*J21L +
- gt11L*J23L)*PDstandardNth2Xt1 + (gt23L*J21L +
- gt12L*J23L)*PDstandardNth2Xt2 + (gt33L*J21L +
- gt13L*J23L)*PDstandardNth2Xt3 - 2*(gtu12*(J11L*J12L*PDstandardNth11gt13
- + J12L*J21L*PDstandardNth12gt13 + J11L*J22L*PDstandardNth12gt13 +
- J12L*J31L*PDstandardNth13gt13 + J11L*J32L*PDstandardNth13gt13 +
- dJ112L*PDstandardNth1gt13 + J21L*J22L*PDstandardNth22gt13 +
- J22L*J31L*PDstandardNth23gt13 + J21L*J32L*PDstandardNth23gt13 +
- dJ212L*PDstandardNth2gt13 + J31L*J32L*PDstandardNth33gt13 +
- dJ312L*PDstandardNth3gt13) + gtu13*(J11L*J13L*PDstandardNth11gt13 +
- J13L*J21L*PDstandardNth12gt13 + J11L*J23L*PDstandardNth12gt13 +
- J13L*J31L*PDstandardNth13gt13 + J11L*J33L*PDstandardNth13gt13 +
- dJ113L*PDstandardNth1gt13 + J21L*J23L*PDstandardNth22gt13 +
- J23L*J31L*PDstandardNth23gt13 + J21L*J33L*PDstandardNth23gt13 +
- dJ213L*PDstandardNth2gt13 + J31L*J33L*PDstandardNth33gt13 +
- dJ313L*PDstandardNth3gt13) + gtu23*(J12L*J13L*PDstandardNth11gt13 +
- J13L*J22L*PDstandardNth12gt13 + J12L*J23L*PDstandardNth12gt13 +
- J13L*J32L*PDstandardNth13gt13 + J12L*J33L*PDstandardNth13gt13 +
- dJ123L*PDstandardNth1gt13 + J22L*J23L*PDstandardNth22gt13 +
- J23L*J32L*PDstandardNth23gt13 + J22L*J33L*PDstandardNth23gt13 +
- dJ223L*PDstandardNth2gt13 + J32L*J33L*PDstandardNth33gt13 +
- dJ323L*PDstandardNth3gt13)) + (gt13L*J31L +
- gt11L*J33L)*PDstandardNth3Xt1 + (gt23L*J31L +
- gt12L*J33L)*PDstandardNth3Xt2 + (gt33L*J31L +
- gt13L*J33L)*PDstandardNth3Xt3 + (Gtl113 + Gtl311)*Xtn1 + (Gtl123 +
- Gtl312)*Xtn2 + (Gtl133 + Gtl313)*Xtn3 -
- gtu11*(2*J11L*J21L*PDstandardNth12gt13 +
- 2*J11L*J31L*PDstandardNth13gt13 + dJ111L*PDstandardNth1gt13 +
- 2*J21L*J31L*PDstandardNth23gt13 + dJ211L*PDstandardNth2gt13 +
- dJ311L*PDstandardNth3gt13 + PDstandardNth11gt13*SQR(J11L) +
- PDstandardNth22gt13*SQR(J21L) + PDstandardNth33gt13*SQR(J31L)) -
- gtu22*(2*J12L*J22L*PDstandardNth12gt13 +
- 2*J12L*J32L*PDstandardNth13gt13 + dJ122L*PDstandardNth1gt13 +
- 2*J22L*J32L*PDstandardNth23gt13 + dJ222L*PDstandardNth2gt13 +
- dJ322L*PDstandardNth3gt13 + PDstandardNth11gt13*SQR(J12L) +
- PDstandardNth22gt13*SQR(J22L) + PDstandardNth33gt13*SQR(J32L)) -
- gtu33*(2*J13L*J23L*PDstandardNth12gt13 +
- 2*J13L*J33L*PDstandardNth13gt13 + dJ133L*PDstandardNth1gt13 +
- 2*J23L*J33L*PDstandardNth23gt13 + dJ233L*PDstandardNth2gt13 +
- dJ333L*PDstandardNth3gt13 + PDstandardNth11gt13*SQR(J13L) +
- PDstandardNth22gt13*SQR(J23L) + PDstandardNth33gt13*SQR(J33L)));
-
- CCTK_REAL Rt22 = Gt112*(Gtlu121 + 2*Gtlu211) + Gt122*(Gtlu122 +
- 2*Gtlu212) + Gt123*(Gtlu123 + 2*Gtlu213) + 3*(Gt212*Gtlu221 +
- Gt222*Gtlu222 + Gt223*Gtlu223) + 2*(Gt312*Gtlu231 + Gt322*Gtlu232 +
- Gt323*Gtlu233) + Gt312*Gtlu321 + Gt322*Gtlu322 + Gt323*Gtlu323 +
- J12L*(gt12L*PDstandardNth1Xt1 + gt22L*PDstandardNth1Xt2 +
- gt23L*PDstandardNth1Xt3) + J22L*(gt12L*PDstandardNth2Xt1 +
- gt22L*PDstandardNth2Xt2 + gt23L*PDstandardNth2Xt3) -
- gtu12*(J11L*J12L*PDstandardNth11gt22 + J12L*J21L*PDstandardNth12gt22 +
- J11L*J22L*PDstandardNth12gt22 + J12L*J31L*PDstandardNth13gt22 +
- J11L*J32L*PDstandardNth13gt22 + dJ112L*PDstandardNth1gt22 +
- J21L*J22L*PDstandardNth22gt22 + J22L*J31L*PDstandardNth23gt22 +
- J21L*J32L*PDstandardNth23gt22 + dJ212L*PDstandardNth2gt22 +
- J31L*J32L*PDstandardNth33gt22 + dJ312L*PDstandardNth3gt22) -
- gtu13*(J11L*J13L*PDstandardNth11gt22 + J13L*J21L*PDstandardNth12gt22 +
- J11L*J23L*PDstandardNth12gt22 + J13L*J31L*PDstandardNth13gt22 +
- J11L*J33L*PDstandardNth13gt22 + dJ113L*PDstandardNth1gt22 +
- J21L*J23L*PDstandardNth22gt22 + J23L*J31L*PDstandardNth23gt22 +
- J21L*J33L*PDstandardNth23gt22 + dJ213L*PDstandardNth2gt22 +
- J31L*J33L*PDstandardNth33gt22 + dJ313L*PDstandardNth3gt22) -
- gtu23*(J12L*J13L*PDstandardNth11gt22 + J13L*J22L*PDstandardNth12gt22 +
- J12L*J23L*PDstandardNth12gt22 + J13L*J32L*PDstandardNth13gt22 +
- J12L*J33L*PDstandardNth13gt22 + dJ123L*PDstandardNth1gt22 +
- J22L*J23L*PDstandardNth22gt22 + J23L*J32L*PDstandardNth23gt22 +
- J22L*J33L*PDstandardNth23gt22 + dJ223L*PDstandardNth2gt22 +
- J32L*J33L*PDstandardNth33gt22 + dJ323L*PDstandardNth3gt22) +
- gt12L*J32L*PDstandardNth3Xt1 + gt22L*J32L*PDstandardNth3Xt2 +
- gt23L*J32L*PDstandardNth3Xt3 + Gtl212*Xtn1 + Gtl222*Xtn2 + Gtl223*Xtn3
- - 0.5*gtu11*(2*J11L*J21L*PDstandardNth12gt22 +
- 2*J11L*J31L*PDstandardNth13gt22 + dJ111L*PDstandardNth1gt22 +
- 2*J21L*J31L*PDstandardNth23gt22 + dJ211L*PDstandardNth2gt22 +
- dJ311L*PDstandardNth3gt22 + PDstandardNth11gt22*SQR(J11L) +
- PDstandardNth22gt22*SQR(J21L) + PDstandardNth33gt22*SQR(J31L)) -
- 0.5*gtu22*(2*J12L*J22L*PDstandardNth12gt22 +
- 2*J12L*J32L*PDstandardNth13gt22 + dJ122L*PDstandardNth1gt22 +
- 2*J22L*J32L*PDstandardNth23gt22 + dJ222L*PDstandardNth2gt22 +
- dJ322L*PDstandardNth3gt22 + PDstandardNth11gt22*SQR(J12L) +
- PDstandardNth22gt22*SQR(J22L) + PDstandardNth33gt22*SQR(J32L)) -
- 0.5*gtu33*(2*J13L*J23L*PDstandardNth12gt22 +
- 2*J13L*J33L*PDstandardNth13gt22 + dJ133L*PDstandardNth1gt22 +
- 2*J23L*J33L*PDstandardNth23gt22 + dJ233L*PDstandardNth2gt22 +
- dJ333L*PDstandardNth3gt22 + PDstandardNth11gt22*SQR(J13L) +
- PDstandardNth22gt22*SQR(J23L) + PDstandardNth33gt22*SQR(J33L));
-
- CCTK_REAL Rt23 = 0.5*(2*(Gt112*Gtlu131 + Gt122*Gtlu132 + Gt123*Gtlu133
- + Gt113*Gtlu211 + Gt123*Gtlu212 + Gt133*Gtlu213 + Gt213*Gtlu221 +
- Gt223*Gtlu222 + Gt233*Gtlu223 + Gt212*Gtlu231 + Gt313*Gtlu231 +
- Gt222*Gtlu232 + Gt323*Gtlu232 + Gt223*Gtlu233 + Gt333*Gtlu233 +
- Gt112*Gtlu311 + Gt122*Gtlu312 + Gt123*Gtlu313 + Gt212*Gtlu321 +
+ Gt213*Gtlu223) + 2*(Gt122*Gtlu112 + Gt123*Gtlu113 + Gt111*Gtlu121 +
+ Gt212*Gtlu121 + Gt222*Gtlu122 + Gt113*Gtlu123 + Gt223*Gtlu123 +
+ Gt312*Gtlu131 + Gt322*Gtlu132 + Gt323*Gtlu133 + Gt111*Gtlu211 +
+ Gt112*(Gtlu111 + Gtlu122 + Gtlu212) + Gt113*Gtlu213 + Gt311*Gtlu231 +
+ Gt312*Gtlu232 + Gt313*Gtlu233 + Gt311*Gtlu321 + Gt312*Gtlu322 +
+ Gt313*Gtlu323) - gtu11*JacPDstandardNth11gt12 +
+ gt12L*JacPDstandardNth1Xt1 + gt22L*JacPDstandardNth1Xt2 +
+ gt23L*JacPDstandardNth1Xt3 + gtu12*(-JacPDstandardNth12gt12 -
+ JacPDstandardNth21gt12) - gtu22*JacPDstandardNth22gt12 +
+ gt11L*JacPDstandardNth2Xt1 + gt12L*JacPDstandardNth2Xt2 +
+ gt13L*JacPDstandardNth2Xt3 + gtu13*(-JacPDstandardNth13gt12 -
+ JacPDstandardNth31gt12) + gtu23*(-JacPDstandardNth23gt12 -
+ JacPDstandardNth32gt12) - gtu33*JacPDstandardNth33gt12 + Gtl112*Xtn1 +
+ Gtl211*Xtn1 + Gtl122*Xtn2 + Gtl212*Xtn2 + Gtl123*Xtn3 + Gtl213*Xtn3);
+
+ CCTK_REAL Rt13 = 0.5*(2*(Gt123*Gtlu112 + Gt133*Gtlu113 + Gt213*Gtlu121
+ + Gt223*Gtlu122 + Gt233*Gtlu123 + Gt111*Gtlu131 + Gt313*Gtlu131 +
+ Gt112*Gtlu132 + Gt323*Gtlu132 + Gt333*Gtlu133 + Gt211*Gtlu231 +
+ Gt212*Gtlu232 + Gt213*Gtlu233 + Gt111*Gtlu311 + Gt112*Gtlu312 +
+ Gt113*(Gtlu111 + Gtlu133 + Gtlu313) + Gt211*Gtlu321 + Gt212*Gtlu322 +
+ Gt213*Gtlu323) + 4*(Gt311*Gtlu331 + Gt312*Gtlu332 + Gt313*Gtlu333) -
+ gtu11*JacPDstandardNth11gt13 + gt13L*JacPDstandardNth1Xt1 +
+ gt23L*JacPDstandardNth1Xt2 + gt33L*JacPDstandardNth1Xt3 +
+ gtu12*(-JacPDstandardNth12gt13 - JacPDstandardNth21gt13) -
+ gtu22*JacPDstandardNth22gt13 + gtu13*(-JacPDstandardNth13gt13 -
+ JacPDstandardNth31gt13) + gtu23*(-JacPDstandardNth23gt13 -
+ JacPDstandardNth32gt13) - gtu33*JacPDstandardNth33gt13 +
+ gt11L*JacPDstandardNth3Xt1 + gt12L*JacPDstandardNth3Xt2 +
+ gt13L*JacPDstandardNth3Xt3 + Gtl113*Xtn1 + Gtl311*Xtn1 + Gtl123*Xtn2 +
+ Gtl312*Xtn2 + Gtl133*Xtn3 + Gtl313*Xtn3);
+
+ CCTK_REAL Rt22 = 0.5*(6*(Gt212*Gtlu221 + Gt222*Gtlu222 +
+ Gt223*Gtlu223) + 4*(Gt123*Gtlu213 + Gt312*Gtlu231 + Gt322*Gtlu232 +
+ Gt323*Gtlu233) - gtu11*JacPDstandardNth11gt22 +
+ gtu12*(-JacPDstandardNth12gt22 - JacPDstandardNth21gt22) -
+ gtu22*JacPDstandardNth22gt22 + 2*(Gt123*Gtlu123 + Gt112*(Gtlu121 +
+ 2*Gtlu211) + Gt122*(Gtlu122 + 2*Gtlu212) + Gt312*Gtlu321 +
+ Gt322*Gtlu322 + Gt323*Gtlu323 + gt12L*JacPDstandardNth2Xt1) +
+ 2*gt22L*JacPDstandardNth2Xt2 + 2*gt23L*JacPDstandardNth2Xt3 +
+ gtu13*(-JacPDstandardNth13gt22 - JacPDstandardNth31gt22) +
+ gtu23*(-JacPDstandardNth23gt22 - JacPDstandardNth32gt22) -
+ gtu33*JacPDstandardNth33gt22 + 2*Gtl212*Xtn1 + 2*Gtl222*Xtn2 +
+ 2*Gtl223*Xtn3);
+
+ CCTK_REAL Rt23 = 0.5*(2*(Gt123*Gtlu133 + Gt113*Gtlu211 + Gt123*Gtlu212
+ + Gt133*Gtlu213 + Gt213*Gtlu221 + Gt223*Gtlu222 + Gt233*Gtlu223 +
+ Gt212*Gtlu231 + Gt313*Gtlu231 + Gt222*Gtlu232 + Gt323*Gtlu232 +
+ Gt223*Gtlu233 + Gt333*Gtlu233 + Gt112*(Gtlu131 + Gtlu311) +
+ Gt122*(Gtlu132 + Gtlu312) + Gt123*Gtlu313 + Gt212*Gtlu321 +
Gt222*Gtlu322 + Gt223*Gtlu323) + 4*(Gt312*Gtlu331 + Gt322*Gtlu332 +
- Gt323*Gtlu333) + (gt13L*J12L + gt12L*J13L)*PDstandardNth1Xt1 +
- (gt23L*J12L + gt22L*J13L)*PDstandardNth1Xt2 + (gt33L*J12L +
- gt23L*J13L)*PDstandardNth1Xt3 + (gt13L*J22L +
- gt12L*J23L)*PDstandardNth2Xt1 + (gt23L*J22L +
- gt22L*J23L)*PDstandardNth2Xt2 + (gt33L*J22L +
- gt23L*J23L)*PDstandardNth2Xt3 - 2*(gtu12*(J11L*J12L*PDstandardNth11gt23
- + J12L*J21L*PDstandardNth12gt23 + J11L*J22L*PDstandardNth12gt23 +
- J12L*J31L*PDstandardNth13gt23 + J11L*J32L*PDstandardNth13gt23 +
- dJ112L*PDstandardNth1gt23 + J21L*J22L*PDstandardNth22gt23 +
- J22L*J31L*PDstandardNth23gt23 + J21L*J32L*PDstandardNth23gt23 +
- dJ212L*PDstandardNth2gt23 + J31L*J32L*PDstandardNth33gt23 +
- dJ312L*PDstandardNth3gt23) + gtu13*(J11L*J13L*PDstandardNth11gt23 +
- J13L*J21L*PDstandardNth12gt23 + J11L*J23L*PDstandardNth12gt23 +
- J13L*J31L*PDstandardNth13gt23 + J11L*J33L*PDstandardNth13gt23 +
- dJ113L*PDstandardNth1gt23 + J21L*J23L*PDstandardNth22gt23 +
- J23L*J31L*PDstandardNth23gt23 + J21L*J33L*PDstandardNth23gt23 +
- dJ213L*PDstandardNth2gt23 + J31L*J33L*PDstandardNth33gt23 +
- dJ313L*PDstandardNth3gt23) + gtu23*(J12L*J13L*PDstandardNth11gt23 +
- J13L*J22L*PDstandardNth12gt23 + J12L*J23L*PDstandardNth12gt23 +
- J13L*J32L*PDstandardNth13gt23 + J12L*J33L*PDstandardNth13gt23 +
- dJ123L*PDstandardNth1gt23 + J22L*J23L*PDstandardNth22gt23 +
- J23L*J32L*PDstandardNth23gt23 + J22L*J33L*PDstandardNth23gt23 +
- dJ223L*PDstandardNth2gt23 + J32L*J33L*PDstandardNth33gt23 +
- dJ323L*PDstandardNth3gt23)) + (gt13L*J32L +
- gt12L*J33L)*PDstandardNth3Xt1 + (gt23L*J32L +
- gt22L*J33L)*PDstandardNth3Xt2 + (gt33L*J32L +
- gt23L*J33L)*PDstandardNth3Xt3 + (Gtl213 + Gtl312)*Xtn1 + (Gtl223 +
- Gtl322)*Xtn2 + (Gtl233 + Gtl323)*Xtn3 -
- gtu11*(2*J11L*J21L*PDstandardNth12gt23 +
- 2*J11L*J31L*PDstandardNth13gt23 + dJ111L*PDstandardNth1gt23 +
- 2*J21L*J31L*PDstandardNth23gt23 + dJ211L*PDstandardNth2gt23 +
- dJ311L*PDstandardNth3gt23 + PDstandardNth11gt23*SQR(J11L) +
- PDstandardNth22gt23*SQR(J21L) + PDstandardNth33gt23*SQR(J31L)) -
- gtu22*(2*J12L*J22L*PDstandardNth12gt23 +
- 2*J12L*J32L*PDstandardNth13gt23 + dJ122L*PDstandardNth1gt23 +
- 2*J22L*J32L*PDstandardNth23gt23 + dJ222L*PDstandardNth2gt23 +
- dJ322L*PDstandardNth3gt23 + PDstandardNth11gt23*SQR(J12L) +
- PDstandardNth22gt23*SQR(J22L) + PDstandardNth33gt23*SQR(J32L)) -
- gtu33*(2*J13L*J23L*PDstandardNth12gt23 +
- 2*J13L*J33L*PDstandardNth13gt23 + dJ133L*PDstandardNth1gt23 +
- 2*J23L*J33L*PDstandardNth23gt23 + dJ233L*PDstandardNth2gt23 +
- dJ333L*PDstandardNth3gt23 + PDstandardNth11gt23*SQR(J13L) +
- PDstandardNth22gt23*SQR(J23L) + PDstandardNth33gt23*SQR(J33L)));
-
- CCTK_REAL Rt33 = Gt113*(Gtlu131 + 2*Gtlu311) + Gt123*(Gtlu132 +
- 2*Gtlu312) + Gt133*(Gtlu133 + 2*Gtlu313) + Gt213*(Gtlu231 + 2*Gtlu321)
- + Gt223*(Gtlu232 + 2*Gtlu322) + Gt233*(Gtlu233 + 2*Gtlu323) +
- 3*(Gt313*Gtlu331 + Gt323*Gtlu332 + Gt333*Gtlu333) +
- J13L*(gt13L*PDstandardNth1Xt1 + gt23L*PDstandardNth1Xt2 +
- gt33L*PDstandardNth1Xt3) + J23L*(gt13L*PDstandardNth2Xt1 +
- gt23L*PDstandardNth2Xt2 + gt33L*PDstandardNth2Xt3) -
- gtu12*(J11L*J12L*PDstandardNth11gt33 + J12L*J21L*PDstandardNth12gt33 +
- J11L*J22L*PDstandardNth12gt33 + J12L*J31L*PDstandardNth13gt33 +
- J11L*J32L*PDstandardNth13gt33 + dJ112L*PDstandardNth1gt33 +
- J21L*J22L*PDstandardNth22gt33 + J22L*J31L*PDstandardNth23gt33 +
- J21L*J32L*PDstandardNth23gt33 + dJ212L*PDstandardNth2gt33 +
- J31L*J32L*PDstandardNth33gt33 + dJ312L*PDstandardNth3gt33) -
- gtu13*(J11L*J13L*PDstandardNth11gt33 + J13L*J21L*PDstandardNth12gt33 +
- J11L*J23L*PDstandardNth12gt33 + J13L*J31L*PDstandardNth13gt33 +
- J11L*J33L*PDstandardNth13gt33 + dJ113L*PDstandardNth1gt33 +
- J21L*J23L*PDstandardNth22gt33 + J23L*J31L*PDstandardNth23gt33 +
- J21L*J33L*PDstandardNth23gt33 + dJ213L*PDstandardNth2gt33 +
- J31L*J33L*PDstandardNth33gt33 + dJ313L*PDstandardNth3gt33) -
- gtu23*(J12L*J13L*PDstandardNth11gt33 + J13L*J22L*PDstandardNth12gt33 +
- J12L*J23L*PDstandardNth12gt33 + J13L*J32L*PDstandardNth13gt33 +
- J12L*J33L*PDstandardNth13gt33 + dJ123L*PDstandardNth1gt33 +
- J22L*J23L*PDstandardNth22gt33 + J23L*J32L*PDstandardNth23gt33 +
- J22L*J33L*PDstandardNth23gt33 + dJ223L*PDstandardNth2gt33 +
- J32L*J33L*PDstandardNth33gt33 + dJ323L*PDstandardNth3gt33) +
- gt13L*J33L*PDstandardNth3Xt1 + gt23L*J33L*PDstandardNth3Xt2 +
- gt33L*J33L*PDstandardNth3Xt3 + Gtl313*Xtn1 + Gtl323*Xtn2 + Gtl333*Xtn3
- - 0.5*gtu11*(2*J11L*J21L*PDstandardNth12gt33 +
- 2*J11L*J31L*PDstandardNth13gt33 + dJ111L*PDstandardNth1gt33 +
- 2*J21L*J31L*PDstandardNth23gt33 + dJ211L*PDstandardNth2gt33 +
- dJ311L*PDstandardNth3gt33 + PDstandardNth11gt33*SQR(J11L) +
- PDstandardNth22gt33*SQR(J21L) + PDstandardNth33gt33*SQR(J31L)) -
- 0.5*gtu22*(2*J12L*J22L*PDstandardNth12gt33 +
- 2*J12L*J32L*PDstandardNth13gt33 + dJ122L*PDstandardNth1gt33 +
- 2*J22L*J32L*PDstandardNth23gt33 + dJ222L*PDstandardNth2gt33 +
- dJ322L*PDstandardNth3gt33 + PDstandardNth11gt33*SQR(J12L) +
- PDstandardNth22gt33*SQR(J22L) + PDstandardNth33gt33*SQR(J32L)) -
- 0.5*gtu33*(2*J13L*J23L*PDstandardNth12gt33 +
- 2*J13L*J33L*PDstandardNth13gt33 + dJ133L*PDstandardNth1gt33 +
- 2*J23L*J33L*PDstandardNth23gt33 + dJ233L*PDstandardNth2gt33 +
- dJ333L*PDstandardNth3gt33 + PDstandardNth11gt33*SQR(J13L) +
- PDstandardNth22gt33*SQR(J23L) + PDstandardNth33gt33*SQR(J33L));
+ Gt323*Gtlu333) - gtu11*JacPDstandardNth11gt23 +
+ gtu12*(-JacPDstandardNth12gt23 - JacPDstandardNth21gt23) -
+ gtu22*JacPDstandardNth22gt23 + gt13L*JacPDstandardNth2Xt1 +
+ gt23L*JacPDstandardNth2Xt2 + gt33L*JacPDstandardNth2Xt3 +
+ gtu13*(-JacPDstandardNth13gt23 - JacPDstandardNth31gt23) +
+ gtu23*(-JacPDstandardNth23gt23 - JacPDstandardNth32gt23) -
+ gtu33*JacPDstandardNth33gt23 + gt12L*JacPDstandardNth3Xt1 +
+ gt22L*JacPDstandardNth3Xt2 + gt23L*JacPDstandardNth3Xt3 + Gtl213*Xtn1 +
+ Gtl312*Xtn1 + Gtl223*Xtn2 + Gtl322*Xtn2 + Gtl233*Xtn3 + Gtl323*Xtn3);
+
+ CCTK_REAL Rt33 = 0.5*(4*(Gt133*Gtlu313 + Gt213*Gtlu321 + Gt223*Gtlu322
+ + Gt233*Gtlu323) + 6*(Gt313*Gtlu331 + Gt323*Gtlu332 + Gt333*Gtlu333) -
+ gtu11*JacPDstandardNth11gt33 + gtu12*(-JacPDstandardNth12gt33 -
+ JacPDstandardNth21gt33) - gtu22*JacPDstandardNth22gt33 +
+ gtu13*(-JacPDstandardNth13gt33 - JacPDstandardNth31gt33) +
+ gtu23*(-JacPDstandardNth23gt33 - JacPDstandardNth32gt33) -
+ gtu33*JacPDstandardNth33gt33 + 2*(Gt133*Gtlu133 + Gt213*Gtlu231 +
+ Gt223*Gtlu232 + Gt233*Gtlu233 + Gt113*(Gtlu131 + 2*Gtlu311) +
+ Gt123*(Gtlu132 + 2*Gtlu312) + gt13L*JacPDstandardNth3Xt1) +
+ 2*gt23L*JacPDstandardNth3Xt2 + 2*gt33L*JacPDstandardNth3Xt3 +
+ 2*Gtl313*Xtn1 + 2*Gtl323*Xtn2 + 2*Gtl333*Xtn3);
CCTK_REAL fac1 = IfThen(conformalMethod,-0.5*INV(phiL),1);
- CCTK_REAL cdphi1 = fac1*(J11L*PDstandardNth1phi +
- J21L*PDstandardNth2phi + J31L*PDstandardNth3phi);
+ CCTK_REAL cdphi1 = fac1*JacPDstandardNth1phi;
- CCTK_REAL cdphi2 = fac1*(J12L*PDstandardNth1phi +
- J22L*PDstandardNth2phi + J32L*PDstandardNth3phi);
+ CCTK_REAL cdphi2 = fac1*JacPDstandardNth2phi;
- CCTK_REAL cdphi3 = fac1*(J13L*PDstandardNth1phi +
- J23L*PDstandardNth2phi + J33L*PDstandardNth3phi);
+ CCTK_REAL cdphi3 = fac1*JacPDstandardNth3phi;
CCTK_REAL fac2 = IfThen(conformalMethod,0.5*INV(SQR(phiL)),0);
- CCTK_REAL cdphi211 = fac1*((dJ111L - Gt111*J11L - Gt211*J12L -
- Gt311*J13L)*PDstandardNth1phi + 2*(J11L*(J21L*PDstandardNth12phi +
- J31L*PDstandardNth13phi) + J21L*J31L*PDstandardNth23phi) + (dJ211L -
- Gt111*J21L - Gt211*J22L - Gt311*J23L)*PDstandardNth2phi + (dJ311L -
- Gt111*J31L - Gt211*J32L - Gt311*J33L)*PDstandardNth3phi +
- PDstandardNth11phi*SQR(J11L) + PDstandardNth22phi*SQR(J21L) +
- PDstandardNth33phi*SQR(J31L)) +
- fac2*(2*(J21L*J31L*PDstandardNth2phi*PDstandardNth3phi +
- J11L*PDstandardNth1phi*(J21L*PDstandardNth2phi +
- J31L*PDstandardNth3phi)) + SQR(J11L)*SQR(PDstandardNth1phi) +
- SQR(J21L)*SQR(PDstandardNth2phi) + SQR(J31L)*SQR(PDstandardNth3phi));
-
- CCTK_REAL cdphi212 = fac1*(-(Gt112*J31L) -
- Gt212*J32L)*PDstandardNth3phi + PDstandardNth1phi*(fac1*(dJ112L -
- Gt112*J11L - Gt212*J12L - Gt312*J13L) + fac2*(J12L*J21L +
- J11L*J22L)*PDstandardNth2phi + fac2*(J12L*J31L +
- J11L*J32L)*PDstandardNth3phi) + PDstandardNth2phi*(fac1*(dJ212L -
- Gt112*J21L - Gt212*J22L - Gt312*J23L) + fac2*(J22L*J31L +
- J21L*J32L)*PDstandardNth3phi) + fac1*(J11L*J12L*PDstandardNth11phi +
- J12L*J21L*PDstandardNth12phi + J11L*J22L*PDstandardNth12phi +
- J12L*J31L*PDstandardNth13phi + J11L*J32L*PDstandardNth13phi +
- J21L*J22L*PDstandardNth22phi + J22L*J31L*PDstandardNth23phi +
- J21L*J32L*PDstandardNth23phi + J31L*J32L*PDstandardNth33phi + (dJ312L -
- Gt312*J33L)*PDstandardNth3phi) + fac2*J11L*J12L*SQR(PDstandardNth1phi)
- + fac2*J21L*J22L*SQR(PDstandardNth2phi) +
- fac2*J31L*J32L*SQR(PDstandardNth3phi);
-
- CCTK_REAL cdphi213 = fac1*(-(Gt113*J31L) -
- Gt213*J32L)*PDstandardNth3phi + PDstandardNth1phi*(fac1*(dJ113L -
- Gt113*J11L - Gt213*J12L - Gt313*J13L) + fac2*(J13L*J21L +
- J11L*J23L)*PDstandardNth2phi + fac2*(J13L*J31L +
- J11L*J33L)*PDstandardNth3phi) + PDstandardNth2phi*(fac1*(dJ213L -
- Gt113*J21L - Gt213*J22L - Gt313*J23L) + fac2*(J23L*J31L +
- J21L*J33L)*PDstandardNth3phi) + fac1*(J11L*J13L*PDstandardNth11phi +
- J13L*J21L*PDstandardNth12phi + J11L*J23L*PDstandardNth12phi +
- J13L*J31L*PDstandardNth13phi + J21L*J23L*PDstandardNth22phi +
- J23L*J31L*PDstandardNth23phi + J21L*J33L*PDstandardNth23phi +
- J31L*J33L*PDstandardNth33phi + dJ313L*PDstandardNth3phi +
- J33L*(J11L*PDstandardNth13phi - Gt313*PDstandardNth3phi)) +
- fac2*J11L*J13L*SQR(PDstandardNth1phi) +
- fac2*J21L*J23L*SQR(PDstandardNth2phi) +
- fac2*J31L*J33L*SQR(PDstandardNth3phi);
-
- CCTK_REAL cdphi222 = fac1*((dJ122L - Gt122*J11L - Gt222*J12L -
- Gt322*J13L)*PDstandardNth1phi + 2*(J12L*(J22L*PDstandardNth12phi +
- J32L*PDstandardNth13phi) + J22L*J32L*PDstandardNth23phi) + (dJ222L -
- Gt122*J21L - Gt222*J22L - Gt322*J23L)*PDstandardNth2phi + (dJ322L -
- Gt122*J31L - Gt222*J32L - Gt322*J33L)*PDstandardNth3phi +
- PDstandardNth11phi*SQR(J12L) + PDstandardNth22phi*SQR(J22L) +
- PDstandardNth33phi*SQR(J32L)) +
- fac2*(2*(J22L*J32L*PDstandardNth2phi*PDstandardNth3phi +
- J12L*PDstandardNth1phi*(J22L*PDstandardNth2phi +
- J32L*PDstandardNth3phi)) + SQR(J12L)*SQR(PDstandardNth1phi) +
- SQR(J22L)*SQR(PDstandardNth2phi) + SQR(J32L)*SQR(PDstandardNth3phi));
-
- CCTK_REAL cdphi223 = fac1*(-(Gt123*J31L) -
- Gt223*J32L)*PDstandardNth3phi + PDstandardNth1phi*(fac1*(dJ123L -
- Gt123*J11L - Gt223*J12L - Gt323*J13L) + fac2*(J13L*J22L +
- J12L*J23L)*PDstandardNth2phi + fac2*(J13L*J32L +
- J12L*J33L)*PDstandardNth3phi) + PDstandardNth2phi*(fac1*(dJ223L -
- Gt123*J21L - Gt223*J22L - Gt323*J23L) + fac2*(J23L*J32L +
- J22L*J33L)*PDstandardNth3phi) + fac1*(J12L*J13L*PDstandardNth11phi +
- J13L*J22L*PDstandardNth12phi + J12L*J23L*PDstandardNth12phi +
- J13L*J32L*PDstandardNth13phi + J22L*J23L*PDstandardNth22phi +
- J23L*J32L*PDstandardNth23phi + J22L*J33L*PDstandardNth23phi +
- J32L*J33L*PDstandardNth33phi + dJ323L*PDstandardNth3phi +
- J33L*(J12L*PDstandardNth13phi - Gt323*PDstandardNth3phi)) +
- fac2*J12L*J13L*SQR(PDstandardNth1phi) +
- fac2*J22L*J23L*SQR(PDstandardNth2phi) +
- fac2*J32L*J33L*SQR(PDstandardNth3phi);
-
- CCTK_REAL cdphi233 = fac1*((dJ133L - Gt133*J11L - Gt233*J12L -
- Gt333*J13L)*PDstandardNth1phi + 2*(J13L*(J23L*PDstandardNth12phi +
- J33L*PDstandardNth13phi) + J23L*J33L*PDstandardNth23phi) + (dJ233L -
- Gt133*J21L - Gt233*J22L - Gt333*J23L)*PDstandardNth2phi + (dJ333L -
- Gt133*J31L - Gt233*J32L - Gt333*J33L)*PDstandardNth3phi +
- PDstandardNth11phi*SQR(J13L) + PDstandardNth22phi*SQR(J23L) +
- PDstandardNth33phi*SQR(J33L)) +
- fac2*(2*(J23L*J33L*PDstandardNth2phi*PDstandardNth3phi +
- J13L*PDstandardNth1phi*(J23L*PDstandardNth2phi +
- J33L*PDstandardNth3phi)) + SQR(J13L)*SQR(PDstandardNth1phi) +
- SQR(J23L)*SQR(PDstandardNth2phi) + SQR(J33L)*SQR(PDstandardNth3phi));
+ CCTK_REAL cdphi211 = fac1*(JacPDstandardNth11phi -
+ Gt111*JacPDstandardNth1phi - Gt211*JacPDstandardNth2phi -
+ Gt311*JacPDstandardNth3phi) + fac2*SQR(JacPDstandardNth1phi);
+
+ CCTK_REAL cdphi212 = fac2*JacPDstandardNth1phi*JacPDstandardNth2phi +
+ fac1*(JacPDstandardNth12phi - Gt112*JacPDstandardNth1phi -
+ Gt212*JacPDstandardNth2phi - Gt312*JacPDstandardNth3phi);
+
+ CCTK_REAL cdphi213 = fac2*JacPDstandardNth1phi*JacPDstandardNth3phi +
+ fac1*(JacPDstandardNth13phi - Gt113*JacPDstandardNth1phi -
+ Gt213*JacPDstandardNth2phi - Gt313*JacPDstandardNth3phi);
+
+ CCTK_REAL cdphi222 = -(fac1*(Gt122*JacPDstandardNth1phi -
+ JacPDstandardNth22phi + Gt222*JacPDstandardNth2phi +
+ Gt322*JacPDstandardNth3phi)) + fac2*SQR(JacPDstandardNth2phi);
+
+ CCTK_REAL cdphi223 = fac2*JacPDstandardNth2phi*JacPDstandardNth3phi -
+ fac1*(Gt123*JacPDstandardNth1phi - JacPDstandardNth23phi +
+ Gt223*JacPDstandardNth2phi + Gt323*JacPDstandardNth3phi);
+
+ CCTK_REAL cdphi233 = -(fac1*(Gt133*JacPDstandardNth1phi +
+ Gt233*JacPDstandardNth2phi - JacPDstandardNth33phi +
+ Gt333*JacPDstandardNth3phi)) + fac2*SQR(JacPDstandardNth3phi);
CCTK_REAL Rphi11 = -2*(cdphi211 + 2*(-1 + gt11L*gtu11)*SQR(cdphi1) +
gt11L*(cdphi211*gtu11 + 4*(cdphi1*(cdphi2*gtu12 + cdphi3*gtu13) +
diff --git a/ML_BSSN_MP_O8/src/ML_BSSN_MP_O8_constraints2.cc b/ML_BSSN_MP_O8/src/ML_BSSN_MP_O8_constraints2.cc
index 7f667ad..d13bf9a 100644
--- a/ML_BSSN_MP_O8/src/ML_BSSN_MP_O8_constraints2.cc
+++ b/ML_BSSN_MP_O8/src/ML_BSSN_MP_O8_constraints2.cc
@@ -60,8 +60,8 @@ static void ML_BSSN_MP_O8_constraints2_Body(cGH const * restrict const cctkGH, i
return;
}
- const char *groups[] = {"Coordinates::jacobian","ML_BSSN_MP_O8::ML_cons_detg","ML_BSSN_MP_O8::ML_cons_Gamma","ML_BSSN_MP_O8::ML_cons_traceA","ML_BSSN_MP_O8::ML_curv","ML_BSSN_MP_O8::ML_Gamma","ML_BSSN_MP_O8::ML_lapse","ML_BSSN_MP_O8::ML_log_confac","ML_BSSN_MP_O8::ML_metric","ML_BSSN_MP_O8::ML_mom","ML_BSSN_MP_O8::ML_shift","ML_BSSN_MP_O8::ML_trace_curv"};
- GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_MP_O8_constraints2", 12, groups);
+ const char *groups[] = {"ML_BSSN_MP_O8::ML_cons_detg","ML_BSSN_MP_O8::ML_cons_Gamma","ML_BSSN_MP_O8::ML_cons_traceA","ML_BSSN_MP_O8::ML_curv","ML_BSSN_MP_O8::ML_Gamma","ML_BSSN_MP_O8::ML_lapse","ML_BSSN_MP_O8::ML_log_confac","ML_BSSN_MP_O8::ML_metric","ML_BSSN_MP_O8::ML_mom","ML_BSSN_MP_O8::ML_shift","ML_BSSN_MP_O8::ML_trace_curv"};
+ GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_MP_O8_constraints2", 11, groups);
GenericFD_EnsureStencilFits(cctkGH, "ML_BSSN_MP_O8_constraints2", 4, 4, 4);
@@ -116,6 +116,51 @@ static void ML_BSSN_MP_O8_constraints2_Body(cGH const * restrict const cctkGH, i
CCTK_REAL const pm1o840dy = -0.00119047619047619047619047619048*INV(dy);
CCTK_REAL const pm1o840dz = -0.00119047619047619047619047619048*INV(dz);
+ /* 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
LC_LOOP3 (ML_BSSN_MP_O8_constraints2,
@@ -142,15 +187,6 @@ static void ML_BSSN_MP_O8_constraints2_Body(cGH const * restrict const cctkGH, i
CCTK_REAL gt22L = gt22[index];
CCTK_REAL gt23L = gt23[index];
CCTK_REAL gt33L = gt33[index];
- CCTK_REAL J11L = J11[index];
- CCTK_REAL J12L = J12[index];
- CCTK_REAL J13L = J13[index];
- CCTK_REAL J21L = J21[index];
- CCTK_REAL J22L = J22[index];
- CCTK_REAL J23L = J23[index];
- CCTK_REAL J31L = J31[index];
- CCTK_REAL J32L = J32[index];
- CCTK_REAL J33L = J33[index];
CCTK_REAL phiL = phi[index];
CCTK_REAL trKL = trK[index];
CCTK_REAL Xt1L = Xt1[index];
@@ -184,6 +220,21 @@ static void ML_BSSN_MP_O8_constraints2_Body(cGH const * restrict const cctkGH, i
eTzzL = ToReal(0.0);
}
+ CCTK_REAL J11L, J12L, J13L, J21L, J22L, J23L, J31L, J32L, J33L;
+
+ if (use_jacobian)
+ {
+ J11L = J11[index];
+ J12L = J12[index];
+ J13L = J13[index];
+ J21L = J21[index];
+ J22L = J22[index];
+ J23L = J23[index];
+ J31L = J31[index];
+ J32L = J32[index];
+ J33L = J33[index];
+ }
+
/* Include user supplied include files */
/* Precompute derivatives */
@@ -231,6 +282,264 @@ static void ML_BSSN_MP_O8_constraints2_Body(cGH const * restrict const cctkGH, i
CCTK_REAL const PDstandardNth3trK = PDstandardNth3(&trK[index]);
/* Calculate temporaries and grid functions */
+ CCTK_REAL JacPDstandardNth1At11;
+ CCTK_REAL JacPDstandardNth1At12;
+ CCTK_REAL JacPDstandardNth1At13;
+ CCTK_REAL JacPDstandardNth1At22;
+ CCTK_REAL JacPDstandardNth1At23;
+ CCTK_REAL JacPDstandardNth1At33;
+ CCTK_REAL JacPDstandardNth1gt11;
+ CCTK_REAL JacPDstandardNth1gt12;
+ CCTK_REAL JacPDstandardNth1gt13;
+ CCTK_REAL JacPDstandardNth1gt22;
+ CCTK_REAL JacPDstandardNth1gt23;
+ CCTK_REAL JacPDstandardNth1gt33;
+ CCTK_REAL JacPDstandardNth1phi;
+ CCTK_REAL JacPDstandardNth1trK;
+ CCTK_REAL JacPDstandardNth2At11;
+ CCTK_REAL JacPDstandardNth2At12;
+ CCTK_REAL JacPDstandardNth2At13;
+ CCTK_REAL JacPDstandardNth2At22;
+ CCTK_REAL JacPDstandardNth2At23;
+ CCTK_REAL JacPDstandardNth2At33;
+ CCTK_REAL JacPDstandardNth2gt11;
+ CCTK_REAL JacPDstandardNth2gt12;
+ CCTK_REAL JacPDstandardNth2gt13;
+ CCTK_REAL JacPDstandardNth2gt22;
+ CCTK_REAL JacPDstandardNth2gt23;
+ CCTK_REAL JacPDstandardNth2gt33;
+ CCTK_REAL JacPDstandardNth2phi;
+ CCTK_REAL JacPDstandardNth2trK;
+ CCTK_REAL JacPDstandardNth3At11;
+ CCTK_REAL JacPDstandardNth3At12;
+ CCTK_REAL JacPDstandardNth3At13;
+ CCTK_REAL JacPDstandardNth3At22;
+ CCTK_REAL JacPDstandardNth3At23;
+ CCTK_REAL JacPDstandardNth3At33;
+ CCTK_REAL JacPDstandardNth3gt11;
+ CCTK_REAL JacPDstandardNth3gt12;
+ CCTK_REAL JacPDstandardNth3gt13;
+ CCTK_REAL JacPDstandardNth3gt22;
+ CCTK_REAL JacPDstandardNth3gt23;
+ CCTK_REAL JacPDstandardNth3gt33;
+ CCTK_REAL JacPDstandardNth3phi;
+ CCTK_REAL JacPDstandardNth3trK;
+
+ if (use_jacobian)
+ {
+ JacPDstandardNth1At11 = J11L*PDstandardNth1At11 +
+ J21L*PDstandardNth2At11 + J31L*PDstandardNth3At11;
+
+ JacPDstandardNth1At12 = J11L*PDstandardNth1At12 +
+ J21L*PDstandardNth2At12 + J31L*PDstandardNth3At12;
+
+ JacPDstandardNth1At13 = J11L*PDstandardNth1At13 +
+ J21L*PDstandardNth2At13 + J31L*PDstandardNth3At13;
+
+ JacPDstandardNth1At22 = J11L*PDstandardNth1At22 +
+ J21L*PDstandardNth2At22 + J31L*PDstandardNth3At22;
+
+ JacPDstandardNth1At23 = J11L*PDstandardNth1At23 +
+ J21L*PDstandardNth2At23 + J31L*PDstandardNth3At23;
+
+ JacPDstandardNth1At33 = J11L*PDstandardNth1At33 +
+ J21L*PDstandardNth2At33 + J31L*PDstandardNth3At33;
+
+ JacPDstandardNth1gt11 = J11L*PDstandardNth1gt11 +
+ J21L*PDstandardNth2gt11 + J31L*PDstandardNth3gt11;
+
+ JacPDstandardNth1gt12 = J11L*PDstandardNth1gt12 +
+ J21L*PDstandardNth2gt12 + J31L*PDstandardNth3gt12;
+
+ JacPDstandardNth1gt13 = J11L*PDstandardNth1gt13 +
+ J21L*PDstandardNth2gt13 + J31L*PDstandardNth3gt13;
+
+ JacPDstandardNth1gt22 = J11L*PDstandardNth1gt22 +
+ J21L*PDstandardNth2gt22 + J31L*PDstandardNth3gt22;
+
+ JacPDstandardNth1gt23 = J11L*PDstandardNth1gt23 +
+ J21L*PDstandardNth2gt23 + J31L*PDstandardNth3gt23;
+
+ JacPDstandardNth1gt33 = J11L*PDstandardNth1gt33 +
+ J21L*PDstandardNth2gt33 + J31L*PDstandardNth3gt33;
+
+ JacPDstandardNth1phi = J11L*PDstandardNth1phi + J21L*PDstandardNth2phi
+ + J31L*PDstandardNth3phi;
+
+ JacPDstandardNth1trK = J11L*PDstandardNth1trK + J21L*PDstandardNth2trK
+ + J31L*PDstandardNth3trK;
+
+ JacPDstandardNth2At11 = J12L*PDstandardNth1At11 +
+ J22L*PDstandardNth2At11 + J32L*PDstandardNth3At11;
+
+ JacPDstandardNth2At12 = J12L*PDstandardNth1At12 +
+ J22L*PDstandardNth2At12 + J32L*PDstandardNth3At12;
+
+ JacPDstandardNth2At13 = J12L*PDstandardNth1At13 +
+ J22L*PDstandardNth2At13 + J32L*PDstandardNth3At13;
+
+ JacPDstandardNth2At22 = J12L*PDstandardNth1At22 +
+ J22L*PDstandardNth2At22 + J32L*PDstandardNth3At22;
+
+ JacPDstandardNth2At23 = J12L*PDstandardNth1At23 +
+ J22L*PDstandardNth2At23 + J32L*PDstandardNth3At23;
+
+ JacPDstandardNth2At33 = J12L*PDstandardNth1At33 +
+ J22L*PDstandardNth2At33 + J32L*PDstandardNth3At33;
+
+ JacPDstandardNth2gt11 = J12L*PDstandardNth1gt11 +
+ J22L*PDstandardNth2gt11 + J32L*PDstandardNth3gt11;
+
+ JacPDstandardNth2gt12 = J12L*PDstandardNth1gt12 +
+ J22L*PDstandardNth2gt12 + J32L*PDstandardNth3gt12;
+
+ JacPDstandardNth2gt13 = J12L*PDstandardNth1gt13 +
+ J22L*PDstandardNth2gt13 + J32L*PDstandardNth3gt13;
+
+ JacPDstandardNth2gt22 = J12L*PDstandardNth1gt22 +
+ J22L*PDstandardNth2gt22 + J32L*PDstandardNth3gt22;
+
+ JacPDstandardNth2gt23 = J12L*PDstandardNth1gt23 +
+ J22L*PDstandardNth2gt23 + J32L*PDstandardNth3gt23;
+
+ JacPDstandardNth2gt33 = J12L*PDstandardNth1gt33 +
+ J22L*PDstandardNth2gt33 + J32L*PDstandardNth3gt33;
+
+ JacPDstandardNth2phi = J12L*PDstandardNth1phi + J22L*PDstandardNth2phi
+ + J32L*PDstandardNth3phi;
+
+ JacPDstandardNth2trK = J12L*PDstandardNth1trK + J22L*PDstandardNth2trK
+ + J32L*PDstandardNth3trK;
+
+ JacPDstandardNth3At11 = J13L*PDstandardNth1At11 +
+ J23L*PDstandardNth2At11 + J33L*PDstandardNth3At11;
+
+ JacPDstandardNth3At12 = J13L*PDstandardNth1At12 +
+ J23L*PDstandardNth2At12 + J33L*PDstandardNth3At12;
+
+ JacPDstandardNth3At13 = J13L*PDstandardNth1At13 +
+ J23L*PDstandardNth2At13 + J33L*PDstandardNth3At13;
+
+ JacPDstandardNth3At22 = J13L*PDstandardNth1At22 +
+ J23L*PDstandardNth2At22 + J33L*PDstandardNth3At22;
+
+ JacPDstandardNth3At23 = J13L*PDstandardNth1At23 +
+ J23L*PDstandardNth2At23 + J33L*PDstandardNth3At23;
+
+ JacPDstandardNth3At33 = J13L*PDstandardNth1At33 +
+ J23L*PDstandardNth2At33 + J33L*PDstandardNth3At33;
+
+ JacPDstandardNth3gt11 = J13L*PDstandardNth1gt11 +
+ J23L*PDstandardNth2gt11 + J33L*PDstandardNth3gt11;
+
+ JacPDstandardNth3gt12 = J13L*PDstandardNth1gt12 +
+ J23L*PDstandardNth2gt12 + J33L*PDstandardNth3gt12;
+
+ JacPDstandardNth3gt13 = J13L*PDstandardNth1gt13 +
+ J23L*PDstandardNth2gt13 + J33L*PDstandardNth3gt13;
+
+ JacPDstandardNth3gt22 = J13L*PDstandardNth1gt22 +
+ J23L*PDstandardNth2gt22 + J33L*PDstandardNth3gt22;
+
+ JacPDstandardNth3gt23 = J13L*PDstandardNth1gt23 +
+ J23L*PDstandardNth2gt23 + J33L*PDstandardNth3gt23;
+
+ JacPDstandardNth3gt33 = J13L*PDstandardNth1gt33 +
+ J23L*PDstandardNth2gt33 + J33L*PDstandardNth3gt33;
+
+ JacPDstandardNth3phi = J13L*PDstandardNth1phi + J23L*PDstandardNth2phi
+ + J33L*PDstandardNth3phi;
+
+ JacPDstandardNth3trK = J13L*PDstandardNth1trK + J23L*PDstandardNth2trK
+ + 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 detgt = 1;
CCTK_REAL gtu11 = INV(detgt)*(gt22L*gt33L - SQR(gt23L));
@@ -245,74 +554,44 @@ static void ML_BSSN_MP_O8_constraints2_Body(cGH const * restrict const cctkGH, i
CCTK_REAL gtu33 = INV(detgt)*(gt11L*gt22L - SQR(gt12L));
- CCTK_REAL Gtl111 = 0.5*(J11L*PDstandardNth1gt11 +
- J21L*PDstandardNth2gt11 + J31L*PDstandardNth3gt11);
+ CCTK_REAL Gtl111 = 0.5*JacPDstandardNth1gt11;
- CCTK_REAL Gtl112 = 0.5*(J12L*PDstandardNth1gt11 +
- J22L*PDstandardNth2gt11 + J32L*PDstandardNth3gt11);
+ CCTK_REAL Gtl112 = 0.5*JacPDstandardNth2gt11;
- CCTK_REAL Gtl113 = 0.5*(J13L*PDstandardNth1gt11 +
- J23L*PDstandardNth2gt11 + J33L*PDstandardNth3gt11);
+ CCTK_REAL Gtl113 = 0.5*JacPDstandardNth3gt11;
- CCTK_REAL Gtl122 = J12L*PDstandardNth1gt12 + J22L*PDstandardNth2gt12 +
- J32L*PDstandardNth3gt12 - 0.5*(J11L*PDstandardNth1gt22 +
- J21L*PDstandardNth2gt22 + J31L*PDstandardNth3gt22);
+ CCTK_REAL Gtl122 = -0.5*JacPDstandardNth1gt22 + JacPDstandardNth2gt12;
- CCTK_REAL Gtl123 = 0.5*(J13L*PDstandardNth1gt12 +
- J12L*PDstandardNth1gt13 - J11L*PDstandardNth1gt23 +
- J23L*PDstandardNth2gt12 + J22L*PDstandardNth2gt13 -
- J21L*PDstandardNth2gt23 + J33L*PDstandardNth3gt12 +
- J32L*PDstandardNth3gt13 - J31L*PDstandardNth3gt23);
+ CCTK_REAL Gtl123 = 0.5*(-JacPDstandardNth1gt23 + JacPDstandardNth2gt13
+ + JacPDstandardNth3gt12);
- CCTK_REAL Gtl133 = J13L*PDstandardNth1gt13 + J23L*PDstandardNth2gt13 +
- J33L*PDstandardNth3gt13 - 0.5*(J11L*PDstandardNth1gt33 +
- J21L*PDstandardNth2gt33 + J31L*PDstandardNth3gt33);
+ CCTK_REAL Gtl133 = -0.5*JacPDstandardNth1gt33 + JacPDstandardNth3gt13;
- CCTK_REAL Gtl211 = J11L*PDstandardNth1gt12 + J21L*PDstandardNth2gt12 -
- 0.5*(J12L*PDstandardNth1gt11 + J22L*PDstandardNth2gt11 +
- J32L*PDstandardNth3gt11) + J31L*PDstandardNth3gt12;
+ CCTK_REAL Gtl211 = JacPDstandardNth1gt12 - 0.5*JacPDstandardNth2gt11;
- CCTK_REAL Gtl212 = 0.5*(J11L*PDstandardNth1gt22 +
- J21L*PDstandardNth2gt22 + J31L*PDstandardNth3gt22);
+ CCTK_REAL Gtl212 = 0.5*JacPDstandardNth1gt22;
- CCTK_REAL Gtl213 = 0.5*(J13L*PDstandardNth1gt12 -
- J12L*PDstandardNth1gt13 + J11L*PDstandardNth1gt23 +
- J23L*PDstandardNth2gt12 - J22L*PDstandardNth2gt13 +
- J21L*PDstandardNth2gt23 + J33L*PDstandardNth3gt12 -
- J32L*PDstandardNth3gt13 + J31L*PDstandardNth3gt23);
+ CCTK_REAL Gtl213 = 0.5*(JacPDstandardNth1gt23 - JacPDstandardNth2gt13
+ + JacPDstandardNth3gt12);
- CCTK_REAL Gtl222 = 0.5*(J12L*PDstandardNth1gt22 +
- J22L*PDstandardNth2gt22 + J32L*PDstandardNth3gt22);
+ CCTK_REAL Gtl222 = 0.5*JacPDstandardNth2gt22;
- CCTK_REAL Gtl223 = 0.5*(J13L*PDstandardNth1gt22 +
- J23L*PDstandardNth2gt22 + J33L*PDstandardNth3gt22);
+ CCTK_REAL Gtl223 = 0.5*JacPDstandardNth3gt22;
- CCTK_REAL Gtl233 = J13L*PDstandardNth1gt23 + J23L*PDstandardNth2gt23 +
- J33L*PDstandardNth3gt23 - 0.5*(J12L*PDstandardNth1gt33 +
- J22L*PDstandardNth2gt33 + J32L*PDstandardNth3gt33);
+ CCTK_REAL Gtl233 = -0.5*JacPDstandardNth2gt33 + JacPDstandardNth3gt23;
- CCTK_REAL Gtl311 = J11L*PDstandardNth1gt13 + J21L*PDstandardNth2gt13 -
- 0.5*(J13L*PDstandardNth1gt11 + J23L*PDstandardNth2gt11 +
- J33L*PDstandardNth3gt11) + J31L*PDstandardNth3gt13;
+ CCTK_REAL Gtl311 = JacPDstandardNth1gt13 - 0.5*JacPDstandardNth3gt11;
- CCTK_REAL Gtl312 = 0.5*(-(J13L*PDstandardNth1gt12) +
- J12L*PDstandardNth1gt13 + J11L*PDstandardNth1gt23 -
- J23L*PDstandardNth2gt12 + J22L*PDstandardNth2gt13 +
- J21L*PDstandardNth2gt23 - J33L*PDstandardNth3gt12 +
- J32L*PDstandardNth3gt13 + J31L*PDstandardNth3gt23);
+ CCTK_REAL Gtl312 = 0.5*(JacPDstandardNth1gt23 + JacPDstandardNth2gt13
+ - JacPDstandardNth3gt12);
- CCTK_REAL Gtl313 = 0.5*(J11L*PDstandardNth1gt33 +
- J21L*PDstandardNth2gt33 + J31L*PDstandardNth3gt33);
+ CCTK_REAL Gtl313 = 0.5*JacPDstandardNth1gt33;
- CCTK_REAL Gtl322 = J12L*PDstandardNth1gt23 + J22L*PDstandardNth2gt23 -
- 0.5*(J13L*PDstandardNth1gt22 + J23L*PDstandardNth2gt22 +
- J33L*PDstandardNth3gt22) + J32L*PDstandardNth3gt23;
+ CCTK_REAL Gtl322 = JacPDstandardNth2gt23 - 0.5*JacPDstandardNth3gt22;
- CCTK_REAL Gtl323 = 0.5*(J12L*PDstandardNth1gt33 +
- J22L*PDstandardNth2gt33 + J32L*PDstandardNth3gt33);
+ CCTK_REAL Gtl323 = 0.5*JacPDstandardNth2gt33;
- CCTK_REAL Gtl333 = 0.5*(J13L*PDstandardNth1gt33 +
- J23L*PDstandardNth2gt33 + J33L*PDstandardNth3gt33);
+ CCTK_REAL Gtl333 = 0.5*JacPDstandardNth3gt33;
CCTK_REAL Gt111 = Gtl111*gtu11 + Gtl211*gtu12 + Gtl311*gtu13;
@@ -352,14 +631,11 @@ static void ML_BSSN_MP_O8_constraints2_Body(cGH const * restrict const cctkGH, i
CCTK_REAL fac1 = IfThen(conformalMethod,-0.5*INV(phiL),1);
- CCTK_REAL cdphi1 = fac1*(J11L*PDstandardNth1phi +
- J21L*PDstandardNth2phi + J31L*PDstandardNth3phi);
+ CCTK_REAL cdphi1 = fac1*JacPDstandardNth1phi;
- CCTK_REAL cdphi2 = fac1*(J12L*PDstandardNth1phi +
- J22L*PDstandardNth2phi + J32L*PDstandardNth3phi);
+ CCTK_REAL cdphi2 = fac1*JacPDstandardNth2phi;
- CCTK_REAL cdphi3 = fac1*(J13L*PDstandardNth1phi +
- J23L*PDstandardNth2phi + J33L*PDstandardNth3phi);
+ CCTK_REAL cdphi3 = fac1*JacPDstandardNth3phi;
CCTK_REAL S1 = (-eTtxL + beta1L*eTxxL + beta2L*eTxyL +
beta3L*eTxzL)*INV(alphaL);
@@ -370,99 +646,62 @@ static void ML_BSSN_MP_O8_constraints2_Body(cGH const * restrict const cctkGH, i
CCTK_REAL S3 = (-eTtzL + beta1L*eTxzL + beta2L*eTyzL +
beta3L*eTzzL)*INV(alphaL);
- CCTK_REAL M1L = (-(At22L*Gt212) + At12L*(-Gt112 - Gt222) -
- At23L*Gt312)*gtu22 + (6*At13L*cdphi2 - At23L*Gt212 - At33L*Gt312)*gtu23
- + (6*At12L*cdphi3 - At22L*Gt213 - At23L*Gt313)*gtu23 + At12L*((6*cdphi1
- - Gt111)*gtu12 - 3*Gt213*gtu13 + 6*cdphi2*gtu22 - Gt113*gtu23) -
- 2*(At12L*Gt211*gtu11 + At13L*Gt311*gtu11 + At11L*Gt123*gtu23) +
- (6*At13L*cdphi3 - At23L*Gt213 - At33L*Gt313)*gtu33 +
- At13L*(-2*Gt323*gtu23 - Gt113*gtu33) + At11L*(6*cdphi1*gtu11 -
- 2*Gt111*gtu11 + 6*cdphi2*gtu12 + 6*cdphi3*gtu13 - Gt122*gtu22 -
- Gt133*gtu33) + At12L*(-2*Gt223*gtu23 - Gt233*gtu33) + At13L*((6*cdphi1
- - Gt111)*gtu13 - Gt322*gtu22 - Gt112*gtu23 - Gt333*gtu33) + (gtu11*J11L
- + gtu12*J12L + gtu13*J13L)*PDstandardNth1At11 +
- gtu22*J12L*PDstandardNth1At12 + gtu23*J13L*PDstandardNth1At12 +
- gtu12*(-3*At11L*Gt112 - At22L*Gt211 - 3*At12L*Gt212 - At23L*Gt311 -
- 3*At13L*Gt312 + J11L*PDstandardNth1At12) +
- gtu23*J12L*PDstandardNth1At13 + gtu33*J13L*PDstandardNth1At13 +
- gtu13*(-3*At11L*Gt113 - At23L*Gt211 - At33L*Gt311 - 3*At13L*Gt313 +
- J11L*PDstandardNth1At13) -
- 0.666666666666666666666666666667*J11L*PDstandardNth1trK + (gtu11*J21L +
- gtu12*J22L + gtu13*J23L)*PDstandardNth2At11 +
- gtu12*J21L*PDstandardNth2At12 + gtu22*J22L*PDstandardNth2At12 +
- gtu23*J23L*PDstandardNth2At12 + gtu13*J21L*PDstandardNth2At13 +
- gtu23*J22L*PDstandardNth2At13 + gtu33*J23L*PDstandardNth2At13 -
- 0.666666666666666666666666666667*J21L*PDstandardNth2trK +
- gtu11*J31L*PDstandardNth3At11 + gtu12*J32L*PDstandardNth3At11 +
- gtu13*J33L*PDstandardNth3At11 + gtu12*J31L*PDstandardNth3At12 +
- gtu22*J32L*PDstandardNth3At12 + gtu23*J33L*PDstandardNth3At12 +
- gtu13*J31L*PDstandardNth3At13 + gtu23*J32L*PDstandardNth3At13 +
- gtu33*J33L*PDstandardNth3At13 -
- 0.666666666666666666666666666667*J31L*PDstandardNth3trK -
+ CCTK_REAL M1L = Gt311*(-2.*At13L*gtu11 - 1.*(At23L*gtu12 +
+ At33L*gtu13)) + At12L*((6.*cdphi1 - 1.*Gt111 - 3.*Gt212)*gtu12 -
+ 3.*Gt213*gtu13 + (6.*cdphi2 - 1.*(Gt112 + Gt222))*gtu22 + (6.*cdphi3 -
+ 1.*Gt113)*gtu23 - 2.*(Gt211*gtu11 + Gt223*gtu23) - 1.*Gt233*gtu33) -
+ 1.*((At22L*Gt212 + At23L*Gt312)*gtu22 + (At13L*Gt112 + At22L*Gt213 +
+ At33L*Gt312 + At23L*(Gt212 + Gt313))*gtu23 + (At13L*Gt113 + At23L*Gt213
+ + At33L*Gt313)*gtu33) + At11L*((6.*cdphi1 - 2.*Gt111)*gtu11 +
+ (6.*cdphi2 - 3.*Gt112)*gtu12 + (6.*cdphi3 - 3.*Gt113)*gtu13 -
+ 2.*Gt123*gtu23 - 1.*(Gt122*gtu22 + Gt133*gtu33)) + At13L*((6.*cdphi1 -
+ 1.*Gt111)*gtu13 + (6.*cdphi2 - 2.*Gt323)*gtu23 + 6.*cdphi3*gtu33 -
+ 1.*(Gt322*gtu22 + Gt333*gtu33)) + gtu11*JacPDstandardNth1At11 -
+ 0.6666666666666666666666666666666666666667*JacPDstandardNth1trK +
+ gtu12*(-1.*At22L*Gt211 - 3.*At13L*Gt312 + JacPDstandardNth1At12 +
+ JacPDstandardNth2At11) + gtu22*JacPDstandardNth2At12 +
+ gtu13*(-1.*At23L*Gt211 - 3.*At13L*Gt313 + JacPDstandardNth1At13 +
+ JacPDstandardNth3At11) + gtu23*(JacPDstandardNth2At13 +
+ JacPDstandardNth3At12) + gtu33*JacPDstandardNth3At13 -
25.13274122871834590770114706623602307358*S1;
- CCTK_REAL M2L = (-(At11L*Gt112) - At22L*Gt211 - At12L*Gt212 -
- At23L*Gt311 - At13L*Gt312)*gtu11 + (6*At22L*cdphi1 - At11L*Gt122)*gtu12
- + (6*At12L*cdphi2 - At13L*Gt322)*gtu12 + (6*At23L*cdphi1 -
- At11L*Gt123)*gtu13 + (6*At12L*cdphi3 - At13L*Gt323)*gtu13 +
- Gt112*(-3*At12L*gtu12 - At13L*gtu13) + Gt212*(-3*At22L*gtu12 -
- At23L*gtu13) + Gt312*(-3*At23L*gtu12 - At33L*gtu13) + At12L*((6*cdphi1
- - Gt111)*gtu11 - Gt222*gtu12 - Gt223*gtu13) + 6*At22L*cdphi2*gtu22 -
- 2*At22L*Gt222*gtu22 + 6*At22L*cdphi3*gtu23 - 3*At22L*Gt223*gtu23 +
- Gt122*(-2*At12L*gtu22 - At13L*gtu23) + Gt322*(-2*At23L*gtu22 -
- At33L*gtu23) + 6*At23L*cdphi3*gtu33 + Gt123*(-3*At12L*gtu23 -
- At13L*gtu33) + Gt323*(-3*At23L*gtu23 - At33L*gtu33) +
- At12L*(-2*Gt113*gtu13 - Gt133*gtu33) + At23L*(6*cdphi2*gtu23 -
- Gt223*gtu33) + At22L*(-2*Gt213*gtu13 - Gt233*gtu33) +
- At23L*(-2*Gt313*gtu13 - Gt222*gtu23 - Gt333*gtu33) + (gtu11*J11L +
- gtu12*J12L + gtu13*J13L)*PDstandardNth1At12 +
- gtu12*J11L*PDstandardNth1At22 + gtu22*J12L*PDstandardNth1At22 +
- gtu23*J13L*PDstandardNth1At22 + gtu13*J11L*PDstandardNth1At23 +
- gtu23*J12L*PDstandardNth1At23 + gtu33*J13L*PDstandardNth1At23 -
- 0.666666666666666666666666666667*J12L*PDstandardNth1trK + (gtu11*J21L +
- gtu12*J22L + gtu13*J23L)*PDstandardNth2At12 +
- gtu12*J21L*PDstandardNth2At22 + gtu22*J22L*PDstandardNth2At22 +
- gtu23*J23L*PDstandardNth2At22 + gtu13*J21L*PDstandardNth2At23 +
- gtu23*J22L*PDstandardNth2At23 + gtu33*J23L*PDstandardNth2At23 -
- 0.666666666666666666666666666667*J22L*PDstandardNth2trK +
- gtu11*J31L*PDstandardNth3At12 + gtu12*J32L*PDstandardNth3At12 +
- gtu13*J33L*PDstandardNth3At12 + gtu12*J31L*PDstandardNth3At22 +
- gtu22*J32L*PDstandardNth3At22 + gtu23*J33L*PDstandardNth3At22 +
- gtu13*J31L*PDstandardNth3At23 + gtu23*J32L*PDstandardNth3At23 +
- gtu33*J33L*PDstandardNth3At23 -
- 0.666666666666666666666666666667*J32L*PDstandardNth3trK -
+ CCTK_REAL M2L = At12L*((6.*cdphi1 - 1.*(Gt111 + Gt212))*gtu11 +
+ (6.*cdphi2 - 3.*Gt112 - 1.*Gt222)*gtu12 + (6.*cdphi3 - 2.*Gt113 -
+ 1.*Gt223)*gtu13 - 2.*Gt122*gtu22 - 3.*Gt123*gtu23 - 1.*Gt133*gtu33) +
+ At22L*((6.*cdphi1 - 3.*Gt212)*gtu12 - 2.*(Gt213*gtu13 + Gt222*gtu22) +
+ 6.*(cdphi2*gtu22 + cdphi3*gtu23) - 1.*Gt233*gtu33) +
+ At23L*(-3.*Gt312*gtu12 - 2.*Gt322*gtu22 - 1.*Gt333*gtu33 +
+ 6.*(cdphi1*gtu13 + cdphi2*gtu23 + cdphi3*gtu33)) - 1.*((At22L*Gt211 +
+ At23L*Gt311 + At13L*Gt312)*gtu11 + (At23L*Gt212 + At33L*Gt312)*gtu13 +
+ At11L*(Gt112*gtu11 + Gt122*gtu12 + Gt123*gtu13) + (At23L*Gt223 +
+ At33L*Gt323)*gtu33 + At13L*(Gt322*gtu12 + Gt112*gtu13 + Gt122*gtu23 +
+ Gt123*gtu33)) + gtu11*JacPDstandardNth1At12 +
+ gtu12*(JacPDstandardNth1At22 + JacPDstandardNth2At12) +
+ gtu22*JacPDstandardNth2At22 -
+ 0.6666666666666666666666666666666666666667*JacPDstandardNth2trK +
+ gtu13*(-2.*At23L*Gt313 - 1.*At13L*Gt323 + JacPDstandardNth1At23 +
+ JacPDstandardNth3At12) + gtu23*(-1.*(At23L*Gt222 + At33L*Gt322) -
+ 3.*(At22L*Gt223 + At23L*Gt323) + JacPDstandardNth2At23 +
+ JacPDstandardNth3At22) + gtu33*JacPDstandardNth3At23 -
25.13274122871834590770114706623602307358*S2;
- CCTK_REAL M3L = (-(At11L*Gt113) - At23L*Gt211 - At12L*Gt213 -
- At33L*Gt311 - At13L*Gt313)*gtu11 + (-2*At13L*Gt112 - At22L*Gt213)*gtu12
- + (6*At23L*cdphi1 + At12L*(-Gt113 - Gt223))*gtu12 + (6*At13L*cdphi2 -
- At11L*Gt123 - At23L*Gt313)*gtu12 + (6*At33L*cdphi1 - At11L*Gt133)*gtu13
- + (6*At13L*cdphi3 - At12L*Gt233)*gtu13 - 3*At33L*Gt313*gtu13 +
- At13L*((6*cdphi1 - Gt111)*gtu11 - Gt323*gtu12 - Gt333*gtu13) +
- (6*At23L*cdphi2 - At12L*Gt123 - At22L*Gt223)*gtu22 +
- At13L*(-3*Gt113*gtu13 - Gt122*gtu22) + At33L*(-2*Gt312*gtu12 -
- Gt322*gtu22) + At23L*(-3*Gt213*gtu13 - Gt323*gtu22) -
- 3*At13L*Gt123*gtu23 + (6*At33L*cdphi2 - At12L*Gt133)*gtu23 -
- 3*At23L*Gt223*gtu23 + (6*At23L*cdphi3 - At22L*Gt233)*gtu23 -
- 3*At33L*Gt323*gtu23 + At23L*(-2*Gt212*gtu12 - Gt222*gtu22 -
- Gt333*gtu23) + 6*At33L*cdphi3*gtu33 - 2*At13L*Gt133*gtu33 -
- 2*At23L*Gt233*gtu33 - 2*At33L*Gt333*gtu33 + (gtu11*J11L + gtu12*J12L +
- gtu13*J13L)*PDstandardNth1At13 + gtu12*J11L*PDstandardNth1At23 +
- gtu22*J12L*PDstandardNth1At23 + gtu23*J13L*PDstandardNth1At23 +
- gtu13*J11L*PDstandardNth1At33 + gtu23*J12L*PDstandardNth1At33 +
- gtu33*J13L*PDstandardNth1At33 -
- 0.666666666666666666666666666667*J13L*PDstandardNth1trK + (gtu11*J21L +
- gtu12*J22L + gtu13*J23L)*PDstandardNth2At13 +
- gtu12*J21L*PDstandardNth2At23 + gtu22*J22L*PDstandardNth2At23 +
- gtu23*J23L*PDstandardNth2At23 + gtu13*J21L*PDstandardNth2At33 +
- gtu23*J22L*PDstandardNth2At33 + gtu33*J23L*PDstandardNth2At33 -
- 0.666666666666666666666666666667*J23L*PDstandardNth2trK +
- gtu11*J31L*PDstandardNth3At13 + gtu12*J32L*PDstandardNth3At13 +
- gtu13*J33L*PDstandardNth3At13 + gtu12*J31L*PDstandardNth3At23 +
- gtu22*J32L*PDstandardNth3At23 + gtu23*J33L*PDstandardNth3At23 +
- gtu13*J31L*PDstandardNth3At33 + gtu23*J32L*PDstandardNth3At33 +
- gtu33*J33L*PDstandardNth3At33 -
- 0.666666666666666666666666666667*J33L*PDstandardNth3trK -
+ CCTK_REAL M3L = -1.*((At23L*Gt211 + At12L*Gt213 + At33L*Gt311)*gtu11 +
+ (At22L*Gt213 + At12L*(Gt113 + Gt223))*gtu12 + At11L*(Gt113*gtu11 +
+ Gt123*gtu12 + Gt133*gtu13) + (At23L*Gt222 + At22L*Gt223)*gtu22 +
+ At12L*(Gt233*gtu13 + Gt123*gtu22 + Gt133*gtu23)) + At13L*((6.*cdphi1 -
+ 1.*(Gt111 + Gt313))*gtu11 + (6.*cdphi2 - 2.*Gt112 - 1.*Gt323)*gtu12 +
+ (6.*cdphi3 - 3.*Gt113 - 1.*Gt333)*gtu13 - 1.*Gt122*gtu22 -
+ 3.*Gt123*gtu23 - 2.*Gt133*gtu33) + At23L*((6.*cdphi1 - 2.*Gt212)*gtu12
+ - 3.*Gt213*gtu13 + (6.*cdphi2 - 1.*Gt323)*gtu22 + 6.*cdphi3*gtu23 -
+ 2.*Gt233*gtu33) + At33L*((6.*cdphi1 - 3.*Gt313)*gtu13 - 1.*Gt322*gtu22
+ - 2.*Gt333*gtu33 + 6.*(cdphi2*gtu23 + cdphi3*gtu33)) +
+ gtu11*JacPDstandardNth1At13 + gtu12*(-2.*At33L*Gt312 - 1.*At23L*Gt313 +
+ JacPDstandardNth1At23 + JacPDstandardNth2At13) +
+ gtu22*JacPDstandardNth2At23 + gtu13*(JacPDstandardNth1At33 +
+ JacPDstandardNth3At13) + gtu23*(-3.*(At23L*Gt223 + At33L*Gt323) -
+ 1.*(At22L*Gt233 + At23L*Gt333) + JacPDstandardNth2At33 +
+ JacPDstandardNth3At23) + gtu33*JacPDstandardNth3At33 -
+ 0.6666666666666666666666666666666666666667*JacPDstandardNth3trK -
25.13274122871834590770114706623602307358*S3;
CCTK_REAL cSL = Log(detgt);
diff --git a/ML_BSSN_MP_O8/src/ML_BSSN_MP_O8_convertFromADMBase.cc b/ML_BSSN_MP_O8/src/ML_BSSN_MP_O8_convertFromADMBase.cc
index 7377d9d..ecd4195 100644
--- a/ML_BSSN_MP_O8/src/ML_BSSN_MP_O8_convertFromADMBase.cc
+++ b/ML_BSSN_MP_O8/src/ML_BSSN_MP_O8_convertFromADMBase.cc
@@ -94,6 +94,51 @@ static void ML_BSSN_MP_O8_convertFromADMBase_Body(cGH const * restrict const cct
CCTK_REAL const pm1o840dy = -0.00119047619047619047619047619048*INV(dy);
CCTK_REAL const pm1o840dz = -0.00119047619047619047619047619048*INV(dz);
+ /* 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
LC_LOOP3 (ML_BSSN_MP_O8_convertFromADMBase,
@@ -124,6 +169,7 @@ static void ML_BSSN_MP_O8_convertFromADMBase_Body(cGH const * restrict const cct
CCTK_REAL trKL = trK[index];
+
/* Include user supplied include files */
/* Precompute derivatives */
diff --git a/ML_BSSN_MP_O8/src/ML_BSSN_MP_O8_convertFromADMBaseGamma.cc b/ML_BSSN_MP_O8/src/ML_BSSN_MP_O8_convertFromADMBaseGamma.cc
index 5937d79..7f79f87 100644
--- a/ML_BSSN_MP_O8/src/ML_BSSN_MP_O8_convertFromADMBaseGamma.cc
+++ b/ML_BSSN_MP_O8/src/ML_BSSN_MP_O8_convertFromADMBaseGamma.cc
@@ -57,8 +57,8 @@ static void ML_BSSN_MP_O8_convertFromADMBaseGamma_Body(cGH const * restrict cons
return;
}
- const char *groups[] = {"ADMBase::dtlapse","ADMBase::dtshift","Coordinates::jacobian","grid::coordinates","Grid::coordinates","ML_BSSN_MP_O8::ML_dtlapse","ML_BSSN_MP_O8::ML_dtshift","ML_BSSN_MP_O8::ML_Gamma","ML_BSSN_MP_O8::ML_lapse","ML_BSSN_MP_O8::ML_metric","ML_BSSN_MP_O8::ML_shift"};
- GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_MP_O8_convertFromADMBaseGamma", 11, groups);
+ const char *groups[] = {"ADMBase::dtlapse","ADMBase::dtshift","grid::coordinates","Grid::coordinates","ML_BSSN_MP_O8::ML_dtlapse","ML_BSSN_MP_O8::ML_dtshift","ML_BSSN_MP_O8::ML_Gamma","ML_BSSN_MP_O8::ML_lapse","ML_BSSN_MP_O8::ML_metric","ML_BSSN_MP_O8::ML_shift"};
+ GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_MP_O8_convertFromADMBaseGamma", 10, groups);
GenericFD_EnsureStencilFits(cctkGH, "ML_BSSN_MP_O8_convertFromADMBaseGamma", 5, 5, 5);
@@ -113,6 +113,51 @@ static void ML_BSSN_MP_O8_convertFromADMBaseGamma_Body(cGH const * restrict cons
CCTK_REAL const pm1o840dy = -0.00119047619047619047619047619048*INV(dy);
CCTK_REAL const pm1o840dz = -0.00119047619047619047619047619048*INV(dz);
+ /* 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
LC_LOOP3 (ML_BSSN_MP_O8_convertFromADMBaseGamma,
@@ -137,18 +182,24 @@ static void ML_BSSN_MP_O8_convertFromADMBaseGamma_Body(cGH const * restrict cons
CCTK_REAL gt22L = gt22[index];
CCTK_REAL gt23L = gt23[index];
CCTK_REAL gt33L = gt33[index];
- CCTK_REAL J11L = J11[index];
- CCTK_REAL J12L = J12[index];
- CCTK_REAL J13L = J13[index];
- CCTK_REAL J21L = J21[index];
- CCTK_REAL J22L = J22[index];
- CCTK_REAL J23L = J23[index];
- CCTK_REAL J31L = J31[index];
- CCTK_REAL J32L = J32[index];
- CCTK_REAL J33L = J33[index];
CCTK_REAL rL = r[index];
+ CCTK_REAL J11L, J12L, J13L, J21L, J22L, J23L, J31L, J32L, J33L;
+
+ if (use_jacobian)
+ {
+ J11L = J11[index];
+ J12L = J12[index];
+ J13L = J13[index];
+ J21L = J21[index];
+ J22L = J22[index];
+ J23L = J23[index];
+ J31L = J31[index];
+ J32L = J32[index];
+ J33L = J33[index];
+ }
+
/* Include user supplied include files */
/* Precompute derivatives */
@@ -196,6 +247,264 @@ static void ML_BSSN_MP_O8_convertFromADMBaseGamma_Body(cGH const * restrict cons
CCTK_REAL const PDstandardNth3gt33 = PDstandardNth3(&gt33[index]);
/* Calculate temporaries and grid functions */
+ CCTK_REAL JacPDstandardNth1gt11;
+ CCTK_REAL JacPDstandardNth1gt12;
+ CCTK_REAL JacPDstandardNth1gt13;
+ CCTK_REAL JacPDstandardNth1gt22;
+ CCTK_REAL JacPDstandardNth1gt23;
+ CCTK_REAL JacPDstandardNth1gt33;
+ CCTK_REAL JacPDstandardNth2gt11;
+ CCTK_REAL JacPDstandardNth2gt12;
+ CCTK_REAL JacPDstandardNth2gt13;
+ CCTK_REAL JacPDstandardNth2gt22;
+ CCTK_REAL JacPDstandardNth2gt23;
+ CCTK_REAL JacPDstandardNth2gt33;
+ CCTK_REAL JacPDstandardNth3gt11;
+ CCTK_REAL JacPDstandardNth3gt12;
+ CCTK_REAL JacPDstandardNth3gt13;
+ CCTK_REAL JacPDstandardNth3gt22;
+ CCTK_REAL JacPDstandardNth3gt23;
+ CCTK_REAL JacPDstandardNth3gt33;
+ CCTK_REAL JacPDupwindNthAnti1alpha;
+ CCTK_REAL JacPDupwindNthAnti1beta1;
+ CCTK_REAL JacPDupwindNthAnti1beta2;
+ CCTK_REAL JacPDupwindNthAnti1beta3;
+ CCTK_REAL JacPDupwindNthAnti2alpha;
+ CCTK_REAL JacPDupwindNthAnti2beta1;
+ CCTK_REAL JacPDupwindNthAnti2beta2;
+ CCTK_REAL JacPDupwindNthAnti2beta3;
+ CCTK_REAL JacPDupwindNthAnti3alpha;
+ CCTK_REAL JacPDupwindNthAnti3beta1;
+ CCTK_REAL JacPDupwindNthAnti3beta2;
+ CCTK_REAL JacPDupwindNthAnti3beta3;
+ CCTK_REAL JacPDupwindNthSymm1alpha;
+ CCTK_REAL JacPDupwindNthSymm1beta1;
+ CCTK_REAL JacPDupwindNthSymm1beta2;
+ CCTK_REAL JacPDupwindNthSymm1beta3;
+ CCTK_REAL JacPDupwindNthSymm2alpha;
+ CCTK_REAL JacPDupwindNthSymm2beta1;
+ CCTK_REAL JacPDupwindNthSymm2beta2;
+ CCTK_REAL JacPDupwindNthSymm2beta3;
+ CCTK_REAL JacPDupwindNthSymm3alpha;
+ CCTK_REAL JacPDupwindNthSymm3beta1;
+ CCTK_REAL JacPDupwindNthSymm3beta2;
+ CCTK_REAL JacPDupwindNthSymm3beta3;
+
+ if (use_jacobian)
+ {
+ JacPDstandardNth1gt11 = J11L*PDstandardNth1gt11 +
+ J21L*PDstandardNth2gt11 + J31L*PDstandardNth3gt11;
+
+ JacPDstandardNth1gt12 = J11L*PDstandardNth1gt12 +
+ J21L*PDstandardNth2gt12 + J31L*PDstandardNth3gt12;
+
+ JacPDstandardNth1gt13 = J11L*PDstandardNth1gt13 +
+ J21L*PDstandardNth2gt13 + J31L*PDstandardNth3gt13;
+
+ JacPDstandardNth1gt22 = J11L*PDstandardNth1gt22 +
+ J21L*PDstandardNth2gt22 + J31L*PDstandardNth3gt22;
+
+ JacPDstandardNth1gt23 = J11L*PDstandardNth1gt23 +
+ J21L*PDstandardNth2gt23 + J31L*PDstandardNth3gt23;
+
+ JacPDstandardNth1gt33 = J11L*PDstandardNth1gt33 +
+ J21L*PDstandardNth2gt33 + J31L*PDstandardNth3gt33;
+
+ JacPDstandardNth2gt11 = J12L*PDstandardNth1gt11 +
+ J22L*PDstandardNth2gt11 + J32L*PDstandardNth3gt11;
+
+ JacPDstandardNth2gt12 = J12L*PDstandardNth1gt12 +
+ J22L*PDstandardNth2gt12 + J32L*PDstandardNth3gt12;
+
+ JacPDstandardNth2gt13 = J12L*PDstandardNth1gt13 +
+ J22L*PDstandardNth2gt13 + J32L*PDstandardNth3gt13;
+
+ JacPDstandardNth2gt22 = J12L*PDstandardNth1gt22 +
+ J22L*PDstandardNth2gt22 + J32L*PDstandardNth3gt22;
+
+ JacPDstandardNth2gt23 = J12L*PDstandardNth1gt23 +
+ J22L*PDstandardNth2gt23 + J32L*PDstandardNth3gt23;
+
+ JacPDstandardNth2gt33 = J12L*PDstandardNth1gt33 +
+ J22L*PDstandardNth2gt33 + J32L*PDstandardNth3gt33;
+
+ JacPDstandardNth3gt11 = J13L*PDstandardNth1gt11 +
+ J23L*PDstandardNth2gt11 + J33L*PDstandardNth3gt11;
+
+ JacPDstandardNth3gt12 = J13L*PDstandardNth1gt12 +
+ J23L*PDstandardNth2gt12 + J33L*PDstandardNth3gt12;
+
+ JacPDstandardNth3gt13 = J13L*PDstandardNth1gt13 +
+ J23L*PDstandardNth2gt13 + J33L*PDstandardNth3gt13;
+
+ JacPDstandardNth3gt22 = J13L*PDstandardNth1gt22 +
+ J23L*PDstandardNth2gt22 + J33L*PDstandardNth3gt22;
+
+ JacPDstandardNth3gt23 = J13L*PDstandardNth1gt23 +
+ J23L*PDstandardNth2gt23 + J33L*PDstandardNth3gt23;
+
+ JacPDstandardNth3gt33 = J13L*PDstandardNth1gt33 +
+ J23L*PDstandardNth2gt33 + J33L*PDstandardNth3gt33;
+
+ JacPDupwindNthAnti1alpha = J11L*PDupwindNthAnti1alpha +
+ J21L*PDupwindNthAnti2alpha + J31L*PDupwindNthAnti3alpha;
+
+ JacPDupwindNthAnti1beta1 = J11L*PDupwindNthAnti1beta1 +
+ J21L*PDupwindNthAnti2beta1 + J31L*PDupwindNthAnti3beta1;
+
+ JacPDupwindNthAnti1beta2 = J11L*PDupwindNthAnti1beta2 +
+ J21L*PDupwindNthAnti2beta2 + J31L*PDupwindNthAnti3beta2;
+
+ JacPDupwindNthAnti1beta3 = J11L*PDupwindNthAnti1beta3 +
+ J21L*PDupwindNthAnti2beta3 + J31L*PDupwindNthAnti3beta3;
+
+ JacPDupwindNthSymm1alpha = J11L*PDupwindNthSymm1alpha +
+ J21L*PDupwindNthSymm2alpha + J31L*PDupwindNthSymm3alpha;
+
+ JacPDupwindNthSymm1beta1 = J11L*PDupwindNthSymm1beta1 +
+ J21L*PDupwindNthSymm2beta1 + J31L*PDupwindNthSymm3beta1;
+
+ JacPDupwindNthSymm1beta2 = J11L*PDupwindNthSymm1beta2 +
+ J21L*PDupwindNthSymm2beta2 + J31L*PDupwindNthSymm3beta2;
+
+ JacPDupwindNthSymm1beta3 = J11L*PDupwindNthSymm1beta3 +
+ J21L*PDupwindNthSymm2beta3 + J31L*PDupwindNthSymm3beta3;
+
+ JacPDupwindNthAnti2alpha = J12L*PDupwindNthAnti1alpha +
+ J22L*PDupwindNthAnti2alpha + J32L*PDupwindNthAnti3alpha;
+
+ JacPDupwindNthAnti2beta1 = J12L*PDupwindNthAnti1beta1 +
+ J22L*PDupwindNthAnti2beta1 + J32L*PDupwindNthAnti3beta1;
+
+ JacPDupwindNthAnti2beta2 = J12L*PDupwindNthAnti1beta2 +
+ J22L*PDupwindNthAnti2beta2 + J32L*PDupwindNthAnti3beta2;
+
+ JacPDupwindNthAnti2beta3 = J12L*PDupwindNthAnti1beta3 +
+ J22L*PDupwindNthAnti2beta3 + J32L*PDupwindNthAnti3beta3;
+
+ JacPDupwindNthSymm2alpha = J12L*PDupwindNthSymm1alpha +
+ J22L*PDupwindNthSymm2alpha + J32L*PDupwindNthSymm3alpha;
+
+ JacPDupwindNthSymm2beta1 = J12L*PDupwindNthSymm1beta1 +
+ J22L*PDupwindNthSymm2beta1 + J32L*PDupwindNthSymm3beta1;
+
+ JacPDupwindNthSymm2beta2 = J12L*PDupwindNthSymm1beta2 +
+ J22L*PDupwindNthSymm2beta2 + J32L*PDupwindNthSymm3beta2;
+
+ JacPDupwindNthSymm2beta3 = J12L*PDupwindNthSymm1beta3 +
+ J22L*PDupwindNthSymm2beta3 + J32L*PDupwindNthSymm3beta3;
+
+ JacPDupwindNthAnti3alpha = J13L*PDupwindNthAnti1alpha +
+ J23L*PDupwindNthAnti2alpha + J33L*PDupwindNthAnti3alpha;
+
+ JacPDupwindNthAnti3beta1 = J13L*PDupwindNthAnti1beta1 +
+ J23L*PDupwindNthAnti2beta1 + J33L*PDupwindNthAnti3beta1;
+
+ JacPDupwindNthAnti3beta2 = J13L*PDupwindNthAnti1beta2 +
+ J23L*PDupwindNthAnti2beta2 + J33L*PDupwindNthAnti3beta2;
+
+ JacPDupwindNthAnti3beta3 = J13L*PDupwindNthAnti1beta3 +
+ J23L*PDupwindNthAnti2beta3 + J33L*PDupwindNthAnti3beta3;
+
+ JacPDupwindNthSymm3alpha = J13L*PDupwindNthSymm1alpha +
+ J23L*PDupwindNthSymm2alpha + J33L*PDupwindNthSymm3alpha;
+
+ JacPDupwindNthSymm3beta1 = J13L*PDupwindNthSymm1beta1 +
+ J23L*PDupwindNthSymm2beta1 + J33L*PDupwindNthSymm3beta1;
+
+ JacPDupwindNthSymm3beta2 = J13L*PDupwindNthSymm1beta2 +
+ J23L*PDupwindNthSymm2beta2 + J33L*PDupwindNthSymm3beta2;
+
+ JacPDupwindNthSymm3beta3 = J13L*PDupwindNthSymm1beta3 +
+ J23L*PDupwindNthSymm2beta3 + J33L*PDupwindNthSymm3beta3;
+ }
+ else
+ {
+ JacPDstandardNth1gt11 = PDstandardNth1gt11;
+
+ JacPDstandardNth1gt12 = PDstandardNth1gt12;
+
+ JacPDstandardNth1gt13 = PDstandardNth1gt13;
+
+ JacPDstandardNth1gt22 = PDstandardNth1gt22;
+
+ JacPDstandardNth1gt23 = PDstandardNth1gt23;
+
+ JacPDstandardNth1gt33 = PDstandardNth1gt33;
+
+ JacPDstandardNth2gt11 = PDstandardNth2gt11;
+
+ JacPDstandardNth2gt12 = PDstandardNth2gt12;
+
+ JacPDstandardNth2gt13 = PDstandardNth2gt13;
+
+ JacPDstandardNth2gt22 = PDstandardNth2gt22;
+
+ JacPDstandardNth2gt23 = PDstandardNth2gt23;
+
+ JacPDstandardNth2gt33 = PDstandardNth2gt33;
+
+ JacPDstandardNth3gt11 = PDstandardNth3gt11;
+
+ JacPDstandardNth3gt12 = PDstandardNth3gt12;
+
+ JacPDstandardNth3gt13 = PDstandardNth3gt13;
+
+ JacPDstandardNth3gt22 = PDstandardNth3gt22;
+
+ JacPDstandardNth3gt23 = PDstandardNth3gt23;
+
+ JacPDstandardNth3gt33 = PDstandardNth3gt33;
+
+ JacPDupwindNthAnti1alpha = PDupwindNthAnti1alpha;
+
+ JacPDupwindNthAnti1beta1 = PDupwindNthAnti1beta1;
+
+ JacPDupwindNthAnti1beta2 = PDupwindNthAnti1beta2;
+
+ JacPDupwindNthAnti1beta3 = PDupwindNthAnti1beta3;
+
+ JacPDupwindNthSymm1alpha = PDupwindNthSymm1alpha;
+
+ JacPDupwindNthSymm1beta1 = PDupwindNthSymm1beta1;
+
+ JacPDupwindNthSymm1beta2 = PDupwindNthSymm1beta2;
+
+ JacPDupwindNthSymm1beta3 = PDupwindNthSymm1beta3;
+
+ JacPDupwindNthAnti2alpha = PDupwindNthAnti2alpha;
+
+ JacPDupwindNthAnti2beta1 = PDupwindNthAnti2beta1;
+
+ JacPDupwindNthAnti2beta2 = PDupwindNthAnti2beta2;
+
+ JacPDupwindNthAnti2beta3 = PDupwindNthAnti2beta3;
+
+ JacPDupwindNthSymm2alpha = PDupwindNthSymm2alpha;
+
+ JacPDupwindNthSymm2beta1 = PDupwindNthSymm2beta1;
+
+ JacPDupwindNthSymm2beta2 = PDupwindNthSymm2beta2;
+
+ JacPDupwindNthSymm2beta3 = PDupwindNthSymm2beta3;
+
+ JacPDupwindNthAnti3alpha = PDupwindNthAnti3alpha;
+
+ JacPDupwindNthAnti3beta1 = PDupwindNthAnti3beta1;
+
+ JacPDupwindNthAnti3beta2 = PDupwindNthAnti3beta2;
+
+ JacPDupwindNthAnti3beta3 = PDupwindNthAnti3beta3;
+
+ JacPDupwindNthSymm3alpha = PDupwindNthSymm3alpha;
+
+ JacPDupwindNthSymm3beta1 = PDupwindNthSymm3beta1;
+
+ JacPDupwindNthSymm3beta2 = PDupwindNthSymm3beta2;
+
+ JacPDupwindNthSymm3beta3 = PDupwindNthSymm3beta3;
+ }
+
ptrdiff_t dir1 = Sign(beta1L);
ptrdiff_t dir2 = Sign(beta2L);
@@ -216,164 +525,77 @@ static void ML_BSSN_MP_O8_convertFromADMBaseGamma_Body(cGH const * restrict cons
CCTK_REAL gtu33 = INV(detgt)*(gt11L*gt22L - SQR(gt12L));
- CCTK_REAL Gt111 = 0.5*((gtu11*J11L - gtu12*J12L -
- gtu13*J13L)*PDstandardNth1gt11 + (gtu11*J21L - gtu12*J22L -
- gtu13*J23L)*PDstandardNth2gt11 + (gtu11*J31L - gtu12*J32L -
- gtu13*J33L)*PDstandardNth3gt11 + 2*(J11L*(gtu12*PDstandardNth1gt12 +
- gtu13*PDstandardNth1gt13) + J21L*(gtu12*PDstandardNth2gt12 +
- gtu13*PDstandardNth2gt13) + J31L*(gtu12*PDstandardNth3gt12 +
- gtu13*PDstandardNth3gt13)));
-
- CCTK_REAL Gt211 = 0.5*((gtu12*J11L - gtu22*J12L -
- gtu23*J13L)*PDstandardNth1gt11 + (gtu12*J21L - gtu22*J22L -
- gtu23*J23L)*PDstandardNth2gt11 + (gtu12*J31L - gtu22*J32L -
- gtu23*J33L)*PDstandardNth3gt11 + 2*(J11L*(gtu22*PDstandardNth1gt12 +
- gtu23*PDstandardNth1gt13) + J21L*(gtu22*PDstandardNth2gt12 +
- gtu23*PDstandardNth2gt13) + J31L*(gtu22*PDstandardNth3gt12 +
- gtu23*PDstandardNth3gt13)));
-
- CCTK_REAL Gt311 = 0.5*((gtu13*J11L - gtu23*J12L -
- gtu33*J13L)*PDstandardNth1gt11 + (gtu13*J21L - gtu23*J22L -
- gtu33*J23L)*PDstandardNth2gt11 + (gtu13*J31L - gtu23*J32L -
- gtu33*J33L)*PDstandardNth3gt11 + 2*(J11L*(gtu23*PDstandardNth1gt12 +
- gtu33*PDstandardNth1gt13) + J21L*(gtu23*PDstandardNth2gt12 +
- gtu33*PDstandardNth2gt13) + J31L*(gtu23*PDstandardNth3gt12 +
- gtu33*PDstandardNth3gt13)));
-
- CCTK_REAL Gt112 = 0.5*(gtu11*(J12L*PDstandardNth1gt11 +
- J22L*PDstandardNth2gt11 + J32L*PDstandardNth3gt11) +
- gtu12*(J11L*PDstandardNth1gt22 + J21L*PDstandardNth2gt22 +
- J31L*PDstandardNth3gt22) + gtu13*(-(J13L*PDstandardNth1gt12) +
- J12L*PDstandardNth1gt13 + J11L*PDstandardNth1gt23 -
- J23L*PDstandardNth2gt12 + J22L*PDstandardNth2gt13 +
- J21L*PDstandardNth2gt23 - J33L*PDstandardNth3gt12 +
- J32L*PDstandardNth3gt13 + J31L*PDstandardNth3gt23));
-
- CCTK_REAL Gt212 = 0.5*(gtu12*(J12L*PDstandardNth1gt11 +
- J22L*PDstandardNth2gt11 + J32L*PDstandardNth3gt11) +
- gtu22*(J11L*PDstandardNth1gt22 + J21L*PDstandardNth2gt22 +
- J31L*PDstandardNth3gt22) + gtu23*(-(J13L*PDstandardNth1gt12) +
- J12L*PDstandardNth1gt13 + J11L*PDstandardNth1gt23 -
- J23L*PDstandardNth2gt12 + J22L*PDstandardNth2gt13 +
- J21L*PDstandardNth2gt23 - J33L*PDstandardNth3gt12 +
- J32L*PDstandardNth3gt13 + J31L*PDstandardNth3gt23));
-
- CCTK_REAL Gt312 = 0.5*(gtu13*(J12L*PDstandardNth1gt11 +
- J22L*PDstandardNth2gt11 + J32L*PDstandardNth3gt11) +
- gtu23*(J11L*PDstandardNth1gt22 + J21L*PDstandardNth2gt22 +
- J31L*PDstandardNth3gt22) + gtu33*(-(J13L*PDstandardNth1gt12) +
- J12L*PDstandardNth1gt13 + J11L*PDstandardNth1gt23 -
- J23L*PDstandardNth2gt12 + J22L*PDstandardNth2gt13 +
- J21L*PDstandardNth2gt23 - J33L*PDstandardNth3gt12 +
- J32L*PDstandardNth3gt13 + J31L*PDstandardNth3gt23));
-
- CCTK_REAL Gt113 = 0.5*(gtu11*(J13L*PDstandardNth1gt11 +
- J23L*PDstandardNth2gt11 + J33L*PDstandardNth3gt11) +
- gtu12*(J13L*PDstandardNth1gt12 - J12L*PDstandardNth1gt13 +
- J11L*PDstandardNth1gt23 + J23L*PDstandardNth2gt12 -
- J22L*PDstandardNth2gt13 + J21L*PDstandardNth2gt23 +
- J33L*PDstandardNth3gt12 - J32L*PDstandardNth3gt13 +
- J31L*PDstandardNth3gt23) + gtu13*(J11L*PDstandardNth1gt33 +
- J21L*PDstandardNth2gt33 + J31L*PDstandardNth3gt33));
-
- CCTK_REAL Gt213 = 0.5*(gtu12*(J13L*PDstandardNth1gt11 +
- J23L*PDstandardNth2gt11 + J33L*PDstandardNth3gt11) +
- gtu22*(J13L*PDstandardNth1gt12 - J12L*PDstandardNth1gt13 +
- J11L*PDstandardNth1gt23 + J23L*PDstandardNth2gt12 -
- J22L*PDstandardNth2gt13 + J21L*PDstandardNth2gt23 +
- J33L*PDstandardNth3gt12 - J32L*PDstandardNth3gt13 +
- J31L*PDstandardNth3gt23) + gtu23*(J11L*PDstandardNth1gt33 +
- J21L*PDstandardNth2gt33 + J31L*PDstandardNth3gt33));
-
- CCTK_REAL Gt313 = 0.5*(gtu13*(J13L*PDstandardNth1gt11 +
- J23L*PDstandardNth2gt11 + J33L*PDstandardNth3gt11) +
- gtu23*(J13L*PDstandardNth1gt12 - J12L*PDstandardNth1gt13 +
- J11L*PDstandardNth1gt23 + J23L*PDstandardNth2gt12 -
- J22L*PDstandardNth2gt13 + J21L*PDstandardNth2gt23 +
- J33L*PDstandardNth3gt12 - J32L*PDstandardNth3gt13 +
- J31L*PDstandardNth3gt23) + gtu33*(J11L*PDstandardNth1gt33 +
- J21L*PDstandardNth2gt33 + J31L*PDstandardNth3gt33));
-
- CCTK_REAL Gt122 = 0.5*(gtu11*(-(J11L*PDstandardNth1gt22) +
- 2*(J12L*PDstandardNth1gt12 + J22L*PDstandardNth2gt12) -
- J21L*PDstandardNth2gt22 + 2*J32L*PDstandardNth3gt12 -
- J31L*PDstandardNth3gt22) + gtu12*(J12L*PDstandardNth1gt22 +
- J22L*PDstandardNth2gt22 + J32L*PDstandardNth3gt22) -
- gtu13*(J13L*PDstandardNth1gt22 + J23L*PDstandardNth2gt22 +
- J33L*PDstandardNth3gt22 - 2*(J12L*PDstandardNth1gt23 +
- J22L*PDstandardNth2gt23 + J32L*PDstandardNth3gt23)));
-
- CCTK_REAL Gt222 = 0.5*(gtu12*(-(J11L*PDstandardNth1gt22) +
- 2*(J12L*PDstandardNth1gt12 + J22L*PDstandardNth2gt12) -
- J21L*PDstandardNth2gt22 + 2*J32L*PDstandardNth3gt12 -
- J31L*PDstandardNth3gt22) + gtu22*(J12L*PDstandardNth1gt22 +
- J22L*PDstandardNth2gt22 + J32L*PDstandardNth3gt22) -
- gtu23*(J13L*PDstandardNth1gt22 + J23L*PDstandardNth2gt22 +
- J33L*PDstandardNth3gt22 - 2*(J12L*PDstandardNth1gt23 +
- J22L*PDstandardNth2gt23 + J32L*PDstandardNth3gt23)));
-
- CCTK_REAL Gt322 = 0.5*(gtu13*(-(J11L*PDstandardNth1gt22) +
- 2*(J12L*PDstandardNth1gt12 + J22L*PDstandardNth2gt12) -
- J21L*PDstandardNth2gt22 + 2*J32L*PDstandardNth3gt12 -
- J31L*PDstandardNth3gt22) + gtu23*(J12L*PDstandardNth1gt22 +
- J22L*PDstandardNth2gt22 + J32L*PDstandardNth3gt22) -
- gtu33*(J13L*PDstandardNth1gt22 + J23L*PDstandardNth2gt22 +
- J33L*PDstandardNth3gt22 - 2*(J12L*PDstandardNth1gt23 +
- J22L*PDstandardNth2gt23 + J32L*PDstandardNth3gt23)));
-
- CCTK_REAL Gt123 = 0.5*(gtu12*(J13L*PDstandardNth1gt22 +
- J23L*PDstandardNth2gt22 + J33L*PDstandardNth3gt22) +
- gtu11*(J13L*PDstandardNth1gt12 + J12L*PDstandardNth1gt13 -
- J11L*PDstandardNth1gt23 + J23L*PDstandardNth2gt12 +
- J22L*PDstandardNth2gt13 - J21L*PDstandardNth2gt23 +
- J33L*PDstandardNth3gt12 + J32L*PDstandardNth3gt13 -
- J31L*PDstandardNth3gt23) + gtu13*(J12L*PDstandardNth1gt33 +
- J22L*PDstandardNth2gt33 + J32L*PDstandardNth3gt33));
-
- CCTK_REAL Gt223 = 0.5*(gtu22*(J13L*PDstandardNth1gt22 +
- J23L*PDstandardNth2gt22 + J33L*PDstandardNth3gt22) +
- gtu12*(J13L*PDstandardNth1gt12 + J12L*PDstandardNth1gt13 -
- J11L*PDstandardNth1gt23 + J23L*PDstandardNth2gt12 +
- J22L*PDstandardNth2gt13 - J21L*PDstandardNth2gt23 +
- J33L*PDstandardNth3gt12 + J32L*PDstandardNth3gt13 -
- J31L*PDstandardNth3gt23) + gtu23*(J12L*PDstandardNth1gt33 +
- J22L*PDstandardNth2gt33 + J32L*PDstandardNth3gt33));
-
- CCTK_REAL Gt323 = 0.5*(gtu23*(J13L*PDstandardNth1gt22 +
- J23L*PDstandardNth2gt22 + J33L*PDstandardNth3gt22) +
- gtu13*(J13L*PDstandardNth1gt12 + J12L*PDstandardNth1gt13 -
- J11L*PDstandardNth1gt23 + J23L*PDstandardNth2gt12 +
- J22L*PDstandardNth2gt13 - J21L*PDstandardNth2gt23 +
- J33L*PDstandardNth3gt12 + J32L*PDstandardNth3gt13 -
- J31L*PDstandardNth3gt23) + gtu33*(J12L*PDstandardNth1gt33 +
- J22L*PDstandardNth2gt33 + J32L*PDstandardNth3gt33));
-
- CCTK_REAL Gt133 = 0.5*(gtu11*(-(J11L*PDstandardNth1gt33) +
- 2*(J13L*PDstandardNth1gt13 + J23L*PDstandardNth2gt13) -
- J21L*PDstandardNth2gt33 + 2*J33L*PDstandardNth3gt13 -
- J31L*PDstandardNth3gt33) + gtu12*(-(J12L*PDstandardNth1gt33) +
- 2*(J13L*PDstandardNth1gt23 + J23L*PDstandardNth2gt23) -
- J22L*PDstandardNth2gt33 + 2*J33L*PDstandardNth3gt23 -
- J32L*PDstandardNth3gt33) + gtu13*(J13L*PDstandardNth1gt33 +
- J23L*PDstandardNth2gt33 + J33L*PDstandardNth3gt33));
-
- CCTK_REAL Gt233 = 0.5*(gtu12*(-(J11L*PDstandardNth1gt33) +
- 2*(J13L*PDstandardNth1gt13 + J23L*PDstandardNth2gt13) -
- J21L*PDstandardNth2gt33 + 2*J33L*PDstandardNth3gt13 -
- J31L*PDstandardNth3gt33) + gtu22*(-(J12L*PDstandardNth1gt33) +
- 2*(J13L*PDstandardNth1gt23 + J23L*PDstandardNth2gt23) -
- J22L*PDstandardNth2gt33 + 2*J33L*PDstandardNth3gt23 -
- J32L*PDstandardNth3gt33) + gtu23*(J13L*PDstandardNth1gt33 +
- J23L*PDstandardNth2gt33 + J33L*PDstandardNth3gt33));
-
- CCTK_REAL Gt333 = 0.5*(gtu13*(-(J11L*PDstandardNth1gt33) +
- 2*(J13L*PDstandardNth1gt13 + J23L*PDstandardNth2gt13) -
- J21L*PDstandardNth2gt33 + 2*J33L*PDstandardNth3gt13 -
- J31L*PDstandardNth3gt33) + gtu23*(-(J12L*PDstandardNth1gt33) +
- 2*(J13L*PDstandardNth1gt23 + J23L*PDstandardNth2gt23) -
- J22L*PDstandardNth2gt33 + 2*J33L*PDstandardNth3gt23 -
- J32L*PDstandardNth3gt33) + gtu33*(J13L*PDstandardNth1gt33 +
- J23L*PDstandardNth2gt33 + J33L*PDstandardNth3gt33));
+ CCTK_REAL Gt111 = 0.5*(gtu11*JacPDstandardNth1gt11 +
+ 2*(gtu12*JacPDstandardNth1gt12 + gtu13*JacPDstandardNth1gt13) -
+ gtu12*JacPDstandardNth2gt11 - gtu13*JacPDstandardNth3gt11);
+
+ CCTK_REAL Gt211 = 0.5*(gtu12*JacPDstandardNth1gt11 +
+ 2*(gtu22*JacPDstandardNth1gt12 + gtu23*JacPDstandardNth1gt13) -
+ gtu22*JacPDstandardNth2gt11 - gtu23*JacPDstandardNth3gt11);
+
+ CCTK_REAL Gt311 = 0.5*(gtu13*JacPDstandardNth1gt11 +
+ 2*(gtu23*JacPDstandardNth1gt12 + gtu33*JacPDstandardNth1gt13) -
+ gtu23*JacPDstandardNth2gt11 - gtu33*JacPDstandardNth3gt11);
+
+ CCTK_REAL Gt112 = 0.5*(gtu12*JacPDstandardNth1gt22 +
+ gtu11*JacPDstandardNth2gt11 + gtu13*(JacPDstandardNth1gt23 +
+ JacPDstandardNth2gt13 - JacPDstandardNth3gt12));
+
+ CCTK_REAL Gt212 = 0.5*(gtu22*JacPDstandardNth1gt22 +
+ gtu12*JacPDstandardNth2gt11 + gtu23*(JacPDstandardNth1gt23 +
+ JacPDstandardNth2gt13 - JacPDstandardNth3gt12));
+
+ CCTK_REAL Gt312 = 0.5*(gtu23*JacPDstandardNth1gt22 +
+ gtu13*JacPDstandardNth2gt11 + gtu33*(JacPDstandardNth1gt23 +
+ JacPDstandardNth2gt13 - JacPDstandardNth3gt12));
+
+ CCTK_REAL Gt113 = 0.5*(gtu13*JacPDstandardNth1gt33 +
+ gtu11*JacPDstandardNth3gt11 + gtu12*(JacPDstandardNth1gt23 -
+ JacPDstandardNth2gt13 + JacPDstandardNth3gt12));
+
+ CCTK_REAL Gt213 = 0.5*(gtu23*JacPDstandardNth1gt33 +
+ gtu12*JacPDstandardNth3gt11 + gtu22*(JacPDstandardNth1gt23 -
+ JacPDstandardNth2gt13 + JacPDstandardNth3gt12));
+
+ CCTK_REAL Gt313 = 0.5*(gtu33*JacPDstandardNth1gt33 +
+ gtu13*JacPDstandardNth3gt11 + gtu23*(JacPDstandardNth1gt23 -
+ JacPDstandardNth2gt13 + JacPDstandardNth3gt12));
+
+ CCTK_REAL Gt122 = 0.5*(gtu11*(-JacPDstandardNth1gt22 +
+ 2*JacPDstandardNth2gt12) + gtu12*JacPDstandardNth2gt22 +
+ gtu13*(2*JacPDstandardNth2gt23 - JacPDstandardNth3gt22));
+
+ CCTK_REAL Gt222 = 0.5*(gtu12*(-JacPDstandardNth1gt22 +
+ 2*JacPDstandardNth2gt12) + gtu22*JacPDstandardNth2gt22 +
+ gtu23*(2*JacPDstandardNth2gt23 - JacPDstandardNth3gt22));
+
+ CCTK_REAL Gt322 = 0.5*(gtu13*(-JacPDstandardNth1gt22 +
+ 2*JacPDstandardNth2gt12) + gtu23*JacPDstandardNth2gt22 +
+ gtu33*(2*JacPDstandardNth2gt23 - JacPDstandardNth3gt22));
+
+ CCTK_REAL Gt123 = 0.5*(gtu13*JacPDstandardNth2gt33 +
+ gtu11*(-JacPDstandardNth1gt23 + JacPDstandardNth2gt13 +
+ JacPDstandardNth3gt12) + gtu12*JacPDstandardNth3gt22);
+
+ CCTK_REAL Gt223 = 0.5*(gtu23*JacPDstandardNth2gt33 +
+ gtu12*(-JacPDstandardNth1gt23 + JacPDstandardNth2gt13 +
+ JacPDstandardNth3gt12) + gtu22*JacPDstandardNth3gt22);
+
+ CCTK_REAL Gt323 = 0.5*(gtu33*JacPDstandardNth2gt33 +
+ gtu13*(-JacPDstandardNth1gt23 + JacPDstandardNth2gt13 +
+ JacPDstandardNth3gt12) + gtu23*JacPDstandardNth3gt22);
+
+ CCTK_REAL Gt133 = 0.5*(gtu11*(-JacPDstandardNth1gt33 +
+ 2*JacPDstandardNth3gt13) + gtu12*(-JacPDstandardNth2gt33 +
+ 2*JacPDstandardNth3gt23) + gtu13*JacPDstandardNth3gt33);
+
+ CCTK_REAL Gt233 = 0.5*(gtu12*(-JacPDstandardNth1gt33 +
+ 2*JacPDstandardNth3gt13) + gtu22*(-JacPDstandardNth2gt33 +
+ 2*JacPDstandardNth3gt23) + gtu23*JacPDstandardNth3gt33);
+
+ CCTK_REAL Gt333 = 0.5*(gtu13*(-JacPDstandardNth1gt33 +
+ 2*JacPDstandardNth3gt13) + gtu23*(-JacPDstandardNth2gt33 +
+ 2*JacPDstandardNth3gt23) + gtu33*JacPDstandardNth3gt33);
CCTK_REAL Xt1L = Gt111*gtu11 + Gt122*gtu22 + 2*(Gt112*gtu12 +
Gt113*gtu13 + Gt123*gtu23) + Gt133*gtu33;
@@ -386,14 +608,10 @@ static void ML_BSSN_MP_O8_convertFromADMBaseGamma_Body(cGH const * restrict cons
CCTK_REAL AL = IfThen(LapseACoeff !=
0,-(INV(ToReal(harmonicF))*pow(alphaL,-ToReal(harmonicN))*(dtalpL -
- ((beta1L*J11L + beta2L*J12L + beta3L*J13L)*PDupwindNthAnti1alpha +
- (beta1L*J21L + beta2L*J22L + beta3L*J23L)*PDupwindNthAnti2alpha +
- (beta1L*J31L + beta2L*J32L + beta3L*J33L)*PDupwindNthAnti3alpha +
- (J11L*PDupwindNthSymm1alpha + J21L*PDupwindNthSymm2alpha +
- J31L*PDupwindNthSymm3alpha)*Abs(beta1L) + (J12L*PDupwindNthSymm1alpha +
- J22L*PDupwindNthSymm2alpha + J32L*PDupwindNthSymm3alpha)*Abs(beta2L) +
- (J13L*PDupwindNthSymm1alpha + J23L*PDupwindNthSymm2alpha +
- J33L*PDupwindNthSymm3alpha)*Abs(beta3L))*ToReal(LapseAdvectionCoeff))),0);
+ (beta1L*JacPDupwindNthAnti1alpha + beta2L*JacPDupwindNthAnti2alpha +
+ beta3L*JacPDupwindNthAnti3alpha + JacPDupwindNthSymm1alpha*Abs(beta1L)
+ + JacPDupwindNthSymm2alpha*Abs(beta2L) +
+ JacPDupwindNthSymm3alpha*Abs(beta3L))*ToReal(LapseAdvectionCoeff))),0);
CCTK_REAL theta = fmin(1,exp(1 -
rL*INV(ToReal(SpatialShiftGammaCoeffRadius))));
@@ -405,34 +623,22 @@ static void ML_BSSN_MP_O8_convertFromADMBaseGamma_Body(cGH const * restrict cons
if (ShiftBCoeff*ShiftGammaCoeff != 0)
{
B1L = INV(theta)*INV(ToReal(ShiftGammaCoeff))*(dtbetaxL -
- ((beta1L*J11L + beta2L*J12L + beta3L*J13L)*PDupwindNthAnti1beta1 +
- (beta1L*J21L + beta2L*J22L + beta3L*J23L)*PDupwindNthAnti2beta1 +
- (beta1L*J31L + beta2L*J32L + beta3L*J33L)*PDupwindNthAnti3beta1 +
- (J11L*PDupwindNthSymm1beta1 + J21L*PDupwindNthSymm2beta1 +
- J31L*PDupwindNthSymm3beta1)*Abs(beta1L) + (J12L*PDupwindNthSymm1beta1 +
- J22L*PDupwindNthSymm2beta1 + J32L*PDupwindNthSymm3beta1)*Abs(beta2L) +
- (J13L*PDupwindNthSymm1beta1 + J23L*PDupwindNthSymm2beta1 +
- J33L*PDupwindNthSymm3beta1)*Abs(beta3L))*ToReal(ShiftAdvectionCoeff));
+ (beta1L*JacPDupwindNthAnti1beta1 + beta2L*JacPDupwindNthAnti2beta1 +
+ beta3L*JacPDupwindNthAnti3beta1 + JacPDupwindNthSymm1beta1*Abs(beta1L)
+ + JacPDupwindNthSymm2beta1*Abs(beta2L) +
+ JacPDupwindNthSymm3beta1*Abs(beta3L))*ToReal(ShiftAdvectionCoeff));
B2L = INV(theta)*INV(ToReal(ShiftGammaCoeff))*(dtbetayL -
- ((beta1L*J11L + beta2L*J12L + beta3L*J13L)*PDupwindNthAnti1beta2 +
- (beta1L*J21L + beta2L*J22L + beta3L*J23L)*PDupwindNthAnti2beta2 +
- (beta1L*J31L + beta2L*J32L + beta3L*J33L)*PDupwindNthAnti3beta2 +
- (J11L*PDupwindNthSymm1beta2 + J21L*PDupwindNthSymm2beta2 +
- J31L*PDupwindNthSymm3beta2)*Abs(beta1L) + (J12L*PDupwindNthSymm1beta2 +
- J22L*PDupwindNthSymm2beta2 + J32L*PDupwindNthSymm3beta2)*Abs(beta2L) +
- (J13L*PDupwindNthSymm1beta2 + J23L*PDupwindNthSymm2beta2 +
- J33L*PDupwindNthSymm3beta2)*Abs(beta3L))*ToReal(ShiftAdvectionCoeff));
+ (beta1L*JacPDupwindNthAnti1beta2 + beta2L*JacPDupwindNthAnti2beta2 +
+ beta3L*JacPDupwindNthAnti3beta2 + JacPDupwindNthSymm1beta2*Abs(beta1L)
+ + JacPDupwindNthSymm2beta2*Abs(beta2L) +
+ JacPDupwindNthSymm3beta2*Abs(beta3L))*ToReal(ShiftAdvectionCoeff));
B3L = INV(theta)*INV(ToReal(ShiftGammaCoeff))*(dtbetazL -
- ((beta1L*J11L + beta2L*J12L + beta3L*J13L)*PDupwindNthAnti1beta3 +
- (beta1L*J21L + beta2L*J22L + beta3L*J23L)*PDupwindNthAnti2beta3 +
- (beta1L*J31L + beta2L*J32L + beta3L*J33L)*PDupwindNthAnti3beta3 +
- (J11L*PDupwindNthSymm1beta3 + J21L*PDupwindNthSymm2beta3 +
- J31L*PDupwindNthSymm3beta3)*Abs(beta1L) + (J12L*PDupwindNthSymm1beta3 +
- J22L*PDupwindNthSymm2beta3 + J32L*PDupwindNthSymm3beta3)*Abs(beta2L) +
- (J13L*PDupwindNthSymm1beta3 + J23L*PDupwindNthSymm2beta3 +
- J33L*PDupwindNthSymm3beta3)*Abs(beta3L))*ToReal(ShiftAdvectionCoeff));
+ (beta1L*JacPDupwindNthAnti1beta3 + beta2L*JacPDupwindNthAnti2beta3 +
+ beta3L*JacPDupwindNthAnti3beta3 + JacPDupwindNthSymm1beta3*Abs(beta1L)
+ + JacPDupwindNthSymm2beta3*Abs(beta2L) +
+ JacPDupwindNthSymm3beta3*Abs(beta3L))*ToReal(ShiftAdvectionCoeff));
}
else
{
diff --git a/ML_BSSN_MP_O8/src/ML_BSSN_MP_O8_convertToADMBase.cc b/ML_BSSN_MP_O8/src/ML_BSSN_MP_O8_convertToADMBase.cc
index 17506aa..bdd82c7 100644
--- a/ML_BSSN_MP_O8/src/ML_BSSN_MP_O8_convertToADMBase.cc
+++ b/ML_BSSN_MP_O8/src/ML_BSSN_MP_O8_convertToADMBase.cc
@@ -94,6 +94,51 @@ static void ML_BSSN_MP_O8_convertToADMBase_Body(cGH const * restrict const cctkG
CCTK_REAL const pm1o840dy = -0.00119047619047619047619047619048*INV(dy);
CCTK_REAL const pm1o840dz = -0.00119047619047619047619047619048*INV(dz);
+ /* 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
LC_LOOP3 (ML_BSSN_MP_O8_convertToADMBase,
@@ -130,6 +175,7 @@ static void ML_BSSN_MP_O8_convertToADMBase_Body(cGH const * restrict const cctkG
CCTK_REAL trKL = trK[index];
+
/* Include user supplied include files */
/* Precompute derivatives */
diff --git a/ML_BSSN_MP_O8/src/ML_BSSN_MP_O8_convertToADMBaseDtLapseShift.cc b/ML_BSSN_MP_O8/src/ML_BSSN_MP_O8_convertToADMBaseDtLapseShift.cc
index bf982f4..f03ef10 100644
--- a/ML_BSSN_MP_O8/src/ML_BSSN_MP_O8_convertToADMBaseDtLapseShift.cc
+++ b/ML_BSSN_MP_O8/src/ML_BSSN_MP_O8_convertToADMBaseDtLapseShift.cc
@@ -54,8 +54,8 @@ static void ML_BSSN_MP_O8_convertToADMBaseDtLapseShift_Body(cGH const * restrict
return;
}
- const char *groups[] = {"ADMBase::dtlapse","ADMBase::dtshift","Coordinates::jacobian","grid::coordinates","Grid::coordinates","ML_BSSN_MP_O8::ML_dtlapse","ML_BSSN_MP_O8::ML_dtshift","ML_BSSN_MP_O8::ML_Gamma","ML_BSSN_MP_O8::ML_lapse","ML_BSSN_MP_O8::ML_shift","ML_BSSN_MP_O8::ML_trace_curv"};
- GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_MP_O8_convertToADMBaseDtLapseShift", 11, groups);
+ const char *groups[] = {"ADMBase::dtlapse","ADMBase::dtshift","grid::coordinates","Grid::coordinates","ML_BSSN_MP_O8::ML_dtlapse","ML_BSSN_MP_O8::ML_dtshift","ML_BSSN_MP_O8::ML_Gamma","ML_BSSN_MP_O8::ML_lapse","ML_BSSN_MP_O8::ML_shift","ML_BSSN_MP_O8::ML_trace_curv"};
+ GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_MP_O8_convertToADMBaseDtLapseShift", 10, groups);
GenericFD_EnsureStencilFits(cctkGH, "ML_BSSN_MP_O8_convertToADMBaseDtLapseShift", 5, 5, 5);
@@ -110,6 +110,51 @@ static void ML_BSSN_MP_O8_convertToADMBaseDtLapseShift_Body(cGH const * restrict
CCTK_REAL const pm1o840dy = -0.00119047619047619047619047619048*INV(dy);
CCTK_REAL const pm1o840dz = -0.00119047619047619047619047619048*INV(dz);
+ /* 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
LC_LOOP3 (ML_BSSN_MP_O8_convertToADMBaseDtLapseShift,
@@ -128,15 +173,6 @@ static void ML_BSSN_MP_O8_convertToADMBaseDtLapseShift_Body(cGH const * restrict
CCTK_REAL beta1L = beta1[index];
CCTK_REAL beta2L = beta2[index];
CCTK_REAL beta3L = beta3[index];
- CCTK_REAL J11L = J11[index];
- CCTK_REAL J12L = J12[index];
- CCTK_REAL J13L = J13[index];
- CCTK_REAL J21L = J21[index];
- CCTK_REAL J22L = J22[index];
- CCTK_REAL J23L = J23[index];
- CCTK_REAL J31L = J31[index];
- CCTK_REAL J32L = J32[index];
- CCTK_REAL J33L = J33[index];
CCTK_REAL rL = r[index];
CCTK_REAL trKL = trK[index];
CCTK_REAL Xt1L = Xt1[index];
@@ -144,6 +180,21 @@ static void ML_BSSN_MP_O8_convertToADMBaseDtLapseShift_Body(cGH const * restrict
CCTK_REAL Xt3L = Xt3[index];
+ CCTK_REAL J11L, J12L, J13L, J21L, J22L, J23L, J31L, J32L, J33L;
+
+ if (use_jacobian)
+ {
+ J11L = J11[index];
+ J12L = J12[index];
+ J13L = J13[index];
+ J21L = J21[index];
+ J22L = J22[index];
+ J23L = J23[index];
+ J31L = J31[index];
+ J32L = J32[index];
+ J33L = J33[index];
+ }
+
/* Include user supplied include files */
/* Precompute derivatives */
@@ -173,6 +224,156 @@ static void ML_BSSN_MP_O8_convertToADMBaseDtLapseShift_Body(cGH const * restrict
CCTK_REAL const PDupwindNthSymm3beta3 = PDupwindNthSymm3(&beta3[index]);
/* Calculate temporaries and grid functions */
+ CCTK_REAL JacPDupwindNthAnti1alpha;
+ CCTK_REAL JacPDupwindNthAnti1beta1;
+ CCTK_REAL JacPDupwindNthAnti1beta2;
+ CCTK_REAL JacPDupwindNthAnti1beta3;
+ CCTK_REAL JacPDupwindNthAnti2alpha;
+ CCTK_REAL JacPDupwindNthAnti2beta1;
+ CCTK_REAL JacPDupwindNthAnti2beta2;
+ CCTK_REAL JacPDupwindNthAnti2beta3;
+ CCTK_REAL JacPDupwindNthAnti3alpha;
+ CCTK_REAL JacPDupwindNthAnti3beta1;
+ CCTK_REAL JacPDupwindNthAnti3beta2;
+ CCTK_REAL JacPDupwindNthAnti3beta3;
+ CCTK_REAL JacPDupwindNthSymm1alpha;
+ CCTK_REAL JacPDupwindNthSymm1beta1;
+ CCTK_REAL JacPDupwindNthSymm1beta2;
+ CCTK_REAL JacPDupwindNthSymm1beta3;
+ CCTK_REAL JacPDupwindNthSymm2alpha;
+ CCTK_REAL JacPDupwindNthSymm2beta1;
+ CCTK_REAL JacPDupwindNthSymm2beta2;
+ CCTK_REAL JacPDupwindNthSymm2beta3;
+ CCTK_REAL JacPDupwindNthSymm3alpha;
+ CCTK_REAL JacPDupwindNthSymm3beta1;
+ CCTK_REAL JacPDupwindNthSymm3beta2;
+ CCTK_REAL JacPDupwindNthSymm3beta3;
+
+ if (use_jacobian)
+ {
+ JacPDupwindNthAnti1alpha = J11L*PDupwindNthAnti1alpha +
+ J21L*PDupwindNthAnti2alpha + J31L*PDupwindNthAnti3alpha;
+
+ JacPDupwindNthAnti1beta1 = J11L*PDupwindNthAnti1beta1 +
+ J21L*PDupwindNthAnti2beta1 + J31L*PDupwindNthAnti3beta1;
+
+ JacPDupwindNthAnti1beta2 = J11L*PDupwindNthAnti1beta2 +
+ J21L*PDupwindNthAnti2beta2 + J31L*PDupwindNthAnti3beta2;
+
+ JacPDupwindNthAnti1beta3 = J11L*PDupwindNthAnti1beta3 +
+ J21L*PDupwindNthAnti2beta3 + J31L*PDupwindNthAnti3beta3;
+
+ JacPDupwindNthSymm1alpha = J11L*PDupwindNthSymm1alpha +
+ J21L*PDupwindNthSymm2alpha + J31L*PDupwindNthSymm3alpha;
+
+ JacPDupwindNthSymm1beta1 = J11L*PDupwindNthSymm1beta1 +
+ J21L*PDupwindNthSymm2beta1 + J31L*PDupwindNthSymm3beta1;
+
+ JacPDupwindNthSymm1beta2 = J11L*PDupwindNthSymm1beta2 +
+ J21L*PDupwindNthSymm2beta2 + J31L*PDupwindNthSymm3beta2;
+
+ JacPDupwindNthSymm1beta3 = J11L*PDupwindNthSymm1beta3 +
+ J21L*PDupwindNthSymm2beta3 + J31L*PDupwindNthSymm3beta3;
+
+ JacPDupwindNthAnti2alpha = J12L*PDupwindNthAnti1alpha +
+ J22L*PDupwindNthAnti2alpha + J32L*PDupwindNthAnti3alpha;
+
+ JacPDupwindNthAnti2beta1 = J12L*PDupwindNthAnti1beta1 +
+ J22L*PDupwindNthAnti2beta1 + J32L*PDupwindNthAnti3beta1;
+
+ JacPDupwindNthAnti2beta2 = J12L*PDupwindNthAnti1beta2 +
+ J22L*PDupwindNthAnti2beta2 + J32L*PDupwindNthAnti3beta2;
+
+ JacPDupwindNthAnti2beta3 = J12L*PDupwindNthAnti1beta3 +
+ J22L*PDupwindNthAnti2beta3 + J32L*PDupwindNthAnti3beta3;
+
+ JacPDupwindNthSymm2alpha = J12L*PDupwindNthSymm1alpha +
+ J22L*PDupwindNthSymm2alpha + J32L*PDupwindNthSymm3alpha;
+
+ JacPDupwindNthSymm2beta1 = J12L*PDupwindNthSymm1beta1 +
+ J22L*PDupwindNthSymm2beta1 + J32L*PDupwindNthSymm3beta1;
+
+ JacPDupwindNthSymm2beta2 = J12L*PDupwindNthSymm1beta2 +
+ J22L*PDupwindNthSymm2beta2 + J32L*PDupwindNthSymm3beta2;
+
+ JacPDupwindNthSymm2beta3 = J12L*PDupwindNthSymm1beta3 +
+ J22L*PDupwindNthSymm2beta3 + J32L*PDupwindNthSymm3beta3;
+
+ JacPDupwindNthAnti3alpha = J13L*PDupwindNthAnti1alpha +
+ J23L*PDupwindNthAnti2alpha + J33L*PDupwindNthAnti3alpha;
+
+ JacPDupwindNthAnti3beta1 = J13L*PDupwindNthAnti1beta1 +
+ J23L*PDupwindNthAnti2beta1 + J33L*PDupwindNthAnti3beta1;
+
+ JacPDupwindNthAnti3beta2 = J13L*PDupwindNthAnti1beta2 +
+ J23L*PDupwindNthAnti2beta2 + J33L*PDupwindNthAnti3beta2;
+
+ JacPDupwindNthAnti3beta3 = J13L*PDupwindNthAnti1beta3 +
+ J23L*PDupwindNthAnti2beta3 + J33L*PDupwindNthAnti3beta3;
+
+ JacPDupwindNthSymm3alpha = J13L*PDupwindNthSymm1alpha +
+ J23L*PDupwindNthSymm2alpha + J33L*PDupwindNthSymm3alpha;
+
+ JacPDupwindNthSymm3beta1 = J13L*PDupwindNthSymm1beta1 +
+ J23L*PDupwindNthSymm2beta1 + J33L*PDupwindNthSymm3beta1;
+
+ JacPDupwindNthSymm3beta2 = J13L*PDupwindNthSymm1beta2 +
+ J23L*PDupwindNthSymm2beta2 + J33L*PDupwindNthSymm3beta2;
+
+ JacPDupwindNthSymm3beta3 = J13L*PDupwindNthSymm1beta3 +
+ J23L*PDupwindNthSymm2beta3 + J33L*PDupwindNthSymm3beta3;
+ }
+ else
+ {
+ JacPDupwindNthAnti1alpha = PDupwindNthAnti1alpha;
+
+ JacPDupwindNthAnti1beta1 = PDupwindNthAnti1beta1;
+
+ JacPDupwindNthAnti1beta2 = PDupwindNthAnti1beta2;
+
+ JacPDupwindNthAnti1beta3 = PDupwindNthAnti1beta3;
+
+ JacPDupwindNthSymm1alpha = PDupwindNthSymm1alpha;
+
+ JacPDupwindNthSymm1beta1 = PDupwindNthSymm1beta1;
+
+ JacPDupwindNthSymm1beta2 = PDupwindNthSymm1beta2;
+
+ JacPDupwindNthSymm1beta3 = PDupwindNthSymm1beta3;
+
+ JacPDupwindNthAnti2alpha = PDupwindNthAnti2alpha;
+
+ JacPDupwindNthAnti2beta1 = PDupwindNthAnti2beta1;
+
+ JacPDupwindNthAnti2beta2 = PDupwindNthAnti2beta2;
+
+ JacPDupwindNthAnti2beta3 = PDupwindNthAnti2beta3;
+
+ JacPDupwindNthSymm2alpha = PDupwindNthSymm2alpha;
+
+ JacPDupwindNthSymm2beta1 = PDupwindNthSymm2beta1;
+
+ JacPDupwindNthSymm2beta2 = PDupwindNthSymm2beta2;
+
+ JacPDupwindNthSymm2beta3 = PDupwindNthSymm2beta3;
+
+ JacPDupwindNthAnti3alpha = PDupwindNthAnti3alpha;
+
+ JacPDupwindNthAnti3beta1 = PDupwindNthAnti3beta1;
+
+ JacPDupwindNthAnti3beta2 = PDupwindNthAnti3beta2;
+
+ JacPDupwindNthAnti3beta3 = PDupwindNthAnti3beta3;
+
+ JacPDupwindNthSymm3alpha = PDupwindNthSymm3alpha;
+
+ JacPDupwindNthSymm3beta1 = PDupwindNthSymm3beta1;
+
+ JacPDupwindNthSymm3beta2 = PDupwindNthSymm3beta2;
+
+ JacPDupwindNthSymm3beta3 = PDupwindNthSymm3beta3;
+ }
+
ptrdiff_t dir1 = Sign(beta1L);
ptrdiff_t dir2 = Sign(beta2L);
@@ -186,49 +387,33 @@ static void ML_BSSN_MP_O8_convertToADMBaseDtLapseShift_Body(cGH const * restrict
CCTK_REAL dtalpL =
-(pow(alphaL,ToReal(harmonicN))*ToReal(harmonicF)*(trKL + (AL -
- trKL)*ToReal(LapseACoeff))) + ((beta1L*J11L + beta2L*J12L +
- beta3L*J13L)*PDupwindNthAnti1alpha + (beta1L*J21L + beta2L*J22L +
- beta3L*J23L)*PDupwindNthAnti2alpha + (beta1L*J31L + beta2L*J32L +
- beta3L*J33L)*PDupwindNthAnti3alpha + (J11L*PDupwindNthSymm1alpha +
- J21L*PDupwindNthSymm2alpha + J31L*PDupwindNthSymm3alpha)*Abs(beta1L) +
- (J12L*PDupwindNthSymm1alpha + J22L*PDupwindNthSymm2alpha +
- J32L*PDupwindNthSymm3alpha)*Abs(beta2L) + (J13L*PDupwindNthSymm1alpha +
- J23L*PDupwindNthSymm2alpha +
- J33L*PDupwindNthSymm3alpha)*Abs(beta3L))*ToReal(LapseAdvectionCoeff);
-
- CCTK_REAL dtbetaxL = ((beta1L*J11L + beta2L*J12L +
- beta3L*J13L)*PDupwindNthAnti1beta1 + (beta1L*J21L + beta2L*J22L +
- beta3L*J23L)*PDupwindNthAnti2beta1 + (beta1L*J31L + beta2L*J32L +
- beta3L*J33L)*PDupwindNthAnti3beta1 + (J11L*PDupwindNthSymm1beta1 +
- J21L*PDupwindNthSymm2beta1 + J31L*PDupwindNthSymm3beta1)*Abs(beta1L) +
- (J12L*PDupwindNthSymm1beta1 + J22L*PDupwindNthSymm2beta1 +
- J32L*PDupwindNthSymm3beta1)*Abs(beta2L) + (J13L*PDupwindNthSymm1beta1 +
- J23L*PDupwindNthSymm2beta1 +
- J33L*PDupwindNthSymm3beta1)*Abs(beta3L))*ToReal(ShiftAdvectionCoeff) +
+ trKL)*ToReal(LapseACoeff))) + (beta1L*JacPDupwindNthAnti1alpha +
+ beta2L*JacPDupwindNthAnti2alpha + beta3L*JacPDupwindNthAnti3alpha +
+ JacPDupwindNthSymm1alpha*Abs(beta1L) +
+ JacPDupwindNthSymm2alpha*Abs(beta2L) +
+ JacPDupwindNthSymm3alpha*Abs(beta3L))*ToReal(LapseAdvectionCoeff);
+
+ CCTK_REAL dtbetaxL = (beta1L*JacPDupwindNthAnti1beta1 +
+ beta2L*JacPDupwindNthAnti2beta1 + beta3L*JacPDupwindNthAnti3beta1 +
+ JacPDupwindNthSymm1beta1*Abs(beta1L) +
+ JacPDupwindNthSymm2beta1*Abs(beta2L) +
+ JacPDupwindNthSymm3beta1*Abs(beta3L))*ToReal(ShiftAdvectionCoeff) +
theta*(Xt1L + beta1L*eta*ToReal(BetaDriver)*(-1 + ToReal(ShiftBCoeff))
+ (B1L - Xt1L)*ToReal(ShiftBCoeff))*ToReal(ShiftGammaCoeff);
- CCTK_REAL dtbetayL = ((beta1L*J11L + beta2L*J12L +
- beta3L*J13L)*PDupwindNthAnti1beta2 + (beta1L*J21L + beta2L*J22L +
- beta3L*J23L)*PDupwindNthAnti2beta2 + (beta1L*J31L + beta2L*J32L +
- beta3L*J33L)*PDupwindNthAnti3beta2 + (J11L*PDupwindNthSymm1beta2 +
- J21L*PDupwindNthSymm2beta2 + J31L*PDupwindNthSymm3beta2)*Abs(beta1L) +
- (J12L*PDupwindNthSymm1beta2 + J22L*PDupwindNthSymm2beta2 +
- J32L*PDupwindNthSymm3beta2)*Abs(beta2L) + (J13L*PDupwindNthSymm1beta2 +
- J23L*PDupwindNthSymm2beta2 +
- J33L*PDupwindNthSymm3beta2)*Abs(beta3L))*ToReal(ShiftAdvectionCoeff) +
+ CCTK_REAL dtbetayL = (beta1L*JacPDupwindNthAnti1beta2 +
+ beta2L*JacPDupwindNthAnti2beta2 + beta3L*JacPDupwindNthAnti3beta2 +
+ JacPDupwindNthSymm1beta2*Abs(beta1L) +
+ JacPDupwindNthSymm2beta2*Abs(beta2L) +
+ JacPDupwindNthSymm3beta2*Abs(beta3L))*ToReal(ShiftAdvectionCoeff) +
theta*(Xt2L + beta2L*eta*ToReal(BetaDriver)*(-1 + ToReal(ShiftBCoeff))
+ (B2L - Xt2L)*ToReal(ShiftBCoeff))*ToReal(ShiftGammaCoeff);
- CCTK_REAL dtbetazL = ((beta1L*J11L + beta2L*J12L +
- beta3L*J13L)*PDupwindNthAnti1beta3 + (beta1L*J21L + beta2L*J22L +
- beta3L*J23L)*PDupwindNthAnti2beta3 + (beta1L*J31L + beta2L*J32L +
- beta3L*J33L)*PDupwindNthAnti3beta3 + (J11L*PDupwindNthSymm1beta3 +
- J21L*PDupwindNthSymm2beta3 + J31L*PDupwindNthSymm3beta3)*Abs(beta1L) +
- (J12L*PDupwindNthSymm1beta3 + J22L*PDupwindNthSymm2beta3 +
- J32L*PDupwindNthSymm3beta3)*Abs(beta2L) + (J13L*PDupwindNthSymm1beta3 +
- J23L*PDupwindNthSymm2beta3 +
- J33L*PDupwindNthSymm3beta3)*Abs(beta3L))*ToReal(ShiftAdvectionCoeff) +
+ CCTK_REAL dtbetazL = (beta1L*JacPDupwindNthAnti1beta3 +
+ beta2L*JacPDupwindNthAnti2beta3 + beta3L*JacPDupwindNthAnti3beta3 +
+ JacPDupwindNthSymm1beta3*Abs(beta1L) +
+ JacPDupwindNthSymm2beta3*Abs(beta2L) +
+ JacPDupwindNthSymm3beta3*Abs(beta3L))*ToReal(ShiftAdvectionCoeff) +
theta*(Xt3L + beta3L*eta*ToReal(BetaDriver)*(-1 + ToReal(ShiftBCoeff))
+ (B3L - Xt3L)*ToReal(ShiftBCoeff))*ToReal(ShiftGammaCoeff);
diff --git a/ML_BSSN_MP_O8/src/ML_BSSN_MP_O8_convertToADMBaseDtLapseShiftBoundary.cc b/ML_BSSN_MP_O8/src/ML_BSSN_MP_O8_convertToADMBaseDtLapseShiftBoundary.cc
index d5ad2d4..be00add 100644
--- a/ML_BSSN_MP_O8/src/ML_BSSN_MP_O8_convertToADMBaseDtLapseShiftBoundary.cc
+++ b/ML_BSSN_MP_O8/src/ML_BSSN_MP_O8_convertToADMBaseDtLapseShiftBoundary.cc
@@ -109,6 +109,51 @@ static void ML_BSSN_MP_O8_convertToADMBaseDtLapseShiftBoundary_Body(cGH const *
CCTK_REAL const pm1o840dy = -0.00119047619047619047619047619048*INV(dy);
CCTK_REAL const pm1o840dz = -0.00119047619047619047619047619048*INV(dz);
+ /* 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
LC_LOOP3 (ML_BSSN_MP_O8_convertToADMBaseDtLapseShiftBoundary,
@@ -134,6 +179,7 @@ static void ML_BSSN_MP_O8_convertToADMBaseDtLapseShiftBoundary_Body(cGH const *
CCTK_REAL Xt3L = Xt3[index];
+
/* Include user supplied include files */
/* Precompute derivatives */
diff --git a/ML_BSSN_MP_O8/src/ML_BSSN_MP_O8_convertToADMBaseFakeDtLapseShift.cc b/ML_BSSN_MP_O8/src/ML_BSSN_MP_O8_convertToADMBaseFakeDtLapseShift.cc
index 6d4191d..556fe3f 100644
--- a/ML_BSSN_MP_O8/src/ML_BSSN_MP_O8_convertToADMBaseFakeDtLapseShift.cc
+++ b/ML_BSSN_MP_O8/src/ML_BSSN_MP_O8_convertToADMBaseFakeDtLapseShift.cc
@@ -94,6 +94,51 @@ static void ML_BSSN_MP_O8_convertToADMBaseFakeDtLapseShift_Body(cGH const * rest
CCTK_REAL const pm1o840dy = -0.00119047619047619047619047619048*INV(dy);
CCTK_REAL const pm1o840dz = -0.00119047619047619047619047619048*INV(dz);
+ /* 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
LC_LOOP3 (ML_BSSN_MP_O8_convertToADMBaseFakeDtLapseShift,
@@ -119,6 +164,7 @@ static void ML_BSSN_MP_O8_convertToADMBaseFakeDtLapseShift_Body(cGH const * rest
CCTK_REAL Xt3L = Xt3[index];
+
/* Include user supplied include files */
/* Precompute derivatives */
diff --git a/ML_BSSN_MP_O8/src/ML_BSSN_MP_O8_enforce.cc b/ML_BSSN_MP_O8/src/ML_BSSN_MP_O8_enforce.cc
index e7a24b6..a9f31e5 100644
--- a/ML_BSSN_MP_O8/src/ML_BSSN_MP_O8_enforce.cc
+++ b/ML_BSSN_MP_O8/src/ML_BSSN_MP_O8_enforce.cc
@@ -94,6 +94,51 @@ static void ML_BSSN_MP_O8_enforce_Body(cGH const * restrict const cctkGH, int co
CCTK_REAL const pm1o840dy = -0.00119047619047619047619047619048*INV(dy);
CCTK_REAL const pm1o840dz = -0.00119047619047619047619047619048*INV(dz);
+ /* 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
LC_LOOP3 (ML_BSSN_MP_O8_enforce,
@@ -119,6 +164,7 @@ static void ML_BSSN_MP_O8_enforce_Body(cGH const * restrict const cctkGH, int co
CCTK_REAL gt33L = gt33[index];
+
/* Include user supplied include files */
/* Precompute derivatives */