aboutsummaryrefslogtreecommitdiff
path: root/ML_BSSN/src/ML_BSSN_constraints2.cc
diff options
context:
space:
mode:
Diffstat (limited to 'ML_BSSN/src/ML_BSSN_constraints2.cc')
-rw-r--r--ML_BSSN/src/ML_BSSN_constraints2.cc551
1 files changed, 301 insertions, 250 deletions
diff --git a/ML_BSSN/src/ML_BSSN_constraints2.cc b/ML_BSSN/src/ML_BSSN_constraints2.cc
index 6493a04..f33cab2 100644
--- a/ML_BSSN/src/ML_BSSN_constraints2.cc
+++ b/ML_BSSN/src/ML_BSSN_constraints2.cc
@@ -32,7 +32,9 @@ extern "C" void ML_BSSN_constraints2_SelectBCs(CCTK_ARGUMENTS)
DECLARE_CCTK_ARGUMENTS;
DECLARE_CCTK_PARAMETERS;
- CCTK_INT ierr CCTK_ATTRIBUTE_UNUSED = 0;
+ if (cctk_iteration % ML_BSSN_constraints2_calc_every != ML_BSSN_constraints2_calc_offset)
+ return;
+ CCTK_INT ierr CCTK_ATTRIBUTE_UNUSED = 0;
ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_BSSN::ML_cons_detg","flat");
if (ierr < 0)
CCTK_WARN(1, "Failed to register flat BC for ML_BSSN::ML_cons_detg.");
@@ -48,7 +50,7 @@ extern "C" void ML_BSSN_constraints2_SelectBCs(CCTK_ARGUMENTS)
return;
}
-static void ML_BSSN_constraints2_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[])
+static void ML_BSSN_constraints2_Body(const cGH* restrict const cctkGH, const int dir, const int face, const CCTK_REAL normal[3], const CCTK_REAL tangentA[3], const CCTK_REAL tangentB[3], const int imin[3], const int imax[3], const int n_subblock_gfs, CCTK_REAL* restrict const subblock_gfs[])
{
DECLARE_CCTK_ARGUMENTS;
DECLARE_CCTK_PARAMETERS;
@@ -57,153 +59,175 @@ static void ML_BSSN_constraints2_Body(cGH const * restrict const cctkGH, int con
/* Include user-supplied include files */
/* Initialise finite differencing variables */
- ptrdiff_t /*const*/ di CCTK_ATTRIBUTE_UNUSED = 1;
- ptrdiff_t /*const*/ dj CCTK_ATTRIBUTE_UNUSED = CCTK_GFINDEX3D(cctkGH,0,1,0) - CCTK_GFINDEX3D(cctkGH,0,0,0);
- ptrdiff_t /*const*/ dk CCTK_ATTRIBUTE_UNUSED = CCTK_GFINDEX3D(cctkGH,0,0,1) - CCTK_GFINDEX3D(cctkGH,0,0,0);
- ptrdiff_t /*const*/ cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * di;
- ptrdiff_t /*const*/ cdj CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * dj;
- ptrdiff_t /*const*/ cdk CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * dk;
- CCTK_REAL_VEC /*const*/ dx CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(0));
- CCTK_REAL_VEC /*const*/ dy CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(1));
- CCTK_REAL_VEC /*const*/ dz CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(2));
- CCTK_REAL_VEC /*const*/ dt CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_TIME);
- CCTK_REAL_VEC /*const*/ t CCTK_ATTRIBUTE_UNUSED = ToReal(cctk_time);
- CCTK_REAL_VEC /*const*/ dxi CCTK_ATTRIBUTE_UNUSED = INV(dx);
- CCTK_REAL_VEC /*const*/ dyi CCTK_ATTRIBUTE_UNUSED = INV(dy);
- CCTK_REAL_VEC /*const*/ dzi CCTK_ATTRIBUTE_UNUSED = INV(dz);
- CCTK_REAL_VEC /*const*/ khalf CCTK_ATTRIBUTE_UNUSED = ToReal(0.5);
- CCTK_REAL_VEC /*const*/ kthird CCTK_ATTRIBUTE_UNUSED = ToReal(1.0/3.0);
- CCTK_REAL_VEC /*const*/ ktwothird CCTK_ATTRIBUTE_UNUSED = ToReal(2.0/3.0);
- CCTK_REAL_VEC /*const*/ kfourthird CCTK_ATTRIBUTE_UNUSED = ToReal(4.0/3.0);
- CCTK_REAL_VEC /*const*/ keightthird CCTK_ATTRIBUTE_UNUSED = ToReal(8.0/3.0);
- CCTK_REAL_VEC /*const*/ hdxi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dxi);
- CCTK_REAL_VEC /*const*/ hdyi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dyi);
- CCTK_REAL_VEC /*const*/ hdzi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dzi);
+ const ptrdiff_t di CCTK_ATTRIBUTE_UNUSED = 1;
+ const ptrdiff_t dj CCTK_ATTRIBUTE_UNUSED = CCTK_GFINDEX3D(cctkGH,0,1,0) - CCTK_GFINDEX3D(cctkGH,0,0,0);
+ const ptrdiff_t dk CCTK_ATTRIBUTE_UNUSED = CCTK_GFINDEX3D(cctkGH,0,0,1) - CCTK_GFINDEX3D(cctkGH,0,0,0);
+ const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * di;
+ const ptrdiff_t cdj CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * dj;
+ const ptrdiff_t cdk CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * dk;
+ const CCTK_REAL_VEC dx CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(0));
+ const CCTK_REAL_VEC dy CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(1));
+ const CCTK_REAL_VEC dz CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(2));
+ const CCTK_REAL_VEC dt CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_TIME);
+ const CCTK_REAL_VEC t CCTK_ATTRIBUTE_UNUSED = ToReal(cctk_time);
+ const CCTK_REAL_VEC dxi CCTK_ATTRIBUTE_UNUSED = INV(dx);
+ const CCTK_REAL_VEC dyi CCTK_ATTRIBUTE_UNUSED = INV(dy);
+ const CCTK_REAL_VEC dzi CCTK_ATTRIBUTE_UNUSED = INV(dz);
+ const CCTK_REAL_VEC khalf CCTK_ATTRIBUTE_UNUSED = ToReal(0.5);
+ const CCTK_REAL_VEC kthird CCTK_ATTRIBUTE_UNUSED = ToReal(1.0/3.0);
+ const CCTK_REAL_VEC ktwothird CCTK_ATTRIBUTE_UNUSED = ToReal(2.0/3.0);
+ const CCTK_REAL_VEC kfourthird CCTK_ATTRIBUTE_UNUSED = ToReal(4.0/3.0);
+ const CCTK_REAL_VEC keightthird CCTK_ATTRIBUTE_UNUSED = ToReal(8.0/3.0);
+ const CCTK_REAL_VEC hdxi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dxi);
+ const CCTK_REAL_VEC hdyi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dyi);
+ const CCTK_REAL_VEC hdzi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dzi);
/* Initialize predefined quantities */
- CCTK_REAL_VEC /*const*/ p1o1024dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dx);
- CCTK_REAL_VEC /*const*/ p1o1024dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dy);
- CCTK_REAL_VEC /*const*/ p1o1024dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dz);
- CCTK_REAL_VEC /*const*/ p1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dx);
- CCTK_REAL_VEC /*const*/ p1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dy);
- CCTK_REAL_VEC /*const*/ p1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dz);
- CCTK_REAL_VEC /*const*/ p1o12dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dx);
- CCTK_REAL_VEC /*const*/ p1o12dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dy);
- CCTK_REAL_VEC /*const*/ p1o12dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dz);
- CCTK_REAL_VEC /*const*/ p1o144dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dy,dx));
- CCTK_REAL_VEC /*const*/ p1o144dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dx));
- CCTK_REAL_VEC /*const*/ p1o144dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dy));
- CCTK_REAL_VEC /*const*/ p1o1680dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dx);
- CCTK_REAL_VEC /*const*/ p1o1680dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dy);
- CCTK_REAL_VEC /*const*/ p1o1680dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dz);
- CCTK_REAL_VEC /*const*/ p1o180dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dx,dx));
- CCTK_REAL_VEC /*const*/ p1o180dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dy,dy));
- CCTK_REAL_VEC /*const*/ p1o180dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dz,dz));
- CCTK_REAL_VEC /*const*/ p1o24dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dx);
- CCTK_REAL_VEC /*const*/ p1o24dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dy);
- CCTK_REAL_VEC /*const*/ p1o24dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dz);
- CCTK_REAL_VEC /*const*/ p1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dx);
- CCTK_REAL_VEC /*const*/ p1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dy);
- CCTK_REAL_VEC /*const*/ p1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dz);
- CCTK_REAL_VEC /*const*/ p1o3600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dy,dx));
- CCTK_REAL_VEC /*const*/ p1o3600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dx));
- CCTK_REAL_VEC /*const*/ p1o3600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dy));
- CCTK_REAL_VEC /*const*/ p1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dx);
- CCTK_REAL_VEC /*const*/ p1o4dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dy,dx));
- CCTK_REAL_VEC /*const*/ p1o4dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dx));
- CCTK_REAL_VEC /*const*/ p1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dy);
- CCTK_REAL_VEC /*const*/ p1o4dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dy));
- CCTK_REAL_VEC /*const*/ p1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dz);
- CCTK_REAL_VEC /*const*/ p1o5040dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dx,dx));
- CCTK_REAL_VEC /*const*/ p1o5040dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dy,dy));
- CCTK_REAL_VEC /*const*/ p1o5040dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dz,dz));
- CCTK_REAL_VEC /*const*/ p1o560dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dx);
- CCTK_REAL_VEC /*const*/ p1o560dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dy);
- CCTK_REAL_VEC /*const*/ p1o560dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dz);
- CCTK_REAL_VEC /*const*/ p1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dx);
- CCTK_REAL_VEC /*const*/ p1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dy);
- CCTK_REAL_VEC /*const*/ p1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dz);
- CCTK_REAL_VEC /*const*/ p1o64dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dx);
- CCTK_REAL_VEC /*const*/ p1o64dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dy);
- CCTK_REAL_VEC /*const*/ p1o64dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dz);
- CCTK_REAL_VEC /*const*/ p1o705600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dy,dx));
- CCTK_REAL_VEC /*const*/ p1o705600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dx));
- CCTK_REAL_VEC /*const*/ p1o705600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dy));
- CCTK_REAL_VEC /*const*/ p1o840dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dx);
- CCTK_REAL_VEC /*const*/ p1o840dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dy);
- CCTK_REAL_VEC /*const*/ p1o840dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dz);
- CCTK_REAL_VEC /*const*/ p1odx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dx);
- CCTK_REAL_VEC /*const*/ p1odx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dx,dx));
- CCTK_REAL_VEC /*const*/ p1ody CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dy);
- CCTK_REAL_VEC /*const*/ p1ody2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dy,dy));
- CCTK_REAL_VEC /*const*/ p1odz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dz);
- CCTK_REAL_VEC /*const*/ p1odz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dz,dz));
- CCTK_REAL_VEC /*const*/ pm1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dx);
- CCTK_REAL_VEC /*const*/ pm1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dy);
- CCTK_REAL_VEC /*const*/ pm1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dz);
- CCTK_REAL_VEC /*const*/ pm1o12dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dx,dx));
- CCTK_REAL_VEC /*const*/ pm1o12dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dy,dy));
- CCTK_REAL_VEC /*const*/ pm1o12dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dz,dz));
- CCTK_REAL_VEC /*const*/ pm1o16dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dx);
- CCTK_REAL_VEC /*const*/ pm1o16dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dy);
- CCTK_REAL_VEC /*const*/ pm1o16dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dz);
- CCTK_REAL_VEC /*const*/ pm1o256dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dx);
- CCTK_REAL_VEC /*const*/ pm1o256dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dy);
- CCTK_REAL_VEC /*const*/ pm1o256dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dz);
- CCTK_REAL_VEC /*const*/ pm1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dx);
- CCTK_REAL_VEC /*const*/ pm1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dy);
- CCTK_REAL_VEC /*const*/ pm1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dz);
- CCTK_REAL_VEC /*const*/ pm1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dx);
- CCTK_REAL_VEC /*const*/ pm1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dy);
- CCTK_REAL_VEC /*const*/ pm1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dz);
- CCTK_REAL_VEC /*const*/ pm1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dx);
- CCTK_REAL_VEC /*const*/ pm1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dy);
- CCTK_REAL_VEC /*const*/ pm1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dz);
+ const CCTK_REAL_VEC p1o1024dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dx);
+ const CCTK_REAL_VEC p1o1024dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dy);
+ const CCTK_REAL_VEC p1o1024dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dz);
+ const CCTK_REAL_VEC p1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dx);
+ const CCTK_REAL_VEC p1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dy);
+ const CCTK_REAL_VEC p1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dz);
+ const CCTK_REAL_VEC p1o12dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dx);
+ const CCTK_REAL_VEC p1o12dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dy);
+ const CCTK_REAL_VEC p1o12dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dz);
+ const CCTK_REAL_VEC p1o144dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dy,dx));
+ const CCTK_REAL_VEC p1o144dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dx));
+ const CCTK_REAL_VEC p1o144dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dy));
+ const CCTK_REAL_VEC p1o1680dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dx);
+ const CCTK_REAL_VEC p1o1680dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dy);
+ const CCTK_REAL_VEC p1o1680dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dz);
+ const CCTK_REAL_VEC p1o180dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dx,dx));
+ const CCTK_REAL_VEC p1o180dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dy,dy));
+ const CCTK_REAL_VEC p1o180dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dz,dz));
+ const CCTK_REAL_VEC p1o24dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dx);
+ const CCTK_REAL_VEC p1o24dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dy);
+ const CCTK_REAL_VEC p1o24dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dz);
+ const CCTK_REAL_VEC p1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dx);
+ const CCTK_REAL_VEC p1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dy);
+ const CCTK_REAL_VEC p1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dz);
+ const CCTK_REAL_VEC p1o3600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dy,dx));
+ const CCTK_REAL_VEC p1o3600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dx));
+ const CCTK_REAL_VEC p1o3600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dy));
+ const CCTK_REAL_VEC p1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dx);
+ const CCTK_REAL_VEC p1o4dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dy,dx));
+ const CCTK_REAL_VEC p1o4dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dx));
+ const CCTK_REAL_VEC p1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dy);
+ const CCTK_REAL_VEC p1o4dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dy));
+ const CCTK_REAL_VEC p1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dz);
+ const CCTK_REAL_VEC p1o5040dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dx,dx));
+ const CCTK_REAL_VEC p1o5040dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dy,dy));
+ const CCTK_REAL_VEC p1o5040dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dz,dz));
+ const CCTK_REAL_VEC p1o560dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dx);
+ const CCTK_REAL_VEC p1o560dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dy);
+ const CCTK_REAL_VEC p1o560dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dz);
+ const CCTK_REAL_VEC p1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dx);
+ const CCTK_REAL_VEC p1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dy);
+ const CCTK_REAL_VEC p1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dz);
+ const CCTK_REAL_VEC p1o64dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dx);
+ const CCTK_REAL_VEC p1o64dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dy);
+ const CCTK_REAL_VEC p1o64dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dz);
+ const CCTK_REAL_VEC p1o705600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dy,dx));
+ const CCTK_REAL_VEC p1o705600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dx));
+ const CCTK_REAL_VEC p1o705600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dy));
+ const CCTK_REAL_VEC p1o840dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dx);
+ const CCTK_REAL_VEC p1o840dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dy);
+ const CCTK_REAL_VEC p1o840dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dz);
+ const CCTK_REAL_VEC p1odx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dx);
+ const CCTK_REAL_VEC p1odx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dx,dx));
+ const CCTK_REAL_VEC p1ody CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dy);
+ const CCTK_REAL_VEC p1ody2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dy,dy));
+ const CCTK_REAL_VEC p1odz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dz);
+ const CCTK_REAL_VEC p1odz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dz,dz));
+ const CCTK_REAL_VEC pm1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dx);
+ const CCTK_REAL_VEC pm1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dy);
+ const CCTK_REAL_VEC pm1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dz);
+ const CCTK_REAL_VEC pm1o12dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dx,dx));
+ const CCTK_REAL_VEC pm1o12dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dy,dy));
+ const CCTK_REAL_VEC pm1o12dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dz,dz));
+ const CCTK_REAL_VEC pm1o16dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dx);
+ const CCTK_REAL_VEC pm1o16dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dy);
+ const CCTK_REAL_VEC pm1o16dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dz);
+ const CCTK_REAL_VEC pm1o256dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dx);
+ const CCTK_REAL_VEC pm1o256dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dy);
+ const CCTK_REAL_VEC pm1o256dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dz);
+ const CCTK_REAL_VEC pm1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dx);
+ const CCTK_REAL_VEC pm1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dy);
+ const CCTK_REAL_VEC pm1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dz);
+ const CCTK_REAL_VEC pm1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dx);
+ const CCTK_REAL_VEC pm1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dy);
+ const CCTK_REAL_VEC pm1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dz);
+ const CCTK_REAL_VEC pm1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dx);
+ const CCTK_REAL_VEC pm1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dy);
+ const CCTK_REAL_VEC pm1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dz);
/* Jacobian variable pointers */
- bool const use_jacobian CCTK_ATTRIBUTE_UNUSED = (!CCTK_IsFunctionAliased("MultiPatch_GetMap") || MultiPatch_GetMap(cctkGH) != jacobian_identity_map)
- && strlen(jacobian_group) > 0;
- if (use_jacobian && strlen(jacobian_derivative_group) == 0)
+ const bool use_jacobian1 = (!CCTK_IsFunctionAliased("MultiPatch_GetMap") || MultiPatch_GetMap(cctkGH) != jacobian_identity_map)
+ && strlen(jacobian_group) > 0;
+ const bool use_jacobian = assume_use_jacobian>=0 ? assume_use_jacobian : use_jacobian1;
+ const bool usejacobian CCTK_ATTRIBUTE_UNUSED = use_jacobian;
+ if (use_jacobian && (strlen(jacobian_determinant_group) == 0 || strlen(jacobian_inverse_group) == 0 || strlen(jacobian_derivative_group) == 0))
{
- CCTK_WARN (1, "GenericFD::jacobian_group and GenericFD::jacobian_derivative_group must both be set to valid group names");
+ CCTK_WARN(1, "GenericFD::jacobian_group, GenericFD::jacobian_determinant_group, GenericFD::jacobian_inverse_group, and GenericFD::jacobian_derivative_group must all be set to valid group names");
}
- CCTK_REAL const *restrict jacobian_ptrs[9];
+ const CCTK_REAL* restrict jacobian_ptrs[9];
if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_group,
9, jacobian_ptrs);
- CCTK_REAL const *restrict const J11 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[0] : 0;
- CCTK_REAL const *restrict const J12 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[1] : 0;
- CCTK_REAL const *restrict const J13 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[2] : 0;
- CCTK_REAL const *restrict const J21 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[3] : 0;
- CCTK_REAL const *restrict const J22 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[4] : 0;
- CCTK_REAL const *restrict const J23 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[5] : 0;
- CCTK_REAL const *restrict const J31 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[6] : 0;
- CCTK_REAL const *restrict const J32 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[7] : 0;
- CCTK_REAL const *restrict const J33 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[8] : 0;
+ const CCTK_REAL* restrict const J11 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[0] : 0;
+ const CCTK_REAL* restrict const J12 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[1] : 0;
+ const CCTK_REAL* restrict const J13 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[2] : 0;
+ const CCTK_REAL* restrict const J21 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[3] : 0;
+ const CCTK_REAL* restrict const J22 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[4] : 0;
+ const CCTK_REAL* restrict const J23 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[5] : 0;
+ const CCTK_REAL* restrict const J31 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[6] : 0;
+ const CCTK_REAL* restrict const J32 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[7] : 0;
+ const CCTK_REAL* restrict const J33 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[8] : 0;
+
+ const CCTK_REAL* restrict jacobian_determinant_ptrs[1] CCTK_ATTRIBUTE_UNUSED;
+ if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_determinant_group,
+ 1, jacobian_determinant_ptrs);
+
+ const CCTK_REAL* restrict const detJ CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[0] : 0;
- CCTK_REAL const *restrict jacobian_derivative_ptrs[18] CCTK_ATTRIBUTE_UNUSED;
+ const CCTK_REAL* restrict jacobian_inverse_ptrs[9] CCTK_ATTRIBUTE_UNUSED;
+ if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_inverse_group,
+ 9, jacobian_inverse_ptrs);
+
+ const CCTK_REAL* restrict const iJ11 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[0] : 0;
+ const CCTK_REAL* restrict const iJ12 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[1] : 0;
+ const CCTK_REAL* restrict const iJ13 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[2] : 0;
+ const CCTK_REAL* restrict const iJ21 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[3] : 0;
+ const CCTK_REAL* restrict const iJ22 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[4] : 0;
+ const CCTK_REAL* restrict const iJ23 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[5] : 0;
+ const CCTK_REAL* restrict const iJ31 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[6] : 0;
+ const CCTK_REAL* restrict const iJ32 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[7] : 0;
+ const CCTK_REAL* restrict const iJ33 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[8] : 0;
+
+ const CCTK_REAL* restrict jacobian_derivative_ptrs[18] CCTK_ATTRIBUTE_UNUSED;
if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_derivative_group,
18, jacobian_derivative_ptrs);
- CCTK_REAL const *restrict const dJ111 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[0] : 0;
- CCTK_REAL const *restrict const dJ112 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[1] : 0;
- CCTK_REAL const *restrict const dJ113 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[2] : 0;
- CCTK_REAL const *restrict const dJ122 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[3] : 0;
- CCTK_REAL const *restrict const dJ123 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[4] : 0;
- CCTK_REAL const *restrict const dJ133 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[5] : 0;
- CCTK_REAL const *restrict const dJ211 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[6] : 0;
- CCTK_REAL const *restrict const dJ212 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[7] : 0;
- CCTK_REAL const *restrict const dJ213 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[8] : 0;
- CCTK_REAL const *restrict const dJ222 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[9] : 0;
- CCTK_REAL const *restrict const dJ223 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[10] : 0;
- CCTK_REAL const *restrict const dJ233 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[11] : 0;
- CCTK_REAL const *restrict const dJ311 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[12] : 0;
- CCTK_REAL const *restrict const dJ312 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[13] : 0;
- CCTK_REAL const *restrict const dJ313 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[14] : 0;
- CCTK_REAL const *restrict const dJ322 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[15] : 0;
- CCTK_REAL const *restrict const dJ323 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[16] : 0;
- CCTK_REAL const *restrict const dJ333 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[17] : 0;
+ const CCTK_REAL* restrict const dJ111 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[0] : 0;
+ const CCTK_REAL* restrict const dJ112 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[1] : 0;
+ const CCTK_REAL* restrict const dJ113 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[2] : 0;
+ const CCTK_REAL* restrict const dJ122 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[3] : 0;
+ const CCTK_REAL* restrict const dJ123 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[4] : 0;
+ const CCTK_REAL* restrict const dJ133 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[5] : 0;
+ const CCTK_REAL* restrict const dJ211 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[6] : 0;
+ const CCTK_REAL* restrict const dJ212 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[7] : 0;
+ const CCTK_REAL* restrict const dJ213 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[8] : 0;
+ const CCTK_REAL* restrict const dJ222 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[9] : 0;
+ const CCTK_REAL* restrict const dJ223 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[10] : 0;
+ const CCTK_REAL* restrict const dJ233 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[11] : 0;
+ const CCTK_REAL* restrict const dJ311 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[12] : 0;
+ const CCTK_REAL* restrict const dJ312 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[13] : 0;
+ const CCTK_REAL* restrict const dJ313 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[14] : 0;
+ const CCTK_REAL* restrict const dJ322 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[15] : 0;
+ const CCTK_REAL* restrict const dJ323 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[16] : 0;
+ const CCTK_REAL* restrict const dJ333 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[17] : 0;
/* Assign local copies of arrays functions */
@@ -214,13 +238,20 @@ static void ML_BSSN_constraints2_Body(cGH const * restrict const cctkGH, int con
/* Copy local copies back to grid functions */
/* Loop over the grid points */
- #pragma omp parallel
+ const int imin0=imin[0];
+ const int imin1=imin[1];
+ const int imin2=imin[2];
+ const int imax0=imax[0];
+ const int imax1=imax[1];
+ const int imax2=imax[2];
+ #pragma omp parallel // reduction(+: vec_iter_counter, vec_op_counter, vec_mem_counter)
CCTK_LOOP3STR(ML_BSSN_constraints2,
- i,j,k, imin[0],imin[1],imin[2], imax[0],imax[1],imax[2],
+ i,j,k, imin0,imin1,imin2, imax0,imax1,imax2,
cctk_ash[0],cctk_ash[1],cctk_ash[2],
- kimin,kimax, CCTK_REAL_VEC_SIZE)
+ vecimin,vecimax, CCTK_REAL_VEC_SIZE)
{
- ptrdiff_t /*const*/ index CCTK_ATTRIBUTE_UNUSED = di*i + dj*j + dk*k;
+ const ptrdiff_t index CCTK_ATTRIBUTE_UNUSED = di*i + dj*j + dk*k;
+ // vec_iter_counter+=CCTK_REAL_VEC_SIZE;
/* Assign local copies of grid functions */
@@ -248,7 +279,7 @@ static void ML_BSSN_constraints2_Body(cGH const * restrict const cctkGH, int con
CCTK_REAL_VEC eTtxL, eTtyL, eTtzL, eTxxL, eTxyL, eTxzL, eTyyL, eTyzL, eTzzL CCTK_ATTRIBUTE_UNUSED ;
- if (*stress_energy_state)
+ if (assume_stress_energy_state>=0 ? assume_stress_energy_state : *stress_energy_state)
{
eTtxL = vec_load(eTtx[index]);
eTtyL = vec_load(eTty[index]);
@@ -291,52 +322,53 @@ static void ML_BSSN_constraints2_Body(cGH const * restrict const cctkGH, int con
/* Include user supplied include files */
/* Precompute derivatives */
- CCTK_REAL_VEC PDstandardNth1At11 CCTK_ATTRIBUTE_UNUSED ;
- CCTK_REAL_VEC PDstandardNth2At11 CCTK_ATTRIBUTE_UNUSED ;
- CCTK_REAL_VEC PDstandardNth3At11 CCTK_ATTRIBUTE_UNUSED ;
- CCTK_REAL_VEC PDstandardNth1At12 CCTK_ATTRIBUTE_UNUSED ;
- CCTK_REAL_VEC PDstandardNth2At12 CCTK_ATTRIBUTE_UNUSED ;
- CCTK_REAL_VEC PDstandardNth3At12 CCTK_ATTRIBUTE_UNUSED ;
- CCTK_REAL_VEC PDstandardNth1At13 CCTK_ATTRIBUTE_UNUSED ;
- CCTK_REAL_VEC PDstandardNth2At13 CCTK_ATTRIBUTE_UNUSED ;
- CCTK_REAL_VEC PDstandardNth3At13 CCTK_ATTRIBUTE_UNUSED ;
- CCTK_REAL_VEC PDstandardNth1At22 CCTK_ATTRIBUTE_UNUSED ;
- CCTK_REAL_VEC PDstandardNth2At22 CCTK_ATTRIBUTE_UNUSED ;
- CCTK_REAL_VEC PDstandardNth3At22 CCTK_ATTRIBUTE_UNUSED ;
- CCTK_REAL_VEC PDstandardNth1At23 CCTK_ATTRIBUTE_UNUSED ;
- CCTK_REAL_VEC PDstandardNth2At23 CCTK_ATTRIBUTE_UNUSED ;
- CCTK_REAL_VEC PDstandardNth3At23 CCTK_ATTRIBUTE_UNUSED ;
- CCTK_REAL_VEC PDstandardNth1At33 CCTK_ATTRIBUTE_UNUSED ;
- CCTK_REAL_VEC PDstandardNth2At33 CCTK_ATTRIBUTE_UNUSED ;
- CCTK_REAL_VEC PDstandardNth3At33 CCTK_ATTRIBUTE_UNUSED ;
- CCTK_REAL_VEC PDstandardNth1gt11 CCTK_ATTRIBUTE_UNUSED ;
- CCTK_REAL_VEC PDstandardNth2gt11 CCTK_ATTRIBUTE_UNUSED ;
- CCTK_REAL_VEC PDstandardNth3gt11 CCTK_ATTRIBUTE_UNUSED ;
- CCTK_REAL_VEC PDstandardNth1gt12 CCTK_ATTRIBUTE_UNUSED ;
- CCTK_REAL_VEC PDstandardNth2gt12 CCTK_ATTRIBUTE_UNUSED ;
- CCTK_REAL_VEC PDstandardNth3gt12 CCTK_ATTRIBUTE_UNUSED ;
- CCTK_REAL_VEC PDstandardNth1gt13 CCTK_ATTRIBUTE_UNUSED ;
- CCTK_REAL_VEC PDstandardNth2gt13 CCTK_ATTRIBUTE_UNUSED ;
- CCTK_REAL_VEC PDstandardNth3gt13 CCTK_ATTRIBUTE_UNUSED ;
- CCTK_REAL_VEC PDstandardNth1gt22 CCTK_ATTRIBUTE_UNUSED ;
- CCTK_REAL_VEC PDstandardNth2gt22 CCTK_ATTRIBUTE_UNUSED ;
- CCTK_REAL_VEC PDstandardNth3gt22 CCTK_ATTRIBUTE_UNUSED ;
- CCTK_REAL_VEC PDstandardNth1gt23 CCTK_ATTRIBUTE_UNUSED ;
- CCTK_REAL_VEC PDstandardNth2gt23 CCTK_ATTRIBUTE_UNUSED ;
- CCTK_REAL_VEC PDstandardNth3gt23 CCTK_ATTRIBUTE_UNUSED ;
- CCTK_REAL_VEC PDstandardNth1gt33 CCTK_ATTRIBUTE_UNUSED ;
- CCTK_REAL_VEC PDstandardNth2gt33 CCTK_ATTRIBUTE_UNUSED ;
- CCTK_REAL_VEC PDstandardNth3gt33 CCTK_ATTRIBUTE_UNUSED ;
- CCTK_REAL_VEC PDstandardNth1phi CCTK_ATTRIBUTE_UNUSED ;
- CCTK_REAL_VEC PDstandardNth2phi CCTK_ATTRIBUTE_UNUSED ;
- CCTK_REAL_VEC PDstandardNth3phi CCTK_ATTRIBUTE_UNUSED ;
- CCTK_REAL_VEC PDstandardNth1trK CCTK_ATTRIBUTE_UNUSED ;
- CCTK_REAL_VEC PDstandardNth2trK CCTK_ATTRIBUTE_UNUSED ;
- CCTK_REAL_VEC PDstandardNth3trK CCTK_ATTRIBUTE_UNUSED ;
-
- switch(fdOrder)
+ CCTK_REAL_VEC PDstandardNth1At11 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth2At11 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth3At11 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth1At12 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth2At12 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth3At12 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth1At13 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth2At13 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth3At13 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth1At22 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth2At22 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth3At22 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth1At23 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth2At23 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth3At23 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth1At33 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth2At33 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth3At33 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth1gt11 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth2gt11 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth3gt11 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth1gt12 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth2gt12 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth3gt12 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth1gt13 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth2gt13 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth3gt13 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth1gt22 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth2gt22 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth3gt22 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth1gt23 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth2gt23 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth3gt23 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth1gt33 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth2gt33 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth3gt33 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth1phi CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth2phi CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth3phi CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth1trK CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth2trK CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC PDstandardNth3trK CCTK_ATTRIBUTE_UNUSED;
+
+ switch (fdOrder)
{
case 2:
+ {
PDstandardNth1At11 = PDstandardNthfdOrder21(&At11[index]);
PDstandardNth2At11 = PDstandardNthfdOrder22(&At11[index]);
PDstandardNth3At11 = PDstandardNthfdOrder23(&At11[index]);
@@ -380,8 +412,10 @@ static void ML_BSSN_constraints2_Body(cGH const * restrict const cctkGH, int con
PDstandardNth2trK = PDstandardNthfdOrder22(&trK[index]);
PDstandardNth3trK = PDstandardNthfdOrder23(&trK[index]);
break;
+ }
case 4:
+ {
PDstandardNth1At11 = PDstandardNthfdOrder41(&At11[index]);
PDstandardNth2At11 = PDstandardNthfdOrder42(&At11[index]);
PDstandardNth3At11 = PDstandardNthfdOrder43(&At11[index]);
@@ -425,8 +459,10 @@ static void ML_BSSN_constraints2_Body(cGH const * restrict const cctkGH, int con
PDstandardNth2trK = PDstandardNthfdOrder42(&trK[index]);
PDstandardNth3trK = PDstandardNthfdOrder43(&trK[index]);
break;
+ }
case 6:
+ {
PDstandardNth1At11 = PDstandardNthfdOrder61(&At11[index]);
PDstandardNth2At11 = PDstandardNthfdOrder62(&At11[index]);
PDstandardNth3At11 = PDstandardNthfdOrder63(&At11[index]);
@@ -470,8 +506,10 @@ static void ML_BSSN_constraints2_Body(cGH const * restrict const cctkGH, int con
PDstandardNth2trK = PDstandardNthfdOrder62(&trK[index]);
PDstandardNth3trK = PDstandardNthfdOrder63(&trK[index]);
break;
+ }
case 8:
+ {
PDstandardNth1At11 = PDstandardNthfdOrder81(&At11[index]);
PDstandardNth2At11 = PDstandardNthfdOrder82(&At11[index]);
PDstandardNth3At11 = PDstandardNthfdOrder83(&At11[index]);
@@ -515,51 +553,54 @@ static void ML_BSSN_constraints2_Body(cGH const * restrict const cctkGH, int con
PDstandardNth2trK = PDstandardNthfdOrder82(&trK[index]);
PDstandardNth3trK = PDstandardNthfdOrder83(&trK[index]);
break;
+ }
+ default:
+ CCTK_BUILTIN_UNREACHABLE();
}
/* Calculate temporaries and grid functions */
- CCTK_REAL_VEC JacPDstandardNth1At11 CCTK_ATTRIBUTE_UNUSED ;
- CCTK_REAL_VEC JacPDstandardNth1At12 CCTK_ATTRIBUTE_UNUSED ;
- CCTK_REAL_VEC JacPDstandardNth1At13 CCTK_ATTRIBUTE_UNUSED ;
- CCTK_REAL_VEC JacPDstandardNth1At22 CCTK_ATTRIBUTE_UNUSED ;
- CCTK_REAL_VEC JacPDstandardNth1At23 CCTK_ATTRIBUTE_UNUSED ;
- CCTK_REAL_VEC JacPDstandardNth1At33 CCTK_ATTRIBUTE_UNUSED ;
- CCTK_REAL_VEC JacPDstandardNth1gt11 CCTK_ATTRIBUTE_UNUSED ;
- CCTK_REAL_VEC JacPDstandardNth1gt12 CCTK_ATTRIBUTE_UNUSED ;
- CCTK_REAL_VEC JacPDstandardNth1gt13 CCTK_ATTRIBUTE_UNUSED ;
- CCTK_REAL_VEC JacPDstandardNth1gt22 CCTK_ATTRIBUTE_UNUSED ;
- CCTK_REAL_VEC JacPDstandardNth1gt23 CCTK_ATTRIBUTE_UNUSED ;
- CCTK_REAL_VEC JacPDstandardNth1gt33 CCTK_ATTRIBUTE_UNUSED ;
- CCTK_REAL_VEC JacPDstandardNth1phi CCTK_ATTRIBUTE_UNUSED ;
- CCTK_REAL_VEC JacPDstandardNth1trK CCTK_ATTRIBUTE_UNUSED ;
- CCTK_REAL_VEC JacPDstandardNth2At11 CCTK_ATTRIBUTE_UNUSED ;
- CCTK_REAL_VEC JacPDstandardNth2At12 CCTK_ATTRIBUTE_UNUSED ;
- CCTK_REAL_VEC JacPDstandardNth2At13 CCTK_ATTRIBUTE_UNUSED ;
- CCTK_REAL_VEC JacPDstandardNth2At22 CCTK_ATTRIBUTE_UNUSED ;
- CCTK_REAL_VEC JacPDstandardNth2At23 CCTK_ATTRIBUTE_UNUSED ;
- CCTK_REAL_VEC JacPDstandardNth2At33 CCTK_ATTRIBUTE_UNUSED ;
- CCTK_REAL_VEC JacPDstandardNth2gt11 CCTK_ATTRIBUTE_UNUSED ;
- CCTK_REAL_VEC JacPDstandardNth2gt12 CCTK_ATTRIBUTE_UNUSED ;
- CCTK_REAL_VEC JacPDstandardNth2gt13 CCTK_ATTRIBUTE_UNUSED ;
- CCTK_REAL_VEC JacPDstandardNth2gt22 CCTK_ATTRIBUTE_UNUSED ;
- CCTK_REAL_VEC JacPDstandardNth2gt23 CCTK_ATTRIBUTE_UNUSED ;
- CCTK_REAL_VEC JacPDstandardNth2gt33 CCTK_ATTRIBUTE_UNUSED ;
- CCTK_REAL_VEC JacPDstandardNth2phi CCTK_ATTRIBUTE_UNUSED ;
- CCTK_REAL_VEC JacPDstandardNth2trK CCTK_ATTRIBUTE_UNUSED ;
- CCTK_REAL_VEC JacPDstandardNth3At11 CCTK_ATTRIBUTE_UNUSED ;
- CCTK_REAL_VEC JacPDstandardNth3At12 CCTK_ATTRIBUTE_UNUSED ;
- CCTK_REAL_VEC JacPDstandardNth3At13 CCTK_ATTRIBUTE_UNUSED ;
- CCTK_REAL_VEC JacPDstandardNth3At22 CCTK_ATTRIBUTE_UNUSED ;
- CCTK_REAL_VEC JacPDstandardNth3At23 CCTK_ATTRIBUTE_UNUSED ;
- CCTK_REAL_VEC JacPDstandardNth3At33 CCTK_ATTRIBUTE_UNUSED ;
- CCTK_REAL_VEC JacPDstandardNth3gt11 CCTK_ATTRIBUTE_UNUSED ;
- CCTK_REAL_VEC JacPDstandardNth3gt12 CCTK_ATTRIBUTE_UNUSED ;
- CCTK_REAL_VEC JacPDstandardNth3gt13 CCTK_ATTRIBUTE_UNUSED ;
- CCTK_REAL_VEC JacPDstandardNth3gt22 CCTK_ATTRIBUTE_UNUSED ;
- CCTK_REAL_VEC JacPDstandardNth3gt23 CCTK_ATTRIBUTE_UNUSED ;
- CCTK_REAL_VEC JacPDstandardNth3gt33 CCTK_ATTRIBUTE_UNUSED ;
- CCTK_REAL_VEC JacPDstandardNth3phi CCTK_ATTRIBUTE_UNUSED ;
- CCTK_REAL_VEC JacPDstandardNth3trK CCTK_ATTRIBUTE_UNUSED ;
+ CCTK_REAL_VEC JacPDstandardNth1At11 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth1At12 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth1At13 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth1At22 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth1At23 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth1At33 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth1gt11 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth1gt12 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth1gt13 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth1gt22 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth1gt23 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth1gt33 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth1phi CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth1trK CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth2At11 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth2At12 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth2At13 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth2At22 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth2At23 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth2At33 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth2gt11 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth2gt12 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth2gt13 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth2gt22 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth2gt23 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth2gt33 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth2phi CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth2trK CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth3At11 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth3At12 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth3At13 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth3At22 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth3At23 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth3At33 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth3gt11 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth3gt12 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth3gt13 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth3gt22 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth3gt23 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth3gt33 CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth3phi CCTK_ATTRIBUTE_UNUSED;
+ CCTK_REAL_VEC JacPDstandardNth3trK CCTK_ATTRIBUTE_UNUSED;
if (use_jacobian)
{
@@ -776,25 +817,25 @@ static void ML_BSSN_constraints2_Body(cGH const * restrict const cctkGH, int con
JacPDstandardNth3trK = PDstandardNth3trK;
}
- CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED detgt = ToReal(1.);
+ CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED detgt = ToReal(1);
CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gtu11 =
- kdiv(kmadd(gt22L,gt33L,kmul(kmul(gt23L,gt23L),ToReal(-1.))),detgt);
+ kdiv(kmsub(gt22L,gt33L,kmul(gt23L,gt23L)),detgt);
CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gtu12 =
- kdiv(kmadd(gt13L,gt23L,kmul(gt12L,kmul(gt33L,ToReal(-1.)))),detgt);
+ kdiv(kmsub(gt13L,gt23L,kmul(gt12L,gt33L)),detgt);
CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gtu13 =
- kdiv(kmadd(gt12L,gt23L,kmul(gt13L,kmul(gt22L,ToReal(-1.)))),detgt);
+ kdiv(kmsub(gt12L,gt23L,kmul(gt13L,gt22L)),detgt);
CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gtu22 =
- kdiv(kmadd(gt11L,gt33L,kmul(kmul(gt13L,gt13L),ToReal(-1.))),detgt);
+ kdiv(kmsub(gt11L,gt33L,kmul(gt13L,gt13L)),detgt);
CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gtu23 =
- kdiv(kmadd(gt12L,gt13L,kmul(gt11L,kmul(gt23L,ToReal(-1.)))),detgt);
+ kdiv(kmsub(gt12L,gt13L,kmul(gt11L,gt23L)),detgt);
CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gtu33 =
- kdiv(kmadd(gt11L,gt22L,kmul(kmul(gt12L,gt12L),ToReal(-1.))),detgt);
+ kdiv(kmsub(gt11L,gt22L,kmul(gt12L,gt12L)),detgt);
CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Gtl111 =
kmul(JacPDstandardNth1gt11,ToReal(0.5));
@@ -809,7 +850,7 @@ static void ML_BSSN_constraints2_Body(cGH const * restrict const cctkGH, int con
kmadd(JacPDstandardNth1gt22,ToReal(-0.5),JacPDstandardNth2gt12);
CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Gtl123 =
- kmul(kadd(JacPDstandardNth2gt13,kmadd(JacPDstandardNth1gt23,ToReal(-1.),JacPDstandardNth3gt12)),ToReal(0.5));
+ kmul(kadd(JacPDstandardNth2gt13,ksub(JacPDstandardNth3gt12,JacPDstandardNth1gt23)),ToReal(0.5));
CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Gtl133 =
kmadd(JacPDstandardNth1gt33,ToReal(-0.5),JacPDstandardNth3gt13);
@@ -821,7 +862,7 @@ static void ML_BSSN_constraints2_Body(cGH const * restrict const cctkGH, int con
kmul(JacPDstandardNth1gt22,ToReal(0.5));
CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Gtl213 =
- kmul(kadd(JacPDstandardNth1gt23,kmadd(JacPDstandardNth2gt13,ToReal(-1.),JacPDstandardNth3gt12)),ToReal(0.5));
+ kmul(kadd(JacPDstandardNth1gt23,ksub(JacPDstandardNth3gt12,JacPDstandardNth2gt13)),ToReal(0.5));
CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Gtl222 =
kmul(JacPDstandardNth2gt22,ToReal(0.5));
@@ -836,7 +877,7 @@ static void ML_BSSN_constraints2_Body(cGH const * restrict const cctkGH, int con
kmadd(JacPDstandardNth3gt11,ToReal(-0.5),JacPDstandardNth1gt13);
CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Gtl312 =
- kmul(kadd(JacPDstandardNth1gt23,kmadd(JacPDstandardNth3gt12,ToReal(-1.),JacPDstandardNth2gt13)),ToReal(0.5));
+ kmul(kadd(JacPDstandardNth1gt23,ksub(JacPDstandardNth2gt13,JacPDstandardNth3gt12)),ToReal(0.5));
CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Gtl313 =
kmul(JacPDstandardNth1gt33,ToReal(0.5));
@@ -905,7 +946,7 @@ static void ML_BSSN_constraints2_Body(cGH const * restrict const cctkGH, int con
kmadd(Gtl133,gtu13,kmadd(Gtl233,gtu23,kmul(Gtl333,gtu33)));
CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED fac1 = IfThen(conformalMethod ==
- 1.,kdiv(ToReal(-0.5),phiL),ToReal(1.));
+ 1,kdiv(ToReal(-0.5),phiL),ToReal(1));
CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED cdphi1 =
kmul(fac1,JacPDstandardNth1phi);
@@ -917,39 +958,39 @@ static void ML_BSSN_constraints2_Body(cGH const * restrict const cctkGH, int con
kmul(fac1,JacPDstandardNth3phi);
CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED S1 =
- kdiv(kmadd(beta1L,eTxxL,kmadd(beta2L,eTxyL,kmadd(beta3L,eTxzL,kmul(eTtxL,ToReal(-1.))))),alphaL);
+ kdiv(kmadd(beta1L,eTxxL,kmadd(beta2L,eTxyL,kmsub(beta3L,eTxzL,eTtxL))),alphaL);
CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED S2 =
- kdiv(kmadd(beta1L,eTxyL,kmadd(beta2L,eTyyL,kmadd(beta3L,eTyzL,kmul(eTtyL,ToReal(-1.))))),alphaL);
+ kdiv(kmadd(beta1L,eTxyL,kmadd(beta2L,eTyyL,kmsub(beta3L,eTyzL,eTtyL))),alphaL);
CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED S3 =
- kdiv(kmadd(beta1L,eTxzL,kmadd(beta2L,eTyzL,kmadd(beta3L,eTzzL,kmul(eTtzL,ToReal(-1.))))),alphaL);
+ kdiv(kmadd(beta1L,eTxzL,kmadd(beta2L,eTyzL,kmsub(beta3L,eTzzL,eTtzL))),alphaL);
CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED M1L =
- kmadd(gtu11,JacPDstandardNth1At11,kmadd(gtu22,JacPDstandardNth2At12,kmadd(gtu23,kadd(JacPDstandardNth2At13,JacPDstandardNth3At12),kmadd(gtu33,JacPDstandardNth3At13,kmadd(S1,ToReal(-25.132741228718345),kmadd(gtu12,kadd(JacPDstandardNth1At12,kadd(JacPDstandardNth2At11,kmadd(At13L,kmul(Gt312,ToReal(-3.)),kmul(At22L,kmul(Gt211,ToReal(-1.)))))),kmadd(gtu13,kadd(JacPDstandardNth1At13,kadd(JacPDstandardNth3At11,kmadd(At13L,kmul(Gt313,ToReal(-3.)),kmul(At23L,kmul(Gt211,ToReal(-1.)))))),kmadd(Gt311,kmadd(At13L,kmul(gtu11,ToReal(-2.)),kmul(kmadd(At23L,gtu12,kmul(At33L,gtu13)),ToReal(-1.))),kmadd(JacPDstandardNth1trK,ToReal(-0.666666666666666666666666666667),kmadd(ToReal(-1.),kmadd(kmadd(At22L,Gt212,kmul(At23L,Gt312)),gtu22,kmadd(kmadd(At13L,Gt112,kmadd(At22L,Gt213,kmadd(At33L,Gt312,kmul(At23L,kadd(Gt212,Gt313))))),gtu23,kmadd(kmadd(At13L,Gt113,kmadd(At23L,Gt213,kmul(At33L,Gt313))),gtu33,kmul(At12L,kmadd(Gt233,gtu33,kmadd(gtu22,kadd(Gt112,kmadd(cdphi2,ToReal(-6.),Gt222)),kmadd(gtu23,kmadd(cdphi3,ToReal(-6.),Gt113),kmadd(kmadd(Gt211,gtu11,kmul(Gt223,gtu23)),ToReal(2.),kmadd(Gt213,kmul(gtu13,ToReal(3.)),kmul(gtu12,kadd(Gt111,kmadd(cdphi1,ToReal(-6.),kmul(Gt212,ToReal(3.)))))))))))))),kmadd(At13L,kmadd(kmadd(Gt322,gtu22,kmul(Gt333,gtu33)),ToReal(-1.),kmadd(cdphi3,kmul(gtu33,ToReal(6.)),kmadd(gtu13,kmadd(Gt111,ToReal(-1.),kmul(cdphi1,ToReal(6.))),kmul(gtu23,kmadd(Gt323,ToReal(-2.),kmul(cdphi2,ToReal(6.))))))),kmul(At11L,kmadd(Gt123,kmul(gtu23,ToReal(-2.)),kmadd(kmadd(Gt122,gtu22,kmul(Gt133,gtu33)),ToReal(-1.),kmadd(gtu11,kmadd(Gt111,ToReal(-2.),kmul(cdphi1,ToReal(6.))),kmadd(gtu12,kmadd(Gt112,ToReal(-3.),kmul(cdphi2,ToReal(6.))),kmul(gtu13,kmadd(Gt113,ToReal(-3.),kmul(cdphi3,ToReal(6.))))))))))))))))))));
+ 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(-25.1327412287183459077011470662))))))))))))))))))));
CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED M2L =
- kmadd(gtu11,JacPDstandardNth1At12,kmadd(gtu12,kadd(JacPDstandardNth1At22,JacPDstandardNth2At12),kmadd(gtu22,JacPDstandardNth2At22,kmadd(gtu33,JacPDstandardNth3At23,kmadd(S2,ToReal(-25.132741228718345),kmadd(kmadd(kmadd(At22L,Gt211,kmadd(At23L,Gt311,kmul(At13L,Gt312))),gtu11,kmadd(kmadd(At23L,Gt212,kmul(At33L,Gt312)),gtu13,kmadd(At11L,kmadd(Gt112,gtu11,kmadd(Gt122,gtu12,kmul(Gt123,gtu13))),kmadd(kmadd(At23L,Gt223,kmul(At33L,Gt323)),gtu33,kmul(At13L,kmadd(Gt322,gtu12,kmadd(Gt112,gtu13,kmadd(Gt122,gtu23,kmul(Gt123,gtu33))))))))),ToReal(-1.),kmadd(gtu23,kadd(JacPDstandardNth2At23,kadd(JacPDstandardNth3At22,kmadd(kmadd(At22L,Gt223,kmul(At23L,Gt323)),ToReal(-3.),kmul(kmadd(At23L,Gt222,kmul(At33L,Gt322)),ToReal(-1.))))),kmadd(gtu13,kadd(JacPDstandardNth1At23,kadd(JacPDstandardNth3At12,kmadd(At23L,kmul(Gt313,ToReal(-2.)),kmul(At13L,kmul(Gt323,ToReal(-1.)))))),kmadd(JacPDstandardNth2trK,ToReal(-0.666666666666666666666666666667),kmadd(At23L,kmadd(Gt312,kmul(gtu12,ToReal(-3.)),kmadd(Gt322,kmul(gtu22,ToReal(-2.)),kmadd(Gt333,kmul(gtu33,ToReal(-1.)),kmul(kmadd(cdphi1,gtu13,kmadd(cdphi2,gtu23,kmul(cdphi3,gtu33))),ToReal(6.))))),kmadd(At22L,kmadd(kmadd(Gt213,gtu13,kmul(Gt222,gtu22)),ToReal(-2.),kmadd(Gt233,kmul(gtu33,ToReal(-1.)),kmadd(kmadd(cdphi2,gtu22,kmul(cdphi3,gtu23)),ToReal(6.),kmul(gtu12,kmadd(Gt212,ToReal(-3.),kmul(cdphi1,ToReal(6.))))))),kmul(At12L,kmadd(Gt123,kmul(gtu23,ToReal(-3.)),kmadd(Gt122,kmul(gtu22,ToReal(-2.)),kmadd(Gt133,kmul(gtu33,ToReal(-1.)),kmadd(gtu11,kmadd(kadd(Gt111,Gt212),ToReal(-1.),kmul(cdphi1,ToReal(6.))),kmadd(gtu12,kmadd(Gt112,ToReal(-3.),kmadd(Gt222,ToReal(-1.),kmul(cdphi2,ToReal(6.)))),kmul(gtu13,kmadd(Gt113,ToReal(-2.),kmadd(Gt223,ToReal(-1.),kmul(cdphi3,ToReal(6.))))))))))))))))))))));
+ 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(-25.1327412287183459077011470662)))))))))))))))))))))))))))));
CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED M3L =
- kmadd(gtu11,JacPDstandardNth1At13,kmadd(gtu22,JacPDstandardNth2At23,kmadd(gtu13,kadd(JacPDstandardNth1At33,JacPDstandardNth3At13),kmadd(gtu33,JacPDstandardNth3At33,kmadd(S3,ToReal(-25.132741228718345),kmadd(kmadd(kmadd(At23L,Gt211,kmadd(At12L,Gt213,kmul(At33L,Gt311))),gtu11,kmadd(kmadd(At22L,Gt213,kmul(At12L,kadd(Gt113,Gt223))),gtu12,kmadd(At11L,kmadd(Gt113,gtu11,kmadd(Gt123,gtu12,kmul(Gt133,gtu13))),kmadd(kmadd(At23L,Gt222,kmul(At22L,Gt223)),gtu22,kmul(At12L,kmadd(Gt233,gtu13,kmadd(Gt123,gtu22,kmul(Gt133,gtu23)))))))),ToReal(-1.),kmadd(gtu12,kadd(JacPDstandardNth1At23,kadd(JacPDstandardNth2At13,kmadd(At33L,kmul(Gt312,ToReal(-2.)),kmul(At23L,kmul(Gt313,ToReal(-1.)))))),kmadd(gtu23,kadd(JacPDstandardNth2At33,kadd(JacPDstandardNth3At23,kmadd(kmadd(At23L,Gt223,kmul(At33L,Gt323)),ToReal(-3.),kmul(kmadd(At22L,Gt233,kmul(At23L,Gt333)),ToReal(-1.))))),kmadd(JacPDstandardNth3trK,ToReal(-0.666666666666666666666666666667),kmadd(At33L,kmadd(Gt333,kmul(gtu33,ToReal(-2.)),kmadd(Gt322,kmul(gtu22,ToReal(-1.)),kmadd(kmadd(cdphi2,gtu23,kmul(cdphi3,gtu33)),ToReal(6.),kmul(gtu13,kmadd(Gt313,ToReal(-3.),kmul(cdphi1,ToReal(6.))))))),kmadd(At23L,kmadd(Gt213,kmul(gtu13,ToReal(-3.)),kmadd(Gt233,kmul(gtu33,ToReal(-2.)),kmadd(cdphi3,kmul(gtu23,ToReal(6.)),kmadd(gtu12,kmadd(Gt212,ToReal(-2.),kmul(cdphi1,ToReal(6.))),kmul(gtu22,kmadd(Gt323,ToReal(-1.),kmul(cdphi2,ToReal(6.)))))))),kmul(At13L,kmadd(Gt123,kmul(gtu23,ToReal(-3.)),kmadd(Gt133,kmul(gtu33,ToReal(-2.)),kmadd(Gt122,kmul(gtu22,ToReal(-1.)),kmadd(gtu11,kmadd(kadd(Gt111,Gt313),ToReal(-1.),kmul(cdphi1,ToReal(6.))),kmadd(gtu12,kmadd(Gt112,ToReal(-2.),kmadd(Gt323,ToReal(-1.),kmul(cdphi2,ToReal(6.)))),kmul(gtu13,kmadd(Gt113,ToReal(-3.),kmadd(Gt333,ToReal(-1.),kmul(cdphi3,ToReal(6.))))))))))))))))))))));
+ 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(-25.1327412287183459077011470662)))))))))))))))))))))))))))));
CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED cSL = klog(detgt);
CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED cXt1L =
- kmadd(Gt111,gtu11,kmadd(Gt122,gtu22,kmadd(Gt133,gtu33,kmadd(Xt1L,ToReal(-1.),kmul(kmadd(Gt112,gtu12,kmadd(Gt113,gtu13,kmul(Gt123,gtu23))),ToReal(2.))))));
+ kmadd(Gt111,gtu11,kmadd(Gt122,gtu22,kmadd(Gt133,gtu33,kmsub(kmadd(Gt112,gtu12,kmadd(Gt113,gtu13,kmul(Gt123,gtu23))),ToReal(2),Xt1L))));
CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED cXt2L =
- kmadd(Gt211,gtu11,kmadd(Gt222,gtu22,kmadd(Gt233,gtu33,kmadd(Xt2L,ToReal(-1.),kmul(kmadd(Gt212,gtu12,kmadd(Gt213,gtu13,kmul(Gt223,gtu23))),ToReal(2.))))));
+ kmadd(Gt211,gtu11,kmadd(Gt222,gtu22,kmadd(Gt233,gtu33,kmsub(kmadd(Gt212,gtu12,kmadd(Gt213,gtu13,kmul(Gt223,gtu23))),ToReal(2),Xt2L))));
CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED cXt3L =
- kmadd(Gt311,gtu11,kmadd(Gt322,gtu22,kmadd(Gt333,gtu33,kmadd(Xt3L,ToReal(-1.),kmul(kmadd(Gt312,gtu12,kmadd(Gt313,gtu13,kmul(Gt323,gtu23))),ToReal(2.))))));
+ kmadd(Gt311,gtu11,kmadd(Gt322,gtu22,kmadd(Gt333,gtu33,kmsub(kmadd(Gt312,gtu12,kmadd(Gt313,gtu13,kmul(Gt323,gtu23))),ToReal(2),Xt3L))));
CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED cAL =
- kmadd(At11L,gtu11,kmadd(At22L,gtu22,kmadd(At33L,gtu33,kmul(kmadd(At12L,gtu12,kmadd(At13L,gtu13,kmul(At23L,gtu23))),ToReal(2.)))));
+ kmadd(At11L,gtu11,kmadd(At22L,gtu22,kmadd(At33L,gtu33,kmul(kmadd(At12L,gtu12,kmadd(At13L,gtu13,kmul(At23L,gtu23))),ToReal(2)))));
/* Copy local copies back to grid functions */
- vec_store_partial_prepare(i,kimin,kimax);
+ vec_store_partial_prepare(i,vecimin,vecimax);
vec_store_nta_partial(cA[index],cAL);
vec_store_nta_partial(cS[index],cSL);
vec_store_nta_partial(cXt1[index],cXt1L);
@@ -978,7 +1019,7 @@ extern "C" void ML_BSSN_constraints2(CCTK_ARGUMENTS)
return;
}
- const char *const groups[] = {
+ const char* const groups[] = {
"ML_BSSN::ML_cons_detg",
"ML_BSSN::ML_cons_Gamma",
"ML_BSSN::ML_cons_traceA",
@@ -992,23 +1033,33 @@ extern "C" void ML_BSSN_constraints2(CCTK_ARGUMENTS)
"ML_BSSN::ML_trace_curv"};
GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_constraints2", 11, groups);
- switch(fdOrder)
+ switch (fdOrder)
{
case 2:
+ {
GenericFD_EnsureStencilFits(cctkGH, "ML_BSSN_constraints2", 1, 1, 1);
break;
+ }
case 4:
+ {
GenericFD_EnsureStencilFits(cctkGH, "ML_BSSN_constraints2", 2, 2, 2);
break;
+ }
case 6:
+ {
GenericFD_EnsureStencilFits(cctkGH, "ML_BSSN_constraints2", 3, 3, 3);
break;
+ }
case 8:
+ {
GenericFD_EnsureStencilFits(cctkGH, "ML_BSSN_constraints2", 4, 4, 4);
break;
+ }
+ default:
+ CCTK_BUILTIN_UNREACHABLE();
}
GenericFD_LoopOverInterior(cctkGH, ML_BSSN_constraints2_Body);