diff options
Diffstat (limited to 'src/psis_calc_2nd.cc')
-rw-r--r-- | src/psis_calc_2nd.cc | 376 |
1 files changed, 321 insertions, 55 deletions
diff --git a/src/psis_calc_2nd.cc b/src/psis_calc_2nd.cc index 29d1c23..018b3a7 100644 --- a/src/psis_calc_2nd.cc +++ b/src/psis_calc_2nd.cc @@ -57,7 +57,24 @@ static void psis_calc_2nd_Body(cGH const * restrict const cctkGH, int const dir, const char *groups[] = {"admbase::curv","admbase::metric","grid::coordinates","WeylScal4::Psi4i_group","WeylScal4::Psi4r_group"}; GenericFD_AssertGroupStorage(cctkGH, "psis_calc_2nd", 5, groups); - GenericFD_EnsureStencilFits(cctkGH, "psis_calc_2nd", 1, 1, 1); + switch(fdOrder) + { + case 2: + GenericFD_EnsureStencilFits(cctkGH, "psis_calc_2nd", 1, 1, 1); + break; + + case 4: + GenericFD_EnsureStencilFits(cctkGH, "psis_calc_2nd", 1, 1, 1); + break; + + case 6: + GenericFD_EnsureStencilFits(cctkGH, "psis_calc_2nd", 1, 1, 1); + break; + + case 8: + GenericFD_EnsureStencilFits(cctkGH, "psis_calc_2nd", 1, 1, 1); + break; + } /* Include user-supplied include files */ @@ -91,12 +108,30 @@ static void psis_calc_2nd_Body(cGH const * restrict const cctkGH, int const dir, CCTK_REAL const p1o144dxdy = 0.00694444444444444444444444444444*INV(dx)*INV(dy); CCTK_REAL const p1o144dxdz = 0.00694444444444444444444444444444*INV(dx)*INV(dz); CCTK_REAL const p1o144dydz = 0.00694444444444444444444444444444*INV(dy)*INV(dz); + CCTK_REAL const p1o180dx2 = 0.00555555555555555555555555555556*INV(SQR(dx)); + CCTK_REAL const p1o180dy2 = 0.00555555555555555555555555555556*INV(SQR(dy)); + CCTK_REAL const p1o180dz2 = 0.00555555555555555555555555555556*INV(SQR(dz)); CCTK_REAL const p1o2dx = 0.5*INV(dx); CCTK_REAL const p1o2dy = 0.5*INV(dy); CCTK_REAL const p1o2dz = 0.5*INV(dz); + CCTK_REAL const p1o3600dxdy = 0.000277777777777777777777777777778*INV(dx)*INV(dy); + CCTK_REAL const p1o3600dxdz = 0.000277777777777777777777777777778*INV(dx)*INV(dz); + CCTK_REAL const p1o3600dydz = 0.000277777777777777777777777777778*INV(dy)*INV(dz); CCTK_REAL const p1o4dxdy = 0.25*INV(dx)*INV(dy); CCTK_REAL const p1o4dxdz = 0.25*INV(dx)*INV(dz); CCTK_REAL const p1o4dydz = 0.25*INV(dy)*INV(dz); + CCTK_REAL const p1o5040dx2 = 0.000198412698412698412698412698413*INV(SQR(dx)); + CCTK_REAL const p1o5040dy2 = 0.000198412698412698412698412698413*INV(SQR(dy)); + CCTK_REAL const p1o5040dz2 = 0.000198412698412698412698412698413*INV(SQR(dz)); + CCTK_REAL const p1o60dx = 0.0166666666666666666666666666667*INV(dx); + CCTK_REAL const p1o60dy = 0.0166666666666666666666666666667*INV(dy); + CCTK_REAL const p1o60dz = 0.0166666666666666666666666666667*INV(dz); + CCTK_REAL const p1o705600dxdy = 1.41723356009070294784580498866e-6*INV(dx)*INV(dy); + CCTK_REAL const p1o705600dxdz = 1.41723356009070294784580498866e-6*INV(dx)*INV(dz); + CCTK_REAL const p1o705600dydz = 1.41723356009070294784580498866e-6*INV(dy)*INV(dz); + CCTK_REAL const p1o840dx = 0.00119047619047619047619047619048*INV(dx); + CCTK_REAL const p1o840dy = 0.00119047619047619047619047619048*INV(dy); + CCTK_REAL const p1o840dz = 0.00119047619047619047619047619048*INV(dz); CCTK_REAL const p1odx = INV(dx); CCTK_REAL const p1odx2 = INV(SQR(dx)); CCTK_REAL const p1odxdy = INV(dx)*INV(dy); @@ -143,60 +178,291 @@ static void psis_calc_2nd_Body(cGH const * restrict const cctkGH, int const dir, /* Include user supplied include files */ /* Precompute derivatives */ - CCTK_REAL const PDstandard2nd1gxx = PDstandard2nd1(&gxx[index]); - CCTK_REAL const PDstandard2nd2gxx = PDstandard2nd2(&gxx[index]); - CCTK_REAL const PDstandard2nd3gxx = PDstandard2nd3(&gxx[index]); - CCTK_REAL const PDstandard2nd22gxx = PDstandard2nd22(&gxx[index]); - CCTK_REAL const PDstandard2nd33gxx = PDstandard2nd33(&gxx[index]); - CCTK_REAL const PDstandard2nd23gxx = PDstandard2nd23(&gxx[index]); - CCTK_REAL const PDstandard2nd1gxy = PDstandard2nd1(&gxy[index]); - CCTK_REAL const PDstandard2nd2gxy = PDstandard2nd2(&gxy[index]); - CCTK_REAL const PDstandard2nd3gxy = PDstandard2nd3(&gxy[index]); - CCTK_REAL const PDstandard2nd33gxy = PDstandard2nd33(&gxy[index]); - CCTK_REAL const PDstandard2nd12gxy = PDstandard2nd12(&gxy[index]); - CCTK_REAL const PDstandard2nd13gxy = PDstandard2nd13(&gxy[index]); - CCTK_REAL const PDstandard2nd23gxy = PDstandard2nd23(&gxy[index]); - CCTK_REAL const PDstandard2nd1gxz = PDstandard2nd1(&gxz[index]); - CCTK_REAL const PDstandard2nd2gxz = PDstandard2nd2(&gxz[index]); - CCTK_REAL const PDstandard2nd3gxz = PDstandard2nd3(&gxz[index]); - CCTK_REAL const PDstandard2nd22gxz = PDstandard2nd22(&gxz[index]); - CCTK_REAL const PDstandard2nd12gxz = PDstandard2nd12(&gxz[index]); - CCTK_REAL const PDstandard2nd13gxz = PDstandard2nd13(&gxz[index]); - CCTK_REAL const PDstandard2nd23gxz = PDstandard2nd23(&gxz[index]); - CCTK_REAL const PDstandard2nd1gyy = PDstandard2nd1(&gyy[index]); - CCTK_REAL const PDstandard2nd2gyy = PDstandard2nd2(&gyy[index]); - CCTK_REAL const PDstandard2nd3gyy = PDstandard2nd3(&gyy[index]); - CCTK_REAL const PDstandard2nd11gyy = PDstandard2nd11(&gyy[index]); - CCTK_REAL const PDstandard2nd33gyy = PDstandard2nd33(&gyy[index]); - CCTK_REAL const PDstandard2nd13gyy = PDstandard2nd13(&gyy[index]); - CCTK_REAL const PDstandard2nd1gyz = PDstandard2nd1(&gyz[index]); - CCTK_REAL const PDstandard2nd2gyz = PDstandard2nd2(&gyz[index]); - CCTK_REAL const PDstandard2nd3gyz = PDstandard2nd3(&gyz[index]); - CCTK_REAL const PDstandard2nd11gyz = PDstandard2nd11(&gyz[index]); - CCTK_REAL const PDstandard2nd12gyz = PDstandard2nd12(&gyz[index]); - CCTK_REAL const PDstandard2nd13gyz = PDstandard2nd13(&gyz[index]); - CCTK_REAL const PDstandard2nd23gyz = PDstandard2nd23(&gyz[index]); - CCTK_REAL const PDstandard2nd1gzz = PDstandard2nd1(&gzz[index]); - CCTK_REAL const PDstandard2nd2gzz = PDstandard2nd2(&gzz[index]); - CCTK_REAL const PDstandard2nd3gzz = PDstandard2nd3(&gzz[index]); - CCTK_REAL const PDstandard2nd11gzz = PDstandard2nd11(&gzz[index]); - CCTK_REAL const PDstandard2nd22gzz = PDstandard2nd22(&gzz[index]); - CCTK_REAL const PDstandard2nd12gzz = PDstandard2nd12(&gzz[index]); - CCTK_REAL const PDstandard2nd2kxx = PDstandard2nd2(&kxx[index]); - CCTK_REAL const PDstandard2nd3kxx = PDstandard2nd3(&kxx[index]); - CCTK_REAL const PDstandard2nd1kxy = PDstandard2nd1(&kxy[index]); - CCTK_REAL const PDstandard2nd2kxy = PDstandard2nd2(&kxy[index]); - CCTK_REAL const PDstandard2nd3kxy = PDstandard2nd3(&kxy[index]); - CCTK_REAL const PDstandard2nd1kxz = PDstandard2nd1(&kxz[index]); - CCTK_REAL const PDstandard2nd2kxz = PDstandard2nd2(&kxz[index]); - CCTK_REAL const PDstandard2nd3kxz = PDstandard2nd3(&kxz[index]); - CCTK_REAL const PDstandard2nd1kyy = PDstandard2nd1(&kyy[index]); - CCTK_REAL const PDstandard2nd3kyy = PDstandard2nd3(&kyy[index]); - CCTK_REAL const PDstandard2nd1kyz = PDstandard2nd1(&kyz[index]); - CCTK_REAL const PDstandard2nd2kyz = PDstandard2nd2(&kyz[index]); - CCTK_REAL const PDstandard2nd3kyz = PDstandard2nd3(&kyz[index]); - CCTK_REAL const PDstandard2nd1kzz = PDstandard2nd1(&kzz[index]); - CCTK_REAL const PDstandard2nd2kzz = PDstandard2nd2(&kzz[index]); + CCTK_REAL PDstandard2nd1gxx; + CCTK_REAL PDstandard2nd2gxx; + CCTK_REAL PDstandard2nd3gxx; + CCTK_REAL PDstandard2nd22gxx; + CCTK_REAL PDstandard2nd33gxx; + CCTK_REAL PDstandard2nd23gxx; + CCTK_REAL PDstandard2nd1gxy; + CCTK_REAL PDstandard2nd2gxy; + CCTK_REAL PDstandard2nd3gxy; + CCTK_REAL PDstandard2nd33gxy; + CCTK_REAL PDstandard2nd12gxy; + CCTK_REAL PDstandard2nd13gxy; + CCTK_REAL PDstandard2nd23gxy; + CCTK_REAL PDstandard2nd1gxz; + CCTK_REAL PDstandard2nd2gxz; + CCTK_REAL PDstandard2nd3gxz; + CCTK_REAL PDstandard2nd22gxz; + CCTK_REAL PDstandard2nd12gxz; + CCTK_REAL PDstandard2nd13gxz; + CCTK_REAL PDstandard2nd23gxz; + CCTK_REAL PDstandard2nd1gyy; + CCTK_REAL PDstandard2nd2gyy; + CCTK_REAL PDstandard2nd3gyy; + CCTK_REAL PDstandard2nd11gyy; + CCTK_REAL PDstandard2nd33gyy; + CCTK_REAL PDstandard2nd13gyy; + CCTK_REAL PDstandard2nd1gyz; + CCTK_REAL PDstandard2nd2gyz; + CCTK_REAL PDstandard2nd3gyz; + CCTK_REAL PDstandard2nd11gyz; + CCTK_REAL PDstandard2nd12gyz; + CCTK_REAL PDstandard2nd13gyz; + CCTK_REAL PDstandard2nd23gyz; + CCTK_REAL PDstandard2nd1gzz; + CCTK_REAL PDstandard2nd2gzz; + CCTK_REAL PDstandard2nd3gzz; + CCTK_REAL PDstandard2nd11gzz; + CCTK_REAL PDstandard2nd22gzz; + CCTK_REAL PDstandard2nd12gzz; + CCTK_REAL PDstandard2nd2kxx; + CCTK_REAL PDstandard2nd3kxx; + CCTK_REAL PDstandard2nd1kxy; + CCTK_REAL PDstandard2nd2kxy; + CCTK_REAL PDstandard2nd3kxy; + CCTK_REAL PDstandard2nd1kxz; + CCTK_REAL PDstandard2nd2kxz; + CCTK_REAL PDstandard2nd3kxz; + CCTK_REAL PDstandard2nd1kyy; + CCTK_REAL PDstandard2nd3kyy; + CCTK_REAL PDstandard2nd1kyz; + CCTK_REAL PDstandard2nd2kyz; + CCTK_REAL PDstandard2nd3kyz; + CCTK_REAL PDstandard2nd1kzz; + CCTK_REAL PDstandard2nd2kzz; + + switch(fdOrder) + { + case 2: + PDstandard2nd1gxx = PDstandard2nd1(&gxx[index]); + PDstandard2nd2gxx = PDstandard2nd2(&gxx[index]); + PDstandard2nd3gxx = PDstandard2nd3(&gxx[index]); + PDstandard2nd22gxx = PDstandard2nd22(&gxx[index]); + PDstandard2nd33gxx = PDstandard2nd33(&gxx[index]); + PDstandard2nd23gxx = PDstandard2nd23(&gxx[index]); + PDstandard2nd1gxy = PDstandard2nd1(&gxy[index]); + PDstandard2nd2gxy = PDstandard2nd2(&gxy[index]); + PDstandard2nd3gxy = PDstandard2nd3(&gxy[index]); + PDstandard2nd33gxy = PDstandard2nd33(&gxy[index]); + PDstandard2nd12gxy = PDstandard2nd12(&gxy[index]); + PDstandard2nd13gxy = PDstandard2nd13(&gxy[index]); + PDstandard2nd23gxy = PDstandard2nd23(&gxy[index]); + PDstandard2nd1gxz = PDstandard2nd1(&gxz[index]); + PDstandard2nd2gxz = PDstandard2nd2(&gxz[index]); + PDstandard2nd3gxz = PDstandard2nd3(&gxz[index]); + PDstandard2nd22gxz = PDstandard2nd22(&gxz[index]); + PDstandard2nd12gxz = PDstandard2nd12(&gxz[index]); + PDstandard2nd13gxz = PDstandard2nd13(&gxz[index]); + PDstandard2nd23gxz = PDstandard2nd23(&gxz[index]); + PDstandard2nd1gyy = PDstandard2nd1(&gyy[index]); + PDstandard2nd2gyy = PDstandard2nd2(&gyy[index]); + PDstandard2nd3gyy = PDstandard2nd3(&gyy[index]); + PDstandard2nd11gyy = PDstandard2nd11(&gyy[index]); + PDstandard2nd33gyy = PDstandard2nd33(&gyy[index]); + PDstandard2nd13gyy = PDstandard2nd13(&gyy[index]); + PDstandard2nd1gyz = PDstandard2nd1(&gyz[index]); + PDstandard2nd2gyz = PDstandard2nd2(&gyz[index]); + PDstandard2nd3gyz = PDstandard2nd3(&gyz[index]); + PDstandard2nd11gyz = PDstandard2nd11(&gyz[index]); + PDstandard2nd12gyz = PDstandard2nd12(&gyz[index]); + PDstandard2nd13gyz = PDstandard2nd13(&gyz[index]); + PDstandard2nd23gyz = PDstandard2nd23(&gyz[index]); + PDstandard2nd1gzz = PDstandard2nd1(&gzz[index]); + PDstandard2nd2gzz = PDstandard2nd2(&gzz[index]); + PDstandard2nd3gzz = PDstandard2nd3(&gzz[index]); + PDstandard2nd11gzz = PDstandard2nd11(&gzz[index]); + PDstandard2nd22gzz = PDstandard2nd22(&gzz[index]); + PDstandard2nd12gzz = PDstandard2nd12(&gzz[index]); + PDstandard2nd2kxx = PDstandard2nd2(&kxx[index]); + PDstandard2nd3kxx = PDstandard2nd3(&kxx[index]); + PDstandard2nd1kxy = PDstandard2nd1(&kxy[index]); + PDstandard2nd2kxy = PDstandard2nd2(&kxy[index]); + PDstandard2nd3kxy = PDstandard2nd3(&kxy[index]); + PDstandard2nd1kxz = PDstandard2nd1(&kxz[index]); + PDstandard2nd2kxz = PDstandard2nd2(&kxz[index]); + PDstandard2nd3kxz = PDstandard2nd3(&kxz[index]); + PDstandard2nd1kyy = PDstandard2nd1(&kyy[index]); + PDstandard2nd3kyy = PDstandard2nd3(&kyy[index]); + PDstandard2nd1kyz = PDstandard2nd1(&kyz[index]); + PDstandard2nd2kyz = PDstandard2nd2(&kyz[index]); + PDstandard2nd3kyz = PDstandard2nd3(&kyz[index]); + PDstandard2nd1kzz = PDstandard2nd1(&kzz[index]); + PDstandard2nd2kzz = PDstandard2nd2(&kzz[index]); + break; + + case 4: + PDstandard2nd1gxx = PDstandard2nd1(&gxx[index]); + PDstandard2nd2gxx = PDstandard2nd2(&gxx[index]); + PDstandard2nd3gxx = PDstandard2nd3(&gxx[index]); + PDstandard2nd22gxx = PDstandard2nd22(&gxx[index]); + PDstandard2nd33gxx = PDstandard2nd33(&gxx[index]); + PDstandard2nd23gxx = PDstandard2nd23(&gxx[index]); + PDstandard2nd1gxy = PDstandard2nd1(&gxy[index]); + PDstandard2nd2gxy = PDstandard2nd2(&gxy[index]); + PDstandard2nd3gxy = PDstandard2nd3(&gxy[index]); + PDstandard2nd33gxy = PDstandard2nd33(&gxy[index]); + PDstandard2nd12gxy = PDstandard2nd12(&gxy[index]); + PDstandard2nd13gxy = PDstandard2nd13(&gxy[index]); + PDstandard2nd23gxy = PDstandard2nd23(&gxy[index]); + PDstandard2nd1gxz = PDstandard2nd1(&gxz[index]); + PDstandard2nd2gxz = PDstandard2nd2(&gxz[index]); + PDstandard2nd3gxz = PDstandard2nd3(&gxz[index]); + PDstandard2nd22gxz = PDstandard2nd22(&gxz[index]); + PDstandard2nd12gxz = PDstandard2nd12(&gxz[index]); + PDstandard2nd13gxz = PDstandard2nd13(&gxz[index]); + PDstandard2nd23gxz = PDstandard2nd23(&gxz[index]); + PDstandard2nd1gyy = PDstandard2nd1(&gyy[index]); + PDstandard2nd2gyy = PDstandard2nd2(&gyy[index]); + PDstandard2nd3gyy = PDstandard2nd3(&gyy[index]); + PDstandard2nd11gyy = PDstandard2nd11(&gyy[index]); + PDstandard2nd33gyy = PDstandard2nd33(&gyy[index]); + PDstandard2nd13gyy = PDstandard2nd13(&gyy[index]); + PDstandard2nd1gyz = PDstandard2nd1(&gyz[index]); + PDstandard2nd2gyz = PDstandard2nd2(&gyz[index]); + PDstandard2nd3gyz = PDstandard2nd3(&gyz[index]); + PDstandard2nd11gyz = PDstandard2nd11(&gyz[index]); + PDstandard2nd12gyz = PDstandard2nd12(&gyz[index]); + PDstandard2nd13gyz = PDstandard2nd13(&gyz[index]); + PDstandard2nd23gyz = PDstandard2nd23(&gyz[index]); + PDstandard2nd1gzz = PDstandard2nd1(&gzz[index]); + PDstandard2nd2gzz = PDstandard2nd2(&gzz[index]); + PDstandard2nd3gzz = PDstandard2nd3(&gzz[index]); + PDstandard2nd11gzz = PDstandard2nd11(&gzz[index]); + PDstandard2nd22gzz = PDstandard2nd22(&gzz[index]); + PDstandard2nd12gzz = PDstandard2nd12(&gzz[index]); + PDstandard2nd2kxx = PDstandard2nd2(&kxx[index]); + PDstandard2nd3kxx = PDstandard2nd3(&kxx[index]); + PDstandard2nd1kxy = PDstandard2nd1(&kxy[index]); + PDstandard2nd2kxy = PDstandard2nd2(&kxy[index]); + PDstandard2nd3kxy = PDstandard2nd3(&kxy[index]); + PDstandard2nd1kxz = PDstandard2nd1(&kxz[index]); + PDstandard2nd2kxz = PDstandard2nd2(&kxz[index]); + PDstandard2nd3kxz = PDstandard2nd3(&kxz[index]); + PDstandard2nd1kyy = PDstandard2nd1(&kyy[index]); + PDstandard2nd3kyy = PDstandard2nd3(&kyy[index]); + PDstandard2nd1kyz = PDstandard2nd1(&kyz[index]); + PDstandard2nd2kyz = PDstandard2nd2(&kyz[index]); + PDstandard2nd3kyz = PDstandard2nd3(&kyz[index]); + PDstandard2nd1kzz = PDstandard2nd1(&kzz[index]); + PDstandard2nd2kzz = PDstandard2nd2(&kzz[index]); + break; + + case 6: + PDstandard2nd1gxx = PDstandard2nd1(&gxx[index]); + PDstandard2nd2gxx = PDstandard2nd2(&gxx[index]); + PDstandard2nd3gxx = PDstandard2nd3(&gxx[index]); + PDstandard2nd22gxx = PDstandard2nd22(&gxx[index]); + PDstandard2nd33gxx = PDstandard2nd33(&gxx[index]); + PDstandard2nd23gxx = PDstandard2nd23(&gxx[index]); + PDstandard2nd1gxy = PDstandard2nd1(&gxy[index]); + PDstandard2nd2gxy = PDstandard2nd2(&gxy[index]); + PDstandard2nd3gxy = PDstandard2nd3(&gxy[index]); + PDstandard2nd33gxy = PDstandard2nd33(&gxy[index]); + PDstandard2nd12gxy = PDstandard2nd12(&gxy[index]); + PDstandard2nd13gxy = PDstandard2nd13(&gxy[index]); + PDstandard2nd23gxy = PDstandard2nd23(&gxy[index]); + PDstandard2nd1gxz = PDstandard2nd1(&gxz[index]); + PDstandard2nd2gxz = PDstandard2nd2(&gxz[index]); + PDstandard2nd3gxz = PDstandard2nd3(&gxz[index]); + PDstandard2nd22gxz = PDstandard2nd22(&gxz[index]); + PDstandard2nd12gxz = PDstandard2nd12(&gxz[index]); + PDstandard2nd13gxz = PDstandard2nd13(&gxz[index]); + PDstandard2nd23gxz = PDstandard2nd23(&gxz[index]); + PDstandard2nd1gyy = PDstandard2nd1(&gyy[index]); + PDstandard2nd2gyy = PDstandard2nd2(&gyy[index]); + PDstandard2nd3gyy = PDstandard2nd3(&gyy[index]); + PDstandard2nd11gyy = PDstandard2nd11(&gyy[index]); + PDstandard2nd33gyy = PDstandard2nd33(&gyy[index]); + PDstandard2nd13gyy = PDstandard2nd13(&gyy[index]); + PDstandard2nd1gyz = PDstandard2nd1(&gyz[index]); + PDstandard2nd2gyz = PDstandard2nd2(&gyz[index]); + PDstandard2nd3gyz = PDstandard2nd3(&gyz[index]); + PDstandard2nd11gyz = PDstandard2nd11(&gyz[index]); + PDstandard2nd12gyz = PDstandard2nd12(&gyz[index]); + PDstandard2nd13gyz = PDstandard2nd13(&gyz[index]); + PDstandard2nd23gyz = PDstandard2nd23(&gyz[index]); + PDstandard2nd1gzz = PDstandard2nd1(&gzz[index]); + PDstandard2nd2gzz = PDstandard2nd2(&gzz[index]); + PDstandard2nd3gzz = PDstandard2nd3(&gzz[index]); + PDstandard2nd11gzz = PDstandard2nd11(&gzz[index]); + PDstandard2nd22gzz = PDstandard2nd22(&gzz[index]); + PDstandard2nd12gzz = PDstandard2nd12(&gzz[index]); + PDstandard2nd2kxx = PDstandard2nd2(&kxx[index]); + PDstandard2nd3kxx = PDstandard2nd3(&kxx[index]); + PDstandard2nd1kxy = PDstandard2nd1(&kxy[index]); + PDstandard2nd2kxy = PDstandard2nd2(&kxy[index]); + PDstandard2nd3kxy = PDstandard2nd3(&kxy[index]); + PDstandard2nd1kxz = PDstandard2nd1(&kxz[index]); + PDstandard2nd2kxz = PDstandard2nd2(&kxz[index]); + PDstandard2nd3kxz = PDstandard2nd3(&kxz[index]); + PDstandard2nd1kyy = PDstandard2nd1(&kyy[index]); + PDstandard2nd3kyy = PDstandard2nd3(&kyy[index]); + PDstandard2nd1kyz = PDstandard2nd1(&kyz[index]); + PDstandard2nd2kyz = PDstandard2nd2(&kyz[index]); + PDstandard2nd3kyz = PDstandard2nd3(&kyz[index]); + PDstandard2nd1kzz = PDstandard2nd1(&kzz[index]); + PDstandard2nd2kzz = PDstandard2nd2(&kzz[index]); + break; + + case 8: + PDstandard2nd1gxx = PDstandard2nd1(&gxx[index]); + PDstandard2nd2gxx = PDstandard2nd2(&gxx[index]); + PDstandard2nd3gxx = PDstandard2nd3(&gxx[index]); + PDstandard2nd22gxx = PDstandard2nd22(&gxx[index]); + PDstandard2nd33gxx = PDstandard2nd33(&gxx[index]); + PDstandard2nd23gxx = PDstandard2nd23(&gxx[index]); + PDstandard2nd1gxy = PDstandard2nd1(&gxy[index]); + PDstandard2nd2gxy = PDstandard2nd2(&gxy[index]); + PDstandard2nd3gxy = PDstandard2nd3(&gxy[index]); + PDstandard2nd33gxy = PDstandard2nd33(&gxy[index]); + PDstandard2nd12gxy = PDstandard2nd12(&gxy[index]); + PDstandard2nd13gxy = PDstandard2nd13(&gxy[index]); + PDstandard2nd23gxy = PDstandard2nd23(&gxy[index]); + PDstandard2nd1gxz = PDstandard2nd1(&gxz[index]); + PDstandard2nd2gxz = PDstandard2nd2(&gxz[index]); + PDstandard2nd3gxz = PDstandard2nd3(&gxz[index]); + PDstandard2nd22gxz = PDstandard2nd22(&gxz[index]); + PDstandard2nd12gxz = PDstandard2nd12(&gxz[index]); + PDstandard2nd13gxz = PDstandard2nd13(&gxz[index]); + PDstandard2nd23gxz = PDstandard2nd23(&gxz[index]); + PDstandard2nd1gyy = PDstandard2nd1(&gyy[index]); + PDstandard2nd2gyy = PDstandard2nd2(&gyy[index]); + PDstandard2nd3gyy = PDstandard2nd3(&gyy[index]); + PDstandard2nd11gyy = PDstandard2nd11(&gyy[index]); + PDstandard2nd33gyy = PDstandard2nd33(&gyy[index]); + PDstandard2nd13gyy = PDstandard2nd13(&gyy[index]); + PDstandard2nd1gyz = PDstandard2nd1(&gyz[index]); + PDstandard2nd2gyz = PDstandard2nd2(&gyz[index]); + PDstandard2nd3gyz = PDstandard2nd3(&gyz[index]); + PDstandard2nd11gyz = PDstandard2nd11(&gyz[index]); + PDstandard2nd12gyz = PDstandard2nd12(&gyz[index]); + PDstandard2nd13gyz = PDstandard2nd13(&gyz[index]); + PDstandard2nd23gyz = PDstandard2nd23(&gyz[index]); + PDstandard2nd1gzz = PDstandard2nd1(&gzz[index]); + PDstandard2nd2gzz = PDstandard2nd2(&gzz[index]); + PDstandard2nd3gzz = PDstandard2nd3(&gzz[index]); + PDstandard2nd11gzz = PDstandard2nd11(&gzz[index]); + PDstandard2nd22gzz = PDstandard2nd22(&gzz[index]); + PDstandard2nd12gzz = PDstandard2nd12(&gzz[index]); + PDstandard2nd2kxx = PDstandard2nd2(&kxx[index]); + PDstandard2nd3kxx = PDstandard2nd3(&kxx[index]); + PDstandard2nd1kxy = PDstandard2nd1(&kxy[index]); + PDstandard2nd2kxy = PDstandard2nd2(&kxy[index]); + PDstandard2nd3kxy = PDstandard2nd3(&kxy[index]); + PDstandard2nd1kxz = PDstandard2nd1(&kxz[index]); + PDstandard2nd2kxz = PDstandard2nd2(&kxz[index]); + PDstandard2nd3kxz = PDstandard2nd3(&kxz[index]); + PDstandard2nd1kyy = PDstandard2nd1(&kyy[index]); + PDstandard2nd3kyy = PDstandard2nd3(&kyy[index]); + PDstandard2nd1kyz = PDstandard2nd1(&kyz[index]); + PDstandard2nd2kyz = PDstandard2nd2(&kyz[index]); + PDstandard2nd3kyz = PDstandard2nd3(&kyz[index]); + PDstandard2nd1kzz = PDstandard2nd1(&kzz[index]); + PDstandard2nd2kzz = PDstandard2nd2(&kzz[index]); + break; + } /* Calculate temporaries and grid functions */ CCTK_REAL detg = 2*gxyL*gxzL*gyzL + gzzL*(gxxL*gyyL - SQR(gxyL)) - |