diff options
Diffstat (limited to 'ML_BSSN/src/ML_BSSN_RHS1.cc')
-rw-r--r-- | ML_BSSN/src/ML_BSSN_RHS1.cc | 1034 |
1 files changed, 941 insertions, 93 deletions
diff --git a/ML_BSSN/src/ML_BSSN_RHS1.cc b/ML_BSSN/src/ML_BSSN_RHS1.cc index 41593a4..e5b7817 100644 --- a/ML_BSSN/src/ML_BSSN_RHS1.cc +++ b/ML_BSSN/src/ML_BSSN_RHS1.cc @@ -76,7 +76,24 @@ static void ML_BSSN_RHS1_Body(cGH const * restrict const cctkGH, int const dir, const char *groups[] = {"grid::coordinates","Grid::coordinates","ML_BSSN::ML_curv","ML_BSSN::ML_dtlapse","ML_BSSN::ML_dtlapserhs","ML_BSSN::ML_dtshift","ML_BSSN::ML_dtshiftrhs","ML_BSSN::ML_Gamma","ML_BSSN::ML_Gammarhs","ML_BSSN::ML_lapse","ML_BSSN::ML_lapserhs","ML_BSSN::ML_log_confac","ML_BSSN::ML_log_confacrhs","ML_BSSN::ML_metric","ML_BSSN::ML_metricrhs","ML_BSSN::ML_shift","ML_BSSN::ML_shiftrhs","ML_BSSN::ML_trace_curv","ML_BSSN::ML_trace_curvrhs"}; GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_RHS1", 19, groups); - GenericFD_EnsureStencilFits(cctkGH, "ML_BSSN_RHS1", 2, 2, 2); + switch(fdOrder) + { + case 2: + GenericFD_EnsureStencilFits(cctkGH, "ML_BSSN_RHS1", 1, 1, 1); + break; + + case 4: + GenericFD_EnsureStencilFits(cctkGH, "ML_BSSN_RHS1", 2, 2, 2); + break; + + case 6: + GenericFD_EnsureStencilFits(cctkGH, "ML_BSSN_RHS1", 3, 3, 3); + break; + + case 8: + GenericFD_EnsureStencilFits(cctkGH, "ML_BSSN_RHS1", 4, 4, 4); + break; + } /* Include user-supplied include files */ @@ -104,24 +121,129 @@ static void ML_BSSN_RHS1_Body(cGH const * restrict const cctkGH, int const dir, CCTK_REAL_VEC const hdzi = kmul(ToReal(0.5), dzi); /* Initialize predefined quantities */ + CCTK_REAL_VEC const p1o1024dx = kmul(INV(dx),ToReal(0.0009765625)); + CCTK_REAL_VEC const p1o1024dy = kmul(INV(dy),ToReal(0.0009765625)); + CCTK_REAL_VEC const p1o1024dz = kmul(INV(dz),ToReal(0.0009765625)); + CCTK_REAL_VEC const p1o120dx = kmul(INV(dx),ToReal(0.00833333333333333333333333333333)); + CCTK_REAL_VEC const p1o120dy = kmul(INV(dy),ToReal(0.00833333333333333333333333333333)); + CCTK_REAL_VEC const p1o120dz = kmul(INV(dz),ToReal(0.00833333333333333333333333333333)); CCTK_REAL_VEC const p1o12dx = kmul(INV(dx),ToReal(0.0833333333333333333333333333333)); CCTK_REAL_VEC const p1o12dy = kmul(INV(dy),ToReal(0.0833333333333333333333333333333)); CCTK_REAL_VEC const p1o12dz = kmul(INV(dz),ToReal(0.0833333333333333333333333333333)); CCTK_REAL_VEC const p1o144dxdy = kmul(INV(dx),kmul(INV(dy),ToReal(0.00694444444444444444444444444444))); CCTK_REAL_VEC const p1o144dxdz = kmul(INV(dx),kmul(INV(dz),ToReal(0.00694444444444444444444444444444))); CCTK_REAL_VEC const p1o144dydz = kmul(INV(dy),kmul(INV(dz),ToReal(0.00694444444444444444444444444444))); + CCTK_REAL_VEC const p1o1680dx = kmul(INV(dx),ToReal(0.000595238095238095238095238095238)); + CCTK_REAL_VEC const p1o1680dy = kmul(INV(dy),ToReal(0.000595238095238095238095238095238)); + CCTK_REAL_VEC const p1o1680dz = kmul(INV(dz),ToReal(0.000595238095238095238095238095238)); + CCTK_REAL_VEC const p1o16dx = kmul(INV(dx),ToReal(0.0625)); + CCTK_REAL_VEC const p1o16dy = kmul(INV(dy),ToReal(0.0625)); + CCTK_REAL_VEC const p1o16dz = kmul(INV(dz),ToReal(0.0625)); + CCTK_REAL_VEC const p1o180dx2 = kmul(INV(SQR(dx)),ToReal(0.00555555555555555555555555555556)); + CCTK_REAL_VEC const p1o180dy2 = kmul(INV(SQR(dy)),ToReal(0.00555555555555555555555555555556)); + CCTK_REAL_VEC const p1o180dz2 = kmul(INV(SQR(dz)),ToReal(0.00555555555555555555555555555556)); CCTK_REAL_VEC const p1o24dx = kmul(INV(dx),ToReal(0.0416666666666666666666666666667)); CCTK_REAL_VEC const p1o24dy = kmul(INV(dy),ToReal(0.0416666666666666666666666666667)); CCTK_REAL_VEC const p1o24dz = kmul(INV(dz),ToReal(0.0416666666666666666666666666667)); + CCTK_REAL_VEC const p1o256dx = kmul(INV(dx),ToReal(0.00390625)); + CCTK_REAL_VEC const p1o256dy = kmul(INV(dy),ToReal(0.00390625)); + CCTK_REAL_VEC const p1o256dz = kmul(INV(dz),ToReal(0.00390625)); + CCTK_REAL_VEC const p1o2dx = kmul(INV(dx),ToReal(0.5)); + CCTK_REAL_VEC const p1o2dy = kmul(INV(dy),ToReal(0.5)); + CCTK_REAL_VEC const p1o2dz = kmul(INV(dz),ToReal(0.5)); + CCTK_REAL_VEC const p1o3600dxdy = kmul(INV(dx),kmul(INV(dy),ToReal(0.000277777777777777777777777777778))); + CCTK_REAL_VEC const p1o3600dxdz = kmul(INV(dx),kmul(INV(dz),ToReal(0.000277777777777777777777777777778))); + CCTK_REAL_VEC const p1o3600dydz = kmul(INV(dy),kmul(INV(dz),ToReal(0.000277777777777777777777777777778))); + CCTK_REAL_VEC const p1o4dx = kmul(INV(dx),ToReal(0.25)); + CCTK_REAL_VEC const p1o4dxdy = kmul(INV(dx),kmul(INV(dy),ToReal(0.25))); + CCTK_REAL_VEC const p1o4dxdz = kmul(INV(dx),kmul(INV(dz),ToReal(0.25))); + CCTK_REAL_VEC const p1o4dy = kmul(INV(dy),ToReal(0.25)); + CCTK_REAL_VEC const p1o4dydz = kmul(INV(dy),kmul(INV(dz),ToReal(0.25))); + CCTK_REAL_VEC const p1o4dz = kmul(INV(dz),ToReal(0.25)); + CCTK_REAL_VEC const p1o5040dx2 = kmul(INV(SQR(dx)),ToReal(0.000198412698412698412698412698413)); + CCTK_REAL_VEC const p1o5040dy2 = kmul(INV(SQR(dy)),ToReal(0.000198412698412698412698412698413)); + CCTK_REAL_VEC const p1o5040dz2 = kmul(INV(SQR(dz)),ToReal(0.000198412698412698412698412698413)); + CCTK_REAL_VEC const p1o560dx = kmul(INV(dx),ToReal(0.00178571428571428571428571428571)); + CCTK_REAL_VEC const p1o560dy = kmul(INV(dy),ToReal(0.00178571428571428571428571428571)); + CCTK_REAL_VEC const p1o560dz = kmul(INV(dz),ToReal(0.00178571428571428571428571428571)); + CCTK_REAL_VEC const p1o60dx = kmul(INV(dx),ToReal(0.0166666666666666666666666666667)); + CCTK_REAL_VEC const p1o60dy = kmul(INV(dy),ToReal(0.0166666666666666666666666666667)); + CCTK_REAL_VEC const p1o60dz = kmul(INV(dz),ToReal(0.0166666666666666666666666666667)); CCTK_REAL_VEC const p1o64dx = kmul(INV(dx),ToReal(0.015625)); CCTK_REAL_VEC const p1o64dy = kmul(INV(dy),ToReal(0.015625)); CCTK_REAL_VEC const p1o64dz = kmul(INV(dz),ToReal(0.015625)); + CCTK_REAL_VEC const p1o705600dxdy = kmul(INV(dx),kmul(INV(dy),ToReal(1.41723356009070294784580498866e-6))); + CCTK_REAL_VEC const p1o705600dxdz = kmul(INV(dx),kmul(INV(dz),ToReal(1.41723356009070294784580498866e-6))); + CCTK_REAL_VEC const p1o705600dydz = kmul(INV(dy),kmul(INV(dz),ToReal(1.41723356009070294784580498866e-6))); + CCTK_REAL_VEC const p1o840dx = kmul(INV(dx),ToReal(0.00119047619047619047619047619048)); + CCTK_REAL_VEC const p1o840dy = kmul(INV(dy),ToReal(0.00119047619047619047619047619048)); + CCTK_REAL_VEC const p1o840dz = kmul(INV(dz),ToReal(0.00119047619047619047619047619048)); CCTK_REAL_VEC const p1odx = INV(dx); + CCTK_REAL_VEC const p1odx2 = INV(SQR(dx)); CCTK_REAL_VEC const p1ody = INV(dy); + CCTK_REAL_VEC const p1ody2 = INV(SQR(dy)); CCTK_REAL_VEC const p1odz = INV(dz); + CCTK_REAL_VEC const p1odz2 = INV(SQR(dz)); + CCTK_REAL_VEC const pm1o120dx = kmul(INV(dx),ToReal(-0.00833333333333333333333333333333)); + CCTK_REAL_VEC const pm1o120dy = kmul(INV(dy),ToReal(-0.00833333333333333333333333333333)); + CCTK_REAL_VEC const pm1o120dz = kmul(INV(dz),ToReal(-0.00833333333333333333333333333333)); CCTK_REAL_VEC const pm1o12dx2 = kmul(INV(SQR(dx)),ToReal(-0.0833333333333333333333333333333)); CCTK_REAL_VEC const pm1o12dy2 = kmul(INV(SQR(dy)),ToReal(-0.0833333333333333333333333333333)); CCTK_REAL_VEC const pm1o12dz2 = kmul(INV(SQR(dz)),ToReal(-0.0833333333333333333333333333333)); + CCTK_REAL_VEC const pm1o2dx = kmul(INV(dx),ToReal(-0.5)); + CCTK_REAL_VEC const pm1o2dy = kmul(INV(dy),ToReal(-0.5)); + CCTK_REAL_VEC const pm1o2dz = kmul(INV(dz),ToReal(-0.5)); + CCTK_REAL_VEC const pm1o4dx = kmul(INV(dx),ToReal(-0.25)); + CCTK_REAL_VEC const pm1o4dy = kmul(INV(dy),ToReal(-0.25)); + CCTK_REAL_VEC const pm1o4dz = kmul(INV(dz),ToReal(-0.25)); + CCTK_REAL_VEC const pm1o60dx = kmul(INV(dx),ToReal(-0.0166666666666666666666666666667)); + CCTK_REAL_VEC const pm1o60dy = kmul(INV(dy),ToReal(-0.0166666666666666666666666666667)); + CCTK_REAL_VEC const pm1o60dz = kmul(INV(dz),ToReal(-0.0166666666666666666666666666667)); + + /* Jacobian variable pointers */ + bool const use_jacobian = (!CCTK_IsFunctionAliased("MultiPatch_GetMap") || MultiPatch_GetMap(cctkGH) != jacobian_identity_map) + && strlen(jacobian_group) > 0; + if (use_jacobian && strlen(jacobian_derivative_group) == 0) + { + CCTK_WARN (1, "GenericFD::jacobian_group and GenericFD::jacobian_derivative_group must both be set to valid group names"); + } + + CCTK_REAL const *restrict jacobian_ptrs[9]; + if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_group, + 9, jacobian_ptrs); + + CCTK_REAL const *restrict const J11 = use_jacobian ? jacobian_ptrs[0] : 0; + CCTK_REAL const *restrict const J12 = use_jacobian ? jacobian_ptrs[1] : 0; + CCTK_REAL const *restrict const J13 = use_jacobian ? jacobian_ptrs[2] : 0; + CCTK_REAL const *restrict const J21 = use_jacobian ? jacobian_ptrs[3] : 0; + CCTK_REAL const *restrict const J22 = use_jacobian ? jacobian_ptrs[4] : 0; + CCTK_REAL const *restrict const J23 = use_jacobian ? jacobian_ptrs[5] : 0; + CCTK_REAL const *restrict const J31 = use_jacobian ? jacobian_ptrs[6] : 0; + CCTK_REAL const *restrict const J32 = use_jacobian ? jacobian_ptrs[7] : 0; + CCTK_REAL const *restrict const J33 = use_jacobian ? jacobian_ptrs[8] : 0; + + CCTK_REAL const *restrict jacobian_derivative_ptrs[18]; + if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_derivative_group, + 18, jacobian_derivative_ptrs); + + CCTK_REAL const *restrict const dJ111 = use_jacobian ? jacobian_derivative_ptrs[0] : 0; + CCTK_REAL const *restrict const dJ112 = use_jacobian ? jacobian_derivative_ptrs[1] : 0; + CCTK_REAL const *restrict const dJ113 = use_jacobian ? jacobian_derivative_ptrs[2] : 0; + CCTK_REAL const *restrict const dJ122 = use_jacobian ? jacobian_derivative_ptrs[3] : 0; + CCTK_REAL const *restrict const dJ123 = use_jacobian ? jacobian_derivative_ptrs[4] : 0; + CCTK_REAL const *restrict const dJ133 = use_jacobian ? jacobian_derivative_ptrs[5] : 0; + CCTK_REAL const *restrict const dJ211 = use_jacobian ? jacobian_derivative_ptrs[6] : 0; + CCTK_REAL const *restrict const dJ212 = use_jacobian ? jacobian_derivative_ptrs[7] : 0; + CCTK_REAL const *restrict const dJ213 = use_jacobian ? jacobian_derivative_ptrs[8] : 0; + CCTK_REAL const *restrict const dJ222 = use_jacobian ? jacobian_derivative_ptrs[9] : 0; + CCTK_REAL const *restrict const dJ223 = use_jacobian ? jacobian_derivative_ptrs[10] : 0; + CCTK_REAL const *restrict const dJ233 = use_jacobian ? jacobian_derivative_ptrs[11] : 0; + CCTK_REAL const *restrict const dJ311 = use_jacobian ? jacobian_derivative_ptrs[12] : 0; + CCTK_REAL const *restrict const dJ312 = use_jacobian ? jacobian_derivative_ptrs[13] : 0; + CCTK_REAL const *restrict const dJ313 = use_jacobian ? jacobian_derivative_ptrs[14] : 0; + CCTK_REAL const *restrict const dJ322 = use_jacobian ? jacobian_derivative_ptrs[15] : 0; + CCTK_REAL const *restrict const dJ323 = use_jacobian ? jacobian_derivative_ptrs[16] : 0; + CCTK_REAL const *restrict const dJ333 = use_jacobian ? jacobian_derivative_ptrs[17] : 0; /* Loop over the grid points */ #pragma omp parallel @@ -190,71 +312,797 @@ static void ML_BSSN_RHS1_Body(cGH const * restrict const cctkGH, int const dir, eTzzL = ToReal(0.0); } + CCTK_REAL_VEC dJ111L, dJ112L, dJ113L, dJ122L, dJ123L, dJ133L, dJ211L, dJ212L, dJ213L, dJ222L, dJ223L, dJ233L, dJ311L, dJ312L, dJ313L, dJ322L, dJ323L, dJ333L, J11L, J12L, J13L, J21L, J22L, J23L, J31L, J32L, J33L; + + if (use_jacobian) + { + dJ111L = vec_load(dJ111[index]); + dJ112L = vec_load(dJ112[index]); + dJ113L = vec_load(dJ113[index]); + dJ122L = vec_load(dJ122[index]); + dJ123L = vec_load(dJ123[index]); + dJ133L = vec_load(dJ133[index]); + dJ211L = vec_load(dJ211[index]); + dJ212L = vec_load(dJ212[index]); + dJ213L = vec_load(dJ213[index]); + dJ222L = vec_load(dJ222[index]); + dJ223L = vec_load(dJ223[index]); + dJ233L = vec_load(dJ233[index]); + dJ311L = vec_load(dJ311[index]); + dJ312L = vec_load(dJ312[index]); + dJ313L = vec_load(dJ313[index]); + dJ322L = vec_load(dJ322[index]); + dJ323L = vec_load(dJ323[index]); + dJ333L = vec_load(dJ333[index]); + J11L = vec_load(J11[index]); + J12L = vec_load(J12[index]); + J13L = vec_load(J13[index]); + J21L = vec_load(J21[index]); + J22L = vec_load(J22[index]); + J23L = vec_load(J23[index]); + J31L = vec_load(J31[index]); + J32L = vec_load(J32[index]); + J33L = vec_load(J33[index]); + } + /* Include user supplied include files */ /* Precompute derivatives */ - CCTK_REAL_VEC const PDstandardNth1alpha = PDstandardNth1(&alpha[index]); - CCTK_REAL_VEC const PDstandardNth2alpha = PDstandardNth2(&alpha[index]); - CCTK_REAL_VEC const PDstandardNth3alpha = PDstandardNth3(&alpha[index]); - CCTK_REAL_VEC const PDstandardNth11alpha = PDstandardNth11(&alpha[index]); - CCTK_REAL_VEC const PDstandardNth22alpha = PDstandardNth22(&alpha[index]); - CCTK_REAL_VEC const PDstandardNth33alpha = PDstandardNth33(&alpha[index]); - CCTK_REAL_VEC const PDstandardNth12alpha = PDstandardNth12(&alpha[index]); - CCTK_REAL_VEC const PDstandardNth13alpha = PDstandardNth13(&alpha[index]); - CCTK_REAL_VEC const PDstandardNth23alpha = PDstandardNth23(&alpha[index]); - CCTK_REAL_VEC const PDstandardNth1beta1 = PDstandardNth1(&beta1[index]); - CCTK_REAL_VEC const PDstandardNth2beta1 = PDstandardNth2(&beta1[index]); - CCTK_REAL_VEC const PDstandardNth3beta1 = PDstandardNth3(&beta1[index]); - CCTK_REAL_VEC const PDstandardNth11beta1 = PDstandardNth11(&beta1[index]); - CCTK_REAL_VEC const PDstandardNth22beta1 = PDstandardNth22(&beta1[index]); - CCTK_REAL_VEC const PDstandardNth33beta1 = PDstandardNth33(&beta1[index]); - CCTK_REAL_VEC const PDstandardNth12beta1 = PDstandardNth12(&beta1[index]); - CCTK_REAL_VEC const PDstandardNth13beta1 = PDstandardNth13(&beta1[index]); - CCTK_REAL_VEC const PDstandardNth23beta1 = PDstandardNth23(&beta1[index]); - CCTK_REAL_VEC const PDstandardNth1beta2 = PDstandardNth1(&beta2[index]); - CCTK_REAL_VEC const PDstandardNth2beta2 = PDstandardNth2(&beta2[index]); - CCTK_REAL_VEC const PDstandardNth3beta2 = PDstandardNth3(&beta2[index]); - CCTK_REAL_VEC const PDstandardNth11beta2 = PDstandardNth11(&beta2[index]); - CCTK_REAL_VEC const PDstandardNth22beta2 = PDstandardNth22(&beta2[index]); - CCTK_REAL_VEC const PDstandardNth33beta2 = PDstandardNth33(&beta2[index]); - CCTK_REAL_VEC const PDstandardNth12beta2 = PDstandardNth12(&beta2[index]); - CCTK_REAL_VEC const PDstandardNth13beta2 = PDstandardNth13(&beta2[index]); - CCTK_REAL_VEC const PDstandardNth23beta2 = PDstandardNth23(&beta2[index]); - CCTK_REAL_VEC const PDstandardNth1beta3 = PDstandardNth1(&beta3[index]); - CCTK_REAL_VEC const PDstandardNth2beta3 = PDstandardNth2(&beta3[index]); - CCTK_REAL_VEC const PDstandardNth3beta3 = PDstandardNth3(&beta3[index]); - CCTK_REAL_VEC const PDstandardNth11beta3 = PDstandardNth11(&beta3[index]); - CCTK_REAL_VEC const PDstandardNth22beta3 = PDstandardNth22(&beta3[index]); - CCTK_REAL_VEC const PDstandardNth33beta3 = PDstandardNth33(&beta3[index]); - CCTK_REAL_VEC const PDstandardNth12beta3 = PDstandardNth12(&beta3[index]); - CCTK_REAL_VEC const PDstandardNth13beta3 = PDstandardNth13(&beta3[index]); - CCTK_REAL_VEC const PDstandardNth23beta3 = PDstandardNth23(&beta3[index]); - CCTK_REAL_VEC const PDstandardNth1gt11 = PDstandardNth1(>11[index]); - CCTK_REAL_VEC const PDstandardNth2gt11 = PDstandardNth2(>11[index]); - CCTK_REAL_VEC const PDstandardNth3gt11 = PDstandardNth3(>11[index]); - CCTK_REAL_VEC const PDstandardNth1gt12 = PDstandardNth1(>12[index]); - CCTK_REAL_VEC const PDstandardNth2gt12 = PDstandardNth2(>12[index]); - CCTK_REAL_VEC const PDstandardNth3gt12 = PDstandardNth3(>12[index]); - CCTK_REAL_VEC const PDstandardNth1gt13 = PDstandardNth1(>13[index]); - CCTK_REAL_VEC const PDstandardNth2gt13 = PDstandardNth2(>13[index]); - CCTK_REAL_VEC const PDstandardNth3gt13 = PDstandardNth3(>13[index]); - CCTK_REAL_VEC const PDstandardNth1gt22 = PDstandardNth1(>22[index]); - CCTK_REAL_VEC const PDstandardNth2gt22 = PDstandardNth2(>22[index]); - CCTK_REAL_VEC const PDstandardNth3gt22 = PDstandardNth3(>22[index]); - CCTK_REAL_VEC const PDstandardNth1gt23 = PDstandardNth1(>23[index]); - CCTK_REAL_VEC const PDstandardNth2gt23 = PDstandardNth2(>23[index]); - CCTK_REAL_VEC const PDstandardNth3gt23 = PDstandardNth3(>23[index]); - CCTK_REAL_VEC const PDstandardNth1gt33 = PDstandardNth1(>33[index]); - CCTK_REAL_VEC const PDstandardNth2gt33 = PDstandardNth2(>33[index]); - CCTK_REAL_VEC const PDstandardNth3gt33 = PDstandardNth3(>33[index]); - CCTK_REAL_VEC const PDstandardNth1phi = PDstandardNth1(&phi[index]); - CCTK_REAL_VEC const PDstandardNth2phi = PDstandardNth2(&phi[index]); - CCTK_REAL_VEC const PDstandardNth3phi = PDstandardNth3(&phi[index]); - CCTK_REAL_VEC const PDstandardNth1trK = PDstandardNth1(&trK[index]); - CCTK_REAL_VEC const PDstandardNth2trK = PDstandardNth2(&trK[index]); - CCTK_REAL_VEC const PDstandardNth3trK = PDstandardNth3(&trK[index]); + CCTK_REAL_VEC PDstandardNth1alpha; + CCTK_REAL_VEC PDstandardNth2alpha; + CCTK_REAL_VEC PDstandardNth3alpha; + CCTK_REAL_VEC PDstandardNth11alpha; + CCTK_REAL_VEC PDstandardNth22alpha; + CCTK_REAL_VEC PDstandardNth33alpha; + CCTK_REAL_VEC PDstandardNth12alpha; + CCTK_REAL_VEC PDstandardNth13alpha; + CCTK_REAL_VEC PDstandardNth23alpha; + CCTK_REAL_VEC PDstandardNth1beta1; + CCTK_REAL_VEC PDstandardNth2beta1; + CCTK_REAL_VEC PDstandardNth3beta1; + CCTK_REAL_VEC PDstandardNth11beta1; + CCTK_REAL_VEC PDstandardNth22beta1; + CCTK_REAL_VEC PDstandardNth33beta1; + CCTK_REAL_VEC PDstandardNth12beta1; + CCTK_REAL_VEC PDstandardNth13beta1; + CCTK_REAL_VEC PDstandardNth23beta1; + CCTK_REAL_VEC PDstandardNth1beta2; + CCTK_REAL_VEC PDstandardNth2beta2; + CCTK_REAL_VEC PDstandardNth3beta2; + CCTK_REAL_VEC PDstandardNth11beta2; + CCTK_REAL_VEC PDstandardNth22beta2; + CCTK_REAL_VEC PDstandardNth33beta2; + CCTK_REAL_VEC PDstandardNth12beta2; + CCTK_REAL_VEC PDstandardNth13beta2; + CCTK_REAL_VEC PDstandardNth23beta2; + CCTK_REAL_VEC PDstandardNth1beta3; + CCTK_REAL_VEC PDstandardNth2beta3; + CCTK_REAL_VEC PDstandardNth3beta3; + CCTK_REAL_VEC PDstandardNth11beta3; + CCTK_REAL_VEC PDstandardNth22beta3; + CCTK_REAL_VEC PDstandardNth33beta3; + CCTK_REAL_VEC PDstandardNth12beta3; + CCTK_REAL_VEC PDstandardNth13beta3; + CCTK_REAL_VEC PDstandardNth23beta3; + CCTK_REAL_VEC PDstandardNth1gt11; + CCTK_REAL_VEC PDstandardNth2gt11; + CCTK_REAL_VEC PDstandardNth3gt11; + CCTK_REAL_VEC PDstandardNth1gt12; + CCTK_REAL_VEC PDstandardNth2gt12; + CCTK_REAL_VEC PDstandardNth3gt12; + CCTK_REAL_VEC PDstandardNth1gt13; + CCTK_REAL_VEC PDstandardNth2gt13; + CCTK_REAL_VEC PDstandardNth3gt13; + CCTK_REAL_VEC PDstandardNth1gt22; + CCTK_REAL_VEC PDstandardNth2gt22; + CCTK_REAL_VEC PDstandardNth3gt22; + CCTK_REAL_VEC PDstandardNth1gt23; + CCTK_REAL_VEC PDstandardNth2gt23; + CCTK_REAL_VEC PDstandardNth3gt23; + CCTK_REAL_VEC PDstandardNth1gt33; + CCTK_REAL_VEC PDstandardNth2gt33; + CCTK_REAL_VEC PDstandardNth3gt33; + CCTK_REAL_VEC PDstandardNth1phi; + CCTK_REAL_VEC PDstandardNth2phi; + CCTK_REAL_VEC PDstandardNth3phi; + CCTK_REAL_VEC PDstandardNth1trK; + CCTK_REAL_VEC PDstandardNth2trK; + CCTK_REAL_VEC PDstandardNth3trK; + + switch(fdOrder) + { + case 2: + PDstandardNth1alpha = PDstandardNthfdOrder21(&alpha[index]); + PDstandardNth2alpha = PDstandardNthfdOrder22(&alpha[index]); + PDstandardNth3alpha = PDstandardNthfdOrder23(&alpha[index]); + PDstandardNth11alpha = PDstandardNthfdOrder211(&alpha[index]); + PDstandardNth22alpha = PDstandardNthfdOrder222(&alpha[index]); + PDstandardNth33alpha = PDstandardNthfdOrder233(&alpha[index]); + PDstandardNth12alpha = PDstandardNthfdOrder212(&alpha[index]); + PDstandardNth13alpha = PDstandardNthfdOrder213(&alpha[index]); + PDstandardNth23alpha = PDstandardNthfdOrder223(&alpha[index]); + PDstandardNth1beta1 = PDstandardNthfdOrder21(&beta1[index]); + PDstandardNth2beta1 = PDstandardNthfdOrder22(&beta1[index]); + PDstandardNth3beta1 = PDstandardNthfdOrder23(&beta1[index]); + PDstandardNth11beta1 = PDstandardNthfdOrder211(&beta1[index]); + PDstandardNth22beta1 = PDstandardNthfdOrder222(&beta1[index]); + PDstandardNth33beta1 = PDstandardNthfdOrder233(&beta1[index]); + PDstandardNth12beta1 = PDstandardNthfdOrder212(&beta1[index]); + PDstandardNth13beta1 = PDstandardNthfdOrder213(&beta1[index]); + PDstandardNth23beta1 = PDstandardNthfdOrder223(&beta1[index]); + PDstandardNth1beta2 = PDstandardNthfdOrder21(&beta2[index]); + PDstandardNth2beta2 = PDstandardNthfdOrder22(&beta2[index]); + PDstandardNth3beta2 = PDstandardNthfdOrder23(&beta2[index]); + PDstandardNth11beta2 = PDstandardNthfdOrder211(&beta2[index]); + PDstandardNth22beta2 = PDstandardNthfdOrder222(&beta2[index]); + PDstandardNth33beta2 = PDstandardNthfdOrder233(&beta2[index]); + PDstandardNth12beta2 = PDstandardNthfdOrder212(&beta2[index]); + PDstandardNth13beta2 = PDstandardNthfdOrder213(&beta2[index]); + PDstandardNth23beta2 = PDstandardNthfdOrder223(&beta2[index]); + PDstandardNth1beta3 = PDstandardNthfdOrder21(&beta3[index]); + PDstandardNth2beta3 = PDstandardNthfdOrder22(&beta3[index]); + PDstandardNth3beta3 = PDstandardNthfdOrder23(&beta3[index]); + PDstandardNth11beta3 = PDstandardNthfdOrder211(&beta3[index]); + PDstandardNth22beta3 = PDstandardNthfdOrder222(&beta3[index]); + PDstandardNth33beta3 = PDstandardNthfdOrder233(&beta3[index]); + PDstandardNth12beta3 = PDstandardNthfdOrder212(&beta3[index]); + PDstandardNth13beta3 = PDstandardNthfdOrder213(&beta3[index]); + PDstandardNth23beta3 = PDstandardNthfdOrder223(&beta3[index]); + PDstandardNth1gt11 = PDstandardNthfdOrder21(>11[index]); + PDstandardNth2gt11 = PDstandardNthfdOrder22(>11[index]); + PDstandardNth3gt11 = PDstandardNthfdOrder23(>11[index]); + PDstandardNth1gt12 = PDstandardNthfdOrder21(>12[index]); + PDstandardNth2gt12 = PDstandardNthfdOrder22(>12[index]); + PDstandardNth3gt12 = PDstandardNthfdOrder23(>12[index]); + PDstandardNth1gt13 = PDstandardNthfdOrder21(>13[index]); + PDstandardNth2gt13 = PDstandardNthfdOrder22(>13[index]); + PDstandardNth3gt13 = PDstandardNthfdOrder23(>13[index]); + PDstandardNth1gt22 = PDstandardNthfdOrder21(>22[index]); + PDstandardNth2gt22 = PDstandardNthfdOrder22(>22[index]); + PDstandardNth3gt22 = PDstandardNthfdOrder23(>22[index]); + PDstandardNth1gt23 = PDstandardNthfdOrder21(>23[index]); + PDstandardNth2gt23 = PDstandardNthfdOrder22(>23[index]); + PDstandardNth3gt23 = PDstandardNthfdOrder23(>23[index]); + PDstandardNth1gt33 = PDstandardNthfdOrder21(>33[index]); + PDstandardNth2gt33 = PDstandardNthfdOrder22(>33[index]); + PDstandardNth3gt33 = PDstandardNthfdOrder23(>33[index]); + PDstandardNth1phi = PDstandardNthfdOrder21(&phi[index]); + PDstandardNth2phi = PDstandardNthfdOrder22(&phi[index]); + PDstandardNth3phi = PDstandardNthfdOrder23(&phi[index]); + PDstandardNth1trK = PDstandardNthfdOrder21(&trK[index]); + PDstandardNth2trK = PDstandardNthfdOrder22(&trK[index]); + PDstandardNth3trK = PDstandardNthfdOrder23(&trK[index]); + break; + + case 4: + PDstandardNth1alpha = PDstandardNthfdOrder41(&alpha[index]); + PDstandardNth2alpha = PDstandardNthfdOrder42(&alpha[index]); + PDstandardNth3alpha = PDstandardNthfdOrder43(&alpha[index]); + PDstandardNth11alpha = PDstandardNthfdOrder411(&alpha[index]); + PDstandardNth22alpha = PDstandardNthfdOrder422(&alpha[index]); + PDstandardNth33alpha = PDstandardNthfdOrder433(&alpha[index]); + PDstandardNth12alpha = PDstandardNthfdOrder412(&alpha[index]); + PDstandardNth13alpha = PDstandardNthfdOrder413(&alpha[index]); + PDstandardNth23alpha = PDstandardNthfdOrder423(&alpha[index]); + PDstandardNth1beta1 = PDstandardNthfdOrder41(&beta1[index]); + PDstandardNth2beta1 = PDstandardNthfdOrder42(&beta1[index]); + PDstandardNth3beta1 = PDstandardNthfdOrder43(&beta1[index]); + PDstandardNth11beta1 = PDstandardNthfdOrder411(&beta1[index]); + PDstandardNth22beta1 = PDstandardNthfdOrder422(&beta1[index]); + PDstandardNth33beta1 = PDstandardNthfdOrder433(&beta1[index]); + PDstandardNth12beta1 = PDstandardNthfdOrder412(&beta1[index]); + PDstandardNth13beta1 = PDstandardNthfdOrder413(&beta1[index]); + PDstandardNth23beta1 = PDstandardNthfdOrder423(&beta1[index]); + PDstandardNth1beta2 = PDstandardNthfdOrder41(&beta2[index]); + PDstandardNth2beta2 = PDstandardNthfdOrder42(&beta2[index]); + PDstandardNth3beta2 = PDstandardNthfdOrder43(&beta2[index]); + PDstandardNth11beta2 = PDstandardNthfdOrder411(&beta2[index]); + PDstandardNth22beta2 = PDstandardNthfdOrder422(&beta2[index]); + PDstandardNth33beta2 = PDstandardNthfdOrder433(&beta2[index]); + PDstandardNth12beta2 = PDstandardNthfdOrder412(&beta2[index]); + PDstandardNth13beta2 = PDstandardNthfdOrder413(&beta2[index]); + PDstandardNth23beta2 = PDstandardNthfdOrder423(&beta2[index]); + PDstandardNth1beta3 = PDstandardNthfdOrder41(&beta3[index]); + PDstandardNth2beta3 = PDstandardNthfdOrder42(&beta3[index]); + PDstandardNth3beta3 = PDstandardNthfdOrder43(&beta3[index]); + PDstandardNth11beta3 = PDstandardNthfdOrder411(&beta3[index]); + PDstandardNth22beta3 = PDstandardNthfdOrder422(&beta3[index]); + PDstandardNth33beta3 = PDstandardNthfdOrder433(&beta3[index]); + PDstandardNth12beta3 = PDstandardNthfdOrder412(&beta3[index]); + PDstandardNth13beta3 = PDstandardNthfdOrder413(&beta3[index]); + PDstandardNth23beta3 = PDstandardNthfdOrder423(&beta3[index]); + PDstandardNth1gt11 = PDstandardNthfdOrder41(>11[index]); + PDstandardNth2gt11 = PDstandardNthfdOrder42(>11[index]); + PDstandardNth3gt11 = PDstandardNthfdOrder43(>11[index]); + PDstandardNth1gt12 = PDstandardNthfdOrder41(>12[index]); + PDstandardNth2gt12 = PDstandardNthfdOrder42(>12[index]); + PDstandardNth3gt12 = PDstandardNthfdOrder43(>12[index]); + PDstandardNth1gt13 = PDstandardNthfdOrder41(>13[index]); + PDstandardNth2gt13 = PDstandardNthfdOrder42(>13[index]); + PDstandardNth3gt13 = PDstandardNthfdOrder43(>13[index]); + PDstandardNth1gt22 = PDstandardNthfdOrder41(>22[index]); + PDstandardNth2gt22 = PDstandardNthfdOrder42(>22[index]); + PDstandardNth3gt22 = PDstandardNthfdOrder43(>22[index]); + PDstandardNth1gt23 = PDstandardNthfdOrder41(>23[index]); + PDstandardNth2gt23 = PDstandardNthfdOrder42(>23[index]); + PDstandardNth3gt23 = PDstandardNthfdOrder43(>23[index]); + PDstandardNth1gt33 = PDstandardNthfdOrder41(>33[index]); + PDstandardNth2gt33 = PDstandardNthfdOrder42(>33[index]); + PDstandardNth3gt33 = PDstandardNthfdOrder43(>33[index]); + PDstandardNth1phi = PDstandardNthfdOrder41(&phi[index]); + PDstandardNth2phi = PDstandardNthfdOrder42(&phi[index]); + PDstandardNth3phi = PDstandardNthfdOrder43(&phi[index]); + PDstandardNth1trK = PDstandardNthfdOrder41(&trK[index]); + PDstandardNth2trK = PDstandardNthfdOrder42(&trK[index]); + PDstandardNth3trK = PDstandardNthfdOrder43(&trK[index]); + break; + + case 6: + PDstandardNth1alpha = PDstandardNthfdOrder61(&alpha[index]); + PDstandardNth2alpha = PDstandardNthfdOrder62(&alpha[index]); + PDstandardNth3alpha = PDstandardNthfdOrder63(&alpha[index]); + PDstandardNth11alpha = PDstandardNthfdOrder611(&alpha[index]); + PDstandardNth22alpha = PDstandardNthfdOrder622(&alpha[index]); + PDstandardNth33alpha = PDstandardNthfdOrder633(&alpha[index]); + PDstandardNth12alpha = PDstandardNthfdOrder612(&alpha[index]); + PDstandardNth13alpha = PDstandardNthfdOrder613(&alpha[index]); + PDstandardNth23alpha = PDstandardNthfdOrder623(&alpha[index]); + PDstandardNth1beta1 = PDstandardNthfdOrder61(&beta1[index]); + PDstandardNth2beta1 = PDstandardNthfdOrder62(&beta1[index]); + PDstandardNth3beta1 = PDstandardNthfdOrder63(&beta1[index]); + PDstandardNth11beta1 = PDstandardNthfdOrder611(&beta1[index]); + PDstandardNth22beta1 = PDstandardNthfdOrder622(&beta1[index]); + PDstandardNth33beta1 = PDstandardNthfdOrder633(&beta1[index]); + PDstandardNth12beta1 = PDstandardNthfdOrder612(&beta1[index]); + PDstandardNth13beta1 = PDstandardNthfdOrder613(&beta1[index]); + PDstandardNth23beta1 = PDstandardNthfdOrder623(&beta1[index]); + PDstandardNth1beta2 = PDstandardNthfdOrder61(&beta2[index]); + PDstandardNth2beta2 = PDstandardNthfdOrder62(&beta2[index]); + PDstandardNth3beta2 = PDstandardNthfdOrder63(&beta2[index]); + PDstandardNth11beta2 = PDstandardNthfdOrder611(&beta2[index]); + PDstandardNth22beta2 = PDstandardNthfdOrder622(&beta2[index]); + PDstandardNth33beta2 = PDstandardNthfdOrder633(&beta2[index]); + PDstandardNth12beta2 = PDstandardNthfdOrder612(&beta2[index]); + PDstandardNth13beta2 = PDstandardNthfdOrder613(&beta2[index]); + PDstandardNth23beta2 = PDstandardNthfdOrder623(&beta2[index]); + PDstandardNth1beta3 = PDstandardNthfdOrder61(&beta3[index]); + PDstandardNth2beta3 = PDstandardNthfdOrder62(&beta3[index]); + PDstandardNth3beta3 = PDstandardNthfdOrder63(&beta3[index]); + PDstandardNth11beta3 = PDstandardNthfdOrder611(&beta3[index]); + PDstandardNth22beta3 = PDstandardNthfdOrder622(&beta3[index]); + PDstandardNth33beta3 = PDstandardNthfdOrder633(&beta3[index]); + PDstandardNth12beta3 = PDstandardNthfdOrder612(&beta3[index]); + PDstandardNth13beta3 = PDstandardNthfdOrder613(&beta3[index]); + PDstandardNth23beta3 = PDstandardNthfdOrder623(&beta3[index]); + PDstandardNth1gt11 = PDstandardNthfdOrder61(>11[index]); + PDstandardNth2gt11 = PDstandardNthfdOrder62(>11[index]); + PDstandardNth3gt11 = PDstandardNthfdOrder63(>11[index]); + PDstandardNth1gt12 = PDstandardNthfdOrder61(>12[index]); + PDstandardNth2gt12 = PDstandardNthfdOrder62(>12[index]); + PDstandardNth3gt12 = PDstandardNthfdOrder63(>12[index]); + PDstandardNth1gt13 = PDstandardNthfdOrder61(>13[index]); + PDstandardNth2gt13 = PDstandardNthfdOrder62(>13[index]); + PDstandardNth3gt13 = PDstandardNthfdOrder63(>13[index]); + PDstandardNth1gt22 = PDstandardNthfdOrder61(>22[index]); + PDstandardNth2gt22 = PDstandardNthfdOrder62(>22[index]); + PDstandardNth3gt22 = PDstandardNthfdOrder63(>22[index]); + PDstandardNth1gt23 = PDstandardNthfdOrder61(>23[index]); + PDstandardNth2gt23 = PDstandardNthfdOrder62(>23[index]); + PDstandardNth3gt23 = PDstandardNthfdOrder63(>23[index]); + PDstandardNth1gt33 = PDstandardNthfdOrder61(>33[index]); + PDstandardNth2gt33 = PDstandardNthfdOrder62(>33[index]); + PDstandardNth3gt33 = PDstandardNthfdOrder63(>33[index]); + PDstandardNth1phi = PDstandardNthfdOrder61(&phi[index]); + PDstandardNth2phi = PDstandardNthfdOrder62(&phi[index]); + PDstandardNth3phi = PDstandardNthfdOrder63(&phi[index]); + PDstandardNth1trK = PDstandardNthfdOrder61(&trK[index]); + PDstandardNth2trK = PDstandardNthfdOrder62(&trK[index]); + PDstandardNth3trK = PDstandardNthfdOrder63(&trK[index]); + break; + + case 8: + PDstandardNth1alpha = PDstandardNthfdOrder81(&alpha[index]); + PDstandardNth2alpha = PDstandardNthfdOrder82(&alpha[index]); + PDstandardNth3alpha = PDstandardNthfdOrder83(&alpha[index]); + PDstandardNth11alpha = PDstandardNthfdOrder811(&alpha[index]); + PDstandardNth22alpha = PDstandardNthfdOrder822(&alpha[index]); + PDstandardNth33alpha = PDstandardNthfdOrder833(&alpha[index]); + PDstandardNth12alpha = PDstandardNthfdOrder812(&alpha[index]); + PDstandardNth13alpha = PDstandardNthfdOrder813(&alpha[index]); + PDstandardNth23alpha = PDstandardNthfdOrder823(&alpha[index]); + PDstandardNth1beta1 = PDstandardNthfdOrder81(&beta1[index]); + PDstandardNth2beta1 = PDstandardNthfdOrder82(&beta1[index]); + PDstandardNth3beta1 = PDstandardNthfdOrder83(&beta1[index]); + PDstandardNth11beta1 = PDstandardNthfdOrder811(&beta1[index]); + PDstandardNth22beta1 = PDstandardNthfdOrder822(&beta1[index]); + PDstandardNth33beta1 = PDstandardNthfdOrder833(&beta1[index]); + PDstandardNth12beta1 = PDstandardNthfdOrder812(&beta1[index]); + PDstandardNth13beta1 = PDstandardNthfdOrder813(&beta1[index]); + PDstandardNth23beta1 = PDstandardNthfdOrder823(&beta1[index]); + PDstandardNth1beta2 = PDstandardNthfdOrder81(&beta2[index]); + PDstandardNth2beta2 = PDstandardNthfdOrder82(&beta2[index]); + PDstandardNth3beta2 = PDstandardNthfdOrder83(&beta2[index]); + PDstandardNth11beta2 = PDstandardNthfdOrder811(&beta2[index]); + PDstandardNth22beta2 = PDstandardNthfdOrder822(&beta2[index]); + PDstandardNth33beta2 = PDstandardNthfdOrder833(&beta2[index]); + PDstandardNth12beta2 = PDstandardNthfdOrder812(&beta2[index]); + PDstandardNth13beta2 = PDstandardNthfdOrder813(&beta2[index]); + PDstandardNth23beta2 = PDstandardNthfdOrder823(&beta2[index]); + PDstandardNth1beta3 = PDstandardNthfdOrder81(&beta3[index]); + PDstandardNth2beta3 = PDstandardNthfdOrder82(&beta3[index]); + PDstandardNth3beta3 = PDstandardNthfdOrder83(&beta3[index]); + PDstandardNth11beta3 = PDstandardNthfdOrder811(&beta3[index]); + PDstandardNth22beta3 = PDstandardNthfdOrder822(&beta3[index]); + PDstandardNth33beta3 = PDstandardNthfdOrder833(&beta3[index]); + PDstandardNth12beta3 = PDstandardNthfdOrder812(&beta3[index]); + PDstandardNth13beta3 = PDstandardNthfdOrder813(&beta3[index]); + PDstandardNth23beta3 = PDstandardNthfdOrder823(&beta3[index]); + PDstandardNth1gt11 = PDstandardNthfdOrder81(>11[index]); + PDstandardNth2gt11 = PDstandardNthfdOrder82(>11[index]); + PDstandardNth3gt11 = PDstandardNthfdOrder83(>11[index]); + PDstandardNth1gt12 = PDstandardNthfdOrder81(>12[index]); + PDstandardNth2gt12 = PDstandardNthfdOrder82(>12[index]); + PDstandardNth3gt12 = PDstandardNthfdOrder83(>12[index]); + PDstandardNth1gt13 = PDstandardNthfdOrder81(>13[index]); + PDstandardNth2gt13 = PDstandardNthfdOrder82(>13[index]); + PDstandardNth3gt13 = PDstandardNthfdOrder83(>13[index]); + PDstandardNth1gt22 = PDstandardNthfdOrder81(>22[index]); + PDstandardNth2gt22 = PDstandardNthfdOrder82(>22[index]); + PDstandardNth3gt22 = PDstandardNthfdOrder83(>22[index]); + PDstandardNth1gt23 = PDstandardNthfdOrder81(>23[index]); + PDstandardNth2gt23 = PDstandardNthfdOrder82(>23[index]); + PDstandardNth3gt23 = PDstandardNthfdOrder83(>23[index]); + PDstandardNth1gt33 = PDstandardNthfdOrder81(>33[index]); + PDstandardNth2gt33 = PDstandardNthfdOrder82(>33[index]); + PDstandardNth3gt33 = PDstandardNthfdOrder83(>33[index]); + PDstandardNth1phi = PDstandardNthfdOrder81(&phi[index]); + PDstandardNth2phi = PDstandardNthfdOrder82(&phi[index]); + PDstandardNth3phi = PDstandardNthfdOrder83(&phi[index]); + PDstandardNth1trK = PDstandardNthfdOrder81(&trK[index]); + PDstandardNth2trK = PDstandardNthfdOrder82(&trK[index]); + PDstandardNth3trK = PDstandardNthfdOrder83(&trK[index]); + break; + } /* Calculate temporaries and grid functions */ + CCTK_REAL_VEC JacPDstandardNth11alpha; + CCTK_REAL_VEC JacPDstandardNth11beta1; + CCTK_REAL_VEC JacPDstandardNth11beta2; + CCTK_REAL_VEC JacPDstandardNth11beta3; + CCTK_REAL_VEC JacPDstandardNth12alpha; + CCTK_REAL_VEC JacPDstandardNth12beta1; + CCTK_REAL_VEC JacPDstandardNth12beta2; + CCTK_REAL_VEC JacPDstandardNth12beta3; + CCTK_REAL_VEC JacPDstandardNth13alpha; + CCTK_REAL_VEC JacPDstandardNth13beta1; + CCTK_REAL_VEC JacPDstandardNth13beta2; + CCTK_REAL_VEC JacPDstandardNth13beta3; + CCTK_REAL_VEC JacPDstandardNth1alpha; + CCTK_REAL_VEC JacPDstandardNth1beta1; + CCTK_REAL_VEC JacPDstandardNth1beta2; + CCTK_REAL_VEC JacPDstandardNth1beta3; + CCTK_REAL_VEC JacPDstandardNth1gt11; + CCTK_REAL_VEC JacPDstandardNth1gt12; + CCTK_REAL_VEC JacPDstandardNth1gt13; + CCTK_REAL_VEC JacPDstandardNth1gt22; + CCTK_REAL_VEC JacPDstandardNth1gt23; + CCTK_REAL_VEC JacPDstandardNth1gt33; + CCTK_REAL_VEC JacPDstandardNth1phi; + CCTK_REAL_VEC JacPDstandardNth1trK; + CCTK_REAL_VEC JacPDstandardNth21alpha; + CCTK_REAL_VEC JacPDstandardNth21beta1; + CCTK_REAL_VEC JacPDstandardNth21beta2; + CCTK_REAL_VEC JacPDstandardNth21beta3; + CCTK_REAL_VEC JacPDstandardNth22alpha; + CCTK_REAL_VEC JacPDstandardNth22beta1; + CCTK_REAL_VEC JacPDstandardNth22beta2; + CCTK_REAL_VEC JacPDstandardNth22beta3; + CCTK_REAL_VEC JacPDstandardNth23alpha; + CCTK_REAL_VEC JacPDstandardNth23beta1; + CCTK_REAL_VEC JacPDstandardNth23beta2; + CCTK_REAL_VEC JacPDstandardNth23beta3; + CCTK_REAL_VEC JacPDstandardNth2alpha; + CCTK_REAL_VEC JacPDstandardNth2beta1; + CCTK_REAL_VEC JacPDstandardNth2beta2; + CCTK_REAL_VEC JacPDstandardNth2beta3; + CCTK_REAL_VEC JacPDstandardNth2gt11; + CCTK_REAL_VEC JacPDstandardNth2gt12; + CCTK_REAL_VEC JacPDstandardNth2gt13; + CCTK_REAL_VEC JacPDstandardNth2gt22; + CCTK_REAL_VEC JacPDstandardNth2gt23; + CCTK_REAL_VEC JacPDstandardNth2gt33; + CCTK_REAL_VEC JacPDstandardNth2phi; + CCTK_REAL_VEC JacPDstandardNth2trK; + CCTK_REAL_VEC JacPDstandardNth31alpha; + CCTK_REAL_VEC JacPDstandardNth31beta1; + CCTK_REAL_VEC JacPDstandardNth31beta2; + CCTK_REAL_VEC JacPDstandardNth31beta3; + CCTK_REAL_VEC JacPDstandardNth32alpha; + CCTK_REAL_VEC JacPDstandardNth32beta1; + CCTK_REAL_VEC JacPDstandardNth32beta2; + CCTK_REAL_VEC JacPDstandardNth32beta3; + CCTK_REAL_VEC JacPDstandardNth33alpha; + CCTK_REAL_VEC JacPDstandardNth33beta1; + CCTK_REAL_VEC JacPDstandardNth33beta2; + CCTK_REAL_VEC JacPDstandardNth33beta3; + CCTK_REAL_VEC JacPDstandardNth3alpha; + CCTK_REAL_VEC JacPDstandardNth3beta1; + CCTK_REAL_VEC JacPDstandardNth3beta2; + CCTK_REAL_VEC JacPDstandardNth3beta3; + CCTK_REAL_VEC JacPDstandardNth3gt11; + CCTK_REAL_VEC JacPDstandardNth3gt12; + CCTK_REAL_VEC JacPDstandardNth3gt13; + CCTK_REAL_VEC JacPDstandardNth3gt22; + CCTK_REAL_VEC JacPDstandardNth3gt23; + CCTK_REAL_VEC JacPDstandardNth3gt33; + CCTK_REAL_VEC JacPDstandardNth3phi; + CCTK_REAL_VEC JacPDstandardNth3trK; + + if (use_jacobian) + { + JacPDstandardNth1alpha = + kmadd(J11L,PDstandardNth1alpha,kmadd(J21L,PDstandardNth2alpha,kmul(J31L,PDstandardNth3alpha))); + + JacPDstandardNth1beta1 = + kmadd(J11L,PDstandardNth1beta1,kmadd(J21L,PDstandardNth2beta1,kmul(J31L,PDstandardNth3beta1))); + + JacPDstandardNth1beta2 = + kmadd(J11L,PDstandardNth1beta2,kmadd(J21L,PDstandardNth2beta2,kmul(J31L,PDstandardNth3beta2))); + + JacPDstandardNth1beta3 = + kmadd(J11L,PDstandardNth1beta3,kmadd(J21L,PDstandardNth2beta3,kmul(J31L,PDstandardNth3beta3))); + + JacPDstandardNth1gt11 = + kmadd(J11L,PDstandardNth1gt11,kmadd(J21L,PDstandardNth2gt11,kmul(J31L,PDstandardNth3gt11))); + + JacPDstandardNth1gt12 = + kmadd(J11L,PDstandardNth1gt12,kmadd(J21L,PDstandardNth2gt12,kmul(J31L,PDstandardNth3gt12))); + + JacPDstandardNth1gt13 = + kmadd(J11L,PDstandardNth1gt13,kmadd(J21L,PDstandardNth2gt13,kmul(J31L,PDstandardNth3gt13))); + + JacPDstandardNth1gt22 = + kmadd(J11L,PDstandardNth1gt22,kmadd(J21L,PDstandardNth2gt22,kmul(J31L,PDstandardNth3gt22))); + + JacPDstandardNth1gt23 = + kmadd(J11L,PDstandardNth1gt23,kmadd(J21L,PDstandardNth2gt23,kmul(J31L,PDstandardNth3gt23))); + + JacPDstandardNth1gt33 = + kmadd(J11L,PDstandardNth1gt33,kmadd(J21L,PDstandardNth2gt33,kmul(J31L,PDstandardNth3gt33))); + + JacPDstandardNth1phi = + kmadd(J11L,PDstandardNth1phi,kmadd(J21L,PDstandardNth2phi,kmul(J31L,PDstandardNth3phi))); + + JacPDstandardNth1trK = + kmadd(J11L,PDstandardNth1trK,kmadd(J21L,PDstandardNth2trK,kmul(J31L,PDstandardNth3trK))); + + JacPDstandardNth2alpha = + kmadd(J12L,PDstandardNth1alpha,kmadd(J22L,PDstandardNth2alpha,kmul(J32L,PDstandardNth3alpha))); + + JacPDstandardNth2beta1 = + kmadd(J12L,PDstandardNth1beta1,kmadd(J22L,PDstandardNth2beta1,kmul(J32L,PDstandardNth3beta1))); + + JacPDstandardNth2beta2 = + kmadd(J12L,PDstandardNth1beta2,kmadd(J22L,PDstandardNth2beta2,kmul(J32L,PDstandardNth3beta2))); + + JacPDstandardNth2beta3 = + kmadd(J12L,PDstandardNth1beta3,kmadd(J22L,PDstandardNth2beta3,kmul(J32L,PDstandardNth3beta3))); + + JacPDstandardNth2gt11 = + kmadd(J12L,PDstandardNth1gt11,kmadd(J22L,PDstandardNth2gt11,kmul(J32L,PDstandardNth3gt11))); + + JacPDstandardNth2gt12 = + kmadd(J12L,PDstandardNth1gt12,kmadd(J22L,PDstandardNth2gt12,kmul(J32L,PDstandardNth3gt12))); + + JacPDstandardNth2gt13 = + kmadd(J12L,PDstandardNth1gt13,kmadd(J22L,PDstandardNth2gt13,kmul(J32L,PDstandardNth3gt13))); + + JacPDstandardNth2gt22 = + kmadd(J12L,PDstandardNth1gt22,kmadd(J22L,PDstandardNth2gt22,kmul(J32L,PDstandardNth3gt22))); + + JacPDstandardNth2gt23 = + kmadd(J12L,PDstandardNth1gt23,kmadd(J22L,PDstandardNth2gt23,kmul(J32L,PDstandardNth3gt23))); + + JacPDstandardNth2gt33 = + kmadd(J12L,PDstandardNth1gt33,kmadd(J22L,PDstandardNth2gt33,kmul(J32L,PDstandardNth3gt33))); + + JacPDstandardNth2phi = + kmadd(J12L,PDstandardNth1phi,kmadd(J22L,PDstandardNth2phi,kmul(J32L,PDstandardNth3phi))); + + JacPDstandardNth2trK = + kmadd(J12L,PDstandardNth1trK,kmadd(J22L,PDstandardNth2trK,kmul(J32L,PDstandardNth3trK))); + + JacPDstandardNth3alpha = + kmadd(J13L,PDstandardNth1alpha,kmadd(J23L,PDstandardNth2alpha,kmul(J33L,PDstandardNth3alpha))); + + JacPDstandardNth3beta1 = + kmadd(J13L,PDstandardNth1beta1,kmadd(J23L,PDstandardNth2beta1,kmul(J33L,PDstandardNth3beta1))); + + JacPDstandardNth3beta2 = + kmadd(J13L,PDstandardNth1beta2,kmadd(J23L,PDstandardNth2beta2,kmul(J33L,PDstandardNth3beta2))); + + JacPDstandardNth3beta3 = + kmadd(J13L,PDstandardNth1beta3,kmadd(J23L,PDstandardNth2beta3,kmul(J33L,PDstandardNth3beta3))); + + JacPDstandardNth3gt11 = + kmadd(J13L,PDstandardNth1gt11,kmadd(J23L,PDstandardNth2gt11,kmul(J33L,PDstandardNth3gt11))); + + JacPDstandardNth3gt12 = + kmadd(J13L,PDstandardNth1gt12,kmadd(J23L,PDstandardNth2gt12,kmul(J33L,PDstandardNth3gt12))); + + JacPDstandardNth3gt13 = + kmadd(J13L,PDstandardNth1gt13,kmadd(J23L,PDstandardNth2gt13,kmul(J33L,PDstandardNth3gt13))); + + JacPDstandardNth3gt22 = + kmadd(J13L,PDstandardNth1gt22,kmadd(J23L,PDstandardNth2gt22,kmul(J33L,PDstandardNth3gt22))); + + JacPDstandardNth3gt23 = + kmadd(J13L,PDstandardNth1gt23,kmadd(J23L,PDstandardNth2gt23,kmul(J33L,PDstandardNth3gt23))); + + JacPDstandardNth3gt33 = + kmadd(J13L,PDstandardNth1gt33,kmadd(J23L,PDstandardNth2gt33,kmul(J33L,PDstandardNth3gt33))); + + JacPDstandardNth3phi = + kmadd(J13L,PDstandardNth1phi,kmadd(J23L,PDstandardNth2phi,kmul(J33L,PDstandardNth3phi))); + + JacPDstandardNth3trK = + kmadd(J13L,PDstandardNth1trK,kmadd(J23L,PDstandardNth2trK,kmul(J33L,PDstandardNth3trK))); + + JacPDstandardNth11alpha = + kmadd(dJ111L,PDstandardNth1alpha,kmadd(dJ211L,PDstandardNth2alpha,kmadd(dJ311L,PDstandardNth3alpha,kmadd(PDstandardNth11alpha,SQR(J11L),kmadd(PDstandardNth22alpha,SQR(J21L),kmadd(PDstandardNth33alpha,SQR(J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12alpha,kmul(J31L,PDstandardNth13alpha)),kmul(J21L,kmul(J31L,PDstandardNth23alpha))),ToReal(2)))))))); + + JacPDstandardNth11beta1 = + kmadd(dJ111L,PDstandardNth1beta1,kmadd(dJ211L,PDstandardNth2beta1,kmadd(dJ311L,PDstandardNth3beta1,kmadd(PDstandardNth11beta1,SQR(J11L),kmadd(PDstandardNth22beta1,SQR(J21L),kmadd(PDstandardNth33beta1,SQR(J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12beta1,kmul(J31L,PDstandardNth13beta1)),kmul(J21L,kmul(J31L,PDstandardNth23beta1))),ToReal(2)))))))); + + JacPDstandardNth11beta2 = + kmadd(dJ111L,PDstandardNth1beta2,kmadd(dJ211L,PDstandardNth2beta2,kmadd(dJ311L,PDstandardNth3beta2,kmadd(PDstandardNth11beta2,SQR(J11L),kmadd(PDstandardNth22beta2,SQR(J21L),kmadd(PDstandardNth33beta2,SQR(J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12beta2,kmul(J31L,PDstandardNth13beta2)),kmul(J21L,kmul(J31L,PDstandardNth23beta2))),ToReal(2)))))))); + + JacPDstandardNth11beta3 = + kmadd(dJ111L,PDstandardNth1beta3,kmadd(dJ211L,PDstandardNth2beta3,kmadd(dJ311L,PDstandardNth3beta3,kmadd(PDstandardNth11beta3,SQR(J11L),kmadd(PDstandardNth22beta3,SQR(J21L),kmadd(PDstandardNth33beta3,SQR(J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12beta3,kmul(J31L,PDstandardNth13beta3)),kmul(J21L,kmul(J31L,PDstandardNth23beta3))),ToReal(2)))))))); + + JacPDstandardNth22alpha = + kmadd(dJ122L,PDstandardNth1alpha,kmadd(dJ222L,PDstandardNth2alpha,kmadd(dJ322L,PDstandardNth3alpha,kmadd(PDstandardNth11alpha,SQR(J12L),kmadd(PDstandardNth22alpha,SQR(J22L),kmadd(PDstandardNth33alpha,SQR(J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12alpha,kmul(J32L,PDstandardNth13alpha)),kmul(J22L,kmul(J32L,PDstandardNth23alpha))),ToReal(2)))))))); + + JacPDstandardNth22beta1 = + kmadd(dJ122L,PDstandardNth1beta1,kmadd(dJ222L,PDstandardNth2beta1,kmadd(dJ322L,PDstandardNth3beta1,kmadd(PDstandardNth11beta1,SQR(J12L),kmadd(PDstandardNth22beta1,SQR(J22L),kmadd(PDstandardNth33beta1,SQR(J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12beta1,kmul(J32L,PDstandardNth13beta1)),kmul(J22L,kmul(J32L,PDstandardNth23beta1))),ToReal(2)))))))); + + JacPDstandardNth22beta2 = + kmadd(dJ122L,PDstandardNth1beta2,kmadd(dJ222L,PDstandardNth2beta2,kmadd(dJ322L,PDstandardNth3beta2,kmadd(PDstandardNth11beta2,SQR(J12L),kmadd(PDstandardNth22beta2,SQR(J22L),kmadd(PDstandardNth33beta2,SQR(J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12beta2,kmul(J32L,PDstandardNth13beta2)),kmul(J22L,kmul(J32L,PDstandardNth23beta2))),ToReal(2)))))))); + + JacPDstandardNth22beta3 = + kmadd(dJ122L,PDstandardNth1beta3,kmadd(dJ222L,PDstandardNth2beta3,kmadd(dJ322L,PDstandardNth3beta3,kmadd(PDstandardNth11beta3,SQR(J12L),kmadd(PDstandardNth22beta3,SQR(J22L),kmadd(PDstandardNth33beta3,SQR(J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12beta3,kmul(J32L,PDstandardNth13beta3)),kmul(J22L,kmul(J32L,PDstandardNth23beta3))),ToReal(2)))))))); + + JacPDstandardNth33alpha = + kmadd(dJ133L,PDstandardNth1alpha,kmadd(dJ233L,PDstandardNth2alpha,kmadd(dJ333L,PDstandardNth3alpha,kmadd(PDstandardNth11alpha,SQR(J13L),kmadd(PDstandardNth22alpha,SQR(J23L),kmadd(PDstandardNth33alpha,SQR(J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12alpha,kmul(J33L,PDstandardNth13alpha)),kmul(J23L,kmul(J33L,PDstandardNth23alpha))),ToReal(2)))))))); + + JacPDstandardNth33beta1 = + kmadd(dJ133L,PDstandardNth1beta1,kmadd(dJ233L,PDstandardNth2beta1,kmadd(dJ333L,PDstandardNth3beta1,kmadd(PDstandardNth11beta1,SQR(J13L),kmadd(PDstandardNth22beta1,SQR(J23L),kmadd(PDstandardNth33beta1,SQR(J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12beta1,kmul(J33L,PDstandardNth13beta1)),kmul(J23L,kmul(J33L,PDstandardNth23beta1))),ToReal(2)))))))); + + JacPDstandardNth33beta2 = + kmadd(dJ133L,PDstandardNth1beta2,kmadd(dJ233L,PDstandardNth2beta2,kmadd(dJ333L,PDstandardNth3beta2,kmadd(PDstandardNth11beta2,SQR(J13L),kmadd(PDstandardNth22beta2,SQR(J23L),kmadd(PDstandardNth33beta2,SQR(J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12beta2,kmul(J33L,PDstandardNth13beta2)),kmul(J23L,kmul(J33L,PDstandardNth23beta2))),ToReal(2)))))))); + + JacPDstandardNth33beta3 = + kmadd(dJ133L,PDstandardNth1beta3,kmadd(dJ233L,PDstandardNth2beta3,kmadd(dJ333L,PDstandardNth3beta3,kmadd(PDstandardNth11beta3,SQR(J13L),kmadd(PDstandardNth22beta3,SQR(J23L),kmadd(PDstandardNth33beta3,SQR(J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12beta3,kmul(J33L,PDstandardNth13beta3)),kmul(J23L,kmul(J33L,PDstandardNth23beta3))),ToReal(2)))))))); + + JacPDstandardNth12alpha = + kmadd(J12L,kmadd(J11L,PDstandardNth11alpha,kmadd(J21L,PDstandardNth12alpha,kmul(J31L,PDstandardNth13alpha))),kmadd(J11L,kmadd(J22L,PDstandardNth12alpha,kmul(J32L,PDstandardNth13alpha)),kmadd(dJ112L,PDstandardNth1alpha,kmadd(J22L,kmadd(J21L,PDstandardNth22alpha,kmul(J31L,PDstandardNth23alpha)),kmadd(dJ212L,PDstandardNth2alpha,kmadd(J32L,kmadd(J21L,PDstandardNth23alpha,kmul(J31L,PDstandardNth33alpha)),kmul(dJ312L,PDstandardNth3alpha))))))); + + JacPDstandardNth12beta1 = + kmadd(J12L,kmadd(J11L,PDstandardNth11beta1,kmadd(J21L,PDstandardNth12beta1,kmul(J31L,PDstandardNth13beta1))),kmadd(J11L,kmadd(J22L,PDstandardNth12beta1,kmul(J32L,PDstandardNth13beta1)),kmadd(dJ112L,PDstandardNth1beta1,kmadd(J22L,kmadd(J21L,PDstandardNth22beta1,kmul(J31L,PDstandardNth23beta1)),kmadd(dJ212L,PDstandardNth2beta1,kmadd(J32L,kmadd(J21L,PDstandardNth23beta1,kmul(J31L,PDstandardNth33beta1)),kmul(dJ312L,PDstandardNth3beta1))))))); + + JacPDstandardNth12beta2 = + kmadd(J12L,kmadd(J11L,PDstandardNth11beta2,kmadd(J21L,PDstandardNth12beta2,kmul(J31L,PDstandardNth13beta2))),kmadd(J11L,kmadd(J22L,PDstandardNth12beta2,kmul(J32L,PDstandardNth13beta2)),kmadd(dJ112L,PDstandardNth1beta2,kmadd(J22L,kmadd(J21L,PDstandardNth22beta2,kmul(J31L,PDstandardNth23beta2)),kmadd(dJ212L,PDstandardNth2beta2,kmadd(J32L,kmadd(J21L,PDstandardNth23beta2,kmul(J31L,PDstandardNth33beta2)),kmul(dJ312L,PDstandardNth3beta2))))))); + + JacPDstandardNth12beta3 = + kmadd(J12L,kmadd(J11L,PDstandardNth11beta3,kmadd(J21L,PDstandardNth12beta3,kmul(J31L,PDstandardNth13beta3))),kmadd(J11L,kmadd(J22L,PDstandardNth12beta3,kmul(J32L,PDstandardNth13beta3)),kmadd(dJ112L,PDstandardNth1beta3,kmadd(J22L,kmadd(J21L,PDstandardNth22beta3,kmul(J31L,PDstandardNth23beta3)),kmadd(dJ212L,PDstandardNth2beta3,kmadd(J32L,kmadd(J21L,PDstandardNth23beta3,kmul(J31L,PDstandardNth33beta3)),kmul(dJ312L,PDstandardNth3beta3))))))); + + JacPDstandardNth13alpha = + kmadd(J13L,kmadd(J11L,PDstandardNth11alpha,kmadd(J21L,PDstandardNth12alpha,kmul(J31L,PDstandardNth13alpha))),kmadd(J11L,kmadd(J23L,PDstandardNth12alpha,kmul(J33L,PDstandardNth13alpha)),kmadd(dJ113L,PDstandardNth1alpha,kmadd(J23L,kmadd(J21L,PDstandardNth22alpha,kmul(J31L,PDstandardNth23alpha)),kmadd(dJ213L,PDstandardNth2alpha,kmadd(J33L,kmadd(J21L,PDstandardNth23alpha,kmul(J31L,PDstandardNth33alpha)),kmul(dJ313L,PDstandardNth3alpha))))))); + + JacPDstandardNth13beta1 = + kmadd(J13L,kmadd(J11L,PDstandardNth11beta1,kmadd(J21L,PDstandardNth12beta1,kmul(J31L,PDstandardNth13beta1))),kmadd(J11L,kmadd(J23L,PDstandardNth12beta1,kmul(J33L,PDstandardNth13beta1)),kmadd(dJ113L,PDstandardNth1beta1,kmadd(J23L,kmadd(J21L,PDstandardNth22beta1,kmul(J31L,PDstandardNth23beta1)),kmadd(dJ213L,PDstandardNth2beta1,kmadd(J33L,kmadd(J21L,PDstandardNth23beta1,kmul(J31L,PDstandardNth33beta1)),kmul(dJ313L,PDstandardNth3beta1))))))); + + JacPDstandardNth13beta2 = + kmadd(J13L,kmadd(J11L,PDstandardNth11beta2,kmadd(J21L,PDstandardNth12beta2,kmul(J31L,PDstandardNth13beta2))),kmadd(J11L,kmadd(J23L,PDstandardNth12beta2,kmul(J33L,PDstandardNth13beta2)),kmadd(dJ113L,PDstandardNth1beta2,kmadd(J23L,kmadd(J21L,PDstandardNth22beta2,kmul(J31L,PDstandardNth23beta2)),kmadd(dJ213L,PDstandardNth2beta2,kmadd(J33L,kmadd(J21L,PDstandardNth23beta2,kmul(J31L,PDstandardNth33beta2)),kmul(dJ313L,PDstandardNth3beta2))))))); + + JacPDstandardNth13beta3 = + kmadd(J13L,kmadd(J11L,PDstandardNth11beta3,kmadd(J21L,PDstandardNth12beta3,kmul(J31L,PDstandardNth13beta3))),kmadd(J11L,kmadd(J23L,PDstandardNth12beta3,kmul(J33L,PDstandardNth13beta3)),kmadd(dJ113L,PDstandardNth1beta3,kmadd(J23L,kmadd(J21L,PDstandardNth22beta3,kmul(J31L,PDstandardNth23beta3)),kmadd(dJ213L,PDstandardNth2beta3,kmadd(J33L,kmadd(J21L,PDstandardNth23beta3,kmul(J31L,PDstandardNth33beta3)),kmul(dJ313L,PDstandardNth3beta3))))))); + + JacPDstandardNth21alpha = + kmadd(J12L,kmadd(J11L,PDstandardNth11alpha,kmadd(J21L,PDstandardNth12alpha,kmul(J31L,PDstandardNth13alpha))),kmadd(J11L,kmadd(J22L,PDstandardNth12alpha,kmul(J32L,PDstandardNth13alpha)),kmadd(dJ112L,PDstandardNth1alpha,kmadd(J22L,kmadd(J21L,PDstandardNth22alpha,kmul(J31L,PDstandardNth23alpha)),kmadd(dJ212L,PDstandardNth2alpha,kmadd(J32L,kmadd(J21L,PDstandardNth23alpha,kmul(J31L,PDstandardNth33alpha)),kmul(dJ312L,PDstandardNth3alpha))))))); + + JacPDstandardNth21beta1 = + kmadd(J12L,kmadd(J11L,PDstandardNth11beta1,kmadd(J21L,PDstandardNth12beta1,kmul(J31L,PDstandardNth13beta1))),kmadd(J11L,kmadd(J22L,PDstandardNth12beta1,kmul(J32L,PDstandardNth13beta1)),kmadd(dJ112L,PDstandardNth1beta1,kmadd(J22L,kmadd(J21L,PDstandardNth22beta1,kmul(J31L,PDstandardNth23beta1)),kmadd(dJ212L,PDstandardNth2beta1,kmadd(J32L,kmadd(J21L,PDstandardNth23beta1,kmul(J31L,PDstandardNth33beta1)),kmul(dJ312L,PDstandardNth3beta1))))))); + + JacPDstandardNth21beta2 = + kmadd(J12L,kmadd(J11L,PDstandardNth11beta2,kmadd(J21L,PDstandardNth12beta2,kmul(J31L,PDstandardNth13beta2))),kmadd(J11L,kmadd(J22L,PDstandardNth12beta2,kmul(J32L,PDstandardNth13beta2)),kmadd(dJ112L,PDstandardNth1beta2,kmadd(J22L,kmadd(J21L,PDstandardNth22beta2,kmul(J31L,PDstandardNth23beta2)),kmadd(dJ212L,PDstandardNth2beta2,kmadd(J32L,kmadd(J21L,PDstandardNth23beta2,kmul(J31L,PDstandardNth33beta2)),kmul(dJ312L,PDstandardNth3beta2))))))); + + JacPDstandardNth21beta3 = + kmadd(J12L,kmadd(J11L,PDstandardNth11beta3,kmadd(J21L,PDstandardNth12beta3,kmul(J31L,PDstandardNth13beta3))),kmadd(J11L,kmadd(J22L,PDstandardNth12beta3,kmul(J32L,PDstandardNth13beta3)),kmadd(dJ112L,PDstandardNth1beta3,kmadd(J22L,kmadd(J21L,PDstandardNth22beta3,kmul(J31L,PDstandardNth23beta3)),kmadd(dJ212L,PDstandardNth2beta3,kmadd(J32L,kmadd(J21L,PDstandardNth23beta3,kmul(J31L,PDstandardNth33beta3)),kmul(dJ312L,PDstandardNth3beta3))))))); + + JacPDstandardNth23alpha = + kmadd(J13L,kmadd(J12L,PDstandardNth11alpha,kmadd(J22L,PDstandardNth12alpha,kmul(J32L,PDstandardNth13alpha))),kmadd(J12L,kmadd(J23L,PDstandardNth12alpha,kmul(J33L,PDstandardNth13alpha)),kmadd(dJ123L,PDstandardNth1alpha,kmadd(J23L,kmadd(J22L,PDstandardNth22alpha,kmul(J32L,PDstandardNth23alpha)),kmadd(dJ223L,PDstandardNth2alpha,kmadd(J33L,kmadd(J22L,PDstandardNth23alpha,kmul(J32L,PDstandardNth33alpha)),kmul(dJ323L,PDstandardNth3alpha))))))); + + JacPDstandardNth23beta1 = + kmadd(J13L,kmadd(J12L,PDstandardNth11beta1,kmadd(J22L,PDstandardNth12beta1,kmul(J32L,PDstandardNth13beta1))),kmadd(J12L,kmadd(J23L,PDstandardNth12beta1,kmul(J33L,PDstandardNth13beta1)),kmadd(dJ123L,PDstandardNth1beta1,kmadd(J23L,kmadd(J22L,PDstandardNth22beta1,kmul(J32L,PDstandardNth23beta1)),kmadd(dJ223L,PDstandardNth2beta1,kmadd(J33L,kmadd(J22L,PDstandardNth23beta1,kmul(J32L,PDstandardNth33beta1)),kmul(dJ323L,PDstandardNth3beta1))))))); + + JacPDstandardNth23beta2 = + kmadd(J13L,kmadd(J12L,PDstandardNth11beta2,kmadd(J22L,PDstandardNth12beta2,kmul(J32L,PDstandardNth13beta2))),kmadd(J12L,kmadd(J23L,PDstandardNth12beta2,kmul(J33L,PDstandardNth13beta2)),kmadd(dJ123L,PDstandardNth1beta2,kmadd(J23L,kmadd(J22L,PDstandardNth22beta2,kmul(J32L,PDstandardNth23beta2)),kmadd(dJ223L,PDstandardNth2beta2,kmadd(J33L,kmadd(J22L,PDstandardNth23beta2,kmul(J32L,PDstandardNth33beta2)),kmul(dJ323L,PDstandardNth3beta2))))))); + + JacPDstandardNth23beta3 = + kmadd(J13L,kmadd(J12L,PDstandardNth11beta3,kmadd(J22L,PDstandardNth12beta3,kmul(J32L,PDstandardNth13beta3))),kmadd(J12L,kmadd(J23L,PDstandardNth12beta3,kmul(J33L,PDstandardNth13beta3)),kmadd(dJ123L,PDstandardNth1beta3,kmadd(J23L,kmadd(J22L,PDstandardNth22beta3,kmul(J32L,PDstandardNth23beta3)),kmadd(dJ223L,PDstandardNth2beta3,kmadd(J33L,kmadd(J22L,PDstandardNth23beta3,kmul(J32L,PDstandardNth33beta3)),kmul(dJ323L,PDstandardNth3beta3))))))); + + JacPDstandardNth31alpha = + kmadd(J13L,kmadd(J11L,PDstandardNth11alpha,kmadd(J21L,PDstandardNth12alpha,kmul(J31L,PDstandardNth13alpha))),kmadd(J11L,kmadd(J23L,PDstandardNth12alpha,kmul(J33L,PDstandardNth13alpha)),kmadd(dJ113L,PDstandardNth1alpha,kmadd(J23L,kmadd(J21L,PDstandardNth22alpha,kmul(J31L,PDstandardNth23alpha)),kmadd(dJ213L,PDstandardNth2alpha,kmadd(J33L,kmadd(J21L,PDstandardNth23alpha,kmul(J31L,PDstandardNth33alpha)),kmul(dJ313L,PDstandardNth3alpha))))))); + + JacPDstandardNth31beta1 = + kmadd(J13L,kmadd(J11L,PDstandardNth11beta1,kmadd(J21L,PDstandardNth12beta1,kmul(J31L,PDstandardNth13beta1))),kmadd(J11L,kmadd(J23L,PDstandardNth12beta1,kmul(J33L,PDstandardNth13beta1)),kmadd(dJ113L,PDstandardNth1beta1,kmadd(J23L,kmadd(J21L,PDstandardNth22beta1,kmul(J31L,PDstandardNth23beta1)),kmadd(dJ213L,PDstandardNth2beta1,kmadd(J33L,kmadd(J21L,PDstandardNth23beta1,kmul(J31L,PDstandardNth33beta1)),kmul(dJ313L,PDstandardNth3beta1))))))); + + JacPDstandardNth31beta2 = + kmadd(J13L,kmadd(J11L,PDstandardNth11beta2,kmadd(J21L,PDstandardNth12beta2,kmul(J31L,PDstandardNth13beta2))),kmadd(J11L,kmadd(J23L,PDstandardNth12beta2,kmul(J33L,PDstandardNth13beta2)),kmadd(dJ113L,PDstandardNth1beta2,kmadd(J23L,kmadd(J21L,PDstandardNth22beta2,kmul(J31L,PDstandardNth23beta2)),kmadd(dJ213L,PDstandardNth2beta2,kmadd(J33L,kmadd(J21L,PDstandardNth23beta2,kmul(J31L,PDstandardNth33beta2)),kmul(dJ313L,PDstandardNth3beta2))))))); + + JacPDstandardNth31beta3 = + kmadd(J13L,kmadd(J11L,PDstandardNth11beta3,kmadd(J21L,PDstandardNth12beta3,kmul(J31L,PDstandardNth13beta3))),kmadd(J11L,kmadd(J23L,PDstandardNth12beta3,kmul(J33L,PDstandardNth13beta3)),kmadd(dJ113L,PDstandardNth1beta3,kmadd(J23L,kmadd(J21L,PDstandardNth22beta3,kmul(J31L,PDstandardNth23beta3)),kmadd(dJ213L,PDstandardNth2beta3,kmadd(J33L,kmadd(J21L,PDstandardNth23beta3,kmul(J31L,PDstandardNth33beta3)),kmul(dJ313L,PDstandardNth3beta3))))))); + + JacPDstandardNth32alpha = + kmadd(J13L,kmadd(J12L,PDstandardNth11alpha,kmadd(J22L,PDstandardNth12alpha,kmul(J32L,PDstandardNth13alpha))),kmadd(J12L,kmadd(J23L,PDstandardNth12alpha,kmul(J33L,PDstandardNth13alpha)),kmadd(dJ123L,PDstandardNth1alpha,kmadd(J23L,kmadd(J22L,PDstandardNth22alpha,kmul(J32L,PDstandardNth23alpha)),kmadd(dJ223L,PDstandardNth2alpha,kmadd(J33L,kmadd(J22L,PDstandardNth23alpha,kmul(J32L,PDstandardNth33alpha)),kmul(dJ323L,PDstandardNth3alpha))))))); + + JacPDstandardNth32beta1 = + kmadd(J13L,kmadd(J12L,PDstandardNth11beta1,kmadd(J22L,PDstandardNth12beta1,kmul(J32L,PDstandardNth13beta1))),kmadd(J12L,kmadd(J23L,PDstandardNth12beta1,kmul(J33L,PDstandardNth13beta1)),kmadd(dJ123L,PDstandardNth1beta1,kmadd(J23L,kmadd(J22L,PDstandardNth22beta1,kmul(J32L,PDstandardNth23beta1)),kmadd(dJ223L,PDstandardNth2beta1,kmadd(J33L,kmadd(J22L,PDstandardNth23beta1,kmul(J32L,PDstandardNth33beta1)),kmul(dJ323L,PDstandardNth3beta1))))))); + + JacPDstandardNth32beta2 = + kmadd(J13L,kmadd(J12L,PDstandardNth11beta2,kmadd(J22L,PDstandardNth12beta2,kmul(J32L,PDstandardNth13beta2))),kmadd(J12L,kmadd(J23L,PDstandardNth12beta2,kmul(J33L,PDstandardNth13beta2)),kmadd(dJ123L,PDstandardNth1beta2,kmadd(J23L,kmadd(J22L,PDstandardNth22beta2,kmul(J32L,PDstandardNth23beta2)),kmadd(dJ223L,PDstandardNth2beta2,kmadd(J33L,kmadd(J22L,PDstandardNth23beta2,kmul(J32L,PDstandardNth33beta2)),kmul(dJ323L,PDstandardNth3beta2))))))); + + JacPDstandardNth32beta3 = + kmadd(J13L,kmadd(J12L,PDstandardNth11beta3,kmadd(J22L,PDstandardNth12beta3,kmul(J32L,PDstandardNth13beta3))),kmadd(J12L,kmadd(J23L,PDstandardNth12beta3,kmul(J33L,PDstandardNth13beta3)),kmadd(dJ123L,PDstandardNth1beta3,kmadd(J23L,kmadd(J22L,PDstandardNth22beta3,kmul(J32L,PDstandardNth23beta3)),kmadd(dJ223L,PDstandardNth2beta3,kmadd(J33L,kmadd(J22L,PDstandardNth23beta3,kmul(J32L,PDstandardNth33beta3)),kmul(dJ323L,PDstandardNth3beta3))))))); + } + 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); @@ -278,50 +1126,50 @@ static void ML_BSSN_RHS1_Body(cGH const * restrict const cctkGH, int const dir, CCTK_REAL_VEC gtu33 = kmul(INV(detgt),kmsub(gt11L,gt22L,SQR(gt12L))); - CCTK_REAL_VEC Gtl111 = kmul(PDstandardNth1gt11,ToReal(0.5)); + CCTK_REAL_VEC Gtl111 = kmul(JacPDstandardNth1gt11,ToReal(0.5)); - CCTK_REAL_VEC Gtl112 = kmul(PDstandardNth2gt11,ToReal(0.5)); + CCTK_REAL_VEC Gtl112 = kmul(JacPDstandardNth2gt11,ToReal(0.5)); - CCTK_REAL_VEC Gtl113 = kmul(PDstandardNth3gt11,ToReal(0.5)); + CCTK_REAL_VEC Gtl113 = kmul(JacPDstandardNth3gt11,ToReal(0.5)); CCTK_REAL_VEC Gtl122 = - kmadd(PDstandardNth1gt22,ToReal(-0.5),PDstandardNth2gt12); + kmadd(JacPDstandardNth1gt22,ToReal(-0.5),JacPDstandardNth2gt12); CCTK_REAL_VEC Gtl123 = - kmul(kadd(PDstandardNth2gt13,ksub(PDstandardNth3gt12,PDstandardNth1gt23)),ToReal(0.5)); + kmul(kadd(JacPDstandardNth2gt13,ksub(JacPDstandardNth3gt12,JacPDstandardNth1gt23)),ToReal(0.5)); CCTK_REAL_VEC Gtl133 = - kmadd(PDstandardNth1gt33,ToReal(-0.5),PDstandardNth3gt13); + kmadd(JacPDstandardNth1gt33,ToReal(-0.5),JacPDstandardNth3gt13); CCTK_REAL_VEC Gtl211 = - kmadd(PDstandardNth2gt11,ToReal(-0.5),PDstandardNth1gt12); + kmadd(JacPDstandardNth2gt11,ToReal(-0.5),JacPDstandardNth1gt12); - CCTK_REAL_VEC Gtl212 = kmul(PDstandardNth1gt22,ToReal(0.5)); + CCTK_REAL_VEC Gtl212 = kmul(JacPDstandardNth1gt22,ToReal(0.5)); CCTK_REAL_VEC Gtl213 = - kmul(kadd(PDstandardNth1gt23,ksub(PDstandardNth3gt12,PDstandardNth2gt13)),ToReal(0.5)); + kmul(kadd(JacPDstandardNth1gt23,ksub(JacPDstandardNth3gt12,JacPDstandardNth2gt13)),ToReal(0.5)); - CCTK_REAL_VEC Gtl222 = kmul(PDstandardNth2gt22,ToReal(0.5)); + CCTK_REAL_VEC Gtl222 = kmul(JacPDstandardNth2gt22,ToReal(0.5)); - CCTK_REAL_VEC Gtl223 = kmul(PDstandardNth3gt22,ToReal(0.5)); + CCTK_REAL_VEC Gtl223 = kmul(JacPDstandardNth3gt22,ToReal(0.5)); CCTK_REAL_VEC Gtl233 = - kmadd(PDstandardNth2gt33,ToReal(-0.5),PDstandardNth3gt23); + kmadd(JacPDstandardNth2gt33,ToReal(-0.5),JacPDstandardNth3gt23); CCTK_REAL_VEC Gtl311 = - kmadd(PDstandardNth3gt11,ToReal(-0.5),PDstandardNth1gt13); + kmadd(JacPDstandardNth3gt11,ToReal(-0.5),JacPDstandardNth1gt13); CCTK_REAL_VEC Gtl312 = - kmul(kadd(PDstandardNth1gt23,ksub(PDstandardNth2gt13,PDstandardNth3gt12)),ToReal(0.5)); + kmul(kadd(JacPDstandardNth1gt23,ksub(JacPDstandardNth2gt13,JacPDstandardNth3gt12)),ToReal(0.5)); - CCTK_REAL_VEC Gtl313 = kmul(PDstandardNth1gt33,ToReal(0.5)); + CCTK_REAL_VEC Gtl313 = kmul(JacPDstandardNth1gt33,ToReal(0.5)); CCTK_REAL_VEC Gtl322 = - kmadd(PDstandardNth3gt22,ToReal(-0.5),PDstandardNth2gt23); + kmadd(JacPDstandardNth3gt22,ToReal(-0.5),JacPDstandardNth2gt23); - CCTK_REAL_VEC Gtl323 = kmul(PDstandardNth2gt33,ToReal(0.5)); + CCTK_REAL_VEC Gtl323 = kmul(JacPDstandardNth2gt33,ToReal(0.5)); - CCTK_REAL_VEC Gtl333 = kmul(PDstandardNth3gt33,ToReal(0.5)); + CCTK_REAL_VEC Gtl333 = kmul(JacPDstandardNth3gt33,ToReal(0.5)); CCTK_REAL_VEC Gt111 = kmadd(Gtl111,gtu11,kmadd(Gtl211,gtu12,kmul(Gtl311,gtu13))); @@ -389,11 +1237,11 @@ static void ML_BSSN_RHS1_Body(cGH const * restrict const cctkGH, int const dir, CCTK_REAL_VEC fac1 = IfThen(conformalMethod,kmul(INV(phiL),ToReal(-0.5)),ToReal(1)); - CCTK_REAL_VEC cdphi1 = kmul(fac1,PDstandardNth1phi); + CCTK_REAL_VEC cdphi1 = kmul(fac1,JacPDstandardNth1phi); - CCTK_REAL_VEC cdphi2 = kmul(fac1,PDstandardNth2phi); + CCTK_REAL_VEC cdphi2 = kmul(fac1,JacPDstandardNth2phi); - CCTK_REAL_VEC cdphi3 = kmul(fac1,PDstandardNth3phi); + CCTK_REAL_VEC cdphi3 = kmul(fac1,JacPDstandardNth3phi); CCTK_REAL_VEC Atm11 = kmadd(At11L,gtu11,kmadd(At12L,gtu12,kmul(At13L,gtu13))); @@ -461,34 +1309,34 @@ static void ML_BSSN_RHS1_Body(cGH const * restrict const cctkGH, int const dir, kmul(em4phi,kmadd(eTxxL,gtu11,kmadd(eTyyL,gtu22,kmadd(eTzzL,gtu33,kmul(kmadd(eTxyL,gtu12,kmadd(eTxzL,gtu13,kmul(eTyzL,gtu23))),ToReal(2)))))); CCTK_REAL_VEC phirhsL = - IfThen(conformalMethod,kmul(phiL,kmadd(kadd(PDstandardNth1beta1,kadd(PDstandardNth2beta2,PDstandardNth3beta3)),ToReal(-0.333333333333333333333333333333),kmul(alphaL,kmul(trKL,ToReal(0.333333333333333333333333333333))))),kmadd(alphaL,kmul(trKL,ToReal(-0.166666666666666666666666666667)),kmul(kadd(PDstandardNth1beta1,kadd(PDstandardNth2beta2,PDstandardNth3beta3)),ToReal(0.166666666666666666666666666667)))); + IfThen(conformalMethod,kmul(phiL,kmadd(kadd(JacPDstandardNth1beta1,kadd(JacPDstandardNth2beta2,JacPDstandardNth3beta3)),ToReal(-0.333333333333333333333333333333),kmul(alphaL,kmul(trKL,ToReal(0.333333333333333333333333333333))))),kmadd(alphaL,kmul(trKL,ToReal(-0.166666666666666666666666666667)),kmul(kadd(JacPDstandardNth1beta1,kadd(JacPDstandardNth2beta2,JacPDstandardNth3beta3)),ToReal(0.166666666666666666666666666667)))); CCTK_REAL_VEC gt11rhsL = - kmul(ToReal(-0.666666666666666666666666666667),kmadd(kmadd(gt12L,PDstandardNth1beta2,kmul(gt13L,PDstandardNth1beta3)),ToReal(-3),kmadd(gt11L,kadd(PDstandardNth2beta2,kmadd(PDstandardNth1beta1,ToReal(-2),PDstandardNth3beta3)),kmul(alphaL,kmul(At11L,ToReal(3)))))); + kmul(ToReal(-0.666666666666666666666666666667),kmadd(kmadd(gt12L,JacPDstandardNth1beta2,kmul(gt13L,JacPDstandardNth1beta3)),ToReal(-3),kmadd(gt11L,kadd(JacPDstandardNth2beta2,kmadd(JacPDstandardNth1beta1,ToReal(-2),JacPDstandardNth3beta3)),kmul(alphaL,kmul(At11L,ToReal(3)))))); CCTK_REAL_VEC gt12rhsL = - kmul(ToReal(0.333333333333333333333333333333),kmadd(alphaL,kmul(At12L,ToReal(-6)),kmadd(gt12L,kadd(PDstandardNth1beta1,kmadd(PDstandardNth3beta3,ToReal(-2),PDstandardNth2beta2)),kmul(kmadd(gt22L,PDstandardNth1beta2,kmadd(gt23L,PDstandardNth1beta3,kmadd(gt11L,PDstandardNth2beta1,kmul(gt13L,PDstandardNth2beta3)))),ToReal(3))))); + kmul(ToReal(0.333333333333333333333333333333),kmadd(alphaL,kmul(At12L,ToReal(-6)),kmadd(gt12L,kadd(JacPDstandardNth1beta1,kmadd(JacPDstandardNth3beta3,ToReal(-2),JacPDstandardNth2beta2)),kmul(kmadd(gt22L,JacPDstandardNth1beta2,kmadd(gt23L,JacPDstandardNth1beta3,kmadd(gt11L,JacPDstandardNth2beta1,kmul(gt13L,JacPDstandardNth2beta3)))),ToReal(3))))); CCTK_REAL_VEC gt13rhsL = - kmul(ToReal(0.333333333333333333333333333333),kmadd(alphaL,kmul(At13L,ToReal(-6)),kmadd(gt13L,kadd(PDstandardNth1beta1,kmadd(PDstandardNth2beta2,ToReal(-2),PDstandardNth3beta3)),kmul(kmadd(gt23L,PDstandardNth1beta2,kmadd(gt33L,PDstandardNth1beta3,kmadd(gt11L,PDstandardNth3beta1,kmul(gt12L,PDstandardNth3beta2)))),ToReal(3))))); + kmul(ToReal(0.333333333333333333333333333333),kmadd(alphaL,kmul(At13L,ToReal(-6)),kmadd(gt13L,kadd(JacPDstandardNth1beta1,kmadd(JacPDstandardNth2beta2,ToReal(-2),JacPDstandardNth3beta3)),kmul(kmadd(gt23L,JacPDstandardNth1beta2,kmadd(gt33L,JacPDstandardNth1beta3,kmadd(gt11L,JacPDstandardNth3beta1,kmul(gt12L,JacPDstandardNth3beta2)))),ToReal(3))))); CCTK_REAL_VEC gt22rhsL = - kmul(ToReal(-0.666666666666666666666666666667),kmadd(kmadd(gt12L,PDstandardNth2beta1,kmul(gt23L,PDstandardNth2beta3)),ToReal(-3),kmadd(gt22L,kadd(PDstandardNth1beta1,kmadd(PDstandardNth2beta2,ToReal(-2),PDstandardNth3beta3)),kmul(alphaL,kmul(At22L,ToReal(3)))))); + kmul(ToReal(-0.666666666666666666666666666667),kmadd(kmadd(gt12L,JacPDstandardNth2beta1,kmul(gt23L,JacPDstandardNth2beta3)),ToReal(-3),kmadd(gt22L,kadd(JacPDstandardNth1beta1,kmadd(JacPDstandardNth2beta2,ToReal(-2),JacPDstandardNth3beta3)),kmul(alphaL,kmul(At22L,ToReal(3)))))); CCTK_REAL_VEC gt23rhsL = - kmul(ToReal(0.333333333333333333333333333333),kmadd(alphaL,kmul(At23L,ToReal(-6)),kmadd(gt23L,kadd(PDstandardNth2beta2,kmadd(PDstandardNth1beta1,ToReal(-2),PDstandardNth3beta3)),kmul(kmadd(gt13L,PDstandardNth2beta1,kmadd(gt33L,PDstandardNth2beta3,kmadd(gt12L,PDstandardNth3beta1,kmul(gt22L,PDstandardNth3beta2)))),ToReal(3))))); + kmul(ToReal(0.333333333333333333333333333333),kmadd(alphaL,kmul(At23L,ToReal(-6)),kmadd(gt23L,kadd(JacPDstandardNth2beta2,kmadd(JacPDstandardNth1beta1,ToReal(-2),JacPDstandardNth3beta3)),kmul(kmadd(gt13L,JacPDstandardNth2beta1,kmadd(gt33L,JacPDstandardNth2beta3,kmadd(gt12L,JacPDstandardNth3beta1,kmul(gt22L,JacPDstandardNth3beta2)))),ToReal(3))))); CCTK_REAL_VEC gt33rhsL = - kmul(ToReal(-0.666666666666666666666666666667),kmadd(kmadd(gt13L,PDstandardNth3beta1,kmul(gt23L,PDstandardNth3beta2)),ToReal(-3),kmadd(gt33L,kadd(PDstandardNth1beta1,kmadd(PDstandardNth3beta3,ToReal(-2),PDstandardNth2beta2)),kmul(alphaL,kmul(At33L,ToReal(3)))))); + kmul(ToReal(-0.666666666666666666666666666667),kmadd(kmadd(gt13L,JacPDstandardNth3beta1,kmul(gt23L,JacPDstandardNth3beta2)),ToReal(-3),kmadd(gt33L,kadd(JacPDstandardNth1beta1,kmadd(JacPDstandardNth3beta3,ToReal(-2),JacPDstandardNth2beta2)),kmul(alphaL,kmul(At33L,ToReal(3)))))); CCTK_REAL_VEC dotXt1 = - kmul(ToReal(0.333333333333333333333333333333),kmadd(gtu12,kadd(PDstandardNth22beta2,kmadd(alphaL,kmul(S2,ToReal(-150.7964473723100754462068823974161384415)),PDstandardNth23beta3)),kmadd(gtu13,kadd(PDstandardNth23beta2,kmadd(alphaL,kmul(S3,ToReal(-150.7964473723100754462068823974161384415)),PDstandardNth33beta3)),kmadd(kmadd(Atu11,PDstandardNth1alpha,kmadd(Atu12,PDstandardNth2alpha,kmul(Atu13,PDstandardNth3alpha))),ToReal(-6),kmadd(kmadd(PDstandardNth2beta1,Xtn2,kmul(PDstandardNth3beta1,Xtn3)),ToReal(-3),kmadd(Xtn1,kmsub(PDstandardNth3beta3,ToReal(2),PDstandardNth1beta1),kmadd(kmadd(gtu22,PDstandardNth22beta1,kmul(gtu33,PDstandardNth33beta1)),ToReal(3),kmadd(gtu11,kadd(PDstandardNth12beta2,kadd(PDstandardNth13beta3,kmadd(alphaL,kmul(S1,ToReal(-150.7964473723100754462068823974161384415)),kmul(PDstandardNth11beta1,ToReal(4))))),kmadd(gtu23,kmul(PDstandardNth23beta1,ToReal(6)),kmadd(kmadd(gtu12,PDstandardNth12beta1,kmul(gtu13,PDstandardNth13beta1)),ToReal(7),kmul(ToReal(2),kmadd(PDstandardNth2beta2,Xtn1,kmul(alphaL,kmadd(kmadd(gtu11,PDstandardNth1trK,kmadd(gtu12,PDstandardNth2trK,kmul(gtu13,PDstandardNth3trK))),ToReal(-2),kmadd(kmadd(Atu11,Gt111,kmadd(Atu22,Gt122,kmul(Atu33,Gt133))),ToReal(3),kmadd(kmadd(Atu12,Gt112,kmadd(Atu13,Gt113,kmul(Atu23,Gt123))),ToReal(6),kmul(kmadd(Atu11,cdphi1,kmadd(Atu12,cdphi2,kmul(Atu13,cdphi3))),ToReal(18)))))))))))))))))); + kmul(ToReal(0.333333333333333333333333333333),kmadd(kmadd(Atu11,JacPDstandardNth1alpha,kmadd(Atu12,JacPDstandardNth2alpha,kmul(Atu13,JacPDstandardNth3alpha))),ToReal(-6),kmadd(kmadd(JacPDstandardNth2beta1,Xtn2,kmul(JacPDstandardNth3beta1,Xtn3)),ToReal(-3),kmadd(Xtn1,kmsub(kadd(JacPDstandardNth2beta2,JacPDstandardNth3beta3),ToReal(2),JacPDstandardNth1beta1),kmadd(kmadd(gtu12,JacPDstandardNth12beta1,kmadd(gtu13,JacPDstandardNth13beta1,kmadd(gtu22,JacPDstandardNth22beta1,kmadd(gtu23,kadd(JacPDstandardNth23beta1,JacPDstandardNth32beta1),kmul(gtu33,JacPDstandardNth33beta1))))),ToReal(3),kmadd(gtu11,kadd(JacPDstandardNth12beta2,kmadd(JacPDstandardNth11beta1,ToReal(4),JacPDstandardNth13beta3)),kmadd(gtu12,kadd(JacPDstandardNth22beta2,kmadd(JacPDstandardNth21beta1,ToReal(4),JacPDstandardNth23beta3)),kmadd(gtu13,kadd(JacPDstandardNth32beta2,kmadd(JacPDstandardNth31beta1,ToReal(4),JacPDstandardNth33beta3)),kmul(alphaL,kmadd(kmadd(gtu11,S1,kmadd(gtu12,S2,kmul(gtu13,S3))),ToReal(-150.7964473723100754462068823974161384415),kmadd(kmadd(gtu11,JacPDstandardNth1trK,kmadd(gtu12,JacPDstandardNth2trK,kmul(gtu13,JacPDstandardNth3trK))),ToReal(-4),kmadd(ToReal(6),kmadd(Atu22,Gt122,kmadd(Atu33,Gt133,kmul(Atu11,kmadd(cdphi1,ToReal(6),Gt111)))),kmadd(kmadd(Atu23,Gt123,kmul(Atu12,kmadd(cdphi2,ToReal(3),Gt112))),ToReal(12),kmul(Atu13,kmadd(Gt113,ToReal(12),kmul(cdphi3,ToReal(36))))))))))))))))); CCTK_REAL_VEC dotXt2 = - kmul(ToReal(0.333333333333333333333333333333),kmadd(kmadd(Atu12,PDstandardNth1alpha,kmadd(Atu22,PDstandardNth2alpha,kmul(Atu23,PDstandardNth3alpha))),ToReal(-6),kmadd(kmadd(PDstandardNth1beta2,Xtn1,kmul(PDstandardNth3beta2,Xtn3)),ToReal(-3),kmadd(Xtn2,kmsub(PDstandardNth3beta3,ToReal(2),PDstandardNth2beta2),kmadd(kmadd(gtu11,PDstandardNth11beta2,kmul(gtu33,PDstandardNth33beta2)),ToReal(3),kmadd(gtu22,kadd(PDstandardNth12beta1,kadd(PDstandardNth23beta3,kmadd(alphaL,kmul(S2,ToReal(-150.7964473723100754462068823974161384415)),kmul(PDstandardNth22beta2,ToReal(4))))),kmadd(gtu13,kmul(PDstandardNth13beta2,ToReal(6)),kmadd(gtu12,kadd(PDstandardNth11beta1,kadd(PDstandardNth13beta3,kmadd(alphaL,kmul(S1,ToReal(-150.7964473723100754462068823974161384415)),kmul(PDstandardNth12beta2,ToReal(7))))),kmadd(gtu23,kadd(PDstandardNth13beta1,kadd(PDstandardNth33beta3,kmadd(alphaL,kmul(S3,ToReal(-150.7964473723100754462068823974161384415)),kmul(PDstandardNth23beta2,ToReal(7))))),kmul(ToReal(2),kmadd(PDstandardNth1beta1,Xtn2,kmul(alphaL,kmadd(kmadd(gtu12,PDstandardNth1trK,kmadd(gtu22,PDstandardNth2trK,kmul(gtu23,PDstandardNth3trK))),ToReal(-2),kmadd(kmadd(Atu11,Gt211,kmadd(Atu22,Gt222,kmul(Atu33,Gt233))),ToReal(3),kmadd(kmadd(Atu12,Gt212,kmadd(Atu13,Gt213,kmul(Atu23,Gt223))),ToReal(6),kmul(kmadd(Atu12,cdphi1,kmadd(Atu22,cdphi2,kmul(Atu23,cdphi3))),ToReal(18))))))))))))))))); + kmul(ToReal(0.333333333333333333333333333333),kmadd(kmadd(Atu12,JacPDstandardNth1alpha,kmadd(Atu22,JacPDstandardNth2alpha,kmul(Atu23,JacPDstandardNth3alpha))),ToReal(-6),kmadd(kmadd(JacPDstandardNth1beta2,Xtn1,kmul(JacPDstandardNth3beta2,Xtn3)),ToReal(-3),kmadd(Xtn2,kmsub(kadd(JacPDstandardNth1beta1,JacPDstandardNth3beta3),ToReal(2),JacPDstandardNth2beta2),kmadd(kmadd(gtu11,JacPDstandardNth11beta2,kmadd(gtu23,JacPDstandardNth23beta2,kmadd(gtu13,kadd(JacPDstandardNth13beta2,JacPDstandardNth31beta2),kmul(gtu33,JacPDstandardNth33beta2)))),ToReal(3),kmadd(gtu12,kadd(JacPDstandardNth11beta1,kadd(JacPDstandardNth13beta3,kmadd(JacPDstandardNth21beta2,ToReal(3),kmul(JacPDstandardNth12beta2,ToReal(4))))),kmadd(gtu22,kadd(JacPDstandardNth21beta1,kmadd(JacPDstandardNth22beta2,ToReal(4),JacPDstandardNth23beta3)),kmadd(gtu23,kadd(JacPDstandardNth31beta1,kmadd(JacPDstandardNth32beta2,ToReal(4),JacPDstandardNth33beta3)),kmul(alphaL,kmadd(kmadd(gtu12,S1,kmadd(gtu22,S2,kmul(gtu23,S3))),ToReal(-150.7964473723100754462068823974161384415),kmadd(kmadd(gtu12,JacPDstandardNth1trK,kmadd(gtu22,JacPDstandardNth2trK,kmul(gtu23,JacPDstandardNth3trK))),ToReal(-4),kmadd(ToReal(6),kmadd(Atu11,Gt211,kmadd(Atu33,Gt233,kmul(Atu22,kmadd(cdphi2,ToReal(6),Gt222)))),kmadd(kmadd(Atu13,Gt213,kmul(Atu12,kmadd(cdphi1,ToReal(3),Gt212))),ToReal(12),kmul(Atu23,kmadd(Gt223,ToReal(12),kmul(cdphi3,ToReal(36))))))))))))))))); CCTK_REAL_VEC dotXt3 = - kmul(ToReal(0.333333333333333333333333333333),kmadd(kmadd(Atu13,PDstandardNth1alpha,kmadd(Atu23,PDstandardNth2alpha,kmul(Atu33,PDstandardNth3alpha))),ToReal(-6),kmadd(kmadd(PDstandardNth1beta3,Xtn1,kmul(PDstandardNth2beta3,Xtn2)),ToReal(-3),kmadd(Xtn3,kmsub(PDstandardNth2beta2,ToReal(2),PDstandardNth3beta3),kmadd(kmadd(gtu11,PDstandardNth11beta3,kmul(gtu22,PDstandardNth22beta3)),ToReal(3),kmadd(gtu33,kadd(PDstandardNth13beta1,kadd(PDstandardNth23beta2,kmadd(alphaL,kmul(S3,ToReal(-150.7964473723100754462068823974161384415)),kmul(PDstandardNth33beta3,ToReal(4))))),kmadd(gtu12,kmul(PDstandardNth12beta3,ToReal(6)),kmadd(gtu13,kadd(PDstandardNth11beta1,kadd(PDstandardNth12beta2,kmadd(alphaL,kmul(S1,ToReal(-150.7964473723100754462068823974161384415)),kmul(PDstandardNth13beta3,ToReal(7))))),kmadd(gtu23,kadd(PDstandardNth12beta1,kadd(PDstandardNth22beta2,kmadd(alphaL,kmul(S2,ToReal(-150.7964473723100754462068823974161384415)),kmul(PDstandardNth23beta3,ToReal(7))))),kmul(ToReal(2),kmadd(PDstandardNth1beta1,Xtn3,kmul(alphaL,kmadd(kmadd(gtu13,PDstandardNth1trK,kmadd(gtu23,PDstandardNth2trK,kmul(gtu33,PDstandardNth3trK))),ToReal(-2),kmadd(kmadd(Atu11,Gt311,kmadd(Atu22,Gt322,kmul(Atu33,Gt333))),ToReal(3),kmadd(kmadd(Atu12,Gt312,kmadd(Atu13,Gt313,kmul(Atu23,Gt323))),ToReal(6),kmul(kmadd(Atu13,cdphi1,kmadd(Atu23,cdphi2,kmul(Atu33,cdphi3))),ToReal(18))))))))))))))))); + kmul(ToReal(0.333333333333333333333333333333),kmadd(kmadd(Atu13,JacPDstandardNth1alpha,kmadd(Atu23,JacPDstandardNth2alpha,kmul(Atu33,JacPDstandardNth3alpha))),ToReal(-6),kmadd(kmadd(JacPDstandardNth1beta3,Xtn1,kmul(JacPDstandardNth2beta3,Xtn2)),ToReal(-3),kmadd(Xtn3,kmsub(kadd(JacPDstandardNth1beta1,JacPDstandardNth2beta2),ToReal(2),JacPDstandardNth3beta3),kmadd(kmadd(gtu11,JacPDstandardNth11beta3,kmadd(gtu12,kadd(JacPDstandardNth12beta3,JacPDstandardNth21beta3),kmadd(gtu22,JacPDstandardNth22beta3,kmul(gtu23,JacPDstandardNth32beta3)))),ToReal(3),kmadd(gtu13,kadd(JacPDstandardNth11beta1,kadd(JacPDstandardNth12beta2,kmadd(JacPDstandardNth31beta3,ToReal(3),kmul(JacPDstandardNth13beta3,ToReal(4))))),kmadd(gtu23,kadd(JacPDstandardNth21beta1,kmadd(JacPDstandardNth23beta3,ToReal(4),JacPDstandardNth22beta2)),kmadd(gtu33,kadd(JacPDstandardNth31beta1,kmadd(JacPDstandardNth33beta3,ToReal(4),JacPDstandardNth32beta2)),kmul(alphaL,kmadd(kmadd(gtu13,S1,kmadd(gtu23,S2,kmul(gtu33,S3))),ToReal(-150.7964473723100754462068823974161384415),kmadd(kmadd(gtu13,JacPDstandardNth1trK,kmadd(gtu23,JacPDstandardNth2trK,kmul(gtu33,JacPDstandardNth3trK))),ToReal(-4),kmadd(kmadd(Atu11,Gt311,kmul(Atu22,Gt322)),ToReal(6),kmadd(kmadd(Atu12,Gt312,kmadd(Atu13,kmadd(cdphi1,ToReal(3),Gt313),kmul(Atu23,kmadd(cdphi2,ToReal(3),Gt323)))),ToReal(12),kmul(Atu33,kmadd(Gt333,ToReal(6),kmul(cdphi3,ToReal(36))))))))))))))))); CCTK_REAL_VEC Xt1rhsL = dotXt1; @@ -497,7 +1345,7 @@ static void ML_BSSN_RHS1_Body(cGH const * restrict const cctkGH, int const dir, CCTK_REAL_VEC Xt3rhsL = dotXt3; CCTK_REAL_VEC dottrK = - kmsub(alphaL,kadd(SQR(Atm11),kadd(SQR(Atm22),kadd(SQR(Atm33),kmadd(SQR(trKL),ToReal(0.333333333333333333333333333333),kmadd(kmadd(Atm12,Atm21,kmadd(Atm13,Atm31,kmul(Atm23,Atm32))),ToReal(2),kmul(kadd(rho,trS),ToReal(12.56637061435917295385057353311801153679))))))),kmul(em4phi,kmadd(gtu11,PDstandardNth11alpha,kmadd(gtu22,PDstandardNth22alpha,knmsub(PDstandardNth3alpha,Xtn3,kmadd(kmadd(gtu12,PDstandardNth12alpha,kmadd(gtu13,kmadd(cdphi1,PDstandardNth3alpha,PDstandardNth13alpha),kmul(gtu23,kmadd(cdphi2,PDstandardNth3alpha,PDstandardNth23alpha)))),ToReal(2),kmadd(PDstandardNth1alpha,kmsub(kmadd(cdphi1,gtu11,kmadd(cdphi2,gtu12,kmul(cdphi3,gtu13))),ToReal(2),Xtn1),kmadd(PDstandardNth2alpha,kmsub(kmadd(cdphi1,gtu12,kmadd(cdphi2,gtu22,kmul(cdphi3,gtu23))),ToReal(2),Xtn2),kmul(gtu33,kmadd(cdphi3,kmul(PDstandardNth3alpha,ToReal(2)),PDstandardNth33alpha)))))))))); + kmsub(alphaL,kadd(SQR(Atm11),kadd(SQR(Atm22),kadd(SQR(Atm33),kmadd(SQR(trKL),ToReal(0.333333333333333333333333333333),kmadd(kmadd(Atm12,Atm21,kmadd(Atm13,Atm31,kmul(Atm23,Atm32))),ToReal(2),kmul(kadd(rho,trS),ToReal(12.56637061435917295385057353311801153679))))))),kmul(em4phi,knmsub(JacPDstandardNth1alpha,Xtn1,knmsub(JacPDstandardNth2alpha,Xtn2,knmsub(JacPDstandardNth3alpha,Xtn3,kmadd(gtu11,kmadd(cdphi1,kmul(JacPDstandardNth1alpha,ToReal(2)),JacPDstandardNth11alpha),kmadd(gtu12,kadd(JacPDstandardNth12alpha,kadd(JacPDstandardNth21alpha,kmadd(cdphi2,kmul(JacPDstandardNth1alpha,ToReal(2)),kmul(cdphi1,kmul(JacPDstandardNth2alpha,ToReal(2)))))),kmadd(gtu22,kmadd(cdphi2,kmul(JacPDstandardNth2alpha,ToReal(2)),JacPDstandardNth22alpha),kmadd(gtu13,kadd(JacPDstandardNth13alpha,kadd(JacPDstandardNth31alpha,kmadd(cdphi3,kmul(JacPDstandardNth1alpha,ToReal(2)),kmul(cdphi1,kmul(JacPDstandardNth3alpha,ToReal(2)))))),kmadd(gtu23,kadd(JacPDstandardNth23alpha,kadd(JacPDstandardNth32alpha,kmadd(cdphi3,kmul(JacPDstandardNth2alpha,ToReal(2)),kmul(cdphi2,kmul(JacPDstandardNth3alpha,ToReal(2)))))),kmul(gtu33,kmadd(cdphi3,kmul(JacPDstandardNth3alpha,ToReal(2)),JacPDstandardNth33alpha)))))))))))); CCTK_REAL_VEC trKrhsL = dottrK; |