/* File produced by Kranc */ #define KRANC_C #include #include #include #include #include #include "cctk.h" #include "cctk_Arguments.h" #include "cctk_Parameters.h" #include "GenericFD.h" #include "Differencing.h" #include "cctk_Loop.h" #include "loopcontrol.h" #include "vectors.h" /* Define macros used in calculations */ #define INITVALUE (42) #define ScalarINV(x) ((CCTK_REAL)1.0 / (x)) #define ScalarSQR(x) ((x) * (x)) #define ScalarCUB(x) ((x) * ScalarSQR(x)) #define ScalarQAD(x) (ScalarSQR(ScalarSQR(x))) #define INV(x) (kdiv(ToReal(1.0),x)) #define SQR(x) (kmul(x,x)) #define CUB(x) (kmul(x,SQR(x))) #define QAD(x) (SQR(SQR(x))) extern "C" void WeylScal4_psi4_calc_Nth_SelectBCs(CCTK_ARGUMENTS) { DECLARE_CCTK_ARGUMENTS; DECLARE_CCTK_PARAMETERS; CCTK_INT ierr CCTK_ATTRIBUTE_UNUSED = 0; ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "WeylScal4::Psi4i_group","flat"); if (ierr < 0) CCTK_WARN(1, "Failed to register flat BC for WeylScal4::Psi4i_group."); ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "WeylScal4::Psi4r_group","flat"); if (ierr < 0) CCTK_WARN(1, "Failed to register flat BC for WeylScal4::Psi4r_group."); return; } static void WeylScal4_psi4_calc_Nth_Body(cGH const * restrict const cctkGH, int const dir, int const face, CCTK_REAL const normal[3], CCTK_REAL const tangentA[3], CCTK_REAL const tangentB[3], int const imin[3], int const imax[3], int const n_subblock_gfs, CCTK_REAL * restrict const subblock_gfs[]) { DECLARE_CCTK_ARGUMENTS; DECLARE_CCTK_PARAMETERS; /* Include user-supplied include files */ /* Initialise finite differencing variables */ ptrdiff_t const di CCTK_ATTRIBUTE_UNUSED = 1; ptrdiff_t const dj CCTK_ATTRIBUTE_UNUSED = CCTK_GFINDEX3D(cctkGH,0,1,0) - CCTK_GFINDEX3D(cctkGH,0,0,0); ptrdiff_t const dk CCTK_ATTRIBUTE_UNUSED = CCTK_GFINDEX3D(cctkGH,0,0,1) - CCTK_GFINDEX3D(cctkGH,0,0,0); ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * di; ptrdiff_t const cdj CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * dj; ptrdiff_t const cdk CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * dk; CCTK_REAL_VEC const dx CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(0)); CCTK_REAL_VEC const dy CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(1)); CCTK_REAL_VEC const dz CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(2)); CCTK_REAL_VEC const dt CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_TIME); CCTK_REAL_VEC const t CCTK_ATTRIBUTE_UNUSED = ToReal(cctk_time); CCTK_REAL_VEC const dxi CCTK_ATTRIBUTE_UNUSED = INV(dx); CCTK_REAL_VEC const dyi CCTK_ATTRIBUTE_UNUSED = INV(dy); CCTK_REAL_VEC const dzi CCTK_ATTRIBUTE_UNUSED = INV(dz); CCTK_REAL_VEC const khalf CCTK_ATTRIBUTE_UNUSED = ToReal(0.5); CCTK_REAL_VEC const kthird CCTK_ATTRIBUTE_UNUSED = ToReal(1.0/3.0); CCTK_REAL_VEC const ktwothird CCTK_ATTRIBUTE_UNUSED = ToReal(2.0/3.0); CCTK_REAL_VEC const kfourthird CCTK_ATTRIBUTE_UNUSED = ToReal(4.0/3.0); CCTK_REAL_VEC const keightthird CCTK_ATTRIBUTE_UNUSED = ToReal(8.0/3.0); CCTK_REAL_VEC const hdxi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dxi); CCTK_REAL_VEC const hdyi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dyi); CCTK_REAL_VEC const hdzi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dzi); /* Initialize predefined quantities */ CCTK_REAL_VEC const p1o12dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dx); CCTK_REAL_VEC const p1o12dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dy); CCTK_REAL_VEC const p1o12dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dz); CCTK_REAL_VEC const p1o144dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dy,dx)); CCTK_REAL_VEC const p1o144dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dx)); CCTK_REAL_VEC const p1o144dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dy)); CCTK_REAL_VEC const p1o180dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dx,dx)); CCTK_REAL_VEC const p1o180dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dy,dy)); CCTK_REAL_VEC const p1o180dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dz,dz)); CCTK_REAL_VEC const p1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dx); CCTK_REAL_VEC const p1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dy); CCTK_REAL_VEC const p1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dz); CCTK_REAL_VEC const p1o3600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dy,dx)); CCTK_REAL_VEC const p1o3600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dx)); CCTK_REAL_VEC const p1o3600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dy)); CCTK_REAL_VEC const p1o4dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dy,dx)); CCTK_REAL_VEC const p1o4dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dx)); CCTK_REAL_VEC const p1o4dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dy)); CCTK_REAL_VEC const p1o5040dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dx,dx)); CCTK_REAL_VEC const p1o5040dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dy,dy)); CCTK_REAL_VEC const p1o5040dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dz,dz)); CCTK_REAL_VEC const p1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dx); CCTK_REAL_VEC const p1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dy); CCTK_REAL_VEC const p1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dz); CCTK_REAL_VEC const p1o705600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dy,dx)); CCTK_REAL_VEC const p1o705600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dx)); CCTK_REAL_VEC const p1o705600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dy)); CCTK_REAL_VEC const p1o840dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dx); CCTK_REAL_VEC const p1o840dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dy); CCTK_REAL_VEC const p1o840dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dz); CCTK_REAL_VEC const p1odx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dx,dx)); CCTK_REAL_VEC const p1ody2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dy,dy)); CCTK_REAL_VEC const p1odz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dz,dz)); CCTK_REAL_VEC const pm1o12dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dx,dx)); CCTK_REAL_VEC const pm1o12dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dy,dy)); CCTK_REAL_VEC const pm1o12dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dz,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 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[0] : 0; CCTK_REAL const *restrict const J12 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[1] : 0; CCTK_REAL const *restrict const J13 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[2] : 0; CCTK_REAL const *restrict const J21 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[3] : 0; CCTK_REAL const *restrict const J22 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[4] : 0; CCTK_REAL const *restrict const J23 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[5] : 0; CCTK_REAL const *restrict const J31 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[6] : 0; CCTK_REAL const *restrict const J32 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[7] : 0; CCTK_REAL const *restrict const J33 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[8] : 0; CCTK_REAL const *restrict jacobian_derivative_ptrs[18] CCTK_ATTRIBUTE_UNUSED; if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_derivative_group, 18, jacobian_derivative_ptrs); CCTK_REAL const *restrict const dJ111 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[0] : 0; CCTK_REAL const *restrict const dJ112 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[1] : 0; CCTK_REAL const *restrict const dJ113 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[2] : 0; CCTK_REAL const *restrict const dJ122 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[3] : 0; CCTK_REAL const *restrict const dJ123 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[4] : 0; CCTK_REAL const *restrict const dJ133 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[5] : 0; CCTK_REAL const *restrict const dJ211 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[6] : 0; CCTK_REAL const *restrict const dJ212 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[7] : 0; CCTK_REAL const *restrict const dJ213 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[8] : 0; CCTK_REAL const *restrict const dJ222 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[9] : 0; CCTK_REAL const *restrict const dJ223 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[10] : 0; CCTK_REAL const *restrict const dJ233 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[11] : 0; CCTK_REAL const *restrict const dJ311 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[12] : 0; CCTK_REAL const *restrict const dJ312 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[13] : 0; CCTK_REAL const *restrict const dJ313 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[14] : 0; CCTK_REAL const *restrict const dJ322 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[15] : 0; CCTK_REAL const *restrict const dJ323 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[16] : 0; CCTK_REAL const *restrict const dJ333 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[17] : 0; /* Assign local copies of arrays functions */ /* Calculate temporaries and arrays functions */ /* Copy local copies back to grid functions */ /* Loop over the grid points */ #pragma omp parallel LC_LOOP3VEC(WeylScal4_psi4_calc_Nth, i,j,k, imin[0],imin[1],imin[2], imax[0],imax[1],imax[2], cctk_ash[0],cctk_ash[1],cctk_ash[2], CCTK_REAL_VEC_SIZE) { ptrdiff_t const index CCTK_ATTRIBUTE_UNUSED = di*i + dj*j + dk*k; /* Assign local copies of grid functions */ CCTK_REAL_VEC gxxL CCTK_ATTRIBUTE_UNUSED = vec_load(gxx[index]); CCTK_REAL_VEC gxyL CCTK_ATTRIBUTE_UNUSED = vec_load(gxy[index]); CCTK_REAL_VEC gxzL CCTK_ATTRIBUTE_UNUSED = vec_load(gxz[index]); CCTK_REAL_VEC gyyL CCTK_ATTRIBUTE_UNUSED = vec_load(gyy[index]); CCTK_REAL_VEC gyzL CCTK_ATTRIBUTE_UNUSED = vec_load(gyz[index]); CCTK_REAL_VEC gzzL CCTK_ATTRIBUTE_UNUSED = vec_load(gzz[index]); CCTK_REAL_VEC kxxL CCTK_ATTRIBUTE_UNUSED = vec_load(kxx[index]); CCTK_REAL_VEC kxyL CCTK_ATTRIBUTE_UNUSED = vec_load(kxy[index]); CCTK_REAL_VEC kxzL CCTK_ATTRIBUTE_UNUSED = vec_load(kxz[index]); CCTK_REAL_VEC kyyL CCTK_ATTRIBUTE_UNUSED = vec_load(kyy[index]); CCTK_REAL_VEC kyzL CCTK_ATTRIBUTE_UNUSED = vec_load(kyz[index]); CCTK_REAL_VEC kzzL CCTK_ATTRIBUTE_UNUSED = vec_load(kzz[index]); CCTK_REAL_VEC xL CCTK_ATTRIBUTE_UNUSED = vec_load(x[index]); CCTK_REAL_VEC yL CCTK_ATTRIBUTE_UNUSED = vec_load(y[index]); CCTK_REAL_VEC zL CCTK_ATTRIBUTE_UNUSED = vec_load(z[index]); CCTK_REAL_VEC dJ111L, dJ112L, dJ113L, dJ122L, dJ123L, dJ133L, dJ211L, dJ212L, dJ213L, dJ222L, dJ223L, dJ233L, dJ311L, dJ312L, dJ313L, dJ322L, dJ323L, dJ333L, J11L, J12L, J13L, J21L, J22L, J23L, J31L, J32L, J33L CCTK_ATTRIBUTE_UNUSED ; if (use_jacobian) { dJ111L = vec_load(dJ111[index]); dJ112L = vec_load(dJ112[index]); dJ113L = vec_load(dJ113[index]); dJ122L = vec_load(dJ122[index]); dJ123L = vec_load(dJ123[index]); dJ133L = vec_load(dJ133[index]); dJ211L = vec_load(dJ211[index]); dJ212L = vec_load(dJ212[index]); dJ213L = vec_load(dJ213[index]); dJ222L = vec_load(dJ222[index]); dJ223L = vec_load(dJ223[index]); dJ233L = vec_load(dJ233[index]); dJ311L = vec_load(dJ311[index]); dJ312L = vec_load(dJ312[index]); dJ313L = vec_load(dJ313[index]); dJ322L = vec_load(dJ322[index]); dJ323L = vec_load(dJ323[index]); dJ333L = vec_load(dJ333[index]); J11L = vec_load(J11[index]); J12L = vec_load(J12[index]); J13L = vec_load(J13[index]); J21L = vec_load(J21[index]); J22L = vec_load(J22[index]); J23L = vec_load(J23[index]); J31L = vec_load(J31[index]); J32L = vec_load(J32[index]); J33L = vec_load(J33[index]); } /* Include user supplied include files */ /* Precompute derivatives */ CCTK_REAL_VEC PDstandard1gxx CCTK_ATTRIBUTE_UNUSED ; CCTK_REAL_VEC PDstandard2gxx CCTK_ATTRIBUTE_UNUSED ; CCTK_REAL_VEC PDstandard3gxx CCTK_ATTRIBUTE_UNUSED ; CCTK_REAL_VEC PDstandard11gxx CCTK_ATTRIBUTE_UNUSED ; CCTK_REAL_VEC PDstandard22gxx CCTK_ATTRIBUTE_UNUSED ; CCTK_REAL_VEC PDstandard33gxx CCTK_ATTRIBUTE_UNUSED ; CCTK_REAL_VEC PDstandard12gxx CCTK_ATTRIBUTE_UNUSED ; CCTK_REAL_VEC PDstandard13gxx CCTK_ATTRIBUTE_UNUSED ; CCTK_REAL_VEC PDstandard23gxx CCTK_ATTRIBUTE_UNUSED ; CCTK_REAL_VEC PDstandard1gxy CCTK_ATTRIBUTE_UNUSED ; CCTK_REAL_VEC PDstandard2gxy CCTK_ATTRIBUTE_UNUSED ; CCTK_REAL_VEC PDstandard3gxy CCTK_ATTRIBUTE_UNUSED ; CCTK_REAL_VEC PDstandard11gxy CCTK_ATTRIBUTE_UNUSED ; CCTK_REAL_VEC PDstandard22gxy CCTK_ATTRIBUTE_UNUSED ; CCTK_REAL_VEC PDstandard33gxy CCTK_ATTRIBUTE_UNUSED ; CCTK_REAL_VEC PDstandard12gxy CCTK_ATTRIBUTE_UNUSED ; CCTK_REAL_VEC PDstandard13gxy CCTK_ATTRIBUTE_UNUSED ; CCTK_REAL_VEC PDstandard23gxy CCTK_ATTRIBUTE_UNUSED ; CCTK_REAL_VEC PDstandard1gxz CCTK_ATTRIBUTE_UNUSED ; CCTK_REAL_VEC PDstandard2gxz CCTK_ATTRIBUTE_UNUSED ; CCTK_REAL_VEC PDstandard3gxz CCTK_ATTRIBUTE_UNUSED ; CCTK_REAL_VEC PDstandard11gxz CCTK_ATTRIBUTE_UNUSED ; CCTK_REAL_VEC PDstandard22gxz CCTK_ATTRIBUTE_UNUSED ; CCTK_REAL_VEC PDstandard33gxz CCTK_ATTRIBUTE_UNUSED ; CCTK_REAL_VEC PDstandard12gxz CCTK_ATTRIBUTE_UNUSED ; CCTK_REAL_VEC PDstandard13gxz CCTK_ATTRIBUTE_UNUSED ; CCTK_REAL_VEC PDstandard23gxz CCTK_ATTRIBUTE_UNUSED ; CCTK_REAL_VEC PDstandard1gyy CCTK_ATTRIBUTE_UNUSED ; CCTK_REAL_VEC PDstandard2gyy CCTK_ATTRIBUTE_UNUSED ; CCTK_REAL_VEC PDstandard3gyy CCTK_ATTRIBUTE_UNUSED ; CCTK_REAL_VEC PDstandard11gyy CCTK_ATTRIBUTE_UNUSED ; CCTK_REAL_VEC PDstandard22gyy CCTK_ATTRIBUTE_UNUSED ; CCTK_REAL_VEC PDstandard33gyy CCTK_ATTRIBUTE_UNUSED ; CCTK_REAL_VEC PDstandard12gyy CCTK_ATTRIBUTE_UNUSED ; CCTK_REAL_VEC PDstandard13gyy CCTK_ATTRIBUTE_UNUSED ; CCTK_REAL_VEC PDstandard23gyy CCTK_ATTRIBUTE_UNUSED ; CCTK_REAL_VEC PDstandard1gyz CCTK_ATTRIBUTE_UNUSED ; CCTK_REAL_VEC PDstandard2gyz CCTK_ATTRIBUTE_UNUSED ; CCTK_REAL_VEC PDstandard3gyz CCTK_ATTRIBUTE_UNUSED ; CCTK_REAL_VEC PDstandard11gyz CCTK_ATTRIBUTE_UNUSED ; CCTK_REAL_VEC PDstandard22gyz CCTK_ATTRIBUTE_UNUSED ; CCTK_REAL_VEC PDstandard33gyz CCTK_ATTRIBUTE_UNUSED ; CCTK_REAL_VEC PDstandard12gyz CCTK_ATTRIBUTE_UNUSED ; CCTK_REAL_VEC PDstandard13gyz CCTK_ATTRIBUTE_UNUSED ; CCTK_REAL_VEC PDstandard23gyz CCTK_ATTRIBUTE_UNUSED ; CCTK_REAL_VEC PDstandard1gzz CCTK_ATTRIBUTE_UNUSED ; CCTK_REAL_VEC PDstandard2gzz CCTK_ATTRIBUTE_UNUSED ; CCTK_REAL_VEC PDstandard3gzz CCTK_ATTRIBUTE_UNUSED ; CCTK_REAL_VEC PDstandard11gzz CCTK_ATTRIBUTE_UNUSED ; CCTK_REAL_VEC PDstandard22gzz CCTK_ATTRIBUTE_UNUSED ; CCTK_REAL_VEC PDstandard33gzz CCTK_ATTRIBUTE_UNUSED ; CCTK_REAL_VEC PDstandard12gzz CCTK_ATTRIBUTE_UNUSED ; CCTK_REAL_VEC PDstandard13gzz CCTK_ATTRIBUTE_UNUSED ; CCTK_REAL_VEC PDstandard23gzz CCTK_ATTRIBUTE_UNUSED ; CCTK_REAL_VEC PDstandard1kxx CCTK_ATTRIBUTE_UNUSED ; CCTK_REAL_VEC PDstandard2kxx CCTK_ATTRIBUTE_UNUSED ; CCTK_REAL_VEC PDstandard3kxx CCTK_ATTRIBUTE_UNUSED ; CCTK_REAL_VEC PDstandard1kxy CCTK_ATTRIBUTE_UNUSED ; CCTK_REAL_VEC PDstandard2kxy CCTK_ATTRIBUTE_UNUSED ; CCTK_REAL_VEC PDstandard3kxy CCTK_ATTRIBUTE_UNUSED ; CCTK_REAL_VEC PDstandard1kxz CCTK_ATTRIBUTE_UNUSED ; CCTK_REAL_VEC PDstandard2kxz CCTK_ATTRIBUTE_UNUSED ; CCTK_REAL_VEC PDstandard3kxz CCTK_ATTRIBUTE_UNUSED ; CCTK_REAL_VEC PDstandard1kyy CCTK_ATTRIBUTE_UNUSED ; CCTK_REAL_VEC PDstandard2kyy CCTK_ATTRIBUTE_UNUSED ; CCTK_REAL_VEC PDstandard3kyy CCTK_ATTRIBUTE_UNUSED ; CCTK_REAL_VEC PDstandard1kyz CCTK_ATTRIBUTE_UNUSED ; CCTK_REAL_VEC PDstandard2kyz CCTK_ATTRIBUTE_UNUSED ; CCTK_REAL_VEC PDstandard3kyz CCTK_ATTRIBUTE_UNUSED ; CCTK_REAL_VEC PDstandard1kzz CCTK_ATTRIBUTE_UNUSED ; CCTK_REAL_VEC PDstandard2kzz CCTK_ATTRIBUTE_UNUSED ; CCTK_REAL_VEC PDstandard3kzz CCTK_ATTRIBUTE_UNUSED ; switch(fdOrder) { case 2: PDstandard1gxx = PDstandardfdOrder21(&gxx[index]); PDstandard2gxx = PDstandardfdOrder22(&gxx[index]); PDstandard3gxx = PDstandardfdOrder23(&gxx[index]); PDstandard11gxx = PDstandardfdOrder211(&gxx[index]); PDstandard22gxx = PDstandardfdOrder222(&gxx[index]); PDstandard33gxx = PDstandardfdOrder233(&gxx[index]); PDstandard12gxx = PDstandardfdOrder212(&gxx[index]); PDstandard13gxx = PDstandardfdOrder213(&gxx[index]); PDstandard23gxx = PDstandardfdOrder223(&gxx[index]); PDstandard1gxy = PDstandardfdOrder21(&gxy[index]); PDstandard2gxy = PDstandardfdOrder22(&gxy[index]); PDstandard3gxy = PDstandardfdOrder23(&gxy[index]); PDstandard11gxy = PDstandardfdOrder211(&gxy[index]); PDstandard22gxy = PDstandardfdOrder222(&gxy[index]); PDstandard33gxy = PDstandardfdOrder233(&gxy[index]); PDstandard12gxy = PDstandardfdOrder212(&gxy[index]); PDstandard13gxy = PDstandardfdOrder213(&gxy[index]); PDstandard23gxy = PDstandardfdOrder223(&gxy[index]); PDstandard1gxz = PDstandardfdOrder21(&gxz[index]); PDstandard2gxz = PDstandardfdOrder22(&gxz[index]); PDstandard3gxz = PDstandardfdOrder23(&gxz[index]); PDstandard11gxz = PDstandardfdOrder211(&gxz[index]); PDstandard22gxz = PDstandardfdOrder222(&gxz[index]); PDstandard33gxz = PDstandardfdOrder233(&gxz[index]); PDstandard12gxz = PDstandardfdOrder212(&gxz[index]); PDstandard13gxz = PDstandardfdOrder213(&gxz[index]); PDstandard23gxz = PDstandardfdOrder223(&gxz[index]); PDstandard1gyy = PDstandardfdOrder21(&gyy[index]); PDstandard2gyy = PDstandardfdOrder22(&gyy[index]); PDstandard3gyy = PDstandardfdOrder23(&gyy[index]); PDstandard11gyy = PDstandardfdOrder211(&gyy[index]); PDstandard22gyy = PDstandardfdOrder222(&gyy[index]); PDstandard33gyy = PDstandardfdOrder233(&gyy[index]); PDstandard12gyy = PDstandardfdOrder212(&gyy[index]); PDstandard13gyy = PDstandardfdOrder213(&gyy[index]); PDstandard23gyy = PDstandardfdOrder223(&gyy[index]); PDstandard1gyz = PDstandardfdOrder21(&gyz[index]); PDstandard2gyz = PDstandardfdOrder22(&gyz[index]); PDstandard3gyz = PDstandardfdOrder23(&gyz[index]); PDstandard11gyz = PDstandardfdOrder211(&gyz[index]); PDstandard22gyz = PDstandardfdOrder222(&gyz[index]); PDstandard33gyz = PDstandardfdOrder233(&gyz[index]); PDstandard12gyz = PDstandardfdOrder212(&gyz[index]); PDstandard13gyz = PDstandardfdOrder213(&gyz[index]); PDstandard23gyz = PDstandardfdOrder223(&gyz[index]); PDstandard1gzz = PDstandardfdOrder21(&gzz[index]); PDstandard2gzz = PDstandardfdOrder22(&gzz[index]); PDstandard3gzz = PDstandardfdOrder23(&gzz[index]); PDstandard11gzz = PDstandardfdOrder211(&gzz[index]); PDstandard22gzz = PDstandardfdOrder222(&gzz[index]); PDstandard33gzz = PDstandardfdOrder233(&gzz[index]); PDstandard12gzz = PDstandardfdOrder212(&gzz[index]); PDstandard13gzz = PDstandardfdOrder213(&gzz[index]); PDstandard23gzz = PDstandardfdOrder223(&gzz[index]); PDstandard1kxx = PDstandardfdOrder21(&kxx[index]); PDstandard2kxx = PDstandardfdOrder22(&kxx[index]); PDstandard3kxx = PDstandardfdOrder23(&kxx[index]); PDstandard1kxy = PDstandardfdOrder21(&kxy[index]); PDstandard2kxy = PDstandardfdOrder22(&kxy[index]); PDstandard3kxy = PDstandardfdOrder23(&kxy[index]); PDstandard1kxz = PDstandardfdOrder21(&kxz[index]); PDstandard2kxz = PDstandardfdOrder22(&kxz[index]); PDstandard3kxz = PDstandardfdOrder23(&kxz[index]); PDstandard1kyy = PDstandardfdOrder21(&kyy[index]); PDstandard2kyy = PDstandardfdOrder22(&kyy[index]); PDstandard3kyy = PDstandardfdOrder23(&kyy[index]); PDstandard1kyz = PDstandardfdOrder21(&kyz[index]); PDstandard2kyz = PDstandardfdOrder22(&kyz[index]); PDstandard3kyz = PDstandardfdOrder23(&kyz[index]); PDstandard1kzz = PDstandardfdOrder21(&kzz[index]); PDstandard2kzz = PDstandardfdOrder22(&kzz[index]); PDstandard3kzz = PDstandardfdOrder23(&kzz[index]); break; case 4: PDstandard1gxx = PDstandardfdOrder41(&gxx[index]); PDstandard2gxx = PDstandardfdOrder42(&gxx[index]); PDstandard3gxx = PDstandardfdOrder43(&gxx[index]); PDstandard11gxx = PDstandardfdOrder411(&gxx[index]); PDstandard22gxx = PDstandardfdOrder422(&gxx[index]); PDstandard33gxx = PDstandardfdOrder433(&gxx[index]); PDstandard12gxx = PDstandardfdOrder412(&gxx[index]); PDstandard13gxx = PDstandardfdOrder413(&gxx[index]); PDstandard23gxx = PDstandardfdOrder423(&gxx[index]); PDstandard1gxy = PDstandardfdOrder41(&gxy[index]); PDstandard2gxy = PDstandardfdOrder42(&gxy[index]); PDstandard3gxy = PDstandardfdOrder43(&gxy[index]); PDstandard11gxy = PDstandardfdOrder411(&gxy[index]); PDstandard22gxy = PDstandardfdOrder422(&gxy[index]); PDstandard33gxy = PDstandardfdOrder433(&gxy[index]); PDstandard12gxy = PDstandardfdOrder412(&gxy[index]); PDstandard13gxy = PDstandardfdOrder413(&gxy[index]); PDstandard23gxy = PDstandardfdOrder423(&gxy[index]); PDstandard1gxz = PDstandardfdOrder41(&gxz[index]); PDstandard2gxz = PDstandardfdOrder42(&gxz[index]); PDstandard3gxz = PDstandardfdOrder43(&gxz[index]); PDstandard11gxz = PDstandardfdOrder411(&gxz[index]); PDstandard22gxz = PDstandardfdOrder422(&gxz[index]); PDstandard33gxz = PDstandardfdOrder433(&gxz[index]); PDstandard12gxz = PDstandardfdOrder412(&gxz[index]); PDstandard13gxz = PDstandardfdOrder413(&gxz[index]); PDstandard23gxz = PDstandardfdOrder423(&gxz[index]); PDstandard1gyy = PDstandardfdOrder41(&gyy[index]); PDstandard2gyy = PDstandardfdOrder42(&gyy[index]); PDstandard3gyy = PDstandardfdOrder43(&gyy[index]); PDstandard11gyy = PDstandardfdOrder411(&gyy[index]); PDstandard22gyy = PDstandardfdOrder422(&gyy[index]); PDstandard33gyy = PDstandardfdOrder433(&gyy[index]); PDstandard12gyy = PDstandardfdOrder412(&gyy[index]); PDstandard13gyy = PDstandardfdOrder413(&gyy[index]); PDstandard23gyy = PDstandardfdOrder423(&gyy[index]); PDstandard1gyz = PDstandardfdOrder41(&gyz[index]); PDstandard2gyz = PDstandardfdOrder42(&gyz[index]); PDstandard3gyz = PDstandardfdOrder43(&gyz[index]); PDstandard11gyz = PDstandardfdOrder411(&gyz[index]); PDstandard22gyz = PDstandardfdOrder422(&gyz[index]); PDstandard33gyz = PDstandardfdOrder433(&gyz[index]); PDstandard12gyz = PDstandardfdOrder412(&gyz[index]); PDstandard13gyz = PDstandardfdOrder413(&gyz[index]); PDstandard23gyz = PDstandardfdOrder423(&gyz[index]); PDstandard1gzz = PDstandardfdOrder41(&gzz[index]); PDstandard2gzz = PDstandardfdOrder42(&gzz[index]); PDstandard3gzz = PDstandardfdOrder43(&gzz[index]); PDstandard11gzz = PDstandardfdOrder411(&gzz[index]); PDstandard22gzz = PDstandardfdOrder422(&gzz[index]); PDstandard33gzz = PDstandardfdOrder433(&gzz[index]); PDstandard12gzz = PDstandardfdOrder412(&gzz[index]); PDstandard13gzz = PDstandardfdOrder413(&gzz[index]); PDstandard23gzz = PDstandardfdOrder423(&gzz[index]); PDstandard1kxx = PDstandardfdOrder41(&kxx[index]); PDstandard2kxx = PDstandardfdOrder42(&kxx[index]); PDstandard3kxx = PDstandardfdOrder43(&kxx[index]); PDstandard1kxy = PDstandardfdOrder41(&kxy[index]); PDstandard2kxy = PDstandardfdOrder42(&kxy[index]); PDstandard3kxy = PDstandardfdOrder43(&kxy[index]); PDstandard1kxz = PDstandardfdOrder41(&kxz[index]); PDstandard2kxz = PDstandardfdOrder42(&kxz[index]); PDstandard3kxz = PDstandardfdOrder43(&kxz[index]); PDstandard1kyy = PDstandardfdOrder41(&kyy[index]); PDstandard2kyy = PDstandardfdOrder42(&kyy[index]); PDstandard3kyy = PDstandardfdOrder43(&kyy[index]); PDstandard1kyz = PDstandardfdOrder41(&kyz[index]); PDstandard2kyz = PDstandardfdOrder42(&kyz[index]); PDstandard3kyz = PDstandardfdOrder43(&kyz[index]); PDstandard1kzz = PDstandardfdOrder41(&kzz[index]); PDstandard2kzz = PDstandardfdOrder42(&kzz[index]); PDstandard3kzz = PDstandardfdOrder43(&kzz[index]); break; case 6: PDstandard1gxx = PDstandardfdOrder61(&gxx[index]); PDstandard2gxx = PDstandardfdOrder62(&gxx[index]); PDstandard3gxx = PDstandardfdOrder63(&gxx[index]); PDstandard11gxx = PDstandardfdOrder611(&gxx[index]); PDstandard22gxx = PDstandardfdOrder622(&gxx[index]); PDstandard33gxx = PDstandardfdOrder633(&gxx[index]); PDstandard12gxx = PDstandardfdOrder612(&gxx[index]); PDstandard13gxx = PDstandardfdOrder613(&gxx[index]); PDstandard23gxx = PDstandardfdOrder623(&gxx[index]); PDstandard1gxy = PDstandardfdOrder61(&gxy[index]); PDstandard2gxy = PDstandardfdOrder62(&gxy[index]); PDstandard3gxy = PDstandardfdOrder63(&gxy[index]); PDstandard11gxy = PDstandardfdOrder611(&gxy[index]); PDstandard22gxy = PDstandardfdOrder622(&gxy[index]); PDstandard33gxy = PDstandardfdOrder633(&gxy[index]); PDstandard12gxy = PDstandardfdOrder612(&gxy[index]); PDstandard13gxy = PDstandardfdOrder613(&gxy[index]); PDstandard23gxy = PDstandardfdOrder623(&gxy[index]); PDstandard1gxz = PDstandardfdOrder61(&gxz[index]); PDstandard2gxz = PDstandardfdOrder62(&gxz[index]); PDstandard3gxz = PDstandardfdOrder63(&gxz[index]); PDstandard11gxz = PDstandardfdOrder611(&gxz[index]); PDstandard22gxz = PDstandardfdOrder622(&gxz[index]); PDstandard33gxz = PDstandardfdOrder633(&gxz[index]); PDstandard12gxz = PDstandardfdOrder612(&gxz[index]); PDstandard13gxz = PDstandardfdOrder613(&gxz[index]); PDstandard23gxz = PDstandardfdOrder623(&gxz[index]); PDstandard1gyy = PDstandardfdOrder61(&gyy[index]); PDstandard2gyy = PDstandardfdOrder62(&gyy[index]); PDstandard3gyy = PDstandardfdOrder63(&gyy[index]); PDstandard11gyy = PDstandardfdOrder611(&gyy[index]); PDstandard22gyy = PDstandardfdOrder622(&gyy[index]); PDstandard33gyy = PDstandardfdOrder633(&gyy[index]); PDstandard12gyy = PDstandardfdOrder612(&gyy[index]); PDstandard13gyy = PDstandardfdOrder613(&gyy[index]); PDstandard23gyy = PDstandardfdOrder623(&gyy[index]); PDstandard1gyz = PDstandardfdOrder61(&gyz[index]); PDstandard2gyz = PDstandardfdOrder62(&gyz[index]); PDstandard3gyz = PDstandardfdOrder63(&gyz[index]); PDstandard11gyz = PDstandardfdOrder611(&gyz[index]); PDstandard22gyz = PDstandardfdOrder622(&gyz[index]); PDstandard33gyz = PDstandardfdOrder633(&gyz[index]); PDstandard12gyz = PDstandardfdOrder612(&gyz[index]); PDstandard13gyz = PDstandardfdOrder613(&gyz[index]); PDstandard23gyz = PDstandardfdOrder623(&gyz[index]); PDstandard1gzz = PDstandardfdOrder61(&gzz[index]); PDstandard2gzz = PDstandardfdOrder62(&gzz[index]); PDstandard3gzz = PDstandardfdOrder63(&gzz[index]); PDstandard11gzz = PDstandardfdOrder611(&gzz[index]); PDstandard22gzz = PDstandardfdOrder622(&gzz[index]); PDstandard33gzz = PDstandardfdOrder633(&gzz[index]); PDstandard12gzz = PDstandardfdOrder612(&gzz[index]); PDstandard13gzz = PDstandardfdOrder613(&gzz[index]); PDstandard23gzz = PDstandardfdOrder623(&gzz[index]); PDstandard1kxx = PDstandardfdOrder61(&kxx[index]); PDstandard2kxx = PDstandardfdOrder62(&kxx[index]); PDstandard3kxx = PDstandardfdOrder63(&kxx[index]); PDstandard1kxy = PDstandardfdOrder61(&kxy[index]); PDstandard2kxy = PDstandardfdOrder62(&kxy[index]); PDstandard3kxy = PDstandardfdOrder63(&kxy[index]); PDstandard1kxz = PDstandardfdOrder61(&kxz[index]); PDstandard2kxz = PDstandardfdOrder62(&kxz[index]); PDstandard3kxz = PDstandardfdOrder63(&kxz[index]); PDstandard1kyy = PDstandardfdOrder61(&kyy[index]); PDstandard2kyy = PDstandardfdOrder62(&kyy[index]); PDstandard3kyy = PDstandardfdOrder63(&kyy[index]); PDstandard1kyz = PDstandardfdOrder61(&kyz[index]); PDstandard2kyz = PDstandardfdOrder62(&kyz[index]); PDstandard3kyz = PDstandardfdOrder63(&kyz[index]); PDstandard1kzz = PDstandardfdOrder61(&kzz[index]); PDstandard2kzz = PDstandardfdOrder62(&kzz[index]); PDstandard3kzz = PDstandardfdOrder63(&kzz[index]); break; case 8: PDstandard1gxx = PDstandardfdOrder81(&gxx[index]); PDstandard2gxx = PDstandardfdOrder82(&gxx[index]); PDstandard3gxx = PDstandardfdOrder83(&gxx[index]); PDstandard11gxx = PDstandardfdOrder811(&gxx[index]); PDstandard22gxx = PDstandardfdOrder822(&gxx[index]); PDstandard33gxx = PDstandardfdOrder833(&gxx[index]); PDstandard12gxx = PDstandardfdOrder812(&gxx[index]); PDstandard13gxx = PDstandardfdOrder813(&gxx[index]); PDstandard23gxx = PDstandardfdOrder823(&gxx[index]); PDstandard1gxy = PDstandardfdOrder81(&gxy[index]); PDstandard2gxy = PDstandardfdOrder82(&gxy[index]); PDstandard3gxy = PDstandardfdOrder83(&gxy[index]); PDstandard11gxy = PDstandardfdOrder811(&gxy[index]); PDstandard22gxy = PDstandardfdOrder822(&gxy[index]); PDstandard33gxy = PDstandardfdOrder833(&gxy[index]); PDstandard12gxy = PDstandardfdOrder812(&gxy[index]); PDstandard13gxy = PDstandardfdOrder813(&gxy[index]); PDstandard23gxy = PDstandardfdOrder823(&gxy[index]); PDstandard1gxz = PDstandardfdOrder81(&gxz[index]); PDstandard2gxz = PDstandardfdOrder82(&gxz[index]); PDstandard3gxz = PDstandardfdOrder83(&gxz[index]); PDstandard11gxz = PDstandardfdOrder811(&gxz[index]); PDstandard22gxz = PDstandardfdOrder822(&gxz[index]); PDstandard33gxz = PDstandardfdOrder833(&gxz[index]); PDstandard12gxz = PDstandardfdOrder812(&gxz[index]); PDstandard13gxz = PDstandardfdOrder813(&gxz[index]); PDstandard23gxz = PDstandardfdOrder823(&gxz[index]); PDstandard1gyy = PDstandardfdOrder81(&gyy[index]); PDstandard2gyy = PDstandardfdOrder82(&gyy[index]); PDstandard3gyy = PDstandardfdOrder83(&gyy[index]); PDstandard11gyy = PDstandardfdOrder811(&gyy[index]); PDstandard22gyy = PDstandardfdOrder822(&gyy[index]); PDstandard33gyy = PDstandardfdOrder833(&gyy[index]); PDstandard12gyy = PDstandardfdOrder812(&gyy[index]); PDstandard13gyy = PDstandardfdOrder813(&gyy[index]); PDstandard23gyy = PDstandardfdOrder823(&gyy[index]); PDstandard1gyz = PDstandardfdOrder81(&gyz[index]); PDstandard2gyz = PDstandardfdOrder82(&gyz[index]); PDstandard3gyz = PDstandardfdOrder83(&gyz[index]); PDstandard11gyz = PDstandardfdOrder811(&gyz[index]); PDstandard22gyz = PDstandardfdOrder822(&gyz[index]); PDstandard33gyz = PDstandardfdOrder833(&gyz[index]); PDstandard12gyz = PDstandardfdOrder812(&gyz[index]); PDstandard13gyz = PDstandardfdOrder813(&gyz[index]); PDstandard23gyz = PDstandardfdOrder823(&gyz[index]); PDstandard1gzz = PDstandardfdOrder81(&gzz[index]); PDstandard2gzz = PDstandardfdOrder82(&gzz[index]); PDstandard3gzz = PDstandardfdOrder83(&gzz[index]); PDstandard11gzz = PDstandardfdOrder811(&gzz[index]); PDstandard22gzz = PDstandardfdOrder822(&gzz[index]); PDstandard33gzz = PDstandardfdOrder833(&gzz[index]); PDstandard12gzz = PDstandardfdOrder812(&gzz[index]); PDstandard13gzz = PDstandardfdOrder813(&gzz[index]); PDstandard23gzz = PDstandardfdOrder823(&gzz[index]); PDstandard1kxx = PDstandardfdOrder81(&kxx[index]); PDstandard2kxx = PDstandardfdOrder82(&kxx[index]); PDstandard3kxx = PDstandardfdOrder83(&kxx[index]); PDstandard1kxy = PDstandardfdOrder81(&kxy[index]); PDstandard2kxy = PDstandardfdOrder82(&kxy[index]); PDstandard3kxy = PDstandardfdOrder83(&kxy[index]); PDstandard1kxz = PDstandardfdOrder81(&kxz[index]); PDstandard2kxz = PDstandardfdOrder82(&kxz[index]); PDstandard3kxz = PDstandardfdOrder83(&kxz[index]); PDstandard1kyy = PDstandardfdOrder81(&kyy[index]); PDstandard2kyy = PDstandardfdOrder82(&kyy[index]); PDstandard3kyy = PDstandardfdOrder83(&kyy[index]); PDstandard1kyz = PDstandardfdOrder81(&kyz[index]); PDstandard2kyz = PDstandardfdOrder82(&kyz[index]); PDstandard3kyz = PDstandardfdOrder83(&kyz[index]); PDstandard1kzz = PDstandardfdOrder81(&kzz[index]); PDstandard2kzz = PDstandardfdOrder82(&kzz[index]); PDstandard3kzz = PDstandardfdOrder83(&kzz[index]); break; } /* Calculate temporaries and grid functions */ CCTK_REAL_VEC JacPDstandard11gyy CCTK_ATTRIBUTE_UNUSED ; CCTK_REAL_VEC JacPDstandard11gyz CCTK_ATTRIBUTE_UNUSED ; CCTK_REAL_VEC JacPDstandard11gzz CCTK_ATTRIBUTE_UNUSED ; CCTK_REAL_VEC JacPDstandard12gxy CCTK_ATTRIBUTE_UNUSED ; CCTK_REAL_VEC JacPDstandard12gxz CCTK_ATTRIBUTE_UNUSED ; CCTK_REAL_VEC JacPDstandard12gyz CCTK_ATTRIBUTE_UNUSED ; CCTK_REAL_VEC JacPDstandard12gzz CCTK_ATTRIBUTE_UNUSED ; CCTK_REAL_VEC JacPDstandard13gxz CCTK_ATTRIBUTE_UNUSED ; CCTK_REAL_VEC JacPDstandard1gxx CCTK_ATTRIBUTE_UNUSED ; CCTK_REAL_VEC JacPDstandard1gxy CCTK_ATTRIBUTE_UNUSED ; CCTK_REAL_VEC JacPDstandard1gxz CCTK_ATTRIBUTE_UNUSED ; CCTK_REAL_VEC JacPDstandard1gyy CCTK_ATTRIBUTE_UNUSED ; CCTK_REAL_VEC JacPDstandard1gyz CCTK_ATTRIBUTE_UNUSED ; CCTK_REAL_VEC JacPDstandard1gzz CCTK_ATTRIBUTE_UNUSED ; CCTK_REAL_VEC JacPDstandard1kxy CCTK_ATTRIBUTE_UNUSED ; CCTK_REAL_VEC JacPDstandard1kxz CCTK_ATTRIBUTE_UNUSED ; CCTK_REAL_VEC JacPDstandard1kyy CCTK_ATTRIBUTE_UNUSED ; CCTK_REAL_VEC JacPDstandard1kyz CCTK_ATTRIBUTE_UNUSED ; CCTK_REAL_VEC JacPDstandard1kzz CCTK_ATTRIBUTE_UNUSED ; CCTK_REAL_VEC JacPDstandard21gxy CCTK_ATTRIBUTE_UNUSED ; CCTK_REAL_VEC JacPDstandard22gxx CCTK_ATTRIBUTE_UNUSED ; CCTK_REAL_VEC JacPDstandard22gxz CCTK_ATTRIBUTE_UNUSED ; CCTK_REAL_VEC JacPDstandard22gzz CCTK_ATTRIBUTE_UNUSED ; CCTK_REAL_VEC JacPDstandard23gxx CCTK_ATTRIBUTE_UNUSED ; CCTK_REAL_VEC JacPDstandard23gxy CCTK_ATTRIBUTE_UNUSED ; CCTK_REAL_VEC JacPDstandard23gxz CCTK_ATTRIBUTE_UNUSED ; CCTK_REAL_VEC JacPDstandard23gyz CCTK_ATTRIBUTE_UNUSED ; CCTK_REAL_VEC JacPDstandard2gxx CCTK_ATTRIBUTE_UNUSED ; CCTK_REAL_VEC JacPDstandard2gxy CCTK_ATTRIBUTE_UNUSED ; CCTK_REAL_VEC JacPDstandard2gxz CCTK_ATTRIBUTE_UNUSED ; CCTK_REAL_VEC JacPDstandard2gyy CCTK_ATTRIBUTE_UNUSED ; CCTK_REAL_VEC JacPDstandard2gyz CCTK_ATTRIBUTE_UNUSED ; CCTK_REAL_VEC JacPDstandard2gzz CCTK_ATTRIBUTE_UNUSED ; CCTK_REAL_VEC JacPDstandard2kxx CCTK_ATTRIBUTE_UNUSED ; CCTK_REAL_VEC JacPDstandard2kxy CCTK_ATTRIBUTE_UNUSED ; CCTK_REAL_VEC JacPDstandard2kxz CCTK_ATTRIBUTE_UNUSED ; CCTK_REAL_VEC JacPDstandard2kyz CCTK_ATTRIBUTE_UNUSED ; CCTK_REAL_VEC JacPDstandard2kzz CCTK_ATTRIBUTE_UNUSED ; CCTK_REAL_VEC JacPDstandard31gxy CCTK_ATTRIBUTE_UNUSED ; CCTK_REAL_VEC JacPDstandard31gxz CCTK_ATTRIBUTE_UNUSED ; CCTK_REAL_VEC JacPDstandard31gyy CCTK_ATTRIBUTE_UNUSED ; CCTK_REAL_VEC JacPDstandard31gyz CCTK_ATTRIBUTE_UNUSED ; CCTK_REAL_VEC JacPDstandard32gyz CCTK_ATTRIBUTE_UNUSED ; CCTK_REAL_VEC JacPDstandard33gxx CCTK_ATTRIBUTE_UNUSED ; CCTK_REAL_VEC JacPDstandard33gxy CCTK_ATTRIBUTE_UNUSED ; CCTK_REAL_VEC JacPDstandard33gyy CCTK_ATTRIBUTE_UNUSED ; CCTK_REAL_VEC JacPDstandard3gxx CCTK_ATTRIBUTE_UNUSED ; CCTK_REAL_VEC JacPDstandard3gxy CCTK_ATTRIBUTE_UNUSED ; CCTK_REAL_VEC JacPDstandard3gxz CCTK_ATTRIBUTE_UNUSED ; CCTK_REAL_VEC JacPDstandard3gyy CCTK_ATTRIBUTE_UNUSED ; CCTK_REAL_VEC JacPDstandard3gyz CCTK_ATTRIBUTE_UNUSED ; CCTK_REAL_VEC JacPDstandard3gzz CCTK_ATTRIBUTE_UNUSED ; CCTK_REAL_VEC JacPDstandard3kxx CCTK_ATTRIBUTE_UNUSED ; CCTK_REAL_VEC JacPDstandard3kxy CCTK_ATTRIBUTE_UNUSED ; CCTK_REAL_VEC JacPDstandard3kxz CCTK_ATTRIBUTE_UNUSED ; CCTK_REAL_VEC JacPDstandard3kyy CCTK_ATTRIBUTE_UNUSED ; CCTK_REAL_VEC JacPDstandard3kyz CCTK_ATTRIBUTE_UNUSED ; if (use_jacobian) { JacPDstandard1gxx = kmadd(J11L,PDstandard1gxx,kmadd(J21L,PDstandard2gxx,kmul(J31L,PDstandard3gxx))); JacPDstandard1gxy = kmadd(J11L,PDstandard1gxy,kmadd(J21L,PDstandard2gxy,kmul(J31L,PDstandard3gxy))); JacPDstandard1gxz = kmadd(J11L,PDstandard1gxz,kmadd(J21L,PDstandard2gxz,kmul(J31L,PDstandard3gxz))); JacPDstandard1gyy = kmadd(J11L,PDstandard1gyy,kmadd(J21L,PDstandard2gyy,kmul(J31L,PDstandard3gyy))); JacPDstandard1gyz = kmadd(J11L,PDstandard1gyz,kmadd(J21L,PDstandard2gyz,kmul(J31L,PDstandard3gyz))); JacPDstandard1gzz = kmadd(J11L,PDstandard1gzz,kmadd(J21L,PDstandard2gzz,kmul(J31L,PDstandard3gzz))); JacPDstandard1kxy = kmadd(J11L,PDstandard1kxy,kmadd(J21L,PDstandard2kxy,kmul(J31L,PDstandard3kxy))); JacPDstandard1kxz = kmadd(J11L,PDstandard1kxz,kmadd(J21L,PDstandard2kxz,kmul(J31L,PDstandard3kxz))); JacPDstandard1kyy = kmadd(J11L,PDstandard1kyy,kmadd(J21L,PDstandard2kyy,kmul(J31L,PDstandard3kyy))); JacPDstandard1kyz = kmadd(J11L,PDstandard1kyz,kmadd(J21L,PDstandard2kyz,kmul(J31L,PDstandard3kyz))); JacPDstandard1kzz = kmadd(J11L,PDstandard1kzz,kmadd(J21L,PDstandard2kzz,kmul(J31L,PDstandard3kzz))); JacPDstandard2gxx = kmadd(J12L,PDstandard1gxx,kmadd(J22L,PDstandard2gxx,kmul(J32L,PDstandard3gxx))); JacPDstandard2gxy = kmadd(J12L,PDstandard1gxy,kmadd(J22L,PDstandard2gxy,kmul(J32L,PDstandard3gxy))); JacPDstandard2gxz = kmadd(J12L,PDstandard1gxz,kmadd(J22L,PDstandard2gxz,kmul(J32L,PDstandard3gxz))); JacPDstandard2gyy = kmadd(J12L,PDstandard1gyy,kmadd(J22L,PDstandard2gyy,kmul(J32L,PDstandard3gyy))); JacPDstandard2gyz = kmadd(J12L,PDstandard1gyz,kmadd(J22L,PDstandard2gyz,kmul(J32L,PDstandard3gyz))); JacPDstandard2gzz = kmadd(J12L,PDstandard1gzz,kmadd(J22L,PDstandard2gzz,kmul(J32L,PDstandard3gzz))); JacPDstandard2kxx = kmadd(J12L,PDstandard1kxx,kmadd(J22L,PDstandard2kxx,kmul(J32L,PDstandard3kxx))); JacPDstandard2kxy = kmadd(J12L,PDstandard1kxy,kmadd(J22L,PDstandard2kxy,kmul(J32L,PDstandard3kxy))); JacPDstandard2kxz = kmadd(J12L,PDstandard1kxz,kmadd(J22L,PDstandard2kxz,kmul(J32L,PDstandard3kxz))); JacPDstandard2kyz = kmadd(J12L,PDstandard1kyz,kmadd(J22L,PDstandard2kyz,kmul(J32L,PDstandard3kyz))); JacPDstandard2kzz = kmadd(J12L,PDstandard1kzz,kmadd(J22L,PDstandard2kzz,kmul(J32L,PDstandard3kzz))); JacPDstandard3gxx = kmadd(J13L,PDstandard1gxx,kmadd(J23L,PDstandard2gxx,kmul(J33L,PDstandard3gxx))); JacPDstandard3gxy = kmadd(J13L,PDstandard1gxy,kmadd(J23L,PDstandard2gxy,kmul(J33L,PDstandard3gxy))); JacPDstandard3gxz = kmadd(J13L,PDstandard1gxz,kmadd(J23L,PDstandard2gxz,kmul(J33L,PDstandard3gxz))); JacPDstandard3gyy = kmadd(J13L,PDstandard1gyy,kmadd(J23L,PDstandard2gyy,kmul(J33L,PDstandard3gyy))); JacPDstandard3gyz = kmadd(J13L,PDstandard1gyz,kmadd(J23L,PDstandard2gyz,kmul(J33L,PDstandard3gyz))); JacPDstandard3gzz = kmadd(J13L,PDstandard1gzz,kmadd(J23L,PDstandard2gzz,kmul(J33L,PDstandard3gzz))); JacPDstandard3kxx = kmadd(J13L,PDstandard1kxx,kmadd(J23L,PDstandard2kxx,kmul(J33L,PDstandard3kxx))); JacPDstandard3kxy = kmadd(J13L,PDstandard1kxy,kmadd(J23L,PDstandard2kxy,kmul(J33L,PDstandard3kxy))); JacPDstandard3kxz = kmadd(J13L,PDstandard1kxz,kmadd(J23L,PDstandard2kxz,kmul(J33L,PDstandard3kxz))); JacPDstandard3kyy = kmadd(J13L,PDstandard1kyy,kmadd(J23L,PDstandard2kyy,kmul(J33L,PDstandard3kyy))); JacPDstandard3kyz = kmadd(J13L,PDstandard1kyz,kmadd(J23L,PDstandard2kyz,kmul(J33L,PDstandard3kyz))); JacPDstandard11gyy = kmadd(dJ111L,PDstandard1gyy,kmadd(dJ211L,PDstandard2gyy,kmadd(dJ311L,PDstandard3gyy,kmadd(PDstandard11gyy,kmul(J11L,J11L),kmadd(PDstandard22gyy,kmul(J21L,J21L),kmadd(PDstandard33gyy,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandard12gyy,kmul(J31L,PDstandard13gyy)),kmul(J21L,kmul(J31L,PDstandard23gyy))),ToReal(2)))))))); JacPDstandard11gyz = kmadd(dJ111L,PDstandard1gyz,kmadd(dJ211L,PDstandard2gyz,kmadd(dJ311L,PDstandard3gyz,kmadd(PDstandard11gyz,kmul(J11L,J11L),kmadd(PDstandard22gyz,kmul(J21L,J21L),kmadd(PDstandard33gyz,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandard12gyz,kmul(J31L,PDstandard13gyz)),kmul(J21L,kmul(J31L,PDstandard23gyz))),ToReal(2)))))))); JacPDstandard11gzz = kmadd(dJ111L,PDstandard1gzz,kmadd(dJ211L,PDstandard2gzz,kmadd(dJ311L,PDstandard3gzz,kmadd(PDstandard11gzz,kmul(J11L,J11L),kmadd(PDstandard22gzz,kmul(J21L,J21L),kmadd(PDstandard33gzz,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandard12gzz,kmul(J31L,PDstandard13gzz)),kmul(J21L,kmul(J31L,PDstandard23gzz))),ToReal(2)))))))); JacPDstandard22gxx = kmadd(dJ122L,PDstandard1gxx,kmadd(dJ222L,PDstandard2gxx,kmadd(dJ322L,PDstandard3gxx,kmadd(PDstandard11gxx,kmul(J12L,J12L),kmadd(PDstandard22gxx,kmul(J22L,J22L),kmadd(PDstandard33gxx,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandard12gxx,kmul(J32L,PDstandard13gxx)),kmul(J22L,kmul(J32L,PDstandard23gxx))),ToReal(2)))))))); JacPDstandard22gxz = kmadd(dJ122L,PDstandard1gxz,kmadd(dJ222L,PDstandard2gxz,kmadd(dJ322L,PDstandard3gxz,kmadd(PDstandard11gxz,kmul(J12L,J12L),kmadd(PDstandard22gxz,kmul(J22L,J22L),kmadd(PDstandard33gxz,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandard12gxz,kmul(J32L,PDstandard13gxz)),kmul(J22L,kmul(J32L,PDstandard23gxz))),ToReal(2)))))))); JacPDstandard22gzz = kmadd(dJ122L,PDstandard1gzz,kmadd(dJ222L,PDstandard2gzz,kmadd(dJ322L,PDstandard3gzz,kmadd(PDstandard11gzz,kmul(J12L,J12L),kmadd(PDstandard22gzz,kmul(J22L,J22L),kmadd(PDstandard33gzz,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandard12gzz,kmul(J32L,PDstandard13gzz)),kmul(J22L,kmul(J32L,PDstandard23gzz))),ToReal(2)))))))); JacPDstandard33gxx = kmadd(dJ133L,PDstandard1gxx,kmadd(dJ233L,PDstandard2gxx,kmadd(dJ333L,PDstandard3gxx,kmadd(PDstandard11gxx,kmul(J13L,J13L),kmadd(PDstandard22gxx,kmul(J23L,J23L),kmadd(PDstandard33gxx,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandard12gxx,kmul(J33L,PDstandard13gxx)),kmul(J23L,kmul(J33L,PDstandard23gxx))),ToReal(2)))))))); JacPDstandard33gxy = kmadd(dJ133L,PDstandard1gxy,kmadd(dJ233L,PDstandard2gxy,kmadd(dJ333L,PDstandard3gxy,kmadd(PDstandard11gxy,kmul(J13L,J13L),kmadd(PDstandard22gxy,kmul(J23L,J23L),kmadd(PDstandard33gxy,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandard12gxy,kmul(J33L,PDstandard13gxy)),kmul(J23L,kmul(J33L,PDstandard23gxy))),ToReal(2)))))))); JacPDstandard33gyy = kmadd(dJ133L,PDstandard1gyy,kmadd(dJ233L,PDstandard2gyy,kmadd(dJ333L,PDstandard3gyy,kmadd(PDstandard11gyy,kmul(J13L,J13L),kmadd(PDstandard22gyy,kmul(J23L,J23L),kmadd(PDstandard33gyy,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandard12gyy,kmul(J33L,PDstandard13gyy)),kmul(J23L,kmul(J33L,PDstandard23gyy))),ToReal(2)))))))); JacPDstandard12gxy = kmadd(J12L,kmadd(J11L,PDstandard11gxy,kmadd(J21L,PDstandard12gxy,kmul(J31L,PDstandard13gxy))),kmadd(J11L,kmadd(J22L,PDstandard12gxy,kmul(J32L,PDstandard13gxy)),kmadd(dJ112L,PDstandard1gxy,kmadd(J22L,kmadd(J21L,PDstandard22gxy,kmul(J31L,PDstandard23gxy)),kmadd(dJ212L,PDstandard2gxy,kmadd(J32L,kmadd(J21L,PDstandard23gxy,kmul(J31L,PDstandard33gxy)),kmul(dJ312L,PDstandard3gxy))))))); JacPDstandard12gxz = kmadd(J12L,kmadd(J11L,PDstandard11gxz,kmadd(J21L,PDstandard12gxz,kmul(J31L,PDstandard13gxz))),kmadd(J11L,kmadd(J22L,PDstandard12gxz,kmul(J32L,PDstandard13gxz)),kmadd(dJ112L,PDstandard1gxz,kmadd(J22L,kmadd(J21L,PDstandard22gxz,kmul(J31L,PDstandard23gxz)),kmadd(dJ212L,PDstandard2gxz,kmadd(J32L,kmadd(J21L,PDstandard23gxz,kmul(J31L,PDstandard33gxz)),kmul(dJ312L,PDstandard3gxz))))))); JacPDstandard12gyz = kmadd(J12L,kmadd(J11L,PDstandard11gyz,kmadd(J21L,PDstandard12gyz,kmul(J31L,PDstandard13gyz))),kmadd(J11L,kmadd(J22L,PDstandard12gyz,kmul(J32L,PDstandard13gyz)),kmadd(dJ112L,PDstandard1gyz,kmadd(J22L,kmadd(J21L,PDstandard22gyz,kmul(J31L,PDstandard23gyz)),kmadd(dJ212L,PDstandard2gyz,kmadd(J32L,kmadd(J21L,PDstandard23gyz,kmul(J31L,PDstandard33gyz)),kmul(dJ312L,PDstandard3gyz))))))); JacPDstandard12gzz = kmadd(J12L,kmadd(J11L,PDstandard11gzz,kmadd(J21L,PDstandard12gzz,kmul(J31L,PDstandard13gzz))),kmadd(J11L,kmadd(J22L,PDstandard12gzz,kmul(J32L,PDstandard13gzz)),kmadd(dJ112L,PDstandard1gzz,kmadd(J22L,kmadd(J21L,PDstandard22gzz,kmul(J31L,PDstandard23gzz)),kmadd(dJ212L,PDstandard2gzz,kmadd(J32L,kmadd(J21L,PDstandard23gzz,kmul(J31L,PDstandard33gzz)),kmul(dJ312L,PDstandard3gzz))))))); JacPDstandard13gxz = kmadd(J13L,kmadd(J11L,PDstandard11gxz,kmadd(J21L,PDstandard12gxz,kmul(J31L,PDstandard13gxz))),kmadd(J11L,kmadd(J23L,PDstandard12gxz,kmul(J33L,PDstandard13gxz)),kmadd(dJ113L,PDstandard1gxz,kmadd(J23L,kmadd(J21L,PDstandard22gxz,kmul(J31L,PDstandard23gxz)),kmadd(dJ213L,PDstandard2gxz,kmadd(J33L,kmadd(J21L,PDstandard23gxz,kmul(J31L,PDstandard33gxz)),kmul(dJ313L,PDstandard3gxz))))))); JacPDstandard21gxy = kmadd(J12L,kmadd(J11L,PDstandard11gxy,kmadd(J21L,PDstandard12gxy,kmul(J31L,PDstandard13gxy))),kmadd(J11L,kmadd(J22L,PDstandard12gxy,kmul(J32L,PDstandard13gxy)),kmadd(dJ112L,PDstandard1gxy,kmadd(J22L,kmadd(J21L,PDstandard22gxy,kmul(J31L,PDstandard23gxy)),kmadd(dJ212L,PDstandard2gxy,kmadd(J32L,kmadd(J21L,PDstandard23gxy,kmul(J31L,PDstandard33gxy)),kmul(dJ312L,PDstandard3gxy))))))); JacPDstandard23gxx = kmadd(J13L,kmadd(J12L,PDstandard11gxx,kmadd(J22L,PDstandard12gxx,kmul(J32L,PDstandard13gxx))),kmadd(J12L,kmadd(J23L,PDstandard12gxx,kmul(J33L,PDstandard13gxx)),kmadd(dJ123L,PDstandard1gxx,kmadd(J23L,kmadd(J22L,PDstandard22gxx,kmul(J32L,PDstandard23gxx)),kmadd(dJ223L,PDstandard2gxx,kmadd(J33L,kmadd(J22L,PDstandard23gxx,kmul(J32L,PDstandard33gxx)),kmul(dJ323L,PDstandard3gxx))))))); JacPDstandard23gxy = kmadd(J13L,kmadd(J12L,PDstandard11gxy,kmadd(J22L,PDstandard12gxy,kmul(J32L,PDstandard13gxy))),kmadd(J12L,kmadd(J23L,PDstandard12gxy,kmul(J33L,PDstandard13gxy)),kmadd(dJ123L,PDstandard1gxy,kmadd(J23L,kmadd(J22L,PDstandard22gxy,kmul(J32L,PDstandard23gxy)),kmadd(dJ223L,PDstandard2gxy,kmadd(J33L,kmadd(J22L,PDstandard23gxy,kmul(J32L,PDstandard33gxy)),kmul(dJ323L,PDstandard3gxy))))))); JacPDstandard23gxz = kmadd(J13L,kmadd(J12L,PDstandard11gxz,kmadd(J22L,PDstandard12gxz,kmul(J32L,PDstandard13gxz))),kmadd(J12L,kmadd(J23L,PDstandard12gxz,kmul(J33L,PDstandard13gxz)),kmadd(dJ123L,PDstandard1gxz,kmadd(J23L,kmadd(J22L,PDstandard22gxz,kmul(J32L,PDstandard23gxz)),kmadd(dJ223L,PDstandard2gxz,kmadd(J33L,kmadd(J22L,PDstandard23gxz,kmul(J32L,PDstandard33gxz)),kmul(dJ323L,PDstandard3gxz))))))); JacPDstandard23gyz = kmadd(J13L,kmadd(J12L,PDstandard11gyz,kmadd(J22L,PDstandard12gyz,kmul(J32L,PDstandard13gyz))),kmadd(J12L,kmadd(J23L,PDstandard12gyz,kmul(J33L,PDstandard13gyz)),kmadd(dJ123L,PDstandard1gyz,kmadd(J23L,kmadd(J22L,PDstandard22gyz,kmul(J32L,PDstandard23gyz)),kmadd(dJ223L,PDstandard2gyz,kmadd(J33L,kmadd(J22L,PDstandard23gyz,kmul(J32L,PDstandard33gyz)),kmul(dJ323L,PDstandard3gyz))))))); JacPDstandard31gxy = kmadd(J13L,kmadd(J11L,PDstandard11gxy,kmadd(J21L,PDstandard12gxy,kmul(J31L,PDstandard13gxy))),kmadd(J11L,kmadd(J23L,PDstandard12gxy,kmul(J33L,PDstandard13gxy)),kmadd(dJ113L,PDstandard1gxy,kmadd(J23L,kmadd(J21L,PDstandard22gxy,kmul(J31L,PDstandard23gxy)),kmadd(dJ213L,PDstandard2gxy,kmadd(J33L,kmadd(J21L,PDstandard23gxy,kmul(J31L,PDstandard33gxy)),kmul(dJ313L,PDstandard3gxy))))))); JacPDstandard31gxz = kmadd(J13L,kmadd(J11L,PDstandard11gxz,kmadd(J21L,PDstandard12gxz,kmul(J31L,PDstandard13gxz))),kmadd(J11L,kmadd(J23L,PDstandard12gxz,kmul(J33L,PDstandard13gxz)),kmadd(dJ113L,PDstandard1gxz,kmadd(J23L,kmadd(J21L,PDstandard22gxz,kmul(J31L,PDstandard23gxz)),kmadd(dJ213L,PDstandard2gxz,kmadd(J33L,kmadd(J21L,PDstandard23gxz,kmul(J31L,PDstandard33gxz)),kmul(dJ313L,PDstandard3gxz))))))); JacPDstandard31gyy = kmadd(J13L,kmadd(J11L,PDstandard11gyy,kmadd(J21L,PDstandard12gyy,kmul(J31L,PDstandard13gyy))),kmadd(J11L,kmadd(J23L,PDstandard12gyy,kmul(J33L,PDstandard13gyy)),kmadd(dJ113L,PDstandard1gyy,kmadd(J23L,kmadd(J21L,PDstandard22gyy,kmul(J31L,PDstandard23gyy)),kmadd(dJ213L,PDstandard2gyy,kmadd(J33L,kmadd(J21L,PDstandard23gyy,kmul(J31L,PDstandard33gyy)),kmul(dJ313L,PDstandard3gyy))))))); JacPDstandard31gyz = kmadd(J13L,kmadd(J11L,PDstandard11gyz,kmadd(J21L,PDstandard12gyz,kmul(J31L,PDstandard13gyz))),kmadd(J11L,kmadd(J23L,PDstandard12gyz,kmul(J33L,PDstandard13gyz)),kmadd(dJ113L,PDstandard1gyz,kmadd(J23L,kmadd(J21L,PDstandard22gyz,kmul(J31L,PDstandard23gyz)),kmadd(dJ213L,PDstandard2gyz,kmadd(J33L,kmadd(J21L,PDstandard23gyz,kmul(J31L,PDstandard33gyz)),kmul(dJ313L,PDstandard3gyz))))))); JacPDstandard32gyz = kmadd(J13L,kmadd(J12L,PDstandard11gyz,kmadd(J22L,PDstandard12gyz,kmul(J32L,PDstandard13gyz))),kmadd(J12L,kmadd(J23L,PDstandard12gyz,kmul(J33L,PDstandard13gyz)),kmadd(dJ123L,PDstandard1gyz,kmadd(J23L,kmadd(J22L,PDstandard22gyz,kmul(J32L,PDstandard23gyz)),kmadd(dJ223L,PDstandard2gyz,kmadd(J33L,kmadd(J22L,PDstandard23gyz,kmul(J32L,PDstandard33gyz)),kmul(dJ323L,PDstandard3gyz))))))); } else { JacPDstandard1gxx = PDstandard1gxx; JacPDstandard1gxy = PDstandard1gxy; JacPDstandard1gxz = PDstandard1gxz; JacPDstandard1gyy = PDstandard1gyy; JacPDstandard1gyz = PDstandard1gyz; JacPDstandard1gzz = PDstandard1gzz; JacPDstandard1kxy = PDstandard1kxy; JacPDstandard1kxz = PDstandard1kxz; JacPDstandard1kyy = PDstandard1kyy; JacPDstandard1kyz = PDstandard1kyz; JacPDstandard1kzz = PDstandard1kzz; JacPDstandard2gxx = PDstandard2gxx; JacPDstandard2gxy = PDstandard2gxy; JacPDstandard2gxz = PDstandard2gxz; JacPDstandard2gyy = PDstandard2gyy; JacPDstandard2gyz = PDstandard2gyz; JacPDstandard2gzz = PDstandard2gzz; JacPDstandard2kxx = PDstandard2kxx; JacPDstandard2kxy = PDstandard2kxy; JacPDstandard2kxz = PDstandard2kxz; JacPDstandard2kyz = PDstandard2kyz; JacPDstandard2kzz = PDstandard2kzz; JacPDstandard3gxx = PDstandard3gxx; JacPDstandard3gxy = PDstandard3gxy; JacPDstandard3gxz = PDstandard3gxz; JacPDstandard3gyy = PDstandard3gyy; JacPDstandard3gyz = PDstandard3gyz; JacPDstandard3gzz = PDstandard3gzz; JacPDstandard3kxx = PDstandard3kxx; JacPDstandard3kxy = PDstandard3kxy; JacPDstandard3kxz = PDstandard3kxz; JacPDstandard3kyy = PDstandard3kyy; JacPDstandard3kyz = PDstandard3kyz; JacPDstandard11gyy = PDstandard11gyy; JacPDstandard11gyz = PDstandard11gyz; JacPDstandard11gzz = PDstandard11gzz; JacPDstandard22gxx = PDstandard22gxx; JacPDstandard22gxz = PDstandard22gxz; JacPDstandard22gzz = PDstandard22gzz; JacPDstandard33gxx = PDstandard33gxx; JacPDstandard33gxy = PDstandard33gxy; JacPDstandard33gyy = PDstandard33gyy; JacPDstandard12gxy = PDstandard12gxy; JacPDstandard12gxz = PDstandard12gxz; JacPDstandard12gyz = PDstandard12gyz; JacPDstandard12gzz = PDstandard12gzz; JacPDstandard13gxz = PDstandard13gxz; JacPDstandard21gxy = PDstandard12gxy; JacPDstandard23gxx = PDstandard23gxx; JacPDstandard23gxy = PDstandard23gxy; JacPDstandard23gxz = PDstandard23gxz; JacPDstandard23gyz = PDstandard23gyz; JacPDstandard31gxy = PDstandard13gxy; JacPDstandard31gxz = PDstandard13gxz; JacPDstandard31gyy = PDstandard13gyy; JacPDstandard31gyz = PDstandard13gyz; JacPDstandard32gyz = PDstandard23gyz; } CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED detg = knmsub(gyyL,kmul(gxzL,gxzL),knmsub(gxxL,kmul(gyzL,gyzL),kmadd(gzzL,kmsub(gxxL,gyyL,kmul(gxyL,gxyL)),kmul(gxyL,kmul(gxzL,kmul(gyzL,ToReal(2))))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED invdetg = kdiv(ToReal(1),detg); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gInv11 = kmul(invdetg,kmsub(gyyL,gzzL,kmul(gyzL,gyzL))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gInv12 = kmul(invdetg,kmsub(gxzL,gyzL,kmul(gxyL,gzzL))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gInv13 = kmul(invdetg,kmsub(gxyL,gyzL,kmul(gxzL,gyyL))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gInv21 = kmul(invdetg,kmsub(gxzL,gyzL,kmul(gxyL,gzzL))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gInv22 = kmul(invdetg,kmsub(gxxL,gzzL,kmul(gxzL,gxzL))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gInv23 = kmul(invdetg,kmsub(gxyL,gxzL,kmul(gxxL,gyzL))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gInv31 = kmul(invdetg,kmsub(gxyL,gyzL,kmul(gxzL,gyyL))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gInv32 = kmul(invdetg,kmsub(gxyL,gxzL,kmul(gxxL,gyzL))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gInv33 = kmul(invdetg,kmsub(gxxL,gyyL,kmul(gxyL,gxyL))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gamma111 = kmul(ToReal(0.5),kmadd(gInv11,JacPDstandard1gxx,knmsub(gInv12,JacPDstandard2gxx,kmsub(kmadd(gInv12,JacPDstandard1gxy,kmul(gInv13,JacPDstandard1gxz)),ToReal(2),kmul(gInv13,JacPDstandard3gxx))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gamma211 = kmul(ToReal(0.5),kmadd(gInv21,JacPDstandard1gxx,knmsub(gInv22,JacPDstandard2gxx,kmsub(kmadd(gInv22,JacPDstandard1gxy,kmul(gInv23,JacPDstandard1gxz)),ToReal(2),kmul(gInv23,JacPDstandard3gxx))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gamma311 = kmul(ToReal(0.5),kmadd(gInv31,JacPDstandard1gxx,knmsub(gInv32,JacPDstandard2gxx,kmsub(kmadd(gInv32,JacPDstandard1gxy,kmul(gInv33,JacPDstandard1gxz)),ToReal(2),kmul(gInv33,JacPDstandard3gxx))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gamma121 = kmul(kmadd(gInv12,JacPDstandard1gyy,kmadd(gInv11,JacPDstandard2gxx,kmul(gInv13,kadd(JacPDstandard1gyz,ksub(JacPDstandard2gxz,JacPDstandard3gxy))))),ToReal(0.5)); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gamma221 = kmul(kmadd(gInv22,JacPDstandard1gyy,kmadd(gInv21,JacPDstandard2gxx,kmul(gInv23,kadd(JacPDstandard1gyz,ksub(JacPDstandard2gxz,JacPDstandard3gxy))))),ToReal(0.5)); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gamma321 = kmul(kmadd(gInv32,JacPDstandard1gyy,kmadd(gInv31,JacPDstandard2gxx,kmul(gInv33,kadd(JacPDstandard1gyz,ksub(JacPDstandard2gxz,JacPDstandard3gxy))))),ToReal(0.5)); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gamma131 = kmul(kmadd(gInv13,JacPDstandard1gzz,kmadd(gInv11,JacPDstandard3gxx,kmul(gInv12,kadd(JacPDstandard1gyz,ksub(JacPDstandard3gxy,JacPDstandard2gxz))))),ToReal(0.5)); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gamma231 = kmul(kmadd(gInv23,JacPDstandard1gzz,kmadd(gInv21,JacPDstandard3gxx,kmul(gInv22,kadd(JacPDstandard1gyz,ksub(JacPDstandard3gxy,JacPDstandard2gxz))))),ToReal(0.5)); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gamma331 = kmul(kmadd(gInv33,JacPDstandard1gzz,kmadd(gInv31,JacPDstandard3gxx,kmul(gInv32,kadd(JacPDstandard1gyz,ksub(JacPDstandard3gxy,JacPDstandard2gxz))))),ToReal(0.5)); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gamma122 = kmul(ToReal(0.5),kmadd(gInv12,JacPDstandard2gyy,kmadd(gInv11,kmsub(JacPDstandard2gxy,ToReal(2),JacPDstandard1gyy),kmul(gInv13,kmsub(JacPDstandard2gyz,ToReal(2),JacPDstandard3gyy))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gamma222 = kmul(ToReal(0.5),kmadd(gInv22,JacPDstandard2gyy,kmadd(gInv21,kmsub(JacPDstandard2gxy,ToReal(2),JacPDstandard1gyy),kmul(gInv23,kmsub(JacPDstandard2gyz,ToReal(2),JacPDstandard3gyy))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gamma322 = kmul(ToReal(0.5),kmadd(gInv32,JacPDstandard2gyy,kmadd(gInv31,kmsub(JacPDstandard2gxy,ToReal(2),JacPDstandard1gyy),kmul(gInv33,kmsub(JacPDstandard2gyz,ToReal(2),JacPDstandard3gyy))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gamma132 = kmul(kmadd(gInv13,JacPDstandard2gzz,kmadd(gInv12,JacPDstandard3gyy,kmul(gInv11,kadd(JacPDstandard2gxz,ksub(JacPDstandard3gxy,JacPDstandard1gyz))))),ToReal(0.5)); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gamma232 = kmul(kmadd(gInv23,JacPDstandard2gzz,kmadd(gInv22,JacPDstandard3gyy,kmul(gInv21,kadd(JacPDstandard2gxz,ksub(JacPDstandard3gxy,JacPDstandard1gyz))))),ToReal(0.5)); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gamma332 = kmul(kmadd(gInv33,JacPDstandard2gzz,kmadd(gInv32,JacPDstandard3gyy,kmul(gInv31,kadd(JacPDstandard2gxz,ksub(JacPDstandard3gxy,JacPDstandard1gyz))))),ToReal(0.5)); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gamma133 = kmul(ToReal(0.5),kmadd(gInv13,JacPDstandard3gzz,kmadd(gInv11,kmsub(JacPDstandard3gxz,ToReal(2),JacPDstandard1gzz),kmul(gInv12,kmsub(JacPDstandard3gyz,ToReal(2),JacPDstandard2gzz))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gamma233 = kmul(ToReal(0.5),kmadd(gInv23,JacPDstandard3gzz,kmadd(gInv21,kmsub(JacPDstandard3gxz,ToReal(2),JacPDstandard1gzz),kmul(gInv22,kmsub(JacPDstandard3gyz,ToReal(2),JacPDstandard2gzz))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gamma333 = kmul(ToReal(0.5),kmadd(gInv33,JacPDstandard3gzz,kmadd(gInv31,kmsub(JacPDstandard3gxz,ToReal(2),JacPDstandard1gzz),kmul(gInv32,kmsub(JacPDstandard3gyz,ToReal(2),JacPDstandard2gzz))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED xmoved = ksub(xL,ToReal(xorig)); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED ymoved = ksub(yL,ToReal(yorig)); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED zmoved = ksub(zL,ToReal(zorig)); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED va1 = kneg(ymoved); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED va2 = kadd(xmoved,ToReal(offset)); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED va3 = ToReal(0); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED vb1 = kadd(xmoved,ToReal(offset)); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED vb2 = ymoved; CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED vb3 = zmoved; CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED vc1 = kmul(ksqrt(detg),kmadd(vb3,kmsub(gInv11,va2,kmul(gInv12,va1)),kmadd(vb1,kmsub(gInv12,va3,kmul(gInv13,va2)),kmul(vb2,kmsub(gInv13,va1,kmul(gInv11,va3)))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED vc2 = kmul(ksqrt(detg),kmadd(vb3,kmsub(gInv21,va2,kmul(gInv22,va1)),kmadd(vb1,kmsub(gInv22,va3,kmul(gInv23,va2)),kmul(vb2,kmsub(gInv23,va1,kmul(gInv21,va3)))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED vc3 = kmul(ksqrt(detg),kmadd(vb3,kmsub(gInv31,va2,kmul(gInv32,va1)),kmadd(vb1,kmsub(gInv32,va3,kmul(gInv33,va2)),kmul(vb2,kmsub(gInv33,va1,kmul(gInv31,va3)))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED wa1 = va1; CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED wa2 = va2; CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED wa3 = va3; CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED omega11 = kmadd(gxxL,kmul(wa1,wa1),kmadd(gyyL,kmul(wa2,wa2),kmadd(gzzL,kmul(wa3,wa3),kmul(kmadd(gyzL,kmul(wa2,wa3),kmul(wa1,kmadd(gxyL,wa2,kmul(gxzL,wa3)))),ToReal(2))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED ea1 = kdiv(wa1,ksqrt(omega11)); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED ea2 = kdiv(wa2,ksqrt(omega11)); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED ea3 = kdiv(wa3,ksqrt(omega11)); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED omega12 = kmadd(ea1,kmadd(gxxL,vb1,kmadd(gxyL,vb2,kmul(gxzL,vb3))),kmadd(ea2,kmadd(gxyL,vb1,kmadd(gyyL,vb2,kmul(gyzL,vb3))),kmul(ea3,kmadd(gxzL,vb1,kmadd(gyzL,vb2,kmul(gzzL,vb3)))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED wb1 = knmsub(ea1,omega12,vb1); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED wb2 = knmsub(ea2,omega12,vb2); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED wb3 = knmsub(ea3,omega12,vb3); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED omega22 = kmadd(gxxL,kmul(wb1,wb1),kmadd(gyyL,kmul(wb2,wb2),kmadd(gzzL,kmul(wb3,wb3),kmul(kmadd(gyzL,kmul(wb2,wb3),kmul(wb1,kmadd(gxyL,wb2,kmul(gxzL,wb3)))),ToReal(2))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED eb1 = kdiv(wb1,ksqrt(omega22)); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED eb2 = kdiv(wb2,ksqrt(omega22)); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED eb3 = kdiv(wb3,ksqrt(omega22)); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED omega13 = kmadd(ea1,kmadd(gxxL,vc1,kmadd(gxyL,vc2,kmul(gxzL,vc3))),kmadd(ea2,kmadd(gxyL,vc1,kmadd(gyyL,vc2,kmul(gyzL,vc3))),kmul(ea3,kmadd(gxzL,vc1,kmadd(gyzL,vc2,kmul(gzzL,vc3)))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED omega23 = kmadd(eb1,kmadd(gxxL,vc1,kmadd(gxyL,vc2,kmul(gxzL,vc3))),kmadd(eb2,kmadd(gxyL,vc1,kmadd(gyyL,vc2,kmul(gyzL,vc3))),kmul(eb3,kmadd(gxzL,vc1,kmadd(gyzL,vc2,kmul(gzzL,vc3)))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED wc1 = ksub(vc1,kmadd(eb1,omega23,kmul(ea1,omega13))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED wc2 = ksub(vc2,kmadd(eb2,omega23,kmul(ea2,omega13))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED wc3 = ksub(vc3,kmadd(eb3,omega23,kmul(ea3,omega13))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED omega33 = kmadd(gxxL,kmul(wc1,wc1),kmadd(gyyL,kmul(wc2,wc2),kmadd(gzzL,kmul(wc3,wc3),kmul(kmadd(gyzL,kmul(wc2,wc3),kmul(wc1,kmadd(gxyL,wc2,kmul(gxzL,wc3)))),ToReal(2))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED ec1 = kdiv(wc1,ksqrt(omega33)); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED ec2 = kdiv(wc2,ksqrt(omega33)); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED ec3 = kdiv(wc3,ksqrt(omega33)); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED isqrt2 = ToReal(0.707106781186547524); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED n1 = kneg(kmul(eb1,isqrt2)); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED n2 = kneg(kmul(eb2,isqrt2)); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED n3 = kneg(kmul(eb3,isqrt2)); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED rm1 = kmul(ec1,isqrt2); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED rm2 = kmul(ec2,isqrt2); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED rm3 = kmul(ec3,isqrt2); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED im1 = kmul(ea1,isqrt2); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED im2 = kmul(ea2,isqrt2); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED im3 = kmul(ea3,isqrt2); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED rmbar1 = kmul(ec1,isqrt2); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED rmbar2 = kmul(ec2,isqrt2); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED rmbar3 = kmul(ec3,isqrt2); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED imbar1 = kneg(kmul(ea1,isqrt2)); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED imbar2 = kneg(kmul(ea2,isqrt2)); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED imbar3 = kneg(kmul(ea3,isqrt2)); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED nn = isqrt2; CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED R1212 = kmul(ToReal(0.5),kadd(JacPDstandard12gxy,kadd(JacPDstandard21gxy,kmadd(kmadd(gxyL,kmul(gamma122,gamma211),kmadd(gyyL,kmul(gamma211,gamma222),kmadd(gxzL,kmul(gamma122,gamma311),kmadd(gyzL,kmul(gamma222,gamma311),kmadd(gyzL,kmul(gamma211,gamma322),kmadd(gzzL,kmul(gamma311,gamma322),kmul(gamma111,kmadd(gxxL,gamma122,kmadd(gxyL,gamma222,kmul(gxzL,gamma322)))))))))),ToReal(-2),ksub(ksub(kmadd(gxxL,kmul(kmul(gamma121,gamma121),ToReal(2)),kmadd(gyyL,kmul(kmul(gamma221,gamma221),ToReal(2)),kmadd(gzzL,kmul(kmul(gamma321,gamma321),ToReal(2)),kmul(kmadd(gyzL,kmul(gamma221,gamma321),kmul(gamma121,kmadd(gxyL,gamma221,kmul(gxzL,gamma321)))),ToReal(4))))),JacPDstandard22gxx),JacPDstandard11gyy))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED R1213 = kmadd(gamma121,kmadd(gxxL,gamma131,kmadd(gxyL,gamma231,kmul(gxzL,gamma331))),kmul(ToReal(0.5),kadd(JacPDstandard12gxz,kadd(JacPDstandard31gxy,kmadd(kmadd(gyyL,kmul(gamma211,gamma232),kmadd(gyzL,kmul(gamma232,gamma311),kmadd(gamma132,kmadd(gxyL,gamma211,kmul(gxzL,gamma311)),kmadd(gyzL,kmul(gamma211,gamma332),kmadd(gzzL,kmul(gamma311,gamma332),kmul(gamma111,kmadd(gxxL,gamma132,kmadd(gxyL,gamma232,kmul(gxzL,gamma332))))))))),ToReal(-2),ksub(kmsub(kmadd(gxyL,kmul(gamma131,gamma221),kmadd(gyyL,kmul(gamma221,gamma231),kmadd(gxzL,kmul(gamma131,gamma321),kmadd(gyzL,kmul(gamma231,gamma321),kmadd(gyzL,kmul(gamma221,gamma331),kmul(gzzL,kmul(gamma321,gamma331))))))),ToReal(2),JacPDstandard23gxx),JacPDstandard11gyz)))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED R1223 = kmadd(gamma122,kmadd(gxxL,gamma131,kmadd(gxyL,gamma231,kmul(gxzL,gamma331))),kmul(ToReal(0.5),kadd(JacPDstandard22gxz,kadd(JacPDstandard31gyy,kmadd(kmadd(gyyL,kmul(gamma221,gamma232),kmadd(gyzL,kmul(gamma232,gamma321),kmadd(gamma132,kmadd(gxyL,gamma221,kmul(gxzL,gamma321)),kmadd(gyzL,kmul(gamma221,gamma332),kmadd(gzzL,kmul(gamma321,gamma332),kmul(gamma121,kmadd(gxxL,gamma132,kmadd(gxyL,gamma232,kmul(gxzL,gamma332))))))))),ToReal(-2),ksub(kmsub(kmadd(gxyL,kmul(gamma131,gamma222),kmadd(gyyL,kmul(gamma222,gamma231),kmadd(gxzL,kmul(gamma131,gamma322),kmadd(gyzL,kmul(gamma231,gamma322),kmadd(gyzL,kmul(gamma222,gamma331),kmul(gzzL,kmul(gamma322,gamma331))))))),ToReal(2),JacPDstandard23gxy),JacPDstandard12gyz)))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED R1313 = kmul(ToReal(0.5),kadd(JacPDstandard13gxz,kadd(JacPDstandard31gxz,kmadd(kmadd(gxyL,kmul(gamma133,gamma211),kmadd(gyyL,kmul(gamma211,gamma233),kmadd(gxzL,kmul(gamma133,gamma311),kmadd(gyzL,kmul(gamma233,gamma311),kmadd(gyzL,kmul(gamma211,gamma333),kmadd(gzzL,kmul(gamma311,gamma333),kmul(gamma111,kmadd(gxxL,gamma133,kmadd(gxyL,gamma233,kmul(gxzL,gamma333)))))))))),ToReal(-2),ksub(ksub(kmadd(gxxL,kmul(kmul(gamma131,gamma131),ToReal(2)),kmadd(gyyL,kmul(kmul(gamma231,gamma231),ToReal(2)),kmadd(gzzL,kmul(kmul(gamma331,gamma331),ToReal(2)),kmul(kmadd(gyzL,kmul(gamma231,gamma331),kmul(gamma131,kmadd(gxyL,gamma231,kmul(gxzL,gamma331)))),ToReal(4))))),JacPDstandard33gxx),JacPDstandard11gzz))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED R1323 = kmadd(gamma131,kmadd(gxxL,gamma132,kmadd(gxyL,gamma232,kmul(gxzL,gamma332))),kmul(ToReal(0.5),kadd(JacPDstandard23gxz,kadd(JacPDstandard31gyz,kmadd(kmadd(gyyL,kmul(gamma221,gamma233),kmadd(gyzL,kmul(gamma233,gamma321),kmadd(gamma133,kmadd(gxyL,gamma221,kmul(gxzL,gamma321)),kmadd(gyzL,kmul(gamma221,gamma333),kmadd(gzzL,kmul(gamma321,gamma333),kmul(gamma121,kmadd(gxxL,gamma133,kmadd(gxyL,gamma233,kmul(gxzL,gamma333))))))))),ToReal(-2),ksub(kmsub(kmadd(gxyL,kmul(gamma132,gamma231),kmadd(gyyL,kmul(gamma231,gamma232),kmadd(gxzL,kmul(gamma132,gamma331),kmadd(gyzL,kmul(gamma232,gamma331),kmadd(gyzL,kmul(gamma231,gamma332),kmul(gzzL,kmul(gamma331,gamma332))))))),ToReal(2),JacPDstandard33gxy),JacPDstandard12gzz)))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED R2323 = kmul(ToReal(0.5),kadd(JacPDstandard23gyz,kadd(JacPDstandard32gyz,kmadd(kmadd(gxyL,kmul(gamma133,gamma222),kmadd(gyyL,kmul(gamma222,gamma233),kmadd(gxzL,kmul(gamma133,gamma322),kmadd(gyzL,kmul(gamma233,gamma322),kmadd(gyzL,kmul(gamma222,gamma333),kmadd(gzzL,kmul(gamma322,gamma333),kmul(gamma122,kmadd(gxxL,gamma133,kmadd(gxyL,gamma233,kmul(gxzL,gamma333)))))))))),ToReal(-2),ksub(ksub(kmadd(gxxL,kmul(kmul(gamma132,gamma132),ToReal(2)),kmadd(gyyL,kmul(kmul(gamma232,gamma232),ToReal(2)),kmadd(gzzL,kmul(kmul(gamma332,gamma332),ToReal(2)),kmul(kmadd(gyzL,kmul(gamma232,gamma332),kmul(gamma132,kmadd(gxyL,gamma232,kmul(gxzL,gamma332)))),ToReal(4))))),JacPDstandard33gyy),JacPDstandard22gzz))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED R4p1212 = kmadd(kxxL,kyyL,knmsub(kxyL,kxyL,R1212)); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED R4p1213 = kmadd(kxxL,kyzL,knmsub(kxyL,kxzL,R1213)); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED R4p1223 = kmadd(kxyL,kyzL,knmsub(kxzL,kyyL,R1223)); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED R4p1313 = kmadd(kxxL,kzzL,knmsub(kxzL,kxzL,R1313)); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED R4p1323 = kmadd(kxyL,kzzL,knmsub(kxzL,kyzL,R1323)); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED R4p2323 = kmadd(kyyL,kzzL,knmsub(kyzL,kyzL,R2323)); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Ro111 = ToReal(0); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Ro112 = kmadd(kxxL,gamma121,kmadd(kxzL,gamma321,kadd(JacPDstandard1kxy,knmsub(kyyL,gamma211,knmsub(kyzL,gamma311,kmsub(kxyL,ksub(gamma221,gamma111),JacPDstandard2kxx)))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Ro113 = kmadd(kxxL,gamma131,kmadd(kxyL,gamma231,kadd(JacPDstandard1kxz,knmsub(kyzL,gamma211,knmsub(kzzL,gamma311,kmsub(kxzL,ksub(gamma331,gamma111),JacPDstandard3kxx)))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Ro121 = kmadd(kyyL,gamma211,kmadd(kyzL,gamma311,kadd(JacPDstandard2kxx,knmsub(kxxL,gamma121,knmsub(kxzL,gamma321,kmsub(kxyL,ksub(gamma111,gamma221),JacPDstandard1kxy)))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Ro122 = ToReal(0); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Ro123 = kmadd(kxyL,gamma131,kmadd(kyyL,gamma231,kadd(JacPDstandard2kxz,knmsub(kxzL,gamma121,knmsub(kzzL,gamma321,kmsub(kyzL,ksub(gamma331,gamma221),JacPDstandard3kxy)))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Ro131 = kmadd(kyzL,gamma211,kmadd(kzzL,gamma311,kadd(JacPDstandard3kxx,knmsub(kxxL,gamma131,knmsub(kxyL,gamma231,kmsub(kxzL,ksub(gamma111,gamma331),JacPDstandard1kxz)))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Ro132 = kmadd(kxzL,gamma121,kmadd(kzzL,gamma321,kadd(JacPDstandard3kxy,knmsub(kxyL,gamma131,knmsub(kyyL,gamma231,kmsub(kyzL,ksub(gamma221,gamma331),JacPDstandard2kxz)))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Ro133 = ToReal(0); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Ro211 = ToReal(0); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Ro212 = kmadd(kxxL,gamma122,kmadd(kxzL,gamma322,kadd(JacPDstandard1kyy,knmsub(kyyL,gamma221,knmsub(kyzL,gamma321,kmsub(kxyL,ksub(gamma222,gamma121),JacPDstandard2kxy)))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Ro213 = kmadd(kxxL,gamma132,kmadd(kxyL,gamma232,kadd(JacPDstandard1kyz,knmsub(kyzL,gamma221,knmsub(kzzL,gamma321,kmsub(kxzL,ksub(gamma332,gamma121),JacPDstandard3kxy)))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Ro221 = kmadd(kyyL,gamma221,kmadd(kyzL,gamma321,kadd(JacPDstandard2kxy,knmsub(kxxL,gamma122,knmsub(kxzL,gamma322,kmsub(kxyL,ksub(gamma121,gamma222),JacPDstandard1kyy)))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Ro222 = ToReal(0); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Ro223 = kmadd(kxyL,gamma132,kmadd(kyyL,gamma232,kadd(JacPDstandard2kyz,knmsub(kxzL,gamma122,knmsub(kzzL,gamma322,kmsub(kyzL,ksub(gamma332,gamma222),JacPDstandard3kyy)))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Ro231 = kmadd(kyzL,gamma221,kmadd(kzzL,gamma321,kadd(JacPDstandard3kxy,knmsub(kxxL,gamma132,knmsub(kxyL,gamma232,kmsub(kxzL,ksub(gamma121,gamma332),JacPDstandard1kyz)))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Ro232 = kmadd(kxzL,gamma122,kmadd(kzzL,gamma322,kadd(JacPDstandard3kyy,knmsub(kxyL,gamma132,knmsub(kyyL,gamma232,kmsub(kyzL,ksub(gamma222,gamma332),JacPDstandard2kyz)))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Ro233 = ToReal(0); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Ro311 = ToReal(0); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Ro312 = kmadd(kxxL,gamma132,kmadd(kxzL,gamma332,kadd(JacPDstandard1kyz,knmsub(kyyL,gamma231,knmsub(kyzL,gamma331,kmsub(kxyL,ksub(gamma232,gamma131),JacPDstandard2kxz)))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Ro313 = kmadd(kxxL,gamma133,kmadd(kxyL,gamma233,kadd(JacPDstandard1kzz,knmsub(kyzL,gamma231,knmsub(kzzL,gamma331,kmsub(kxzL,ksub(gamma333,gamma131),JacPDstandard3kxz)))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Ro321 = kmadd(kyyL,gamma231,kmadd(kyzL,gamma331,kadd(JacPDstandard2kxz,knmsub(kxxL,gamma132,knmsub(kxzL,gamma332,kmsub(kxyL,ksub(gamma131,gamma232),JacPDstandard1kyz)))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Ro322 = ToReal(0); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Ro323 = kmadd(kxyL,gamma133,kmadd(kyyL,gamma233,kadd(JacPDstandard2kzz,knmsub(kxzL,gamma132,knmsub(kzzL,gamma332,kmsub(kyzL,ksub(gamma333,gamma232),JacPDstandard3kyz)))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Ro331 = kmadd(kyzL,gamma231,kmadd(kzzL,gamma331,kadd(JacPDstandard3kxz,knmsub(kxxL,gamma133,knmsub(kxyL,gamma233,kmsub(kxzL,ksub(gamma131,gamma333),JacPDstandard1kzz)))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Ro332 = kmadd(kxzL,gamma132,kmadd(kzzL,gamma332,kadd(JacPDstandard3kyz,knmsub(kxyL,gamma133,knmsub(kyyL,gamma233,kmsub(kyzL,ksub(gamma232,gamma333),JacPDstandard2kzz)))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Ro333 = ToReal(0); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Rojo11 = kmadd(kadd(gInv23,gInv32),kmadd(kxxL,kyzL,knmsub(kxyL,kxzL,R1213)),kmadd(gInv22,kmadd(kxxL,kyyL,knmsub(kxyL,kxyL,R1212)),kmul(gInv33,kmadd(kxxL,kzzL,knmsub(kxzL,kxzL,R1313))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Rojo12 = kmadd(gInv23,R1223,knmsub(gInv21,R1212,knmsub(gInv31,R1213,kmadd(gInv12,kmsub(kxyL,kxyL,kmul(kxxL,kyyL)),kmadd(gInv32,kmsub(kxyL,kyzL,kmul(kxzL,kyyL)),kmadd(gInv13,kmsub(kxyL,kxzL,kmul(kxxL,kyzL)),kmul(gInv33,kmadd(kxyL,kzzL,knmsub(kxzL,kyzL,R1323))))))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Rojo13 = kmadd(kxzL,kmul(kyzL,gInv23),kmadd(gInv13,kmul(kxzL,kxzL),knmsub(gInv21,R1213,knmsub(gInv31,R1313,knmsub(gInv32,R1323,kmadd(gInv12,kmsub(kxyL,kxzL,kmul(kxxL,kyzL)),kmsub(gInv22,kmsub(kxzL,kyyL,kmadd(kxyL,kyzL,R1223)),kmul(kzzL,kmadd(kxyL,gInv23,kmul(kxxL,gInv13)))))))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Rojo21 = kmadd(gInv32,R1223,knmsub(gInv12,R1212,knmsub(gInv13,R1213,kmadd(gInv21,kmsub(kxyL,kxyL,kmul(kxxL,kyyL)),kmadd(gInv23,kmsub(kxyL,kyzL,kmul(kxzL,kyyL)),kmadd(gInv31,kmsub(kxyL,kxzL,kmul(kxxL,kyzL)),kmul(gInv33,kmadd(kxyL,kzzL,knmsub(kxzL,kyzL,R1323))))))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Rojo22 = kmadd(kadd(gInv13,gInv31),kmsub(kxzL,kyyL,kmadd(kxyL,kyzL,R1223)),kmadd(gInv11,kmadd(kxxL,kyyL,knmsub(kxyL,kxyL,R1212)),kmul(gInv33,kmadd(kyyL,kzzL,knmsub(kyzL,kyzL,R2323))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Rojo23 = kmadd(gInv12,R1223,knmsub(gInv31,R1323,knmsub(gInv32,R2323,kmadd(gInv11,kmadd(kxxL,kyzL,knmsub(kxyL,kxzL,R1213)),kmadd(gInv21,kmsub(kxyL,kyzL,kmul(kxzL,kyyL)),kmadd(gInv13,kmsub(kxzL,kyzL,kmul(kxyL,kzzL)),kmul(gInv23,kmsub(kyzL,kyzL,kmul(kyyL,kzzL))))))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Rojo31 = kmadd(kxzL,kmul(kyzL,gInv32),kmadd(gInv31,kmul(kxzL,kxzL),knmsub(gInv12,R1213,knmsub(gInv13,R1313,knmsub(gInv23,R1323,kmadd(gInv21,kmsub(kxyL,kxzL,kmul(kxxL,kyzL)),kmsub(gInv22,kmsub(kxzL,kyyL,kmadd(kxyL,kyzL,R1223)),kmul(kzzL,kmadd(kxyL,gInv32,kmul(kxxL,gInv31)))))))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Rojo32 = kmadd(gInv21,R1223,knmsub(gInv13,R1323,knmsub(gInv23,R2323,kmadd(gInv11,kmadd(kxxL,kyzL,knmsub(kxyL,kxzL,R1213)),kmadd(gInv12,kmsub(kxyL,kyzL,kmul(kxzL,kyyL)),kmadd(gInv31,kmsub(kxzL,kyzL,kmul(kxyL,kzzL)),kmul(gInv32,kmsub(kyzL,kyzL,kmul(kyyL,kzzL))))))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Rojo33 = kmadd(kadd(gInv12,gInv21),kmadd(kxyL,kzzL,knmsub(kxzL,kyzL,R1323)),kmadd(gInv11,kmadd(kxxL,kzzL,knmsub(kxzL,kxzL,R1313)),kmul(gInv22,kmadd(kyyL,kzzL,knmsub(kyzL,kyzL,R2323))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Psi4rL = kmadd(rmbar1,kmul(rmbar2,kmul(Rojo12,kmul(nn,nn))),kmadd(rmbar1,kmul(rmbar3,kmul(Rojo13,kmul(nn,nn))),kmadd(rmbar1,kmul(rmbar2,kmul(Rojo21,kmul(nn,nn))),kmadd(rmbar2,kmul(rmbar3,kmul(Rojo23,kmul(nn,nn))),kmadd(rmbar1,kmul(rmbar3,kmul(Rojo31,kmul(nn,nn))),kmadd(rmbar2,kmul(rmbar3,kmul(Rojo32,kmul(nn,nn))),kmadd(R4p1212,kmul(kmul(n2,n2),kmul(rmbar1,rmbar1)),kmadd(Rojo11,kmul(kmul(nn,nn),kmul(rmbar1,rmbar1)),kmadd(R4p1212,kmul(kmul(n1,n1),kmul(rmbar2,rmbar2)),kmadd(Rojo22,kmul(kmul(nn,nn),kmul(rmbar2,rmbar2)),kmadd(R4p1313,kmul(kmul(n1,n1),kmul(rmbar3,rmbar3)),kmadd(R4p2323,kmul(kmul(n2,n2),kmul(rmbar3,rmbar3)),kmadd(kmadd(n1,kmul(n2,kmul(R4p1212,kmul(rmbar1,rmbar2))),kmadd(n1,kmul(n3,kmul(R4p1213,kmul(rmbar1,rmbar2))),kmadd(n1,kmul(n3,kmul(R4p1313,kmul(rmbar1,rmbar3))),kmadd(n1,kmul(n3,kmul(R4p1323,kmul(rmbar2,rmbar3))),kmadd(n2,kmul(n3,kmul(R4p2323,kmul(rmbar2,rmbar3))),kmadd(n1,kmul(n2,kmul(R4p1323,kmul(imbar3,imbar3))),kmadd(n1,kmul(nn,kmul(Ro313,kmul(imbar3,imbar3))),kmadd(n3,kmul(nn,kmul(Ro333,kmul(imbar3,imbar3))),kmul(R4p1223,kmul(rmbar1,kmul(rmbar3,kmul(n2,n2)))))))))))),ToReal(-2),kmadd(n1,kmul(n3,kmul(R4p1223,kmul(kmul(rmbar2,rmbar2),ToReal(-2)))),kmadd(R4p1313,kmsub(kmul(n3,n3),kmul(rmbar1,rmbar1),kmul(kmul(imbar3,imbar3),kmul(n1,n1))),kmadd(R4p2323,kmsub(kmul(n3,n3),kmul(rmbar2,rmbar2),kmul(kmul(imbar3,imbar3),kmul(n2,n2))),kmadd(Rojo33,kmsub(kmul(nn,nn),kmul(rmbar3,rmbar3),kmul(kmul(imbar3,imbar3),kmul(nn,nn))),kmadd(kmadd(n1,kmul(nn,kmul(rmbar1,kmul(rmbar2,Ro112))),kmadd(n1,kmul(nn,kmul(rmbar1,kmul(rmbar3,Ro113))),kmadd(n2,kmul(nn,kmul(rmbar1,kmul(rmbar3,Ro123))),kmadd(n3,kmul(nn,kmul(rmbar1,kmul(rmbar2,Ro132))),kmadd(n3,kmul(nn,kmul(rmbar1,kmul(rmbar3,Ro133))),kmadd(n1,kmul(nn,kmul(rmbar1,kmul(rmbar2,Ro211))),kmadd(n1,kmul(nn,kmul(rmbar2,kmul(rmbar3,Ro213))),kmadd(n2,kmul(nn,kmul(rmbar2,kmul(rmbar3,Ro223))),kmadd(n3,kmul(nn,kmul(rmbar1,kmul(rmbar2,Ro231))),kmadd(n3,kmul(nn,kmul(rmbar2,kmul(rmbar3,Ro233))),kmadd(n1,kmul(nn,kmul(rmbar1,kmul(rmbar3,Ro311))),kmadd(n1,kmul(nn,kmul(rmbar2,kmul(rmbar3,Ro312))),kmadd(n2,kmul(nn,kmul(rmbar2,kmul(rmbar3,Ro322))),kmadd(n3,kmul(nn,kmul(rmbar1,kmul(rmbar3,Ro331))),kmadd(n3,kmul(nn,kmul(rmbar2,kmul(rmbar3,Ro332))),kmadd(R4p1213,kmul(rmbar2,kmul(rmbar3,kmul(n1,n1))),kmul(R4p1323,kmul(rmbar1,kmul(rmbar2,kmul(n3,n3)))))))))))))))))))),ToReal(2),kmadd(n1,kmul(nn,kmul(Ro111,kmul(kmul(rmbar1,rmbar1),ToReal(2)))),kmadd(n2,kmul(nn,kmul(Ro121,kmul(kmul(rmbar1,rmbar1),ToReal(2)))),kmadd(n3,kmul(nn,kmul(Ro131,kmul(kmul(rmbar1,rmbar1),ToReal(2)))),kmadd(n1,kmul(nn,kmul(Ro212,kmul(kmul(rmbar2,rmbar2),ToReal(2)))),kmadd(n2,kmul(nn,kmul(Ro222,kmul(kmul(rmbar2,rmbar2),ToReal(2)))),kmadd(n3,kmul(nn,kmul(Ro232,kmul(kmul(rmbar2,rmbar2),ToReal(2)))),kmadd(n1,kmul(n2,kmul(R4p1323,kmul(kmul(rmbar3,rmbar3),ToReal(2)))),kmadd(n1,kmul(nn,kmul(Ro313,kmul(kmul(rmbar3,rmbar3),ToReal(2)))),kmadd(n2,kmul(nn,kmul(Ro323,kmul(kmul(rmbar3,rmbar3),ToReal(2)))),kmadd(n3,kmul(nn,kmul(Ro333,kmul(kmul(rmbar3,rmbar3),ToReal(2)))),knmsub(kmul(imbar2,imbar2),kmadd(R4p1212,kmul(n1,n1),kmadd(R4p2323,kmul(n3,n3),kmadd(Rojo22,kmul(nn,nn),kmadd(n1,kmul(n3,kmul(R4p1223,ToReal(-2))),kmadd(n1,kmul(nn,kmul(Ro212,ToReal(2))),kmadd(n2,kmul(nn,kmul(Ro222,ToReal(2))),kmul(n3,kmul(nn,kmul(Ro232,ToReal(2)))))))))),kmadd(n2,kmadd(n1,kmul(R4p1213,kmul(rmbar1,kmul(rmbar3,ToReal(-2)))),kmadd(n3,kmul(R4p1323,kmul(rmbar1,kmul(rmbar3,ToReal(-2)))),kmadd(nn,kmul(Ro323,kmul(kmul(imbar3,imbar3),ToReal(-2))),kmadd(n3,kmul(R4p1223,kmul(rmbar1,kmul(rmbar2,ToReal(2)))),kmadd(n1,kmul(R4p1223,kmul(rmbar2,kmul(rmbar3,ToReal(2)))),kmadd(nn,kmul(rmbar1,kmul(rmbar2,kmul(Ro122,ToReal(2)))),kmadd(nn,kmul(rmbar1,kmul(rmbar2,kmul(Ro221,ToReal(2)))),kmadd(nn,kmul(rmbar1,kmul(rmbar3,kmul(Ro321,ToReal(2)))),kmul(n3,kmul(R4p1213,kmul(kmul(rmbar1,rmbar1),ToReal(2)))))))))))),knmsub(kmul(imbar1,imbar1),kmadd(R4p1212,kmul(n2,n2),kmadd(R4p1313,kmul(n3,n3),kmadd(n2,kmul(kmadd(n3,R4p1213,kmul(nn,Ro121)),ToReal(2)),kmadd(n3,kmul(nn,kmul(Ro131,ToReal(2))),kmul(nn,kmadd(nn,Rojo11,kmul(n1,kmul(Ro111,ToReal(2))))))))),kmsub(imbar1,kmul(imbar3,kmadd(R4p1223,kmul(kmul(n2,n2),ToReal(2)),kmadd(n1,kmul(kmadd(n2,R4p1213,kmsub(n3,R4p1313,kmul(nn,kadd(Ro113,Ro311)))),ToReal(2)),kmsub(n2,kmul(kmsub(n3,R4p1323,kmul(nn,kadd(Ro123,Ro321))),ToReal(2)),kmul(nn,kmadd(nn,kadd(Rojo13,Rojo31),kmul(n3,kmul(kadd(Ro133,Ro331),ToReal(2))))))))),kmul(imbar2,kmadd(imbar3,kmadd(R4p1213,kmul(kmul(n1,n1),ToReal(2)),kmadd(n1,kmul(kmadd(n2,R4p1223,kmsub(nn,kadd(Ro213,Ro312),kmul(n3,R4p1323))),ToReal(2)),kmadd(n2,kmadd(n3,kmul(R4p2323,ToReal(-2)),kmul(nn,kmul(kadd(Ro223,Ro322),ToReal(2)))),kmul(nn,kmadd(nn,kadd(Rojo23,Rojo32),kmul(n3,kmul(kadd(Ro233,Ro332),ToReal(2)))))))),kmul(imbar1,kmadd(Rojo12,kmul(nn,nn),kmadd(Rojo21,kmul(nn,nn),kmadd(n1,kmul(ToReal(-2),kmadd(n2,R4p1212,kmsub(n3,R4p1213,kmul(nn,kadd(Ro112,Ro211))))),kmadd(n3,kmul(nn,kmul(Ro132,ToReal(2))),kmadd(n2,kmul(kmadd(n3,R4p1223,kmul(nn,kadd(Ro122,Ro221))),ToReal(2)),kmadd(n3,kmul(nn,kmul(Ro231,ToReal(2))),kmul(R4p1323,kmul(kmul(n3,n3),ToReal(2)))))))))))))))))))))))))))))))))))))))))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Psi4iL = knmadd(im1,kmadd(kmadd(R4p1313,rm1,kmul(R4p1323,rm2)),kmul(kmul(n3,n3),ToReal(2)),kmadd(kmul(n2,n2),kmul(kmsub(R4p1212,rm1,kmul(R4p1223,rm3)),ToReal(2)),kmadd(n2,kmul(ToReal(2),knmsub(n1,kmadd(R4p1212,rm2,kmul(R4p1213,rm3)),kmadd(n3,kmadd(R4p1223,rm2,kmsub(R4p1213,kmul(rm1,ToReal(2)),kmul(R4p1323,rm3))),kmul(nn,kmadd(rm2,kadd(Ro122,Ro221),kmadd(rm3,kadd(Ro123,Ro321),kmul(rm1,kmul(Ro121,ToReal(2))))))))),kmadd(n3,kmul(ToReal(2),kmsub(nn,kmadd(rm2,kadd(Ro132,Ro231),kmadd(rm3,kadd(Ro133,Ro331),kmul(rm1,kmul(Ro131,ToReal(2))))),kmul(n1,kmadd(R4p1213,rm2,kmul(R4p1313,rm3))))),kmul(nn,kmadd(n1,kmul(ToReal(2),kmadd(rm2,kadd(Ro112,Ro211),kmadd(rm3,kadd(Ro113,Ro311),kmul(rm1,kmul(Ro111,ToReal(2)))))),kmul(nn,kmadd(rm2,kadd(Rojo12,Rojo21),kmadd(rm3,kadd(Rojo13,Rojo31),kmul(rm1,kmul(Rojo11,ToReal(2)))))))))))),kmadd(im2,kmadd(rm1,kmul(Rojo12,kmul(nn,nn)),kmadd(rm1,kmul(Rojo21,kmul(nn,nn)),kmadd(rm3,kmul(Rojo23,kmul(nn,nn)),kmadd(rm3,kmul(Rojo32,kmul(nn,nn)),kmadd(n3,kmul(nn,kmul(rm1,kmul(Ro132,ToReal(2)))),kmadd(n3,kmul(nn,kmul(rm1,kmul(Ro231,ToReal(2)))),kmadd(n3,kmul(nn,kmul(rm3,kmul(Ro233,ToReal(2)))),kmadd(n3,kmul(nn,kmul(rm3,kmul(Ro332,ToReal(2)))),kmadd(kmadd(R4p1212,rm2,kmul(R4p1213,rm3)),kmul(kmul(n1,n1),ToReal(2)),kmadd(R4p1323,kmul(rm1,kmul(kmul(n3,n3),ToReal(2))),kmadd(R4p2323,kmul(rm2,kmul(kmul(n3,n3),ToReal(2))),kmadd(rm2,kmul(Rojo22,kmul(kmul(nn,nn),ToReal(2))),kmadd(n1,kmul(ToReal(2),kmadd(n2,kmsub(R4p1223,rm3,kmul(R4p1212,rm1)),kmsub(nn,kmadd(rm1,kadd(Ro112,Ro211),kmadd(rm3,kadd(Ro213,Ro312),kmul(rm2,kmul(Ro212,ToReal(2))))),kmul(n3,kmadd(R4p1213,rm1,kmadd(R4p1323,rm3,kmul(R4p1223,kmul(rm2,ToReal(2))))))))),kmadd(n2,kmul(ToReal(2),kmadd(n3,kmsub(R4p1223,rm1,kmul(R4p2323,rm3)),kmul(nn,kmadd(rm1,kadd(Ro122,Ro221),kmadd(rm3,kadd(Ro223,Ro322),kmul(rm2,kmul(Ro222,ToReal(2)))))))),kmul(n3,kmul(nn,kmul(rm2,kmul(Ro232,ToReal(4))))))))))))))))))),kmul(im3,kmadd(kmadd(R4p1213,rm2,kmul(R4p1313,rm3)),kmul(kmul(n1,n1),ToReal(2)),kmadd(kmul(n2,n2),kmadd(R4p1223,kmul(rm1,ToReal(-2)),kmul(R4p2323,kmul(rm3,ToReal(2)))),kmadd(n1,kmul(ToReal(2),knmsub(n3,kmadd(R4p1313,rm1,kmul(R4p1323,rm2)),kmadd(n2,kmadd(R4p1223,rm2,kmsub(R4p1323,kmul(rm3,ToReal(2)),kmul(R4p1213,rm1))),kmul(nn,kmadd(rm1,kadd(Ro113,Ro311),kmadd(rm2,kadd(Ro213,Ro312),kmul(rm3,kmul(Ro313,ToReal(2))))))))),kmadd(n2,kmul(ToReal(2),kmsub(nn,kmadd(rm1,kadd(Ro123,Ro321),kmadd(rm2,kadd(Ro223,Ro322),kmul(rm3,kmul(Ro323,ToReal(2))))),kmul(n3,kmadd(R4p1323,rm1,kmul(R4p2323,rm2))))),kmul(nn,kmadd(n3,kmul(ToReal(2),kmadd(rm1,kadd(Ro133,Ro331),kmadd(rm2,kadd(Ro233,Ro332),kmul(rm3,kmul(Ro333,ToReal(2)))))),kmul(nn,kmadd(rm1,kadd(Rojo13,Rojo31),kmadd(rm2,kadd(Rojo23,Rojo32),kmul(rm3,kmul(Rojo33,ToReal(2))))))))))))))); /* Copy local copies back to grid functions */ vec_store_partial_prepare(i,lc_imin,lc_imax); vec_store_nta_partial(Psi4i[index],Psi4iL); vec_store_nta_partial(Psi4r[index],Psi4rL); } LC_ENDLOOP3VEC(WeylScal4_psi4_calc_Nth); } extern "C" void WeylScal4_psi4_calc_Nth(CCTK_ARGUMENTS) { DECLARE_CCTK_ARGUMENTS; DECLARE_CCTK_PARAMETERS; if (verbose > 1) { CCTK_VInfo(CCTK_THORNSTRING,"Entering WeylScal4_psi4_calc_Nth_Body"); } if (cctk_iteration % WeylScal4_psi4_calc_Nth_calc_every != WeylScal4_psi4_calc_Nth_calc_offset) { return; } const char *const groups[] = { "admbase::curv", "admbase::metric", "grid::coordinates", "WeylScal4::Psi4i_group", "WeylScal4::Psi4r_group"}; GenericFD_AssertGroupStorage(cctkGH, "WeylScal4_psi4_calc_Nth", 5, groups); switch(fdOrder) { case 2: GenericFD_EnsureStencilFits(cctkGH, "WeylScal4_psi4_calc_Nth", 1, 1, 1); break; case 4: GenericFD_EnsureStencilFits(cctkGH, "WeylScal4_psi4_calc_Nth", 2, 2, 2); break; case 6: GenericFD_EnsureStencilFits(cctkGH, "WeylScal4_psi4_calc_Nth", 3, 3, 3); break; case 8: GenericFD_EnsureStencilFits(cctkGH, "WeylScal4_psi4_calc_Nth", 4, 4, 4); break; } GenericFD_LoopOverInterior(cctkGH, WeylScal4_psi4_calc_Nth_Body); if (verbose > 1) { CCTK_VInfo(CCTK_THORNSTRING,"Leaving WeylScal4_psi4_calc_Nth_Body"); } }