aboutsummaryrefslogtreecommitdiff
path: root/ML_CCZ4
diff options
context:
space:
mode:
authorErik Schnetter <schnetter@gmail.com>2012-07-03 21:32:38 -0400
committerErik Schnetter <schnetter@gmail.com>2012-07-03 21:32:38 -0400
commit9301a1b665598cafd094b7a653419de4cef77640 (patch)
tree59cd3810abd7afbc8071e50d002ce5be03c90ac8 /ML_CCZ4
parent42a4051247ff477c8973f985d68a0ccecd4e0aa8 (diff)
Introduce cctk_ash, retire cctk_lssh
Introduce cctk_ash, describing the process-local array shape that has been allocated. This may be larger than cctk_lsh, the process-local shape that should be used. Retire cctk_lssh and related infrastructure to handle staggered grid functions.
Diffstat (limited to 'ML_CCZ4')
-rw-r--r--ML_CCZ4/src/ML_CCZ4_Advect.cc176
-rw-r--r--ML_CCZ4/src/ML_CCZ4_Dissipation.cc164
-rw-r--r--ML_CCZ4/src/ML_CCZ4_InitGamma.cc164
-rw-r--r--ML_CCZ4/src/ML_CCZ4_InitRHS.cc164
-rw-r--r--ML_CCZ4/src/ML_CCZ4_Minkowski.cc164
-rw-r--r--ML_CCZ4/src/ML_CCZ4_RHS1.cc323
-rw-r--r--ML_CCZ4/src/ML_CCZ4_RHS2.cc268
-rw-r--r--ML_CCZ4/src/ML_CCZ4_RHSStaticBoundary.cc164
-rw-r--r--ML_CCZ4/src/ML_CCZ4_boundary.cc164
-rw-r--r--ML_CCZ4/src/ML_CCZ4_constraints1.cc260
-rw-r--r--ML_CCZ4/src/ML_CCZ4_constraints2.cc190
-rw-r--r--ML_CCZ4/src/ML_CCZ4_convertFromADMBase.cc180
-rw-r--r--ML_CCZ4/src/ML_CCZ4_convertFromADMBaseGamma.cc186
-rw-r--r--ML_CCZ4/src/ML_CCZ4_convertToADMBase.cc166
-rw-r--r--ML_CCZ4/src/ML_CCZ4_convertToADMBaseDtLapseShift.cc192
-rw-r--r--ML_CCZ4/src/ML_CCZ4_convertToADMBaseDtLapseShiftBoundary.cc180
-rw-r--r--ML_CCZ4/src/ML_CCZ4_convertToADMBaseFakeDtLapseShift.cc180
-rw-r--r--ML_CCZ4/src/ML_CCZ4_enforce.cc176
18 files changed, 1778 insertions, 1683 deletions
diff --git a/ML_CCZ4/src/ML_CCZ4_Advect.cc b/ML_CCZ4/src/ML_CCZ4_Advect.cc
index e10a3b5..ac6c312 100644
--- a/ML_CCZ4/src/ML_CCZ4_Advect.cc
+++ b/ML_CCZ4/src/ML_CCZ4_Advect.cc
@@ -18,10 +18,14 @@
/* Define macros used in calculations */
#define INITVALUE (42)
-#define QAD(x) (SQR(SQR(x)))
+#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 ML_CCZ4_Advect_SelectBCs(CCTK_ARGUMENTS)
{
@@ -95,84 +99,84 @@ static void ML_CCZ4_Advect_Body(cGH const * restrict const cctkGH, int const dir
CCTK_REAL_VEC const hdzi = kmul(ToReal(0.5), dzi);
/* Initialize predefined quantities */
- CCTK_REAL_VEC const p1o1024dx = kmul(INV(dx),ToReal(0.0009765625));
- CCTK_REAL_VEC const p1o1024dy = kmul(INV(dy),ToReal(0.0009765625));
- CCTK_REAL_VEC const p1o1024dz = kmul(INV(dz),ToReal(0.0009765625));
- CCTK_REAL_VEC const p1o120dx = kmul(INV(dx),ToReal(0.00833333333333333333333333333333));
- CCTK_REAL_VEC const p1o120dy = kmul(INV(dy),ToReal(0.00833333333333333333333333333333));
- CCTK_REAL_VEC const p1o120dz = kmul(INV(dz),ToReal(0.00833333333333333333333333333333));
- CCTK_REAL_VEC const p1o12dx = kmul(INV(dx),ToReal(0.0833333333333333333333333333333));
- CCTK_REAL_VEC const p1o12dy = kmul(INV(dy),ToReal(0.0833333333333333333333333333333));
- CCTK_REAL_VEC const p1o12dz = kmul(INV(dz),ToReal(0.0833333333333333333333333333333));
- CCTK_REAL_VEC const p1o144dxdy = kmul(INV(kmul(dx,dy)),ToReal(0.00694444444444444444444444444444));
- CCTK_REAL_VEC const p1o144dxdz = kmul(INV(kmul(dx,dz)),ToReal(0.00694444444444444444444444444444));
- CCTK_REAL_VEC const p1o144dydz = kmul(INV(kmul(dy,dz)),ToReal(0.00694444444444444444444444444444));
- CCTK_REAL_VEC const p1o1680dx = kmul(INV(dx),ToReal(0.000595238095238095238095238095238));
- CCTK_REAL_VEC const p1o1680dy = kmul(INV(dy),ToReal(0.000595238095238095238095238095238));
- CCTK_REAL_VEC const p1o1680dz = kmul(INV(dz),ToReal(0.000595238095238095238095238095238));
- CCTK_REAL_VEC const p1o16dx = kmul(INV(dx),ToReal(0.0625));
- CCTK_REAL_VEC const p1o16dy = kmul(INV(dy),ToReal(0.0625));
- CCTK_REAL_VEC const p1o16dz = kmul(INV(dz),ToReal(0.0625));
- CCTK_REAL_VEC const p1o180dx2 = kmul(INV(SQR(dx)),ToReal(0.00555555555555555555555555555556));
- CCTK_REAL_VEC const p1o180dy2 = kmul(INV(SQR(dy)),ToReal(0.00555555555555555555555555555556));
- CCTK_REAL_VEC const p1o180dz2 = kmul(INV(SQR(dz)),ToReal(0.00555555555555555555555555555556));
- CCTK_REAL_VEC const p1o24dx = kmul(INV(dx),ToReal(0.0416666666666666666666666666667));
- CCTK_REAL_VEC const p1o24dy = kmul(INV(dy),ToReal(0.0416666666666666666666666666667));
- CCTK_REAL_VEC const p1o24dz = kmul(INV(dz),ToReal(0.0416666666666666666666666666667));
- CCTK_REAL_VEC const p1o256dx = kmul(INV(dx),ToReal(0.00390625));
- CCTK_REAL_VEC const p1o256dy = kmul(INV(dy),ToReal(0.00390625));
- CCTK_REAL_VEC const p1o256dz = kmul(INV(dz),ToReal(0.00390625));
- CCTK_REAL_VEC const p1o2dx = kmul(INV(dx),ToReal(0.5));
- CCTK_REAL_VEC const p1o2dy = kmul(INV(dy),ToReal(0.5));
- CCTK_REAL_VEC const p1o2dz = kmul(INV(dz),ToReal(0.5));
- CCTK_REAL_VEC const p1o3600dxdy = kmul(INV(kmul(dx,dy)),ToReal(0.000277777777777777777777777777778));
- CCTK_REAL_VEC const p1o3600dxdz = kmul(INV(kmul(dx,dz)),ToReal(0.000277777777777777777777777777778));
- CCTK_REAL_VEC const p1o3600dydz = kmul(INV(kmul(dy,dz)),ToReal(0.000277777777777777777777777777778));
- CCTK_REAL_VEC const p1o4dx = kmul(INV(dx),ToReal(0.25));
- CCTK_REAL_VEC const p1o4dxdy = kmul(INV(kmul(dx,dy)),ToReal(0.25));
- CCTK_REAL_VEC const p1o4dxdz = kmul(INV(kmul(dx,dz)),ToReal(0.25));
- CCTK_REAL_VEC const p1o4dy = kmul(INV(dy),ToReal(0.25));
- CCTK_REAL_VEC const p1o4dydz = kmul(INV(kmul(dy,dz)),ToReal(0.25));
- CCTK_REAL_VEC const p1o4dz = kmul(INV(dz),ToReal(0.25));
- CCTK_REAL_VEC const p1o5040dx2 = kmul(INV(SQR(dx)),ToReal(0.000198412698412698412698412698413));
- CCTK_REAL_VEC const p1o5040dy2 = kmul(INV(SQR(dy)),ToReal(0.000198412698412698412698412698413));
- CCTK_REAL_VEC const p1o5040dz2 = kmul(INV(SQR(dz)),ToReal(0.000198412698412698412698412698413));
- CCTK_REAL_VEC const p1o560dx = kmul(INV(dx),ToReal(0.00178571428571428571428571428571));
- CCTK_REAL_VEC const p1o560dy = kmul(INV(dy),ToReal(0.00178571428571428571428571428571));
- CCTK_REAL_VEC const p1o560dz = kmul(INV(dz),ToReal(0.00178571428571428571428571428571));
- CCTK_REAL_VEC const p1o60dx = kmul(INV(dx),ToReal(0.0166666666666666666666666666667));
- CCTK_REAL_VEC const p1o60dy = kmul(INV(dy),ToReal(0.0166666666666666666666666666667));
- CCTK_REAL_VEC const p1o60dz = kmul(INV(dz),ToReal(0.0166666666666666666666666666667));
- CCTK_REAL_VEC const p1o64dx = kmul(INV(dx),ToReal(0.015625));
- CCTK_REAL_VEC const p1o64dy = kmul(INV(dy),ToReal(0.015625));
- CCTK_REAL_VEC const p1o64dz = kmul(INV(dz),ToReal(0.015625));
- CCTK_REAL_VEC const p1o705600dxdy = kmul(INV(kmul(dx,dy)),ToReal(1.41723356009070294784580498866e-6));
- CCTK_REAL_VEC const p1o705600dxdz = kmul(INV(kmul(dx,dz)),ToReal(1.41723356009070294784580498866e-6));
- CCTK_REAL_VEC const p1o705600dydz = kmul(INV(kmul(dy,dz)),ToReal(1.41723356009070294784580498866e-6));
- CCTK_REAL_VEC const p1o840dx = kmul(INV(dx),ToReal(0.00119047619047619047619047619048));
- CCTK_REAL_VEC const p1o840dy = kmul(INV(dy),ToReal(0.00119047619047619047619047619048));
- CCTK_REAL_VEC const p1o840dz = kmul(INV(dz),ToReal(0.00119047619047619047619047619048));
- CCTK_REAL_VEC const p1odx = INV(dx);
- CCTK_REAL_VEC const p1odx2 = INV(SQR(dx));
- CCTK_REAL_VEC const p1ody = INV(dy);
- CCTK_REAL_VEC const p1ody2 = INV(SQR(dy));
- CCTK_REAL_VEC const p1odz = INV(dz);
- CCTK_REAL_VEC const p1odz2 = INV(SQR(dz));
- CCTK_REAL_VEC const pm1o120dx = kmul(INV(dx),ToReal(-0.00833333333333333333333333333333));
- CCTK_REAL_VEC const pm1o120dy = kmul(INV(dy),ToReal(-0.00833333333333333333333333333333));
- CCTK_REAL_VEC const pm1o120dz = kmul(INV(dz),ToReal(-0.00833333333333333333333333333333));
- CCTK_REAL_VEC const pm1o12dx2 = kmul(INV(SQR(dx)),ToReal(-0.0833333333333333333333333333333));
- CCTK_REAL_VEC const pm1o12dy2 = kmul(INV(SQR(dy)),ToReal(-0.0833333333333333333333333333333));
- CCTK_REAL_VEC const pm1o12dz2 = kmul(INV(SQR(dz)),ToReal(-0.0833333333333333333333333333333));
- CCTK_REAL_VEC const pm1o2dx = kmul(INV(dx),ToReal(-0.5));
- CCTK_REAL_VEC const pm1o2dy = kmul(INV(dy),ToReal(-0.5));
- CCTK_REAL_VEC const pm1o2dz = kmul(INV(dz),ToReal(-0.5));
- CCTK_REAL_VEC const pm1o4dx = kmul(INV(dx),ToReal(-0.25));
- CCTK_REAL_VEC const pm1o4dy = kmul(INV(dy),ToReal(-0.25));
- CCTK_REAL_VEC const pm1o4dz = kmul(INV(dz),ToReal(-0.25));
- CCTK_REAL_VEC const pm1o60dx = kmul(INV(dx),ToReal(-0.0166666666666666666666666666667));
- CCTK_REAL_VEC const pm1o60dy = kmul(INV(dy),ToReal(-0.0166666666666666666666666666667));
- CCTK_REAL_VEC const pm1o60dz = kmul(INV(dz),ToReal(-0.0166666666666666666666666666667));
+ CCTK_REAL_VEC const p1o1024dx = kdiv(ToReal(0.0009765625),dx);
+ CCTK_REAL_VEC const p1o1024dy = kdiv(ToReal(0.0009765625),dy);
+ CCTK_REAL_VEC const p1o1024dz = kdiv(ToReal(0.0009765625),dz);
+ CCTK_REAL_VEC const p1o120dx = kdiv(ToReal(0.00833333333333333333333333333333),dx);
+ CCTK_REAL_VEC const p1o120dy = kdiv(ToReal(0.00833333333333333333333333333333),dy);
+ CCTK_REAL_VEC const p1o120dz = kdiv(ToReal(0.00833333333333333333333333333333),dz);
+ CCTK_REAL_VEC const p1o12dx = kdiv(ToReal(0.0833333333333333333333333333333),dx);
+ CCTK_REAL_VEC const p1o12dy = kdiv(ToReal(0.0833333333333333333333333333333),dy);
+ CCTK_REAL_VEC const p1o12dz = kdiv(ToReal(0.0833333333333333333333333333333),dz);
+ CCTK_REAL_VEC const p1o144dxdy = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dy,dx));
+ CCTK_REAL_VEC const p1o144dxdz = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dx));
+ CCTK_REAL_VEC const p1o144dydz = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dy));
+ CCTK_REAL_VEC const p1o1680dx = kdiv(ToReal(0.000595238095238095238095238095238),dx);
+ CCTK_REAL_VEC const p1o1680dy = kdiv(ToReal(0.000595238095238095238095238095238),dy);
+ CCTK_REAL_VEC const p1o1680dz = kdiv(ToReal(0.000595238095238095238095238095238),dz);
+ CCTK_REAL_VEC const p1o16dx = kdiv(ToReal(0.0625),dx);
+ CCTK_REAL_VEC const p1o16dy = kdiv(ToReal(0.0625),dy);
+ CCTK_REAL_VEC const p1o16dz = kdiv(ToReal(0.0625),dz);
+ CCTK_REAL_VEC const p1o180dx2 = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dx,dx));
+ CCTK_REAL_VEC const p1o180dy2 = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dy,dy));
+ CCTK_REAL_VEC const p1o180dz2 = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dz,dz));
+ CCTK_REAL_VEC const p1o24dx = kdiv(ToReal(0.0416666666666666666666666666667),dx);
+ CCTK_REAL_VEC const p1o24dy = kdiv(ToReal(0.0416666666666666666666666666667),dy);
+ CCTK_REAL_VEC const p1o24dz = kdiv(ToReal(0.0416666666666666666666666666667),dz);
+ CCTK_REAL_VEC const p1o256dx = kdiv(ToReal(0.00390625),dx);
+ CCTK_REAL_VEC const p1o256dy = kdiv(ToReal(0.00390625),dy);
+ CCTK_REAL_VEC const p1o256dz = kdiv(ToReal(0.00390625),dz);
+ CCTK_REAL_VEC const p1o2dx = kdiv(ToReal(0.5),dx);
+ CCTK_REAL_VEC const p1o2dy = kdiv(ToReal(0.5),dy);
+ CCTK_REAL_VEC const p1o2dz = kdiv(ToReal(0.5),dz);
+ CCTK_REAL_VEC const p1o3600dxdy = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dy,dx));
+ CCTK_REAL_VEC const p1o3600dxdz = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dx));
+ CCTK_REAL_VEC const p1o3600dydz = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dy));
+ CCTK_REAL_VEC const p1o4dx = kdiv(ToReal(0.25),dx);
+ CCTK_REAL_VEC const p1o4dxdy = kdiv(ToReal(0.25),kmul(dy,dx));
+ CCTK_REAL_VEC const p1o4dxdz = kdiv(ToReal(0.25),kmul(dz,dx));
+ CCTK_REAL_VEC const p1o4dy = kdiv(ToReal(0.25),dy);
+ CCTK_REAL_VEC const p1o4dydz = kdiv(ToReal(0.25),kmul(dz,dy));
+ CCTK_REAL_VEC const p1o4dz = kdiv(ToReal(0.25),dz);
+ CCTK_REAL_VEC const p1o5040dx2 = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dx,dx));
+ CCTK_REAL_VEC const p1o5040dy2 = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dy,dy));
+ CCTK_REAL_VEC const p1o5040dz2 = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dz,dz));
+ CCTK_REAL_VEC const p1o560dx = kdiv(ToReal(0.00178571428571428571428571428571),dx);
+ CCTK_REAL_VEC const p1o560dy = kdiv(ToReal(0.00178571428571428571428571428571),dy);
+ CCTK_REAL_VEC const p1o560dz = kdiv(ToReal(0.00178571428571428571428571428571),dz);
+ CCTK_REAL_VEC const p1o60dx = kdiv(ToReal(0.0166666666666666666666666666667),dx);
+ CCTK_REAL_VEC const p1o60dy = kdiv(ToReal(0.0166666666666666666666666666667),dy);
+ CCTK_REAL_VEC const p1o60dz = kdiv(ToReal(0.0166666666666666666666666666667),dz);
+ CCTK_REAL_VEC const p1o64dx = kdiv(ToReal(0.015625),dx);
+ CCTK_REAL_VEC const p1o64dy = kdiv(ToReal(0.015625),dy);
+ CCTK_REAL_VEC const p1o64dz = kdiv(ToReal(0.015625),dz);
+ CCTK_REAL_VEC const p1o705600dxdy = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dy,dx));
+ CCTK_REAL_VEC const p1o705600dxdz = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dx));
+ CCTK_REAL_VEC const p1o705600dydz = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dy));
+ CCTK_REAL_VEC const p1o840dx = kdiv(ToReal(0.00119047619047619047619047619048),dx);
+ CCTK_REAL_VEC const p1o840dy = kdiv(ToReal(0.00119047619047619047619047619048),dy);
+ CCTK_REAL_VEC const p1o840dz = kdiv(ToReal(0.00119047619047619047619047619048),dz);
+ CCTK_REAL_VEC const p1odx = kdiv(ToReal(1),dx);
+ CCTK_REAL_VEC const p1odx2 = kdiv(ToReal(1),kmul(dx,dx));
+ CCTK_REAL_VEC const p1ody = kdiv(ToReal(1),dy);
+ CCTK_REAL_VEC const p1ody2 = kdiv(ToReal(1),kmul(dy,dy));
+ CCTK_REAL_VEC const p1odz = kdiv(ToReal(1),dz);
+ CCTK_REAL_VEC const p1odz2 = kdiv(ToReal(1),kmul(dz,dz));
+ CCTK_REAL_VEC const pm1o120dx = kdiv(ToReal(-0.00833333333333333333333333333333),dx);
+ CCTK_REAL_VEC const pm1o120dy = kdiv(ToReal(-0.00833333333333333333333333333333),dy);
+ CCTK_REAL_VEC const pm1o120dz = kdiv(ToReal(-0.00833333333333333333333333333333),dz);
+ CCTK_REAL_VEC const pm1o12dx2 = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dx,dx));
+ CCTK_REAL_VEC const pm1o12dy2 = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dy,dy));
+ CCTK_REAL_VEC const pm1o12dz2 = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dz,dz));
+ CCTK_REAL_VEC const pm1o2dx = kdiv(ToReal(-0.5),dx);
+ CCTK_REAL_VEC const pm1o2dy = kdiv(ToReal(-0.5),dy);
+ CCTK_REAL_VEC const pm1o2dz = kdiv(ToReal(-0.5),dz);
+ CCTK_REAL_VEC const pm1o4dx = kdiv(ToReal(-0.25),dx);
+ CCTK_REAL_VEC const pm1o4dy = kdiv(ToReal(-0.25),dy);
+ CCTK_REAL_VEC const pm1o4dz = kdiv(ToReal(-0.25),dz);
+ CCTK_REAL_VEC const pm1o60dx = kdiv(ToReal(-0.0166666666666666666666666666667),dx);
+ CCTK_REAL_VEC const pm1o60dy = kdiv(ToReal(-0.0166666666666666666666666666667),dy);
+ CCTK_REAL_VEC const pm1o60dz = kdiv(ToReal(-0.0166666666666666666666666666667),dz);
/* Jacobian variable pointers */
bool const use_jacobian = (!CCTK_IsFunctionAliased("MultiPatch_GetMap") || MultiPatch_GetMap(cctkGH) != jacobian_identity_map)
@@ -231,7 +235,7 @@ static void ML_CCZ4_Advect_Body(cGH const * restrict const cctkGH, int const dir
#pragma omp parallel
LC_LOOP3VEC(ML_CCZ4_Advect,
i,j,k, imin[0],imin[1],imin[2], imax[0],imax[1],imax[2],
- cctk_lsh[0],cctk_lsh[1],cctk_lsh[2],
+ cctk_ash[0],cctk_ash[1],cctk_ash[2],
CCTK_REAL_VEC_SIZE)
{
ptrdiff_t const index = di*i + dj*j + dk*k;
@@ -2113,7 +2117,8 @@ static void ML_CCZ4_Advect_Body(cGH const * restrict const cctkGH, int const dir
kmadd(kmadd(beta1L,JacPDupwindNthAnti1alpha,kmadd(beta2L,JacPDupwindNthAnti2alpha,kmadd(beta3L,JacPDupwindNthAnti3alpha,kmadd(JacPDupwindNthSymm1alpha,kfabs(beta1L),kmadd(JacPDupwindNthSymm2alpha,kfabs(beta2L),kmul(JacPDupwindNthSymm3alpha,kfabs(beta3L))))))),ToReal(LapseAdvectionCoeff),alpharhsL);
ArhsL =
- kmadd(ToReal(LapseACoeff),kmsub(kmadd(beta1L,JacPDupwindNthAnti1A,kmadd(beta2L,JacPDupwindNthAnti2A,kmadd(beta3L,JacPDupwindNthAnti3A,kmadd(JacPDupwindNthSymm1A,kfabs(beta1L),kmadd(JacPDupwindNthSymm2A,kfabs(beta2L),kmul(JacPDupwindNthSymm3A,kfabs(beta3L))))))),ToReal(LapseAdvectionCoeff),kmul(kmadd(beta1L,JacPDupwindNthAnti1trK,kmadd(beta2L,JacPDupwindNthAnti2trK,kmadd(beta3L,JacPDupwindNthAnti3trK,kmadd(JacPDupwindNthSymm1trK,kfabs(beta1L),kmadd(JacPDupwindNthSymm2trK,kfabs(beta2L),kmul(JacPDupwindNthSymm3trK,kfabs(beta3L))))))),kadd(ToReal(-1),ToReal(LapseAdvectionCoeff)))),ArhsL);
+ kmadd(ToReal(LapseACoeff),kmsub(kmadd(beta1L,JacPDupwindNthAnti1A,kmadd(beta2L,JacPDupwindNthAnti2A,kmadd(beta3L,JacPDupwindNthAnti3A,kmadd(JacPDupwindNthSymm1A,kfabs(beta1L),kmadd(JacPDupwindNthSymm2A,kfabs(beta2L),kmul(JacPDupwindNthSymm3A,kfabs(beta3L))))))),ToReal(LapseAdvectionCoeff),kmul(kmadd(beta1L,JacPDupwindNthAnti1trK,kmadd(beta2L,JacPDupwindNthAnti2trK,kmadd(beta3L,JacPDupwindNthAnti3trK,kmadd(JacPDupwindNthSymm1trK,kfabs(beta1L),kmadd(JacPDupwindNthSymm2trK,kfabs(beta2L),kmul(JacPDupwindNthSymm3trK,kfabs(beta3L))))))),ToReal(-1
+ + LapseAdvectionCoeff))),ArhsL);
beta1rhsL =
kmadd(kmadd(beta1L,JacPDupwindNthAnti1beta1,kmadd(beta2L,JacPDupwindNthAnti2beta1,kmadd(beta3L,JacPDupwindNthAnti3beta1,kmadd(JacPDupwindNthSymm1beta1,kfabs(beta1L),kmadd(JacPDupwindNthSymm2beta1,kfabs(beta2L),kmul(JacPDupwindNthSymm3beta1,kfabs(beta3L))))))),ToReal(ShiftAdvectionCoeff),beta1rhsL);
@@ -2125,13 +2130,16 @@ static void ML_CCZ4_Advect_Body(cGH const * restrict const cctkGH, int const dir
kmadd(kmadd(beta1L,JacPDupwindNthAnti1beta3,kmadd(beta2L,JacPDupwindNthAnti2beta3,kmadd(beta3L,JacPDupwindNthAnti3beta3,kmadd(JacPDupwindNthSymm1beta3,kfabs(beta1L),kmadd(JacPDupwindNthSymm2beta3,kfabs(beta2L),kmul(JacPDupwindNthSymm3beta3,kfabs(beta3L))))))),ToReal(ShiftAdvectionCoeff),beta3rhsL);
B1rhsL =
- kmadd(kmsub(kmadd(beta1L,JacPDupwindNthAnti1B1,kmadd(beta2L,JacPDupwindNthAnti2B1,kmadd(beta3L,JacPDupwindNthAnti3B1,kmadd(JacPDupwindNthSymm1B1,kfabs(beta1L),kmadd(JacPDupwindNthSymm2B1,kfabs(beta2L),kmul(JacPDupwindNthSymm3B1,kfabs(beta3L))))))),ToReal(ShiftAdvectionCoeff),kmul(kmadd(beta1L,JacPDupwindNthAnti1Xt1,kmadd(beta2L,JacPDupwindNthAnti2Xt1,kmadd(beta3L,JacPDupwindNthAnti3Xt1,kmadd(JacPDupwindNthSymm1Xt1,kfabs(beta1L),kmadd(JacPDupwindNthSymm2Xt1,kfabs(beta2L),kmul(JacPDupwindNthSymm3Xt1,kfabs(beta3L))))))),kadd(ToReal(-1),ToReal(ShiftAdvectionCoeff)))),ToReal(ShiftBCoeff),B1rhsL);
+ kmadd(kmsub(kmadd(beta1L,JacPDupwindNthAnti1B1,kmadd(beta2L,JacPDupwindNthAnti2B1,kmadd(beta3L,JacPDupwindNthAnti3B1,kmadd(JacPDupwindNthSymm1B1,kfabs(beta1L),kmadd(JacPDupwindNthSymm2B1,kfabs(beta2L),kmul(JacPDupwindNthSymm3B1,kfabs(beta3L))))))),ToReal(ShiftAdvectionCoeff),kmul(kmadd(beta1L,JacPDupwindNthAnti1Xt1,kmadd(beta2L,JacPDupwindNthAnti2Xt1,kmadd(beta3L,JacPDupwindNthAnti3Xt1,kmadd(JacPDupwindNthSymm1Xt1,kfabs(beta1L),kmadd(JacPDupwindNthSymm2Xt1,kfabs(beta2L),kmul(JacPDupwindNthSymm3Xt1,kfabs(beta3L))))))),ToReal(-1
+ + ShiftAdvectionCoeff))),ToReal(ShiftBCoeff),B1rhsL);
B2rhsL =
- kmadd(kmsub(kmadd(beta1L,JacPDupwindNthAnti1B2,kmadd(beta2L,JacPDupwindNthAnti2B2,kmadd(beta3L,JacPDupwindNthAnti3B2,kmadd(JacPDupwindNthSymm1B2,kfabs(beta1L),kmadd(JacPDupwindNthSymm2B2,kfabs(beta2L),kmul(JacPDupwindNthSymm3B2,kfabs(beta3L))))))),ToReal(ShiftAdvectionCoeff),kmul(kmadd(beta1L,JacPDupwindNthAnti1Xt2,kmadd(beta2L,JacPDupwindNthAnti2Xt2,kmadd(beta3L,JacPDupwindNthAnti3Xt2,kmadd(JacPDupwindNthSymm1Xt2,kfabs(beta1L),kmadd(JacPDupwindNthSymm2Xt2,kfabs(beta2L),kmul(JacPDupwindNthSymm3Xt2,kfabs(beta3L))))))),kadd(ToReal(-1),ToReal(ShiftAdvectionCoeff)))),ToReal(ShiftBCoeff),B2rhsL);
+ kmadd(kmsub(kmadd(beta1L,JacPDupwindNthAnti1B2,kmadd(beta2L,JacPDupwindNthAnti2B2,kmadd(beta3L,JacPDupwindNthAnti3B2,kmadd(JacPDupwindNthSymm1B2,kfabs(beta1L),kmadd(JacPDupwindNthSymm2B2,kfabs(beta2L),kmul(JacPDupwindNthSymm3B2,kfabs(beta3L))))))),ToReal(ShiftAdvectionCoeff),kmul(kmadd(beta1L,JacPDupwindNthAnti1Xt2,kmadd(beta2L,JacPDupwindNthAnti2Xt2,kmadd(beta3L,JacPDupwindNthAnti3Xt2,kmadd(JacPDupwindNthSymm1Xt2,kfabs(beta1L),kmadd(JacPDupwindNthSymm2Xt2,kfabs(beta2L),kmul(JacPDupwindNthSymm3Xt2,kfabs(beta3L))))))),ToReal(-1
+ + ShiftAdvectionCoeff))),ToReal(ShiftBCoeff),B2rhsL);
B3rhsL =
- kmadd(kmsub(kmadd(beta1L,JacPDupwindNthAnti1B3,kmadd(beta2L,JacPDupwindNthAnti2B3,kmadd(beta3L,JacPDupwindNthAnti3B3,kmadd(JacPDupwindNthSymm1B3,kfabs(beta1L),kmadd(JacPDupwindNthSymm2B3,kfabs(beta2L),kmul(JacPDupwindNthSymm3B3,kfabs(beta3L))))))),ToReal(ShiftAdvectionCoeff),kmul(kmadd(beta1L,JacPDupwindNthAnti1Xt3,kmadd(beta2L,JacPDupwindNthAnti2Xt3,kmadd(beta3L,JacPDupwindNthAnti3Xt3,kmadd(JacPDupwindNthSymm1Xt3,kfabs(beta1L),kmadd(JacPDupwindNthSymm2Xt3,kfabs(beta2L),kmul(JacPDupwindNthSymm3Xt3,kfabs(beta3L))))))),kadd(ToReal(-1),ToReal(ShiftAdvectionCoeff)))),ToReal(ShiftBCoeff),B3rhsL);
+ kmadd(kmsub(kmadd(beta1L,JacPDupwindNthAnti1B3,kmadd(beta2L,JacPDupwindNthAnti2B3,kmadd(beta3L,JacPDupwindNthAnti3B3,kmadd(JacPDupwindNthSymm1B3,kfabs(beta1L),kmadd(JacPDupwindNthSymm2B3,kfabs(beta2L),kmul(JacPDupwindNthSymm3B3,kfabs(beta3L))))))),ToReal(ShiftAdvectionCoeff),kmul(kmadd(beta1L,JacPDupwindNthAnti1Xt3,kmadd(beta2L,JacPDupwindNthAnti2Xt3,kmadd(beta3L,JacPDupwindNthAnti3Xt3,kmadd(JacPDupwindNthSymm1Xt3,kfabs(beta1L),kmadd(JacPDupwindNthSymm2Xt3,kfabs(beta2L),kmul(JacPDupwindNthSymm3Xt3,kfabs(beta3L))))))),ToReal(-1
+ + ShiftAdvectionCoeff))),ToReal(ShiftBCoeff),B3rhsL);
/* Copy local copies back to grid functions */
vec_store_partial_prepare(i,lc_imin,lc_imax);
diff --git a/ML_CCZ4/src/ML_CCZ4_Dissipation.cc b/ML_CCZ4/src/ML_CCZ4_Dissipation.cc
index 4e8770d..59fc7bb 100644
--- a/ML_CCZ4/src/ML_CCZ4_Dissipation.cc
+++ b/ML_CCZ4/src/ML_CCZ4_Dissipation.cc
@@ -18,10 +18,14 @@
/* Define macros used in calculations */
#define INITVALUE (42)
-#define QAD(x) (SQR(SQR(x)))
+#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 ML_CCZ4_Dissipation_SelectBCs(CCTK_ARGUMENTS)
{
@@ -95,84 +99,84 @@ static void ML_CCZ4_Dissipation_Body(cGH const * restrict const cctkGH, int cons
CCTK_REAL_VEC const hdzi = kmul(ToReal(0.5), dzi);
/* Initialize predefined quantities */
- CCTK_REAL_VEC const p1o1024dx = kmul(INV(dx),ToReal(0.0009765625));
- CCTK_REAL_VEC const p1o1024dy = kmul(INV(dy),ToReal(0.0009765625));
- CCTK_REAL_VEC const p1o1024dz = kmul(INV(dz),ToReal(0.0009765625));
- CCTK_REAL_VEC const p1o120dx = kmul(INV(dx),ToReal(0.00833333333333333333333333333333));
- CCTK_REAL_VEC const p1o120dy = kmul(INV(dy),ToReal(0.00833333333333333333333333333333));
- CCTK_REAL_VEC const p1o120dz = kmul(INV(dz),ToReal(0.00833333333333333333333333333333));
- CCTK_REAL_VEC const p1o12dx = kmul(INV(dx),ToReal(0.0833333333333333333333333333333));
- CCTK_REAL_VEC const p1o12dy = kmul(INV(dy),ToReal(0.0833333333333333333333333333333));
- CCTK_REAL_VEC const p1o12dz = kmul(INV(dz),ToReal(0.0833333333333333333333333333333));
- CCTK_REAL_VEC const p1o144dxdy = kmul(INV(kmul(dx,dy)),ToReal(0.00694444444444444444444444444444));
- CCTK_REAL_VEC const p1o144dxdz = kmul(INV(kmul(dx,dz)),ToReal(0.00694444444444444444444444444444));
- CCTK_REAL_VEC const p1o144dydz = kmul(INV(kmul(dy,dz)),ToReal(0.00694444444444444444444444444444));
- CCTK_REAL_VEC const p1o1680dx = kmul(INV(dx),ToReal(0.000595238095238095238095238095238));
- CCTK_REAL_VEC const p1o1680dy = kmul(INV(dy),ToReal(0.000595238095238095238095238095238));
- CCTK_REAL_VEC const p1o1680dz = kmul(INV(dz),ToReal(0.000595238095238095238095238095238));
- CCTK_REAL_VEC const p1o16dx = kmul(INV(dx),ToReal(0.0625));
- CCTK_REAL_VEC const p1o16dy = kmul(INV(dy),ToReal(0.0625));
- CCTK_REAL_VEC const p1o16dz = kmul(INV(dz),ToReal(0.0625));
- CCTK_REAL_VEC const p1o180dx2 = kmul(INV(SQR(dx)),ToReal(0.00555555555555555555555555555556));
- CCTK_REAL_VEC const p1o180dy2 = kmul(INV(SQR(dy)),ToReal(0.00555555555555555555555555555556));
- CCTK_REAL_VEC const p1o180dz2 = kmul(INV(SQR(dz)),ToReal(0.00555555555555555555555555555556));
- CCTK_REAL_VEC const p1o24dx = kmul(INV(dx),ToReal(0.0416666666666666666666666666667));
- CCTK_REAL_VEC const p1o24dy = kmul(INV(dy),ToReal(0.0416666666666666666666666666667));
- CCTK_REAL_VEC const p1o24dz = kmul(INV(dz),ToReal(0.0416666666666666666666666666667));
- CCTK_REAL_VEC const p1o256dx = kmul(INV(dx),ToReal(0.00390625));
- CCTK_REAL_VEC const p1o256dy = kmul(INV(dy),ToReal(0.00390625));
- CCTK_REAL_VEC const p1o256dz = kmul(INV(dz),ToReal(0.00390625));
- CCTK_REAL_VEC const p1o2dx = kmul(INV(dx),ToReal(0.5));
- CCTK_REAL_VEC const p1o2dy = kmul(INV(dy),ToReal(0.5));
- CCTK_REAL_VEC const p1o2dz = kmul(INV(dz),ToReal(0.5));
- CCTK_REAL_VEC const p1o3600dxdy = kmul(INV(kmul(dx,dy)),ToReal(0.000277777777777777777777777777778));
- CCTK_REAL_VEC const p1o3600dxdz = kmul(INV(kmul(dx,dz)),ToReal(0.000277777777777777777777777777778));
- CCTK_REAL_VEC const p1o3600dydz = kmul(INV(kmul(dy,dz)),ToReal(0.000277777777777777777777777777778));
- CCTK_REAL_VEC const p1o4dx = kmul(INV(dx),ToReal(0.25));
- CCTK_REAL_VEC const p1o4dxdy = kmul(INV(kmul(dx,dy)),ToReal(0.25));
- CCTK_REAL_VEC const p1o4dxdz = kmul(INV(kmul(dx,dz)),ToReal(0.25));
- CCTK_REAL_VEC const p1o4dy = kmul(INV(dy),ToReal(0.25));
- CCTK_REAL_VEC const p1o4dydz = kmul(INV(kmul(dy,dz)),ToReal(0.25));
- CCTK_REAL_VEC const p1o4dz = kmul(INV(dz),ToReal(0.25));
- CCTK_REAL_VEC const p1o5040dx2 = kmul(INV(SQR(dx)),ToReal(0.000198412698412698412698412698413));
- CCTK_REAL_VEC const p1o5040dy2 = kmul(INV(SQR(dy)),ToReal(0.000198412698412698412698412698413));
- CCTK_REAL_VEC const p1o5040dz2 = kmul(INV(SQR(dz)),ToReal(0.000198412698412698412698412698413));
- CCTK_REAL_VEC const p1o560dx = kmul(INV(dx),ToReal(0.00178571428571428571428571428571));
- CCTK_REAL_VEC const p1o560dy = kmul(INV(dy),ToReal(0.00178571428571428571428571428571));
- CCTK_REAL_VEC const p1o560dz = kmul(INV(dz),ToReal(0.00178571428571428571428571428571));
- CCTK_REAL_VEC const p1o60dx = kmul(INV(dx),ToReal(0.0166666666666666666666666666667));
- CCTK_REAL_VEC const p1o60dy = kmul(INV(dy),ToReal(0.0166666666666666666666666666667));
- CCTK_REAL_VEC const p1o60dz = kmul(INV(dz),ToReal(0.0166666666666666666666666666667));
- CCTK_REAL_VEC const p1o64dx = kmul(INV(dx),ToReal(0.015625));
- CCTK_REAL_VEC const p1o64dy = kmul(INV(dy),ToReal(0.015625));
- CCTK_REAL_VEC const p1o64dz = kmul(INV(dz),ToReal(0.015625));
- CCTK_REAL_VEC const p1o705600dxdy = kmul(INV(kmul(dx,dy)),ToReal(1.41723356009070294784580498866e-6));
- CCTK_REAL_VEC const p1o705600dxdz = kmul(INV(kmul(dx,dz)),ToReal(1.41723356009070294784580498866e-6));
- CCTK_REAL_VEC const p1o705600dydz = kmul(INV(kmul(dy,dz)),ToReal(1.41723356009070294784580498866e-6));
- CCTK_REAL_VEC const p1o840dx = kmul(INV(dx),ToReal(0.00119047619047619047619047619048));
- CCTK_REAL_VEC const p1o840dy = kmul(INV(dy),ToReal(0.00119047619047619047619047619048));
- CCTK_REAL_VEC const p1o840dz = kmul(INV(dz),ToReal(0.00119047619047619047619047619048));
- CCTK_REAL_VEC const p1odx = INV(dx);
- CCTK_REAL_VEC const p1odx2 = INV(SQR(dx));
- CCTK_REAL_VEC const p1ody = INV(dy);
- CCTK_REAL_VEC const p1ody2 = INV(SQR(dy));
- CCTK_REAL_VEC const p1odz = INV(dz);
- CCTK_REAL_VEC const p1odz2 = INV(SQR(dz));
- CCTK_REAL_VEC const pm1o120dx = kmul(INV(dx),ToReal(-0.00833333333333333333333333333333));
- CCTK_REAL_VEC const pm1o120dy = kmul(INV(dy),ToReal(-0.00833333333333333333333333333333));
- CCTK_REAL_VEC const pm1o120dz = kmul(INV(dz),ToReal(-0.00833333333333333333333333333333));
- CCTK_REAL_VEC const pm1o12dx2 = kmul(INV(SQR(dx)),ToReal(-0.0833333333333333333333333333333));
- CCTK_REAL_VEC const pm1o12dy2 = kmul(INV(SQR(dy)),ToReal(-0.0833333333333333333333333333333));
- CCTK_REAL_VEC const pm1o12dz2 = kmul(INV(SQR(dz)),ToReal(-0.0833333333333333333333333333333));
- CCTK_REAL_VEC const pm1o2dx = kmul(INV(dx),ToReal(-0.5));
- CCTK_REAL_VEC const pm1o2dy = kmul(INV(dy),ToReal(-0.5));
- CCTK_REAL_VEC const pm1o2dz = kmul(INV(dz),ToReal(-0.5));
- CCTK_REAL_VEC const pm1o4dx = kmul(INV(dx),ToReal(-0.25));
- CCTK_REAL_VEC const pm1o4dy = kmul(INV(dy),ToReal(-0.25));
- CCTK_REAL_VEC const pm1o4dz = kmul(INV(dz),ToReal(-0.25));
- CCTK_REAL_VEC const pm1o60dx = kmul(INV(dx),ToReal(-0.0166666666666666666666666666667));
- CCTK_REAL_VEC const pm1o60dy = kmul(INV(dy),ToReal(-0.0166666666666666666666666666667));
- CCTK_REAL_VEC const pm1o60dz = kmul(INV(dz),ToReal(-0.0166666666666666666666666666667));
+ CCTK_REAL_VEC const p1o1024dx = kdiv(ToReal(0.0009765625),dx);
+ CCTK_REAL_VEC const p1o1024dy = kdiv(ToReal(0.0009765625),dy);
+ CCTK_REAL_VEC const p1o1024dz = kdiv(ToReal(0.0009765625),dz);
+ CCTK_REAL_VEC const p1o120dx = kdiv(ToReal(0.00833333333333333333333333333333),dx);
+ CCTK_REAL_VEC const p1o120dy = kdiv(ToReal(0.00833333333333333333333333333333),dy);
+ CCTK_REAL_VEC const p1o120dz = kdiv(ToReal(0.00833333333333333333333333333333),dz);
+ CCTK_REAL_VEC const p1o12dx = kdiv(ToReal(0.0833333333333333333333333333333),dx);
+ CCTK_REAL_VEC const p1o12dy = kdiv(ToReal(0.0833333333333333333333333333333),dy);
+ CCTK_REAL_VEC const p1o12dz = kdiv(ToReal(0.0833333333333333333333333333333),dz);
+ CCTK_REAL_VEC const p1o144dxdy = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dy,dx));
+ CCTK_REAL_VEC const p1o144dxdz = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dx));
+ CCTK_REAL_VEC const p1o144dydz = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dy));
+ CCTK_REAL_VEC const p1o1680dx = kdiv(ToReal(0.000595238095238095238095238095238),dx);
+ CCTK_REAL_VEC const p1o1680dy = kdiv(ToReal(0.000595238095238095238095238095238),dy);
+ CCTK_REAL_VEC const p1o1680dz = kdiv(ToReal(0.000595238095238095238095238095238),dz);
+ CCTK_REAL_VEC const p1o16dx = kdiv(ToReal(0.0625),dx);
+ CCTK_REAL_VEC const p1o16dy = kdiv(ToReal(0.0625),dy);
+ CCTK_REAL_VEC const p1o16dz = kdiv(ToReal(0.0625),dz);
+ CCTK_REAL_VEC const p1o180dx2 = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dx,dx));
+ CCTK_REAL_VEC const p1o180dy2 = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dy,dy));
+ CCTK_REAL_VEC const p1o180dz2 = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dz,dz));
+ CCTK_REAL_VEC const p1o24dx = kdiv(ToReal(0.0416666666666666666666666666667),dx);
+ CCTK_REAL_VEC const p1o24dy = kdiv(ToReal(0.0416666666666666666666666666667),dy);
+ CCTK_REAL_VEC const p1o24dz = kdiv(ToReal(0.0416666666666666666666666666667),dz);
+ CCTK_REAL_VEC const p1o256dx = kdiv(ToReal(0.00390625),dx);
+ CCTK_REAL_VEC const p1o256dy = kdiv(ToReal(0.00390625),dy);
+ CCTK_REAL_VEC const p1o256dz = kdiv(ToReal(0.00390625),dz);
+ CCTK_REAL_VEC const p1o2dx = kdiv(ToReal(0.5),dx);
+ CCTK_REAL_VEC const p1o2dy = kdiv(ToReal(0.5),dy);
+ CCTK_REAL_VEC const p1o2dz = kdiv(ToReal(0.5),dz);
+ CCTK_REAL_VEC const p1o3600dxdy = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dy,dx));
+ CCTK_REAL_VEC const p1o3600dxdz = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dx));
+ CCTK_REAL_VEC const p1o3600dydz = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dy));
+ CCTK_REAL_VEC const p1o4dx = kdiv(ToReal(0.25),dx);
+ CCTK_REAL_VEC const p1o4dxdy = kdiv(ToReal(0.25),kmul(dy,dx));
+ CCTK_REAL_VEC const p1o4dxdz = kdiv(ToReal(0.25),kmul(dz,dx));
+ CCTK_REAL_VEC const p1o4dy = kdiv(ToReal(0.25),dy);
+ CCTK_REAL_VEC const p1o4dydz = kdiv(ToReal(0.25),kmul(dz,dy));
+ CCTK_REAL_VEC const p1o4dz = kdiv(ToReal(0.25),dz);
+ CCTK_REAL_VEC const p1o5040dx2 = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dx,dx));
+ CCTK_REAL_VEC const p1o5040dy2 = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dy,dy));
+ CCTK_REAL_VEC const p1o5040dz2 = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dz,dz));
+ CCTK_REAL_VEC const p1o560dx = kdiv(ToReal(0.00178571428571428571428571428571),dx);
+ CCTK_REAL_VEC const p1o560dy = kdiv(ToReal(0.00178571428571428571428571428571),dy);
+ CCTK_REAL_VEC const p1o560dz = kdiv(ToReal(0.00178571428571428571428571428571),dz);
+ CCTK_REAL_VEC const p1o60dx = kdiv(ToReal(0.0166666666666666666666666666667),dx);
+ CCTK_REAL_VEC const p1o60dy = kdiv(ToReal(0.0166666666666666666666666666667),dy);
+ CCTK_REAL_VEC const p1o60dz = kdiv(ToReal(0.0166666666666666666666666666667),dz);
+ CCTK_REAL_VEC const p1o64dx = kdiv(ToReal(0.015625),dx);
+ CCTK_REAL_VEC const p1o64dy = kdiv(ToReal(0.015625),dy);
+ CCTK_REAL_VEC const p1o64dz = kdiv(ToReal(0.015625),dz);
+ CCTK_REAL_VEC const p1o705600dxdy = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dy,dx));
+ CCTK_REAL_VEC const p1o705600dxdz = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dx));
+ CCTK_REAL_VEC const p1o705600dydz = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dy));
+ CCTK_REAL_VEC const p1o840dx = kdiv(ToReal(0.00119047619047619047619047619048),dx);
+ CCTK_REAL_VEC const p1o840dy = kdiv(ToReal(0.00119047619047619047619047619048),dy);
+ CCTK_REAL_VEC const p1o840dz = kdiv(ToReal(0.00119047619047619047619047619048),dz);
+ CCTK_REAL_VEC const p1odx = kdiv(ToReal(1),dx);
+ CCTK_REAL_VEC const p1odx2 = kdiv(ToReal(1),kmul(dx,dx));
+ CCTK_REAL_VEC const p1ody = kdiv(ToReal(1),dy);
+ CCTK_REAL_VEC const p1ody2 = kdiv(ToReal(1),kmul(dy,dy));
+ CCTK_REAL_VEC const p1odz = kdiv(ToReal(1),dz);
+ CCTK_REAL_VEC const p1odz2 = kdiv(ToReal(1),kmul(dz,dz));
+ CCTK_REAL_VEC const pm1o120dx = kdiv(ToReal(-0.00833333333333333333333333333333),dx);
+ CCTK_REAL_VEC const pm1o120dy = kdiv(ToReal(-0.00833333333333333333333333333333),dy);
+ CCTK_REAL_VEC const pm1o120dz = kdiv(ToReal(-0.00833333333333333333333333333333),dz);
+ CCTK_REAL_VEC const pm1o12dx2 = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dx,dx));
+ CCTK_REAL_VEC const pm1o12dy2 = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dy,dy));
+ CCTK_REAL_VEC const pm1o12dz2 = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dz,dz));
+ CCTK_REAL_VEC const pm1o2dx = kdiv(ToReal(-0.5),dx);
+ CCTK_REAL_VEC const pm1o2dy = kdiv(ToReal(-0.5),dy);
+ CCTK_REAL_VEC const pm1o2dz = kdiv(ToReal(-0.5),dz);
+ CCTK_REAL_VEC const pm1o4dx = kdiv(ToReal(-0.25),dx);
+ CCTK_REAL_VEC const pm1o4dy = kdiv(ToReal(-0.25),dy);
+ CCTK_REAL_VEC const pm1o4dz = kdiv(ToReal(-0.25),dz);
+ CCTK_REAL_VEC const pm1o60dx = kdiv(ToReal(-0.0166666666666666666666666666667),dx);
+ CCTK_REAL_VEC const pm1o60dy = kdiv(ToReal(-0.0166666666666666666666666666667),dy);
+ CCTK_REAL_VEC const pm1o60dz = kdiv(ToReal(-0.0166666666666666666666666666667),dz);
/* Jacobian variable pointers */
bool const use_jacobian = (!CCTK_IsFunctionAliased("MultiPatch_GetMap") || MultiPatch_GetMap(cctkGH) != jacobian_identity_map)
@@ -231,7 +235,7 @@ static void ML_CCZ4_Dissipation_Body(cGH const * restrict const cctkGH, int cons
#pragma omp parallel
LC_LOOP3VEC(ML_CCZ4_Dissipation,
i,j,k, imin[0],imin[1],imin[2], imax[0],imax[1],imax[2],
- cctk_lsh[0],cctk_lsh[1],cctk_lsh[2],
+ cctk_ash[0],cctk_ash[1],cctk_ash[2],
CCTK_REAL_VEC_SIZE)
{
ptrdiff_t const index = di*i + dj*j + dk*k;
diff --git a/ML_CCZ4/src/ML_CCZ4_InitGamma.cc b/ML_CCZ4/src/ML_CCZ4_InitGamma.cc
index ebd3b86..ec3a2cd 100644
--- a/ML_CCZ4/src/ML_CCZ4_InitGamma.cc
+++ b/ML_CCZ4/src/ML_CCZ4_InitGamma.cc
@@ -18,10 +18,14 @@
/* Define macros used in calculations */
#define INITVALUE (42)
-#define QAD(x) (SQR(SQR(x)))
+#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)))
static void ML_CCZ4_InitGamma_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[])
{
@@ -56,84 +60,84 @@ static void ML_CCZ4_InitGamma_Body(cGH const * restrict const cctkGH, int const
CCTK_REAL_VEC const hdzi = kmul(ToReal(0.5), dzi);
/* Initialize predefined quantities */
- CCTK_REAL_VEC const p1o1024dx = kmul(INV(dx),ToReal(0.0009765625));
- CCTK_REAL_VEC const p1o1024dy = kmul(INV(dy),ToReal(0.0009765625));
- CCTK_REAL_VEC const p1o1024dz = kmul(INV(dz),ToReal(0.0009765625));
- CCTK_REAL_VEC const p1o120dx = kmul(INV(dx),ToReal(0.00833333333333333333333333333333));
- CCTK_REAL_VEC const p1o120dy = kmul(INV(dy),ToReal(0.00833333333333333333333333333333));
- CCTK_REAL_VEC const p1o120dz = kmul(INV(dz),ToReal(0.00833333333333333333333333333333));
- CCTK_REAL_VEC const p1o12dx = kmul(INV(dx),ToReal(0.0833333333333333333333333333333));
- CCTK_REAL_VEC const p1o12dy = kmul(INV(dy),ToReal(0.0833333333333333333333333333333));
- CCTK_REAL_VEC const p1o12dz = kmul(INV(dz),ToReal(0.0833333333333333333333333333333));
- CCTK_REAL_VEC const p1o144dxdy = kmul(INV(kmul(dx,dy)),ToReal(0.00694444444444444444444444444444));
- CCTK_REAL_VEC const p1o144dxdz = kmul(INV(kmul(dx,dz)),ToReal(0.00694444444444444444444444444444));
- CCTK_REAL_VEC const p1o144dydz = kmul(INV(kmul(dy,dz)),ToReal(0.00694444444444444444444444444444));
- CCTK_REAL_VEC const p1o1680dx = kmul(INV(dx),ToReal(0.000595238095238095238095238095238));
- CCTK_REAL_VEC const p1o1680dy = kmul(INV(dy),ToReal(0.000595238095238095238095238095238));
- CCTK_REAL_VEC const p1o1680dz = kmul(INV(dz),ToReal(0.000595238095238095238095238095238));
- CCTK_REAL_VEC const p1o16dx = kmul(INV(dx),ToReal(0.0625));
- CCTK_REAL_VEC const p1o16dy = kmul(INV(dy),ToReal(0.0625));
- CCTK_REAL_VEC const p1o16dz = kmul(INV(dz),ToReal(0.0625));
- CCTK_REAL_VEC const p1o180dx2 = kmul(INV(SQR(dx)),ToReal(0.00555555555555555555555555555556));
- CCTK_REAL_VEC const p1o180dy2 = kmul(INV(SQR(dy)),ToReal(0.00555555555555555555555555555556));
- CCTK_REAL_VEC const p1o180dz2 = kmul(INV(SQR(dz)),ToReal(0.00555555555555555555555555555556));
- CCTK_REAL_VEC const p1o24dx = kmul(INV(dx),ToReal(0.0416666666666666666666666666667));
- CCTK_REAL_VEC const p1o24dy = kmul(INV(dy),ToReal(0.0416666666666666666666666666667));
- CCTK_REAL_VEC const p1o24dz = kmul(INV(dz),ToReal(0.0416666666666666666666666666667));
- CCTK_REAL_VEC const p1o256dx = kmul(INV(dx),ToReal(0.00390625));
- CCTK_REAL_VEC const p1o256dy = kmul(INV(dy),ToReal(0.00390625));
- CCTK_REAL_VEC const p1o256dz = kmul(INV(dz),ToReal(0.00390625));
- CCTK_REAL_VEC const p1o2dx = kmul(INV(dx),ToReal(0.5));
- CCTK_REAL_VEC const p1o2dy = kmul(INV(dy),ToReal(0.5));
- CCTK_REAL_VEC const p1o2dz = kmul(INV(dz),ToReal(0.5));
- CCTK_REAL_VEC const p1o3600dxdy = kmul(INV(kmul(dx,dy)),ToReal(0.000277777777777777777777777777778));
- CCTK_REAL_VEC const p1o3600dxdz = kmul(INV(kmul(dx,dz)),ToReal(0.000277777777777777777777777777778));
- CCTK_REAL_VEC const p1o3600dydz = kmul(INV(kmul(dy,dz)),ToReal(0.000277777777777777777777777777778));
- CCTK_REAL_VEC const p1o4dx = kmul(INV(dx),ToReal(0.25));
- CCTK_REAL_VEC const p1o4dxdy = kmul(INV(kmul(dx,dy)),ToReal(0.25));
- CCTK_REAL_VEC const p1o4dxdz = kmul(INV(kmul(dx,dz)),ToReal(0.25));
- CCTK_REAL_VEC const p1o4dy = kmul(INV(dy),ToReal(0.25));
- CCTK_REAL_VEC const p1o4dydz = kmul(INV(kmul(dy,dz)),ToReal(0.25));
- CCTK_REAL_VEC const p1o4dz = kmul(INV(dz),ToReal(0.25));
- CCTK_REAL_VEC const p1o5040dx2 = kmul(INV(SQR(dx)),ToReal(0.000198412698412698412698412698413));
- CCTK_REAL_VEC const p1o5040dy2 = kmul(INV(SQR(dy)),ToReal(0.000198412698412698412698412698413));
- CCTK_REAL_VEC const p1o5040dz2 = kmul(INV(SQR(dz)),ToReal(0.000198412698412698412698412698413));
- CCTK_REAL_VEC const p1o560dx = kmul(INV(dx),ToReal(0.00178571428571428571428571428571));
- CCTK_REAL_VEC const p1o560dy = kmul(INV(dy),ToReal(0.00178571428571428571428571428571));
- CCTK_REAL_VEC const p1o560dz = kmul(INV(dz),ToReal(0.00178571428571428571428571428571));
- CCTK_REAL_VEC const p1o60dx = kmul(INV(dx),ToReal(0.0166666666666666666666666666667));
- CCTK_REAL_VEC const p1o60dy = kmul(INV(dy),ToReal(0.0166666666666666666666666666667));
- CCTK_REAL_VEC const p1o60dz = kmul(INV(dz),ToReal(0.0166666666666666666666666666667));
- CCTK_REAL_VEC const p1o64dx = kmul(INV(dx),ToReal(0.015625));
- CCTK_REAL_VEC const p1o64dy = kmul(INV(dy),ToReal(0.015625));
- CCTK_REAL_VEC const p1o64dz = kmul(INV(dz),ToReal(0.015625));
- CCTK_REAL_VEC const p1o705600dxdy = kmul(INV(kmul(dx,dy)),ToReal(1.41723356009070294784580498866e-6));
- CCTK_REAL_VEC const p1o705600dxdz = kmul(INV(kmul(dx,dz)),ToReal(1.41723356009070294784580498866e-6));
- CCTK_REAL_VEC const p1o705600dydz = kmul(INV(kmul(dy,dz)),ToReal(1.41723356009070294784580498866e-6));
- CCTK_REAL_VEC const p1o840dx = kmul(INV(dx),ToReal(0.00119047619047619047619047619048));
- CCTK_REAL_VEC const p1o840dy = kmul(INV(dy),ToReal(0.00119047619047619047619047619048));
- CCTK_REAL_VEC const p1o840dz = kmul(INV(dz),ToReal(0.00119047619047619047619047619048));
- CCTK_REAL_VEC const p1odx = INV(dx);
- CCTK_REAL_VEC const p1odx2 = INV(SQR(dx));
- CCTK_REAL_VEC const p1ody = INV(dy);
- CCTK_REAL_VEC const p1ody2 = INV(SQR(dy));
- CCTK_REAL_VEC const p1odz = INV(dz);
- CCTK_REAL_VEC const p1odz2 = INV(SQR(dz));
- CCTK_REAL_VEC const pm1o120dx = kmul(INV(dx),ToReal(-0.00833333333333333333333333333333));
- CCTK_REAL_VEC const pm1o120dy = kmul(INV(dy),ToReal(-0.00833333333333333333333333333333));
- CCTK_REAL_VEC const pm1o120dz = kmul(INV(dz),ToReal(-0.00833333333333333333333333333333));
- CCTK_REAL_VEC const pm1o12dx2 = kmul(INV(SQR(dx)),ToReal(-0.0833333333333333333333333333333));
- CCTK_REAL_VEC const pm1o12dy2 = kmul(INV(SQR(dy)),ToReal(-0.0833333333333333333333333333333));
- CCTK_REAL_VEC const pm1o12dz2 = kmul(INV(SQR(dz)),ToReal(-0.0833333333333333333333333333333));
- CCTK_REAL_VEC const pm1o2dx = kmul(INV(dx),ToReal(-0.5));
- CCTK_REAL_VEC const pm1o2dy = kmul(INV(dy),ToReal(-0.5));
- CCTK_REAL_VEC const pm1o2dz = kmul(INV(dz),ToReal(-0.5));
- CCTK_REAL_VEC const pm1o4dx = kmul(INV(dx),ToReal(-0.25));
- CCTK_REAL_VEC const pm1o4dy = kmul(INV(dy),ToReal(-0.25));
- CCTK_REAL_VEC const pm1o4dz = kmul(INV(dz),ToReal(-0.25));
- CCTK_REAL_VEC const pm1o60dx = kmul(INV(dx),ToReal(-0.0166666666666666666666666666667));
- CCTK_REAL_VEC const pm1o60dy = kmul(INV(dy),ToReal(-0.0166666666666666666666666666667));
- CCTK_REAL_VEC const pm1o60dz = kmul(INV(dz),ToReal(-0.0166666666666666666666666666667));
+ CCTK_REAL_VEC const p1o1024dx = kdiv(ToReal(0.0009765625),dx);
+ CCTK_REAL_VEC const p1o1024dy = kdiv(ToReal(0.0009765625),dy);
+ CCTK_REAL_VEC const p1o1024dz = kdiv(ToReal(0.0009765625),dz);
+ CCTK_REAL_VEC const p1o120dx = kdiv(ToReal(0.00833333333333333333333333333333),dx);
+ CCTK_REAL_VEC const p1o120dy = kdiv(ToReal(0.00833333333333333333333333333333),dy);
+ CCTK_REAL_VEC const p1o120dz = kdiv(ToReal(0.00833333333333333333333333333333),dz);
+ CCTK_REAL_VEC const p1o12dx = kdiv(ToReal(0.0833333333333333333333333333333),dx);
+ CCTK_REAL_VEC const p1o12dy = kdiv(ToReal(0.0833333333333333333333333333333),dy);
+ CCTK_REAL_VEC const p1o12dz = kdiv(ToReal(0.0833333333333333333333333333333),dz);
+ CCTK_REAL_VEC const p1o144dxdy = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dy,dx));
+ CCTK_REAL_VEC const p1o144dxdz = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dx));
+ CCTK_REAL_VEC const p1o144dydz = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dy));
+ CCTK_REAL_VEC const p1o1680dx = kdiv(ToReal(0.000595238095238095238095238095238),dx);
+ CCTK_REAL_VEC const p1o1680dy = kdiv(ToReal(0.000595238095238095238095238095238),dy);
+ CCTK_REAL_VEC const p1o1680dz = kdiv(ToReal(0.000595238095238095238095238095238),dz);
+ CCTK_REAL_VEC const p1o16dx = kdiv(ToReal(0.0625),dx);
+ CCTK_REAL_VEC const p1o16dy = kdiv(ToReal(0.0625),dy);
+ CCTK_REAL_VEC const p1o16dz = kdiv(ToReal(0.0625),dz);
+ CCTK_REAL_VEC const p1o180dx2 = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dx,dx));
+ CCTK_REAL_VEC const p1o180dy2 = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dy,dy));
+ CCTK_REAL_VEC const p1o180dz2 = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dz,dz));
+ CCTK_REAL_VEC const p1o24dx = kdiv(ToReal(0.0416666666666666666666666666667),dx);
+ CCTK_REAL_VEC const p1o24dy = kdiv(ToReal(0.0416666666666666666666666666667),dy);
+ CCTK_REAL_VEC const p1o24dz = kdiv(ToReal(0.0416666666666666666666666666667),dz);
+ CCTK_REAL_VEC const p1o256dx = kdiv(ToReal(0.00390625),dx);
+ CCTK_REAL_VEC const p1o256dy = kdiv(ToReal(0.00390625),dy);
+ CCTK_REAL_VEC const p1o256dz = kdiv(ToReal(0.00390625),dz);
+ CCTK_REAL_VEC const p1o2dx = kdiv(ToReal(0.5),dx);
+ CCTK_REAL_VEC const p1o2dy = kdiv(ToReal(0.5),dy);
+ CCTK_REAL_VEC const p1o2dz = kdiv(ToReal(0.5),dz);
+ CCTK_REAL_VEC const p1o3600dxdy = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dy,dx));
+ CCTK_REAL_VEC const p1o3600dxdz = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dx));
+ CCTK_REAL_VEC const p1o3600dydz = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dy));
+ CCTK_REAL_VEC const p1o4dx = kdiv(ToReal(0.25),dx);
+ CCTK_REAL_VEC const p1o4dxdy = kdiv(ToReal(0.25),kmul(dy,dx));
+ CCTK_REAL_VEC const p1o4dxdz = kdiv(ToReal(0.25),kmul(dz,dx));
+ CCTK_REAL_VEC const p1o4dy = kdiv(ToReal(0.25),dy);
+ CCTK_REAL_VEC const p1o4dydz = kdiv(ToReal(0.25),kmul(dz,dy));
+ CCTK_REAL_VEC const p1o4dz = kdiv(ToReal(0.25),dz);
+ CCTK_REAL_VEC const p1o5040dx2 = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dx,dx));
+ CCTK_REAL_VEC const p1o5040dy2 = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dy,dy));
+ CCTK_REAL_VEC const p1o5040dz2 = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dz,dz));
+ CCTK_REAL_VEC const p1o560dx = kdiv(ToReal(0.00178571428571428571428571428571),dx);
+ CCTK_REAL_VEC const p1o560dy = kdiv(ToReal(0.00178571428571428571428571428571),dy);
+ CCTK_REAL_VEC const p1o560dz = kdiv(ToReal(0.00178571428571428571428571428571),dz);
+ CCTK_REAL_VEC const p1o60dx = kdiv(ToReal(0.0166666666666666666666666666667),dx);
+ CCTK_REAL_VEC const p1o60dy = kdiv(ToReal(0.0166666666666666666666666666667),dy);
+ CCTK_REAL_VEC const p1o60dz = kdiv(ToReal(0.0166666666666666666666666666667),dz);
+ CCTK_REAL_VEC const p1o64dx = kdiv(ToReal(0.015625),dx);
+ CCTK_REAL_VEC const p1o64dy = kdiv(ToReal(0.015625),dy);
+ CCTK_REAL_VEC const p1o64dz = kdiv(ToReal(0.015625),dz);
+ CCTK_REAL_VEC const p1o705600dxdy = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dy,dx));
+ CCTK_REAL_VEC const p1o705600dxdz = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dx));
+ CCTK_REAL_VEC const p1o705600dydz = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dy));
+ CCTK_REAL_VEC const p1o840dx = kdiv(ToReal(0.00119047619047619047619047619048),dx);
+ CCTK_REAL_VEC const p1o840dy = kdiv(ToReal(0.00119047619047619047619047619048),dy);
+ CCTK_REAL_VEC const p1o840dz = kdiv(ToReal(0.00119047619047619047619047619048),dz);
+ CCTK_REAL_VEC const p1odx = kdiv(ToReal(1),dx);
+ CCTK_REAL_VEC const p1odx2 = kdiv(ToReal(1),kmul(dx,dx));
+ CCTK_REAL_VEC const p1ody = kdiv(ToReal(1),dy);
+ CCTK_REAL_VEC const p1ody2 = kdiv(ToReal(1),kmul(dy,dy));
+ CCTK_REAL_VEC const p1odz = kdiv(ToReal(1),dz);
+ CCTK_REAL_VEC const p1odz2 = kdiv(ToReal(1),kmul(dz,dz));
+ CCTK_REAL_VEC const pm1o120dx = kdiv(ToReal(-0.00833333333333333333333333333333),dx);
+ CCTK_REAL_VEC const pm1o120dy = kdiv(ToReal(-0.00833333333333333333333333333333),dy);
+ CCTK_REAL_VEC const pm1o120dz = kdiv(ToReal(-0.00833333333333333333333333333333),dz);
+ CCTK_REAL_VEC const pm1o12dx2 = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dx,dx));
+ CCTK_REAL_VEC const pm1o12dy2 = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dy,dy));
+ CCTK_REAL_VEC const pm1o12dz2 = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dz,dz));
+ CCTK_REAL_VEC const pm1o2dx = kdiv(ToReal(-0.5),dx);
+ CCTK_REAL_VEC const pm1o2dy = kdiv(ToReal(-0.5),dy);
+ CCTK_REAL_VEC const pm1o2dz = kdiv(ToReal(-0.5),dz);
+ CCTK_REAL_VEC const pm1o4dx = kdiv(ToReal(-0.25),dx);
+ CCTK_REAL_VEC const pm1o4dy = kdiv(ToReal(-0.25),dy);
+ CCTK_REAL_VEC const pm1o4dz = kdiv(ToReal(-0.25),dz);
+ CCTK_REAL_VEC const pm1o60dx = kdiv(ToReal(-0.0166666666666666666666666666667),dx);
+ CCTK_REAL_VEC const pm1o60dy = kdiv(ToReal(-0.0166666666666666666666666666667),dy);
+ CCTK_REAL_VEC const pm1o60dz = kdiv(ToReal(-0.0166666666666666666666666666667),dz);
/* Jacobian variable pointers */
bool const use_jacobian = (!CCTK_IsFunctionAliased("MultiPatch_GetMap") || MultiPatch_GetMap(cctkGH) != jacobian_identity_map)
@@ -192,7 +196,7 @@ static void ML_CCZ4_InitGamma_Body(cGH const * restrict const cctkGH, int const
#pragma omp parallel
LC_LOOP3VEC(ML_CCZ4_InitGamma,
i,j,k, imin[0],imin[1],imin[2], imax[0],imax[1],imax[2],
- cctk_lsh[0],cctk_lsh[1],cctk_lsh[2],
+ cctk_ash[0],cctk_ash[1],cctk_ash[2],
CCTK_REAL_VEC_SIZE)
{
ptrdiff_t const index = di*i + dj*j + dk*k;
diff --git a/ML_CCZ4/src/ML_CCZ4_InitRHS.cc b/ML_CCZ4/src/ML_CCZ4_InitRHS.cc
index 31496c5..5880e3c 100644
--- a/ML_CCZ4/src/ML_CCZ4_InitRHS.cc
+++ b/ML_CCZ4/src/ML_CCZ4_InitRHS.cc
@@ -18,10 +18,14 @@
/* Define macros used in calculations */
#define INITVALUE (42)
-#define QAD(x) (SQR(SQR(x)))
+#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)))
static void ML_CCZ4_InitRHS_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[])
{
@@ -56,84 +60,84 @@ static void ML_CCZ4_InitRHS_Body(cGH const * restrict const cctkGH, int const di
CCTK_REAL_VEC const hdzi = kmul(ToReal(0.5), dzi);
/* Initialize predefined quantities */
- CCTK_REAL_VEC const p1o1024dx = kmul(INV(dx),ToReal(0.0009765625));
- CCTK_REAL_VEC const p1o1024dy = kmul(INV(dy),ToReal(0.0009765625));
- CCTK_REAL_VEC const p1o1024dz = kmul(INV(dz),ToReal(0.0009765625));
- CCTK_REAL_VEC const p1o120dx = kmul(INV(dx),ToReal(0.00833333333333333333333333333333));
- CCTK_REAL_VEC const p1o120dy = kmul(INV(dy),ToReal(0.00833333333333333333333333333333));
- CCTK_REAL_VEC const p1o120dz = kmul(INV(dz),ToReal(0.00833333333333333333333333333333));
- CCTK_REAL_VEC const p1o12dx = kmul(INV(dx),ToReal(0.0833333333333333333333333333333));
- CCTK_REAL_VEC const p1o12dy = kmul(INV(dy),ToReal(0.0833333333333333333333333333333));
- CCTK_REAL_VEC const p1o12dz = kmul(INV(dz),ToReal(0.0833333333333333333333333333333));
- CCTK_REAL_VEC const p1o144dxdy = kmul(INV(kmul(dx,dy)),ToReal(0.00694444444444444444444444444444));
- CCTK_REAL_VEC const p1o144dxdz = kmul(INV(kmul(dx,dz)),ToReal(0.00694444444444444444444444444444));
- CCTK_REAL_VEC const p1o144dydz = kmul(INV(kmul(dy,dz)),ToReal(0.00694444444444444444444444444444));
- CCTK_REAL_VEC const p1o1680dx = kmul(INV(dx),ToReal(0.000595238095238095238095238095238));
- CCTK_REAL_VEC const p1o1680dy = kmul(INV(dy),ToReal(0.000595238095238095238095238095238));
- CCTK_REAL_VEC const p1o1680dz = kmul(INV(dz),ToReal(0.000595238095238095238095238095238));
- CCTK_REAL_VEC const p1o16dx = kmul(INV(dx),ToReal(0.0625));
- CCTK_REAL_VEC const p1o16dy = kmul(INV(dy),ToReal(0.0625));
- CCTK_REAL_VEC const p1o16dz = kmul(INV(dz),ToReal(0.0625));
- CCTK_REAL_VEC const p1o180dx2 = kmul(INV(SQR(dx)),ToReal(0.00555555555555555555555555555556));
- CCTK_REAL_VEC const p1o180dy2 = kmul(INV(SQR(dy)),ToReal(0.00555555555555555555555555555556));
- CCTK_REAL_VEC const p1o180dz2 = kmul(INV(SQR(dz)),ToReal(0.00555555555555555555555555555556));
- CCTK_REAL_VEC const p1o24dx = kmul(INV(dx),ToReal(0.0416666666666666666666666666667));
- CCTK_REAL_VEC const p1o24dy = kmul(INV(dy),ToReal(0.0416666666666666666666666666667));
- CCTK_REAL_VEC const p1o24dz = kmul(INV(dz),ToReal(0.0416666666666666666666666666667));
- CCTK_REAL_VEC const p1o256dx = kmul(INV(dx),ToReal(0.00390625));
- CCTK_REAL_VEC const p1o256dy = kmul(INV(dy),ToReal(0.00390625));
- CCTK_REAL_VEC const p1o256dz = kmul(INV(dz),ToReal(0.00390625));
- CCTK_REAL_VEC const p1o2dx = kmul(INV(dx),ToReal(0.5));
- CCTK_REAL_VEC const p1o2dy = kmul(INV(dy),ToReal(0.5));
- CCTK_REAL_VEC const p1o2dz = kmul(INV(dz),ToReal(0.5));
- CCTK_REAL_VEC const p1o3600dxdy = kmul(INV(kmul(dx,dy)),ToReal(0.000277777777777777777777777777778));
- CCTK_REAL_VEC const p1o3600dxdz = kmul(INV(kmul(dx,dz)),ToReal(0.000277777777777777777777777777778));
- CCTK_REAL_VEC const p1o3600dydz = kmul(INV(kmul(dy,dz)),ToReal(0.000277777777777777777777777777778));
- CCTK_REAL_VEC const p1o4dx = kmul(INV(dx),ToReal(0.25));
- CCTK_REAL_VEC const p1o4dxdy = kmul(INV(kmul(dx,dy)),ToReal(0.25));
- CCTK_REAL_VEC const p1o4dxdz = kmul(INV(kmul(dx,dz)),ToReal(0.25));
- CCTK_REAL_VEC const p1o4dy = kmul(INV(dy),ToReal(0.25));
- CCTK_REAL_VEC const p1o4dydz = kmul(INV(kmul(dy,dz)),ToReal(0.25));
- CCTK_REAL_VEC const p1o4dz = kmul(INV(dz),ToReal(0.25));
- CCTK_REAL_VEC const p1o5040dx2 = kmul(INV(SQR(dx)),ToReal(0.000198412698412698412698412698413));
- CCTK_REAL_VEC const p1o5040dy2 = kmul(INV(SQR(dy)),ToReal(0.000198412698412698412698412698413));
- CCTK_REAL_VEC const p1o5040dz2 = kmul(INV(SQR(dz)),ToReal(0.000198412698412698412698412698413));
- CCTK_REAL_VEC const p1o560dx = kmul(INV(dx),ToReal(0.00178571428571428571428571428571));
- CCTK_REAL_VEC const p1o560dy = kmul(INV(dy),ToReal(0.00178571428571428571428571428571));
- CCTK_REAL_VEC const p1o560dz = kmul(INV(dz),ToReal(0.00178571428571428571428571428571));
- CCTK_REAL_VEC const p1o60dx = kmul(INV(dx),ToReal(0.0166666666666666666666666666667));
- CCTK_REAL_VEC const p1o60dy = kmul(INV(dy),ToReal(0.0166666666666666666666666666667));
- CCTK_REAL_VEC const p1o60dz = kmul(INV(dz),ToReal(0.0166666666666666666666666666667));
- CCTK_REAL_VEC const p1o64dx = kmul(INV(dx),ToReal(0.015625));
- CCTK_REAL_VEC const p1o64dy = kmul(INV(dy),ToReal(0.015625));
- CCTK_REAL_VEC const p1o64dz = kmul(INV(dz),ToReal(0.015625));
- CCTK_REAL_VEC const p1o705600dxdy = kmul(INV(kmul(dx,dy)),ToReal(1.41723356009070294784580498866e-6));
- CCTK_REAL_VEC const p1o705600dxdz = kmul(INV(kmul(dx,dz)),ToReal(1.41723356009070294784580498866e-6));
- CCTK_REAL_VEC const p1o705600dydz = kmul(INV(kmul(dy,dz)),ToReal(1.41723356009070294784580498866e-6));
- CCTK_REAL_VEC const p1o840dx = kmul(INV(dx),ToReal(0.00119047619047619047619047619048));
- CCTK_REAL_VEC const p1o840dy = kmul(INV(dy),ToReal(0.00119047619047619047619047619048));
- CCTK_REAL_VEC const p1o840dz = kmul(INV(dz),ToReal(0.00119047619047619047619047619048));
- CCTK_REAL_VEC const p1odx = INV(dx);
- CCTK_REAL_VEC const p1odx2 = INV(SQR(dx));
- CCTK_REAL_VEC const p1ody = INV(dy);
- CCTK_REAL_VEC const p1ody2 = INV(SQR(dy));
- CCTK_REAL_VEC const p1odz = INV(dz);
- CCTK_REAL_VEC const p1odz2 = INV(SQR(dz));
- CCTK_REAL_VEC const pm1o120dx = kmul(INV(dx),ToReal(-0.00833333333333333333333333333333));
- CCTK_REAL_VEC const pm1o120dy = kmul(INV(dy),ToReal(-0.00833333333333333333333333333333));
- CCTK_REAL_VEC const pm1o120dz = kmul(INV(dz),ToReal(-0.00833333333333333333333333333333));
- CCTK_REAL_VEC const pm1o12dx2 = kmul(INV(SQR(dx)),ToReal(-0.0833333333333333333333333333333));
- CCTK_REAL_VEC const pm1o12dy2 = kmul(INV(SQR(dy)),ToReal(-0.0833333333333333333333333333333));
- CCTK_REAL_VEC const pm1o12dz2 = kmul(INV(SQR(dz)),ToReal(-0.0833333333333333333333333333333));
- CCTK_REAL_VEC const pm1o2dx = kmul(INV(dx),ToReal(-0.5));
- CCTK_REAL_VEC const pm1o2dy = kmul(INV(dy),ToReal(-0.5));
- CCTK_REAL_VEC const pm1o2dz = kmul(INV(dz),ToReal(-0.5));
- CCTK_REAL_VEC const pm1o4dx = kmul(INV(dx),ToReal(-0.25));
- CCTK_REAL_VEC const pm1o4dy = kmul(INV(dy),ToReal(-0.25));
- CCTK_REAL_VEC const pm1o4dz = kmul(INV(dz),ToReal(-0.25));
- CCTK_REAL_VEC const pm1o60dx = kmul(INV(dx),ToReal(-0.0166666666666666666666666666667));
- CCTK_REAL_VEC const pm1o60dy = kmul(INV(dy),ToReal(-0.0166666666666666666666666666667));
- CCTK_REAL_VEC const pm1o60dz = kmul(INV(dz),ToReal(-0.0166666666666666666666666666667));
+ CCTK_REAL_VEC const p1o1024dx = kdiv(ToReal(0.0009765625),dx);
+ CCTK_REAL_VEC const p1o1024dy = kdiv(ToReal(0.0009765625),dy);
+ CCTK_REAL_VEC const p1o1024dz = kdiv(ToReal(0.0009765625),dz);
+ CCTK_REAL_VEC const p1o120dx = kdiv(ToReal(0.00833333333333333333333333333333),dx);
+ CCTK_REAL_VEC const p1o120dy = kdiv(ToReal(0.00833333333333333333333333333333),dy);
+ CCTK_REAL_VEC const p1o120dz = kdiv(ToReal(0.00833333333333333333333333333333),dz);
+ CCTK_REAL_VEC const p1o12dx = kdiv(ToReal(0.0833333333333333333333333333333),dx);
+ CCTK_REAL_VEC const p1o12dy = kdiv(ToReal(0.0833333333333333333333333333333),dy);
+ CCTK_REAL_VEC const p1o12dz = kdiv(ToReal(0.0833333333333333333333333333333),dz);
+ CCTK_REAL_VEC const p1o144dxdy = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dy,dx));
+ CCTK_REAL_VEC const p1o144dxdz = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dx));
+ CCTK_REAL_VEC const p1o144dydz = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dy));
+ CCTK_REAL_VEC const p1o1680dx = kdiv(ToReal(0.000595238095238095238095238095238),dx);
+ CCTK_REAL_VEC const p1o1680dy = kdiv(ToReal(0.000595238095238095238095238095238),dy);
+ CCTK_REAL_VEC const p1o1680dz = kdiv(ToReal(0.000595238095238095238095238095238),dz);
+ CCTK_REAL_VEC const p1o16dx = kdiv(ToReal(0.0625),dx);
+ CCTK_REAL_VEC const p1o16dy = kdiv(ToReal(0.0625),dy);
+ CCTK_REAL_VEC const p1o16dz = kdiv(ToReal(0.0625),dz);
+ CCTK_REAL_VEC const p1o180dx2 = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dx,dx));
+ CCTK_REAL_VEC const p1o180dy2 = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dy,dy));
+ CCTK_REAL_VEC const p1o180dz2 = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dz,dz));
+ CCTK_REAL_VEC const p1o24dx = kdiv(ToReal(0.0416666666666666666666666666667),dx);
+ CCTK_REAL_VEC const p1o24dy = kdiv(ToReal(0.0416666666666666666666666666667),dy);
+ CCTK_REAL_VEC const p1o24dz = kdiv(ToReal(0.0416666666666666666666666666667),dz);
+ CCTK_REAL_VEC const p1o256dx = kdiv(ToReal(0.00390625),dx);
+ CCTK_REAL_VEC const p1o256dy = kdiv(ToReal(0.00390625),dy);
+ CCTK_REAL_VEC const p1o256dz = kdiv(ToReal(0.00390625),dz);
+ CCTK_REAL_VEC const p1o2dx = kdiv(ToReal(0.5),dx);
+ CCTK_REAL_VEC const p1o2dy = kdiv(ToReal(0.5),dy);
+ CCTK_REAL_VEC const p1o2dz = kdiv(ToReal(0.5),dz);
+ CCTK_REAL_VEC const p1o3600dxdy = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dy,dx));
+ CCTK_REAL_VEC const p1o3600dxdz = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dx));
+ CCTK_REAL_VEC const p1o3600dydz = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dy));
+ CCTK_REAL_VEC const p1o4dx = kdiv(ToReal(0.25),dx);
+ CCTK_REAL_VEC const p1o4dxdy = kdiv(ToReal(0.25),kmul(dy,dx));
+ CCTK_REAL_VEC const p1o4dxdz = kdiv(ToReal(0.25),kmul(dz,dx));
+ CCTK_REAL_VEC const p1o4dy = kdiv(ToReal(0.25),dy);
+ CCTK_REAL_VEC const p1o4dydz = kdiv(ToReal(0.25),kmul(dz,dy));
+ CCTK_REAL_VEC const p1o4dz = kdiv(ToReal(0.25),dz);
+ CCTK_REAL_VEC const p1o5040dx2 = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dx,dx));
+ CCTK_REAL_VEC const p1o5040dy2 = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dy,dy));
+ CCTK_REAL_VEC const p1o5040dz2 = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dz,dz));
+ CCTK_REAL_VEC const p1o560dx = kdiv(ToReal(0.00178571428571428571428571428571),dx);
+ CCTK_REAL_VEC const p1o560dy = kdiv(ToReal(0.00178571428571428571428571428571),dy);
+ CCTK_REAL_VEC const p1o560dz = kdiv(ToReal(0.00178571428571428571428571428571),dz);
+ CCTK_REAL_VEC const p1o60dx = kdiv(ToReal(0.0166666666666666666666666666667),dx);
+ CCTK_REAL_VEC const p1o60dy = kdiv(ToReal(0.0166666666666666666666666666667),dy);
+ CCTK_REAL_VEC const p1o60dz = kdiv(ToReal(0.0166666666666666666666666666667),dz);
+ CCTK_REAL_VEC const p1o64dx = kdiv(ToReal(0.015625),dx);
+ CCTK_REAL_VEC const p1o64dy = kdiv(ToReal(0.015625),dy);
+ CCTK_REAL_VEC const p1o64dz = kdiv(ToReal(0.015625),dz);
+ CCTK_REAL_VEC const p1o705600dxdy = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dy,dx));
+ CCTK_REAL_VEC const p1o705600dxdz = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dx));
+ CCTK_REAL_VEC const p1o705600dydz = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dy));
+ CCTK_REAL_VEC const p1o840dx = kdiv(ToReal(0.00119047619047619047619047619048),dx);
+ CCTK_REAL_VEC const p1o840dy = kdiv(ToReal(0.00119047619047619047619047619048),dy);
+ CCTK_REAL_VEC const p1o840dz = kdiv(ToReal(0.00119047619047619047619047619048),dz);
+ CCTK_REAL_VEC const p1odx = kdiv(ToReal(1),dx);
+ CCTK_REAL_VEC const p1odx2 = kdiv(ToReal(1),kmul(dx,dx));
+ CCTK_REAL_VEC const p1ody = kdiv(ToReal(1),dy);
+ CCTK_REAL_VEC const p1ody2 = kdiv(ToReal(1),kmul(dy,dy));
+ CCTK_REAL_VEC const p1odz = kdiv(ToReal(1),dz);
+ CCTK_REAL_VEC const p1odz2 = kdiv(ToReal(1),kmul(dz,dz));
+ CCTK_REAL_VEC const pm1o120dx = kdiv(ToReal(-0.00833333333333333333333333333333),dx);
+ CCTK_REAL_VEC const pm1o120dy = kdiv(ToReal(-0.00833333333333333333333333333333),dy);
+ CCTK_REAL_VEC const pm1o120dz = kdiv(ToReal(-0.00833333333333333333333333333333),dz);
+ CCTK_REAL_VEC const pm1o12dx2 = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dx,dx));
+ CCTK_REAL_VEC const pm1o12dy2 = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dy,dy));
+ CCTK_REAL_VEC const pm1o12dz2 = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dz,dz));
+ CCTK_REAL_VEC const pm1o2dx = kdiv(ToReal(-0.5),dx);
+ CCTK_REAL_VEC const pm1o2dy = kdiv(ToReal(-0.5),dy);
+ CCTK_REAL_VEC const pm1o2dz = kdiv(ToReal(-0.5),dz);
+ CCTK_REAL_VEC const pm1o4dx = kdiv(ToReal(-0.25),dx);
+ CCTK_REAL_VEC const pm1o4dy = kdiv(ToReal(-0.25),dy);
+ CCTK_REAL_VEC const pm1o4dz = kdiv(ToReal(-0.25),dz);
+ CCTK_REAL_VEC const pm1o60dx = kdiv(ToReal(-0.0166666666666666666666666666667),dx);
+ CCTK_REAL_VEC const pm1o60dy = kdiv(ToReal(-0.0166666666666666666666666666667),dy);
+ CCTK_REAL_VEC const pm1o60dz = kdiv(ToReal(-0.0166666666666666666666666666667),dz);
/* Jacobian variable pointers */
bool const use_jacobian = (!CCTK_IsFunctionAliased("MultiPatch_GetMap") || MultiPatch_GetMap(cctkGH) != jacobian_identity_map)
@@ -192,7 +196,7 @@ static void ML_CCZ4_InitRHS_Body(cGH const * restrict const cctkGH, int const di
#pragma omp parallel
LC_LOOP3VEC(ML_CCZ4_InitRHS,
i,j,k, imin[0],imin[1],imin[2], imax[0],imax[1],imax[2],
- cctk_lsh[0],cctk_lsh[1],cctk_lsh[2],
+ cctk_ash[0],cctk_ash[1],cctk_ash[2],
CCTK_REAL_VEC_SIZE)
{
ptrdiff_t const index = di*i + dj*j + dk*k;
diff --git a/ML_CCZ4/src/ML_CCZ4_Minkowski.cc b/ML_CCZ4/src/ML_CCZ4_Minkowski.cc
index 77ae232..6c1e349 100644
--- a/ML_CCZ4/src/ML_CCZ4_Minkowski.cc
+++ b/ML_CCZ4/src/ML_CCZ4_Minkowski.cc
@@ -18,10 +18,14 @@
/* Define macros used in calculations */
#define INITVALUE (42)
-#define QAD(x) (SQR(SQR(x)))
+#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)))
static void ML_CCZ4_Minkowski_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[])
{
@@ -56,84 +60,84 @@ static void ML_CCZ4_Minkowski_Body(cGH const * restrict const cctkGH, int const
CCTK_REAL_VEC const hdzi = kmul(ToReal(0.5), dzi);
/* Initialize predefined quantities */
- CCTK_REAL_VEC const p1o1024dx = kmul(INV(dx),ToReal(0.0009765625));
- CCTK_REAL_VEC const p1o1024dy = kmul(INV(dy),ToReal(0.0009765625));
- CCTK_REAL_VEC const p1o1024dz = kmul(INV(dz),ToReal(0.0009765625));
- CCTK_REAL_VEC const p1o120dx = kmul(INV(dx),ToReal(0.00833333333333333333333333333333));
- CCTK_REAL_VEC const p1o120dy = kmul(INV(dy),ToReal(0.00833333333333333333333333333333));
- CCTK_REAL_VEC const p1o120dz = kmul(INV(dz),ToReal(0.00833333333333333333333333333333));
- CCTK_REAL_VEC const p1o12dx = kmul(INV(dx),ToReal(0.0833333333333333333333333333333));
- CCTK_REAL_VEC const p1o12dy = kmul(INV(dy),ToReal(0.0833333333333333333333333333333));
- CCTK_REAL_VEC const p1o12dz = kmul(INV(dz),ToReal(0.0833333333333333333333333333333));
- CCTK_REAL_VEC const p1o144dxdy = kmul(INV(kmul(dx,dy)),ToReal(0.00694444444444444444444444444444));
- CCTK_REAL_VEC const p1o144dxdz = kmul(INV(kmul(dx,dz)),ToReal(0.00694444444444444444444444444444));
- CCTK_REAL_VEC const p1o144dydz = kmul(INV(kmul(dy,dz)),ToReal(0.00694444444444444444444444444444));
- CCTK_REAL_VEC const p1o1680dx = kmul(INV(dx),ToReal(0.000595238095238095238095238095238));
- CCTK_REAL_VEC const p1o1680dy = kmul(INV(dy),ToReal(0.000595238095238095238095238095238));
- CCTK_REAL_VEC const p1o1680dz = kmul(INV(dz),ToReal(0.000595238095238095238095238095238));
- CCTK_REAL_VEC const p1o16dx = kmul(INV(dx),ToReal(0.0625));
- CCTK_REAL_VEC const p1o16dy = kmul(INV(dy),ToReal(0.0625));
- CCTK_REAL_VEC const p1o16dz = kmul(INV(dz),ToReal(0.0625));
- CCTK_REAL_VEC const p1o180dx2 = kmul(INV(SQR(dx)),ToReal(0.00555555555555555555555555555556));
- CCTK_REAL_VEC const p1o180dy2 = kmul(INV(SQR(dy)),ToReal(0.00555555555555555555555555555556));
- CCTK_REAL_VEC const p1o180dz2 = kmul(INV(SQR(dz)),ToReal(0.00555555555555555555555555555556));
- CCTK_REAL_VEC const p1o24dx = kmul(INV(dx),ToReal(0.0416666666666666666666666666667));
- CCTK_REAL_VEC const p1o24dy = kmul(INV(dy),ToReal(0.0416666666666666666666666666667));
- CCTK_REAL_VEC const p1o24dz = kmul(INV(dz),ToReal(0.0416666666666666666666666666667));
- CCTK_REAL_VEC const p1o256dx = kmul(INV(dx),ToReal(0.00390625));
- CCTK_REAL_VEC const p1o256dy = kmul(INV(dy),ToReal(0.00390625));
- CCTK_REAL_VEC const p1o256dz = kmul(INV(dz),ToReal(0.00390625));
- CCTK_REAL_VEC const p1o2dx = kmul(INV(dx),ToReal(0.5));
- CCTK_REAL_VEC const p1o2dy = kmul(INV(dy),ToReal(0.5));
- CCTK_REAL_VEC const p1o2dz = kmul(INV(dz),ToReal(0.5));
- CCTK_REAL_VEC const p1o3600dxdy = kmul(INV(kmul(dx,dy)),ToReal(0.000277777777777777777777777777778));
- CCTK_REAL_VEC const p1o3600dxdz = kmul(INV(kmul(dx,dz)),ToReal(0.000277777777777777777777777777778));
- CCTK_REAL_VEC const p1o3600dydz = kmul(INV(kmul(dy,dz)),ToReal(0.000277777777777777777777777777778));
- CCTK_REAL_VEC const p1o4dx = kmul(INV(dx),ToReal(0.25));
- CCTK_REAL_VEC const p1o4dxdy = kmul(INV(kmul(dx,dy)),ToReal(0.25));
- CCTK_REAL_VEC const p1o4dxdz = kmul(INV(kmul(dx,dz)),ToReal(0.25));
- CCTK_REAL_VEC const p1o4dy = kmul(INV(dy),ToReal(0.25));
- CCTK_REAL_VEC const p1o4dydz = kmul(INV(kmul(dy,dz)),ToReal(0.25));
- CCTK_REAL_VEC const p1o4dz = kmul(INV(dz),ToReal(0.25));
- CCTK_REAL_VEC const p1o5040dx2 = kmul(INV(SQR(dx)),ToReal(0.000198412698412698412698412698413));
- CCTK_REAL_VEC const p1o5040dy2 = kmul(INV(SQR(dy)),ToReal(0.000198412698412698412698412698413));
- CCTK_REAL_VEC const p1o5040dz2 = kmul(INV(SQR(dz)),ToReal(0.000198412698412698412698412698413));
- CCTK_REAL_VEC const p1o560dx = kmul(INV(dx),ToReal(0.00178571428571428571428571428571));
- CCTK_REAL_VEC const p1o560dy = kmul(INV(dy),ToReal(0.00178571428571428571428571428571));
- CCTK_REAL_VEC const p1o560dz = kmul(INV(dz),ToReal(0.00178571428571428571428571428571));
- CCTK_REAL_VEC const p1o60dx = kmul(INV(dx),ToReal(0.0166666666666666666666666666667));
- CCTK_REAL_VEC const p1o60dy = kmul(INV(dy),ToReal(0.0166666666666666666666666666667));
- CCTK_REAL_VEC const p1o60dz = kmul(INV(dz),ToReal(0.0166666666666666666666666666667));
- CCTK_REAL_VEC const p1o64dx = kmul(INV(dx),ToReal(0.015625));
- CCTK_REAL_VEC const p1o64dy = kmul(INV(dy),ToReal(0.015625));
- CCTK_REAL_VEC const p1o64dz = kmul(INV(dz),ToReal(0.015625));
- CCTK_REAL_VEC const p1o705600dxdy = kmul(INV(kmul(dx,dy)),ToReal(1.41723356009070294784580498866e-6));
- CCTK_REAL_VEC const p1o705600dxdz = kmul(INV(kmul(dx,dz)),ToReal(1.41723356009070294784580498866e-6));
- CCTK_REAL_VEC const p1o705600dydz = kmul(INV(kmul(dy,dz)),ToReal(1.41723356009070294784580498866e-6));
- CCTK_REAL_VEC const p1o840dx = kmul(INV(dx),ToReal(0.00119047619047619047619047619048));
- CCTK_REAL_VEC const p1o840dy = kmul(INV(dy),ToReal(0.00119047619047619047619047619048));
- CCTK_REAL_VEC const p1o840dz = kmul(INV(dz),ToReal(0.00119047619047619047619047619048));
- CCTK_REAL_VEC const p1odx = INV(dx);
- CCTK_REAL_VEC const p1odx2 = INV(SQR(dx));
- CCTK_REAL_VEC const p1ody = INV(dy);
- CCTK_REAL_VEC const p1ody2 = INV(SQR(dy));
- CCTK_REAL_VEC const p1odz = INV(dz);
- CCTK_REAL_VEC const p1odz2 = INV(SQR(dz));
- CCTK_REAL_VEC const pm1o120dx = kmul(INV(dx),ToReal(-0.00833333333333333333333333333333));
- CCTK_REAL_VEC const pm1o120dy = kmul(INV(dy),ToReal(-0.00833333333333333333333333333333));
- CCTK_REAL_VEC const pm1o120dz = kmul(INV(dz),ToReal(-0.00833333333333333333333333333333));
- CCTK_REAL_VEC const pm1o12dx2 = kmul(INV(SQR(dx)),ToReal(-0.0833333333333333333333333333333));
- CCTK_REAL_VEC const pm1o12dy2 = kmul(INV(SQR(dy)),ToReal(-0.0833333333333333333333333333333));
- CCTK_REAL_VEC const pm1o12dz2 = kmul(INV(SQR(dz)),ToReal(-0.0833333333333333333333333333333));
- CCTK_REAL_VEC const pm1o2dx = kmul(INV(dx),ToReal(-0.5));
- CCTK_REAL_VEC const pm1o2dy = kmul(INV(dy),ToReal(-0.5));
- CCTK_REAL_VEC const pm1o2dz = kmul(INV(dz),ToReal(-0.5));
- CCTK_REAL_VEC const pm1o4dx = kmul(INV(dx),ToReal(-0.25));
- CCTK_REAL_VEC const pm1o4dy = kmul(INV(dy),ToReal(-0.25));
- CCTK_REAL_VEC const pm1o4dz = kmul(INV(dz),ToReal(-0.25));
- CCTK_REAL_VEC const pm1o60dx = kmul(INV(dx),ToReal(-0.0166666666666666666666666666667));
- CCTK_REAL_VEC const pm1o60dy = kmul(INV(dy),ToReal(-0.0166666666666666666666666666667));
- CCTK_REAL_VEC const pm1o60dz = kmul(INV(dz),ToReal(-0.0166666666666666666666666666667));
+ CCTK_REAL_VEC const p1o1024dx = kdiv(ToReal(0.0009765625),dx);
+ CCTK_REAL_VEC const p1o1024dy = kdiv(ToReal(0.0009765625),dy);
+ CCTK_REAL_VEC const p1o1024dz = kdiv(ToReal(0.0009765625),dz);
+ CCTK_REAL_VEC const p1o120dx = kdiv(ToReal(0.00833333333333333333333333333333),dx);
+ CCTK_REAL_VEC const p1o120dy = kdiv(ToReal(0.00833333333333333333333333333333),dy);
+ CCTK_REAL_VEC const p1o120dz = kdiv(ToReal(0.00833333333333333333333333333333),dz);
+ CCTK_REAL_VEC const p1o12dx = kdiv(ToReal(0.0833333333333333333333333333333),dx);
+ CCTK_REAL_VEC const p1o12dy = kdiv(ToReal(0.0833333333333333333333333333333),dy);
+ CCTK_REAL_VEC const p1o12dz = kdiv(ToReal(0.0833333333333333333333333333333),dz);
+ CCTK_REAL_VEC const p1o144dxdy = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dy,dx));
+ CCTK_REAL_VEC const p1o144dxdz = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dx));
+ CCTK_REAL_VEC const p1o144dydz = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dy));
+ CCTK_REAL_VEC const p1o1680dx = kdiv(ToReal(0.000595238095238095238095238095238),dx);
+ CCTK_REAL_VEC const p1o1680dy = kdiv(ToReal(0.000595238095238095238095238095238),dy);
+ CCTK_REAL_VEC const p1o1680dz = kdiv(ToReal(0.000595238095238095238095238095238),dz);
+ CCTK_REAL_VEC const p1o16dx = kdiv(ToReal(0.0625),dx);
+ CCTK_REAL_VEC const p1o16dy = kdiv(ToReal(0.0625),dy);
+ CCTK_REAL_VEC const p1o16dz = kdiv(ToReal(0.0625),dz);
+ CCTK_REAL_VEC const p1o180dx2 = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dx,dx));
+ CCTK_REAL_VEC const p1o180dy2 = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dy,dy));
+ CCTK_REAL_VEC const p1o180dz2 = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dz,dz));
+ CCTK_REAL_VEC const p1o24dx = kdiv(ToReal(0.0416666666666666666666666666667),dx);
+ CCTK_REAL_VEC const p1o24dy = kdiv(ToReal(0.0416666666666666666666666666667),dy);
+ CCTK_REAL_VEC const p1o24dz = kdiv(ToReal(0.0416666666666666666666666666667),dz);
+ CCTK_REAL_VEC const p1o256dx = kdiv(ToReal(0.00390625),dx);
+ CCTK_REAL_VEC const p1o256dy = kdiv(ToReal(0.00390625),dy);
+ CCTK_REAL_VEC const p1o256dz = kdiv(ToReal(0.00390625),dz);
+ CCTK_REAL_VEC const p1o2dx = kdiv(ToReal(0.5),dx);
+ CCTK_REAL_VEC const p1o2dy = kdiv(ToReal(0.5),dy);
+ CCTK_REAL_VEC const p1o2dz = kdiv(ToReal(0.5),dz);
+ CCTK_REAL_VEC const p1o3600dxdy = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dy,dx));
+ CCTK_REAL_VEC const p1o3600dxdz = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dx));
+ CCTK_REAL_VEC const p1o3600dydz = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dy));
+ CCTK_REAL_VEC const p1o4dx = kdiv(ToReal(0.25),dx);
+ CCTK_REAL_VEC const p1o4dxdy = kdiv(ToReal(0.25),kmul(dy,dx));
+ CCTK_REAL_VEC const p1o4dxdz = kdiv(ToReal(0.25),kmul(dz,dx));
+ CCTK_REAL_VEC const p1o4dy = kdiv(ToReal(0.25),dy);
+ CCTK_REAL_VEC const p1o4dydz = kdiv(ToReal(0.25),kmul(dz,dy));
+ CCTK_REAL_VEC const p1o4dz = kdiv(ToReal(0.25),dz);
+ CCTK_REAL_VEC const p1o5040dx2 = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dx,dx));
+ CCTK_REAL_VEC const p1o5040dy2 = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dy,dy));
+ CCTK_REAL_VEC const p1o5040dz2 = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dz,dz));
+ CCTK_REAL_VEC const p1o560dx = kdiv(ToReal(0.00178571428571428571428571428571),dx);
+ CCTK_REAL_VEC const p1o560dy = kdiv(ToReal(0.00178571428571428571428571428571),dy);
+ CCTK_REAL_VEC const p1o560dz = kdiv(ToReal(0.00178571428571428571428571428571),dz);
+ CCTK_REAL_VEC const p1o60dx = kdiv(ToReal(0.0166666666666666666666666666667),dx);
+ CCTK_REAL_VEC const p1o60dy = kdiv(ToReal(0.0166666666666666666666666666667),dy);
+ CCTK_REAL_VEC const p1o60dz = kdiv(ToReal(0.0166666666666666666666666666667),dz);
+ CCTK_REAL_VEC const p1o64dx = kdiv(ToReal(0.015625),dx);
+ CCTK_REAL_VEC const p1o64dy = kdiv(ToReal(0.015625),dy);
+ CCTK_REAL_VEC const p1o64dz = kdiv(ToReal(0.015625),dz);
+ CCTK_REAL_VEC const p1o705600dxdy = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dy,dx));
+ CCTK_REAL_VEC const p1o705600dxdz = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dx));
+ CCTK_REAL_VEC const p1o705600dydz = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dy));
+ CCTK_REAL_VEC const p1o840dx = kdiv(ToReal(0.00119047619047619047619047619048),dx);
+ CCTK_REAL_VEC const p1o840dy = kdiv(ToReal(0.00119047619047619047619047619048),dy);
+ CCTK_REAL_VEC const p1o840dz = kdiv(ToReal(0.00119047619047619047619047619048),dz);
+ CCTK_REAL_VEC const p1odx = kdiv(ToReal(1),dx);
+ CCTK_REAL_VEC const p1odx2 = kdiv(ToReal(1),kmul(dx,dx));
+ CCTK_REAL_VEC const p1ody = kdiv(ToReal(1),dy);
+ CCTK_REAL_VEC const p1ody2 = kdiv(ToReal(1),kmul(dy,dy));
+ CCTK_REAL_VEC const p1odz = kdiv(ToReal(1),dz);
+ CCTK_REAL_VEC const p1odz2 = kdiv(ToReal(1),kmul(dz,dz));
+ CCTK_REAL_VEC const pm1o120dx = kdiv(ToReal(-0.00833333333333333333333333333333),dx);
+ CCTK_REAL_VEC const pm1o120dy = kdiv(ToReal(-0.00833333333333333333333333333333),dy);
+ CCTK_REAL_VEC const pm1o120dz = kdiv(ToReal(-0.00833333333333333333333333333333),dz);
+ CCTK_REAL_VEC const pm1o12dx2 = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dx,dx));
+ CCTK_REAL_VEC const pm1o12dy2 = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dy,dy));
+ CCTK_REAL_VEC const pm1o12dz2 = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dz,dz));
+ CCTK_REAL_VEC const pm1o2dx = kdiv(ToReal(-0.5),dx);
+ CCTK_REAL_VEC const pm1o2dy = kdiv(ToReal(-0.5),dy);
+ CCTK_REAL_VEC const pm1o2dz = kdiv(ToReal(-0.5),dz);
+ CCTK_REAL_VEC const pm1o4dx = kdiv(ToReal(-0.25),dx);
+ CCTK_REAL_VEC const pm1o4dy = kdiv(ToReal(-0.25),dy);
+ CCTK_REAL_VEC const pm1o4dz = kdiv(ToReal(-0.25),dz);
+ CCTK_REAL_VEC const pm1o60dx = kdiv(ToReal(-0.0166666666666666666666666666667),dx);
+ CCTK_REAL_VEC const pm1o60dy = kdiv(ToReal(-0.0166666666666666666666666666667),dy);
+ CCTK_REAL_VEC const pm1o60dz = kdiv(ToReal(-0.0166666666666666666666666666667),dz);
/* Jacobian variable pointers */
bool const use_jacobian = (!CCTK_IsFunctionAliased("MultiPatch_GetMap") || MultiPatch_GetMap(cctkGH) != jacobian_identity_map)
@@ -192,7 +196,7 @@ static void ML_CCZ4_Minkowski_Body(cGH const * restrict const cctkGH, int const
#pragma omp parallel
LC_LOOP3VEC(ML_CCZ4_Minkowski,
i,j,k, imin[0],imin[1],imin[2], imax[0],imax[1],imax[2],
- cctk_lsh[0],cctk_lsh[1],cctk_lsh[2],
+ cctk_ash[0],cctk_ash[1],cctk_ash[2],
CCTK_REAL_VEC_SIZE)
{
ptrdiff_t const index = di*i + dj*j + dk*k;
diff --git a/ML_CCZ4/src/ML_CCZ4_RHS1.cc b/ML_CCZ4/src/ML_CCZ4_RHS1.cc
index ff38e40..18cdffa 100644
--- a/ML_CCZ4/src/ML_CCZ4_RHS1.cc
+++ b/ML_CCZ4/src/ML_CCZ4_RHS1.cc
@@ -18,10 +18,14 @@
/* Define macros used in calculations */
#define INITVALUE (42)
-#define QAD(x) (SQR(SQR(x)))
+#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 ML_CCZ4_RHS1_SelectBCs(CCTK_ARGUMENTS)
{
@@ -92,84 +96,84 @@ static void ML_CCZ4_RHS1_Body(cGH const * restrict const cctkGH, int const dir,
CCTK_REAL_VEC const hdzi = kmul(ToReal(0.5), dzi);
/* Initialize predefined quantities */
- CCTK_REAL_VEC const p1o1024dx = kmul(INV(dx),ToReal(0.0009765625));
- CCTK_REAL_VEC const p1o1024dy = kmul(INV(dy),ToReal(0.0009765625));
- CCTK_REAL_VEC const p1o1024dz = kmul(INV(dz),ToReal(0.0009765625));
- CCTK_REAL_VEC const p1o120dx = kmul(INV(dx),ToReal(0.00833333333333333333333333333333));
- CCTK_REAL_VEC const p1o120dy = kmul(INV(dy),ToReal(0.00833333333333333333333333333333));
- CCTK_REAL_VEC const p1o120dz = kmul(INV(dz),ToReal(0.00833333333333333333333333333333));
- CCTK_REAL_VEC const p1o12dx = kmul(INV(dx),ToReal(0.0833333333333333333333333333333));
- CCTK_REAL_VEC const p1o12dy = kmul(INV(dy),ToReal(0.0833333333333333333333333333333));
- CCTK_REAL_VEC const p1o12dz = kmul(INV(dz),ToReal(0.0833333333333333333333333333333));
- CCTK_REAL_VEC const p1o144dxdy = kmul(INV(kmul(dx,dy)),ToReal(0.00694444444444444444444444444444));
- CCTK_REAL_VEC const p1o144dxdz = kmul(INV(kmul(dx,dz)),ToReal(0.00694444444444444444444444444444));
- CCTK_REAL_VEC const p1o144dydz = kmul(INV(kmul(dy,dz)),ToReal(0.00694444444444444444444444444444));
- CCTK_REAL_VEC const p1o1680dx = kmul(INV(dx),ToReal(0.000595238095238095238095238095238));
- CCTK_REAL_VEC const p1o1680dy = kmul(INV(dy),ToReal(0.000595238095238095238095238095238));
- CCTK_REAL_VEC const p1o1680dz = kmul(INV(dz),ToReal(0.000595238095238095238095238095238));
- CCTK_REAL_VEC const p1o16dx = kmul(INV(dx),ToReal(0.0625));
- CCTK_REAL_VEC const p1o16dy = kmul(INV(dy),ToReal(0.0625));
- CCTK_REAL_VEC const p1o16dz = kmul(INV(dz),ToReal(0.0625));
- CCTK_REAL_VEC const p1o180dx2 = kmul(INV(SQR(dx)),ToReal(0.00555555555555555555555555555556));
- CCTK_REAL_VEC const p1o180dy2 = kmul(INV(SQR(dy)),ToReal(0.00555555555555555555555555555556));
- CCTK_REAL_VEC const p1o180dz2 = kmul(INV(SQR(dz)),ToReal(0.00555555555555555555555555555556));
- CCTK_REAL_VEC const p1o24dx = kmul(INV(dx),ToReal(0.0416666666666666666666666666667));
- CCTK_REAL_VEC const p1o24dy = kmul(INV(dy),ToReal(0.0416666666666666666666666666667));
- CCTK_REAL_VEC const p1o24dz = kmul(INV(dz),ToReal(0.0416666666666666666666666666667));
- CCTK_REAL_VEC const p1o256dx = kmul(INV(dx),ToReal(0.00390625));
- CCTK_REAL_VEC const p1o256dy = kmul(INV(dy),ToReal(0.00390625));
- CCTK_REAL_VEC const p1o256dz = kmul(INV(dz),ToReal(0.00390625));
- CCTK_REAL_VEC const p1o2dx = kmul(INV(dx),ToReal(0.5));
- CCTK_REAL_VEC const p1o2dy = kmul(INV(dy),ToReal(0.5));
- CCTK_REAL_VEC const p1o2dz = kmul(INV(dz),ToReal(0.5));
- CCTK_REAL_VEC const p1o3600dxdy = kmul(INV(kmul(dx,dy)),ToReal(0.000277777777777777777777777777778));
- CCTK_REAL_VEC const p1o3600dxdz = kmul(INV(kmul(dx,dz)),ToReal(0.000277777777777777777777777777778));
- CCTK_REAL_VEC const p1o3600dydz = kmul(INV(kmul(dy,dz)),ToReal(0.000277777777777777777777777777778));
- CCTK_REAL_VEC const p1o4dx = kmul(INV(dx),ToReal(0.25));
- CCTK_REAL_VEC const p1o4dxdy = kmul(INV(kmul(dx,dy)),ToReal(0.25));
- CCTK_REAL_VEC const p1o4dxdz = kmul(INV(kmul(dx,dz)),ToReal(0.25));
- CCTK_REAL_VEC const p1o4dy = kmul(INV(dy),ToReal(0.25));
- CCTK_REAL_VEC const p1o4dydz = kmul(INV(kmul(dy,dz)),ToReal(0.25));
- CCTK_REAL_VEC const p1o4dz = kmul(INV(dz),ToReal(0.25));
- CCTK_REAL_VEC const p1o5040dx2 = kmul(INV(SQR(dx)),ToReal(0.000198412698412698412698412698413));
- CCTK_REAL_VEC const p1o5040dy2 = kmul(INV(SQR(dy)),ToReal(0.000198412698412698412698412698413));
- CCTK_REAL_VEC const p1o5040dz2 = kmul(INV(SQR(dz)),ToReal(0.000198412698412698412698412698413));
- CCTK_REAL_VEC const p1o560dx = kmul(INV(dx),ToReal(0.00178571428571428571428571428571));
- CCTK_REAL_VEC const p1o560dy = kmul(INV(dy),ToReal(0.00178571428571428571428571428571));
- CCTK_REAL_VEC const p1o560dz = kmul(INV(dz),ToReal(0.00178571428571428571428571428571));
- CCTK_REAL_VEC const p1o60dx = kmul(INV(dx),ToReal(0.0166666666666666666666666666667));
- CCTK_REAL_VEC const p1o60dy = kmul(INV(dy),ToReal(0.0166666666666666666666666666667));
- CCTK_REAL_VEC const p1o60dz = kmul(INV(dz),ToReal(0.0166666666666666666666666666667));
- CCTK_REAL_VEC const p1o64dx = kmul(INV(dx),ToReal(0.015625));
- CCTK_REAL_VEC const p1o64dy = kmul(INV(dy),ToReal(0.015625));
- CCTK_REAL_VEC const p1o64dz = kmul(INV(dz),ToReal(0.015625));
- CCTK_REAL_VEC const p1o705600dxdy = kmul(INV(kmul(dx,dy)),ToReal(1.41723356009070294784580498866e-6));
- CCTK_REAL_VEC const p1o705600dxdz = kmul(INV(kmul(dx,dz)),ToReal(1.41723356009070294784580498866e-6));
- CCTK_REAL_VEC const p1o705600dydz = kmul(INV(kmul(dy,dz)),ToReal(1.41723356009070294784580498866e-6));
- CCTK_REAL_VEC const p1o840dx = kmul(INV(dx),ToReal(0.00119047619047619047619047619048));
- CCTK_REAL_VEC const p1o840dy = kmul(INV(dy),ToReal(0.00119047619047619047619047619048));
- CCTK_REAL_VEC const p1o840dz = kmul(INV(dz),ToReal(0.00119047619047619047619047619048));
- CCTK_REAL_VEC const p1odx = INV(dx);
- CCTK_REAL_VEC const p1odx2 = INV(SQR(dx));
- CCTK_REAL_VEC const p1ody = INV(dy);
- CCTK_REAL_VEC const p1ody2 = INV(SQR(dy));
- CCTK_REAL_VEC const p1odz = INV(dz);
- CCTK_REAL_VEC const p1odz2 = INV(SQR(dz));
- CCTK_REAL_VEC const pm1o120dx = kmul(INV(dx),ToReal(-0.00833333333333333333333333333333));
- CCTK_REAL_VEC const pm1o120dy = kmul(INV(dy),ToReal(-0.00833333333333333333333333333333));
- CCTK_REAL_VEC const pm1o120dz = kmul(INV(dz),ToReal(-0.00833333333333333333333333333333));
- CCTK_REAL_VEC const pm1o12dx2 = kmul(INV(SQR(dx)),ToReal(-0.0833333333333333333333333333333));
- CCTK_REAL_VEC const pm1o12dy2 = kmul(INV(SQR(dy)),ToReal(-0.0833333333333333333333333333333));
- CCTK_REAL_VEC const pm1o12dz2 = kmul(INV(SQR(dz)),ToReal(-0.0833333333333333333333333333333));
- CCTK_REAL_VEC const pm1o2dx = kmul(INV(dx),ToReal(-0.5));
- CCTK_REAL_VEC const pm1o2dy = kmul(INV(dy),ToReal(-0.5));
- CCTK_REAL_VEC const pm1o2dz = kmul(INV(dz),ToReal(-0.5));
- CCTK_REAL_VEC const pm1o4dx = kmul(INV(dx),ToReal(-0.25));
- CCTK_REAL_VEC const pm1o4dy = kmul(INV(dy),ToReal(-0.25));
- CCTK_REAL_VEC const pm1o4dz = kmul(INV(dz),ToReal(-0.25));
- CCTK_REAL_VEC const pm1o60dx = kmul(INV(dx),ToReal(-0.0166666666666666666666666666667));
- CCTK_REAL_VEC const pm1o60dy = kmul(INV(dy),ToReal(-0.0166666666666666666666666666667));
- CCTK_REAL_VEC const pm1o60dz = kmul(INV(dz),ToReal(-0.0166666666666666666666666666667));
+ CCTK_REAL_VEC const p1o1024dx = kdiv(ToReal(0.0009765625),dx);
+ CCTK_REAL_VEC const p1o1024dy = kdiv(ToReal(0.0009765625),dy);
+ CCTK_REAL_VEC const p1o1024dz = kdiv(ToReal(0.0009765625),dz);
+ CCTK_REAL_VEC const p1o120dx = kdiv(ToReal(0.00833333333333333333333333333333),dx);
+ CCTK_REAL_VEC const p1o120dy = kdiv(ToReal(0.00833333333333333333333333333333),dy);
+ CCTK_REAL_VEC const p1o120dz = kdiv(ToReal(0.00833333333333333333333333333333),dz);
+ CCTK_REAL_VEC const p1o12dx = kdiv(ToReal(0.0833333333333333333333333333333),dx);
+ CCTK_REAL_VEC const p1o12dy = kdiv(ToReal(0.0833333333333333333333333333333),dy);
+ CCTK_REAL_VEC const p1o12dz = kdiv(ToReal(0.0833333333333333333333333333333),dz);
+ CCTK_REAL_VEC const p1o144dxdy = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dy,dx));
+ CCTK_REAL_VEC const p1o144dxdz = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dx));
+ CCTK_REAL_VEC const p1o144dydz = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dy));
+ CCTK_REAL_VEC const p1o1680dx = kdiv(ToReal(0.000595238095238095238095238095238),dx);
+ CCTK_REAL_VEC const p1o1680dy = kdiv(ToReal(0.000595238095238095238095238095238),dy);
+ CCTK_REAL_VEC const p1o1680dz = kdiv(ToReal(0.000595238095238095238095238095238),dz);
+ CCTK_REAL_VEC const p1o16dx = kdiv(ToReal(0.0625),dx);
+ CCTK_REAL_VEC const p1o16dy = kdiv(ToReal(0.0625),dy);
+ CCTK_REAL_VEC const p1o16dz = kdiv(ToReal(0.0625),dz);
+ CCTK_REAL_VEC const p1o180dx2 = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dx,dx));
+ CCTK_REAL_VEC const p1o180dy2 = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dy,dy));
+ CCTK_REAL_VEC const p1o180dz2 = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dz,dz));
+ CCTK_REAL_VEC const p1o24dx = kdiv(ToReal(0.0416666666666666666666666666667),dx);
+ CCTK_REAL_VEC const p1o24dy = kdiv(ToReal(0.0416666666666666666666666666667),dy);
+ CCTK_REAL_VEC const p1o24dz = kdiv(ToReal(0.0416666666666666666666666666667),dz);
+ CCTK_REAL_VEC const p1o256dx = kdiv(ToReal(0.00390625),dx);
+ CCTK_REAL_VEC const p1o256dy = kdiv(ToReal(0.00390625),dy);
+ CCTK_REAL_VEC const p1o256dz = kdiv(ToReal(0.00390625),dz);
+ CCTK_REAL_VEC const p1o2dx = kdiv(ToReal(0.5),dx);
+ CCTK_REAL_VEC const p1o2dy = kdiv(ToReal(0.5),dy);
+ CCTK_REAL_VEC const p1o2dz = kdiv(ToReal(0.5),dz);
+ CCTK_REAL_VEC const p1o3600dxdy = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dy,dx));
+ CCTK_REAL_VEC const p1o3600dxdz = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dx));
+ CCTK_REAL_VEC const p1o3600dydz = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dy));
+ CCTK_REAL_VEC const p1o4dx = kdiv(ToReal(0.25),dx);
+ CCTK_REAL_VEC const p1o4dxdy = kdiv(ToReal(0.25),kmul(dy,dx));
+ CCTK_REAL_VEC const p1o4dxdz = kdiv(ToReal(0.25),kmul(dz,dx));
+ CCTK_REAL_VEC const p1o4dy = kdiv(ToReal(0.25),dy);
+ CCTK_REAL_VEC const p1o4dydz = kdiv(ToReal(0.25),kmul(dz,dy));
+ CCTK_REAL_VEC const p1o4dz = kdiv(ToReal(0.25),dz);
+ CCTK_REAL_VEC const p1o5040dx2 = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dx,dx));
+ CCTK_REAL_VEC const p1o5040dy2 = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dy,dy));
+ CCTK_REAL_VEC const p1o5040dz2 = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dz,dz));
+ CCTK_REAL_VEC const p1o560dx = kdiv(ToReal(0.00178571428571428571428571428571),dx);
+ CCTK_REAL_VEC const p1o560dy = kdiv(ToReal(0.00178571428571428571428571428571),dy);
+ CCTK_REAL_VEC const p1o560dz = kdiv(ToReal(0.00178571428571428571428571428571),dz);
+ CCTK_REAL_VEC const p1o60dx = kdiv(ToReal(0.0166666666666666666666666666667),dx);
+ CCTK_REAL_VEC const p1o60dy = kdiv(ToReal(0.0166666666666666666666666666667),dy);
+ CCTK_REAL_VEC const p1o60dz = kdiv(ToReal(0.0166666666666666666666666666667),dz);
+ CCTK_REAL_VEC const p1o64dx = kdiv(ToReal(0.015625),dx);
+ CCTK_REAL_VEC const p1o64dy = kdiv(ToReal(0.015625),dy);
+ CCTK_REAL_VEC const p1o64dz = kdiv(ToReal(0.015625),dz);
+ CCTK_REAL_VEC const p1o705600dxdy = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dy,dx));
+ CCTK_REAL_VEC const p1o705600dxdz = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dx));
+ CCTK_REAL_VEC const p1o705600dydz = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dy));
+ CCTK_REAL_VEC const p1o840dx = kdiv(ToReal(0.00119047619047619047619047619048),dx);
+ CCTK_REAL_VEC const p1o840dy = kdiv(ToReal(0.00119047619047619047619047619048),dy);
+ CCTK_REAL_VEC const p1o840dz = kdiv(ToReal(0.00119047619047619047619047619048),dz);
+ CCTK_REAL_VEC const p1odx = kdiv(ToReal(1),dx);
+ CCTK_REAL_VEC const p1odx2 = kdiv(ToReal(1),kmul(dx,dx));
+ CCTK_REAL_VEC const p1ody = kdiv(ToReal(1),dy);
+ CCTK_REAL_VEC const p1ody2 = kdiv(ToReal(1),kmul(dy,dy));
+ CCTK_REAL_VEC const p1odz = kdiv(ToReal(1),dz);
+ CCTK_REAL_VEC const p1odz2 = kdiv(ToReal(1),kmul(dz,dz));
+ CCTK_REAL_VEC const pm1o120dx = kdiv(ToReal(-0.00833333333333333333333333333333),dx);
+ CCTK_REAL_VEC const pm1o120dy = kdiv(ToReal(-0.00833333333333333333333333333333),dy);
+ CCTK_REAL_VEC const pm1o120dz = kdiv(ToReal(-0.00833333333333333333333333333333),dz);
+ CCTK_REAL_VEC const pm1o12dx2 = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dx,dx));
+ CCTK_REAL_VEC const pm1o12dy2 = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dy,dy));
+ CCTK_REAL_VEC const pm1o12dz2 = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dz,dz));
+ CCTK_REAL_VEC const pm1o2dx = kdiv(ToReal(-0.5),dx);
+ CCTK_REAL_VEC const pm1o2dy = kdiv(ToReal(-0.5),dy);
+ CCTK_REAL_VEC const pm1o2dz = kdiv(ToReal(-0.5),dz);
+ CCTK_REAL_VEC const pm1o4dx = kdiv(ToReal(-0.25),dx);
+ CCTK_REAL_VEC const pm1o4dy = kdiv(ToReal(-0.25),dy);
+ CCTK_REAL_VEC const pm1o4dz = kdiv(ToReal(-0.25),dz);
+ CCTK_REAL_VEC const pm1o60dx = kdiv(ToReal(-0.0166666666666666666666666666667),dx);
+ CCTK_REAL_VEC const pm1o60dy = kdiv(ToReal(-0.0166666666666666666666666666667),dy);
+ CCTK_REAL_VEC const pm1o60dz = kdiv(ToReal(-0.0166666666666666666666666666667),dz);
/* Jacobian variable pointers */
bool const use_jacobian = (!CCTK_IsFunctionAliased("MultiPatch_GetMap") || MultiPatch_GetMap(cctkGH) != jacobian_identity_map)
@@ -228,7 +232,7 @@ static void ML_CCZ4_RHS1_Body(cGH const * restrict const cctkGH, int const dir,
#pragma omp parallel
LC_LOOP3VEC(ML_CCZ4_RHS1,
i,j,k, imin[0],imin[1],imin[2], imax[0],imax[1],imax[2],
- cctk_lsh[0],cctk_lsh[1],cctk_lsh[2],
+ cctk_ash[0],cctk_ash[1],cctk_ash[2],
CCTK_REAL_VEC_SIZE)
{
ptrdiff_t const index = di*i + dj*j + dk*k;
@@ -1213,103 +1217,103 @@ static void ML_CCZ4_RHS1_Body(cGH const * restrict const cctkGH, int const dir,
kmadd(J13L,PDstandardNth1Xt3,kmadd(J23L,PDstandardNth2Xt3,kmul(J33L,PDstandardNth3Xt3)));
JacPDstandardNth11alpha =
- kmadd(dJ111L,PDstandardNth1alpha,kmadd(dJ211L,PDstandardNth2alpha,kmadd(dJ311L,PDstandardNth3alpha,kmadd(PDstandardNth11alpha,SQR(J11L),kmadd(PDstandardNth22alpha,SQR(J21L),kmadd(PDstandardNth33alpha,SQR(J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12alpha,kmul(J31L,PDstandardNth13alpha)),kmul(J21L,kmul(J31L,PDstandardNth23alpha))),ToReal(2))))))));
+ kmadd(dJ111L,PDstandardNth1alpha,kmadd(dJ211L,PDstandardNth2alpha,kmadd(dJ311L,PDstandardNth3alpha,kmadd(PDstandardNth11alpha,kmul(J11L,J11L),kmadd(PDstandardNth22alpha,kmul(J21L,J21L),kmadd(PDstandardNth33alpha,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12alpha,kmul(J31L,PDstandardNth13alpha)),kmul(J21L,kmul(J31L,PDstandardNth23alpha))),ToReal(2))))))));
JacPDstandardNth11beta1 =
- kmadd(dJ111L,PDstandardNth1beta1,kmadd(dJ211L,PDstandardNth2beta1,kmadd(dJ311L,PDstandardNth3beta1,kmadd(PDstandardNth11beta1,SQR(J11L),kmadd(PDstandardNth22beta1,SQR(J21L),kmadd(PDstandardNth33beta1,SQR(J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12beta1,kmul(J31L,PDstandardNth13beta1)),kmul(J21L,kmul(J31L,PDstandardNth23beta1))),ToReal(2))))))));
+ kmadd(dJ111L,PDstandardNth1beta1,kmadd(dJ211L,PDstandardNth2beta1,kmadd(dJ311L,PDstandardNth3beta1,kmadd(PDstandardNth11beta1,kmul(J11L,J11L),kmadd(PDstandardNth22beta1,kmul(J21L,J21L),kmadd(PDstandardNth33beta1,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12beta1,kmul(J31L,PDstandardNth13beta1)),kmul(J21L,kmul(J31L,PDstandardNth23beta1))),ToReal(2))))))));
JacPDstandardNth11beta2 =
- kmadd(dJ111L,PDstandardNth1beta2,kmadd(dJ211L,PDstandardNth2beta2,kmadd(dJ311L,PDstandardNth3beta2,kmadd(PDstandardNth11beta2,SQR(J11L),kmadd(PDstandardNth22beta2,SQR(J21L),kmadd(PDstandardNth33beta2,SQR(J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12beta2,kmul(J31L,PDstandardNth13beta2)),kmul(J21L,kmul(J31L,PDstandardNth23beta2))),ToReal(2))))))));
+ kmadd(dJ111L,PDstandardNth1beta2,kmadd(dJ211L,PDstandardNth2beta2,kmadd(dJ311L,PDstandardNth3beta2,kmadd(PDstandardNth11beta2,kmul(J11L,J11L),kmadd(PDstandardNth22beta2,kmul(J21L,J21L),kmadd(PDstandardNth33beta2,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12beta2,kmul(J31L,PDstandardNth13beta2)),kmul(J21L,kmul(J31L,PDstandardNth23beta2))),ToReal(2))))))));
JacPDstandardNth11beta3 =
- kmadd(dJ111L,PDstandardNth1beta3,kmadd(dJ211L,PDstandardNth2beta3,kmadd(dJ311L,PDstandardNth3beta3,kmadd(PDstandardNth11beta3,SQR(J11L),kmadd(PDstandardNth22beta3,SQR(J21L),kmadd(PDstandardNth33beta3,SQR(J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12beta3,kmul(J31L,PDstandardNth13beta3)),kmul(J21L,kmul(J31L,PDstandardNth23beta3))),ToReal(2))))))));
+ kmadd(dJ111L,PDstandardNth1beta3,kmadd(dJ211L,PDstandardNth2beta3,kmadd(dJ311L,PDstandardNth3beta3,kmadd(PDstandardNth11beta3,kmul(J11L,J11L),kmadd(PDstandardNth22beta3,kmul(J21L,J21L),kmadd(PDstandardNth33beta3,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12beta3,kmul(J31L,PDstandardNth13beta3)),kmul(J21L,kmul(J31L,PDstandardNth23beta3))),ToReal(2))))))));
JacPDstandardNth11gt11 =
- kmadd(dJ111L,PDstandardNth1gt11,kmadd(dJ211L,PDstandardNth2gt11,kmadd(dJ311L,PDstandardNth3gt11,kmadd(PDstandardNth11gt11,SQR(J11L),kmadd(PDstandardNth22gt11,SQR(J21L),kmadd(PDstandardNth33gt11,SQR(J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12gt11,kmul(J31L,PDstandardNth13gt11)),kmul(J21L,kmul(J31L,PDstandardNth23gt11))),ToReal(2))))))));
+ kmadd(dJ111L,PDstandardNth1gt11,kmadd(dJ211L,PDstandardNth2gt11,kmadd(dJ311L,PDstandardNth3gt11,kmadd(PDstandardNth11gt11,kmul(J11L,J11L),kmadd(PDstandardNth22gt11,kmul(J21L,J21L),kmadd(PDstandardNth33gt11,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12gt11,kmul(J31L,PDstandardNth13gt11)),kmul(J21L,kmul(J31L,PDstandardNth23gt11))),ToReal(2))))))));
JacPDstandardNth11gt12 =
- kmadd(dJ111L,PDstandardNth1gt12,kmadd(dJ211L,PDstandardNth2gt12,kmadd(dJ311L,PDstandardNth3gt12,kmadd(PDstandardNth11gt12,SQR(J11L),kmadd(PDstandardNth22gt12,SQR(J21L),kmadd(PDstandardNth33gt12,SQR(J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12gt12,kmul(J31L,PDstandardNth13gt12)),kmul(J21L,kmul(J31L,PDstandardNth23gt12))),ToReal(2))))))));
+ kmadd(dJ111L,PDstandardNth1gt12,kmadd(dJ211L,PDstandardNth2gt12,kmadd(dJ311L,PDstandardNth3gt12,kmadd(PDstandardNth11gt12,kmul(J11L,J11L),kmadd(PDstandardNth22gt12,kmul(J21L,J21L),kmadd(PDstandardNth33gt12,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12gt12,kmul(J31L,PDstandardNth13gt12)),kmul(J21L,kmul(J31L,PDstandardNth23gt12))),ToReal(2))))))));
JacPDstandardNth11gt13 =
- kmadd(dJ111L,PDstandardNth1gt13,kmadd(dJ211L,PDstandardNth2gt13,kmadd(dJ311L,PDstandardNth3gt13,kmadd(PDstandardNth11gt13,SQR(J11L),kmadd(PDstandardNth22gt13,SQR(J21L),kmadd(PDstandardNth33gt13,SQR(J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12gt13,kmul(J31L,PDstandardNth13gt13)),kmul(J21L,kmul(J31L,PDstandardNth23gt13))),ToReal(2))))))));
+ kmadd(dJ111L,PDstandardNth1gt13,kmadd(dJ211L,PDstandardNth2gt13,kmadd(dJ311L,PDstandardNth3gt13,kmadd(PDstandardNth11gt13,kmul(J11L,J11L),kmadd(PDstandardNth22gt13,kmul(J21L,J21L),kmadd(PDstandardNth33gt13,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12gt13,kmul(J31L,PDstandardNth13gt13)),kmul(J21L,kmul(J31L,PDstandardNth23gt13))),ToReal(2))))))));
JacPDstandardNth11gt22 =
- kmadd(dJ111L,PDstandardNth1gt22,kmadd(dJ211L,PDstandardNth2gt22,kmadd(dJ311L,PDstandardNth3gt22,kmadd(PDstandardNth11gt22,SQR(J11L),kmadd(PDstandardNth22gt22,SQR(J21L),kmadd(PDstandardNth33gt22,SQR(J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12gt22,kmul(J31L,PDstandardNth13gt22)),kmul(J21L,kmul(J31L,PDstandardNth23gt22))),ToReal(2))))))));
+ kmadd(dJ111L,PDstandardNth1gt22,kmadd(dJ211L,PDstandardNth2gt22,kmadd(dJ311L,PDstandardNth3gt22,kmadd(PDstandardNth11gt22,kmul(J11L,J11L),kmadd(PDstandardNth22gt22,kmul(J21L,J21L),kmadd(PDstandardNth33gt22,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12gt22,kmul(J31L,PDstandardNth13gt22)),kmul(J21L,kmul(J31L,PDstandardNth23gt22))),ToReal(2))))))));
JacPDstandardNth11gt23 =
- kmadd(dJ111L,PDstandardNth1gt23,kmadd(dJ211L,PDstandardNth2gt23,kmadd(dJ311L,PDstandardNth3gt23,kmadd(PDstandardNth11gt23,SQR(J11L),kmadd(PDstandardNth22gt23,SQR(J21L),kmadd(PDstandardNth33gt23,SQR(J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12gt23,kmul(J31L,PDstandardNth13gt23)),kmul(J21L,kmul(J31L,PDstandardNth23gt23))),ToReal(2))))))));
+ kmadd(dJ111L,PDstandardNth1gt23,kmadd(dJ211L,PDstandardNth2gt23,kmadd(dJ311L,PDstandardNth3gt23,kmadd(PDstandardNth11gt23,kmul(J11L,J11L),kmadd(PDstandardNth22gt23,kmul(J21L,J21L),kmadd(PDstandardNth33gt23,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12gt23,kmul(J31L,PDstandardNth13gt23)),kmul(J21L,kmul(J31L,PDstandardNth23gt23))),ToReal(2))))))));
JacPDstandardNth11gt33 =
- kmadd(dJ111L,PDstandardNth1gt33,kmadd(dJ211L,PDstandardNth2gt33,kmadd(dJ311L,PDstandardNth3gt33,kmadd(PDstandardNth11gt33,SQR(J11L),kmadd(PDstandardNth22gt33,SQR(J21L),kmadd(PDstandardNth33gt33,SQR(J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12gt33,kmul(J31L,PDstandardNth13gt33)),kmul(J21L,kmul(J31L,PDstandardNth23gt33))),ToReal(2))))))));
+ kmadd(dJ111L,PDstandardNth1gt33,kmadd(dJ211L,PDstandardNth2gt33,kmadd(dJ311L,PDstandardNth3gt33,kmadd(PDstandardNth11gt33,kmul(J11L,J11L),kmadd(PDstandardNth22gt33,kmul(J21L,J21L),kmadd(PDstandardNth33gt33,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12gt33,kmul(J31L,PDstandardNth13gt33)),kmul(J21L,kmul(J31L,PDstandardNth23gt33))),ToReal(2))))))));
JacPDstandardNth11phi =
- kmadd(dJ111L,PDstandardNth1phi,kmadd(dJ211L,PDstandardNth2phi,kmadd(dJ311L,PDstandardNth3phi,kmadd(PDstandardNth11phi,SQR(J11L),kmadd(PDstandardNth22phi,SQR(J21L),kmadd(PDstandardNth33phi,SQR(J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12phi,kmul(J31L,PDstandardNth13phi)),kmul(J21L,kmul(J31L,PDstandardNth23phi))),ToReal(2))))))));
+ kmadd(dJ111L,PDstandardNth1phi,kmadd(dJ211L,PDstandardNth2phi,kmadd(dJ311L,PDstandardNth3phi,kmadd(PDstandardNth11phi,kmul(J11L,J11L),kmadd(PDstandardNth22phi,kmul(J21L,J21L),kmadd(PDstandardNth33phi,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12phi,kmul(J31L,PDstandardNth13phi)),kmul(J21L,kmul(J31L,PDstandardNth23phi))),ToReal(2))))))));
JacPDstandardNth22alpha =
- kmadd(dJ122L,PDstandardNth1alpha,kmadd(dJ222L,PDstandardNth2alpha,kmadd(dJ322L,PDstandardNth3alpha,kmadd(PDstandardNth11alpha,SQR(J12L),kmadd(PDstandardNth22alpha,SQR(J22L),kmadd(PDstandardNth33alpha,SQR(J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12alpha,kmul(J32L,PDstandardNth13alpha)),kmul(J22L,kmul(J32L,PDstandardNth23alpha))),ToReal(2))))))));
+ kmadd(dJ122L,PDstandardNth1alpha,kmadd(dJ222L,PDstandardNth2alpha,kmadd(dJ322L,PDstandardNth3alpha,kmadd(PDstandardNth11alpha,kmul(J12L,J12L),kmadd(PDstandardNth22alpha,kmul(J22L,J22L),kmadd(PDstandardNth33alpha,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12alpha,kmul(J32L,PDstandardNth13alpha)),kmul(J22L,kmul(J32L,PDstandardNth23alpha))),ToReal(2))))))));
JacPDstandardNth22beta1 =
- kmadd(dJ122L,PDstandardNth1beta1,kmadd(dJ222L,PDstandardNth2beta1,kmadd(dJ322L,PDstandardNth3beta1,kmadd(PDstandardNth11beta1,SQR(J12L),kmadd(PDstandardNth22beta1,SQR(J22L),kmadd(PDstandardNth33beta1,SQR(J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12beta1,kmul(J32L,PDstandardNth13beta1)),kmul(J22L,kmul(J32L,PDstandardNth23beta1))),ToReal(2))))))));
+ kmadd(dJ122L,PDstandardNth1beta1,kmadd(dJ222L,PDstandardNth2beta1,kmadd(dJ322L,PDstandardNth3beta1,kmadd(PDstandardNth11beta1,kmul(J12L,J12L),kmadd(PDstandardNth22beta1,kmul(J22L,J22L),kmadd(PDstandardNth33beta1,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12beta1,kmul(J32L,PDstandardNth13beta1)),kmul(J22L,kmul(J32L,PDstandardNth23beta1))),ToReal(2))))))));
JacPDstandardNth22beta2 =
- kmadd(dJ122L,PDstandardNth1beta2,kmadd(dJ222L,PDstandardNth2beta2,kmadd(dJ322L,PDstandardNth3beta2,kmadd(PDstandardNth11beta2,SQR(J12L),kmadd(PDstandardNth22beta2,SQR(J22L),kmadd(PDstandardNth33beta2,SQR(J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12beta2,kmul(J32L,PDstandardNth13beta2)),kmul(J22L,kmul(J32L,PDstandardNth23beta2))),ToReal(2))))))));
+ kmadd(dJ122L,PDstandardNth1beta2,kmadd(dJ222L,PDstandardNth2beta2,kmadd(dJ322L,PDstandardNth3beta2,kmadd(PDstandardNth11beta2,kmul(J12L,J12L),kmadd(PDstandardNth22beta2,kmul(J22L,J22L),kmadd(PDstandardNth33beta2,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12beta2,kmul(J32L,PDstandardNth13beta2)),kmul(J22L,kmul(J32L,PDstandardNth23beta2))),ToReal(2))))))));
JacPDstandardNth22beta3 =
- kmadd(dJ122L,PDstandardNth1beta3,kmadd(dJ222L,PDstandardNth2beta3,kmadd(dJ322L,PDstandardNth3beta3,kmadd(PDstandardNth11beta3,SQR(J12L),kmadd(PDstandardNth22beta3,SQR(J22L),kmadd(PDstandardNth33beta3,SQR(J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12beta3,kmul(J32L,PDstandardNth13beta3)),kmul(J22L,kmul(J32L,PDstandardNth23beta3))),ToReal(2))))))));
+ kmadd(dJ122L,PDstandardNth1beta3,kmadd(dJ222L,PDstandardNth2beta3,kmadd(dJ322L,PDstandardNth3beta3,kmadd(PDstandardNth11beta3,kmul(J12L,J12L),kmadd(PDstandardNth22beta3,kmul(J22L,J22L),kmadd(PDstandardNth33beta3,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12beta3,kmul(J32L,PDstandardNth13beta3)),kmul(J22L,kmul(J32L,PDstandardNth23beta3))),ToReal(2))))))));
JacPDstandardNth22gt11 =
- kmadd(dJ122L,PDstandardNth1gt11,kmadd(dJ222L,PDstandardNth2gt11,kmadd(dJ322L,PDstandardNth3gt11,kmadd(PDstandardNth11gt11,SQR(J12L),kmadd(PDstandardNth22gt11,SQR(J22L),kmadd(PDstandardNth33gt11,SQR(J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12gt11,kmul(J32L,PDstandardNth13gt11)),kmul(J22L,kmul(J32L,PDstandardNth23gt11))),ToReal(2))))))));
+ kmadd(dJ122L,PDstandardNth1gt11,kmadd(dJ222L,PDstandardNth2gt11,kmadd(dJ322L,PDstandardNth3gt11,kmadd(PDstandardNth11gt11,kmul(J12L,J12L),kmadd(PDstandardNth22gt11,kmul(J22L,J22L),kmadd(PDstandardNth33gt11,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12gt11,kmul(J32L,PDstandardNth13gt11)),kmul(J22L,kmul(J32L,PDstandardNth23gt11))),ToReal(2))))))));
JacPDstandardNth22gt12 =
- kmadd(dJ122L,PDstandardNth1gt12,kmadd(dJ222L,PDstandardNth2gt12,kmadd(dJ322L,PDstandardNth3gt12,kmadd(PDstandardNth11gt12,SQR(J12L),kmadd(PDstandardNth22gt12,SQR(J22L),kmadd(PDstandardNth33gt12,SQR(J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12gt12,kmul(J32L,PDstandardNth13gt12)),kmul(J22L,kmul(J32L,PDstandardNth23gt12))),ToReal(2))))))));
+ kmadd(dJ122L,PDstandardNth1gt12,kmadd(dJ222L,PDstandardNth2gt12,kmadd(dJ322L,PDstandardNth3gt12,kmadd(PDstandardNth11gt12,kmul(J12L,J12L),kmadd(PDstandardNth22gt12,kmul(J22L,J22L),kmadd(PDstandardNth33gt12,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12gt12,kmul(J32L,PDstandardNth13gt12)),kmul(J22L,kmul(J32L,PDstandardNth23gt12))),ToReal(2))))))));
JacPDstandardNth22gt13 =
- kmadd(dJ122L,PDstandardNth1gt13,kmadd(dJ222L,PDstandardNth2gt13,kmadd(dJ322L,PDstandardNth3gt13,kmadd(PDstandardNth11gt13,SQR(J12L),kmadd(PDstandardNth22gt13,SQR(J22L),kmadd(PDstandardNth33gt13,SQR(J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12gt13,kmul(J32L,PDstandardNth13gt13)),kmul(J22L,kmul(J32L,PDstandardNth23gt13))),ToReal(2))))))));
+ kmadd(dJ122L,PDstandardNth1gt13,kmadd(dJ222L,PDstandardNth2gt13,kmadd(dJ322L,PDstandardNth3gt13,kmadd(PDstandardNth11gt13,kmul(J12L,J12L),kmadd(PDstandardNth22gt13,kmul(J22L,J22L),kmadd(PDstandardNth33gt13,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12gt13,kmul(J32L,PDstandardNth13gt13)),kmul(J22L,kmul(J32L,PDstandardNth23gt13))),ToReal(2))))))));
JacPDstandardNth22gt22 =
- kmadd(dJ122L,PDstandardNth1gt22,kmadd(dJ222L,PDstandardNth2gt22,kmadd(dJ322L,PDstandardNth3gt22,kmadd(PDstandardNth11gt22,SQR(J12L),kmadd(PDstandardNth22gt22,SQR(J22L),kmadd(PDstandardNth33gt22,SQR(J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12gt22,kmul(J32L,PDstandardNth13gt22)),kmul(J22L,kmul(J32L,PDstandardNth23gt22))),ToReal(2))))))));
+ kmadd(dJ122L,PDstandardNth1gt22,kmadd(dJ222L,PDstandardNth2gt22,kmadd(dJ322L,PDstandardNth3gt22,kmadd(PDstandardNth11gt22,kmul(J12L,J12L),kmadd(PDstandardNth22gt22,kmul(J22L,J22L),kmadd(PDstandardNth33gt22,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12gt22,kmul(J32L,PDstandardNth13gt22)),kmul(J22L,kmul(J32L,PDstandardNth23gt22))),ToReal(2))))))));
JacPDstandardNth22gt23 =
- kmadd(dJ122L,PDstandardNth1gt23,kmadd(dJ222L,PDstandardNth2gt23,kmadd(dJ322L,PDstandardNth3gt23,kmadd(PDstandardNth11gt23,SQR(J12L),kmadd(PDstandardNth22gt23,SQR(J22L),kmadd(PDstandardNth33gt23,SQR(J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12gt23,kmul(J32L,PDstandardNth13gt23)),kmul(J22L,kmul(J32L,PDstandardNth23gt23))),ToReal(2))))))));
+ kmadd(dJ122L,PDstandardNth1gt23,kmadd(dJ222L,PDstandardNth2gt23,kmadd(dJ322L,PDstandardNth3gt23,kmadd(PDstandardNth11gt23,kmul(J12L,J12L),kmadd(PDstandardNth22gt23,kmul(J22L,J22L),kmadd(PDstandardNth33gt23,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12gt23,kmul(J32L,PDstandardNth13gt23)),kmul(J22L,kmul(J32L,PDstandardNth23gt23))),ToReal(2))))))));
JacPDstandardNth22gt33 =
- kmadd(dJ122L,PDstandardNth1gt33,kmadd(dJ222L,PDstandardNth2gt33,kmadd(dJ322L,PDstandardNth3gt33,kmadd(PDstandardNth11gt33,SQR(J12L),kmadd(PDstandardNth22gt33,SQR(J22L),kmadd(PDstandardNth33gt33,SQR(J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12gt33,kmul(J32L,PDstandardNth13gt33)),kmul(J22L,kmul(J32L,PDstandardNth23gt33))),ToReal(2))))))));
+ kmadd(dJ122L,PDstandardNth1gt33,kmadd(dJ222L,PDstandardNth2gt33,kmadd(dJ322L,PDstandardNth3gt33,kmadd(PDstandardNth11gt33,kmul(J12L,J12L),kmadd(PDstandardNth22gt33,kmul(J22L,J22L),kmadd(PDstandardNth33gt33,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12gt33,kmul(J32L,PDstandardNth13gt33)),kmul(J22L,kmul(J32L,PDstandardNth23gt33))),ToReal(2))))))));
JacPDstandardNth22phi =
- kmadd(dJ122L,PDstandardNth1phi,kmadd(dJ222L,PDstandardNth2phi,kmadd(dJ322L,PDstandardNth3phi,kmadd(PDstandardNth11phi,SQR(J12L),kmadd(PDstandardNth22phi,SQR(J22L),kmadd(PDstandardNth33phi,SQR(J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12phi,kmul(J32L,PDstandardNth13phi)),kmul(J22L,kmul(J32L,PDstandardNth23phi))),ToReal(2))))))));
+ kmadd(dJ122L,PDstandardNth1phi,kmadd(dJ222L,PDstandardNth2phi,kmadd(dJ322L,PDstandardNth3phi,kmadd(PDstandardNth11phi,kmul(J12L,J12L),kmadd(PDstandardNth22phi,kmul(J22L,J22L),kmadd(PDstandardNth33phi,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12phi,kmul(J32L,PDstandardNth13phi)),kmul(J22L,kmul(J32L,PDstandardNth23phi))),ToReal(2))))))));
JacPDstandardNth33alpha =
- kmadd(dJ133L,PDstandardNth1alpha,kmadd(dJ233L,PDstandardNth2alpha,kmadd(dJ333L,PDstandardNth3alpha,kmadd(PDstandardNth11alpha,SQR(J13L),kmadd(PDstandardNth22alpha,SQR(J23L),kmadd(PDstandardNth33alpha,SQR(J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12alpha,kmul(J33L,PDstandardNth13alpha)),kmul(J23L,kmul(J33L,PDstandardNth23alpha))),ToReal(2))))))));
+ kmadd(dJ133L,PDstandardNth1alpha,kmadd(dJ233L,PDstandardNth2alpha,kmadd(dJ333L,PDstandardNth3alpha,kmadd(PDstandardNth11alpha,kmul(J13L,J13L),kmadd(PDstandardNth22alpha,kmul(J23L,J23L),kmadd(PDstandardNth33alpha,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12alpha,kmul(J33L,PDstandardNth13alpha)),kmul(J23L,kmul(J33L,PDstandardNth23alpha))),ToReal(2))))))));
JacPDstandardNth33beta1 =
- kmadd(dJ133L,PDstandardNth1beta1,kmadd(dJ233L,PDstandardNth2beta1,kmadd(dJ333L,PDstandardNth3beta1,kmadd(PDstandardNth11beta1,SQR(J13L),kmadd(PDstandardNth22beta1,SQR(J23L),kmadd(PDstandardNth33beta1,SQR(J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12beta1,kmul(J33L,PDstandardNth13beta1)),kmul(J23L,kmul(J33L,PDstandardNth23beta1))),ToReal(2))))))));
+ kmadd(dJ133L,PDstandardNth1beta1,kmadd(dJ233L,PDstandardNth2beta1,kmadd(dJ333L,PDstandardNth3beta1,kmadd(PDstandardNth11beta1,kmul(J13L,J13L),kmadd(PDstandardNth22beta1,kmul(J23L,J23L),kmadd(PDstandardNth33beta1,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12beta1,kmul(J33L,PDstandardNth13beta1)),kmul(J23L,kmul(J33L,PDstandardNth23beta1))),ToReal(2))))))));
JacPDstandardNth33beta2 =
- kmadd(dJ133L,PDstandardNth1beta2,kmadd(dJ233L,PDstandardNth2beta2,kmadd(dJ333L,PDstandardNth3beta2,kmadd(PDstandardNth11beta2,SQR(J13L),kmadd(PDstandardNth22beta2,SQR(J23L),kmadd(PDstandardNth33beta2,SQR(J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12beta2,kmul(J33L,PDstandardNth13beta2)),kmul(J23L,kmul(J33L,PDstandardNth23beta2))),ToReal(2))))))));
+ kmadd(dJ133L,PDstandardNth1beta2,kmadd(dJ233L,PDstandardNth2beta2,kmadd(dJ333L,PDstandardNth3beta2,kmadd(PDstandardNth11beta2,kmul(J13L,J13L),kmadd(PDstandardNth22beta2,kmul(J23L,J23L),kmadd(PDstandardNth33beta2,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12beta2,kmul(J33L,PDstandardNth13beta2)),kmul(J23L,kmul(J33L,PDstandardNth23beta2))),ToReal(2))))))));
JacPDstandardNth33beta3 =
- kmadd(dJ133L,PDstandardNth1beta3,kmadd(dJ233L,PDstandardNth2beta3,kmadd(dJ333L,PDstandardNth3beta3,kmadd(PDstandardNth11beta3,SQR(J13L),kmadd(PDstandardNth22beta3,SQR(J23L),kmadd(PDstandardNth33beta3,SQR(J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12beta3,kmul(J33L,PDstandardNth13beta3)),kmul(J23L,kmul(J33L,PDstandardNth23beta3))),ToReal(2))))))));
+ kmadd(dJ133L,PDstandardNth1beta3,kmadd(dJ233L,PDstandardNth2beta3,kmadd(dJ333L,PDstandardNth3beta3,kmadd(PDstandardNth11beta3,kmul(J13L,J13L),kmadd(PDstandardNth22beta3,kmul(J23L,J23L),kmadd(PDstandardNth33beta3,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12beta3,kmul(J33L,PDstandardNth13beta3)),kmul(J23L,kmul(J33L,PDstandardNth23beta3))),ToReal(2))))))));
JacPDstandardNth33gt11 =
- kmadd(dJ133L,PDstandardNth1gt11,kmadd(dJ233L,PDstandardNth2gt11,kmadd(dJ333L,PDstandardNth3gt11,kmadd(PDstandardNth11gt11,SQR(J13L),kmadd(PDstandardNth22gt11,SQR(J23L),kmadd(PDstandardNth33gt11,SQR(J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12gt11,kmul(J33L,PDstandardNth13gt11)),kmul(J23L,kmul(J33L,PDstandardNth23gt11))),ToReal(2))))))));
+ kmadd(dJ133L,PDstandardNth1gt11,kmadd(dJ233L,PDstandardNth2gt11,kmadd(dJ333L,PDstandardNth3gt11,kmadd(PDstandardNth11gt11,kmul(J13L,J13L),kmadd(PDstandardNth22gt11,kmul(J23L,J23L),kmadd(PDstandardNth33gt11,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12gt11,kmul(J33L,PDstandardNth13gt11)),kmul(J23L,kmul(J33L,PDstandardNth23gt11))),ToReal(2))))))));
JacPDstandardNth33gt12 =
- kmadd(dJ133L,PDstandardNth1gt12,kmadd(dJ233L,PDstandardNth2gt12,kmadd(dJ333L,PDstandardNth3gt12,kmadd(PDstandardNth11gt12,SQR(J13L),kmadd(PDstandardNth22gt12,SQR(J23L),kmadd(PDstandardNth33gt12,SQR(J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12gt12,kmul(J33L,PDstandardNth13gt12)),kmul(J23L,kmul(J33L,PDstandardNth23gt12))),ToReal(2))))))));
+ kmadd(dJ133L,PDstandardNth1gt12,kmadd(dJ233L,PDstandardNth2gt12,kmadd(dJ333L,PDstandardNth3gt12,kmadd(PDstandardNth11gt12,kmul(J13L,J13L),kmadd(PDstandardNth22gt12,kmul(J23L,J23L),kmadd(PDstandardNth33gt12,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12gt12,kmul(J33L,PDstandardNth13gt12)),kmul(J23L,kmul(J33L,PDstandardNth23gt12))),ToReal(2))))))));
JacPDstandardNth33gt13 =
- kmadd(dJ133L,PDstandardNth1gt13,kmadd(dJ233L,PDstandardNth2gt13,kmadd(dJ333L,PDstandardNth3gt13,kmadd(PDstandardNth11gt13,SQR(J13L),kmadd(PDstandardNth22gt13,SQR(J23L),kmadd(PDstandardNth33gt13,SQR(J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12gt13,kmul(J33L,PDstandardNth13gt13)),kmul(J23L,kmul(J33L,PDstandardNth23gt13))),ToReal(2))))))));
+ kmadd(dJ133L,PDstandardNth1gt13,kmadd(dJ233L,PDstandardNth2gt13,kmadd(dJ333L,PDstandardNth3gt13,kmadd(PDstandardNth11gt13,kmul(J13L,J13L),kmadd(PDstandardNth22gt13,kmul(J23L,J23L),kmadd(PDstandardNth33gt13,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12gt13,kmul(J33L,PDstandardNth13gt13)),kmul(J23L,kmul(J33L,PDstandardNth23gt13))),ToReal(2))))))));
JacPDstandardNth33gt22 =
- kmadd(dJ133L,PDstandardNth1gt22,kmadd(dJ233L,PDstandardNth2gt22,kmadd(dJ333L,PDstandardNth3gt22,kmadd(PDstandardNth11gt22,SQR(J13L),kmadd(PDstandardNth22gt22,SQR(J23L),kmadd(PDstandardNth33gt22,SQR(J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12gt22,kmul(J33L,PDstandardNth13gt22)),kmul(J23L,kmul(J33L,PDstandardNth23gt22))),ToReal(2))))))));
+ kmadd(dJ133L,PDstandardNth1gt22,kmadd(dJ233L,PDstandardNth2gt22,kmadd(dJ333L,PDstandardNth3gt22,kmadd(PDstandardNth11gt22,kmul(J13L,J13L),kmadd(PDstandardNth22gt22,kmul(J23L,J23L),kmadd(PDstandardNth33gt22,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12gt22,kmul(J33L,PDstandardNth13gt22)),kmul(J23L,kmul(J33L,PDstandardNth23gt22))),ToReal(2))))))));
JacPDstandardNth33gt23 =
- kmadd(dJ133L,PDstandardNth1gt23,kmadd(dJ233L,PDstandardNth2gt23,kmadd(dJ333L,PDstandardNth3gt23,kmadd(PDstandardNth11gt23,SQR(J13L),kmadd(PDstandardNth22gt23,SQR(J23L),kmadd(PDstandardNth33gt23,SQR(J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12gt23,kmul(J33L,PDstandardNth13gt23)),kmul(J23L,kmul(J33L,PDstandardNth23gt23))),ToReal(2))))))));
+ kmadd(dJ133L,PDstandardNth1gt23,kmadd(dJ233L,PDstandardNth2gt23,kmadd(dJ333L,PDstandardNth3gt23,kmadd(PDstandardNth11gt23,kmul(J13L,J13L),kmadd(PDstandardNth22gt23,kmul(J23L,J23L),kmadd(PDstandardNth33gt23,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12gt23,kmul(J33L,PDstandardNth13gt23)),kmul(J23L,kmul(J33L,PDstandardNth23gt23))),ToReal(2))))))));
JacPDstandardNth33gt33 =
- kmadd(dJ133L,PDstandardNth1gt33,kmadd(dJ233L,PDstandardNth2gt33,kmadd(dJ333L,PDstandardNth3gt33,kmadd(PDstandardNth11gt33,SQR(J13L),kmadd(PDstandardNth22gt33,SQR(J23L),kmadd(PDstandardNth33gt33,SQR(J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12gt33,kmul(J33L,PDstandardNth13gt33)),kmul(J23L,kmul(J33L,PDstandardNth23gt33))),ToReal(2))))))));
+ kmadd(dJ133L,PDstandardNth1gt33,kmadd(dJ233L,PDstandardNth2gt33,kmadd(dJ333L,PDstandardNth3gt33,kmadd(PDstandardNth11gt33,kmul(J13L,J13L),kmadd(PDstandardNth22gt33,kmul(J23L,J23L),kmadd(PDstandardNth33gt33,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12gt33,kmul(J33L,PDstandardNth13gt33)),kmul(J23L,kmul(J33L,PDstandardNth23gt33))),ToReal(2))))))));
JacPDstandardNth33phi =
- kmadd(dJ133L,PDstandardNth1phi,kmadd(dJ233L,PDstandardNth2phi,kmadd(dJ333L,PDstandardNth3phi,kmadd(PDstandardNth11phi,SQR(J13L),kmadd(PDstandardNth22phi,SQR(J23L),kmadd(PDstandardNth33phi,SQR(J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12phi,kmul(J33L,PDstandardNth13phi)),kmul(J23L,kmul(J33L,PDstandardNth23phi))),ToReal(2))))))));
+ kmadd(dJ133L,PDstandardNth1phi,kmadd(dJ233L,PDstandardNth2phi,kmadd(dJ333L,PDstandardNth3phi,kmadd(PDstandardNth11phi,kmul(J13L,J13L),kmadd(PDstandardNth22phi,kmul(J23L,J23L),kmadd(PDstandardNth33phi,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12phi,kmul(J33L,PDstandardNth13phi)),kmul(J23L,kmul(J33L,PDstandardNth23phi))),ToReal(2))))))));
JacPDstandardNth12alpha =
kmadd(J12L,kmadd(J11L,PDstandardNth11alpha,kmadd(J21L,PDstandardNth12alpha,kmul(J31L,PDstandardNth13alpha))),kmadd(J11L,kmadd(J22L,PDstandardNth12alpha,kmul(J32L,PDstandardNth13alpha)),kmadd(dJ112L,PDstandardNth1alpha,kmadd(J22L,kmadd(J21L,PDstandardNth22alpha,kmul(J31L,PDstandardNth23alpha)),kmadd(dJ212L,PDstandardNth2alpha,kmadd(J32L,kmadd(J21L,PDstandardNth23alpha,kmul(J31L,PDstandardNth33alpha)),kmul(dJ312L,PDstandardNth3alpha)))))));
@@ -1794,22 +1798,22 @@ static void ML_CCZ4_RHS1_Body(cGH const * restrict const cctkGH, int const dir,
CCTK_REAL_VEC detgt = ToReal(1);
CCTK_REAL_VEC gtu11 =
- kmul(INV(detgt),kmsub(gt22L,gt33L,SQR(gt23L)));
+ kdiv(kmsub(gt22L,gt33L,kmul(gt23L,gt23L)),detgt);
CCTK_REAL_VEC gtu12 =
- kmul(INV(detgt),kmsub(gt13L,gt23L,kmul(gt12L,gt33L)));
+ kdiv(kmsub(gt13L,gt23L,kmul(gt12L,gt33L)),detgt);
CCTK_REAL_VEC gtu13 =
- kmul(INV(detgt),kmsub(gt12L,gt23L,kmul(gt13L,gt22L)));
+ kdiv(kmsub(gt12L,gt23L,kmul(gt13L,gt22L)),detgt);
CCTK_REAL_VEC gtu22 =
- kmul(INV(detgt),kmsub(gt11L,gt33L,SQR(gt13L)));
+ kdiv(kmsub(gt11L,gt33L,kmul(gt13L,gt13L)),detgt);
CCTK_REAL_VEC gtu23 =
- kmul(INV(detgt),kmsub(gt12L,gt13L,kmul(gt11L,gt23L)));
+ kdiv(kmsub(gt12L,gt13L,kmul(gt11L,gt23L)),detgt);
CCTK_REAL_VEC gtu33 =
- kmul(INV(detgt),kmsub(gt11L,gt22L,SQR(gt12L)));
+ kdiv(kmsub(gt11L,gt22L,kmul(gt12L,gt12L)),detgt);
CCTK_REAL_VEC Gtl111 = kmul(JacPDstandardNth1gt11,ToReal(0.5));
@@ -2001,9 +2005,9 @@ static void ML_CCZ4_RHS1_Body(cGH const * restrict const cctkGH, int const dir,
kmadd(Gt311,gtu11,kmadd(Gt322,gtu22,kmadd(Gt333,gtu33,kmul(kmadd(Gt312,gtu12,kmadd(Gt313,gtu13,kmul(Gt323,gtu23))),ToReal(2)))));
CCTK_REAL_VEC e4phi = IfThen(conformalMethod ==
- 1,INV(SQR(phiL)),kexp(kmul(phiL,ToReal(4))));
+ 1,kdiv(ToReal(1),kmul(phiL,phiL)),kexp(kmul(phiL,ToReal(4))));
- CCTK_REAL_VEC em4phi = INV(e4phi);
+ CCTK_REAL_VEC em4phi = kdiv(ToReal(1),e4phi);
CCTK_REAL_VEC g11 = kmul(gt11L,e4phi);
@@ -2057,7 +2061,7 @@ static void ML_CCZ4_RHS1_Body(cGH const * restrict const cctkGH, int const dir,
kmul(ToReal(0.5),knmsub(gtu11,JacPDstandardNth11gt33,knmsub(gtu22,JacPDstandardNth22gt33,knmsub(gtu33,JacPDstandardNth33gt33,knmsub(gtu12,kadd(JacPDstandardNth21gt33,JacPDstandardNth12gt33),knmsub(gtu13,kadd(JacPDstandardNth31gt33,JacPDstandardNth13gt33),knmsub(gtu23,kadd(JacPDstandardNth32gt33,JacPDstandardNth23gt33),kmadd(gt23L,kmul(JacPDstandardNth3Xt2,ToReal(2)),kmadd(gt33L,kmul(JacPDstandardNth3Xt3,ToReal(2)),kmadd(Gtl313,kmul(Xtn1,ToReal(2)),kmadd(Gtl323,kmul(Xtn2,ToReal(2)),kmadd(Gtl333,kmul(Xtn3,ToReal(2)),kmadd(ToReal(2),kmadd(Gt133,Gtlu133,kmadd(Gt213,Gtlu231,kmadd(Gt223,Gtlu232,kmadd(Gt233,Gtlu233,kmadd(gt13L,JacPDstandardNth3Xt1,kmadd(Gt113,kmadd(Gtlu311,ToReal(2),Gtlu131),kmul(Gt123,kmadd(Gtlu312,ToReal(2),Gtlu132)))))))),kmadd(kmadd(Gt133,Gtlu313,kmadd(Gt213,Gtlu321,kmadd(Gt223,Gtlu322,kmul(Gt233,Gtlu323)))),ToReal(4),kmul(kmadd(Gt313,Gtlu331,kmadd(Gt323,Gtlu332,kmul(Gt333,Gtlu333))),ToReal(6))))))))))))))));
CCTK_REAL_VEC fac1 = IfThen(conformalMethod ==
- 1,kmul(INV(phiL),ToReal(-0.5)),ToReal(1));
+ 1,kdiv(ToReal(-0.5),phiL),ToReal(1));
CCTK_REAL_VEC cdphi1 = kmul(fac1,JacPDstandardNth1phi);
@@ -2066,10 +2070,10 @@ static void ML_CCZ4_RHS1_Body(cGH const * restrict const cctkGH, int const dir,
CCTK_REAL_VEC cdphi3 = kmul(fac1,JacPDstandardNth3phi);
CCTK_REAL_VEC fac2 = IfThen(conformalMethod ==
- 1,kmul(INV(SQR(phiL)),ToReal(0.5)),ToReal(0));
+ 1,kdiv(ToReal(0.5),kmul(phiL,phiL)),ToReal(0));
CCTK_REAL_VEC cdphi211 =
- kmadd(fac2,SQR(JacPDstandardNth1phi),kmul(fac1,ksub(JacPDstandardNth11phi,kmadd(Gt111,JacPDstandardNth1phi,kmadd(Gt311,JacPDstandardNth3phi,kmul(Gt211,JacPDstandardNth2phi))))));
+ kmadd(fac2,kmul(JacPDstandardNth1phi,JacPDstandardNth1phi),kmul(fac1,ksub(JacPDstandardNth11phi,kmadd(Gt111,JacPDstandardNth1phi,kmadd(Gt311,JacPDstandardNth3phi,kmul(Gt211,JacPDstandardNth2phi))))));
CCTK_REAL_VEC cdphi212 =
kmadd(fac2,kmul(JacPDstandardNth1phi,JacPDstandardNth2phi),kmul(fac1,ksub(JacPDstandardNth12phi,kmadd(Gt112,JacPDstandardNth1phi,kmadd(Gt312,JacPDstandardNth3phi,kmul(Gt212,JacPDstandardNth2phi))))));
@@ -2078,31 +2082,31 @@ static void ML_CCZ4_RHS1_Body(cGH const * restrict const cctkGH, int const dir,
kmadd(fac2,kmul(JacPDstandardNth1phi,JacPDstandardNth3phi),kmul(fac1,ksub(JacPDstandardNth13phi,kmadd(Gt113,JacPDstandardNth1phi,kmadd(Gt313,JacPDstandardNth3phi,kmul(Gt213,JacPDstandardNth2phi))))));
CCTK_REAL_VEC cdphi222 =
- kmsub(fac2,SQR(JacPDstandardNth2phi),kmul(fac1,kmadd(Gt122,JacPDstandardNth1phi,kmadd(Gt222,JacPDstandardNth2phi,kmsub(Gt322,JacPDstandardNth3phi,JacPDstandardNth22phi)))));
+ kmsub(fac2,kmul(JacPDstandardNth2phi,JacPDstandardNth2phi),kmul(fac1,kmadd(Gt122,JacPDstandardNth1phi,kmadd(Gt222,JacPDstandardNth2phi,kmsub(Gt322,JacPDstandardNth3phi,JacPDstandardNth22phi)))));
CCTK_REAL_VEC cdphi223 =
kmsub(fac2,kmul(JacPDstandardNth2phi,JacPDstandardNth3phi),kmul(fac1,kmadd(Gt123,JacPDstandardNth1phi,kmadd(Gt223,JacPDstandardNth2phi,kmsub(Gt323,JacPDstandardNth3phi,JacPDstandardNth23phi)))));
CCTK_REAL_VEC cdphi233 =
- kmsub(fac2,SQR(JacPDstandardNth3phi),kmul(fac1,kmadd(Gt133,JacPDstandardNth1phi,kmadd(Gt233,JacPDstandardNth2phi,kmsub(Gt333,JacPDstandardNth3phi,JacPDstandardNth33phi)))));
+ kmsub(fac2,kmul(JacPDstandardNth3phi,JacPDstandardNth3phi),kmul(fac1,kmadd(Gt133,JacPDstandardNth1phi,kmadd(Gt233,JacPDstandardNth2phi,kmsub(Gt333,JacPDstandardNth3phi,JacPDstandardNth33phi)))));
CCTK_REAL_VEC Rphi11 =
- kmul(ToReal(-2),kadd(cdphi211,kmadd(SQR(cdphi1),kmul(kmadd(gt11L,gtu11,ToReal(-1)),ToReal(2)),kmul(gt11L,kmadd(cdphi211,gtu11,kmadd(cdphi233,gtu33,kmadd(kmadd(cdphi212,gtu12,kmadd(cdphi213,gtu13,kmadd(cdphi223,gtu23,kmul(gtu33,SQR(cdphi3))))),ToReal(2),kmadd(gtu22,kmadd(SQR(cdphi2),ToReal(2),cdphi222),kmul(kmadd(cdphi1,kmadd(cdphi2,gtu12,kmul(cdphi3,gtu13)),kmul(cdphi2,kmul(cdphi3,gtu23))),ToReal(4))))))))));
+ kmul(ToReal(-2),kadd(cdphi211,kmadd(kmul(cdphi1,cdphi1),kmul(kmadd(gt11L,gtu11,ToReal(-1)),ToReal(2)),kmul(gt11L,kmadd(cdphi211,gtu11,kmadd(cdphi233,gtu33,kmadd(kmadd(cdphi212,gtu12,kmadd(cdphi213,gtu13,kmadd(cdphi223,gtu23,kmul(gtu33,kmul(cdphi3,cdphi3))))),ToReal(2),kmadd(gtu22,kmadd(kmul(cdphi2,cdphi2),ToReal(2),cdphi222),kmul(kmadd(cdphi1,kmadd(cdphi2,gtu12,kmul(cdphi3,gtu13)),kmul(cdphi2,kmul(cdphi3,gtu23))),ToReal(4))))))))));
CCTK_REAL_VEC Rphi12 =
- kmul(ToReal(-2),kadd(cdphi212,kmadd(gt12L,kmadd(cdphi211,gtu11,kmadd(kmadd(cdphi212,gtu12,kmadd(cdphi213,gtu13,kmadd(cdphi223,gtu23,kmul(gtu11,SQR(cdphi1))))),ToReal(2),kmadd(gtu22,kmadd(SQR(cdphi2),ToReal(2),cdphi222),kmadd(gtu33,kmadd(SQR(cdphi3),ToReal(2),cdphi233),kmul(cdphi2,kmul(cdphi3,kmul(gtu23,ToReal(4)))))))),kmul(cdphi1,kmadd(gt12L,kmul(cdphi3,kmul(gtu13,ToReal(4))),kmul(cdphi2,kmadd(gt12L,kmul(gtu12,ToReal(4)),ToReal(-2))))))));
+ kmul(ToReal(-2),kadd(cdphi212,kmadd(gt12L,kmadd(cdphi211,gtu11,kmadd(kmadd(cdphi212,gtu12,kmadd(cdphi213,gtu13,kmadd(cdphi223,gtu23,kmul(gtu11,kmul(cdphi1,cdphi1))))),ToReal(2),kmadd(gtu22,kmadd(kmul(cdphi2,cdphi2),ToReal(2),cdphi222),kmadd(gtu33,kmadd(kmul(cdphi3,cdphi3),ToReal(2),cdphi233),kmul(cdphi2,kmul(cdphi3,kmul(gtu23,ToReal(4)))))))),kmul(cdphi1,kmadd(gt12L,kmul(cdphi3,kmul(gtu13,ToReal(4))),kmul(cdphi2,kmadd(gt12L,kmul(gtu12,ToReal(4)),ToReal(-2))))))));
CCTK_REAL_VEC Rphi13 =
- kmul(ToReal(-2),kadd(cdphi213,kmadd(gt13L,kmadd(cdphi211,gtu11,kmadd(kmadd(cdphi212,gtu12,kmadd(cdphi213,gtu13,kmadd(cdphi223,gtu23,kmul(gtu11,SQR(cdphi1))))),ToReal(2),kmadd(gtu22,kmadd(SQR(cdphi2),ToReal(2),cdphi222),kmadd(gtu33,kmadd(SQR(cdphi3),ToReal(2),cdphi233),kmul(cdphi2,kmul(cdphi3,kmul(gtu23,ToReal(4)))))))),kmul(cdphi1,kmadd(gt13L,kmul(cdphi2,kmul(gtu12,ToReal(4))),kmul(cdphi3,kmadd(gt13L,kmul(gtu13,ToReal(4)),ToReal(-2))))))));
+ kmul(ToReal(-2),kadd(cdphi213,kmadd(gt13L,kmadd(cdphi211,gtu11,kmadd(kmadd(cdphi212,gtu12,kmadd(cdphi213,gtu13,kmadd(cdphi223,gtu23,kmul(gtu11,kmul(cdphi1,cdphi1))))),ToReal(2),kmadd(gtu22,kmadd(kmul(cdphi2,cdphi2),ToReal(2),cdphi222),kmadd(gtu33,kmadd(kmul(cdphi3,cdphi3),ToReal(2),cdphi233),kmul(cdphi2,kmul(cdphi3,kmul(gtu23,ToReal(4)))))))),kmul(cdphi1,kmadd(gt13L,kmul(cdphi2,kmul(gtu12,ToReal(4))),kmul(cdphi3,kmadd(gt13L,kmul(gtu13,ToReal(4)),ToReal(-2))))))));
CCTK_REAL_VEC Rphi22 =
- kmul(ToReal(-2),kadd(cdphi222,kmadd(SQR(cdphi2),kmul(kmadd(gt22L,gtu22,ToReal(-1)),ToReal(2)),kmul(gt22L,kmadd(cdphi222,gtu22,kmadd(cdphi233,gtu33,kmadd(kmadd(cdphi212,gtu12,kmadd(cdphi213,gtu13,kmadd(cdphi223,gtu23,kmul(gtu33,SQR(cdphi3))))),ToReal(2),kmadd(gtu11,kmadd(SQR(cdphi1),ToReal(2),cdphi211),kmul(kmadd(cdphi1,kmul(cdphi3,gtu13),kmul(cdphi2,kmadd(cdphi1,gtu12,kmul(cdphi3,gtu23)))),ToReal(4))))))))));
+ kmul(ToReal(-2),kadd(cdphi222,kmadd(kmul(cdphi2,cdphi2),kmul(kmadd(gt22L,gtu22,ToReal(-1)),ToReal(2)),kmul(gt22L,kmadd(cdphi222,gtu22,kmadd(cdphi233,gtu33,kmadd(kmadd(cdphi212,gtu12,kmadd(cdphi213,gtu13,kmadd(cdphi223,gtu23,kmul(gtu33,kmul(cdphi3,cdphi3))))),ToReal(2),kmadd(gtu11,kmadd(kmul(cdphi1,cdphi1),ToReal(2),cdphi211),kmul(kmadd(cdphi1,kmul(cdphi3,gtu13),kmul(cdphi2,kmadd(cdphi1,gtu12,kmul(cdphi3,gtu23)))),ToReal(4))))))))));
CCTK_REAL_VEC Rphi23 =
- kmul(ToReal(-2),kadd(cdphi223,kmadd(gt23L,kmadd(cdphi222,gtu22,kmadd(kmadd(cdphi212,gtu12,kmadd(cdphi213,gtu13,kmadd(cdphi223,gtu23,kmul(gtu22,SQR(cdphi2))))),ToReal(2),kmadd(gtu11,kmadd(SQR(cdphi1),ToReal(2),cdphi211),kmadd(gtu33,kmadd(SQR(cdphi3),ToReal(2),cdphi233),kmul(cdphi1,kmul(cdphi3,kmul(gtu13,ToReal(4)))))))),kmul(cdphi2,kmadd(gt23L,kmul(cdphi1,kmul(gtu12,ToReal(4))),kmul(cdphi3,kmadd(gt23L,kmul(gtu23,ToReal(4)),ToReal(-2))))))));
+ kmul(ToReal(-2),kadd(cdphi223,kmadd(gt23L,kmadd(cdphi222,gtu22,kmadd(kmadd(cdphi212,gtu12,kmadd(cdphi213,gtu13,kmadd(cdphi223,gtu23,kmul(gtu22,kmul(cdphi2,cdphi2))))),ToReal(2),kmadd(gtu11,kmadd(kmul(cdphi1,cdphi1),ToReal(2),cdphi211),kmadd(gtu33,kmadd(kmul(cdphi3,cdphi3),ToReal(2),cdphi233),kmul(cdphi1,kmul(cdphi3,kmul(gtu13,ToReal(4)))))))),kmul(cdphi2,kmadd(gt23L,kmul(cdphi1,kmul(gtu12,ToReal(4))),kmul(cdphi3,kmadd(gt23L,kmul(gtu23,ToReal(4)),ToReal(-2))))))));
CCTK_REAL_VEC Rphi33 =
- kmul(ToReal(-2),kadd(cdphi233,kmadd(SQR(cdphi3),kmul(kmadd(gt33L,gtu33,ToReal(-1)),ToReal(2)),kmul(gt33L,kmadd(cdphi233,gtu33,kmadd(kmadd(cdphi213,gtu13,kmul(cdphi223,gtu23)),ToReal(2),kmadd(gtu11,kmadd(SQR(cdphi1),ToReal(2),cdphi211),kmadd(gtu22,kmadd(SQR(cdphi2),ToReal(2),cdphi222),kmadd(cdphi3,kmul(kmadd(cdphi1,gtu13,kmul(cdphi2,gtu23)),ToReal(4)),kmul(gtu12,kmadd(cdphi212,ToReal(2),kmul(cdphi1,kmul(cdphi2,ToReal(4))))))))))))));
+ kmul(ToReal(-2),kadd(cdphi233,kmadd(kmul(cdphi3,cdphi3),kmul(kmadd(gt33L,gtu33,ToReal(-1)),ToReal(2)),kmul(gt33L,kmadd(cdphi233,gtu33,kmadd(kmadd(cdphi213,gtu13,kmul(cdphi223,gtu23)),ToReal(2),kmadd(gtu11,kmadd(kmul(cdphi1,cdphi1),ToReal(2),cdphi211),kmadd(gtu22,kmadd(kmul(cdphi2,cdphi2),ToReal(2),cdphi222),kmadd(cdphi3,kmul(kmadd(cdphi1,gtu13,kmul(cdphi2,gtu23)),ToReal(4)),kmul(gtu12,kmadd(cdphi212,ToReal(2),kmul(cdphi1,kmul(cdphi2,ToReal(4))))))))))))));
CCTK_REAL_VEC Atm11 =
kmadd(At11L,gtu11,kmadd(At12L,gtu12,kmul(At13L,gtu13)));
@@ -2162,34 +2166,34 @@ static void ML_CCZ4_RHS1_Body(cGH const * restrict const cctkGH, int const dir,
CCTK_REAL_VEC R33 = kadd(Rphi33,Rt33);
R11 =
- kadd(R11,kmadd(e4phi,kmadd(JacPDstandardNth1gt11,Z1,kmadd(JacPDstandardNth2gt11,Z2,kmul(JacPDstandardNth3gt11,Z3))),kmul(INV(phiL),kmadd(g11,kmul(kmadd(JacPDstandardNth2phi,Z2,kmul(JacPDstandardNth3phi,Z3)),ToReal(-2)),kmul(JacPDstandardNth1phi,kmadd(g11,kmul(Z1,ToReal(2)),kmul(kmadd(g12,Z2,kmul(g13,Z3)),ToReal(4))))))));
+ kadd(R11,kmadd(e4phi,kmadd(JacPDstandardNth1gt11,Z1,kmadd(JacPDstandardNth2gt11,Z2,kmul(JacPDstandardNth3gt11,Z3))),kdiv(kmadd(g11,kmul(kmadd(JacPDstandardNth2phi,Z2,kmul(JacPDstandardNth3phi,Z3)),ToReal(-2)),kmul(JacPDstandardNth1phi,kmadd(g11,kmul(Z1,ToReal(2)),kmul(kmadd(g12,Z2,kmul(g13,Z3)),ToReal(4))))),phiL)));
R12 =
- kadd(R12,kmadd(e4phi,kmadd(JacPDstandardNth1gt12,Z1,kmadd(JacPDstandardNth2gt12,Z2,kmul(JacPDstandardNth3gt12,Z3))),kmul(INV(phiL),kmul(kmadd(g11,kmul(JacPDstandardNth2phi,Z1),kmadd(g22,kmul(JacPDstandardNth1phi,Z2),kmul(Z3,kmadd(g23,JacPDstandardNth1phi,kmsub(g13,JacPDstandardNth2phi,kmul(g12,JacPDstandardNth3phi)))))),ToReal(2)))));
+ kadd(R12,kmadd(e4phi,kmadd(JacPDstandardNth1gt12,Z1,kmadd(JacPDstandardNth2gt12,Z2,kmul(JacPDstandardNth3gt12,Z3))),kdiv(kmul(kmadd(g11,kmul(JacPDstandardNth2phi,Z1),kmadd(g22,kmul(JacPDstandardNth1phi,Z2),kmul(Z3,kmadd(g23,JacPDstandardNth1phi,kmsub(g13,JacPDstandardNth2phi,kmul(g12,JacPDstandardNth3phi)))))),ToReal(2)),phiL)));
R13 =
- kadd(R13,kmadd(e4phi,kmadd(JacPDstandardNth1gt13,Z1,kmadd(JacPDstandardNth2gt13,Z2,kmul(JacPDstandardNth3gt13,Z3))),kmul(INV(phiL),kmul(kmadd(JacPDstandardNth3phi,kmadd(g11,Z1,kmul(g12,Z2)),kmadd(g33,kmul(JacPDstandardNth1phi,Z3),kmul(Z2,kmsub(g23,JacPDstandardNth1phi,kmul(g13,JacPDstandardNth2phi))))),ToReal(2)))));
+ kadd(R13,kmadd(e4phi,kmadd(JacPDstandardNth1gt13,Z1,kmadd(JacPDstandardNth2gt13,Z2,kmul(JacPDstandardNth3gt13,Z3))),kdiv(kmul(kmadd(JacPDstandardNth3phi,kmadd(g11,Z1,kmul(g12,Z2)),kmadd(g33,kmul(JacPDstandardNth1phi,Z3),kmul(Z2,kmsub(g23,JacPDstandardNth1phi,kmul(g13,JacPDstandardNth2phi))))),ToReal(2)),phiL)));
R22 =
- kadd(R22,kmadd(e4phi,kmadd(JacPDstandardNth1gt22,Z1,kmadd(JacPDstandardNth2gt22,Z2,kmul(JacPDstandardNth3gt22,Z3))),kmul(INV(phiL),kmadd(g22,kmul(ToReal(-2),kmadd(JacPDstandardNth1phi,Z1,kmsub(JacPDstandardNth3phi,Z3,kmul(JacPDstandardNth2phi,Z2)))),kmul(JacPDstandardNth2phi,kmul(kmadd(g12,Z1,kmul(g23,Z3)),ToReal(4)))))));
+ kadd(R22,kmadd(e4phi,kmadd(JacPDstandardNth1gt22,Z1,kmadd(JacPDstandardNth2gt22,Z2,kmul(JacPDstandardNth3gt22,Z3))),kdiv(kmadd(g22,kmul(ToReal(-2),kmadd(JacPDstandardNth1phi,Z1,kmsub(JacPDstandardNth3phi,Z3,kmul(JacPDstandardNth2phi,Z2)))),kmul(JacPDstandardNth2phi,kmul(kmadd(g12,Z1,kmul(g23,Z3)),ToReal(4)))),phiL)));
R23 =
- kadd(R23,kmadd(e4phi,kmadd(JacPDstandardNth1gt23,Z1,kmadd(JacPDstandardNth2gt23,Z2,kmul(JacPDstandardNth3gt23,Z3))),kmul(INV(phiL),kmul(kmadd(g22,kmul(JacPDstandardNth3phi,Z2),kmadd(g33,kmul(JacPDstandardNth2phi,Z3),kmul(Z1,kmadd(g13,JacPDstandardNth2phi,kmsub(g12,JacPDstandardNth3phi,kmul(g23,JacPDstandardNth1phi)))))),ToReal(2)))));
+ kadd(R23,kmadd(e4phi,kmadd(JacPDstandardNth1gt23,Z1,kmadd(JacPDstandardNth2gt23,Z2,kmul(JacPDstandardNth3gt23,Z3))),kdiv(kmul(kmadd(g22,kmul(JacPDstandardNth3phi,Z2),kmadd(g33,kmul(JacPDstandardNth2phi,Z3),kmul(Z1,kmadd(g13,JacPDstandardNth2phi,kmsub(g12,JacPDstandardNth3phi,kmul(g23,JacPDstandardNth1phi)))))),ToReal(2)),phiL)));
R33 =
- kadd(R33,kmadd(e4phi,kmadd(JacPDstandardNth1gt33,Z1,kmadd(JacPDstandardNth2gt33,Z2,kmul(JacPDstandardNth3gt33,Z3))),kmul(INV(phiL),kmadd(g33,kmul(ToReal(-2),kmadd(JacPDstandardNth1phi,Z1,kmsub(JacPDstandardNth2phi,Z2,kmul(JacPDstandardNth3phi,Z3)))),kmul(JacPDstandardNth3phi,kmul(kmadd(g13,Z1,kmul(g23,Z2)),ToReal(4)))))));
+ kadd(R33,kmadd(e4phi,kmadd(JacPDstandardNth1gt33,Z1,kmadd(JacPDstandardNth2gt33,Z2,kmul(JacPDstandardNth3gt33,Z3))),kdiv(kmadd(g33,kmul(ToReal(-2),kmadd(JacPDstandardNth1phi,Z1,kmsub(JacPDstandardNth2phi,Z2,kmul(JacPDstandardNth3phi,Z3)))),kmul(JacPDstandardNth3phi,kmul(kmadd(g13,Z1,kmul(g23,Z2)),ToReal(4)))),phiL)));
CCTK_REAL_VEC rho =
- kmul(INV(SQR(alphaL)),kadd(eTttL,kmadd(eTxxL,SQR(beta1L),kmadd(eTyyL,SQR(beta2L),kmadd(eTzzL,SQR(beta3L),kmadd(kmadd(beta2L,eTtyL,kmul(beta3L,eTtzL)),ToReal(-2),kmul(kmadd(beta2L,kmul(beta3L,eTyzL),kmul(beta1L,kmadd(beta2L,eTxyL,kmsub(beta3L,eTxzL,eTtxL)))),ToReal(2))))))));
+ kdiv(kadd(eTttL,kmadd(eTxxL,kmul(beta1L,beta1L),kmadd(eTyyL,kmul(beta2L,beta2L),kmadd(eTzzL,kmul(beta3L,beta3L),kmadd(kmadd(beta2L,eTtyL,kmul(beta3L,eTtzL)),ToReal(-2),kmul(kmadd(beta2L,kmul(beta3L,eTyzL),kmul(beta1L,kmadd(beta2L,eTxyL,kmsub(beta3L,eTxzL,eTtxL)))),ToReal(2))))))),kmul(alphaL,alphaL));
CCTK_REAL_VEC S1 =
- kmul(INV(alphaL),kmadd(beta1L,eTxxL,kmadd(beta2L,eTxyL,kmsub(beta3L,eTxzL,eTtxL))));
+ kdiv(kmadd(beta1L,eTxxL,kmadd(beta2L,eTxyL,kmsub(beta3L,eTxzL,eTtxL))),alphaL);
CCTK_REAL_VEC S2 =
- kmul(INV(alphaL),kmadd(beta1L,eTxyL,kmadd(beta2L,eTyyL,kmsub(beta3L,eTyzL,eTtyL))));
+ kdiv(kmadd(beta1L,eTxyL,kmadd(beta2L,eTyyL,kmsub(beta3L,eTyzL,eTtyL))),alphaL);
CCTK_REAL_VEC S3 =
- kmul(INV(alphaL),kmadd(beta1L,eTxzL,kmadd(beta2L,eTyzL,kmsub(beta3L,eTzzL,eTtzL))));
+ kdiv(kmadd(beta1L,eTxzL,kmadd(beta2L,eTyzL,kmsub(beta3L,eTzzL,eTtzL))),alphaL);
CCTK_REAL_VEC trS =
kmul(em4phi,kmadd(eTxxL,gtu11,kmadd(eTyyL,gtu22,kmadd(eTzzL,gtu33,kmul(kmadd(eTxyL,gtu12,kmadd(eTxzL,gtu13,kmul(eTyzL,gtu23))),ToReal(2))))));
@@ -2216,13 +2220,13 @@ static void ML_CCZ4_RHS1_Body(cGH const * restrict const cctkGH, int const dir,
kmul(ToReal(0.666666666666666666666666666667),knmsub(gt33L,kadd(JacPDstandardNth1beta1,kmadd(JacPDstandardNth3beta3,ToReal(-2),JacPDstandardNth2beta2)),kmadd(alphaL,kmadd(At33L,kmadd(gt33L,gtu33,ToReal(-3)),kmul(gt33L,kmadd(At11L,gtu11,kmadd(At22L,gtu22,kmul(kmadd(At12L,gtu12,kmadd(At13L,gtu13,kmul(At23L,gtu23))),ToReal(2)))))),kmul(kmadd(gt13L,JacPDstandardNth3beta1,kmul(gt23L,JacPDstandardNth3beta2)),ToReal(3)))));
CCTK_REAL_VEC dotXt1 =
- kmul(ToReal(0.333333333333333333333333333333),kmadd(kmadd(JacPDstandardNth2beta1,Xtn2,kmul(JacPDstandardNth3beta1,Xtn3)),ToReal(-3),kmadd(Xtn1,kmsub(kadd(JacPDstandardNth2beta2,JacPDstandardNth3beta3),ToReal(2),JacPDstandardNth1beta1),kmadd(kmadd(gtu12,JacPDstandardNth12beta1,kmadd(gtu13,JacPDstandardNth13beta1,kmadd(gtu22,JacPDstandardNth22beta1,kmadd(gtu23,kadd(JacPDstandardNth23beta1,JacPDstandardNth32beta1),kmul(gtu33,JacPDstandardNth33beta1))))),ToReal(3),kmadd(gtu11,kadd(JacPDstandardNth12beta2,kadd(JacPDstandardNth13beta3,kmadd(ThetaL,kmul(JacPDstandardNth1alpha,ToReal(-6)),kmul(JacPDstandardNth11beta1,ToReal(4))))),kmadd(gtu12,kadd(JacPDstandardNth22beta2,kadd(JacPDstandardNth23beta3,kmadd(ThetaL,kmul(JacPDstandardNth2alpha,ToReal(-6)),kmul(JacPDstandardNth21beta1,ToReal(4))))),kmadd(gtu13,kadd(JacPDstandardNth32beta2,kadd(JacPDstandardNth33beta3,kmadd(ThetaL,kmul(JacPDstandardNth3alpha,ToReal(-6)),kmul(JacPDstandardNth31beta1,ToReal(4))))),kmadd(e4phi,kmul(kmadd(JacPDstandardNth3beta1,kmul(Z3,ToReal(-6)),kmul(Z1,kmadd(JacPDstandardNth1beta1,ToReal(-2),kmul(kadd(JacPDstandardNth2beta2,JacPDstandardNth3beta3),ToReal(4))))),ToReal(GammaShift)),kmadd(ToReal(-6),kmadd(Atu11,JacPDstandardNth1alpha,kmadd(Atu12,JacPDstandardNth2alpha,kmadd(Atu13,JacPDstandardNth3alpha,kmul(e4phi,kmul(JacPDstandardNth2beta1,kmul(Z2,ToReal(GammaShift))))))),kmul(alphaL,kmul(ToReal(2),kmadd(kmadd(gtu11,JacPDstandardNth1trK,kmadd(gtu12,JacPDstandardNth2trK,kmadd(gtu13,JacPDstandardNth3trK,kmul(trKL,kmul(e4phi,Z1))))),ToReal(-2),kmadd(kmadd(Atu23,Gt123,kmul(Atu12,kmadd(cdphi2,ToReal(3),Gt112))),ToReal(6),kmadd(ToReal(3),kmadd(Atu22,Gt122,kmadd(Atu33,Gt133,kmadd(gtu11,JacPDstandardNth1Theta,kmadd(gtu12,JacPDstandardNth2Theta,kmadd(gtu13,JacPDstandardNth3Theta,kmul(Atu11,kmadd(cdphi1,ToReal(6),Gt111))))))),kmadd(Atu13,kmadd(Gt113,ToReal(6),kmul(cdphi3,ToReal(18))),kmadd(e4phi,kmul(Z1,kmul(ToReal(-3),ToReal(dampk1))),kmul(kmadd(gtu11,S1,kmadd(gtu12,S2,kmul(gtu13,S3))),kmul(ToReal(-24),ToReal(Pi)))))))))))))))))));
+ kmul(ToReal(0.333333333333333333333333333333),kmadd(kmadd(JacPDstandardNth2beta1,Xtn2,kmul(JacPDstandardNth3beta1,Xtn3)),ToReal(-3),kmadd(Xtn1,kmsub(kadd(JacPDstandardNth2beta2,JacPDstandardNth3beta3),ToReal(2),JacPDstandardNth1beta1),kmadd(kmadd(gtu12,JacPDstandardNth12beta1,kmadd(gtu13,JacPDstandardNth13beta1,kmadd(gtu22,JacPDstandardNth22beta1,kmadd(gtu23,kadd(JacPDstandardNth23beta1,JacPDstandardNth32beta1),kmul(gtu33,JacPDstandardNth33beta1))))),ToReal(3),kmadd(gtu11,kadd(JacPDstandardNth12beta2,kadd(JacPDstandardNth13beta3,kmadd(ThetaL,kmul(JacPDstandardNth1alpha,ToReal(-6)),kmul(JacPDstandardNth11beta1,ToReal(4))))),kmadd(gtu12,kadd(JacPDstandardNth22beta2,kadd(JacPDstandardNth23beta3,kmadd(ThetaL,kmul(JacPDstandardNth2alpha,ToReal(-6)),kmul(JacPDstandardNth21beta1,ToReal(4))))),kmadd(gtu13,kadd(JacPDstandardNth32beta2,kadd(JacPDstandardNth33beta3,kmadd(ThetaL,kmul(JacPDstandardNth3alpha,ToReal(-6)),kmul(JacPDstandardNth31beta1,ToReal(4))))),kmadd(e4phi,kmul(kmadd(JacPDstandardNth3beta1,kmul(Z3,ToReal(-6)),kmul(Z1,kmadd(JacPDstandardNth1beta1,ToReal(-2),kmul(kadd(JacPDstandardNth2beta2,JacPDstandardNth3beta3),ToReal(4))))),ToReal(GammaShift)),kmadd(ToReal(-6),kmadd(Atu11,JacPDstandardNth1alpha,kmadd(Atu12,JacPDstandardNth2alpha,kmadd(Atu13,JacPDstandardNth3alpha,kmul(e4phi,kmul(JacPDstandardNth2beta1,kmul(Z2,ToReal(GammaShift))))))),kmul(alphaL,kmul(ToReal(2),kmadd(kmadd(gtu11,JacPDstandardNth1trK,kmadd(gtu12,JacPDstandardNth2trK,kmadd(gtu13,JacPDstandardNth3trK,kmul(trKL,kmul(e4phi,Z1))))),ToReal(-2),kmadd(kmadd(Atu23,Gt123,kmul(Atu12,kmadd(cdphi2,ToReal(3),Gt112))),ToReal(6),kmadd(ToReal(3),kmadd(Atu22,Gt122,kmadd(Atu33,Gt133,kmadd(gtu11,JacPDstandardNth1Theta,kmadd(gtu12,JacPDstandardNth2Theta,kmadd(gtu13,JacPDstandardNth3Theta,kmul(Atu11,kmadd(cdphi1,ToReal(6),Gt111))))))),kmadd(Atu13,kmadd(Gt113,ToReal(6),kmul(cdphi3,ToReal(18))),kmadd(e4phi,kmul(Z1,ToReal(-3*dampk1)),kmul(kmadd(gtu11,S1,kmadd(gtu12,S2,kmul(gtu13,S3))),ToReal(-24*Pi))))))))))))))))));
CCTK_REAL_VEC dotXt2 =
- kmul(ToReal(0.333333333333333333333333333333),kmadd(kmadd(JacPDstandardNth1beta2,Xtn1,kmul(JacPDstandardNth3beta2,Xtn3)),ToReal(-3),kmadd(Xtn2,kmsub(kadd(JacPDstandardNth1beta1,JacPDstandardNth3beta3),ToReal(2),JacPDstandardNth2beta2),kmadd(kmadd(gtu11,JacPDstandardNth11beta2,kmadd(gtu23,JacPDstandardNth23beta2,kmadd(gtu13,kadd(JacPDstandardNth13beta2,JacPDstandardNth31beta2),kmul(gtu33,JacPDstandardNth33beta2)))),ToReal(3),kmadd(gtu12,kadd(JacPDstandardNth11beta1,kadd(JacPDstandardNth13beta3,kmadd(ThetaL,kmul(JacPDstandardNth1alpha,ToReal(-6)),kmadd(JacPDstandardNth21beta2,ToReal(3),kmul(JacPDstandardNth12beta2,ToReal(4)))))),kmadd(gtu22,kadd(JacPDstandardNth21beta1,kadd(JacPDstandardNth23beta3,kmadd(ThetaL,kmul(JacPDstandardNth2alpha,ToReal(-6)),kmul(JacPDstandardNth22beta2,ToReal(4))))),kmadd(gtu23,kadd(JacPDstandardNth31beta1,kadd(JacPDstandardNth33beta3,kmadd(ThetaL,kmul(JacPDstandardNth3alpha,ToReal(-6)),kmul(JacPDstandardNth32beta2,ToReal(4))))),kmadd(e4phi,kmul(kmadd(JacPDstandardNth3beta2,kmul(Z3,ToReal(-6)),kmul(Z2,kmadd(JacPDstandardNth2beta2,ToReal(-2),kmul(kadd(JacPDstandardNth1beta1,JacPDstandardNth3beta3),ToReal(4))))),ToReal(GammaShift)),kmadd(ToReal(-6),kmadd(Atu12,JacPDstandardNth1alpha,kmadd(Atu22,JacPDstandardNth2alpha,kmadd(Atu23,JacPDstandardNth3alpha,kmul(e4phi,kmul(JacPDstandardNth1beta2,kmul(Z1,ToReal(GammaShift))))))),kmul(alphaL,kmul(ToReal(2),kmadd(kmadd(gtu12,JacPDstandardNth1trK,kmadd(gtu22,JacPDstandardNth2trK,kmadd(gtu23,JacPDstandardNth3trK,kmul(trKL,kmul(e4phi,Z2))))),ToReal(-2),kmadd(kmadd(Atu13,Gt213,kmul(Atu12,kmadd(cdphi1,ToReal(3),Gt212))),ToReal(6),kmadd(ToReal(3),kmadd(Atu11,Gt211,kmadd(Atu33,Gt233,kmadd(gtu12,JacPDstandardNth1Theta,kmadd(gtu22,JacPDstandardNth2Theta,kmadd(gtu23,JacPDstandardNth3Theta,kmul(Atu22,kmadd(cdphi2,ToReal(6),Gt222))))))),kmadd(Atu23,kmadd(Gt223,ToReal(6),kmul(cdphi3,ToReal(18))),kmadd(e4phi,kmul(Z2,kmul(ToReal(-3),ToReal(dampk1))),kmul(kmadd(gtu12,S1,kmadd(gtu22,S2,kmul(gtu23,S3))),kmul(ToReal(-24),ToReal(Pi)))))))))))))))))));
+ kmul(ToReal(0.333333333333333333333333333333),kmadd(kmadd(JacPDstandardNth1beta2,Xtn1,kmul(JacPDstandardNth3beta2,Xtn3)),ToReal(-3),kmadd(Xtn2,kmsub(kadd(JacPDstandardNth1beta1,JacPDstandardNth3beta3),ToReal(2),JacPDstandardNth2beta2),kmadd(kmadd(gtu11,JacPDstandardNth11beta2,kmadd(gtu23,JacPDstandardNth23beta2,kmadd(gtu13,kadd(JacPDstandardNth13beta2,JacPDstandardNth31beta2),kmul(gtu33,JacPDstandardNth33beta2)))),ToReal(3),kmadd(gtu12,kadd(JacPDstandardNth11beta1,kadd(JacPDstandardNth13beta3,kmadd(ThetaL,kmul(JacPDstandardNth1alpha,ToReal(-6)),kmadd(JacPDstandardNth21beta2,ToReal(3),kmul(JacPDstandardNth12beta2,ToReal(4)))))),kmadd(gtu22,kadd(JacPDstandardNth21beta1,kadd(JacPDstandardNth23beta3,kmadd(ThetaL,kmul(JacPDstandardNth2alpha,ToReal(-6)),kmul(JacPDstandardNth22beta2,ToReal(4))))),kmadd(gtu23,kadd(JacPDstandardNth31beta1,kadd(JacPDstandardNth33beta3,kmadd(ThetaL,kmul(JacPDstandardNth3alpha,ToReal(-6)),kmul(JacPDstandardNth32beta2,ToReal(4))))),kmadd(e4phi,kmul(kmadd(JacPDstandardNth3beta2,kmul(Z3,ToReal(-6)),kmul(Z2,kmadd(JacPDstandardNth2beta2,ToReal(-2),kmul(kadd(JacPDstandardNth1beta1,JacPDstandardNth3beta3),ToReal(4))))),ToReal(GammaShift)),kmadd(ToReal(-6),kmadd(Atu12,JacPDstandardNth1alpha,kmadd(Atu22,JacPDstandardNth2alpha,kmadd(Atu23,JacPDstandardNth3alpha,kmul(e4phi,kmul(JacPDstandardNth1beta2,kmul(Z1,ToReal(GammaShift))))))),kmul(alphaL,kmul(ToReal(2),kmadd(kmadd(gtu12,JacPDstandardNth1trK,kmadd(gtu22,JacPDstandardNth2trK,kmadd(gtu23,JacPDstandardNth3trK,kmul(trKL,kmul(e4phi,Z2))))),ToReal(-2),kmadd(kmadd(Atu13,Gt213,kmul(Atu12,kmadd(cdphi1,ToReal(3),Gt212))),ToReal(6),kmadd(ToReal(3),kmadd(Atu11,Gt211,kmadd(Atu33,Gt233,kmadd(gtu12,JacPDstandardNth1Theta,kmadd(gtu22,JacPDstandardNth2Theta,kmadd(gtu23,JacPDstandardNth3Theta,kmul(Atu22,kmadd(cdphi2,ToReal(6),Gt222))))))),kmadd(Atu23,kmadd(Gt223,ToReal(6),kmul(cdphi3,ToReal(18))),kmadd(e4phi,kmul(Z2,ToReal(-3*dampk1)),kmul(kmadd(gtu12,S1,kmadd(gtu22,S2,kmul(gtu23,S3))),ToReal(-24*Pi))))))))))))))))));
CCTK_REAL_VEC dotXt3 =
- kmul(ToReal(0.333333333333333333333333333333),kmadd(kmadd(JacPDstandardNth1beta3,Xtn1,kmul(JacPDstandardNth2beta3,Xtn2)),ToReal(-3),kmadd(kmadd(gtu11,JacPDstandardNth11beta3,kmadd(gtu12,kadd(JacPDstandardNth12beta3,JacPDstandardNth21beta3),kmadd(gtu22,JacPDstandardNth22beta3,kmul(gtu23,JacPDstandardNth32beta3)))),ToReal(3),kmadd(gtu13,kadd(JacPDstandardNth11beta1,kadd(JacPDstandardNth12beta2,kmadd(ThetaL,kmul(JacPDstandardNth1alpha,ToReal(-6)),kmadd(JacPDstandardNth31beta3,ToReal(3),kmul(JacPDstandardNth13beta3,ToReal(4)))))),kmadd(gtu23,kadd(JacPDstandardNth21beta1,kadd(JacPDstandardNth22beta2,kmadd(ThetaL,kmul(JacPDstandardNth2alpha,ToReal(-6)),kmul(JacPDstandardNth23beta3,ToReal(4))))),kmadd(gtu33,kadd(JacPDstandardNth31beta1,kadd(JacPDstandardNth32beta2,kmadd(ThetaL,kmul(JacPDstandardNth3alpha,ToReal(-6)),kmul(JacPDstandardNth33beta3,ToReal(4))))),kmadd(e4phi,kmul(kmadd(JacPDstandardNth2beta3,kmul(Z2,ToReal(-6)),kmul(kadd(JacPDstandardNth1beta1,JacPDstandardNth2beta2),kmul(Z3,ToReal(4)))),ToReal(GammaShift)),kmadd(ToReal(-6),kmadd(Atu13,JacPDstandardNth1alpha,kmadd(Atu23,JacPDstandardNth2alpha,kmadd(Atu33,JacPDstandardNth3alpha,kmul(e4phi,kmul(JacPDstandardNth1beta3,kmul(Z1,ToReal(GammaShift))))))),kmadd(JacPDstandardNth3beta3,kmsub(e4phi,kmul(Z3,kmul(ToReal(-2),ToReal(GammaShift))),Xtn3),kmul(ToReal(2),kmadd(kadd(JacPDstandardNth1beta1,JacPDstandardNth2beta2),Xtn3,kmul(alphaL,kmadd(kmadd(gtu13,JacPDstandardNth1trK,kmadd(gtu23,JacPDstandardNth2trK,kmadd(gtu33,JacPDstandardNth3trK,kmul(trKL,kmul(e4phi,Z3))))),ToReal(-2),kmadd(kmadd(Atu11,Gt311,kmadd(Atu22,Gt322,kmadd(gtu13,JacPDstandardNth1Theta,kmadd(gtu23,JacPDstandardNth2Theta,kmul(gtu33,JacPDstandardNth3Theta))))),ToReal(3),kmadd(kmadd(Atu12,Gt312,kmadd(Atu13,kmadd(cdphi1,ToReal(3),Gt313),kmul(Atu23,kmadd(cdphi2,ToReal(3),Gt323)))),ToReal(6),kmadd(Atu33,kmadd(Gt333,ToReal(3),kmul(cdphi3,ToReal(18))),kmadd(e4phi,kmul(Z3,kmul(ToReal(-3),ToReal(dampk1))),kmul(kmadd(gtu13,S1,kmadd(gtu23,S2,kmul(gtu33,S3))),kmul(ToReal(-24),ToReal(Pi))))))))))))))))))));
+ kmul(ToReal(0.333333333333333333333333333333),kmadd(kmadd(JacPDstandardNth1beta3,Xtn1,kmul(JacPDstandardNth2beta3,Xtn2)),ToReal(-3),kmadd(kmadd(gtu11,JacPDstandardNth11beta3,kmadd(gtu12,kadd(JacPDstandardNth12beta3,JacPDstandardNth21beta3),kmadd(gtu22,JacPDstandardNth22beta3,kmul(gtu23,JacPDstandardNth32beta3)))),ToReal(3),kmadd(gtu13,kadd(JacPDstandardNth11beta1,kadd(JacPDstandardNth12beta2,kmadd(ThetaL,kmul(JacPDstandardNth1alpha,ToReal(-6)),kmadd(JacPDstandardNth31beta3,ToReal(3),kmul(JacPDstandardNth13beta3,ToReal(4)))))),kmadd(gtu23,kadd(JacPDstandardNth21beta1,kadd(JacPDstandardNth22beta2,kmadd(ThetaL,kmul(JacPDstandardNth2alpha,ToReal(-6)),kmul(JacPDstandardNth23beta3,ToReal(4))))),kmadd(gtu33,kadd(JacPDstandardNth31beta1,kadd(JacPDstandardNth32beta2,kmadd(ThetaL,kmul(JacPDstandardNth3alpha,ToReal(-6)),kmul(JacPDstandardNth33beta3,ToReal(4))))),kmadd(e4phi,kmul(kmadd(JacPDstandardNth2beta3,kmul(Z2,ToReal(-6)),kmul(kadd(JacPDstandardNth1beta1,JacPDstandardNth2beta2),kmul(Z3,ToReal(4)))),ToReal(GammaShift)),kmadd(ToReal(-6),kmadd(Atu13,JacPDstandardNth1alpha,kmadd(Atu23,JacPDstandardNth2alpha,kmadd(Atu33,JacPDstandardNth3alpha,kmul(e4phi,kmul(JacPDstandardNth1beta3,kmul(Z1,ToReal(GammaShift))))))),kmadd(JacPDstandardNth3beta3,kmsub(e4phi,kmul(Z3,ToReal(-2*GammaShift)),Xtn3),kmul(ToReal(2),kmadd(kadd(JacPDstandardNth1beta1,JacPDstandardNth2beta2),Xtn3,kmul(alphaL,kmadd(kmadd(gtu13,JacPDstandardNth1trK,kmadd(gtu23,JacPDstandardNth2trK,kmadd(gtu33,JacPDstandardNth3trK,kmul(trKL,kmul(e4phi,Z3))))),ToReal(-2),kmadd(kmadd(Atu11,Gt311,kmadd(Atu22,Gt322,kmadd(gtu13,JacPDstandardNth1Theta,kmadd(gtu23,JacPDstandardNth2Theta,kmul(gtu33,JacPDstandardNth3Theta))))),ToReal(3),kmadd(kmadd(Atu12,Gt312,kmadd(Atu13,kmadd(cdphi1,ToReal(3),Gt313),kmul(Atu23,kmadd(cdphi2,ToReal(3),Gt323)))),ToReal(6),kmadd(Atu33,kmadd(Gt333,ToReal(3),kmul(cdphi3,ToReal(18))),kmadd(e4phi,kmul(Z3,ToReal(-3*dampk1)),kmul(kmadd(gtu13,S1,kmadd(gtu23,S2,kmul(gtu33,S3))),ToReal(-24*Pi)))))))))))))))))));
CCTK_REAL_VEC Xt1rhsL = dotXt1;
@@ -2231,26 +2235,30 @@ static void ML_CCZ4_RHS1_Body(cGH const * restrict const cctkGH, int const dir,
CCTK_REAL_VEC Xt3rhsL = dotXt3;
CCTK_REAL_VEC dotTheta =
- knmsub(JacPDstandardNth1alpha,Z1,knmsub(JacPDstandardNth2alpha,Z2,kmsub(alphaL,kmadd(ToReal(0.5),kmadd(gu11,R11,kmadd(gu22,R22,kmadd(gu33,R33,kmadd(ThetaL,kmul(trKL,ToReal(-2)),kmadd(Atm12,kmul(Atm21,ToReal(-2)),kmadd(Atm13,kmul(Atm31,ToReal(-2)),kmadd(Atm23,kmul(Atm32,ToReal(-2)),ksub(ksub(ksub(kmadd(SQR(trKL),ToReal(0.666666666666666666666666666667),kmadd(gu12,kmul(R12,ToReal(2)),kmadd(gu13,kmul(R13,ToReal(2)),kmul(gu23,kmul(R23,ToReal(2)))))),SQR(Atm33)),SQR(Atm22)),SQR(Atm11))))))))),kmsub(rho,kmul(ToReal(-8),ToReal(Pi)),kmul(ThetaL,kmul(ToReal(dampk1),kadd(ToReal(2),ToReal(dampk2)))))),kmul(JacPDstandardNth3alpha,Z3))));
+ knmsub(JacPDstandardNth1alpha,Z1,knmsub(JacPDstandardNth2alpha,Z2,kmsub(alphaL,kmadd(ToReal(0.5),kmadd(gu11,R11,kmadd(gu22,R22,kmadd(gu33,R33,kmadd(ThetaL,kmul(trKL,ToReal(-2)),kmadd(Atm12,kmul(Atm21,ToReal(-2)),kmadd(Atm13,kmul(Atm31,ToReal(-2)),kmadd(Atm23,kmul(Atm32,ToReal(-2)),knmsub(Atm11,Atm11,knmsub(Atm22,Atm22,knmsub(Atm33,Atm33,kmadd(kmul(trKL,trKL),ToReal(0.666666666666666666666666666667),kmadd(gu12,kmul(R12,ToReal(2)),kmadd(gu13,kmul(R13,ToReal(2)),kmul(gu23,kmul(R23,ToReal(2)))))))))))))))),kmsub(rho,ToReal(-8*Pi),kmul(ThetaL,ToReal(dampk1*(2
+ + dampk2))))),kmul(JacPDstandardNth3alpha,Z3))));
CCTK_REAL_VEC ThetarhsL = dotTheta;
CCTK_REAL_VEC dottrK =
- kmadd(kmadd(JacPDstandardNth1alpha,Z1,dotTheta),ToReal(2),kmadd(JacPDstandardNth2alpha,kmul(Z2,ToReal(2)),kmadd(JacPDstandardNth3alpha,kmul(Z3,ToReal(2)),kmsub(alphaL,kadd(SQR(Atm11),kadd(SQR(Atm22),kadd(SQR(Atm33),kmadd(SQR(trKL),ToReal(0.333333333333333333333333333333),kmadd(Atm12,kmul(Atm21,ToReal(2)),kmadd(Atm13,kmul(Atm31,ToReal(2)),kmadd(Atm23,kmul(Atm32,ToReal(2)),kmsub(kadd(rho,trS),kmul(ToReal(4),ToReal(Pi)),kmul(ThetaL,kmul(ToReal(dampk1),kadd(ToReal(-1),ToReal(dampk2)))))))))))),kmul(em4phi,kmadd(gtu13,JacPDstandardNth13alpha,kmadd(gtu22,JacPDstandardNth22alpha,kmadd(gtu23,JacPDstandardNth23alpha,kmadd(gtu13,JacPDstandardNth31alpha,kmadd(gtu23,JacPDstandardNth32alpha,kmadd(gtu33,JacPDstandardNth33alpha,kmadd(cdphi3,kmul(gtu23,kmul(JacPDstandardNth2alpha,ToReal(2))),kmadd(cdphi2,kmul(gtu23,kmul(JacPDstandardNth3alpha,ToReal(2))),kmadd(cdphi3,kmul(gtu33,kmul(JacPDstandardNth3alpha,ToReal(2))),kmadd(JacPDstandardNth3alpha,kmsub(cdphi1,kmul(gtu13,ToReal(2)),Xtn3),kmadd(JacPDstandardNth1alpha,kmsub(cdphi3,kmul(gtu13,ToReal(2)),Xtn1),kmadd(JacPDstandardNth2alpha,kmsub(cdphi2,kmul(gtu22,ToReal(2)),Xtn2),kmadd(gtu11,kmadd(cdphi1,kmul(JacPDstandardNth1alpha,ToReal(2)),JacPDstandardNth11alpha),kmul(gtu12,kadd(JacPDstandardNth12alpha,kadd(JacPDstandardNth21alpha,kmadd(cdphi2,kmul(JacPDstandardNth1alpha,ToReal(2)),kmul(cdphi1,kmul(JacPDstandardNth2alpha,ToReal(2)))))))))))))))))))))))));
+ kmadd(kmadd(JacPDstandardNth1alpha,Z1,dotTheta),ToReal(2),kmadd(JacPDstandardNth2alpha,kmul(Z2,ToReal(2)),kmadd(JacPDstandardNth3alpha,kmul(Z3,ToReal(2)),kmsub(alphaL,kmadd(Atm11,Atm11,kmadd(Atm22,Atm22,kmadd(Atm33,Atm33,kmadd(kmul(trKL,trKL),ToReal(0.333333333333333333333333333333),kmadd(Atm12,kmul(Atm21,ToReal(2)),kmadd(Atm13,kmul(Atm31,ToReal(2)),kmadd(Atm23,kmul(Atm32,ToReal(2)),kmsub(kadd(rho,trS),ToReal(4*Pi),kmul(ThetaL,ToReal(dampk1*(-1
+ +
+ dampk2))))))))))),kmul(em4phi,kmadd(gtu13,JacPDstandardNth13alpha,kmadd(gtu22,JacPDstandardNth22alpha,kmadd(gtu23,JacPDstandardNth23alpha,kmadd(gtu13,JacPDstandardNth31alpha,kmadd(gtu23,JacPDstandardNth32alpha,kmadd(gtu33,JacPDstandardNth33alpha,kmadd(cdphi3,kmul(gtu23,kmul(JacPDstandardNth2alpha,ToReal(2))),kmadd(cdphi2,kmul(gtu23,kmul(JacPDstandardNth3alpha,ToReal(2))),kmadd(cdphi3,kmul(gtu33,kmul(JacPDstandardNth3alpha,ToReal(2))),kmadd(JacPDstandardNth3alpha,kmsub(cdphi1,kmul(gtu13,ToReal(2)),Xtn3),kmadd(JacPDstandardNth1alpha,kmsub(cdphi3,kmul(gtu13,ToReal(2)),Xtn1),kmadd(JacPDstandardNth2alpha,kmsub(cdphi2,kmul(gtu22,ToReal(2)),Xtn2),kmadd(gtu11,kmadd(cdphi1,kmul(JacPDstandardNth1alpha,ToReal(2)),JacPDstandardNth11alpha),kmul(gtu12,kadd(JacPDstandardNth12alpha,kadd(JacPDstandardNth21alpha,kmadd(cdphi2,kmul(JacPDstandardNth1alpha,ToReal(2)),kmul(cdphi1,kmul(JacPDstandardNth2alpha,ToReal(2)))))))))))))))))))))))));
CCTK_REAL_VEC trKrhsL = dottrK;
CCTK_REAL_VEC alpharhsL =
- kneg(kmul(kpow(alphaL,harmonicN),kmul(ToReal(harmonicF),kmadd(AL,ToReal(LapseACoeff),kmul(kadd(trKL,kmadd(ThetaL,ToReal(-2),kmul(kadd(alphaL,ToReal(-1)),ToReal(AlphaDriver)))),ksub(ToReal(1),ToReal(LapseACoeff)))))));
+ kneg(kmul(kpow(alphaL,harmonicN),kmul(ToReal(harmonicF),kmadd(AL,ToReal(LapseACoeff),kmul(kadd(trKL,kmadd(ThetaL,ToReal(-2),kmul(kadd(alphaL,ToReal(-1)),ToReal(AlphaDriver)))),ToReal(1
+ - LapseACoeff))))));
CCTK_REAL_VEC ArhsL =
kmul(kadd(dottrK,kmsub(dotTheta,ToReal(-2),kmul(AL,ToReal(AlphaDriver)))),ToReal(LapseACoeff));
CCTK_REAL_VEC eta =
- kmul(INV(kfmax(rL,ToReal(SpatialBetaDriverRadius))),ToReal(SpatialBetaDriverRadius));
+ kdiv(ToReal(SpatialBetaDriverRadius),kfmax(rL,ToReal(SpatialBetaDriverRadius)));
CCTK_REAL_VEC theta =
- kfmin(ToReal(1),kexp(knmsub(rL,INV(ToReal(SpatialShiftGammaCoeffRadius)),ToReal(1))));
+ kfmin(ToReal(1),kexp(knmsub(rL,ToReal(ScalarINV(SpatialShiftGammaCoeffRadius)),ToReal(1))));
CCTK_REAL_VEC beta1rhsL;
CCTK_REAL_VEC beta2rhsL;
@@ -2259,24 +2267,27 @@ static void ML_CCZ4_RHS1_Body(cGH const * restrict const cctkGH, int const dir,
if (harmonicShift)
{
beta1rhsL =
- kmul(alphaL,kmul(phiL,kmul(ToReal(0.5),kmadd(phiL,kmul(kmadd(gtu11,JacPDstandardNth1alpha,kmadd(gtu12,JacPDstandardNth2alpha,kmul(gtu13,JacPDstandardNth3alpha))),ToReal(-2)),kmul(alphaL,kmadd(phiL,kmadd(JacPDstandardNth1gt11,SQR(gtu11),kmul(JacPDstandardNth1gt22,kmul(SQR(gtu12),ToReal(2)))),kmadd(gtu13,kmadd(JacPDstandardNth3phi,ToReal(2),kmul(phiL,kmadd(gtu33,JacPDstandardNth3gt33,kmsub(kmadd(gtu13,JacPDstandardNth1gt33,kmadd(gtu22,JacPDstandardNth2gt23,kmul(gtu23,JacPDstandardNth2gt33))),ToReal(2),kmul(gtu22,JacPDstandardNth3gt22))))),kmadd(gtu11,kmadd(JacPDstandardNth1phi,ToReal(2),kmul(phiL,kmadd(gtu12,JacPDstandardNth2gt11,kmadd(gtu13,JacPDstandardNth3gt11,kmadd(gtu23,kmul(JacPDstandardNth1gt23,ToReal(-2)),knmsub(gtu22,JacPDstandardNth1gt22,kmadd(kmadd(gtu12,JacPDstandardNth1gt12,kmadd(gtu13,JacPDstandardNth1gt13,kmul(gtu22,JacPDstandardNth2gt12))),ToReal(2),kmadd(gtu23,kmul(JacPDstandardNth2gt13,ToReal(2)),kmadd(gtu23,kmul(JacPDstandardNth3gt12,ToReal(2)),kmul(gtu33,kmsub(JacPDstandardNth3gt13,ToReal(2),JacPDstandardNth1gt33))))))))))),kmul(gtu12,kmadd(JacPDstandardNth2phi,ToReal(2),kmul(phiL,kmadd(gtu22,JacPDstandardNth2gt22,kmadd(gtu23,kmul(JacPDstandardNth3gt22,ToReal(2)),kmadd(gtu33,kmsub(JacPDstandardNth3gt23,ToReal(2),JacPDstandardNth2gt33),kmul(gtu13,kmul(JacPDstandardNth1gt23,ToReal(4)))))))))))))))));
+ kmul(alphaL,kmul(phiL,kmul(ToReal(0.5),kmadd(phiL,kmul(kmadd(gtu11,JacPDstandardNth1alpha,kmadd(gtu12,JacPDstandardNth2alpha,kmul(gtu13,JacPDstandardNth3alpha))),ToReal(-2)),kmul(alphaL,kmadd(phiL,kmadd(JacPDstandardNth1gt11,kmul(gtu11,gtu11),kmul(JacPDstandardNth1gt22,kmul(kmul(gtu12,gtu12),ToReal(2)))),kmadd(gtu13,kmadd(JacPDstandardNth3phi,ToReal(2),kmul(phiL,kmadd(gtu33,JacPDstandardNth3gt33,kmsub(kmadd(gtu13,JacPDstandardNth1gt33,kmadd(gtu22,JacPDstandardNth2gt23,kmul(gtu23,JacPDstandardNth2gt33))),ToReal(2),kmul(gtu22,JacPDstandardNth3gt22))))),kmadd(gtu11,kmadd(JacPDstandardNth1phi,ToReal(2),kmul(phiL,kmadd(gtu12,JacPDstandardNth2gt11,kmadd(gtu13,JacPDstandardNth3gt11,kmadd(gtu23,kmul(JacPDstandardNth1gt23,ToReal(-2)),knmsub(gtu22,JacPDstandardNth1gt22,kmadd(kmadd(gtu12,JacPDstandardNth1gt12,kmadd(gtu13,JacPDstandardNth1gt13,kmul(gtu22,JacPDstandardNth2gt12))),ToReal(2),kmadd(gtu23,kmul(JacPDstandardNth2gt13,ToReal(2)),kmadd(gtu23,kmul(JacPDstandardNth3gt12,ToReal(2)),kmul(gtu33,kmsub(JacPDstandardNth3gt13,ToReal(2),JacPDstandardNth1gt33))))))))))),kmul(gtu12,kmadd(JacPDstandardNth2phi,ToReal(2),kmul(phiL,kmadd(gtu22,JacPDstandardNth2gt22,kmadd(gtu23,kmul(JacPDstandardNth3gt22,ToReal(2)),kmadd(gtu33,kmsub(JacPDstandardNth3gt23,ToReal(2),JacPDstandardNth2gt33),kmul(gtu13,kmul(JacPDstandardNth1gt23,ToReal(4)))))))))))))))));
beta2rhsL =
- kmul(alphaL,kmul(phiL,kmul(ToReal(0.5),kmadd(phiL,kmul(kmadd(gtu12,JacPDstandardNth1alpha,kmadd(gtu22,JacPDstandardNth2alpha,kmul(gtu23,JacPDstandardNth3alpha))),ToReal(-2)),kmul(alphaL,kmadd(phiL,kmadd(JacPDstandardNth2gt22,SQR(gtu22),kmul(JacPDstandardNth2gt11,kmul(SQR(gtu12),ToReal(2)))),kmadd(gtu23,kmadd(JacPDstandardNth3phi,ToReal(2),kmul(phiL,kmadd(gtu33,JacPDstandardNth3gt33,kmsub(kmadd(gtu11,JacPDstandardNth1gt13,kmadd(gtu13,JacPDstandardNth1gt33,kmul(gtu23,JacPDstandardNth2gt33))),ToReal(2),kmul(gtu11,JacPDstandardNth3gt11))))),kmadd(gtu22,kmadd(JacPDstandardNth2phi,ToReal(2),kmul(phiL,kmadd(gtu23,JacPDstandardNth3gt22,kmadd(kmadd(gtu23,JacPDstandardNth2gt23,kmul(gtu13,kadd(JacPDstandardNth1gt23,ksub(JacPDstandardNth3gt12,JacPDstandardNth2gt13)))),ToReal(2),kmadd(gtu11,kmsub(JacPDstandardNth1gt12,ToReal(2),JacPDstandardNth2gt11),kmul(gtu33,kmsub(JacPDstandardNth3gt23,ToReal(2),JacPDstandardNth2gt33))))))),kmul(gtu12,kmadd(JacPDstandardNth1phi,ToReal(2),kmul(phiL,kmadd(gtu11,JacPDstandardNth1gt11,kmadd(gtu13,kmul(JacPDstandardNth3gt11,ToReal(2)),kmadd(gtu22,kmadd(JacPDstandardNth2gt12,ToReal(2),JacPDstandardNth1gt22),kmadd(gtu33,kmsub(JacPDstandardNth3gt13,ToReal(2),JacPDstandardNth1gt33),kmul(gtu23,kmul(JacPDstandardNth2gt13,ToReal(4))))))))))))))))));
+ kmul(alphaL,kmul(phiL,kmul(ToReal(0.5),kmadd(phiL,kmul(kmadd(gtu12,JacPDstandardNth1alpha,kmadd(gtu22,JacPDstandardNth2alpha,kmul(gtu23,JacPDstandardNth3alpha))),ToReal(-2)),kmul(alphaL,kmadd(phiL,kmadd(JacPDstandardNth2gt22,kmul(gtu22,gtu22),kmul(JacPDstandardNth2gt11,kmul(kmul(gtu12,gtu12),ToReal(2)))),kmadd(gtu23,kmadd(JacPDstandardNth3phi,ToReal(2),kmul(phiL,kmadd(gtu33,JacPDstandardNth3gt33,kmsub(kmadd(gtu11,JacPDstandardNth1gt13,kmadd(gtu13,JacPDstandardNth1gt33,kmul(gtu23,JacPDstandardNth2gt33))),ToReal(2),kmul(gtu11,JacPDstandardNth3gt11))))),kmadd(gtu22,kmadd(JacPDstandardNth2phi,ToReal(2),kmul(phiL,kmadd(gtu23,JacPDstandardNth3gt22,kmadd(kmadd(gtu23,JacPDstandardNth2gt23,kmul(gtu13,kadd(JacPDstandardNth1gt23,ksub(JacPDstandardNth3gt12,JacPDstandardNth2gt13)))),ToReal(2),kmadd(gtu11,kmsub(JacPDstandardNth1gt12,ToReal(2),JacPDstandardNth2gt11),kmul(gtu33,kmsub(JacPDstandardNth3gt23,ToReal(2),JacPDstandardNth2gt33))))))),kmul(gtu12,kmadd(JacPDstandardNth1phi,ToReal(2),kmul(phiL,kmadd(gtu11,JacPDstandardNth1gt11,kmadd(gtu13,kmul(JacPDstandardNth3gt11,ToReal(2)),kmadd(gtu22,kmadd(JacPDstandardNth2gt12,ToReal(2),JacPDstandardNth1gt22),kmadd(gtu33,kmsub(JacPDstandardNth3gt13,ToReal(2),JacPDstandardNth1gt33),kmul(gtu23,kmul(JacPDstandardNth2gt13,ToReal(4))))))))))))))))));
beta3rhsL =
- kmul(alphaL,kmul(phiL,kmul(ToReal(0.5),kmadd(phiL,kmul(kmadd(gtu13,JacPDstandardNth1alpha,kmadd(gtu23,JacPDstandardNth2alpha,kmul(gtu33,JacPDstandardNth3alpha))),ToReal(-2)),kmul(alphaL,kmadd(phiL,kmul(kmadd(JacPDstandardNth3gt11,SQR(gtu13),kmul(JacPDstandardNth3gt22,SQR(gtu23))),ToReal(2)),kmadd(gtu23,kmadd(JacPDstandardNth2phi,ToReal(2),kmul(phiL,kmadd(gtu22,JacPDstandardNth2gt22,kmadd(gtu33,JacPDstandardNth2gt33,kmsub(kmadd(gtu11,JacPDstandardNth1gt12,kmadd(gtu12,JacPDstandardNth1gt22,kmul(gtu33,JacPDstandardNth3gt23))),ToReal(2),kmul(gtu11,JacPDstandardNth2gt11)))))),kmadd(gtu33,kmadd(JacPDstandardNth3phi,ToReal(2),kmul(phiL,kmadd(gtu33,JacPDstandardNth3gt33,knmsub(gtu22,JacPDstandardNth3gt22,kmadd(kmadd(gtu22,JacPDstandardNth2gt23,kmul(gtu12,kadd(JacPDstandardNth1gt23,ksub(JacPDstandardNth2gt13,JacPDstandardNth3gt12)))),ToReal(2),kmul(gtu11,kmsub(JacPDstandardNth1gt13,ToReal(2),JacPDstandardNth3gt11))))))),kmul(gtu13,kmadd(JacPDstandardNth1phi,ToReal(2),kmul(phiL,kmadd(gtu11,JacPDstandardNth1gt11,kmadd(gtu12,kmul(JacPDstandardNth2gt11,ToReal(2)),kmadd(gtu22,kmsub(JacPDstandardNth2gt12,ToReal(2),JacPDstandardNth1gt22),kmadd(gtu33,kmadd(JacPDstandardNth3gt13,ToReal(2),JacPDstandardNth1gt33),kmul(gtu23,kmul(JacPDstandardNth3gt12,ToReal(4))))))))))))))))));
+ kmul(alphaL,kmul(phiL,kmul(ToReal(0.5),kmadd(phiL,kmul(kmadd(gtu13,JacPDstandardNth1alpha,kmadd(gtu23,JacPDstandardNth2alpha,kmul(gtu33,JacPDstandardNth3alpha))),ToReal(-2)),kmul(alphaL,kmadd(phiL,kmul(kmadd(JacPDstandardNth3gt11,kmul(gtu13,gtu13),kmul(JacPDstandardNth3gt22,kmul(gtu23,gtu23))),ToReal(2)),kmadd(gtu23,kmadd(JacPDstandardNth2phi,ToReal(2),kmul(phiL,kmadd(gtu22,JacPDstandardNth2gt22,kmadd(gtu33,JacPDstandardNth2gt33,kmsub(kmadd(gtu11,JacPDstandardNth1gt12,kmadd(gtu12,JacPDstandardNth1gt22,kmul(gtu33,JacPDstandardNth3gt23))),ToReal(2),kmul(gtu11,JacPDstandardNth2gt11)))))),kmadd(gtu33,kmadd(JacPDstandardNth3phi,ToReal(2),kmul(phiL,kmadd(gtu33,JacPDstandardNth3gt33,knmsub(gtu22,JacPDstandardNth3gt22,kmadd(kmadd(gtu22,JacPDstandardNth2gt23,kmul(gtu12,kadd(JacPDstandardNth1gt23,ksub(JacPDstandardNth2gt13,JacPDstandardNth3gt12)))),ToReal(2),kmul(gtu11,kmsub(JacPDstandardNth1gt13,ToReal(2),JacPDstandardNth3gt11))))))),kmul(gtu13,kmadd(JacPDstandardNth1phi,ToReal(2),kmul(phiL,kmadd(gtu11,JacPDstandardNth1gt11,kmadd(gtu12,kmul(JacPDstandardNth2gt11,ToReal(2)),kmadd(gtu22,kmsub(JacPDstandardNth2gt12,ToReal(2),JacPDstandardNth1gt22),kmadd(gtu33,kmadd(JacPDstandardNth3gt13,ToReal(2),JacPDstandardNth1gt33),kmul(gtu23,kmul(JacPDstandardNth3gt12,ToReal(4))))))))))))))))));
}
else
{
beta1rhsL =
- kmul(theta,kmul(kadd(Xt1L,kmadd(ksub(B1L,Xt1L),ToReal(ShiftBCoeff),kmul(beta1L,kmul(eta,kmul(ToReal(BetaDriver),kadd(ToReal(-1),ToReal(ShiftBCoeff))))))),ToReal(ShiftGammaCoeff)));
+ kmul(theta,kmul(kadd(Xt1L,kmadd(ksub(B1L,Xt1L),ToReal(ShiftBCoeff),kmul(beta1L,kmul(eta,ToReal(BetaDriver*(-1
+ + ShiftBCoeff)))))),ToReal(ShiftGammaCoeff)));
beta2rhsL =
- kmul(theta,kmul(kadd(Xt2L,kmadd(ksub(B2L,Xt2L),ToReal(ShiftBCoeff),kmul(beta2L,kmul(eta,kmul(ToReal(BetaDriver),kadd(ToReal(-1),ToReal(ShiftBCoeff))))))),ToReal(ShiftGammaCoeff)));
+ kmul(theta,kmul(kadd(Xt2L,kmadd(ksub(B2L,Xt2L),ToReal(ShiftBCoeff),kmul(beta2L,kmul(eta,ToReal(BetaDriver*(-1
+ + ShiftBCoeff)))))),ToReal(ShiftGammaCoeff)));
beta3rhsL =
- kmul(theta,kmul(kadd(Xt3L,kmadd(ksub(B3L,Xt3L),ToReal(ShiftBCoeff),kmul(beta3L,kmul(eta,kmul(ToReal(BetaDriver),kadd(ToReal(-1),ToReal(ShiftBCoeff))))))),ToReal(ShiftGammaCoeff)));
+ kmul(theta,kmul(kadd(Xt3L,kmadd(ksub(B3L,Xt3L),ToReal(ShiftBCoeff),kmul(beta3L,kmul(eta,ToReal(BetaDriver*(-1
+ + ShiftBCoeff)))))),ToReal(ShiftGammaCoeff)));
}
CCTK_REAL_VEC B1rhsL =
diff --git a/ML_CCZ4/src/ML_CCZ4_RHS2.cc b/ML_CCZ4/src/ML_CCZ4_RHS2.cc
index d5b3821..44a1c2b 100644
--- a/ML_CCZ4/src/ML_CCZ4_RHS2.cc
+++ b/ML_CCZ4/src/ML_CCZ4_RHS2.cc
@@ -18,10 +18,14 @@
/* Define macros used in calculations */
#define INITVALUE (42)
-#define QAD(x) (SQR(SQR(x)))
+#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 ML_CCZ4_RHS2_SelectBCs(CCTK_ARGUMENTS)
{
@@ -68,84 +72,84 @@ static void ML_CCZ4_RHS2_Body(cGH const * restrict const cctkGH, int const dir,
CCTK_REAL_VEC const hdzi = kmul(ToReal(0.5), dzi);
/* Initialize predefined quantities */
- CCTK_REAL_VEC const p1o1024dx = kmul(INV(dx),ToReal(0.0009765625));
- CCTK_REAL_VEC const p1o1024dy = kmul(INV(dy),ToReal(0.0009765625));
- CCTK_REAL_VEC const p1o1024dz = kmul(INV(dz),ToReal(0.0009765625));
- CCTK_REAL_VEC const p1o120dx = kmul(INV(dx),ToReal(0.00833333333333333333333333333333));
- CCTK_REAL_VEC const p1o120dy = kmul(INV(dy),ToReal(0.00833333333333333333333333333333));
- CCTK_REAL_VEC const p1o120dz = kmul(INV(dz),ToReal(0.00833333333333333333333333333333));
- CCTK_REAL_VEC const p1o12dx = kmul(INV(dx),ToReal(0.0833333333333333333333333333333));
- CCTK_REAL_VEC const p1o12dy = kmul(INV(dy),ToReal(0.0833333333333333333333333333333));
- CCTK_REAL_VEC const p1o12dz = kmul(INV(dz),ToReal(0.0833333333333333333333333333333));
- CCTK_REAL_VEC const p1o144dxdy = kmul(INV(kmul(dx,dy)),ToReal(0.00694444444444444444444444444444));
- CCTK_REAL_VEC const p1o144dxdz = kmul(INV(kmul(dx,dz)),ToReal(0.00694444444444444444444444444444));
- CCTK_REAL_VEC const p1o144dydz = kmul(INV(kmul(dy,dz)),ToReal(0.00694444444444444444444444444444));
- CCTK_REAL_VEC const p1o1680dx = kmul(INV(dx),ToReal(0.000595238095238095238095238095238));
- CCTK_REAL_VEC const p1o1680dy = kmul(INV(dy),ToReal(0.000595238095238095238095238095238));
- CCTK_REAL_VEC const p1o1680dz = kmul(INV(dz),ToReal(0.000595238095238095238095238095238));
- CCTK_REAL_VEC const p1o16dx = kmul(INV(dx),ToReal(0.0625));
- CCTK_REAL_VEC const p1o16dy = kmul(INV(dy),ToReal(0.0625));
- CCTK_REAL_VEC const p1o16dz = kmul(INV(dz),ToReal(0.0625));
- CCTK_REAL_VEC const p1o180dx2 = kmul(INV(SQR(dx)),ToReal(0.00555555555555555555555555555556));
- CCTK_REAL_VEC const p1o180dy2 = kmul(INV(SQR(dy)),ToReal(0.00555555555555555555555555555556));
- CCTK_REAL_VEC const p1o180dz2 = kmul(INV(SQR(dz)),ToReal(0.00555555555555555555555555555556));
- CCTK_REAL_VEC const p1o24dx = kmul(INV(dx),ToReal(0.0416666666666666666666666666667));
- CCTK_REAL_VEC const p1o24dy = kmul(INV(dy),ToReal(0.0416666666666666666666666666667));
- CCTK_REAL_VEC const p1o24dz = kmul(INV(dz),ToReal(0.0416666666666666666666666666667));
- CCTK_REAL_VEC const p1o256dx = kmul(INV(dx),ToReal(0.00390625));
- CCTK_REAL_VEC const p1o256dy = kmul(INV(dy),ToReal(0.00390625));
- CCTK_REAL_VEC const p1o256dz = kmul(INV(dz),ToReal(0.00390625));
- CCTK_REAL_VEC const p1o2dx = kmul(INV(dx),ToReal(0.5));
- CCTK_REAL_VEC const p1o2dy = kmul(INV(dy),ToReal(0.5));
- CCTK_REAL_VEC const p1o2dz = kmul(INV(dz),ToReal(0.5));
- CCTK_REAL_VEC const p1o3600dxdy = kmul(INV(kmul(dx,dy)),ToReal(0.000277777777777777777777777777778));
- CCTK_REAL_VEC const p1o3600dxdz = kmul(INV(kmul(dx,dz)),ToReal(0.000277777777777777777777777777778));
- CCTK_REAL_VEC const p1o3600dydz = kmul(INV(kmul(dy,dz)),ToReal(0.000277777777777777777777777777778));
- CCTK_REAL_VEC const p1o4dx = kmul(INV(dx),ToReal(0.25));
- CCTK_REAL_VEC const p1o4dxdy = kmul(INV(kmul(dx,dy)),ToReal(0.25));
- CCTK_REAL_VEC const p1o4dxdz = kmul(INV(kmul(dx,dz)),ToReal(0.25));
- CCTK_REAL_VEC const p1o4dy = kmul(INV(dy),ToReal(0.25));
- CCTK_REAL_VEC const p1o4dydz = kmul(INV(kmul(dy,dz)),ToReal(0.25));
- CCTK_REAL_VEC const p1o4dz = kmul(INV(dz),ToReal(0.25));
- CCTK_REAL_VEC const p1o5040dx2 = kmul(INV(SQR(dx)),ToReal(0.000198412698412698412698412698413));
- CCTK_REAL_VEC const p1o5040dy2 = kmul(INV(SQR(dy)),ToReal(0.000198412698412698412698412698413));
- CCTK_REAL_VEC const p1o5040dz2 = kmul(INV(SQR(dz)),ToReal(0.000198412698412698412698412698413));
- CCTK_REAL_VEC const p1o560dx = kmul(INV(dx),ToReal(0.00178571428571428571428571428571));
- CCTK_REAL_VEC const p1o560dy = kmul(INV(dy),ToReal(0.00178571428571428571428571428571));
- CCTK_REAL_VEC const p1o560dz = kmul(INV(dz),ToReal(0.00178571428571428571428571428571));
- CCTK_REAL_VEC const p1o60dx = kmul(INV(dx),ToReal(0.0166666666666666666666666666667));
- CCTK_REAL_VEC const p1o60dy = kmul(INV(dy),ToReal(0.0166666666666666666666666666667));
- CCTK_REAL_VEC const p1o60dz = kmul(INV(dz),ToReal(0.0166666666666666666666666666667));
- CCTK_REAL_VEC const p1o64dx = kmul(INV(dx),ToReal(0.015625));
- CCTK_REAL_VEC const p1o64dy = kmul(INV(dy),ToReal(0.015625));
- CCTK_REAL_VEC const p1o64dz = kmul(INV(dz),ToReal(0.015625));
- CCTK_REAL_VEC const p1o705600dxdy = kmul(INV(kmul(dx,dy)),ToReal(1.41723356009070294784580498866e-6));
- CCTK_REAL_VEC const p1o705600dxdz = kmul(INV(kmul(dx,dz)),ToReal(1.41723356009070294784580498866e-6));
- CCTK_REAL_VEC const p1o705600dydz = kmul(INV(kmul(dy,dz)),ToReal(1.41723356009070294784580498866e-6));
- CCTK_REAL_VEC const p1o840dx = kmul(INV(dx),ToReal(0.00119047619047619047619047619048));
- CCTK_REAL_VEC const p1o840dy = kmul(INV(dy),ToReal(0.00119047619047619047619047619048));
- CCTK_REAL_VEC const p1o840dz = kmul(INV(dz),ToReal(0.00119047619047619047619047619048));
- CCTK_REAL_VEC const p1odx = INV(dx);
- CCTK_REAL_VEC const p1odx2 = INV(SQR(dx));
- CCTK_REAL_VEC const p1ody = INV(dy);
- CCTK_REAL_VEC const p1ody2 = INV(SQR(dy));
- CCTK_REAL_VEC const p1odz = INV(dz);
- CCTK_REAL_VEC const p1odz2 = INV(SQR(dz));
- CCTK_REAL_VEC const pm1o120dx = kmul(INV(dx),ToReal(-0.00833333333333333333333333333333));
- CCTK_REAL_VEC const pm1o120dy = kmul(INV(dy),ToReal(-0.00833333333333333333333333333333));
- CCTK_REAL_VEC const pm1o120dz = kmul(INV(dz),ToReal(-0.00833333333333333333333333333333));
- CCTK_REAL_VEC const pm1o12dx2 = kmul(INV(SQR(dx)),ToReal(-0.0833333333333333333333333333333));
- CCTK_REAL_VEC const pm1o12dy2 = kmul(INV(SQR(dy)),ToReal(-0.0833333333333333333333333333333));
- CCTK_REAL_VEC const pm1o12dz2 = kmul(INV(SQR(dz)),ToReal(-0.0833333333333333333333333333333));
- CCTK_REAL_VEC const pm1o2dx = kmul(INV(dx),ToReal(-0.5));
- CCTK_REAL_VEC const pm1o2dy = kmul(INV(dy),ToReal(-0.5));
- CCTK_REAL_VEC const pm1o2dz = kmul(INV(dz),ToReal(-0.5));
- CCTK_REAL_VEC const pm1o4dx = kmul(INV(dx),ToReal(-0.25));
- CCTK_REAL_VEC const pm1o4dy = kmul(INV(dy),ToReal(-0.25));
- CCTK_REAL_VEC const pm1o4dz = kmul(INV(dz),ToReal(-0.25));
- CCTK_REAL_VEC const pm1o60dx = kmul(INV(dx),ToReal(-0.0166666666666666666666666666667));
- CCTK_REAL_VEC const pm1o60dy = kmul(INV(dy),ToReal(-0.0166666666666666666666666666667));
- CCTK_REAL_VEC const pm1o60dz = kmul(INV(dz),ToReal(-0.0166666666666666666666666666667));
+ CCTK_REAL_VEC const p1o1024dx = kdiv(ToReal(0.0009765625),dx);
+ CCTK_REAL_VEC const p1o1024dy = kdiv(ToReal(0.0009765625),dy);
+ CCTK_REAL_VEC const p1o1024dz = kdiv(ToReal(0.0009765625),dz);
+ CCTK_REAL_VEC const p1o120dx = kdiv(ToReal(0.00833333333333333333333333333333),dx);
+ CCTK_REAL_VEC const p1o120dy = kdiv(ToReal(0.00833333333333333333333333333333),dy);
+ CCTK_REAL_VEC const p1o120dz = kdiv(ToReal(0.00833333333333333333333333333333),dz);
+ CCTK_REAL_VEC const p1o12dx = kdiv(ToReal(0.0833333333333333333333333333333),dx);
+ CCTK_REAL_VEC const p1o12dy = kdiv(ToReal(0.0833333333333333333333333333333),dy);
+ CCTK_REAL_VEC const p1o12dz = kdiv(ToReal(0.0833333333333333333333333333333),dz);
+ CCTK_REAL_VEC const p1o144dxdy = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dy,dx));
+ CCTK_REAL_VEC const p1o144dxdz = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dx));
+ CCTK_REAL_VEC const p1o144dydz = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dy));
+ CCTK_REAL_VEC const p1o1680dx = kdiv(ToReal(0.000595238095238095238095238095238),dx);
+ CCTK_REAL_VEC const p1o1680dy = kdiv(ToReal(0.000595238095238095238095238095238),dy);
+ CCTK_REAL_VEC const p1o1680dz = kdiv(ToReal(0.000595238095238095238095238095238),dz);
+ CCTK_REAL_VEC const p1o16dx = kdiv(ToReal(0.0625),dx);
+ CCTK_REAL_VEC const p1o16dy = kdiv(ToReal(0.0625),dy);
+ CCTK_REAL_VEC const p1o16dz = kdiv(ToReal(0.0625),dz);
+ CCTK_REAL_VEC const p1o180dx2 = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dx,dx));
+ CCTK_REAL_VEC const p1o180dy2 = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dy,dy));
+ CCTK_REAL_VEC const p1o180dz2 = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dz,dz));
+ CCTK_REAL_VEC const p1o24dx = kdiv(ToReal(0.0416666666666666666666666666667),dx);
+ CCTK_REAL_VEC const p1o24dy = kdiv(ToReal(0.0416666666666666666666666666667),dy);
+ CCTK_REAL_VEC const p1o24dz = kdiv(ToReal(0.0416666666666666666666666666667),dz);
+ CCTK_REAL_VEC const p1o256dx = kdiv(ToReal(0.00390625),dx);
+ CCTK_REAL_VEC const p1o256dy = kdiv(ToReal(0.00390625),dy);
+ CCTK_REAL_VEC const p1o256dz = kdiv(ToReal(0.00390625),dz);
+ CCTK_REAL_VEC const p1o2dx = kdiv(ToReal(0.5),dx);
+ CCTK_REAL_VEC const p1o2dy = kdiv(ToReal(0.5),dy);
+ CCTK_REAL_VEC const p1o2dz = kdiv(ToReal(0.5),dz);
+ CCTK_REAL_VEC const p1o3600dxdy = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dy,dx));
+ CCTK_REAL_VEC const p1o3600dxdz = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dx));
+ CCTK_REAL_VEC const p1o3600dydz = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dy));
+ CCTK_REAL_VEC const p1o4dx = kdiv(ToReal(0.25),dx);
+ CCTK_REAL_VEC const p1o4dxdy = kdiv(ToReal(0.25),kmul(dy,dx));
+ CCTK_REAL_VEC const p1o4dxdz = kdiv(ToReal(0.25),kmul(dz,dx));
+ CCTK_REAL_VEC const p1o4dy = kdiv(ToReal(0.25),dy);
+ CCTK_REAL_VEC const p1o4dydz = kdiv(ToReal(0.25),kmul(dz,dy));
+ CCTK_REAL_VEC const p1o4dz = kdiv(ToReal(0.25),dz);
+ CCTK_REAL_VEC const p1o5040dx2 = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dx,dx));
+ CCTK_REAL_VEC const p1o5040dy2 = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dy,dy));
+ CCTK_REAL_VEC const p1o5040dz2 = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dz,dz));
+ CCTK_REAL_VEC const p1o560dx = kdiv(ToReal(0.00178571428571428571428571428571),dx);
+ CCTK_REAL_VEC const p1o560dy = kdiv(ToReal(0.00178571428571428571428571428571),dy);
+ CCTK_REAL_VEC const p1o560dz = kdiv(ToReal(0.00178571428571428571428571428571),dz);
+ CCTK_REAL_VEC const p1o60dx = kdiv(ToReal(0.0166666666666666666666666666667),dx);
+ CCTK_REAL_VEC const p1o60dy = kdiv(ToReal(0.0166666666666666666666666666667),dy);
+ CCTK_REAL_VEC const p1o60dz = kdiv(ToReal(0.0166666666666666666666666666667),dz);
+ CCTK_REAL_VEC const p1o64dx = kdiv(ToReal(0.015625),dx);
+ CCTK_REAL_VEC const p1o64dy = kdiv(ToReal(0.015625),dy);
+ CCTK_REAL_VEC const p1o64dz = kdiv(ToReal(0.015625),dz);
+ CCTK_REAL_VEC const p1o705600dxdy = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dy,dx));
+ CCTK_REAL_VEC const p1o705600dxdz = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dx));
+ CCTK_REAL_VEC const p1o705600dydz = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dy));
+ CCTK_REAL_VEC const p1o840dx = kdiv(ToReal(0.00119047619047619047619047619048),dx);
+ CCTK_REAL_VEC const p1o840dy = kdiv(ToReal(0.00119047619047619047619047619048),dy);
+ CCTK_REAL_VEC const p1o840dz = kdiv(ToReal(0.00119047619047619047619047619048),dz);
+ CCTK_REAL_VEC const p1odx = kdiv(ToReal(1),dx);
+ CCTK_REAL_VEC const p1odx2 = kdiv(ToReal(1),kmul(dx,dx));
+ CCTK_REAL_VEC const p1ody = kdiv(ToReal(1),dy);
+ CCTK_REAL_VEC const p1ody2 = kdiv(ToReal(1),kmul(dy,dy));
+ CCTK_REAL_VEC const p1odz = kdiv(ToReal(1),dz);
+ CCTK_REAL_VEC const p1odz2 = kdiv(ToReal(1),kmul(dz,dz));
+ CCTK_REAL_VEC const pm1o120dx = kdiv(ToReal(-0.00833333333333333333333333333333),dx);
+ CCTK_REAL_VEC const pm1o120dy = kdiv(ToReal(-0.00833333333333333333333333333333),dy);
+ CCTK_REAL_VEC const pm1o120dz = kdiv(ToReal(-0.00833333333333333333333333333333),dz);
+ CCTK_REAL_VEC const pm1o12dx2 = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dx,dx));
+ CCTK_REAL_VEC const pm1o12dy2 = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dy,dy));
+ CCTK_REAL_VEC const pm1o12dz2 = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dz,dz));
+ CCTK_REAL_VEC const pm1o2dx = kdiv(ToReal(-0.5),dx);
+ CCTK_REAL_VEC const pm1o2dy = kdiv(ToReal(-0.5),dy);
+ CCTK_REAL_VEC const pm1o2dz = kdiv(ToReal(-0.5),dz);
+ CCTK_REAL_VEC const pm1o4dx = kdiv(ToReal(-0.25),dx);
+ CCTK_REAL_VEC const pm1o4dy = kdiv(ToReal(-0.25),dy);
+ CCTK_REAL_VEC const pm1o4dz = kdiv(ToReal(-0.25),dz);
+ CCTK_REAL_VEC const pm1o60dx = kdiv(ToReal(-0.0166666666666666666666666666667),dx);
+ CCTK_REAL_VEC const pm1o60dy = kdiv(ToReal(-0.0166666666666666666666666666667),dy);
+ CCTK_REAL_VEC const pm1o60dz = kdiv(ToReal(-0.0166666666666666666666666666667),dz);
/* Jacobian variable pointers */
bool const use_jacobian = (!CCTK_IsFunctionAliased("MultiPatch_GetMap") || MultiPatch_GetMap(cctkGH) != jacobian_identity_map)
@@ -204,7 +208,7 @@ static void ML_CCZ4_RHS2_Body(cGH const * restrict const cctkGH, int const dir,
#pragma omp parallel
LC_LOOP3VEC(ML_CCZ4_RHS2,
i,j,k, imin[0],imin[1],imin[2], imax[0],imax[1],imax[2],
- cctk_lsh[0],cctk_lsh[1],cctk_lsh[2],
+ cctk_ash[0],cctk_ash[1],cctk_ash[2],
CCTK_REAL_VEC_SIZE)
{
ptrdiff_t const index = di*i + dj*j + dk*k;
@@ -1002,76 +1006,76 @@ static void ML_CCZ4_RHS2_Body(cGH const * restrict const cctkGH, int const dir,
kmadd(J13L,PDstandardNth1Xt3,kmadd(J23L,PDstandardNth2Xt3,kmul(J33L,PDstandardNth3Xt3)));
JacPDstandardNth11alpha =
- kmadd(dJ111L,PDstandardNth1alpha,kmadd(dJ211L,PDstandardNth2alpha,kmadd(dJ311L,PDstandardNth3alpha,kmadd(PDstandardNth11alpha,SQR(J11L),kmadd(PDstandardNth22alpha,SQR(J21L),kmadd(PDstandardNth33alpha,SQR(J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12alpha,kmul(J31L,PDstandardNth13alpha)),kmul(J21L,kmul(J31L,PDstandardNth23alpha))),ToReal(2))))))));
+ kmadd(dJ111L,PDstandardNth1alpha,kmadd(dJ211L,PDstandardNth2alpha,kmadd(dJ311L,PDstandardNth3alpha,kmadd(PDstandardNth11alpha,kmul(J11L,J11L),kmadd(PDstandardNth22alpha,kmul(J21L,J21L),kmadd(PDstandardNth33alpha,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12alpha,kmul(J31L,PDstandardNth13alpha)),kmul(J21L,kmul(J31L,PDstandardNth23alpha))),ToReal(2))))))));
JacPDstandardNth11gt11 =
- kmadd(dJ111L,PDstandardNth1gt11,kmadd(dJ211L,PDstandardNth2gt11,kmadd(dJ311L,PDstandardNth3gt11,kmadd(PDstandardNth11gt11,SQR(J11L),kmadd(PDstandardNth22gt11,SQR(J21L),kmadd(PDstandardNth33gt11,SQR(J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12gt11,kmul(J31L,PDstandardNth13gt11)),kmul(J21L,kmul(J31L,PDstandardNth23gt11))),ToReal(2))))))));
+ kmadd(dJ111L,PDstandardNth1gt11,kmadd(dJ211L,PDstandardNth2gt11,kmadd(dJ311L,PDstandardNth3gt11,kmadd(PDstandardNth11gt11,kmul(J11L,J11L),kmadd(PDstandardNth22gt11,kmul(J21L,J21L),kmadd(PDstandardNth33gt11,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12gt11,kmul(J31L,PDstandardNth13gt11)),kmul(J21L,kmul(J31L,PDstandardNth23gt11))),ToReal(2))))))));
JacPDstandardNth11gt12 =
- kmadd(dJ111L,PDstandardNth1gt12,kmadd(dJ211L,PDstandardNth2gt12,kmadd(dJ311L,PDstandardNth3gt12,kmadd(PDstandardNth11gt12,SQR(J11L),kmadd(PDstandardNth22gt12,SQR(J21L),kmadd(PDstandardNth33gt12,SQR(J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12gt12,kmul(J31L,PDstandardNth13gt12)),kmul(J21L,kmul(J31L,PDstandardNth23gt12))),ToReal(2))))))));
+ kmadd(dJ111L,PDstandardNth1gt12,kmadd(dJ211L,PDstandardNth2gt12,kmadd(dJ311L,PDstandardNth3gt12,kmadd(PDstandardNth11gt12,kmul(J11L,J11L),kmadd(PDstandardNth22gt12,kmul(J21L,J21L),kmadd(PDstandardNth33gt12,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12gt12,kmul(J31L,PDstandardNth13gt12)),kmul(J21L,kmul(J31L,PDstandardNth23gt12))),ToReal(2))))))));
JacPDstandardNth11gt13 =
- kmadd(dJ111L,PDstandardNth1gt13,kmadd(dJ211L,PDstandardNth2gt13,kmadd(dJ311L,PDstandardNth3gt13,kmadd(PDstandardNth11gt13,SQR(J11L),kmadd(PDstandardNth22gt13,SQR(J21L),kmadd(PDstandardNth33gt13,SQR(J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12gt13,kmul(J31L,PDstandardNth13gt13)),kmul(J21L,kmul(J31L,PDstandardNth23gt13))),ToReal(2))))))));
+ kmadd(dJ111L,PDstandardNth1gt13,kmadd(dJ211L,PDstandardNth2gt13,kmadd(dJ311L,PDstandardNth3gt13,kmadd(PDstandardNth11gt13,kmul(J11L,J11L),kmadd(PDstandardNth22gt13,kmul(J21L,J21L),kmadd(PDstandardNth33gt13,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12gt13,kmul(J31L,PDstandardNth13gt13)),kmul(J21L,kmul(J31L,PDstandardNth23gt13))),ToReal(2))))))));
JacPDstandardNth11gt22 =
- kmadd(dJ111L,PDstandardNth1gt22,kmadd(dJ211L,PDstandardNth2gt22,kmadd(dJ311L,PDstandardNth3gt22,kmadd(PDstandardNth11gt22,SQR(J11L),kmadd(PDstandardNth22gt22,SQR(J21L),kmadd(PDstandardNth33gt22,SQR(J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12gt22,kmul(J31L,PDstandardNth13gt22)),kmul(J21L,kmul(J31L,PDstandardNth23gt22))),ToReal(2))))))));
+ kmadd(dJ111L,PDstandardNth1gt22,kmadd(dJ211L,PDstandardNth2gt22,kmadd(dJ311L,PDstandardNth3gt22,kmadd(PDstandardNth11gt22,kmul(J11L,J11L),kmadd(PDstandardNth22gt22,kmul(J21L,J21L),kmadd(PDstandardNth33gt22,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12gt22,kmul(J31L,PDstandardNth13gt22)),kmul(J21L,kmul(J31L,PDstandardNth23gt22))),ToReal(2))))))));
JacPDstandardNth11gt23 =
- kmadd(dJ111L,PDstandardNth1gt23,kmadd(dJ211L,PDstandardNth2gt23,kmadd(dJ311L,PDstandardNth3gt23,kmadd(PDstandardNth11gt23,SQR(J11L),kmadd(PDstandardNth22gt23,SQR(J21L),kmadd(PDstandardNth33gt23,SQR(J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12gt23,kmul(J31L,PDstandardNth13gt23)),kmul(J21L,kmul(J31L,PDstandardNth23gt23))),ToReal(2))))))));
+ kmadd(dJ111L,PDstandardNth1gt23,kmadd(dJ211L,PDstandardNth2gt23,kmadd(dJ311L,PDstandardNth3gt23,kmadd(PDstandardNth11gt23,kmul(J11L,J11L),kmadd(PDstandardNth22gt23,kmul(J21L,J21L),kmadd(PDstandardNth33gt23,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12gt23,kmul(J31L,PDstandardNth13gt23)),kmul(J21L,kmul(J31L,PDstandardNth23gt23))),ToReal(2))))))));
JacPDstandardNth11gt33 =
- kmadd(dJ111L,PDstandardNth1gt33,kmadd(dJ211L,PDstandardNth2gt33,kmadd(dJ311L,PDstandardNth3gt33,kmadd(PDstandardNth11gt33,SQR(J11L),kmadd(PDstandardNth22gt33,SQR(J21L),kmadd(PDstandardNth33gt33,SQR(J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12gt33,kmul(J31L,PDstandardNth13gt33)),kmul(J21L,kmul(J31L,PDstandardNth23gt33))),ToReal(2))))))));
+ kmadd(dJ111L,PDstandardNth1gt33,kmadd(dJ211L,PDstandardNth2gt33,kmadd(dJ311L,PDstandardNth3gt33,kmadd(PDstandardNth11gt33,kmul(J11L,J11L),kmadd(PDstandardNth22gt33,kmul(J21L,J21L),kmadd(PDstandardNth33gt33,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12gt33,kmul(J31L,PDstandardNth13gt33)),kmul(J21L,kmul(J31L,PDstandardNth23gt33))),ToReal(2))))))));
JacPDstandardNth11phi =
- kmadd(dJ111L,PDstandardNth1phi,kmadd(dJ211L,PDstandardNth2phi,kmadd(dJ311L,PDstandardNth3phi,kmadd(PDstandardNth11phi,SQR(J11L),kmadd(PDstandardNth22phi,SQR(J21L),kmadd(PDstandardNth33phi,SQR(J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12phi,kmul(J31L,PDstandardNth13phi)),kmul(J21L,kmul(J31L,PDstandardNth23phi))),ToReal(2))))))));
+ kmadd(dJ111L,PDstandardNth1phi,kmadd(dJ211L,PDstandardNth2phi,kmadd(dJ311L,PDstandardNth3phi,kmadd(PDstandardNth11phi,kmul(J11L,J11L),kmadd(PDstandardNth22phi,kmul(J21L,J21L),kmadd(PDstandardNth33phi,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12phi,kmul(J31L,PDstandardNth13phi)),kmul(J21L,kmul(J31L,PDstandardNth23phi))),ToReal(2))))))));
JacPDstandardNth22alpha =
- kmadd(dJ122L,PDstandardNth1alpha,kmadd(dJ222L,PDstandardNth2alpha,kmadd(dJ322L,PDstandardNth3alpha,kmadd(PDstandardNth11alpha,SQR(J12L),kmadd(PDstandardNth22alpha,SQR(J22L),kmadd(PDstandardNth33alpha,SQR(J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12alpha,kmul(J32L,PDstandardNth13alpha)),kmul(J22L,kmul(J32L,PDstandardNth23alpha))),ToReal(2))))))));
+ kmadd(dJ122L,PDstandardNth1alpha,kmadd(dJ222L,PDstandardNth2alpha,kmadd(dJ322L,PDstandardNth3alpha,kmadd(PDstandardNth11alpha,kmul(J12L,J12L),kmadd(PDstandardNth22alpha,kmul(J22L,J22L),kmadd(PDstandardNth33alpha,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12alpha,kmul(J32L,PDstandardNth13alpha)),kmul(J22L,kmul(J32L,PDstandardNth23alpha))),ToReal(2))))))));
JacPDstandardNth22gt11 =
- kmadd(dJ122L,PDstandardNth1gt11,kmadd(dJ222L,PDstandardNth2gt11,kmadd(dJ322L,PDstandardNth3gt11,kmadd(PDstandardNth11gt11,SQR(J12L),kmadd(PDstandardNth22gt11,SQR(J22L),kmadd(PDstandardNth33gt11,SQR(J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12gt11,kmul(J32L,PDstandardNth13gt11)),kmul(J22L,kmul(J32L,PDstandardNth23gt11))),ToReal(2))))))));
+ kmadd(dJ122L,PDstandardNth1gt11,kmadd(dJ222L,PDstandardNth2gt11,kmadd(dJ322L,PDstandardNth3gt11,kmadd(PDstandardNth11gt11,kmul(J12L,J12L),kmadd(PDstandardNth22gt11,kmul(J22L,J22L),kmadd(PDstandardNth33gt11,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12gt11,kmul(J32L,PDstandardNth13gt11)),kmul(J22L,kmul(J32L,PDstandardNth23gt11))),ToReal(2))))))));
JacPDstandardNth22gt12 =
- kmadd(dJ122L,PDstandardNth1gt12,kmadd(dJ222L,PDstandardNth2gt12,kmadd(dJ322L,PDstandardNth3gt12,kmadd(PDstandardNth11gt12,SQR(J12L),kmadd(PDstandardNth22gt12,SQR(J22L),kmadd(PDstandardNth33gt12,SQR(J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12gt12,kmul(J32L,PDstandardNth13gt12)),kmul(J22L,kmul(J32L,PDstandardNth23gt12))),ToReal(2))))))));
+ kmadd(dJ122L,PDstandardNth1gt12,kmadd(dJ222L,PDstandardNth2gt12,kmadd(dJ322L,PDstandardNth3gt12,kmadd(PDstandardNth11gt12,kmul(J12L,J12L),kmadd(PDstandardNth22gt12,kmul(J22L,J22L),kmadd(PDstandardNth33gt12,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12gt12,kmul(J32L,PDstandardNth13gt12)),kmul(J22L,kmul(J32L,PDstandardNth23gt12))),ToReal(2))))))));
JacPDstandardNth22gt13 =
- kmadd(dJ122L,PDstandardNth1gt13,kmadd(dJ222L,PDstandardNth2gt13,kmadd(dJ322L,PDstandardNth3gt13,kmadd(PDstandardNth11gt13,SQR(J12L),kmadd(PDstandardNth22gt13,SQR(J22L),kmadd(PDstandardNth33gt13,SQR(J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12gt13,kmul(J32L,PDstandardNth13gt13)),kmul(J22L,kmul(J32L,PDstandardNth23gt13))),ToReal(2))))))));
+ kmadd(dJ122L,PDstandardNth1gt13,kmadd(dJ222L,PDstandardNth2gt13,kmadd(dJ322L,PDstandardNth3gt13,kmadd(PDstandardNth11gt13,kmul(J12L,J12L),kmadd(PDstandardNth22gt13,kmul(J22L,J22L),kmadd(PDstandardNth33gt13,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12gt13,kmul(J32L,PDstandardNth13gt13)),kmul(J22L,kmul(J32L,PDstandardNth23gt13))),ToReal(2))))))));
JacPDstandardNth22gt22 =
- kmadd(dJ122L,PDstandardNth1gt22,kmadd(dJ222L,PDstandardNth2gt22,kmadd(dJ322L,PDstandardNth3gt22,kmadd(PDstandardNth11gt22,SQR(J12L),kmadd(PDstandardNth22gt22,SQR(J22L),kmadd(PDstandardNth33gt22,SQR(J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12gt22,kmul(J32L,PDstandardNth13gt22)),kmul(J22L,kmul(J32L,PDstandardNth23gt22))),ToReal(2))))))));
+ kmadd(dJ122L,PDstandardNth1gt22,kmadd(dJ222L,PDstandardNth2gt22,kmadd(dJ322L,PDstandardNth3gt22,kmadd(PDstandardNth11gt22,kmul(J12L,J12L),kmadd(PDstandardNth22gt22,kmul(J22L,J22L),kmadd(PDstandardNth33gt22,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12gt22,kmul(J32L,PDstandardNth13gt22)),kmul(J22L,kmul(J32L,PDstandardNth23gt22))),ToReal(2))))))));
JacPDstandardNth22gt23 =
- kmadd(dJ122L,PDstandardNth1gt23,kmadd(dJ222L,PDstandardNth2gt23,kmadd(dJ322L,PDstandardNth3gt23,kmadd(PDstandardNth11gt23,SQR(J12L),kmadd(PDstandardNth22gt23,SQR(J22L),kmadd(PDstandardNth33gt23,SQR(J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12gt23,kmul(J32L,PDstandardNth13gt23)),kmul(J22L,kmul(J32L,PDstandardNth23gt23))),ToReal(2))))))));
+ kmadd(dJ122L,PDstandardNth1gt23,kmadd(dJ222L,PDstandardNth2gt23,kmadd(dJ322L,PDstandardNth3gt23,kmadd(PDstandardNth11gt23,kmul(J12L,J12L),kmadd(PDstandardNth22gt23,kmul(J22L,J22L),kmadd(PDstandardNth33gt23,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12gt23,kmul(J32L,PDstandardNth13gt23)),kmul(J22L,kmul(J32L,PDstandardNth23gt23))),ToReal(2))))))));
JacPDstandardNth22gt33 =
- kmadd(dJ122L,PDstandardNth1gt33,kmadd(dJ222L,PDstandardNth2gt33,kmadd(dJ322L,PDstandardNth3gt33,kmadd(PDstandardNth11gt33,SQR(J12L),kmadd(PDstandardNth22gt33,SQR(J22L),kmadd(PDstandardNth33gt33,SQR(J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12gt33,kmul(J32L,PDstandardNth13gt33)),kmul(J22L,kmul(J32L,PDstandardNth23gt33))),ToReal(2))))))));
+ kmadd(dJ122L,PDstandardNth1gt33,kmadd(dJ222L,PDstandardNth2gt33,kmadd(dJ322L,PDstandardNth3gt33,kmadd(PDstandardNth11gt33,kmul(J12L,J12L),kmadd(PDstandardNth22gt33,kmul(J22L,J22L),kmadd(PDstandardNth33gt33,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12gt33,kmul(J32L,PDstandardNth13gt33)),kmul(J22L,kmul(J32L,PDstandardNth23gt33))),ToReal(2))))))));
JacPDstandardNth22phi =
- kmadd(dJ122L,PDstandardNth1phi,kmadd(dJ222L,PDstandardNth2phi,kmadd(dJ322L,PDstandardNth3phi,kmadd(PDstandardNth11phi,SQR(J12L),kmadd(PDstandardNth22phi,SQR(J22L),kmadd(PDstandardNth33phi,SQR(J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12phi,kmul(J32L,PDstandardNth13phi)),kmul(J22L,kmul(J32L,PDstandardNth23phi))),ToReal(2))))))));
+ kmadd(dJ122L,PDstandardNth1phi,kmadd(dJ222L,PDstandardNth2phi,kmadd(dJ322L,PDstandardNth3phi,kmadd(PDstandardNth11phi,kmul(J12L,J12L),kmadd(PDstandardNth22phi,kmul(J22L,J22L),kmadd(PDstandardNth33phi,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12phi,kmul(J32L,PDstandardNth13phi)),kmul(J22L,kmul(J32L,PDstandardNth23phi))),ToReal(2))))))));
JacPDstandardNth33alpha =
- kmadd(dJ133L,PDstandardNth1alpha,kmadd(dJ233L,PDstandardNth2alpha,kmadd(dJ333L,PDstandardNth3alpha,kmadd(PDstandardNth11alpha,SQR(J13L),kmadd(PDstandardNth22alpha,SQR(J23L),kmadd(PDstandardNth33alpha,SQR(J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12alpha,kmul(J33L,PDstandardNth13alpha)),kmul(J23L,kmul(J33L,PDstandardNth23alpha))),ToReal(2))))))));
+ kmadd(dJ133L,PDstandardNth1alpha,kmadd(dJ233L,PDstandardNth2alpha,kmadd(dJ333L,PDstandardNth3alpha,kmadd(PDstandardNth11alpha,kmul(J13L,J13L),kmadd(PDstandardNth22alpha,kmul(J23L,J23L),kmadd(PDstandardNth33alpha,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12alpha,kmul(J33L,PDstandardNth13alpha)),kmul(J23L,kmul(J33L,PDstandardNth23alpha))),ToReal(2))))))));
JacPDstandardNth33gt11 =
- kmadd(dJ133L,PDstandardNth1gt11,kmadd(dJ233L,PDstandardNth2gt11,kmadd(dJ333L,PDstandardNth3gt11,kmadd(PDstandardNth11gt11,SQR(J13L),kmadd(PDstandardNth22gt11,SQR(J23L),kmadd(PDstandardNth33gt11,SQR(J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12gt11,kmul(J33L,PDstandardNth13gt11)),kmul(J23L,kmul(J33L,PDstandardNth23gt11))),ToReal(2))))))));
+ kmadd(dJ133L,PDstandardNth1gt11,kmadd(dJ233L,PDstandardNth2gt11,kmadd(dJ333L,PDstandardNth3gt11,kmadd(PDstandardNth11gt11,kmul(J13L,J13L),kmadd(PDstandardNth22gt11,kmul(J23L,J23L),kmadd(PDstandardNth33gt11,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12gt11,kmul(J33L,PDstandardNth13gt11)),kmul(J23L,kmul(J33L,PDstandardNth23gt11))),ToReal(2))))))));
JacPDstandardNth33gt12 =
- kmadd(dJ133L,PDstandardNth1gt12,kmadd(dJ233L,PDstandardNth2gt12,kmadd(dJ333L,PDstandardNth3gt12,kmadd(PDstandardNth11gt12,SQR(J13L),kmadd(PDstandardNth22gt12,SQR(J23L),kmadd(PDstandardNth33gt12,SQR(J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12gt12,kmul(J33L,PDstandardNth13gt12)),kmul(J23L,kmul(J33L,PDstandardNth23gt12))),ToReal(2))))))));
+ kmadd(dJ133L,PDstandardNth1gt12,kmadd(dJ233L,PDstandardNth2gt12,kmadd(dJ333L,PDstandardNth3gt12,kmadd(PDstandardNth11gt12,kmul(J13L,J13L),kmadd(PDstandardNth22gt12,kmul(J23L,J23L),kmadd(PDstandardNth33gt12,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12gt12,kmul(J33L,PDstandardNth13gt12)),kmul(J23L,kmul(J33L,PDstandardNth23gt12))),ToReal(2))))))));
JacPDstandardNth33gt13 =
- kmadd(dJ133L,PDstandardNth1gt13,kmadd(dJ233L,PDstandardNth2gt13,kmadd(dJ333L,PDstandardNth3gt13,kmadd(PDstandardNth11gt13,SQR(J13L),kmadd(PDstandardNth22gt13,SQR(J23L),kmadd(PDstandardNth33gt13,SQR(J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12gt13,kmul(J33L,PDstandardNth13gt13)),kmul(J23L,kmul(J33L,PDstandardNth23gt13))),ToReal(2))))))));
+ kmadd(dJ133L,PDstandardNth1gt13,kmadd(dJ233L,PDstandardNth2gt13,kmadd(dJ333L,PDstandardNth3gt13,kmadd(PDstandardNth11gt13,kmul(J13L,J13L),kmadd(PDstandardNth22gt13,kmul(J23L,J23L),kmadd(PDstandardNth33gt13,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12gt13,kmul(J33L,PDstandardNth13gt13)),kmul(J23L,kmul(J33L,PDstandardNth23gt13))),ToReal(2))))))));
JacPDstandardNth33gt22 =
- kmadd(dJ133L,PDstandardNth1gt22,kmadd(dJ233L,PDstandardNth2gt22,kmadd(dJ333L,PDstandardNth3gt22,kmadd(PDstandardNth11gt22,SQR(J13L),kmadd(PDstandardNth22gt22,SQR(J23L),kmadd(PDstandardNth33gt22,SQR(J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12gt22,kmul(J33L,PDstandardNth13gt22)),kmul(J23L,kmul(J33L,PDstandardNth23gt22))),ToReal(2))))))));
+ kmadd(dJ133L,PDstandardNth1gt22,kmadd(dJ233L,PDstandardNth2gt22,kmadd(dJ333L,PDstandardNth3gt22,kmadd(PDstandardNth11gt22,kmul(J13L,J13L),kmadd(PDstandardNth22gt22,kmul(J23L,J23L),kmadd(PDstandardNth33gt22,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12gt22,kmul(J33L,PDstandardNth13gt22)),kmul(J23L,kmul(J33L,PDstandardNth23gt22))),ToReal(2))))))));
JacPDstandardNth33gt23 =
- kmadd(dJ133L,PDstandardNth1gt23,kmadd(dJ233L,PDstandardNth2gt23,kmadd(dJ333L,PDstandardNth3gt23,kmadd(PDstandardNth11gt23,SQR(J13L),kmadd(PDstandardNth22gt23,SQR(J23L),kmadd(PDstandardNth33gt23,SQR(J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12gt23,kmul(J33L,PDstandardNth13gt23)),kmul(J23L,kmul(J33L,PDstandardNth23gt23))),ToReal(2))))))));
+ kmadd(dJ133L,PDstandardNth1gt23,kmadd(dJ233L,PDstandardNth2gt23,kmadd(dJ333L,PDstandardNth3gt23,kmadd(PDstandardNth11gt23,kmul(J13L,J13L),kmadd(PDstandardNth22gt23,kmul(J23L,J23L),kmadd(PDstandardNth33gt23,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12gt23,kmul(J33L,PDstandardNth13gt23)),kmul(J23L,kmul(J33L,PDstandardNth23gt23))),ToReal(2))))))));
JacPDstandardNth33gt33 =
- kmadd(dJ133L,PDstandardNth1gt33,kmadd(dJ233L,PDstandardNth2gt33,kmadd(dJ333L,PDstandardNth3gt33,kmadd(PDstandardNth11gt33,SQR(J13L),kmadd(PDstandardNth22gt33,SQR(J23L),kmadd(PDstandardNth33gt33,SQR(J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12gt33,kmul(J33L,PDstandardNth13gt33)),kmul(J23L,kmul(J33L,PDstandardNth23gt33))),ToReal(2))))))));
+ kmadd(dJ133L,PDstandardNth1gt33,kmadd(dJ233L,PDstandardNth2gt33,kmadd(dJ333L,PDstandardNth3gt33,kmadd(PDstandardNth11gt33,kmul(J13L,J13L),kmadd(PDstandardNth22gt33,kmul(J23L,J23L),kmadd(PDstandardNth33gt33,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12gt33,kmul(J33L,PDstandardNth13gt33)),kmul(J23L,kmul(J33L,PDstandardNth23gt33))),ToReal(2))))))));
JacPDstandardNth33phi =
- kmadd(dJ133L,PDstandardNth1phi,kmadd(dJ233L,PDstandardNth2phi,kmadd(dJ333L,PDstandardNth3phi,kmadd(PDstandardNth11phi,SQR(J13L),kmadd(PDstandardNth22phi,SQR(J23L),kmadd(PDstandardNth33phi,SQR(J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12phi,kmul(J33L,PDstandardNth13phi)),kmul(J23L,kmul(J33L,PDstandardNth23phi))),ToReal(2))))))));
+ kmadd(dJ133L,PDstandardNth1phi,kmadd(dJ233L,PDstandardNth2phi,kmadd(dJ333L,PDstandardNth3phi,kmadd(PDstandardNth11phi,kmul(J13L,J13L),kmadd(PDstandardNth22phi,kmul(J23L,J23L),kmadd(PDstandardNth33phi,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12phi,kmul(J33L,PDstandardNth13phi)),kmul(J23L,kmul(J33L,PDstandardNth23phi))),ToReal(2))))))));
JacPDstandardNth12alpha =
kmadd(J12L,kmadd(J11L,PDstandardNth11alpha,kmadd(J21L,PDstandardNth12alpha,kmul(J31L,PDstandardNth13alpha))),kmadd(J11L,kmadd(J22L,PDstandardNth12alpha,kmul(J32L,PDstandardNth13alpha)),kmadd(dJ112L,PDstandardNth1alpha,kmadd(J22L,kmadd(J21L,PDstandardNth22alpha,kmul(J31L,PDstandardNth23alpha)),kmadd(dJ212L,PDstandardNth2alpha,kmadd(J32L,kmadd(J21L,PDstandardNth23alpha,kmul(J31L,PDstandardNth33alpha)),kmul(dJ312L,PDstandardNth3alpha)))))));
@@ -1421,22 +1425,22 @@ static void ML_CCZ4_RHS2_Body(cGH const * restrict const cctkGH, int const dir,
CCTK_REAL_VEC detgt = ToReal(1);
CCTK_REAL_VEC gtu11 =
- kmul(INV(detgt),kmsub(gt22L,gt33L,SQR(gt23L)));
+ kdiv(kmsub(gt22L,gt33L,kmul(gt23L,gt23L)),detgt);
CCTK_REAL_VEC gtu12 =
- kmul(INV(detgt),kmsub(gt13L,gt23L,kmul(gt12L,gt33L)));
+ kdiv(kmsub(gt13L,gt23L,kmul(gt12L,gt33L)),detgt);
CCTK_REAL_VEC gtu13 =
- kmul(INV(detgt),kmsub(gt12L,gt23L,kmul(gt13L,gt22L)));
+ kdiv(kmsub(gt12L,gt23L,kmul(gt13L,gt22L)),detgt);
CCTK_REAL_VEC gtu22 =
- kmul(INV(detgt),kmsub(gt11L,gt33L,SQR(gt13L)));
+ kdiv(kmsub(gt11L,gt33L,kmul(gt13L,gt13L)),detgt);
CCTK_REAL_VEC gtu23 =
- kmul(INV(detgt),kmsub(gt12L,gt13L,kmul(gt11L,gt23L)));
+ kdiv(kmsub(gt12L,gt13L,kmul(gt11L,gt23L)),detgt);
CCTK_REAL_VEC gtu33 =
- kmul(INV(detgt),kmsub(gt11L,gt22L,SQR(gt12L)));
+ kdiv(kmsub(gt11L,gt22L,kmul(gt12L,gt12L)),detgt);
CCTK_REAL_VEC Gtl111 = kmul(JacPDstandardNth1gt11,ToReal(0.5));
@@ -1628,9 +1632,9 @@ static void ML_CCZ4_RHS2_Body(cGH const * restrict const cctkGH, int const dir,
kmadd(Gt311,gtu11,kmadd(Gt322,gtu22,kmadd(Gt333,gtu33,kmul(kmadd(Gt312,gtu12,kmadd(Gt313,gtu13,kmul(Gt323,gtu23))),ToReal(2)))));
CCTK_REAL_VEC e4phi = IfThen(conformalMethod ==
- 1,INV(SQR(phiL)),kexp(kmul(phiL,ToReal(4))));
+ 1,kdiv(ToReal(1),kmul(phiL,phiL)),kexp(kmul(phiL,ToReal(4))));
- CCTK_REAL_VEC em4phi = INV(e4phi);
+ CCTK_REAL_VEC em4phi = kdiv(ToReal(1),e4phi);
CCTK_REAL_VEC g11 = kmul(gt11L,e4phi);
@@ -1684,7 +1688,7 @@ static void ML_CCZ4_RHS2_Body(cGH const * restrict const cctkGH, int const dir,
kmul(ToReal(0.5),knmsub(gtu11,JacPDstandardNth11gt33,knmsub(gtu22,JacPDstandardNth22gt33,knmsub(gtu33,JacPDstandardNth33gt33,knmsub(gtu12,kadd(JacPDstandardNth21gt33,JacPDstandardNth12gt33),knmsub(gtu13,kadd(JacPDstandardNth31gt33,JacPDstandardNth13gt33),knmsub(gtu23,kadd(JacPDstandardNth32gt33,JacPDstandardNth23gt33),kmadd(gt23L,kmul(JacPDstandardNth3Xt2,ToReal(2)),kmadd(gt33L,kmul(JacPDstandardNth3Xt3,ToReal(2)),kmadd(Gtl313,kmul(Xtn1,ToReal(2)),kmadd(Gtl323,kmul(Xtn2,ToReal(2)),kmadd(Gtl333,kmul(Xtn3,ToReal(2)),kmadd(ToReal(2),kmadd(Gt133,Gtlu133,kmadd(Gt213,Gtlu231,kmadd(Gt223,Gtlu232,kmadd(Gt233,Gtlu233,kmadd(gt13L,JacPDstandardNth3Xt1,kmadd(Gt113,kmadd(Gtlu311,ToReal(2),Gtlu131),kmul(Gt123,kmadd(Gtlu312,ToReal(2),Gtlu132)))))))),kmadd(kmadd(Gt133,Gtlu313,kmadd(Gt213,Gtlu321,kmadd(Gt223,Gtlu322,kmul(Gt233,Gtlu323)))),ToReal(4),kmul(kmadd(Gt313,Gtlu331,kmadd(Gt323,Gtlu332,kmul(Gt333,Gtlu333))),ToReal(6))))))))))))))));
CCTK_REAL_VEC fac1 = IfThen(conformalMethod ==
- 1,kmul(INV(phiL),ToReal(-0.5)),ToReal(1));
+ 1,kdiv(ToReal(-0.5),phiL),ToReal(1));
CCTK_REAL_VEC cdphi1 = kmul(fac1,JacPDstandardNth1phi);
@@ -1693,10 +1697,10 @@ static void ML_CCZ4_RHS2_Body(cGH const * restrict const cctkGH, int const dir,
CCTK_REAL_VEC cdphi3 = kmul(fac1,JacPDstandardNth3phi);
CCTK_REAL_VEC fac2 = IfThen(conformalMethod ==
- 1,kmul(INV(SQR(phiL)),ToReal(0.5)),ToReal(0));
+ 1,kdiv(ToReal(0.5),kmul(phiL,phiL)),ToReal(0));
CCTK_REAL_VEC cdphi211 =
- kmadd(fac2,SQR(JacPDstandardNth1phi),kmul(fac1,ksub(JacPDstandardNth11phi,kmadd(Gt111,JacPDstandardNth1phi,kmadd(Gt311,JacPDstandardNth3phi,kmul(Gt211,JacPDstandardNth2phi))))));
+ kmadd(fac2,kmul(JacPDstandardNth1phi,JacPDstandardNth1phi),kmul(fac1,ksub(JacPDstandardNth11phi,kmadd(Gt111,JacPDstandardNth1phi,kmadd(Gt311,JacPDstandardNth3phi,kmul(Gt211,JacPDstandardNth2phi))))));
CCTK_REAL_VEC cdphi212 =
kmadd(fac2,kmul(JacPDstandardNth1phi,JacPDstandardNth2phi),kmul(fac1,ksub(JacPDstandardNth12phi,kmadd(Gt112,JacPDstandardNth1phi,kmadd(Gt312,JacPDstandardNth3phi,kmul(Gt212,JacPDstandardNth2phi))))));
@@ -1705,31 +1709,31 @@ static void ML_CCZ4_RHS2_Body(cGH const * restrict const cctkGH, int const dir,
kmadd(fac2,kmul(JacPDstandardNth1phi,JacPDstandardNth3phi),kmul(fac1,ksub(JacPDstandardNth13phi,kmadd(Gt113,JacPDstandardNth1phi,kmadd(Gt313,JacPDstandardNth3phi,kmul(Gt213,JacPDstandardNth2phi))))));
CCTK_REAL_VEC cdphi222 =
- kmsub(fac2,SQR(JacPDstandardNth2phi),kmul(fac1,kmadd(Gt122,JacPDstandardNth1phi,kmadd(Gt222,JacPDstandardNth2phi,kmsub(Gt322,JacPDstandardNth3phi,JacPDstandardNth22phi)))));
+ kmsub(fac2,kmul(JacPDstandardNth2phi,JacPDstandardNth2phi),kmul(fac1,kmadd(Gt122,JacPDstandardNth1phi,kmadd(Gt222,JacPDstandardNth2phi,kmsub(Gt322,JacPDstandardNth3phi,JacPDstandardNth22phi)))));
CCTK_REAL_VEC cdphi223 =
kmsub(fac2,kmul(JacPDstandardNth2phi,JacPDstandardNth3phi),kmul(fac1,kmadd(Gt123,JacPDstandardNth1phi,kmadd(Gt223,JacPDstandardNth2phi,kmsub(Gt323,JacPDstandardNth3phi,JacPDstandardNth23phi)))));
CCTK_REAL_VEC cdphi233 =
- kmsub(fac2,SQR(JacPDstandardNth3phi),kmul(fac1,kmadd(Gt133,JacPDstandardNth1phi,kmadd(Gt233,JacPDstandardNth2phi,kmsub(Gt333,JacPDstandardNth3phi,JacPDstandardNth33phi)))));
+ kmsub(fac2,kmul(JacPDstandardNth3phi,JacPDstandardNth3phi),kmul(fac1,kmadd(Gt133,JacPDstandardNth1phi,kmadd(Gt233,JacPDstandardNth2phi,kmsub(Gt333,JacPDstandardNth3phi,JacPDstandardNth33phi)))));
CCTK_REAL_VEC Rphi11 =
- kmul(ToReal(-2),kadd(cdphi211,kmadd(SQR(cdphi1),kmul(kmadd(gt11L,gtu11,ToReal(-1)),ToReal(2)),kmul(gt11L,kmadd(cdphi211,gtu11,kmadd(cdphi233,gtu33,kmadd(kmadd(cdphi212,gtu12,kmadd(cdphi213,gtu13,kmadd(cdphi223,gtu23,kmul(gtu33,SQR(cdphi3))))),ToReal(2),kmadd(gtu22,kmadd(SQR(cdphi2),ToReal(2),cdphi222),kmul(kmadd(cdphi1,kmadd(cdphi2,gtu12,kmul(cdphi3,gtu13)),kmul(cdphi2,kmul(cdphi3,gtu23))),ToReal(4))))))))));
+ kmul(ToReal(-2),kadd(cdphi211,kmadd(kmul(cdphi1,cdphi1),kmul(kmadd(gt11L,gtu11,ToReal(-1)),ToReal(2)),kmul(gt11L,kmadd(cdphi211,gtu11,kmadd(cdphi233,gtu33,kmadd(kmadd(cdphi212,gtu12,kmadd(cdphi213,gtu13,kmadd(cdphi223,gtu23,kmul(gtu33,kmul(cdphi3,cdphi3))))),ToReal(2),kmadd(gtu22,kmadd(kmul(cdphi2,cdphi2),ToReal(2),cdphi222),kmul(kmadd(cdphi1,kmadd(cdphi2,gtu12,kmul(cdphi3,gtu13)),kmul(cdphi2,kmul(cdphi3,gtu23))),ToReal(4))))))))));
CCTK_REAL_VEC Rphi12 =
- kmul(ToReal(-2),kadd(cdphi212,kmadd(gt12L,kmadd(cdphi211,gtu11,kmadd(kmadd(cdphi212,gtu12,kmadd(cdphi213,gtu13,kmadd(cdphi223,gtu23,kmul(gtu11,SQR(cdphi1))))),ToReal(2),kmadd(gtu22,kmadd(SQR(cdphi2),ToReal(2),cdphi222),kmadd(gtu33,kmadd(SQR(cdphi3),ToReal(2),cdphi233),kmul(cdphi2,kmul(cdphi3,kmul(gtu23,ToReal(4)))))))),kmul(cdphi1,kmadd(gt12L,kmul(cdphi3,kmul(gtu13,ToReal(4))),kmul(cdphi2,kmadd(gt12L,kmul(gtu12,ToReal(4)),ToReal(-2))))))));
+ kmul(ToReal(-2),kadd(cdphi212,kmadd(gt12L,kmadd(cdphi211,gtu11,kmadd(kmadd(cdphi212,gtu12,kmadd(cdphi213,gtu13,kmadd(cdphi223,gtu23,kmul(gtu11,kmul(cdphi1,cdphi1))))),ToReal(2),kmadd(gtu22,kmadd(kmul(cdphi2,cdphi2),ToReal(2),cdphi222),kmadd(gtu33,kmadd(kmul(cdphi3,cdphi3),ToReal(2),cdphi233),kmul(cdphi2,kmul(cdphi3,kmul(gtu23,ToReal(4)))))))),kmul(cdphi1,kmadd(gt12L,kmul(cdphi3,kmul(gtu13,ToReal(4))),kmul(cdphi2,kmadd(gt12L,kmul(gtu12,ToReal(4)),ToReal(-2))))))));
CCTK_REAL_VEC Rphi13 =
- kmul(ToReal(-2),kadd(cdphi213,kmadd(gt13L,kmadd(cdphi211,gtu11,kmadd(kmadd(cdphi212,gtu12,kmadd(cdphi213,gtu13,kmadd(cdphi223,gtu23,kmul(gtu11,SQR(cdphi1))))),ToReal(2),kmadd(gtu22,kmadd(SQR(cdphi2),ToReal(2),cdphi222),kmadd(gtu33,kmadd(SQR(cdphi3),ToReal(2),cdphi233),kmul(cdphi2,kmul(cdphi3,kmul(gtu23,ToReal(4)))))))),kmul(cdphi1,kmadd(gt13L,kmul(cdphi2,kmul(gtu12,ToReal(4))),kmul(cdphi3,kmadd(gt13L,kmul(gtu13,ToReal(4)),ToReal(-2))))))));
+ kmul(ToReal(-2),kadd(cdphi213,kmadd(gt13L,kmadd(cdphi211,gtu11,kmadd(kmadd(cdphi212,gtu12,kmadd(cdphi213,gtu13,kmadd(cdphi223,gtu23,kmul(gtu11,kmul(cdphi1,cdphi1))))),ToReal(2),kmadd(gtu22,kmadd(kmul(cdphi2,cdphi2),ToReal(2),cdphi222),kmadd(gtu33,kmadd(kmul(cdphi3,cdphi3),ToReal(2),cdphi233),kmul(cdphi2,kmul(cdphi3,kmul(gtu23,ToReal(4)))))))),kmul(cdphi1,kmadd(gt13L,kmul(cdphi2,kmul(gtu12,ToReal(4))),kmul(cdphi3,kmadd(gt13L,kmul(gtu13,ToReal(4)),ToReal(-2))))))));
CCTK_REAL_VEC Rphi22 =
- kmul(ToReal(-2),kadd(cdphi222,kmadd(SQR(cdphi2),kmul(kmadd(gt22L,gtu22,ToReal(-1)),ToReal(2)),kmul(gt22L,kmadd(cdphi222,gtu22,kmadd(cdphi233,gtu33,kmadd(kmadd(cdphi212,gtu12,kmadd(cdphi213,gtu13,kmadd(cdphi223,gtu23,kmul(gtu33,SQR(cdphi3))))),ToReal(2),kmadd(gtu11,kmadd(SQR(cdphi1),ToReal(2),cdphi211),kmul(kmadd(cdphi1,kmul(cdphi3,gtu13),kmul(cdphi2,kmadd(cdphi1,gtu12,kmul(cdphi3,gtu23)))),ToReal(4))))))))));
+ kmul(ToReal(-2),kadd(cdphi222,kmadd(kmul(cdphi2,cdphi2),kmul(kmadd(gt22L,gtu22,ToReal(-1)),ToReal(2)),kmul(gt22L,kmadd(cdphi222,gtu22,kmadd(cdphi233,gtu33,kmadd(kmadd(cdphi212,gtu12,kmadd(cdphi213,gtu13,kmadd(cdphi223,gtu23,kmul(gtu33,kmul(cdphi3,cdphi3))))),ToReal(2),kmadd(gtu11,kmadd(kmul(cdphi1,cdphi1),ToReal(2),cdphi211),kmul(kmadd(cdphi1,kmul(cdphi3,gtu13),kmul(cdphi2,kmadd(cdphi1,gtu12,kmul(cdphi3,gtu23)))),ToReal(4))))))))));
CCTK_REAL_VEC Rphi23 =
- kmul(ToReal(-2),kadd(cdphi223,kmadd(gt23L,kmadd(cdphi222,gtu22,kmadd(kmadd(cdphi212,gtu12,kmadd(cdphi213,gtu13,kmadd(cdphi223,gtu23,kmul(gtu22,SQR(cdphi2))))),ToReal(2),kmadd(gtu11,kmadd(SQR(cdphi1),ToReal(2),cdphi211),kmadd(gtu33,kmadd(SQR(cdphi3),ToReal(2),cdphi233),kmul(cdphi1,kmul(cdphi3,kmul(gtu13,ToReal(4)))))))),kmul(cdphi2,kmadd(gt23L,kmul(cdphi1,kmul(gtu12,ToReal(4))),kmul(cdphi3,kmadd(gt23L,kmul(gtu23,ToReal(4)),ToReal(-2))))))));
+ kmul(ToReal(-2),kadd(cdphi223,kmadd(gt23L,kmadd(cdphi222,gtu22,kmadd(kmadd(cdphi212,gtu12,kmadd(cdphi213,gtu13,kmadd(cdphi223,gtu23,kmul(gtu22,kmul(cdphi2,cdphi2))))),ToReal(2),kmadd(gtu11,kmadd(kmul(cdphi1,cdphi1),ToReal(2),cdphi211),kmadd(gtu33,kmadd(kmul(cdphi3,cdphi3),ToReal(2),cdphi233),kmul(cdphi1,kmul(cdphi3,kmul(gtu13,ToReal(4)))))))),kmul(cdphi2,kmadd(gt23L,kmul(cdphi1,kmul(gtu12,ToReal(4))),kmul(cdphi3,kmadd(gt23L,kmul(gtu23,ToReal(4)),ToReal(-2))))))));
CCTK_REAL_VEC Rphi33 =
- kmul(ToReal(-2),kadd(cdphi233,kmadd(SQR(cdphi3),kmul(kmadd(gt33L,gtu33,ToReal(-1)),ToReal(2)),kmul(gt33L,kmadd(cdphi233,gtu33,kmadd(kmadd(cdphi213,gtu13,kmul(cdphi223,gtu23)),ToReal(2),kmadd(gtu11,kmadd(SQR(cdphi1),ToReal(2),cdphi211),kmadd(gtu22,kmadd(SQR(cdphi2),ToReal(2),cdphi222),kmadd(cdphi3,kmul(kmadd(cdphi1,gtu13,kmul(cdphi2,gtu23)),ToReal(4)),kmul(gtu12,kmadd(cdphi212,ToReal(2),kmul(cdphi1,kmul(cdphi2,ToReal(4))))))))))))));
+ kmul(ToReal(-2),kadd(cdphi233,kmadd(kmul(cdphi3,cdphi3),kmul(kmadd(gt33L,gtu33,ToReal(-1)),ToReal(2)),kmul(gt33L,kmadd(cdphi233,gtu33,kmadd(kmadd(cdphi213,gtu13,kmul(cdphi223,gtu23)),ToReal(2),kmadd(gtu11,kmadd(kmul(cdphi1,cdphi1),ToReal(2),cdphi211),kmadd(gtu22,kmadd(kmul(cdphi2,cdphi2),ToReal(2),cdphi222),kmadd(cdphi3,kmul(kmadd(cdphi1,gtu13,kmul(cdphi2,gtu23)),ToReal(4)),kmul(gtu12,kmadd(cdphi212,ToReal(2),kmul(cdphi1,kmul(cdphi2,ToReal(4))))))))))))));
CCTK_REAL_VEC Atm11 =
kmadd(At11L,gtu11,kmadd(At12L,gtu12,kmul(At13L,gtu13)));
@@ -1771,22 +1775,22 @@ static void ML_CCZ4_RHS2_Body(cGH const * restrict const cctkGH, int const dir,
CCTK_REAL_VEC R33 = kadd(Rphi33,Rt33);
R11 =
- kadd(R11,kmadd(e4phi,kmadd(JacPDstandardNth1gt11,Z1,kmadd(JacPDstandardNth2gt11,Z2,kmul(JacPDstandardNth3gt11,Z3))),kmul(INV(phiL),kmadd(g11,kmul(kmadd(JacPDstandardNth2phi,Z2,kmul(JacPDstandardNth3phi,Z3)),ToReal(-2)),kmul(JacPDstandardNth1phi,kmadd(g11,kmul(Z1,ToReal(2)),kmul(kmadd(g12,Z2,kmul(g13,Z3)),ToReal(4))))))));
+ kadd(R11,kmadd(e4phi,kmadd(JacPDstandardNth1gt11,Z1,kmadd(JacPDstandardNth2gt11,Z2,kmul(JacPDstandardNth3gt11,Z3))),kdiv(kmadd(g11,kmul(kmadd(JacPDstandardNth2phi,Z2,kmul(JacPDstandardNth3phi,Z3)),ToReal(-2)),kmul(JacPDstandardNth1phi,kmadd(g11,kmul(Z1,ToReal(2)),kmul(kmadd(g12,Z2,kmul(g13,Z3)),ToReal(4))))),phiL)));
R12 =
- kadd(R12,kmadd(e4phi,kmadd(JacPDstandardNth1gt12,Z1,kmadd(JacPDstandardNth2gt12,Z2,kmul(JacPDstandardNth3gt12,Z3))),kmul(INV(phiL),kmul(kmadd(g11,kmul(JacPDstandardNth2phi,Z1),kmadd(g22,kmul(JacPDstandardNth1phi,Z2),kmul(Z3,kmadd(g23,JacPDstandardNth1phi,kmsub(g13,JacPDstandardNth2phi,kmul(g12,JacPDstandardNth3phi)))))),ToReal(2)))));
+ kadd(R12,kmadd(e4phi,kmadd(JacPDstandardNth1gt12,Z1,kmadd(JacPDstandardNth2gt12,Z2,kmul(JacPDstandardNth3gt12,Z3))),kdiv(kmul(kmadd(g11,kmul(JacPDstandardNth2phi,Z1),kmadd(g22,kmul(JacPDstandardNth1phi,Z2),kmul(Z3,kmadd(g23,JacPDstandardNth1phi,kmsub(g13,JacPDstandardNth2phi,kmul(g12,JacPDstandardNth3phi)))))),ToReal(2)),phiL)));
R13 =
- kadd(R13,kmadd(e4phi,kmadd(JacPDstandardNth1gt13,Z1,kmadd(JacPDstandardNth2gt13,Z2,kmul(JacPDstandardNth3gt13,Z3))),kmul(INV(phiL),kmul(kmadd(JacPDstandardNth3phi,kmadd(g11,Z1,kmul(g12,Z2)),kmadd(g33,kmul(JacPDstandardNth1phi,Z3),kmul(Z2,kmsub(g23,JacPDstandardNth1phi,kmul(g13,JacPDstandardNth2phi))))),ToReal(2)))));
+ kadd(R13,kmadd(e4phi,kmadd(JacPDstandardNth1gt13,Z1,kmadd(JacPDstandardNth2gt13,Z2,kmul(JacPDstandardNth3gt13,Z3))),kdiv(kmul(kmadd(JacPDstandardNth3phi,kmadd(g11,Z1,kmul(g12,Z2)),kmadd(g33,kmul(JacPDstandardNth1phi,Z3),kmul(Z2,kmsub(g23,JacPDstandardNth1phi,kmul(g13,JacPDstandardNth2phi))))),ToReal(2)),phiL)));
R22 =
- kadd(R22,kmadd(e4phi,kmadd(JacPDstandardNth1gt22,Z1,kmadd(JacPDstandardNth2gt22,Z2,kmul(JacPDstandardNth3gt22,Z3))),kmul(INV(phiL),kmadd(g22,kmul(ToReal(-2),kmadd(JacPDstandardNth1phi,Z1,kmsub(JacPDstandardNth3phi,Z3,kmul(JacPDstandardNth2phi,Z2)))),kmul(JacPDstandardNth2phi,kmul(kmadd(g12,Z1,kmul(g23,Z3)),ToReal(4)))))));
+ kadd(R22,kmadd(e4phi,kmadd(JacPDstandardNth1gt22,Z1,kmadd(JacPDstandardNth2gt22,Z2,kmul(JacPDstandardNth3gt22,Z3))),kdiv(kmadd(g22,kmul(ToReal(-2),kmadd(JacPDstandardNth1phi,Z1,kmsub(JacPDstandardNth3phi,Z3,kmul(JacPDstandardNth2phi,Z2)))),kmul(JacPDstandardNth2phi,kmul(kmadd(g12,Z1,kmul(g23,Z3)),ToReal(4)))),phiL)));
R23 =
- kadd(R23,kmadd(e4phi,kmadd(JacPDstandardNth1gt23,Z1,kmadd(JacPDstandardNth2gt23,Z2,kmul(JacPDstandardNth3gt23,Z3))),kmul(INV(phiL),kmul(kmadd(g22,kmul(JacPDstandardNth3phi,Z2),kmadd(g33,kmul(JacPDstandardNth2phi,Z3),kmul(Z1,kmadd(g13,JacPDstandardNth2phi,kmsub(g12,JacPDstandardNth3phi,kmul(g23,JacPDstandardNth1phi)))))),ToReal(2)))));
+ kadd(R23,kmadd(e4phi,kmadd(JacPDstandardNth1gt23,Z1,kmadd(JacPDstandardNth2gt23,Z2,kmul(JacPDstandardNth3gt23,Z3))),kdiv(kmul(kmadd(g22,kmul(JacPDstandardNth3phi,Z2),kmadd(g33,kmul(JacPDstandardNth2phi,Z3),kmul(Z1,kmadd(g13,JacPDstandardNth2phi,kmsub(g12,JacPDstandardNth3phi,kmul(g23,JacPDstandardNth1phi)))))),ToReal(2)),phiL)));
R33 =
- kadd(R33,kmadd(e4phi,kmadd(JacPDstandardNth1gt33,Z1,kmadd(JacPDstandardNth2gt33,Z2,kmul(JacPDstandardNth3gt33,Z3))),kmul(INV(phiL),kmadd(g33,kmul(ToReal(-2),kmadd(JacPDstandardNth1phi,Z1,kmsub(JacPDstandardNth2phi,Z2,kmul(JacPDstandardNth3phi,Z3)))),kmul(JacPDstandardNth3phi,kmul(kmadd(g13,Z1,kmul(g23,Z2)),ToReal(4)))))));
+ kadd(R33,kmadd(e4phi,kmadd(JacPDstandardNth1gt33,Z1,kmadd(JacPDstandardNth2gt33,Z2,kmul(JacPDstandardNth3gt33,Z3))),kdiv(kmadd(g33,kmul(ToReal(-2),kmadd(JacPDstandardNth1phi,Z1,kmsub(JacPDstandardNth2phi,Z2,kmul(JacPDstandardNth3phi,Z3)))),kmul(JacPDstandardNth3phi,kmul(kmadd(g13,Z1,kmul(g23,Z2)),ToReal(4)))),phiL)));
CCTK_REAL_VEC trS =
kmul(em4phi,kmadd(eTxxL,gtu11,kmadd(eTyyL,gtu22,kmadd(eTzzL,gtu33,kmul(kmadd(eTxyL,gtu12,kmadd(eTxzL,gtu13,kmul(eTyzL,gtu23))),ToReal(2))))));
@@ -1816,16 +1820,16 @@ static void ML_CCZ4_RHS2_Body(cGH const * restrict const cctkGH, int const dir,
kmul(ToReal(0.333333333333333333333333333333),kmadd(em4phi,kmsub(Ats11,ToReal(3),kmul(g11,trAts)),kmadd(At11L,kmadd(kadd(JacPDstandardNth2beta2,JacPDstandardNth3beta3),ToReal(-2),kmul(JacPDstandardNth1beta1,ToReal(4))),kmsub(kmadd(At12L,JacPDstandardNth1beta2,kmul(At13L,JacPDstandardNth1beta3)),ToReal(6),kmul(alphaL,kmadd(kmadd(At12L,Atm21,kmul(At13L,Atm31)),ToReal(6),kmadd(At11L,kmadd(trKL,ToReal(-3),kmul(kadd(ThetaL,Atm11),ToReal(6))),kmul(em4phi,kmul(kmadd(g11,kmul(trS,ToReal(-8)),kmul(eTxxL,ToReal(24))),ToReal(Pi))))))))));
CCTK_REAL_VEC At12rhsL =
- kmadd(ToReal(0.333333333333333333333333333333),kmadd(At12L,kadd(JacPDstandardNth1beta1,kmadd(JacPDstandardNth3beta3,ToReal(-2),JacPDstandardNth2beta2)),kmsub(kmadd(Ats12,em4phi,kmadd(At22L,JacPDstandardNth1beta2,kmadd(At23L,JacPDstandardNth1beta3,kmadd(At11L,JacPDstandardNth2beta1,kmul(At13L,JacPDstandardNth2beta3))))),ToReal(3),kmul(em4phi,kmul(g12,trAts)))),kmul(alphaL,kmadd(kmadd(At11L,Atm12,kmul(At13L,Atm32)),ToReal(-2),kmadd(At12L,kmadd(kadd(ThetaL,Atm22),ToReal(-2),trKL),kmul(em4phi,kmadd(g12,kmul(trS,ToReal(8.37758040957278196923371568875)),kmul(eTxyL,kmul(ToReal(-8),ToReal(Pi)))))))));
+ kmadd(ToReal(0.333333333333333333333333333333),kmadd(At12L,kadd(JacPDstandardNth1beta1,kmadd(JacPDstandardNth3beta3,ToReal(-2),JacPDstandardNth2beta2)),kmsub(kmadd(Ats12,em4phi,kmadd(At22L,JacPDstandardNth1beta2,kmadd(At23L,JacPDstandardNth1beta3,kmadd(At11L,JacPDstandardNth2beta1,kmul(At13L,JacPDstandardNth2beta3))))),ToReal(3),kmul(em4phi,kmul(g12,trAts)))),kmul(alphaL,kmadd(kmadd(At11L,Atm12,kmul(At13L,Atm32)),ToReal(-2),kmadd(At12L,kmadd(kadd(ThetaL,Atm22),ToReal(-2),trKL),kmul(em4phi,kmadd(g12,kmul(trS,ToReal(8.37758040957278196923371568875)),kmul(eTxyL,ToReal(-8*Pi))))))));
CCTK_REAL_VEC At13rhsL =
- kmadd(ToReal(0.333333333333333333333333333333),kmadd(At13L,kadd(JacPDstandardNth1beta1,kmadd(JacPDstandardNth2beta2,ToReal(-2),JacPDstandardNth3beta3)),kmsub(kmadd(Ats13,em4phi,kmadd(At23L,JacPDstandardNth1beta2,kmadd(At33L,JacPDstandardNth1beta3,kmadd(At11L,JacPDstandardNth3beta1,kmul(At12L,JacPDstandardNth3beta2))))),ToReal(3),kmul(em4phi,kmul(g13,trAts)))),kmul(alphaL,kmadd(kmadd(At11L,Atm13,kmul(At12L,Atm23)),ToReal(-2),kmadd(At13L,kmadd(kadd(ThetaL,Atm33),ToReal(-2),trKL),kmul(em4phi,kmadd(g13,kmul(trS,ToReal(8.37758040957278196923371568875)),kmul(eTxzL,kmul(ToReal(-8),ToReal(Pi)))))))));
+ kmadd(ToReal(0.333333333333333333333333333333),kmadd(At13L,kadd(JacPDstandardNth1beta1,kmadd(JacPDstandardNth2beta2,ToReal(-2),JacPDstandardNth3beta3)),kmsub(kmadd(Ats13,em4phi,kmadd(At23L,JacPDstandardNth1beta2,kmadd(At33L,JacPDstandardNth1beta3,kmadd(At11L,JacPDstandardNth3beta1,kmul(At12L,JacPDstandardNth3beta2))))),ToReal(3),kmul(em4phi,kmul(g13,trAts)))),kmul(alphaL,kmadd(kmadd(At11L,Atm13,kmul(At12L,Atm23)),ToReal(-2),kmadd(At13L,kmadd(kadd(ThetaL,Atm33),ToReal(-2),trKL),kmul(em4phi,kmadd(g13,kmul(trS,ToReal(8.37758040957278196923371568875)),kmul(eTxzL,ToReal(-8*Pi))))))));
CCTK_REAL_VEC At22rhsL =
kmul(ToReal(0.333333333333333333333333333333),kmadd(em4phi,kmsub(Ats22,ToReal(3),kmul(g22,trAts)),kmadd(At22L,kmadd(kadd(JacPDstandardNth1beta1,JacPDstandardNth3beta3),ToReal(-2),kmul(JacPDstandardNth2beta2,ToReal(4))),kmsub(kmadd(At12L,JacPDstandardNth2beta1,kmul(At23L,JacPDstandardNth2beta3)),ToReal(6),kmul(alphaL,kmadd(kmadd(At12L,Atm12,kmul(At23L,Atm32)),ToReal(6),kmadd(At22L,kmadd(trKL,ToReal(-3),kmul(kadd(ThetaL,Atm22),ToReal(6))),kmul(em4phi,kmul(kmadd(g22,kmul(trS,ToReal(-8)),kmul(eTyyL,ToReal(24))),ToReal(Pi))))))))));
CCTK_REAL_VEC At23rhsL =
- kmadd(ToReal(0.333333333333333333333333333333),kmadd(At23L,kadd(JacPDstandardNth2beta2,kmadd(JacPDstandardNth1beta1,ToReal(-2),JacPDstandardNth3beta3)),kmsub(kmadd(Ats23,em4phi,kmadd(At13L,JacPDstandardNth2beta1,kmadd(At33L,JacPDstandardNth2beta3,kmadd(At12L,JacPDstandardNth3beta1,kmul(At22L,JacPDstandardNth3beta2))))),ToReal(3),kmul(em4phi,kmul(g23,trAts)))),kmul(alphaL,kmadd(kmadd(At12L,Atm13,kmul(At22L,Atm23)),ToReal(-2),kmadd(At23L,kmadd(kadd(ThetaL,Atm33),ToReal(-2),trKL),kmul(em4phi,kmadd(g23,kmul(trS,ToReal(8.37758040957278196923371568875)),kmul(eTyzL,kmul(ToReal(-8),ToReal(Pi)))))))));
+ kmadd(ToReal(0.333333333333333333333333333333),kmadd(At23L,kadd(JacPDstandardNth2beta2,kmadd(JacPDstandardNth1beta1,ToReal(-2),JacPDstandardNth3beta3)),kmsub(kmadd(Ats23,em4phi,kmadd(At13L,JacPDstandardNth2beta1,kmadd(At33L,JacPDstandardNth2beta3,kmadd(At12L,JacPDstandardNth3beta1,kmul(At22L,JacPDstandardNth3beta2))))),ToReal(3),kmul(em4phi,kmul(g23,trAts)))),kmul(alphaL,kmadd(kmadd(At12L,Atm13,kmul(At22L,Atm23)),ToReal(-2),kmadd(At23L,kmadd(kadd(ThetaL,Atm33),ToReal(-2),trKL),kmul(em4phi,kmadd(g23,kmul(trS,ToReal(8.37758040957278196923371568875)),kmul(eTyzL,ToReal(-8*Pi))))))));
CCTK_REAL_VEC At33rhsL =
kmul(ToReal(0.333333333333333333333333333333),kmadd(em4phi,kmsub(Ats33,ToReal(3),kmul(g33,trAts)),kmadd(At33L,kmadd(kadd(JacPDstandardNth1beta1,JacPDstandardNth2beta2),ToReal(-2),kmul(JacPDstandardNth3beta3,ToReal(4))),kmsub(kmadd(At13L,JacPDstandardNth3beta1,kmul(At23L,JacPDstandardNth3beta2)),ToReal(6),kmul(alphaL,kmadd(kmadd(At13L,Atm13,kmul(At23L,Atm23)),ToReal(6),kmadd(At33L,kmadd(trKL,ToReal(-3),kmul(kadd(ThetaL,Atm33),ToReal(6))),kmul(em4phi,kmul(kmadd(g33,kmul(trS,ToReal(-8)),kmul(eTzzL,ToReal(24))),ToReal(Pi))))))))));
diff --git a/ML_CCZ4/src/ML_CCZ4_RHSStaticBoundary.cc b/ML_CCZ4/src/ML_CCZ4_RHSStaticBoundary.cc
index 83b35c7..8afd097 100644
--- a/ML_CCZ4/src/ML_CCZ4_RHSStaticBoundary.cc
+++ b/ML_CCZ4/src/ML_CCZ4_RHSStaticBoundary.cc
@@ -18,10 +18,14 @@
/* Define macros used in calculations */
#define INITVALUE (42)
-#define QAD(x) (SQR(SQR(x)))
+#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 ML_CCZ4_RHSStaticBoundary_SelectBCs(CCTK_ARGUMENTS)
{
@@ -95,84 +99,84 @@ static void ML_CCZ4_RHSStaticBoundary_Body(cGH const * restrict const cctkGH, in
CCTK_REAL_VEC const hdzi = kmul(ToReal(0.5), dzi);
/* Initialize predefined quantities */
- CCTK_REAL_VEC const p1o1024dx = kmul(INV(dx),ToReal(0.0009765625));
- CCTK_REAL_VEC const p1o1024dy = kmul(INV(dy),ToReal(0.0009765625));
- CCTK_REAL_VEC const p1o1024dz = kmul(INV(dz),ToReal(0.0009765625));
- CCTK_REAL_VEC const p1o120dx = kmul(INV(dx),ToReal(0.00833333333333333333333333333333));
- CCTK_REAL_VEC const p1o120dy = kmul(INV(dy),ToReal(0.00833333333333333333333333333333));
- CCTK_REAL_VEC const p1o120dz = kmul(INV(dz),ToReal(0.00833333333333333333333333333333));
- CCTK_REAL_VEC const p1o12dx = kmul(INV(dx),ToReal(0.0833333333333333333333333333333));
- CCTK_REAL_VEC const p1o12dy = kmul(INV(dy),ToReal(0.0833333333333333333333333333333));
- CCTK_REAL_VEC const p1o12dz = kmul(INV(dz),ToReal(0.0833333333333333333333333333333));
- CCTK_REAL_VEC const p1o144dxdy = kmul(INV(kmul(dx,dy)),ToReal(0.00694444444444444444444444444444));
- CCTK_REAL_VEC const p1o144dxdz = kmul(INV(kmul(dx,dz)),ToReal(0.00694444444444444444444444444444));
- CCTK_REAL_VEC const p1o144dydz = kmul(INV(kmul(dy,dz)),ToReal(0.00694444444444444444444444444444));
- CCTK_REAL_VEC const p1o1680dx = kmul(INV(dx),ToReal(0.000595238095238095238095238095238));
- CCTK_REAL_VEC const p1o1680dy = kmul(INV(dy),ToReal(0.000595238095238095238095238095238));
- CCTK_REAL_VEC const p1o1680dz = kmul(INV(dz),ToReal(0.000595238095238095238095238095238));
- CCTK_REAL_VEC const p1o16dx = kmul(INV(dx),ToReal(0.0625));
- CCTK_REAL_VEC const p1o16dy = kmul(INV(dy),ToReal(0.0625));
- CCTK_REAL_VEC const p1o16dz = kmul(INV(dz),ToReal(0.0625));
- CCTK_REAL_VEC const p1o180dx2 = kmul(INV(SQR(dx)),ToReal(0.00555555555555555555555555555556));
- CCTK_REAL_VEC const p1o180dy2 = kmul(INV(SQR(dy)),ToReal(0.00555555555555555555555555555556));
- CCTK_REAL_VEC const p1o180dz2 = kmul(INV(SQR(dz)),ToReal(0.00555555555555555555555555555556));
- CCTK_REAL_VEC const p1o24dx = kmul(INV(dx),ToReal(0.0416666666666666666666666666667));
- CCTK_REAL_VEC const p1o24dy = kmul(INV(dy),ToReal(0.0416666666666666666666666666667));
- CCTK_REAL_VEC const p1o24dz = kmul(INV(dz),ToReal(0.0416666666666666666666666666667));
- CCTK_REAL_VEC const p1o256dx = kmul(INV(dx),ToReal(0.00390625));
- CCTK_REAL_VEC const p1o256dy = kmul(INV(dy),ToReal(0.00390625));
- CCTK_REAL_VEC const p1o256dz = kmul(INV(dz),ToReal(0.00390625));
- CCTK_REAL_VEC const p1o2dx = kmul(INV(dx),ToReal(0.5));
- CCTK_REAL_VEC const p1o2dy = kmul(INV(dy),ToReal(0.5));
- CCTK_REAL_VEC const p1o2dz = kmul(INV(dz),ToReal(0.5));
- CCTK_REAL_VEC const p1o3600dxdy = kmul(INV(kmul(dx,dy)),ToReal(0.000277777777777777777777777777778));
- CCTK_REAL_VEC const p1o3600dxdz = kmul(INV(kmul(dx,dz)),ToReal(0.000277777777777777777777777777778));
- CCTK_REAL_VEC const p1o3600dydz = kmul(INV(kmul(dy,dz)),ToReal(0.000277777777777777777777777777778));
- CCTK_REAL_VEC const p1o4dx = kmul(INV(dx),ToReal(0.25));
- CCTK_REAL_VEC const p1o4dxdy = kmul(INV(kmul(dx,dy)),ToReal(0.25));
- CCTK_REAL_VEC const p1o4dxdz = kmul(INV(kmul(dx,dz)),ToReal(0.25));
- CCTK_REAL_VEC const p1o4dy = kmul(INV(dy),ToReal(0.25));
- CCTK_REAL_VEC const p1o4dydz = kmul(INV(kmul(dy,dz)),ToReal(0.25));
- CCTK_REAL_VEC const p1o4dz = kmul(INV(dz),ToReal(0.25));
- CCTK_REAL_VEC const p1o5040dx2 = kmul(INV(SQR(dx)),ToReal(0.000198412698412698412698412698413));
- CCTK_REAL_VEC const p1o5040dy2 = kmul(INV(SQR(dy)),ToReal(0.000198412698412698412698412698413));
- CCTK_REAL_VEC const p1o5040dz2 = kmul(INV(SQR(dz)),ToReal(0.000198412698412698412698412698413));
- CCTK_REAL_VEC const p1o560dx = kmul(INV(dx),ToReal(0.00178571428571428571428571428571));
- CCTK_REAL_VEC const p1o560dy = kmul(INV(dy),ToReal(0.00178571428571428571428571428571));
- CCTK_REAL_VEC const p1o560dz = kmul(INV(dz),ToReal(0.00178571428571428571428571428571));
- CCTK_REAL_VEC const p1o60dx = kmul(INV(dx),ToReal(0.0166666666666666666666666666667));
- CCTK_REAL_VEC const p1o60dy = kmul(INV(dy),ToReal(0.0166666666666666666666666666667));
- CCTK_REAL_VEC const p1o60dz = kmul(INV(dz),ToReal(0.0166666666666666666666666666667));
- CCTK_REAL_VEC const p1o64dx = kmul(INV(dx),ToReal(0.015625));
- CCTK_REAL_VEC const p1o64dy = kmul(INV(dy),ToReal(0.015625));
- CCTK_REAL_VEC const p1o64dz = kmul(INV(dz),ToReal(0.015625));
- CCTK_REAL_VEC const p1o705600dxdy = kmul(INV(kmul(dx,dy)),ToReal(1.41723356009070294784580498866e-6));
- CCTK_REAL_VEC const p1o705600dxdz = kmul(INV(kmul(dx,dz)),ToReal(1.41723356009070294784580498866e-6));
- CCTK_REAL_VEC const p1o705600dydz = kmul(INV(kmul(dy,dz)),ToReal(1.41723356009070294784580498866e-6));
- CCTK_REAL_VEC const p1o840dx = kmul(INV(dx),ToReal(0.00119047619047619047619047619048));
- CCTK_REAL_VEC const p1o840dy = kmul(INV(dy),ToReal(0.00119047619047619047619047619048));
- CCTK_REAL_VEC const p1o840dz = kmul(INV(dz),ToReal(0.00119047619047619047619047619048));
- CCTK_REAL_VEC const p1odx = INV(dx);
- CCTK_REAL_VEC const p1odx2 = INV(SQR(dx));
- CCTK_REAL_VEC const p1ody = INV(dy);
- CCTK_REAL_VEC const p1ody2 = INV(SQR(dy));
- CCTK_REAL_VEC const p1odz = INV(dz);
- CCTK_REAL_VEC const p1odz2 = INV(SQR(dz));
- CCTK_REAL_VEC const pm1o120dx = kmul(INV(dx),ToReal(-0.00833333333333333333333333333333));
- CCTK_REAL_VEC const pm1o120dy = kmul(INV(dy),ToReal(-0.00833333333333333333333333333333));
- CCTK_REAL_VEC const pm1o120dz = kmul(INV(dz),ToReal(-0.00833333333333333333333333333333));
- CCTK_REAL_VEC const pm1o12dx2 = kmul(INV(SQR(dx)),ToReal(-0.0833333333333333333333333333333));
- CCTK_REAL_VEC const pm1o12dy2 = kmul(INV(SQR(dy)),ToReal(-0.0833333333333333333333333333333));
- CCTK_REAL_VEC const pm1o12dz2 = kmul(INV(SQR(dz)),ToReal(-0.0833333333333333333333333333333));
- CCTK_REAL_VEC const pm1o2dx = kmul(INV(dx),ToReal(-0.5));
- CCTK_REAL_VEC const pm1o2dy = kmul(INV(dy),ToReal(-0.5));
- CCTK_REAL_VEC const pm1o2dz = kmul(INV(dz),ToReal(-0.5));
- CCTK_REAL_VEC const pm1o4dx = kmul(INV(dx),ToReal(-0.25));
- CCTK_REAL_VEC const pm1o4dy = kmul(INV(dy),ToReal(-0.25));
- CCTK_REAL_VEC const pm1o4dz = kmul(INV(dz),ToReal(-0.25));
- CCTK_REAL_VEC const pm1o60dx = kmul(INV(dx),ToReal(-0.0166666666666666666666666666667));
- CCTK_REAL_VEC const pm1o60dy = kmul(INV(dy),ToReal(-0.0166666666666666666666666666667));
- CCTK_REAL_VEC const pm1o60dz = kmul(INV(dz),ToReal(-0.0166666666666666666666666666667));
+ CCTK_REAL_VEC const p1o1024dx = kdiv(ToReal(0.0009765625),dx);
+ CCTK_REAL_VEC const p1o1024dy = kdiv(ToReal(0.0009765625),dy);
+ CCTK_REAL_VEC const p1o1024dz = kdiv(ToReal(0.0009765625),dz);
+ CCTK_REAL_VEC const p1o120dx = kdiv(ToReal(0.00833333333333333333333333333333),dx);
+ CCTK_REAL_VEC const p1o120dy = kdiv(ToReal(0.00833333333333333333333333333333),dy);
+ CCTK_REAL_VEC const p1o120dz = kdiv(ToReal(0.00833333333333333333333333333333),dz);
+ CCTK_REAL_VEC const p1o12dx = kdiv(ToReal(0.0833333333333333333333333333333),dx);
+ CCTK_REAL_VEC const p1o12dy = kdiv(ToReal(0.0833333333333333333333333333333),dy);
+ CCTK_REAL_VEC const p1o12dz = kdiv(ToReal(0.0833333333333333333333333333333),dz);
+ CCTK_REAL_VEC const p1o144dxdy = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dy,dx));
+ CCTK_REAL_VEC const p1o144dxdz = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dx));
+ CCTK_REAL_VEC const p1o144dydz = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dy));
+ CCTK_REAL_VEC const p1o1680dx = kdiv(ToReal(0.000595238095238095238095238095238),dx);
+ CCTK_REAL_VEC const p1o1680dy = kdiv(ToReal(0.000595238095238095238095238095238),dy);
+ CCTK_REAL_VEC const p1o1680dz = kdiv(ToReal(0.000595238095238095238095238095238),dz);
+ CCTK_REAL_VEC const p1o16dx = kdiv(ToReal(0.0625),dx);
+ CCTK_REAL_VEC const p1o16dy = kdiv(ToReal(0.0625),dy);
+ CCTK_REAL_VEC const p1o16dz = kdiv(ToReal(0.0625),dz);
+ CCTK_REAL_VEC const p1o180dx2 = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dx,dx));
+ CCTK_REAL_VEC const p1o180dy2 = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dy,dy));
+ CCTK_REAL_VEC const p1o180dz2 = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dz,dz));
+ CCTK_REAL_VEC const p1o24dx = kdiv(ToReal(0.0416666666666666666666666666667),dx);
+ CCTK_REAL_VEC const p1o24dy = kdiv(ToReal(0.0416666666666666666666666666667),dy);
+ CCTK_REAL_VEC const p1o24dz = kdiv(ToReal(0.0416666666666666666666666666667),dz);
+ CCTK_REAL_VEC const p1o256dx = kdiv(ToReal(0.00390625),dx);
+ CCTK_REAL_VEC const p1o256dy = kdiv(ToReal(0.00390625),dy);
+ CCTK_REAL_VEC const p1o256dz = kdiv(ToReal(0.00390625),dz);
+ CCTK_REAL_VEC const p1o2dx = kdiv(ToReal(0.5),dx);
+ CCTK_REAL_VEC const p1o2dy = kdiv(ToReal(0.5),dy);
+ CCTK_REAL_VEC const p1o2dz = kdiv(ToReal(0.5),dz);
+ CCTK_REAL_VEC const p1o3600dxdy = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dy,dx));
+ CCTK_REAL_VEC const p1o3600dxdz = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dx));
+ CCTK_REAL_VEC const p1o3600dydz = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dy));
+ CCTK_REAL_VEC const p1o4dx = kdiv(ToReal(0.25),dx);
+ CCTK_REAL_VEC const p1o4dxdy = kdiv(ToReal(0.25),kmul(dy,dx));
+ CCTK_REAL_VEC const p1o4dxdz = kdiv(ToReal(0.25),kmul(dz,dx));
+ CCTK_REAL_VEC const p1o4dy = kdiv(ToReal(0.25),dy);
+ CCTK_REAL_VEC const p1o4dydz = kdiv(ToReal(0.25),kmul(dz,dy));
+ CCTK_REAL_VEC const p1o4dz = kdiv(ToReal(0.25),dz);
+ CCTK_REAL_VEC const p1o5040dx2 = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dx,dx));
+ CCTK_REAL_VEC const p1o5040dy2 = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dy,dy));
+ CCTK_REAL_VEC const p1o5040dz2 = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dz,dz));
+ CCTK_REAL_VEC const p1o560dx = kdiv(ToReal(0.00178571428571428571428571428571),dx);
+ CCTK_REAL_VEC const p1o560dy = kdiv(ToReal(0.00178571428571428571428571428571),dy);
+ CCTK_REAL_VEC const p1o560dz = kdiv(ToReal(0.00178571428571428571428571428571),dz);
+ CCTK_REAL_VEC const p1o60dx = kdiv(ToReal(0.0166666666666666666666666666667),dx);
+ CCTK_REAL_VEC const p1o60dy = kdiv(ToReal(0.0166666666666666666666666666667),dy);
+ CCTK_REAL_VEC const p1o60dz = kdiv(ToReal(0.0166666666666666666666666666667),dz);
+ CCTK_REAL_VEC const p1o64dx = kdiv(ToReal(0.015625),dx);
+ CCTK_REAL_VEC const p1o64dy = kdiv(ToReal(0.015625),dy);
+ CCTK_REAL_VEC const p1o64dz = kdiv(ToReal(0.015625),dz);
+ CCTK_REAL_VEC const p1o705600dxdy = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dy,dx));
+ CCTK_REAL_VEC const p1o705600dxdz = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dx));
+ CCTK_REAL_VEC const p1o705600dydz = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dy));
+ CCTK_REAL_VEC const p1o840dx = kdiv(ToReal(0.00119047619047619047619047619048),dx);
+ CCTK_REAL_VEC const p1o840dy = kdiv(ToReal(0.00119047619047619047619047619048),dy);
+ CCTK_REAL_VEC const p1o840dz = kdiv(ToReal(0.00119047619047619047619047619048),dz);
+ CCTK_REAL_VEC const p1odx = kdiv(ToReal(1),dx);
+ CCTK_REAL_VEC const p1odx2 = kdiv(ToReal(1),kmul(dx,dx));
+ CCTK_REAL_VEC const p1ody = kdiv(ToReal(1),dy);
+ CCTK_REAL_VEC const p1ody2 = kdiv(ToReal(1),kmul(dy,dy));
+ CCTK_REAL_VEC const p1odz = kdiv(ToReal(1),dz);
+ CCTK_REAL_VEC const p1odz2 = kdiv(ToReal(1),kmul(dz,dz));
+ CCTK_REAL_VEC const pm1o120dx = kdiv(ToReal(-0.00833333333333333333333333333333),dx);
+ CCTK_REAL_VEC const pm1o120dy = kdiv(ToReal(-0.00833333333333333333333333333333),dy);
+ CCTK_REAL_VEC const pm1o120dz = kdiv(ToReal(-0.00833333333333333333333333333333),dz);
+ CCTK_REAL_VEC const pm1o12dx2 = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dx,dx));
+ CCTK_REAL_VEC const pm1o12dy2 = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dy,dy));
+ CCTK_REAL_VEC const pm1o12dz2 = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dz,dz));
+ CCTK_REAL_VEC const pm1o2dx = kdiv(ToReal(-0.5),dx);
+ CCTK_REAL_VEC const pm1o2dy = kdiv(ToReal(-0.5),dy);
+ CCTK_REAL_VEC const pm1o2dz = kdiv(ToReal(-0.5),dz);
+ CCTK_REAL_VEC const pm1o4dx = kdiv(ToReal(-0.25),dx);
+ CCTK_REAL_VEC const pm1o4dy = kdiv(ToReal(-0.25),dy);
+ CCTK_REAL_VEC const pm1o4dz = kdiv(ToReal(-0.25),dz);
+ CCTK_REAL_VEC const pm1o60dx = kdiv(ToReal(-0.0166666666666666666666666666667),dx);
+ CCTK_REAL_VEC const pm1o60dy = kdiv(ToReal(-0.0166666666666666666666666666667),dy);
+ CCTK_REAL_VEC const pm1o60dz = kdiv(ToReal(-0.0166666666666666666666666666667),dz);
/* Jacobian variable pointers */
bool const use_jacobian = (!CCTK_IsFunctionAliased("MultiPatch_GetMap") || MultiPatch_GetMap(cctkGH) != jacobian_identity_map)
@@ -231,7 +235,7 @@ static void ML_CCZ4_RHSStaticBoundary_Body(cGH const * restrict const cctkGH, in
#pragma omp parallel
LC_LOOP3VEC(ML_CCZ4_RHSStaticBoundary,
i,j,k, imin[0],imin[1],imin[2], imax[0],imax[1],imax[2],
- cctk_lsh[0],cctk_lsh[1],cctk_lsh[2],
+ cctk_ash[0],cctk_ash[1],cctk_ash[2],
CCTK_REAL_VEC_SIZE)
{
ptrdiff_t const index = di*i + dj*j + dk*k;
diff --git a/ML_CCZ4/src/ML_CCZ4_boundary.cc b/ML_CCZ4/src/ML_CCZ4_boundary.cc
index e5aeddd..0e1a583 100644
--- a/ML_CCZ4/src/ML_CCZ4_boundary.cc
+++ b/ML_CCZ4/src/ML_CCZ4_boundary.cc
@@ -18,10 +18,14 @@
/* Define macros used in calculations */
#define INITVALUE (42)
-#define QAD(x) (SQR(SQR(x)))
+#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 ML_CCZ4_boundary_SelectBCs(CCTK_ARGUMENTS)
{
@@ -95,84 +99,84 @@ static void ML_CCZ4_boundary_Body(cGH const * restrict const cctkGH, int const d
CCTK_REAL_VEC const hdzi = kmul(ToReal(0.5), dzi);
/* Initialize predefined quantities */
- CCTK_REAL_VEC const p1o1024dx = kmul(INV(dx),ToReal(0.0009765625));
- CCTK_REAL_VEC const p1o1024dy = kmul(INV(dy),ToReal(0.0009765625));
- CCTK_REAL_VEC const p1o1024dz = kmul(INV(dz),ToReal(0.0009765625));
- CCTK_REAL_VEC const p1o120dx = kmul(INV(dx),ToReal(0.00833333333333333333333333333333));
- CCTK_REAL_VEC const p1o120dy = kmul(INV(dy),ToReal(0.00833333333333333333333333333333));
- CCTK_REAL_VEC const p1o120dz = kmul(INV(dz),ToReal(0.00833333333333333333333333333333));
- CCTK_REAL_VEC const p1o12dx = kmul(INV(dx),ToReal(0.0833333333333333333333333333333));
- CCTK_REAL_VEC const p1o12dy = kmul(INV(dy),ToReal(0.0833333333333333333333333333333));
- CCTK_REAL_VEC const p1o12dz = kmul(INV(dz),ToReal(0.0833333333333333333333333333333));
- CCTK_REAL_VEC const p1o144dxdy = kmul(INV(kmul(dx,dy)),ToReal(0.00694444444444444444444444444444));
- CCTK_REAL_VEC const p1o144dxdz = kmul(INV(kmul(dx,dz)),ToReal(0.00694444444444444444444444444444));
- CCTK_REAL_VEC const p1o144dydz = kmul(INV(kmul(dy,dz)),ToReal(0.00694444444444444444444444444444));
- CCTK_REAL_VEC const p1o1680dx = kmul(INV(dx),ToReal(0.000595238095238095238095238095238));
- CCTK_REAL_VEC const p1o1680dy = kmul(INV(dy),ToReal(0.000595238095238095238095238095238));
- CCTK_REAL_VEC const p1o1680dz = kmul(INV(dz),ToReal(0.000595238095238095238095238095238));
- CCTK_REAL_VEC const p1o16dx = kmul(INV(dx),ToReal(0.0625));
- CCTK_REAL_VEC const p1o16dy = kmul(INV(dy),ToReal(0.0625));
- CCTK_REAL_VEC const p1o16dz = kmul(INV(dz),ToReal(0.0625));
- CCTK_REAL_VEC const p1o180dx2 = kmul(INV(SQR(dx)),ToReal(0.00555555555555555555555555555556));
- CCTK_REAL_VEC const p1o180dy2 = kmul(INV(SQR(dy)),ToReal(0.00555555555555555555555555555556));
- CCTK_REAL_VEC const p1o180dz2 = kmul(INV(SQR(dz)),ToReal(0.00555555555555555555555555555556));
- CCTK_REAL_VEC const p1o24dx = kmul(INV(dx),ToReal(0.0416666666666666666666666666667));
- CCTK_REAL_VEC const p1o24dy = kmul(INV(dy),ToReal(0.0416666666666666666666666666667));
- CCTK_REAL_VEC const p1o24dz = kmul(INV(dz),ToReal(0.0416666666666666666666666666667));
- CCTK_REAL_VEC const p1o256dx = kmul(INV(dx),ToReal(0.00390625));
- CCTK_REAL_VEC const p1o256dy = kmul(INV(dy),ToReal(0.00390625));
- CCTK_REAL_VEC const p1o256dz = kmul(INV(dz),ToReal(0.00390625));
- CCTK_REAL_VEC const p1o2dx = kmul(INV(dx),ToReal(0.5));
- CCTK_REAL_VEC const p1o2dy = kmul(INV(dy),ToReal(0.5));
- CCTK_REAL_VEC const p1o2dz = kmul(INV(dz),ToReal(0.5));
- CCTK_REAL_VEC const p1o3600dxdy = kmul(INV(kmul(dx,dy)),ToReal(0.000277777777777777777777777777778));
- CCTK_REAL_VEC const p1o3600dxdz = kmul(INV(kmul(dx,dz)),ToReal(0.000277777777777777777777777777778));
- CCTK_REAL_VEC const p1o3600dydz = kmul(INV(kmul(dy,dz)),ToReal(0.000277777777777777777777777777778));
- CCTK_REAL_VEC const p1o4dx = kmul(INV(dx),ToReal(0.25));
- CCTK_REAL_VEC const p1o4dxdy = kmul(INV(kmul(dx,dy)),ToReal(0.25));
- CCTK_REAL_VEC const p1o4dxdz = kmul(INV(kmul(dx,dz)),ToReal(0.25));
- CCTK_REAL_VEC const p1o4dy = kmul(INV(dy),ToReal(0.25));
- CCTK_REAL_VEC const p1o4dydz = kmul(INV(kmul(dy,dz)),ToReal(0.25));
- CCTK_REAL_VEC const p1o4dz = kmul(INV(dz),ToReal(0.25));
- CCTK_REAL_VEC const p1o5040dx2 = kmul(INV(SQR(dx)),ToReal(0.000198412698412698412698412698413));
- CCTK_REAL_VEC const p1o5040dy2 = kmul(INV(SQR(dy)),ToReal(0.000198412698412698412698412698413));
- CCTK_REAL_VEC const p1o5040dz2 = kmul(INV(SQR(dz)),ToReal(0.000198412698412698412698412698413));
- CCTK_REAL_VEC const p1o560dx = kmul(INV(dx),ToReal(0.00178571428571428571428571428571));
- CCTK_REAL_VEC const p1o560dy = kmul(INV(dy),ToReal(0.00178571428571428571428571428571));
- CCTK_REAL_VEC const p1o560dz = kmul(INV(dz),ToReal(0.00178571428571428571428571428571));
- CCTK_REAL_VEC const p1o60dx = kmul(INV(dx),ToReal(0.0166666666666666666666666666667));
- CCTK_REAL_VEC const p1o60dy = kmul(INV(dy),ToReal(0.0166666666666666666666666666667));
- CCTK_REAL_VEC const p1o60dz = kmul(INV(dz),ToReal(0.0166666666666666666666666666667));
- CCTK_REAL_VEC const p1o64dx = kmul(INV(dx),ToReal(0.015625));
- CCTK_REAL_VEC const p1o64dy = kmul(INV(dy),ToReal(0.015625));
- CCTK_REAL_VEC const p1o64dz = kmul(INV(dz),ToReal(0.015625));
- CCTK_REAL_VEC const p1o705600dxdy = kmul(INV(kmul(dx,dy)),ToReal(1.41723356009070294784580498866e-6));
- CCTK_REAL_VEC const p1o705600dxdz = kmul(INV(kmul(dx,dz)),ToReal(1.41723356009070294784580498866e-6));
- CCTK_REAL_VEC const p1o705600dydz = kmul(INV(kmul(dy,dz)),ToReal(1.41723356009070294784580498866e-6));
- CCTK_REAL_VEC const p1o840dx = kmul(INV(dx),ToReal(0.00119047619047619047619047619048));
- CCTK_REAL_VEC const p1o840dy = kmul(INV(dy),ToReal(0.00119047619047619047619047619048));
- CCTK_REAL_VEC const p1o840dz = kmul(INV(dz),ToReal(0.00119047619047619047619047619048));
- CCTK_REAL_VEC const p1odx = INV(dx);
- CCTK_REAL_VEC const p1odx2 = INV(SQR(dx));
- CCTK_REAL_VEC const p1ody = INV(dy);
- CCTK_REAL_VEC const p1ody2 = INV(SQR(dy));
- CCTK_REAL_VEC const p1odz = INV(dz);
- CCTK_REAL_VEC const p1odz2 = INV(SQR(dz));
- CCTK_REAL_VEC const pm1o120dx = kmul(INV(dx),ToReal(-0.00833333333333333333333333333333));
- CCTK_REAL_VEC const pm1o120dy = kmul(INV(dy),ToReal(-0.00833333333333333333333333333333));
- CCTK_REAL_VEC const pm1o120dz = kmul(INV(dz),ToReal(-0.00833333333333333333333333333333));
- CCTK_REAL_VEC const pm1o12dx2 = kmul(INV(SQR(dx)),ToReal(-0.0833333333333333333333333333333));
- CCTK_REAL_VEC const pm1o12dy2 = kmul(INV(SQR(dy)),ToReal(-0.0833333333333333333333333333333));
- CCTK_REAL_VEC const pm1o12dz2 = kmul(INV(SQR(dz)),ToReal(-0.0833333333333333333333333333333));
- CCTK_REAL_VEC const pm1o2dx = kmul(INV(dx),ToReal(-0.5));
- CCTK_REAL_VEC const pm1o2dy = kmul(INV(dy),ToReal(-0.5));
- CCTK_REAL_VEC const pm1o2dz = kmul(INV(dz),ToReal(-0.5));
- CCTK_REAL_VEC const pm1o4dx = kmul(INV(dx),ToReal(-0.25));
- CCTK_REAL_VEC const pm1o4dy = kmul(INV(dy),ToReal(-0.25));
- CCTK_REAL_VEC const pm1o4dz = kmul(INV(dz),ToReal(-0.25));
- CCTK_REAL_VEC const pm1o60dx = kmul(INV(dx),ToReal(-0.0166666666666666666666666666667));
- CCTK_REAL_VEC const pm1o60dy = kmul(INV(dy),ToReal(-0.0166666666666666666666666666667));
- CCTK_REAL_VEC const pm1o60dz = kmul(INV(dz),ToReal(-0.0166666666666666666666666666667));
+ CCTK_REAL_VEC const p1o1024dx = kdiv(ToReal(0.0009765625),dx);
+ CCTK_REAL_VEC const p1o1024dy = kdiv(ToReal(0.0009765625),dy);
+ CCTK_REAL_VEC const p1o1024dz = kdiv(ToReal(0.0009765625),dz);
+ CCTK_REAL_VEC const p1o120dx = kdiv(ToReal(0.00833333333333333333333333333333),dx);
+ CCTK_REAL_VEC const p1o120dy = kdiv(ToReal(0.00833333333333333333333333333333),dy);
+ CCTK_REAL_VEC const p1o120dz = kdiv(ToReal(0.00833333333333333333333333333333),dz);
+ CCTK_REAL_VEC const p1o12dx = kdiv(ToReal(0.0833333333333333333333333333333),dx);
+ CCTK_REAL_VEC const p1o12dy = kdiv(ToReal(0.0833333333333333333333333333333),dy);
+ CCTK_REAL_VEC const p1o12dz = kdiv(ToReal(0.0833333333333333333333333333333),dz);
+ CCTK_REAL_VEC const p1o144dxdy = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dy,dx));
+ CCTK_REAL_VEC const p1o144dxdz = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dx));
+ CCTK_REAL_VEC const p1o144dydz = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dy));
+ CCTK_REAL_VEC const p1o1680dx = kdiv(ToReal(0.000595238095238095238095238095238),dx);
+ CCTK_REAL_VEC const p1o1680dy = kdiv(ToReal(0.000595238095238095238095238095238),dy);
+ CCTK_REAL_VEC const p1o1680dz = kdiv(ToReal(0.000595238095238095238095238095238),dz);
+ CCTK_REAL_VEC const p1o16dx = kdiv(ToReal(0.0625),dx);
+ CCTK_REAL_VEC const p1o16dy = kdiv(ToReal(0.0625),dy);
+ CCTK_REAL_VEC const p1o16dz = kdiv(ToReal(0.0625),dz);
+ CCTK_REAL_VEC const p1o180dx2 = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dx,dx));
+ CCTK_REAL_VEC const p1o180dy2 = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dy,dy));
+ CCTK_REAL_VEC const p1o180dz2 = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dz,dz));
+ CCTK_REAL_VEC const p1o24dx = kdiv(ToReal(0.0416666666666666666666666666667),dx);
+ CCTK_REAL_VEC const p1o24dy = kdiv(ToReal(0.0416666666666666666666666666667),dy);
+ CCTK_REAL_VEC const p1o24dz = kdiv(ToReal(0.0416666666666666666666666666667),dz);
+ CCTK_REAL_VEC const p1o256dx = kdiv(ToReal(0.00390625),dx);
+ CCTK_REAL_VEC const p1o256dy = kdiv(ToReal(0.00390625),dy);
+ CCTK_REAL_VEC const p1o256dz = kdiv(ToReal(0.00390625),dz);
+ CCTK_REAL_VEC const p1o2dx = kdiv(ToReal(0.5),dx);
+ CCTK_REAL_VEC const p1o2dy = kdiv(ToReal(0.5),dy);
+ CCTK_REAL_VEC const p1o2dz = kdiv(ToReal(0.5),dz);
+ CCTK_REAL_VEC const p1o3600dxdy = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dy,dx));
+ CCTK_REAL_VEC const p1o3600dxdz = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dx));
+ CCTK_REAL_VEC const p1o3600dydz = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dy));
+ CCTK_REAL_VEC const p1o4dx = kdiv(ToReal(0.25),dx);
+ CCTK_REAL_VEC const p1o4dxdy = kdiv(ToReal(0.25),kmul(dy,dx));
+ CCTK_REAL_VEC const p1o4dxdz = kdiv(ToReal(0.25),kmul(dz,dx));
+ CCTK_REAL_VEC const p1o4dy = kdiv(ToReal(0.25),dy);
+ CCTK_REAL_VEC const p1o4dydz = kdiv(ToReal(0.25),kmul(dz,dy));
+ CCTK_REAL_VEC const p1o4dz = kdiv(ToReal(0.25),dz);
+ CCTK_REAL_VEC const p1o5040dx2 = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dx,dx));
+ CCTK_REAL_VEC const p1o5040dy2 = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dy,dy));
+ CCTK_REAL_VEC const p1o5040dz2 = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dz,dz));
+ CCTK_REAL_VEC const p1o560dx = kdiv(ToReal(0.00178571428571428571428571428571),dx);
+ CCTK_REAL_VEC const p1o560dy = kdiv(ToReal(0.00178571428571428571428571428571),dy);
+ CCTK_REAL_VEC const p1o560dz = kdiv(ToReal(0.00178571428571428571428571428571),dz);
+ CCTK_REAL_VEC const p1o60dx = kdiv(ToReal(0.0166666666666666666666666666667),dx);
+ CCTK_REAL_VEC const p1o60dy = kdiv(ToReal(0.0166666666666666666666666666667),dy);
+ CCTK_REAL_VEC const p1o60dz = kdiv(ToReal(0.0166666666666666666666666666667),dz);
+ CCTK_REAL_VEC const p1o64dx = kdiv(ToReal(0.015625),dx);
+ CCTK_REAL_VEC const p1o64dy = kdiv(ToReal(0.015625),dy);
+ CCTK_REAL_VEC const p1o64dz = kdiv(ToReal(0.015625),dz);
+ CCTK_REAL_VEC const p1o705600dxdy = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dy,dx));
+ CCTK_REAL_VEC const p1o705600dxdz = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dx));
+ CCTK_REAL_VEC const p1o705600dydz = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dy));
+ CCTK_REAL_VEC const p1o840dx = kdiv(ToReal(0.00119047619047619047619047619048),dx);
+ CCTK_REAL_VEC const p1o840dy = kdiv(ToReal(0.00119047619047619047619047619048),dy);
+ CCTK_REAL_VEC const p1o840dz = kdiv(ToReal(0.00119047619047619047619047619048),dz);
+ CCTK_REAL_VEC const p1odx = kdiv(ToReal(1),dx);
+ CCTK_REAL_VEC const p1odx2 = kdiv(ToReal(1),kmul(dx,dx));
+ CCTK_REAL_VEC const p1ody = kdiv(ToReal(1),dy);
+ CCTK_REAL_VEC const p1ody2 = kdiv(ToReal(1),kmul(dy,dy));
+ CCTK_REAL_VEC const p1odz = kdiv(ToReal(1),dz);
+ CCTK_REAL_VEC const p1odz2 = kdiv(ToReal(1),kmul(dz,dz));
+ CCTK_REAL_VEC const pm1o120dx = kdiv(ToReal(-0.00833333333333333333333333333333),dx);
+ CCTK_REAL_VEC const pm1o120dy = kdiv(ToReal(-0.00833333333333333333333333333333),dy);
+ CCTK_REAL_VEC const pm1o120dz = kdiv(ToReal(-0.00833333333333333333333333333333),dz);
+ CCTK_REAL_VEC const pm1o12dx2 = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dx,dx));
+ CCTK_REAL_VEC const pm1o12dy2 = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dy,dy));
+ CCTK_REAL_VEC const pm1o12dz2 = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dz,dz));
+ CCTK_REAL_VEC const pm1o2dx = kdiv(ToReal(-0.5),dx);
+ CCTK_REAL_VEC const pm1o2dy = kdiv(ToReal(-0.5),dy);
+ CCTK_REAL_VEC const pm1o2dz = kdiv(ToReal(-0.5),dz);
+ CCTK_REAL_VEC const pm1o4dx = kdiv(ToReal(-0.25),dx);
+ CCTK_REAL_VEC const pm1o4dy = kdiv(ToReal(-0.25),dy);
+ CCTK_REAL_VEC const pm1o4dz = kdiv(ToReal(-0.25),dz);
+ CCTK_REAL_VEC const pm1o60dx = kdiv(ToReal(-0.0166666666666666666666666666667),dx);
+ CCTK_REAL_VEC const pm1o60dy = kdiv(ToReal(-0.0166666666666666666666666666667),dy);
+ CCTK_REAL_VEC const pm1o60dz = kdiv(ToReal(-0.0166666666666666666666666666667),dz);
/* Jacobian variable pointers */
bool const use_jacobian = (!CCTK_IsFunctionAliased("MultiPatch_GetMap") || MultiPatch_GetMap(cctkGH) != jacobian_identity_map)
@@ -231,7 +235,7 @@ static void ML_CCZ4_boundary_Body(cGH const * restrict const cctkGH, int const d
#pragma omp parallel
LC_LOOP3VEC(ML_CCZ4_boundary,
i,j,k, imin[0],imin[1],imin[2], imax[0],imax[1],imax[2],
- cctk_lsh[0],cctk_lsh[1],cctk_lsh[2],
+ cctk_ash[0],cctk_ash[1],cctk_ash[2],
CCTK_REAL_VEC_SIZE)
{
ptrdiff_t const index = di*i + dj*j + dk*k;
diff --git a/ML_CCZ4/src/ML_CCZ4_constraints1.cc b/ML_CCZ4/src/ML_CCZ4_constraints1.cc
index 0877287..9791001 100644
--- a/ML_CCZ4/src/ML_CCZ4_constraints1.cc
+++ b/ML_CCZ4/src/ML_CCZ4_constraints1.cc
@@ -18,10 +18,14 @@
/* Define macros used in calculations */
#define INITVALUE (42)
-#define QAD(x) (SQR(SQR(x)))
+#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 ML_CCZ4_constraints1_SelectBCs(CCTK_ARGUMENTS)
{
@@ -68,84 +72,84 @@ static void ML_CCZ4_constraints1_Body(cGH const * restrict const cctkGH, int con
CCTK_REAL_VEC const hdzi = kmul(ToReal(0.5), dzi);
/* Initialize predefined quantities */
- CCTK_REAL_VEC const p1o1024dx = kmul(INV(dx),ToReal(0.0009765625));
- CCTK_REAL_VEC const p1o1024dy = kmul(INV(dy),ToReal(0.0009765625));
- CCTK_REAL_VEC const p1o1024dz = kmul(INV(dz),ToReal(0.0009765625));
- CCTK_REAL_VEC const p1o120dx = kmul(INV(dx),ToReal(0.00833333333333333333333333333333));
- CCTK_REAL_VEC const p1o120dy = kmul(INV(dy),ToReal(0.00833333333333333333333333333333));
- CCTK_REAL_VEC const p1o120dz = kmul(INV(dz),ToReal(0.00833333333333333333333333333333));
- CCTK_REAL_VEC const p1o12dx = kmul(INV(dx),ToReal(0.0833333333333333333333333333333));
- CCTK_REAL_VEC const p1o12dy = kmul(INV(dy),ToReal(0.0833333333333333333333333333333));
- CCTK_REAL_VEC const p1o12dz = kmul(INV(dz),ToReal(0.0833333333333333333333333333333));
- CCTK_REAL_VEC const p1o144dxdy = kmul(INV(kmul(dx,dy)),ToReal(0.00694444444444444444444444444444));
- CCTK_REAL_VEC const p1o144dxdz = kmul(INV(kmul(dx,dz)),ToReal(0.00694444444444444444444444444444));
- CCTK_REAL_VEC const p1o144dydz = kmul(INV(kmul(dy,dz)),ToReal(0.00694444444444444444444444444444));
- CCTK_REAL_VEC const p1o1680dx = kmul(INV(dx),ToReal(0.000595238095238095238095238095238));
- CCTK_REAL_VEC const p1o1680dy = kmul(INV(dy),ToReal(0.000595238095238095238095238095238));
- CCTK_REAL_VEC const p1o1680dz = kmul(INV(dz),ToReal(0.000595238095238095238095238095238));
- CCTK_REAL_VEC const p1o16dx = kmul(INV(dx),ToReal(0.0625));
- CCTK_REAL_VEC const p1o16dy = kmul(INV(dy),ToReal(0.0625));
- CCTK_REAL_VEC const p1o16dz = kmul(INV(dz),ToReal(0.0625));
- CCTK_REAL_VEC const p1o180dx2 = kmul(INV(SQR(dx)),ToReal(0.00555555555555555555555555555556));
- CCTK_REAL_VEC const p1o180dy2 = kmul(INV(SQR(dy)),ToReal(0.00555555555555555555555555555556));
- CCTK_REAL_VEC const p1o180dz2 = kmul(INV(SQR(dz)),ToReal(0.00555555555555555555555555555556));
- CCTK_REAL_VEC const p1o24dx = kmul(INV(dx),ToReal(0.0416666666666666666666666666667));
- CCTK_REAL_VEC const p1o24dy = kmul(INV(dy),ToReal(0.0416666666666666666666666666667));
- CCTK_REAL_VEC const p1o24dz = kmul(INV(dz),ToReal(0.0416666666666666666666666666667));
- CCTK_REAL_VEC const p1o256dx = kmul(INV(dx),ToReal(0.00390625));
- CCTK_REAL_VEC const p1o256dy = kmul(INV(dy),ToReal(0.00390625));
- CCTK_REAL_VEC const p1o256dz = kmul(INV(dz),ToReal(0.00390625));
- CCTK_REAL_VEC const p1o2dx = kmul(INV(dx),ToReal(0.5));
- CCTK_REAL_VEC const p1o2dy = kmul(INV(dy),ToReal(0.5));
- CCTK_REAL_VEC const p1o2dz = kmul(INV(dz),ToReal(0.5));
- CCTK_REAL_VEC const p1o3600dxdy = kmul(INV(kmul(dx,dy)),ToReal(0.000277777777777777777777777777778));
- CCTK_REAL_VEC const p1o3600dxdz = kmul(INV(kmul(dx,dz)),ToReal(0.000277777777777777777777777777778));
- CCTK_REAL_VEC const p1o3600dydz = kmul(INV(kmul(dy,dz)),ToReal(0.000277777777777777777777777777778));
- CCTK_REAL_VEC const p1o4dx = kmul(INV(dx),ToReal(0.25));
- CCTK_REAL_VEC const p1o4dxdy = kmul(INV(kmul(dx,dy)),ToReal(0.25));
- CCTK_REAL_VEC const p1o4dxdz = kmul(INV(kmul(dx,dz)),ToReal(0.25));
- CCTK_REAL_VEC const p1o4dy = kmul(INV(dy),ToReal(0.25));
- CCTK_REAL_VEC const p1o4dydz = kmul(INV(kmul(dy,dz)),ToReal(0.25));
- CCTK_REAL_VEC const p1o4dz = kmul(INV(dz),ToReal(0.25));
- CCTK_REAL_VEC const p1o5040dx2 = kmul(INV(SQR(dx)),ToReal(0.000198412698412698412698412698413));
- CCTK_REAL_VEC const p1o5040dy2 = kmul(INV(SQR(dy)),ToReal(0.000198412698412698412698412698413));
- CCTK_REAL_VEC const p1o5040dz2 = kmul(INV(SQR(dz)),ToReal(0.000198412698412698412698412698413));
- CCTK_REAL_VEC const p1o560dx = kmul(INV(dx),ToReal(0.00178571428571428571428571428571));
- CCTK_REAL_VEC const p1o560dy = kmul(INV(dy),ToReal(0.00178571428571428571428571428571));
- CCTK_REAL_VEC const p1o560dz = kmul(INV(dz),ToReal(0.00178571428571428571428571428571));
- CCTK_REAL_VEC const p1o60dx = kmul(INV(dx),ToReal(0.0166666666666666666666666666667));
- CCTK_REAL_VEC const p1o60dy = kmul(INV(dy),ToReal(0.0166666666666666666666666666667));
- CCTK_REAL_VEC const p1o60dz = kmul(INV(dz),ToReal(0.0166666666666666666666666666667));
- CCTK_REAL_VEC const p1o64dx = kmul(INV(dx),ToReal(0.015625));
- CCTK_REAL_VEC const p1o64dy = kmul(INV(dy),ToReal(0.015625));
- CCTK_REAL_VEC const p1o64dz = kmul(INV(dz),ToReal(0.015625));
- CCTK_REAL_VEC const p1o705600dxdy = kmul(INV(kmul(dx,dy)),ToReal(1.41723356009070294784580498866e-6));
- CCTK_REAL_VEC const p1o705600dxdz = kmul(INV(kmul(dx,dz)),ToReal(1.41723356009070294784580498866e-6));
- CCTK_REAL_VEC const p1o705600dydz = kmul(INV(kmul(dy,dz)),ToReal(1.41723356009070294784580498866e-6));
- CCTK_REAL_VEC const p1o840dx = kmul(INV(dx),ToReal(0.00119047619047619047619047619048));
- CCTK_REAL_VEC const p1o840dy = kmul(INV(dy),ToReal(0.00119047619047619047619047619048));
- CCTK_REAL_VEC const p1o840dz = kmul(INV(dz),ToReal(0.00119047619047619047619047619048));
- CCTK_REAL_VEC const p1odx = INV(dx);
- CCTK_REAL_VEC const p1odx2 = INV(SQR(dx));
- CCTK_REAL_VEC const p1ody = INV(dy);
- CCTK_REAL_VEC const p1ody2 = INV(SQR(dy));
- CCTK_REAL_VEC const p1odz = INV(dz);
- CCTK_REAL_VEC const p1odz2 = INV(SQR(dz));
- CCTK_REAL_VEC const pm1o120dx = kmul(INV(dx),ToReal(-0.00833333333333333333333333333333));
- CCTK_REAL_VEC const pm1o120dy = kmul(INV(dy),ToReal(-0.00833333333333333333333333333333));
- CCTK_REAL_VEC const pm1o120dz = kmul(INV(dz),ToReal(-0.00833333333333333333333333333333));
- CCTK_REAL_VEC const pm1o12dx2 = kmul(INV(SQR(dx)),ToReal(-0.0833333333333333333333333333333));
- CCTK_REAL_VEC const pm1o12dy2 = kmul(INV(SQR(dy)),ToReal(-0.0833333333333333333333333333333));
- CCTK_REAL_VEC const pm1o12dz2 = kmul(INV(SQR(dz)),ToReal(-0.0833333333333333333333333333333));
- CCTK_REAL_VEC const pm1o2dx = kmul(INV(dx),ToReal(-0.5));
- CCTK_REAL_VEC const pm1o2dy = kmul(INV(dy),ToReal(-0.5));
- CCTK_REAL_VEC const pm1o2dz = kmul(INV(dz),ToReal(-0.5));
- CCTK_REAL_VEC const pm1o4dx = kmul(INV(dx),ToReal(-0.25));
- CCTK_REAL_VEC const pm1o4dy = kmul(INV(dy),ToReal(-0.25));
- CCTK_REAL_VEC const pm1o4dz = kmul(INV(dz),ToReal(-0.25));
- CCTK_REAL_VEC const pm1o60dx = kmul(INV(dx),ToReal(-0.0166666666666666666666666666667));
- CCTK_REAL_VEC const pm1o60dy = kmul(INV(dy),ToReal(-0.0166666666666666666666666666667));
- CCTK_REAL_VEC const pm1o60dz = kmul(INV(dz),ToReal(-0.0166666666666666666666666666667));
+ CCTK_REAL_VEC const p1o1024dx = kdiv(ToReal(0.0009765625),dx);
+ CCTK_REAL_VEC const p1o1024dy = kdiv(ToReal(0.0009765625),dy);
+ CCTK_REAL_VEC const p1o1024dz = kdiv(ToReal(0.0009765625),dz);
+ CCTK_REAL_VEC const p1o120dx = kdiv(ToReal(0.00833333333333333333333333333333),dx);
+ CCTK_REAL_VEC const p1o120dy = kdiv(ToReal(0.00833333333333333333333333333333),dy);
+ CCTK_REAL_VEC const p1o120dz = kdiv(ToReal(0.00833333333333333333333333333333),dz);
+ CCTK_REAL_VEC const p1o12dx = kdiv(ToReal(0.0833333333333333333333333333333),dx);
+ CCTK_REAL_VEC const p1o12dy = kdiv(ToReal(0.0833333333333333333333333333333),dy);
+ CCTK_REAL_VEC const p1o12dz = kdiv(ToReal(0.0833333333333333333333333333333),dz);
+ CCTK_REAL_VEC const p1o144dxdy = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dy,dx));
+ CCTK_REAL_VEC const p1o144dxdz = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dx));
+ CCTK_REAL_VEC const p1o144dydz = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dy));
+ CCTK_REAL_VEC const p1o1680dx = kdiv(ToReal(0.000595238095238095238095238095238),dx);
+ CCTK_REAL_VEC const p1o1680dy = kdiv(ToReal(0.000595238095238095238095238095238),dy);
+ CCTK_REAL_VEC const p1o1680dz = kdiv(ToReal(0.000595238095238095238095238095238),dz);
+ CCTK_REAL_VEC const p1o16dx = kdiv(ToReal(0.0625),dx);
+ CCTK_REAL_VEC const p1o16dy = kdiv(ToReal(0.0625),dy);
+ CCTK_REAL_VEC const p1o16dz = kdiv(ToReal(0.0625),dz);
+ CCTK_REAL_VEC const p1o180dx2 = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dx,dx));
+ CCTK_REAL_VEC const p1o180dy2 = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dy,dy));
+ CCTK_REAL_VEC const p1o180dz2 = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dz,dz));
+ CCTK_REAL_VEC const p1o24dx = kdiv(ToReal(0.0416666666666666666666666666667),dx);
+ CCTK_REAL_VEC const p1o24dy = kdiv(ToReal(0.0416666666666666666666666666667),dy);
+ CCTK_REAL_VEC const p1o24dz = kdiv(ToReal(0.0416666666666666666666666666667),dz);
+ CCTK_REAL_VEC const p1o256dx = kdiv(ToReal(0.00390625),dx);
+ CCTK_REAL_VEC const p1o256dy = kdiv(ToReal(0.00390625),dy);
+ CCTK_REAL_VEC const p1o256dz = kdiv(ToReal(0.00390625),dz);
+ CCTK_REAL_VEC const p1o2dx = kdiv(ToReal(0.5),dx);
+ CCTK_REAL_VEC const p1o2dy = kdiv(ToReal(0.5),dy);
+ CCTK_REAL_VEC const p1o2dz = kdiv(ToReal(0.5),dz);
+ CCTK_REAL_VEC const p1o3600dxdy = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dy,dx));
+ CCTK_REAL_VEC const p1o3600dxdz = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dx));
+ CCTK_REAL_VEC const p1o3600dydz = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dy));
+ CCTK_REAL_VEC const p1o4dx = kdiv(ToReal(0.25),dx);
+ CCTK_REAL_VEC const p1o4dxdy = kdiv(ToReal(0.25),kmul(dy,dx));
+ CCTK_REAL_VEC const p1o4dxdz = kdiv(ToReal(0.25),kmul(dz,dx));
+ CCTK_REAL_VEC const p1o4dy = kdiv(ToReal(0.25),dy);
+ CCTK_REAL_VEC const p1o4dydz = kdiv(ToReal(0.25),kmul(dz,dy));
+ CCTK_REAL_VEC const p1o4dz = kdiv(ToReal(0.25),dz);
+ CCTK_REAL_VEC const p1o5040dx2 = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dx,dx));
+ CCTK_REAL_VEC const p1o5040dy2 = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dy,dy));
+ CCTK_REAL_VEC const p1o5040dz2 = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dz,dz));
+ CCTK_REAL_VEC const p1o560dx = kdiv(ToReal(0.00178571428571428571428571428571),dx);
+ CCTK_REAL_VEC const p1o560dy = kdiv(ToReal(0.00178571428571428571428571428571),dy);
+ CCTK_REAL_VEC const p1o560dz = kdiv(ToReal(0.00178571428571428571428571428571),dz);
+ CCTK_REAL_VEC const p1o60dx = kdiv(ToReal(0.0166666666666666666666666666667),dx);
+ CCTK_REAL_VEC const p1o60dy = kdiv(ToReal(0.0166666666666666666666666666667),dy);
+ CCTK_REAL_VEC const p1o60dz = kdiv(ToReal(0.0166666666666666666666666666667),dz);
+ CCTK_REAL_VEC const p1o64dx = kdiv(ToReal(0.015625),dx);
+ CCTK_REAL_VEC const p1o64dy = kdiv(ToReal(0.015625),dy);
+ CCTK_REAL_VEC const p1o64dz = kdiv(ToReal(0.015625),dz);
+ CCTK_REAL_VEC const p1o705600dxdy = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dy,dx));
+ CCTK_REAL_VEC const p1o705600dxdz = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dx));
+ CCTK_REAL_VEC const p1o705600dydz = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dy));
+ CCTK_REAL_VEC const p1o840dx = kdiv(ToReal(0.00119047619047619047619047619048),dx);
+ CCTK_REAL_VEC const p1o840dy = kdiv(ToReal(0.00119047619047619047619047619048),dy);
+ CCTK_REAL_VEC const p1o840dz = kdiv(ToReal(0.00119047619047619047619047619048),dz);
+ CCTK_REAL_VEC const p1odx = kdiv(ToReal(1),dx);
+ CCTK_REAL_VEC const p1odx2 = kdiv(ToReal(1),kmul(dx,dx));
+ CCTK_REAL_VEC const p1ody = kdiv(ToReal(1),dy);
+ CCTK_REAL_VEC const p1ody2 = kdiv(ToReal(1),kmul(dy,dy));
+ CCTK_REAL_VEC const p1odz = kdiv(ToReal(1),dz);
+ CCTK_REAL_VEC const p1odz2 = kdiv(ToReal(1),kmul(dz,dz));
+ CCTK_REAL_VEC const pm1o120dx = kdiv(ToReal(-0.00833333333333333333333333333333),dx);
+ CCTK_REAL_VEC const pm1o120dy = kdiv(ToReal(-0.00833333333333333333333333333333),dy);
+ CCTK_REAL_VEC const pm1o120dz = kdiv(ToReal(-0.00833333333333333333333333333333),dz);
+ CCTK_REAL_VEC const pm1o12dx2 = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dx,dx));
+ CCTK_REAL_VEC const pm1o12dy2 = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dy,dy));
+ CCTK_REAL_VEC const pm1o12dz2 = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dz,dz));
+ CCTK_REAL_VEC const pm1o2dx = kdiv(ToReal(-0.5),dx);
+ CCTK_REAL_VEC const pm1o2dy = kdiv(ToReal(-0.5),dy);
+ CCTK_REAL_VEC const pm1o2dz = kdiv(ToReal(-0.5),dz);
+ CCTK_REAL_VEC const pm1o4dx = kdiv(ToReal(-0.25),dx);
+ CCTK_REAL_VEC const pm1o4dy = kdiv(ToReal(-0.25),dy);
+ CCTK_REAL_VEC const pm1o4dz = kdiv(ToReal(-0.25),dz);
+ CCTK_REAL_VEC const pm1o60dx = kdiv(ToReal(-0.0166666666666666666666666666667),dx);
+ CCTK_REAL_VEC const pm1o60dy = kdiv(ToReal(-0.0166666666666666666666666666667),dy);
+ CCTK_REAL_VEC const pm1o60dz = kdiv(ToReal(-0.0166666666666666666666666666667),dz);
/* Jacobian variable pointers */
bool const use_jacobian = (!CCTK_IsFunctionAliased("MultiPatch_GetMap") || MultiPatch_GetMap(cctkGH) != jacobian_identity_map)
@@ -204,7 +208,7 @@ static void ML_CCZ4_constraints1_Body(cGH const * restrict const cctkGH, int con
#pragma omp parallel
LC_LOOP3VEC(ML_CCZ4_constraints1,
i,j,k, imin[0],imin[1],imin[2], imax[0],imax[1],imax[2],
- cctk_lsh[0],cctk_lsh[1],cctk_lsh[2],
+ cctk_ash[0],cctk_ash[1],cctk_ash[2],
CCTK_REAL_VEC_SIZE)
{
ptrdiff_t const index = di*i + dj*j + dk*k;
@@ -859,67 +863,67 @@ static void ML_CCZ4_constraints1_Body(cGH const * restrict const cctkGH, int con
kmadd(J13L,PDstandardNth1Xt3,kmadd(J23L,PDstandardNth2Xt3,kmul(J33L,PDstandardNth3Xt3)));
JacPDstandardNth11gt11 =
- kmadd(dJ111L,PDstandardNth1gt11,kmadd(dJ211L,PDstandardNth2gt11,kmadd(dJ311L,PDstandardNth3gt11,kmadd(PDstandardNth11gt11,SQR(J11L),kmadd(PDstandardNth22gt11,SQR(J21L),kmadd(PDstandardNth33gt11,SQR(J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12gt11,kmul(J31L,PDstandardNth13gt11)),kmul(J21L,kmul(J31L,PDstandardNth23gt11))),ToReal(2))))))));
+ kmadd(dJ111L,PDstandardNth1gt11,kmadd(dJ211L,PDstandardNth2gt11,kmadd(dJ311L,PDstandardNth3gt11,kmadd(PDstandardNth11gt11,kmul(J11L,J11L),kmadd(PDstandardNth22gt11,kmul(J21L,J21L),kmadd(PDstandardNth33gt11,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12gt11,kmul(J31L,PDstandardNth13gt11)),kmul(J21L,kmul(J31L,PDstandardNth23gt11))),ToReal(2))))))));
JacPDstandardNth11gt12 =
- kmadd(dJ111L,PDstandardNth1gt12,kmadd(dJ211L,PDstandardNth2gt12,kmadd(dJ311L,PDstandardNth3gt12,kmadd(PDstandardNth11gt12,SQR(J11L),kmadd(PDstandardNth22gt12,SQR(J21L),kmadd(PDstandardNth33gt12,SQR(J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12gt12,kmul(J31L,PDstandardNth13gt12)),kmul(J21L,kmul(J31L,PDstandardNth23gt12))),ToReal(2))))))));
+ kmadd(dJ111L,PDstandardNth1gt12,kmadd(dJ211L,PDstandardNth2gt12,kmadd(dJ311L,PDstandardNth3gt12,kmadd(PDstandardNth11gt12,kmul(J11L,J11L),kmadd(PDstandardNth22gt12,kmul(J21L,J21L),kmadd(PDstandardNth33gt12,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12gt12,kmul(J31L,PDstandardNth13gt12)),kmul(J21L,kmul(J31L,PDstandardNth23gt12))),ToReal(2))))))));
JacPDstandardNth11gt13 =
- kmadd(dJ111L,PDstandardNth1gt13,kmadd(dJ211L,PDstandardNth2gt13,kmadd(dJ311L,PDstandardNth3gt13,kmadd(PDstandardNth11gt13,SQR(J11L),kmadd(PDstandardNth22gt13,SQR(J21L),kmadd(PDstandardNth33gt13,SQR(J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12gt13,kmul(J31L,PDstandardNth13gt13)),kmul(J21L,kmul(J31L,PDstandardNth23gt13))),ToReal(2))))))));
+ kmadd(dJ111L,PDstandardNth1gt13,kmadd(dJ211L,PDstandardNth2gt13,kmadd(dJ311L,PDstandardNth3gt13,kmadd(PDstandardNth11gt13,kmul(J11L,J11L),kmadd(PDstandardNth22gt13,kmul(J21L,J21L),kmadd(PDstandardNth33gt13,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12gt13,kmul(J31L,PDstandardNth13gt13)),kmul(J21L,kmul(J31L,PDstandardNth23gt13))),ToReal(2))))))));
JacPDstandardNth11gt22 =
- kmadd(dJ111L,PDstandardNth1gt22,kmadd(dJ211L,PDstandardNth2gt22,kmadd(dJ311L,PDstandardNth3gt22,kmadd(PDstandardNth11gt22,SQR(J11L),kmadd(PDstandardNth22gt22,SQR(J21L),kmadd(PDstandardNth33gt22,SQR(J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12gt22,kmul(J31L,PDstandardNth13gt22)),kmul(J21L,kmul(J31L,PDstandardNth23gt22))),ToReal(2))))))));
+ kmadd(dJ111L,PDstandardNth1gt22,kmadd(dJ211L,PDstandardNth2gt22,kmadd(dJ311L,PDstandardNth3gt22,kmadd(PDstandardNth11gt22,kmul(J11L,J11L),kmadd(PDstandardNth22gt22,kmul(J21L,J21L),kmadd(PDstandardNth33gt22,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12gt22,kmul(J31L,PDstandardNth13gt22)),kmul(J21L,kmul(J31L,PDstandardNth23gt22))),ToReal(2))))))));
JacPDstandardNth11gt23 =
- kmadd(dJ111L,PDstandardNth1gt23,kmadd(dJ211L,PDstandardNth2gt23,kmadd(dJ311L,PDstandardNth3gt23,kmadd(PDstandardNth11gt23,SQR(J11L),kmadd(PDstandardNth22gt23,SQR(J21L),kmadd(PDstandardNth33gt23,SQR(J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12gt23,kmul(J31L,PDstandardNth13gt23)),kmul(J21L,kmul(J31L,PDstandardNth23gt23))),ToReal(2))))))));
+ kmadd(dJ111L,PDstandardNth1gt23,kmadd(dJ211L,PDstandardNth2gt23,kmadd(dJ311L,PDstandardNth3gt23,kmadd(PDstandardNth11gt23,kmul(J11L,J11L),kmadd(PDstandardNth22gt23,kmul(J21L,J21L),kmadd(PDstandardNth33gt23,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12gt23,kmul(J31L,PDstandardNth13gt23)),kmul(J21L,kmul(J31L,PDstandardNth23gt23))),ToReal(2))))))));
JacPDstandardNth11gt33 =
- kmadd(dJ111L,PDstandardNth1gt33,kmadd(dJ211L,PDstandardNth2gt33,kmadd(dJ311L,PDstandardNth3gt33,kmadd(PDstandardNth11gt33,SQR(J11L),kmadd(PDstandardNth22gt33,SQR(J21L),kmadd(PDstandardNth33gt33,SQR(J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12gt33,kmul(J31L,PDstandardNth13gt33)),kmul(J21L,kmul(J31L,PDstandardNth23gt33))),ToReal(2))))))));
+ kmadd(dJ111L,PDstandardNth1gt33,kmadd(dJ211L,PDstandardNth2gt33,kmadd(dJ311L,PDstandardNth3gt33,kmadd(PDstandardNth11gt33,kmul(J11L,J11L),kmadd(PDstandardNth22gt33,kmul(J21L,J21L),kmadd(PDstandardNth33gt33,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12gt33,kmul(J31L,PDstandardNth13gt33)),kmul(J21L,kmul(J31L,PDstandardNth23gt33))),ToReal(2))))))));
JacPDstandardNth11phi =
- kmadd(dJ111L,PDstandardNth1phi,kmadd(dJ211L,PDstandardNth2phi,kmadd(dJ311L,PDstandardNth3phi,kmadd(PDstandardNth11phi,SQR(J11L),kmadd(PDstandardNth22phi,SQR(J21L),kmadd(PDstandardNth33phi,SQR(J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12phi,kmul(J31L,PDstandardNth13phi)),kmul(J21L,kmul(J31L,PDstandardNth23phi))),ToReal(2))))))));
+ kmadd(dJ111L,PDstandardNth1phi,kmadd(dJ211L,PDstandardNth2phi,kmadd(dJ311L,PDstandardNth3phi,kmadd(PDstandardNth11phi,kmul(J11L,J11L),kmadd(PDstandardNth22phi,kmul(J21L,J21L),kmadd(PDstandardNth33phi,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12phi,kmul(J31L,PDstandardNth13phi)),kmul(J21L,kmul(J31L,PDstandardNth23phi))),ToReal(2))))))));
JacPDstandardNth22gt11 =
- kmadd(dJ122L,PDstandardNth1gt11,kmadd(dJ222L,PDstandardNth2gt11,kmadd(dJ322L,PDstandardNth3gt11,kmadd(PDstandardNth11gt11,SQR(J12L),kmadd(PDstandardNth22gt11,SQR(J22L),kmadd(PDstandardNth33gt11,SQR(J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12gt11,kmul(J32L,PDstandardNth13gt11)),kmul(J22L,kmul(J32L,PDstandardNth23gt11))),ToReal(2))))))));
+ kmadd(dJ122L,PDstandardNth1gt11,kmadd(dJ222L,PDstandardNth2gt11,kmadd(dJ322L,PDstandardNth3gt11,kmadd(PDstandardNth11gt11,kmul(J12L,J12L),kmadd(PDstandardNth22gt11,kmul(J22L,J22L),kmadd(PDstandardNth33gt11,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12gt11,kmul(J32L,PDstandardNth13gt11)),kmul(J22L,kmul(J32L,PDstandardNth23gt11))),ToReal(2))))))));
JacPDstandardNth22gt12 =
- kmadd(dJ122L,PDstandardNth1gt12,kmadd(dJ222L,PDstandardNth2gt12,kmadd(dJ322L,PDstandardNth3gt12,kmadd(PDstandardNth11gt12,SQR(J12L),kmadd(PDstandardNth22gt12,SQR(J22L),kmadd(PDstandardNth33gt12,SQR(J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12gt12,kmul(J32L,PDstandardNth13gt12)),kmul(J22L,kmul(J32L,PDstandardNth23gt12))),ToReal(2))))))));
+ kmadd(dJ122L,PDstandardNth1gt12,kmadd(dJ222L,PDstandardNth2gt12,kmadd(dJ322L,PDstandardNth3gt12,kmadd(PDstandardNth11gt12,kmul(J12L,J12L),kmadd(PDstandardNth22gt12,kmul(J22L,J22L),kmadd(PDstandardNth33gt12,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12gt12,kmul(J32L,PDstandardNth13gt12)),kmul(J22L,kmul(J32L,PDstandardNth23gt12))),ToReal(2))))))));
JacPDstandardNth22gt13 =
- kmadd(dJ122L,PDstandardNth1gt13,kmadd(dJ222L,PDstandardNth2gt13,kmadd(dJ322L,PDstandardNth3gt13,kmadd(PDstandardNth11gt13,SQR(J12L),kmadd(PDstandardNth22gt13,SQR(J22L),kmadd(PDstandardNth33gt13,SQR(J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12gt13,kmul(J32L,PDstandardNth13gt13)),kmul(J22L,kmul(J32L,PDstandardNth23gt13))),ToReal(2))))))));
+ kmadd(dJ122L,PDstandardNth1gt13,kmadd(dJ222L,PDstandardNth2gt13,kmadd(dJ322L,PDstandardNth3gt13,kmadd(PDstandardNth11gt13,kmul(J12L,J12L),kmadd(PDstandardNth22gt13,kmul(J22L,J22L),kmadd(PDstandardNth33gt13,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12gt13,kmul(J32L,PDstandardNth13gt13)),kmul(J22L,kmul(J32L,PDstandardNth23gt13))),ToReal(2))))))));
JacPDstandardNth22gt22 =
- kmadd(dJ122L,PDstandardNth1gt22,kmadd(dJ222L,PDstandardNth2gt22,kmadd(dJ322L,PDstandardNth3gt22,kmadd(PDstandardNth11gt22,SQR(J12L),kmadd(PDstandardNth22gt22,SQR(J22L),kmadd(PDstandardNth33gt22,SQR(J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12gt22,kmul(J32L,PDstandardNth13gt22)),kmul(J22L,kmul(J32L,PDstandardNth23gt22))),ToReal(2))))))));
+ kmadd(dJ122L,PDstandardNth1gt22,kmadd(dJ222L,PDstandardNth2gt22,kmadd(dJ322L,PDstandardNth3gt22,kmadd(PDstandardNth11gt22,kmul(J12L,J12L),kmadd(PDstandardNth22gt22,kmul(J22L,J22L),kmadd(PDstandardNth33gt22,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12gt22,kmul(J32L,PDstandardNth13gt22)),kmul(J22L,kmul(J32L,PDstandardNth23gt22))),ToReal(2))))))));
JacPDstandardNth22gt23 =
- kmadd(dJ122L,PDstandardNth1gt23,kmadd(dJ222L,PDstandardNth2gt23,kmadd(dJ322L,PDstandardNth3gt23,kmadd(PDstandardNth11gt23,SQR(J12L),kmadd(PDstandardNth22gt23,SQR(J22L),kmadd(PDstandardNth33gt23,SQR(J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12gt23,kmul(J32L,PDstandardNth13gt23)),kmul(J22L,kmul(J32L,PDstandardNth23gt23))),ToReal(2))))))));
+ kmadd(dJ122L,PDstandardNth1gt23,kmadd(dJ222L,PDstandardNth2gt23,kmadd(dJ322L,PDstandardNth3gt23,kmadd(PDstandardNth11gt23,kmul(J12L,J12L),kmadd(PDstandardNth22gt23,kmul(J22L,J22L),kmadd(PDstandardNth33gt23,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12gt23,kmul(J32L,PDstandardNth13gt23)),kmul(J22L,kmul(J32L,PDstandardNth23gt23))),ToReal(2))))))));
JacPDstandardNth22gt33 =
- kmadd(dJ122L,PDstandardNth1gt33,kmadd(dJ222L,PDstandardNth2gt33,kmadd(dJ322L,PDstandardNth3gt33,kmadd(PDstandardNth11gt33,SQR(J12L),kmadd(PDstandardNth22gt33,SQR(J22L),kmadd(PDstandardNth33gt33,SQR(J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12gt33,kmul(J32L,PDstandardNth13gt33)),kmul(J22L,kmul(J32L,PDstandardNth23gt33))),ToReal(2))))))));
+ kmadd(dJ122L,PDstandardNth1gt33,kmadd(dJ222L,PDstandardNth2gt33,kmadd(dJ322L,PDstandardNth3gt33,kmadd(PDstandardNth11gt33,kmul(J12L,J12L),kmadd(PDstandardNth22gt33,kmul(J22L,J22L),kmadd(PDstandardNth33gt33,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12gt33,kmul(J32L,PDstandardNth13gt33)),kmul(J22L,kmul(J32L,PDstandardNth23gt33))),ToReal(2))))))));
JacPDstandardNth22phi =
- kmadd(dJ122L,PDstandardNth1phi,kmadd(dJ222L,PDstandardNth2phi,kmadd(dJ322L,PDstandardNth3phi,kmadd(PDstandardNth11phi,SQR(J12L),kmadd(PDstandardNth22phi,SQR(J22L),kmadd(PDstandardNth33phi,SQR(J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12phi,kmul(J32L,PDstandardNth13phi)),kmul(J22L,kmul(J32L,PDstandardNth23phi))),ToReal(2))))))));
+ kmadd(dJ122L,PDstandardNth1phi,kmadd(dJ222L,PDstandardNth2phi,kmadd(dJ322L,PDstandardNth3phi,kmadd(PDstandardNth11phi,kmul(J12L,J12L),kmadd(PDstandardNth22phi,kmul(J22L,J22L),kmadd(PDstandardNth33phi,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12phi,kmul(J32L,PDstandardNth13phi)),kmul(J22L,kmul(J32L,PDstandardNth23phi))),ToReal(2))))))));
JacPDstandardNth33gt11 =
- kmadd(dJ133L,PDstandardNth1gt11,kmadd(dJ233L,PDstandardNth2gt11,kmadd(dJ333L,PDstandardNth3gt11,kmadd(PDstandardNth11gt11,SQR(J13L),kmadd(PDstandardNth22gt11,SQR(J23L),kmadd(PDstandardNth33gt11,SQR(J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12gt11,kmul(J33L,PDstandardNth13gt11)),kmul(J23L,kmul(J33L,PDstandardNth23gt11))),ToReal(2))))))));
+ kmadd(dJ133L,PDstandardNth1gt11,kmadd(dJ233L,PDstandardNth2gt11,kmadd(dJ333L,PDstandardNth3gt11,kmadd(PDstandardNth11gt11,kmul(J13L,J13L),kmadd(PDstandardNth22gt11,kmul(J23L,J23L),kmadd(PDstandardNth33gt11,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12gt11,kmul(J33L,PDstandardNth13gt11)),kmul(J23L,kmul(J33L,PDstandardNth23gt11))),ToReal(2))))))));
JacPDstandardNth33gt12 =
- kmadd(dJ133L,PDstandardNth1gt12,kmadd(dJ233L,PDstandardNth2gt12,kmadd(dJ333L,PDstandardNth3gt12,kmadd(PDstandardNth11gt12,SQR(J13L),kmadd(PDstandardNth22gt12,SQR(J23L),kmadd(PDstandardNth33gt12,SQR(J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12gt12,kmul(J33L,PDstandardNth13gt12)),kmul(J23L,kmul(J33L,PDstandardNth23gt12))),ToReal(2))))))));
+ kmadd(dJ133L,PDstandardNth1gt12,kmadd(dJ233L,PDstandardNth2gt12,kmadd(dJ333L,PDstandardNth3gt12,kmadd(PDstandardNth11gt12,kmul(J13L,J13L),kmadd(PDstandardNth22gt12,kmul(J23L,J23L),kmadd(PDstandardNth33gt12,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12gt12,kmul(J33L,PDstandardNth13gt12)),kmul(J23L,kmul(J33L,PDstandardNth23gt12))),ToReal(2))))))));
JacPDstandardNth33gt13 =
- kmadd(dJ133L,PDstandardNth1gt13,kmadd(dJ233L,PDstandardNth2gt13,kmadd(dJ333L,PDstandardNth3gt13,kmadd(PDstandardNth11gt13,SQR(J13L),kmadd(PDstandardNth22gt13,SQR(J23L),kmadd(PDstandardNth33gt13,SQR(J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12gt13,kmul(J33L,PDstandardNth13gt13)),kmul(J23L,kmul(J33L,PDstandardNth23gt13))),ToReal(2))))))));
+ kmadd(dJ133L,PDstandardNth1gt13,kmadd(dJ233L,PDstandardNth2gt13,kmadd(dJ333L,PDstandardNth3gt13,kmadd(PDstandardNth11gt13,kmul(J13L,J13L),kmadd(PDstandardNth22gt13,kmul(J23L,J23L),kmadd(PDstandardNth33gt13,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12gt13,kmul(J33L,PDstandardNth13gt13)),kmul(J23L,kmul(J33L,PDstandardNth23gt13))),ToReal(2))))))));
JacPDstandardNth33gt22 =
- kmadd(dJ133L,PDstandardNth1gt22,kmadd(dJ233L,PDstandardNth2gt22,kmadd(dJ333L,PDstandardNth3gt22,kmadd(PDstandardNth11gt22,SQR(J13L),kmadd(PDstandardNth22gt22,SQR(J23L),kmadd(PDstandardNth33gt22,SQR(J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12gt22,kmul(J33L,PDstandardNth13gt22)),kmul(J23L,kmul(J33L,PDstandardNth23gt22))),ToReal(2))))))));
+ kmadd(dJ133L,PDstandardNth1gt22,kmadd(dJ233L,PDstandardNth2gt22,kmadd(dJ333L,PDstandardNth3gt22,kmadd(PDstandardNth11gt22,kmul(J13L,J13L),kmadd(PDstandardNth22gt22,kmul(J23L,J23L),kmadd(PDstandardNth33gt22,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12gt22,kmul(J33L,PDstandardNth13gt22)),kmul(J23L,kmul(J33L,PDstandardNth23gt22))),ToReal(2))))))));
JacPDstandardNth33gt23 =
- kmadd(dJ133L,PDstandardNth1gt23,kmadd(dJ233L,PDstandardNth2gt23,kmadd(dJ333L,PDstandardNth3gt23,kmadd(PDstandardNth11gt23,SQR(J13L),kmadd(PDstandardNth22gt23,SQR(J23L),kmadd(PDstandardNth33gt23,SQR(J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12gt23,kmul(J33L,PDstandardNth13gt23)),kmul(J23L,kmul(J33L,PDstandardNth23gt23))),ToReal(2))))))));
+ kmadd(dJ133L,PDstandardNth1gt23,kmadd(dJ233L,PDstandardNth2gt23,kmadd(dJ333L,PDstandardNth3gt23,kmadd(PDstandardNth11gt23,kmul(J13L,J13L),kmadd(PDstandardNth22gt23,kmul(J23L,J23L),kmadd(PDstandardNth33gt23,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12gt23,kmul(J33L,PDstandardNth13gt23)),kmul(J23L,kmul(J33L,PDstandardNth23gt23))),ToReal(2))))))));
JacPDstandardNth33gt33 =
- kmadd(dJ133L,PDstandardNth1gt33,kmadd(dJ233L,PDstandardNth2gt33,kmadd(dJ333L,PDstandardNth3gt33,kmadd(PDstandardNth11gt33,SQR(J13L),kmadd(PDstandardNth22gt33,SQR(J23L),kmadd(PDstandardNth33gt33,SQR(J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12gt33,kmul(J33L,PDstandardNth13gt33)),kmul(J23L,kmul(J33L,PDstandardNth23gt33))),ToReal(2))))))));
+ kmadd(dJ133L,PDstandardNth1gt33,kmadd(dJ233L,PDstandardNth2gt33,kmadd(dJ333L,PDstandardNth3gt33,kmadd(PDstandardNth11gt33,kmul(J13L,J13L),kmadd(PDstandardNth22gt33,kmul(J23L,J23L),kmadd(PDstandardNth33gt33,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12gt33,kmul(J33L,PDstandardNth13gt33)),kmul(J23L,kmul(J33L,PDstandardNth23gt33))),ToReal(2))))))));
JacPDstandardNth33phi =
- kmadd(dJ133L,PDstandardNth1phi,kmadd(dJ233L,PDstandardNth2phi,kmadd(dJ333L,PDstandardNth3phi,kmadd(PDstandardNth11phi,SQR(J13L),kmadd(PDstandardNth22phi,SQR(J23L),kmadd(PDstandardNth33phi,SQR(J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12phi,kmul(J33L,PDstandardNth13phi)),kmul(J23L,kmul(J33L,PDstandardNth23phi))),ToReal(2))))))));
+ kmadd(dJ133L,PDstandardNth1phi,kmadd(dJ233L,PDstandardNth2phi,kmadd(dJ333L,PDstandardNth3phi,kmadd(PDstandardNth11phi,kmul(J13L,J13L),kmadd(PDstandardNth22phi,kmul(J23L,J23L),kmadd(PDstandardNth33phi,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12phi,kmul(J33L,PDstandardNth13phi)),kmul(J23L,kmul(J33L,PDstandardNth23phi))),ToReal(2))))))));
JacPDstandardNth12gt11 =
kmadd(J12L,kmadd(J11L,PDstandardNth11gt11,kmadd(J21L,PDstandardNth12gt11,kmul(J31L,PDstandardNth13gt11))),kmadd(J11L,kmadd(J22L,PDstandardNth12gt11,kmul(J32L,PDstandardNth13gt11)),kmadd(dJ112L,PDstandardNth1gt11,kmadd(J22L,kmadd(J21L,PDstandardNth22gt11,kmul(J31L,PDstandardNth23gt11)),kmadd(dJ212L,PDstandardNth2gt11,kmadd(J32L,kmadd(J21L,PDstandardNth23gt11,kmul(J31L,PDstandardNth33gt11)),kmul(dJ312L,PDstandardNth3gt11)))))));
@@ -1224,22 +1228,22 @@ static void ML_CCZ4_constraints1_Body(cGH const * restrict const cctkGH, int con
CCTK_REAL_VEC detgt = ToReal(1);
CCTK_REAL_VEC gtu11 =
- kmul(INV(detgt),kmsub(gt22L,gt33L,SQR(gt23L)));
+ kdiv(kmsub(gt22L,gt33L,kmul(gt23L,gt23L)),detgt);
CCTK_REAL_VEC gtu12 =
- kmul(INV(detgt),kmsub(gt13L,gt23L,kmul(gt12L,gt33L)));
+ kdiv(kmsub(gt13L,gt23L,kmul(gt12L,gt33L)),detgt);
CCTK_REAL_VEC gtu13 =
- kmul(INV(detgt),kmsub(gt12L,gt23L,kmul(gt13L,gt22L)));
+ kdiv(kmsub(gt12L,gt23L,kmul(gt13L,gt22L)),detgt);
CCTK_REAL_VEC gtu22 =
- kmul(INV(detgt),kmsub(gt11L,gt33L,SQR(gt13L)));
+ kdiv(kmsub(gt11L,gt33L,kmul(gt13L,gt13L)),detgt);
CCTK_REAL_VEC gtu23 =
- kmul(INV(detgt),kmsub(gt12L,gt13L,kmul(gt11L,gt23L)));
+ kdiv(kmsub(gt12L,gt13L,kmul(gt11L,gt23L)),detgt);
CCTK_REAL_VEC gtu33 =
- kmul(INV(detgt),kmsub(gt11L,gt22L,SQR(gt12L)));
+ kdiv(kmsub(gt11L,gt22L,kmul(gt12L,gt12L)),detgt);
CCTK_REAL_VEC Gtl111 = kmul(JacPDstandardNth1gt11,ToReal(0.5));
@@ -1431,9 +1435,9 @@ static void ML_CCZ4_constraints1_Body(cGH const * restrict const cctkGH, int con
kmadd(Gt311,gtu11,kmadd(Gt322,gtu22,kmadd(Gt333,gtu33,kmul(kmadd(Gt312,gtu12,kmadd(Gt313,gtu13,kmul(Gt323,gtu23))),ToReal(2)))));
CCTK_REAL_VEC e4phi = IfThen(conformalMethod ==
- 1,INV(SQR(phiL)),kexp(kmul(phiL,ToReal(4))));
+ 1,kdiv(ToReal(1),kmul(phiL,phiL)),kexp(kmul(phiL,ToReal(4))));
- CCTK_REAL_VEC em4phi = INV(e4phi);
+ CCTK_REAL_VEC em4phi = kdiv(ToReal(1),e4phi);
CCTK_REAL_VEC g11 = kmul(gt11L,e4phi);
@@ -1487,7 +1491,7 @@ static void ML_CCZ4_constraints1_Body(cGH const * restrict const cctkGH, int con
kmul(ToReal(0.5),knmsub(gtu11,JacPDstandardNth11gt33,knmsub(gtu22,JacPDstandardNth22gt33,knmsub(gtu33,JacPDstandardNth33gt33,knmsub(gtu12,kadd(JacPDstandardNth21gt33,JacPDstandardNth12gt33),knmsub(gtu13,kadd(JacPDstandardNth31gt33,JacPDstandardNth13gt33),knmsub(gtu23,kadd(JacPDstandardNth32gt33,JacPDstandardNth23gt33),kmadd(gt23L,kmul(JacPDstandardNth3Xt2,ToReal(2)),kmadd(gt33L,kmul(JacPDstandardNth3Xt3,ToReal(2)),kmadd(Gtl313,kmul(Xtn1,ToReal(2)),kmadd(Gtl323,kmul(Xtn2,ToReal(2)),kmadd(Gtl333,kmul(Xtn3,ToReal(2)),kmadd(ToReal(2),kmadd(Gt133,Gtlu133,kmadd(Gt213,Gtlu231,kmadd(Gt223,Gtlu232,kmadd(Gt233,Gtlu233,kmadd(gt13L,JacPDstandardNth3Xt1,kmadd(Gt113,kmadd(Gtlu311,ToReal(2),Gtlu131),kmul(Gt123,kmadd(Gtlu312,ToReal(2),Gtlu132)))))))),kmadd(kmadd(Gt133,Gtlu313,kmadd(Gt213,Gtlu321,kmadd(Gt223,Gtlu322,kmul(Gt233,Gtlu323)))),ToReal(4),kmul(kmadd(Gt313,Gtlu331,kmadd(Gt323,Gtlu332,kmul(Gt333,Gtlu333))),ToReal(6))))))))))))))));
CCTK_REAL_VEC fac1 = IfThen(conformalMethod ==
- 1,kmul(INV(phiL),ToReal(-0.5)),ToReal(1));
+ 1,kdiv(ToReal(-0.5),phiL),ToReal(1));
CCTK_REAL_VEC cdphi1 = kmul(fac1,JacPDstandardNth1phi);
@@ -1496,10 +1500,10 @@ static void ML_CCZ4_constraints1_Body(cGH const * restrict const cctkGH, int con
CCTK_REAL_VEC cdphi3 = kmul(fac1,JacPDstandardNth3phi);
CCTK_REAL_VEC fac2 = IfThen(conformalMethod ==
- 1,kmul(INV(SQR(phiL)),ToReal(0.5)),ToReal(0));
+ 1,kdiv(ToReal(0.5),kmul(phiL,phiL)),ToReal(0));
CCTK_REAL_VEC cdphi211 =
- kmadd(fac2,SQR(JacPDstandardNth1phi),kmul(fac1,ksub(JacPDstandardNth11phi,kmadd(Gt111,JacPDstandardNth1phi,kmadd(Gt311,JacPDstandardNth3phi,kmul(Gt211,JacPDstandardNth2phi))))));
+ kmadd(fac2,kmul(JacPDstandardNth1phi,JacPDstandardNth1phi),kmul(fac1,ksub(JacPDstandardNth11phi,kmadd(Gt111,JacPDstandardNth1phi,kmadd(Gt311,JacPDstandardNth3phi,kmul(Gt211,JacPDstandardNth2phi))))));
CCTK_REAL_VEC cdphi212 =
kmadd(fac2,kmul(JacPDstandardNth1phi,JacPDstandardNth2phi),kmul(fac1,ksub(JacPDstandardNth12phi,kmadd(Gt112,JacPDstandardNth1phi,kmadd(Gt312,JacPDstandardNth3phi,kmul(Gt212,JacPDstandardNth2phi))))));
@@ -1508,31 +1512,31 @@ static void ML_CCZ4_constraints1_Body(cGH const * restrict const cctkGH, int con
kmadd(fac2,kmul(JacPDstandardNth1phi,JacPDstandardNth3phi),kmul(fac1,ksub(JacPDstandardNth13phi,kmadd(Gt113,JacPDstandardNth1phi,kmadd(Gt313,JacPDstandardNth3phi,kmul(Gt213,JacPDstandardNth2phi))))));
CCTK_REAL_VEC cdphi222 =
- kmsub(fac2,SQR(JacPDstandardNth2phi),kmul(fac1,kmadd(Gt122,JacPDstandardNth1phi,kmadd(Gt222,JacPDstandardNth2phi,kmsub(Gt322,JacPDstandardNth3phi,JacPDstandardNth22phi)))));
+ kmsub(fac2,kmul(JacPDstandardNth2phi,JacPDstandardNth2phi),kmul(fac1,kmadd(Gt122,JacPDstandardNth1phi,kmadd(Gt222,JacPDstandardNth2phi,kmsub(Gt322,JacPDstandardNth3phi,JacPDstandardNth22phi)))));
CCTK_REAL_VEC cdphi223 =
kmsub(fac2,kmul(JacPDstandardNth2phi,JacPDstandardNth3phi),kmul(fac1,kmadd(Gt123,JacPDstandardNth1phi,kmadd(Gt223,JacPDstandardNth2phi,kmsub(Gt323,JacPDstandardNth3phi,JacPDstandardNth23phi)))));
CCTK_REAL_VEC cdphi233 =
- kmsub(fac2,SQR(JacPDstandardNth3phi),kmul(fac1,kmadd(Gt133,JacPDstandardNth1phi,kmadd(Gt233,JacPDstandardNth2phi,kmsub(Gt333,JacPDstandardNth3phi,JacPDstandardNth33phi)))));
+ kmsub(fac2,kmul(JacPDstandardNth3phi,JacPDstandardNth3phi),kmul(fac1,kmadd(Gt133,JacPDstandardNth1phi,kmadd(Gt233,JacPDstandardNth2phi,kmsub(Gt333,JacPDstandardNth3phi,JacPDstandardNth33phi)))));
CCTK_REAL_VEC Rphi11 =
- kmul(ToReal(-2),kadd(cdphi211,kmadd(SQR(cdphi1),kmul(kmadd(gt11L,gtu11,ToReal(-1)),ToReal(2)),kmul(gt11L,kmadd(cdphi211,gtu11,kmadd(cdphi233,gtu33,kmadd(kmadd(cdphi212,gtu12,kmadd(cdphi213,gtu13,kmadd(cdphi223,gtu23,kmul(gtu33,SQR(cdphi3))))),ToReal(2),kmadd(gtu22,kmadd(SQR(cdphi2),ToReal(2),cdphi222),kmul(kmadd(cdphi1,kmadd(cdphi2,gtu12,kmul(cdphi3,gtu13)),kmul(cdphi2,kmul(cdphi3,gtu23))),ToReal(4))))))))));
+ kmul(ToReal(-2),kadd(cdphi211,kmadd(kmul(cdphi1,cdphi1),kmul(kmadd(gt11L,gtu11,ToReal(-1)),ToReal(2)),kmul(gt11L,kmadd(cdphi211,gtu11,kmadd(cdphi233,gtu33,kmadd(kmadd(cdphi212,gtu12,kmadd(cdphi213,gtu13,kmadd(cdphi223,gtu23,kmul(gtu33,kmul(cdphi3,cdphi3))))),ToReal(2),kmadd(gtu22,kmadd(kmul(cdphi2,cdphi2),ToReal(2),cdphi222),kmul(kmadd(cdphi1,kmadd(cdphi2,gtu12,kmul(cdphi3,gtu13)),kmul(cdphi2,kmul(cdphi3,gtu23))),ToReal(4))))))))));
CCTK_REAL_VEC Rphi12 =
- kmul(ToReal(-2),kadd(cdphi212,kmadd(gt12L,kmadd(cdphi211,gtu11,kmadd(kmadd(cdphi212,gtu12,kmadd(cdphi213,gtu13,kmadd(cdphi223,gtu23,kmul(gtu11,SQR(cdphi1))))),ToReal(2),kmadd(gtu22,kmadd(SQR(cdphi2),ToReal(2),cdphi222),kmadd(gtu33,kmadd(SQR(cdphi3),ToReal(2),cdphi233),kmul(cdphi2,kmul(cdphi3,kmul(gtu23,ToReal(4)))))))),kmul(cdphi1,kmadd(gt12L,kmul(cdphi3,kmul(gtu13,ToReal(4))),kmul(cdphi2,kmadd(gt12L,kmul(gtu12,ToReal(4)),ToReal(-2))))))));
+ kmul(ToReal(-2),kadd(cdphi212,kmadd(gt12L,kmadd(cdphi211,gtu11,kmadd(kmadd(cdphi212,gtu12,kmadd(cdphi213,gtu13,kmadd(cdphi223,gtu23,kmul(gtu11,kmul(cdphi1,cdphi1))))),ToReal(2),kmadd(gtu22,kmadd(kmul(cdphi2,cdphi2),ToReal(2),cdphi222),kmadd(gtu33,kmadd(kmul(cdphi3,cdphi3),ToReal(2),cdphi233),kmul(cdphi2,kmul(cdphi3,kmul(gtu23,ToReal(4)))))))),kmul(cdphi1,kmadd(gt12L,kmul(cdphi3,kmul(gtu13,ToReal(4))),kmul(cdphi2,kmadd(gt12L,kmul(gtu12,ToReal(4)),ToReal(-2))))))));
CCTK_REAL_VEC Rphi13 =
- kmul(ToReal(-2),kadd(cdphi213,kmadd(gt13L,kmadd(cdphi211,gtu11,kmadd(kmadd(cdphi212,gtu12,kmadd(cdphi213,gtu13,kmadd(cdphi223,gtu23,kmul(gtu11,SQR(cdphi1))))),ToReal(2),kmadd(gtu22,kmadd(SQR(cdphi2),ToReal(2),cdphi222),kmadd(gtu33,kmadd(SQR(cdphi3),ToReal(2),cdphi233),kmul(cdphi2,kmul(cdphi3,kmul(gtu23,ToReal(4)))))))),kmul(cdphi1,kmadd(gt13L,kmul(cdphi2,kmul(gtu12,ToReal(4))),kmul(cdphi3,kmadd(gt13L,kmul(gtu13,ToReal(4)),ToReal(-2))))))));
+ kmul(ToReal(-2),kadd(cdphi213,kmadd(gt13L,kmadd(cdphi211,gtu11,kmadd(kmadd(cdphi212,gtu12,kmadd(cdphi213,gtu13,kmadd(cdphi223,gtu23,kmul(gtu11,kmul(cdphi1,cdphi1))))),ToReal(2),kmadd(gtu22,kmadd(kmul(cdphi2,cdphi2),ToReal(2),cdphi222),kmadd(gtu33,kmadd(kmul(cdphi3,cdphi3),ToReal(2),cdphi233),kmul(cdphi2,kmul(cdphi3,kmul(gtu23,ToReal(4)))))))),kmul(cdphi1,kmadd(gt13L,kmul(cdphi2,kmul(gtu12,ToReal(4))),kmul(cdphi3,kmadd(gt13L,kmul(gtu13,ToReal(4)),ToReal(-2))))))));
CCTK_REAL_VEC Rphi22 =
- kmul(ToReal(-2),kadd(cdphi222,kmadd(SQR(cdphi2),kmul(kmadd(gt22L,gtu22,ToReal(-1)),ToReal(2)),kmul(gt22L,kmadd(cdphi222,gtu22,kmadd(cdphi233,gtu33,kmadd(kmadd(cdphi212,gtu12,kmadd(cdphi213,gtu13,kmadd(cdphi223,gtu23,kmul(gtu33,SQR(cdphi3))))),ToReal(2),kmadd(gtu11,kmadd(SQR(cdphi1),ToReal(2),cdphi211),kmul(kmadd(cdphi1,kmul(cdphi3,gtu13),kmul(cdphi2,kmadd(cdphi1,gtu12,kmul(cdphi3,gtu23)))),ToReal(4))))))))));
+ kmul(ToReal(-2),kadd(cdphi222,kmadd(kmul(cdphi2,cdphi2),kmul(kmadd(gt22L,gtu22,ToReal(-1)),ToReal(2)),kmul(gt22L,kmadd(cdphi222,gtu22,kmadd(cdphi233,gtu33,kmadd(kmadd(cdphi212,gtu12,kmadd(cdphi213,gtu13,kmadd(cdphi223,gtu23,kmul(gtu33,kmul(cdphi3,cdphi3))))),ToReal(2),kmadd(gtu11,kmadd(kmul(cdphi1,cdphi1),ToReal(2),cdphi211),kmul(kmadd(cdphi1,kmul(cdphi3,gtu13),kmul(cdphi2,kmadd(cdphi1,gtu12,kmul(cdphi3,gtu23)))),ToReal(4))))))))));
CCTK_REAL_VEC Rphi23 =
- kmul(ToReal(-2),kadd(cdphi223,kmadd(gt23L,kmadd(cdphi222,gtu22,kmadd(kmadd(cdphi212,gtu12,kmadd(cdphi213,gtu13,kmadd(cdphi223,gtu23,kmul(gtu22,SQR(cdphi2))))),ToReal(2),kmadd(gtu11,kmadd(SQR(cdphi1),ToReal(2),cdphi211),kmadd(gtu33,kmadd(SQR(cdphi3),ToReal(2),cdphi233),kmul(cdphi1,kmul(cdphi3,kmul(gtu13,ToReal(4)))))))),kmul(cdphi2,kmadd(gt23L,kmul(cdphi1,kmul(gtu12,ToReal(4))),kmul(cdphi3,kmadd(gt23L,kmul(gtu23,ToReal(4)),ToReal(-2))))))));
+ kmul(ToReal(-2),kadd(cdphi223,kmadd(gt23L,kmadd(cdphi222,gtu22,kmadd(kmadd(cdphi212,gtu12,kmadd(cdphi213,gtu13,kmadd(cdphi223,gtu23,kmul(gtu22,kmul(cdphi2,cdphi2))))),ToReal(2),kmadd(gtu11,kmadd(kmul(cdphi1,cdphi1),ToReal(2),cdphi211),kmadd(gtu33,kmadd(kmul(cdphi3,cdphi3),ToReal(2),cdphi233),kmul(cdphi1,kmul(cdphi3,kmul(gtu13,ToReal(4)))))))),kmul(cdphi2,kmadd(gt23L,kmul(cdphi1,kmul(gtu12,ToReal(4))),kmul(cdphi3,kmadd(gt23L,kmul(gtu23,ToReal(4)),ToReal(-2))))))));
CCTK_REAL_VEC Rphi33 =
- kmul(ToReal(-2),kadd(cdphi233,kmadd(SQR(cdphi3),kmul(kmadd(gt33L,gtu33,ToReal(-1)),ToReal(2)),kmul(gt33L,kmadd(cdphi233,gtu33,kmadd(kmadd(cdphi213,gtu13,kmul(cdphi223,gtu23)),ToReal(2),kmadd(gtu11,kmadd(SQR(cdphi1),ToReal(2),cdphi211),kmadd(gtu22,kmadd(SQR(cdphi2),ToReal(2),cdphi222),kmadd(cdphi3,kmul(kmadd(cdphi1,gtu13,kmul(cdphi2,gtu23)),ToReal(4)),kmul(gtu12,kmadd(cdphi212,ToReal(2),kmul(cdphi1,kmul(cdphi2,ToReal(4))))))))))))));
+ kmul(ToReal(-2),kadd(cdphi233,kmadd(kmul(cdphi3,cdphi3),kmul(kmadd(gt33L,gtu33,ToReal(-1)),ToReal(2)),kmul(gt33L,kmadd(cdphi233,gtu33,kmadd(kmadd(cdphi213,gtu13,kmul(cdphi223,gtu23)),ToReal(2),kmadd(gtu11,kmadd(kmul(cdphi1,cdphi1),ToReal(2),cdphi211),kmadd(gtu22,kmadd(kmul(cdphi2,cdphi2),ToReal(2),cdphi222),kmadd(cdphi3,kmul(kmadd(cdphi1,gtu13,kmul(cdphi2,gtu23)),ToReal(4)),kmul(gtu12,kmadd(cdphi212,ToReal(2),kmul(cdphi1,kmul(cdphi2,ToReal(4))))))))))))));
CCTK_REAL_VEC R11 = kadd(Rphi11,Rt11);
@@ -1547,22 +1551,22 @@ static void ML_CCZ4_constraints1_Body(cGH const * restrict const cctkGH, int con
CCTK_REAL_VEC R33 = kadd(Rphi33,Rt33);
R11 =
- kmadd(e4phi,kmadd(JacPDstandardNth1gt11,Z1,kmadd(JacPDstandardNth2gt11,Z2,kmul(JacPDstandardNth3gt11,Z3))),kmul(INV(phiL),kmadd(g11,kmul(kmadd(JacPDstandardNth2phi,Z2,kmul(JacPDstandardNth3phi,Z3)),ToReal(-2)),kmul(JacPDstandardNth1phi,kmadd(g11,kmul(Z1,ToReal(2)),kmul(kmadd(g12,Z2,kmul(g13,Z3)),ToReal(4)))))));
+ kmadd(e4phi,kmadd(JacPDstandardNth1gt11,Z1,kmadd(JacPDstandardNth2gt11,Z2,kmul(JacPDstandardNth3gt11,Z3))),kdiv(kmadd(g11,kmul(kmadd(JacPDstandardNth2phi,Z2,kmul(JacPDstandardNth3phi,Z3)),ToReal(-2)),kmul(JacPDstandardNth1phi,kmadd(g11,kmul(Z1,ToReal(2)),kmul(kmadd(g12,Z2,kmul(g13,Z3)),ToReal(4))))),phiL));
R12 =
- kmadd(e4phi,kmadd(JacPDstandardNth1gt12,Z1,kmadd(JacPDstandardNth2gt12,Z2,kmul(JacPDstandardNth3gt12,Z3))),kmul(INV(phiL),kmul(kmadd(JacPDstandardNth2phi,kmadd(g11,Z1,kmul(g13,Z3)),kmsub(JacPDstandardNth1phi,kmadd(g22,Z2,kmul(g23,Z3)),kmul(g12,kmul(JacPDstandardNth3phi,Z3)))),ToReal(2))));
+ kmadd(e4phi,kmadd(JacPDstandardNth1gt12,Z1,kmadd(JacPDstandardNth2gt12,Z2,kmul(JacPDstandardNth3gt12,Z3))),kdiv(kmul(kmadd(JacPDstandardNth2phi,kmadd(g11,Z1,kmul(g13,Z3)),kmsub(JacPDstandardNth1phi,kmadd(g22,Z2,kmul(g23,Z3)),kmul(g12,kmul(JacPDstandardNth3phi,Z3)))),ToReal(2)),phiL));
R13 =
- kmadd(e4phi,kmadd(JacPDstandardNth1gt13,Z1,kmadd(JacPDstandardNth2gt13,Z2,kmul(JacPDstandardNth3gt13,Z3))),kmul(INV(phiL),kmul(kmadd(JacPDstandardNth3phi,kmadd(g11,Z1,kmul(g12,Z2)),kmadd(g33,kmul(JacPDstandardNth1phi,Z3),kmul(Z2,kmsub(g23,JacPDstandardNth1phi,kmul(g13,JacPDstandardNth2phi))))),ToReal(2))));
+ kmadd(e4phi,kmadd(JacPDstandardNth1gt13,Z1,kmadd(JacPDstandardNth2gt13,Z2,kmul(JacPDstandardNth3gt13,Z3))),kdiv(kmul(kmadd(JacPDstandardNth3phi,kmadd(g11,Z1,kmul(g12,Z2)),kmadd(g33,kmul(JacPDstandardNth1phi,Z3),kmul(Z2,kmsub(g23,JacPDstandardNth1phi,kmul(g13,JacPDstandardNth2phi))))),ToReal(2)),phiL));
R22 =
- kmadd(e4phi,kmadd(JacPDstandardNth1gt22,Z1,kmadd(JacPDstandardNth2gt22,Z2,kmul(JacPDstandardNth3gt22,Z3))),kmul(INV(phiL),kmadd(g22,kmul(ToReal(-2),kmadd(JacPDstandardNth1phi,Z1,kmsub(JacPDstandardNth3phi,Z3,kmul(JacPDstandardNth2phi,Z2)))),kmul(JacPDstandardNth2phi,kmul(kmadd(g12,Z1,kmul(g23,Z3)),ToReal(4))))));
+ kmadd(e4phi,kmadd(JacPDstandardNth1gt22,Z1,kmadd(JacPDstandardNth2gt22,Z2,kmul(JacPDstandardNth3gt22,Z3))),kdiv(kmadd(g22,kmul(ToReal(-2),kmadd(JacPDstandardNth1phi,Z1,kmsub(JacPDstandardNth3phi,Z3,kmul(JacPDstandardNth2phi,Z2)))),kmul(JacPDstandardNth2phi,kmul(kmadd(g12,Z1,kmul(g23,Z3)),ToReal(4)))),phiL));
R23 =
- kmadd(e4phi,kmadd(JacPDstandardNth1gt23,Z1,kmadd(JacPDstandardNth2gt23,Z2,kmul(JacPDstandardNth3gt23,Z3))),kmul(INV(phiL),kmul(kmadd(g22,kmul(JacPDstandardNth3phi,Z2),kmadd(g33,kmul(JacPDstandardNth2phi,Z3),kmul(Z1,kmadd(g13,JacPDstandardNth2phi,kmsub(g12,JacPDstandardNth3phi,kmul(g23,JacPDstandardNth1phi)))))),ToReal(2))));
+ kmadd(e4phi,kmadd(JacPDstandardNth1gt23,Z1,kmadd(JacPDstandardNth2gt23,Z2,kmul(JacPDstandardNth3gt23,Z3))),kdiv(kmul(kmadd(g22,kmul(JacPDstandardNth3phi,Z2),kmadd(g33,kmul(JacPDstandardNth2phi,Z3),kmul(Z1,kmadd(g13,JacPDstandardNth2phi,kmsub(g12,JacPDstandardNth3phi,kmul(g23,JacPDstandardNth1phi)))))),ToReal(2)),phiL));
R33 =
- kmadd(e4phi,kmadd(JacPDstandardNth1gt33,Z1,kmadd(JacPDstandardNth2gt33,Z2,kmul(JacPDstandardNth3gt33,Z3))),kmul(INV(phiL),kmadd(g33,kmul(ToReal(-2),kmadd(JacPDstandardNth1phi,Z1,kmsub(JacPDstandardNth2phi,Z2,kmul(JacPDstandardNth3phi,Z3)))),kmul(JacPDstandardNth3phi,kmul(kmadd(g13,Z1,kmul(g23,Z2)),ToReal(4))))));
+ kmadd(e4phi,kmadd(JacPDstandardNth1gt33,Z1,kmadd(JacPDstandardNth2gt33,Z2,kmul(JacPDstandardNth3gt33,Z3))),kdiv(kmadd(g33,kmul(ToReal(-2),kmadd(JacPDstandardNth1phi,Z1,kmsub(JacPDstandardNth2phi,Z2,kmul(JacPDstandardNth3phi,Z3)))),kmul(JacPDstandardNth3phi,kmul(kmadd(g13,Z1,kmul(g23,Z2)),ToReal(4)))),phiL));
CCTK_REAL_VEC trR =
kmadd(gu11,R11,kmadd(gu22,R22,kmadd(gu33,R33,kmul(kmadd(gu12,R12,kmadd(gu13,R13,kmul(gu23,R23))),ToReal(2)))));
@@ -1595,10 +1599,10 @@ static void ML_CCZ4_constraints1_Body(cGH const * restrict const cctkGH, int con
kmadd(At13L,gtu13,kmadd(At23L,gtu23,kmul(At33L,gtu33)));
CCTK_REAL_VEC rho =
- kmul(INV(SQR(alphaL)),kadd(eTttL,kmadd(eTxxL,SQR(beta1L),kmadd(eTyyL,SQR(beta2L),kmadd(eTzzL,SQR(beta3L),kmadd(kmadd(beta2L,eTtyL,kmul(beta3L,eTtzL)),ToReal(-2),kmul(kmadd(beta2L,kmul(beta3L,eTyzL),kmul(beta1L,kmadd(beta2L,eTxyL,kmsub(beta3L,eTxzL,eTtxL)))),ToReal(2))))))));
+ kdiv(kadd(eTttL,kmadd(eTxxL,kmul(beta1L,beta1L),kmadd(eTyyL,kmul(beta2L,beta2L),kmadd(eTzzL,kmul(beta3L,beta3L),kmadd(kmadd(beta2L,eTtyL,kmul(beta3L,eTtzL)),ToReal(-2),kmul(kmadd(beta2L,kmul(beta3L,eTyzL),kmul(beta1L,kmadd(beta2L,eTxyL,kmsub(beta3L,eTxzL,eTtxL)))),ToReal(2))))))),kmul(alphaL,alphaL));
CCTK_REAL_VEC HL =
- kadd(trR,kmadd(kmadd(Atm12,Atm21,kmadd(Atm13,Atm31,kmul(Atm23,Atm32))),ToReal(-2),ksub(ksub(ksub(kmadd(SQR(trKL),ToReal(0.666666666666666666666666666667),kmul(rho,kmul(ToReal(-16),ToReal(Pi)))),SQR(Atm33)),SQR(Atm22)),SQR(Atm11))));
+ kadd(trR,kmadd(kmadd(Atm12,Atm21,kmadd(Atm13,Atm31,kmul(Atm23,Atm32))),ToReal(-2),knmsub(Atm11,Atm11,knmsub(Atm22,Atm22,knmsub(Atm33,Atm33,kmadd(kmul(trKL,trKL),ToReal(0.666666666666666666666666666667),kmul(rho,ToReal(-16*Pi))))))));
/* Copy local copies back to grid functions */
vec_store_partial_prepare(i,lc_imin,lc_imax);
diff --git a/ML_CCZ4/src/ML_CCZ4_constraints2.cc b/ML_CCZ4/src/ML_CCZ4_constraints2.cc
index e5d87da..d543718 100644
--- a/ML_CCZ4/src/ML_CCZ4_constraints2.cc
+++ b/ML_CCZ4/src/ML_CCZ4_constraints2.cc
@@ -18,10 +18,14 @@
/* Define macros used in calculations */
#define INITVALUE (42)
-#define QAD(x) (SQR(SQR(x)))
+#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 ML_CCZ4_constraints2_SelectBCs(CCTK_ARGUMENTS)
{
@@ -77,84 +81,84 @@ static void ML_CCZ4_constraints2_Body(cGH const * restrict const cctkGH, int con
CCTK_REAL_VEC const hdzi = kmul(ToReal(0.5), dzi);
/* Initialize predefined quantities */
- CCTK_REAL_VEC const p1o1024dx = kmul(INV(dx),ToReal(0.0009765625));
- CCTK_REAL_VEC const p1o1024dy = kmul(INV(dy),ToReal(0.0009765625));
- CCTK_REAL_VEC const p1o1024dz = kmul(INV(dz),ToReal(0.0009765625));
- CCTK_REAL_VEC const p1o120dx = kmul(INV(dx),ToReal(0.00833333333333333333333333333333));
- CCTK_REAL_VEC const p1o120dy = kmul(INV(dy),ToReal(0.00833333333333333333333333333333));
- CCTK_REAL_VEC const p1o120dz = kmul(INV(dz),ToReal(0.00833333333333333333333333333333));
- CCTK_REAL_VEC const p1o12dx = kmul(INV(dx),ToReal(0.0833333333333333333333333333333));
- CCTK_REAL_VEC const p1o12dy = kmul(INV(dy),ToReal(0.0833333333333333333333333333333));
- CCTK_REAL_VEC const p1o12dz = kmul(INV(dz),ToReal(0.0833333333333333333333333333333));
- CCTK_REAL_VEC const p1o144dxdy = kmul(INV(kmul(dx,dy)),ToReal(0.00694444444444444444444444444444));
- CCTK_REAL_VEC const p1o144dxdz = kmul(INV(kmul(dx,dz)),ToReal(0.00694444444444444444444444444444));
- CCTK_REAL_VEC const p1o144dydz = kmul(INV(kmul(dy,dz)),ToReal(0.00694444444444444444444444444444));
- CCTK_REAL_VEC const p1o1680dx = kmul(INV(dx),ToReal(0.000595238095238095238095238095238));
- CCTK_REAL_VEC const p1o1680dy = kmul(INV(dy),ToReal(0.000595238095238095238095238095238));
- CCTK_REAL_VEC const p1o1680dz = kmul(INV(dz),ToReal(0.000595238095238095238095238095238));
- CCTK_REAL_VEC const p1o16dx = kmul(INV(dx),ToReal(0.0625));
- CCTK_REAL_VEC const p1o16dy = kmul(INV(dy),ToReal(0.0625));
- CCTK_REAL_VEC const p1o16dz = kmul(INV(dz),ToReal(0.0625));
- CCTK_REAL_VEC const p1o180dx2 = kmul(INV(SQR(dx)),ToReal(0.00555555555555555555555555555556));
- CCTK_REAL_VEC const p1o180dy2 = kmul(INV(SQR(dy)),ToReal(0.00555555555555555555555555555556));
- CCTK_REAL_VEC const p1o180dz2 = kmul(INV(SQR(dz)),ToReal(0.00555555555555555555555555555556));
- CCTK_REAL_VEC const p1o24dx = kmul(INV(dx),ToReal(0.0416666666666666666666666666667));
- CCTK_REAL_VEC const p1o24dy = kmul(INV(dy),ToReal(0.0416666666666666666666666666667));
- CCTK_REAL_VEC const p1o24dz = kmul(INV(dz),ToReal(0.0416666666666666666666666666667));
- CCTK_REAL_VEC const p1o256dx = kmul(INV(dx),ToReal(0.00390625));
- CCTK_REAL_VEC const p1o256dy = kmul(INV(dy),ToReal(0.00390625));
- CCTK_REAL_VEC const p1o256dz = kmul(INV(dz),ToReal(0.00390625));
- CCTK_REAL_VEC const p1o2dx = kmul(INV(dx),ToReal(0.5));
- CCTK_REAL_VEC const p1o2dy = kmul(INV(dy),ToReal(0.5));
- CCTK_REAL_VEC const p1o2dz = kmul(INV(dz),ToReal(0.5));
- CCTK_REAL_VEC const p1o3600dxdy = kmul(INV(kmul(dx,dy)),ToReal(0.000277777777777777777777777777778));
- CCTK_REAL_VEC const p1o3600dxdz = kmul(INV(kmul(dx,dz)),ToReal(0.000277777777777777777777777777778));
- CCTK_REAL_VEC const p1o3600dydz = kmul(INV(kmul(dy,dz)),ToReal(0.000277777777777777777777777777778));
- CCTK_REAL_VEC const p1o4dx = kmul(INV(dx),ToReal(0.25));
- CCTK_REAL_VEC const p1o4dxdy = kmul(INV(kmul(dx,dy)),ToReal(0.25));
- CCTK_REAL_VEC const p1o4dxdz = kmul(INV(kmul(dx,dz)),ToReal(0.25));
- CCTK_REAL_VEC const p1o4dy = kmul(INV(dy),ToReal(0.25));
- CCTK_REAL_VEC const p1o4dydz = kmul(INV(kmul(dy,dz)),ToReal(0.25));
- CCTK_REAL_VEC const p1o4dz = kmul(INV(dz),ToReal(0.25));
- CCTK_REAL_VEC const p1o5040dx2 = kmul(INV(SQR(dx)),ToReal(0.000198412698412698412698412698413));
- CCTK_REAL_VEC const p1o5040dy2 = kmul(INV(SQR(dy)),ToReal(0.000198412698412698412698412698413));
- CCTK_REAL_VEC const p1o5040dz2 = kmul(INV(SQR(dz)),ToReal(0.000198412698412698412698412698413));
- CCTK_REAL_VEC const p1o560dx = kmul(INV(dx),ToReal(0.00178571428571428571428571428571));
- CCTK_REAL_VEC const p1o560dy = kmul(INV(dy),ToReal(0.00178571428571428571428571428571));
- CCTK_REAL_VEC const p1o560dz = kmul(INV(dz),ToReal(0.00178571428571428571428571428571));
- CCTK_REAL_VEC const p1o60dx = kmul(INV(dx),ToReal(0.0166666666666666666666666666667));
- CCTK_REAL_VEC const p1o60dy = kmul(INV(dy),ToReal(0.0166666666666666666666666666667));
- CCTK_REAL_VEC const p1o60dz = kmul(INV(dz),ToReal(0.0166666666666666666666666666667));
- CCTK_REAL_VEC const p1o64dx = kmul(INV(dx),ToReal(0.015625));
- CCTK_REAL_VEC const p1o64dy = kmul(INV(dy),ToReal(0.015625));
- CCTK_REAL_VEC const p1o64dz = kmul(INV(dz),ToReal(0.015625));
- CCTK_REAL_VEC const p1o705600dxdy = kmul(INV(kmul(dx,dy)),ToReal(1.41723356009070294784580498866e-6));
- CCTK_REAL_VEC const p1o705600dxdz = kmul(INV(kmul(dx,dz)),ToReal(1.41723356009070294784580498866e-6));
- CCTK_REAL_VEC const p1o705600dydz = kmul(INV(kmul(dy,dz)),ToReal(1.41723356009070294784580498866e-6));
- CCTK_REAL_VEC const p1o840dx = kmul(INV(dx),ToReal(0.00119047619047619047619047619048));
- CCTK_REAL_VEC const p1o840dy = kmul(INV(dy),ToReal(0.00119047619047619047619047619048));
- CCTK_REAL_VEC const p1o840dz = kmul(INV(dz),ToReal(0.00119047619047619047619047619048));
- CCTK_REAL_VEC const p1odx = INV(dx);
- CCTK_REAL_VEC const p1odx2 = INV(SQR(dx));
- CCTK_REAL_VEC const p1ody = INV(dy);
- CCTK_REAL_VEC const p1ody2 = INV(SQR(dy));
- CCTK_REAL_VEC const p1odz = INV(dz);
- CCTK_REAL_VEC const p1odz2 = INV(SQR(dz));
- CCTK_REAL_VEC const pm1o120dx = kmul(INV(dx),ToReal(-0.00833333333333333333333333333333));
- CCTK_REAL_VEC const pm1o120dy = kmul(INV(dy),ToReal(-0.00833333333333333333333333333333));
- CCTK_REAL_VEC const pm1o120dz = kmul(INV(dz),ToReal(-0.00833333333333333333333333333333));
- CCTK_REAL_VEC const pm1o12dx2 = kmul(INV(SQR(dx)),ToReal(-0.0833333333333333333333333333333));
- CCTK_REAL_VEC const pm1o12dy2 = kmul(INV(SQR(dy)),ToReal(-0.0833333333333333333333333333333));
- CCTK_REAL_VEC const pm1o12dz2 = kmul(INV(SQR(dz)),ToReal(-0.0833333333333333333333333333333));
- CCTK_REAL_VEC const pm1o2dx = kmul(INV(dx),ToReal(-0.5));
- CCTK_REAL_VEC const pm1o2dy = kmul(INV(dy),ToReal(-0.5));
- CCTK_REAL_VEC const pm1o2dz = kmul(INV(dz),ToReal(-0.5));
- CCTK_REAL_VEC const pm1o4dx = kmul(INV(dx),ToReal(-0.25));
- CCTK_REAL_VEC const pm1o4dy = kmul(INV(dy),ToReal(-0.25));
- CCTK_REAL_VEC const pm1o4dz = kmul(INV(dz),ToReal(-0.25));
- CCTK_REAL_VEC const pm1o60dx = kmul(INV(dx),ToReal(-0.0166666666666666666666666666667));
- CCTK_REAL_VEC const pm1o60dy = kmul(INV(dy),ToReal(-0.0166666666666666666666666666667));
- CCTK_REAL_VEC const pm1o60dz = kmul(INV(dz),ToReal(-0.0166666666666666666666666666667));
+ CCTK_REAL_VEC const p1o1024dx = kdiv(ToReal(0.0009765625),dx);
+ CCTK_REAL_VEC const p1o1024dy = kdiv(ToReal(0.0009765625),dy);
+ CCTK_REAL_VEC const p1o1024dz = kdiv(ToReal(0.0009765625),dz);
+ CCTK_REAL_VEC const p1o120dx = kdiv(ToReal(0.00833333333333333333333333333333),dx);
+ CCTK_REAL_VEC const p1o120dy = kdiv(ToReal(0.00833333333333333333333333333333),dy);
+ CCTK_REAL_VEC const p1o120dz = kdiv(ToReal(0.00833333333333333333333333333333),dz);
+ CCTK_REAL_VEC const p1o12dx = kdiv(ToReal(0.0833333333333333333333333333333),dx);
+ CCTK_REAL_VEC const p1o12dy = kdiv(ToReal(0.0833333333333333333333333333333),dy);
+ CCTK_REAL_VEC const p1o12dz = kdiv(ToReal(0.0833333333333333333333333333333),dz);
+ CCTK_REAL_VEC const p1o144dxdy = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dy,dx));
+ CCTK_REAL_VEC const p1o144dxdz = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dx));
+ CCTK_REAL_VEC const p1o144dydz = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dy));
+ CCTK_REAL_VEC const p1o1680dx = kdiv(ToReal(0.000595238095238095238095238095238),dx);
+ CCTK_REAL_VEC const p1o1680dy = kdiv(ToReal(0.000595238095238095238095238095238),dy);
+ CCTK_REAL_VEC const p1o1680dz = kdiv(ToReal(0.000595238095238095238095238095238),dz);
+ CCTK_REAL_VEC const p1o16dx = kdiv(ToReal(0.0625),dx);
+ CCTK_REAL_VEC const p1o16dy = kdiv(ToReal(0.0625),dy);
+ CCTK_REAL_VEC const p1o16dz = kdiv(ToReal(0.0625),dz);
+ CCTK_REAL_VEC const p1o180dx2 = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dx,dx));
+ CCTK_REAL_VEC const p1o180dy2 = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dy,dy));
+ CCTK_REAL_VEC const p1o180dz2 = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dz,dz));
+ CCTK_REAL_VEC const p1o24dx = kdiv(ToReal(0.0416666666666666666666666666667),dx);
+ CCTK_REAL_VEC const p1o24dy = kdiv(ToReal(0.0416666666666666666666666666667),dy);
+ CCTK_REAL_VEC const p1o24dz = kdiv(ToReal(0.0416666666666666666666666666667),dz);
+ CCTK_REAL_VEC const p1o256dx = kdiv(ToReal(0.00390625),dx);
+ CCTK_REAL_VEC const p1o256dy = kdiv(ToReal(0.00390625),dy);
+ CCTK_REAL_VEC const p1o256dz = kdiv(ToReal(0.00390625),dz);
+ CCTK_REAL_VEC const p1o2dx = kdiv(ToReal(0.5),dx);
+ CCTK_REAL_VEC const p1o2dy = kdiv(ToReal(0.5),dy);
+ CCTK_REAL_VEC const p1o2dz = kdiv(ToReal(0.5),dz);
+ CCTK_REAL_VEC const p1o3600dxdy = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dy,dx));
+ CCTK_REAL_VEC const p1o3600dxdz = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dx));
+ CCTK_REAL_VEC const p1o3600dydz = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dy));
+ CCTK_REAL_VEC const p1o4dx = kdiv(ToReal(0.25),dx);
+ CCTK_REAL_VEC const p1o4dxdy = kdiv(ToReal(0.25),kmul(dy,dx));
+ CCTK_REAL_VEC const p1o4dxdz = kdiv(ToReal(0.25),kmul(dz,dx));
+ CCTK_REAL_VEC const p1o4dy = kdiv(ToReal(0.25),dy);
+ CCTK_REAL_VEC const p1o4dydz = kdiv(ToReal(0.25),kmul(dz,dy));
+ CCTK_REAL_VEC const p1o4dz = kdiv(ToReal(0.25),dz);
+ CCTK_REAL_VEC const p1o5040dx2 = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dx,dx));
+ CCTK_REAL_VEC const p1o5040dy2 = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dy,dy));
+ CCTK_REAL_VEC const p1o5040dz2 = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dz,dz));
+ CCTK_REAL_VEC const p1o560dx = kdiv(ToReal(0.00178571428571428571428571428571),dx);
+ CCTK_REAL_VEC const p1o560dy = kdiv(ToReal(0.00178571428571428571428571428571),dy);
+ CCTK_REAL_VEC const p1o560dz = kdiv(ToReal(0.00178571428571428571428571428571),dz);
+ CCTK_REAL_VEC const p1o60dx = kdiv(ToReal(0.0166666666666666666666666666667),dx);
+ CCTK_REAL_VEC const p1o60dy = kdiv(ToReal(0.0166666666666666666666666666667),dy);
+ CCTK_REAL_VEC const p1o60dz = kdiv(ToReal(0.0166666666666666666666666666667),dz);
+ CCTK_REAL_VEC const p1o64dx = kdiv(ToReal(0.015625),dx);
+ CCTK_REAL_VEC const p1o64dy = kdiv(ToReal(0.015625),dy);
+ CCTK_REAL_VEC const p1o64dz = kdiv(ToReal(0.015625),dz);
+ CCTK_REAL_VEC const p1o705600dxdy = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dy,dx));
+ CCTK_REAL_VEC const p1o705600dxdz = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dx));
+ CCTK_REAL_VEC const p1o705600dydz = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dy));
+ CCTK_REAL_VEC const p1o840dx = kdiv(ToReal(0.00119047619047619047619047619048),dx);
+ CCTK_REAL_VEC const p1o840dy = kdiv(ToReal(0.00119047619047619047619047619048),dy);
+ CCTK_REAL_VEC const p1o840dz = kdiv(ToReal(0.00119047619047619047619047619048),dz);
+ CCTK_REAL_VEC const p1odx = kdiv(ToReal(1),dx);
+ CCTK_REAL_VEC const p1odx2 = kdiv(ToReal(1),kmul(dx,dx));
+ CCTK_REAL_VEC const p1ody = kdiv(ToReal(1),dy);
+ CCTK_REAL_VEC const p1ody2 = kdiv(ToReal(1),kmul(dy,dy));
+ CCTK_REAL_VEC const p1odz = kdiv(ToReal(1),dz);
+ CCTK_REAL_VEC const p1odz2 = kdiv(ToReal(1),kmul(dz,dz));
+ CCTK_REAL_VEC const pm1o120dx = kdiv(ToReal(-0.00833333333333333333333333333333),dx);
+ CCTK_REAL_VEC const pm1o120dy = kdiv(ToReal(-0.00833333333333333333333333333333),dy);
+ CCTK_REAL_VEC const pm1o120dz = kdiv(ToReal(-0.00833333333333333333333333333333),dz);
+ CCTK_REAL_VEC const pm1o12dx2 = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dx,dx));
+ CCTK_REAL_VEC const pm1o12dy2 = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dy,dy));
+ CCTK_REAL_VEC const pm1o12dz2 = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dz,dz));
+ CCTK_REAL_VEC const pm1o2dx = kdiv(ToReal(-0.5),dx);
+ CCTK_REAL_VEC const pm1o2dy = kdiv(ToReal(-0.5),dy);
+ CCTK_REAL_VEC const pm1o2dz = kdiv(ToReal(-0.5),dz);
+ CCTK_REAL_VEC const pm1o4dx = kdiv(ToReal(-0.25),dx);
+ CCTK_REAL_VEC const pm1o4dy = kdiv(ToReal(-0.25),dy);
+ CCTK_REAL_VEC const pm1o4dz = kdiv(ToReal(-0.25),dz);
+ CCTK_REAL_VEC const pm1o60dx = kdiv(ToReal(-0.0166666666666666666666666666667),dx);
+ CCTK_REAL_VEC const pm1o60dy = kdiv(ToReal(-0.0166666666666666666666666666667),dy);
+ CCTK_REAL_VEC const pm1o60dz = kdiv(ToReal(-0.0166666666666666666666666666667),dz);
/* Jacobian variable pointers */
bool const use_jacobian = (!CCTK_IsFunctionAliased("MultiPatch_GetMap") || MultiPatch_GetMap(cctkGH) != jacobian_identity_map)
@@ -213,7 +217,7 @@ static void ML_CCZ4_constraints2_Body(cGH const * restrict const cctkGH, int con
#pragma omp parallel
LC_LOOP3VEC(ML_CCZ4_constraints2,
i,j,k, imin[0],imin[1],imin[2], imax[0],imax[1],imax[2],
- cctk_lsh[0],cctk_lsh[1],cctk_lsh[2],
+ cctk_ash[0],cctk_ash[1],cctk_ash[2],
CCTK_REAL_VEC_SIZE)
{
ptrdiff_t const index = di*i + dj*j + dk*k;
@@ -775,22 +779,22 @@ static void ML_CCZ4_constraints2_Body(cGH const * restrict const cctkGH, int con
CCTK_REAL_VEC detgt = ToReal(1);
CCTK_REAL_VEC gtu11 =
- kmul(INV(detgt),kmsub(gt22L,gt33L,SQR(gt23L)));
+ kdiv(kmsub(gt22L,gt33L,kmul(gt23L,gt23L)),detgt);
CCTK_REAL_VEC gtu12 =
- kmul(INV(detgt),kmsub(gt13L,gt23L,kmul(gt12L,gt33L)));
+ kdiv(kmsub(gt13L,gt23L,kmul(gt12L,gt33L)),detgt);
CCTK_REAL_VEC gtu13 =
- kmul(INV(detgt),kmsub(gt12L,gt23L,kmul(gt13L,gt22L)));
+ kdiv(kmsub(gt12L,gt23L,kmul(gt13L,gt22L)),detgt);
CCTK_REAL_VEC gtu22 =
- kmul(INV(detgt),kmsub(gt11L,gt33L,SQR(gt13L)));
+ kdiv(kmsub(gt11L,gt33L,kmul(gt13L,gt13L)),detgt);
CCTK_REAL_VEC gtu23 =
- kmul(INV(detgt),kmsub(gt12L,gt13L,kmul(gt11L,gt23L)));
+ kdiv(kmsub(gt12L,gt13L,kmul(gt11L,gt23L)),detgt);
CCTK_REAL_VEC gtu33 =
- kmul(INV(detgt),kmsub(gt11L,gt22L,SQR(gt12L)));
+ kdiv(kmsub(gt11L,gt22L,kmul(gt12L,gt12L)),detgt);
CCTK_REAL_VEC Gtl111 = kmul(JacPDstandardNth1gt11,ToReal(0.5));
@@ -892,7 +896,7 @@ static void ML_CCZ4_constraints2_Body(cGH const * restrict const cctkGH, int con
kmadd(Gtl133,gtu13,kmadd(Gtl233,gtu23,kmul(Gtl333,gtu33)));
CCTK_REAL_VEC fac1 = IfThen(conformalMethod ==
- 1,kmul(INV(phiL),ToReal(-0.5)),ToReal(1));
+ 1,kdiv(ToReal(-0.5),phiL),ToReal(1));
CCTK_REAL_VEC cdphi1 = kmul(fac1,JacPDstandardNth1phi);
@@ -901,22 +905,22 @@ static void ML_CCZ4_constraints2_Body(cGH const * restrict const cctkGH, int con
CCTK_REAL_VEC cdphi3 = kmul(fac1,JacPDstandardNth3phi);
CCTK_REAL_VEC S1 =
- kmul(INV(alphaL),kmadd(beta1L,eTxxL,kmadd(beta2L,eTxyL,kmsub(beta3L,eTxzL,eTtxL))));
+ kdiv(kmadd(beta1L,eTxxL,kmadd(beta2L,eTxyL,kmsub(beta3L,eTxzL,eTtxL))),alphaL);
CCTK_REAL_VEC S2 =
- kmul(INV(alphaL),kmadd(beta1L,eTxyL,kmadd(beta2L,eTyyL,kmsub(beta3L,eTyzL,eTtyL))));
+ kdiv(kmadd(beta1L,eTxyL,kmadd(beta2L,eTyyL,kmsub(beta3L,eTyzL,eTtyL))),alphaL);
CCTK_REAL_VEC S3 =
- kmul(INV(alphaL),kmadd(beta1L,eTxzL,kmadd(beta2L,eTyzL,kmsub(beta3L,eTzzL,eTtzL))));
+ kdiv(kmadd(beta1L,eTxzL,kmadd(beta2L,eTyzL,kmsub(beta3L,eTzzL,eTtzL))),alphaL);
CCTK_REAL_VEC M1L =
- kmadd(gtu11,JacPDstandardNth1At11,kmadd(gtu12,JacPDstandardNth2At11,kmadd(gtu22,JacPDstandardNth2At12,kmadd(gtu23,JacPDstandardNth2At13,kmadd(gtu13,JacPDstandardNth3At11,kmadd(gtu23,JacPDstandardNth3At12,kmadd(gtu33,JacPDstandardNth3At13,kmadd(gtu12,kadd(JacPDstandardNth1At12,kmsub(At13L,kmul(Gt312,ToReal(-3)),kmul(At22L,Gt211))),kmadd(gtu13,kadd(JacPDstandardNth1At13,kmsub(At13L,kmul(Gt313,ToReal(-3)),kmul(At23L,Gt211))),knmsub(gtu22,kmadd(At23L,Gt312,kmul(At22L,Gt212)),kmadd(Gt311,kmsub(At13L,kmul(gtu11,ToReal(-2)),kmadd(At33L,gtu13,kmul(At23L,gtu12))),kmadd(At13L,kmsub(Gt323,kmul(gtu23,ToReal(-2)),kmul(Gt113,gtu33)),kmadd(JacPDstandardNth1trK,ToReal(-0.666666666666666666666666666667),knmsub(At12L,kmadd(Gt111,gtu12,kmadd(Gt112,gtu22,kmadd(Gt222,gtu22,kmadd(Gt113,gtu23,kmadd(Gt233,gtu33,kmadd(cdphi1,kmul(gtu12,ToReal(-6)),kmadd(cdphi2,kmul(gtu22,ToReal(-6)),kmadd(cdphi3,kmul(gtu23,ToReal(-6)),kmadd(Gt211,kmul(gtu11,ToReal(2)),kmadd(Gt223,kmul(gtu23,ToReal(2)),kmadd(Gt212,kmul(gtu12,ToReal(3)),kmul(Gt213,kmul(gtu13,ToReal(3)))))))))))))),kmadd(gtu23,knmsub(At22L,Gt213,knmsub(At33L,Gt312,kmsub(At13L,kmul(cdphi2,ToReal(6)),kmul(At23L,kadd(Gt313,Gt212))))),kmadd(gtu33,knmsub(At23L,Gt213,kmsub(At13L,kmul(cdphi3,ToReal(6)),kmul(At33L,Gt313))),kmadd(At11L,kmadd(Gt112,kmul(gtu12,ToReal(-3)),kmadd(Gt113,kmul(gtu13,ToReal(-3)),kmadd(Gt111,kmul(gtu11,ToReal(-2)),kmadd(Gt123,kmul(gtu23,ToReal(-2)),knmsub(Gt122,gtu22,knmsub(Gt133,gtu33,kmadd(cdphi1,kmul(gtu11,ToReal(6)),kmadd(cdphi2,kmul(gtu12,ToReal(6)),kmul(cdphi3,kmul(gtu13,ToReal(6))))))))))),kmadd(At13L,knmsub(Gt322,gtu22,knmsub(Gt112,gtu23,kmsub(gtu13,kmsub(cdphi1,ToReal(6),Gt111),kmul(Gt333,gtu33)))),kmul(S1,kmul(ToReal(-8),ToReal(Pi)))))))))))))))))))));
+ kmadd(gtu11,JacPDstandardNth1At11,kmadd(gtu12,JacPDstandardNth2At11,kmadd(gtu22,JacPDstandardNth2At12,kmadd(gtu23,JacPDstandardNth2At13,kmadd(gtu13,JacPDstandardNth3At11,kmadd(gtu23,JacPDstandardNth3At12,kmadd(gtu33,JacPDstandardNth3At13,kmadd(gtu12,kadd(JacPDstandardNth1At12,kmsub(At13L,kmul(Gt312,ToReal(-3)),kmul(At22L,Gt211))),kmadd(gtu13,kadd(JacPDstandardNth1At13,kmsub(At13L,kmul(Gt313,ToReal(-3)),kmul(At23L,Gt211))),knmsub(gtu22,kmadd(At23L,Gt312,kmul(At22L,Gt212)),kmadd(Gt311,kmsub(At13L,kmul(gtu11,ToReal(-2)),kmadd(At33L,gtu13,kmul(At23L,gtu12))),kmadd(At13L,kmsub(Gt323,kmul(gtu23,ToReal(-2)),kmul(Gt113,gtu33)),kmadd(JacPDstandardNth1trK,ToReal(-0.666666666666666666666666666667),knmsub(At12L,kmadd(Gt111,gtu12,kmadd(Gt112,gtu22,kmadd(Gt222,gtu22,kmadd(Gt113,gtu23,kmadd(Gt233,gtu33,kmadd(cdphi1,kmul(gtu12,ToReal(-6)),kmadd(cdphi2,kmul(gtu22,ToReal(-6)),kmadd(cdphi3,kmul(gtu23,ToReal(-6)),kmadd(Gt211,kmul(gtu11,ToReal(2)),kmadd(Gt223,kmul(gtu23,ToReal(2)),kmadd(Gt212,kmul(gtu12,ToReal(3)),kmul(Gt213,kmul(gtu13,ToReal(3)))))))))))))),kmadd(gtu23,knmsub(At22L,Gt213,knmsub(At33L,Gt312,kmsub(At13L,kmul(cdphi2,ToReal(6)),kmul(At23L,kadd(Gt313,Gt212))))),kmadd(gtu33,knmsub(At23L,Gt213,kmsub(At13L,kmul(cdphi3,ToReal(6)),kmul(At33L,Gt313))),kmadd(At11L,kmadd(Gt112,kmul(gtu12,ToReal(-3)),kmadd(Gt113,kmul(gtu13,ToReal(-3)),kmadd(Gt111,kmul(gtu11,ToReal(-2)),kmadd(Gt123,kmul(gtu23,ToReal(-2)),knmsub(Gt122,gtu22,knmsub(Gt133,gtu33,kmadd(cdphi1,kmul(gtu11,ToReal(6)),kmadd(cdphi2,kmul(gtu12,ToReal(6)),kmul(cdphi3,kmul(gtu13,ToReal(6))))))))))),kmadd(At13L,knmsub(Gt322,gtu22,knmsub(Gt112,gtu23,kmsub(gtu13,kmsub(cdphi1,ToReal(6),Gt111),kmul(Gt333,gtu33)))),kmul(S1,ToReal(-8*Pi))))))))))))))))))));
CCTK_REAL_VEC M2L =
- kmadd(gtu11,JacPDstandardNth1At12,kmadd(gtu12,JacPDstandardNth1At22,kmadd(gtu13,JacPDstandardNth1At23,kmadd(gtu12,JacPDstandardNth2At12,kmadd(gtu22,JacPDstandardNth2At22,kmadd(gtu23,JacPDstandardNth2At23,kmadd(gtu13,JacPDstandardNth3At12,kmadd(gtu23,JacPDstandardNth3At22,kmadd(gtu33,JacPDstandardNth3At23,kmadd(At22L,kmul(Gt222,kmul(gtu22,ToReal(-2))),knmsub(At11L,kmadd(Gt112,gtu11,kmadd(Gt122,gtu12,kmul(Gt123,gtu13))),knmsub(gtu11,kmadd(At22L,Gt211,kmadd(At13L,Gt312,kmul(At23L,Gt311))),kmadd(Gt212,kmsub(At22L,kmul(gtu12,ToReal(-3)),kmul(At23L,gtu13)),kmadd(Gt312,kmsub(At23L,kmul(gtu12,ToReal(-3)),kmul(At33L,gtu13)),kmadd(Gt322,kmsub(At23L,kmul(gtu22,ToReal(-2)),kmul(At33L,gtu23)),kmadd(Gt223,kmsub(At22L,kmul(gtu23,ToReal(-3)),kmul(At23L,gtu33)),kmadd(Gt323,kmsub(At23L,kmul(gtu23,ToReal(-3)),kmul(At33L,gtu33)),kmadd(At22L,kmsub(Gt213,kmul(gtu13,ToReal(-2)),kmul(Gt233,gtu33)),kmadd(At23L,kmsub(Gt313,kmul(gtu13,ToReal(-2)),kmadd(Gt333,gtu33,kmul(Gt222,gtu23))),kmadd(JacPDstandardNth2trK,ToReal(-0.666666666666666666666666666667),kmadd(At22L,kmul(cdphi2,kmul(gtu22,ToReal(6))),kmadd(At22L,kmul(cdphi3,kmul(gtu23,ToReal(6))),kmadd(gtu12,kmsub(At22L,kmul(cdphi1,ToReal(6)),kmul(At13L,Gt322)),kmadd(gtu13,kmsub(At23L,kmul(cdphi1,ToReal(6)),kmul(At13L,kadd(Gt323,Gt112))),kmadd(gtu23,kmsub(At23L,kmul(cdphi2,ToReal(6)),kmul(At13L,Gt122)),kmadd(gtu33,kmsub(At23L,kmul(cdphi3,ToReal(6)),kmul(At13L,Gt123)),kmadd(At12L,kmadd(Gt112,kmul(gtu12,ToReal(-3)),kmadd(Gt123,kmul(gtu23,ToReal(-3)),kmadd(Gt113,kmul(gtu13,ToReal(-2)),kmadd(Gt122,kmul(gtu22,ToReal(-2)),knmsub(Gt133,gtu33,kmadd(gtu11,ksub(kmsub(cdphi1,ToReal(6),Gt212),Gt111),kmadd(gtu12,kmsub(cdphi2,ToReal(6),Gt222),kmul(gtu13,kmsub(cdphi3,ToReal(6),Gt223))))))))),kmul(S2,kmul(ToReal(-8),ToReal(Pi))))))))))))))))))))))))))))));
+ kmadd(gtu11,JacPDstandardNth1At12,kmadd(gtu12,JacPDstandardNth1At22,kmadd(gtu13,JacPDstandardNth1At23,kmadd(gtu12,JacPDstandardNth2At12,kmadd(gtu22,JacPDstandardNth2At22,kmadd(gtu23,JacPDstandardNth2At23,kmadd(gtu13,JacPDstandardNth3At12,kmadd(gtu23,JacPDstandardNth3At22,kmadd(gtu33,JacPDstandardNth3At23,kmadd(At22L,kmul(Gt222,kmul(gtu22,ToReal(-2))),knmsub(At11L,kmadd(Gt112,gtu11,kmadd(Gt122,gtu12,kmul(Gt123,gtu13))),knmsub(gtu11,kmadd(At22L,Gt211,kmadd(At13L,Gt312,kmul(At23L,Gt311))),kmadd(Gt212,kmsub(At22L,kmul(gtu12,ToReal(-3)),kmul(At23L,gtu13)),kmadd(Gt312,kmsub(At23L,kmul(gtu12,ToReal(-3)),kmul(At33L,gtu13)),kmadd(Gt322,kmsub(At23L,kmul(gtu22,ToReal(-2)),kmul(At33L,gtu23)),kmadd(Gt223,kmsub(At22L,kmul(gtu23,ToReal(-3)),kmul(At23L,gtu33)),kmadd(Gt323,kmsub(At23L,kmul(gtu23,ToReal(-3)),kmul(At33L,gtu33)),kmadd(At22L,kmsub(Gt213,kmul(gtu13,ToReal(-2)),kmul(Gt233,gtu33)),kmadd(At23L,kmsub(Gt313,kmul(gtu13,ToReal(-2)),kmadd(Gt333,gtu33,kmul(Gt222,gtu23))),kmadd(JacPDstandardNth2trK,ToReal(-0.666666666666666666666666666667),kmadd(At22L,kmul(cdphi2,kmul(gtu22,ToReal(6))),kmadd(At22L,kmul(cdphi3,kmul(gtu23,ToReal(6))),kmadd(gtu12,kmsub(At22L,kmul(cdphi1,ToReal(6)),kmul(At13L,Gt322)),kmadd(gtu13,kmsub(At23L,kmul(cdphi1,ToReal(6)),kmul(At13L,kadd(Gt323,Gt112))),kmadd(gtu23,kmsub(At23L,kmul(cdphi2,ToReal(6)),kmul(At13L,Gt122)),kmadd(gtu33,kmsub(At23L,kmul(cdphi3,ToReal(6)),kmul(At13L,Gt123)),kmadd(At12L,kmadd(Gt112,kmul(gtu12,ToReal(-3)),kmadd(Gt123,kmul(gtu23,ToReal(-3)),kmadd(Gt113,kmul(gtu13,ToReal(-2)),kmadd(Gt122,kmul(gtu22,ToReal(-2)),knmsub(Gt133,gtu33,kmadd(gtu11,ksub(kmsub(cdphi1,ToReal(6),Gt212),Gt111),kmadd(gtu12,kmsub(cdphi2,ToReal(6),Gt222),kmul(gtu13,kmsub(cdphi3,ToReal(6),Gt223))))))))),kmul(S2,ToReal(-8*Pi)))))))))))))))))))))))))))));
CCTK_REAL_VEC M3L =
- kmadd(gtu11,JacPDstandardNth1At13,kmadd(gtu12,JacPDstandardNth1At23,kmadd(gtu13,JacPDstandardNth1At33,kmadd(gtu12,JacPDstandardNth2At13,kmadd(gtu22,JacPDstandardNth2At23,kmadd(gtu23,JacPDstandardNth2At33,kmadd(gtu13,JacPDstandardNth3At13,kmadd(gtu23,JacPDstandardNth3At23,kmadd(gtu33,JacPDstandardNth3At33,kmadd(At33L,kmul(Gt313,kmul(gtu13,ToReal(-3))),kmadd(At23L,kmul(Gt223,kmul(gtu23,ToReal(-3))),kmadd(At33L,kmul(Gt323,kmul(gtu23,ToReal(-3))),kmadd(At23L,kmul(Gt233,kmul(gtu33,ToReal(-2))),kmadd(At33L,kmul(Gt333,kmul(gtu33,ToReal(-2))),knmsub(At11L,kmadd(Gt113,gtu11,kmadd(Gt123,gtu12,kmul(Gt133,gtu13))),kmadd(gtu12,kmsub(At23L,kmul(Gt212,ToReal(-2)),kmul(At12L,Gt223)),knmsub(gtu11,kmadd(At23L,Gt211,kmadd(At33L,Gt311,kmul(At12L,Gt213))),kmadd(At33L,kmsub(Gt312,kmul(gtu12,ToReal(-2)),kmul(Gt322,gtu22)),kmadd(At23L,kmsub(Gt213,kmul(gtu13,ToReal(-3)),kmadd(Gt333,gtu23,kmul(Gt222,gtu22))),kmadd(JacPDstandardNth3trK,ToReal(-0.666666666666666666666666666667),kmadd(At33L,kmul(cdphi3,kmul(gtu33,ToReal(6))),kmadd(gtu13,kmsub(At33L,kmul(cdphi1,ToReal(6)),kmul(At12L,Gt233)),kmadd(gtu23,kmsub(At33L,kmul(cdphi2,ToReal(6)),kmul(At12L,Gt133)),kmadd(gtu23,kmsub(At23L,kmul(cdphi3,ToReal(6)),kmul(At22L,Gt233)),kmadd(gtu12,knmsub(At12L,Gt113,kmsub(At23L,kmsub(cdphi1,ToReal(6),Gt313),kmul(At22L,Gt213))),kmadd(gtu22,knmsub(At12L,Gt123,kmsub(At23L,kmsub(cdphi2,ToReal(6),Gt323),kmul(At22L,Gt223))),kmadd(At13L,kmadd(Gt113,kmul(gtu13,ToReal(-3)),kmadd(Gt123,kmul(gtu23,ToReal(-3)),kmadd(Gt112,kmul(gtu12,ToReal(-2)),kmadd(Gt133,kmul(gtu33,ToReal(-2)),knmsub(Gt122,gtu22,kmadd(gtu11,ksub(kmsub(cdphi1,ToReal(6),Gt313),Gt111),kmadd(gtu12,kmsub(cdphi2,ToReal(6),Gt323),kmul(gtu13,kmsub(cdphi3,ToReal(6),Gt333))))))))),kmul(S3,kmul(ToReal(-8),ToReal(Pi))))))))))))))))))))))))))))));
+ kmadd(gtu11,JacPDstandardNth1At13,kmadd(gtu12,JacPDstandardNth1At23,kmadd(gtu13,JacPDstandardNth1At33,kmadd(gtu12,JacPDstandardNth2At13,kmadd(gtu22,JacPDstandardNth2At23,kmadd(gtu23,JacPDstandardNth2At33,kmadd(gtu13,JacPDstandardNth3At13,kmadd(gtu23,JacPDstandardNth3At23,kmadd(gtu33,JacPDstandardNth3At33,kmadd(At33L,kmul(Gt313,kmul(gtu13,ToReal(-3))),kmadd(At23L,kmul(Gt223,kmul(gtu23,ToReal(-3))),kmadd(At33L,kmul(Gt323,kmul(gtu23,ToReal(-3))),kmadd(At23L,kmul(Gt233,kmul(gtu33,ToReal(-2))),kmadd(At33L,kmul(Gt333,kmul(gtu33,ToReal(-2))),knmsub(At11L,kmadd(Gt113,gtu11,kmadd(Gt123,gtu12,kmul(Gt133,gtu13))),kmadd(gtu12,kmsub(At23L,kmul(Gt212,ToReal(-2)),kmul(At12L,Gt223)),knmsub(gtu11,kmadd(At23L,Gt211,kmadd(At33L,Gt311,kmul(At12L,Gt213))),kmadd(At33L,kmsub(Gt312,kmul(gtu12,ToReal(-2)),kmul(Gt322,gtu22)),kmadd(At23L,kmsub(Gt213,kmul(gtu13,ToReal(-3)),kmadd(Gt333,gtu23,kmul(Gt222,gtu22))),kmadd(JacPDstandardNth3trK,ToReal(-0.666666666666666666666666666667),kmadd(At33L,kmul(cdphi3,kmul(gtu33,ToReal(6))),kmadd(gtu13,kmsub(At33L,kmul(cdphi1,ToReal(6)),kmul(At12L,Gt233)),kmadd(gtu23,kmsub(At33L,kmul(cdphi2,ToReal(6)),kmul(At12L,Gt133)),kmadd(gtu23,kmsub(At23L,kmul(cdphi3,ToReal(6)),kmul(At22L,Gt233)),kmadd(gtu12,knmsub(At12L,Gt113,kmsub(At23L,kmsub(cdphi1,ToReal(6),Gt313),kmul(At22L,Gt213))),kmadd(gtu22,knmsub(At12L,Gt123,kmsub(At23L,kmsub(cdphi2,ToReal(6),Gt323),kmul(At22L,Gt223))),kmadd(At13L,kmadd(Gt113,kmul(gtu13,ToReal(-3)),kmadd(Gt123,kmul(gtu23,ToReal(-3)),kmadd(Gt112,kmul(gtu12,ToReal(-2)),kmadd(Gt133,kmul(gtu33,ToReal(-2)),knmsub(Gt122,gtu22,kmadd(gtu11,ksub(kmsub(cdphi1,ToReal(6),Gt313),Gt111),kmadd(gtu12,kmsub(cdphi2,ToReal(6),Gt323),kmul(gtu13,kmsub(cdphi3,ToReal(6),Gt333))))))))),kmul(S3,ToReal(-8*Pi)))))))))))))))))))))))))))));
CCTK_REAL_VEC cSL = klog(detgt);
diff --git a/ML_CCZ4/src/ML_CCZ4_convertFromADMBase.cc b/ML_CCZ4/src/ML_CCZ4_convertFromADMBase.cc
index d519cae..1e0e4c3 100644
--- a/ML_CCZ4/src/ML_CCZ4_convertFromADMBase.cc
+++ b/ML_CCZ4/src/ML_CCZ4_convertFromADMBase.cc
@@ -18,10 +18,14 @@
/* Define macros used in calculations */
#define INITVALUE (42)
-#define QAD(x) (SQR(SQR(x)))
+#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)))
static void ML_CCZ4_convertFromADMBase_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[])
{
@@ -56,84 +60,84 @@ static void ML_CCZ4_convertFromADMBase_Body(cGH const * restrict const cctkGH, i
CCTK_REAL_VEC const hdzi = kmul(ToReal(0.5), dzi);
/* Initialize predefined quantities */
- CCTK_REAL_VEC const p1o1024dx = kmul(INV(dx),ToReal(0.0009765625));
- CCTK_REAL_VEC const p1o1024dy = kmul(INV(dy),ToReal(0.0009765625));
- CCTK_REAL_VEC const p1o1024dz = kmul(INV(dz),ToReal(0.0009765625));
- CCTK_REAL_VEC const p1o120dx = kmul(INV(dx),ToReal(0.00833333333333333333333333333333));
- CCTK_REAL_VEC const p1o120dy = kmul(INV(dy),ToReal(0.00833333333333333333333333333333));
- CCTK_REAL_VEC const p1o120dz = kmul(INV(dz),ToReal(0.00833333333333333333333333333333));
- CCTK_REAL_VEC const p1o12dx = kmul(INV(dx),ToReal(0.0833333333333333333333333333333));
- CCTK_REAL_VEC const p1o12dy = kmul(INV(dy),ToReal(0.0833333333333333333333333333333));
- CCTK_REAL_VEC const p1o12dz = kmul(INV(dz),ToReal(0.0833333333333333333333333333333));
- CCTK_REAL_VEC const p1o144dxdy = kmul(INV(kmul(dx,dy)),ToReal(0.00694444444444444444444444444444));
- CCTK_REAL_VEC const p1o144dxdz = kmul(INV(kmul(dx,dz)),ToReal(0.00694444444444444444444444444444));
- CCTK_REAL_VEC const p1o144dydz = kmul(INV(kmul(dy,dz)),ToReal(0.00694444444444444444444444444444));
- CCTK_REAL_VEC const p1o1680dx = kmul(INV(dx),ToReal(0.000595238095238095238095238095238));
- CCTK_REAL_VEC const p1o1680dy = kmul(INV(dy),ToReal(0.000595238095238095238095238095238));
- CCTK_REAL_VEC const p1o1680dz = kmul(INV(dz),ToReal(0.000595238095238095238095238095238));
- CCTK_REAL_VEC const p1o16dx = kmul(INV(dx),ToReal(0.0625));
- CCTK_REAL_VEC const p1o16dy = kmul(INV(dy),ToReal(0.0625));
- CCTK_REAL_VEC const p1o16dz = kmul(INV(dz),ToReal(0.0625));
- CCTK_REAL_VEC const p1o180dx2 = kmul(INV(SQR(dx)),ToReal(0.00555555555555555555555555555556));
- CCTK_REAL_VEC const p1o180dy2 = kmul(INV(SQR(dy)),ToReal(0.00555555555555555555555555555556));
- CCTK_REAL_VEC const p1o180dz2 = kmul(INV(SQR(dz)),ToReal(0.00555555555555555555555555555556));
- CCTK_REAL_VEC const p1o24dx = kmul(INV(dx),ToReal(0.0416666666666666666666666666667));
- CCTK_REAL_VEC const p1o24dy = kmul(INV(dy),ToReal(0.0416666666666666666666666666667));
- CCTK_REAL_VEC const p1o24dz = kmul(INV(dz),ToReal(0.0416666666666666666666666666667));
- CCTK_REAL_VEC const p1o256dx = kmul(INV(dx),ToReal(0.00390625));
- CCTK_REAL_VEC const p1o256dy = kmul(INV(dy),ToReal(0.00390625));
- CCTK_REAL_VEC const p1o256dz = kmul(INV(dz),ToReal(0.00390625));
- CCTK_REAL_VEC const p1o2dx = kmul(INV(dx),ToReal(0.5));
- CCTK_REAL_VEC const p1o2dy = kmul(INV(dy),ToReal(0.5));
- CCTK_REAL_VEC const p1o2dz = kmul(INV(dz),ToReal(0.5));
- CCTK_REAL_VEC const p1o3600dxdy = kmul(INV(kmul(dx,dy)),ToReal(0.000277777777777777777777777777778));
- CCTK_REAL_VEC const p1o3600dxdz = kmul(INV(kmul(dx,dz)),ToReal(0.000277777777777777777777777777778));
- CCTK_REAL_VEC const p1o3600dydz = kmul(INV(kmul(dy,dz)),ToReal(0.000277777777777777777777777777778));
- CCTK_REAL_VEC const p1o4dx = kmul(INV(dx),ToReal(0.25));
- CCTK_REAL_VEC const p1o4dxdy = kmul(INV(kmul(dx,dy)),ToReal(0.25));
- CCTK_REAL_VEC const p1o4dxdz = kmul(INV(kmul(dx,dz)),ToReal(0.25));
- CCTK_REAL_VEC const p1o4dy = kmul(INV(dy),ToReal(0.25));
- CCTK_REAL_VEC const p1o4dydz = kmul(INV(kmul(dy,dz)),ToReal(0.25));
- CCTK_REAL_VEC const p1o4dz = kmul(INV(dz),ToReal(0.25));
- CCTK_REAL_VEC const p1o5040dx2 = kmul(INV(SQR(dx)),ToReal(0.000198412698412698412698412698413));
- CCTK_REAL_VEC const p1o5040dy2 = kmul(INV(SQR(dy)),ToReal(0.000198412698412698412698412698413));
- CCTK_REAL_VEC const p1o5040dz2 = kmul(INV(SQR(dz)),ToReal(0.000198412698412698412698412698413));
- CCTK_REAL_VEC const p1o560dx = kmul(INV(dx),ToReal(0.00178571428571428571428571428571));
- CCTK_REAL_VEC const p1o560dy = kmul(INV(dy),ToReal(0.00178571428571428571428571428571));
- CCTK_REAL_VEC const p1o560dz = kmul(INV(dz),ToReal(0.00178571428571428571428571428571));
- CCTK_REAL_VEC const p1o60dx = kmul(INV(dx),ToReal(0.0166666666666666666666666666667));
- CCTK_REAL_VEC const p1o60dy = kmul(INV(dy),ToReal(0.0166666666666666666666666666667));
- CCTK_REAL_VEC const p1o60dz = kmul(INV(dz),ToReal(0.0166666666666666666666666666667));
- CCTK_REAL_VEC const p1o64dx = kmul(INV(dx),ToReal(0.015625));
- CCTK_REAL_VEC const p1o64dy = kmul(INV(dy),ToReal(0.015625));
- CCTK_REAL_VEC const p1o64dz = kmul(INV(dz),ToReal(0.015625));
- CCTK_REAL_VEC const p1o705600dxdy = kmul(INV(kmul(dx,dy)),ToReal(1.41723356009070294784580498866e-6));
- CCTK_REAL_VEC const p1o705600dxdz = kmul(INV(kmul(dx,dz)),ToReal(1.41723356009070294784580498866e-6));
- CCTK_REAL_VEC const p1o705600dydz = kmul(INV(kmul(dy,dz)),ToReal(1.41723356009070294784580498866e-6));
- CCTK_REAL_VEC const p1o840dx = kmul(INV(dx),ToReal(0.00119047619047619047619047619048));
- CCTK_REAL_VEC const p1o840dy = kmul(INV(dy),ToReal(0.00119047619047619047619047619048));
- CCTK_REAL_VEC const p1o840dz = kmul(INV(dz),ToReal(0.00119047619047619047619047619048));
- CCTK_REAL_VEC const p1odx = INV(dx);
- CCTK_REAL_VEC const p1odx2 = INV(SQR(dx));
- CCTK_REAL_VEC const p1ody = INV(dy);
- CCTK_REAL_VEC const p1ody2 = INV(SQR(dy));
- CCTK_REAL_VEC const p1odz = INV(dz);
- CCTK_REAL_VEC const p1odz2 = INV(SQR(dz));
- CCTK_REAL_VEC const pm1o120dx = kmul(INV(dx),ToReal(-0.00833333333333333333333333333333));
- CCTK_REAL_VEC const pm1o120dy = kmul(INV(dy),ToReal(-0.00833333333333333333333333333333));
- CCTK_REAL_VEC const pm1o120dz = kmul(INV(dz),ToReal(-0.00833333333333333333333333333333));
- CCTK_REAL_VEC const pm1o12dx2 = kmul(INV(SQR(dx)),ToReal(-0.0833333333333333333333333333333));
- CCTK_REAL_VEC const pm1o12dy2 = kmul(INV(SQR(dy)),ToReal(-0.0833333333333333333333333333333));
- CCTK_REAL_VEC const pm1o12dz2 = kmul(INV(SQR(dz)),ToReal(-0.0833333333333333333333333333333));
- CCTK_REAL_VEC const pm1o2dx = kmul(INV(dx),ToReal(-0.5));
- CCTK_REAL_VEC const pm1o2dy = kmul(INV(dy),ToReal(-0.5));
- CCTK_REAL_VEC const pm1o2dz = kmul(INV(dz),ToReal(-0.5));
- CCTK_REAL_VEC const pm1o4dx = kmul(INV(dx),ToReal(-0.25));
- CCTK_REAL_VEC const pm1o4dy = kmul(INV(dy),ToReal(-0.25));
- CCTK_REAL_VEC const pm1o4dz = kmul(INV(dz),ToReal(-0.25));
- CCTK_REAL_VEC const pm1o60dx = kmul(INV(dx),ToReal(-0.0166666666666666666666666666667));
- CCTK_REAL_VEC const pm1o60dy = kmul(INV(dy),ToReal(-0.0166666666666666666666666666667));
- CCTK_REAL_VEC const pm1o60dz = kmul(INV(dz),ToReal(-0.0166666666666666666666666666667));
+ CCTK_REAL_VEC const p1o1024dx = kdiv(ToReal(0.0009765625),dx);
+ CCTK_REAL_VEC const p1o1024dy = kdiv(ToReal(0.0009765625),dy);
+ CCTK_REAL_VEC const p1o1024dz = kdiv(ToReal(0.0009765625),dz);
+ CCTK_REAL_VEC const p1o120dx = kdiv(ToReal(0.00833333333333333333333333333333),dx);
+ CCTK_REAL_VEC const p1o120dy = kdiv(ToReal(0.00833333333333333333333333333333),dy);
+ CCTK_REAL_VEC const p1o120dz = kdiv(ToReal(0.00833333333333333333333333333333),dz);
+ CCTK_REAL_VEC const p1o12dx = kdiv(ToReal(0.0833333333333333333333333333333),dx);
+ CCTK_REAL_VEC const p1o12dy = kdiv(ToReal(0.0833333333333333333333333333333),dy);
+ CCTK_REAL_VEC const p1o12dz = kdiv(ToReal(0.0833333333333333333333333333333),dz);
+ CCTK_REAL_VEC const p1o144dxdy = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dy,dx));
+ CCTK_REAL_VEC const p1o144dxdz = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dx));
+ CCTK_REAL_VEC const p1o144dydz = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dy));
+ CCTK_REAL_VEC const p1o1680dx = kdiv(ToReal(0.000595238095238095238095238095238),dx);
+ CCTK_REAL_VEC const p1o1680dy = kdiv(ToReal(0.000595238095238095238095238095238),dy);
+ CCTK_REAL_VEC const p1o1680dz = kdiv(ToReal(0.000595238095238095238095238095238),dz);
+ CCTK_REAL_VEC const p1o16dx = kdiv(ToReal(0.0625),dx);
+ CCTK_REAL_VEC const p1o16dy = kdiv(ToReal(0.0625),dy);
+ CCTK_REAL_VEC const p1o16dz = kdiv(ToReal(0.0625),dz);
+ CCTK_REAL_VEC const p1o180dx2 = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dx,dx));
+ CCTK_REAL_VEC const p1o180dy2 = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dy,dy));
+ CCTK_REAL_VEC const p1o180dz2 = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dz,dz));
+ CCTK_REAL_VEC const p1o24dx = kdiv(ToReal(0.0416666666666666666666666666667),dx);
+ CCTK_REAL_VEC const p1o24dy = kdiv(ToReal(0.0416666666666666666666666666667),dy);
+ CCTK_REAL_VEC const p1o24dz = kdiv(ToReal(0.0416666666666666666666666666667),dz);
+ CCTK_REAL_VEC const p1o256dx = kdiv(ToReal(0.00390625),dx);
+ CCTK_REAL_VEC const p1o256dy = kdiv(ToReal(0.00390625),dy);
+ CCTK_REAL_VEC const p1o256dz = kdiv(ToReal(0.00390625),dz);
+ CCTK_REAL_VEC const p1o2dx = kdiv(ToReal(0.5),dx);
+ CCTK_REAL_VEC const p1o2dy = kdiv(ToReal(0.5),dy);
+ CCTK_REAL_VEC const p1o2dz = kdiv(ToReal(0.5),dz);
+ CCTK_REAL_VEC const p1o3600dxdy = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dy,dx));
+ CCTK_REAL_VEC const p1o3600dxdz = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dx));
+ CCTK_REAL_VEC const p1o3600dydz = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dy));
+ CCTK_REAL_VEC const p1o4dx = kdiv(ToReal(0.25),dx);
+ CCTK_REAL_VEC const p1o4dxdy = kdiv(ToReal(0.25),kmul(dy,dx));
+ CCTK_REAL_VEC const p1o4dxdz = kdiv(ToReal(0.25),kmul(dz,dx));
+ CCTK_REAL_VEC const p1o4dy = kdiv(ToReal(0.25),dy);
+ CCTK_REAL_VEC const p1o4dydz = kdiv(ToReal(0.25),kmul(dz,dy));
+ CCTK_REAL_VEC const p1o4dz = kdiv(ToReal(0.25),dz);
+ CCTK_REAL_VEC const p1o5040dx2 = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dx,dx));
+ CCTK_REAL_VEC const p1o5040dy2 = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dy,dy));
+ CCTK_REAL_VEC const p1o5040dz2 = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dz,dz));
+ CCTK_REAL_VEC const p1o560dx = kdiv(ToReal(0.00178571428571428571428571428571),dx);
+ CCTK_REAL_VEC const p1o560dy = kdiv(ToReal(0.00178571428571428571428571428571),dy);
+ CCTK_REAL_VEC const p1o560dz = kdiv(ToReal(0.00178571428571428571428571428571),dz);
+ CCTK_REAL_VEC const p1o60dx = kdiv(ToReal(0.0166666666666666666666666666667),dx);
+ CCTK_REAL_VEC const p1o60dy = kdiv(ToReal(0.0166666666666666666666666666667),dy);
+ CCTK_REAL_VEC const p1o60dz = kdiv(ToReal(0.0166666666666666666666666666667),dz);
+ CCTK_REAL_VEC const p1o64dx = kdiv(ToReal(0.015625),dx);
+ CCTK_REAL_VEC const p1o64dy = kdiv(ToReal(0.015625),dy);
+ CCTK_REAL_VEC const p1o64dz = kdiv(ToReal(0.015625),dz);
+ CCTK_REAL_VEC const p1o705600dxdy = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dy,dx));
+ CCTK_REAL_VEC const p1o705600dxdz = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dx));
+ CCTK_REAL_VEC const p1o705600dydz = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dy));
+ CCTK_REAL_VEC const p1o840dx = kdiv(ToReal(0.00119047619047619047619047619048),dx);
+ CCTK_REAL_VEC const p1o840dy = kdiv(ToReal(0.00119047619047619047619047619048),dy);
+ CCTK_REAL_VEC const p1o840dz = kdiv(ToReal(0.00119047619047619047619047619048),dz);
+ CCTK_REAL_VEC const p1odx = kdiv(ToReal(1),dx);
+ CCTK_REAL_VEC const p1odx2 = kdiv(ToReal(1),kmul(dx,dx));
+ CCTK_REAL_VEC const p1ody = kdiv(ToReal(1),dy);
+ CCTK_REAL_VEC const p1ody2 = kdiv(ToReal(1),kmul(dy,dy));
+ CCTK_REAL_VEC const p1odz = kdiv(ToReal(1),dz);
+ CCTK_REAL_VEC const p1odz2 = kdiv(ToReal(1),kmul(dz,dz));
+ CCTK_REAL_VEC const pm1o120dx = kdiv(ToReal(-0.00833333333333333333333333333333),dx);
+ CCTK_REAL_VEC const pm1o120dy = kdiv(ToReal(-0.00833333333333333333333333333333),dy);
+ CCTK_REAL_VEC const pm1o120dz = kdiv(ToReal(-0.00833333333333333333333333333333),dz);
+ CCTK_REAL_VEC const pm1o12dx2 = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dx,dx));
+ CCTK_REAL_VEC const pm1o12dy2 = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dy,dy));
+ CCTK_REAL_VEC const pm1o12dz2 = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dz,dz));
+ CCTK_REAL_VEC const pm1o2dx = kdiv(ToReal(-0.5),dx);
+ CCTK_REAL_VEC const pm1o2dy = kdiv(ToReal(-0.5),dy);
+ CCTK_REAL_VEC const pm1o2dz = kdiv(ToReal(-0.5),dz);
+ CCTK_REAL_VEC const pm1o4dx = kdiv(ToReal(-0.25),dx);
+ CCTK_REAL_VEC const pm1o4dy = kdiv(ToReal(-0.25),dy);
+ CCTK_REAL_VEC const pm1o4dz = kdiv(ToReal(-0.25),dz);
+ CCTK_REAL_VEC const pm1o60dx = kdiv(ToReal(-0.0166666666666666666666666666667),dx);
+ CCTK_REAL_VEC const pm1o60dy = kdiv(ToReal(-0.0166666666666666666666666666667),dy);
+ CCTK_REAL_VEC const pm1o60dz = kdiv(ToReal(-0.0166666666666666666666666666667),dz);
/* Jacobian variable pointers */
bool const use_jacobian = (!CCTK_IsFunctionAliased("MultiPatch_GetMap") || MultiPatch_GetMap(cctkGH) != jacobian_identity_map)
@@ -192,7 +196,7 @@ static void ML_CCZ4_convertFromADMBase_Body(cGH const * restrict const cctkGH, i
#pragma omp parallel
LC_LOOP3VEC(ML_CCZ4_convertFromADMBase,
i,j,k, imin[0],imin[1],imin[2], imax[0],imax[1],imax[2],
- cctk_lsh[0],cctk_lsh[1],cctk_lsh[2],
+ cctk_ash[0],cctk_ash[1],cctk_ash[2],
CCTK_REAL_VEC_SIZE)
{
ptrdiff_t const index = di*i + dj*j + dk*k;
@@ -253,19 +257,19 @@ static void ML_CCZ4_convertFromADMBase_Body(cGH const * restrict const cctkGH, i
CCTK_REAL_VEC g33 = gzzL;
CCTK_REAL_VEC detg =
- knmsub(g22,SQR(g13),knmsub(g11,SQR(g23),kmadd(g33,kmsub(g11,g22,SQR(g12)),kmul(g12,kmul(g13,kmul(g23,ToReal(2)))))));
+ knmsub(g22,kmul(g13,g13),knmsub(g11,kmul(g23,g23),kmadd(g33,kmsub(g11,g22,kmul(g12,g12)),kmul(g12,kmul(g13,kmul(g23,ToReal(2)))))));
- CCTK_REAL_VEC gu11 = kmul(INV(detg),kmsub(g22,g33,SQR(g23)));
+ CCTK_REAL_VEC gu11 = kdiv(kmsub(g22,g33,kmul(g23,g23)),detg);
- CCTK_REAL_VEC gu12 = kmul(INV(detg),kmsub(g13,g23,kmul(g12,g33)));
+ CCTK_REAL_VEC gu12 = kdiv(kmsub(g13,g23,kmul(g12,g33)),detg);
- CCTK_REAL_VEC gu13 = kmul(INV(detg),kmsub(g12,g23,kmul(g13,g22)));
+ CCTK_REAL_VEC gu13 = kdiv(kmsub(g12,g23,kmul(g13,g22)),detg);
- CCTK_REAL_VEC gu22 = kmul(INV(detg),kmsub(g11,g33,SQR(g13)));
+ CCTK_REAL_VEC gu22 = kdiv(kmsub(g11,g33,kmul(g13,g13)),detg);
- CCTK_REAL_VEC gu23 = kmul(INV(detg),kmsub(g12,g13,kmul(g11,g23)));
+ CCTK_REAL_VEC gu23 = kdiv(kmsub(g12,g13,kmul(g11,g23)),detg);
- CCTK_REAL_VEC gu33 = kmul(INV(detg),kmsub(g11,g22,SQR(g12)));
+ CCTK_REAL_VEC gu33 = kdiv(kmsub(g11,g22,kmul(g12,g12)),detg);
CCTK_REAL_VEC em4phi;
@@ -273,7 +277,7 @@ static void ML_CCZ4_convertFromADMBase_Body(cGH const * restrict const cctkGH, i
{
phiL = kpow(detg,-0.166666666666666666666666666667);
- em4phi = SQR(phiL);
+ em4phi = kmul(phiL,phiL);
}
else
{
diff --git a/ML_CCZ4/src/ML_CCZ4_convertFromADMBaseGamma.cc b/ML_CCZ4/src/ML_CCZ4_convertFromADMBaseGamma.cc
index 0f759e0..ea51d03 100644
--- a/ML_CCZ4/src/ML_CCZ4_convertFromADMBaseGamma.cc
+++ b/ML_CCZ4/src/ML_CCZ4_convertFromADMBaseGamma.cc
@@ -18,10 +18,14 @@
/* Define macros used in calculations */
#define INITVALUE (42)
-#define QAD(x) (SQR(SQR(x)))
+#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 ML_CCZ4_convertFromADMBaseGamma_SelectBCs(CCTK_ARGUMENTS)
{
@@ -74,84 +78,84 @@ static void ML_CCZ4_convertFromADMBaseGamma_Body(cGH const * restrict const cctk
CCTK_REAL_VEC const hdzi = kmul(ToReal(0.5), dzi);
/* Initialize predefined quantities */
- CCTK_REAL_VEC const p1o1024dx = kmul(INV(dx),ToReal(0.0009765625));
- CCTK_REAL_VEC const p1o1024dy = kmul(INV(dy),ToReal(0.0009765625));
- CCTK_REAL_VEC const p1o1024dz = kmul(INV(dz),ToReal(0.0009765625));
- CCTK_REAL_VEC const p1o120dx = kmul(INV(dx),ToReal(0.00833333333333333333333333333333));
- CCTK_REAL_VEC const p1o120dy = kmul(INV(dy),ToReal(0.00833333333333333333333333333333));
- CCTK_REAL_VEC const p1o120dz = kmul(INV(dz),ToReal(0.00833333333333333333333333333333));
- CCTK_REAL_VEC const p1o12dx = kmul(INV(dx),ToReal(0.0833333333333333333333333333333));
- CCTK_REAL_VEC const p1o12dy = kmul(INV(dy),ToReal(0.0833333333333333333333333333333));
- CCTK_REAL_VEC const p1o12dz = kmul(INV(dz),ToReal(0.0833333333333333333333333333333));
- CCTK_REAL_VEC const p1o144dxdy = kmul(INV(kmul(dx,dy)),ToReal(0.00694444444444444444444444444444));
- CCTK_REAL_VEC const p1o144dxdz = kmul(INV(kmul(dx,dz)),ToReal(0.00694444444444444444444444444444));
- CCTK_REAL_VEC const p1o144dydz = kmul(INV(kmul(dy,dz)),ToReal(0.00694444444444444444444444444444));
- CCTK_REAL_VEC const p1o1680dx = kmul(INV(dx),ToReal(0.000595238095238095238095238095238));
- CCTK_REAL_VEC const p1o1680dy = kmul(INV(dy),ToReal(0.000595238095238095238095238095238));
- CCTK_REAL_VEC const p1o1680dz = kmul(INV(dz),ToReal(0.000595238095238095238095238095238));
- CCTK_REAL_VEC const p1o16dx = kmul(INV(dx),ToReal(0.0625));
- CCTK_REAL_VEC const p1o16dy = kmul(INV(dy),ToReal(0.0625));
- CCTK_REAL_VEC const p1o16dz = kmul(INV(dz),ToReal(0.0625));
- CCTK_REAL_VEC const p1o180dx2 = kmul(INV(SQR(dx)),ToReal(0.00555555555555555555555555555556));
- CCTK_REAL_VEC const p1o180dy2 = kmul(INV(SQR(dy)),ToReal(0.00555555555555555555555555555556));
- CCTK_REAL_VEC const p1o180dz2 = kmul(INV(SQR(dz)),ToReal(0.00555555555555555555555555555556));
- CCTK_REAL_VEC const p1o24dx = kmul(INV(dx),ToReal(0.0416666666666666666666666666667));
- CCTK_REAL_VEC const p1o24dy = kmul(INV(dy),ToReal(0.0416666666666666666666666666667));
- CCTK_REAL_VEC const p1o24dz = kmul(INV(dz),ToReal(0.0416666666666666666666666666667));
- CCTK_REAL_VEC const p1o256dx = kmul(INV(dx),ToReal(0.00390625));
- CCTK_REAL_VEC const p1o256dy = kmul(INV(dy),ToReal(0.00390625));
- CCTK_REAL_VEC const p1o256dz = kmul(INV(dz),ToReal(0.00390625));
- CCTK_REAL_VEC const p1o2dx = kmul(INV(dx),ToReal(0.5));
- CCTK_REAL_VEC const p1o2dy = kmul(INV(dy),ToReal(0.5));
- CCTK_REAL_VEC const p1o2dz = kmul(INV(dz),ToReal(0.5));
- CCTK_REAL_VEC const p1o3600dxdy = kmul(INV(kmul(dx,dy)),ToReal(0.000277777777777777777777777777778));
- CCTK_REAL_VEC const p1o3600dxdz = kmul(INV(kmul(dx,dz)),ToReal(0.000277777777777777777777777777778));
- CCTK_REAL_VEC const p1o3600dydz = kmul(INV(kmul(dy,dz)),ToReal(0.000277777777777777777777777777778));
- CCTK_REAL_VEC const p1o4dx = kmul(INV(dx),ToReal(0.25));
- CCTK_REAL_VEC const p1o4dxdy = kmul(INV(kmul(dx,dy)),ToReal(0.25));
- CCTK_REAL_VEC const p1o4dxdz = kmul(INV(kmul(dx,dz)),ToReal(0.25));
- CCTK_REAL_VEC const p1o4dy = kmul(INV(dy),ToReal(0.25));
- CCTK_REAL_VEC const p1o4dydz = kmul(INV(kmul(dy,dz)),ToReal(0.25));
- CCTK_REAL_VEC const p1o4dz = kmul(INV(dz),ToReal(0.25));
- CCTK_REAL_VEC const p1o5040dx2 = kmul(INV(SQR(dx)),ToReal(0.000198412698412698412698412698413));
- CCTK_REAL_VEC const p1o5040dy2 = kmul(INV(SQR(dy)),ToReal(0.000198412698412698412698412698413));
- CCTK_REAL_VEC const p1o5040dz2 = kmul(INV(SQR(dz)),ToReal(0.000198412698412698412698412698413));
- CCTK_REAL_VEC const p1o560dx = kmul(INV(dx),ToReal(0.00178571428571428571428571428571));
- CCTK_REAL_VEC const p1o560dy = kmul(INV(dy),ToReal(0.00178571428571428571428571428571));
- CCTK_REAL_VEC const p1o560dz = kmul(INV(dz),ToReal(0.00178571428571428571428571428571));
- CCTK_REAL_VEC const p1o60dx = kmul(INV(dx),ToReal(0.0166666666666666666666666666667));
- CCTK_REAL_VEC const p1o60dy = kmul(INV(dy),ToReal(0.0166666666666666666666666666667));
- CCTK_REAL_VEC const p1o60dz = kmul(INV(dz),ToReal(0.0166666666666666666666666666667));
- CCTK_REAL_VEC const p1o64dx = kmul(INV(dx),ToReal(0.015625));
- CCTK_REAL_VEC const p1o64dy = kmul(INV(dy),ToReal(0.015625));
- CCTK_REAL_VEC const p1o64dz = kmul(INV(dz),ToReal(0.015625));
- CCTK_REAL_VEC const p1o705600dxdy = kmul(INV(kmul(dx,dy)),ToReal(1.41723356009070294784580498866e-6));
- CCTK_REAL_VEC const p1o705600dxdz = kmul(INV(kmul(dx,dz)),ToReal(1.41723356009070294784580498866e-6));
- CCTK_REAL_VEC const p1o705600dydz = kmul(INV(kmul(dy,dz)),ToReal(1.41723356009070294784580498866e-6));
- CCTK_REAL_VEC const p1o840dx = kmul(INV(dx),ToReal(0.00119047619047619047619047619048));
- CCTK_REAL_VEC const p1o840dy = kmul(INV(dy),ToReal(0.00119047619047619047619047619048));
- CCTK_REAL_VEC const p1o840dz = kmul(INV(dz),ToReal(0.00119047619047619047619047619048));
- CCTK_REAL_VEC const p1odx = INV(dx);
- CCTK_REAL_VEC const p1odx2 = INV(SQR(dx));
- CCTK_REAL_VEC const p1ody = INV(dy);
- CCTK_REAL_VEC const p1ody2 = INV(SQR(dy));
- CCTK_REAL_VEC const p1odz = INV(dz);
- CCTK_REAL_VEC const p1odz2 = INV(SQR(dz));
- CCTK_REAL_VEC const pm1o120dx = kmul(INV(dx),ToReal(-0.00833333333333333333333333333333));
- CCTK_REAL_VEC const pm1o120dy = kmul(INV(dy),ToReal(-0.00833333333333333333333333333333));
- CCTK_REAL_VEC const pm1o120dz = kmul(INV(dz),ToReal(-0.00833333333333333333333333333333));
- CCTK_REAL_VEC const pm1o12dx2 = kmul(INV(SQR(dx)),ToReal(-0.0833333333333333333333333333333));
- CCTK_REAL_VEC const pm1o12dy2 = kmul(INV(SQR(dy)),ToReal(-0.0833333333333333333333333333333));
- CCTK_REAL_VEC const pm1o12dz2 = kmul(INV(SQR(dz)),ToReal(-0.0833333333333333333333333333333));
- CCTK_REAL_VEC const pm1o2dx = kmul(INV(dx),ToReal(-0.5));
- CCTK_REAL_VEC const pm1o2dy = kmul(INV(dy),ToReal(-0.5));
- CCTK_REAL_VEC const pm1o2dz = kmul(INV(dz),ToReal(-0.5));
- CCTK_REAL_VEC const pm1o4dx = kmul(INV(dx),ToReal(-0.25));
- CCTK_REAL_VEC const pm1o4dy = kmul(INV(dy),ToReal(-0.25));
- CCTK_REAL_VEC const pm1o4dz = kmul(INV(dz),ToReal(-0.25));
- CCTK_REAL_VEC const pm1o60dx = kmul(INV(dx),ToReal(-0.0166666666666666666666666666667));
- CCTK_REAL_VEC const pm1o60dy = kmul(INV(dy),ToReal(-0.0166666666666666666666666666667));
- CCTK_REAL_VEC const pm1o60dz = kmul(INV(dz),ToReal(-0.0166666666666666666666666666667));
+ CCTK_REAL_VEC const p1o1024dx = kdiv(ToReal(0.0009765625),dx);
+ CCTK_REAL_VEC const p1o1024dy = kdiv(ToReal(0.0009765625),dy);
+ CCTK_REAL_VEC const p1o1024dz = kdiv(ToReal(0.0009765625),dz);
+ CCTK_REAL_VEC const p1o120dx = kdiv(ToReal(0.00833333333333333333333333333333),dx);
+ CCTK_REAL_VEC const p1o120dy = kdiv(ToReal(0.00833333333333333333333333333333),dy);
+ CCTK_REAL_VEC const p1o120dz = kdiv(ToReal(0.00833333333333333333333333333333),dz);
+ CCTK_REAL_VEC const p1o12dx = kdiv(ToReal(0.0833333333333333333333333333333),dx);
+ CCTK_REAL_VEC const p1o12dy = kdiv(ToReal(0.0833333333333333333333333333333),dy);
+ CCTK_REAL_VEC const p1o12dz = kdiv(ToReal(0.0833333333333333333333333333333),dz);
+ CCTK_REAL_VEC const p1o144dxdy = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dy,dx));
+ CCTK_REAL_VEC const p1o144dxdz = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dx));
+ CCTK_REAL_VEC const p1o144dydz = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dy));
+ CCTK_REAL_VEC const p1o1680dx = kdiv(ToReal(0.000595238095238095238095238095238),dx);
+ CCTK_REAL_VEC const p1o1680dy = kdiv(ToReal(0.000595238095238095238095238095238),dy);
+ CCTK_REAL_VEC const p1o1680dz = kdiv(ToReal(0.000595238095238095238095238095238),dz);
+ CCTK_REAL_VEC const p1o16dx = kdiv(ToReal(0.0625),dx);
+ CCTK_REAL_VEC const p1o16dy = kdiv(ToReal(0.0625),dy);
+ CCTK_REAL_VEC const p1o16dz = kdiv(ToReal(0.0625),dz);
+ CCTK_REAL_VEC const p1o180dx2 = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dx,dx));
+ CCTK_REAL_VEC const p1o180dy2 = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dy,dy));
+ CCTK_REAL_VEC const p1o180dz2 = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dz,dz));
+ CCTK_REAL_VEC const p1o24dx = kdiv(ToReal(0.0416666666666666666666666666667),dx);
+ CCTK_REAL_VEC const p1o24dy = kdiv(ToReal(0.0416666666666666666666666666667),dy);
+ CCTK_REAL_VEC const p1o24dz = kdiv(ToReal(0.0416666666666666666666666666667),dz);
+ CCTK_REAL_VEC const p1o256dx = kdiv(ToReal(0.00390625),dx);
+ CCTK_REAL_VEC const p1o256dy = kdiv(ToReal(0.00390625),dy);
+ CCTK_REAL_VEC const p1o256dz = kdiv(ToReal(0.00390625),dz);
+ CCTK_REAL_VEC const p1o2dx = kdiv(ToReal(0.5),dx);
+ CCTK_REAL_VEC const p1o2dy = kdiv(ToReal(0.5),dy);
+ CCTK_REAL_VEC const p1o2dz = kdiv(ToReal(0.5),dz);
+ CCTK_REAL_VEC const p1o3600dxdy = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dy,dx));
+ CCTK_REAL_VEC const p1o3600dxdz = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dx));
+ CCTK_REAL_VEC const p1o3600dydz = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dy));
+ CCTK_REAL_VEC const p1o4dx = kdiv(ToReal(0.25),dx);
+ CCTK_REAL_VEC const p1o4dxdy = kdiv(ToReal(0.25),kmul(dy,dx));
+ CCTK_REAL_VEC const p1o4dxdz = kdiv(ToReal(0.25),kmul(dz,dx));
+ CCTK_REAL_VEC const p1o4dy = kdiv(ToReal(0.25),dy);
+ CCTK_REAL_VEC const p1o4dydz = kdiv(ToReal(0.25),kmul(dz,dy));
+ CCTK_REAL_VEC const p1o4dz = kdiv(ToReal(0.25),dz);
+ CCTK_REAL_VEC const p1o5040dx2 = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dx,dx));
+ CCTK_REAL_VEC const p1o5040dy2 = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dy,dy));
+ CCTK_REAL_VEC const p1o5040dz2 = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dz,dz));
+ CCTK_REAL_VEC const p1o560dx = kdiv(ToReal(0.00178571428571428571428571428571),dx);
+ CCTK_REAL_VEC const p1o560dy = kdiv(ToReal(0.00178571428571428571428571428571),dy);
+ CCTK_REAL_VEC const p1o560dz = kdiv(ToReal(0.00178571428571428571428571428571),dz);
+ CCTK_REAL_VEC const p1o60dx = kdiv(ToReal(0.0166666666666666666666666666667),dx);
+ CCTK_REAL_VEC const p1o60dy = kdiv(ToReal(0.0166666666666666666666666666667),dy);
+ CCTK_REAL_VEC const p1o60dz = kdiv(ToReal(0.0166666666666666666666666666667),dz);
+ CCTK_REAL_VEC const p1o64dx = kdiv(ToReal(0.015625),dx);
+ CCTK_REAL_VEC const p1o64dy = kdiv(ToReal(0.015625),dy);
+ CCTK_REAL_VEC const p1o64dz = kdiv(ToReal(0.015625),dz);
+ CCTK_REAL_VEC const p1o705600dxdy = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dy,dx));
+ CCTK_REAL_VEC const p1o705600dxdz = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dx));
+ CCTK_REAL_VEC const p1o705600dydz = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dy));
+ CCTK_REAL_VEC const p1o840dx = kdiv(ToReal(0.00119047619047619047619047619048),dx);
+ CCTK_REAL_VEC const p1o840dy = kdiv(ToReal(0.00119047619047619047619047619048),dy);
+ CCTK_REAL_VEC const p1o840dz = kdiv(ToReal(0.00119047619047619047619047619048),dz);
+ CCTK_REAL_VEC const p1odx = kdiv(ToReal(1),dx);
+ CCTK_REAL_VEC const p1odx2 = kdiv(ToReal(1),kmul(dx,dx));
+ CCTK_REAL_VEC const p1ody = kdiv(ToReal(1),dy);
+ CCTK_REAL_VEC const p1ody2 = kdiv(ToReal(1),kmul(dy,dy));
+ CCTK_REAL_VEC const p1odz = kdiv(ToReal(1),dz);
+ CCTK_REAL_VEC const p1odz2 = kdiv(ToReal(1),kmul(dz,dz));
+ CCTK_REAL_VEC const pm1o120dx = kdiv(ToReal(-0.00833333333333333333333333333333),dx);
+ CCTK_REAL_VEC const pm1o120dy = kdiv(ToReal(-0.00833333333333333333333333333333),dy);
+ CCTK_REAL_VEC const pm1o120dz = kdiv(ToReal(-0.00833333333333333333333333333333),dz);
+ CCTK_REAL_VEC const pm1o12dx2 = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dx,dx));
+ CCTK_REAL_VEC const pm1o12dy2 = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dy,dy));
+ CCTK_REAL_VEC const pm1o12dz2 = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dz,dz));
+ CCTK_REAL_VEC const pm1o2dx = kdiv(ToReal(-0.5),dx);
+ CCTK_REAL_VEC const pm1o2dy = kdiv(ToReal(-0.5),dy);
+ CCTK_REAL_VEC const pm1o2dz = kdiv(ToReal(-0.5),dz);
+ CCTK_REAL_VEC const pm1o4dx = kdiv(ToReal(-0.25),dx);
+ CCTK_REAL_VEC const pm1o4dy = kdiv(ToReal(-0.25),dy);
+ CCTK_REAL_VEC const pm1o4dz = kdiv(ToReal(-0.25),dz);
+ CCTK_REAL_VEC const pm1o60dx = kdiv(ToReal(-0.0166666666666666666666666666667),dx);
+ CCTK_REAL_VEC const pm1o60dy = kdiv(ToReal(-0.0166666666666666666666666666667),dy);
+ CCTK_REAL_VEC const pm1o60dz = kdiv(ToReal(-0.0166666666666666666666666666667),dz);
/* Jacobian variable pointers */
bool const use_jacobian = (!CCTK_IsFunctionAliased("MultiPatch_GetMap") || MultiPatch_GetMap(cctkGH) != jacobian_identity_map)
@@ -210,7 +214,7 @@ static void ML_CCZ4_convertFromADMBaseGamma_Body(cGH const * restrict const cctk
#pragma omp parallel
LC_LOOP3VEC(ML_CCZ4_convertFromADMBaseGamma,
i,j,k, imin[0],imin[1],imin[2], imax[0],imax[1],imax[2],
- cctk_lsh[0],cctk_lsh[1],cctk_lsh[2],
+ cctk_ash[0],cctk_ash[1],cctk_ash[2],
CCTK_REAL_VEC_SIZE)
{
ptrdiff_t const index = di*i + dj*j + dk*k;
@@ -746,22 +750,22 @@ static void ML_CCZ4_convertFromADMBaseGamma_Body(cGH const * restrict const cctk
CCTK_REAL_VEC detgt = ToReal(1);
CCTK_REAL_VEC gtu11 =
- kmul(INV(detgt),kmsub(gt22L,gt33L,SQR(gt23L)));
+ kdiv(kmsub(gt22L,gt33L,kmul(gt23L,gt23L)),detgt);
CCTK_REAL_VEC gtu12 =
- kmul(INV(detgt),kmsub(gt13L,gt23L,kmul(gt12L,gt33L)));
+ kdiv(kmsub(gt13L,gt23L,kmul(gt12L,gt33L)),detgt);
CCTK_REAL_VEC gtu13 =
- kmul(INV(detgt),kmsub(gt12L,gt23L,kmul(gt13L,gt22L)));
+ kdiv(kmsub(gt12L,gt23L,kmul(gt13L,gt22L)),detgt);
CCTK_REAL_VEC gtu22 =
- kmul(INV(detgt),kmsub(gt11L,gt33L,SQR(gt13L)));
+ kdiv(kmsub(gt11L,gt33L,kmul(gt13L,gt13L)),detgt);
CCTK_REAL_VEC gtu23 =
- kmul(INV(detgt),kmsub(gt12L,gt13L,kmul(gt11L,gt23L)));
+ kdiv(kmsub(gt12L,gt13L,kmul(gt11L,gt23L)),detgt);
CCTK_REAL_VEC gtu33 =
- kmul(INV(detgt),kmsub(gt11L,gt22L,SQR(gt12L)));
+ kdiv(kmsub(gt11L,gt22L,kmul(gt12L,gt12L)),detgt);
CCTK_REAL_VEC Gt111 =
kmul(ToReal(0.5),kmadd(gtu11,JacPDstandardNth1gt11,knmsub(gtu12,JacPDstandardNth2gt11,kmsub(kmadd(gtu12,JacPDstandardNth1gt12,kmul(gtu13,JacPDstandardNth1gt13)),ToReal(2),kmul(gtu13,JacPDstandardNth3gt11)))));
@@ -827,10 +831,10 @@ static void ML_CCZ4_convertFromADMBaseGamma_Body(cGH const * restrict const cctk
kmadd(Gt311,gtu11,kmadd(Gt322,gtu22,kmadd(Gt333,gtu33,kmul(kmadd(Gt312,gtu12,kmadd(Gt313,gtu13,kmul(Gt323,gtu23))),ToReal(2)))));
CCTK_REAL_VEC AL = IfThen(LapseACoeff !=
- 0,kneg(kmul(INV(ToReal(harmonicF)),kmul(kpow(alphaL,-harmonicN),knmsub(kmadd(beta1L,JacPDupwindNthAnti1alpha,kmadd(beta2L,JacPDupwindNthAnti2alpha,kmadd(beta3L,JacPDupwindNthAnti3alpha,kmadd(JacPDupwindNthSymm1alpha,kfabs(beta1L),kmadd(JacPDupwindNthSymm2alpha,kfabs(beta2L),kmul(JacPDupwindNthSymm3alpha,kfabs(beta3L))))))),ToReal(LapseAdvectionCoeff),dtalpL)))),ToReal(0));
+ 0,kneg(kmul(kmul(kpow(alphaL,-harmonicN),knmsub(kmadd(beta1L,JacPDupwindNthAnti1alpha,kmadd(beta2L,JacPDupwindNthAnti2alpha,kmadd(beta3L,JacPDupwindNthAnti3alpha,kmadd(JacPDupwindNthSymm1alpha,kfabs(beta1L),kmadd(JacPDupwindNthSymm2alpha,kfabs(beta2L),kmul(JacPDupwindNthSymm3alpha,kfabs(beta3L))))))),ToReal(LapseAdvectionCoeff),dtalpL)),ToReal(ScalarINV(harmonicF)))),ToReal(0));
CCTK_REAL_VEC theta =
- kfmin(ToReal(1),kexp(knmsub(rL,INV(ToReal(SpatialShiftGammaCoeffRadius)),ToReal(1))));
+ kfmin(ToReal(1),kexp(knmsub(rL,ToReal(ScalarINV(SpatialShiftGammaCoeffRadius)),ToReal(1))));
CCTK_REAL_VEC B1L;
CCTK_REAL_VEC B2L;
@@ -839,13 +843,13 @@ static void ML_CCZ4_convertFromADMBaseGamma_Body(cGH const * restrict const cctk
if (ShiftBCoeff*ShiftGammaCoeff != 0)
{
B1L =
- kmul(INV(kmul(theta,ToReal(ShiftGammaCoeff))),knmsub(kmadd(beta1L,JacPDupwindNthAnti1beta1,kmadd(beta2L,JacPDupwindNthAnti2beta1,kmadd(beta3L,JacPDupwindNthAnti3beta1,kmadd(JacPDupwindNthSymm1beta1,kfabs(beta1L),kmadd(JacPDupwindNthSymm2beta1,kfabs(beta2L),kmul(JacPDupwindNthSymm3beta1,kfabs(beta3L))))))),ToReal(ShiftAdvectionCoeff),dtbetaxL));
+ kdiv(knmsub(kmadd(beta1L,JacPDupwindNthAnti1beta1,kmadd(beta2L,JacPDupwindNthAnti2beta1,kmadd(beta3L,JacPDupwindNthAnti3beta1,kmadd(JacPDupwindNthSymm1beta1,kfabs(beta1L),kmadd(JacPDupwindNthSymm2beta1,kfabs(beta2L),kmul(JacPDupwindNthSymm3beta1,kfabs(beta3L))))))),ToReal(ShiftAdvectionCoeff),dtbetaxL),kmul(ToReal(ShiftGammaCoeff),theta));
B2L =
- kmul(INV(kmul(theta,ToReal(ShiftGammaCoeff))),knmsub(kmadd(beta1L,JacPDupwindNthAnti1beta2,kmadd(beta2L,JacPDupwindNthAnti2beta2,kmadd(beta3L,JacPDupwindNthAnti3beta2,kmadd(JacPDupwindNthSymm1beta2,kfabs(beta1L),kmadd(JacPDupwindNthSymm2beta2,kfabs(beta2L),kmul(JacPDupwindNthSymm3beta2,kfabs(beta3L))))))),ToReal(ShiftAdvectionCoeff),dtbetayL));
+ kdiv(knmsub(kmadd(beta1L,JacPDupwindNthAnti1beta2,kmadd(beta2L,JacPDupwindNthAnti2beta2,kmadd(beta3L,JacPDupwindNthAnti3beta2,kmadd(JacPDupwindNthSymm1beta2,kfabs(beta1L),kmadd(JacPDupwindNthSymm2beta2,kfabs(beta2L),kmul(JacPDupwindNthSymm3beta2,kfabs(beta3L))))))),ToReal(ShiftAdvectionCoeff),dtbetayL),kmul(ToReal(ShiftGammaCoeff),theta));
B3L =
- kmul(INV(kmul(theta,ToReal(ShiftGammaCoeff))),knmsub(kmadd(beta1L,JacPDupwindNthAnti1beta3,kmadd(beta2L,JacPDupwindNthAnti2beta3,kmadd(beta3L,JacPDupwindNthAnti3beta3,kmadd(JacPDupwindNthSymm1beta3,kfabs(beta1L),kmadd(JacPDupwindNthSymm2beta3,kfabs(beta2L),kmul(JacPDupwindNthSymm3beta3,kfabs(beta3L))))))),ToReal(ShiftAdvectionCoeff),dtbetazL));
+ kdiv(knmsub(kmadd(beta1L,JacPDupwindNthAnti1beta3,kmadd(beta2L,JacPDupwindNthAnti2beta3,kmadd(beta3L,JacPDupwindNthAnti3beta3,kmadd(JacPDupwindNthSymm1beta3,kfabs(beta1L),kmadd(JacPDupwindNthSymm2beta3,kfabs(beta2L),kmul(JacPDupwindNthSymm3beta3,kfabs(beta3L))))))),ToReal(ShiftAdvectionCoeff),dtbetazL),kmul(ToReal(ShiftGammaCoeff),theta));
}
else
{
diff --git a/ML_CCZ4/src/ML_CCZ4_convertToADMBase.cc b/ML_CCZ4/src/ML_CCZ4_convertToADMBase.cc
index 8df699f..c50a732 100644
--- a/ML_CCZ4/src/ML_CCZ4_convertToADMBase.cc
+++ b/ML_CCZ4/src/ML_CCZ4_convertToADMBase.cc
@@ -18,10 +18,14 @@
/* Define macros used in calculations */
#define INITVALUE (42)
-#define QAD(x) (SQR(SQR(x)))
+#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)))
static void ML_CCZ4_convertToADMBase_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[])
{
@@ -56,84 +60,84 @@ static void ML_CCZ4_convertToADMBase_Body(cGH const * restrict const cctkGH, int
CCTK_REAL_VEC const hdzi = kmul(ToReal(0.5), dzi);
/* Initialize predefined quantities */
- CCTK_REAL_VEC const p1o1024dx = kmul(INV(dx),ToReal(0.0009765625));
- CCTK_REAL_VEC const p1o1024dy = kmul(INV(dy),ToReal(0.0009765625));
- CCTK_REAL_VEC const p1o1024dz = kmul(INV(dz),ToReal(0.0009765625));
- CCTK_REAL_VEC const p1o120dx = kmul(INV(dx),ToReal(0.00833333333333333333333333333333));
- CCTK_REAL_VEC const p1o120dy = kmul(INV(dy),ToReal(0.00833333333333333333333333333333));
- CCTK_REAL_VEC const p1o120dz = kmul(INV(dz),ToReal(0.00833333333333333333333333333333));
- CCTK_REAL_VEC const p1o12dx = kmul(INV(dx),ToReal(0.0833333333333333333333333333333));
- CCTK_REAL_VEC const p1o12dy = kmul(INV(dy),ToReal(0.0833333333333333333333333333333));
- CCTK_REAL_VEC const p1o12dz = kmul(INV(dz),ToReal(0.0833333333333333333333333333333));
- CCTK_REAL_VEC const p1o144dxdy = kmul(INV(kmul(dx,dy)),ToReal(0.00694444444444444444444444444444));
- CCTK_REAL_VEC const p1o144dxdz = kmul(INV(kmul(dx,dz)),ToReal(0.00694444444444444444444444444444));
- CCTK_REAL_VEC const p1o144dydz = kmul(INV(kmul(dy,dz)),ToReal(0.00694444444444444444444444444444));
- CCTK_REAL_VEC const p1o1680dx = kmul(INV(dx),ToReal(0.000595238095238095238095238095238));
- CCTK_REAL_VEC const p1o1680dy = kmul(INV(dy),ToReal(0.000595238095238095238095238095238));
- CCTK_REAL_VEC const p1o1680dz = kmul(INV(dz),ToReal(0.000595238095238095238095238095238));
- CCTK_REAL_VEC const p1o16dx = kmul(INV(dx),ToReal(0.0625));
- CCTK_REAL_VEC const p1o16dy = kmul(INV(dy),ToReal(0.0625));
- CCTK_REAL_VEC const p1o16dz = kmul(INV(dz),ToReal(0.0625));
- CCTK_REAL_VEC const p1o180dx2 = kmul(INV(SQR(dx)),ToReal(0.00555555555555555555555555555556));
- CCTK_REAL_VEC const p1o180dy2 = kmul(INV(SQR(dy)),ToReal(0.00555555555555555555555555555556));
- CCTK_REAL_VEC const p1o180dz2 = kmul(INV(SQR(dz)),ToReal(0.00555555555555555555555555555556));
- CCTK_REAL_VEC const p1o24dx = kmul(INV(dx),ToReal(0.0416666666666666666666666666667));
- CCTK_REAL_VEC const p1o24dy = kmul(INV(dy),ToReal(0.0416666666666666666666666666667));
- CCTK_REAL_VEC const p1o24dz = kmul(INV(dz),ToReal(0.0416666666666666666666666666667));
- CCTK_REAL_VEC const p1o256dx = kmul(INV(dx),ToReal(0.00390625));
- CCTK_REAL_VEC const p1o256dy = kmul(INV(dy),ToReal(0.00390625));
- CCTK_REAL_VEC const p1o256dz = kmul(INV(dz),ToReal(0.00390625));
- CCTK_REAL_VEC const p1o2dx = kmul(INV(dx),ToReal(0.5));
- CCTK_REAL_VEC const p1o2dy = kmul(INV(dy),ToReal(0.5));
- CCTK_REAL_VEC const p1o2dz = kmul(INV(dz),ToReal(0.5));
- CCTK_REAL_VEC const p1o3600dxdy = kmul(INV(kmul(dx,dy)),ToReal(0.000277777777777777777777777777778));
- CCTK_REAL_VEC const p1o3600dxdz = kmul(INV(kmul(dx,dz)),ToReal(0.000277777777777777777777777777778));
- CCTK_REAL_VEC const p1o3600dydz = kmul(INV(kmul(dy,dz)),ToReal(0.000277777777777777777777777777778));
- CCTK_REAL_VEC const p1o4dx = kmul(INV(dx),ToReal(0.25));
- CCTK_REAL_VEC const p1o4dxdy = kmul(INV(kmul(dx,dy)),ToReal(0.25));
- CCTK_REAL_VEC const p1o4dxdz = kmul(INV(kmul(dx,dz)),ToReal(0.25));
- CCTK_REAL_VEC const p1o4dy = kmul(INV(dy),ToReal(0.25));
- CCTK_REAL_VEC const p1o4dydz = kmul(INV(kmul(dy,dz)),ToReal(0.25));
- CCTK_REAL_VEC const p1o4dz = kmul(INV(dz),ToReal(0.25));
- CCTK_REAL_VEC const p1o5040dx2 = kmul(INV(SQR(dx)),ToReal(0.000198412698412698412698412698413));
- CCTK_REAL_VEC const p1o5040dy2 = kmul(INV(SQR(dy)),ToReal(0.000198412698412698412698412698413));
- CCTK_REAL_VEC const p1o5040dz2 = kmul(INV(SQR(dz)),ToReal(0.000198412698412698412698412698413));
- CCTK_REAL_VEC const p1o560dx = kmul(INV(dx),ToReal(0.00178571428571428571428571428571));
- CCTK_REAL_VEC const p1o560dy = kmul(INV(dy),ToReal(0.00178571428571428571428571428571));
- CCTK_REAL_VEC const p1o560dz = kmul(INV(dz),ToReal(0.00178571428571428571428571428571));
- CCTK_REAL_VEC const p1o60dx = kmul(INV(dx),ToReal(0.0166666666666666666666666666667));
- CCTK_REAL_VEC const p1o60dy = kmul(INV(dy),ToReal(0.0166666666666666666666666666667));
- CCTK_REAL_VEC const p1o60dz = kmul(INV(dz),ToReal(0.0166666666666666666666666666667));
- CCTK_REAL_VEC const p1o64dx = kmul(INV(dx),ToReal(0.015625));
- CCTK_REAL_VEC const p1o64dy = kmul(INV(dy),ToReal(0.015625));
- CCTK_REAL_VEC const p1o64dz = kmul(INV(dz),ToReal(0.015625));
- CCTK_REAL_VEC const p1o705600dxdy = kmul(INV(kmul(dx,dy)),ToReal(1.41723356009070294784580498866e-6));
- CCTK_REAL_VEC const p1o705600dxdz = kmul(INV(kmul(dx,dz)),ToReal(1.41723356009070294784580498866e-6));
- CCTK_REAL_VEC const p1o705600dydz = kmul(INV(kmul(dy,dz)),ToReal(1.41723356009070294784580498866e-6));
- CCTK_REAL_VEC const p1o840dx = kmul(INV(dx),ToReal(0.00119047619047619047619047619048));
- CCTK_REAL_VEC const p1o840dy = kmul(INV(dy),ToReal(0.00119047619047619047619047619048));
- CCTK_REAL_VEC const p1o840dz = kmul(INV(dz),ToReal(0.00119047619047619047619047619048));
- CCTK_REAL_VEC const p1odx = INV(dx);
- CCTK_REAL_VEC const p1odx2 = INV(SQR(dx));
- CCTK_REAL_VEC const p1ody = INV(dy);
- CCTK_REAL_VEC const p1ody2 = INV(SQR(dy));
- CCTK_REAL_VEC const p1odz = INV(dz);
- CCTK_REAL_VEC const p1odz2 = INV(SQR(dz));
- CCTK_REAL_VEC const pm1o120dx = kmul(INV(dx),ToReal(-0.00833333333333333333333333333333));
- CCTK_REAL_VEC const pm1o120dy = kmul(INV(dy),ToReal(-0.00833333333333333333333333333333));
- CCTK_REAL_VEC const pm1o120dz = kmul(INV(dz),ToReal(-0.00833333333333333333333333333333));
- CCTK_REAL_VEC const pm1o12dx2 = kmul(INV(SQR(dx)),ToReal(-0.0833333333333333333333333333333));
- CCTK_REAL_VEC const pm1o12dy2 = kmul(INV(SQR(dy)),ToReal(-0.0833333333333333333333333333333));
- CCTK_REAL_VEC const pm1o12dz2 = kmul(INV(SQR(dz)),ToReal(-0.0833333333333333333333333333333));
- CCTK_REAL_VEC const pm1o2dx = kmul(INV(dx),ToReal(-0.5));
- CCTK_REAL_VEC const pm1o2dy = kmul(INV(dy),ToReal(-0.5));
- CCTK_REAL_VEC const pm1o2dz = kmul(INV(dz),ToReal(-0.5));
- CCTK_REAL_VEC const pm1o4dx = kmul(INV(dx),ToReal(-0.25));
- CCTK_REAL_VEC const pm1o4dy = kmul(INV(dy),ToReal(-0.25));
- CCTK_REAL_VEC const pm1o4dz = kmul(INV(dz),ToReal(-0.25));
- CCTK_REAL_VEC const pm1o60dx = kmul(INV(dx),ToReal(-0.0166666666666666666666666666667));
- CCTK_REAL_VEC const pm1o60dy = kmul(INV(dy),ToReal(-0.0166666666666666666666666666667));
- CCTK_REAL_VEC const pm1o60dz = kmul(INV(dz),ToReal(-0.0166666666666666666666666666667));
+ CCTK_REAL_VEC const p1o1024dx = kdiv(ToReal(0.0009765625),dx);
+ CCTK_REAL_VEC const p1o1024dy = kdiv(ToReal(0.0009765625),dy);
+ CCTK_REAL_VEC const p1o1024dz = kdiv(ToReal(0.0009765625),dz);
+ CCTK_REAL_VEC const p1o120dx = kdiv(ToReal(0.00833333333333333333333333333333),dx);
+ CCTK_REAL_VEC const p1o120dy = kdiv(ToReal(0.00833333333333333333333333333333),dy);
+ CCTK_REAL_VEC const p1o120dz = kdiv(ToReal(0.00833333333333333333333333333333),dz);
+ CCTK_REAL_VEC const p1o12dx = kdiv(ToReal(0.0833333333333333333333333333333),dx);
+ CCTK_REAL_VEC const p1o12dy = kdiv(ToReal(0.0833333333333333333333333333333),dy);
+ CCTK_REAL_VEC const p1o12dz = kdiv(ToReal(0.0833333333333333333333333333333),dz);
+ CCTK_REAL_VEC const p1o144dxdy = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dy,dx));
+ CCTK_REAL_VEC const p1o144dxdz = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dx));
+ CCTK_REAL_VEC const p1o144dydz = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dy));
+ CCTK_REAL_VEC const p1o1680dx = kdiv(ToReal(0.000595238095238095238095238095238),dx);
+ CCTK_REAL_VEC const p1o1680dy = kdiv(ToReal(0.000595238095238095238095238095238),dy);
+ CCTK_REAL_VEC const p1o1680dz = kdiv(ToReal(0.000595238095238095238095238095238),dz);
+ CCTK_REAL_VEC const p1o16dx = kdiv(ToReal(0.0625),dx);
+ CCTK_REAL_VEC const p1o16dy = kdiv(ToReal(0.0625),dy);
+ CCTK_REAL_VEC const p1o16dz = kdiv(ToReal(0.0625),dz);
+ CCTK_REAL_VEC const p1o180dx2 = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dx,dx));
+ CCTK_REAL_VEC const p1o180dy2 = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dy,dy));
+ CCTK_REAL_VEC const p1o180dz2 = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dz,dz));
+ CCTK_REAL_VEC const p1o24dx = kdiv(ToReal(0.0416666666666666666666666666667),dx);
+ CCTK_REAL_VEC const p1o24dy = kdiv(ToReal(0.0416666666666666666666666666667),dy);
+ CCTK_REAL_VEC const p1o24dz = kdiv(ToReal(0.0416666666666666666666666666667),dz);
+ CCTK_REAL_VEC const p1o256dx = kdiv(ToReal(0.00390625),dx);
+ CCTK_REAL_VEC const p1o256dy = kdiv(ToReal(0.00390625),dy);
+ CCTK_REAL_VEC const p1o256dz = kdiv(ToReal(0.00390625),dz);
+ CCTK_REAL_VEC const p1o2dx = kdiv(ToReal(0.5),dx);
+ CCTK_REAL_VEC const p1o2dy = kdiv(ToReal(0.5),dy);
+ CCTK_REAL_VEC const p1o2dz = kdiv(ToReal(0.5),dz);
+ CCTK_REAL_VEC const p1o3600dxdy = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dy,dx));
+ CCTK_REAL_VEC const p1o3600dxdz = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dx));
+ CCTK_REAL_VEC const p1o3600dydz = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dy));
+ CCTK_REAL_VEC const p1o4dx = kdiv(ToReal(0.25),dx);
+ CCTK_REAL_VEC const p1o4dxdy = kdiv(ToReal(0.25),kmul(dy,dx));
+ CCTK_REAL_VEC const p1o4dxdz = kdiv(ToReal(0.25),kmul(dz,dx));
+ CCTK_REAL_VEC const p1o4dy = kdiv(ToReal(0.25),dy);
+ CCTK_REAL_VEC const p1o4dydz = kdiv(ToReal(0.25),kmul(dz,dy));
+ CCTK_REAL_VEC const p1o4dz = kdiv(ToReal(0.25),dz);
+ CCTK_REAL_VEC const p1o5040dx2 = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dx,dx));
+ CCTK_REAL_VEC const p1o5040dy2 = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dy,dy));
+ CCTK_REAL_VEC const p1o5040dz2 = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dz,dz));
+ CCTK_REAL_VEC const p1o560dx = kdiv(ToReal(0.00178571428571428571428571428571),dx);
+ CCTK_REAL_VEC const p1o560dy = kdiv(ToReal(0.00178571428571428571428571428571),dy);
+ CCTK_REAL_VEC const p1o560dz = kdiv(ToReal(0.00178571428571428571428571428571),dz);
+ CCTK_REAL_VEC const p1o60dx = kdiv(ToReal(0.0166666666666666666666666666667),dx);
+ CCTK_REAL_VEC const p1o60dy = kdiv(ToReal(0.0166666666666666666666666666667),dy);
+ CCTK_REAL_VEC const p1o60dz = kdiv(ToReal(0.0166666666666666666666666666667),dz);
+ CCTK_REAL_VEC const p1o64dx = kdiv(ToReal(0.015625),dx);
+ CCTK_REAL_VEC const p1o64dy = kdiv(ToReal(0.015625),dy);
+ CCTK_REAL_VEC const p1o64dz = kdiv(ToReal(0.015625),dz);
+ CCTK_REAL_VEC const p1o705600dxdy = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dy,dx));
+ CCTK_REAL_VEC const p1o705600dxdz = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dx));
+ CCTK_REAL_VEC const p1o705600dydz = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dy));
+ CCTK_REAL_VEC const p1o840dx = kdiv(ToReal(0.00119047619047619047619047619048),dx);
+ CCTK_REAL_VEC const p1o840dy = kdiv(ToReal(0.00119047619047619047619047619048),dy);
+ CCTK_REAL_VEC const p1o840dz = kdiv(ToReal(0.00119047619047619047619047619048),dz);
+ CCTK_REAL_VEC const p1odx = kdiv(ToReal(1),dx);
+ CCTK_REAL_VEC const p1odx2 = kdiv(ToReal(1),kmul(dx,dx));
+ CCTK_REAL_VEC const p1ody = kdiv(ToReal(1),dy);
+ CCTK_REAL_VEC const p1ody2 = kdiv(ToReal(1),kmul(dy,dy));
+ CCTK_REAL_VEC const p1odz = kdiv(ToReal(1),dz);
+ CCTK_REAL_VEC const p1odz2 = kdiv(ToReal(1),kmul(dz,dz));
+ CCTK_REAL_VEC const pm1o120dx = kdiv(ToReal(-0.00833333333333333333333333333333),dx);
+ CCTK_REAL_VEC const pm1o120dy = kdiv(ToReal(-0.00833333333333333333333333333333),dy);
+ CCTK_REAL_VEC const pm1o120dz = kdiv(ToReal(-0.00833333333333333333333333333333),dz);
+ CCTK_REAL_VEC const pm1o12dx2 = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dx,dx));
+ CCTK_REAL_VEC const pm1o12dy2 = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dy,dy));
+ CCTK_REAL_VEC const pm1o12dz2 = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dz,dz));
+ CCTK_REAL_VEC const pm1o2dx = kdiv(ToReal(-0.5),dx);
+ CCTK_REAL_VEC const pm1o2dy = kdiv(ToReal(-0.5),dy);
+ CCTK_REAL_VEC const pm1o2dz = kdiv(ToReal(-0.5),dz);
+ CCTK_REAL_VEC const pm1o4dx = kdiv(ToReal(-0.25),dx);
+ CCTK_REAL_VEC const pm1o4dy = kdiv(ToReal(-0.25),dy);
+ CCTK_REAL_VEC const pm1o4dz = kdiv(ToReal(-0.25),dz);
+ CCTK_REAL_VEC const pm1o60dx = kdiv(ToReal(-0.0166666666666666666666666666667),dx);
+ CCTK_REAL_VEC const pm1o60dy = kdiv(ToReal(-0.0166666666666666666666666666667),dy);
+ CCTK_REAL_VEC const pm1o60dz = kdiv(ToReal(-0.0166666666666666666666666666667),dz);
/* Jacobian variable pointers */
bool const use_jacobian = (!CCTK_IsFunctionAliased("MultiPatch_GetMap") || MultiPatch_GetMap(cctkGH) != jacobian_identity_map)
@@ -192,7 +196,7 @@ static void ML_CCZ4_convertToADMBase_Body(cGH const * restrict const cctkGH, int
#pragma omp parallel
LC_LOOP3VEC(ML_CCZ4_convertToADMBase,
i,j,k, imin[0],imin[1],imin[2], imax[0],imax[1],imax[2],
- cctk_lsh[0],cctk_lsh[1],cctk_lsh[2],
+ cctk_ash[0],cctk_ash[1],cctk_ash[2],
CCTK_REAL_VEC_SIZE)
{
ptrdiff_t const index = di*i + dj*j + dk*k;
@@ -247,7 +251,7 @@ static void ML_CCZ4_convertToADMBase_Body(cGH const * restrict const cctkGH, int
/* Calculate temporaries and grid functions */
CCTK_REAL_VEC e4phi = IfThen(conformalMethod ==
- 1,INV(SQR(phiL)),kexp(kmul(phiL,ToReal(4))));
+ 1,kdiv(ToReal(1),kmul(phiL,phiL)),kexp(kmul(phiL,ToReal(4))));
gxxL = kmul(gt11L,e4phi);
diff --git a/ML_CCZ4/src/ML_CCZ4_convertToADMBaseDtLapseShift.cc b/ML_CCZ4/src/ML_CCZ4_convertToADMBaseDtLapseShift.cc
index 3a49506..d1ebdca 100644
--- a/ML_CCZ4/src/ML_CCZ4_convertToADMBaseDtLapseShift.cc
+++ b/ML_CCZ4/src/ML_CCZ4_convertToADMBaseDtLapseShift.cc
@@ -18,10 +18,14 @@
/* Define macros used in calculations */
#define INITVALUE (42)
-#define QAD(x) (SQR(SQR(x)))
+#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 ML_CCZ4_convertToADMBaseDtLapseShift_SelectBCs(CCTK_ARGUMENTS)
{
@@ -71,84 +75,84 @@ static void ML_CCZ4_convertToADMBaseDtLapseShift_Body(cGH const * restrict const
CCTK_REAL_VEC const hdzi = kmul(ToReal(0.5), dzi);
/* Initialize predefined quantities */
- CCTK_REAL_VEC const p1o1024dx = kmul(INV(dx),ToReal(0.0009765625));
- CCTK_REAL_VEC const p1o1024dy = kmul(INV(dy),ToReal(0.0009765625));
- CCTK_REAL_VEC const p1o1024dz = kmul(INV(dz),ToReal(0.0009765625));
- CCTK_REAL_VEC const p1o120dx = kmul(INV(dx),ToReal(0.00833333333333333333333333333333));
- CCTK_REAL_VEC const p1o120dy = kmul(INV(dy),ToReal(0.00833333333333333333333333333333));
- CCTK_REAL_VEC const p1o120dz = kmul(INV(dz),ToReal(0.00833333333333333333333333333333));
- CCTK_REAL_VEC const p1o12dx = kmul(INV(dx),ToReal(0.0833333333333333333333333333333));
- CCTK_REAL_VEC const p1o12dy = kmul(INV(dy),ToReal(0.0833333333333333333333333333333));
- CCTK_REAL_VEC const p1o12dz = kmul(INV(dz),ToReal(0.0833333333333333333333333333333));
- CCTK_REAL_VEC const p1o144dxdy = kmul(INV(kmul(dx,dy)),ToReal(0.00694444444444444444444444444444));
- CCTK_REAL_VEC const p1o144dxdz = kmul(INV(kmul(dx,dz)),ToReal(0.00694444444444444444444444444444));
- CCTK_REAL_VEC const p1o144dydz = kmul(INV(kmul(dy,dz)),ToReal(0.00694444444444444444444444444444));
- CCTK_REAL_VEC const p1o1680dx = kmul(INV(dx),ToReal(0.000595238095238095238095238095238));
- CCTK_REAL_VEC const p1o1680dy = kmul(INV(dy),ToReal(0.000595238095238095238095238095238));
- CCTK_REAL_VEC const p1o1680dz = kmul(INV(dz),ToReal(0.000595238095238095238095238095238));
- CCTK_REAL_VEC const p1o16dx = kmul(INV(dx),ToReal(0.0625));
- CCTK_REAL_VEC const p1o16dy = kmul(INV(dy),ToReal(0.0625));
- CCTK_REAL_VEC const p1o16dz = kmul(INV(dz),ToReal(0.0625));
- CCTK_REAL_VEC const p1o180dx2 = kmul(INV(SQR(dx)),ToReal(0.00555555555555555555555555555556));
- CCTK_REAL_VEC const p1o180dy2 = kmul(INV(SQR(dy)),ToReal(0.00555555555555555555555555555556));
- CCTK_REAL_VEC const p1o180dz2 = kmul(INV(SQR(dz)),ToReal(0.00555555555555555555555555555556));
- CCTK_REAL_VEC const p1o24dx = kmul(INV(dx),ToReal(0.0416666666666666666666666666667));
- CCTK_REAL_VEC const p1o24dy = kmul(INV(dy),ToReal(0.0416666666666666666666666666667));
- CCTK_REAL_VEC const p1o24dz = kmul(INV(dz),ToReal(0.0416666666666666666666666666667));
- CCTK_REAL_VEC const p1o256dx = kmul(INV(dx),ToReal(0.00390625));
- CCTK_REAL_VEC const p1o256dy = kmul(INV(dy),ToReal(0.00390625));
- CCTK_REAL_VEC const p1o256dz = kmul(INV(dz),ToReal(0.00390625));
- CCTK_REAL_VEC const p1o2dx = kmul(INV(dx),ToReal(0.5));
- CCTK_REAL_VEC const p1o2dy = kmul(INV(dy),ToReal(0.5));
- CCTK_REAL_VEC const p1o2dz = kmul(INV(dz),ToReal(0.5));
- CCTK_REAL_VEC const p1o3600dxdy = kmul(INV(kmul(dx,dy)),ToReal(0.000277777777777777777777777777778));
- CCTK_REAL_VEC const p1o3600dxdz = kmul(INV(kmul(dx,dz)),ToReal(0.000277777777777777777777777777778));
- CCTK_REAL_VEC const p1o3600dydz = kmul(INV(kmul(dy,dz)),ToReal(0.000277777777777777777777777777778));
- CCTK_REAL_VEC const p1o4dx = kmul(INV(dx),ToReal(0.25));
- CCTK_REAL_VEC const p1o4dxdy = kmul(INV(kmul(dx,dy)),ToReal(0.25));
- CCTK_REAL_VEC const p1o4dxdz = kmul(INV(kmul(dx,dz)),ToReal(0.25));
- CCTK_REAL_VEC const p1o4dy = kmul(INV(dy),ToReal(0.25));
- CCTK_REAL_VEC const p1o4dydz = kmul(INV(kmul(dy,dz)),ToReal(0.25));
- CCTK_REAL_VEC const p1o4dz = kmul(INV(dz),ToReal(0.25));
- CCTK_REAL_VEC const p1o5040dx2 = kmul(INV(SQR(dx)),ToReal(0.000198412698412698412698412698413));
- CCTK_REAL_VEC const p1o5040dy2 = kmul(INV(SQR(dy)),ToReal(0.000198412698412698412698412698413));
- CCTK_REAL_VEC const p1o5040dz2 = kmul(INV(SQR(dz)),ToReal(0.000198412698412698412698412698413));
- CCTK_REAL_VEC const p1o560dx = kmul(INV(dx),ToReal(0.00178571428571428571428571428571));
- CCTK_REAL_VEC const p1o560dy = kmul(INV(dy),ToReal(0.00178571428571428571428571428571));
- CCTK_REAL_VEC const p1o560dz = kmul(INV(dz),ToReal(0.00178571428571428571428571428571));
- CCTK_REAL_VEC const p1o60dx = kmul(INV(dx),ToReal(0.0166666666666666666666666666667));
- CCTK_REAL_VEC const p1o60dy = kmul(INV(dy),ToReal(0.0166666666666666666666666666667));
- CCTK_REAL_VEC const p1o60dz = kmul(INV(dz),ToReal(0.0166666666666666666666666666667));
- CCTK_REAL_VEC const p1o64dx = kmul(INV(dx),ToReal(0.015625));
- CCTK_REAL_VEC const p1o64dy = kmul(INV(dy),ToReal(0.015625));
- CCTK_REAL_VEC const p1o64dz = kmul(INV(dz),ToReal(0.015625));
- CCTK_REAL_VEC const p1o705600dxdy = kmul(INV(kmul(dx,dy)),ToReal(1.41723356009070294784580498866e-6));
- CCTK_REAL_VEC const p1o705600dxdz = kmul(INV(kmul(dx,dz)),ToReal(1.41723356009070294784580498866e-6));
- CCTK_REAL_VEC const p1o705600dydz = kmul(INV(kmul(dy,dz)),ToReal(1.41723356009070294784580498866e-6));
- CCTK_REAL_VEC const p1o840dx = kmul(INV(dx),ToReal(0.00119047619047619047619047619048));
- CCTK_REAL_VEC const p1o840dy = kmul(INV(dy),ToReal(0.00119047619047619047619047619048));
- CCTK_REAL_VEC const p1o840dz = kmul(INV(dz),ToReal(0.00119047619047619047619047619048));
- CCTK_REAL_VEC const p1odx = INV(dx);
- CCTK_REAL_VEC const p1odx2 = INV(SQR(dx));
- CCTK_REAL_VEC const p1ody = INV(dy);
- CCTK_REAL_VEC const p1ody2 = INV(SQR(dy));
- CCTK_REAL_VEC const p1odz = INV(dz);
- CCTK_REAL_VEC const p1odz2 = INV(SQR(dz));
- CCTK_REAL_VEC const pm1o120dx = kmul(INV(dx),ToReal(-0.00833333333333333333333333333333));
- CCTK_REAL_VEC const pm1o120dy = kmul(INV(dy),ToReal(-0.00833333333333333333333333333333));
- CCTK_REAL_VEC const pm1o120dz = kmul(INV(dz),ToReal(-0.00833333333333333333333333333333));
- CCTK_REAL_VEC const pm1o12dx2 = kmul(INV(SQR(dx)),ToReal(-0.0833333333333333333333333333333));
- CCTK_REAL_VEC const pm1o12dy2 = kmul(INV(SQR(dy)),ToReal(-0.0833333333333333333333333333333));
- CCTK_REAL_VEC const pm1o12dz2 = kmul(INV(SQR(dz)),ToReal(-0.0833333333333333333333333333333));
- CCTK_REAL_VEC const pm1o2dx = kmul(INV(dx),ToReal(-0.5));
- CCTK_REAL_VEC const pm1o2dy = kmul(INV(dy),ToReal(-0.5));
- CCTK_REAL_VEC const pm1o2dz = kmul(INV(dz),ToReal(-0.5));
- CCTK_REAL_VEC const pm1o4dx = kmul(INV(dx),ToReal(-0.25));
- CCTK_REAL_VEC const pm1o4dy = kmul(INV(dy),ToReal(-0.25));
- CCTK_REAL_VEC const pm1o4dz = kmul(INV(dz),ToReal(-0.25));
- CCTK_REAL_VEC const pm1o60dx = kmul(INV(dx),ToReal(-0.0166666666666666666666666666667));
- CCTK_REAL_VEC const pm1o60dy = kmul(INV(dy),ToReal(-0.0166666666666666666666666666667));
- CCTK_REAL_VEC const pm1o60dz = kmul(INV(dz),ToReal(-0.0166666666666666666666666666667));
+ CCTK_REAL_VEC const p1o1024dx = kdiv(ToReal(0.0009765625),dx);
+ CCTK_REAL_VEC const p1o1024dy = kdiv(ToReal(0.0009765625),dy);
+ CCTK_REAL_VEC const p1o1024dz = kdiv(ToReal(0.0009765625),dz);
+ CCTK_REAL_VEC const p1o120dx = kdiv(ToReal(0.00833333333333333333333333333333),dx);
+ CCTK_REAL_VEC const p1o120dy = kdiv(ToReal(0.00833333333333333333333333333333),dy);
+ CCTK_REAL_VEC const p1o120dz = kdiv(ToReal(0.00833333333333333333333333333333),dz);
+ CCTK_REAL_VEC const p1o12dx = kdiv(ToReal(0.0833333333333333333333333333333),dx);
+ CCTK_REAL_VEC const p1o12dy = kdiv(ToReal(0.0833333333333333333333333333333),dy);
+ CCTK_REAL_VEC const p1o12dz = kdiv(ToReal(0.0833333333333333333333333333333),dz);
+ CCTK_REAL_VEC const p1o144dxdy = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dy,dx));
+ CCTK_REAL_VEC const p1o144dxdz = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dx));
+ CCTK_REAL_VEC const p1o144dydz = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dy));
+ CCTK_REAL_VEC const p1o1680dx = kdiv(ToReal(0.000595238095238095238095238095238),dx);
+ CCTK_REAL_VEC const p1o1680dy = kdiv(ToReal(0.000595238095238095238095238095238),dy);
+ CCTK_REAL_VEC const p1o1680dz = kdiv(ToReal(0.000595238095238095238095238095238),dz);
+ CCTK_REAL_VEC const p1o16dx = kdiv(ToReal(0.0625),dx);
+ CCTK_REAL_VEC const p1o16dy = kdiv(ToReal(0.0625),dy);
+ CCTK_REAL_VEC const p1o16dz = kdiv(ToReal(0.0625),dz);
+ CCTK_REAL_VEC const p1o180dx2 = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dx,dx));
+ CCTK_REAL_VEC const p1o180dy2 = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dy,dy));
+ CCTK_REAL_VEC const p1o180dz2 = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dz,dz));
+ CCTK_REAL_VEC const p1o24dx = kdiv(ToReal(0.0416666666666666666666666666667),dx);
+ CCTK_REAL_VEC const p1o24dy = kdiv(ToReal(0.0416666666666666666666666666667),dy);
+ CCTK_REAL_VEC const p1o24dz = kdiv(ToReal(0.0416666666666666666666666666667),dz);
+ CCTK_REAL_VEC const p1o256dx = kdiv(ToReal(0.00390625),dx);
+ CCTK_REAL_VEC const p1o256dy = kdiv(ToReal(0.00390625),dy);
+ CCTK_REAL_VEC const p1o256dz = kdiv(ToReal(0.00390625),dz);
+ CCTK_REAL_VEC const p1o2dx = kdiv(ToReal(0.5),dx);
+ CCTK_REAL_VEC const p1o2dy = kdiv(ToReal(0.5),dy);
+ CCTK_REAL_VEC const p1o2dz = kdiv(ToReal(0.5),dz);
+ CCTK_REAL_VEC const p1o3600dxdy = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dy,dx));
+ CCTK_REAL_VEC const p1o3600dxdz = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dx));
+ CCTK_REAL_VEC const p1o3600dydz = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dy));
+ CCTK_REAL_VEC const p1o4dx = kdiv(ToReal(0.25),dx);
+ CCTK_REAL_VEC const p1o4dxdy = kdiv(ToReal(0.25),kmul(dy,dx));
+ CCTK_REAL_VEC const p1o4dxdz = kdiv(ToReal(0.25),kmul(dz,dx));
+ CCTK_REAL_VEC const p1o4dy = kdiv(ToReal(0.25),dy);
+ CCTK_REAL_VEC const p1o4dydz = kdiv(ToReal(0.25),kmul(dz,dy));
+ CCTK_REAL_VEC const p1o4dz = kdiv(ToReal(0.25),dz);
+ CCTK_REAL_VEC const p1o5040dx2 = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dx,dx));
+ CCTK_REAL_VEC const p1o5040dy2 = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dy,dy));
+ CCTK_REAL_VEC const p1o5040dz2 = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dz,dz));
+ CCTK_REAL_VEC const p1o560dx = kdiv(ToReal(0.00178571428571428571428571428571),dx);
+ CCTK_REAL_VEC const p1o560dy = kdiv(ToReal(0.00178571428571428571428571428571),dy);
+ CCTK_REAL_VEC const p1o560dz = kdiv(ToReal(0.00178571428571428571428571428571),dz);
+ CCTK_REAL_VEC const p1o60dx = kdiv(ToReal(0.0166666666666666666666666666667),dx);
+ CCTK_REAL_VEC const p1o60dy = kdiv(ToReal(0.0166666666666666666666666666667),dy);
+ CCTK_REAL_VEC const p1o60dz = kdiv(ToReal(0.0166666666666666666666666666667),dz);
+ CCTK_REAL_VEC const p1o64dx = kdiv(ToReal(0.015625),dx);
+ CCTK_REAL_VEC const p1o64dy = kdiv(ToReal(0.015625),dy);
+ CCTK_REAL_VEC const p1o64dz = kdiv(ToReal(0.015625),dz);
+ CCTK_REAL_VEC const p1o705600dxdy = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dy,dx));
+ CCTK_REAL_VEC const p1o705600dxdz = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dx));
+ CCTK_REAL_VEC const p1o705600dydz = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dy));
+ CCTK_REAL_VEC const p1o840dx = kdiv(ToReal(0.00119047619047619047619047619048),dx);
+ CCTK_REAL_VEC const p1o840dy = kdiv(ToReal(0.00119047619047619047619047619048),dy);
+ CCTK_REAL_VEC const p1o840dz = kdiv(ToReal(0.00119047619047619047619047619048),dz);
+ CCTK_REAL_VEC const p1odx = kdiv(ToReal(1),dx);
+ CCTK_REAL_VEC const p1odx2 = kdiv(ToReal(1),kmul(dx,dx));
+ CCTK_REAL_VEC const p1ody = kdiv(ToReal(1),dy);
+ CCTK_REAL_VEC const p1ody2 = kdiv(ToReal(1),kmul(dy,dy));
+ CCTK_REAL_VEC const p1odz = kdiv(ToReal(1),dz);
+ CCTK_REAL_VEC const p1odz2 = kdiv(ToReal(1),kmul(dz,dz));
+ CCTK_REAL_VEC const pm1o120dx = kdiv(ToReal(-0.00833333333333333333333333333333),dx);
+ CCTK_REAL_VEC const pm1o120dy = kdiv(ToReal(-0.00833333333333333333333333333333),dy);
+ CCTK_REAL_VEC const pm1o120dz = kdiv(ToReal(-0.00833333333333333333333333333333),dz);
+ CCTK_REAL_VEC const pm1o12dx2 = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dx,dx));
+ CCTK_REAL_VEC const pm1o12dy2 = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dy,dy));
+ CCTK_REAL_VEC const pm1o12dz2 = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dz,dz));
+ CCTK_REAL_VEC const pm1o2dx = kdiv(ToReal(-0.5),dx);
+ CCTK_REAL_VEC const pm1o2dy = kdiv(ToReal(-0.5),dy);
+ CCTK_REAL_VEC const pm1o2dz = kdiv(ToReal(-0.5),dz);
+ CCTK_REAL_VEC const pm1o4dx = kdiv(ToReal(-0.25),dx);
+ CCTK_REAL_VEC const pm1o4dy = kdiv(ToReal(-0.25),dy);
+ CCTK_REAL_VEC const pm1o4dz = kdiv(ToReal(-0.25),dz);
+ CCTK_REAL_VEC const pm1o60dx = kdiv(ToReal(-0.0166666666666666666666666666667),dx);
+ CCTK_REAL_VEC const pm1o60dy = kdiv(ToReal(-0.0166666666666666666666666666667),dy);
+ CCTK_REAL_VEC const pm1o60dz = kdiv(ToReal(-0.0166666666666666666666666666667),dz);
/* Jacobian variable pointers */
bool const use_jacobian = (!CCTK_IsFunctionAliased("MultiPatch_GetMap") || MultiPatch_GetMap(cctkGH) != jacobian_identity_map)
@@ -207,7 +211,7 @@ static void ML_CCZ4_convertToADMBaseDtLapseShift_Body(cGH const * restrict const
#pragma omp parallel
LC_LOOP3VEC(ML_CCZ4_convertToADMBaseDtLapseShift,
i,j,k, imin[0],imin[1],imin[2], imax[0],imax[1],imax[2],
- cctk_lsh[0],cctk_lsh[1],cctk_lsh[2],
+ cctk_ash[0],cctk_ash[1],cctk_ash[2],
CCTK_REAL_VEC_SIZE)
{
ptrdiff_t const index = di*i + dj*j + dk*k;
@@ -815,40 +819,44 @@ static void ML_CCZ4_convertToADMBaseDtLapseShift_Body(cGH const * restrict const
CCTK_REAL_VEC detgt = ToReal(1);
CCTK_REAL_VEC gtu11 =
- kmul(INV(detgt),kmsub(gt22L,gt33L,SQR(gt23L)));
+ kdiv(kmsub(gt22L,gt33L,kmul(gt23L,gt23L)),detgt);
CCTK_REAL_VEC gtu12 =
- kmul(INV(detgt),kmsub(gt13L,gt23L,kmul(gt12L,gt33L)));
+ kdiv(kmsub(gt13L,gt23L,kmul(gt12L,gt33L)),detgt);
CCTK_REAL_VEC gtu13 =
- kmul(INV(detgt),kmsub(gt12L,gt23L,kmul(gt13L,gt22L)));
+ kdiv(kmsub(gt12L,gt23L,kmul(gt13L,gt22L)),detgt);
CCTK_REAL_VEC gtu22 =
- kmul(INV(detgt),kmsub(gt11L,gt33L,SQR(gt13L)));
+ kdiv(kmsub(gt11L,gt33L,kmul(gt13L,gt13L)),detgt);
CCTK_REAL_VEC gtu23 =
- kmul(INV(detgt),kmsub(gt12L,gt13L,kmul(gt11L,gt23L)));
+ kdiv(kmsub(gt12L,gt13L,kmul(gt11L,gt23L)),detgt);
CCTK_REAL_VEC gtu33 =
- kmul(INV(detgt),kmsub(gt11L,gt22L,SQR(gt12L)));
+ kdiv(kmsub(gt11L,gt22L,kmul(gt12L,gt12L)),detgt);
CCTK_REAL_VEC eta =
- kmul(INV(kfmax(rL,ToReal(SpatialBetaDriverRadius))),ToReal(SpatialBetaDriverRadius));
+ kdiv(ToReal(SpatialBetaDriverRadius),kfmax(rL,ToReal(SpatialBetaDriverRadius)));
CCTK_REAL_VEC theta =
- kfmin(ToReal(1),kexp(knmsub(rL,INV(ToReal(SpatialShiftGammaCoeffRadius)),ToReal(1))));
+ kfmin(ToReal(1),kexp(knmsub(rL,ToReal(ScalarINV(SpatialShiftGammaCoeffRadius)),ToReal(1))));
CCTK_REAL_VEC dtalpL =
- kmsub(kmadd(beta1L,JacPDupwindNthAnti1alpha,kmadd(beta2L,JacPDupwindNthAnti2alpha,kmadd(beta3L,JacPDupwindNthAnti3alpha,kmadd(JacPDupwindNthSymm1alpha,kfabs(beta1L),kmadd(JacPDupwindNthSymm2alpha,kfabs(beta2L),kmul(JacPDupwindNthSymm3alpha,kfabs(beta3L))))))),ToReal(LapseAdvectionCoeff),kmul(kpow(alphaL,harmonicN),kmul(ToReal(harmonicF),kmadd(AL,ToReal(LapseACoeff),kmul(kmsub(ThetaL,ToReal(2),trKL),kadd(ToReal(-1),ToReal(LapseACoeff)))))));
+ kmsub(kmadd(beta1L,JacPDupwindNthAnti1alpha,kmadd(beta2L,JacPDupwindNthAnti2alpha,kmadd(beta3L,JacPDupwindNthAnti3alpha,kmadd(JacPDupwindNthSymm1alpha,kfabs(beta1L),kmadd(JacPDupwindNthSymm2alpha,kfabs(beta2L),kmul(JacPDupwindNthSymm3alpha,kfabs(beta3L))))))),ToReal(LapseAdvectionCoeff),kmul(kpow(alphaL,harmonicN),kmul(ToReal(harmonicF),kmadd(AL,ToReal(LapseACoeff),kmul(kmsub(ThetaL,ToReal(2),trKL),ToReal(-1
+ + LapseACoeff))))));
CCTK_REAL_VEC dtbetaxL =
- kmadd(kmadd(beta1L,JacPDupwindNthAnti1beta1,kmadd(beta2L,JacPDupwindNthAnti2beta1,kmadd(beta3L,JacPDupwindNthAnti3beta1,kmadd(JacPDupwindNthSymm1beta1,kfabs(beta1L),kmadd(JacPDupwindNthSymm2beta1,kfabs(beta2L),kmul(JacPDupwindNthSymm3beta1,kfabs(beta3L))))))),ToReal(ShiftAdvectionCoeff),IfThen(harmonicShift,kmul(alphaL,kmul(phiL,kmul(ToReal(0.5),kmadd(phiL,kmul(kmadd(gtu11,JacPDstandardNth1alpha,kmadd(gtu12,JacPDstandardNth2alpha,kmul(gtu13,JacPDstandardNth3alpha))),ToReal(-2)),kmul(alphaL,kmadd(phiL,kmadd(JacPDstandardNth1gt11,SQR(gtu11),kmul(JacPDstandardNth1gt22,kmul(SQR(gtu12),ToReal(2)))),kmadd(gtu13,kmadd(JacPDstandardNth3phi,ToReal(2),kmul(phiL,kmadd(gtu33,JacPDstandardNth3gt33,kmsub(kmadd(gtu13,JacPDstandardNth1gt33,kmadd(gtu22,JacPDstandardNth2gt23,kmul(gtu23,JacPDstandardNth2gt33))),ToReal(2),kmul(gtu22,JacPDstandardNth3gt22))))),kmadd(gtu11,kmadd(JacPDstandardNth1phi,ToReal(2),kmul(phiL,kmadd(gtu12,JacPDstandardNth2gt11,kmadd(gtu13,JacPDstandardNth3gt11,kmadd(gtu23,kmul(JacPDstandardNth1gt23,ToReal(-2)),knmsub(gtu22,JacPDstandardNth1gt22,kmadd(kmadd(gtu12,JacPDstandardNth1gt12,kmadd(gtu13,JacPDstandardNth1gt13,kmul(gtu22,JacPDstandardNth2gt12))),ToReal(2),kmadd(gtu23,kmul(JacPDstandardNth2gt13,ToReal(2)),kmadd(gtu23,kmul(JacPDstandardNth3gt12,ToReal(2)),kmul(gtu33,kmsub(JacPDstandardNth3gt13,ToReal(2),JacPDstandardNth1gt33))))))))))),kmul(gtu12,kmadd(JacPDstandardNth2phi,ToReal(2),kmul(phiL,kmadd(gtu22,JacPDstandardNth2gt22,kmadd(gtu23,kmul(JacPDstandardNth3gt22,ToReal(2)),kmadd(gtu33,kmsub(JacPDstandardNth3gt23,ToReal(2),JacPDstandardNth2gt33),kmul(gtu13,kmul(JacPDstandardNth1gt23,ToReal(4))))))))))))))))),kmul(theta,kmul(kadd(Xt1L,kmadd(ksub(B1L,Xt1L),ToReal(ShiftBCoeff),kmul(beta1L,kmul(eta,kmul(ToReal(BetaDriver),kadd(ToReal(-1),ToReal(ShiftBCoeff))))))),ToReal(ShiftGammaCoeff)))));
+ kmadd(kmadd(beta1L,JacPDupwindNthAnti1beta1,kmadd(beta2L,JacPDupwindNthAnti2beta1,kmadd(beta3L,JacPDupwindNthAnti3beta1,kmadd(JacPDupwindNthSymm1beta1,kfabs(beta1L),kmadd(JacPDupwindNthSymm2beta1,kfabs(beta2L),kmul(JacPDupwindNthSymm3beta1,kfabs(beta3L))))))),ToReal(ShiftAdvectionCoeff),IfThen(harmonicShift,kmul(alphaL,kmul(phiL,kmul(ToReal(0.5),kmadd(phiL,kmul(kmadd(gtu11,JacPDstandardNth1alpha,kmadd(gtu12,JacPDstandardNth2alpha,kmul(gtu13,JacPDstandardNth3alpha))),ToReal(-2)),kmul(alphaL,kmadd(phiL,kmadd(JacPDstandardNth1gt11,kmul(gtu11,gtu11),kmul(JacPDstandardNth1gt22,kmul(kmul(gtu12,gtu12),ToReal(2)))),kmadd(gtu13,kmadd(JacPDstandardNth3phi,ToReal(2),kmul(phiL,kmadd(gtu33,JacPDstandardNth3gt33,kmsub(kmadd(gtu13,JacPDstandardNth1gt33,kmadd(gtu22,JacPDstandardNth2gt23,kmul(gtu23,JacPDstandardNth2gt33))),ToReal(2),kmul(gtu22,JacPDstandardNth3gt22))))),kmadd(gtu11,kmadd(JacPDstandardNth1phi,ToReal(2),kmul(phiL,kmadd(gtu12,JacPDstandardNth2gt11,kmadd(gtu13,JacPDstandardNth3gt11,kmadd(gtu23,kmul(JacPDstandardNth1gt23,ToReal(-2)),knmsub(gtu22,JacPDstandardNth1gt22,kmadd(kmadd(gtu12,JacPDstandardNth1gt12,kmadd(gtu13,JacPDstandardNth1gt13,kmul(gtu22,JacPDstandardNth2gt12))),ToReal(2),kmadd(gtu23,kmul(JacPDstandardNth2gt13,ToReal(2)),kmadd(gtu23,kmul(JacPDstandardNth3gt12,ToReal(2)),kmul(gtu33,kmsub(JacPDstandardNth3gt13,ToReal(2),JacPDstandardNth1gt33))))))))))),kmul(gtu12,kmadd(JacPDstandardNth2phi,ToReal(2),kmul(phiL,kmadd(gtu22,JacPDstandardNth2gt22,kmadd(gtu23,kmul(JacPDstandardNth3gt22,ToReal(2)),kmadd(gtu33,kmsub(JacPDstandardNth3gt23,ToReal(2),JacPDstandardNth2gt33),kmul(gtu13,kmul(JacPDstandardNth1gt23,ToReal(4))))))))))))))))),kmul(theta,kmul(kadd(Xt1L,kmadd(ksub(B1L,Xt1L),ToReal(ShiftBCoeff),kmul(beta1L,kmul(eta,ToReal(BetaDriver*(-1
+ + ShiftBCoeff)))))),ToReal(ShiftGammaCoeff)))));
CCTK_REAL_VEC dtbetayL =
- kmadd(kmadd(beta1L,JacPDupwindNthAnti1beta2,kmadd(beta2L,JacPDupwindNthAnti2beta2,kmadd(beta3L,JacPDupwindNthAnti3beta2,kmadd(JacPDupwindNthSymm1beta2,kfabs(beta1L),kmadd(JacPDupwindNthSymm2beta2,kfabs(beta2L),kmul(JacPDupwindNthSymm3beta2,kfabs(beta3L))))))),ToReal(ShiftAdvectionCoeff),IfThen(harmonicShift,kmul(alphaL,kmul(phiL,kmul(ToReal(0.5),kmadd(phiL,kmul(kmadd(gtu12,JacPDstandardNth1alpha,kmadd(gtu22,JacPDstandardNth2alpha,kmul(gtu23,JacPDstandardNth3alpha))),ToReal(-2)),kmul(alphaL,kmadd(phiL,kmadd(JacPDstandardNth2gt22,SQR(gtu22),kmul(JacPDstandardNth2gt11,kmul(SQR(gtu12),ToReal(2)))),kmadd(gtu23,kmadd(JacPDstandardNth3phi,ToReal(2),kmul(phiL,kmadd(gtu33,JacPDstandardNth3gt33,kmsub(kmadd(gtu11,JacPDstandardNth1gt13,kmadd(gtu13,JacPDstandardNth1gt33,kmul(gtu23,JacPDstandardNth2gt33))),ToReal(2),kmul(gtu11,JacPDstandardNth3gt11))))),kmadd(gtu22,kmadd(JacPDstandardNth2phi,ToReal(2),kmul(phiL,kmadd(gtu23,JacPDstandardNth3gt22,kmadd(kmadd(gtu23,JacPDstandardNth2gt23,kmul(gtu13,kadd(JacPDstandardNth1gt23,ksub(JacPDstandardNth3gt12,JacPDstandardNth2gt13)))),ToReal(2),kmadd(gtu11,kmsub(JacPDstandardNth1gt12,ToReal(2),JacPDstandardNth2gt11),kmul(gtu33,kmsub(JacPDstandardNth3gt23,ToReal(2),JacPDstandardNth2gt33))))))),kmul(gtu12,kmadd(JacPDstandardNth1phi,ToReal(2),kmul(phiL,kmadd(gtu11,JacPDstandardNth1gt11,kmadd(gtu13,kmul(JacPDstandardNth3gt11,ToReal(2)),kmadd(gtu22,kmadd(JacPDstandardNth2gt12,ToReal(2),JacPDstandardNth1gt22),kmadd(gtu33,kmsub(JacPDstandardNth3gt13,ToReal(2),JacPDstandardNth1gt33),kmul(gtu23,kmul(JacPDstandardNth2gt13,ToReal(4)))))))))))))))))),kmul(theta,kmul(kadd(Xt2L,kmadd(ksub(B2L,Xt2L),ToReal(ShiftBCoeff),kmul(beta2L,kmul(eta,kmul(ToReal(BetaDriver),kadd(ToReal(-1),ToReal(ShiftBCoeff))))))),ToReal(ShiftGammaCoeff)))));
+ kmadd(kmadd(beta1L,JacPDupwindNthAnti1beta2,kmadd(beta2L,JacPDupwindNthAnti2beta2,kmadd(beta3L,JacPDupwindNthAnti3beta2,kmadd(JacPDupwindNthSymm1beta2,kfabs(beta1L),kmadd(JacPDupwindNthSymm2beta2,kfabs(beta2L),kmul(JacPDupwindNthSymm3beta2,kfabs(beta3L))))))),ToReal(ShiftAdvectionCoeff),IfThen(harmonicShift,kmul(alphaL,kmul(phiL,kmul(ToReal(0.5),kmadd(phiL,kmul(kmadd(gtu12,JacPDstandardNth1alpha,kmadd(gtu22,JacPDstandardNth2alpha,kmul(gtu23,JacPDstandardNth3alpha))),ToReal(-2)),kmul(alphaL,kmadd(phiL,kmadd(JacPDstandardNth2gt22,kmul(gtu22,gtu22),kmul(JacPDstandardNth2gt11,kmul(kmul(gtu12,gtu12),ToReal(2)))),kmadd(gtu23,kmadd(JacPDstandardNth3phi,ToReal(2),kmul(phiL,kmadd(gtu33,JacPDstandardNth3gt33,kmsub(kmadd(gtu11,JacPDstandardNth1gt13,kmadd(gtu13,JacPDstandardNth1gt33,kmul(gtu23,JacPDstandardNth2gt33))),ToReal(2),kmul(gtu11,JacPDstandardNth3gt11))))),kmadd(gtu22,kmadd(JacPDstandardNth2phi,ToReal(2),kmul(phiL,kmadd(gtu23,JacPDstandardNth3gt22,kmadd(kmadd(gtu23,JacPDstandardNth2gt23,kmul(gtu13,kadd(JacPDstandardNth1gt23,ksub(JacPDstandardNth3gt12,JacPDstandardNth2gt13)))),ToReal(2),kmadd(gtu11,kmsub(JacPDstandardNth1gt12,ToReal(2),JacPDstandardNth2gt11),kmul(gtu33,kmsub(JacPDstandardNth3gt23,ToReal(2),JacPDstandardNth2gt33))))))),kmul(gtu12,kmadd(JacPDstandardNth1phi,ToReal(2),kmul(phiL,kmadd(gtu11,JacPDstandardNth1gt11,kmadd(gtu13,kmul(JacPDstandardNth3gt11,ToReal(2)),kmadd(gtu22,kmadd(JacPDstandardNth2gt12,ToReal(2),JacPDstandardNth1gt22),kmadd(gtu33,kmsub(JacPDstandardNth3gt13,ToReal(2),JacPDstandardNth1gt33),kmul(gtu23,kmul(JacPDstandardNth2gt13,ToReal(4)))))))))))))))))),kmul(theta,kmul(kadd(Xt2L,kmadd(ksub(B2L,Xt2L),ToReal(ShiftBCoeff),kmul(beta2L,kmul(eta,ToReal(BetaDriver*(-1
+ + ShiftBCoeff)))))),ToReal(ShiftGammaCoeff)))));
CCTK_REAL_VEC dtbetazL =
- kmadd(kmadd(beta1L,JacPDupwindNthAnti1beta3,kmadd(beta2L,JacPDupwindNthAnti2beta3,kmadd(beta3L,JacPDupwindNthAnti3beta3,kmadd(JacPDupwindNthSymm1beta3,kfabs(beta1L),kmadd(JacPDupwindNthSymm2beta3,kfabs(beta2L),kmul(JacPDupwindNthSymm3beta3,kfabs(beta3L))))))),ToReal(ShiftAdvectionCoeff),IfThen(harmonicShift,kmul(alphaL,kmul(phiL,kmul(ToReal(0.5),kmadd(phiL,kmul(kmadd(gtu13,JacPDstandardNth1alpha,kmadd(gtu23,JacPDstandardNth2alpha,kmul(gtu33,JacPDstandardNth3alpha))),ToReal(-2)),kmul(alphaL,kmadd(phiL,kmul(kmadd(JacPDstandardNth3gt11,SQR(gtu13),kmul(JacPDstandardNth3gt22,SQR(gtu23))),ToReal(2)),kmadd(gtu23,kmadd(JacPDstandardNth2phi,ToReal(2),kmul(phiL,kmadd(gtu22,JacPDstandardNth2gt22,kmadd(gtu33,JacPDstandardNth2gt33,kmsub(kmadd(gtu11,JacPDstandardNth1gt12,kmadd(gtu12,JacPDstandardNth1gt22,kmul(gtu33,JacPDstandardNth3gt23))),ToReal(2),kmul(gtu11,JacPDstandardNth2gt11)))))),kmadd(gtu33,kmadd(JacPDstandardNth3phi,ToReal(2),kmul(phiL,kmadd(gtu33,JacPDstandardNth3gt33,knmsub(gtu22,JacPDstandardNth3gt22,kmadd(kmadd(gtu22,JacPDstandardNth2gt23,kmul(gtu12,kadd(JacPDstandardNth1gt23,ksub(JacPDstandardNth2gt13,JacPDstandardNth3gt12)))),ToReal(2),kmul(gtu11,kmsub(JacPDstandardNth1gt13,ToReal(2),JacPDstandardNth3gt11))))))),kmul(gtu13,kmadd(JacPDstandardNth1phi,ToReal(2),kmul(phiL,kmadd(gtu11,JacPDstandardNth1gt11,kmadd(gtu12,kmul(JacPDstandardNth2gt11,ToReal(2)),kmadd(gtu22,kmsub(JacPDstandardNth2gt12,ToReal(2),JacPDstandardNth1gt22),kmadd(gtu33,kmadd(JacPDstandardNth3gt13,ToReal(2),JacPDstandardNth1gt33),kmul(gtu23,kmul(JacPDstandardNth3gt12,ToReal(4)))))))))))))))))),kmul(theta,kmul(kadd(Xt3L,kmadd(ksub(B3L,Xt3L),ToReal(ShiftBCoeff),kmul(beta3L,kmul(eta,kmul(ToReal(BetaDriver),kadd(ToReal(-1),ToReal(ShiftBCoeff))))))),ToReal(ShiftGammaCoeff)))));
+ kmadd(kmadd(beta1L,JacPDupwindNthAnti1beta3,kmadd(beta2L,JacPDupwindNthAnti2beta3,kmadd(beta3L,JacPDupwindNthAnti3beta3,kmadd(JacPDupwindNthSymm1beta3,kfabs(beta1L),kmadd(JacPDupwindNthSymm2beta3,kfabs(beta2L),kmul(JacPDupwindNthSymm3beta3,kfabs(beta3L))))))),ToReal(ShiftAdvectionCoeff),IfThen(harmonicShift,kmul(alphaL,kmul(phiL,kmul(ToReal(0.5),kmadd(phiL,kmul(kmadd(gtu13,JacPDstandardNth1alpha,kmadd(gtu23,JacPDstandardNth2alpha,kmul(gtu33,JacPDstandardNth3alpha))),ToReal(-2)),kmul(alphaL,kmadd(phiL,kmul(kmadd(JacPDstandardNth3gt11,kmul(gtu13,gtu13),kmul(JacPDstandardNth3gt22,kmul(gtu23,gtu23))),ToReal(2)),kmadd(gtu23,kmadd(JacPDstandardNth2phi,ToReal(2),kmul(phiL,kmadd(gtu22,JacPDstandardNth2gt22,kmadd(gtu33,JacPDstandardNth2gt33,kmsub(kmadd(gtu11,JacPDstandardNth1gt12,kmadd(gtu12,JacPDstandardNth1gt22,kmul(gtu33,JacPDstandardNth3gt23))),ToReal(2),kmul(gtu11,JacPDstandardNth2gt11)))))),kmadd(gtu33,kmadd(JacPDstandardNth3phi,ToReal(2),kmul(phiL,kmadd(gtu33,JacPDstandardNth3gt33,knmsub(gtu22,JacPDstandardNth3gt22,kmadd(kmadd(gtu22,JacPDstandardNth2gt23,kmul(gtu12,kadd(JacPDstandardNth1gt23,ksub(JacPDstandardNth2gt13,JacPDstandardNth3gt12)))),ToReal(2),kmul(gtu11,kmsub(JacPDstandardNth1gt13,ToReal(2),JacPDstandardNth3gt11))))))),kmul(gtu13,kmadd(JacPDstandardNth1phi,ToReal(2),kmul(phiL,kmadd(gtu11,JacPDstandardNth1gt11,kmadd(gtu12,kmul(JacPDstandardNth2gt11,ToReal(2)),kmadd(gtu22,kmsub(JacPDstandardNth2gt12,ToReal(2),JacPDstandardNth1gt22),kmadd(gtu33,kmadd(JacPDstandardNth3gt13,ToReal(2),JacPDstandardNth1gt33),kmul(gtu23,kmul(JacPDstandardNth3gt12,ToReal(4)))))))))))))))))),kmul(theta,kmul(kadd(Xt3L,kmadd(ksub(B3L,Xt3L),ToReal(ShiftBCoeff),kmul(beta3L,kmul(eta,ToReal(BetaDriver*(-1
+ + ShiftBCoeff)))))),ToReal(ShiftGammaCoeff)))));
/* Copy local copies back to grid functions */
vec_store_partial_prepare(i,lc_imin,lc_imax);
diff --git a/ML_CCZ4/src/ML_CCZ4_convertToADMBaseDtLapseShiftBoundary.cc b/ML_CCZ4/src/ML_CCZ4_convertToADMBaseDtLapseShiftBoundary.cc
index 0d06a21..61b8fb2 100644
--- a/ML_CCZ4/src/ML_CCZ4_convertToADMBaseDtLapseShiftBoundary.cc
+++ b/ML_CCZ4/src/ML_CCZ4_convertToADMBaseDtLapseShiftBoundary.cc
@@ -18,10 +18,14 @@
/* Define macros used in calculations */
#define INITVALUE (42)
-#define QAD(x) (SQR(SQR(x)))
+#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 ML_CCZ4_convertToADMBaseDtLapseShiftBoundary_SelectBCs(CCTK_ARGUMENTS)
{
@@ -71,84 +75,84 @@ static void ML_CCZ4_convertToADMBaseDtLapseShiftBoundary_Body(cGH const * restri
CCTK_REAL_VEC const hdzi = kmul(ToReal(0.5), dzi);
/* Initialize predefined quantities */
- CCTK_REAL_VEC const p1o1024dx = kmul(INV(dx),ToReal(0.0009765625));
- CCTK_REAL_VEC const p1o1024dy = kmul(INV(dy),ToReal(0.0009765625));
- CCTK_REAL_VEC const p1o1024dz = kmul(INV(dz),ToReal(0.0009765625));
- CCTK_REAL_VEC const p1o120dx = kmul(INV(dx),ToReal(0.00833333333333333333333333333333));
- CCTK_REAL_VEC const p1o120dy = kmul(INV(dy),ToReal(0.00833333333333333333333333333333));
- CCTK_REAL_VEC const p1o120dz = kmul(INV(dz),ToReal(0.00833333333333333333333333333333));
- CCTK_REAL_VEC const p1o12dx = kmul(INV(dx),ToReal(0.0833333333333333333333333333333));
- CCTK_REAL_VEC const p1o12dy = kmul(INV(dy),ToReal(0.0833333333333333333333333333333));
- CCTK_REAL_VEC const p1o12dz = kmul(INV(dz),ToReal(0.0833333333333333333333333333333));
- CCTK_REAL_VEC const p1o144dxdy = kmul(INV(kmul(dx,dy)),ToReal(0.00694444444444444444444444444444));
- CCTK_REAL_VEC const p1o144dxdz = kmul(INV(kmul(dx,dz)),ToReal(0.00694444444444444444444444444444));
- CCTK_REAL_VEC const p1o144dydz = kmul(INV(kmul(dy,dz)),ToReal(0.00694444444444444444444444444444));
- CCTK_REAL_VEC const p1o1680dx = kmul(INV(dx),ToReal(0.000595238095238095238095238095238));
- CCTK_REAL_VEC const p1o1680dy = kmul(INV(dy),ToReal(0.000595238095238095238095238095238));
- CCTK_REAL_VEC const p1o1680dz = kmul(INV(dz),ToReal(0.000595238095238095238095238095238));
- CCTK_REAL_VEC const p1o16dx = kmul(INV(dx),ToReal(0.0625));
- CCTK_REAL_VEC const p1o16dy = kmul(INV(dy),ToReal(0.0625));
- CCTK_REAL_VEC const p1o16dz = kmul(INV(dz),ToReal(0.0625));
- CCTK_REAL_VEC const p1o180dx2 = kmul(INV(SQR(dx)),ToReal(0.00555555555555555555555555555556));
- CCTK_REAL_VEC const p1o180dy2 = kmul(INV(SQR(dy)),ToReal(0.00555555555555555555555555555556));
- CCTK_REAL_VEC const p1o180dz2 = kmul(INV(SQR(dz)),ToReal(0.00555555555555555555555555555556));
- CCTK_REAL_VEC const p1o24dx = kmul(INV(dx),ToReal(0.0416666666666666666666666666667));
- CCTK_REAL_VEC const p1o24dy = kmul(INV(dy),ToReal(0.0416666666666666666666666666667));
- CCTK_REAL_VEC const p1o24dz = kmul(INV(dz),ToReal(0.0416666666666666666666666666667));
- CCTK_REAL_VEC const p1o256dx = kmul(INV(dx),ToReal(0.00390625));
- CCTK_REAL_VEC const p1o256dy = kmul(INV(dy),ToReal(0.00390625));
- CCTK_REAL_VEC const p1o256dz = kmul(INV(dz),ToReal(0.00390625));
- CCTK_REAL_VEC const p1o2dx = kmul(INV(dx),ToReal(0.5));
- CCTK_REAL_VEC const p1o2dy = kmul(INV(dy),ToReal(0.5));
- CCTK_REAL_VEC const p1o2dz = kmul(INV(dz),ToReal(0.5));
- CCTK_REAL_VEC const p1o3600dxdy = kmul(INV(kmul(dx,dy)),ToReal(0.000277777777777777777777777777778));
- CCTK_REAL_VEC const p1o3600dxdz = kmul(INV(kmul(dx,dz)),ToReal(0.000277777777777777777777777777778));
- CCTK_REAL_VEC const p1o3600dydz = kmul(INV(kmul(dy,dz)),ToReal(0.000277777777777777777777777777778));
- CCTK_REAL_VEC const p1o4dx = kmul(INV(dx),ToReal(0.25));
- CCTK_REAL_VEC const p1o4dxdy = kmul(INV(kmul(dx,dy)),ToReal(0.25));
- CCTK_REAL_VEC const p1o4dxdz = kmul(INV(kmul(dx,dz)),ToReal(0.25));
- CCTK_REAL_VEC const p1o4dy = kmul(INV(dy),ToReal(0.25));
- CCTK_REAL_VEC const p1o4dydz = kmul(INV(kmul(dy,dz)),ToReal(0.25));
- CCTK_REAL_VEC const p1o4dz = kmul(INV(dz),ToReal(0.25));
- CCTK_REAL_VEC const p1o5040dx2 = kmul(INV(SQR(dx)),ToReal(0.000198412698412698412698412698413));
- CCTK_REAL_VEC const p1o5040dy2 = kmul(INV(SQR(dy)),ToReal(0.000198412698412698412698412698413));
- CCTK_REAL_VEC const p1o5040dz2 = kmul(INV(SQR(dz)),ToReal(0.000198412698412698412698412698413));
- CCTK_REAL_VEC const p1o560dx = kmul(INV(dx),ToReal(0.00178571428571428571428571428571));
- CCTK_REAL_VEC const p1o560dy = kmul(INV(dy),ToReal(0.00178571428571428571428571428571));
- CCTK_REAL_VEC const p1o560dz = kmul(INV(dz),ToReal(0.00178571428571428571428571428571));
- CCTK_REAL_VEC const p1o60dx = kmul(INV(dx),ToReal(0.0166666666666666666666666666667));
- CCTK_REAL_VEC const p1o60dy = kmul(INV(dy),ToReal(0.0166666666666666666666666666667));
- CCTK_REAL_VEC const p1o60dz = kmul(INV(dz),ToReal(0.0166666666666666666666666666667));
- CCTK_REAL_VEC const p1o64dx = kmul(INV(dx),ToReal(0.015625));
- CCTK_REAL_VEC const p1o64dy = kmul(INV(dy),ToReal(0.015625));
- CCTK_REAL_VEC const p1o64dz = kmul(INV(dz),ToReal(0.015625));
- CCTK_REAL_VEC const p1o705600dxdy = kmul(INV(kmul(dx,dy)),ToReal(1.41723356009070294784580498866e-6));
- CCTK_REAL_VEC const p1o705600dxdz = kmul(INV(kmul(dx,dz)),ToReal(1.41723356009070294784580498866e-6));
- CCTK_REAL_VEC const p1o705600dydz = kmul(INV(kmul(dy,dz)),ToReal(1.41723356009070294784580498866e-6));
- CCTK_REAL_VEC const p1o840dx = kmul(INV(dx),ToReal(0.00119047619047619047619047619048));
- CCTK_REAL_VEC const p1o840dy = kmul(INV(dy),ToReal(0.00119047619047619047619047619048));
- CCTK_REAL_VEC const p1o840dz = kmul(INV(dz),ToReal(0.00119047619047619047619047619048));
- CCTK_REAL_VEC const p1odx = INV(dx);
- CCTK_REAL_VEC const p1odx2 = INV(SQR(dx));
- CCTK_REAL_VEC const p1ody = INV(dy);
- CCTK_REAL_VEC const p1ody2 = INV(SQR(dy));
- CCTK_REAL_VEC const p1odz = INV(dz);
- CCTK_REAL_VEC const p1odz2 = INV(SQR(dz));
- CCTK_REAL_VEC const pm1o120dx = kmul(INV(dx),ToReal(-0.00833333333333333333333333333333));
- CCTK_REAL_VEC const pm1o120dy = kmul(INV(dy),ToReal(-0.00833333333333333333333333333333));
- CCTK_REAL_VEC const pm1o120dz = kmul(INV(dz),ToReal(-0.00833333333333333333333333333333));
- CCTK_REAL_VEC const pm1o12dx2 = kmul(INV(SQR(dx)),ToReal(-0.0833333333333333333333333333333));
- CCTK_REAL_VEC const pm1o12dy2 = kmul(INV(SQR(dy)),ToReal(-0.0833333333333333333333333333333));
- CCTK_REAL_VEC const pm1o12dz2 = kmul(INV(SQR(dz)),ToReal(-0.0833333333333333333333333333333));
- CCTK_REAL_VEC const pm1o2dx = kmul(INV(dx),ToReal(-0.5));
- CCTK_REAL_VEC const pm1o2dy = kmul(INV(dy),ToReal(-0.5));
- CCTK_REAL_VEC const pm1o2dz = kmul(INV(dz),ToReal(-0.5));
- CCTK_REAL_VEC const pm1o4dx = kmul(INV(dx),ToReal(-0.25));
- CCTK_REAL_VEC const pm1o4dy = kmul(INV(dy),ToReal(-0.25));
- CCTK_REAL_VEC const pm1o4dz = kmul(INV(dz),ToReal(-0.25));
- CCTK_REAL_VEC const pm1o60dx = kmul(INV(dx),ToReal(-0.0166666666666666666666666666667));
- CCTK_REAL_VEC const pm1o60dy = kmul(INV(dy),ToReal(-0.0166666666666666666666666666667));
- CCTK_REAL_VEC const pm1o60dz = kmul(INV(dz),ToReal(-0.0166666666666666666666666666667));
+ CCTK_REAL_VEC const p1o1024dx = kdiv(ToReal(0.0009765625),dx);
+ CCTK_REAL_VEC const p1o1024dy = kdiv(ToReal(0.0009765625),dy);
+ CCTK_REAL_VEC const p1o1024dz = kdiv(ToReal(0.0009765625),dz);
+ CCTK_REAL_VEC const p1o120dx = kdiv(ToReal(0.00833333333333333333333333333333),dx);
+ CCTK_REAL_VEC const p1o120dy = kdiv(ToReal(0.00833333333333333333333333333333),dy);
+ CCTK_REAL_VEC const p1o120dz = kdiv(ToReal(0.00833333333333333333333333333333),dz);
+ CCTK_REAL_VEC const p1o12dx = kdiv(ToReal(0.0833333333333333333333333333333),dx);
+ CCTK_REAL_VEC const p1o12dy = kdiv(ToReal(0.0833333333333333333333333333333),dy);
+ CCTK_REAL_VEC const p1o12dz = kdiv(ToReal(0.0833333333333333333333333333333),dz);
+ CCTK_REAL_VEC const p1o144dxdy = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dy,dx));
+ CCTK_REAL_VEC const p1o144dxdz = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dx));
+ CCTK_REAL_VEC const p1o144dydz = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dy));
+ CCTK_REAL_VEC const p1o1680dx = kdiv(ToReal(0.000595238095238095238095238095238),dx);
+ CCTK_REAL_VEC const p1o1680dy = kdiv(ToReal(0.000595238095238095238095238095238),dy);
+ CCTK_REAL_VEC const p1o1680dz = kdiv(ToReal(0.000595238095238095238095238095238),dz);
+ CCTK_REAL_VEC const p1o16dx = kdiv(ToReal(0.0625),dx);
+ CCTK_REAL_VEC const p1o16dy = kdiv(ToReal(0.0625),dy);
+ CCTK_REAL_VEC const p1o16dz = kdiv(ToReal(0.0625),dz);
+ CCTK_REAL_VEC const p1o180dx2 = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dx,dx));
+ CCTK_REAL_VEC const p1o180dy2 = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dy,dy));
+ CCTK_REAL_VEC const p1o180dz2 = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dz,dz));
+ CCTK_REAL_VEC const p1o24dx = kdiv(ToReal(0.0416666666666666666666666666667),dx);
+ CCTK_REAL_VEC const p1o24dy = kdiv(ToReal(0.0416666666666666666666666666667),dy);
+ CCTK_REAL_VEC const p1o24dz = kdiv(ToReal(0.0416666666666666666666666666667),dz);
+ CCTK_REAL_VEC const p1o256dx = kdiv(ToReal(0.00390625),dx);
+ CCTK_REAL_VEC const p1o256dy = kdiv(ToReal(0.00390625),dy);
+ CCTK_REAL_VEC const p1o256dz = kdiv(ToReal(0.00390625),dz);
+ CCTK_REAL_VEC const p1o2dx = kdiv(ToReal(0.5),dx);
+ CCTK_REAL_VEC const p1o2dy = kdiv(ToReal(0.5),dy);
+ CCTK_REAL_VEC const p1o2dz = kdiv(ToReal(0.5),dz);
+ CCTK_REAL_VEC const p1o3600dxdy = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dy,dx));
+ CCTK_REAL_VEC const p1o3600dxdz = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dx));
+ CCTK_REAL_VEC const p1o3600dydz = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dy));
+ CCTK_REAL_VEC const p1o4dx = kdiv(ToReal(0.25),dx);
+ CCTK_REAL_VEC const p1o4dxdy = kdiv(ToReal(0.25),kmul(dy,dx));
+ CCTK_REAL_VEC const p1o4dxdz = kdiv(ToReal(0.25),kmul(dz,dx));
+ CCTK_REAL_VEC const p1o4dy = kdiv(ToReal(0.25),dy);
+ CCTK_REAL_VEC const p1o4dydz = kdiv(ToReal(0.25),kmul(dz,dy));
+ CCTK_REAL_VEC const p1o4dz = kdiv(ToReal(0.25),dz);
+ CCTK_REAL_VEC const p1o5040dx2 = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dx,dx));
+ CCTK_REAL_VEC const p1o5040dy2 = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dy,dy));
+ CCTK_REAL_VEC const p1o5040dz2 = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dz,dz));
+ CCTK_REAL_VEC const p1o560dx = kdiv(ToReal(0.00178571428571428571428571428571),dx);
+ CCTK_REAL_VEC const p1o560dy = kdiv(ToReal(0.00178571428571428571428571428571),dy);
+ CCTK_REAL_VEC const p1o560dz = kdiv(ToReal(0.00178571428571428571428571428571),dz);
+ CCTK_REAL_VEC const p1o60dx = kdiv(ToReal(0.0166666666666666666666666666667),dx);
+ CCTK_REAL_VEC const p1o60dy = kdiv(ToReal(0.0166666666666666666666666666667),dy);
+ CCTK_REAL_VEC const p1o60dz = kdiv(ToReal(0.0166666666666666666666666666667),dz);
+ CCTK_REAL_VEC const p1o64dx = kdiv(ToReal(0.015625),dx);
+ CCTK_REAL_VEC const p1o64dy = kdiv(ToReal(0.015625),dy);
+ CCTK_REAL_VEC const p1o64dz = kdiv(ToReal(0.015625),dz);
+ CCTK_REAL_VEC const p1o705600dxdy = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dy,dx));
+ CCTK_REAL_VEC const p1o705600dxdz = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dx));
+ CCTK_REAL_VEC const p1o705600dydz = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dy));
+ CCTK_REAL_VEC const p1o840dx = kdiv(ToReal(0.00119047619047619047619047619048),dx);
+ CCTK_REAL_VEC const p1o840dy = kdiv(ToReal(0.00119047619047619047619047619048),dy);
+ CCTK_REAL_VEC const p1o840dz = kdiv(ToReal(0.00119047619047619047619047619048),dz);
+ CCTK_REAL_VEC const p1odx = kdiv(ToReal(1),dx);
+ CCTK_REAL_VEC const p1odx2 = kdiv(ToReal(1),kmul(dx,dx));
+ CCTK_REAL_VEC const p1ody = kdiv(ToReal(1),dy);
+ CCTK_REAL_VEC const p1ody2 = kdiv(ToReal(1),kmul(dy,dy));
+ CCTK_REAL_VEC const p1odz = kdiv(ToReal(1),dz);
+ CCTK_REAL_VEC const p1odz2 = kdiv(ToReal(1),kmul(dz,dz));
+ CCTK_REAL_VEC const pm1o120dx = kdiv(ToReal(-0.00833333333333333333333333333333),dx);
+ CCTK_REAL_VEC const pm1o120dy = kdiv(ToReal(-0.00833333333333333333333333333333),dy);
+ CCTK_REAL_VEC const pm1o120dz = kdiv(ToReal(-0.00833333333333333333333333333333),dz);
+ CCTK_REAL_VEC const pm1o12dx2 = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dx,dx));
+ CCTK_REAL_VEC const pm1o12dy2 = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dy,dy));
+ CCTK_REAL_VEC const pm1o12dz2 = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dz,dz));
+ CCTK_REAL_VEC const pm1o2dx = kdiv(ToReal(-0.5),dx);
+ CCTK_REAL_VEC const pm1o2dy = kdiv(ToReal(-0.5),dy);
+ CCTK_REAL_VEC const pm1o2dz = kdiv(ToReal(-0.5),dz);
+ CCTK_REAL_VEC const pm1o4dx = kdiv(ToReal(-0.25),dx);
+ CCTK_REAL_VEC const pm1o4dy = kdiv(ToReal(-0.25),dy);
+ CCTK_REAL_VEC const pm1o4dz = kdiv(ToReal(-0.25),dz);
+ CCTK_REAL_VEC const pm1o60dx = kdiv(ToReal(-0.0166666666666666666666666666667),dx);
+ CCTK_REAL_VEC const pm1o60dy = kdiv(ToReal(-0.0166666666666666666666666666667),dy);
+ CCTK_REAL_VEC const pm1o60dz = kdiv(ToReal(-0.0166666666666666666666666666667),dz);
/* Jacobian variable pointers */
bool const use_jacobian = (!CCTK_IsFunctionAliased("MultiPatch_GetMap") || MultiPatch_GetMap(cctkGH) != jacobian_identity_map)
@@ -207,7 +211,7 @@ static void ML_CCZ4_convertToADMBaseDtLapseShiftBoundary_Body(cGH const * restri
#pragma omp parallel
LC_LOOP3VEC(ML_CCZ4_convertToADMBaseDtLapseShiftBoundary,
i,j,k, imin[0],imin[1],imin[2], imax[0],imax[1],imax[2],
- cctk_lsh[0],cctk_lsh[1],cctk_lsh[2],
+ cctk_ash[0],cctk_ash[1],cctk_ash[2],
CCTK_REAL_VEC_SIZE)
{
ptrdiff_t const index = di*i + dj*j + dk*k;
@@ -252,13 +256,14 @@ static void ML_CCZ4_convertToADMBaseDtLapseShiftBoundary_Body(cGH const * restri
/* Calculate temporaries and grid functions */
CCTK_REAL_VEC eta =
- kmul(INV(kfmax(rL,ToReal(SpatialBetaDriverRadius))),ToReal(SpatialBetaDriverRadius));
+ kdiv(ToReal(SpatialBetaDriverRadius),kfmax(rL,ToReal(SpatialBetaDriverRadius)));
CCTK_REAL_VEC theta =
- kfmin(ToReal(1),kexp(knmsub(rL,INV(ToReal(SpatialShiftGammaCoeffRadius)),ToReal(1))));
+ kfmin(ToReal(1),kexp(knmsub(rL,ToReal(ScalarINV(SpatialShiftGammaCoeffRadius)),ToReal(1))));
CCTK_REAL_VEC dtalpL =
- kneg(kmul(kpow(alphaL,harmonicN),kmul(ToReal(harmonicF),kmadd(AL,ToReal(LapseACoeff),kmul(kmsub(ThetaL,ToReal(2),trKL),kadd(ToReal(-1),ToReal(LapseACoeff)))))));
+ kneg(kmul(kpow(alphaL,harmonicN),kmul(ToReal(harmonicF),kmadd(AL,ToReal(LapseACoeff),kmul(kmsub(ThetaL,ToReal(2),trKL),ToReal(-1
+ + LapseACoeff))))));
CCTK_REAL_VEC dtbetaxL;
CCTK_REAL_VEC dtbetayL;
@@ -275,13 +280,16 @@ static void ML_CCZ4_convertToADMBaseDtLapseShiftBoundary_Body(cGH const * restri
else
{
dtbetaxL =
- kmul(theta,kmul(kadd(Xt1L,kmadd(ksub(B1L,Xt1L),ToReal(ShiftBCoeff),kmul(beta1L,kmul(eta,kmul(ToReal(BetaDriver),kadd(ToReal(-1),ToReal(ShiftBCoeff))))))),ToReal(ShiftGammaCoeff)));
+ kmul(theta,kmul(kadd(Xt1L,kmadd(ksub(B1L,Xt1L),ToReal(ShiftBCoeff),kmul(beta1L,kmul(eta,ToReal(BetaDriver*(-1
+ + ShiftBCoeff)))))),ToReal(ShiftGammaCoeff)));
dtbetayL =
- kmul(theta,kmul(kadd(Xt2L,kmadd(ksub(B2L,Xt2L),ToReal(ShiftBCoeff),kmul(beta2L,kmul(eta,kmul(ToReal(BetaDriver),kadd(ToReal(-1),ToReal(ShiftBCoeff))))))),ToReal(ShiftGammaCoeff)));
+ kmul(theta,kmul(kadd(Xt2L,kmadd(ksub(B2L,Xt2L),ToReal(ShiftBCoeff),kmul(beta2L,kmul(eta,ToReal(BetaDriver*(-1
+ + ShiftBCoeff)))))),ToReal(ShiftGammaCoeff)));
dtbetazL =
- kmul(theta,kmul(kadd(Xt3L,kmadd(ksub(B3L,Xt3L),ToReal(ShiftBCoeff),kmul(beta3L,kmul(eta,kmul(ToReal(BetaDriver),kadd(ToReal(-1),ToReal(ShiftBCoeff))))))),ToReal(ShiftGammaCoeff)));
+ kmul(theta,kmul(kadd(Xt3L,kmadd(ksub(B3L,Xt3L),ToReal(ShiftBCoeff),kmul(beta3L,kmul(eta,ToReal(BetaDriver*(-1
+ + ShiftBCoeff)))))),ToReal(ShiftGammaCoeff)));
}
/* Copy local copies back to grid functions */
diff --git a/ML_CCZ4/src/ML_CCZ4_convertToADMBaseFakeDtLapseShift.cc b/ML_CCZ4/src/ML_CCZ4_convertToADMBaseFakeDtLapseShift.cc
index 8cc59d0..252a1ec 100644
--- a/ML_CCZ4/src/ML_CCZ4_convertToADMBaseFakeDtLapseShift.cc
+++ b/ML_CCZ4/src/ML_CCZ4_convertToADMBaseFakeDtLapseShift.cc
@@ -18,10 +18,14 @@
/* Define macros used in calculations */
#define INITVALUE (42)
-#define QAD(x) (SQR(SQR(x)))
+#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)))
static void ML_CCZ4_convertToADMBaseFakeDtLapseShift_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[])
{
@@ -56,84 +60,84 @@ static void ML_CCZ4_convertToADMBaseFakeDtLapseShift_Body(cGH const * restrict c
CCTK_REAL_VEC const hdzi = kmul(ToReal(0.5), dzi);
/* Initialize predefined quantities */
- CCTK_REAL_VEC const p1o1024dx = kmul(INV(dx),ToReal(0.0009765625));
- CCTK_REAL_VEC const p1o1024dy = kmul(INV(dy),ToReal(0.0009765625));
- CCTK_REAL_VEC const p1o1024dz = kmul(INV(dz),ToReal(0.0009765625));
- CCTK_REAL_VEC const p1o120dx = kmul(INV(dx),ToReal(0.00833333333333333333333333333333));
- CCTK_REAL_VEC const p1o120dy = kmul(INV(dy),ToReal(0.00833333333333333333333333333333));
- CCTK_REAL_VEC const p1o120dz = kmul(INV(dz),ToReal(0.00833333333333333333333333333333));
- CCTK_REAL_VEC const p1o12dx = kmul(INV(dx),ToReal(0.0833333333333333333333333333333));
- CCTK_REAL_VEC const p1o12dy = kmul(INV(dy),ToReal(0.0833333333333333333333333333333));
- CCTK_REAL_VEC const p1o12dz = kmul(INV(dz),ToReal(0.0833333333333333333333333333333));
- CCTK_REAL_VEC const p1o144dxdy = kmul(INV(kmul(dx,dy)),ToReal(0.00694444444444444444444444444444));
- CCTK_REAL_VEC const p1o144dxdz = kmul(INV(kmul(dx,dz)),ToReal(0.00694444444444444444444444444444));
- CCTK_REAL_VEC const p1o144dydz = kmul(INV(kmul(dy,dz)),ToReal(0.00694444444444444444444444444444));
- CCTK_REAL_VEC const p1o1680dx = kmul(INV(dx),ToReal(0.000595238095238095238095238095238));
- CCTK_REAL_VEC const p1o1680dy = kmul(INV(dy),ToReal(0.000595238095238095238095238095238));
- CCTK_REAL_VEC const p1o1680dz = kmul(INV(dz),ToReal(0.000595238095238095238095238095238));
- CCTK_REAL_VEC const p1o16dx = kmul(INV(dx),ToReal(0.0625));
- CCTK_REAL_VEC const p1o16dy = kmul(INV(dy),ToReal(0.0625));
- CCTK_REAL_VEC const p1o16dz = kmul(INV(dz),ToReal(0.0625));
- CCTK_REAL_VEC const p1o180dx2 = kmul(INV(SQR(dx)),ToReal(0.00555555555555555555555555555556));
- CCTK_REAL_VEC const p1o180dy2 = kmul(INV(SQR(dy)),ToReal(0.00555555555555555555555555555556));
- CCTK_REAL_VEC const p1o180dz2 = kmul(INV(SQR(dz)),ToReal(0.00555555555555555555555555555556));
- CCTK_REAL_VEC const p1o24dx = kmul(INV(dx),ToReal(0.0416666666666666666666666666667));
- CCTK_REAL_VEC const p1o24dy = kmul(INV(dy),ToReal(0.0416666666666666666666666666667));
- CCTK_REAL_VEC const p1o24dz = kmul(INV(dz),ToReal(0.0416666666666666666666666666667));
- CCTK_REAL_VEC const p1o256dx = kmul(INV(dx),ToReal(0.00390625));
- CCTK_REAL_VEC const p1o256dy = kmul(INV(dy),ToReal(0.00390625));
- CCTK_REAL_VEC const p1o256dz = kmul(INV(dz),ToReal(0.00390625));
- CCTK_REAL_VEC const p1o2dx = kmul(INV(dx),ToReal(0.5));
- CCTK_REAL_VEC const p1o2dy = kmul(INV(dy),ToReal(0.5));
- CCTK_REAL_VEC const p1o2dz = kmul(INV(dz),ToReal(0.5));
- CCTK_REAL_VEC const p1o3600dxdy = kmul(INV(kmul(dx,dy)),ToReal(0.000277777777777777777777777777778));
- CCTK_REAL_VEC const p1o3600dxdz = kmul(INV(kmul(dx,dz)),ToReal(0.000277777777777777777777777777778));
- CCTK_REAL_VEC const p1o3600dydz = kmul(INV(kmul(dy,dz)),ToReal(0.000277777777777777777777777777778));
- CCTK_REAL_VEC const p1o4dx = kmul(INV(dx),ToReal(0.25));
- CCTK_REAL_VEC const p1o4dxdy = kmul(INV(kmul(dx,dy)),ToReal(0.25));
- CCTK_REAL_VEC const p1o4dxdz = kmul(INV(kmul(dx,dz)),ToReal(0.25));
- CCTK_REAL_VEC const p1o4dy = kmul(INV(dy),ToReal(0.25));
- CCTK_REAL_VEC const p1o4dydz = kmul(INV(kmul(dy,dz)),ToReal(0.25));
- CCTK_REAL_VEC const p1o4dz = kmul(INV(dz),ToReal(0.25));
- CCTK_REAL_VEC const p1o5040dx2 = kmul(INV(SQR(dx)),ToReal(0.000198412698412698412698412698413));
- CCTK_REAL_VEC const p1o5040dy2 = kmul(INV(SQR(dy)),ToReal(0.000198412698412698412698412698413));
- CCTK_REAL_VEC const p1o5040dz2 = kmul(INV(SQR(dz)),ToReal(0.000198412698412698412698412698413));
- CCTK_REAL_VEC const p1o560dx = kmul(INV(dx),ToReal(0.00178571428571428571428571428571));
- CCTK_REAL_VEC const p1o560dy = kmul(INV(dy),ToReal(0.00178571428571428571428571428571));
- CCTK_REAL_VEC const p1o560dz = kmul(INV(dz),ToReal(0.00178571428571428571428571428571));
- CCTK_REAL_VEC const p1o60dx = kmul(INV(dx),ToReal(0.0166666666666666666666666666667));
- CCTK_REAL_VEC const p1o60dy = kmul(INV(dy),ToReal(0.0166666666666666666666666666667));
- CCTK_REAL_VEC const p1o60dz = kmul(INV(dz),ToReal(0.0166666666666666666666666666667));
- CCTK_REAL_VEC const p1o64dx = kmul(INV(dx),ToReal(0.015625));
- CCTK_REAL_VEC const p1o64dy = kmul(INV(dy),ToReal(0.015625));
- CCTK_REAL_VEC const p1o64dz = kmul(INV(dz),ToReal(0.015625));
- CCTK_REAL_VEC const p1o705600dxdy = kmul(INV(kmul(dx,dy)),ToReal(1.41723356009070294784580498866e-6));
- CCTK_REAL_VEC const p1o705600dxdz = kmul(INV(kmul(dx,dz)),ToReal(1.41723356009070294784580498866e-6));
- CCTK_REAL_VEC const p1o705600dydz = kmul(INV(kmul(dy,dz)),ToReal(1.41723356009070294784580498866e-6));
- CCTK_REAL_VEC const p1o840dx = kmul(INV(dx),ToReal(0.00119047619047619047619047619048));
- CCTK_REAL_VEC const p1o840dy = kmul(INV(dy),ToReal(0.00119047619047619047619047619048));
- CCTK_REAL_VEC const p1o840dz = kmul(INV(dz),ToReal(0.00119047619047619047619047619048));
- CCTK_REAL_VEC const p1odx = INV(dx);
- CCTK_REAL_VEC const p1odx2 = INV(SQR(dx));
- CCTK_REAL_VEC const p1ody = INV(dy);
- CCTK_REAL_VEC const p1ody2 = INV(SQR(dy));
- CCTK_REAL_VEC const p1odz = INV(dz);
- CCTK_REAL_VEC const p1odz2 = INV(SQR(dz));
- CCTK_REAL_VEC const pm1o120dx = kmul(INV(dx),ToReal(-0.00833333333333333333333333333333));
- CCTK_REAL_VEC const pm1o120dy = kmul(INV(dy),ToReal(-0.00833333333333333333333333333333));
- CCTK_REAL_VEC const pm1o120dz = kmul(INV(dz),ToReal(-0.00833333333333333333333333333333));
- CCTK_REAL_VEC const pm1o12dx2 = kmul(INV(SQR(dx)),ToReal(-0.0833333333333333333333333333333));
- CCTK_REAL_VEC const pm1o12dy2 = kmul(INV(SQR(dy)),ToReal(-0.0833333333333333333333333333333));
- CCTK_REAL_VEC const pm1o12dz2 = kmul(INV(SQR(dz)),ToReal(-0.0833333333333333333333333333333));
- CCTK_REAL_VEC const pm1o2dx = kmul(INV(dx),ToReal(-0.5));
- CCTK_REAL_VEC const pm1o2dy = kmul(INV(dy),ToReal(-0.5));
- CCTK_REAL_VEC const pm1o2dz = kmul(INV(dz),ToReal(-0.5));
- CCTK_REAL_VEC const pm1o4dx = kmul(INV(dx),ToReal(-0.25));
- CCTK_REAL_VEC const pm1o4dy = kmul(INV(dy),ToReal(-0.25));
- CCTK_REAL_VEC const pm1o4dz = kmul(INV(dz),ToReal(-0.25));
- CCTK_REAL_VEC const pm1o60dx = kmul(INV(dx),ToReal(-0.0166666666666666666666666666667));
- CCTK_REAL_VEC const pm1o60dy = kmul(INV(dy),ToReal(-0.0166666666666666666666666666667));
- CCTK_REAL_VEC const pm1o60dz = kmul(INV(dz),ToReal(-0.0166666666666666666666666666667));
+ CCTK_REAL_VEC const p1o1024dx = kdiv(ToReal(0.0009765625),dx);
+ CCTK_REAL_VEC const p1o1024dy = kdiv(ToReal(0.0009765625),dy);
+ CCTK_REAL_VEC const p1o1024dz = kdiv(ToReal(0.0009765625),dz);
+ CCTK_REAL_VEC const p1o120dx = kdiv(ToReal(0.00833333333333333333333333333333),dx);
+ CCTK_REAL_VEC const p1o120dy = kdiv(ToReal(0.00833333333333333333333333333333),dy);
+ CCTK_REAL_VEC const p1o120dz = kdiv(ToReal(0.00833333333333333333333333333333),dz);
+ CCTK_REAL_VEC const p1o12dx = kdiv(ToReal(0.0833333333333333333333333333333),dx);
+ CCTK_REAL_VEC const p1o12dy = kdiv(ToReal(0.0833333333333333333333333333333),dy);
+ CCTK_REAL_VEC const p1o12dz = kdiv(ToReal(0.0833333333333333333333333333333),dz);
+ CCTK_REAL_VEC const p1o144dxdy = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dy,dx));
+ CCTK_REAL_VEC const p1o144dxdz = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dx));
+ CCTK_REAL_VEC const p1o144dydz = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dy));
+ CCTK_REAL_VEC const p1o1680dx = kdiv(ToReal(0.000595238095238095238095238095238),dx);
+ CCTK_REAL_VEC const p1o1680dy = kdiv(ToReal(0.000595238095238095238095238095238),dy);
+ CCTK_REAL_VEC const p1o1680dz = kdiv(ToReal(0.000595238095238095238095238095238),dz);
+ CCTK_REAL_VEC const p1o16dx = kdiv(ToReal(0.0625),dx);
+ CCTK_REAL_VEC const p1o16dy = kdiv(ToReal(0.0625),dy);
+ CCTK_REAL_VEC const p1o16dz = kdiv(ToReal(0.0625),dz);
+ CCTK_REAL_VEC const p1o180dx2 = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dx,dx));
+ CCTK_REAL_VEC const p1o180dy2 = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dy,dy));
+ CCTK_REAL_VEC const p1o180dz2 = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dz,dz));
+ CCTK_REAL_VEC const p1o24dx = kdiv(ToReal(0.0416666666666666666666666666667),dx);
+ CCTK_REAL_VEC const p1o24dy = kdiv(ToReal(0.0416666666666666666666666666667),dy);
+ CCTK_REAL_VEC const p1o24dz = kdiv(ToReal(0.0416666666666666666666666666667),dz);
+ CCTK_REAL_VEC const p1o256dx = kdiv(ToReal(0.00390625),dx);
+ CCTK_REAL_VEC const p1o256dy = kdiv(ToReal(0.00390625),dy);
+ CCTK_REAL_VEC const p1o256dz = kdiv(ToReal(0.00390625),dz);
+ CCTK_REAL_VEC const p1o2dx = kdiv(ToReal(0.5),dx);
+ CCTK_REAL_VEC const p1o2dy = kdiv(ToReal(0.5),dy);
+ CCTK_REAL_VEC const p1o2dz = kdiv(ToReal(0.5),dz);
+ CCTK_REAL_VEC const p1o3600dxdy = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dy,dx));
+ CCTK_REAL_VEC const p1o3600dxdz = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dx));
+ CCTK_REAL_VEC const p1o3600dydz = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dy));
+ CCTK_REAL_VEC const p1o4dx = kdiv(ToReal(0.25),dx);
+ CCTK_REAL_VEC const p1o4dxdy = kdiv(ToReal(0.25),kmul(dy,dx));
+ CCTK_REAL_VEC const p1o4dxdz = kdiv(ToReal(0.25),kmul(dz,dx));
+ CCTK_REAL_VEC const p1o4dy = kdiv(ToReal(0.25),dy);
+ CCTK_REAL_VEC const p1o4dydz = kdiv(ToReal(0.25),kmul(dz,dy));
+ CCTK_REAL_VEC const p1o4dz = kdiv(ToReal(0.25),dz);
+ CCTK_REAL_VEC const p1o5040dx2 = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dx,dx));
+ CCTK_REAL_VEC const p1o5040dy2 = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dy,dy));
+ CCTK_REAL_VEC const p1o5040dz2 = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dz,dz));
+ CCTK_REAL_VEC const p1o560dx = kdiv(ToReal(0.00178571428571428571428571428571),dx);
+ CCTK_REAL_VEC const p1o560dy = kdiv(ToReal(0.00178571428571428571428571428571),dy);
+ CCTK_REAL_VEC const p1o560dz = kdiv(ToReal(0.00178571428571428571428571428571),dz);
+ CCTK_REAL_VEC const p1o60dx = kdiv(ToReal(0.0166666666666666666666666666667),dx);
+ CCTK_REAL_VEC const p1o60dy = kdiv(ToReal(0.0166666666666666666666666666667),dy);
+ CCTK_REAL_VEC const p1o60dz = kdiv(ToReal(0.0166666666666666666666666666667),dz);
+ CCTK_REAL_VEC const p1o64dx = kdiv(ToReal(0.015625),dx);
+ CCTK_REAL_VEC const p1o64dy = kdiv(ToReal(0.015625),dy);
+ CCTK_REAL_VEC const p1o64dz = kdiv(ToReal(0.015625),dz);
+ CCTK_REAL_VEC const p1o705600dxdy = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dy,dx));
+ CCTK_REAL_VEC const p1o705600dxdz = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dx));
+ CCTK_REAL_VEC const p1o705600dydz = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dy));
+ CCTK_REAL_VEC const p1o840dx = kdiv(ToReal(0.00119047619047619047619047619048),dx);
+ CCTK_REAL_VEC const p1o840dy = kdiv(ToReal(0.00119047619047619047619047619048),dy);
+ CCTK_REAL_VEC const p1o840dz = kdiv(ToReal(0.00119047619047619047619047619048),dz);
+ CCTK_REAL_VEC const p1odx = kdiv(ToReal(1),dx);
+ CCTK_REAL_VEC const p1odx2 = kdiv(ToReal(1),kmul(dx,dx));
+ CCTK_REAL_VEC const p1ody = kdiv(ToReal(1),dy);
+ CCTK_REAL_VEC const p1ody2 = kdiv(ToReal(1),kmul(dy,dy));
+ CCTK_REAL_VEC const p1odz = kdiv(ToReal(1),dz);
+ CCTK_REAL_VEC const p1odz2 = kdiv(ToReal(1),kmul(dz,dz));
+ CCTK_REAL_VEC const pm1o120dx = kdiv(ToReal(-0.00833333333333333333333333333333),dx);
+ CCTK_REAL_VEC const pm1o120dy = kdiv(ToReal(-0.00833333333333333333333333333333),dy);
+ CCTK_REAL_VEC const pm1o120dz = kdiv(ToReal(-0.00833333333333333333333333333333),dz);
+ CCTK_REAL_VEC const pm1o12dx2 = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dx,dx));
+ CCTK_REAL_VEC const pm1o12dy2 = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dy,dy));
+ CCTK_REAL_VEC const pm1o12dz2 = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dz,dz));
+ CCTK_REAL_VEC const pm1o2dx = kdiv(ToReal(-0.5),dx);
+ CCTK_REAL_VEC const pm1o2dy = kdiv(ToReal(-0.5),dy);
+ CCTK_REAL_VEC const pm1o2dz = kdiv(ToReal(-0.5),dz);
+ CCTK_REAL_VEC const pm1o4dx = kdiv(ToReal(-0.25),dx);
+ CCTK_REAL_VEC const pm1o4dy = kdiv(ToReal(-0.25),dy);
+ CCTK_REAL_VEC const pm1o4dz = kdiv(ToReal(-0.25),dz);
+ CCTK_REAL_VEC const pm1o60dx = kdiv(ToReal(-0.0166666666666666666666666666667),dx);
+ CCTK_REAL_VEC const pm1o60dy = kdiv(ToReal(-0.0166666666666666666666666666667),dy);
+ CCTK_REAL_VEC const pm1o60dz = kdiv(ToReal(-0.0166666666666666666666666666667),dz);
/* Jacobian variable pointers */
bool const use_jacobian = (!CCTK_IsFunctionAliased("MultiPatch_GetMap") || MultiPatch_GetMap(cctkGH) != jacobian_identity_map)
@@ -192,7 +196,7 @@ static void ML_CCZ4_convertToADMBaseFakeDtLapseShift_Body(cGH const * restrict c
#pragma omp parallel
LC_LOOP3VEC(ML_CCZ4_convertToADMBaseFakeDtLapseShift,
i,j,k, imin[0],imin[1],imin[2], imax[0],imax[1],imax[2],
- cctk_lsh[0],cctk_lsh[1],cctk_lsh[2],
+ cctk_ash[0],cctk_ash[1],cctk_ash[2],
CCTK_REAL_VEC_SIZE)
{
ptrdiff_t const index = di*i + dj*j + dk*k;
@@ -237,13 +241,14 @@ static void ML_CCZ4_convertToADMBaseFakeDtLapseShift_Body(cGH const * restrict c
/* Calculate temporaries and grid functions */
CCTK_REAL_VEC eta =
- kmul(INV(kfmax(rL,ToReal(SpatialBetaDriverRadius))),ToReal(SpatialBetaDriverRadius));
+ kdiv(ToReal(SpatialBetaDriverRadius),kfmax(rL,ToReal(SpatialBetaDriverRadius)));
CCTK_REAL_VEC theta =
- kfmin(ToReal(1),kexp(knmsub(rL,INV(ToReal(SpatialShiftGammaCoeffRadius)),ToReal(1))));
+ kfmin(ToReal(1),kexp(knmsub(rL,ToReal(ScalarINV(SpatialShiftGammaCoeffRadius)),ToReal(1))));
CCTK_REAL_VEC dtalpL =
- kneg(kmul(kpow(alphaL,harmonicN),kmul(ToReal(harmonicF),kmadd(AL,ToReal(LapseACoeff),kmul(kmsub(ThetaL,ToReal(2),trKL),kadd(ToReal(-1),ToReal(LapseACoeff)))))));
+ kneg(kmul(kpow(alphaL,harmonicN),kmul(ToReal(harmonicF),kmadd(AL,ToReal(LapseACoeff),kmul(kmsub(ThetaL,ToReal(2),trKL),ToReal(-1
+ + LapseACoeff))))));
CCTK_REAL_VEC dtbetaxL;
CCTK_REAL_VEC dtbetayL;
@@ -260,13 +265,16 @@ static void ML_CCZ4_convertToADMBaseFakeDtLapseShift_Body(cGH const * restrict c
else
{
dtbetaxL =
- kmul(theta,kmul(kadd(Xt1L,kmadd(ksub(B1L,Xt1L),ToReal(ShiftBCoeff),kmul(beta1L,kmul(eta,kmul(ToReal(BetaDriver),kadd(ToReal(-1),ToReal(ShiftBCoeff))))))),ToReal(ShiftGammaCoeff)));
+ kmul(theta,kmul(kadd(Xt1L,kmadd(ksub(B1L,Xt1L),ToReal(ShiftBCoeff),kmul(beta1L,kmul(eta,ToReal(BetaDriver*(-1
+ + ShiftBCoeff)))))),ToReal(ShiftGammaCoeff)));
dtbetayL =
- kmul(theta,kmul(kadd(Xt2L,kmadd(ksub(B2L,Xt2L),ToReal(ShiftBCoeff),kmul(beta2L,kmul(eta,kmul(ToReal(BetaDriver),kadd(ToReal(-1),ToReal(ShiftBCoeff))))))),ToReal(ShiftGammaCoeff)));
+ kmul(theta,kmul(kadd(Xt2L,kmadd(ksub(B2L,Xt2L),ToReal(ShiftBCoeff),kmul(beta2L,kmul(eta,ToReal(BetaDriver*(-1
+ + ShiftBCoeff)))))),ToReal(ShiftGammaCoeff)));
dtbetazL =
- kmul(theta,kmul(kadd(Xt3L,kmadd(ksub(B3L,Xt3L),ToReal(ShiftBCoeff),kmul(beta3L,kmul(eta,kmul(ToReal(BetaDriver),kadd(ToReal(-1),ToReal(ShiftBCoeff))))))),ToReal(ShiftGammaCoeff)));
+ kmul(theta,kmul(kadd(Xt3L,kmadd(ksub(B3L,Xt3L),ToReal(ShiftBCoeff),kmul(beta3L,kmul(eta,ToReal(BetaDriver*(-1
+ + ShiftBCoeff)))))),ToReal(ShiftGammaCoeff)));
}
/* Copy local copies back to grid functions */
diff --git a/ML_CCZ4/src/ML_CCZ4_enforce.cc b/ML_CCZ4/src/ML_CCZ4_enforce.cc
index 15f88d2..ff8141b 100644
--- a/ML_CCZ4/src/ML_CCZ4_enforce.cc
+++ b/ML_CCZ4/src/ML_CCZ4_enforce.cc
@@ -18,10 +18,14 @@
/* Define macros used in calculations */
#define INITVALUE (42)
-#define QAD(x) (SQR(SQR(x)))
+#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)))
static void ML_CCZ4_enforce_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[])
{
@@ -56,84 +60,84 @@ static void ML_CCZ4_enforce_Body(cGH const * restrict const cctkGH, int const di
CCTK_REAL_VEC const hdzi = kmul(ToReal(0.5), dzi);
/* Initialize predefined quantities */
- CCTK_REAL_VEC const p1o1024dx = kmul(INV(dx),ToReal(0.0009765625));
- CCTK_REAL_VEC const p1o1024dy = kmul(INV(dy),ToReal(0.0009765625));
- CCTK_REAL_VEC const p1o1024dz = kmul(INV(dz),ToReal(0.0009765625));
- CCTK_REAL_VEC const p1o120dx = kmul(INV(dx),ToReal(0.00833333333333333333333333333333));
- CCTK_REAL_VEC const p1o120dy = kmul(INV(dy),ToReal(0.00833333333333333333333333333333));
- CCTK_REAL_VEC const p1o120dz = kmul(INV(dz),ToReal(0.00833333333333333333333333333333));
- CCTK_REAL_VEC const p1o12dx = kmul(INV(dx),ToReal(0.0833333333333333333333333333333));
- CCTK_REAL_VEC const p1o12dy = kmul(INV(dy),ToReal(0.0833333333333333333333333333333));
- CCTK_REAL_VEC const p1o12dz = kmul(INV(dz),ToReal(0.0833333333333333333333333333333));
- CCTK_REAL_VEC const p1o144dxdy = kmul(INV(kmul(dx,dy)),ToReal(0.00694444444444444444444444444444));
- CCTK_REAL_VEC const p1o144dxdz = kmul(INV(kmul(dx,dz)),ToReal(0.00694444444444444444444444444444));
- CCTK_REAL_VEC const p1o144dydz = kmul(INV(kmul(dy,dz)),ToReal(0.00694444444444444444444444444444));
- CCTK_REAL_VEC const p1o1680dx = kmul(INV(dx),ToReal(0.000595238095238095238095238095238));
- CCTK_REAL_VEC const p1o1680dy = kmul(INV(dy),ToReal(0.000595238095238095238095238095238));
- CCTK_REAL_VEC const p1o1680dz = kmul(INV(dz),ToReal(0.000595238095238095238095238095238));
- CCTK_REAL_VEC const p1o16dx = kmul(INV(dx),ToReal(0.0625));
- CCTK_REAL_VEC const p1o16dy = kmul(INV(dy),ToReal(0.0625));
- CCTK_REAL_VEC const p1o16dz = kmul(INV(dz),ToReal(0.0625));
- CCTK_REAL_VEC const p1o180dx2 = kmul(INV(SQR(dx)),ToReal(0.00555555555555555555555555555556));
- CCTK_REAL_VEC const p1o180dy2 = kmul(INV(SQR(dy)),ToReal(0.00555555555555555555555555555556));
- CCTK_REAL_VEC const p1o180dz2 = kmul(INV(SQR(dz)),ToReal(0.00555555555555555555555555555556));
- CCTK_REAL_VEC const p1o24dx = kmul(INV(dx),ToReal(0.0416666666666666666666666666667));
- CCTK_REAL_VEC const p1o24dy = kmul(INV(dy),ToReal(0.0416666666666666666666666666667));
- CCTK_REAL_VEC const p1o24dz = kmul(INV(dz),ToReal(0.0416666666666666666666666666667));
- CCTK_REAL_VEC const p1o256dx = kmul(INV(dx),ToReal(0.00390625));
- CCTK_REAL_VEC const p1o256dy = kmul(INV(dy),ToReal(0.00390625));
- CCTK_REAL_VEC const p1o256dz = kmul(INV(dz),ToReal(0.00390625));
- CCTK_REAL_VEC const p1o2dx = kmul(INV(dx),ToReal(0.5));
- CCTK_REAL_VEC const p1o2dy = kmul(INV(dy),ToReal(0.5));
- CCTK_REAL_VEC const p1o2dz = kmul(INV(dz),ToReal(0.5));
- CCTK_REAL_VEC const p1o3600dxdy = kmul(INV(kmul(dx,dy)),ToReal(0.000277777777777777777777777777778));
- CCTK_REAL_VEC const p1o3600dxdz = kmul(INV(kmul(dx,dz)),ToReal(0.000277777777777777777777777777778));
- CCTK_REAL_VEC const p1o3600dydz = kmul(INV(kmul(dy,dz)),ToReal(0.000277777777777777777777777777778));
- CCTK_REAL_VEC const p1o4dx = kmul(INV(dx),ToReal(0.25));
- CCTK_REAL_VEC const p1o4dxdy = kmul(INV(kmul(dx,dy)),ToReal(0.25));
- CCTK_REAL_VEC const p1o4dxdz = kmul(INV(kmul(dx,dz)),ToReal(0.25));
- CCTK_REAL_VEC const p1o4dy = kmul(INV(dy),ToReal(0.25));
- CCTK_REAL_VEC const p1o4dydz = kmul(INV(kmul(dy,dz)),ToReal(0.25));
- CCTK_REAL_VEC const p1o4dz = kmul(INV(dz),ToReal(0.25));
- CCTK_REAL_VEC const p1o5040dx2 = kmul(INV(SQR(dx)),ToReal(0.000198412698412698412698412698413));
- CCTK_REAL_VEC const p1o5040dy2 = kmul(INV(SQR(dy)),ToReal(0.000198412698412698412698412698413));
- CCTK_REAL_VEC const p1o5040dz2 = kmul(INV(SQR(dz)),ToReal(0.000198412698412698412698412698413));
- CCTK_REAL_VEC const p1o560dx = kmul(INV(dx),ToReal(0.00178571428571428571428571428571));
- CCTK_REAL_VEC const p1o560dy = kmul(INV(dy),ToReal(0.00178571428571428571428571428571));
- CCTK_REAL_VEC const p1o560dz = kmul(INV(dz),ToReal(0.00178571428571428571428571428571));
- CCTK_REAL_VEC const p1o60dx = kmul(INV(dx),ToReal(0.0166666666666666666666666666667));
- CCTK_REAL_VEC const p1o60dy = kmul(INV(dy),ToReal(0.0166666666666666666666666666667));
- CCTK_REAL_VEC const p1o60dz = kmul(INV(dz),ToReal(0.0166666666666666666666666666667));
- CCTK_REAL_VEC const p1o64dx = kmul(INV(dx),ToReal(0.015625));
- CCTK_REAL_VEC const p1o64dy = kmul(INV(dy),ToReal(0.015625));
- CCTK_REAL_VEC const p1o64dz = kmul(INV(dz),ToReal(0.015625));
- CCTK_REAL_VEC const p1o705600dxdy = kmul(INV(kmul(dx,dy)),ToReal(1.41723356009070294784580498866e-6));
- CCTK_REAL_VEC const p1o705600dxdz = kmul(INV(kmul(dx,dz)),ToReal(1.41723356009070294784580498866e-6));
- CCTK_REAL_VEC const p1o705600dydz = kmul(INV(kmul(dy,dz)),ToReal(1.41723356009070294784580498866e-6));
- CCTK_REAL_VEC const p1o840dx = kmul(INV(dx),ToReal(0.00119047619047619047619047619048));
- CCTK_REAL_VEC const p1o840dy = kmul(INV(dy),ToReal(0.00119047619047619047619047619048));
- CCTK_REAL_VEC const p1o840dz = kmul(INV(dz),ToReal(0.00119047619047619047619047619048));
- CCTK_REAL_VEC const p1odx = INV(dx);
- CCTK_REAL_VEC const p1odx2 = INV(SQR(dx));
- CCTK_REAL_VEC const p1ody = INV(dy);
- CCTK_REAL_VEC const p1ody2 = INV(SQR(dy));
- CCTK_REAL_VEC const p1odz = INV(dz);
- CCTK_REAL_VEC const p1odz2 = INV(SQR(dz));
- CCTK_REAL_VEC const pm1o120dx = kmul(INV(dx),ToReal(-0.00833333333333333333333333333333));
- CCTK_REAL_VEC const pm1o120dy = kmul(INV(dy),ToReal(-0.00833333333333333333333333333333));
- CCTK_REAL_VEC const pm1o120dz = kmul(INV(dz),ToReal(-0.00833333333333333333333333333333));
- CCTK_REAL_VEC const pm1o12dx2 = kmul(INV(SQR(dx)),ToReal(-0.0833333333333333333333333333333));
- CCTK_REAL_VEC const pm1o12dy2 = kmul(INV(SQR(dy)),ToReal(-0.0833333333333333333333333333333));
- CCTK_REAL_VEC const pm1o12dz2 = kmul(INV(SQR(dz)),ToReal(-0.0833333333333333333333333333333));
- CCTK_REAL_VEC const pm1o2dx = kmul(INV(dx),ToReal(-0.5));
- CCTK_REAL_VEC const pm1o2dy = kmul(INV(dy),ToReal(-0.5));
- CCTK_REAL_VEC const pm1o2dz = kmul(INV(dz),ToReal(-0.5));
- CCTK_REAL_VEC const pm1o4dx = kmul(INV(dx),ToReal(-0.25));
- CCTK_REAL_VEC const pm1o4dy = kmul(INV(dy),ToReal(-0.25));
- CCTK_REAL_VEC const pm1o4dz = kmul(INV(dz),ToReal(-0.25));
- CCTK_REAL_VEC const pm1o60dx = kmul(INV(dx),ToReal(-0.0166666666666666666666666666667));
- CCTK_REAL_VEC const pm1o60dy = kmul(INV(dy),ToReal(-0.0166666666666666666666666666667));
- CCTK_REAL_VEC const pm1o60dz = kmul(INV(dz),ToReal(-0.0166666666666666666666666666667));
+ CCTK_REAL_VEC const p1o1024dx = kdiv(ToReal(0.0009765625),dx);
+ CCTK_REAL_VEC const p1o1024dy = kdiv(ToReal(0.0009765625),dy);
+ CCTK_REAL_VEC const p1o1024dz = kdiv(ToReal(0.0009765625),dz);
+ CCTK_REAL_VEC const p1o120dx = kdiv(ToReal(0.00833333333333333333333333333333),dx);
+ CCTK_REAL_VEC const p1o120dy = kdiv(ToReal(0.00833333333333333333333333333333),dy);
+ CCTK_REAL_VEC const p1o120dz = kdiv(ToReal(0.00833333333333333333333333333333),dz);
+ CCTK_REAL_VEC const p1o12dx = kdiv(ToReal(0.0833333333333333333333333333333),dx);
+ CCTK_REAL_VEC const p1o12dy = kdiv(ToReal(0.0833333333333333333333333333333),dy);
+ CCTK_REAL_VEC const p1o12dz = kdiv(ToReal(0.0833333333333333333333333333333),dz);
+ CCTK_REAL_VEC const p1o144dxdy = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dy,dx));
+ CCTK_REAL_VEC const p1o144dxdz = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dx));
+ CCTK_REAL_VEC const p1o144dydz = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dy));
+ CCTK_REAL_VEC const p1o1680dx = kdiv(ToReal(0.000595238095238095238095238095238),dx);
+ CCTK_REAL_VEC const p1o1680dy = kdiv(ToReal(0.000595238095238095238095238095238),dy);
+ CCTK_REAL_VEC const p1o1680dz = kdiv(ToReal(0.000595238095238095238095238095238),dz);
+ CCTK_REAL_VEC const p1o16dx = kdiv(ToReal(0.0625),dx);
+ CCTK_REAL_VEC const p1o16dy = kdiv(ToReal(0.0625),dy);
+ CCTK_REAL_VEC const p1o16dz = kdiv(ToReal(0.0625),dz);
+ CCTK_REAL_VEC const p1o180dx2 = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dx,dx));
+ CCTK_REAL_VEC const p1o180dy2 = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dy,dy));
+ CCTK_REAL_VEC const p1o180dz2 = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dz,dz));
+ CCTK_REAL_VEC const p1o24dx = kdiv(ToReal(0.0416666666666666666666666666667),dx);
+ CCTK_REAL_VEC const p1o24dy = kdiv(ToReal(0.0416666666666666666666666666667),dy);
+ CCTK_REAL_VEC const p1o24dz = kdiv(ToReal(0.0416666666666666666666666666667),dz);
+ CCTK_REAL_VEC const p1o256dx = kdiv(ToReal(0.00390625),dx);
+ CCTK_REAL_VEC const p1o256dy = kdiv(ToReal(0.00390625),dy);
+ CCTK_REAL_VEC const p1o256dz = kdiv(ToReal(0.00390625),dz);
+ CCTK_REAL_VEC const p1o2dx = kdiv(ToReal(0.5),dx);
+ CCTK_REAL_VEC const p1o2dy = kdiv(ToReal(0.5),dy);
+ CCTK_REAL_VEC const p1o2dz = kdiv(ToReal(0.5),dz);
+ CCTK_REAL_VEC const p1o3600dxdy = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dy,dx));
+ CCTK_REAL_VEC const p1o3600dxdz = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dx));
+ CCTK_REAL_VEC const p1o3600dydz = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dy));
+ CCTK_REAL_VEC const p1o4dx = kdiv(ToReal(0.25),dx);
+ CCTK_REAL_VEC const p1o4dxdy = kdiv(ToReal(0.25),kmul(dy,dx));
+ CCTK_REAL_VEC const p1o4dxdz = kdiv(ToReal(0.25),kmul(dz,dx));
+ CCTK_REAL_VEC const p1o4dy = kdiv(ToReal(0.25),dy);
+ CCTK_REAL_VEC const p1o4dydz = kdiv(ToReal(0.25),kmul(dz,dy));
+ CCTK_REAL_VEC const p1o4dz = kdiv(ToReal(0.25),dz);
+ CCTK_REAL_VEC const p1o5040dx2 = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dx,dx));
+ CCTK_REAL_VEC const p1o5040dy2 = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dy,dy));
+ CCTK_REAL_VEC const p1o5040dz2 = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dz,dz));
+ CCTK_REAL_VEC const p1o560dx = kdiv(ToReal(0.00178571428571428571428571428571),dx);
+ CCTK_REAL_VEC const p1o560dy = kdiv(ToReal(0.00178571428571428571428571428571),dy);
+ CCTK_REAL_VEC const p1o560dz = kdiv(ToReal(0.00178571428571428571428571428571),dz);
+ CCTK_REAL_VEC const p1o60dx = kdiv(ToReal(0.0166666666666666666666666666667),dx);
+ CCTK_REAL_VEC const p1o60dy = kdiv(ToReal(0.0166666666666666666666666666667),dy);
+ CCTK_REAL_VEC const p1o60dz = kdiv(ToReal(0.0166666666666666666666666666667),dz);
+ CCTK_REAL_VEC const p1o64dx = kdiv(ToReal(0.015625),dx);
+ CCTK_REAL_VEC const p1o64dy = kdiv(ToReal(0.015625),dy);
+ CCTK_REAL_VEC const p1o64dz = kdiv(ToReal(0.015625),dz);
+ CCTK_REAL_VEC const p1o705600dxdy = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dy,dx));
+ CCTK_REAL_VEC const p1o705600dxdz = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dx));
+ CCTK_REAL_VEC const p1o705600dydz = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dy));
+ CCTK_REAL_VEC const p1o840dx = kdiv(ToReal(0.00119047619047619047619047619048),dx);
+ CCTK_REAL_VEC const p1o840dy = kdiv(ToReal(0.00119047619047619047619047619048),dy);
+ CCTK_REAL_VEC const p1o840dz = kdiv(ToReal(0.00119047619047619047619047619048),dz);
+ CCTK_REAL_VEC const p1odx = kdiv(ToReal(1),dx);
+ CCTK_REAL_VEC const p1odx2 = kdiv(ToReal(1),kmul(dx,dx));
+ CCTK_REAL_VEC const p1ody = kdiv(ToReal(1),dy);
+ CCTK_REAL_VEC const p1ody2 = kdiv(ToReal(1),kmul(dy,dy));
+ CCTK_REAL_VEC const p1odz = kdiv(ToReal(1),dz);
+ CCTK_REAL_VEC const p1odz2 = kdiv(ToReal(1),kmul(dz,dz));
+ CCTK_REAL_VEC const pm1o120dx = kdiv(ToReal(-0.00833333333333333333333333333333),dx);
+ CCTK_REAL_VEC const pm1o120dy = kdiv(ToReal(-0.00833333333333333333333333333333),dy);
+ CCTK_REAL_VEC const pm1o120dz = kdiv(ToReal(-0.00833333333333333333333333333333),dz);
+ CCTK_REAL_VEC const pm1o12dx2 = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dx,dx));
+ CCTK_REAL_VEC const pm1o12dy2 = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dy,dy));
+ CCTK_REAL_VEC const pm1o12dz2 = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dz,dz));
+ CCTK_REAL_VEC const pm1o2dx = kdiv(ToReal(-0.5),dx);
+ CCTK_REAL_VEC const pm1o2dy = kdiv(ToReal(-0.5),dy);
+ CCTK_REAL_VEC const pm1o2dz = kdiv(ToReal(-0.5),dz);
+ CCTK_REAL_VEC const pm1o4dx = kdiv(ToReal(-0.25),dx);
+ CCTK_REAL_VEC const pm1o4dy = kdiv(ToReal(-0.25),dy);
+ CCTK_REAL_VEC const pm1o4dz = kdiv(ToReal(-0.25),dz);
+ CCTK_REAL_VEC const pm1o60dx = kdiv(ToReal(-0.0166666666666666666666666666667),dx);
+ CCTK_REAL_VEC const pm1o60dy = kdiv(ToReal(-0.0166666666666666666666666666667),dy);
+ CCTK_REAL_VEC const pm1o60dz = kdiv(ToReal(-0.0166666666666666666666666666667),dz);
/* Jacobian variable pointers */
bool const use_jacobian = (!CCTK_IsFunctionAliased("MultiPatch_GetMap") || MultiPatch_GetMap(cctkGH) != jacobian_identity_map)
@@ -192,7 +196,7 @@ static void ML_CCZ4_enforce_Body(cGH const * restrict const cctkGH, int const di
#pragma omp parallel
LC_LOOP3VEC(ML_CCZ4_enforce,
i,j,k, imin[0],imin[1],imin[2], imax[0],imax[1],imax[2],
- cctk_lsh[0],cctk_lsh[1],cctk_lsh[2],
+ cctk_ash[0],cctk_ash[1],cctk_ash[2],
CCTK_REAL_VEC_SIZE)
{
ptrdiff_t const index = di*i + dj*j + dk*k;
@@ -238,22 +242,22 @@ static void ML_CCZ4_enforce_Body(cGH const * restrict const cctkGH, int const di
CCTK_REAL_VEC detgt = ToReal(1);
CCTK_REAL_VEC gtu11 =
- kmul(INV(detgt),kmsub(gt22L,gt33L,SQR(gt23L)));
+ kdiv(kmsub(gt22L,gt33L,kmul(gt23L,gt23L)),detgt);
CCTK_REAL_VEC gtu12 =
- kmul(INV(detgt),kmsub(gt13L,gt23L,kmul(gt12L,gt33L)));
+ kdiv(kmsub(gt13L,gt23L,kmul(gt12L,gt33L)),detgt);
CCTK_REAL_VEC gtu13 =
- kmul(INV(detgt),kmsub(gt12L,gt23L,kmul(gt13L,gt22L)));
+ kdiv(kmsub(gt12L,gt23L,kmul(gt13L,gt22L)),detgt);
CCTK_REAL_VEC gtu22 =
- kmul(INV(detgt),kmsub(gt11L,gt33L,SQR(gt13L)));
+ kdiv(kmsub(gt11L,gt33L,kmul(gt13L,gt13L)),detgt);
CCTK_REAL_VEC gtu23 =
- kmul(INV(detgt),kmsub(gt12L,gt13L,kmul(gt11L,gt23L)));
+ kdiv(kmsub(gt12L,gt13L,kmul(gt11L,gt23L)),detgt);
CCTK_REAL_VEC gtu33 =
- kmul(INV(detgt),kmsub(gt11L,gt22L,SQR(gt12L)));
+ kdiv(kmsub(gt11L,gt22L,kmul(gt12L,gt12L)),detgt);
CCTK_REAL_VEC trAt =
kmadd(At11L,gtu11,kmadd(At22L,gtu22,kmadd(At33L,gtu33,kmul(kmadd(At12L,gtu12,kmadd(At13L,gtu13,kmul(At23L,gtu23))),ToReal(2)))));