aboutsummaryrefslogtreecommitdiff
path: root/src/psis_calc_4th.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/psis_calc_4th.cc')
-rw-r--r--src/psis_calc_4th.cc376
1 files changed, 321 insertions, 55 deletions
diff --git a/src/psis_calc_4th.cc b/src/psis_calc_4th.cc
index 9aa697e..d6fc90d 100644
--- a/src/psis_calc_4th.cc
+++ b/src/psis_calc_4th.cc
@@ -57,7 +57,24 @@ static void psis_calc_4th_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_4th", 5, groups);
- GenericFD_EnsureStencilFits(cctkGH, "psis_calc_4th", 2, 2, 2);
+ switch(fdOrder)
+ {
+ case 2:
+ GenericFD_EnsureStencilFits(cctkGH, "psis_calc_4th", 2, 2, 2);
+ break;
+
+ case 4:
+ GenericFD_EnsureStencilFits(cctkGH, "psis_calc_4th", 2, 2, 2);
+ break;
+
+ case 6:
+ GenericFD_EnsureStencilFits(cctkGH, "psis_calc_4th", 2, 2, 2);
+ break;
+
+ case 8:
+ GenericFD_EnsureStencilFits(cctkGH, "psis_calc_4th", 2, 2, 2);
+ break;
+ }
/* Include user-supplied include files */
@@ -91,12 +108,30 @@ static void psis_calc_4th_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_4th_Body(cGH const * restrict const cctkGH, int const dir,
/* Include user supplied include files */
/* Precompute derivatives */
- CCTK_REAL const PDstandard4th1gxx = PDstandard4th1(&gxx[index]);
- CCTK_REAL const PDstandard4th2gxx = PDstandard4th2(&gxx[index]);
- CCTK_REAL const PDstandard4th3gxx = PDstandard4th3(&gxx[index]);
- CCTK_REAL const PDstandard4th22gxx = PDstandard4th22(&gxx[index]);
- CCTK_REAL const PDstandard4th33gxx = PDstandard4th33(&gxx[index]);
- CCTK_REAL const PDstandard4th23gxx = PDstandard4th23(&gxx[index]);
- CCTK_REAL const PDstandard4th1gxy = PDstandard4th1(&gxy[index]);
- CCTK_REAL const PDstandard4th2gxy = PDstandard4th2(&gxy[index]);
- CCTK_REAL const PDstandard4th3gxy = PDstandard4th3(&gxy[index]);
- CCTK_REAL const PDstandard4th33gxy = PDstandard4th33(&gxy[index]);
- CCTK_REAL const PDstandard4th12gxy = PDstandard4th12(&gxy[index]);
- CCTK_REAL const PDstandard4th13gxy = PDstandard4th13(&gxy[index]);
- CCTK_REAL const PDstandard4th23gxy = PDstandard4th23(&gxy[index]);
- CCTK_REAL const PDstandard4th1gxz = PDstandard4th1(&gxz[index]);
- CCTK_REAL const PDstandard4th2gxz = PDstandard4th2(&gxz[index]);
- CCTK_REAL const PDstandard4th3gxz = PDstandard4th3(&gxz[index]);
- CCTK_REAL const PDstandard4th22gxz = PDstandard4th22(&gxz[index]);
- CCTK_REAL const PDstandard4th12gxz = PDstandard4th12(&gxz[index]);
- CCTK_REAL const PDstandard4th13gxz = PDstandard4th13(&gxz[index]);
- CCTK_REAL const PDstandard4th23gxz = PDstandard4th23(&gxz[index]);
- CCTK_REAL const PDstandard4th1gyy = PDstandard4th1(&gyy[index]);
- CCTK_REAL const PDstandard4th2gyy = PDstandard4th2(&gyy[index]);
- CCTK_REAL const PDstandard4th3gyy = PDstandard4th3(&gyy[index]);
- CCTK_REAL const PDstandard4th11gyy = PDstandard4th11(&gyy[index]);
- CCTK_REAL const PDstandard4th33gyy = PDstandard4th33(&gyy[index]);
- CCTK_REAL const PDstandard4th13gyy = PDstandard4th13(&gyy[index]);
- CCTK_REAL const PDstandard4th1gyz = PDstandard4th1(&gyz[index]);
- CCTK_REAL const PDstandard4th2gyz = PDstandard4th2(&gyz[index]);
- CCTK_REAL const PDstandard4th3gyz = PDstandard4th3(&gyz[index]);
- CCTK_REAL const PDstandard4th11gyz = PDstandard4th11(&gyz[index]);
- CCTK_REAL const PDstandard4th12gyz = PDstandard4th12(&gyz[index]);
- CCTK_REAL const PDstandard4th13gyz = PDstandard4th13(&gyz[index]);
- CCTK_REAL const PDstandard4th23gyz = PDstandard4th23(&gyz[index]);
- CCTK_REAL const PDstandard4th1gzz = PDstandard4th1(&gzz[index]);
- CCTK_REAL const PDstandard4th2gzz = PDstandard4th2(&gzz[index]);
- CCTK_REAL const PDstandard4th3gzz = PDstandard4th3(&gzz[index]);
- CCTK_REAL const PDstandard4th11gzz = PDstandard4th11(&gzz[index]);
- CCTK_REAL const PDstandard4th22gzz = PDstandard4th22(&gzz[index]);
- CCTK_REAL const PDstandard4th12gzz = PDstandard4th12(&gzz[index]);
- CCTK_REAL const PDstandard4th2kxx = PDstandard4th2(&kxx[index]);
- CCTK_REAL const PDstandard4th3kxx = PDstandard4th3(&kxx[index]);
- CCTK_REAL const PDstandard4th1kxy = PDstandard4th1(&kxy[index]);
- CCTK_REAL const PDstandard4th2kxy = PDstandard4th2(&kxy[index]);
- CCTK_REAL const PDstandard4th3kxy = PDstandard4th3(&kxy[index]);
- CCTK_REAL const PDstandard4th1kxz = PDstandard4th1(&kxz[index]);
- CCTK_REAL const PDstandard4th2kxz = PDstandard4th2(&kxz[index]);
- CCTK_REAL const PDstandard4th3kxz = PDstandard4th3(&kxz[index]);
- CCTK_REAL const PDstandard4th1kyy = PDstandard4th1(&kyy[index]);
- CCTK_REAL const PDstandard4th3kyy = PDstandard4th3(&kyy[index]);
- CCTK_REAL const PDstandard4th1kyz = PDstandard4th1(&kyz[index]);
- CCTK_REAL const PDstandard4th2kyz = PDstandard4th2(&kyz[index]);
- CCTK_REAL const PDstandard4th3kyz = PDstandard4th3(&kyz[index]);
- CCTK_REAL const PDstandard4th1kzz = PDstandard4th1(&kzz[index]);
- CCTK_REAL const PDstandard4th2kzz = PDstandard4th2(&kzz[index]);
+ CCTK_REAL PDstandard4th1gxx;
+ CCTK_REAL PDstandard4th2gxx;
+ CCTK_REAL PDstandard4th3gxx;
+ CCTK_REAL PDstandard4th22gxx;
+ CCTK_REAL PDstandard4th33gxx;
+ CCTK_REAL PDstandard4th23gxx;
+ CCTK_REAL PDstandard4th1gxy;
+ CCTK_REAL PDstandard4th2gxy;
+ CCTK_REAL PDstandard4th3gxy;
+ CCTK_REAL PDstandard4th33gxy;
+ CCTK_REAL PDstandard4th12gxy;
+ CCTK_REAL PDstandard4th13gxy;
+ CCTK_REAL PDstandard4th23gxy;
+ CCTK_REAL PDstandard4th1gxz;
+ CCTK_REAL PDstandard4th2gxz;
+ CCTK_REAL PDstandard4th3gxz;
+ CCTK_REAL PDstandard4th22gxz;
+ CCTK_REAL PDstandard4th12gxz;
+ CCTK_REAL PDstandard4th13gxz;
+ CCTK_REAL PDstandard4th23gxz;
+ CCTK_REAL PDstandard4th1gyy;
+ CCTK_REAL PDstandard4th2gyy;
+ CCTK_REAL PDstandard4th3gyy;
+ CCTK_REAL PDstandard4th11gyy;
+ CCTK_REAL PDstandard4th33gyy;
+ CCTK_REAL PDstandard4th13gyy;
+ CCTK_REAL PDstandard4th1gyz;
+ CCTK_REAL PDstandard4th2gyz;
+ CCTK_REAL PDstandard4th3gyz;
+ CCTK_REAL PDstandard4th11gyz;
+ CCTK_REAL PDstandard4th12gyz;
+ CCTK_REAL PDstandard4th13gyz;
+ CCTK_REAL PDstandard4th23gyz;
+ CCTK_REAL PDstandard4th1gzz;
+ CCTK_REAL PDstandard4th2gzz;
+ CCTK_REAL PDstandard4th3gzz;
+ CCTK_REAL PDstandard4th11gzz;
+ CCTK_REAL PDstandard4th22gzz;
+ CCTK_REAL PDstandard4th12gzz;
+ CCTK_REAL PDstandard4th2kxx;
+ CCTK_REAL PDstandard4th3kxx;
+ CCTK_REAL PDstandard4th1kxy;
+ CCTK_REAL PDstandard4th2kxy;
+ CCTK_REAL PDstandard4th3kxy;
+ CCTK_REAL PDstandard4th1kxz;
+ CCTK_REAL PDstandard4th2kxz;
+ CCTK_REAL PDstandard4th3kxz;
+ CCTK_REAL PDstandard4th1kyy;
+ CCTK_REAL PDstandard4th3kyy;
+ CCTK_REAL PDstandard4th1kyz;
+ CCTK_REAL PDstandard4th2kyz;
+ CCTK_REAL PDstandard4th3kyz;
+ CCTK_REAL PDstandard4th1kzz;
+ CCTK_REAL PDstandard4th2kzz;
+
+ switch(fdOrder)
+ {
+ case 2:
+ PDstandard4th1gxx = PDstandard4th1(&gxx[index]);
+ PDstandard4th2gxx = PDstandard4th2(&gxx[index]);
+ PDstandard4th3gxx = PDstandard4th3(&gxx[index]);
+ PDstandard4th22gxx = PDstandard4th22(&gxx[index]);
+ PDstandard4th33gxx = PDstandard4th33(&gxx[index]);
+ PDstandard4th23gxx = PDstandard4th23(&gxx[index]);
+ PDstandard4th1gxy = PDstandard4th1(&gxy[index]);
+ PDstandard4th2gxy = PDstandard4th2(&gxy[index]);
+ PDstandard4th3gxy = PDstandard4th3(&gxy[index]);
+ PDstandard4th33gxy = PDstandard4th33(&gxy[index]);
+ PDstandard4th12gxy = PDstandard4th12(&gxy[index]);
+ PDstandard4th13gxy = PDstandard4th13(&gxy[index]);
+ PDstandard4th23gxy = PDstandard4th23(&gxy[index]);
+ PDstandard4th1gxz = PDstandard4th1(&gxz[index]);
+ PDstandard4th2gxz = PDstandard4th2(&gxz[index]);
+ PDstandard4th3gxz = PDstandard4th3(&gxz[index]);
+ PDstandard4th22gxz = PDstandard4th22(&gxz[index]);
+ PDstandard4th12gxz = PDstandard4th12(&gxz[index]);
+ PDstandard4th13gxz = PDstandard4th13(&gxz[index]);
+ PDstandard4th23gxz = PDstandard4th23(&gxz[index]);
+ PDstandard4th1gyy = PDstandard4th1(&gyy[index]);
+ PDstandard4th2gyy = PDstandard4th2(&gyy[index]);
+ PDstandard4th3gyy = PDstandard4th3(&gyy[index]);
+ PDstandard4th11gyy = PDstandard4th11(&gyy[index]);
+ PDstandard4th33gyy = PDstandard4th33(&gyy[index]);
+ PDstandard4th13gyy = PDstandard4th13(&gyy[index]);
+ PDstandard4th1gyz = PDstandard4th1(&gyz[index]);
+ PDstandard4th2gyz = PDstandard4th2(&gyz[index]);
+ PDstandard4th3gyz = PDstandard4th3(&gyz[index]);
+ PDstandard4th11gyz = PDstandard4th11(&gyz[index]);
+ PDstandard4th12gyz = PDstandard4th12(&gyz[index]);
+ PDstandard4th13gyz = PDstandard4th13(&gyz[index]);
+ PDstandard4th23gyz = PDstandard4th23(&gyz[index]);
+ PDstandard4th1gzz = PDstandard4th1(&gzz[index]);
+ PDstandard4th2gzz = PDstandard4th2(&gzz[index]);
+ PDstandard4th3gzz = PDstandard4th3(&gzz[index]);
+ PDstandard4th11gzz = PDstandard4th11(&gzz[index]);
+ PDstandard4th22gzz = PDstandard4th22(&gzz[index]);
+ PDstandard4th12gzz = PDstandard4th12(&gzz[index]);
+ PDstandard4th2kxx = PDstandard4th2(&kxx[index]);
+ PDstandard4th3kxx = PDstandard4th3(&kxx[index]);
+ PDstandard4th1kxy = PDstandard4th1(&kxy[index]);
+ PDstandard4th2kxy = PDstandard4th2(&kxy[index]);
+ PDstandard4th3kxy = PDstandard4th3(&kxy[index]);
+ PDstandard4th1kxz = PDstandard4th1(&kxz[index]);
+ PDstandard4th2kxz = PDstandard4th2(&kxz[index]);
+ PDstandard4th3kxz = PDstandard4th3(&kxz[index]);
+ PDstandard4th1kyy = PDstandard4th1(&kyy[index]);
+ PDstandard4th3kyy = PDstandard4th3(&kyy[index]);
+ PDstandard4th1kyz = PDstandard4th1(&kyz[index]);
+ PDstandard4th2kyz = PDstandard4th2(&kyz[index]);
+ PDstandard4th3kyz = PDstandard4th3(&kyz[index]);
+ PDstandard4th1kzz = PDstandard4th1(&kzz[index]);
+ PDstandard4th2kzz = PDstandard4th2(&kzz[index]);
+ break;
+
+ case 4:
+ PDstandard4th1gxx = PDstandard4th1(&gxx[index]);
+ PDstandard4th2gxx = PDstandard4th2(&gxx[index]);
+ PDstandard4th3gxx = PDstandard4th3(&gxx[index]);
+ PDstandard4th22gxx = PDstandard4th22(&gxx[index]);
+ PDstandard4th33gxx = PDstandard4th33(&gxx[index]);
+ PDstandard4th23gxx = PDstandard4th23(&gxx[index]);
+ PDstandard4th1gxy = PDstandard4th1(&gxy[index]);
+ PDstandard4th2gxy = PDstandard4th2(&gxy[index]);
+ PDstandard4th3gxy = PDstandard4th3(&gxy[index]);
+ PDstandard4th33gxy = PDstandard4th33(&gxy[index]);
+ PDstandard4th12gxy = PDstandard4th12(&gxy[index]);
+ PDstandard4th13gxy = PDstandard4th13(&gxy[index]);
+ PDstandard4th23gxy = PDstandard4th23(&gxy[index]);
+ PDstandard4th1gxz = PDstandard4th1(&gxz[index]);
+ PDstandard4th2gxz = PDstandard4th2(&gxz[index]);
+ PDstandard4th3gxz = PDstandard4th3(&gxz[index]);
+ PDstandard4th22gxz = PDstandard4th22(&gxz[index]);
+ PDstandard4th12gxz = PDstandard4th12(&gxz[index]);
+ PDstandard4th13gxz = PDstandard4th13(&gxz[index]);
+ PDstandard4th23gxz = PDstandard4th23(&gxz[index]);
+ PDstandard4th1gyy = PDstandard4th1(&gyy[index]);
+ PDstandard4th2gyy = PDstandard4th2(&gyy[index]);
+ PDstandard4th3gyy = PDstandard4th3(&gyy[index]);
+ PDstandard4th11gyy = PDstandard4th11(&gyy[index]);
+ PDstandard4th33gyy = PDstandard4th33(&gyy[index]);
+ PDstandard4th13gyy = PDstandard4th13(&gyy[index]);
+ PDstandard4th1gyz = PDstandard4th1(&gyz[index]);
+ PDstandard4th2gyz = PDstandard4th2(&gyz[index]);
+ PDstandard4th3gyz = PDstandard4th3(&gyz[index]);
+ PDstandard4th11gyz = PDstandard4th11(&gyz[index]);
+ PDstandard4th12gyz = PDstandard4th12(&gyz[index]);
+ PDstandard4th13gyz = PDstandard4th13(&gyz[index]);
+ PDstandard4th23gyz = PDstandard4th23(&gyz[index]);
+ PDstandard4th1gzz = PDstandard4th1(&gzz[index]);
+ PDstandard4th2gzz = PDstandard4th2(&gzz[index]);
+ PDstandard4th3gzz = PDstandard4th3(&gzz[index]);
+ PDstandard4th11gzz = PDstandard4th11(&gzz[index]);
+ PDstandard4th22gzz = PDstandard4th22(&gzz[index]);
+ PDstandard4th12gzz = PDstandard4th12(&gzz[index]);
+ PDstandard4th2kxx = PDstandard4th2(&kxx[index]);
+ PDstandard4th3kxx = PDstandard4th3(&kxx[index]);
+ PDstandard4th1kxy = PDstandard4th1(&kxy[index]);
+ PDstandard4th2kxy = PDstandard4th2(&kxy[index]);
+ PDstandard4th3kxy = PDstandard4th3(&kxy[index]);
+ PDstandard4th1kxz = PDstandard4th1(&kxz[index]);
+ PDstandard4th2kxz = PDstandard4th2(&kxz[index]);
+ PDstandard4th3kxz = PDstandard4th3(&kxz[index]);
+ PDstandard4th1kyy = PDstandard4th1(&kyy[index]);
+ PDstandard4th3kyy = PDstandard4th3(&kyy[index]);
+ PDstandard4th1kyz = PDstandard4th1(&kyz[index]);
+ PDstandard4th2kyz = PDstandard4th2(&kyz[index]);
+ PDstandard4th3kyz = PDstandard4th3(&kyz[index]);
+ PDstandard4th1kzz = PDstandard4th1(&kzz[index]);
+ PDstandard4th2kzz = PDstandard4th2(&kzz[index]);
+ break;
+
+ case 6:
+ PDstandard4th1gxx = PDstandard4th1(&gxx[index]);
+ PDstandard4th2gxx = PDstandard4th2(&gxx[index]);
+ PDstandard4th3gxx = PDstandard4th3(&gxx[index]);
+ PDstandard4th22gxx = PDstandard4th22(&gxx[index]);
+ PDstandard4th33gxx = PDstandard4th33(&gxx[index]);
+ PDstandard4th23gxx = PDstandard4th23(&gxx[index]);
+ PDstandard4th1gxy = PDstandard4th1(&gxy[index]);
+ PDstandard4th2gxy = PDstandard4th2(&gxy[index]);
+ PDstandard4th3gxy = PDstandard4th3(&gxy[index]);
+ PDstandard4th33gxy = PDstandard4th33(&gxy[index]);
+ PDstandard4th12gxy = PDstandard4th12(&gxy[index]);
+ PDstandard4th13gxy = PDstandard4th13(&gxy[index]);
+ PDstandard4th23gxy = PDstandard4th23(&gxy[index]);
+ PDstandard4th1gxz = PDstandard4th1(&gxz[index]);
+ PDstandard4th2gxz = PDstandard4th2(&gxz[index]);
+ PDstandard4th3gxz = PDstandard4th3(&gxz[index]);
+ PDstandard4th22gxz = PDstandard4th22(&gxz[index]);
+ PDstandard4th12gxz = PDstandard4th12(&gxz[index]);
+ PDstandard4th13gxz = PDstandard4th13(&gxz[index]);
+ PDstandard4th23gxz = PDstandard4th23(&gxz[index]);
+ PDstandard4th1gyy = PDstandard4th1(&gyy[index]);
+ PDstandard4th2gyy = PDstandard4th2(&gyy[index]);
+ PDstandard4th3gyy = PDstandard4th3(&gyy[index]);
+ PDstandard4th11gyy = PDstandard4th11(&gyy[index]);
+ PDstandard4th33gyy = PDstandard4th33(&gyy[index]);
+ PDstandard4th13gyy = PDstandard4th13(&gyy[index]);
+ PDstandard4th1gyz = PDstandard4th1(&gyz[index]);
+ PDstandard4th2gyz = PDstandard4th2(&gyz[index]);
+ PDstandard4th3gyz = PDstandard4th3(&gyz[index]);
+ PDstandard4th11gyz = PDstandard4th11(&gyz[index]);
+ PDstandard4th12gyz = PDstandard4th12(&gyz[index]);
+ PDstandard4th13gyz = PDstandard4th13(&gyz[index]);
+ PDstandard4th23gyz = PDstandard4th23(&gyz[index]);
+ PDstandard4th1gzz = PDstandard4th1(&gzz[index]);
+ PDstandard4th2gzz = PDstandard4th2(&gzz[index]);
+ PDstandard4th3gzz = PDstandard4th3(&gzz[index]);
+ PDstandard4th11gzz = PDstandard4th11(&gzz[index]);
+ PDstandard4th22gzz = PDstandard4th22(&gzz[index]);
+ PDstandard4th12gzz = PDstandard4th12(&gzz[index]);
+ PDstandard4th2kxx = PDstandard4th2(&kxx[index]);
+ PDstandard4th3kxx = PDstandard4th3(&kxx[index]);
+ PDstandard4th1kxy = PDstandard4th1(&kxy[index]);
+ PDstandard4th2kxy = PDstandard4th2(&kxy[index]);
+ PDstandard4th3kxy = PDstandard4th3(&kxy[index]);
+ PDstandard4th1kxz = PDstandard4th1(&kxz[index]);
+ PDstandard4th2kxz = PDstandard4th2(&kxz[index]);
+ PDstandard4th3kxz = PDstandard4th3(&kxz[index]);
+ PDstandard4th1kyy = PDstandard4th1(&kyy[index]);
+ PDstandard4th3kyy = PDstandard4th3(&kyy[index]);
+ PDstandard4th1kyz = PDstandard4th1(&kyz[index]);
+ PDstandard4th2kyz = PDstandard4th2(&kyz[index]);
+ PDstandard4th3kyz = PDstandard4th3(&kyz[index]);
+ PDstandard4th1kzz = PDstandard4th1(&kzz[index]);
+ PDstandard4th2kzz = PDstandard4th2(&kzz[index]);
+ break;
+
+ case 8:
+ PDstandard4th1gxx = PDstandard4th1(&gxx[index]);
+ PDstandard4th2gxx = PDstandard4th2(&gxx[index]);
+ PDstandard4th3gxx = PDstandard4th3(&gxx[index]);
+ PDstandard4th22gxx = PDstandard4th22(&gxx[index]);
+ PDstandard4th33gxx = PDstandard4th33(&gxx[index]);
+ PDstandard4th23gxx = PDstandard4th23(&gxx[index]);
+ PDstandard4th1gxy = PDstandard4th1(&gxy[index]);
+ PDstandard4th2gxy = PDstandard4th2(&gxy[index]);
+ PDstandard4th3gxy = PDstandard4th3(&gxy[index]);
+ PDstandard4th33gxy = PDstandard4th33(&gxy[index]);
+ PDstandard4th12gxy = PDstandard4th12(&gxy[index]);
+ PDstandard4th13gxy = PDstandard4th13(&gxy[index]);
+ PDstandard4th23gxy = PDstandard4th23(&gxy[index]);
+ PDstandard4th1gxz = PDstandard4th1(&gxz[index]);
+ PDstandard4th2gxz = PDstandard4th2(&gxz[index]);
+ PDstandard4th3gxz = PDstandard4th3(&gxz[index]);
+ PDstandard4th22gxz = PDstandard4th22(&gxz[index]);
+ PDstandard4th12gxz = PDstandard4th12(&gxz[index]);
+ PDstandard4th13gxz = PDstandard4th13(&gxz[index]);
+ PDstandard4th23gxz = PDstandard4th23(&gxz[index]);
+ PDstandard4th1gyy = PDstandard4th1(&gyy[index]);
+ PDstandard4th2gyy = PDstandard4th2(&gyy[index]);
+ PDstandard4th3gyy = PDstandard4th3(&gyy[index]);
+ PDstandard4th11gyy = PDstandard4th11(&gyy[index]);
+ PDstandard4th33gyy = PDstandard4th33(&gyy[index]);
+ PDstandard4th13gyy = PDstandard4th13(&gyy[index]);
+ PDstandard4th1gyz = PDstandard4th1(&gyz[index]);
+ PDstandard4th2gyz = PDstandard4th2(&gyz[index]);
+ PDstandard4th3gyz = PDstandard4th3(&gyz[index]);
+ PDstandard4th11gyz = PDstandard4th11(&gyz[index]);
+ PDstandard4th12gyz = PDstandard4th12(&gyz[index]);
+ PDstandard4th13gyz = PDstandard4th13(&gyz[index]);
+ PDstandard4th23gyz = PDstandard4th23(&gyz[index]);
+ PDstandard4th1gzz = PDstandard4th1(&gzz[index]);
+ PDstandard4th2gzz = PDstandard4th2(&gzz[index]);
+ PDstandard4th3gzz = PDstandard4th3(&gzz[index]);
+ PDstandard4th11gzz = PDstandard4th11(&gzz[index]);
+ PDstandard4th22gzz = PDstandard4th22(&gzz[index]);
+ PDstandard4th12gzz = PDstandard4th12(&gzz[index]);
+ PDstandard4th2kxx = PDstandard4th2(&kxx[index]);
+ PDstandard4th3kxx = PDstandard4th3(&kxx[index]);
+ PDstandard4th1kxy = PDstandard4th1(&kxy[index]);
+ PDstandard4th2kxy = PDstandard4th2(&kxy[index]);
+ PDstandard4th3kxy = PDstandard4th3(&kxy[index]);
+ PDstandard4th1kxz = PDstandard4th1(&kxz[index]);
+ PDstandard4th2kxz = PDstandard4th2(&kxz[index]);
+ PDstandard4th3kxz = PDstandard4th3(&kxz[index]);
+ PDstandard4th1kyy = PDstandard4th1(&kyy[index]);
+ PDstandard4th3kyy = PDstandard4th3(&kyy[index]);
+ PDstandard4th1kyz = PDstandard4th1(&kyz[index]);
+ PDstandard4th2kyz = PDstandard4th2(&kyz[index]);
+ PDstandard4th3kyz = PDstandard4th3(&kyz[index]);
+ PDstandard4th1kzz = PDstandard4th1(&kzz[index]);
+ PDstandard4th2kzz = PDstandard4th2(&kzz[index]);
+ break;
+ }
/* Calculate temporaries and grid functions */
CCTK_REAL detg = 2*gxyL*gxzL*gyzL + gzzL*(gxxL*gyyL - SQR(gxyL)) -