diff options
author | Ian Hinder <ian.hinder@aei.mpg.de> | 2013-09-05 22:58:00 +0200 |
---|---|---|
committer | Ian Hinder <ian.hinder@aei.mpg.de> | 2013-09-05 22:58:00 +0200 |
commit | 280545da21ad246f73e815c09f43b2d08804ebca (patch) | |
tree | 681c2b89a7f3af1222826b29d439966dd13f3bdc /ML_ADM | |
parent | 966f1fdcffb6c327d4083a285edf895e3cd51da3 (diff) |
Regenerate McLachlan (Kranc commit caf12ddfb11ccd9a7bf822cc8ec0d7691cded0aa)
Diffstat (limited to 'ML_ADM')
-rw-r--r-- | ML_ADM/param.ccl | 4 | ||||
-rw-r--r-- | ML_ADM/schedule.ccl | 482 | ||||
-rw-r--r-- | ML_ADM/src/Boundaries.cc | 82 | ||||
-rw-r--r-- | ML_ADM/src/Differencing.h | 480 | ||||
-rw-r--r-- | ML_ADM/src/ML_ADM_Minkowski.cc | 281 | ||||
-rw-r--r-- | ML_ADM/src/ML_ADM_RHS.cc | 757 | ||||
-rw-r--r-- | ML_ADM/src/ML_ADM_boundary.cc | 285 | ||||
-rw-r--r-- | ML_ADM/src/ML_ADM_constraints.cc | 647 | ||||
-rw-r--r-- | ML_ADM/src/ML_ADM_constraints_boundary.cc | 261 | ||||
-rw-r--r-- | ML_ADM/src/ML_ADM_convertFromADMBase.cc | 249 | ||||
-rw-r--r-- | ML_ADM/src/ML_ADM_convertToADMBase.cc | 257 | ||||
-rw-r--r-- | ML_ADM/src/RegisterMoL.cc | 2 | ||||
-rw-r--r-- | ML_ADM/src/Startup.cc | 2 |
13 files changed, 2025 insertions, 1764 deletions
diff --git a/ML_ADM/param.ccl b/ML_ADM/param.ccl index 5c2cbb2..84f41e6 100644 --- a/ML_ADM/param.ccl +++ b/ML_ADM/param.ccl @@ -3,7 +3,11 @@ shares: GenericFD +USES CCTK_INT assume_stress_energy_state +USES CCTK_INT assume_use_jacobian USES CCTK_STRING jacobian_group +USES CCTK_STRING jacobian_determinant_group +USES CCTK_STRING jacobian_inverse_group USES CCTK_STRING jacobian_derivative_group USES CCTK_INT jacobian_identity_map diff --git a/ML_ADM/schedule.ccl b/ML_ADM/schedule.ccl index c39a3bc..bb0b54c 100644 --- a/ML_ADM/schedule.ccl +++ b/ML_ADM/schedule.ccl @@ -1,119 +1,25 @@ # File produced by Kranc -if (other_timelevels == 1) -{ - STORAGE: ML_Ham[1] -} +STORAGE: ML_Ham[other_timelevels] -if (other_timelevels == 1) -{ - STORAGE: ML_mom[1] -} +STORAGE: ML_mom[other_timelevels] -if (timelevels == 1) -{ - STORAGE: ML_curv[1] -} -if (timelevels == 2) -{ - STORAGE: ML_curv[2] -} -if (timelevels == 3) -{ - STORAGE: ML_curv[3] -} +STORAGE: ML_curv[timelevels] -if (timelevels == 1) -{ - STORAGE: ML_lapse[1] -} -if (timelevels == 2) -{ - STORAGE: ML_lapse[2] -} -if (timelevels == 3) -{ - STORAGE: ML_lapse[3] -} +STORAGE: ML_lapse[timelevels] -if (timelevels == 1) -{ - STORAGE: ML_metric[1] -} -if (timelevels == 2) -{ - STORAGE: ML_metric[2] -} -if (timelevels == 3) -{ - STORAGE: ML_metric[3] -} +STORAGE: ML_metric[timelevels] -if (timelevels == 1) -{ - STORAGE: ML_shift[1] -} -if (timelevels == 2) -{ - STORAGE: ML_shift[2] -} -if (timelevels == 3) -{ - STORAGE: ML_shift[3] -} +STORAGE: ML_shift[timelevels] -if (rhs_timelevels == 1) -{ - STORAGE: ML_curvrhs[1] -} -if (rhs_timelevels == 2) -{ - STORAGE: ML_curvrhs[2] -} -if (rhs_timelevels == 3) -{ - STORAGE: ML_curvrhs[3] -} +STORAGE: ML_curvrhs[rhs_timelevels] -if (rhs_timelevels == 1) -{ - STORAGE: ML_lapserhs[1] -} -if (rhs_timelevels == 2) -{ - STORAGE: ML_lapserhs[2] -} -if (rhs_timelevels == 3) -{ - STORAGE: ML_lapserhs[3] -} +STORAGE: ML_lapserhs[rhs_timelevels] -if (rhs_timelevels == 1) -{ - STORAGE: ML_metricrhs[1] -} -if (rhs_timelevels == 2) -{ - STORAGE: ML_metricrhs[2] -} -if (rhs_timelevels == 3) -{ - STORAGE: ML_metricrhs[3] -} +STORAGE: ML_metricrhs[rhs_timelevels] -if (rhs_timelevels == 1) -{ - STORAGE: ML_shiftrhs[1] -} -if (rhs_timelevels == 2) -{ - STORAGE: ML_shiftrhs[2] -} -if (rhs_timelevels == 3) -{ - STORAGE: ML_shiftrhs[3] -} +STORAGE: ML_shiftrhs[rhs_timelevels] schedule ML_ADM_Startup at STARTUP { @@ -133,22 +39,22 @@ if (CCTK_EQUALS(my_initial_data, "Minkowski")) schedule ML_ADM_Minkowski IN ADMBase_InitialData { LANG: C - WRITES: ML_ADM::alpha(Everywhere) - WRITES: ML_ADM::beta1(Everywhere) - WRITES: ML_ADM::beta2(Everywhere) - WRITES: ML_ADM::beta3(Everywhere) - WRITES: ML_ADM::g11(Everywhere) - WRITES: ML_ADM::g12(Everywhere) - WRITES: ML_ADM::g13(Everywhere) - WRITES: ML_ADM::g22(Everywhere) - WRITES: ML_ADM::g23(Everywhere) - WRITES: ML_ADM::g33(Everywhere) - WRITES: ML_ADM::K11(Everywhere) - WRITES: ML_ADM::K12(Everywhere) - WRITES: ML_ADM::K13(Everywhere) - WRITES: ML_ADM::K22(Everywhere) - WRITES: ML_ADM::K23(Everywhere) - WRITES: ML_ADM::K33(Everywhere) + WRITES: ML_ADM::alpha(Everywhere) + WRITES: ML_ADM::beta1(Everywhere) + WRITES: ML_ADM::beta2(Everywhere) + WRITES: ML_ADM::beta3(Everywhere) + WRITES: ML_ADM::g11(Everywhere) + WRITES: ML_ADM::g12(Everywhere) + WRITES: ML_ADM::g13(Everywhere) + WRITES: ML_ADM::g22(Everywhere) + WRITES: ML_ADM::g23(Everywhere) + WRITES: ML_ADM::g33(Everywhere) + WRITES: ML_ADM::K11(Everywhere) + WRITES: ML_ADM::K12(Everywhere) + WRITES: ML_ADM::K13(Everywhere) + WRITES: ML_ADM::K22(Everywhere) + WRITES: ML_ADM::K23(Everywhere) + WRITES: ML_ADM::K33(Everywhere) } "ML_ADM_Minkowski" } @@ -158,76 +64,76 @@ if (CCTK_EQUALS(my_initial_data, "ADMBase")) schedule ML_ADM_convertFromADMBase AT initial AFTER ADMBase_PostInitial { LANG: C - READS: ADMBase::kxx(Everywhere) - READS: ADMBase::kxy(Everywhere) - READS: ADMBase::kxz(Everywhere) - READS: ADMBase::kyy(Everywhere) - READS: ADMBase::kyz(Everywhere) - READS: ADMBase::kzz(Everywhere) - READS: ADMBase::alp(Everywhere) - READS: ADMBase::gxx(Everywhere) - READS: ADMBase::gxy(Everywhere) - READS: ADMBase::gxz(Everywhere) - READS: ADMBase::gyy(Everywhere) - READS: ADMBase::gyz(Everywhere) - READS: ADMBase::gzz(Everywhere) - READS: ADMBase::betax(Everywhere) - READS: ADMBase::betay(Everywhere) - READS: ADMBase::betaz(Everywhere) - WRITES: ML_ADM::alpha(Everywhere) - WRITES: ML_ADM::beta1(Everywhere) - WRITES: ML_ADM::beta2(Everywhere) - WRITES: ML_ADM::beta3(Everywhere) - WRITES: ML_ADM::g11(Everywhere) - WRITES: ML_ADM::g12(Everywhere) - WRITES: ML_ADM::g13(Everywhere) - WRITES: ML_ADM::g22(Everywhere) - WRITES: ML_ADM::g23(Everywhere) - WRITES: ML_ADM::g33(Everywhere) - WRITES: ML_ADM::K11(Everywhere) - WRITES: ML_ADM::K12(Everywhere) - WRITES: ML_ADM::K13(Everywhere) - WRITES: ML_ADM::K22(Everywhere) - WRITES: ML_ADM::K23(Everywhere) - WRITES: ML_ADM::K33(Everywhere) + READS: ADMBase::kxx(Everywhere) + READS: ADMBase::kxy(Everywhere) + READS: ADMBase::kxz(Everywhere) + READS: ADMBase::kyy(Everywhere) + READS: ADMBase::kyz(Everywhere) + READS: ADMBase::kzz(Everywhere) + READS: ADMBase::alp(Everywhere) + READS: ADMBase::gxx(Everywhere) + READS: ADMBase::gxy(Everywhere) + READS: ADMBase::gxz(Everywhere) + READS: ADMBase::gyy(Everywhere) + READS: ADMBase::gyz(Everywhere) + READS: ADMBase::gzz(Everywhere) + READS: ADMBase::betax(Everywhere) + READS: ADMBase::betay(Everywhere) + READS: ADMBase::betaz(Everywhere) + WRITES: ML_ADM::alpha(Everywhere) + WRITES: ML_ADM::beta1(Everywhere) + WRITES: ML_ADM::beta2(Everywhere) + WRITES: ML_ADM::beta3(Everywhere) + WRITES: ML_ADM::g11(Everywhere) + WRITES: ML_ADM::g12(Everywhere) + WRITES: ML_ADM::g13(Everywhere) + WRITES: ML_ADM::g22(Everywhere) + WRITES: ML_ADM::g23(Everywhere) + WRITES: ML_ADM::g33(Everywhere) + WRITES: ML_ADM::K11(Everywhere) + WRITES: ML_ADM::K12(Everywhere) + WRITES: ML_ADM::K13(Everywhere) + WRITES: ML_ADM::K22(Everywhere) + WRITES: ML_ADM::K23(Everywhere) + WRITES: ML_ADM::K33(Everywhere) } "ML_ADM_convertFromADMBase" } schedule ML_ADM_RHS IN MoL_CalcRHS { LANG: C - READS: ML_ADM::K11(Everywhere) - READS: ML_ADM::K12(Everywhere) - READS: ML_ADM::K13(Everywhere) - READS: ML_ADM::K22(Everywhere) - READS: ML_ADM::K23(Everywhere) - READS: ML_ADM::K33(Everywhere) - READS: ML_ADM::alpha(Everywhere) - READS: ML_ADM::g11(Everywhere) - READS: ML_ADM::g12(Everywhere) - READS: ML_ADM::g13(Everywhere) - READS: ML_ADM::g22(Everywhere) - READS: ML_ADM::g23(Everywhere) - READS: ML_ADM::g33(Everywhere) - READS: ML_ADM::beta1(Everywhere) - READS: ML_ADM::beta2(Everywhere) - READS: ML_ADM::beta3(Everywhere) - WRITES: ML_ADM::alpharhs(Interior) - WRITES: ML_ADM::beta1rhs(Interior) - WRITES: ML_ADM::beta2rhs(Interior) - WRITES: ML_ADM::beta3rhs(Interior) - WRITES: ML_ADM::g11rhs(Interior) - WRITES: ML_ADM::g12rhs(Interior) - WRITES: ML_ADM::g13rhs(Interior) - WRITES: ML_ADM::g22rhs(Interior) - WRITES: ML_ADM::g23rhs(Interior) - WRITES: ML_ADM::g33rhs(Interior) - WRITES: ML_ADM::K11rhs(Interior) - WRITES: ML_ADM::K12rhs(Interior) - WRITES: ML_ADM::K13rhs(Interior) - WRITES: ML_ADM::K22rhs(Interior) - WRITES: ML_ADM::K23rhs(Interior) - WRITES: ML_ADM::K33rhs(Interior) + READS: ML_ADM::K11(Everywhere) + READS: ML_ADM::K12(Everywhere) + READS: ML_ADM::K13(Everywhere) + READS: ML_ADM::K22(Everywhere) + READS: ML_ADM::K23(Everywhere) + READS: ML_ADM::K33(Everywhere) + READS: ML_ADM::alpha(Everywhere) + READS: ML_ADM::g11(Everywhere) + READS: ML_ADM::g12(Everywhere) + READS: ML_ADM::g13(Everywhere) + READS: ML_ADM::g22(Everywhere) + READS: ML_ADM::g23(Everywhere) + READS: ML_ADM::g33(Everywhere) + READS: ML_ADM::beta1(Everywhere) + READS: ML_ADM::beta2(Everywhere) + READS: ML_ADM::beta3(Everywhere) + WRITES: ML_ADM::alpharhs(Interior) + WRITES: ML_ADM::beta1rhs(Interior) + WRITES: ML_ADM::beta2rhs(Interior) + WRITES: ML_ADM::beta3rhs(Interior) + WRITES: ML_ADM::g11rhs(Interior) + WRITES: ML_ADM::g12rhs(Interior) + WRITES: ML_ADM::g13rhs(Interior) + WRITES: ML_ADM::g22rhs(Interior) + WRITES: ML_ADM::g23rhs(Interior) + WRITES: ML_ADM::g33rhs(Interior) + WRITES: ML_ADM::K11rhs(Interior) + WRITES: ML_ADM::K12rhs(Interior) + WRITES: ML_ADM::K13rhs(Interior) + WRITES: ML_ADM::K22rhs(Interior) + WRITES: ML_ADM::K23rhs(Interior) + WRITES: ML_ADM::K33rhs(Interior) } "ML_ADM_RHS" schedule ML_ADM_RHS AT analysis @@ -237,38 +143,38 @@ schedule ML_ADM_RHS AT analysis SYNC: ML_lapserhs SYNC: ML_metricrhs SYNC: ML_shiftrhs - READS: ML_ADM::K11(Everywhere) - READS: ML_ADM::K12(Everywhere) - READS: ML_ADM::K13(Everywhere) - READS: ML_ADM::K22(Everywhere) - READS: ML_ADM::K23(Everywhere) - READS: ML_ADM::K33(Everywhere) - READS: ML_ADM::alpha(Everywhere) - READS: ML_ADM::g11(Everywhere) - READS: ML_ADM::g12(Everywhere) - READS: ML_ADM::g13(Everywhere) - READS: ML_ADM::g22(Everywhere) - READS: ML_ADM::g23(Everywhere) - READS: ML_ADM::g33(Everywhere) - READS: ML_ADM::beta1(Everywhere) - READS: ML_ADM::beta2(Everywhere) - READS: ML_ADM::beta3(Everywhere) - WRITES: ML_ADM::alpharhs(Interior) - WRITES: ML_ADM::beta1rhs(Interior) - WRITES: ML_ADM::beta2rhs(Interior) - WRITES: ML_ADM::beta3rhs(Interior) - WRITES: ML_ADM::g11rhs(Interior) - WRITES: ML_ADM::g12rhs(Interior) - WRITES: ML_ADM::g13rhs(Interior) - WRITES: ML_ADM::g22rhs(Interior) - WRITES: ML_ADM::g23rhs(Interior) - WRITES: ML_ADM::g33rhs(Interior) - WRITES: ML_ADM::K11rhs(Interior) - WRITES: ML_ADM::K12rhs(Interior) - WRITES: ML_ADM::K13rhs(Interior) - WRITES: ML_ADM::K22rhs(Interior) - WRITES: ML_ADM::K23rhs(Interior) - WRITES: ML_ADM::K33rhs(Interior) + READS: ML_ADM::K11(Everywhere) + READS: ML_ADM::K12(Everywhere) + READS: ML_ADM::K13(Everywhere) + READS: ML_ADM::K22(Everywhere) + READS: ML_ADM::K23(Everywhere) + READS: ML_ADM::K33(Everywhere) + READS: ML_ADM::alpha(Everywhere) + READS: ML_ADM::g11(Everywhere) + READS: ML_ADM::g12(Everywhere) + READS: ML_ADM::g13(Everywhere) + READS: ML_ADM::g22(Everywhere) + READS: ML_ADM::g23(Everywhere) + READS: ML_ADM::g33(Everywhere) + READS: ML_ADM::beta1(Everywhere) + READS: ML_ADM::beta2(Everywhere) + READS: ML_ADM::beta3(Everywhere) + WRITES: ML_ADM::alpharhs(Interior) + WRITES: ML_ADM::beta1rhs(Interior) + WRITES: ML_ADM::beta2rhs(Interior) + WRITES: ML_ADM::beta3rhs(Interior) + WRITES: ML_ADM::g11rhs(Interior) + WRITES: ML_ADM::g12rhs(Interior) + WRITES: ML_ADM::g13rhs(Interior) + WRITES: ML_ADM::g22rhs(Interior) + WRITES: ML_ADM::g23rhs(Interior) + WRITES: ML_ADM::g33rhs(Interior) + WRITES: ML_ADM::K11rhs(Interior) + WRITES: ML_ADM::K12rhs(Interior) + WRITES: ML_ADM::K13rhs(Interior) + WRITES: ML_ADM::K22rhs(Interior) + WRITES: ML_ADM::K23rhs(Interior) + WRITES: ML_ADM::K33rhs(Interior) } "ML_ADM_RHS" @@ -277,64 +183,64 @@ if (CCTK_EQUALS(my_boundary_condition, "Minkowski")) schedule ML_ADM_boundary IN MoL_PostStep { LANG: C - WRITES: ML_ADM::alpha(ERROR(BoundaryWithGhosts)) - WRITES: ML_ADM::beta1(ERROR(BoundaryWithGhosts)) - WRITES: ML_ADM::beta2(ERROR(BoundaryWithGhosts)) - WRITES: ML_ADM::beta3(ERROR(BoundaryWithGhosts)) - WRITES: ML_ADM::g11(ERROR(BoundaryWithGhosts)) - WRITES: ML_ADM::g12(ERROR(BoundaryWithGhosts)) - WRITES: ML_ADM::g13(ERROR(BoundaryWithGhosts)) - WRITES: ML_ADM::g22(ERROR(BoundaryWithGhosts)) - WRITES: ML_ADM::g23(ERROR(BoundaryWithGhosts)) - WRITES: ML_ADM::g33(ERROR(BoundaryWithGhosts)) - WRITES: ML_ADM::K11(ERROR(BoundaryWithGhosts)) - WRITES: ML_ADM::K12(ERROR(BoundaryWithGhosts)) - WRITES: ML_ADM::K13(ERROR(BoundaryWithGhosts)) - WRITES: ML_ADM::K22(ERROR(BoundaryWithGhosts)) - WRITES: ML_ADM::K23(ERROR(BoundaryWithGhosts)) - WRITES: ML_ADM::K33(ERROR(BoundaryWithGhosts)) + WRITES: ML_ADM::alpha(ERROR(BoundaryWithGhosts)) + WRITES: ML_ADM::beta1(ERROR(BoundaryWithGhosts)) + WRITES: ML_ADM::beta2(ERROR(BoundaryWithGhosts)) + WRITES: ML_ADM::beta3(ERROR(BoundaryWithGhosts)) + WRITES: ML_ADM::g11(ERROR(BoundaryWithGhosts)) + WRITES: ML_ADM::g12(ERROR(BoundaryWithGhosts)) + WRITES: ML_ADM::g13(ERROR(BoundaryWithGhosts)) + WRITES: ML_ADM::g22(ERROR(BoundaryWithGhosts)) + WRITES: ML_ADM::g23(ERROR(BoundaryWithGhosts)) + WRITES: ML_ADM::g33(ERROR(BoundaryWithGhosts)) + WRITES: ML_ADM::K11(ERROR(BoundaryWithGhosts)) + WRITES: ML_ADM::K12(ERROR(BoundaryWithGhosts)) + WRITES: ML_ADM::K13(ERROR(BoundaryWithGhosts)) + WRITES: ML_ADM::K22(ERROR(BoundaryWithGhosts)) + WRITES: ML_ADM::K23(ERROR(BoundaryWithGhosts)) + WRITES: ML_ADM::K33(ERROR(BoundaryWithGhosts)) } "ML_ADM_boundary" } schedule ML_ADM_convertToADMBase IN MoL_PostStep AFTER ML_ADM_ApplyBCs { LANG: C - READS: ML_ADM::K11(Everywhere) - READS: ML_ADM::K12(Everywhere) - READS: ML_ADM::K13(Everywhere) - READS: ML_ADM::K22(Everywhere) - READS: ML_ADM::K23(Everywhere) - READS: ML_ADM::K33(Everywhere) - READS: ML_ADM::alpha(Everywhere) - READS: ML_ADM::g11(Everywhere) - READS: ML_ADM::g12(Everywhere) - READS: ML_ADM::g13(Everywhere) - READS: ML_ADM::g22(Everywhere) - READS: ML_ADM::g23(Everywhere) - READS: ML_ADM::g33(Everywhere) - READS: ML_ADM::beta1(Everywhere) - READS: ML_ADM::beta2(Everywhere) - READS: ML_ADM::beta3(Everywhere) - WRITES: ADMBase::alp(Everywhere) - WRITES: ADMBase::betax(Everywhere) - WRITES: ADMBase::betay(Everywhere) - WRITES: ADMBase::betaz(Everywhere) - WRITES: ADMBase::dtalp(Everywhere) - WRITES: ADMBase::dtbetax(Everywhere) - WRITES: ADMBase::dtbetay(Everywhere) - WRITES: ADMBase::dtbetaz(Everywhere) - WRITES: ADMBase::gxx(Everywhere) - WRITES: ADMBase::gxy(Everywhere) - WRITES: ADMBase::gxz(Everywhere) - WRITES: ADMBase::gyy(Everywhere) - WRITES: ADMBase::gyz(Everywhere) - WRITES: ADMBase::gzz(Everywhere) - WRITES: ADMBase::kxx(Everywhere) - WRITES: ADMBase::kxy(Everywhere) - WRITES: ADMBase::kxz(Everywhere) - WRITES: ADMBase::kyy(Everywhere) - WRITES: ADMBase::kyz(Everywhere) - WRITES: ADMBase::kzz(Everywhere) + READS: ML_ADM::K11(Everywhere) + READS: ML_ADM::K12(Everywhere) + READS: ML_ADM::K13(Everywhere) + READS: ML_ADM::K22(Everywhere) + READS: ML_ADM::K23(Everywhere) + READS: ML_ADM::K33(Everywhere) + READS: ML_ADM::alpha(Everywhere) + READS: ML_ADM::g11(Everywhere) + READS: ML_ADM::g12(Everywhere) + READS: ML_ADM::g13(Everywhere) + READS: ML_ADM::g22(Everywhere) + READS: ML_ADM::g23(Everywhere) + READS: ML_ADM::g33(Everywhere) + READS: ML_ADM::beta1(Everywhere) + READS: ML_ADM::beta2(Everywhere) + READS: ML_ADM::beta3(Everywhere) + WRITES: ADMBase::alp(Everywhere) + WRITES: ADMBase::betax(Everywhere) + WRITES: ADMBase::betay(Everywhere) + WRITES: ADMBase::betaz(Everywhere) + WRITES: ADMBase::dtalp(Everywhere) + WRITES: ADMBase::dtbetax(Everywhere) + WRITES: ADMBase::dtbetay(Everywhere) + WRITES: ADMBase::dtbetaz(Everywhere) + WRITES: ADMBase::gxx(Everywhere) + WRITES: ADMBase::gxy(Everywhere) + WRITES: ADMBase::gxz(Everywhere) + WRITES: ADMBase::gyy(Everywhere) + WRITES: ADMBase::gyz(Everywhere) + WRITES: ADMBase::gzz(Everywhere) + WRITES: ADMBase::kxx(Everywhere) + WRITES: ADMBase::kxy(Everywhere) + WRITES: ADMBase::kxz(Everywhere) + WRITES: ADMBase::kyy(Everywhere) + WRITES: ADMBase::kyz(Everywhere) + WRITES: ADMBase::kzz(Everywhere) } "ML_ADM_convertToADMBase" schedule ML_ADM_constraints AT analysis @@ -342,31 +248,31 @@ schedule ML_ADM_constraints AT analysis LANG: C SYNC: ML_Ham SYNC: ML_mom - READS: ML_ADM::K11(Everywhere) - READS: ML_ADM::K12(Everywhere) - READS: ML_ADM::K13(Everywhere) - READS: ML_ADM::K22(Everywhere) - READS: ML_ADM::K23(Everywhere) - READS: ML_ADM::K33(Everywhere) - READS: ML_ADM::g11(Everywhere) - READS: ML_ADM::g12(Everywhere) - READS: ML_ADM::g13(Everywhere) - READS: ML_ADM::g22(Everywhere) - READS: ML_ADM::g23(Everywhere) - READS: ML_ADM::g33(Everywhere) - WRITES: ML_ADM::H(Interior) - WRITES: ML_ADM::M1(Interior) - WRITES: ML_ADM::M2(Interior) - WRITES: ML_ADM::M3(Interior) + READS: ML_ADM::K11(Everywhere) + READS: ML_ADM::K12(Everywhere) + READS: ML_ADM::K13(Everywhere) + READS: ML_ADM::K22(Everywhere) + READS: ML_ADM::K23(Everywhere) + READS: ML_ADM::K33(Everywhere) + READS: ML_ADM::g11(Everywhere) + READS: ML_ADM::g12(Everywhere) + READS: ML_ADM::g13(Everywhere) + READS: ML_ADM::g22(Everywhere) + READS: ML_ADM::g23(Everywhere) + READS: ML_ADM::g33(Everywhere) + WRITES: ML_ADM::H(Interior) + WRITES: ML_ADM::M1(Interior) + WRITES: ML_ADM::M2(Interior) + WRITES: ML_ADM::M3(Interior) } "ML_ADM_constraints" schedule ML_ADM_constraints_boundary AT analysis AFTER ML_ADM_constraints { LANG: C - WRITES: ML_ADM::H(ERROR(BoundaryWithGhosts)) - WRITES: ML_ADM::M1(ERROR(BoundaryWithGhosts)) - WRITES: ML_ADM::M2(ERROR(BoundaryWithGhosts)) - WRITES: ML_ADM::M3(ERROR(BoundaryWithGhosts)) + WRITES: ML_ADM::H(ERROR(BoundaryWithGhosts)) + WRITES: ML_ADM::M1(ERROR(BoundaryWithGhosts)) + WRITES: ML_ADM::M2(ERROR(BoundaryWithGhosts)) + WRITES: ML_ADM::M3(ERROR(BoundaryWithGhosts)) } "ML_ADM_constraints_boundary" schedule ML_ADM_SelectBoundConds in MoL_PostStep diff --git a/ML_ADM/src/Boundaries.cc b/ML_ADM/src/Boundaries.cc index 03f536d..f150f48 100644 --- a/ML_ADM/src/Boundaries.cc +++ b/ML_ADM/src/Boundaries.cc @@ -30,7 +30,7 @@ extern "C" void ML_ADM_SelectBoundConds(CCTK_ARGUMENTS) DECLARE_CCTK_ARGUMENTS; DECLARE_CCTK_PARAMETERS; - CCTK_INT ierr CCTK_ATTRIBUTE_UNUSED = 0; + CCTK_INT ierr CCTK_ATTRIBUTE_UNUSED = 0; if (CCTK_EQUALS(ML_curv_bound, "none" ) || CCTK_EQUALS(ML_curv_bound, "static") || @@ -255,7 +255,7 @@ extern "C" void ML_ADM_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(ML_curv_bound, "radiative")) { /* select radiation boundary condition */ - static CCTK_INT handle_ML_curv_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_ML_curv_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_ML_curv_bound < 0) handle_ML_curv_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_ML_curv_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_ML_curv_bound , ML_curv_bound_limit, "LIMIT") < 0) @@ -274,7 +274,7 @@ extern "C" void ML_ADM_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(ML_lapse_bound, "radiative")) { /* select radiation boundary condition */ - static CCTK_INT handle_ML_lapse_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_ML_lapse_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_ML_lapse_bound < 0) handle_ML_lapse_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_ML_lapse_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_ML_lapse_bound , ML_lapse_bound_limit, "LIMIT") < 0) @@ -293,7 +293,7 @@ extern "C" void ML_ADM_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(ML_metric_bound, "radiative")) { /* select radiation boundary condition */ - static CCTK_INT handle_ML_metric_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_ML_metric_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_ML_metric_bound < 0) handle_ML_metric_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_ML_metric_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_ML_metric_bound , ML_metric_bound_limit, "LIMIT") < 0) @@ -312,7 +312,7 @@ extern "C" void ML_ADM_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(ML_shift_bound, "radiative")) { /* select radiation boundary condition */ - static CCTK_INT handle_ML_shift_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_ML_shift_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_ML_shift_bound < 0) handle_ML_shift_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_ML_shift_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_ML_shift_bound , ML_shift_bound_limit, "LIMIT") < 0) @@ -331,7 +331,7 @@ extern "C" void ML_ADM_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(K11_bound, "radiative")) { /* select radiation boundary condition */ - static CCTK_INT handle_K11_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_K11_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_K11_bound < 0) handle_K11_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_K11_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_K11_bound , K11_bound_limit, "LIMIT") < 0) @@ -350,7 +350,7 @@ extern "C" void ML_ADM_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(K12_bound, "radiative")) { /* select radiation boundary condition */ - static CCTK_INT handle_K12_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_K12_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_K12_bound < 0) handle_K12_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_K12_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_K12_bound , K12_bound_limit, "LIMIT") < 0) @@ -369,7 +369,7 @@ extern "C" void ML_ADM_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(K13_bound, "radiative")) { /* select radiation boundary condition */ - static CCTK_INT handle_K13_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_K13_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_K13_bound < 0) handle_K13_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_K13_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_K13_bound , K13_bound_limit, "LIMIT") < 0) @@ -388,7 +388,7 @@ extern "C" void ML_ADM_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(K22_bound, "radiative")) { /* select radiation boundary condition */ - static CCTK_INT handle_K22_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_K22_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_K22_bound < 0) handle_K22_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_K22_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_K22_bound , K22_bound_limit, "LIMIT") < 0) @@ -407,7 +407,7 @@ extern "C" void ML_ADM_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(K23_bound, "radiative")) { /* select radiation boundary condition */ - static CCTK_INT handle_K23_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_K23_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_K23_bound < 0) handle_K23_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_K23_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_K23_bound , K23_bound_limit, "LIMIT") < 0) @@ -426,7 +426,7 @@ extern "C" void ML_ADM_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(K33_bound, "radiative")) { /* select radiation boundary condition */ - static CCTK_INT handle_K33_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_K33_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_K33_bound < 0) handle_K33_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_K33_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_K33_bound , K33_bound_limit, "LIMIT") < 0) @@ -445,7 +445,7 @@ extern "C" void ML_ADM_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(alpha_bound, "radiative")) { /* select radiation boundary condition */ - static CCTK_INT handle_alpha_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_alpha_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_alpha_bound < 0) handle_alpha_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_alpha_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_alpha_bound , alpha_bound_limit, "LIMIT") < 0) @@ -464,7 +464,7 @@ extern "C" void ML_ADM_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(g11_bound, "radiative")) { /* select radiation boundary condition */ - static CCTK_INT handle_g11_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_g11_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_g11_bound < 0) handle_g11_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_g11_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_g11_bound , g11_bound_limit, "LIMIT") < 0) @@ -483,7 +483,7 @@ extern "C" void ML_ADM_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(g12_bound, "radiative")) { /* select radiation boundary condition */ - static CCTK_INT handle_g12_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_g12_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_g12_bound < 0) handle_g12_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_g12_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_g12_bound , g12_bound_limit, "LIMIT") < 0) @@ -502,7 +502,7 @@ extern "C" void ML_ADM_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(g13_bound, "radiative")) { /* select radiation boundary condition */ - static CCTK_INT handle_g13_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_g13_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_g13_bound < 0) handle_g13_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_g13_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_g13_bound , g13_bound_limit, "LIMIT") < 0) @@ -521,7 +521,7 @@ extern "C" void ML_ADM_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(g22_bound, "radiative")) { /* select radiation boundary condition */ - static CCTK_INT handle_g22_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_g22_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_g22_bound < 0) handle_g22_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_g22_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_g22_bound , g22_bound_limit, "LIMIT") < 0) @@ -540,7 +540,7 @@ extern "C" void ML_ADM_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(g23_bound, "radiative")) { /* select radiation boundary condition */ - static CCTK_INT handle_g23_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_g23_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_g23_bound < 0) handle_g23_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_g23_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_g23_bound , g23_bound_limit, "LIMIT") < 0) @@ -559,7 +559,7 @@ extern "C" void ML_ADM_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(g33_bound, "radiative")) { /* select radiation boundary condition */ - static CCTK_INT handle_g33_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_g33_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_g33_bound < 0) handle_g33_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_g33_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_g33_bound , g33_bound_limit, "LIMIT") < 0) @@ -578,7 +578,7 @@ extern "C" void ML_ADM_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(beta1_bound, "radiative")) { /* select radiation boundary condition */ - static CCTK_INT handle_beta1_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_beta1_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_beta1_bound < 0) handle_beta1_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_beta1_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_beta1_bound , beta1_bound_limit, "LIMIT") < 0) @@ -597,7 +597,7 @@ extern "C" void ML_ADM_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(beta2_bound, "radiative")) { /* select radiation boundary condition */ - static CCTK_INT handle_beta2_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_beta2_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_beta2_bound < 0) handle_beta2_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_beta2_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_beta2_bound , beta2_bound_limit, "LIMIT") < 0) @@ -616,7 +616,7 @@ extern "C" void ML_ADM_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(beta3_bound, "radiative")) { /* select radiation boundary condition */ - static CCTK_INT handle_beta3_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_beta3_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_beta3_bound < 0) handle_beta3_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_beta3_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_beta3_bound , beta3_bound_limit, "LIMIT") < 0) @@ -635,7 +635,7 @@ extern "C" void ML_ADM_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(ML_curv_bound, "scalar")) { /* select scalar boundary condition */ - static CCTK_INT handle_ML_curv_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_ML_curv_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_ML_curv_bound < 0) handle_ML_curv_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_ML_curv_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_ML_curv_bound ,ML_curv_bound_scalar, "SCALAR") < 0) @@ -652,7 +652,7 @@ extern "C" void ML_ADM_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(ML_lapse_bound, "scalar")) { /* select scalar boundary condition */ - static CCTK_INT handle_ML_lapse_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_ML_lapse_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_ML_lapse_bound < 0) handle_ML_lapse_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_ML_lapse_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_ML_lapse_bound ,ML_lapse_bound_scalar, "SCALAR") < 0) @@ -669,7 +669,7 @@ extern "C" void ML_ADM_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(ML_metric_bound, "scalar")) { /* select scalar boundary condition */ - static CCTK_INT handle_ML_metric_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_ML_metric_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_ML_metric_bound < 0) handle_ML_metric_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_ML_metric_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_ML_metric_bound ,ML_metric_bound_scalar, "SCALAR") < 0) @@ -686,7 +686,7 @@ extern "C" void ML_ADM_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(ML_shift_bound, "scalar")) { /* select scalar boundary condition */ - static CCTK_INT handle_ML_shift_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_ML_shift_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_ML_shift_bound < 0) handle_ML_shift_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_ML_shift_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_ML_shift_bound ,ML_shift_bound_scalar, "SCALAR") < 0) @@ -703,7 +703,7 @@ extern "C" void ML_ADM_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(K11_bound, "scalar")) { /* select scalar boundary condition */ - static CCTK_INT handle_K11_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_K11_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_K11_bound < 0) handle_K11_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_K11_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_K11_bound ,K11_bound_scalar, "SCALAR") < 0) @@ -720,7 +720,7 @@ extern "C" void ML_ADM_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(K12_bound, "scalar")) { /* select scalar boundary condition */ - static CCTK_INT handle_K12_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_K12_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_K12_bound < 0) handle_K12_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_K12_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_K12_bound ,K12_bound_scalar, "SCALAR") < 0) @@ -737,7 +737,7 @@ extern "C" void ML_ADM_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(K13_bound, "scalar")) { /* select scalar boundary condition */ - static CCTK_INT handle_K13_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_K13_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_K13_bound < 0) handle_K13_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_K13_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_K13_bound ,K13_bound_scalar, "SCALAR") < 0) @@ -754,7 +754,7 @@ extern "C" void ML_ADM_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(K22_bound, "scalar")) { /* select scalar boundary condition */ - static CCTK_INT handle_K22_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_K22_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_K22_bound < 0) handle_K22_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_K22_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_K22_bound ,K22_bound_scalar, "SCALAR") < 0) @@ -771,7 +771,7 @@ extern "C" void ML_ADM_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(K23_bound, "scalar")) { /* select scalar boundary condition */ - static CCTK_INT handle_K23_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_K23_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_K23_bound < 0) handle_K23_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_K23_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_K23_bound ,K23_bound_scalar, "SCALAR") < 0) @@ -788,7 +788,7 @@ extern "C" void ML_ADM_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(K33_bound, "scalar")) { /* select scalar boundary condition */ - static CCTK_INT handle_K33_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_K33_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_K33_bound < 0) handle_K33_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_K33_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_K33_bound ,K33_bound_scalar, "SCALAR") < 0) @@ -805,7 +805,7 @@ extern "C" void ML_ADM_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(alpha_bound, "scalar")) { /* select scalar boundary condition */ - static CCTK_INT handle_alpha_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_alpha_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_alpha_bound < 0) handle_alpha_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_alpha_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_alpha_bound ,alpha_bound_scalar, "SCALAR") < 0) @@ -822,7 +822,7 @@ extern "C" void ML_ADM_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(g11_bound, "scalar")) { /* select scalar boundary condition */ - static CCTK_INT handle_g11_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_g11_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_g11_bound < 0) handle_g11_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_g11_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_g11_bound ,g11_bound_scalar, "SCALAR") < 0) @@ -839,7 +839,7 @@ extern "C" void ML_ADM_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(g12_bound, "scalar")) { /* select scalar boundary condition */ - static CCTK_INT handle_g12_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_g12_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_g12_bound < 0) handle_g12_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_g12_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_g12_bound ,g12_bound_scalar, "SCALAR") < 0) @@ -856,7 +856,7 @@ extern "C" void ML_ADM_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(g13_bound, "scalar")) { /* select scalar boundary condition */ - static CCTK_INT handle_g13_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_g13_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_g13_bound < 0) handle_g13_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_g13_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_g13_bound ,g13_bound_scalar, "SCALAR") < 0) @@ -873,7 +873,7 @@ extern "C" void ML_ADM_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(g22_bound, "scalar")) { /* select scalar boundary condition */ - static CCTK_INT handle_g22_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_g22_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_g22_bound < 0) handle_g22_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_g22_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_g22_bound ,g22_bound_scalar, "SCALAR") < 0) @@ -890,7 +890,7 @@ extern "C" void ML_ADM_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(g23_bound, "scalar")) { /* select scalar boundary condition */ - static CCTK_INT handle_g23_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_g23_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_g23_bound < 0) handle_g23_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_g23_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_g23_bound ,g23_bound_scalar, "SCALAR") < 0) @@ -907,7 +907,7 @@ extern "C" void ML_ADM_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(g33_bound, "scalar")) { /* select scalar boundary condition */ - static CCTK_INT handle_g33_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_g33_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_g33_bound < 0) handle_g33_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_g33_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_g33_bound ,g33_bound_scalar, "SCALAR") < 0) @@ -924,7 +924,7 @@ extern "C" void ML_ADM_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(beta1_bound, "scalar")) { /* select scalar boundary condition */ - static CCTK_INT handle_beta1_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_beta1_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_beta1_bound < 0) handle_beta1_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_beta1_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_beta1_bound ,beta1_bound_scalar, "SCALAR") < 0) @@ -941,7 +941,7 @@ extern "C" void ML_ADM_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(beta2_bound, "scalar")) { /* select scalar boundary condition */ - static CCTK_INT handle_beta2_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_beta2_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_beta2_bound < 0) handle_beta2_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_beta2_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_beta2_bound ,beta2_bound_scalar, "SCALAR") < 0) @@ -958,7 +958,7 @@ extern "C" void ML_ADM_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(beta3_bound, "scalar")) { /* select scalar boundary condition */ - static CCTK_INT handle_beta3_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_beta3_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_beta3_bound < 0) handle_beta3_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_beta3_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_beta3_bound ,beta3_bound_scalar, "SCALAR") < 0) diff --git a/ML_ADM/src/Differencing.h b/ML_ADM/src/Differencing.h index a61e238..1c924e0 100644 --- a/ML_ADM/src/Differencing.h +++ b/ML_ADM/src/Differencing.h @@ -2,578 +2,578 @@ #include "vectors.h" #ifndef KRANC_DIFF_FUNCTIONS -# define PDstandardNthfdOrder21(u) (kmul(p1o2dx,kmadd(KRANC_GFOFFSET3D(u,-1,0,0),ToReal(-1.),KRANC_GFOFFSET3D(u,1,0,0)))) +# define PDstandardNthfdOrder21(u) (kmul(p1o2dx,ksub(KRANC_GFOFFSET3D(u,1,0,0),KRANC_GFOFFSET3D(u,-1,0,0)))) #else # define PDstandardNthfdOrder21(u) (PDstandardNthfdOrder21_impl(u,p1o2dx,cdj,cdk)) -static CCTK_REAL_VEC PDstandardNthfdOrder21_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o2dx, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL_VEC PDstandardNthfdOrder21_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o2dx, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDstandardNthfdOrder21_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o2dx, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL_VEC PDstandardNthfdOrder21_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o2dx, const ptrdiff_t cdj, const ptrdiff_t cdk) { - ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); - return kmul(p1o2dx,kmadd(KRANC_GFOFFSET3D(u,-1,0,0),ToReal(-1.),KRANC_GFOFFSET3D(u,1,0,0))); + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); + return kmul(p1o2dx,ksub(KRANC_GFOFFSET3D(u,1,0,0),KRANC_GFOFFSET3D(u,-1,0,0))); } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDstandardNthfdOrder22(u) (kmul(p1o2dy,kmadd(KRANC_GFOFFSET3D(u,0,-1,0),ToReal(-1.),KRANC_GFOFFSET3D(u,0,1,0)))) +# define PDstandardNthfdOrder22(u) (kmul(p1o2dy,ksub(KRANC_GFOFFSET3D(u,0,1,0),KRANC_GFOFFSET3D(u,0,-1,0)))) #else # define PDstandardNthfdOrder22(u) (PDstandardNthfdOrder22_impl(u,p1o2dy,cdj,cdk)) -static CCTK_REAL_VEC PDstandardNthfdOrder22_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o2dy, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL_VEC PDstandardNthfdOrder22_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o2dy, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDstandardNthfdOrder22_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o2dy, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL_VEC PDstandardNthfdOrder22_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o2dy, const ptrdiff_t cdj, const ptrdiff_t cdk) { - ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); - return kmul(p1o2dy,kmadd(KRANC_GFOFFSET3D(u,0,-1,0),ToReal(-1.),KRANC_GFOFFSET3D(u,0,1,0))); + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); + return kmul(p1o2dy,ksub(KRANC_GFOFFSET3D(u,0,1,0),KRANC_GFOFFSET3D(u,0,-1,0))); } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDstandardNthfdOrder23(u) (kmul(p1o2dz,kmadd(KRANC_GFOFFSET3D(u,0,0,-1),ToReal(-1.),KRANC_GFOFFSET3D(u,0,0,1)))) +# define PDstandardNthfdOrder23(u) (kmul(p1o2dz,ksub(KRANC_GFOFFSET3D(u,0,0,1),KRANC_GFOFFSET3D(u,0,0,-1)))) #else # define PDstandardNthfdOrder23(u) (PDstandardNthfdOrder23_impl(u,p1o2dz,cdj,cdk)) -static CCTK_REAL_VEC PDstandardNthfdOrder23_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o2dz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL_VEC PDstandardNthfdOrder23_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o2dz, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDstandardNthfdOrder23_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o2dz, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL_VEC PDstandardNthfdOrder23_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o2dz, const ptrdiff_t cdj, const ptrdiff_t cdk) { - ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); - return kmul(p1o2dz,kmadd(KRANC_GFOFFSET3D(u,0,0,-1),ToReal(-1.),KRANC_GFOFFSET3D(u,0,0,1))); + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); + return PDstandardNthfdOrder22_impl(u, p1o2dz, cdk, cdj); } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDstandardNthfdOrder41(u) (kmul(p1o12dx,kadd(KRANC_GFOFFSET3D(u,-2,0,0),kmadd(KRANC_GFOFFSET3D(u,-1,0,0),ToReal(-8.),kmadd(KRANC_GFOFFSET3D(u,2,0,0),ToReal(-1.),kmul(KRANC_GFOFFSET3D(u,1,0,0),ToReal(8.))))))) +# define PDstandardNthfdOrder41(u) (kmul(p1o12dx,kadd(KRANC_GFOFFSET3D(u,-2,0,0),kmadd(KRANC_GFOFFSET3D(u,-1,0,0),ToReal(-8),kmsub(KRANC_GFOFFSET3D(u,1,0,0),ToReal(8),KRANC_GFOFFSET3D(u,2,0,0)))))) #else # define PDstandardNthfdOrder41(u) (PDstandardNthfdOrder41_impl(u,p1o12dx,cdj,cdk)) -static CCTK_REAL_VEC PDstandardNthfdOrder41_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o12dx, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL_VEC PDstandardNthfdOrder41_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o12dx, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDstandardNthfdOrder41_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o12dx, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL_VEC PDstandardNthfdOrder41_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o12dx, const ptrdiff_t cdj, const ptrdiff_t cdk) { - ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); - return kmul(p1o12dx,kadd(KRANC_GFOFFSET3D(u,-2,0,0),kmadd(KRANC_GFOFFSET3D(u,-1,0,0),ToReal(-8.),kmadd(KRANC_GFOFFSET3D(u,2,0,0),ToReal(-1.),kmul(KRANC_GFOFFSET3D(u,1,0,0),ToReal(8.)))))); + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); + return kmul(p1o12dx,kadd(KRANC_GFOFFSET3D(u,-2,0,0),kmadd(KRANC_GFOFFSET3D(u,-1,0,0),ToReal(-8),kmsub(KRANC_GFOFFSET3D(u,1,0,0),ToReal(8),KRANC_GFOFFSET3D(u,2,0,0))))); } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDstandardNthfdOrder42(u) (kmul(p1o12dy,kadd(KRANC_GFOFFSET3D(u,0,-2,0),kmadd(KRANC_GFOFFSET3D(u,0,-1,0),ToReal(-8.),kmadd(KRANC_GFOFFSET3D(u,0,2,0),ToReal(-1.),kmul(KRANC_GFOFFSET3D(u,0,1,0),ToReal(8.))))))) +# define PDstandardNthfdOrder42(u) (kmul(p1o12dy,kadd(KRANC_GFOFFSET3D(u,0,-2,0),kmadd(KRANC_GFOFFSET3D(u,0,-1,0),ToReal(-8),kmsub(KRANC_GFOFFSET3D(u,0,1,0),ToReal(8),KRANC_GFOFFSET3D(u,0,2,0)))))) #else # define PDstandardNthfdOrder42(u) (PDstandardNthfdOrder42_impl(u,p1o12dy,cdj,cdk)) -static CCTK_REAL_VEC PDstandardNthfdOrder42_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o12dy, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL_VEC PDstandardNthfdOrder42_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o12dy, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDstandardNthfdOrder42_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o12dy, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL_VEC PDstandardNthfdOrder42_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o12dy, const ptrdiff_t cdj, const ptrdiff_t cdk) { - ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); - return kmul(p1o12dy,kadd(KRANC_GFOFFSET3D(u,0,-2,0),kmadd(KRANC_GFOFFSET3D(u,0,-1,0),ToReal(-8.),kmadd(KRANC_GFOFFSET3D(u,0,2,0),ToReal(-1.),kmul(KRANC_GFOFFSET3D(u,0,1,0),ToReal(8.)))))); + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); + return kmul(p1o12dy,kadd(KRANC_GFOFFSET3D(u,0,-2,0),kmadd(KRANC_GFOFFSET3D(u,0,-1,0),ToReal(-8),kmsub(KRANC_GFOFFSET3D(u,0,1,0),ToReal(8),KRANC_GFOFFSET3D(u,0,2,0))))); } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDstandardNthfdOrder43(u) (kmul(p1o12dz,kadd(KRANC_GFOFFSET3D(u,0,0,-2),kmadd(KRANC_GFOFFSET3D(u,0,0,-1),ToReal(-8.),kmadd(KRANC_GFOFFSET3D(u,0,0,2),ToReal(-1.),kmul(KRANC_GFOFFSET3D(u,0,0,1),ToReal(8.))))))) +# define PDstandardNthfdOrder43(u) (kmul(p1o12dz,kadd(KRANC_GFOFFSET3D(u,0,0,-2),kmadd(KRANC_GFOFFSET3D(u,0,0,-1),ToReal(-8),kmsub(KRANC_GFOFFSET3D(u,0,0,1),ToReal(8),KRANC_GFOFFSET3D(u,0,0,2)))))) #else # define PDstandardNthfdOrder43(u) (PDstandardNthfdOrder43_impl(u,p1o12dz,cdj,cdk)) -static CCTK_REAL_VEC PDstandardNthfdOrder43_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o12dz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL_VEC PDstandardNthfdOrder43_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o12dz, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDstandardNthfdOrder43_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o12dz, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL_VEC PDstandardNthfdOrder43_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o12dz, const ptrdiff_t cdj, const ptrdiff_t cdk) { - ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); - return kmul(p1o12dz,kadd(KRANC_GFOFFSET3D(u,0,0,-2),kmadd(KRANC_GFOFFSET3D(u,0,0,-1),ToReal(-8.),kmadd(KRANC_GFOFFSET3D(u,0,0,2),ToReal(-1.),kmul(KRANC_GFOFFSET3D(u,0,0,1),ToReal(8.)))))); + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); + return PDstandardNthfdOrder42_impl(u, p1o12dz, cdk, cdj); } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDstandardNthfdOrder61(u) (kmul(p1o60dx,kadd(KRANC_GFOFFSET3D(u,3,0,0),kmadd(KRANC_GFOFFSET3D(u,-1,0,0),ToReal(-45.),kmadd(KRANC_GFOFFSET3D(u,2,0,0),ToReal(-9.),kmadd(KRANC_GFOFFSET3D(u,-3,0,0),ToReal(-1.),kmadd(KRANC_GFOFFSET3D(u,-2,0,0),ToReal(9.),kmul(KRANC_GFOFFSET3D(u,1,0,0),ToReal(45.))))))))) +# define PDstandardNthfdOrder61(u) (kmul(p1o60dx,kadd(KRANC_GFOFFSET3D(u,3,0,0),kmadd(KRANC_GFOFFSET3D(u,-1,0,0),ToReal(-45),kmadd(KRANC_GFOFFSET3D(u,2,0,0),ToReal(-9),ksub(kmadd(KRANC_GFOFFSET3D(u,-2,0,0),ToReal(9),kmul(KRANC_GFOFFSET3D(u,1,0,0),ToReal(45))),KRANC_GFOFFSET3D(u,-3,0,0))))))) #else # define PDstandardNthfdOrder61(u) (PDstandardNthfdOrder61_impl(u,p1o60dx,cdj,cdk)) -static CCTK_REAL_VEC PDstandardNthfdOrder61_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o60dx, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL_VEC PDstandardNthfdOrder61_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o60dx, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDstandardNthfdOrder61_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o60dx, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL_VEC PDstandardNthfdOrder61_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o60dx, const ptrdiff_t cdj, const ptrdiff_t cdk) { - ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); - return kmul(p1o60dx,kadd(KRANC_GFOFFSET3D(u,3,0,0),kmadd(KRANC_GFOFFSET3D(u,-1,0,0),ToReal(-45.),kmadd(KRANC_GFOFFSET3D(u,2,0,0),ToReal(-9.),kmadd(KRANC_GFOFFSET3D(u,-3,0,0),ToReal(-1.),kmadd(KRANC_GFOFFSET3D(u,-2,0,0),ToReal(9.),kmul(KRANC_GFOFFSET3D(u,1,0,0),ToReal(45.)))))))); + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); + return kmul(p1o60dx,kadd(KRANC_GFOFFSET3D(u,3,0,0),kmadd(KRANC_GFOFFSET3D(u,-1,0,0),ToReal(-45),kmadd(KRANC_GFOFFSET3D(u,2,0,0),ToReal(-9),ksub(kmadd(KRANC_GFOFFSET3D(u,-2,0,0),ToReal(9),kmul(KRANC_GFOFFSET3D(u,1,0,0),ToReal(45))),KRANC_GFOFFSET3D(u,-3,0,0)))))); } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDstandardNthfdOrder62(u) (kmul(p1o60dy,kadd(KRANC_GFOFFSET3D(u,0,3,0),kmadd(KRANC_GFOFFSET3D(u,0,-1,0),ToReal(-45.),kmadd(KRANC_GFOFFSET3D(u,0,2,0),ToReal(-9.),kmadd(KRANC_GFOFFSET3D(u,0,-3,0),ToReal(-1.),kmadd(KRANC_GFOFFSET3D(u,0,-2,0),ToReal(9.),kmul(KRANC_GFOFFSET3D(u,0,1,0),ToReal(45.))))))))) +# define PDstandardNthfdOrder62(u) (kmul(p1o60dy,kadd(KRANC_GFOFFSET3D(u,0,3,0),kmadd(KRANC_GFOFFSET3D(u,0,-1,0),ToReal(-45),kmadd(KRANC_GFOFFSET3D(u,0,2,0),ToReal(-9),ksub(kmadd(KRANC_GFOFFSET3D(u,0,-2,0),ToReal(9),kmul(KRANC_GFOFFSET3D(u,0,1,0),ToReal(45))),KRANC_GFOFFSET3D(u,0,-3,0))))))) #else # define PDstandardNthfdOrder62(u) (PDstandardNthfdOrder62_impl(u,p1o60dy,cdj,cdk)) -static CCTK_REAL_VEC PDstandardNthfdOrder62_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o60dy, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL_VEC PDstandardNthfdOrder62_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o60dy, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDstandardNthfdOrder62_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o60dy, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL_VEC PDstandardNthfdOrder62_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o60dy, const ptrdiff_t cdj, const ptrdiff_t cdk) { - ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); - return kmul(p1o60dy,kadd(KRANC_GFOFFSET3D(u,0,3,0),kmadd(KRANC_GFOFFSET3D(u,0,-1,0),ToReal(-45.),kmadd(KRANC_GFOFFSET3D(u,0,2,0),ToReal(-9.),kmadd(KRANC_GFOFFSET3D(u,0,-3,0),ToReal(-1.),kmadd(KRANC_GFOFFSET3D(u,0,-2,0),ToReal(9.),kmul(KRANC_GFOFFSET3D(u,0,1,0),ToReal(45.)))))))); + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); + return kmul(p1o60dy,kadd(KRANC_GFOFFSET3D(u,0,3,0),kmadd(KRANC_GFOFFSET3D(u,0,-1,0),ToReal(-45),kmadd(KRANC_GFOFFSET3D(u,0,2,0),ToReal(-9),ksub(kmadd(KRANC_GFOFFSET3D(u,0,-2,0),ToReal(9),kmul(KRANC_GFOFFSET3D(u,0,1,0),ToReal(45))),KRANC_GFOFFSET3D(u,0,-3,0)))))); } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDstandardNthfdOrder63(u) (kmul(p1o60dz,kadd(KRANC_GFOFFSET3D(u,0,0,3),kmadd(KRANC_GFOFFSET3D(u,0,0,-1),ToReal(-45.),kmadd(KRANC_GFOFFSET3D(u,0,0,2),ToReal(-9.),kmadd(KRANC_GFOFFSET3D(u,0,0,-3),ToReal(-1.),kmadd(KRANC_GFOFFSET3D(u,0,0,-2),ToReal(9.),kmul(KRANC_GFOFFSET3D(u,0,0,1),ToReal(45.))))))))) +# define PDstandardNthfdOrder63(u) (kmul(p1o60dz,kadd(KRANC_GFOFFSET3D(u,0,0,3),kmadd(KRANC_GFOFFSET3D(u,0,0,-1),ToReal(-45),kmadd(KRANC_GFOFFSET3D(u,0,0,2),ToReal(-9),ksub(kmadd(KRANC_GFOFFSET3D(u,0,0,-2),ToReal(9),kmul(KRANC_GFOFFSET3D(u,0,0,1),ToReal(45))),KRANC_GFOFFSET3D(u,0,0,-3))))))) #else # define PDstandardNthfdOrder63(u) (PDstandardNthfdOrder63_impl(u,p1o60dz,cdj,cdk)) -static CCTK_REAL_VEC PDstandardNthfdOrder63_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o60dz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL_VEC PDstandardNthfdOrder63_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o60dz, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDstandardNthfdOrder63_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o60dz, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL_VEC PDstandardNthfdOrder63_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o60dz, const ptrdiff_t cdj, const ptrdiff_t cdk) { - ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); - return kmul(p1o60dz,kadd(KRANC_GFOFFSET3D(u,0,0,3),kmadd(KRANC_GFOFFSET3D(u,0,0,-1),ToReal(-45.),kmadd(KRANC_GFOFFSET3D(u,0,0,2),ToReal(-9.),kmadd(KRANC_GFOFFSET3D(u,0,0,-3),ToReal(-1.),kmadd(KRANC_GFOFFSET3D(u,0,0,-2),ToReal(9.),kmul(KRANC_GFOFFSET3D(u,0,0,1),ToReal(45.)))))))); + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); + return PDstandardNthfdOrder62_impl(u, p1o60dz, cdk, cdj); } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDstandardNthfdOrder81(u) (kmul(p1o840dx,kmadd(KRANC_GFOFFSET3D(u,-1,0,0),ToReal(-672.),kmadd(KRANC_GFOFFSET3D(u,2,0,0),ToReal(-168.),kmadd(KRANC_GFOFFSET3D(u,-3,0,0),ToReal(-32.),kmadd(KRANC_GFOFFSET3D(u,4,0,0),ToReal(-3.),kmadd(KRANC_GFOFFSET3D(u,-4,0,0),ToReal(3.),kmadd(KRANC_GFOFFSET3D(u,3,0,0),ToReal(32.),kmadd(KRANC_GFOFFSET3D(u,-2,0,0),ToReal(168.),kmul(KRANC_GFOFFSET3D(u,1,0,0),ToReal(672.))))))))))) +# define PDstandardNthfdOrder81(u) (kmul(p1o840dx,kmadd(KRANC_GFOFFSET3D(u,-1,0,0),ToReal(-672),kmadd(KRANC_GFOFFSET3D(u,2,0,0),ToReal(-168),kmadd(KRANC_GFOFFSET3D(u,-3,0,0),ToReal(-32),kmadd(KRANC_GFOFFSET3D(u,4,0,0),ToReal(-3),kmadd(KRANC_GFOFFSET3D(u,-4,0,0),ToReal(3),kmadd(KRANC_GFOFFSET3D(u,3,0,0),ToReal(32),kmadd(KRANC_GFOFFSET3D(u,-2,0,0),ToReal(168),kmul(KRANC_GFOFFSET3D(u,1,0,0),ToReal(672))))))))))) #else # define PDstandardNthfdOrder81(u) (PDstandardNthfdOrder81_impl(u,p1o840dx,cdj,cdk)) -static CCTK_REAL_VEC PDstandardNthfdOrder81_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o840dx, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL_VEC PDstandardNthfdOrder81_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o840dx, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDstandardNthfdOrder81_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o840dx, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL_VEC PDstandardNthfdOrder81_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o840dx, const ptrdiff_t cdj, const ptrdiff_t cdk) { - ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); - return kmul(p1o840dx,kmadd(KRANC_GFOFFSET3D(u,-1,0,0),ToReal(-672.),kmadd(KRANC_GFOFFSET3D(u,2,0,0),ToReal(-168.),kmadd(KRANC_GFOFFSET3D(u,-3,0,0),ToReal(-32.),kmadd(KRANC_GFOFFSET3D(u,4,0,0),ToReal(-3.),kmadd(KRANC_GFOFFSET3D(u,-4,0,0),ToReal(3.),kmadd(KRANC_GFOFFSET3D(u,3,0,0),ToReal(32.),kmadd(KRANC_GFOFFSET3D(u,-2,0,0),ToReal(168.),kmul(KRANC_GFOFFSET3D(u,1,0,0),ToReal(672.)))))))))); + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); + return kmul(p1o840dx,kmadd(KRANC_GFOFFSET3D(u,-1,0,0),ToReal(-672),kmadd(KRANC_GFOFFSET3D(u,2,0,0),ToReal(-168),kmadd(KRANC_GFOFFSET3D(u,-3,0,0),ToReal(-32),kmadd(KRANC_GFOFFSET3D(u,4,0,0),ToReal(-3),kmadd(KRANC_GFOFFSET3D(u,-4,0,0),ToReal(3),kmadd(KRANC_GFOFFSET3D(u,3,0,0),ToReal(32),kmadd(KRANC_GFOFFSET3D(u,-2,0,0),ToReal(168),kmul(KRANC_GFOFFSET3D(u,1,0,0),ToReal(672)))))))))); } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDstandardNthfdOrder82(u) (kmul(p1o840dy,kmadd(KRANC_GFOFFSET3D(u,0,-1,0),ToReal(-672.),kmadd(KRANC_GFOFFSET3D(u,0,2,0),ToReal(-168.),kmadd(KRANC_GFOFFSET3D(u,0,-3,0),ToReal(-32.),kmadd(KRANC_GFOFFSET3D(u,0,4,0),ToReal(-3.),kmadd(KRANC_GFOFFSET3D(u,0,-4,0),ToReal(3.),kmadd(KRANC_GFOFFSET3D(u,0,3,0),ToReal(32.),kmadd(KRANC_GFOFFSET3D(u,0,-2,0),ToReal(168.),kmul(KRANC_GFOFFSET3D(u,0,1,0),ToReal(672.))))))))))) +# define PDstandardNthfdOrder82(u) (kmul(p1o840dy,kmadd(KRANC_GFOFFSET3D(u,0,-1,0),ToReal(-672),kmadd(KRANC_GFOFFSET3D(u,0,2,0),ToReal(-168),kmadd(KRANC_GFOFFSET3D(u,0,-3,0),ToReal(-32),kmadd(KRANC_GFOFFSET3D(u,0,4,0),ToReal(-3),kmadd(KRANC_GFOFFSET3D(u,0,-4,0),ToReal(3),kmadd(KRANC_GFOFFSET3D(u,0,3,0),ToReal(32),kmadd(KRANC_GFOFFSET3D(u,0,-2,0),ToReal(168),kmul(KRANC_GFOFFSET3D(u,0,1,0),ToReal(672))))))))))) #else # define PDstandardNthfdOrder82(u) (PDstandardNthfdOrder82_impl(u,p1o840dy,cdj,cdk)) -static CCTK_REAL_VEC PDstandardNthfdOrder82_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o840dy, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL_VEC PDstandardNthfdOrder82_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o840dy, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDstandardNthfdOrder82_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o840dy, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL_VEC PDstandardNthfdOrder82_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o840dy, const ptrdiff_t cdj, const ptrdiff_t cdk) { - ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); - return kmul(p1o840dy,kmadd(KRANC_GFOFFSET3D(u,0,-1,0),ToReal(-672.),kmadd(KRANC_GFOFFSET3D(u,0,2,0),ToReal(-168.),kmadd(KRANC_GFOFFSET3D(u,0,-3,0),ToReal(-32.),kmadd(KRANC_GFOFFSET3D(u,0,4,0),ToReal(-3.),kmadd(KRANC_GFOFFSET3D(u,0,-4,0),ToReal(3.),kmadd(KRANC_GFOFFSET3D(u,0,3,0),ToReal(32.),kmadd(KRANC_GFOFFSET3D(u,0,-2,0),ToReal(168.),kmul(KRANC_GFOFFSET3D(u,0,1,0),ToReal(672.)))))))))); + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); + return kmul(p1o840dy,kmadd(KRANC_GFOFFSET3D(u,0,-1,0),ToReal(-672),kmadd(KRANC_GFOFFSET3D(u,0,2,0),ToReal(-168),kmadd(KRANC_GFOFFSET3D(u,0,-3,0),ToReal(-32),kmadd(KRANC_GFOFFSET3D(u,0,4,0),ToReal(-3),kmadd(KRANC_GFOFFSET3D(u,0,-4,0),ToReal(3),kmadd(KRANC_GFOFFSET3D(u,0,3,0),ToReal(32),kmadd(KRANC_GFOFFSET3D(u,0,-2,0),ToReal(168),kmul(KRANC_GFOFFSET3D(u,0,1,0),ToReal(672)))))))))); } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDstandardNthfdOrder83(u) (kmul(p1o840dz,kmadd(KRANC_GFOFFSET3D(u,0,0,-1),ToReal(-672.),kmadd(KRANC_GFOFFSET3D(u,0,0,2),ToReal(-168.),kmadd(KRANC_GFOFFSET3D(u,0,0,-3),ToReal(-32.),kmadd(KRANC_GFOFFSET3D(u,0,0,4),ToReal(-3.),kmadd(KRANC_GFOFFSET3D(u,0,0,-4),ToReal(3.),kmadd(KRANC_GFOFFSET3D(u,0,0,3),ToReal(32.),kmadd(KRANC_GFOFFSET3D(u,0,0,-2),ToReal(168.),kmul(KRANC_GFOFFSET3D(u,0,0,1),ToReal(672.))))))))))) +# define PDstandardNthfdOrder83(u) (kmul(p1o840dz,kmadd(KRANC_GFOFFSET3D(u,0,0,-1),ToReal(-672),kmadd(KRANC_GFOFFSET3D(u,0,0,2),ToReal(-168),kmadd(KRANC_GFOFFSET3D(u,0,0,-3),ToReal(-32),kmadd(KRANC_GFOFFSET3D(u,0,0,4),ToReal(-3),kmadd(KRANC_GFOFFSET3D(u,0,0,-4),ToReal(3),kmadd(KRANC_GFOFFSET3D(u,0,0,3),ToReal(32),kmadd(KRANC_GFOFFSET3D(u,0,0,-2),ToReal(168),kmul(KRANC_GFOFFSET3D(u,0,0,1),ToReal(672))))))))))) #else # define PDstandardNthfdOrder83(u) (PDstandardNthfdOrder83_impl(u,p1o840dz,cdj,cdk)) -static CCTK_REAL_VEC PDstandardNthfdOrder83_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o840dz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL_VEC PDstandardNthfdOrder83_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o840dz, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDstandardNthfdOrder83_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o840dz, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL_VEC PDstandardNthfdOrder83_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o840dz, const ptrdiff_t cdj, const ptrdiff_t cdk) { - ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); - return kmul(p1o840dz,kmadd(KRANC_GFOFFSET3D(u,0,0,-1),ToReal(-672.),kmadd(KRANC_GFOFFSET3D(u,0,0,2),ToReal(-168.),kmadd(KRANC_GFOFFSET3D(u,0,0,-3),ToReal(-32.),kmadd(KRANC_GFOFFSET3D(u,0,0,4),ToReal(-3.),kmadd(KRANC_GFOFFSET3D(u,0,0,-4),ToReal(3.),kmadd(KRANC_GFOFFSET3D(u,0,0,3),ToReal(32.),kmadd(KRANC_GFOFFSET3D(u,0,0,-2),ToReal(168.),kmul(KRANC_GFOFFSET3D(u,0,0,1),ToReal(672.)))))))))); + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); + return PDstandardNthfdOrder82_impl(u, p1o840dz, cdk, cdj); } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDstandardNthfdOrder211(u) (kmul(p1odx2,kadd(KRANC_GFOFFSET3D(u,-1,0,0),kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-2.),KRANC_GFOFFSET3D(u,1,0,0))))) +# define PDstandardNthfdOrder211(u) (kmul(p1odx2,kadd(KRANC_GFOFFSET3D(u,-1,0,0),kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-2),KRANC_GFOFFSET3D(u,1,0,0))))) #else # define PDstandardNthfdOrder211(u) (PDstandardNthfdOrder211_impl(u,p1odx2,cdj,cdk)) -static CCTK_REAL_VEC PDstandardNthfdOrder211_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1odx2, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL_VEC PDstandardNthfdOrder211_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1odx2, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDstandardNthfdOrder211_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1odx2, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL_VEC PDstandardNthfdOrder211_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1odx2, const ptrdiff_t cdj, const ptrdiff_t cdk) { - ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); - return kmul(p1odx2,kadd(KRANC_GFOFFSET3D(u,-1,0,0),kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-2.),KRANC_GFOFFSET3D(u,1,0,0)))); + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); + return kmul(p1odx2,kadd(KRANC_GFOFFSET3D(u,-1,0,0),kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-2),KRANC_GFOFFSET3D(u,1,0,0)))); } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDstandardNthfdOrder222(u) (kmul(p1ody2,kadd(KRANC_GFOFFSET3D(u,0,-1,0),kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-2.),KRANC_GFOFFSET3D(u,0,1,0))))) +# define PDstandardNthfdOrder222(u) (kmul(p1ody2,kadd(KRANC_GFOFFSET3D(u,0,-1,0),kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-2),KRANC_GFOFFSET3D(u,0,1,0))))) #else # define PDstandardNthfdOrder222(u) (PDstandardNthfdOrder222_impl(u,p1ody2,cdj,cdk)) -static CCTK_REAL_VEC PDstandardNthfdOrder222_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1ody2, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL_VEC PDstandardNthfdOrder222_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1ody2, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDstandardNthfdOrder222_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1ody2, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL_VEC PDstandardNthfdOrder222_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1ody2, const ptrdiff_t cdj, const ptrdiff_t cdk) { - ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); - return kmul(p1ody2,kadd(KRANC_GFOFFSET3D(u,0,-1,0),kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-2.),KRANC_GFOFFSET3D(u,0,1,0)))); + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); + return kmul(p1ody2,kadd(KRANC_GFOFFSET3D(u,0,-1,0),kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-2),KRANC_GFOFFSET3D(u,0,1,0)))); } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDstandardNthfdOrder233(u) (kmul(p1odz2,kadd(KRANC_GFOFFSET3D(u,0,0,-1),kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-2.),KRANC_GFOFFSET3D(u,0,0,1))))) +# define PDstandardNthfdOrder233(u) (kmul(p1odz2,kadd(KRANC_GFOFFSET3D(u,0,0,-1),kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-2),KRANC_GFOFFSET3D(u,0,0,1))))) #else # define PDstandardNthfdOrder233(u) (PDstandardNthfdOrder233_impl(u,p1odz2,cdj,cdk)) -static CCTK_REAL_VEC PDstandardNthfdOrder233_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1odz2, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL_VEC PDstandardNthfdOrder233_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1odz2, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDstandardNthfdOrder233_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1odz2, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL_VEC PDstandardNthfdOrder233_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1odz2, const ptrdiff_t cdj, const ptrdiff_t cdk) { - ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); - return kmul(p1odz2,kadd(KRANC_GFOFFSET3D(u,0,0,-1),kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-2.),KRANC_GFOFFSET3D(u,0,0,1)))); + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); + return PDstandardNthfdOrder222_impl(u, p1odz2, cdk, cdj); } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDstandardNthfdOrder411(u) (kmul(pm1o12dx2,kadd(KRANC_GFOFFSET3D(u,-2,0,0),kadd(KRANC_GFOFFSET3D(u,2,0,0),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,0),KRANC_GFOFFSET3D(u,1,0,0)),ToReal(-16.),kmul(KRANC_GFOFFSET3D(u,0,0,0),ToReal(30.))))))) +# define PDstandardNthfdOrder411(u) (kmul(pm1o12dx2,kadd(KRANC_GFOFFSET3D(u,-2,0,0),kadd(KRANC_GFOFFSET3D(u,2,0,0),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,0),KRANC_GFOFFSET3D(u,1,0,0)),ToReal(-16),kmul(KRANC_GFOFFSET3D(u,0,0,0),ToReal(30))))))) #else # define PDstandardNthfdOrder411(u) (PDstandardNthfdOrder411_impl(u,pm1o12dx2,cdj,cdk)) -static CCTK_REAL_VEC PDstandardNthfdOrder411_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ pm1o12dx2, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL_VEC PDstandardNthfdOrder411_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ pm1o12dx2, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDstandardNthfdOrder411_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC pm1o12dx2, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL_VEC PDstandardNthfdOrder411_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC pm1o12dx2, const ptrdiff_t cdj, const ptrdiff_t cdk) { - ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); - return kmul(pm1o12dx2,kadd(KRANC_GFOFFSET3D(u,-2,0,0),kadd(KRANC_GFOFFSET3D(u,2,0,0),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,0),KRANC_GFOFFSET3D(u,1,0,0)),ToReal(-16.),kmul(KRANC_GFOFFSET3D(u,0,0,0),ToReal(30.)))))); + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); + return kmul(pm1o12dx2,kadd(KRANC_GFOFFSET3D(u,-2,0,0),kadd(KRANC_GFOFFSET3D(u,2,0,0),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,0),KRANC_GFOFFSET3D(u,1,0,0)),ToReal(-16),kmul(KRANC_GFOFFSET3D(u,0,0,0),ToReal(30)))))); } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDstandardNthfdOrder422(u) (kmul(pm1o12dy2,kadd(KRANC_GFOFFSET3D(u,0,-2,0),kadd(KRANC_GFOFFSET3D(u,0,2,0),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,0),KRANC_GFOFFSET3D(u,0,1,0)),ToReal(-16.),kmul(KRANC_GFOFFSET3D(u,0,0,0),ToReal(30.))))))) +# define PDstandardNthfdOrder422(u) (kmul(pm1o12dy2,kadd(KRANC_GFOFFSET3D(u,0,-2,0),kadd(KRANC_GFOFFSET3D(u,0,2,0),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,0),KRANC_GFOFFSET3D(u,0,1,0)),ToReal(-16),kmul(KRANC_GFOFFSET3D(u,0,0,0),ToReal(30))))))) #else # define PDstandardNthfdOrder422(u) (PDstandardNthfdOrder422_impl(u,pm1o12dy2,cdj,cdk)) -static CCTK_REAL_VEC PDstandardNthfdOrder422_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ pm1o12dy2, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL_VEC PDstandardNthfdOrder422_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ pm1o12dy2, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDstandardNthfdOrder422_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC pm1o12dy2, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL_VEC PDstandardNthfdOrder422_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC pm1o12dy2, const ptrdiff_t cdj, const ptrdiff_t cdk) { - ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); - return kmul(pm1o12dy2,kadd(KRANC_GFOFFSET3D(u,0,-2,0),kadd(KRANC_GFOFFSET3D(u,0,2,0),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,0),KRANC_GFOFFSET3D(u,0,1,0)),ToReal(-16.),kmul(KRANC_GFOFFSET3D(u,0,0,0),ToReal(30.)))))); + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); + return kmul(pm1o12dy2,kadd(KRANC_GFOFFSET3D(u,0,-2,0),kadd(KRANC_GFOFFSET3D(u,0,2,0),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,0),KRANC_GFOFFSET3D(u,0,1,0)),ToReal(-16),kmul(KRANC_GFOFFSET3D(u,0,0,0),ToReal(30)))))); } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDstandardNthfdOrder433(u) (kmul(pm1o12dz2,kadd(KRANC_GFOFFSET3D(u,0,0,-2),kadd(KRANC_GFOFFSET3D(u,0,0,2),kmadd(kadd(KRANC_GFOFFSET3D(u,0,0,-1),KRANC_GFOFFSET3D(u,0,0,1)),ToReal(-16.),kmul(KRANC_GFOFFSET3D(u,0,0,0),ToReal(30.))))))) +# define PDstandardNthfdOrder433(u) (kmul(pm1o12dz2,kadd(KRANC_GFOFFSET3D(u,0,0,-2),kadd(KRANC_GFOFFSET3D(u,0,0,2),kmadd(kadd(KRANC_GFOFFSET3D(u,0,0,-1),KRANC_GFOFFSET3D(u,0,0,1)),ToReal(-16),kmul(KRANC_GFOFFSET3D(u,0,0,0),ToReal(30))))))) #else # define PDstandardNthfdOrder433(u) (PDstandardNthfdOrder433_impl(u,pm1o12dz2,cdj,cdk)) -static CCTK_REAL_VEC PDstandardNthfdOrder433_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ pm1o12dz2, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL_VEC PDstandardNthfdOrder433_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ pm1o12dz2, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDstandardNthfdOrder433_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC pm1o12dz2, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL_VEC PDstandardNthfdOrder433_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC pm1o12dz2, const ptrdiff_t cdj, const ptrdiff_t cdk) { - ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); - return kmul(pm1o12dz2,kadd(KRANC_GFOFFSET3D(u,0,0,-2),kadd(KRANC_GFOFFSET3D(u,0,0,2),kmadd(kadd(KRANC_GFOFFSET3D(u,0,0,-1),KRANC_GFOFFSET3D(u,0,0,1)),ToReal(-16.),kmul(KRANC_GFOFFSET3D(u,0,0,0),ToReal(30.)))))); + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); + return PDstandardNthfdOrder422_impl(u, pm1o12dz2, cdk, cdj); } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDstandardNthfdOrder611(u) (kmul(p1o180dx2,kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-490.),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,0),KRANC_GFOFFSET3D(u,2,0,0)),ToReal(-27.),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,0,0),KRANC_GFOFFSET3D(u,3,0,0)),ToReal(2.),kmul(kadd(KRANC_GFOFFSET3D(u,-1,0,0),KRANC_GFOFFSET3D(u,1,0,0)),ToReal(270.))))))) +# define PDstandardNthfdOrder611(u) (kmul(p1o180dx2,kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-490),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,0),KRANC_GFOFFSET3D(u,2,0,0)),ToReal(-27),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,0,0),KRANC_GFOFFSET3D(u,3,0,0)),ToReal(2),kmul(kadd(KRANC_GFOFFSET3D(u,-1,0,0),KRANC_GFOFFSET3D(u,1,0,0)),ToReal(270))))))) #else # define PDstandardNthfdOrder611(u) (PDstandardNthfdOrder611_impl(u,p1o180dx2,cdj,cdk)) -static CCTK_REAL_VEC PDstandardNthfdOrder611_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o180dx2, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL_VEC PDstandardNthfdOrder611_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o180dx2, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDstandardNthfdOrder611_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o180dx2, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL_VEC PDstandardNthfdOrder611_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o180dx2, const ptrdiff_t cdj, const ptrdiff_t cdk) { - ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); - return kmul(p1o180dx2,kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-490.),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,0),KRANC_GFOFFSET3D(u,2,0,0)),ToReal(-27.),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,0,0),KRANC_GFOFFSET3D(u,3,0,0)),ToReal(2.),kmul(kadd(KRANC_GFOFFSET3D(u,-1,0,0),KRANC_GFOFFSET3D(u,1,0,0)),ToReal(270.)))))); + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); + return kmul(p1o180dx2,kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-490),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,0),KRANC_GFOFFSET3D(u,2,0,0)),ToReal(-27),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,0,0),KRANC_GFOFFSET3D(u,3,0,0)),ToReal(2),kmul(kadd(KRANC_GFOFFSET3D(u,-1,0,0),KRANC_GFOFFSET3D(u,1,0,0)),ToReal(270)))))); } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDstandardNthfdOrder622(u) (kmul(p1o180dy2,kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-490.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,0),KRANC_GFOFFSET3D(u,0,2,0)),ToReal(-27.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-3,0),KRANC_GFOFFSET3D(u,0,3,0)),ToReal(2.),kmul(kadd(KRANC_GFOFFSET3D(u,0,-1,0),KRANC_GFOFFSET3D(u,0,1,0)),ToReal(270.))))))) +# define PDstandardNthfdOrder622(u) (kmul(p1o180dy2,kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-490),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,0),KRANC_GFOFFSET3D(u,0,2,0)),ToReal(-27),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-3,0),KRANC_GFOFFSET3D(u,0,3,0)),ToReal(2),kmul(kadd(KRANC_GFOFFSET3D(u,0,-1,0),KRANC_GFOFFSET3D(u,0,1,0)),ToReal(270))))))) #else # define PDstandardNthfdOrder622(u) (PDstandardNthfdOrder622_impl(u,p1o180dy2,cdj,cdk)) -static CCTK_REAL_VEC PDstandardNthfdOrder622_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o180dy2, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL_VEC PDstandardNthfdOrder622_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o180dy2, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDstandardNthfdOrder622_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o180dy2, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL_VEC PDstandardNthfdOrder622_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o180dy2, const ptrdiff_t cdj, const ptrdiff_t cdk) { - ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); - return kmul(p1o180dy2,kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-490.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,0),KRANC_GFOFFSET3D(u,0,2,0)),ToReal(-27.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-3,0),KRANC_GFOFFSET3D(u,0,3,0)),ToReal(2.),kmul(kadd(KRANC_GFOFFSET3D(u,0,-1,0),KRANC_GFOFFSET3D(u,0,1,0)),ToReal(270.)))))); + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); + return kmul(p1o180dy2,kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-490),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,0),KRANC_GFOFFSET3D(u,0,2,0)),ToReal(-27),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-3,0),KRANC_GFOFFSET3D(u,0,3,0)),ToReal(2),kmul(kadd(KRANC_GFOFFSET3D(u,0,-1,0),KRANC_GFOFFSET3D(u,0,1,0)),ToReal(270)))))); } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDstandardNthfdOrder633(u) (kmul(p1o180dz2,kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-490.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,0,-2),KRANC_GFOFFSET3D(u,0,0,2)),ToReal(-27.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,0,-3),KRANC_GFOFFSET3D(u,0,0,3)),ToReal(2.),kmul(kadd(KRANC_GFOFFSET3D(u,0,0,-1),KRANC_GFOFFSET3D(u,0,0,1)),ToReal(270.))))))) +# define PDstandardNthfdOrder633(u) (kmul(p1o180dz2,kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-490),kmadd(kadd(KRANC_GFOFFSET3D(u,0,0,-2),KRANC_GFOFFSET3D(u,0,0,2)),ToReal(-27),kmadd(kadd(KRANC_GFOFFSET3D(u,0,0,-3),KRANC_GFOFFSET3D(u,0,0,3)),ToReal(2),kmul(kadd(KRANC_GFOFFSET3D(u,0,0,-1),KRANC_GFOFFSET3D(u,0,0,1)),ToReal(270))))))) #else # define PDstandardNthfdOrder633(u) (PDstandardNthfdOrder633_impl(u,p1o180dz2,cdj,cdk)) -static CCTK_REAL_VEC PDstandardNthfdOrder633_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o180dz2, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL_VEC PDstandardNthfdOrder633_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o180dz2, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDstandardNthfdOrder633_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o180dz2, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL_VEC PDstandardNthfdOrder633_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o180dz2, const ptrdiff_t cdj, const ptrdiff_t cdk) { - ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); - return kmul(p1o180dz2,kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-490.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,0,-2),KRANC_GFOFFSET3D(u,0,0,2)),ToReal(-27.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,0,-3),KRANC_GFOFFSET3D(u,0,0,3)),ToReal(2.),kmul(kadd(KRANC_GFOFFSET3D(u,0,0,-1),KRANC_GFOFFSET3D(u,0,0,1)),ToReal(270.)))))); + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); + return PDstandardNthfdOrder622_impl(u, p1o180dz2, cdk, cdj); } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDstandardNthfdOrder811(u) (kmul(p1o5040dx2,kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-14350.),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,0),KRANC_GFOFFSET3D(u,2,0,0)),ToReal(-1008.),kmadd(kadd(KRANC_GFOFFSET3D(u,-4,0,0),KRANC_GFOFFSET3D(u,4,0,0)),ToReal(-9.),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,0,0),KRANC_GFOFFSET3D(u,3,0,0)),ToReal(128.),kmul(kadd(KRANC_GFOFFSET3D(u,-1,0,0),KRANC_GFOFFSET3D(u,1,0,0)),ToReal(8064.)))))))) +# define PDstandardNthfdOrder811(u) (kmul(p1o5040dx2,kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-14350),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,0),KRANC_GFOFFSET3D(u,2,0,0)),ToReal(-1008),kmadd(kadd(KRANC_GFOFFSET3D(u,-4,0,0),KRANC_GFOFFSET3D(u,4,0,0)),ToReal(-9),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,0,0),KRANC_GFOFFSET3D(u,3,0,0)),ToReal(128),kmul(kadd(KRANC_GFOFFSET3D(u,-1,0,0),KRANC_GFOFFSET3D(u,1,0,0)),ToReal(8064)))))))) #else # define PDstandardNthfdOrder811(u) (PDstandardNthfdOrder811_impl(u,p1o5040dx2,cdj,cdk)) -static CCTK_REAL_VEC PDstandardNthfdOrder811_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o5040dx2, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL_VEC PDstandardNthfdOrder811_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o5040dx2, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDstandardNthfdOrder811_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o5040dx2, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL_VEC PDstandardNthfdOrder811_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o5040dx2, const ptrdiff_t cdj, const ptrdiff_t cdk) { - ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); - return kmul(p1o5040dx2,kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-14350.),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,0),KRANC_GFOFFSET3D(u,2,0,0)),ToReal(-1008.),kmadd(kadd(KRANC_GFOFFSET3D(u,-4,0,0),KRANC_GFOFFSET3D(u,4,0,0)),ToReal(-9.),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,0,0),KRANC_GFOFFSET3D(u,3,0,0)),ToReal(128.),kmul(kadd(KRANC_GFOFFSET3D(u,-1,0,0),KRANC_GFOFFSET3D(u,1,0,0)),ToReal(8064.))))))); + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); + return kmul(p1o5040dx2,kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-14350),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,0),KRANC_GFOFFSET3D(u,2,0,0)),ToReal(-1008),kmadd(kadd(KRANC_GFOFFSET3D(u,-4,0,0),KRANC_GFOFFSET3D(u,4,0,0)),ToReal(-9),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,0,0),KRANC_GFOFFSET3D(u,3,0,0)),ToReal(128),kmul(kadd(KRANC_GFOFFSET3D(u,-1,0,0),KRANC_GFOFFSET3D(u,1,0,0)),ToReal(8064))))))); } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDstandardNthfdOrder822(u) (kmul(p1o5040dy2,kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-14350.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,0),KRANC_GFOFFSET3D(u,0,2,0)),ToReal(-1008.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-4,0),KRANC_GFOFFSET3D(u,0,4,0)),ToReal(-9.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-3,0),KRANC_GFOFFSET3D(u,0,3,0)),ToReal(128.),kmul(kadd(KRANC_GFOFFSET3D(u,0,-1,0),KRANC_GFOFFSET3D(u,0,1,0)),ToReal(8064.)))))))) +# define PDstandardNthfdOrder822(u) (kmul(p1o5040dy2,kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-14350),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,0),KRANC_GFOFFSET3D(u,0,2,0)),ToReal(-1008),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-4,0),KRANC_GFOFFSET3D(u,0,4,0)),ToReal(-9),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-3,0),KRANC_GFOFFSET3D(u,0,3,0)),ToReal(128),kmul(kadd(KRANC_GFOFFSET3D(u,0,-1,0),KRANC_GFOFFSET3D(u,0,1,0)),ToReal(8064)))))))) #else # define PDstandardNthfdOrder822(u) (PDstandardNthfdOrder822_impl(u,p1o5040dy2,cdj,cdk)) -static CCTK_REAL_VEC PDstandardNthfdOrder822_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o5040dy2, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL_VEC PDstandardNthfdOrder822_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o5040dy2, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDstandardNthfdOrder822_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o5040dy2, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL_VEC PDstandardNthfdOrder822_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o5040dy2, const ptrdiff_t cdj, const ptrdiff_t cdk) { - ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); - return kmul(p1o5040dy2,kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-14350.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,0),KRANC_GFOFFSET3D(u,0,2,0)),ToReal(-1008.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-4,0),KRANC_GFOFFSET3D(u,0,4,0)),ToReal(-9.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-3,0),KRANC_GFOFFSET3D(u,0,3,0)),ToReal(128.),kmul(kadd(KRANC_GFOFFSET3D(u,0,-1,0),KRANC_GFOFFSET3D(u,0,1,0)),ToReal(8064.))))))); + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); + return kmul(p1o5040dy2,kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-14350),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,0),KRANC_GFOFFSET3D(u,0,2,0)),ToReal(-1008),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-4,0),KRANC_GFOFFSET3D(u,0,4,0)),ToReal(-9),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-3,0),KRANC_GFOFFSET3D(u,0,3,0)),ToReal(128),kmul(kadd(KRANC_GFOFFSET3D(u,0,-1,0),KRANC_GFOFFSET3D(u,0,1,0)),ToReal(8064))))))); } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDstandardNthfdOrder833(u) (kmul(p1o5040dz2,kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-14350.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,0,-2),KRANC_GFOFFSET3D(u,0,0,2)),ToReal(-1008.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,0,-4),KRANC_GFOFFSET3D(u,0,0,4)),ToReal(-9.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,0,-3),KRANC_GFOFFSET3D(u,0,0,3)),ToReal(128.),kmul(kadd(KRANC_GFOFFSET3D(u,0,0,-1),KRANC_GFOFFSET3D(u,0,0,1)),ToReal(8064.)))))))) +# define PDstandardNthfdOrder833(u) (kmul(p1o5040dz2,kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-14350),kmadd(kadd(KRANC_GFOFFSET3D(u,0,0,-2),KRANC_GFOFFSET3D(u,0,0,2)),ToReal(-1008),kmadd(kadd(KRANC_GFOFFSET3D(u,0,0,-4),KRANC_GFOFFSET3D(u,0,0,4)),ToReal(-9),kmadd(kadd(KRANC_GFOFFSET3D(u,0,0,-3),KRANC_GFOFFSET3D(u,0,0,3)),ToReal(128),kmul(kadd(KRANC_GFOFFSET3D(u,0,0,-1),KRANC_GFOFFSET3D(u,0,0,1)),ToReal(8064)))))))) #else # define PDstandardNthfdOrder833(u) (PDstandardNthfdOrder833_impl(u,p1o5040dz2,cdj,cdk)) -static CCTK_REAL_VEC PDstandardNthfdOrder833_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o5040dz2, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL_VEC PDstandardNthfdOrder833_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o5040dz2, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDstandardNthfdOrder833_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o5040dz2, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL_VEC PDstandardNthfdOrder833_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o5040dz2, const ptrdiff_t cdj, const ptrdiff_t cdk) { - ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); - return kmul(p1o5040dz2,kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-14350.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,0,-2),KRANC_GFOFFSET3D(u,0,0,2)),ToReal(-1008.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,0,-4),KRANC_GFOFFSET3D(u,0,0,4)),ToReal(-9.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,0,-3),KRANC_GFOFFSET3D(u,0,0,3)),ToReal(128.),kmul(kadd(KRANC_GFOFFSET3D(u,0,0,-1),KRANC_GFOFFSET3D(u,0,0,1)),ToReal(8064.))))))); + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); + return PDstandardNthfdOrder822_impl(u, p1o5040dz2, cdk, cdj); } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDstandardNthfdOrder212(u) (kmul(p1o4dxdy,kadd(KRANC_GFOFFSET3D(u,-1,-1,0),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,1,0),KRANC_GFOFFSET3D(u,1,-1,0)),ToReal(-1.),KRANC_GFOFFSET3D(u,1,1,0))))) +# define PDstandardNthfdOrder212(u) (kmul(p1o4dxdy,kadd(KRANC_GFOFFSET3D(u,-1,-1,0),ksub(KRANC_GFOFFSET3D(u,1,1,0),kadd(KRANC_GFOFFSET3D(u,1,-1,0),KRANC_GFOFFSET3D(u,-1,1,0)))))) #else # define PDstandardNthfdOrder212(u) (PDstandardNthfdOrder212_impl(u,p1o4dxdy,cdj,cdk)) -static CCTK_REAL_VEC PDstandardNthfdOrder212_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o4dxdy, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL_VEC PDstandardNthfdOrder212_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o4dxdy, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDstandardNthfdOrder212_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o4dxdy, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL_VEC PDstandardNthfdOrder212_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o4dxdy, const ptrdiff_t cdj, const ptrdiff_t cdk) { - ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); - return kmul(p1o4dxdy,kadd(KRANC_GFOFFSET3D(u,-1,-1,0),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,1,0),KRANC_GFOFFSET3D(u,1,-1,0)),ToReal(-1.),KRANC_GFOFFSET3D(u,1,1,0)))); + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); + return kmul(p1o4dxdy,kadd(KRANC_GFOFFSET3D(u,-1,-1,0),ksub(KRANC_GFOFFSET3D(u,1,1,0),kadd(KRANC_GFOFFSET3D(u,1,-1,0),KRANC_GFOFFSET3D(u,-1,1,0))))); } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDstandardNthfdOrder213(u) (kmul(p1o4dxdz,kadd(KRANC_GFOFFSET3D(u,-1,0,-1),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,1),KRANC_GFOFFSET3D(u,1,0,-1)),ToReal(-1.),KRANC_GFOFFSET3D(u,1,0,1))))) +# define PDstandardNthfdOrder213(u) (kmul(p1o4dxdz,kadd(KRANC_GFOFFSET3D(u,-1,0,-1),ksub(KRANC_GFOFFSET3D(u,1,0,1),kadd(KRANC_GFOFFSET3D(u,1,0,-1),KRANC_GFOFFSET3D(u,-1,0,1)))))) #else # define PDstandardNthfdOrder213(u) (PDstandardNthfdOrder213_impl(u,p1o4dxdz,cdj,cdk)) -static CCTK_REAL_VEC PDstandardNthfdOrder213_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o4dxdz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL_VEC PDstandardNthfdOrder213_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o4dxdz, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDstandardNthfdOrder213_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o4dxdz, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL_VEC PDstandardNthfdOrder213_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o4dxdz, const ptrdiff_t cdj, const ptrdiff_t cdk) { - ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); - return kmul(p1o4dxdz,kadd(KRANC_GFOFFSET3D(u,-1,0,-1),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,1),KRANC_GFOFFSET3D(u,1,0,-1)),ToReal(-1.),KRANC_GFOFFSET3D(u,1,0,1)))); + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); + return PDstandardNthfdOrder212_impl(u, p1o4dxdz, cdk, cdj); } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDstandardNthfdOrder221(u) (kmul(p1o4dxdy,kadd(KRANC_GFOFFSET3D(u,-1,-1,0),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,1,0),KRANC_GFOFFSET3D(u,1,-1,0)),ToReal(-1.),KRANC_GFOFFSET3D(u,1,1,0))))) +# define PDstandardNthfdOrder221(u) (kmul(p1o4dxdy,kadd(KRANC_GFOFFSET3D(u,-1,-1,0),ksub(KRANC_GFOFFSET3D(u,1,1,0),kadd(KRANC_GFOFFSET3D(u,1,-1,0),KRANC_GFOFFSET3D(u,-1,1,0)))))) #else # define PDstandardNthfdOrder221(u) (PDstandardNthfdOrder221_impl(u,p1o4dxdy,cdj,cdk)) -static CCTK_REAL_VEC PDstandardNthfdOrder221_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o4dxdy, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL_VEC PDstandardNthfdOrder221_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o4dxdy, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDstandardNthfdOrder221_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o4dxdy, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL_VEC PDstandardNthfdOrder221_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o4dxdy, const ptrdiff_t cdj, const ptrdiff_t cdk) { - ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); - return kmul(p1o4dxdy,kadd(KRANC_GFOFFSET3D(u,-1,-1,0),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,1,0),KRANC_GFOFFSET3D(u,1,-1,0)),ToReal(-1.),KRANC_GFOFFSET3D(u,1,1,0)))); + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); + return PDstandardNthfdOrder212_impl(u, p1o4dxdy, cdj, cdk); } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDstandardNthfdOrder223(u) (kmul(p1o4dydz,kadd(KRANC_GFOFFSET3D(u,0,-1,-1),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,1),KRANC_GFOFFSET3D(u,0,1,-1)),ToReal(-1.),KRANC_GFOFFSET3D(u,0,1,1))))) +# define PDstandardNthfdOrder223(u) (kmul(p1o4dydz,kadd(KRANC_GFOFFSET3D(u,0,-1,-1),ksub(KRANC_GFOFFSET3D(u,0,1,1),kadd(KRANC_GFOFFSET3D(u,0,1,-1),KRANC_GFOFFSET3D(u,0,-1,1)))))) #else # define PDstandardNthfdOrder223(u) (PDstandardNthfdOrder223_impl(u,p1o4dydz,cdj,cdk)) -static CCTK_REAL_VEC PDstandardNthfdOrder223_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o4dydz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL_VEC PDstandardNthfdOrder223_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o4dydz, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDstandardNthfdOrder223_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o4dydz, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL_VEC PDstandardNthfdOrder223_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o4dydz, const ptrdiff_t cdj, const ptrdiff_t cdk) { - ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); - return kmul(p1o4dydz,kadd(KRANC_GFOFFSET3D(u,0,-1,-1),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,1),KRANC_GFOFFSET3D(u,0,1,-1)),ToReal(-1.),KRANC_GFOFFSET3D(u,0,1,1)))); + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); + return kmul(p1o4dydz,kadd(KRANC_GFOFFSET3D(u,0,-1,-1),ksub(KRANC_GFOFFSET3D(u,0,1,1),kadd(KRANC_GFOFFSET3D(u,0,1,-1),KRANC_GFOFFSET3D(u,0,-1,1))))); } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDstandardNthfdOrder231(u) (kmul(p1o4dxdz,kadd(KRANC_GFOFFSET3D(u,-1,0,-1),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,1),KRANC_GFOFFSET3D(u,1,0,-1)),ToReal(-1.),KRANC_GFOFFSET3D(u,1,0,1))))) +# define PDstandardNthfdOrder231(u) (kmul(p1o4dxdz,kadd(KRANC_GFOFFSET3D(u,-1,0,-1),ksub(KRANC_GFOFFSET3D(u,1,0,1),kadd(KRANC_GFOFFSET3D(u,1,0,-1),KRANC_GFOFFSET3D(u,-1,0,1)))))) #else # define PDstandardNthfdOrder231(u) (PDstandardNthfdOrder231_impl(u,p1o4dxdz,cdj,cdk)) -static CCTK_REAL_VEC PDstandardNthfdOrder231_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o4dxdz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL_VEC PDstandardNthfdOrder231_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o4dxdz, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDstandardNthfdOrder231_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o4dxdz, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL_VEC PDstandardNthfdOrder231_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o4dxdz, const ptrdiff_t cdj, const ptrdiff_t cdk) { - ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); - return kmul(p1o4dxdz,kadd(KRANC_GFOFFSET3D(u,-1,0,-1),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,1),KRANC_GFOFFSET3D(u,1,0,-1)),ToReal(-1.),KRANC_GFOFFSET3D(u,1,0,1)))); + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); + return PDstandardNthfdOrder212_impl(u, p1o4dxdz, cdk, cdj); } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDstandardNthfdOrder232(u) (kmul(p1o4dydz,kadd(KRANC_GFOFFSET3D(u,0,-1,-1),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,1),KRANC_GFOFFSET3D(u,0,1,-1)),ToReal(-1.),KRANC_GFOFFSET3D(u,0,1,1))))) +# define PDstandardNthfdOrder232(u) (kmul(p1o4dydz,kadd(KRANC_GFOFFSET3D(u,0,-1,-1),ksub(KRANC_GFOFFSET3D(u,0,1,1),kadd(KRANC_GFOFFSET3D(u,0,1,-1),KRANC_GFOFFSET3D(u,0,-1,1)))))) #else # define PDstandardNthfdOrder232(u) (PDstandardNthfdOrder232_impl(u,p1o4dydz,cdj,cdk)) -static CCTK_REAL_VEC PDstandardNthfdOrder232_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o4dydz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL_VEC PDstandardNthfdOrder232_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o4dydz, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDstandardNthfdOrder232_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o4dydz, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL_VEC PDstandardNthfdOrder232_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o4dydz, const ptrdiff_t cdj, const ptrdiff_t cdk) { - ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); - return kmul(p1o4dydz,kadd(KRANC_GFOFFSET3D(u,0,-1,-1),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,1),KRANC_GFOFFSET3D(u,0,1,-1)),ToReal(-1.),KRANC_GFOFFSET3D(u,0,1,1)))); + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); + return PDstandardNthfdOrder223_impl(u, p1o4dydz, cdj, cdk); } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDstandardNthfdOrder412(u) (kmul(p1o144dxdy,kadd(KRANC_GFOFFSET3D(u,-2,-2,0),kadd(KRANC_GFOFFSET3D(u,2,2,0),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,1,0),KRANC_GFOFFSET3D(u,1,-1,0)),ToReal(-64.),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,-2,0),kadd(KRANC_GFOFFSET3D(u,1,2,0),kadd(KRANC_GFOFFSET3D(u,-2,-1,0),KRANC_GFOFFSET3D(u,2,1,0)))),ToReal(-8.),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,2,0),KRANC_GFOFFSET3D(u,2,-2,0)),ToReal(-1.),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,2,0),kadd(KRANC_GFOFFSET3D(u,1,-2,0),kadd(KRANC_GFOFFSET3D(u,-2,1,0),KRANC_GFOFFSET3D(u,2,-1,0)))),ToReal(8.),kmul(kadd(KRANC_GFOFFSET3D(u,-1,-1,0),KRANC_GFOFFSET3D(u,1,1,0)),ToReal(64.)))))))))) +# define PDstandardNthfdOrder412(u) (kmul(p1o144dxdy,kadd(KRANC_GFOFFSET3D(u,-2,-2,0),kadd(KRANC_GFOFFSET3D(u,2,2,0),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,1,0),KRANC_GFOFFSET3D(u,1,-1,0)),ToReal(-64),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,-2,0),kadd(KRANC_GFOFFSET3D(u,1,2,0),kadd(KRANC_GFOFFSET3D(u,-2,-1,0),KRANC_GFOFFSET3D(u,2,1,0)))),ToReal(-8),ksub(ksub(kmadd(kadd(KRANC_GFOFFSET3D(u,-1,2,0),kadd(KRANC_GFOFFSET3D(u,1,-2,0),kadd(KRANC_GFOFFSET3D(u,-2,1,0),KRANC_GFOFFSET3D(u,2,-1,0)))),ToReal(8),kmul(kadd(KRANC_GFOFFSET3D(u,-1,-1,0),KRANC_GFOFFSET3D(u,1,1,0)),ToReal(64))),KRANC_GFOFFSET3D(u,2,-2,0)),KRANC_GFOFFSET3D(u,-2,2,0)))))))) #else # define PDstandardNthfdOrder412(u) (PDstandardNthfdOrder412_impl(u,p1o144dxdy,cdj,cdk)) -static CCTK_REAL_VEC PDstandardNthfdOrder412_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o144dxdy, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL_VEC PDstandardNthfdOrder412_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o144dxdy, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDstandardNthfdOrder412_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o144dxdy, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL_VEC PDstandardNthfdOrder412_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o144dxdy, const ptrdiff_t cdj, const ptrdiff_t cdk) { - ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); - return kmul(p1o144dxdy,kadd(KRANC_GFOFFSET3D(u,-2,-2,0),kadd(KRANC_GFOFFSET3D(u,2,2,0),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,1,0),KRANC_GFOFFSET3D(u,1,-1,0)),ToReal(-64.),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,-2,0),kadd(KRANC_GFOFFSET3D(u,1,2,0),kadd(KRANC_GFOFFSET3D(u,-2,-1,0),KRANC_GFOFFSET3D(u,2,1,0)))),ToReal(-8.),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,2,0),KRANC_GFOFFSET3D(u,2,-2,0)),ToReal(-1.),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,2,0),kadd(KRANC_GFOFFSET3D(u,1,-2,0),kadd(KRANC_GFOFFSET3D(u,-2,1,0),KRANC_GFOFFSET3D(u,2,-1,0)))),ToReal(8.),kmul(kadd(KRANC_GFOFFSET3D(u,-1,-1,0),KRANC_GFOFFSET3D(u,1,1,0)),ToReal(64.))))))))); + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); + return kmul(p1o144dxdy,kadd(KRANC_GFOFFSET3D(u,-2,-2,0),kadd(KRANC_GFOFFSET3D(u,2,2,0),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,1,0),KRANC_GFOFFSET3D(u,1,-1,0)),ToReal(-64),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,-2,0),kadd(KRANC_GFOFFSET3D(u,1,2,0),kadd(KRANC_GFOFFSET3D(u,-2,-1,0),KRANC_GFOFFSET3D(u,2,1,0)))),ToReal(-8),ksub(ksub(kmadd(kadd(KRANC_GFOFFSET3D(u,-1,2,0),kadd(KRANC_GFOFFSET3D(u,1,-2,0),kadd(KRANC_GFOFFSET3D(u,-2,1,0),KRANC_GFOFFSET3D(u,2,-1,0)))),ToReal(8),kmul(kadd(KRANC_GFOFFSET3D(u,-1,-1,0),KRANC_GFOFFSET3D(u,1,1,0)),ToReal(64))),KRANC_GFOFFSET3D(u,2,-2,0)),KRANC_GFOFFSET3D(u,-2,2,0))))))); } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDstandardNthfdOrder413(u) (kmul(p1o144dxdz,kadd(KRANC_GFOFFSET3D(u,-2,0,-2),kadd(KRANC_GFOFFSET3D(u,2,0,2),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,1),KRANC_GFOFFSET3D(u,1,0,-1)),ToReal(-64.),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,-2),kadd(KRANC_GFOFFSET3D(u,1,0,2),kadd(KRANC_GFOFFSET3D(u,-2,0,-1),KRANC_GFOFFSET3D(u,2,0,1)))),ToReal(-8.),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,2),KRANC_GFOFFSET3D(u,2,0,-2)),ToReal(-1.),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,2),kadd(KRANC_GFOFFSET3D(u,1,0,-2),kadd(KRANC_GFOFFSET3D(u,-2,0,1),KRANC_GFOFFSET3D(u,2,0,-1)))),ToReal(8.),kmul(kadd(KRANC_GFOFFSET3D(u,-1,0,-1),KRANC_GFOFFSET3D(u,1,0,1)),ToReal(64.)))))))))) +# define PDstandardNthfdOrder413(u) (kmul(p1o144dxdz,kadd(KRANC_GFOFFSET3D(u,-2,0,-2),kadd(KRANC_GFOFFSET3D(u,2,0,2),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,1),KRANC_GFOFFSET3D(u,1,0,-1)),ToReal(-64),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,-2),kadd(KRANC_GFOFFSET3D(u,1,0,2),kadd(KRANC_GFOFFSET3D(u,-2,0,-1),KRANC_GFOFFSET3D(u,2,0,1)))),ToReal(-8),ksub(ksub(kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,2),kadd(KRANC_GFOFFSET3D(u,1,0,-2),kadd(KRANC_GFOFFSET3D(u,-2,0,1),KRANC_GFOFFSET3D(u,2,0,-1)))),ToReal(8),kmul(kadd(KRANC_GFOFFSET3D(u,-1,0,-1),KRANC_GFOFFSET3D(u,1,0,1)),ToReal(64))),KRANC_GFOFFSET3D(u,2,0,-2)),KRANC_GFOFFSET3D(u,-2,0,2)))))))) #else # define PDstandardNthfdOrder413(u) (PDstandardNthfdOrder413_impl(u,p1o144dxdz,cdj,cdk)) -static CCTK_REAL_VEC PDstandardNthfdOrder413_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o144dxdz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL_VEC PDstandardNthfdOrder413_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o144dxdz, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDstandardNthfdOrder413_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o144dxdz, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL_VEC PDstandardNthfdOrder413_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o144dxdz, const ptrdiff_t cdj, const ptrdiff_t cdk) { - ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); - return kmul(p1o144dxdz,kadd(KRANC_GFOFFSET3D(u,-2,0,-2),kadd(KRANC_GFOFFSET3D(u,2,0,2),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,1),KRANC_GFOFFSET3D(u,1,0,-1)),ToReal(-64.),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,-2),kadd(KRANC_GFOFFSET3D(u,1,0,2),kadd(KRANC_GFOFFSET3D(u,-2,0,-1),KRANC_GFOFFSET3D(u,2,0,1)))),ToReal(-8.),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,2),KRANC_GFOFFSET3D(u,2,0,-2)),ToReal(-1.),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,2),kadd(KRANC_GFOFFSET3D(u,1,0,-2),kadd(KRANC_GFOFFSET3D(u,-2,0,1),KRANC_GFOFFSET3D(u,2,0,-1)))),ToReal(8.),kmul(kadd(KRANC_GFOFFSET3D(u,-1,0,-1),KRANC_GFOFFSET3D(u,1,0,1)),ToReal(64.))))))))); + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); + return PDstandardNthfdOrder412_impl(u, p1o144dxdz, cdk, cdj); } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDstandardNthfdOrder421(u) (kmul(p1o144dxdy,kadd(KRANC_GFOFFSET3D(u,-2,-2,0),kadd(KRANC_GFOFFSET3D(u,2,2,0),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,1,0),KRANC_GFOFFSET3D(u,1,-1,0)),ToReal(-64.),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,-2,0),kadd(KRANC_GFOFFSET3D(u,1,2,0),kadd(KRANC_GFOFFSET3D(u,-2,-1,0),KRANC_GFOFFSET3D(u,2,1,0)))),ToReal(-8.),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,2,0),KRANC_GFOFFSET3D(u,2,-2,0)),ToReal(-1.),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,2,0),kadd(KRANC_GFOFFSET3D(u,1,-2,0),kadd(KRANC_GFOFFSET3D(u,-2,1,0),KRANC_GFOFFSET3D(u,2,-1,0)))),ToReal(8.),kmul(kadd(KRANC_GFOFFSET3D(u,-1,-1,0),KRANC_GFOFFSET3D(u,1,1,0)),ToReal(64.)))))))))) +# define PDstandardNthfdOrder421(u) (kmul(p1o144dxdy,kadd(KRANC_GFOFFSET3D(u,-2,-2,0),kadd(KRANC_GFOFFSET3D(u,2,2,0),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,1,0),KRANC_GFOFFSET3D(u,1,-1,0)),ToReal(-64),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,-2,0),kadd(KRANC_GFOFFSET3D(u,1,2,0),kadd(KRANC_GFOFFSET3D(u,-2,-1,0),KRANC_GFOFFSET3D(u,2,1,0)))),ToReal(-8),ksub(ksub(kmadd(kadd(KRANC_GFOFFSET3D(u,-1,2,0),kadd(KRANC_GFOFFSET3D(u,1,-2,0),kadd(KRANC_GFOFFSET3D(u,-2,1,0),KRANC_GFOFFSET3D(u,2,-1,0)))),ToReal(8),kmul(kadd(KRANC_GFOFFSET3D(u,-1,-1,0),KRANC_GFOFFSET3D(u,1,1,0)),ToReal(64))),KRANC_GFOFFSET3D(u,2,-2,0)),KRANC_GFOFFSET3D(u,-2,2,0)))))))) #else # define PDstandardNthfdOrder421(u) (PDstandardNthfdOrder421_impl(u,p1o144dxdy,cdj,cdk)) -static CCTK_REAL_VEC PDstandardNthfdOrder421_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o144dxdy, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL_VEC PDstandardNthfdOrder421_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o144dxdy, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDstandardNthfdOrder421_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o144dxdy, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL_VEC PDstandardNthfdOrder421_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o144dxdy, const ptrdiff_t cdj, const ptrdiff_t cdk) { - ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); - return kmul(p1o144dxdy,kadd(KRANC_GFOFFSET3D(u,-2,-2,0),kadd(KRANC_GFOFFSET3D(u,2,2,0),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,1,0),KRANC_GFOFFSET3D(u,1,-1,0)),ToReal(-64.),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,-2,0),kadd(KRANC_GFOFFSET3D(u,1,2,0),kadd(KRANC_GFOFFSET3D(u,-2,-1,0),KRANC_GFOFFSET3D(u,2,1,0)))),ToReal(-8.),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,2,0),KRANC_GFOFFSET3D(u,2,-2,0)),ToReal(-1.),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,2,0),kadd(KRANC_GFOFFSET3D(u,1,-2,0),kadd(KRANC_GFOFFSET3D(u,-2,1,0),KRANC_GFOFFSET3D(u,2,-1,0)))),ToReal(8.),kmul(kadd(KRANC_GFOFFSET3D(u,-1,-1,0),KRANC_GFOFFSET3D(u,1,1,0)),ToReal(64.))))))))); + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); + return PDstandardNthfdOrder412_impl(u, p1o144dxdy, cdj, cdk); } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDstandardNthfdOrder423(u) (kmul(p1o144dydz,kadd(KRANC_GFOFFSET3D(u,0,-2,-2),kadd(KRANC_GFOFFSET3D(u,0,2,2),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,1),KRANC_GFOFFSET3D(u,0,1,-1)),ToReal(-64.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,-2),kadd(KRANC_GFOFFSET3D(u,0,1,2),kadd(KRANC_GFOFFSET3D(u,0,-2,-1),KRANC_GFOFFSET3D(u,0,2,1)))),ToReal(-8.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,2),KRANC_GFOFFSET3D(u,0,2,-2)),ToReal(-1.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,2),kadd(KRANC_GFOFFSET3D(u,0,1,-2),kadd(KRANC_GFOFFSET3D(u,0,-2,1),KRANC_GFOFFSET3D(u,0,2,-1)))),ToReal(8.),kmul(kadd(KRANC_GFOFFSET3D(u,0,-1,-1),KRANC_GFOFFSET3D(u,0,1,1)),ToReal(64.)))))))))) +# define PDstandardNthfdOrder423(u) (kmul(p1o144dydz,kadd(KRANC_GFOFFSET3D(u,0,-2,-2),kadd(KRANC_GFOFFSET3D(u,0,2,2),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,1),KRANC_GFOFFSET3D(u,0,1,-1)),ToReal(-64),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,-2),kadd(KRANC_GFOFFSET3D(u,0,1,2),kadd(KRANC_GFOFFSET3D(u,0,-2,-1),KRANC_GFOFFSET3D(u,0,2,1)))),ToReal(-8),ksub(ksub(kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,2),kadd(KRANC_GFOFFSET3D(u,0,1,-2),kadd(KRANC_GFOFFSET3D(u,0,-2,1),KRANC_GFOFFSET3D(u,0,2,-1)))),ToReal(8),kmul(kadd(KRANC_GFOFFSET3D(u,0,-1,-1),KRANC_GFOFFSET3D(u,0,1,1)),ToReal(64))),KRANC_GFOFFSET3D(u,0,2,-2)),KRANC_GFOFFSET3D(u,0,-2,2)))))))) #else # define PDstandardNthfdOrder423(u) (PDstandardNthfdOrder423_impl(u,p1o144dydz,cdj,cdk)) -static CCTK_REAL_VEC PDstandardNthfdOrder423_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o144dydz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL_VEC PDstandardNthfdOrder423_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o144dydz, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDstandardNthfdOrder423_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o144dydz, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL_VEC PDstandardNthfdOrder423_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o144dydz, const ptrdiff_t cdj, const ptrdiff_t cdk) { - ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); - return kmul(p1o144dydz,kadd(KRANC_GFOFFSET3D(u,0,-2,-2),kadd(KRANC_GFOFFSET3D(u,0,2,2),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,1),KRANC_GFOFFSET3D(u,0,1,-1)),ToReal(-64.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,-2),kadd(KRANC_GFOFFSET3D(u,0,1,2),kadd(KRANC_GFOFFSET3D(u,0,-2,-1),KRANC_GFOFFSET3D(u,0,2,1)))),ToReal(-8.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,2),KRANC_GFOFFSET3D(u,0,2,-2)),ToReal(-1.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,2),kadd(KRANC_GFOFFSET3D(u,0,1,-2),kadd(KRANC_GFOFFSET3D(u,0,-2,1),KRANC_GFOFFSET3D(u,0,2,-1)))),ToReal(8.),kmul(kadd(KRANC_GFOFFSET3D(u,0,-1,-1),KRANC_GFOFFSET3D(u,0,1,1)),ToReal(64.))))))))); + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); + return kmul(p1o144dydz,kadd(KRANC_GFOFFSET3D(u,0,-2,-2),kadd(KRANC_GFOFFSET3D(u,0,2,2),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,1),KRANC_GFOFFSET3D(u,0,1,-1)),ToReal(-64),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,-2),kadd(KRANC_GFOFFSET3D(u,0,1,2),kadd(KRANC_GFOFFSET3D(u,0,-2,-1),KRANC_GFOFFSET3D(u,0,2,1)))),ToReal(-8),ksub(ksub(kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,2),kadd(KRANC_GFOFFSET3D(u,0,1,-2),kadd(KRANC_GFOFFSET3D(u,0,-2,1),KRANC_GFOFFSET3D(u,0,2,-1)))),ToReal(8),kmul(kadd(KRANC_GFOFFSET3D(u,0,-1,-1),KRANC_GFOFFSET3D(u,0,1,1)),ToReal(64))),KRANC_GFOFFSET3D(u,0,2,-2)),KRANC_GFOFFSET3D(u,0,-2,2))))))); } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDstandardNthfdOrder431(u) (kmul(p1o144dxdz,kadd(KRANC_GFOFFSET3D(u,-2,0,-2),kadd(KRANC_GFOFFSET3D(u,2,0,2),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,1),KRANC_GFOFFSET3D(u,1,0,-1)),ToReal(-64.),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,-2),kadd(KRANC_GFOFFSET3D(u,1,0,2),kadd(KRANC_GFOFFSET3D(u,-2,0,-1),KRANC_GFOFFSET3D(u,2,0,1)))),ToReal(-8.),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,2),KRANC_GFOFFSET3D(u,2,0,-2)),ToReal(-1.),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,2),kadd(KRANC_GFOFFSET3D(u,1,0,-2),kadd(KRANC_GFOFFSET3D(u,-2,0,1),KRANC_GFOFFSET3D(u,2,0,-1)))),ToReal(8.),kmul(kadd(KRANC_GFOFFSET3D(u,-1,0,-1),KRANC_GFOFFSET3D(u,1,0,1)),ToReal(64.)))))))))) +# define PDstandardNthfdOrder431(u) (kmul(p1o144dxdz,kadd(KRANC_GFOFFSET3D(u,-2,0,-2),kadd(KRANC_GFOFFSET3D(u,2,0,2),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,1),KRANC_GFOFFSET3D(u,1,0,-1)),ToReal(-64),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,-2),kadd(KRANC_GFOFFSET3D(u,1,0,2),kadd(KRANC_GFOFFSET3D(u,-2,0,-1),KRANC_GFOFFSET3D(u,2,0,1)))),ToReal(-8),ksub(ksub(kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,2),kadd(KRANC_GFOFFSET3D(u,1,0,-2),kadd(KRANC_GFOFFSET3D(u,-2,0,1),KRANC_GFOFFSET3D(u,2,0,-1)))),ToReal(8),kmul(kadd(KRANC_GFOFFSET3D(u,-1,0,-1),KRANC_GFOFFSET3D(u,1,0,1)),ToReal(64))),KRANC_GFOFFSET3D(u,2,0,-2)),KRANC_GFOFFSET3D(u,-2,0,2)))))))) #else # define PDstandardNthfdOrder431(u) (PDstandardNthfdOrder431_impl(u,p1o144dxdz,cdj,cdk)) -static CCTK_REAL_VEC PDstandardNthfdOrder431_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o144dxdz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL_VEC PDstandardNthfdOrder431_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o144dxdz, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDstandardNthfdOrder431_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o144dxdz, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL_VEC PDstandardNthfdOrder431_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o144dxdz, const ptrdiff_t cdj, const ptrdiff_t cdk) { - ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); - return kmul(p1o144dxdz,kadd(KRANC_GFOFFSET3D(u,-2,0,-2),kadd(KRANC_GFOFFSET3D(u,2,0,2),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,1),KRANC_GFOFFSET3D(u,1,0,-1)),ToReal(-64.),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,-2),kadd(KRANC_GFOFFSET3D(u,1,0,2),kadd(KRANC_GFOFFSET3D(u,-2,0,-1),KRANC_GFOFFSET3D(u,2,0,1)))),ToReal(-8.),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,2),KRANC_GFOFFSET3D(u,2,0,-2)),ToReal(-1.),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,2),kadd(KRANC_GFOFFSET3D(u,1,0,-2),kadd(KRANC_GFOFFSET3D(u,-2,0,1),KRANC_GFOFFSET3D(u,2,0,-1)))),ToReal(8.),kmul(kadd(KRANC_GFOFFSET3D(u,-1,0,-1),KRANC_GFOFFSET3D(u,1,0,1)),ToReal(64.))))))))); + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); + return PDstandardNthfdOrder412_impl(u, p1o144dxdz, cdk, cdj); } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDstandardNthfdOrder432(u) (kmul(p1o144dydz,kadd(KRANC_GFOFFSET3D(u,0,-2,-2),kadd(KRANC_GFOFFSET3D(u,0,2,2),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,1),KRANC_GFOFFSET3D(u,0,1,-1)),ToReal(-64.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,-2),kadd(KRANC_GFOFFSET3D(u,0,1,2),kadd(KRANC_GFOFFSET3D(u,0,-2,-1),KRANC_GFOFFSET3D(u,0,2,1)))),ToReal(-8.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,2),KRANC_GFOFFSET3D(u,0,2,-2)),ToReal(-1.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,2),kadd(KRANC_GFOFFSET3D(u,0,1,-2),kadd(KRANC_GFOFFSET3D(u,0,-2,1),KRANC_GFOFFSET3D(u,0,2,-1)))),ToReal(8.),kmul(kadd(KRANC_GFOFFSET3D(u,0,-1,-1),KRANC_GFOFFSET3D(u,0,1,1)),ToReal(64.)))))))))) +# define PDstandardNthfdOrder432(u) (kmul(p1o144dydz,kadd(KRANC_GFOFFSET3D(u,0,-2,-2),kadd(KRANC_GFOFFSET3D(u,0,2,2),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,1),KRANC_GFOFFSET3D(u,0,1,-1)),ToReal(-64),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,-2),kadd(KRANC_GFOFFSET3D(u,0,1,2),kadd(KRANC_GFOFFSET3D(u,0,-2,-1),KRANC_GFOFFSET3D(u,0,2,1)))),ToReal(-8),ksub(ksub(kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,2),kadd(KRANC_GFOFFSET3D(u,0,1,-2),kadd(KRANC_GFOFFSET3D(u,0,-2,1),KRANC_GFOFFSET3D(u,0,2,-1)))),ToReal(8),kmul(kadd(KRANC_GFOFFSET3D(u,0,-1,-1),KRANC_GFOFFSET3D(u,0,1,1)),ToReal(64))),KRANC_GFOFFSET3D(u,0,2,-2)),KRANC_GFOFFSET3D(u,0,-2,2)))))))) #else # define PDstandardNthfdOrder432(u) (PDstandardNthfdOrder432_impl(u,p1o144dydz,cdj,cdk)) -static CCTK_REAL_VEC PDstandardNthfdOrder432_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o144dydz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL_VEC PDstandardNthfdOrder432_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o144dydz, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDstandardNthfdOrder432_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o144dydz, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL_VEC PDstandardNthfdOrder432_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o144dydz, const ptrdiff_t cdj, const ptrdiff_t cdk) { - ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); - return kmul(p1o144dydz,kadd(KRANC_GFOFFSET3D(u,0,-2,-2),kadd(KRANC_GFOFFSET3D(u,0,2,2),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,1),KRANC_GFOFFSET3D(u,0,1,-1)),ToReal(-64.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,-2),kadd(KRANC_GFOFFSET3D(u,0,1,2),kadd(KRANC_GFOFFSET3D(u,0,-2,-1),KRANC_GFOFFSET3D(u,0,2,1)))),ToReal(-8.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,2),KRANC_GFOFFSET3D(u,0,2,-2)),ToReal(-1.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,2),kadd(KRANC_GFOFFSET3D(u,0,1,-2),kadd(KRANC_GFOFFSET3D(u,0,-2,1),KRANC_GFOFFSET3D(u,0,2,-1)))),ToReal(8.),kmul(kadd(KRANC_GFOFFSET3D(u,0,-1,-1),KRANC_GFOFFSET3D(u,0,1,1)),ToReal(64.))))))))); + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); + return PDstandardNthfdOrder423_impl(u, p1o144dydz, cdj, cdk); } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDstandardNthfdOrder612(u) (kmul(p1o3600dxdy,kadd(KRANC_GFOFFSET3D(u,-3,-3,0),kadd(KRANC_GFOFFSET3D(u,3,3,0),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,1,0),KRANC_GFOFFSET3D(u,1,-1,0)),ToReal(-2025.),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,-2,0),kadd(KRANC_GFOFFSET3D(u,1,2,0),kadd(KRANC_GFOFFSET3D(u,-2,-1,0),KRANC_GFOFFSET3D(u,2,1,0)))),ToReal(-405.),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,2,0),KRANC_GFOFFSET3D(u,2,-2,0)),ToReal(-81.),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,3,0),kadd(KRANC_GFOFFSET3D(u,1,-3,0),kadd(KRANC_GFOFFSET3D(u,-3,1,0),KRANC_GFOFFSET3D(u,3,-1,0)))),ToReal(-45.),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,-3,0),kadd(KRANC_GFOFFSET3D(u,2,3,0),kadd(KRANC_GFOFFSET3D(u,-3,-2,0),KRANC_GFOFFSET3D(u,3,2,0)))),ToReal(-9.),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,3,0),KRANC_GFOFFSET3D(u,3,-3,0)),ToReal(-1.),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,3,0),kadd(KRANC_GFOFFSET3D(u,2,-3,0),kadd(KRANC_GFOFFSET3D(u,-3,2,0),KRANC_GFOFFSET3D(u,3,-2,0)))),ToReal(9.),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,-3,0),kadd(KRANC_GFOFFSET3D(u,1,3,0),kadd(KRANC_GFOFFSET3D(u,-3,-1,0),KRANC_GFOFFSET3D(u,3,1,0)))),ToReal(45.),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,-2,0),KRANC_GFOFFSET3D(u,2,2,0)),ToReal(81.),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,2,0),kadd(KRANC_GFOFFSET3D(u,1,-2,0),kadd(KRANC_GFOFFSET3D(u,-2,1,0),KRANC_GFOFFSET3D(u,2,-1,0)))),ToReal(405.),kmul(kadd(KRANC_GFOFFSET3D(u,-1,-1,0),KRANC_GFOFFSET3D(u,1,1,0)),ToReal(2025.)))))))))))))))) +# define PDstandardNthfdOrder612(u) (kmul(p1o3600dxdy,kadd(KRANC_GFOFFSET3D(u,-3,-3,0),kadd(KRANC_GFOFFSET3D(u,3,3,0),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,1,0),KRANC_GFOFFSET3D(u,1,-1,0)),ToReal(-2025),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,-2,0),kadd(KRANC_GFOFFSET3D(u,1,2,0),kadd(KRANC_GFOFFSET3D(u,-2,-1,0),KRANC_GFOFFSET3D(u,2,1,0)))),ToReal(-405),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,2,0),KRANC_GFOFFSET3D(u,2,-2,0)),ToReal(-81),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,3,0),kadd(KRANC_GFOFFSET3D(u,1,-3,0),kadd(KRANC_GFOFFSET3D(u,-3,1,0),KRANC_GFOFFSET3D(u,3,-1,0)))),ToReal(-45),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,-3,0),kadd(KRANC_GFOFFSET3D(u,2,3,0),kadd(KRANC_GFOFFSET3D(u,-3,-2,0),KRANC_GFOFFSET3D(u,3,2,0)))),ToReal(-9),ksub(ksub(kmadd(kadd(KRANC_GFOFFSET3D(u,-2,3,0),kadd(KRANC_GFOFFSET3D(u,2,-3,0),kadd(KRANC_GFOFFSET3D(u,-3,2,0),KRANC_GFOFFSET3D(u,3,-2,0)))),ToReal(9),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,-3,0),kadd(KRANC_GFOFFSET3D(u,1,3,0),kadd(KRANC_GFOFFSET3D(u,-3,-1,0),KRANC_GFOFFSET3D(u,3,1,0)))),ToReal(45),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,-2,0),KRANC_GFOFFSET3D(u,2,2,0)),ToReal(81),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,2,0),kadd(KRANC_GFOFFSET3D(u,1,-2,0),kadd(KRANC_GFOFFSET3D(u,-2,1,0),KRANC_GFOFFSET3D(u,2,-1,0)))),ToReal(405),kmul(kadd(KRANC_GFOFFSET3D(u,-1,-1,0),KRANC_GFOFFSET3D(u,1,1,0)),ToReal(2025)))))),KRANC_GFOFFSET3D(u,3,-3,0)),KRANC_GFOFFSET3D(u,-3,3,0))))))))))) #else # define PDstandardNthfdOrder612(u) (PDstandardNthfdOrder612_impl(u,p1o3600dxdy,cdj,cdk)) -static CCTK_REAL_VEC PDstandardNthfdOrder612_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o3600dxdy, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL_VEC PDstandardNthfdOrder612_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o3600dxdy, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDstandardNthfdOrder612_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o3600dxdy, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL_VEC PDstandardNthfdOrder612_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o3600dxdy, const ptrdiff_t cdj, const ptrdiff_t cdk) { - ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); - return kmul(p1o3600dxdy,kadd(KRANC_GFOFFSET3D(u,-3,-3,0),kadd(KRANC_GFOFFSET3D(u,3,3,0),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,1,0),KRANC_GFOFFSET3D(u,1,-1,0)),ToReal(-2025.),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,-2,0),kadd(KRANC_GFOFFSET3D(u,1,2,0),kadd(KRANC_GFOFFSET3D(u,-2,-1,0),KRANC_GFOFFSET3D(u,2,1,0)))),ToReal(-405.),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,2,0),KRANC_GFOFFSET3D(u,2,-2,0)),ToReal(-81.),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,3,0),kadd(KRANC_GFOFFSET3D(u,1,-3,0),kadd(KRANC_GFOFFSET3D(u,-3,1,0),KRANC_GFOFFSET3D(u,3,-1,0)))),ToReal(-45.),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,-3,0),kadd(KRANC_GFOFFSET3D(u,2,3,0),kadd(KRANC_GFOFFSET3D(u,-3,-2,0),KRANC_GFOFFSET3D(u,3,2,0)))),ToReal(-9.),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,3,0),KRANC_GFOFFSET3D(u,3,-3,0)),ToReal(-1.),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,3,0),kadd(KRANC_GFOFFSET3D(u,2,-3,0),kadd(KRANC_GFOFFSET3D(u,-3,2,0),KRANC_GFOFFSET3D(u,3,-2,0)))),ToReal(9.),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,-3,0),kadd(KRANC_GFOFFSET3D(u,1,3,0),kadd(KRANC_GFOFFSET3D(u,-3,-1,0),KRANC_GFOFFSET3D(u,3,1,0)))),ToReal(45.),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,-2,0),KRANC_GFOFFSET3D(u,2,2,0)),ToReal(81.),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,2,0),kadd(KRANC_GFOFFSET3D(u,1,-2,0),kadd(KRANC_GFOFFSET3D(u,-2,1,0),KRANC_GFOFFSET3D(u,2,-1,0)))),ToReal(405.),kmul(kadd(KRANC_GFOFFSET3D(u,-1,-1,0),KRANC_GFOFFSET3D(u,1,1,0)),ToReal(2025.))))))))))))))); + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); + return kmul(p1o3600dxdy,kadd(KRANC_GFOFFSET3D(u,-3,-3,0),kadd(KRANC_GFOFFSET3D(u,3,3,0),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,1,0),KRANC_GFOFFSET3D(u,1,-1,0)),ToReal(-2025),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,-2,0),kadd(KRANC_GFOFFSET3D(u,1,2,0),kadd(KRANC_GFOFFSET3D(u,-2,-1,0),KRANC_GFOFFSET3D(u,2,1,0)))),ToReal(-405),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,2,0),KRANC_GFOFFSET3D(u,2,-2,0)),ToReal(-81),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,3,0),kadd(KRANC_GFOFFSET3D(u,1,-3,0),kadd(KRANC_GFOFFSET3D(u,-3,1,0),KRANC_GFOFFSET3D(u,3,-1,0)))),ToReal(-45),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,-3,0),kadd(KRANC_GFOFFSET3D(u,2,3,0),kadd(KRANC_GFOFFSET3D(u,-3,-2,0),KRANC_GFOFFSET3D(u,3,2,0)))),ToReal(-9),ksub(ksub(kmadd(kadd(KRANC_GFOFFSET3D(u,-2,3,0),kadd(KRANC_GFOFFSET3D(u,2,-3,0),kadd(KRANC_GFOFFSET3D(u,-3,2,0),KRANC_GFOFFSET3D(u,3,-2,0)))),ToReal(9),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,-3,0),kadd(KRANC_GFOFFSET3D(u,1,3,0),kadd(KRANC_GFOFFSET3D(u,-3,-1,0),KRANC_GFOFFSET3D(u,3,1,0)))),ToReal(45),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,-2,0),KRANC_GFOFFSET3D(u,2,2,0)),ToReal(81),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,2,0),kadd(KRANC_GFOFFSET3D(u,1,-2,0),kadd(KRANC_GFOFFSET3D(u,-2,1,0),KRANC_GFOFFSET3D(u,2,-1,0)))),ToReal(405),kmul(kadd(KRANC_GFOFFSET3D(u,-1,-1,0),KRANC_GFOFFSET3D(u,1,1,0)),ToReal(2025)))))),KRANC_GFOFFSET3D(u,3,-3,0)),KRANC_GFOFFSET3D(u,-3,3,0)))))))))); } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDstandardNthfdOrder613(u) (kmul(p1o3600dxdz,kadd(KRANC_GFOFFSET3D(u,-3,0,-3),kadd(KRANC_GFOFFSET3D(u,3,0,3),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,1),KRANC_GFOFFSET3D(u,1,0,-1)),ToReal(-2025.),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,-2),kadd(KRANC_GFOFFSET3D(u,1,0,2),kadd(KRANC_GFOFFSET3D(u,-2,0,-1),KRANC_GFOFFSET3D(u,2,0,1)))),ToReal(-405.),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,2),KRANC_GFOFFSET3D(u,2,0,-2)),ToReal(-81.),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,3),kadd(KRANC_GFOFFSET3D(u,1,0,-3),kadd(KRANC_GFOFFSET3D(u,-3,0,1),KRANC_GFOFFSET3D(u,3,0,-1)))),ToReal(-45.),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,-3),kadd(KRANC_GFOFFSET3D(u,2,0,3),kadd(KRANC_GFOFFSET3D(u,-3,0,-2),KRANC_GFOFFSET3D(u,3,0,2)))),ToReal(-9.),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,0,3),KRANC_GFOFFSET3D(u,3,0,-3)),ToReal(-1.),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,3),kadd(KRANC_GFOFFSET3D(u,2,0,-3),kadd(KRANC_GFOFFSET3D(u,-3,0,2),KRANC_GFOFFSET3D(u,3,0,-2)))),ToReal(9.),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,-3),kadd(KRANC_GFOFFSET3D(u,1,0,3),kadd(KRANC_GFOFFSET3D(u,-3,0,-1),KRANC_GFOFFSET3D(u,3,0,1)))),ToReal(45.),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,-2),KRANC_GFOFFSET3D(u,2,0,2)),ToReal(81.),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,2),kadd(KRANC_GFOFFSET3D(u,1,0,-2),kadd(KRANC_GFOFFSET3D(u,-2,0,1),KRANC_GFOFFSET3D(u,2,0,-1)))),ToReal(405.),kmul(kadd(KRANC_GFOFFSET3D(u,-1,0,-1),KRANC_GFOFFSET3D(u,1,0,1)),ToReal(2025.)))))))))))))))) +# define PDstandardNthfdOrder613(u) (kmul(p1o3600dxdz,kadd(KRANC_GFOFFSET3D(u,-3,0,-3),kadd(KRANC_GFOFFSET3D(u,3,0,3),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,1),KRANC_GFOFFSET3D(u,1,0,-1)),ToReal(-2025),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,-2),kadd(KRANC_GFOFFSET3D(u,1,0,2),kadd(KRANC_GFOFFSET3D(u,-2,0,-1),KRANC_GFOFFSET3D(u,2,0,1)))),ToReal(-405),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,2),KRANC_GFOFFSET3D(u,2,0,-2)),ToReal(-81),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,3),kadd(KRANC_GFOFFSET3D(u,1,0,-3),kadd(KRANC_GFOFFSET3D(u,-3,0,1),KRANC_GFOFFSET3D(u,3,0,-1)))),ToReal(-45),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,-3),kadd(KRANC_GFOFFSET3D(u,2,0,3),kadd(KRANC_GFOFFSET3D(u,-3,0,-2),KRANC_GFOFFSET3D(u,3,0,2)))),ToReal(-9),ksub(ksub(kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,3),kadd(KRANC_GFOFFSET3D(u,2,0,-3),kadd(KRANC_GFOFFSET3D(u,-3,0,2),KRANC_GFOFFSET3D(u,3,0,-2)))),ToReal(9),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,-3),kadd(KRANC_GFOFFSET3D(u,1,0,3),kadd(KRANC_GFOFFSET3D(u,-3,0,-1),KRANC_GFOFFSET3D(u,3,0,1)))),ToReal(45),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,-2),KRANC_GFOFFSET3D(u,2,0,2)),ToReal(81),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,2),kadd(KRANC_GFOFFSET3D(u,1,0,-2),kadd(KRANC_GFOFFSET3D(u,-2,0,1),KRANC_GFOFFSET3D(u,2,0,-1)))),ToReal(405),kmul(kadd(KRANC_GFOFFSET3D(u,-1,0,-1),KRANC_GFOFFSET3D(u,1,0,1)),ToReal(2025)))))),KRANC_GFOFFSET3D(u,3,0,-3)),KRANC_GFOFFSET3D(u,-3,0,3))))))))))) #else # define PDstandardNthfdOrder613(u) (PDstandardNthfdOrder613_impl(u,p1o3600dxdz,cdj,cdk)) -static CCTK_REAL_VEC PDstandardNthfdOrder613_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o3600dxdz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL_VEC PDstandardNthfdOrder613_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o3600dxdz, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDstandardNthfdOrder613_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o3600dxdz, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL_VEC PDstandardNthfdOrder613_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o3600dxdz, const ptrdiff_t cdj, const ptrdiff_t cdk) { - ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); - return kmul(p1o3600dxdz,kadd(KRANC_GFOFFSET3D(u,-3,0,-3),kadd(KRANC_GFOFFSET3D(u,3,0,3),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,1),KRANC_GFOFFSET3D(u,1,0,-1)),ToReal(-2025.),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,-2),kadd(KRANC_GFOFFSET3D(u,1,0,2),kadd(KRANC_GFOFFSET3D(u,-2,0,-1),KRANC_GFOFFSET3D(u,2,0,1)))),ToReal(-405.),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,2),KRANC_GFOFFSET3D(u,2,0,-2)),ToReal(-81.),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,3),kadd(KRANC_GFOFFSET3D(u,1,0,-3),kadd(KRANC_GFOFFSET3D(u,-3,0,1),KRANC_GFOFFSET3D(u,3,0,-1)))),ToReal(-45.),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,-3),kadd(KRANC_GFOFFSET3D(u,2,0,3),kadd(KRANC_GFOFFSET3D(u,-3,0,-2),KRANC_GFOFFSET3D(u,3,0,2)))),ToReal(-9.),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,0,3),KRANC_GFOFFSET3D(u,3,0,-3)),ToReal(-1.),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,3),kadd(KRANC_GFOFFSET3D(u,2,0,-3),kadd(KRANC_GFOFFSET3D(u,-3,0,2),KRANC_GFOFFSET3D(u,3,0,-2)))),ToReal(9.),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,-3),kadd(KRANC_GFOFFSET3D(u,1,0,3),kadd(KRANC_GFOFFSET3D(u,-3,0,-1),KRANC_GFOFFSET3D(u,3,0,1)))),ToReal(45.),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,-2),KRANC_GFOFFSET3D(u,2,0,2)),ToReal(81.),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,2),kadd(KRANC_GFOFFSET3D(u,1,0,-2),kadd(KRANC_GFOFFSET3D(u,-2,0,1),KRANC_GFOFFSET3D(u,2,0,-1)))),ToReal(405.),kmul(kadd(KRANC_GFOFFSET3D(u,-1,0,-1),KRANC_GFOFFSET3D(u,1,0,1)),ToReal(2025.))))))))))))))); + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); + return PDstandardNthfdOrder612_impl(u, p1o3600dxdz, cdk, cdj); } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDstandardNthfdOrder621(u) (kmul(p1o3600dxdy,kadd(KRANC_GFOFFSET3D(u,-3,-3,0),kadd(KRANC_GFOFFSET3D(u,3,3,0),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,1,0),KRANC_GFOFFSET3D(u,1,-1,0)),ToReal(-2025.),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,-2,0),kadd(KRANC_GFOFFSET3D(u,1,2,0),kadd(KRANC_GFOFFSET3D(u,-2,-1,0),KRANC_GFOFFSET3D(u,2,1,0)))),ToReal(-405.),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,2,0),KRANC_GFOFFSET3D(u,2,-2,0)),ToReal(-81.),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,3,0),kadd(KRANC_GFOFFSET3D(u,1,-3,0),kadd(KRANC_GFOFFSET3D(u,-3,1,0),KRANC_GFOFFSET3D(u,3,-1,0)))),ToReal(-45.),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,-3,0),kadd(KRANC_GFOFFSET3D(u,2,3,0),kadd(KRANC_GFOFFSET3D(u,-3,-2,0),KRANC_GFOFFSET3D(u,3,2,0)))),ToReal(-9.),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,3,0),KRANC_GFOFFSET3D(u,3,-3,0)),ToReal(-1.),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,3,0),kadd(KRANC_GFOFFSET3D(u,2,-3,0),kadd(KRANC_GFOFFSET3D(u,-3,2,0),KRANC_GFOFFSET3D(u,3,-2,0)))),ToReal(9.),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,-3,0),kadd(KRANC_GFOFFSET3D(u,1,3,0),kadd(KRANC_GFOFFSET3D(u,-3,-1,0),KRANC_GFOFFSET3D(u,3,1,0)))),ToReal(45.),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,-2,0),KRANC_GFOFFSET3D(u,2,2,0)),ToReal(81.),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,2,0),kadd(KRANC_GFOFFSET3D(u,1,-2,0),kadd(KRANC_GFOFFSET3D(u,-2,1,0),KRANC_GFOFFSET3D(u,2,-1,0)))),ToReal(405.),kmul(kadd(KRANC_GFOFFSET3D(u,-1,-1,0),KRANC_GFOFFSET3D(u,1,1,0)),ToReal(2025.)))))))))))))))) +# define PDstandardNthfdOrder621(u) (kmul(p1o3600dxdy,kadd(KRANC_GFOFFSET3D(u,-3,-3,0),kadd(KRANC_GFOFFSET3D(u,3,3,0),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,1,0),KRANC_GFOFFSET3D(u,1,-1,0)),ToReal(-2025),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,-2,0),kadd(KRANC_GFOFFSET3D(u,1,2,0),kadd(KRANC_GFOFFSET3D(u,-2,-1,0),KRANC_GFOFFSET3D(u,2,1,0)))),ToReal(-405),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,2,0),KRANC_GFOFFSET3D(u,2,-2,0)),ToReal(-81),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,3,0),kadd(KRANC_GFOFFSET3D(u,1,-3,0),kadd(KRANC_GFOFFSET3D(u,-3,1,0),KRANC_GFOFFSET3D(u,3,-1,0)))),ToReal(-45),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,-3,0),kadd(KRANC_GFOFFSET3D(u,2,3,0),kadd(KRANC_GFOFFSET3D(u,-3,-2,0),KRANC_GFOFFSET3D(u,3,2,0)))),ToReal(-9),ksub(ksub(kmadd(kadd(KRANC_GFOFFSET3D(u,-2,3,0),kadd(KRANC_GFOFFSET3D(u,2,-3,0),kadd(KRANC_GFOFFSET3D(u,-3,2,0),KRANC_GFOFFSET3D(u,3,-2,0)))),ToReal(9),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,-3,0),kadd(KRANC_GFOFFSET3D(u,1,3,0),kadd(KRANC_GFOFFSET3D(u,-3,-1,0),KRANC_GFOFFSET3D(u,3,1,0)))),ToReal(45),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,-2,0),KRANC_GFOFFSET3D(u,2,2,0)),ToReal(81),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,2,0),kadd(KRANC_GFOFFSET3D(u,1,-2,0),kadd(KRANC_GFOFFSET3D(u,-2,1,0),KRANC_GFOFFSET3D(u,2,-1,0)))),ToReal(405),kmul(kadd(KRANC_GFOFFSET3D(u,-1,-1,0),KRANC_GFOFFSET3D(u,1,1,0)),ToReal(2025)))))),KRANC_GFOFFSET3D(u,3,-3,0)),KRANC_GFOFFSET3D(u,-3,3,0))))))))))) #else # define PDstandardNthfdOrder621(u) (PDstandardNthfdOrder621_impl(u,p1o3600dxdy,cdj,cdk)) -static CCTK_REAL_VEC PDstandardNthfdOrder621_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o3600dxdy, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL_VEC PDstandardNthfdOrder621_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o3600dxdy, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDstandardNthfdOrder621_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o3600dxdy, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL_VEC PDstandardNthfdOrder621_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o3600dxdy, const ptrdiff_t cdj, const ptrdiff_t cdk) { - ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); - return kmul(p1o3600dxdy,kadd(KRANC_GFOFFSET3D(u,-3,-3,0),kadd(KRANC_GFOFFSET3D(u,3,3,0),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,1,0),KRANC_GFOFFSET3D(u,1,-1,0)),ToReal(-2025.),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,-2,0),kadd(KRANC_GFOFFSET3D(u,1,2,0),kadd(KRANC_GFOFFSET3D(u,-2,-1,0),KRANC_GFOFFSET3D(u,2,1,0)))),ToReal(-405.),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,2,0),KRANC_GFOFFSET3D(u,2,-2,0)),ToReal(-81.),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,3,0),kadd(KRANC_GFOFFSET3D(u,1,-3,0),kadd(KRANC_GFOFFSET3D(u,-3,1,0),KRANC_GFOFFSET3D(u,3,-1,0)))),ToReal(-45.),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,-3,0),kadd(KRANC_GFOFFSET3D(u,2,3,0),kadd(KRANC_GFOFFSET3D(u,-3,-2,0),KRANC_GFOFFSET3D(u,3,2,0)))),ToReal(-9.),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,3,0),KRANC_GFOFFSET3D(u,3,-3,0)),ToReal(-1.),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,3,0),kadd(KRANC_GFOFFSET3D(u,2,-3,0),kadd(KRANC_GFOFFSET3D(u,-3,2,0),KRANC_GFOFFSET3D(u,3,-2,0)))),ToReal(9.),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,-3,0),kadd(KRANC_GFOFFSET3D(u,1,3,0),kadd(KRANC_GFOFFSET3D(u,-3,-1,0),KRANC_GFOFFSET3D(u,3,1,0)))),ToReal(45.),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,-2,0),KRANC_GFOFFSET3D(u,2,2,0)),ToReal(81.),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,2,0),kadd(KRANC_GFOFFSET3D(u,1,-2,0),kadd(KRANC_GFOFFSET3D(u,-2,1,0),KRANC_GFOFFSET3D(u,2,-1,0)))),ToReal(405.),kmul(kadd(KRANC_GFOFFSET3D(u,-1,-1,0),KRANC_GFOFFSET3D(u,1,1,0)),ToReal(2025.))))))))))))))); + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); + return PDstandardNthfdOrder612_impl(u, p1o3600dxdy, cdj, cdk); } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDstandardNthfdOrder623(u) (kmul(p1o3600dydz,kadd(KRANC_GFOFFSET3D(u,0,-3,-3),kadd(KRANC_GFOFFSET3D(u,0,3,3),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,1),KRANC_GFOFFSET3D(u,0,1,-1)),ToReal(-2025.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,-2),kadd(KRANC_GFOFFSET3D(u,0,1,2),kadd(KRANC_GFOFFSET3D(u,0,-2,-1),KRANC_GFOFFSET3D(u,0,2,1)))),ToReal(-405.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,2),KRANC_GFOFFSET3D(u,0,2,-2)),ToReal(-81.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,3),kadd(KRANC_GFOFFSET3D(u,0,1,-3),kadd(KRANC_GFOFFSET3D(u,0,-3,1),KRANC_GFOFFSET3D(u,0,3,-1)))),ToReal(-45.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,-3),kadd(KRANC_GFOFFSET3D(u,0,2,3),kadd(KRANC_GFOFFSET3D(u,0,-3,-2),KRANC_GFOFFSET3D(u,0,3,2)))),ToReal(-9.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-3,3),KRANC_GFOFFSET3D(u,0,3,-3)),ToReal(-1.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,3),kadd(KRANC_GFOFFSET3D(u,0,2,-3),kadd(KRANC_GFOFFSET3D(u,0,-3,2),KRANC_GFOFFSET3D(u,0,3,-2)))),ToReal(9.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,-3),kadd(KRANC_GFOFFSET3D(u,0,1,3),kadd(KRANC_GFOFFSET3D(u,0,-3,-1),KRANC_GFOFFSET3D(u,0,3,1)))),ToReal(45.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,-2),KRANC_GFOFFSET3D(u,0,2,2)),ToReal(81.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,2),kadd(KRANC_GFOFFSET3D(u,0,1,-2),kadd(KRANC_GFOFFSET3D(u,0,-2,1),KRANC_GFOFFSET3D(u,0,2,-1)))),ToReal(405.),kmul(kadd(KRANC_GFOFFSET3D(u,0,-1,-1),KRANC_GFOFFSET3D(u,0,1,1)),ToReal(2025.)))))))))))))))) +# define PDstandardNthfdOrder623(u) (kmul(p1o3600dydz,kadd(KRANC_GFOFFSET3D(u,0,-3,-3),kadd(KRANC_GFOFFSET3D(u,0,3,3),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,1),KRANC_GFOFFSET3D(u,0,1,-1)),ToReal(-2025),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,-2),kadd(KRANC_GFOFFSET3D(u,0,1,2),kadd(KRANC_GFOFFSET3D(u,0,-2,-1),KRANC_GFOFFSET3D(u,0,2,1)))),ToReal(-405),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,2),KRANC_GFOFFSET3D(u,0,2,-2)),ToReal(-81),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,3),kadd(KRANC_GFOFFSET3D(u,0,1,-3),kadd(KRANC_GFOFFSET3D(u,0,-3,1),KRANC_GFOFFSET3D(u,0,3,-1)))),ToReal(-45),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,-3),kadd(KRANC_GFOFFSET3D(u,0,2,3),kadd(KRANC_GFOFFSET3D(u,0,-3,-2),KRANC_GFOFFSET3D(u,0,3,2)))),ToReal(-9),ksub(ksub(kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,3),kadd(KRANC_GFOFFSET3D(u,0,2,-3),kadd(KRANC_GFOFFSET3D(u,0,-3,2),KRANC_GFOFFSET3D(u,0,3,-2)))),ToReal(9),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,-3),kadd(KRANC_GFOFFSET3D(u,0,1,3),kadd(KRANC_GFOFFSET3D(u,0,-3,-1),KRANC_GFOFFSET3D(u,0,3,1)))),ToReal(45),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,-2),KRANC_GFOFFSET3D(u,0,2,2)),ToReal(81),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,2),kadd(KRANC_GFOFFSET3D(u,0,1,-2),kadd(KRANC_GFOFFSET3D(u,0,-2,1),KRANC_GFOFFSET3D(u,0,2,-1)))),ToReal(405),kmul(kadd(KRANC_GFOFFSET3D(u,0,-1,-1),KRANC_GFOFFSET3D(u,0,1,1)),ToReal(2025)))))),KRANC_GFOFFSET3D(u,0,3,-3)),KRANC_GFOFFSET3D(u,0,-3,3))))))))))) #else # define PDstandardNthfdOrder623(u) (PDstandardNthfdOrder623_impl(u,p1o3600dydz,cdj,cdk)) -static CCTK_REAL_VEC PDstandardNthfdOrder623_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o3600dydz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL_VEC PDstandardNthfdOrder623_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o3600dydz, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDstandardNthfdOrder623_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o3600dydz, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL_VEC PDstandardNthfdOrder623_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o3600dydz, const ptrdiff_t cdj, const ptrdiff_t cdk) { - ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); - return kmul(p1o3600dydz,kadd(KRANC_GFOFFSET3D(u,0,-3,-3),kadd(KRANC_GFOFFSET3D(u,0,3,3),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,1),KRANC_GFOFFSET3D(u,0,1,-1)),ToReal(-2025.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,-2),kadd(KRANC_GFOFFSET3D(u,0,1,2),kadd(KRANC_GFOFFSET3D(u,0,-2,-1),KRANC_GFOFFSET3D(u,0,2,1)))),ToReal(-405.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,2),KRANC_GFOFFSET3D(u,0,2,-2)),ToReal(-81.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,3),kadd(KRANC_GFOFFSET3D(u,0,1,-3),kadd(KRANC_GFOFFSET3D(u,0,-3,1),KRANC_GFOFFSET3D(u,0,3,-1)))),ToReal(-45.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,-3),kadd(KRANC_GFOFFSET3D(u,0,2,3),kadd(KRANC_GFOFFSET3D(u,0,-3,-2),KRANC_GFOFFSET3D(u,0,3,2)))),ToReal(-9.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-3,3),KRANC_GFOFFSET3D(u,0,3,-3)),ToReal(-1.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,3),kadd(KRANC_GFOFFSET3D(u,0,2,-3),kadd(KRANC_GFOFFSET3D(u,0,-3,2),KRANC_GFOFFSET3D(u,0,3,-2)))),ToReal(9.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,-3),kadd(KRANC_GFOFFSET3D(u,0,1,3),kadd(KRANC_GFOFFSET3D(u,0,-3,-1),KRANC_GFOFFSET3D(u,0,3,1)))),ToReal(45.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,-2),KRANC_GFOFFSET3D(u,0,2,2)),ToReal(81.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,2),kadd(KRANC_GFOFFSET3D(u,0,1,-2),kadd(KRANC_GFOFFSET3D(u,0,-2,1),KRANC_GFOFFSET3D(u,0,2,-1)))),ToReal(405.),kmul(kadd(KRANC_GFOFFSET3D(u,0,-1,-1),KRANC_GFOFFSET3D(u,0,1,1)),ToReal(2025.))))))))))))))); + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); + return kmul(p1o3600dydz,kadd(KRANC_GFOFFSET3D(u,0,-3,-3),kadd(KRANC_GFOFFSET3D(u,0,3,3),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,1),KRANC_GFOFFSET3D(u,0,1,-1)),ToReal(-2025),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,-2),kadd(KRANC_GFOFFSET3D(u,0,1,2),kadd(KRANC_GFOFFSET3D(u,0,-2,-1),KRANC_GFOFFSET3D(u,0,2,1)))),ToReal(-405),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,2),KRANC_GFOFFSET3D(u,0,2,-2)),ToReal(-81),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,3),kadd(KRANC_GFOFFSET3D(u,0,1,-3),kadd(KRANC_GFOFFSET3D(u,0,-3,1),KRANC_GFOFFSET3D(u,0,3,-1)))),ToReal(-45),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,-3),kadd(KRANC_GFOFFSET3D(u,0,2,3),kadd(KRANC_GFOFFSET3D(u,0,-3,-2),KRANC_GFOFFSET3D(u,0,3,2)))),ToReal(-9),ksub(ksub(kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,3),kadd(KRANC_GFOFFSET3D(u,0,2,-3),kadd(KRANC_GFOFFSET3D(u,0,-3,2),KRANC_GFOFFSET3D(u,0,3,-2)))),ToReal(9),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,-3),kadd(KRANC_GFOFFSET3D(u,0,1,3),kadd(KRANC_GFOFFSET3D(u,0,-3,-1),KRANC_GFOFFSET3D(u,0,3,1)))),ToReal(45),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,-2),KRANC_GFOFFSET3D(u,0,2,2)),ToReal(81),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,2),kadd(KRANC_GFOFFSET3D(u,0,1,-2),kadd(KRANC_GFOFFSET3D(u,0,-2,1),KRANC_GFOFFSET3D(u,0,2,-1)))),ToReal(405),kmul(kadd(KRANC_GFOFFSET3D(u,0,-1,-1),KRANC_GFOFFSET3D(u,0,1,1)),ToReal(2025)))))),KRANC_GFOFFSET3D(u,0,3,-3)),KRANC_GFOFFSET3D(u,0,-3,3)))))))))); } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDstandardNthfdOrder631(u) (kmul(p1o3600dxdz,kadd(KRANC_GFOFFSET3D(u,-3,0,-3),kadd(KRANC_GFOFFSET3D(u,3,0,3),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,1),KRANC_GFOFFSET3D(u,1,0,-1)),ToReal(-2025.),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,-2),kadd(KRANC_GFOFFSET3D(u,1,0,2),kadd(KRANC_GFOFFSET3D(u,-2,0,-1),KRANC_GFOFFSET3D(u,2,0,1)))),ToReal(-405.),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,2),KRANC_GFOFFSET3D(u,2,0,-2)),ToReal(-81.),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,3),kadd(KRANC_GFOFFSET3D(u,1,0,-3),kadd(KRANC_GFOFFSET3D(u,-3,0,1),KRANC_GFOFFSET3D(u,3,0,-1)))),ToReal(-45.),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,-3),kadd(KRANC_GFOFFSET3D(u,2,0,3),kadd(KRANC_GFOFFSET3D(u,-3,0,-2),KRANC_GFOFFSET3D(u,3,0,2)))),ToReal(-9.),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,0,3),KRANC_GFOFFSET3D(u,3,0,-3)),ToReal(-1.),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,3),kadd(KRANC_GFOFFSET3D(u,2,0,-3),kadd(KRANC_GFOFFSET3D(u,-3,0,2),KRANC_GFOFFSET3D(u,3,0,-2)))),ToReal(9.),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,-3),kadd(KRANC_GFOFFSET3D(u,1,0,3),kadd(KRANC_GFOFFSET3D(u,-3,0,-1),KRANC_GFOFFSET3D(u,3,0,1)))),ToReal(45.),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,-2),KRANC_GFOFFSET3D(u,2,0,2)),ToReal(81.),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,2),kadd(KRANC_GFOFFSET3D(u,1,0,-2),kadd(KRANC_GFOFFSET3D(u,-2,0,1),KRANC_GFOFFSET3D(u,2,0,-1)))),ToReal(405.),kmul(kadd(KRANC_GFOFFSET3D(u,-1,0,-1),KRANC_GFOFFSET3D(u,1,0,1)),ToReal(2025.)))))))))))))))) +# define PDstandardNthfdOrder631(u) (kmul(p1o3600dxdz,kadd(KRANC_GFOFFSET3D(u,-3,0,-3),kadd(KRANC_GFOFFSET3D(u,3,0,3),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,1),KRANC_GFOFFSET3D(u,1,0,-1)),ToReal(-2025),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,-2),kadd(KRANC_GFOFFSET3D(u,1,0,2),kadd(KRANC_GFOFFSET3D(u,-2,0,-1),KRANC_GFOFFSET3D(u,2,0,1)))),ToReal(-405),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,2),KRANC_GFOFFSET3D(u,2,0,-2)),ToReal(-81),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,3),kadd(KRANC_GFOFFSET3D(u,1,0,-3),kadd(KRANC_GFOFFSET3D(u,-3,0,1),KRANC_GFOFFSET3D(u,3,0,-1)))),ToReal(-45),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,-3),kadd(KRANC_GFOFFSET3D(u,2,0,3),kadd(KRANC_GFOFFSET3D(u,-3,0,-2),KRANC_GFOFFSET3D(u,3,0,2)))),ToReal(-9),ksub(ksub(kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,3),kadd(KRANC_GFOFFSET3D(u,2,0,-3),kadd(KRANC_GFOFFSET3D(u,-3,0,2),KRANC_GFOFFSET3D(u,3,0,-2)))),ToReal(9),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,-3),kadd(KRANC_GFOFFSET3D(u,1,0,3),kadd(KRANC_GFOFFSET3D(u,-3,0,-1),KRANC_GFOFFSET3D(u,3,0,1)))),ToReal(45),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,-2),KRANC_GFOFFSET3D(u,2,0,2)),ToReal(81),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,2),kadd(KRANC_GFOFFSET3D(u,1,0,-2),kadd(KRANC_GFOFFSET3D(u,-2,0,1),KRANC_GFOFFSET3D(u,2,0,-1)))),ToReal(405),kmul(kadd(KRANC_GFOFFSET3D(u,-1,0,-1),KRANC_GFOFFSET3D(u,1,0,1)),ToReal(2025)))))),KRANC_GFOFFSET3D(u,3,0,-3)),KRANC_GFOFFSET3D(u,-3,0,3))))))))))) #else # define PDstandardNthfdOrder631(u) (PDstandardNthfdOrder631_impl(u,p1o3600dxdz,cdj,cdk)) -static CCTK_REAL_VEC PDstandardNthfdOrder631_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o3600dxdz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL_VEC PDstandardNthfdOrder631_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o3600dxdz, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDstandardNthfdOrder631_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o3600dxdz, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL_VEC PDstandardNthfdOrder631_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o3600dxdz, const ptrdiff_t cdj, const ptrdiff_t cdk) { - ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); - return kmul(p1o3600dxdz,kadd(KRANC_GFOFFSET3D(u,-3,0,-3),kadd(KRANC_GFOFFSET3D(u,3,0,3),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,1),KRANC_GFOFFSET3D(u,1,0,-1)),ToReal(-2025.),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,-2),kadd(KRANC_GFOFFSET3D(u,1,0,2),kadd(KRANC_GFOFFSET3D(u,-2,0,-1),KRANC_GFOFFSET3D(u,2,0,1)))),ToReal(-405.),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,2),KRANC_GFOFFSET3D(u,2,0,-2)),ToReal(-81.),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,3),kadd(KRANC_GFOFFSET3D(u,1,0,-3),kadd(KRANC_GFOFFSET3D(u,-3,0,1),KRANC_GFOFFSET3D(u,3,0,-1)))),ToReal(-45.),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,-3),kadd(KRANC_GFOFFSET3D(u,2,0,3),kadd(KRANC_GFOFFSET3D(u,-3,0,-2),KRANC_GFOFFSET3D(u,3,0,2)))),ToReal(-9.),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,0,3),KRANC_GFOFFSET3D(u,3,0,-3)),ToReal(-1.),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,3),kadd(KRANC_GFOFFSET3D(u,2,0,-3),kadd(KRANC_GFOFFSET3D(u,-3,0,2),KRANC_GFOFFSET3D(u,3,0,-2)))),ToReal(9.),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,-3),kadd(KRANC_GFOFFSET3D(u,1,0,3),kadd(KRANC_GFOFFSET3D(u,-3,0,-1),KRANC_GFOFFSET3D(u,3,0,1)))),ToReal(45.),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,-2),KRANC_GFOFFSET3D(u,2,0,2)),ToReal(81.),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,2),kadd(KRANC_GFOFFSET3D(u,1,0,-2),kadd(KRANC_GFOFFSET3D(u,-2,0,1),KRANC_GFOFFSET3D(u,2,0,-1)))),ToReal(405.),kmul(kadd(KRANC_GFOFFSET3D(u,-1,0,-1),KRANC_GFOFFSET3D(u,1,0,1)),ToReal(2025.))))))))))))))); + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); + return PDstandardNthfdOrder612_impl(u, p1o3600dxdz, cdk, cdj); } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDstandardNthfdOrder632(u) (kmul(p1o3600dydz,kadd(KRANC_GFOFFSET3D(u,0,-3,-3),kadd(KRANC_GFOFFSET3D(u,0,3,3),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,1),KRANC_GFOFFSET3D(u,0,1,-1)),ToReal(-2025.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,-2),kadd(KRANC_GFOFFSET3D(u,0,1,2),kadd(KRANC_GFOFFSET3D(u,0,-2,-1),KRANC_GFOFFSET3D(u,0,2,1)))),ToReal(-405.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,2),KRANC_GFOFFSET3D(u,0,2,-2)),ToReal(-81.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,3),kadd(KRANC_GFOFFSET3D(u,0,1,-3),kadd(KRANC_GFOFFSET3D(u,0,-3,1),KRANC_GFOFFSET3D(u,0,3,-1)))),ToReal(-45.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,-3),kadd(KRANC_GFOFFSET3D(u,0,2,3),kadd(KRANC_GFOFFSET3D(u,0,-3,-2),KRANC_GFOFFSET3D(u,0,3,2)))),ToReal(-9.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-3,3),KRANC_GFOFFSET3D(u,0,3,-3)),ToReal(-1.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,3),kadd(KRANC_GFOFFSET3D(u,0,2,-3),kadd(KRANC_GFOFFSET3D(u,0,-3,2),KRANC_GFOFFSET3D(u,0,3,-2)))),ToReal(9.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,-3),kadd(KRANC_GFOFFSET3D(u,0,1,3),kadd(KRANC_GFOFFSET3D(u,0,-3,-1),KRANC_GFOFFSET3D(u,0,3,1)))),ToReal(45.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,-2),KRANC_GFOFFSET3D(u,0,2,2)),ToReal(81.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,2),kadd(KRANC_GFOFFSET3D(u,0,1,-2),kadd(KRANC_GFOFFSET3D(u,0,-2,1),KRANC_GFOFFSET3D(u,0,2,-1)))),ToReal(405.),kmul(kadd(KRANC_GFOFFSET3D(u,0,-1,-1),KRANC_GFOFFSET3D(u,0,1,1)),ToReal(2025.)))))))))))))))) +# define PDstandardNthfdOrder632(u) (kmul(p1o3600dydz,kadd(KRANC_GFOFFSET3D(u,0,-3,-3),kadd(KRANC_GFOFFSET3D(u,0,3,3),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,1),KRANC_GFOFFSET3D(u,0,1,-1)),ToReal(-2025),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,-2),kadd(KRANC_GFOFFSET3D(u,0,1,2),kadd(KRANC_GFOFFSET3D(u,0,-2,-1),KRANC_GFOFFSET3D(u,0,2,1)))),ToReal(-405),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,2),KRANC_GFOFFSET3D(u,0,2,-2)),ToReal(-81),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,3),kadd(KRANC_GFOFFSET3D(u,0,1,-3),kadd(KRANC_GFOFFSET3D(u,0,-3,1),KRANC_GFOFFSET3D(u,0,3,-1)))),ToReal(-45),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,-3),kadd(KRANC_GFOFFSET3D(u,0,2,3),kadd(KRANC_GFOFFSET3D(u,0,-3,-2),KRANC_GFOFFSET3D(u,0,3,2)))),ToReal(-9),ksub(ksub(kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,3),kadd(KRANC_GFOFFSET3D(u,0,2,-3),kadd(KRANC_GFOFFSET3D(u,0,-3,2),KRANC_GFOFFSET3D(u,0,3,-2)))),ToReal(9),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,-3),kadd(KRANC_GFOFFSET3D(u,0,1,3),kadd(KRANC_GFOFFSET3D(u,0,-3,-1),KRANC_GFOFFSET3D(u,0,3,1)))),ToReal(45),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,-2),KRANC_GFOFFSET3D(u,0,2,2)),ToReal(81),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,2),kadd(KRANC_GFOFFSET3D(u,0,1,-2),kadd(KRANC_GFOFFSET3D(u,0,-2,1),KRANC_GFOFFSET3D(u,0,2,-1)))),ToReal(405),kmul(kadd(KRANC_GFOFFSET3D(u,0,-1,-1),KRANC_GFOFFSET3D(u,0,1,1)),ToReal(2025)))))),KRANC_GFOFFSET3D(u,0,3,-3)),KRANC_GFOFFSET3D(u,0,-3,3))))))))))) #else # define PDstandardNthfdOrder632(u) (PDstandardNthfdOrder632_impl(u,p1o3600dydz,cdj,cdk)) -static CCTK_REAL_VEC PDstandardNthfdOrder632_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o3600dydz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL_VEC PDstandardNthfdOrder632_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o3600dydz, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDstandardNthfdOrder632_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o3600dydz, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL_VEC PDstandardNthfdOrder632_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o3600dydz, const ptrdiff_t cdj, const ptrdiff_t cdk) { - ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); - return kmul(p1o3600dydz,kadd(KRANC_GFOFFSET3D(u,0,-3,-3),kadd(KRANC_GFOFFSET3D(u,0,3,3),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,1),KRANC_GFOFFSET3D(u,0,1,-1)),ToReal(-2025.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,-2),kadd(KRANC_GFOFFSET3D(u,0,1,2),kadd(KRANC_GFOFFSET3D(u,0,-2,-1),KRANC_GFOFFSET3D(u,0,2,1)))),ToReal(-405.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,2),KRANC_GFOFFSET3D(u,0,2,-2)),ToReal(-81.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,3),kadd(KRANC_GFOFFSET3D(u,0,1,-3),kadd(KRANC_GFOFFSET3D(u,0,-3,1),KRANC_GFOFFSET3D(u,0,3,-1)))),ToReal(-45.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,-3),kadd(KRANC_GFOFFSET3D(u,0,2,3),kadd(KRANC_GFOFFSET3D(u,0,-3,-2),KRANC_GFOFFSET3D(u,0,3,2)))),ToReal(-9.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-3,3),KRANC_GFOFFSET3D(u,0,3,-3)),ToReal(-1.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,3),kadd(KRANC_GFOFFSET3D(u,0,2,-3),kadd(KRANC_GFOFFSET3D(u,0,-3,2),KRANC_GFOFFSET3D(u,0,3,-2)))),ToReal(9.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,-3),kadd(KRANC_GFOFFSET3D(u,0,1,3),kadd(KRANC_GFOFFSET3D(u,0,-3,-1),KRANC_GFOFFSET3D(u,0,3,1)))),ToReal(45.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,-2),KRANC_GFOFFSET3D(u,0,2,2)),ToReal(81.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,2),kadd(KRANC_GFOFFSET3D(u,0,1,-2),kadd(KRANC_GFOFFSET3D(u,0,-2,1),KRANC_GFOFFSET3D(u,0,2,-1)))),ToReal(405.),kmul(kadd(KRANC_GFOFFSET3D(u,0,-1,-1),KRANC_GFOFFSET3D(u,0,1,1)),ToReal(2025.))))))))))))))); + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); + return PDstandardNthfdOrder623_impl(u, p1o3600dydz, cdj, cdk); } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDstandardNthfdOrder812(u) (kmul(p1o705600dxdy,kmadd(kadd(KRANC_GFOFFSET3D(u,-1,1,0),KRANC_GFOFFSET3D(u,1,-1,0)),ToReal(-451584.),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,-2,0),kadd(KRANC_GFOFFSET3D(u,1,2,0),kadd(KRANC_GFOFFSET3D(u,-2,-1,0),KRANC_GFOFFSET3D(u,2,1,0)))),ToReal(-112896.),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,2,0),KRANC_GFOFFSET3D(u,2,-2,0)),ToReal(-28224.),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,3,0),kadd(KRANC_GFOFFSET3D(u,1,-3,0),kadd(KRANC_GFOFFSET3D(u,-3,1,0),KRANC_GFOFFSET3D(u,3,-1,0)))),ToReal(-21504.),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,-3,0),kadd(KRANC_GFOFFSET3D(u,2,3,0),kadd(KRANC_GFOFFSET3D(u,-3,-2,0),KRANC_GFOFFSET3D(u,3,2,0)))),ToReal(-5376.),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,-4,0),kadd(KRANC_GFOFFSET3D(u,1,4,0),kadd(KRANC_GFOFFSET3D(u,-4,-1,0),KRANC_GFOFFSET3D(u,4,1,0)))),ToReal(-2016.),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,3,0),KRANC_GFOFFSET3D(u,3,-3,0)),ToReal(-1024.),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,4,0),kadd(KRANC_GFOFFSET3D(u,2,-4,0),kadd(KRANC_GFOFFSET3D(u,-4,2,0),KRANC_GFOFFSET3D(u,4,-2,0)))),ToReal(-504.),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,-4,0),kadd(KRANC_GFOFFSET3D(u,3,4,0),kadd(KRANC_GFOFFSET3D(u,-4,-3,0),KRANC_GFOFFSET3D(u,4,3,0)))),ToReal(-96.),kmadd(kadd(KRANC_GFOFFSET3D(u,-4,4,0),KRANC_GFOFFSET3D(u,4,-4,0)),ToReal(-9.),kmadd(kadd(KRANC_GFOFFSET3D(u,-4,-4,0),KRANC_GFOFFSET3D(u,4,4,0)),ToReal(9.),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,4,0),kadd(KRANC_GFOFFSET3D(u,3,-4,0),kadd(KRANC_GFOFFSET3D(u,-4,3,0),KRANC_GFOFFSET3D(u,4,-3,0)))),ToReal(96.),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,-4,0),kadd(KRANC_GFOFFSET3D(u,2,4,0),kadd(KRANC_GFOFFSET3D(u,-4,-2,0),KRANC_GFOFFSET3D(u,4,2,0)))),ToReal(504.),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,-3,0),KRANC_GFOFFSET3D(u,3,3,0)),ToReal(1024.),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,4,0),kadd(KRANC_GFOFFSET3D(u,1,-4,0),kadd(KRANC_GFOFFSET3D(u,-4,1,0),KRANC_GFOFFSET3D(u,4,-1,0)))),ToReal(2016.),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,3,0),kadd(KRANC_GFOFFSET3D(u,2,-3,0),kadd(KRANC_GFOFFSET3D(u,-3,2,0),KRANC_GFOFFSET3D(u,3,-2,0)))),ToReal(5376.),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,-3,0),kadd(KRANC_GFOFFSET3D(u,1,3,0),kadd(KRANC_GFOFFSET3D(u,-3,-1,0),KRANC_GFOFFSET3D(u,3,1,0)))),ToReal(21504.),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,-2,0),KRANC_GFOFFSET3D(u,2,2,0)),ToReal(28224.),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,2,0),kadd(KRANC_GFOFFSET3D(u,1,-2,0),kadd(KRANC_GFOFFSET3D(u,-2,1,0),KRANC_GFOFFSET3D(u,2,-1,0)))),ToReal(112896.),kmul(kadd(KRANC_GFOFFSET3D(u,-1,-1,0),KRANC_GFOFFSET3D(u,1,1,0)),ToReal(451584.))))))))))))))))))))))) +# define PDstandardNthfdOrder812(u) (kmul(p1o705600dxdy,kmadd(kadd(KRANC_GFOFFSET3D(u,-1,1,0),KRANC_GFOFFSET3D(u,1,-1,0)),ToReal(-451584),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,-2,0),kadd(KRANC_GFOFFSET3D(u,1,2,0),kadd(KRANC_GFOFFSET3D(u,-2,-1,0),KRANC_GFOFFSET3D(u,2,1,0)))),ToReal(-112896),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,2,0),KRANC_GFOFFSET3D(u,2,-2,0)),ToReal(-28224),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,3,0),kadd(KRANC_GFOFFSET3D(u,1,-3,0),kadd(KRANC_GFOFFSET3D(u,-3,1,0),KRANC_GFOFFSET3D(u,3,-1,0)))),ToReal(-21504),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,-3,0),kadd(KRANC_GFOFFSET3D(u,2,3,0),kadd(KRANC_GFOFFSET3D(u,-3,-2,0),KRANC_GFOFFSET3D(u,3,2,0)))),ToReal(-5376),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,-4,0),kadd(KRANC_GFOFFSET3D(u,1,4,0),kadd(KRANC_GFOFFSET3D(u,-4,-1,0),KRANC_GFOFFSET3D(u,4,1,0)))),ToReal(-2016),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,3,0),KRANC_GFOFFSET3D(u,3,-3,0)),ToReal(-1024),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,4,0),kadd(KRANC_GFOFFSET3D(u,2,-4,0),kadd(KRANC_GFOFFSET3D(u,-4,2,0),KRANC_GFOFFSET3D(u,4,-2,0)))),ToReal(-504),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,-4,0),kadd(KRANC_GFOFFSET3D(u,3,4,0),kadd(KRANC_GFOFFSET3D(u,-4,-3,0),KRANC_GFOFFSET3D(u,4,3,0)))),ToReal(-96),kmadd(kadd(KRANC_GFOFFSET3D(u,-4,4,0),KRANC_GFOFFSET3D(u,4,-4,0)),ToReal(-9),kmadd(kadd(KRANC_GFOFFSET3D(u,-4,-4,0),KRANC_GFOFFSET3D(u,4,4,0)),ToReal(9),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,4,0),kadd(KRANC_GFOFFSET3D(u,3,-4,0),kadd(KRANC_GFOFFSET3D(u,-4,3,0),KRANC_GFOFFSET3D(u,4,-3,0)))),ToReal(96),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,-4,0),kadd(KRANC_GFOFFSET3D(u,2,4,0),kadd(KRANC_GFOFFSET3D(u,-4,-2,0),KRANC_GFOFFSET3D(u,4,2,0)))),ToReal(504),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,-3,0),KRANC_GFOFFSET3D(u,3,3,0)),ToReal(1024),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,4,0),kadd(KRANC_GFOFFSET3D(u,1,-4,0),kadd(KRANC_GFOFFSET3D(u,-4,1,0),KRANC_GFOFFSET3D(u,4,-1,0)))),ToReal(2016),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,3,0),kadd(KRANC_GFOFFSET3D(u,2,-3,0),kadd(KRANC_GFOFFSET3D(u,-3,2,0),KRANC_GFOFFSET3D(u,3,-2,0)))),ToReal(5376),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,-3,0),kadd(KRANC_GFOFFSET3D(u,1,3,0),kadd(KRANC_GFOFFSET3D(u,-3,-1,0),KRANC_GFOFFSET3D(u,3,1,0)))),ToReal(21504),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,-2,0),KRANC_GFOFFSET3D(u,2,2,0)),ToReal(28224),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,2,0),kadd(KRANC_GFOFFSET3D(u,1,-2,0),kadd(KRANC_GFOFFSET3D(u,-2,1,0),KRANC_GFOFFSET3D(u,2,-1,0)))),ToReal(112896),kmul(kadd(KRANC_GFOFFSET3D(u,-1,-1,0),KRANC_GFOFFSET3D(u,1,1,0)),ToReal(451584))))))))))))))))))))))) #else # define PDstandardNthfdOrder812(u) (PDstandardNthfdOrder812_impl(u,p1o705600dxdy,cdj,cdk)) -static CCTK_REAL_VEC PDstandardNthfdOrder812_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o705600dxdy, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL_VEC PDstandardNthfdOrder812_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o705600dxdy, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDstandardNthfdOrder812_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o705600dxdy, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL_VEC PDstandardNthfdOrder812_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o705600dxdy, const ptrdiff_t cdj, const ptrdiff_t cdk) { - ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); - return kmul(p1o705600dxdy,kmadd(kadd(KRANC_GFOFFSET3D(u,-1,1,0),KRANC_GFOFFSET3D(u,1,-1,0)),ToReal(-451584.),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,-2,0),kadd(KRANC_GFOFFSET3D(u,1,2,0),kadd(KRANC_GFOFFSET3D(u,-2,-1,0),KRANC_GFOFFSET3D(u,2,1,0)))),ToReal(-112896.),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,2,0),KRANC_GFOFFSET3D(u,2,-2,0)),ToReal(-28224.),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,3,0),kadd(KRANC_GFOFFSET3D(u,1,-3,0),kadd(KRANC_GFOFFSET3D(u,-3,1,0),KRANC_GFOFFSET3D(u,3,-1,0)))),ToReal(-21504.),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,-3,0),kadd(KRANC_GFOFFSET3D(u,2,3,0),kadd(KRANC_GFOFFSET3D(u,-3,-2,0),KRANC_GFOFFSET3D(u,3,2,0)))),ToReal(-5376.),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,-4,0),kadd(KRANC_GFOFFSET3D(u,1,4,0),kadd(KRANC_GFOFFSET3D(u,-4,-1,0),KRANC_GFOFFSET3D(u,4,1,0)))),ToReal(-2016.),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,3,0),KRANC_GFOFFSET3D(u,3,-3,0)),ToReal(-1024.),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,4,0),kadd(KRANC_GFOFFSET3D(u,2,-4,0),kadd(KRANC_GFOFFSET3D(u,-4,2,0),KRANC_GFOFFSET3D(u,4,-2,0)))),ToReal(-504.),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,-4,0),kadd(KRANC_GFOFFSET3D(u,3,4,0),kadd(KRANC_GFOFFSET3D(u,-4,-3,0),KRANC_GFOFFSET3D(u,4,3,0)))),ToReal(-96.),kmadd(kadd(KRANC_GFOFFSET3D(u,-4,4,0),KRANC_GFOFFSET3D(u,4,-4,0)),ToReal(-9.),kmadd(kadd(KRANC_GFOFFSET3D(u,-4,-4,0),KRANC_GFOFFSET3D(u,4,4,0)),ToReal(9.),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,4,0),kadd(KRANC_GFOFFSET3D(u,3,-4,0),kadd(KRANC_GFOFFSET3D(u,-4,3,0),KRANC_GFOFFSET3D(u,4,-3,0)))),ToReal(96.),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,-4,0),kadd(KRANC_GFOFFSET3D(u,2,4,0),kadd(KRANC_GFOFFSET3D(u,-4,-2,0),KRANC_GFOFFSET3D(u,4,2,0)))),ToReal(504.),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,-3,0),KRANC_GFOFFSET3D(u,3,3,0)),ToReal(1024.),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,4,0),kadd(KRANC_GFOFFSET3D(u,1,-4,0),kadd(KRANC_GFOFFSET3D(u,-4,1,0),KRANC_GFOFFSET3D(u,4,-1,0)))),ToReal(2016.),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,3,0),kadd(KRANC_GFOFFSET3D(u,2,-3,0),kadd(KRANC_GFOFFSET3D(u,-3,2,0),KRANC_GFOFFSET3D(u,3,-2,0)))),ToReal(5376.),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,-3,0),kadd(KRANC_GFOFFSET3D(u,1,3,0),kadd(KRANC_GFOFFSET3D(u,-3,-1,0),KRANC_GFOFFSET3D(u,3,1,0)))),ToReal(21504.),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,-2,0),KRANC_GFOFFSET3D(u,2,2,0)),ToReal(28224.),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,2,0),kadd(KRANC_GFOFFSET3D(u,1,-2,0),kadd(KRANC_GFOFFSET3D(u,-2,1,0),KRANC_GFOFFSET3D(u,2,-1,0)))),ToReal(112896.),kmul(kadd(KRANC_GFOFFSET3D(u,-1,-1,0),KRANC_GFOFFSET3D(u,1,1,0)),ToReal(451584.)))))))))))))))))))))); + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); + return kmul(p1o705600dxdy,kmadd(kadd(KRANC_GFOFFSET3D(u,-1,1,0),KRANC_GFOFFSET3D(u,1,-1,0)),ToReal(-451584),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,-2,0),kadd(KRANC_GFOFFSET3D(u,1,2,0),kadd(KRANC_GFOFFSET3D(u,-2,-1,0),KRANC_GFOFFSET3D(u,2,1,0)))),ToReal(-112896),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,2,0),KRANC_GFOFFSET3D(u,2,-2,0)),ToReal(-28224),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,3,0),kadd(KRANC_GFOFFSET3D(u,1,-3,0),kadd(KRANC_GFOFFSET3D(u,-3,1,0),KRANC_GFOFFSET3D(u,3,-1,0)))),ToReal(-21504),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,-3,0),kadd(KRANC_GFOFFSET3D(u,2,3,0),kadd(KRANC_GFOFFSET3D(u,-3,-2,0),KRANC_GFOFFSET3D(u,3,2,0)))),ToReal(-5376),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,-4,0),kadd(KRANC_GFOFFSET3D(u,1,4,0),kadd(KRANC_GFOFFSET3D(u,-4,-1,0),KRANC_GFOFFSET3D(u,4,1,0)))),ToReal(-2016),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,3,0),KRANC_GFOFFSET3D(u,3,-3,0)),ToReal(-1024),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,4,0),kadd(KRANC_GFOFFSET3D(u,2,-4,0),kadd(KRANC_GFOFFSET3D(u,-4,2,0),KRANC_GFOFFSET3D(u,4,-2,0)))),ToReal(-504),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,-4,0),kadd(KRANC_GFOFFSET3D(u,3,4,0),kadd(KRANC_GFOFFSET3D(u,-4,-3,0),KRANC_GFOFFSET3D(u,4,3,0)))),ToReal(-96),kmadd(kadd(KRANC_GFOFFSET3D(u,-4,4,0),KRANC_GFOFFSET3D(u,4,-4,0)),ToReal(-9),kmadd(kadd(KRANC_GFOFFSET3D(u,-4,-4,0),KRANC_GFOFFSET3D(u,4,4,0)),ToReal(9),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,4,0),kadd(KRANC_GFOFFSET3D(u,3,-4,0),kadd(KRANC_GFOFFSET3D(u,-4,3,0),KRANC_GFOFFSET3D(u,4,-3,0)))),ToReal(96),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,-4,0),kadd(KRANC_GFOFFSET3D(u,2,4,0),kadd(KRANC_GFOFFSET3D(u,-4,-2,0),KRANC_GFOFFSET3D(u,4,2,0)))),ToReal(504),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,-3,0),KRANC_GFOFFSET3D(u,3,3,0)),ToReal(1024),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,4,0),kadd(KRANC_GFOFFSET3D(u,1,-4,0),kadd(KRANC_GFOFFSET3D(u,-4,1,0),KRANC_GFOFFSET3D(u,4,-1,0)))),ToReal(2016),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,3,0),kadd(KRANC_GFOFFSET3D(u,2,-3,0),kadd(KRANC_GFOFFSET3D(u,-3,2,0),KRANC_GFOFFSET3D(u,3,-2,0)))),ToReal(5376),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,-3,0),kadd(KRANC_GFOFFSET3D(u,1,3,0),kadd(KRANC_GFOFFSET3D(u,-3,-1,0),KRANC_GFOFFSET3D(u,3,1,0)))),ToReal(21504),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,-2,0),KRANC_GFOFFSET3D(u,2,2,0)),ToReal(28224),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,2,0),kadd(KRANC_GFOFFSET3D(u,1,-2,0),kadd(KRANC_GFOFFSET3D(u,-2,1,0),KRANC_GFOFFSET3D(u,2,-1,0)))),ToReal(112896),kmul(kadd(KRANC_GFOFFSET3D(u,-1,-1,0),KRANC_GFOFFSET3D(u,1,1,0)),ToReal(451584)))))))))))))))))))))); } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDstandardNthfdOrder813(u) (kmul(p1o705600dxdz,kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,1),KRANC_GFOFFSET3D(u,1,0,-1)),ToReal(-451584.),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,-2),kadd(KRANC_GFOFFSET3D(u,1,0,2),kadd(KRANC_GFOFFSET3D(u,-2,0,-1),KRANC_GFOFFSET3D(u,2,0,1)))),ToReal(-112896.),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,2),KRANC_GFOFFSET3D(u,2,0,-2)),ToReal(-28224.),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,3),kadd(KRANC_GFOFFSET3D(u,1,0,-3),kadd(KRANC_GFOFFSET3D(u,-3,0,1),KRANC_GFOFFSET3D(u,3,0,-1)))),ToReal(-21504.),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,-3),kadd(KRANC_GFOFFSET3D(u,2,0,3),kadd(KRANC_GFOFFSET3D(u,-3,0,-2),KRANC_GFOFFSET3D(u,3,0,2)))),ToReal(-5376.),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,-4),kadd(KRANC_GFOFFSET3D(u,1,0,4),kadd(KRANC_GFOFFSET3D(u,-4,0,-1),KRANC_GFOFFSET3D(u,4,0,1)))),ToReal(-2016.),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,0,3),KRANC_GFOFFSET3D(u,3,0,-3)),ToReal(-1024.),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,4),kadd(KRANC_GFOFFSET3D(u,2,0,-4),kadd(KRANC_GFOFFSET3D(u,-4,0,2),KRANC_GFOFFSET3D(u,4,0,-2)))),ToReal(-504.),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,0,-4),kadd(KRANC_GFOFFSET3D(u,3,0,4),kadd(KRANC_GFOFFSET3D(u,-4,0,-3),KRANC_GFOFFSET3D(u,4,0,3)))),ToReal(-96.),kmadd(kadd(KRANC_GFOFFSET3D(u,-4,0,4),KRANC_GFOFFSET3D(u,4,0,-4)),ToReal(-9.),kmadd(kadd(KRANC_GFOFFSET3D(u,-4,0,-4),KRANC_GFOFFSET3D(u,4,0,4)),ToReal(9.),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,0,4),kadd(KRANC_GFOFFSET3D(u,3,0,-4),kadd(KRANC_GFOFFSET3D(u,-4,0,3),KRANC_GFOFFSET3D(u,4,0,-3)))),ToReal(96.),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,-4),kadd(KRANC_GFOFFSET3D(u,2,0,4),kadd(KRANC_GFOFFSET3D(u,-4,0,-2),KRANC_GFOFFSET3D(u,4,0,2)))),ToReal(504.),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,0,-3),KRANC_GFOFFSET3D(u,3,0,3)),ToReal(1024.),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,4),kadd(KRANC_GFOFFSET3D(u,1,0,-4),kadd(KRANC_GFOFFSET3D(u,-4,0,1),KRANC_GFOFFSET3D(u,4,0,-1)))),ToReal(2016.),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,3),kadd(KRANC_GFOFFSET3D(u,2,0,-3),kadd(KRANC_GFOFFSET3D(u,-3,0,2),KRANC_GFOFFSET3D(u,3,0,-2)))),ToReal(5376.),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,-3),kadd(KRANC_GFOFFSET3D(u,1,0,3),kadd(KRANC_GFOFFSET3D(u,-3,0,-1),KRANC_GFOFFSET3D(u,3,0,1)))),ToReal(21504.),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,-2),KRANC_GFOFFSET3D(u,2,0,2)),ToReal(28224.),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,2),kadd(KRANC_GFOFFSET3D(u,1,0,-2),kadd(KRANC_GFOFFSET3D(u,-2,0,1),KRANC_GFOFFSET3D(u,2,0,-1)))),ToReal(112896.),kmul(kadd(KRANC_GFOFFSET3D(u,-1,0,-1),KRANC_GFOFFSET3D(u,1,0,1)),ToReal(451584.))))))))))))))))))))))) +# define PDstandardNthfdOrder813(u) (kmul(p1o705600dxdz,kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,1),KRANC_GFOFFSET3D(u,1,0,-1)),ToReal(-451584),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,-2),kadd(KRANC_GFOFFSET3D(u,1,0,2),kadd(KRANC_GFOFFSET3D(u,-2,0,-1),KRANC_GFOFFSET3D(u,2,0,1)))),ToReal(-112896),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,2),KRANC_GFOFFSET3D(u,2,0,-2)),ToReal(-28224),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,3),kadd(KRANC_GFOFFSET3D(u,1,0,-3),kadd(KRANC_GFOFFSET3D(u,-3,0,1),KRANC_GFOFFSET3D(u,3,0,-1)))),ToReal(-21504),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,-3),kadd(KRANC_GFOFFSET3D(u,2,0,3),kadd(KRANC_GFOFFSET3D(u,-3,0,-2),KRANC_GFOFFSET3D(u,3,0,2)))),ToReal(-5376),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,-4),kadd(KRANC_GFOFFSET3D(u,1,0,4),kadd(KRANC_GFOFFSET3D(u,-4,0,-1),KRANC_GFOFFSET3D(u,4,0,1)))),ToReal(-2016),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,0,3),KRANC_GFOFFSET3D(u,3,0,-3)),ToReal(-1024),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,4),kadd(KRANC_GFOFFSET3D(u,2,0,-4),kadd(KRANC_GFOFFSET3D(u,-4,0,2),KRANC_GFOFFSET3D(u,4,0,-2)))),ToReal(-504),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,0,-4),kadd(KRANC_GFOFFSET3D(u,3,0,4),kadd(KRANC_GFOFFSET3D(u,-4,0,-3),KRANC_GFOFFSET3D(u,4,0,3)))),ToReal(-96),kmadd(kadd(KRANC_GFOFFSET3D(u,-4,0,4),KRANC_GFOFFSET3D(u,4,0,-4)),ToReal(-9),kmadd(kadd(KRANC_GFOFFSET3D(u,-4,0,-4),KRANC_GFOFFSET3D(u,4,0,4)),ToReal(9),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,0,4),kadd(KRANC_GFOFFSET3D(u,3,0,-4),kadd(KRANC_GFOFFSET3D(u,-4,0,3),KRANC_GFOFFSET3D(u,4,0,-3)))),ToReal(96),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,-4),kadd(KRANC_GFOFFSET3D(u,2,0,4),kadd(KRANC_GFOFFSET3D(u,-4,0,-2),KRANC_GFOFFSET3D(u,4,0,2)))),ToReal(504),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,0,-3),KRANC_GFOFFSET3D(u,3,0,3)),ToReal(1024),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,4),kadd(KRANC_GFOFFSET3D(u,1,0,-4),kadd(KRANC_GFOFFSET3D(u,-4,0,1),KRANC_GFOFFSET3D(u,4,0,-1)))),ToReal(2016),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,3),kadd(KRANC_GFOFFSET3D(u,2,0,-3),kadd(KRANC_GFOFFSET3D(u,-3,0,2),KRANC_GFOFFSET3D(u,3,0,-2)))),ToReal(5376),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,-3),kadd(KRANC_GFOFFSET3D(u,1,0,3),kadd(KRANC_GFOFFSET3D(u,-3,0,-1),KRANC_GFOFFSET3D(u,3,0,1)))),ToReal(21504),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,-2),KRANC_GFOFFSET3D(u,2,0,2)),ToReal(28224),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,2),kadd(KRANC_GFOFFSET3D(u,1,0,-2),kadd(KRANC_GFOFFSET3D(u,-2,0,1),KRANC_GFOFFSET3D(u,2,0,-1)))),ToReal(112896),kmul(kadd(KRANC_GFOFFSET3D(u,-1,0,-1),KRANC_GFOFFSET3D(u,1,0,1)),ToReal(451584))))))))))))))))))))))) #else # define PDstandardNthfdOrder813(u) (PDstandardNthfdOrder813_impl(u,p1o705600dxdz,cdj,cdk)) -static CCTK_REAL_VEC PDstandardNthfdOrder813_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o705600dxdz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL_VEC PDstandardNthfdOrder813_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o705600dxdz, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDstandardNthfdOrder813_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o705600dxdz, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL_VEC PDstandardNthfdOrder813_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o705600dxdz, const ptrdiff_t cdj, const ptrdiff_t cdk) { - ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); - return kmul(p1o705600dxdz,kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,1),KRANC_GFOFFSET3D(u,1,0,-1)),ToReal(-451584.),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,-2),kadd(KRANC_GFOFFSET3D(u,1,0,2),kadd(KRANC_GFOFFSET3D(u,-2,0,-1),KRANC_GFOFFSET3D(u,2,0,1)))),ToReal(-112896.),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,2),KRANC_GFOFFSET3D(u,2,0,-2)),ToReal(-28224.),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,3),kadd(KRANC_GFOFFSET3D(u,1,0,-3),kadd(KRANC_GFOFFSET3D(u,-3,0,1),KRANC_GFOFFSET3D(u,3,0,-1)))),ToReal(-21504.),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,-3),kadd(KRANC_GFOFFSET3D(u,2,0,3),kadd(KRANC_GFOFFSET3D(u,-3,0,-2),KRANC_GFOFFSET3D(u,3,0,2)))),ToReal(-5376.),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,-4),kadd(KRANC_GFOFFSET3D(u,1,0,4),kadd(KRANC_GFOFFSET3D(u,-4,0,-1),KRANC_GFOFFSET3D(u,4,0,1)))),ToReal(-2016.),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,0,3),KRANC_GFOFFSET3D(u,3,0,-3)),ToReal(-1024.),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,4),kadd(KRANC_GFOFFSET3D(u,2,0,-4),kadd(KRANC_GFOFFSET3D(u,-4,0,2),KRANC_GFOFFSET3D(u,4,0,-2)))),ToReal(-504.),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,0,-4),kadd(KRANC_GFOFFSET3D(u,3,0,4),kadd(KRANC_GFOFFSET3D(u,-4,0,-3),KRANC_GFOFFSET3D(u,4,0,3)))),ToReal(-96.),kmadd(kadd(KRANC_GFOFFSET3D(u,-4,0,4),KRANC_GFOFFSET3D(u,4,0,-4)),ToReal(-9.),kmadd(kadd(KRANC_GFOFFSET3D(u,-4,0,-4),KRANC_GFOFFSET3D(u,4,0,4)),ToReal(9.),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,0,4),kadd(KRANC_GFOFFSET3D(u,3,0,-4),kadd(KRANC_GFOFFSET3D(u,-4,0,3),KRANC_GFOFFSET3D(u,4,0,-3)))),ToReal(96.),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,-4),kadd(KRANC_GFOFFSET3D(u,2,0,4),kadd(KRANC_GFOFFSET3D(u,-4,0,-2),KRANC_GFOFFSET3D(u,4,0,2)))),ToReal(504.),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,0,-3),KRANC_GFOFFSET3D(u,3,0,3)),ToReal(1024.),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,4),kadd(KRANC_GFOFFSET3D(u,1,0,-4),kadd(KRANC_GFOFFSET3D(u,-4,0,1),KRANC_GFOFFSET3D(u,4,0,-1)))),ToReal(2016.),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,3),kadd(KRANC_GFOFFSET3D(u,2,0,-3),kadd(KRANC_GFOFFSET3D(u,-3,0,2),KRANC_GFOFFSET3D(u,3,0,-2)))),ToReal(5376.),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,-3),kadd(KRANC_GFOFFSET3D(u,1,0,3),kadd(KRANC_GFOFFSET3D(u,-3,0,-1),KRANC_GFOFFSET3D(u,3,0,1)))),ToReal(21504.),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,-2),KRANC_GFOFFSET3D(u,2,0,2)),ToReal(28224.),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,2),kadd(KRANC_GFOFFSET3D(u,1,0,-2),kadd(KRANC_GFOFFSET3D(u,-2,0,1),KRANC_GFOFFSET3D(u,2,0,-1)))),ToReal(112896.),kmul(kadd(KRANC_GFOFFSET3D(u,-1,0,-1),KRANC_GFOFFSET3D(u,1,0,1)),ToReal(451584.)))))))))))))))))))))); + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); + return PDstandardNthfdOrder812_impl(u, p1o705600dxdz, cdk, cdj); } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDstandardNthfdOrder821(u) (kmul(p1o705600dxdy,kmadd(kadd(KRANC_GFOFFSET3D(u,-1,1,0),KRANC_GFOFFSET3D(u,1,-1,0)),ToReal(-451584.),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,-2,0),kadd(KRANC_GFOFFSET3D(u,1,2,0),kadd(KRANC_GFOFFSET3D(u,-2,-1,0),KRANC_GFOFFSET3D(u,2,1,0)))),ToReal(-112896.),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,2,0),KRANC_GFOFFSET3D(u,2,-2,0)),ToReal(-28224.),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,3,0),kadd(KRANC_GFOFFSET3D(u,1,-3,0),kadd(KRANC_GFOFFSET3D(u,-3,1,0),KRANC_GFOFFSET3D(u,3,-1,0)))),ToReal(-21504.),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,-3,0),kadd(KRANC_GFOFFSET3D(u,2,3,0),kadd(KRANC_GFOFFSET3D(u,-3,-2,0),KRANC_GFOFFSET3D(u,3,2,0)))),ToReal(-5376.),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,-4,0),kadd(KRANC_GFOFFSET3D(u,1,4,0),kadd(KRANC_GFOFFSET3D(u,-4,-1,0),KRANC_GFOFFSET3D(u,4,1,0)))),ToReal(-2016.),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,3,0),KRANC_GFOFFSET3D(u,3,-3,0)),ToReal(-1024.),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,4,0),kadd(KRANC_GFOFFSET3D(u,2,-4,0),kadd(KRANC_GFOFFSET3D(u,-4,2,0),KRANC_GFOFFSET3D(u,4,-2,0)))),ToReal(-504.),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,-4,0),kadd(KRANC_GFOFFSET3D(u,3,4,0),kadd(KRANC_GFOFFSET3D(u,-4,-3,0),KRANC_GFOFFSET3D(u,4,3,0)))),ToReal(-96.),kmadd(kadd(KRANC_GFOFFSET3D(u,-4,4,0),KRANC_GFOFFSET3D(u,4,-4,0)),ToReal(-9.),kmadd(kadd(KRANC_GFOFFSET3D(u,-4,-4,0),KRANC_GFOFFSET3D(u,4,4,0)),ToReal(9.),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,4,0),kadd(KRANC_GFOFFSET3D(u,3,-4,0),kadd(KRANC_GFOFFSET3D(u,-4,3,0),KRANC_GFOFFSET3D(u,4,-3,0)))),ToReal(96.),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,-4,0),kadd(KRANC_GFOFFSET3D(u,2,4,0),kadd(KRANC_GFOFFSET3D(u,-4,-2,0),KRANC_GFOFFSET3D(u,4,2,0)))),ToReal(504.),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,-3,0),KRANC_GFOFFSET3D(u,3,3,0)),ToReal(1024.),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,4,0),kadd(KRANC_GFOFFSET3D(u,1,-4,0),kadd(KRANC_GFOFFSET3D(u,-4,1,0),KRANC_GFOFFSET3D(u,4,-1,0)))),ToReal(2016.),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,3,0),kadd(KRANC_GFOFFSET3D(u,2,-3,0),kadd(KRANC_GFOFFSET3D(u,-3,2,0),KRANC_GFOFFSET3D(u,3,-2,0)))),ToReal(5376.),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,-3,0),kadd(KRANC_GFOFFSET3D(u,1,3,0),kadd(KRANC_GFOFFSET3D(u,-3,-1,0),KRANC_GFOFFSET3D(u,3,1,0)))),ToReal(21504.),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,-2,0),KRANC_GFOFFSET3D(u,2,2,0)),ToReal(28224.),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,2,0),kadd(KRANC_GFOFFSET3D(u,1,-2,0),kadd(KRANC_GFOFFSET3D(u,-2,1,0),KRANC_GFOFFSET3D(u,2,-1,0)))),ToReal(112896.),kmul(kadd(KRANC_GFOFFSET3D(u,-1,-1,0),KRANC_GFOFFSET3D(u,1,1,0)),ToReal(451584.))))))))))))))))))))))) +# define PDstandardNthfdOrder821(u) (kmul(p1o705600dxdy,kmadd(kadd(KRANC_GFOFFSET3D(u,-1,1,0),KRANC_GFOFFSET3D(u,1,-1,0)),ToReal(-451584),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,-2,0),kadd(KRANC_GFOFFSET3D(u,1,2,0),kadd(KRANC_GFOFFSET3D(u,-2,-1,0),KRANC_GFOFFSET3D(u,2,1,0)))),ToReal(-112896),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,2,0),KRANC_GFOFFSET3D(u,2,-2,0)),ToReal(-28224),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,3,0),kadd(KRANC_GFOFFSET3D(u,1,-3,0),kadd(KRANC_GFOFFSET3D(u,-3,1,0),KRANC_GFOFFSET3D(u,3,-1,0)))),ToReal(-21504),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,-3,0),kadd(KRANC_GFOFFSET3D(u,2,3,0),kadd(KRANC_GFOFFSET3D(u,-3,-2,0),KRANC_GFOFFSET3D(u,3,2,0)))),ToReal(-5376),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,-4,0),kadd(KRANC_GFOFFSET3D(u,1,4,0),kadd(KRANC_GFOFFSET3D(u,-4,-1,0),KRANC_GFOFFSET3D(u,4,1,0)))),ToReal(-2016),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,3,0),KRANC_GFOFFSET3D(u,3,-3,0)),ToReal(-1024),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,4,0),kadd(KRANC_GFOFFSET3D(u,2,-4,0),kadd(KRANC_GFOFFSET3D(u,-4,2,0),KRANC_GFOFFSET3D(u,4,-2,0)))),ToReal(-504),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,-4,0),kadd(KRANC_GFOFFSET3D(u,3,4,0),kadd(KRANC_GFOFFSET3D(u,-4,-3,0),KRANC_GFOFFSET3D(u,4,3,0)))),ToReal(-96),kmadd(kadd(KRANC_GFOFFSET3D(u,-4,4,0),KRANC_GFOFFSET3D(u,4,-4,0)),ToReal(-9),kmadd(kadd(KRANC_GFOFFSET3D(u,-4,-4,0),KRANC_GFOFFSET3D(u,4,4,0)),ToReal(9),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,4,0),kadd(KRANC_GFOFFSET3D(u,3,-4,0),kadd(KRANC_GFOFFSET3D(u,-4,3,0),KRANC_GFOFFSET3D(u,4,-3,0)))),ToReal(96),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,-4,0),kadd(KRANC_GFOFFSET3D(u,2,4,0),kadd(KRANC_GFOFFSET3D(u,-4,-2,0),KRANC_GFOFFSET3D(u,4,2,0)))),ToReal(504),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,-3,0),KRANC_GFOFFSET3D(u,3,3,0)),ToReal(1024),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,4,0),kadd(KRANC_GFOFFSET3D(u,1,-4,0),kadd(KRANC_GFOFFSET3D(u,-4,1,0),KRANC_GFOFFSET3D(u,4,-1,0)))),ToReal(2016),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,3,0),kadd(KRANC_GFOFFSET3D(u,2,-3,0),kadd(KRANC_GFOFFSET3D(u,-3,2,0),KRANC_GFOFFSET3D(u,3,-2,0)))),ToReal(5376),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,-3,0),kadd(KRANC_GFOFFSET3D(u,1,3,0),kadd(KRANC_GFOFFSET3D(u,-3,-1,0),KRANC_GFOFFSET3D(u,3,1,0)))),ToReal(21504),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,-2,0),KRANC_GFOFFSET3D(u,2,2,0)),ToReal(28224),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,2,0),kadd(KRANC_GFOFFSET3D(u,1,-2,0),kadd(KRANC_GFOFFSET3D(u,-2,1,0),KRANC_GFOFFSET3D(u,2,-1,0)))),ToReal(112896),kmul(kadd(KRANC_GFOFFSET3D(u,-1,-1,0),KRANC_GFOFFSET3D(u,1,1,0)),ToReal(451584))))))))))))))))))))))) #else # define PDstandardNthfdOrder821(u) (PDstandardNthfdOrder821_impl(u,p1o705600dxdy,cdj,cdk)) -static CCTK_REAL_VEC PDstandardNthfdOrder821_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o705600dxdy, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL_VEC PDstandardNthfdOrder821_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o705600dxdy, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDstandardNthfdOrder821_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o705600dxdy, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL_VEC PDstandardNthfdOrder821_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o705600dxdy, const ptrdiff_t cdj, const ptrdiff_t cdk) { - ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); - return kmul(p1o705600dxdy,kmadd(kadd(KRANC_GFOFFSET3D(u,-1,1,0),KRANC_GFOFFSET3D(u,1,-1,0)),ToReal(-451584.),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,-2,0),kadd(KRANC_GFOFFSET3D(u,1,2,0),kadd(KRANC_GFOFFSET3D(u,-2,-1,0),KRANC_GFOFFSET3D(u,2,1,0)))),ToReal(-112896.),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,2,0),KRANC_GFOFFSET3D(u,2,-2,0)),ToReal(-28224.),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,3,0),kadd(KRANC_GFOFFSET3D(u,1,-3,0),kadd(KRANC_GFOFFSET3D(u,-3,1,0),KRANC_GFOFFSET3D(u,3,-1,0)))),ToReal(-21504.),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,-3,0),kadd(KRANC_GFOFFSET3D(u,2,3,0),kadd(KRANC_GFOFFSET3D(u,-3,-2,0),KRANC_GFOFFSET3D(u,3,2,0)))),ToReal(-5376.),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,-4,0),kadd(KRANC_GFOFFSET3D(u,1,4,0),kadd(KRANC_GFOFFSET3D(u,-4,-1,0),KRANC_GFOFFSET3D(u,4,1,0)))),ToReal(-2016.),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,3,0),KRANC_GFOFFSET3D(u,3,-3,0)),ToReal(-1024.),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,4,0),kadd(KRANC_GFOFFSET3D(u,2,-4,0),kadd(KRANC_GFOFFSET3D(u,-4,2,0),KRANC_GFOFFSET3D(u,4,-2,0)))),ToReal(-504.),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,-4,0),kadd(KRANC_GFOFFSET3D(u,3,4,0),kadd(KRANC_GFOFFSET3D(u,-4,-3,0),KRANC_GFOFFSET3D(u,4,3,0)))),ToReal(-96.),kmadd(kadd(KRANC_GFOFFSET3D(u,-4,4,0),KRANC_GFOFFSET3D(u,4,-4,0)),ToReal(-9.),kmadd(kadd(KRANC_GFOFFSET3D(u,-4,-4,0),KRANC_GFOFFSET3D(u,4,4,0)),ToReal(9.),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,4,0),kadd(KRANC_GFOFFSET3D(u,3,-4,0),kadd(KRANC_GFOFFSET3D(u,-4,3,0),KRANC_GFOFFSET3D(u,4,-3,0)))),ToReal(96.),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,-4,0),kadd(KRANC_GFOFFSET3D(u,2,4,0),kadd(KRANC_GFOFFSET3D(u,-4,-2,0),KRANC_GFOFFSET3D(u,4,2,0)))),ToReal(504.),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,-3,0),KRANC_GFOFFSET3D(u,3,3,0)),ToReal(1024.),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,4,0),kadd(KRANC_GFOFFSET3D(u,1,-4,0),kadd(KRANC_GFOFFSET3D(u,-4,1,0),KRANC_GFOFFSET3D(u,4,-1,0)))),ToReal(2016.),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,3,0),kadd(KRANC_GFOFFSET3D(u,2,-3,0),kadd(KRANC_GFOFFSET3D(u,-3,2,0),KRANC_GFOFFSET3D(u,3,-2,0)))),ToReal(5376.),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,-3,0),kadd(KRANC_GFOFFSET3D(u,1,3,0),kadd(KRANC_GFOFFSET3D(u,-3,-1,0),KRANC_GFOFFSET3D(u,3,1,0)))),ToReal(21504.),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,-2,0),KRANC_GFOFFSET3D(u,2,2,0)),ToReal(28224.),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,2,0),kadd(KRANC_GFOFFSET3D(u,1,-2,0),kadd(KRANC_GFOFFSET3D(u,-2,1,0),KRANC_GFOFFSET3D(u,2,-1,0)))),ToReal(112896.),kmul(kadd(KRANC_GFOFFSET3D(u,-1,-1,0),KRANC_GFOFFSET3D(u,1,1,0)),ToReal(451584.)))))))))))))))))))))); + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); + return PDstandardNthfdOrder812_impl(u, p1o705600dxdy, cdj, cdk); } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDstandardNthfdOrder823(u) (kmul(p1o705600dydz,kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,1),KRANC_GFOFFSET3D(u,0,1,-1)),ToReal(-451584.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,-2),kadd(KRANC_GFOFFSET3D(u,0,1,2),kadd(KRANC_GFOFFSET3D(u,0,-2,-1),KRANC_GFOFFSET3D(u,0,2,1)))),ToReal(-112896.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,2),KRANC_GFOFFSET3D(u,0,2,-2)),ToReal(-28224.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,3),kadd(KRANC_GFOFFSET3D(u,0,1,-3),kadd(KRANC_GFOFFSET3D(u,0,-3,1),KRANC_GFOFFSET3D(u,0,3,-1)))),ToReal(-21504.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,-3),kadd(KRANC_GFOFFSET3D(u,0,2,3),kadd(KRANC_GFOFFSET3D(u,0,-3,-2),KRANC_GFOFFSET3D(u,0,3,2)))),ToReal(-5376.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,-4),kadd(KRANC_GFOFFSET3D(u,0,1,4),kadd(KRANC_GFOFFSET3D(u,0,-4,-1),KRANC_GFOFFSET3D(u,0,4,1)))),ToReal(-2016.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-3,3),KRANC_GFOFFSET3D(u,0,3,-3)),ToReal(-1024.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,4),kadd(KRANC_GFOFFSET3D(u,0,2,-4),kadd(KRANC_GFOFFSET3D(u,0,-4,2),KRANC_GFOFFSET3D(u,0,4,-2)))),ToReal(-504.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-3,-4),kadd(KRANC_GFOFFSET3D(u,0,3,4),kadd(KRANC_GFOFFSET3D(u,0,-4,-3),KRANC_GFOFFSET3D(u,0,4,3)))),ToReal(-96.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-4,4),KRANC_GFOFFSET3D(u,0,4,-4)),ToReal(-9.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-4,-4),KRANC_GFOFFSET3D(u,0,4,4)),ToReal(9.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-3,4),kadd(KRANC_GFOFFSET3D(u,0,3,-4),kadd(KRANC_GFOFFSET3D(u,0,-4,3),KRANC_GFOFFSET3D(u,0,4,-3)))),ToReal(96.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,-4),kadd(KRANC_GFOFFSET3D(u,0,2,4),kadd(KRANC_GFOFFSET3D(u,0,-4,-2),KRANC_GFOFFSET3D(u,0,4,2)))),ToReal(504.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-3,-3),KRANC_GFOFFSET3D(u,0,3,3)),ToReal(1024.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,4),kadd(KRANC_GFOFFSET3D(u,0,1,-4),kadd(KRANC_GFOFFSET3D(u,0,-4,1),KRANC_GFOFFSET3D(u,0,4,-1)))),ToReal(2016.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,3),kadd(KRANC_GFOFFSET3D(u,0,2,-3),kadd(KRANC_GFOFFSET3D(u,0,-3,2),KRANC_GFOFFSET3D(u,0,3,-2)))),ToReal(5376.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,-3),kadd(KRANC_GFOFFSET3D(u,0,1,3),kadd(KRANC_GFOFFSET3D(u,0,-3,-1),KRANC_GFOFFSET3D(u,0,3,1)))),ToReal(21504.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,-2),KRANC_GFOFFSET3D(u,0,2,2)),ToReal(28224.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,2),kadd(KRANC_GFOFFSET3D(u,0,1,-2),kadd(KRANC_GFOFFSET3D(u,0,-2,1),KRANC_GFOFFSET3D(u,0,2,-1)))),ToReal(112896.),kmul(kadd(KRANC_GFOFFSET3D(u,0,-1,-1),KRANC_GFOFFSET3D(u,0,1,1)),ToReal(451584.))))))))))))))))))))))) +# define PDstandardNthfdOrder823(u) (kmul(p1o705600dydz,kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,1),KRANC_GFOFFSET3D(u,0,1,-1)),ToReal(-451584),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,-2),kadd(KRANC_GFOFFSET3D(u,0,1,2),kadd(KRANC_GFOFFSET3D(u,0,-2,-1),KRANC_GFOFFSET3D(u,0,2,1)))),ToReal(-112896),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,2),KRANC_GFOFFSET3D(u,0,2,-2)),ToReal(-28224),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,3),kadd(KRANC_GFOFFSET3D(u,0,1,-3),kadd(KRANC_GFOFFSET3D(u,0,-3,1),KRANC_GFOFFSET3D(u,0,3,-1)))),ToReal(-21504),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,-3),kadd(KRANC_GFOFFSET3D(u,0,2,3),kadd(KRANC_GFOFFSET3D(u,0,-3,-2),KRANC_GFOFFSET3D(u,0,3,2)))),ToReal(-5376),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,-4),kadd(KRANC_GFOFFSET3D(u,0,1,4),kadd(KRANC_GFOFFSET3D(u,0,-4,-1),KRANC_GFOFFSET3D(u,0,4,1)))),ToReal(-2016),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-3,3),KRANC_GFOFFSET3D(u,0,3,-3)),ToReal(-1024),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,4),kadd(KRANC_GFOFFSET3D(u,0,2,-4),kadd(KRANC_GFOFFSET3D(u,0,-4,2),KRANC_GFOFFSET3D(u,0,4,-2)))),ToReal(-504),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-3,-4),kadd(KRANC_GFOFFSET3D(u,0,3,4),kadd(KRANC_GFOFFSET3D(u,0,-4,-3),KRANC_GFOFFSET3D(u,0,4,3)))),ToReal(-96),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-4,4),KRANC_GFOFFSET3D(u,0,4,-4)),ToReal(-9),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-4,-4),KRANC_GFOFFSET3D(u,0,4,4)),ToReal(9),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-3,4),kadd(KRANC_GFOFFSET3D(u,0,3,-4),kadd(KRANC_GFOFFSET3D(u,0,-4,3),KRANC_GFOFFSET3D(u,0,4,-3)))),ToReal(96),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,-4),kadd(KRANC_GFOFFSET3D(u,0,2,4),kadd(KRANC_GFOFFSET3D(u,0,-4,-2),KRANC_GFOFFSET3D(u,0,4,2)))),ToReal(504),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-3,-3),KRANC_GFOFFSET3D(u,0,3,3)),ToReal(1024),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,4),kadd(KRANC_GFOFFSET3D(u,0,1,-4),kadd(KRANC_GFOFFSET3D(u,0,-4,1),KRANC_GFOFFSET3D(u,0,4,-1)))),ToReal(2016),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,3),kadd(KRANC_GFOFFSET3D(u,0,2,-3),kadd(KRANC_GFOFFSET3D(u,0,-3,2),KRANC_GFOFFSET3D(u,0,3,-2)))),ToReal(5376),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,-3),kadd(KRANC_GFOFFSET3D(u,0,1,3),kadd(KRANC_GFOFFSET3D(u,0,-3,-1),KRANC_GFOFFSET3D(u,0,3,1)))),ToReal(21504),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,-2),KRANC_GFOFFSET3D(u,0,2,2)),ToReal(28224),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,2),kadd(KRANC_GFOFFSET3D(u,0,1,-2),kadd(KRANC_GFOFFSET3D(u,0,-2,1),KRANC_GFOFFSET3D(u,0,2,-1)))),ToReal(112896),kmul(kadd(KRANC_GFOFFSET3D(u,0,-1,-1),KRANC_GFOFFSET3D(u,0,1,1)),ToReal(451584))))))))))))))))))))))) #else # define PDstandardNthfdOrder823(u) (PDstandardNthfdOrder823_impl(u,p1o705600dydz,cdj,cdk)) -static CCTK_REAL_VEC PDstandardNthfdOrder823_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o705600dydz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL_VEC PDstandardNthfdOrder823_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o705600dydz, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDstandardNthfdOrder823_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o705600dydz, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL_VEC PDstandardNthfdOrder823_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o705600dydz, const ptrdiff_t cdj, const ptrdiff_t cdk) { - ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); - return kmul(p1o705600dydz,kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,1),KRANC_GFOFFSET3D(u,0,1,-1)),ToReal(-451584.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,-2),kadd(KRANC_GFOFFSET3D(u,0,1,2),kadd(KRANC_GFOFFSET3D(u,0,-2,-1),KRANC_GFOFFSET3D(u,0,2,1)))),ToReal(-112896.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,2),KRANC_GFOFFSET3D(u,0,2,-2)),ToReal(-28224.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,3),kadd(KRANC_GFOFFSET3D(u,0,1,-3),kadd(KRANC_GFOFFSET3D(u,0,-3,1),KRANC_GFOFFSET3D(u,0,3,-1)))),ToReal(-21504.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,-3),kadd(KRANC_GFOFFSET3D(u,0,2,3),kadd(KRANC_GFOFFSET3D(u,0,-3,-2),KRANC_GFOFFSET3D(u,0,3,2)))),ToReal(-5376.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,-4),kadd(KRANC_GFOFFSET3D(u,0,1,4),kadd(KRANC_GFOFFSET3D(u,0,-4,-1),KRANC_GFOFFSET3D(u,0,4,1)))),ToReal(-2016.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-3,3),KRANC_GFOFFSET3D(u,0,3,-3)),ToReal(-1024.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,4),kadd(KRANC_GFOFFSET3D(u,0,2,-4),kadd(KRANC_GFOFFSET3D(u,0,-4,2),KRANC_GFOFFSET3D(u,0,4,-2)))),ToReal(-504.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-3,-4),kadd(KRANC_GFOFFSET3D(u,0,3,4),kadd(KRANC_GFOFFSET3D(u,0,-4,-3),KRANC_GFOFFSET3D(u,0,4,3)))),ToReal(-96.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-4,4),KRANC_GFOFFSET3D(u,0,4,-4)),ToReal(-9.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-4,-4),KRANC_GFOFFSET3D(u,0,4,4)),ToReal(9.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-3,4),kadd(KRANC_GFOFFSET3D(u,0,3,-4),kadd(KRANC_GFOFFSET3D(u,0,-4,3),KRANC_GFOFFSET3D(u,0,4,-3)))),ToReal(96.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,-4),kadd(KRANC_GFOFFSET3D(u,0,2,4),kadd(KRANC_GFOFFSET3D(u,0,-4,-2),KRANC_GFOFFSET3D(u,0,4,2)))),ToReal(504.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-3,-3),KRANC_GFOFFSET3D(u,0,3,3)),ToReal(1024.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,4),kadd(KRANC_GFOFFSET3D(u,0,1,-4),kadd(KRANC_GFOFFSET3D(u,0,-4,1),KRANC_GFOFFSET3D(u,0,4,-1)))),ToReal(2016.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,3),kadd(KRANC_GFOFFSET3D(u,0,2,-3),kadd(KRANC_GFOFFSET3D(u,0,-3,2),KRANC_GFOFFSET3D(u,0,3,-2)))),ToReal(5376.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,-3),kadd(KRANC_GFOFFSET3D(u,0,1,3),kadd(KRANC_GFOFFSET3D(u,0,-3,-1),KRANC_GFOFFSET3D(u,0,3,1)))),ToReal(21504.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,-2),KRANC_GFOFFSET3D(u,0,2,2)),ToReal(28224.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,2),kadd(KRANC_GFOFFSET3D(u,0,1,-2),kadd(KRANC_GFOFFSET3D(u,0,-2,1),KRANC_GFOFFSET3D(u,0,2,-1)))),ToReal(112896.),kmul(kadd(KRANC_GFOFFSET3D(u,0,-1,-1),KRANC_GFOFFSET3D(u,0,1,1)),ToReal(451584.)))))))))))))))))))))); + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); + return kmul(p1o705600dydz,kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,1),KRANC_GFOFFSET3D(u,0,1,-1)),ToReal(-451584),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,-2),kadd(KRANC_GFOFFSET3D(u,0,1,2),kadd(KRANC_GFOFFSET3D(u,0,-2,-1),KRANC_GFOFFSET3D(u,0,2,1)))),ToReal(-112896),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,2),KRANC_GFOFFSET3D(u,0,2,-2)),ToReal(-28224),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,3),kadd(KRANC_GFOFFSET3D(u,0,1,-3),kadd(KRANC_GFOFFSET3D(u,0,-3,1),KRANC_GFOFFSET3D(u,0,3,-1)))),ToReal(-21504),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,-3),kadd(KRANC_GFOFFSET3D(u,0,2,3),kadd(KRANC_GFOFFSET3D(u,0,-3,-2),KRANC_GFOFFSET3D(u,0,3,2)))),ToReal(-5376),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,-4),kadd(KRANC_GFOFFSET3D(u,0,1,4),kadd(KRANC_GFOFFSET3D(u,0,-4,-1),KRANC_GFOFFSET3D(u,0,4,1)))),ToReal(-2016),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-3,3),KRANC_GFOFFSET3D(u,0,3,-3)),ToReal(-1024),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,4),kadd(KRANC_GFOFFSET3D(u,0,2,-4),kadd(KRANC_GFOFFSET3D(u,0,-4,2),KRANC_GFOFFSET3D(u,0,4,-2)))),ToReal(-504),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-3,-4),kadd(KRANC_GFOFFSET3D(u,0,3,4),kadd(KRANC_GFOFFSET3D(u,0,-4,-3),KRANC_GFOFFSET3D(u,0,4,3)))),ToReal(-96),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-4,4),KRANC_GFOFFSET3D(u,0,4,-4)),ToReal(-9),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-4,-4),KRANC_GFOFFSET3D(u,0,4,4)),ToReal(9),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-3,4),kadd(KRANC_GFOFFSET3D(u,0,3,-4),kadd(KRANC_GFOFFSET3D(u,0,-4,3),KRANC_GFOFFSET3D(u,0,4,-3)))),ToReal(96),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,-4),kadd(KRANC_GFOFFSET3D(u,0,2,4),kadd(KRANC_GFOFFSET3D(u,0,-4,-2),KRANC_GFOFFSET3D(u,0,4,2)))),ToReal(504),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-3,-3),KRANC_GFOFFSET3D(u,0,3,3)),ToReal(1024),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,4),kadd(KRANC_GFOFFSET3D(u,0,1,-4),kadd(KRANC_GFOFFSET3D(u,0,-4,1),KRANC_GFOFFSET3D(u,0,4,-1)))),ToReal(2016),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,3),kadd(KRANC_GFOFFSET3D(u,0,2,-3),kadd(KRANC_GFOFFSET3D(u,0,-3,2),KRANC_GFOFFSET3D(u,0,3,-2)))),ToReal(5376),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,-3),kadd(KRANC_GFOFFSET3D(u,0,1,3),kadd(KRANC_GFOFFSET3D(u,0,-3,-1),KRANC_GFOFFSET3D(u,0,3,1)))),ToReal(21504),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,-2),KRANC_GFOFFSET3D(u,0,2,2)),ToReal(28224),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,2),kadd(KRANC_GFOFFSET3D(u,0,1,-2),kadd(KRANC_GFOFFSET3D(u,0,-2,1),KRANC_GFOFFSET3D(u,0,2,-1)))),ToReal(112896),kmul(kadd(KRANC_GFOFFSET3D(u,0,-1,-1),KRANC_GFOFFSET3D(u,0,1,1)),ToReal(451584)))))))))))))))))))))); } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDstandardNthfdOrder831(u) (kmul(p1o705600dxdz,kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,1),KRANC_GFOFFSET3D(u,1,0,-1)),ToReal(-451584.),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,-2),kadd(KRANC_GFOFFSET3D(u,1,0,2),kadd(KRANC_GFOFFSET3D(u,-2,0,-1),KRANC_GFOFFSET3D(u,2,0,1)))),ToReal(-112896.),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,2),KRANC_GFOFFSET3D(u,2,0,-2)),ToReal(-28224.),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,3),kadd(KRANC_GFOFFSET3D(u,1,0,-3),kadd(KRANC_GFOFFSET3D(u,-3,0,1),KRANC_GFOFFSET3D(u,3,0,-1)))),ToReal(-21504.),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,-3),kadd(KRANC_GFOFFSET3D(u,2,0,3),kadd(KRANC_GFOFFSET3D(u,-3,0,-2),KRANC_GFOFFSET3D(u,3,0,2)))),ToReal(-5376.),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,-4),kadd(KRANC_GFOFFSET3D(u,1,0,4),kadd(KRANC_GFOFFSET3D(u,-4,0,-1),KRANC_GFOFFSET3D(u,4,0,1)))),ToReal(-2016.),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,0,3),KRANC_GFOFFSET3D(u,3,0,-3)),ToReal(-1024.),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,4),kadd(KRANC_GFOFFSET3D(u,2,0,-4),kadd(KRANC_GFOFFSET3D(u,-4,0,2),KRANC_GFOFFSET3D(u,4,0,-2)))),ToReal(-504.),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,0,-4),kadd(KRANC_GFOFFSET3D(u,3,0,4),kadd(KRANC_GFOFFSET3D(u,-4,0,-3),KRANC_GFOFFSET3D(u,4,0,3)))),ToReal(-96.),kmadd(kadd(KRANC_GFOFFSET3D(u,-4,0,4),KRANC_GFOFFSET3D(u,4,0,-4)),ToReal(-9.),kmadd(kadd(KRANC_GFOFFSET3D(u,-4,0,-4),KRANC_GFOFFSET3D(u,4,0,4)),ToReal(9.),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,0,4),kadd(KRANC_GFOFFSET3D(u,3,0,-4),kadd(KRANC_GFOFFSET3D(u,-4,0,3),KRANC_GFOFFSET3D(u,4,0,-3)))),ToReal(96.),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,-4),kadd(KRANC_GFOFFSET3D(u,2,0,4),kadd(KRANC_GFOFFSET3D(u,-4,0,-2),KRANC_GFOFFSET3D(u,4,0,2)))),ToReal(504.),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,0,-3),KRANC_GFOFFSET3D(u,3,0,3)),ToReal(1024.),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,4),kadd(KRANC_GFOFFSET3D(u,1,0,-4),kadd(KRANC_GFOFFSET3D(u,-4,0,1),KRANC_GFOFFSET3D(u,4,0,-1)))),ToReal(2016.),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,3),kadd(KRANC_GFOFFSET3D(u,2,0,-3),kadd(KRANC_GFOFFSET3D(u,-3,0,2),KRANC_GFOFFSET3D(u,3,0,-2)))),ToReal(5376.),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,-3),kadd(KRANC_GFOFFSET3D(u,1,0,3),kadd(KRANC_GFOFFSET3D(u,-3,0,-1),KRANC_GFOFFSET3D(u,3,0,1)))),ToReal(21504.),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,-2),KRANC_GFOFFSET3D(u,2,0,2)),ToReal(28224.),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,2),kadd(KRANC_GFOFFSET3D(u,1,0,-2),kadd(KRANC_GFOFFSET3D(u,-2,0,1),KRANC_GFOFFSET3D(u,2,0,-1)))),ToReal(112896.),kmul(kadd(KRANC_GFOFFSET3D(u,-1,0,-1),KRANC_GFOFFSET3D(u,1,0,1)),ToReal(451584.))))))))))))))))))))))) +# define PDstandardNthfdOrder831(u) (kmul(p1o705600dxdz,kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,1),KRANC_GFOFFSET3D(u,1,0,-1)),ToReal(-451584),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,-2),kadd(KRANC_GFOFFSET3D(u,1,0,2),kadd(KRANC_GFOFFSET3D(u,-2,0,-1),KRANC_GFOFFSET3D(u,2,0,1)))),ToReal(-112896),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,2),KRANC_GFOFFSET3D(u,2,0,-2)),ToReal(-28224),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,3),kadd(KRANC_GFOFFSET3D(u,1,0,-3),kadd(KRANC_GFOFFSET3D(u,-3,0,1),KRANC_GFOFFSET3D(u,3,0,-1)))),ToReal(-21504),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,-3),kadd(KRANC_GFOFFSET3D(u,2,0,3),kadd(KRANC_GFOFFSET3D(u,-3,0,-2),KRANC_GFOFFSET3D(u,3,0,2)))),ToReal(-5376),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,-4),kadd(KRANC_GFOFFSET3D(u,1,0,4),kadd(KRANC_GFOFFSET3D(u,-4,0,-1),KRANC_GFOFFSET3D(u,4,0,1)))),ToReal(-2016),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,0,3),KRANC_GFOFFSET3D(u,3,0,-3)),ToReal(-1024),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,4),kadd(KRANC_GFOFFSET3D(u,2,0,-4),kadd(KRANC_GFOFFSET3D(u,-4,0,2),KRANC_GFOFFSET3D(u,4,0,-2)))),ToReal(-504),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,0,-4),kadd(KRANC_GFOFFSET3D(u,3,0,4),kadd(KRANC_GFOFFSET3D(u,-4,0,-3),KRANC_GFOFFSET3D(u,4,0,3)))),ToReal(-96),kmadd(kadd(KRANC_GFOFFSET3D(u,-4,0,4),KRANC_GFOFFSET3D(u,4,0,-4)),ToReal(-9),kmadd(kadd(KRANC_GFOFFSET3D(u,-4,0,-4),KRANC_GFOFFSET3D(u,4,0,4)),ToReal(9),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,0,4),kadd(KRANC_GFOFFSET3D(u,3,0,-4),kadd(KRANC_GFOFFSET3D(u,-4,0,3),KRANC_GFOFFSET3D(u,4,0,-3)))),ToReal(96),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,-4),kadd(KRANC_GFOFFSET3D(u,2,0,4),kadd(KRANC_GFOFFSET3D(u,-4,0,-2),KRANC_GFOFFSET3D(u,4,0,2)))),ToReal(504),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,0,-3),KRANC_GFOFFSET3D(u,3,0,3)),ToReal(1024),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,4),kadd(KRANC_GFOFFSET3D(u,1,0,-4),kadd(KRANC_GFOFFSET3D(u,-4,0,1),KRANC_GFOFFSET3D(u,4,0,-1)))),ToReal(2016),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,3),kadd(KRANC_GFOFFSET3D(u,2,0,-3),kadd(KRANC_GFOFFSET3D(u,-3,0,2),KRANC_GFOFFSET3D(u,3,0,-2)))),ToReal(5376),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,-3),kadd(KRANC_GFOFFSET3D(u,1,0,3),kadd(KRANC_GFOFFSET3D(u,-3,0,-1),KRANC_GFOFFSET3D(u,3,0,1)))),ToReal(21504),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,-2),KRANC_GFOFFSET3D(u,2,0,2)),ToReal(28224),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,2),kadd(KRANC_GFOFFSET3D(u,1,0,-2),kadd(KRANC_GFOFFSET3D(u,-2,0,1),KRANC_GFOFFSET3D(u,2,0,-1)))),ToReal(112896),kmul(kadd(KRANC_GFOFFSET3D(u,-1,0,-1),KRANC_GFOFFSET3D(u,1,0,1)),ToReal(451584))))))))))))))))))))))) #else # define PDstandardNthfdOrder831(u) (PDstandardNthfdOrder831_impl(u,p1o705600dxdz,cdj,cdk)) -static CCTK_REAL_VEC PDstandardNthfdOrder831_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o705600dxdz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL_VEC PDstandardNthfdOrder831_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o705600dxdz, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDstandardNthfdOrder831_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o705600dxdz, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL_VEC PDstandardNthfdOrder831_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o705600dxdz, const ptrdiff_t cdj, const ptrdiff_t cdk) { - ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); - return kmul(p1o705600dxdz,kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,1),KRANC_GFOFFSET3D(u,1,0,-1)),ToReal(-451584.),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,-2),kadd(KRANC_GFOFFSET3D(u,1,0,2),kadd(KRANC_GFOFFSET3D(u,-2,0,-1),KRANC_GFOFFSET3D(u,2,0,1)))),ToReal(-112896.),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,2),KRANC_GFOFFSET3D(u,2,0,-2)),ToReal(-28224.),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,3),kadd(KRANC_GFOFFSET3D(u,1,0,-3),kadd(KRANC_GFOFFSET3D(u,-3,0,1),KRANC_GFOFFSET3D(u,3,0,-1)))),ToReal(-21504.),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,-3),kadd(KRANC_GFOFFSET3D(u,2,0,3),kadd(KRANC_GFOFFSET3D(u,-3,0,-2),KRANC_GFOFFSET3D(u,3,0,2)))),ToReal(-5376.),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,-4),kadd(KRANC_GFOFFSET3D(u,1,0,4),kadd(KRANC_GFOFFSET3D(u,-4,0,-1),KRANC_GFOFFSET3D(u,4,0,1)))),ToReal(-2016.),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,0,3),KRANC_GFOFFSET3D(u,3,0,-3)),ToReal(-1024.),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,4),kadd(KRANC_GFOFFSET3D(u,2,0,-4),kadd(KRANC_GFOFFSET3D(u,-4,0,2),KRANC_GFOFFSET3D(u,4,0,-2)))),ToReal(-504.),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,0,-4),kadd(KRANC_GFOFFSET3D(u,3,0,4),kadd(KRANC_GFOFFSET3D(u,-4,0,-3),KRANC_GFOFFSET3D(u,4,0,3)))),ToReal(-96.),kmadd(kadd(KRANC_GFOFFSET3D(u,-4,0,4),KRANC_GFOFFSET3D(u,4,0,-4)),ToReal(-9.),kmadd(kadd(KRANC_GFOFFSET3D(u,-4,0,-4),KRANC_GFOFFSET3D(u,4,0,4)),ToReal(9.),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,0,4),kadd(KRANC_GFOFFSET3D(u,3,0,-4),kadd(KRANC_GFOFFSET3D(u,-4,0,3),KRANC_GFOFFSET3D(u,4,0,-3)))),ToReal(96.),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,-4),kadd(KRANC_GFOFFSET3D(u,2,0,4),kadd(KRANC_GFOFFSET3D(u,-4,0,-2),KRANC_GFOFFSET3D(u,4,0,2)))),ToReal(504.),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,0,-3),KRANC_GFOFFSET3D(u,3,0,3)),ToReal(1024.),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,4),kadd(KRANC_GFOFFSET3D(u,1,0,-4),kadd(KRANC_GFOFFSET3D(u,-4,0,1),KRANC_GFOFFSET3D(u,4,0,-1)))),ToReal(2016.),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,3),kadd(KRANC_GFOFFSET3D(u,2,0,-3),kadd(KRANC_GFOFFSET3D(u,-3,0,2),KRANC_GFOFFSET3D(u,3,0,-2)))),ToReal(5376.),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,-3),kadd(KRANC_GFOFFSET3D(u,1,0,3),kadd(KRANC_GFOFFSET3D(u,-3,0,-1),KRANC_GFOFFSET3D(u,3,0,1)))),ToReal(21504.),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,-2),KRANC_GFOFFSET3D(u,2,0,2)),ToReal(28224.),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,2),kadd(KRANC_GFOFFSET3D(u,1,0,-2),kadd(KRANC_GFOFFSET3D(u,-2,0,1),KRANC_GFOFFSET3D(u,2,0,-1)))),ToReal(112896.),kmul(kadd(KRANC_GFOFFSET3D(u,-1,0,-1),KRANC_GFOFFSET3D(u,1,0,1)),ToReal(451584.)))))))))))))))))))))); + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); + return PDstandardNthfdOrder812_impl(u, p1o705600dxdz, cdk, cdj); } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDstandardNthfdOrder832(u) (kmul(p1o705600dydz,kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,1),KRANC_GFOFFSET3D(u,0,1,-1)),ToReal(-451584.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,-2),kadd(KRANC_GFOFFSET3D(u,0,1,2),kadd(KRANC_GFOFFSET3D(u,0,-2,-1),KRANC_GFOFFSET3D(u,0,2,1)))),ToReal(-112896.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,2),KRANC_GFOFFSET3D(u,0,2,-2)),ToReal(-28224.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,3),kadd(KRANC_GFOFFSET3D(u,0,1,-3),kadd(KRANC_GFOFFSET3D(u,0,-3,1),KRANC_GFOFFSET3D(u,0,3,-1)))),ToReal(-21504.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,-3),kadd(KRANC_GFOFFSET3D(u,0,2,3),kadd(KRANC_GFOFFSET3D(u,0,-3,-2),KRANC_GFOFFSET3D(u,0,3,2)))),ToReal(-5376.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,-4),kadd(KRANC_GFOFFSET3D(u,0,1,4),kadd(KRANC_GFOFFSET3D(u,0,-4,-1),KRANC_GFOFFSET3D(u,0,4,1)))),ToReal(-2016.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-3,3),KRANC_GFOFFSET3D(u,0,3,-3)),ToReal(-1024.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,4),kadd(KRANC_GFOFFSET3D(u,0,2,-4),kadd(KRANC_GFOFFSET3D(u,0,-4,2),KRANC_GFOFFSET3D(u,0,4,-2)))),ToReal(-504.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-3,-4),kadd(KRANC_GFOFFSET3D(u,0,3,4),kadd(KRANC_GFOFFSET3D(u,0,-4,-3),KRANC_GFOFFSET3D(u,0,4,3)))),ToReal(-96.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-4,4),KRANC_GFOFFSET3D(u,0,4,-4)),ToReal(-9.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-4,-4),KRANC_GFOFFSET3D(u,0,4,4)),ToReal(9.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-3,4),kadd(KRANC_GFOFFSET3D(u,0,3,-4),kadd(KRANC_GFOFFSET3D(u,0,-4,3),KRANC_GFOFFSET3D(u,0,4,-3)))),ToReal(96.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,-4),kadd(KRANC_GFOFFSET3D(u,0,2,4),kadd(KRANC_GFOFFSET3D(u,0,-4,-2),KRANC_GFOFFSET3D(u,0,4,2)))),ToReal(504.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-3,-3),KRANC_GFOFFSET3D(u,0,3,3)),ToReal(1024.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,4),kadd(KRANC_GFOFFSET3D(u,0,1,-4),kadd(KRANC_GFOFFSET3D(u,0,-4,1),KRANC_GFOFFSET3D(u,0,4,-1)))),ToReal(2016.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,3),kadd(KRANC_GFOFFSET3D(u,0,2,-3),kadd(KRANC_GFOFFSET3D(u,0,-3,2),KRANC_GFOFFSET3D(u,0,3,-2)))),ToReal(5376.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,-3),kadd(KRANC_GFOFFSET3D(u,0,1,3),kadd(KRANC_GFOFFSET3D(u,0,-3,-1),KRANC_GFOFFSET3D(u,0,3,1)))),ToReal(21504.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,-2),KRANC_GFOFFSET3D(u,0,2,2)),ToReal(28224.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,2),kadd(KRANC_GFOFFSET3D(u,0,1,-2),kadd(KRANC_GFOFFSET3D(u,0,-2,1),KRANC_GFOFFSET3D(u,0,2,-1)))),ToReal(112896.),kmul(kadd(KRANC_GFOFFSET3D(u,0,-1,-1),KRANC_GFOFFSET3D(u,0,1,1)),ToReal(451584.))))))))))))))))))))))) +# define PDstandardNthfdOrder832(u) (kmul(p1o705600dydz,kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,1),KRANC_GFOFFSET3D(u,0,1,-1)),ToReal(-451584),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,-2),kadd(KRANC_GFOFFSET3D(u,0,1,2),kadd(KRANC_GFOFFSET3D(u,0,-2,-1),KRANC_GFOFFSET3D(u,0,2,1)))),ToReal(-112896),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,2),KRANC_GFOFFSET3D(u,0,2,-2)),ToReal(-28224),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,3),kadd(KRANC_GFOFFSET3D(u,0,1,-3),kadd(KRANC_GFOFFSET3D(u,0,-3,1),KRANC_GFOFFSET3D(u,0,3,-1)))),ToReal(-21504),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,-3),kadd(KRANC_GFOFFSET3D(u,0,2,3),kadd(KRANC_GFOFFSET3D(u,0,-3,-2),KRANC_GFOFFSET3D(u,0,3,2)))),ToReal(-5376),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,-4),kadd(KRANC_GFOFFSET3D(u,0,1,4),kadd(KRANC_GFOFFSET3D(u,0,-4,-1),KRANC_GFOFFSET3D(u,0,4,1)))),ToReal(-2016),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-3,3),KRANC_GFOFFSET3D(u,0,3,-3)),ToReal(-1024),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,4),kadd(KRANC_GFOFFSET3D(u,0,2,-4),kadd(KRANC_GFOFFSET3D(u,0,-4,2),KRANC_GFOFFSET3D(u,0,4,-2)))),ToReal(-504),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-3,-4),kadd(KRANC_GFOFFSET3D(u,0,3,4),kadd(KRANC_GFOFFSET3D(u,0,-4,-3),KRANC_GFOFFSET3D(u,0,4,3)))),ToReal(-96),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-4,4),KRANC_GFOFFSET3D(u,0,4,-4)),ToReal(-9),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-4,-4),KRANC_GFOFFSET3D(u,0,4,4)),ToReal(9),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-3,4),kadd(KRANC_GFOFFSET3D(u,0,3,-4),kadd(KRANC_GFOFFSET3D(u,0,-4,3),KRANC_GFOFFSET3D(u,0,4,-3)))),ToReal(96),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,-4),kadd(KRANC_GFOFFSET3D(u,0,2,4),kadd(KRANC_GFOFFSET3D(u,0,-4,-2),KRANC_GFOFFSET3D(u,0,4,2)))),ToReal(504),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-3,-3),KRANC_GFOFFSET3D(u,0,3,3)),ToReal(1024),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,4),kadd(KRANC_GFOFFSET3D(u,0,1,-4),kadd(KRANC_GFOFFSET3D(u,0,-4,1),KRANC_GFOFFSET3D(u,0,4,-1)))),ToReal(2016),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,3),kadd(KRANC_GFOFFSET3D(u,0,2,-3),kadd(KRANC_GFOFFSET3D(u,0,-3,2),KRANC_GFOFFSET3D(u,0,3,-2)))),ToReal(5376),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,-3),kadd(KRANC_GFOFFSET3D(u,0,1,3),kadd(KRANC_GFOFFSET3D(u,0,-3,-1),KRANC_GFOFFSET3D(u,0,3,1)))),ToReal(21504),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,-2),KRANC_GFOFFSET3D(u,0,2,2)),ToReal(28224),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,2),kadd(KRANC_GFOFFSET3D(u,0,1,-2),kadd(KRANC_GFOFFSET3D(u,0,-2,1),KRANC_GFOFFSET3D(u,0,2,-1)))),ToReal(112896),kmul(kadd(KRANC_GFOFFSET3D(u,0,-1,-1),KRANC_GFOFFSET3D(u,0,1,1)),ToReal(451584))))))))))))))))))))))) #else # define PDstandardNthfdOrder832(u) (PDstandardNthfdOrder832_impl(u,p1o705600dydz,cdj,cdk)) -static CCTK_REAL_VEC PDstandardNthfdOrder832_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o705600dydz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL_VEC PDstandardNthfdOrder832_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o705600dydz, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDstandardNthfdOrder832_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o705600dydz, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL_VEC PDstandardNthfdOrder832_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o705600dydz, const ptrdiff_t cdj, const ptrdiff_t cdk) { - ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); - return kmul(p1o705600dydz,kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,1),KRANC_GFOFFSET3D(u,0,1,-1)),ToReal(-451584.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,-2),kadd(KRANC_GFOFFSET3D(u,0,1,2),kadd(KRANC_GFOFFSET3D(u,0,-2,-1),KRANC_GFOFFSET3D(u,0,2,1)))),ToReal(-112896.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,2),KRANC_GFOFFSET3D(u,0,2,-2)),ToReal(-28224.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,3),kadd(KRANC_GFOFFSET3D(u,0,1,-3),kadd(KRANC_GFOFFSET3D(u,0,-3,1),KRANC_GFOFFSET3D(u,0,3,-1)))),ToReal(-21504.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,-3),kadd(KRANC_GFOFFSET3D(u,0,2,3),kadd(KRANC_GFOFFSET3D(u,0,-3,-2),KRANC_GFOFFSET3D(u,0,3,2)))),ToReal(-5376.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,-4),kadd(KRANC_GFOFFSET3D(u,0,1,4),kadd(KRANC_GFOFFSET3D(u,0,-4,-1),KRANC_GFOFFSET3D(u,0,4,1)))),ToReal(-2016.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-3,3),KRANC_GFOFFSET3D(u,0,3,-3)),ToReal(-1024.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,4),kadd(KRANC_GFOFFSET3D(u,0,2,-4),kadd(KRANC_GFOFFSET3D(u,0,-4,2),KRANC_GFOFFSET3D(u,0,4,-2)))),ToReal(-504.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-3,-4),kadd(KRANC_GFOFFSET3D(u,0,3,4),kadd(KRANC_GFOFFSET3D(u,0,-4,-3),KRANC_GFOFFSET3D(u,0,4,3)))),ToReal(-96.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-4,4),KRANC_GFOFFSET3D(u,0,4,-4)),ToReal(-9.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-4,-4),KRANC_GFOFFSET3D(u,0,4,4)),ToReal(9.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-3,4),kadd(KRANC_GFOFFSET3D(u,0,3,-4),kadd(KRANC_GFOFFSET3D(u,0,-4,3),KRANC_GFOFFSET3D(u,0,4,-3)))),ToReal(96.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,-4),kadd(KRANC_GFOFFSET3D(u,0,2,4),kadd(KRANC_GFOFFSET3D(u,0,-4,-2),KRANC_GFOFFSET3D(u,0,4,2)))),ToReal(504.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-3,-3),KRANC_GFOFFSET3D(u,0,3,3)),ToReal(1024.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,4),kadd(KRANC_GFOFFSET3D(u,0,1,-4),kadd(KRANC_GFOFFSET3D(u,0,-4,1),KRANC_GFOFFSET3D(u,0,4,-1)))),ToReal(2016.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,3),kadd(KRANC_GFOFFSET3D(u,0,2,-3),kadd(KRANC_GFOFFSET3D(u,0,-3,2),KRANC_GFOFFSET3D(u,0,3,-2)))),ToReal(5376.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,-3),kadd(KRANC_GFOFFSET3D(u,0,1,3),kadd(KRANC_GFOFFSET3D(u,0,-3,-1),KRANC_GFOFFSET3D(u,0,3,1)))),ToReal(21504.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,-2),KRANC_GFOFFSET3D(u,0,2,2)),ToReal(28224.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,2),kadd(KRANC_GFOFFSET3D(u,0,1,-2),kadd(KRANC_GFOFFSET3D(u,0,-2,1),KRANC_GFOFFSET3D(u,0,2,-1)))),ToReal(112896.),kmul(kadd(KRANC_GFOFFSET3D(u,0,-1,-1),KRANC_GFOFFSET3D(u,0,1,1)),ToReal(451584.)))))))))))))))))))))); + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); + return PDstandardNthfdOrder823_impl(u, p1o705600dydz, cdj, cdk); } #endif diff --git a/ML_ADM/src/ML_ADM_Minkowski.cc b/ML_ADM/src/ML_ADM_Minkowski.cc index 7e10b66..2e69f13 100644 --- a/ML_ADM/src/ML_ADM_Minkowski.cc +++ b/ML_ADM/src/ML_ADM_Minkowski.cc @@ -27,7 +27,7 @@ #define CUB(x) (kmul(x,SQR(x))) #define QAD(x) (SQR(SQR(x))) -static void ML_ADM_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[]) +static void ML_ADM_Minkowski_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; @@ -36,111 +36,133 @@ static void ML_ADM_Minkowski_Body(cGH const * restrict const cctkGH, int const d /* 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*/ p1o12dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dx); - CCTK_REAL_VEC /*const*/ p1o12dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dy); - CCTK_REAL_VEC /*const*/ p1o12dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dz); - CCTK_REAL_VEC /*const*/ p1o144dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o144dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o144dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o180dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ p1o180dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ p1o180dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ p1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dx); - CCTK_REAL_VEC /*const*/ p1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dy); - CCTK_REAL_VEC /*const*/ p1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dz); - CCTK_REAL_VEC /*const*/ p1o3600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o3600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o3600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o4dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o4dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o4dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o5040dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ p1o5040dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ p1o5040dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ p1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dx); - CCTK_REAL_VEC /*const*/ p1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dy); - CCTK_REAL_VEC /*const*/ p1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dz); - CCTK_REAL_VEC /*const*/ p1o705600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o705600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o705600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o840dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dx); - CCTK_REAL_VEC /*const*/ p1o840dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dy); - CCTK_REAL_VEC /*const*/ p1o840dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dz); - CCTK_REAL_VEC /*const*/ p1odx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ p1ody2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ p1odz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ pm1o12dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ pm1o12dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ pm1o12dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dz,dz)); + 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 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 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 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 p1o4dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dy)); + 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 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 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 p1odx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dx,dx)); + const CCTK_REAL_VEC p1ody2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dy,dy)); + const CCTK_REAL_VEC p1odz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dz,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)); /* 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; - CCTK_REAL const *restrict jacobian_derivative_ptrs[18] CCTK_ATTRIBUTE_UNUSED; + 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; + + 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 */ @@ -151,13 +173,20 @@ static void ML_ADM_Minkowski_Body(cGH const * restrict const cctkGH, int const d /* 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_ADM_Minkowski, - 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 */ @@ -168,56 +197,66 @@ static void ML_ADM_Minkowski_Body(cGH const * restrict const cctkGH, int const d /* Precompute derivatives */ - switch(fdOrder) + switch (fdOrder) { case 2: + { break; + } case 4: + { break; + } case 6: + { break; + } case 8: + { break; + } + default: + CCTK_BUILTIN_UNREACHABLE(); } /* Calculate temporaries and grid functions */ - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED g11L = ToReal(1.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED g11L = ToReal(1); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED g12L = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED g12L = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED g13L = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED g13L = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED g22L = ToReal(1.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED g22L = ToReal(1); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED g23L = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED g23L = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED g33L = ToReal(1.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED g33L = ToReal(1); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED K11L = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED K11L = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED K12L = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED K12L = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED K13L = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED K13L = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED K22L = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED K22L = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED K23L = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED K23L = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED K33L = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED K33L = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED alphaL = ToReal(1.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED alphaL = ToReal(1); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED beta1L = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED beta1L = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED beta2L = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED beta2L = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED beta3L = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED beta3L = ToReal(0); /* 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(alpha[index],alphaL); vec_store_nta_partial(beta1[index],beta1L); vec_store_nta_partial(beta2[index],beta2L); @@ -254,26 +293,36 @@ extern "C" void ML_ADM_Minkowski(CCTK_ARGUMENTS) return; } - const char *const groups[] = { + const char* const groups[] = { "ML_ADM::ML_curv", "ML_ADM::ML_lapse", "ML_ADM::ML_metric", "ML_ADM::ML_shift"}; GenericFD_AssertGroupStorage(cctkGH, "ML_ADM_Minkowski", 4, groups); - switch(fdOrder) + switch (fdOrder) { case 2: + { break; + } case 4: + { break; + } case 6: + { break; + } case 8: + { break; + } + default: + CCTK_BUILTIN_UNREACHABLE(); } GenericFD_LoopOverEverything(cctkGH, ML_ADM_Minkowski_Body); diff --git a/ML_ADM/src/ML_ADM_RHS.cc b/ML_ADM/src/ML_ADM_RHS.cc index ce37f26..bf614c1 100644 --- a/ML_ADM/src/ML_ADM_RHS.cc +++ b/ML_ADM/src/ML_ADM_RHS.cc @@ -32,7 +32,9 @@ extern "C" void ML_ADM_RHS_SelectBCs(CCTK_ARGUMENTS) DECLARE_CCTK_ARGUMENTS; DECLARE_CCTK_PARAMETERS; - CCTK_INT ierr CCTK_ATTRIBUTE_UNUSED = 0; + if (cctk_iteration % ML_ADM_RHS_calc_every != ML_ADM_RHS_calc_offset) + return; + CCTK_INT ierr CCTK_ATTRIBUTE_UNUSED = 0; ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_ADM::ML_curvrhs","flat"); if (ierr < 0) CCTK_WARN(1, "Failed to register flat BC for ML_ADM::ML_curvrhs."); @@ -48,7 +50,7 @@ extern "C" void ML_ADM_RHS_SelectBCs(CCTK_ARGUMENTS) return; } -static void ML_ADM_RHS_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_ADM_RHS_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,111 +59,133 @@ static void ML_ADM_RHS_Body(cGH const * restrict const cctkGH, int const dir, in /* 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*/ p1o12dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dx); - CCTK_REAL_VEC /*const*/ p1o12dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dy); - CCTK_REAL_VEC /*const*/ p1o12dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dz); - CCTK_REAL_VEC /*const*/ p1o144dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o144dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o144dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o180dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ p1o180dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ p1o180dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ p1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dx); - CCTK_REAL_VEC /*const*/ p1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dy); - CCTK_REAL_VEC /*const*/ p1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dz); - CCTK_REAL_VEC /*const*/ p1o3600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o3600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o3600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o4dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o4dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o4dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o5040dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ p1o5040dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ p1o5040dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ p1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dx); - CCTK_REAL_VEC /*const*/ p1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dy); - CCTK_REAL_VEC /*const*/ p1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dz); - CCTK_REAL_VEC /*const*/ p1o705600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o705600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o705600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o840dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dx); - CCTK_REAL_VEC /*const*/ p1o840dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dy); - CCTK_REAL_VEC /*const*/ p1o840dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dz); - CCTK_REAL_VEC /*const*/ p1odx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ p1ody2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ p1odz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ pm1o12dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ pm1o12dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ pm1o12dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dz,dz)); + 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 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 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 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 p1o4dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dy)); + 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 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 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 p1odx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dx,dx)); + const CCTK_REAL_VEC p1ody2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dy,dy)); + const CCTK_REAL_VEC p1odz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dz,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)); /* 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 */ @@ -172,13 +196,20 @@ static void ML_ADM_RHS_Body(cGH const * restrict const cctkGH, int const dir, in /* 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_ADM_RHS, - 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 */ @@ -236,100 +267,101 @@ static void ML_ADM_RHS_Body(cGH const * restrict const cctkGH, int const dir, in /* Include user supplied include files */ /* Precompute derivatives */ - CCTK_REAL_VEC PDstandardNth1alpha CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth2alpha CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth3alpha CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth11alpha CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth22alpha CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth33alpha CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth12alpha CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth13alpha CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth23alpha CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth1beta1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth2beta1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth3beta1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth1beta2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth2beta2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth3beta2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth1beta3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth2beta3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth3beta3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth1g11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth2g11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth3g11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth11g11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth22g11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth33g11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth12g11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth13g11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth23g11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth1g12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth2g12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth3g12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth11g12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth22g12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth33g12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth12g12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth13g12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth23g12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth1g13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth2g13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth3g13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth11g13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth22g13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth33g13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth12g13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth13g13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth23g13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth1g22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth2g22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth3g22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth11g22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth22g22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth33g22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth12g22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth13g22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth23g22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth1g23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth2g23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth3g23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth11g23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth22g23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth33g23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth12g23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth13g23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth23g23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth1g33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth2g33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth3g33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth11g33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth22g33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth33g33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth12g33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth13g33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth23g33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth1K11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth2K11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth3K11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth1K12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth2K12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth3K12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth1K13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth2K13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth3K13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth1K22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth2K22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth3K22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth1K23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth2K23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth3K23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth1K33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth2K33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth3K33 CCTK_ATTRIBUTE_UNUSED ; - - switch(fdOrder) + CCTK_REAL_VEC PDstandardNth1alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth11alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth22alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth33alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth12alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth13alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth23alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1beta1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2beta1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3beta1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1beta2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2beta2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3beta2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1beta3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2beta3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3beta3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1g11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2g11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3g11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth11g11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth22g11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth33g11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth12g11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth13g11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth23g11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1g12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2g12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3g12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth11g12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth22g12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth33g12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth12g12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth13g12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth23g12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1g13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2g13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3g13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth11g13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth22g13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth33g13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth12g13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth13g13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth23g13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1g22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2g22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3g22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth11g22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth22g22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth33g22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth12g22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth13g22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth23g22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1g23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2g23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3g23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth11g23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth22g23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth33g23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth12g23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth13g23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth23g23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1g33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2g33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3g33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth11g33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth22g33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth33g33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth12g33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth13g33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth23g33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1K11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2K11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3K11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1K12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2K12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3K12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1K13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2K13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3K13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1K22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2K22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3K22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1K23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2K23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3K23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1K33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2K33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3K33 CCTK_ATTRIBUTE_UNUSED; + + switch (fdOrder) { case 2: + { PDstandardNth1alpha = PDstandardNthfdOrder21(&alpha[index]); PDstandardNth2alpha = PDstandardNthfdOrder22(&alpha[index]); PDstandardNth3alpha = PDstandardNthfdOrder23(&alpha[index]); @@ -421,8 +453,10 @@ static void ML_ADM_RHS_Body(cGH const * restrict const cctkGH, int const dir, in PDstandardNth2K33 = PDstandardNthfdOrder22(&K33[index]); PDstandardNth3K33 = PDstandardNthfdOrder23(&K33[index]); break; + } case 4: + { PDstandardNth1alpha = PDstandardNthfdOrder41(&alpha[index]); PDstandardNth2alpha = PDstandardNthfdOrder42(&alpha[index]); PDstandardNth3alpha = PDstandardNthfdOrder43(&alpha[index]); @@ -514,8 +548,10 @@ static void ML_ADM_RHS_Body(cGH const * restrict const cctkGH, int const dir, in PDstandardNth2K33 = PDstandardNthfdOrder42(&K33[index]); PDstandardNth3K33 = PDstandardNthfdOrder43(&K33[index]); break; + } case 6: + { PDstandardNth1alpha = PDstandardNthfdOrder61(&alpha[index]); PDstandardNth2alpha = PDstandardNthfdOrder62(&alpha[index]); PDstandardNth3alpha = PDstandardNthfdOrder63(&alpha[index]); @@ -607,8 +643,10 @@ static void ML_ADM_RHS_Body(cGH const * restrict const cctkGH, int const dir, in PDstandardNth2K33 = PDstandardNthfdOrder62(&K33[index]); PDstandardNth3K33 = PDstandardNthfdOrder63(&K33[index]); break; + } case 8: + { PDstandardNth1alpha = PDstandardNthfdOrder81(&alpha[index]); PDstandardNth2alpha = PDstandardNthfdOrder82(&alpha[index]); PDstandardNth3alpha = PDstandardNthfdOrder83(&alpha[index]); @@ -700,108 +738,111 @@ static void ML_ADM_RHS_Body(cGH const * restrict const cctkGH, int const dir, in PDstandardNth2K33 = PDstandardNthfdOrder82(&K33[index]); PDstandardNth3K33 = PDstandardNthfdOrder83(&K33[index]); break; + } + default: + CCTK_BUILTIN_UNREACHABLE(); } /* Calculate temporaries and grid functions */ - CCTK_REAL_VEC JacPDstandardNth11alpha CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth11g22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth11g23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth11g33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth12alpha CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth12g11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth12g12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth12g13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth12g22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth12g23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth12g33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth13alpha CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth13g11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth13g12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth13g13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth13g22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth13g23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth13g33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth1alpha CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth1beta1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth1beta2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth1beta3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth1g11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth1g12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth1g13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth1g22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth1g23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth1g33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth1K11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth1K12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth1K13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth1K22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth1K23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth1K33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth21g11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth21g12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth21g13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth21g22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth21g23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth21g33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth22alpha CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth22g11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth22g13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth22g33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth23alpha CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth23g11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth23g12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth23g13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth23g22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth23g23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth23g33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth2alpha CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth2beta1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth2beta2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth2beta3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth2g11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth2g12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth2g13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth2g22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth2g23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth2g33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth2K11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth2K12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth2K13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth2K22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth2K23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth2K33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth31g11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth31g12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth31g13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth31g22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth31g23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth31g33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth32g11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth32g12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth32g13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth32g22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth32g23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth32g33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth33alpha CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth33g11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth33g12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth33g22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth3alpha CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth3beta1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth3beta2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth3beta3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth3g11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth3g12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth3g13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth3g22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth3g23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth3g33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth3K11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth3K12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth3K13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth3K22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth3K23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth3K33 CCTK_ATTRIBUTE_UNUSED ; + CCTK_REAL_VEC JacPDstandardNth11alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth11g22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth11g23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth11g33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth12alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth12g11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth12g12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth12g13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth12g22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth12g23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth12g33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth13alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth13g11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth13g12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth13g13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth13g22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth13g23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth13g33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1beta1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1beta2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1beta3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1g11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1g12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1g13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1g22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1g23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1g33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1K11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1K12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1K13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1K22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1K23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1K33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth21g11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth21g12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth21g13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth21g22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth21g23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth21g33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth22alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth22g11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth22g13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth22g33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth23alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth23g11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth23g12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth23g13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth23g22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth23g23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth23g33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2beta1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2beta2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2beta3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2g11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2g12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2g13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2g22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2g23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2g33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2K11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2K12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2K13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2K22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2K23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2K33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth31g11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth31g12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth31g13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth31g22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth31g23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth31g33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth32g11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth32g12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth32g13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth32g22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth32g23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth32g33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth33alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth33g11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth33g12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth33g22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3beta1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3beta2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3beta3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3g11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3g12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3g13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3g22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3g23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3g33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3K11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3K12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3K13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3K22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3K23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3K33 CCTK_ATTRIBUTE_UNUSED; if (use_jacobian) { @@ -950,40 +991,40 @@ static void ML_ADM_RHS_Body(cGH const * restrict const cctkGH, int const dir, in kmadd(J13L,PDstandardNth1K33,kmadd(J23L,PDstandardNth2K33,kmul(J33L,PDstandardNth3K33))); JacPDstandardNth11alpha = - 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.)))))))); + 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)))))))); JacPDstandardNth11g22 = - kmadd(dJ111L,PDstandardNth1g22,kmadd(dJ211L,PDstandardNth2g22,kmadd(dJ311L,PDstandardNth3g22,kmadd(PDstandardNth11g22,kmul(J11L,J11L),kmadd(PDstandardNth22g22,kmul(J21L,J21L),kmadd(PDstandardNth33g22,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12g22,kmul(J31L,PDstandardNth13g22)),kmul(J21L,kmul(J31L,PDstandardNth23g22))),ToReal(2.)))))))); + kmadd(dJ111L,PDstandardNth1g22,kmadd(dJ211L,PDstandardNth2g22,kmadd(dJ311L,PDstandardNth3g22,kmadd(PDstandardNth11g22,kmul(J11L,J11L),kmadd(PDstandardNth22g22,kmul(J21L,J21L),kmadd(PDstandardNth33g22,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12g22,kmul(J31L,PDstandardNth13g22)),kmul(J21L,kmul(J31L,PDstandardNth23g22))),ToReal(2)))))))); JacPDstandardNth11g23 = - kmadd(dJ111L,PDstandardNth1g23,kmadd(dJ211L,PDstandardNth2g23,kmadd(dJ311L,PDstandardNth3g23,kmadd(PDstandardNth11g23,kmul(J11L,J11L),kmadd(PDstandardNth22g23,kmul(J21L,J21L),kmadd(PDstandardNth33g23,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12g23,kmul(J31L,PDstandardNth13g23)),kmul(J21L,kmul(J31L,PDstandardNth23g23))),ToReal(2.)))))))); + kmadd(dJ111L,PDstandardNth1g23,kmadd(dJ211L,PDstandardNth2g23,kmadd(dJ311L,PDstandardNth3g23,kmadd(PDstandardNth11g23,kmul(J11L,J11L),kmadd(PDstandardNth22g23,kmul(J21L,J21L),kmadd(PDstandardNth33g23,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12g23,kmul(J31L,PDstandardNth13g23)),kmul(J21L,kmul(J31L,PDstandardNth23g23))),ToReal(2)))))))); JacPDstandardNth11g33 = - kmadd(dJ111L,PDstandardNth1g33,kmadd(dJ211L,PDstandardNth2g33,kmadd(dJ311L,PDstandardNth3g33,kmadd(PDstandardNth11g33,kmul(J11L,J11L),kmadd(PDstandardNth22g33,kmul(J21L,J21L),kmadd(PDstandardNth33g33,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12g33,kmul(J31L,PDstandardNth13g33)),kmul(J21L,kmul(J31L,PDstandardNth23g33))),ToReal(2.)))))))); + kmadd(dJ111L,PDstandardNth1g33,kmadd(dJ211L,PDstandardNth2g33,kmadd(dJ311L,PDstandardNth3g33,kmadd(PDstandardNth11g33,kmul(J11L,J11L),kmadd(PDstandardNth22g33,kmul(J21L,J21L),kmadd(PDstandardNth33g33,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12g33,kmul(J31L,PDstandardNth13g33)),kmul(J21L,kmul(J31L,PDstandardNth23g33))),ToReal(2)))))))); JacPDstandardNth22alpha = - 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.)))))))); + 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)))))))); JacPDstandardNth22g11 = - kmadd(dJ122L,PDstandardNth1g11,kmadd(dJ222L,PDstandardNth2g11,kmadd(dJ322L,PDstandardNth3g11,kmadd(PDstandardNth11g11,kmul(J12L,J12L),kmadd(PDstandardNth22g11,kmul(J22L,J22L),kmadd(PDstandardNth33g11,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12g11,kmul(J32L,PDstandardNth13g11)),kmul(J22L,kmul(J32L,PDstandardNth23g11))),ToReal(2.)))))))); + kmadd(dJ122L,PDstandardNth1g11,kmadd(dJ222L,PDstandardNth2g11,kmadd(dJ322L,PDstandardNth3g11,kmadd(PDstandardNth11g11,kmul(J12L,J12L),kmadd(PDstandardNth22g11,kmul(J22L,J22L),kmadd(PDstandardNth33g11,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12g11,kmul(J32L,PDstandardNth13g11)),kmul(J22L,kmul(J32L,PDstandardNth23g11))),ToReal(2)))))))); JacPDstandardNth22g13 = - kmadd(dJ122L,PDstandardNth1g13,kmadd(dJ222L,PDstandardNth2g13,kmadd(dJ322L,PDstandardNth3g13,kmadd(PDstandardNth11g13,kmul(J12L,J12L),kmadd(PDstandardNth22g13,kmul(J22L,J22L),kmadd(PDstandardNth33g13,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12g13,kmul(J32L,PDstandardNth13g13)),kmul(J22L,kmul(J32L,PDstandardNth23g13))),ToReal(2.)))))))); + kmadd(dJ122L,PDstandardNth1g13,kmadd(dJ222L,PDstandardNth2g13,kmadd(dJ322L,PDstandardNth3g13,kmadd(PDstandardNth11g13,kmul(J12L,J12L),kmadd(PDstandardNth22g13,kmul(J22L,J22L),kmadd(PDstandardNth33g13,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12g13,kmul(J32L,PDstandardNth13g13)),kmul(J22L,kmul(J32L,PDstandardNth23g13))),ToReal(2)))))))); JacPDstandardNth22g33 = - kmadd(dJ122L,PDstandardNth1g33,kmadd(dJ222L,PDstandardNth2g33,kmadd(dJ322L,PDstandardNth3g33,kmadd(PDstandardNth11g33,kmul(J12L,J12L),kmadd(PDstandardNth22g33,kmul(J22L,J22L),kmadd(PDstandardNth33g33,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12g33,kmul(J32L,PDstandardNth13g33)),kmul(J22L,kmul(J32L,PDstandardNth23g33))),ToReal(2.)))))))); + kmadd(dJ122L,PDstandardNth1g33,kmadd(dJ222L,PDstandardNth2g33,kmadd(dJ322L,PDstandardNth3g33,kmadd(PDstandardNth11g33,kmul(J12L,J12L),kmadd(PDstandardNth22g33,kmul(J22L,J22L),kmadd(PDstandardNth33g33,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12g33,kmul(J32L,PDstandardNth13g33)),kmul(J22L,kmul(J32L,PDstandardNth23g33))),ToReal(2)))))))); JacPDstandardNth33alpha = - 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.)))))))); + 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)))))))); JacPDstandardNth33g11 = - kmadd(dJ133L,PDstandardNth1g11,kmadd(dJ233L,PDstandardNth2g11,kmadd(dJ333L,PDstandardNth3g11,kmadd(PDstandardNth11g11,kmul(J13L,J13L),kmadd(PDstandardNth22g11,kmul(J23L,J23L),kmadd(PDstandardNth33g11,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12g11,kmul(J33L,PDstandardNth13g11)),kmul(J23L,kmul(J33L,PDstandardNth23g11))),ToReal(2.)))))))); + kmadd(dJ133L,PDstandardNth1g11,kmadd(dJ233L,PDstandardNth2g11,kmadd(dJ333L,PDstandardNth3g11,kmadd(PDstandardNth11g11,kmul(J13L,J13L),kmadd(PDstandardNth22g11,kmul(J23L,J23L),kmadd(PDstandardNth33g11,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12g11,kmul(J33L,PDstandardNth13g11)),kmul(J23L,kmul(J33L,PDstandardNth23g11))),ToReal(2)))))))); JacPDstandardNth33g12 = - kmadd(dJ133L,PDstandardNth1g12,kmadd(dJ233L,PDstandardNth2g12,kmadd(dJ333L,PDstandardNth3g12,kmadd(PDstandardNth11g12,kmul(J13L,J13L),kmadd(PDstandardNth22g12,kmul(J23L,J23L),kmadd(PDstandardNth33g12,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12g12,kmul(J33L,PDstandardNth13g12)),kmul(J23L,kmul(J33L,PDstandardNth23g12))),ToReal(2.)))))))); + kmadd(dJ133L,PDstandardNth1g12,kmadd(dJ233L,PDstandardNth2g12,kmadd(dJ333L,PDstandardNth3g12,kmadd(PDstandardNth11g12,kmul(J13L,J13L),kmadd(PDstandardNth22g12,kmul(J23L,J23L),kmadd(PDstandardNth33g12,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12g12,kmul(J33L,PDstandardNth13g12)),kmul(J23L,kmul(J33L,PDstandardNth23g12))),ToReal(2)))))))); JacPDstandardNth33g22 = - kmadd(dJ133L,PDstandardNth1g22,kmadd(dJ233L,PDstandardNth2g22,kmadd(dJ333L,PDstandardNth3g22,kmadd(PDstandardNth11g22,kmul(J13L,J13L),kmadd(PDstandardNth22g22,kmul(J23L,J23L),kmadd(PDstandardNth33g22,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12g22,kmul(J33L,PDstandardNth13g22)),kmul(J23L,kmul(J33L,PDstandardNth23g22))),ToReal(2.)))))))); + kmadd(dJ133L,PDstandardNth1g22,kmadd(dJ233L,PDstandardNth2g22,kmadd(dJ333L,PDstandardNth3g22,kmadd(PDstandardNth11g22,kmul(J13L,J13L),kmadd(PDstandardNth22g22,kmul(J23L,J23L),kmadd(PDstandardNth33g22,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12g22,kmul(J33L,PDstandardNth13g22)),kmul(J23L,kmul(J33L,PDstandardNth23g22))),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))))))); @@ -1304,106 +1345,106 @@ static void ML_ADM_RHS_Body(cGH const * restrict const cctkGH, int const dir, in } CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED detg = - kmadd(kmadd(g22L,kmul(g13L,g13L),kmul(g11L,kmul(g23L,g23L))),ToReal(-1.),kmadd(g33L,kmadd(g11L,g22L,kmul(kmul(g12L,g12L),ToReal(-1.))),kmul(g12L,kmul(g13L,kmul(g23L,ToReal(2.)))))); + knmsub(g22L,kmul(g13L,g13L),knmsub(g11L,kmul(g23L,g23L),kmadd(g33L,kmsub(g11L,g22L,kmul(g12L,g12L)),kmul(g12L,kmul(g13L,kmul(g23L,ToReal(2))))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gu11 = - kdiv(kmadd(g22L,g33L,kmul(kmul(g23L,g23L),ToReal(-1.))),detg); + kdiv(kmsub(g22L,g33L,kmul(g23L,g23L)),detg); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gu12 = - kdiv(kmadd(g13L,g23L,kmul(g12L,kmul(g33L,ToReal(-1.)))),detg); + kdiv(kmsub(g13L,g23L,kmul(g12L,g33L)),detg); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gu13 = - kdiv(kmadd(g12L,g23L,kmul(g13L,kmul(g22L,ToReal(-1.)))),detg); + kdiv(kmsub(g12L,g23L,kmul(g13L,g22L)),detg); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gu21 = - kdiv(kmadd(g13L,g23L,kmul(g12L,kmul(g33L,ToReal(-1.)))),detg); + kdiv(kmsub(g13L,g23L,kmul(g12L,g33L)),detg); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gu22 = - kdiv(kmadd(g11L,g33L,kmul(kmul(g13L,g13L),ToReal(-1.))),detg); + kdiv(kmsub(g11L,g33L,kmul(g13L,g13L)),detg); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gu23 = - kdiv(kmadd(g12L,g13L,kmul(g11L,kmul(g23L,ToReal(-1.)))),detg); + kdiv(kmsub(g12L,g13L,kmul(g11L,g23L)),detg); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gu31 = - kdiv(kmadd(g12L,g23L,kmul(g13L,kmul(g22L,ToReal(-1.)))),detg); + kdiv(kmsub(g12L,g23L,kmul(g13L,g22L)),detg); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gu32 = - kdiv(kmadd(g12L,g13L,kmul(g11L,kmul(g23L,ToReal(-1.)))),detg); + kdiv(kmsub(g12L,g13L,kmul(g11L,g23L)),detg); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gu33 = - kdiv(kmadd(g11L,g22L,kmul(kmul(g12L,g12L),ToReal(-1.))),detg); + kdiv(kmsub(g11L,g22L,kmul(g12L,g12L)),detg); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED G111 = - kmul(ToReal(0.5),kmadd(gu11,JacPDstandardNth1g11,kmadd(kmadd(gu12,JacPDstandardNth2g11,kmul(gu13,JacPDstandardNth3g11)),ToReal(-1.),kmul(kmadd(gu12,JacPDstandardNth1g12,kmul(gu13,JacPDstandardNth1g13)),ToReal(2.))))); + kmul(ToReal(0.5),kmadd(gu11,JacPDstandardNth1g11,knmsub(gu12,JacPDstandardNth2g11,kmsub(kmadd(gu12,JacPDstandardNth1g12,kmul(gu13,JacPDstandardNth1g13)),ToReal(2),kmul(gu13,JacPDstandardNth3g11))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED G211 = - kmul(ToReal(0.5),kmadd(gu21,JacPDstandardNth1g11,kmadd(kmadd(gu22,JacPDstandardNth2g11,kmul(gu23,JacPDstandardNth3g11)),ToReal(-1.),kmul(kmadd(gu22,JacPDstandardNth1g12,kmul(gu23,JacPDstandardNth1g13)),ToReal(2.))))); + kmul(ToReal(0.5),kmadd(gu21,JacPDstandardNth1g11,knmsub(gu22,JacPDstandardNth2g11,kmsub(kmadd(gu22,JacPDstandardNth1g12,kmul(gu23,JacPDstandardNth1g13)),ToReal(2),kmul(gu23,JacPDstandardNth3g11))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED G311 = - kmul(ToReal(0.5),kmadd(gu31,JacPDstandardNth1g11,kmadd(kmadd(gu32,JacPDstandardNth2g11,kmul(gu33,JacPDstandardNth3g11)),ToReal(-1.),kmul(kmadd(gu32,JacPDstandardNth1g12,kmul(gu33,JacPDstandardNth1g13)),ToReal(2.))))); + kmul(ToReal(0.5),kmadd(gu31,JacPDstandardNth1g11,knmsub(gu32,JacPDstandardNth2g11,kmsub(kmadd(gu32,JacPDstandardNth1g12,kmul(gu33,JacPDstandardNth1g13)),ToReal(2),kmul(gu33,JacPDstandardNth3g11))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED G112 = - kmul(kmadd(gu12,JacPDstandardNth1g22,kmadd(gu11,JacPDstandardNth2g11,kmul(gu13,kadd(JacPDstandardNth1g23,kmadd(JacPDstandardNth3g12,ToReal(-1.),JacPDstandardNth2g13))))),ToReal(0.5)); + kmul(kmadd(gu12,JacPDstandardNth1g22,kmadd(gu11,JacPDstandardNth2g11,kmul(gu13,kadd(JacPDstandardNth1g23,ksub(JacPDstandardNth2g13,JacPDstandardNth3g12))))),ToReal(0.5)); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED G212 = - kmul(kmadd(gu22,JacPDstandardNth1g22,kmadd(gu21,JacPDstandardNth2g11,kmul(gu23,kadd(JacPDstandardNth1g23,kmadd(JacPDstandardNth3g12,ToReal(-1.),JacPDstandardNth2g13))))),ToReal(0.5)); + kmul(kmadd(gu22,JacPDstandardNth1g22,kmadd(gu21,JacPDstandardNth2g11,kmul(gu23,kadd(JacPDstandardNth1g23,ksub(JacPDstandardNth2g13,JacPDstandardNth3g12))))),ToReal(0.5)); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED G312 = - kmul(kmadd(gu32,JacPDstandardNth1g22,kmadd(gu31,JacPDstandardNth2g11,kmul(gu33,kadd(JacPDstandardNth1g23,kmadd(JacPDstandardNth3g12,ToReal(-1.),JacPDstandardNth2g13))))),ToReal(0.5)); + kmul(kmadd(gu32,JacPDstandardNth1g22,kmadd(gu31,JacPDstandardNth2g11,kmul(gu33,kadd(JacPDstandardNth1g23,ksub(JacPDstandardNth2g13,JacPDstandardNth3g12))))),ToReal(0.5)); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED G113 = - kmul(kmadd(gu13,JacPDstandardNth1g33,kmadd(gu11,JacPDstandardNth3g11,kmul(gu12,kadd(JacPDstandardNth1g23,kmadd(JacPDstandardNth2g13,ToReal(-1.),JacPDstandardNth3g12))))),ToReal(0.5)); + kmul(kmadd(gu13,JacPDstandardNth1g33,kmadd(gu11,JacPDstandardNth3g11,kmul(gu12,kadd(JacPDstandardNth1g23,ksub(JacPDstandardNth3g12,JacPDstandardNth2g13))))),ToReal(0.5)); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED G213 = - kmul(kmadd(gu23,JacPDstandardNth1g33,kmadd(gu21,JacPDstandardNth3g11,kmul(gu22,kadd(JacPDstandardNth1g23,kmadd(JacPDstandardNth2g13,ToReal(-1.),JacPDstandardNth3g12))))),ToReal(0.5)); + kmul(kmadd(gu23,JacPDstandardNth1g33,kmadd(gu21,JacPDstandardNth3g11,kmul(gu22,kadd(JacPDstandardNth1g23,ksub(JacPDstandardNth3g12,JacPDstandardNth2g13))))),ToReal(0.5)); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED G313 = - kmul(kmadd(gu33,JacPDstandardNth1g33,kmadd(gu31,JacPDstandardNth3g11,kmul(gu32,kadd(JacPDstandardNth1g23,kmadd(JacPDstandardNth2g13,ToReal(-1.),JacPDstandardNth3g12))))),ToReal(0.5)); + kmul(kmadd(gu33,JacPDstandardNth1g33,kmadd(gu31,JacPDstandardNth3g11,kmul(gu32,kadd(JacPDstandardNth1g23,ksub(JacPDstandardNth3g12,JacPDstandardNth2g13))))),ToReal(0.5)); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED G122 = - kmul(ToReal(0.5),kmadd(gu12,JacPDstandardNth2g22,kmadd(gu11,kmadd(JacPDstandardNth1g22,ToReal(-1.),kmul(JacPDstandardNth2g12,ToReal(2.))),kmul(gu13,kmadd(JacPDstandardNth3g22,ToReal(-1.),kmul(JacPDstandardNth2g23,ToReal(2.))))))); + kmul(ToReal(0.5),kmadd(gu12,JacPDstandardNth2g22,kmadd(gu11,kmsub(JacPDstandardNth2g12,ToReal(2),JacPDstandardNth1g22),kmul(gu13,kmsub(JacPDstandardNth2g23,ToReal(2),JacPDstandardNth3g22))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED G222 = - kmul(ToReal(0.5),kmadd(gu22,JacPDstandardNth2g22,kmadd(gu21,kmadd(JacPDstandardNth1g22,ToReal(-1.),kmul(JacPDstandardNth2g12,ToReal(2.))),kmul(gu23,kmadd(JacPDstandardNth3g22,ToReal(-1.),kmul(JacPDstandardNth2g23,ToReal(2.))))))); + kmul(ToReal(0.5),kmadd(gu22,JacPDstandardNth2g22,kmadd(gu21,kmsub(JacPDstandardNth2g12,ToReal(2),JacPDstandardNth1g22),kmul(gu23,kmsub(JacPDstandardNth2g23,ToReal(2),JacPDstandardNth3g22))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED G322 = - kmul(ToReal(0.5),kmadd(gu32,JacPDstandardNth2g22,kmadd(gu31,kmadd(JacPDstandardNth1g22,ToReal(-1.),kmul(JacPDstandardNth2g12,ToReal(2.))),kmul(gu33,kmadd(JacPDstandardNth3g22,ToReal(-1.),kmul(JacPDstandardNth2g23,ToReal(2.))))))); + kmul(ToReal(0.5),kmadd(gu32,JacPDstandardNth2g22,kmadd(gu31,kmsub(JacPDstandardNth2g12,ToReal(2),JacPDstandardNth1g22),kmul(gu33,kmsub(JacPDstandardNth2g23,ToReal(2),JacPDstandardNth3g22))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED G123 = - kmul(kmadd(gu13,JacPDstandardNth2g33,kmadd(gu12,JacPDstandardNth3g22,kmul(gu11,kadd(JacPDstandardNth2g13,kmadd(JacPDstandardNth1g23,ToReal(-1.),JacPDstandardNth3g12))))),ToReal(0.5)); + kmul(kmadd(gu13,JacPDstandardNth2g33,kmadd(gu12,JacPDstandardNth3g22,kmul(gu11,kadd(JacPDstandardNth2g13,ksub(JacPDstandardNth3g12,JacPDstandardNth1g23))))),ToReal(0.5)); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED G223 = - kmul(kmadd(gu23,JacPDstandardNth2g33,kmadd(gu22,JacPDstandardNth3g22,kmul(gu21,kadd(JacPDstandardNth2g13,kmadd(JacPDstandardNth1g23,ToReal(-1.),JacPDstandardNth3g12))))),ToReal(0.5)); + kmul(kmadd(gu23,JacPDstandardNth2g33,kmadd(gu22,JacPDstandardNth3g22,kmul(gu21,kadd(JacPDstandardNth2g13,ksub(JacPDstandardNth3g12,JacPDstandardNth1g23))))),ToReal(0.5)); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED G323 = - kmul(kmadd(gu33,JacPDstandardNth2g33,kmadd(gu32,JacPDstandardNth3g22,kmul(gu31,kadd(JacPDstandardNth2g13,kmadd(JacPDstandardNth1g23,ToReal(-1.),JacPDstandardNth3g12))))),ToReal(0.5)); + kmul(kmadd(gu33,JacPDstandardNth2g33,kmadd(gu32,JacPDstandardNth3g22,kmul(gu31,kadd(JacPDstandardNth2g13,ksub(JacPDstandardNth3g12,JacPDstandardNth1g23))))),ToReal(0.5)); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED G133 = - kmul(ToReal(0.5),kmadd(gu13,JacPDstandardNth3g33,kmadd(kmadd(gu11,JacPDstandardNth1g33,kmul(gu12,JacPDstandardNth2g33)),ToReal(-1.),kmul(kmadd(gu11,JacPDstandardNth3g13,kmul(gu12,JacPDstandardNth3g23)),ToReal(2.))))); + kmul(ToReal(0.5),kmadd(gu13,JacPDstandardNth3g33,kmadd(gu11,kmsub(JacPDstandardNth3g13,ToReal(2),JacPDstandardNth1g33),kmul(gu12,kmsub(JacPDstandardNth3g23,ToReal(2),JacPDstandardNth2g33))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED G233 = - kmul(ToReal(0.5),kmadd(gu23,JacPDstandardNth3g33,kmadd(kmadd(gu21,JacPDstandardNth1g33,kmul(gu22,JacPDstandardNth2g33)),ToReal(-1.),kmul(kmadd(gu21,JacPDstandardNth3g13,kmul(gu22,JacPDstandardNth3g23)),ToReal(2.))))); + kmul(ToReal(0.5),kmadd(gu23,JacPDstandardNth3g33,kmadd(gu21,kmsub(JacPDstandardNth3g13,ToReal(2),JacPDstandardNth1g33),kmul(gu22,kmsub(JacPDstandardNth3g23,ToReal(2),JacPDstandardNth2g33))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED G333 = - kmul(ToReal(0.5),kmadd(gu33,JacPDstandardNth3g33,kmadd(kmadd(gu31,JacPDstandardNth1g33,kmul(gu32,JacPDstandardNth2g33)),ToReal(-1.),kmul(kmadd(gu31,JacPDstandardNth3g13,kmul(gu32,JacPDstandardNth3g23)),ToReal(2.))))); + kmul(ToReal(0.5),kmadd(gu33,JacPDstandardNth3g33,kmadd(gu31,kmsub(JacPDstandardNth3g13,ToReal(2),JacPDstandardNth1g33),kmul(gu32,kmsub(JacPDstandardNth3g23,ToReal(2),JacPDstandardNth2g33))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED R11 = - kmadd(G111,G111,kmadd(G212,G212,kmadd(G313,G313,kmadd(kmadd(G111,kadd(G111,kadd(G212,G313)),kmadd(G211,kadd(G112,kadd(G222,G323)),kmul(G311,kadd(G113,kadd(G223,G333))))),ToReal(-1.),kmadd(kmadd(kmadd(gu22,kadd(JacPDstandardNth11g22,kmadd(JacPDstandardNth21g12,ToReal(-2.),JacPDstandardNth22g11)),kmul(gu33,kadd(JacPDstandardNth11g33,kmadd(JacPDstandardNth31g13,ToReal(-2.),JacPDstandardNth33g11)))),ToReal(-1.),kmadd(gu12,kmadd(JacPDstandardNth12g11,ToReal(-1.),JacPDstandardNth21g11),kmadd(gu13,kmadd(JacPDstandardNth13g11,ToReal(-1.),JacPDstandardNth31g11),kmadd(gu23,kadd(JacPDstandardNth21g13,kmadd(kadd(JacPDstandardNth11g23,JacPDstandardNth23g11),ToReal(-1.),JacPDstandardNth31g12)),kmul(gu32,kadd(JacPDstandardNth21g13,kmadd(kadd(JacPDstandardNth11g23,JacPDstandardNth32g11),ToReal(-1.),JacPDstandardNth31g12))))))),ToReal(0.5),kmul(kmadd(G112,G211,kmadd(G113,G311,kmul(G213,G312))),ToReal(2.))))))); + kmadd(G111,G111,kmadd(G212,G212,kmadd(G313,G313,knmsub(G111,kadd(G111,kadd(G212,G313)),knmsub(G211,kadd(G112,kadd(G222,G323)),knmsub(G311,kadd(G113,kadd(G223,G333)),kmadd(knmsub(gu22,kadd(JacPDstandardNth11g22,kmadd(JacPDstandardNth21g12,ToReal(-2),JacPDstandardNth22g11)),knmsub(gu33,kadd(JacPDstandardNth11g33,kmadd(JacPDstandardNth31g13,ToReal(-2),JacPDstandardNth33g11)),kmadd(gu12,ksub(JacPDstandardNth21g11,JacPDstandardNth12g11),kmadd(gu13,ksub(JacPDstandardNth31g11,JacPDstandardNth13g11),kmadd(gu23,kadd(JacPDstandardNth21g13,ksub(JacPDstandardNth31g12,kadd(JacPDstandardNth23g11,JacPDstandardNth11g23))),kmul(gu32,kadd(JacPDstandardNth21g13,ksub(JacPDstandardNth31g12,kadd(JacPDstandardNth32g11,JacPDstandardNth11g23))))))))),ToReal(0.5),kmul(kmadd(G112,G211,kmadd(G113,G311,kmul(G213,G312))),ToReal(2))))))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED R12 = - kmul(ToReal(0.5),kmadd(gu22,JacPDstandardNth21g22,kmadd(gu12,kadd(JacPDstandardNth11g22,JacPDstandardNth22g11),kmadd(gu32,kadd(JacPDstandardNth22g13,JacPDstandardNth31g22),kmadd(gu23,kadd(JacPDstandardNth21g23,JacPDstandardNth32g12),kmadd(gu33,kadd(JacPDstandardNth31g23,JacPDstandardNth32g13),kmadd(kmadd(G112,kadd(G212,G313),kmadd(G212,G323,kmadd(G312,G333,kmul(gu12,JacPDstandardNth12g12)))),ToReal(-2.),kmadd(kmadd(gu22,JacPDstandardNth12g22,kmadd(kadd(gu23,gu32),JacPDstandardNth12g23,kmadd(gu23,JacPDstandardNth23g12,kmadd(gu32,JacPDstandardNth32g12,kmul(gu33,kadd(JacPDstandardNth12g33,JacPDstandardNth33g12)))))),ToReal(-1.),kmadd(gu13,kadd(JacPDstandardNth11g23,kmadd(kadd(JacPDstandardNth12g13,JacPDstandardNth13g12),ToReal(-1.),JacPDstandardNth32g11)),kmul(kmadd(G122,G211,kmadd(G123,G311,kmadd(G213,G322,kmul(G313,G323)))),ToReal(2.))))))))))); + kmul(ToReal(0.5),kmadd(gu12,kadd(JacPDstandardNth11g22,JacPDstandardNth22g11),kmadd(gu32,JacPDstandardNth31g22,kmadd(gu13,JacPDstandardNth32g11,kmadd(gu23,JacPDstandardNth32g12,kmadd(gu33,JacPDstandardNth32g13,kmadd(kmadd(G112,kadd(G212,G313),kmadd(G212,G323,kmadd(G312,G333,kmul(gu12,JacPDstandardNth12g12)))),ToReal(-2),knmsub(JacPDstandardNth12g23,kadd(gu32,gu23),kmadd(gu22,ksub(JacPDstandardNth21g22,JacPDstandardNth12g22),kmadd(gu13,ksub(JacPDstandardNth11g23,kadd(JacPDstandardNth13g12,JacPDstandardNth12g13)),kmadd(gu23,ksub(JacPDstandardNth21g23,JacPDstandardNth23g12),kmadd(gu32,ksub(JacPDstandardNth22g13,JacPDstandardNth32g12),kmadd(gu33,ksub(JacPDstandardNth31g23,kadd(JacPDstandardNth33g12,JacPDstandardNth12g33)),kmul(kmadd(G122,G211,kmadd(G123,G311,kmadd(G213,G322,kmul(G313,G323)))),ToReal(2))))))))))))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED R13 = - kmul(ToReal(0.5),kmadd(gu22,kadd(JacPDstandardNth21g23,JacPDstandardNth23g12),kmadd(gu32,kadd(JacPDstandardNth23g13,JacPDstandardNth31g23),kmadd(gu33,JacPDstandardNth31g33,kmadd(gu13,kadd(JacPDstandardNth11g33,JacPDstandardNth33g11),kmadd(kmadd(G213,G222,kmadd(G223,G313,kmadd(G113,kadd(G212,G313),kmul(gu13,JacPDstandardNth13g13)))),ToReal(-2.),kmadd(kmadd(kadd(gu23,gu32),JacPDstandardNth13g23,kmadd(gu33,JacPDstandardNth13g33,kmadd(gu22,kadd(JacPDstandardNth13g22,JacPDstandardNth22g13),kmul(gu32,JacPDstandardNth32g13)))),ToReal(-1.),kmadd(gu12,kadd(JacPDstandardNth11g23,kmadd(kadd(JacPDstandardNth12g13,JacPDstandardNth13g12),ToReal(-1.),JacPDstandardNth23g11)),kmadd(gu23,kadd(JacPDstandardNth21g33,kmadd(JacPDstandardNth23g13,ToReal(-1.),JacPDstandardNth33g12)),kmul(kmadd(G123,G211,kmadd(G212,G223,kmadd(G133,G311,kmul(G233,G312)))),ToReal(2.))))))))))); + kmul(ToReal(0.5),kmadd(gu22,JacPDstandardNth23g12,kmadd(gu32,JacPDstandardNth31g23,kmadd(gu13,kadd(JacPDstandardNth11g33,JacPDstandardNth33g11),kmadd(gu23,JacPDstandardNth33g12,kmadd(kmadd(G213,G222,kmadd(G223,G313,kmadd(G113,kadd(G212,G313),kmul(gu13,JacPDstandardNth13g13)))),ToReal(-2),knmsub(JacPDstandardNth13g23,kadd(gu32,gu23),kmadd(gu12,kadd(JacPDstandardNth11g23,ksub(JacPDstandardNth23g11,kadd(JacPDstandardNth13g12,JacPDstandardNth12g13))),kmadd(gu33,ksub(JacPDstandardNth31g33,JacPDstandardNth13g33),kmadd(gu22,ksub(JacPDstandardNth21g23,kadd(JacPDstandardNth22g13,JacPDstandardNth13g22)),kmadd(gu23,ksub(JacPDstandardNth21g33,JacPDstandardNth23g13),kmadd(gu32,ksub(JacPDstandardNth23g13,JacPDstandardNth32g13),kmul(kmadd(G123,G211,kmadd(G212,G223,kmadd(G133,G311,kmul(G233,G312)))),ToReal(2)))))))))))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED R22 = - kmadd(G112,G112,kmadd(G222,G222,kmadd(G323,G323,kmadd(kmadd(G122,kadd(G111,kadd(G212,G313)),kmadd(G222,kadd(G112,kadd(G222,G323)),kmul(G322,kadd(G113,kadd(G223,G333))))),ToReal(-1.),kmadd(kmadd(kmadd(gu11,kadd(JacPDstandardNth11g22,kmadd(JacPDstandardNth12g12,ToReal(-2.),JacPDstandardNth22g11)),kmul(gu33,kadd(JacPDstandardNth22g33,kmadd(JacPDstandardNth32g23,ToReal(-2.),JacPDstandardNth33g22)))),ToReal(-1.),kmadd(gu21,kmadd(JacPDstandardNth21g22,ToReal(-1.),JacPDstandardNth12g22),kmadd(gu13,kadd(JacPDstandardNth12g23,kmadd(kadd(JacPDstandardNth13g22,JacPDstandardNth22g13),ToReal(-1.),JacPDstandardNth32g12)),kmadd(gu23,kmadd(JacPDstandardNth23g22,ToReal(-1.),JacPDstandardNth32g22),kmul(gu31,kadd(JacPDstandardNth12g23,kmadd(kadd(JacPDstandardNth22g13,JacPDstandardNth31g22),ToReal(-1.),JacPDstandardNth32g12))))))),ToReal(0.5),kmul(kmadd(G122,G212,kmadd(G123,G312,kmul(G223,G322))),ToReal(2.))))))); + kmadd(G112,G112,kmadd(G222,G222,kmadd(G323,G323,knmsub(G122,kadd(G111,kadd(G212,G313)),knmsub(G222,kadd(G112,kadd(G222,G323)),knmsub(G322,kadd(G113,kadd(G223,G333)),kmadd(knmsub(gu11,kadd(JacPDstandardNth11g22,kmadd(JacPDstandardNth12g12,ToReal(-2),JacPDstandardNth22g11)),knmsub(gu33,kadd(JacPDstandardNth22g33,kmadd(JacPDstandardNth32g23,ToReal(-2),JacPDstandardNth33g22)),kmadd(gu21,ksub(JacPDstandardNth12g22,JacPDstandardNth21g22),kmadd(gu13,kadd(JacPDstandardNth12g23,ksub(JacPDstandardNth32g12,kadd(JacPDstandardNth22g13,JacPDstandardNth13g22))),kmadd(gu23,ksub(JacPDstandardNth32g22,JacPDstandardNth23g22),kmul(gu31,kadd(JacPDstandardNth12g23,ksub(JacPDstandardNth32g12,kadd(JacPDstandardNth31g22,JacPDstandardNth22g13))))))))),ToReal(0.5),kmul(kmadd(G122,G212,kmadd(G123,G312,kmul(G223,G322))),ToReal(2))))))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED R23 = - kmul(ToReal(0.5),kmadd(gu23,kadd(JacPDstandardNth22g33,JacPDstandardNth33g22),kmadd(kmadd(G111,G123,kmadd(kadd(G113,G223),G323,kmul(gu23,JacPDstandardNth23g23))),ToReal(-2.),kmadd(gu11,kadd(JacPDstandardNth12g13,kmadd(kadd(JacPDstandardNth11g23,JacPDstandardNth23g11),ToReal(-1.),JacPDstandardNth13g12)),kmadd(gu21,kadd(JacPDstandardNth13g22,kmadd(kadd(JacPDstandardNth21g23,JacPDstandardNth23g12),ToReal(-1.),JacPDstandardNth22g13)),kmadd(gu13,kadd(JacPDstandardNth12g33,kmadd(kadd(JacPDstandardNth13g23,JacPDstandardNth23g13),ToReal(-1.),JacPDstandardNth33g12)),kmadd(gu33,kmadd(JacPDstandardNth23g33,ToReal(-1.),JacPDstandardNth32g33),kmadd(gu31,kadd(JacPDstandardNth13g23,kmadd(kadd(JacPDstandardNth23g13,JacPDstandardNth31g23),ToReal(-1.),JacPDstandardNth32g13)),kmul(kmadd(G122,G213,kmadd(G133,G312,kmadd(G233,G322,kmul(G112,kmadd(G223,ToReal(-1.),G113))))),ToReal(2.)))))))))); + kmul(ToReal(0.5),kmadd(gu23,kadd(JacPDstandardNth22g33,JacPDstandardNth33g22),kmadd(kmadd(G111,G123,kmadd(kadd(G113,G223),G323,kmul(gu23,JacPDstandardNth23g23))),ToReal(-2),kmadd(gu11,kadd(JacPDstandardNth12g13,ksub(JacPDstandardNth13g12,kadd(JacPDstandardNth23g11,JacPDstandardNth11g23))),kmadd(gu21,kadd(JacPDstandardNth13g22,ksub(JacPDstandardNth22g13,kadd(JacPDstandardNth23g12,JacPDstandardNth21g23))),kmadd(gu13,kadd(JacPDstandardNth12g33,ksub(JacPDstandardNth33g12,kadd(JacPDstandardNth23g13,JacPDstandardNth13g23))),kmadd(gu33,ksub(JacPDstandardNth32g33,JacPDstandardNth23g33),kmadd(gu31,kadd(JacPDstandardNth13g23,ksub(JacPDstandardNth32g13,kadd(JacPDstandardNth31g23,JacPDstandardNth23g13))),kmul(kmadd(G122,G213,kmadd(G133,G312,kmadd(G233,G322,kmul(G112,ksub(G113,G223))))),ToReal(2)))))))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED R33 = - kmadd(G113,G113,kmadd(G223,G223,kmadd(G333,G333,kmadd(kmadd(G133,kadd(G111,kadd(G212,G313)),kmadd(G233,kadd(G112,kadd(G222,G323)),kmul(G333,kadd(G113,kadd(G223,G333))))),ToReal(-1.),kmadd(kmadd(kmadd(gu11,kadd(JacPDstandardNth11g33,kmadd(JacPDstandardNth13g13,ToReal(-2.),JacPDstandardNth33g11)),kmul(gu22,kadd(JacPDstandardNth22g33,kmadd(JacPDstandardNth23g23,ToReal(-2.),JacPDstandardNth33g22)))),ToReal(-1.),kmadd(gu31,kmadd(JacPDstandardNth31g33,ToReal(-1.),JacPDstandardNth13g33),kmadd(gu32,kmadd(JacPDstandardNth32g33,ToReal(-1.),JacPDstandardNth23g33),kmadd(gu12,kadd(JacPDstandardNth13g23,kmadd(kadd(JacPDstandardNth12g33,JacPDstandardNth33g12),ToReal(-1.),JacPDstandardNth23g13)),kmul(gu21,kadd(JacPDstandardNth13g23,kmadd(kadd(JacPDstandardNth21g33,JacPDstandardNth33g12),ToReal(-1.),JacPDstandardNth23g13))))))),ToReal(0.5),kmul(kmadd(G123,G213,kmadd(G133,G313,kmul(G233,G323))),ToReal(2.))))))); + kmadd(G113,G113,kmadd(G223,G223,kmadd(G333,G333,knmsub(G133,kadd(G111,kadd(G212,G313)),knmsub(G333,kadd(G113,kadd(G223,G333)),kmadd(G233,ksub(G323,kadd(G222,G112)),kmadd(knmsub(gu11,kadd(JacPDstandardNth11g33,kmadd(JacPDstandardNth13g13,ToReal(-2),JacPDstandardNth33g11)),knmsub(gu22,kadd(JacPDstandardNth22g33,kmadd(JacPDstandardNth23g23,ToReal(-2),JacPDstandardNth33g22)),kmadd(gu31,ksub(JacPDstandardNth13g33,JacPDstandardNth31g33),kmadd(gu32,ksub(JacPDstandardNth23g33,JacPDstandardNth32g33),kmadd(gu12,kadd(JacPDstandardNth13g23,ksub(JacPDstandardNth23g13,kadd(JacPDstandardNth33g12,JacPDstandardNth12g33))),kmul(gu21,kadd(JacPDstandardNth13g23,ksub(JacPDstandardNth23g13,kadd(JacPDstandardNth33g12,JacPDstandardNth21g33))))))))),ToReal(0.5),kmul(kmadd(G123,G213,kmul(G133,G313)),ToReal(2))))))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Km11 = kmadd(K11L,gu11,kmadd(K12L,gu12,kmul(K13L,gu13))); @@ -1435,51 +1476,51 @@ static void ML_ADM_RHS_Body(cGH const * restrict const cctkGH, int const dir, in CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED trK = kadd(Km11,kadd(Km22,Km33)); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED g11rhsL = - kmadd(beta1L,JacPDstandardNth1g11,kmadd(beta2L,JacPDstandardNth2g11,kmadd(beta3L,JacPDstandardNth3g11,kmadd(alphaL,kmul(K11L,ToReal(-2.)),kmul(kmadd(g11L,JacPDstandardNth1beta1,kmadd(g12L,JacPDstandardNth1beta2,kmul(g13L,JacPDstandardNth1beta3))),ToReal(2.)))))); + kmadd(beta1L,JacPDstandardNth1g11,kmadd(beta2L,JacPDstandardNth2g11,kmadd(beta3L,JacPDstandardNth3g11,kmadd(alphaL,kmul(K11L,ToReal(-2)),kmul(kmadd(g11L,JacPDstandardNth1beta1,kmadd(g12L,JacPDstandardNth1beta2,kmul(g13L,JacPDstandardNth1beta3))),ToReal(2)))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED g12rhsL = - kmadd(g22L,JacPDstandardNth1beta2,kmadd(g23L,JacPDstandardNth1beta3,kmadd(beta1L,JacPDstandardNth1g12,kmadd(g11L,JacPDstandardNth2beta1,kmadd(g12L,kadd(JacPDstandardNth1beta1,JacPDstandardNth2beta2),kmadd(g13L,JacPDstandardNth2beta3,kmadd(beta2L,JacPDstandardNth2g12,kmadd(beta3L,JacPDstandardNth3g12,kmul(alphaL,kmul(K12L,ToReal(-2.))))))))))); + kmadd(g22L,JacPDstandardNth1beta2,kmadd(g23L,JacPDstandardNth1beta3,kmadd(beta1L,JacPDstandardNth1g12,kmadd(g11L,JacPDstandardNth2beta1,kmadd(g12L,kadd(JacPDstandardNth1beta1,JacPDstandardNth2beta2),kmadd(g13L,JacPDstandardNth2beta3,kmadd(beta2L,JacPDstandardNth2g12,kmadd(beta3L,JacPDstandardNth3g12,kmul(alphaL,kmul(K12L,ToReal(-2))))))))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED g13rhsL = - kmadd(g23L,JacPDstandardNth1beta2,kmadd(g33L,JacPDstandardNth1beta3,kmadd(beta1L,JacPDstandardNth1g13,kmadd(beta2L,JacPDstandardNth2g13,kmadd(g11L,JacPDstandardNth3beta1,kmadd(g12L,JacPDstandardNth3beta2,kmadd(g13L,kadd(JacPDstandardNth1beta1,JacPDstandardNth3beta3),kmadd(beta3L,JacPDstandardNth3g13,kmul(alphaL,kmul(K13L,ToReal(-2.))))))))))); + kmadd(g23L,JacPDstandardNth1beta2,kmadd(g33L,JacPDstandardNth1beta3,kmadd(beta1L,JacPDstandardNth1g13,kmadd(beta2L,JacPDstandardNth2g13,kmadd(g11L,JacPDstandardNth3beta1,kmadd(g12L,JacPDstandardNth3beta2,kmadd(g13L,kadd(JacPDstandardNth1beta1,JacPDstandardNth3beta3),kmadd(beta3L,JacPDstandardNth3g13,kmul(alphaL,kmul(K13L,ToReal(-2))))))))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED g22rhsL = - kmadd(beta1L,JacPDstandardNth1g22,kmadd(beta2L,JacPDstandardNth2g22,kmadd(beta3L,JacPDstandardNth3g22,kmadd(alphaL,kmul(K22L,ToReal(-2.)),kmul(kmadd(g12L,JacPDstandardNth2beta1,kmadd(g22L,JacPDstandardNth2beta2,kmul(g23L,JacPDstandardNth2beta3))),ToReal(2.)))))); + kmadd(beta1L,JacPDstandardNth1g22,kmadd(beta2L,JacPDstandardNth2g22,kmadd(beta3L,JacPDstandardNth3g22,kmadd(alphaL,kmul(K22L,ToReal(-2)),kmul(kmadd(g12L,JacPDstandardNth2beta1,kmadd(g22L,JacPDstandardNth2beta2,kmul(g23L,JacPDstandardNth2beta3))),ToReal(2)))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED g23rhsL = - kmadd(beta1L,JacPDstandardNth1g23,kmadd(g13L,JacPDstandardNth2beta1,kmadd(g33L,JacPDstandardNth2beta3,kmadd(beta2L,JacPDstandardNth2g23,kmadd(g12L,JacPDstandardNth3beta1,kmadd(g22L,JacPDstandardNth3beta2,kmadd(g23L,kadd(JacPDstandardNth2beta2,JacPDstandardNth3beta3),kmadd(beta3L,JacPDstandardNth3g23,kmul(alphaL,kmul(K23L,ToReal(-2.))))))))))); + kmadd(beta1L,JacPDstandardNth1g23,kmadd(g13L,JacPDstandardNth2beta1,kmadd(g33L,JacPDstandardNth2beta3,kmadd(beta2L,JacPDstandardNth2g23,kmadd(g12L,JacPDstandardNth3beta1,kmadd(g22L,JacPDstandardNth3beta2,kmadd(g23L,kadd(JacPDstandardNth2beta2,JacPDstandardNth3beta3),kmadd(beta3L,JacPDstandardNth3g23,kmul(alphaL,kmul(K23L,ToReal(-2))))))))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED g33rhsL = - kmadd(beta1L,JacPDstandardNth1g33,kmadd(beta2L,JacPDstandardNth2g33,kmadd(beta3L,JacPDstandardNth3g33,kmadd(alphaL,kmul(K33L,ToReal(-2.)),kmul(kmadd(g13L,JacPDstandardNth3beta1,kmadd(g23L,JacPDstandardNth3beta2,kmul(g33L,JacPDstandardNth3beta3))),ToReal(2.)))))); + kmadd(beta1L,JacPDstandardNth1g33,kmadd(beta2L,JacPDstandardNth2g33,kmadd(beta3L,JacPDstandardNth3g33,kmadd(alphaL,kmul(K33L,ToReal(-2)),kmul(kmadd(g13L,JacPDstandardNth3beta1,kmadd(g23L,JacPDstandardNth3beta2,kmul(g33L,JacPDstandardNth3beta3))),ToReal(2)))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED K11rhsL = - kmadd(G111,JacPDstandardNth1alpha,kmadd(beta1L,JacPDstandardNth1K11,kmadd(G211,JacPDstandardNth2alpha,kmadd(beta2L,JacPDstandardNth2K11,kmadd(G311,JacPDstandardNth3alpha,kmadd(beta3L,JacPDstandardNth3K11,kmadd(alphaL,kadd(R11,kmadd(K11L,trK,kmul(kmadd(K11L,Km11,kmadd(K12L,Km21,kmul(K13L,Km31))),ToReal(-2.)))),kmadd(JacPDstandardNth11alpha,ToReal(-1.),kmul(kmadd(K11L,JacPDstandardNth1beta1,kmadd(K12L,JacPDstandardNth1beta2,kmul(K13L,JacPDstandardNth1beta3))),ToReal(2.)))))))))); + kmadd(G111,JacPDstandardNth1alpha,kmadd(beta1L,JacPDstandardNth1K11,kmadd(G211,JacPDstandardNth2alpha,kmadd(beta2L,JacPDstandardNth2K11,kmadd(G311,JacPDstandardNth3alpha,kmadd(beta3L,JacPDstandardNth3K11,kmadd(alphaL,kadd(R11,kmadd(K11L,trK,kmul(kmadd(K11L,Km11,kmadd(K12L,Km21,kmul(K13L,Km31))),ToReal(-2)))),kmsub(kmadd(K11L,JacPDstandardNth1beta1,kmadd(K12L,JacPDstandardNth1beta2,kmul(K13L,JacPDstandardNth1beta3))),ToReal(2),JacPDstandardNth11alpha)))))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED K12rhsL = - kmadd(G112,JacPDstandardNth1alpha,kmadd(K22L,JacPDstandardNth1beta2,kmadd(K23L,JacPDstandardNth1beta3,kmadd(beta1L,JacPDstandardNth1K12,kmadd(G212,JacPDstandardNth2alpha,kmadd(K11L,JacPDstandardNth2beta1,kmadd(K12L,kadd(JacPDstandardNth1beta1,JacPDstandardNth2beta2),kmadd(K13L,JacPDstandardNth2beta3,kmadd(beta2L,JacPDstandardNth2K12,kmadd(G312,JacPDstandardNth3alpha,kmadd(beta3L,JacPDstandardNth3K12,kmadd(alphaL,kadd(R12,kmadd(K12L,trK,kmul(kmadd(K11L,Km12,kmadd(K12L,Km22,kmul(K13L,Km32))),ToReal(-2.)))),kmul(JacPDstandardNth12alpha,ToReal(-1.)))))))))))))); + kmadd(G112,JacPDstandardNth1alpha,kmadd(K22L,JacPDstandardNth1beta2,kmadd(K23L,JacPDstandardNth1beta3,kmadd(beta1L,JacPDstandardNth1K12,kmadd(G212,JacPDstandardNth2alpha,kmadd(K11L,JacPDstandardNth2beta1,kmadd(K12L,kadd(JacPDstandardNth1beta1,JacPDstandardNth2beta2),kmadd(K13L,JacPDstandardNth2beta3,kmadd(beta2L,JacPDstandardNth2K12,kmadd(G312,JacPDstandardNth3alpha,kmadd(beta3L,JacPDstandardNth3K12,kmsub(alphaL,kadd(R12,kmadd(K12L,trK,kmul(kmadd(K11L,Km12,kmadd(K12L,Km22,kmul(K13L,Km32))),ToReal(-2)))),JacPDstandardNth12alpha)))))))))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED K13rhsL = - kmadd(G113,JacPDstandardNth1alpha,kmadd(K23L,JacPDstandardNth1beta2,kmadd(K33L,JacPDstandardNth1beta3,kmadd(beta1L,JacPDstandardNth1K13,kmadd(G213,JacPDstandardNth2alpha,kmadd(beta2L,JacPDstandardNth2K13,kmadd(G313,JacPDstandardNth3alpha,kmadd(K11L,JacPDstandardNth3beta1,kmadd(K12L,JacPDstandardNth3beta2,kmadd(K13L,kadd(JacPDstandardNth1beta1,JacPDstandardNth3beta3),kmadd(beta3L,JacPDstandardNth3K13,kmadd(alphaL,kadd(R13,kmadd(K13L,trK,kmul(kmadd(K11L,Km13,kmadd(K12L,Km23,kmul(K13L,Km33))),ToReal(-2.)))),kmul(JacPDstandardNth13alpha,ToReal(-1.)))))))))))))); + kmadd(G113,JacPDstandardNth1alpha,kmadd(K23L,JacPDstandardNth1beta2,kmadd(K33L,JacPDstandardNth1beta3,kmadd(beta1L,JacPDstandardNth1K13,kmadd(G213,JacPDstandardNth2alpha,kmadd(beta2L,JacPDstandardNth2K13,kmadd(G313,JacPDstandardNth3alpha,kmadd(K11L,JacPDstandardNth3beta1,kmadd(K12L,JacPDstandardNth3beta2,kmadd(K13L,kadd(JacPDstandardNth1beta1,JacPDstandardNth3beta3),kmadd(beta3L,JacPDstandardNth3K13,kmsub(alphaL,kadd(R13,kmadd(K13L,trK,kmul(kmadd(K11L,Km13,kmadd(K12L,Km23,kmul(K13L,Km33))),ToReal(-2)))),JacPDstandardNth13alpha)))))))))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED K22rhsL = - kmadd(G122,JacPDstandardNth1alpha,kmadd(beta1L,JacPDstandardNth1K22,kmadd(G222,JacPDstandardNth2alpha,kmadd(beta2L,JacPDstandardNth2K22,kmadd(G322,JacPDstandardNth3alpha,kmadd(beta3L,JacPDstandardNth3K22,kmadd(alphaL,kadd(R22,kmadd(K22L,trK,kmul(kmadd(K12L,Km12,kmadd(K22L,Km22,kmul(K23L,Km32))),ToReal(-2.)))),kmadd(JacPDstandardNth22alpha,ToReal(-1.),kmul(kmadd(K12L,JacPDstandardNth2beta1,kmadd(K22L,JacPDstandardNth2beta2,kmul(K23L,JacPDstandardNth2beta3))),ToReal(2.)))))))))); + kmadd(G122,JacPDstandardNth1alpha,kmadd(beta1L,JacPDstandardNth1K22,kmadd(G222,JacPDstandardNth2alpha,kmadd(beta2L,JacPDstandardNth2K22,kmadd(G322,JacPDstandardNth3alpha,kmadd(beta3L,JacPDstandardNth3K22,kmadd(alphaL,kadd(R22,kmadd(K22L,trK,kmul(kmadd(K12L,Km12,kmadd(K22L,Km22,kmul(K23L,Km32))),ToReal(-2)))),kmsub(kmadd(K12L,JacPDstandardNth2beta1,kmadd(K22L,JacPDstandardNth2beta2,kmul(K23L,JacPDstandardNth2beta3))),ToReal(2),JacPDstandardNth22alpha)))))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED K23rhsL = - kmadd(G123,JacPDstandardNth1alpha,kmadd(beta1L,JacPDstandardNth1K23,kmadd(G223,JacPDstandardNth2alpha,kmadd(K13L,JacPDstandardNth2beta1,kmadd(K33L,JacPDstandardNth2beta3,kmadd(beta2L,JacPDstandardNth2K23,kmadd(G323,JacPDstandardNth3alpha,kmadd(K12L,JacPDstandardNth3beta1,kmadd(K22L,JacPDstandardNth3beta2,kmadd(K23L,kadd(JacPDstandardNth2beta2,JacPDstandardNth3beta3),kmadd(beta3L,JacPDstandardNth3K23,kmadd(alphaL,kadd(R23,kmadd(K23L,trK,kmul(kmadd(K12L,Km13,kmadd(K22L,Km23,kmul(K23L,Km33))),ToReal(-2.)))),kmul(JacPDstandardNth23alpha,ToReal(-1.)))))))))))))); + kmadd(G123,JacPDstandardNth1alpha,kmadd(beta1L,JacPDstandardNth1K23,kmadd(G223,JacPDstandardNth2alpha,kmadd(K13L,JacPDstandardNth2beta1,kmadd(K33L,JacPDstandardNth2beta3,kmadd(beta2L,JacPDstandardNth2K23,kmadd(G323,JacPDstandardNth3alpha,kmadd(K12L,JacPDstandardNth3beta1,kmadd(K22L,JacPDstandardNth3beta2,kmadd(K23L,kadd(JacPDstandardNth2beta2,JacPDstandardNth3beta3),kmadd(beta3L,JacPDstandardNth3K23,kmsub(alphaL,kadd(R23,kmadd(K23L,trK,kmul(kmadd(K12L,Km13,kmadd(K22L,Km23,kmul(K23L,Km33))),ToReal(-2)))),JacPDstandardNth23alpha)))))))))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED K33rhsL = - kmadd(G133,JacPDstandardNth1alpha,kmadd(beta1L,JacPDstandardNth1K33,kmadd(G233,JacPDstandardNth2alpha,kmadd(beta2L,JacPDstandardNth2K33,kmadd(G333,JacPDstandardNth3alpha,kmadd(beta3L,JacPDstandardNth3K33,kmadd(alphaL,kadd(R33,kmadd(K33L,trK,kmul(kmadd(K13L,Km13,kmadd(K23L,Km23,kmul(K33L,Km33))),ToReal(-2.)))),kmadd(JacPDstandardNth33alpha,ToReal(-1.),kmul(kmadd(K13L,JacPDstandardNth3beta1,kmadd(K23L,JacPDstandardNth3beta2,kmul(K33L,JacPDstandardNth3beta3))),ToReal(2.)))))))))); + kmadd(G133,JacPDstandardNth1alpha,kmadd(beta1L,JacPDstandardNth1K33,kmadd(G233,JacPDstandardNth2alpha,kmadd(beta2L,JacPDstandardNth2K33,kmadd(G333,JacPDstandardNth3alpha,kmadd(beta3L,JacPDstandardNth3K33,kmadd(alphaL,kadd(R33,kmadd(K33L,trK,kmul(kmadd(K13L,Km13,kmadd(K23L,Km23,kmul(K33L,Km33))),ToReal(-2)))),kmsub(kmadd(K13L,JacPDstandardNth3beta1,kmadd(K23L,JacPDstandardNth3beta2,kmul(K33L,JacPDstandardNth3beta3))),ToReal(2),JacPDstandardNth33alpha)))))))); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED alpharhsL = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED alpharhsL = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED beta1rhsL = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED beta1rhsL = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED beta2rhsL = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED beta2rhsL = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED beta3rhsL = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED beta3rhsL = ToReal(0); /* 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(alpharhs[index],alpharhsL); vec_store_nta_partial(beta1rhs[index],beta1rhsL); vec_store_nta_partial(beta2rhs[index],beta2rhsL); @@ -1516,7 +1557,7 @@ extern "C" void ML_ADM_RHS(CCTK_ARGUMENTS) return; } - const char *const groups[] = { + const char* const groups[] = { "ML_ADM::ML_curv", "ML_ADM::ML_curvrhs", "ML_ADM::ML_lapse", @@ -1527,23 +1568,33 @@ extern "C" void ML_ADM_RHS(CCTK_ARGUMENTS) "ML_ADM::ML_shiftrhs"}; GenericFD_AssertGroupStorage(cctkGH, "ML_ADM_RHS", 8, groups); - switch(fdOrder) + switch (fdOrder) { case 2: + { GenericFD_EnsureStencilFits(cctkGH, "ML_ADM_RHS", 1, 1, 1); break; + } case 4: + { GenericFD_EnsureStencilFits(cctkGH, "ML_ADM_RHS", 2, 2, 2); break; + } case 6: + { GenericFD_EnsureStencilFits(cctkGH, "ML_ADM_RHS", 3, 3, 3); break; + } case 8: + { GenericFD_EnsureStencilFits(cctkGH, "ML_ADM_RHS", 4, 4, 4); break; + } + default: + CCTK_BUILTIN_UNREACHABLE(); } GenericFD_LoopOverInterior(cctkGH, ML_ADM_RHS_Body); diff --git a/ML_ADM/src/ML_ADM_boundary.cc b/ML_ADM/src/ML_ADM_boundary.cc index 1796fdc..275fa5d 100644 --- a/ML_ADM/src/ML_ADM_boundary.cc +++ b/ML_ADM/src/ML_ADM_boundary.cc @@ -32,7 +32,9 @@ extern "C" void ML_ADM_boundary_SelectBCs(CCTK_ARGUMENTS) DECLARE_CCTK_ARGUMENTS; DECLARE_CCTK_PARAMETERS; - CCTK_INT ierr CCTK_ATTRIBUTE_UNUSED = 0; + if (cctk_iteration % ML_ADM_boundary_calc_every != ML_ADM_boundary_calc_offset) + return; + CCTK_INT ierr CCTK_ATTRIBUTE_UNUSED = 0; ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_ADM::ML_curv","flat"); if (ierr < 0) CCTK_WARN(1, "Failed to register flat BC for ML_ADM::ML_curv."); @@ -48,7 +50,7 @@ extern "C" void ML_ADM_boundary_SelectBCs(CCTK_ARGUMENTS) return; } -static void ML_ADM_boundary_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_ADM_boundary_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,111 +59,133 @@ static void ML_ADM_boundary_Body(cGH const * restrict const cctkGH, int const di /* 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*/ p1o12dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dx); - CCTK_REAL_VEC /*const*/ p1o12dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dy); - CCTK_REAL_VEC /*const*/ p1o12dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dz); - CCTK_REAL_VEC /*const*/ p1o144dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o144dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o144dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o180dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ p1o180dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ p1o180dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ p1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dx); - CCTK_REAL_VEC /*const*/ p1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dy); - CCTK_REAL_VEC /*const*/ p1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dz); - CCTK_REAL_VEC /*const*/ p1o3600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o3600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o3600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o4dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o4dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o4dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o5040dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ p1o5040dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ p1o5040dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ p1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dx); - CCTK_REAL_VEC /*const*/ p1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dy); - CCTK_REAL_VEC /*const*/ p1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dz); - CCTK_REAL_VEC /*const*/ p1o705600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o705600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o705600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o840dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dx); - CCTK_REAL_VEC /*const*/ p1o840dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dy); - CCTK_REAL_VEC /*const*/ p1o840dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dz); - CCTK_REAL_VEC /*const*/ p1odx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ p1ody2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ p1odz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ pm1o12dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ pm1o12dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ pm1o12dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dz,dz)); + 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 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 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 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 p1o4dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dy)); + 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 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 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 p1odx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dx,dx)); + const CCTK_REAL_VEC p1ody2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dy,dy)); + const CCTK_REAL_VEC p1odz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dz,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)); /* 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 */ @@ -172,13 +196,20 @@ static void ML_ADM_boundary_Body(cGH const * restrict const cctkGH, int const di /* 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_ADM_boundary, - 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 */ @@ -189,56 +220,66 @@ static void ML_ADM_boundary_Body(cGH const * restrict const cctkGH, int const di /* Precompute derivatives */ - switch(fdOrder) + switch (fdOrder) { case 2: + { break; + } case 4: + { break; + } case 6: + { break; + } case 8: + { break; + } + default: + CCTK_BUILTIN_UNREACHABLE(); } /* Calculate temporaries and grid functions */ - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED g11L = ToReal(1.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED g11L = ToReal(1); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED g12L = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED g12L = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED g13L = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED g13L = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED g22L = ToReal(1.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED g22L = ToReal(1); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED g23L = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED g23L = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED g33L = ToReal(1.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED g33L = ToReal(1); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED K11L = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED K11L = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED K12L = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED K12L = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED K13L = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED K13L = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED K22L = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED K22L = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED K23L = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED K23L = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED K33L = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED K33L = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED alphaL = ToReal(1.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED alphaL = ToReal(1); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED beta1L = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED beta1L = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED beta2L = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED beta2L = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED beta3L = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED beta3L = ToReal(0); /* 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(alpha[index],alphaL); vec_store_nta_partial(beta1[index],beta1L); vec_store_nta_partial(beta2[index],beta2L); @@ -275,26 +316,36 @@ extern "C" void ML_ADM_boundary(CCTK_ARGUMENTS) return; } - const char *const groups[] = { + const char* const groups[] = { "ML_ADM::ML_curv", "ML_ADM::ML_lapse", "ML_ADM::ML_metric", "ML_ADM::ML_shift"}; GenericFD_AssertGroupStorage(cctkGH, "ML_ADM_boundary", 4, groups); - switch(fdOrder) + switch (fdOrder) { case 2: + { break; + } case 4: + { break; + } case 6: + { break; + } case 8: + { break; + } + default: + CCTK_BUILTIN_UNREACHABLE(); } GenericFD_LoopOverBoundaryWithGhosts(cctkGH, ML_ADM_boundary_Body); diff --git a/ML_ADM/src/ML_ADM_constraints.cc b/ML_ADM/src/ML_ADM_constraints.cc index 69fd6de..847cf6f 100644 --- a/ML_ADM/src/ML_ADM_constraints.cc +++ b/ML_ADM/src/ML_ADM_constraints.cc @@ -32,7 +32,9 @@ extern "C" void ML_ADM_constraints_SelectBCs(CCTK_ARGUMENTS) DECLARE_CCTK_ARGUMENTS; DECLARE_CCTK_PARAMETERS; - CCTK_INT ierr CCTK_ATTRIBUTE_UNUSED = 0; + if (cctk_iteration % ML_ADM_constraints_calc_every != ML_ADM_constraints_calc_offset) + return; + CCTK_INT ierr CCTK_ATTRIBUTE_UNUSED = 0; ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_ADM::ML_Ham","flat"); if (ierr < 0) CCTK_WARN(1, "Failed to register flat BC for ML_ADM::ML_Ham."); @@ -42,7 +44,7 @@ extern "C" void ML_ADM_constraints_SelectBCs(CCTK_ARGUMENTS) return; } -static void ML_ADM_constraints_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_ADM_constraints_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; @@ -51,111 +53,133 @@ static void ML_ADM_constraints_Body(cGH const * restrict const cctkGH, int const /* 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*/ p1o12dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dx); - CCTK_REAL_VEC /*const*/ p1o12dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dy); - CCTK_REAL_VEC /*const*/ p1o12dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dz); - CCTK_REAL_VEC /*const*/ p1o144dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o144dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o144dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o180dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ p1o180dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ p1o180dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ p1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dx); - CCTK_REAL_VEC /*const*/ p1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dy); - CCTK_REAL_VEC /*const*/ p1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dz); - CCTK_REAL_VEC /*const*/ p1o3600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o3600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o3600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o4dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o4dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o4dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o5040dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ p1o5040dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ p1o5040dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ p1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dx); - CCTK_REAL_VEC /*const*/ p1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dy); - CCTK_REAL_VEC /*const*/ p1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dz); - CCTK_REAL_VEC /*const*/ p1o705600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o705600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o705600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o840dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dx); - CCTK_REAL_VEC /*const*/ p1o840dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dy); - CCTK_REAL_VEC /*const*/ p1o840dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dz); - CCTK_REAL_VEC /*const*/ p1odx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ p1ody2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ p1odz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ pm1o12dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ pm1o12dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ pm1o12dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dz,dz)); + 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 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 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 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 p1o4dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dy)); + 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 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 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 p1odx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dx,dx)); + const CCTK_REAL_VEC p1ody2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dy,dy)); + const CCTK_REAL_VEC p1odz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dz,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)); /* 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 */ @@ -166,13 +190,20 @@ static void ML_ADM_constraints_Body(cGH const * restrict const cctkGH, int const /* 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_ADM_constraints, - 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 */ @@ -226,82 +257,83 @@ static void ML_ADM_constraints_Body(cGH const * restrict const cctkGH, int const /* Include user supplied include files */ /* Precompute derivatives */ - CCTK_REAL_VEC PDstandardNth1g11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth2g11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth3g11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth11g11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth22g11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth33g11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth12g11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth13g11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth23g11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth1g12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth2g12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth3g12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth11g12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth22g12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth33g12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth12g12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth13g12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth23g12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth1g13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth2g13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth3g13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth11g13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth22g13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth33g13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth12g13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth13g13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth23g13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth1g22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth2g22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth3g22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth11g22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth22g22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth33g22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth12g22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth13g22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth23g22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth1g23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth2g23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth3g23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth11g23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth22g23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth33g23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth12g23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth13g23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth23g23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth1g33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth2g33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth3g33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth11g33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth22g33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth33g33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth12g33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth13g33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth23g33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth1K11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth2K11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth3K11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth1K12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth2K12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth3K12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth1K13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth2K13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth3K13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth1K22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth2K22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth3K22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth1K23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth2K23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth3K23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth1K33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth2K33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth3K33 CCTK_ATTRIBUTE_UNUSED ; + CCTK_REAL_VEC PDstandardNth1g11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2g11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3g11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth11g11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth22g11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth33g11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth12g11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth13g11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth23g11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1g12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2g12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3g12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth11g12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth22g12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth33g12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth12g12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth13g12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth23g12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1g13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2g13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3g13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth11g13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth22g13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth33g13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth12g13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth13g13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth23g13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1g22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2g22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3g22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth11g22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth22g22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth33g22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth12g22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth13g22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth23g22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1g23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2g23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3g23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth11g23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth22g23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth33g23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth12g23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth13g23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth23g23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1g33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2g33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3g33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth11g33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth22g33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth33g33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth12g33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth13g33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth23g33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1K11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2K11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3K11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1K12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2K12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3K12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1K13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2K13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3K13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1K22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2K22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3K22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1K23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2K23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3K23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1K33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2K33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3K33 CCTK_ATTRIBUTE_UNUSED; - switch(fdOrder) + switch (fdOrder) { case 2: + { PDstandardNth1g11 = PDstandardNthfdOrder21(&g11[index]); PDstandardNth2g11 = PDstandardNthfdOrder22(&g11[index]); PDstandardNth3g11 = PDstandardNthfdOrder23(&g11[index]); @@ -375,8 +407,10 @@ static void ML_ADM_constraints_Body(cGH const * restrict const cctkGH, int const PDstandardNth2K33 = PDstandardNthfdOrder22(&K33[index]); PDstandardNth3K33 = PDstandardNthfdOrder23(&K33[index]); break; + } case 4: + { PDstandardNth1g11 = PDstandardNthfdOrder41(&g11[index]); PDstandardNth2g11 = PDstandardNthfdOrder42(&g11[index]); PDstandardNth3g11 = PDstandardNthfdOrder43(&g11[index]); @@ -450,8 +484,10 @@ static void ML_ADM_constraints_Body(cGH const * restrict const cctkGH, int const PDstandardNth2K33 = PDstandardNthfdOrder42(&K33[index]); PDstandardNth3K33 = PDstandardNthfdOrder43(&K33[index]); break; + } case 6: + { PDstandardNth1g11 = PDstandardNthfdOrder61(&g11[index]); PDstandardNth2g11 = PDstandardNthfdOrder62(&g11[index]); PDstandardNth3g11 = PDstandardNthfdOrder63(&g11[index]); @@ -525,8 +561,10 @@ static void ML_ADM_constraints_Body(cGH const * restrict const cctkGH, int const PDstandardNth2K33 = PDstandardNthfdOrder62(&K33[index]); PDstandardNth3K33 = PDstandardNthfdOrder63(&K33[index]); break; + } case 8: + { PDstandardNth1g11 = PDstandardNthfdOrder81(&g11[index]); PDstandardNth2g11 = PDstandardNthfdOrder82(&g11[index]); PDstandardNth3g11 = PDstandardNthfdOrder83(&g11[index]); @@ -600,87 +638,90 @@ static void ML_ADM_constraints_Body(cGH const * restrict const cctkGH, int const PDstandardNth2K33 = PDstandardNthfdOrder82(&K33[index]); PDstandardNth3K33 = PDstandardNthfdOrder83(&K33[index]); break; + } + default: + CCTK_BUILTIN_UNREACHABLE(); } /* Calculate temporaries and grid functions */ - CCTK_REAL_VEC JacPDstandardNth11g22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth11g23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth11g33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth12g11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth12g12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth12g13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth12g22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth12g23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth12g33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth13g11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth13g12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth13g13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth13g22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth13g23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth13g33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth1g11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth1g12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth1g13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth1g22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth1g23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth1g33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth1K12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth1K13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth1K22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth1K23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth1K33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth21g11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth21g12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth21g13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth21g22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth21g23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth21g33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth22g11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth22g13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth22g33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth23g11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth23g12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth23g13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth23g22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth23g23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth23g33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth2g11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth2g12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth2g13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth2g22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth2g23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth2g33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth2K11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth2K12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth2K13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth2K23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth2K33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth31g11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth31g12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth31g13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth31g22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth31g23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth31g33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth32g11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth32g12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth32g13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth32g22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth32g23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth32g33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth33g11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth33g12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth33g22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth3g11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth3g12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth3g13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth3g22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth3g23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth3g33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth3K11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth3K12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth3K13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth3K22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth3K23 CCTK_ATTRIBUTE_UNUSED ; + CCTK_REAL_VEC JacPDstandardNth11g22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth11g23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth11g33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth12g11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth12g12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth12g13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth12g22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth12g23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth12g33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth13g11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth13g12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth13g13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth13g22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth13g23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth13g33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1g11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1g12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1g13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1g22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1g23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1g33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1K12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1K13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1K22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1K23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1K33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth21g11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth21g12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth21g13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth21g22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth21g23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth21g33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth22g11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth22g13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth22g33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth23g11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth23g12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth23g13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth23g22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth23g23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth23g33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2g11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2g12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2g13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2g22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2g23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2g33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2K11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2K12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2K13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2K23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2K33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth31g11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth31g12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth31g13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth31g22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth31g23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth31g33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth32g11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth32g12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth32g13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth32g22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth32g23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth32g33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth33g11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth33g12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth33g22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3g11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3g12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3g13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3g22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3g23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3g33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3K11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3K12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3K13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3K22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3K23 CCTK_ATTRIBUTE_UNUSED; if (use_jacobian) { @@ -784,31 +825,31 @@ static void ML_ADM_constraints_Body(cGH const * restrict const cctkGH, int const kmadd(J13L,PDstandardNth1K23,kmadd(J23L,PDstandardNth2K23,kmul(J33L,PDstandardNth3K23))); JacPDstandardNth11g22 = - kmadd(dJ111L,PDstandardNth1g22,kmadd(dJ211L,PDstandardNth2g22,kmadd(dJ311L,PDstandardNth3g22,kmadd(PDstandardNth11g22,kmul(J11L,J11L),kmadd(PDstandardNth22g22,kmul(J21L,J21L),kmadd(PDstandardNth33g22,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12g22,kmul(J31L,PDstandardNth13g22)),kmul(J21L,kmul(J31L,PDstandardNth23g22))),ToReal(2.)))))))); + kmadd(dJ111L,PDstandardNth1g22,kmadd(dJ211L,PDstandardNth2g22,kmadd(dJ311L,PDstandardNth3g22,kmadd(PDstandardNth11g22,kmul(J11L,J11L),kmadd(PDstandardNth22g22,kmul(J21L,J21L),kmadd(PDstandardNth33g22,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12g22,kmul(J31L,PDstandardNth13g22)),kmul(J21L,kmul(J31L,PDstandardNth23g22))),ToReal(2)))))))); JacPDstandardNth11g23 = - kmadd(dJ111L,PDstandardNth1g23,kmadd(dJ211L,PDstandardNth2g23,kmadd(dJ311L,PDstandardNth3g23,kmadd(PDstandardNth11g23,kmul(J11L,J11L),kmadd(PDstandardNth22g23,kmul(J21L,J21L),kmadd(PDstandardNth33g23,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12g23,kmul(J31L,PDstandardNth13g23)),kmul(J21L,kmul(J31L,PDstandardNth23g23))),ToReal(2.)))))))); + kmadd(dJ111L,PDstandardNth1g23,kmadd(dJ211L,PDstandardNth2g23,kmadd(dJ311L,PDstandardNth3g23,kmadd(PDstandardNth11g23,kmul(J11L,J11L),kmadd(PDstandardNth22g23,kmul(J21L,J21L),kmadd(PDstandardNth33g23,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12g23,kmul(J31L,PDstandardNth13g23)),kmul(J21L,kmul(J31L,PDstandardNth23g23))),ToReal(2)))))))); JacPDstandardNth11g33 = - kmadd(dJ111L,PDstandardNth1g33,kmadd(dJ211L,PDstandardNth2g33,kmadd(dJ311L,PDstandardNth3g33,kmadd(PDstandardNth11g33,kmul(J11L,J11L),kmadd(PDstandardNth22g33,kmul(J21L,J21L),kmadd(PDstandardNth33g33,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12g33,kmul(J31L,PDstandardNth13g33)),kmul(J21L,kmul(J31L,PDstandardNth23g33))),ToReal(2.)))))))); + kmadd(dJ111L,PDstandardNth1g33,kmadd(dJ211L,PDstandardNth2g33,kmadd(dJ311L,PDstandardNth3g33,kmadd(PDstandardNth11g33,kmul(J11L,J11L),kmadd(PDstandardNth22g33,kmul(J21L,J21L),kmadd(PDstandardNth33g33,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12g33,kmul(J31L,PDstandardNth13g33)),kmul(J21L,kmul(J31L,PDstandardNth23g33))),ToReal(2)))))))); JacPDstandardNth22g11 = - kmadd(dJ122L,PDstandardNth1g11,kmadd(dJ222L,PDstandardNth2g11,kmadd(dJ322L,PDstandardNth3g11,kmadd(PDstandardNth11g11,kmul(J12L,J12L),kmadd(PDstandardNth22g11,kmul(J22L,J22L),kmadd(PDstandardNth33g11,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12g11,kmul(J32L,PDstandardNth13g11)),kmul(J22L,kmul(J32L,PDstandardNth23g11))),ToReal(2.)))))))); + kmadd(dJ122L,PDstandardNth1g11,kmadd(dJ222L,PDstandardNth2g11,kmadd(dJ322L,PDstandardNth3g11,kmadd(PDstandardNth11g11,kmul(J12L,J12L),kmadd(PDstandardNth22g11,kmul(J22L,J22L),kmadd(PDstandardNth33g11,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12g11,kmul(J32L,PDstandardNth13g11)),kmul(J22L,kmul(J32L,PDstandardNth23g11))),ToReal(2)))))))); JacPDstandardNth22g13 = - kmadd(dJ122L,PDstandardNth1g13,kmadd(dJ222L,PDstandardNth2g13,kmadd(dJ322L,PDstandardNth3g13,kmadd(PDstandardNth11g13,kmul(J12L,J12L),kmadd(PDstandardNth22g13,kmul(J22L,J22L),kmadd(PDstandardNth33g13,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12g13,kmul(J32L,PDstandardNth13g13)),kmul(J22L,kmul(J32L,PDstandardNth23g13))),ToReal(2.)))))))); + kmadd(dJ122L,PDstandardNth1g13,kmadd(dJ222L,PDstandardNth2g13,kmadd(dJ322L,PDstandardNth3g13,kmadd(PDstandardNth11g13,kmul(J12L,J12L),kmadd(PDstandardNth22g13,kmul(J22L,J22L),kmadd(PDstandardNth33g13,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12g13,kmul(J32L,PDstandardNth13g13)),kmul(J22L,kmul(J32L,PDstandardNth23g13))),ToReal(2)))))))); JacPDstandardNth22g33 = - kmadd(dJ122L,PDstandardNth1g33,kmadd(dJ222L,PDstandardNth2g33,kmadd(dJ322L,PDstandardNth3g33,kmadd(PDstandardNth11g33,kmul(J12L,J12L),kmadd(PDstandardNth22g33,kmul(J22L,J22L),kmadd(PDstandardNth33g33,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12g33,kmul(J32L,PDstandardNth13g33)),kmul(J22L,kmul(J32L,PDstandardNth23g33))),ToReal(2.)))))))); + kmadd(dJ122L,PDstandardNth1g33,kmadd(dJ222L,PDstandardNth2g33,kmadd(dJ322L,PDstandardNth3g33,kmadd(PDstandardNth11g33,kmul(J12L,J12L),kmadd(PDstandardNth22g33,kmul(J22L,J22L),kmadd(PDstandardNth33g33,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12g33,kmul(J32L,PDstandardNth13g33)),kmul(J22L,kmul(J32L,PDstandardNth23g33))),ToReal(2)))))))); JacPDstandardNth33g11 = - kmadd(dJ133L,PDstandardNth1g11,kmadd(dJ233L,PDstandardNth2g11,kmadd(dJ333L,PDstandardNth3g11,kmadd(PDstandardNth11g11,kmul(J13L,J13L),kmadd(PDstandardNth22g11,kmul(J23L,J23L),kmadd(PDstandardNth33g11,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12g11,kmul(J33L,PDstandardNth13g11)),kmul(J23L,kmul(J33L,PDstandardNth23g11))),ToReal(2.)))))))); + kmadd(dJ133L,PDstandardNth1g11,kmadd(dJ233L,PDstandardNth2g11,kmadd(dJ333L,PDstandardNth3g11,kmadd(PDstandardNth11g11,kmul(J13L,J13L),kmadd(PDstandardNth22g11,kmul(J23L,J23L),kmadd(PDstandardNth33g11,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12g11,kmul(J33L,PDstandardNth13g11)),kmul(J23L,kmul(J33L,PDstandardNth23g11))),ToReal(2)))))))); JacPDstandardNth33g12 = - kmadd(dJ133L,PDstandardNth1g12,kmadd(dJ233L,PDstandardNth2g12,kmadd(dJ333L,PDstandardNth3g12,kmadd(PDstandardNth11g12,kmul(J13L,J13L),kmadd(PDstandardNth22g12,kmul(J23L,J23L),kmadd(PDstandardNth33g12,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12g12,kmul(J33L,PDstandardNth13g12)),kmul(J23L,kmul(J33L,PDstandardNth23g12))),ToReal(2.)))))))); + kmadd(dJ133L,PDstandardNth1g12,kmadd(dJ233L,PDstandardNth2g12,kmadd(dJ333L,PDstandardNth3g12,kmadd(PDstandardNth11g12,kmul(J13L,J13L),kmadd(PDstandardNth22g12,kmul(J23L,J23L),kmadd(PDstandardNth33g12,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12g12,kmul(J33L,PDstandardNth13g12)),kmul(J23L,kmul(J33L,PDstandardNth23g12))),ToReal(2)))))))); JacPDstandardNth33g22 = - kmadd(dJ133L,PDstandardNth1g22,kmadd(dJ233L,PDstandardNth2g22,kmadd(dJ333L,PDstandardNth3g22,kmadd(PDstandardNth11g22,kmul(J13L,J13L),kmadd(PDstandardNth22g22,kmul(J23L,J23L),kmadd(PDstandardNth33g22,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12g22,kmul(J33L,PDstandardNth13g22)),kmul(J23L,kmul(J33L,PDstandardNth23g22))),ToReal(2.)))))))); + kmadd(dJ133L,PDstandardNth1g22,kmadd(dJ233L,PDstandardNth2g22,kmadd(dJ333L,PDstandardNth3g22,kmadd(PDstandardNth11g22,kmul(J13L,J13L),kmadd(PDstandardNth22g22,kmul(J23L,J23L),kmadd(PDstandardNth33g22,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12g22,kmul(J33L,PDstandardNth13g22)),kmul(J23L,kmul(J33L,PDstandardNth23g22))),ToReal(2)))))))); JacPDstandardNth12g11 = kmadd(J12L,kmadd(J11L,PDstandardNth11g11,kmadd(J21L,PDstandardNth12g11,kmul(J31L,PDstandardNth13g11))),kmadd(J11L,kmadd(J22L,PDstandardNth12g11,kmul(J32L,PDstandardNth13g11)),kmadd(dJ112L,PDstandardNth1g11,kmadd(J22L,kmadd(J21L,PDstandardNth22g11,kmul(J31L,PDstandardNth23g11)),kmadd(dJ212L,PDstandardNth2g11,kmadd(J32L,kmadd(J21L,PDstandardNth23g11,kmul(J31L,PDstandardNth33g11)),kmul(dJ312L,PDstandardNth3g11))))))); @@ -1078,106 +1119,106 @@ static void ML_ADM_constraints_Body(cGH const * restrict const cctkGH, int const } CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED detg = - kmadd(kmadd(g22L,kmul(g13L,g13L),kmul(g11L,kmul(g23L,g23L))),ToReal(-1.),kmadd(g33L,kmadd(g11L,g22L,kmul(kmul(g12L,g12L),ToReal(-1.))),kmul(g12L,kmul(g13L,kmul(g23L,ToReal(2.)))))); + knmsub(g22L,kmul(g13L,g13L),knmsub(g11L,kmul(g23L,g23L),kmadd(g33L,kmsub(g11L,g22L,kmul(g12L,g12L)),kmul(g12L,kmul(g13L,kmul(g23L,ToReal(2))))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gu11 = - kdiv(kmadd(g22L,g33L,kmul(kmul(g23L,g23L),ToReal(-1.))),detg); + kdiv(kmsub(g22L,g33L,kmul(g23L,g23L)),detg); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gu12 = - kdiv(kmadd(g13L,g23L,kmul(g12L,kmul(g33L,ToReal(-1.)))),detg); + kdiv(kmsub(g13L,g23L,kmul(g12L,g33L)),detg); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gu13 = - kdiv(kmadd(g12L,g23L,kmul(g13L,kmul(g22L,ToReal(-1.)))),detg); + kdiv(kmsub(g12L,g23L,kmul(g13L,g22L)),detg); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gu21 = - kdiv(kmadd(g13L,g23L,kmul(g12L,kmul(g33L,ToReal(-1.)))),detg); + kdiv(kmsub(g13L,g23L,kmul(g12L,g33L)),detg); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gu22 = - kdiv(kmadd(g11L,g33L,kmul(kmul(g13L,g13L),ToReal(-1.))),detg); + kdiv(kmsub(g11L,g33L,kmul(g13L,g13L)),detg); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gu23 = - kdiv(kmadd(g12L,g13L,kmul(g11L,kmul(g23L,ToReal(-1.)))),detg); + kdiv(kmsub(g12L,g13L,kmul(g11L,g23L)),detg); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gu31 = - kdiv(kmadd(g12L,g23L,kmul(g13L,kmul(g22L,ToReal(-1.)))),detg); + kdiv(kmsub(g12L,g23L,kmul(g13L,g22L)),detg); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gu32 = - kdiv(kmadd(g12L,g13L,kmul(g11L,kmul(g23L,ToReal(-1.)))),detg); + kdiv(kmsub(g12L,g13L,kmul(g11L,g23L)),detg); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gu33 = - kdiv(kmadd(g11L,g22L,kmul(kmul(g12L,g12L),ToReal(-1.))),detg); + kdiv(kmsub(g11L,g22L,kmul(g12L,g12L)),detg); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED G111 = - kmul(ToReal(0.5),kmadd(gu11,JacPDstandardNth1g11,kmadd(kmadd(gu12,JacPDstandardNth2g11,kmul(gu13,JacPDstandardNth3g11)),ToReal(-1.),kmul(kmadd(gu12,JacPDstandardNth1g12,kmul(gu13,JacPDstandardNth1g13)),ToReal(2.))))); + kmul(ToReal(0.5),kmadd(gu11,JacPDstandardNth1g11,knmsub(gu12,JacPDstandardNth2g11,kmsub(kmadd(gu12,JacPDstandardNth1g12,kmul(gu13,JacPDstandardNth1g13)),ToReal(2),kmul(gu13,JacPDstandardNth3g11))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED G211 = - kmul(ToReal(0.5),kmadd(gu21,JacPDstandardNth1g11,kmadd(kmadd(gu22,JacPDstandardNth2g11,kmul(gu23,JacPDstandardNth3g11)),ToReal(-1.),kmul(kmadd(gu22,JacPDstandardNth1g12,kmul(gu23,JacPDstandardNth1g13)),ToReal(2.))))); + kmul(ToReal(0.5),kmadd(gu21,JacPDstandardNth1g11,knmsub(gu22,JacPDstandardNth2g11,kmsub(kmadd(gu22,JacPDstandardNth1g12,kmul(gu23,JacPDstandardNth1g13)),ToReal(2),kmul(gu23,JacPDstandardNth3g11))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED G311 = - kmul(ToReal(0.5),kmadd(gu31,JacPDstandardNth1g11,kmadd(kmadd(gu32,JacPDstandardNth2g11,kmul(gu33,JacPDstandardNth3g11)),ToReal(-1.),kmul(kmadd(gu32,JacPDstandardNth1g12,kmul(gu33,JacPDstandardNth1g13)),ToReal(2.))))); + kmul(ToReal(0.5),kmadd(gu31,JacPDstandardNth1g11,knmsub(gu32,JacPDstandardNth2g11,kmsub(kmadd(gu32,JacPDstandardNth1g12,kmul(gu33,JacPDstandardNth1g13)),ToReal(2),kmul(gu33,JacPDstandardNth3g11))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED G112 = - kmul(kmadd(gu12,JacPDstandardNth1g22,kmadd(gu11,JacPDstandardNth2g11,kmul(gu13,kadd(JacPDstandardNth1g23,kmadd(JacPDstandardNth3g12,ToReal(-1.),JacPDstandardNth2g13))))),ToReal(0.5)); + kmul(kmadd(gu12,JacPDstandardNth1g22,kmadd(gu11,JacPDstandardNth2g11,kmul(gu13,kadd(JacPDstandardNth1g23,ksub(JacPDstandardNth2g13,JacPDstandardNth3g12))))),ToReal(0.5)); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED G212 = - kmul(kmadd(gu22,JacPDstandardNth1g22,kmadd(gu21,JacPDstandardNth2g11,kmul(gu23,kadd(JacPDstandardNth1g23,kmadd(JacPDstandardNth3g12,ToReal(-1.),JacPDstandardNth2g13))))),ToReal(0.5)); + kmul(kmadd(gu22,JacPDstandardNth1g22,kmadd(gu21,JacPDstandardNth2g11,kmul(gu23,kadd(JacPDstandardNth1g23,ksub(JacPDstandardNth2g13,JacPDstandardNth3g12))))),ToReal(0.5)); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED G312 = - kmul(kmadd(gu32,JacPDstandardNth1g22,kmadd(gu31,JacPDstandardNth2g11,kmul(gu33,kadd(JacPDstandardNth1g23,kmadd(JacPDstandardNth3g12,ToReal(-1.),JacPDstandardNth2g13))))),ToReal(0.5)); + kmul(kmadd(gu32,JacPDstandardNth1g22,kmadd(gu31,JacPDstandardNth2g11,kmul(gu33,kadd(JacPDstandardNth1g23,ksub(JacPDstandardNth2g13,JacPDstandardNth3g12))))),ToReal(0.5)); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED G113 = - kmul(kmadd(gu13,JacPDstandardNth1g33,kmadd(gu11,JacPDstandardNth3g11,kmul(gu12,kadd(JacPDstandardNth1g23,kmadd(JacPDstandardNth2g13,ToReal(-1.),JacPDstandardNth3g12))))),ToReal(0.5)); + kmul(kmadd(gu13,JacPDstandardNth1g33,kmadd(gu11,JacPDstandardNth3g11,kmul(gu12,kadd(JacPDstandardNth1g23,ksub(JacPDstandardNth3g12,JacPDstandardNth2g13))))),ToReal(0.5)); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED G213 = - kmul(kmadd(gu23,JacPDstandardNth1g33,kmadd(gu21,JacPDstandardNth3g11,kmul(gu22,kadd(JacPDstandardNth1g23,kmadd(JacPDstandardNth2g13,ToReal(-1.),JacPDstandardNth3g12))))),ToReal(0.5)); + kmul(kmadd(gu23,JacPDstandardNth1g33,kmadd(gu21,JacPDstandardNth3g11,kmul(gu22,kadd(JacPDstandardNth1g23,ksub(JacPDstandardNth3g12,JacPDstandardNth2g13))))),ToReal(0.5)); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED G313 = - kmul(kmadd(gu33,JacPDstandardNth1g33,kmadd(gu31,JacPDstandardNth3g11,kmul(gu32,kadd(JacPDstandardNth1g23,kmadd(JacPDstandardNth2g13,ToReal(-1.),JacPDstandardNth3g12))))),ToReal(0.5)); + kmul(kmadd(gu33,JacPDstandardNth1g33,kmadd(gu31,JacPDstandardNth3g11,kmul(gu32,kadd(JacPDstandardNth1g23,ksub(JacPDstandardNth3g12,JacPDstandardNth2g13))))),ToReal(0.5)); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED G122 = - kmul(ToReal(0.5),kmadd(gu12,JacPDstandardNth2g22,kmadd(gu11,kmadd(JacPDstandardNth1g22,ToReal(-1.),kmul(JacPDstandardNth2g12,ToReal(2.))),kmul(gu13,kmadd(JacPDstandardNth3g22,ToReal(-1.),kmul(JacPDstandardNth2g23,ToReal(2.))))))); + kmul(ToReal(0.5),kmadd(gu12,JacPDstandardNth2g22,kmadd(gu11,kmsub(JacPDstandardNth2g12,ToReal(2),JacPDstandardNth1g22),kmul(gu13,kmsub(JacPDstandardNth2g23,ToReal(2),JacPDstandardNth3g22))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED G222 = - kmul(ToReal(0.5),kmadd(gu22,JacPDstandardNth2g22,kmadd(gu21,kmadd(JacPDstandardNth1g22,ToReal(-1.),kmul(JacPDstandardNth2g12,ToReal(2.))),kmul(gu23,kmadd(JacPDstandardNth3g22,ToReal(-1.),kmul(JacPDstandardNth2g23,ToReal(2.))))))); + kmul(ToReal(0.5),kmadd(gu22,JacPDstandardNth2g22,kmadd(gu21,kmsub(JacPDstandardNth2g12,ToReal(2),JacPDstandardNth1g22),kmul(gu23,kmsub(JacPDstandardNth2g23,ToReal(2),JacPDstandardNth3g22))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED G322 = - kmul(ToReal(0.5),kmadd(gu32,JacPDstandardNth2g22,kmadd(gu31,kmadd(JacPDstandardNth1g22,ToReal(-1.),kmul(JacPDstandardNth2g12,ToReal(2.))),kmul(gu33,kmadd(JacPDstandardNth3g22,ToReal(-1.),kmul(JacPDstandardNth2g23,ToReal(2.))))))); + kmul(ToReal(0.5),kmadd(gu32,JacPDstandardNth2g22,kmadd(gu31,kmsub(JacPDstandardNth2g12,ToReal(2),JacPDstandardNth1g22),kmul(gu33,kmsub(JacPDstandardNth2g23,ToReal(2),JacPDstandardNth3g22))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED G123 = - kmul(kmadd(gu13,JacPDstandardNth2g33,kmadd(gu12,JacPDstandardNth3g22,kmul(gu11,kadd(JacPDstandardNth2g13,kmadd(JacPDstandardNth1g23,ToReal(-1.),JacPDstandardNth3g12))))),ToReal(0.5)); + kmul(kmadd(gu13,JacPDstandardNth2g33,kmadd(gu12,JacPDstandardNth3g22,kmul(gu11,kadd(JacPDstandardNth2g13,ksub(JacPDstandardNth3g12,JacPDstandardNth1g23))))),ToReal(0.5)); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED G223 = - kmul(kmadd(gu23,JacPDstandardNth2g33,kmadd(gu22,JacPDstandardNth3g22,kmul(gu21,kadd(JacPDstandardNth2g13,kmadd(JacPDstandardNth1g23,ToReal(-1.),JacPDstandardNth3g12))))),ToReal(0.5)); + kmul(kmadd(gu23,JacPDstandardNth2g33,kmadd(gu22,JacPDstandardNth3g22,kmul(gu21,kadd(JacPDstandardNth2g13,ksub(JacPDstandardNth3g12,JacPDstandardNth1g23))))),ToReal(0.5)); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED G323 = - kmul(kmadd(gu33,JacPDstandardNth2g33,kmadd(gu32,JacPDstandardNth3g22,kmul(gu31,kadd(JacPDstandardNth2g13,kmadd(JacPDstandardNth1g23,ToReal(-1.),JacPDstandardNth3g12))))),ToReal(0.5)); + kmul(kmadd(gu33,JacPDstandardNth2g33,kmadd(gu32,JacPDstandardNth3g22,kmul(gu31,kadd(JacPDstandardNth2g13,ksub(JacPDstandardNth3g12,JacPDstandardNth1g23))))),ToReal(0.5)); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED G133 = - kmul(ToReal(0.5),kmadd(gu13,JacPDstandardNth3g33,kmadd(kmadd(gu11,JacPDstandardNth1g33,kmul(gu12,JacPDstandardNth2g33)),ToReal(-1.),kmul(kmadd(gu11,JacPDstandardNth3g13,kmul(gu12,JacPDstandardNth3g23)),ToReal(2.))))); + kmul(ToReal(0.5),kmadd(gu13,JacPDstandardNth3g33,kmadd(gu11,kmsub(JacPDstandardNth3g13,ToReal(2),JacPDstandardNth1g33),kmul(gu12,kmsub(JacPDstandardNth3g23,ToReal(2),JacPDstandardNth2g33))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED G233 = - kmul(ToReal(0.5),kmadd(gu23,JacPDstandardNth3g33,kmadd(kmadd(gu21,JacPDstandardNth1g33,kmul(gu22,JacPDstandardNth2g33)),ToReal(-1.),kmul(kmadd(gu21,JacPDstandardNth3g13,kmul(gu22,JacPDstandardNth3g23)),ToReal(2.))))); + kmul(ToReal(0.5),kmadd(gu23,JacPDstandardNth3g33,kmadd(gu21,kmsub(JacPDstandardNth3g13,ToReal(2),JacPDstandardNth1g33),kmul(gu22,kmsub(JacPDstandardNth3g23,ToReal(2),JacPDstandardNth2g33))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED G333 = - kmul(ToReal(0.5),kmadd(gu33,JacPDstandardNth3g33,kmadd(kmadd(gu31,JacPDstandardNth1g33,kmul(gu32,JacPDstandardNth2g33)),ToReal(-1.),kmul(kmadd(gu31,JacPDstandardNth3g13,kmul(gu32,JacPDstandardNth3g23)),ToReal(2.))))); + kmul(ToReal(0.5),kmadd(gu33,JacPDstandardNth3g33,kmadd(gu31,kmsub(JacPDstandardNth3g13,ToReal(2),JacPDstandardNth1g33),kmul(gu32,kmsub(JacPDstandardNth3g23,ToReal(2),JacPDstandardNth2g33))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED R11 = - kmul(ToReal(0.5),kmadd(gu12,JacPDstandardNth21g11,kmadd(gu13,JacPDstandardNth31g11,kmadd(kmadd(gu12,JacPDstandardNth12g11,kmadd(gu13,JacPDstandardNth13g11,kmadd(gu23,JacPDstandardNth23g11,kmadd(gu32,JacPDstandardNth32g11,kmul(gu33,kadd(JacPDstandardNth11g33,JacPDstandardNth33g11)))))),ToReal(-1.),kmadd(kmadd(kmadd(g13L,kmul(G113,G312),kmadd(G213,kmadd(g22L,G212,kmul(g23L,G312)),kmul(g23L,kmul(G212,G313)))),gu32,kmadd(G313,kmadd(kmadd(g23L,G212,kmul(g33L,G312)),gu23,kmul(g13L,kmul(G112,gu32))),kmadd(gu22,JacPDstandardNth21g12,kmadd(gu33,kadd(JacPDstandardNth31g13,kmadd(g22L,kmul(G213,G213),kmul(g33L,kmul(G313,G313)))),kmul(g11L,kmadd(G112,kmul(G113,kadd(gu23,gu32)),kmadd(gu22,kmul(G112,G112),kmadd(gu33,kmul(G113,G113),kmul(G111,kmul(kmadd(G122,gu22,kmadd(G123,kadd(gu23,gu32),kmul(G133,gu33))),ToReal(-1.))))))))))),ToReal(2.),kmadd(gu32,kadd(JacPDstandardNth21g13,kadd(JacPDstandardNth31g12,kmadd(g13L,kmul(G111,kmul(G323,ToReal(-2.))),kmadd(JacPDstandardNth11g23,ToReal(-1.),kmul(g33L,kmul(G312,kmul(G313,ToReal(2.)))))))),kmadd(gu23,kadd(JacPDstandardNth21g13,kadd(JacPDstandardNth31g12,kmadd(kmadd(kmadd(g13L,G123,kmul(g23L,G223)),G311,kmul(g13L,kmul(G111,G323))),ToReal(-2.),kmadd(JacPDstandardNth11g23,ToReal(-1.),kmul(kmadd(G213,kmadd(g22L,G212,kmul(g23L,G312)),kmul(g13L,kmadd(G113,G312,kmul(G112,G313)))),ToReal(2.)))))),kmadd(ToReal(-2.),kmadd(kmadd(G211,kmadd(g22L,G222,kmul(g23L,G322)),kmul(G311,kmadd(g13L,G122,kmul(g33L,G322)))),gu22,kmadd(kmadd(g13L,G111,kmul(g23L,G211)),kmul(G333,gu33),kmadd(g23L,kmadd(kmadd(G223,G311,kmul(G211,G323)),gu32,kmul(G233,kmul(G311,gu33))),kmadd(G211,kmadd(kmadd(g22L,G223,kmul(g23L,G323)),gu23,kmul(g22L,kmadd(G223,gu32,kmul(G233,gu33)))),kmadd(G311,kmadd(g13L,kmadd(G123,gu32,kmul(G133,gu33)),kmul(g33L,kmadd(G323,kadd(gu23,gu32),kmul(G333,gu33)))),kmul(g12L,kmadd(kmadd(G122,G211,kmul(G111,G222)),gu22,kmadd(gu33,kmadd(G133,G211,kmadd(G111,G233,kmul(G113,kmul(G213,ToReal(-2.))))),kmadd(kadd(gu23,gu32),kmadd(G123,G211,kmadd(G111,G223,kmul(G113,kmul(G212,ToReal(-1.))))),kmul(G112,kmul(ToReal(-1.),kmadd(G213,kadd(gu23,gu32),kmul(G212,kmul(gu22,ToReal(2.))))))))))))))),kmadd(kmadd(g13L,G113,kmul(g23L,G213)),kmul(G313,kmul(gu33,ToReal(4.))),kmul(gu22,kmadd(kadd(JacPDstandardNth11g22,JacPDstandardNth22g11),ToReal(-1.),kmadd(kmadd(g22L,kmul(G212,G212),kmul(g33L,kmul(G312,G312))),ToReal(2.),kmadd(g13L,kmadd(G111,kmul(G322,ToReal(-2.)),kmul(G112,kmul(G312,ToReal(4.)))),kmul(g23L,kmadd(G222,kmul(G311,ToReal(-2.)),kmul(G212,kmul(G312,ToReal(4.)))))))))))))))))); + kmul(ToReal(0.5),kmadd(gu23,JacPDstandardNth31g12,kmadd(gu32,JacPDstandardNth31g12,kmadd(gu12,ksub(JacPDstandardNth21g11,JacPDstandardNth12g11),kmadd(gu13,ksub(JacPDstandardNth31g11,JacPDstandardNth13g11),kmadd(kmadd(g23L,kmul(G212,kmul(G313,gu23)),kmadd(g33L,kmul(G312,kmul(G313,gu23)),kmadd(g22L,kmul(G212,kmul(G213,gu32)),kmadd(g13L,kmul(G113,kmul(G312,gu32)),kmadd(g23L,kmul(G213,kmul(G312,gu32)),kmadd(g13L,kmul(G112,kmul(G313,gu32)),kmadd(g23L,kmul(G212,kmul(G313,gu32)),kmul(gu22,JacPDstandardNth21g12)))))))),ToReal(2),kmadd(g22L,kmul(gu22,kmul(kmul(G212,G212),ToReal(2))),kmadd(g22L,kmul(gu33,kmul(kmul(G213,G213),ToReal(2))),kmadd(g33L,kmul(gu22,kmul(kmul(G312,G312),ToReal(2))),kmadd(g33L,kmul(gu33,kmul(kmul(G313,G313),ToReal(2))),kmadd(g11L,kmul(kmadd(G112,kmul(G113,kadd(gu23,gu32)),kmadd(gu22,kmul(G112,G112),kmsub(gu33,kmul(G113,G113),kmul(G111,kmadd(G122,gu22,kmadd(G123,kadd(gu23,gu32),kmul(G133,gu33))))))),ToReal(2)),kmadd(gu23,kadd(JacPDstandardNth21g13,kmadd(g13L,kmul(G123,kmul(G311,ToReal(-2))),kmadd(g23L,kmul(G223,kmul(G311,ToReal(-2))),kmadd(g13L,kmul(G111,kmul(G323,ToReal(-2))),ksub(ksub(kmadd(g22L,kmul(G212,kmul(G213,ToReal(2))),kmadd(g13L,kmul(G113,kmul(G312,ToReal(2))),kmadd(g23L,kmul(G213,kmul(G312,ToReal(2))),kmul(g13L,kmul(G112,kmul(G313,ToReal(2))))))),JacPDstandardNth23g11),JacPDstandardNth11g23))))),kmadd(gu32,kadd(JacPDstandardNth21g13,kmadd(g13L,kmul(G111,kmul(G323,ToReal(-2))),ksub(kmsub(g33L,kmul(G312,kmul(G313,ToReal(2))),JacPDstandardNth32g11),JacPDstandardNth11g23))),kmadd(gu33,ksub(kmsub(JacPDstandardNth31g13,ToReal(2),JacPDstandardNth33g11),JacPDstandardNth11g33),kmadd(ToReal(-2),kmadd(g22L,kmul(G211,kmul(G222,gu22)),kmadd(g13L,kmul(G122,kmul(G311,gu22)),kmadd(g23L,kmul(G211,kmul(G322,gu22)),kmadd(g33L,kmul(G311,kmul(G322,gu22)),kmadd(g22L,kmul(G211,kmul(G223,gu23)),kmadd(g23L,kmul(G211,kmul(G323,gu23)),kmadd(g33L,kmul(G311,kmul(G323,gu23)),kmadd(g22L,kmul(G211,kmul(G223,gu32)),kmadd(g13L,kmul(G123,kmul(G311,gu32)),kmadd(g23L,kmul(G223,kmul(G311,gu32)),kmadd(g23L,kmul(G211,kmul(G323,gu32)),kmadd(g33L,kmul(G311,kmul(G323,gu32)),kmadd(g22L,kmul(G211,kmul(G233,gu33)),kmadd(g13L,kmul(G133,kmul(G311,gu33)),kmadd(g23L,kmul(G233,kmul(G311,gu33)),kmadd(g13L,kmul(G111,kmul(G333,gu33)),kmadd(g23L,kmul(G211,kmul(G333,gu33)),kmadd(g33L,kmul(G311,kmul(G333,gu33)),kmul(g12L,kmadd(G122,kmul(G211,gu22),kmadd(G111,kmul(G222,gu22),kmadd(G111,kmul(G223,gu23),kmadd(G111,kmul(G223,gu32),kmadd(G133,kmul(G211,gu33),kmadd(G111,kmul(G233,gu33),kmadd(G113,kmul(G213,kmul(gu33,ToReal(-2))),kmadd(gu23,kmsub(G123,G211,kmul(G113,G212)),kmsub(gu32,kmsub(G123,G211,kmul(G113,G212)),kmul(G112,kmadd(G213,kadd(gu23,gu32),kmul(G212,kmul(gu22,ToReal(2))))))))))))))))))))))))))))))))),kmadd(kmadd(g13L,kmul(G113,kmul(G313,gu33)),kmul(g23L,kmul(G213,kmul(G313,gu33)))),ToReal(4),kmul(gu22,kmadd(g23L,kmul(G222,kmul(G311,ToReal(-2))),kmadd(g13L,kmul(G111,kmul(G322,ToReal(-2))),ksub(ksub(kmadd(g13L,kmul(G112,kmul(G312,ToReal(4))),kmul(g23L,kmul(G212,kmul(G312,ToReal(4))))),JacPDstandardNth22g11),JacPDstandardNth11g22)))))))))))))))))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED R12 = - kmul(ToReal(0.5),kmadd(gu22,JacPDstandardNth21g22,kmadd(gu12,kadd(JacPDstandardNth11g22,JacPDstandardNth22g11),kmadd(gu32,kadd(JacPDstandardNth22g13,JacPDstandardNth31g22),kmadd(kmadd(gu22,JacPDstandardNth12g22,kmadd(gu23,JacPDstandardNth23g12,kmadd(gu32,kadd(JacPDstandardNth12g23,JacPDstandardNth32g12),kmul(gu33,JacPDstandardNth33g12)))),ToReal(-1.),kmadd(gu13,kadd(JacPDstandardNth11g23,kmadd(kadd(JacPDstandardNth12g13,JacPDstandardNth13g12),ToReal(-1.),JacPDstandardNth32g11)),kmadd(ToReal(-2.),kmadd(kmadd(G212,kmadd(g22L,G223,kmul(g23L,G323)),kmul(G312,kmadd(g13L,G123,kmul(g33L,G323)))),gu23,kmadd(kmadd(G213,kmadd(g22L,G212,kmul(g23L,G312)),kmadd(g23L,kmul(G212,G313),kmul(g13L,kmadd(G113,G312,kmul(G112,G313))))),gu31,kmadd(kmadd(G233,kmadd(g22L,G212,kmul(g23L,G312)),kmadd(g23L,kmul(G212,G333),kmul(G312,kmadd(g13L,G133,kmul(g33L,G333))))),gu33,kmadd(gu12,JacPDstandardNth12g12,kmadd(g33L,kmul(gu21,kmul(G312,G312)),kmul(g11L,kmadd(G112,kmadd(G123,gu23,kmadd(G113,gu31,kmul(G133,gu33))),kmadd(gu21,kmul(G112,G112),kmul(kmadd(G111,kmadd(G122,gu21,kmul(G123,gu31)),kmul(G113,kmadd(G122,gu23,kmul(G123,gu33)))),ToReal(-1.)))))))))),kmadd(gu31,kmadd(g33L,kmul(G312,kmul(G313,ToReal(-2.))),kmul(g13L,kmul(G111,kmul(G323,ToReal(2.))))),kmadd(gu33,kadd(JacPDstandardNth31g23,kadd(JacPDstandardNth32g13,kmadd(g13L,kmul(G112,kmul(G333,ToReal(-2.))),kmadd(JacPDstandardNth12g33,ToReal(-1.),kmul(g33L,kmul(G313,kmul(G323,ToReal(2.)))))))),kmadd(gu21,kmadd(g22L,kmul(kmul(G212,G212),ToReal(-2.)),kmadd(g23L,kmadd(G212,kmul(G312,ToReal(-4.)),kmul(G222,kmul(G311,ToReal(2.)))),kmul(g13L,kmadd(G112,kmul(G312,ToReal(-4.)),kmul(G111,kmul(G322,ToReal(2.))))))),kmadd(gu23,kadd(JacPDstandardNth21g23,kadd(JacPDstandardNth32g12,kmadd(JacPDstandardNth12g23,ToReal(-1.),kmadd(g23L,kmadd(G223,kmul(G312,ToReal(-2.)),kmul(G222,kmul(G313,ToReal(2.)))),kmul(g13L,kmadd(G112,kmul(G323,ToReal(-2.)),kmul(kmadd(G122,G313,kmul(G113,G322)),ToReal(2.)))))))),kmul(ToReal(2.),kmadd(kmadd(G211,kmadd(g22L,G222,kmul(g23L,G322)),kmul(G311,kmadd(g13L,G122,kmul(g33L,G322)))),gu21,kmadd(kmadd(g13L,kmul(G123,G311),kmadd(G223,kmadd(g22L,G211,kmul(g23L,G311)),kmul(g23L,kmul(G211,G323)))),gu31,kmadd(g33L,kmadd(G313,kmul(G322,gu23),kmul(G311,kmul(G323,gu31))),kmadd(kmadd(kmadd(g13L,G123,kmul(g23L,G223)),G313,kmul(kmadd(g13L,G113,kmul(g23L,G213)),G323)),gu33,kmadd(G213,kmadd(kmadd(g22L,G222,kmul(g23L,G322)),gu23,kmul(g22L,kmul(G223,gu33))),kmul(g12L,kmadd(G222,kmadd(G111,gu21,kmul(G113,gu23)),kmadd(G122,kmadd(G211,gu21,kmul(G213,gu23)),kmadd(gu31,kmadd(G111,G223,kmul(G113,kmul(G212,ToReal(-1.)))),kmadd(gu33,kmadd(G113,G223,kmul(G133,kmul(G212,ToReal(-1.)))),kmadd(G123,kmadd(G211,gu31,kmadd(G213,gu33,kmul(G212,kmul(gu23,ToReal(-1.))))),kmul(G112,kmul(ToReal(-1.),kmadd(G223,gu23,kmadd(G213,gu31,kmadd(G233,gu33,kmul(G212,kmul(gu21,ToReal(2.))))))))))))))))))))))))))))))); + kmul(ToReal(0.5),kmadd(gu23,JacPDstandardNth21g23,kmadd(gu12,kadd(JacPDstandardNth11g22,JacPDstandardNth22g11),kmadd(gu32,JacPDstandardNth31g22,kmadd(gu33,JacPDstandardNth31g23,kmadd(gu13,JacPDstandardNth32g11,kmadd(gu23,JacPDstandardNth32g12,kmadd(gu33,JacPDstandardNth32g13,kmadd(g33L,kmul(gu21,kmul(kmul(G312,G312),ToReal(-2))),kmadd(gu22,ksub(JacPDstandardNth21g22,JacPDstandardNth12g22),kmadd(gu13,ksub(JacPDstandardNth11g23,kadd(JacPDstandardNth13g12,JacPDstandardNth12g13)),kmadd(gu32,ksub(JacPDstandardNth22g13,kadd(JacPDstandardNth32g12,JacPDstandardNth12g23)),kmadd(ToReal(-2),kmadd(g22L,kmul(G212,kmul(G223,gu23)),kmadd(g13L,kmul(G123,kmul(G312,gu23)),kmadd(g23L,kmul(G212,kmul(G323,gu23)),kmadd(g33L,kmul(G312,kmul(G323,gu23)),kmadd(g22L,kmul(G212,kmul(G213,gu31)),kmadd(g13L,kmul(G113,kmul(G312,gu31)),kmadd(g23L,kmul(G213,kmul(G312,gu31)),kmadd(g13L,kmul(G112,kmul(G313,gu31)),kmadd(g23L,kmul(G212,kmul(G313,gu31)),kmadd(g22L,kmul(G212,kmul(G233,gu33)),kmadd(g13L,kmul(G133,kmul(G312,gu33)),kmadd(g23L,kmul(G233,kmul(G312,gu33)),kmadd(g23L,kmul(G212,kmul(G333,gu33)),kmadd(g33L,kmul(G312,kmul(G333,gu33)),kmadd(gu12,JacPDstandardNth12g12,kmul(g11L,kmadd(G112,kmadd(G123,gu23,kmadd(G113,gu31,kmul(G133,gu33))),kmsub(gu21,kmul(G112,G112),kmadd(G113,kmadd(G122,gu23,kmul(G123,gu33)),kmul(G111,kmadd(G122,gu21,kmul(G123,gu31)))))))))))))))))))))),kmadd(gu21,kmadd(g13L,kmul(G112,kmul(G312,ToReal(-4))),kmadd(g23L,kmul(G212,kmul(G312,ToReal(-4))),kmadd(g22L,kmul(kmul(G212,G212),ToReal(-2)),kmadd(g23L,kmul(G222,kmul(G311,ToReal(2))),kmul(g13L,kmul(G111,kmul(G322,ToReal(2)))))))),kmadd(gu23,kmadd(g23L,kmul(G223,kmul(G312,ToReal(-2))),kmadd(g13L,kmul(G112,kmul(G323,ToReal(-2))),ksub(ksub(kmadd(g13L,kmul(G122,kmul(G313,ToReal(2))),kmadd(g23L,kmul(G222,kmul(G313,ToReal(2))),kmul(g13L,kmul(G113,kmul(G322,ToReal(2)))))),JacPDstandardNth23g12),JacPDstandardNth12g23))),kmadd(gu31,kmadd(g33L,kmul(G312,kmul(G313,ToReal(-2))),kmul(g13L,kmul(G111,kmul(G323,ToReal(2))))),kmadd(gu33,kmadd(g13L,kmul(G112,kmul(G333,ToReal(-2))),ksub(kmsub(g33L,kmul(G313,kmul(G323,ToReal(2))),JacPDstandardNth33g12),JacPDstandardNth12g33)),kmul(ToReal(2),kmadd(g22L,kmul(G211,kmul(G222,gu21)),kmadd(g13L,kmul(G122,kmul(G311,gu21)),kmadd(g23L,kmul(G211,kmul(G322,gu21)),kmadd(g33L,kmul(G311,kmul(G322,gu21)),kmadd(g22L,kmul(G213,kmul(G222,gu23)),kmadd(g23L,kmul(G213,kmul(G322,gu23)),kmadd(g33L,kmul(G313,kmul(G322,gu23)),kmadd(g22L,kmul(G211,kmul(G223,gu31)),kmadd(g13L,kmul(G123,kmul(G311,gu31)),kmadd(g23L,kmul(G223,kmul(G311,gu31)),kmadd(g23L,kmul(G211,kmul(G323,gu31)),kmadd(g33L,kmul(G311,kmul(G323,gu31)),kmadd(g22L,kmul(G213,kmul(G223,gu33)),kmadd(g13L,kmul(G123,kmul(G313,gu33)),kmadd(g23L,kmul(G223,kmul(G313,gu33)),kmadd(g13L,kmul(G113,kmul(G323,gu33)),kmadd(g23L,kmul(G213,kmul(G323,gu33)),kmul(g12L,kmadd(G111,kmul(G222,gu21),kmadd(G122,kmadd(G211,gu21,kmul(G213,gu23)),kmadd(G111,kmul(G223,gu31),kmadd(G113,kmul(G223,gu33),kmadd(gu31,kmsub(G123,G211,kmul(G113,G212)),kmadd(gu23,kmsub(G113,G222,kmul(G123,G212)),kmsub(gu33,kmsub(G123,G213,kmul(G133,G212)),kmul(G112,kmadd(G223,gu23,kmadd(G213,gu31,kmadd(G233,gu33,kmul(G212,kmul(gu21,ToReal(2)))))))))))))))))))))))))))))))))))))))))))))))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED R13 = - kmul(ToReal(0.5),kmadd(gu22,kadd(JacPDstandardNth21g23,JacPDstandardNth23g12),kmadd(gu33,JacPDstandardNth31g33,kmadd(gu13,kadd(JacPDstandardNth11g33,JacPDstandardNth33g11),kmadd(kmadd(kmadd(g13L,G113,kmul(g23L,G213)),kmul(G312,gu21),kmadd(kmadd(g23L,kmul(G222,G313),kmul(kmadd(g13L,G113,kmadd(g23L,G213,kmul(g33L,G313))),G322)),gu22,kmadd(G213,kmul(kmadd(g22L,G223,kmul(g23L,G323)),gu32),kmadd(G313,kmadd(kmadd(g13L,G112,kmul(g23L,G212)),gu21,kmadd(g13L,kmul(G122,gu22),kmul(g33L,kmul(G323,gu32)))),kmadd(gu13,JacPDstandardNth13g13,kmul(g33L,kmul(gu31,kmul(G313,G313)))))))),ToReal(-2.),kmadd(kmadd(gu23,JacPDstandardNth13g23,kmadd(gu33,JacPDstandardNth13g33,kmadd(gu22,kadd(JacPDstandardNth13g22,JacPDstandardNth22g13),kmul(gu32,JacPDstandardNth32g13)))),ToReal(-1.),kmadd(gu12,kadd(JacPDstandardNth11g23,kmadd(kadd(JacPDstandardNth12g13,JacPDstandardNth13g12),ToReal(-1.),JacPDstandardNth23g11)),kmadd(gu23,kadd(JacPDstandardNth21g33,kmadd(JacPDstandardNth23g13,ToReal(-1.),JacPDstandardNth33g12)),kmadd(gu21,kmadd(g33L,kmul(G312,kmul(G313,ToReal(-2.))),kmul(g13L,kmul(G111,kmul(G323,ToReal(2.))))),kmadd(g22L,kmadd(G213,kmul(G222,kmul(gu22,ToReal(-2.))),kmadd(G233,kmul(kmadd(G211,gu31,kmul(G212,gu32)),ToReal(2.)),kmul(gu21,kmadd(G212,kmul(G213,ToReal(-2.)),kmul(G211,kmul(G223,ToReal(2.))))))),kmadd(gu31,kmadd(g22L,kmul(kmul(G213,G213),ToReal(-2.)),kmadd(g23L,kmadd(G213,kmul(G313,ToReal(-4.)),kmul(G233,kmul(G311,ToReal(2.)))),kmul(g13L,kmadd(G113,kmul(G313,ToReal(-4.)),kmul(G111,kmul(G333,ToReal(2.))))))),kmadd(gu32,kadd(JacPDstandardNth23g13,kadd(JacPDstandardNth31g23,kmadd(JacPDstandardNth13g23,ToReal(-1.),kmadd(g23L,kmadd(G223,kmul(G313,ToReal(-2.)),kmul(G233,kmul(G312,ToReal(2.)))),kmul(g13L,kmadd(kmadd(G123,G313,kmul(G113,G323)),ToReal(-2.),kmul(G112,kmul(G333,ToReal(2.))))))))),kmul(ToReal(2.),kmadd(kmadd(G223,kmadd(g22L,G212,kmul(g23L,G312)),kmadd(g23L,kmul(G212,G323),kmul(G312,kmadd(g13L,G123,kmul(g33L,G323))))),gu22,kmadd(G323,kmadd(kmadd(g23L,G211,kmul(g33L,G311)),gu21,kmul(g13L,kmul(G112,gu22))),kmadd(G311,kmadd(kmadd(g13L,G123,kmul(g23L,G223)),gu21,kmul(g13L,kmul(G133,gu31))),kmadd(G312,kmul(kmadd(g13L,G133,kmul(g33L,G333)),gu32),kmadd(G333,kmadd(kmadd(g23L,G211,kmul(g33L,G311)),gu31,kmul(g23L,kmul(G212,gu32))),kmadd(g11L,kmadd(G111,kmadd(G123,gu21,kmul(G133,gu31)),kmadd(G113,kmul(kmadd(G122,gu22,kmadd(G113,gu31,kmul(G123,gu32))),ToReal(-1.)),kmul(G112,kmadd(G123,gu22,kmadd(G133,gu32,kmul(G113,kmul(gu21,ToReal(-1.)))))))),kmul(g12L,kmadd(kmadd(G133,G211,kmul(G111,G233)),gu31,kmadd(kmadd(G133,G212,kmul(G112,G233)),gu32,kmadd(gu21,kmadd(G111,G223,kmul(G112,kmul(G213,ToReal(-1.)))),kmadd(gu22,kmadd(G112,G223,kmul(G122,kmul(G213,ToReal(-1.)))),kmadd(G123,kmadd(G211,gu21,kmadd(G212,gu22,kmul(G213,kmul(gu32,ToReal(-1.))))),kmul(G113,kmul(ToReal(-1.),kmadd(G212,gu21,kmadd(G222,gu22,kmadd(G223,gu32,kmul(G213,kmul(gu31,ToReal(2.))))))))))))))))))))))))))))))))); + kmul(ToReal(0.5),kmadd(gu22,JacPDstandardNth23g12,kmadd(gu32,JacPDstandardNth23g13,kmadd(gu32,JacPDstandardNth31g23,kmadd(gu13,kadd(JacPDstandardNth11g33,JacPDstandardNth33g11),kmadd(gu23,JacPDstandardNth33g12,kmadd(kmadd(g13L,kmul(G113,kmul(G312,gu21)),kmadd(g23L,kmul(G213,kmul(G312,gu21)),kmadd(g13L,kmul(G112,kmul(G313,gu21)),kmadd(g23L,kmul(G212,kmul(G313,gu21)),kmadd(g13L,kmul(G122,kmul(G313,gu22)),kmadd(g23L,kmul(G222,kmul(G313,gu22)),kmadd(g13L,kmul(G113,kmul(G322,gu22)),kmadd(g23L,kmul(G213,kmul(G322,gu22)),kmadd(g33L,kmul(G313,kmul(G322,gu22)),kmadd(g22L,kmul(G213,kmul(G223,gu32)),kmadd(g23L,kmul(G213,kmul(G323,gu32)),kmadd(g33L,kmul(G313,kmul(G323,gu32)),kmadd(gu13,JacPDstandardNth13g13,kmul(g33L,kmul(gu31,kmul(G313,G313)))))))))))))))),ToReal(-2),kmadd(gu12,kadd(JacPDstandardNth11g23,ksub(JacPDstandardNth23g11,kadd(JacPDstandardNth13g12,JacPDstandardNth12g13))),kmadd(gu33,ksub(JacPDstandardNth31g33,JacPDstandardNth13g33),kmadd(gu22,ksub(JacPDstandardNth21g23,kadd(JacPDstandardNth22g13,JacPDstandardNth13g22)),kmadd(gu23,ksub(JacPDstandardNth21g33,kadd(JacPDstandardNth23g13,JacPDstandardNth13g23)),kmadd(gu21,kmadd(g33L,kmul(G312,kmul(G313,ToReal(-2))),kmul(g13L,kmul(G111,kmul(G323,ToReal(2))))),kmadd(gu31,kmadd(g13L,kmul(G113,kmul(G313,ToReal(-4))),kmadd(g23L,kmul(G213,kmul(G313,ToReal(-4))),kmadd(g22L,kmul(kmul(G213,G213),ToReal(-2)),kmadd(g23L,kmul(G233,kmul(G311,ToReal(2))),kmul(g13L,kmul(G111,kmul(G333,ToReal(2)))))))),kmadd(gu32,kmadd(g13L,kmul(G123,kmul(G313,ToReal(-2))),kmadd(g23L,kmul(G223,kmul(G313,ToReal(-2))),kmadd(g13L,kmul(G113,kmul(G323,ToReal(-2))),ksub(ksub(kmadd(g23L,kmul(G233,kmul(G312,ToReal(2))),kmul(g13L,kmul(G112,kmul(G333,ToReal(2))))),JacPDstandardNth32g13),JacPDstandardNth13g23)))),kmadd(g22L,kmadd(G212,kmul(G213,kmul(gu21,ToReal(-2))),kmadd(G213,kmul(G222,kmul(gu22,ToReal(-2))),kmadd(G211,kmul(G223,kmul(gu21,ToReal(2))),kmadd(G211,kmul(G233,kmul(gu31,ToReal(2))),kmul(G212,kmul(G233,kmul(gu32,ToReal(2)))))))),kmul(ToReal(2),kmadd(g13L,kmul(G123,kmul(G311,gu21)),kmadd(g23L,kmul(G223,kmul(G311,gu21)),kmadd(g23L,kmul(G211,kmul(G323,gu21)),kmadd(g33L,kmul(G311,kmul(G323,gu21)),kmadd(g22L,kmul(G212,kmul(G223,gu22)),kmadd(g13L,kmul(G123,kmul(G312,gu22)),kmadd(g23L,kmul(G223,kmul(G312,gu22)),kmadd(g13L,kmul(G112,kmul(G323,gu22)),kmadd(g23L,kmul(G212,kmul(G323,gu22)),kmadd(g33L,kmul(G312,kmul(G323,gu22)),kmadd(g13L,kmul(G133,kmul(G311,gu31)),kmadd(g23L,kmul(G211,kmul(G333,gu31)),kmadd(g33L,kmul(G311,kmul(G333,gu31)),kmadd(g13L,kmul(G133,kmul(G312,gu32)),kmadd(g23L,kmul(G212,kmul(G333,gu32)),kmadd(g33L,kmul(G312,kmul(G333,gu32)),kmadd(g11L,kmadd(G111,kmadd(G123,gu21,kmul(G133,gu31)),kmsub(G112,kmadd(G123,gu22,kmsub(G133,gu32,kmul(G113,gu21))),kmul(G113,kmadd(G122,gu22,kmadd(G113,gu31,kmul(G123,gu32)))))),kmul(g12L,kmadd(G133,kmul(G211,gu31),kmadd(G111,kmul(G233,gu31),kmadd(G133,kmul(G212,gu32),kmadd(G112,kmul(G233,gu32),kmadd(gu21,kmsub(G111,G223,kmul(G112,G213)),kmadd(gu22,kmsub(G112,G223,kmul(G122,G213)),kmsub(G123,kmadd(G211,gu21,kmsub(G212,gu22,kmul(G213,gu32))),kmul(G113,kmadd(G212,gu21,kmadd(G222,gu22,kmadd(G223,gu32,kmul(G213,kmul(gu31,ToReal(2)))))))))))))))))))))))))))))))))))))))))))))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED R22 = - kmul(ToReal(0.5),kmadd(gu23,JacPDstandardNth32g22,kmadd(kmadd(gu23,JacPDstandardNth23g22,kmul(gu33,kadd(JacPDstandardNth22g33,JacPDstandardNth33g22))),ToReal(-1.),kmadd(gu21,kmadd(JacPDstandardNth21g22,ToReal(-1.),JacPDstandardNth12g22),kmadd(kmadd(kmadd(G212,kmadd(g22L,G223,kmul(g23L,G323)),kmul(G312,kmadd(g13L,G123,kmul(g33L,G323)))),gu13,kmadd(kmadd(G223,kmadd(g22L,G212,kmul(g23L,G312)),kmadd(g23L,kmul(G212,G323),kmul(G312,kmadd(g13L,G123,kmul(g33L,G323))))),gu31,kmadd(gu11,JacPDstandardNth12g12,kmadd(gu33,kadd(JacPDstandardNth32g23,kmadd(g22L,kmul(G223,G223),kmul(g33L,kmul(G323,G323)))),kmul(g11L,kmadd(G112,kmul(G123,kadd(gu13,gu31)),kmadd(gu11,kmul(G112,G112),kmadd(gu33,kmul(G123,G123),kmul(G122,kmul(kmadd(G111,gu11,kmadd(G113,kadd(gu13,gu31),kmul(G133,gu33))),ToReal(-1.))))))))))),ToReal(2.),kmadd(gu31,kadd(JacPDstandardNth12g23,kadd(JacPDstandardNth32g12,kmadd(g33L,kmul(G313,kmul(G322,ToReal(-2.))),kmadd(kadd(JacPDstandardNth22g13,JacPDstandardNth31g22),ToReal(-1.),kmul(g13L,kmul(G112,kmul(G323,ToReal(2.)))))))),kmadd(gu13,kadd(JacPDstandardNth12g23,kadd(JacPDstandardNth32g12,kmadd(kadd(JacPDstandardNth13g22,JacPDstandardNth22g13),ToReal(-1.),kmadd(g23L,kmadd(G222,kmul(G313,ToReal(-2.)),kmul(G223,kmul(G312,ToReal(2.)))),kmul(g13L,kmadd(kmadd(G122,G313,kmul(G113,G322)),ToReal(-2.),kmul(G112,kmul(G323,ToReal(2.))))))))),kmadd(ToReal(-2.),kmadd(kmadd(G211,kmadd(g22L,G222,kmul(g23L,G322)),kmul(G311,kmadd(g13L,G122,kmul(g33L,G322)))),gu11,kmadd(kmadd(g13L,kmul(G113,G322),kmul(g23L,kmadd(G222,G313,kmul(G213,G322)))),gu31,kmadd(G313,kmadd(g33L,kmul(G322,gu13),kmul(g13L,kmul(G122,gu31))),kmadd(G213,kmadd(kmadd(g22L,G222,kmul(g23L,G322)),gu13,kmul(g22L,kmul(G222,gu31))),kmadd(kmadd(G233,kmadd(g22L,G222,kmul(g23L,G322)),kmadd(kmadd(g23L,G222,kmul(g33L,G322)),G333,kmul(g13L,kmadd(G133,G322,kmul(G122,G333))))),gu33,kmul(g12L,kmadd(G222,kmadd(G111,gu11,kmadd(G113,kadd(gu13,gu31),kmul(G133,gu33))),kmadd(G122,kmadd(G211,gu11,kmadd(G213,kadd(gu13,gu31),kmul(G233,gu33))),kmadd(G123,kmul(G223,kmul(gu33,ToReal(-2.))),kmul(ToReal(-1.),kmadd(G123,kmul(G212,kadd(gu13,gu31)),kmul(G112,kmadd(G223,kadd(gu13,gu31),kmul(G212,kmul(gu11,ToReal(2.)))))))))))))))),kmadd(kmadd(g13L,G123,kmul(g23L,G223)),kmul(G323,kmul(gu33,ToReal(4.))),kmul(gu11,kmadd(kadd(JacPDstandardNth11g22,JacPDstandardNth22g11),ToReal(-1.),kmadd(kmadd(g22L,kmul(G212,G212),kmul(g33L,kmul(G312,G312))),ToReal(2.),kmadd(g13L,kmadd(G111,kmul(G322,ToReal(-2.)),kmul(G112,kmul(G312,ToReal(4.)))),kmul(g23L,kmadd(G222,kmul(G311,ToReal(-2.)),kmul(G212,kmul(G312,ToReal(4.)))))))))))))))))); + kmul(ToReal(0.5),kmadd(gu31,JacPDstandardNth32g12,kmadd(gu21,ksub(JacPDstandardNth12g22,JacPDstandardNth21g22),kmadd(gu23,ksub(JacPDstandardNth32g22,JacPDstandardNth23g22),knmsub(gu33,kadd(JacPDstandardNth33g22,JacPDstandardNth22g33),kmadd(kmadd(g22L,kmul(G212,kmul(G223,gu13)),kmadd(g13L,kmul(G123,kmul(G312,gu13)),kmadd(g23L,kmul(G212,kmul(G323,gu13)),kmadd(g33L,kmul(G312,kmul(G323,gu13)),kmadd(g22L,kmul(G212,kmul(G223,gu31)),kmadd(g13L,kmul(G123,kmul(G312,gu31)),kmadd(g23L,kmul(G223,kmul(G312,gu31)),kmadd(g23L,kmul(G212,kmul(G323,gu31)),kmadd(g33L,kmul(G312,kmul(G323,gu31)),kmadd(gu11,JacPDstandardNth12g12,kmul(gu33,JacPDstandardNth32g23))))))))))),ToReal(2),kmadd(g22L,kmul(gu33,kmul(kmul(G223,G223),ToReal(2))),kmadd(g33L,kmul(gu11,kmul(kmul(G312,G312),ToReal(2))),kmadd(g33L,kmul(gu33,kmul(kmul(G323,G323),ToReal(2))),kmadd(g11L,kmul(kmadd(G112,kmul(G123,kadd(gu13,gu31)),kmadd(gu11,kmul(G112,G112),kmsub(gu33,kmul(G123,G123),kmul(G122,kmadd(G111,gu11,kmadd(G113,kadd(gu31,gu13),kmul(G133,gu33))))))),ToReal(2)),kmadd(gu31,kadd(JacPDstandardNth12g23,kmadd(g33L,kmul(G313,kmul(G322,ToReal(-2))),ksub(kmsub(g13L,kmul(G112,kmul(G323,ToReal(2))),JacPDstandardNth31g22),JacPDstandardNth22g13))),kmadd(gu13,kadd(JacPDstandardNth12g23,kadd(JacPDstandardNth32g12,kmadd(g13L,kmul(G122,kmul(G313,ToReal(-2))),kmadd(g23L,kmul(G222,kmul(G313,ToReal(-2))),kmadd(g13L,kmul(G113,kmul(G322,ToReal(-2))),ksub(ksub(kmadd(g23L,kmul(G223,kmul(G312,ToReal(2))),kmul(g13L,kmul(G112,kmul(G323,ToReal(2))))),JacPDstandardNth22g13),JacPDstandardNth13g22)))))),kmadd(ToReal(-2),kmadd(g22L,kmul(G211,kmul(G222,gu11)),kmadd(g13L,kmul(G122,kmul(G311,gu11)),kmadd(g23L,kmul(G211,kmul(G322,gu11)),kmadd(g33L,kmul(G311,kmul(G322,gu11)),kmadd(g22L,kmul(G213,kmul(G222,gu13)),kmadd(g23L,kmul(G213,kmul(G322,gu13)),kmadd(g33L,kmul(G313,kmul(G322,gu13)),kmadd(g22L,kmul(G213,kmul(G222,gu31)),kmadd(g13L,kmul(G122,kmul(G313,gu31)),kmadd(g23L,kmul(G222,kmul(G313,gu31)),kmadd(g13L,kmul(G113,kmul(G322,gu31)),kmadd(g23L,kmul(G213,kmul(G322,gu31)),kmadd(g22L,kmul(G222,kmul(G233,gu33)),kmadd(g13L,kmul(G133,kmul(G322,gu33)),kmadd(g23L,kmul(G233,kmul(G322,gu33)),kmadd(g13L,kmul(G122,kmul(G333,gu33)),kmadd(g23L,kmul(G222,kmul(G333,gu33)),kmadd(g33L,kmul(G322,kmul(G333,gu33)),kmul(g12L,kmadd(G111,kmul(G222,gu11),kmadd(G133,kmul(G222,gu33),kmadd(G122,kmadd(G211,gu11,kmadd(G213,kadd(gu13,gu31),kmul(G233,gu33))),kmadd(G123,kmul(G223,kmul(gu33,ToReal(-2))),kmadd(gu13,kmsub(G113,G222,kmul(G123,G212)),kmsub(gu31,kmsub(G113,G222,kmul(G123,G212)),kmul(G112,kmadd(G223,kadd(gu13,gu31),kmul(G212,kmul(gu11,ToReal(2)))))))))))))))))))))))))))))),kmadd(kmadd(g13L,kmul(G123,kmul(G323,gu33)),kmul(g23L,kmul(G223,kmul(G323,gu33)))),ToReal(4),kmul(gu11,kmadd(g23L,kmul(G222,kmul(G311,ToReal(-2))),kmadd(g13L,kmul(G111,kmul(G322,ToReal(-2))),ksub(ksub(kmadd(g22L,kmul(kmul(G212,G212),ToReal(2)),kmadd(g13L,kmul(G112,kmul(G312,ToReal(4))),kmul(g23L,kmul(G212,kmul(G312,ToReal(4)))))),JacPDstandardNth22g11),JacPDstandardNth11g22)))))))))))))))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED R23 = - kmul(ToReal(0.5),kmadd(gu23,kadd(JacPDstandardNth22g33,JacPDstandardNth33g22),kmadd(kmadd(kmadd(G223,kmadd(g22L,G212,kmul(g23L,G312)),kmadd(g23L,kmul(G212,G323),kmul(G312,kmadd(g13L,G123,kmul(g33L,G323))))),gu12,kmadd(kmadd(g13L,G123,kmul(g23L,G223)),kmadd(G311,gu11,kmul(G313,gu31)),kmadd(G323,kmadd(kmadd(g23L,G211,kmul(g33L,G311)),gu11,kmadd(kmadd(g23L,G213,kmul(g33L,G313)),gu31,kmul(g13L,kmadd(G112,gu12,kmul(G113,gu31))))),kmadd(gu23,JacPDstandardNth23g23,kmul(g33L,kmul(gu32,kmul(G323,G323))))))),ToReal(-2.),kmadd(gu21,kadd(JacPDstandardNth13g22,kmadd(kadd(JacPDstandardNth21g23,JacPDstandardNth23g12),ToReal(-1.),JacPDstandardNth22g13)),kmadd(gu13,kadd(JacPDstandardNth12g33,kmadd(kadd(JacPDstandardNth13g23,JacPDstandardNth23g13),ToReal(-1.),JacPDstandardNth33g12)),kmadd(gu33,kmadd(JacPDstandardNth23g33,ToReal(-1.),JacPDstandardNth32g33),kmadd(gu31,kadd(JacPDstandardNth13g23,kmadd(kadd(JacPDstandardNth23g13,JacPDstandardNth31g23),ToReal(-1.),JacPDstandardNth32g13)),kmadd(gu11,kadd(JacPDstandardNth12g13,kadd(JacPDstandardNth13g12,kmadd(g13L,kmul(G111,kmul(G323,ToReal(-2.))),kmadd(kadd(JacPDstandardNth11g23,JacPDstandardNth23g11),ToReal(-1.),kmul(g33L,kmul(G312,kmul(G313,ToReal(2.)))))))),kmadd(gu32,kmadd(g22L,kmul(kmul(G223,G223),ToReal(-2.)),kmadd(g23L,kmadd(G223,kmul(G323,ToReal(-4.)),kmul(G233,kmul(G322,ToReal(2.)))),kmul(g13L,kmadd(G123,kmul(G323,ToReal(-4.)),kmul(G122,kmul(G333,ToReal(2.))))))),kmadd(g22L,kmadd(G222,kmul(G233,kmul(gu32,ToReal(2.))),kmadd(gu11,kmadd(G211,kmul(G223,ToReal(-2.)),kmul(G212,kmul(G213,ToReal(2.)))),kmul(G213,kmadd(G223,kmul(gu31,ToReal(-2.)),kmul(G222,kmul(gu12,ToReal(2.))))))),kmul(ToReal(2.),kmadd(kmadd(g23L,kmul(G222,G313),kmul(g13L,kmul(G113,G322))),gu12,kmadd(G313,kmadd(kmadd(g13L,G112,kmul(g23L,G212)),gu11,kmul(g13L,kmul(G122,gu12))),kmadd(G233,kmul(kmadd(g22L,G212,kmul(g23L,G312)),gu31),kmadd(G312,kmadd(kmadd(g13L,G113,kmul(g23L,G213)),gu11,kmul(kmadd(g13L,G133,kmul(g33L,G333)),gu31)),kmadd(G333,kmadd(kmadd(g13L,G112,kmul(g23L,G212)),gu31,kmul(g23L,kmul(G222,gu32))),kmadd(G322,kmadd(kmadd(g23L,G213,kmul(g33L,G313)),gu12,kmul(kmadd(g13L,G133,kmul(g33L,G333)),gu32)),kmadd(g11L,kmadd(G122,kmadd(G113,gu12,kmul(G133,gu32)),kmadd(kmadd(G123,kmadd(G111,gu11,kmul(G113,gu31)),kmul(gu32,kmul(G123,G123))),ToReal(-1.),kmul(G112,kmadd(G113,gu11,kmadd(G133,gu31,kmul(G123,kmul(gu12,ToReal(-1.)))))))),kmul(g12L,kmadd(kmadd(G133,G222,kmul(G122,G233)),gu32,kmadd(gu11,kmadd(G113,G212,kmadd(G112,G213,kmul(G111,kmul(G223,ToReal(-1.))))),kmadd(gu12,kmadd(G122,G213,kmadd(G113,G222,kmul(G112,kmul(G223,ToReal(-1.))))),kmadd(gu31,kmadd(G133,G212,kmadd(G112,G233,kmul(G113,kmul(G223,ToReal(-1.))))),kmul(G123,kmul(ToReal(-1.),kmadd(G211,gu11,kmadd(G212,gu12,kmadd(G213,gu31,kmul(G223,kmul(gu32,ToReal(2.))))))))))))))))))))))))))))))); + kmul(ToReal(0.5),kmadd(gu23,kadd(JacPDstandardNth22g33,JacPDstandardNth33g22),kmadd(kmadd(kmadd(G223,kmadd(g22L,G212,kmul(g23L,G312)),kmadd(g23L,kmul(G212,G323),kmul(G312,kmadd(g13L,G123,kmul(g33L,G323))))),gu12,kmadd(kmadd(g13L,G123,kmul(g23L,G223)),kmadd(G311,gu11,kmul(G313,gu31)),kmadd(G323,kmadd(kmadd(g23L,G211,kmul(g33L,G311)),gu11,kmadd(kmadd(g23L,G213,kmul(g33L,G313)),gu31,kmul(g13L,kmadd(G112,gu12,kmul(G113,gu31))))),kmadd(gu23,JacPDstandardNth23g23,kmul(g33L,kmul(gu32,kmul(G323,G323))))))),ToReal(-2),kmadd(gu21,kadd(JacPDstandardNth13g22,ksub(JacPDstandardNth22g13,kadd(JacPDstandardNth23g12,JacPDstandardNth21g23))),kmadd(gu13,kadd(JacPDstandardNth12g33,ksub(JacPDstandardNth33g12,kadd(JacPDstandardNth23g13,JacPDstandardNth13g23))),kmadd(gu33,ksub(JacPDstandardNth32g33,JacPDstandardNth23g33),kmadd(gu31,kadd(JacPDstandardNth13g23,ksub(JacPDstandardNth32g13,kadd(JacPDstandardNth31g23,JacPDstandardNth23g13))),kmadd(gu11,kadd(JacPDstandardNth12g13,kadd(JacPDstandardNth13g12,kmadd(g13L,kmul(G111,kmul(G323,ToReal(-2))),ksub(kmsub(g33L,kmul(G312,kmul(G313,ToReal(2))),JacPDstandardNth23g11),JacPDstandardNth11g23)))),kmadd(gu32,kmadd(g22L,kmul(kmul(G223,G223),ToReal(-2)),kmadd(g23L,kmadd(G223,kmul(G323,ToReal(-4)),kmul(G233,kmul(G322,ToReal(2)))),kmul(g13L,kmadd(G123,kmul(G323,ToReal(-4)),kmul(G122,kmul(G333,ToReal(2))))))),kmadd(g22L,kmadd(G222,kmul(G233,kmul(gu32,ToReal(2))),kmadd(gu11,kmadd(G211,kmul(G223,ToReal(-2)),kmul(G212,kmul(G213,ToReal(2)))),kmul(G213,kmadd(G223,kmul(gu31,ToReal(-2)),kmul(G222,kmul(gu12,ToReal(2))))))),kmul(ToReal(2),kmadd(kmadd(g23L,kmul(G222,G313),kmul(g13L,kmul(G113,G322))),gu12,kmadd(G313,kmadd(kmadd(g13L,G112,kmul(g23L,G212)),gu11,kmul(g13L,kmul(G122,gu12))),kmadd(G233,kmul(kmadd(g22L,G212,kmul(g23L,G312)),gu31),kmadd(G312,kmadd(kmadd(g13L,G113,kmul(g23L,G213)),gu11,kmul(kmadd(g13L,G133,kmul(g33L,G333)),gu31)),kmadd(G333,kmadd(kmadd(g13L,G112,kmul(g23L,G212)),gu31,kmul(g23L,kmul(G222,gu32))),kmadd(G322,kmadd(kmadd(g23L,G213,kmul(g33L,G313)),gu12,kmul(kmadd(g13L,G133,kmul(g33L,G333)),gu32)),kmadd(g11L,kmadd(G113,kmul(G122,gu12),kmadd(G112,kmadd(G113,gu11,kmsub(G133,gu31,kmul(G123,gu12))),kmsub(gu32,kmsub(G122,G133,kmul(G123,G123)),kmul(G123,kmadd(G113,gu31,kmul(G111,gu11)))))),kmul(g12L,kmadd(kmadd(G133,G222,kmul(G122,G233)),gu32,kmadd(gu11,kmadd(G113,G212,kmsub(G112,G213,kmul(G111,G223))),kmadd(gu12,kmadd(G122,G213,kmsub(G113,G222,kmul(G112,G223))),kmsub(gu31,kmadd(G133,G212,kmsub(G112,G233,kmul(G113,G223))),kmul(G123,kmadd(G211,gu11,kmadd(G212,gu12,kmadd(G213,gu31,kmul(G223,kmul(gu32,ToReal(2)))))))))))))))))))))))))))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED R33 = - kmul(ToReal(0.5),kmadd(gu32,JacPDstandardNth23g33,kmadd(kmadd(gu32,JacPDstandardNth32g33,kmul(gu22,kadd(JacPDstandardNth22g33,JacPDstandardNth33g22))),ToReal(-1.),kmadd(gu31,kmadd(JacPDstandardNth31g33,ToReal(-1.),JacPDstandardNth13g33),kmadd(kmadd(kmadd(g13L,kmul(G123,G313),kmadd(G223,kmadd(g22L,G213,kmul(g23L,G313)),kmul(g23L,kmul(G213,G323)))),gu21,kmadd(G323,kmadd(kmadd(g23L,G213,kmul(g33L,G313)),gu12,kmul(g13L,kmul(G113,gu21))),kmadd(gu11,JacPDstandardNth13g13,kmadd(gu22,kadd(JacPDstandardNth23g23,kmadd(g22L,kmul(G223,G223),kmul(g33L,kmul(G323,G323)))),kmul(g11L,kmadd(G113,kmul(G123,kadd(gu12,gu21)),kmadd(gu11,kmul(G113,G113),kmadd(gu22,kmul(G123,G123),kmul(G133,kmul(kmadd(G111,gu11,kmadd(G112,kadd(gu12,gu21),kmul(G122,gu22))),ToReal(-1.))))))))))),ToReal(2.),kmadd(gu21,kadd(JacPDstandardNth13g23,kadd(JacPDstandardNth23g13,kmadd(g13L,kmul(G112,kmul(G333,ToReal(-2.))),kmadd(kadd(JacPDstandardNth21g33,JacPDstandardNth33g12),ToReal(-1.),kmul(g33L,kmul(G313,kmul(G323,ToReal(2.)))))))),kmadd(gu12,kadd(JacPDstandardNth13g23,kadd(JacPDstandardNth23g13,kmadd(kmadd(kmadd(g13L,G133,kmul(g23L,G233)),G312,kmul(g13L,kmul(G112,G333))),ToReal(-2.),kmadd(kadd(JacPDstandardNth12g33,JacPDstandardNth33g12),ToReal(-1.),kmul(kmadd(G223,kmadd(g22L,G213,kmul(g23L,G313)),kmul(g13L,kmadd(G123,G313,kmul(G113,G323)))),ToReal(2.)))))),kmadd(ToReal(-2.),kmadd(kmadd(G211,kmadd(g22L,G233,kmul(g23L,G333)),kmul(G311,kmadd(g13L,G133,kmul(g33L,G333)))),gu11,kmadd(G212,kmadd(kmadd(g22L,G233,kmul(g23L,G333)),gu12,kmul(g22L,kmul(G233,gu21))),kmadd(G312,kmadd(g13L,kmul(G133,gu21),kmul(g33L,kmul(G333,kadd(gu12,gu21)))),kmadd(kmadd(g22L,kmul(G222,G233),kmadd(kmadd(g23L,G222,kmul(g33L,G322)),G333,kmul(g13L,kmadd(G133,G322,kmul(G122,G333))))),gu22,kmadd(g23L,kmadd(kmadd(G233,G312,kmul(G212,G333)),gu21,kmul(G233,kmul(G322,gu22))),kmul(g12L,kmadd(G233,kmadd(G111,gu11,kmadd(G112,kadd(gu12,gu21),kmul(G122,gu22))),kmadd(G133,kmadd(G211,gu11,kmadd(G212,kadd(gu12,gu21),kmul(G222,gu22))),kmadd(G123,kmul(G223,kmul(gu22,ToReal(-2.))),kmul(ToReal(-1.),kmadd(G123,kmul(G213,kadd(gu12,gu21)),kmul(G113,kmadd(G223,kadd(gu12,gu21),kmul(G213,kmul(gu11,ToReal(2.)))))))))))))))),kmadd(kmadd(g13L,G123,kmul(g23L,G223)),kmul(G323,kmul(gu22,ToReal(4.))),kmul(gu11,kmadd(kadd(JacPDstandardNth11g33,JacPDstandardNth33g11),ToReal(-1.),kmadd(kmadd(g22L,kmul(G213,G213),kmul(g33L,kmul(G313,G313))),ToReal(2.),kmadd(g13L,kmadd(G111,kmul(G333,ToReal(-2.)),kmul(G113,kmul(G313,ToReal(4.)))),kmul(g23L,kmadd(G233,kmul(G311,ToReal(-2.)),kmul(G213,kmul(G313,ToReal(4.)))))))))))))))))); + kmul(ToReal(0.5),kmadd(gu31,ksub(JacPDstandardNth13g33,JacPDstandardNth31g33),kmadd(gu32,ksub(JacPDstandardNth23g33,JacPDstandardNth32g33),knmsub(gu22,kadd(JacPDstandardNth33g22,JacPDstandardNth22g33),kmadd(kmadd(g23L,kmul(G213,kmul(G323,gu12)),kmadd(g33L,kmul(G313,kmul(G323,gu12)),kmadd(g22L,kmul(G213,kmul(G223,gu21)),kmadd(g13L,kmul(G123,kmul(G313,gu21)),kmadd(g23L,kmul(G223,kmul(G313,gu21)),kmadd(g13L,kmul(G113,kmul(G323,gu21)),kmadd(g23L,kmul(G213,kmul(G323,gu21)),kmadd(gu11,JacPDstandardNth13g13,kmul(gu22,JacPDstandardNth23g23))))))))),ToReal(2),kmadd(g22L,kmul(gu11,kmul(kmul(G213,G213),ToReal(2))),kmadd(g22L,kmul(gu22,kmul(kmul(G223,G223),ToReal(2))),kmadd(g33L,kmul(gu11,kmul(kmul(G313,G313),ToReal(2))),kmadd(g33L,kmul(gu22,kmul(kmul(G323,G323),ToReal(2))),kmadd(g11L,kmul(kmadd(G113,kmul(G123,kadd(gu12,gu21)),kmadd(gu11,kmul(G113,G113),kmsub(gu22,kmul(G123,G123),kmul(G133,kmadd(G111,gu11,kmadd(G112,kadd(gu21,gu12),kmul(G122,gu22))))))),ToReal(2)),kmadd(gu12,kadd(JacPDstandardNth13g23,kadd(JacPDstandardNth23g13,kmadd(g13L,kmul(G133,kmul(G312,ToReal(-2))),kmadd(g23L,kmul(G233,kmul(G312,ToReal(-2))),kmadd(g13L,kmul(G112,kmul(G333,ToReal(-2))),ksub(ksub(kmadd(g22L,kmul(G213,kmul(G223,ToReal(2))),kmadd(g13L,kmul(G123,kmul(G313,ToReal(2))),kmadd(g23L,kmul(G223,kmul(G313,ToReal(2))),kmul(g13L,kmul(G113,kmul(G323,ToReal(2))))))),JacPDstandardNth33g12),JacPDstandardNth12g33)))))),kmadd(gu21,kadd(JacPDstandardNth13g23,kadd(JacPDstandardNth23g13,kmadd(g13L,kmul(G112,kmul(G333,ToReal(-2))),ksub(kmsub(g33L,kmul(G313,kmul(G323,ToReal(2))),JacPDstandardNth33g12),JacPDstandardNth21g33)))),kmadd(ToReal(-2),kmadd(g22L,kmul(G211,kmul(G233,gu11)),kmadd(g13L,kmul(G133,kmul(G311,gu11)),kmadd(g23L,kmul(G211,kmul(G333,gu11)),kmadd(g33L,kmul(G311,kmul(G333,gu11)),kmadd(g22L,kmul(G212,kmul(G233,gu12)),kmadd(g23L,kmul(G212,kmul(G333,gu12)),kmadd(g33L,kmul(G312,kmul(G333,gu12)),kmadd(g22L,kmul(G212,kmul(G233,gu21)),kmadd(g13L,kmul(G133,kmul(G312,gu21)),kmadd(g23L,kmul(G233,kmul(G312,gu21)),kmadd(g23L,kmul(G212,kmul(G333,gu21)),kmadd(g33L,kmul(G312,kmul(G333,gu21)),kmadd(g22L,kmul(G222,kmul(G233,gu22)),kmadd(g13L,kmul(G133,kmul(G322,gu22)),kmadd(g23L,kmul(G233,kmul(G322,gu22)),kmadd(g13L,kmul(G122,kmul(G333,gu22)),kmadd(g23L,kmul(G222,kmul(G333,gu22)),kmadd(g33L,kmul(G322,kmul(G333,gu22)),kmul(g12L,kmadd(G111,kmul(G233,gu11),kmadd(G122,kmul(G233,gu22),kmadd(G133,kmadd(G211,gu11,kmadd(G212,kadd(gu12,gu21),kmul(G222,gu22))),kmadd(G123,kmul(G223,kmul(gu22,ToReal(-2))),kmadd(gu12,kmsub(G112,G233,kmul(G123,G213)),kmsub(gu21,kmsub(G112,G233,kmul(G123,G213)),kmul(G113,kmadd(G223,kadd(gu12,gu21),kmul(G213,kmul(gu11,ToReal(2)))))))))))))))))))))))))))))),kmadd(kmadd(g13L,kmul(G123,kmul(G323,gu22)),kmul(g23L,kmul(G223,kmul(G323,gu22)))),ToReal(4),kmul(gu11,kmadd(g23L,kmul(G233,kmul(G311,ToReal(-2))),kmadd(g13L,kmul(G111,kmul(G333,ToReal(-2))),ksub(ksub(kmadd(g13L,kmul(G113,kmul(G313,ToReal(4))),kmul(g23L,kmul(G213,kmul(G313,ToReal(4))))),JacPDstandardNth33g11),JacPDstandardNth11g33)))))))))))))))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED trR = kmadd(gu11,R11,kmadd(kadd(gu12,gu21),R12,kmadd(kadd(gu13,gu31),R13,kmadd(gu22,R22,kmadd(kadd(gu23,gu32),R23,kmul(gu33,R33)))))); @@ -1212,19 +1253,19 @@ static void ML_ADM_constraints_Body(cGH const * restrict const cctkGH, int const CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED trK = kadd(Km11,kadd(Km22,Km33)); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED HL = - kadd(trR,kmadd(trK,trK,kmadd(kmadd(Km12,Km21,kmadd(Km13,Km31,kmul(Km23,Km32))),ToReal(-2.),kmul(kmadd(Km11,Km11,kmadd(Km22,Km22,kmul(Km33,Km33))),ToReal(-1.))))); + kadd(trR,kmadd(trK,trK,kmsub(kmadd(Km12,Km21,kmadd(Km13,Km31,kmul(Km23,Km32))),ToReal(-2),kmadd(Km11,Km11,kmadd(Km33,Km33,kmul(Km22,Km22)))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED M1L = - kmadd(gu21,kmadd(K22L,G211,kmadd(K23L,G311,kadd(JacPDstandardNth2K11,kmadd(kmadd(K11L,G112,kmadd(K13L,G312,JacPDstandardNth1K12)),ToReal(-1.),kmul(K12L,kmadd(G212,ToReal(-1.),G111)))))),kmadd(gu22,kmadd(K22L,G212,kmadd(K23L,G312,kadd(JacPDstandardNth2K12,kmadd(kmadd(K11L,G122,kmadd(K13L,G322,JacPDstandardNth1K22)),ToReal(-1.),kmul(K12L,kmadd(G222,ToReal(-1.),G112)))))),kmadd(gu23,kmadd(K22L,G213,kmadd(K23L,G313,kadd(JacPDstandardNth2K13,kmadd(kmadd(K11L,G123,kmadd(K13L,G323,JacPDstandardNth1K23)),ToReal(-1.),kmul(K12L,kmadd(G223,ToReal(-1.),G113)))))),kmadd(gu31,kmadd(K23L,G211,kmadd(K33L,G311,kadd(JacPDstandardNth3K11,kmadd(kmadd(K11L,G113,kmadd(K12L,G213,JacPDstandardNth1K13)),ToReal(-1.),kmul(K13L,kmadd(G313,ToReal(-1.),G111)))))),kmadd(gu32,kmadd(K23L,G212,kmadd(K33L,G312,kadd(JacPDstandardNth3K12,kmadd(kmadd(K11L,G123,kmadd(K12L,G223,JacPDstandardNth1K23)),ToReal(-1.),kmul(K13L,kmadd(G323,ToReal(-1.),G112)))))),kmul(gu33,kmadd(K23L,G213,kmadd(K33L,G313,kadd(JacPDstandardNth3K13,kmadd(kmadd(K11L,G133,kmadd(K12L,G233,JacPDstandardNth1K33)),ToReal(-1.),kmul(K13L,kmadd(G333,ToReal(-1.),G113)))))))))))); + kmadd(gu21,kmadd(K22L,G211,kmadd(K23L,G311,kadd(JacPDstandardNth2K11,knmsub(K11L,G112,knmsub(K13L,G312,kmsub(K12L,ksub(G111,G212),JacPDstandardNth1K12)))))),kmadd(gu22,kmadd(K22L,G212,kmadd(K23L,G312,kadd(JacPDstandardNth2K12,knmsub(K11L,G122,knmsub(K13L,G322,kmsub(K12L,ksub(G112,G222),JacPDstandardNth1K22)))))),kmadd(gu23,kmadd(K22L,G213,kmadd(K23L,G313,kadd(JacPDstandardNth2K13,knmsub(K11L,G123,knmsub(K13L,G323,kmsub(K12L,ksub(G113,G223),JacPDstandardNth1K23)))))),kmadd(gu31,kmadd(K23L,G211,kmadd(K33L,G311,kadd(JacPDstandardNth3K11,knmsub(K11L,G113,knmsub(K12L,G213,kmsub(K13L,ksub(G111,G313),JacPDstandardNth1K13)))))),kmadd(gu32,kmadd(K23L,G212,kmadd(K33L,G312,kadd(JacPDstandardNth3K12,knmsub(K11L,G123,knmsub(K12L,G223,kmsub(K13L,ksub(G112,G323),JacPDstandardNth1K23)))))),kmul(gu33,kmadd(K23L,G213,kmadd(K33L,G313,kadd(JacPDstandardNth3K13,knmsub(K11L,G133,knmsub(K12L,G233,kmsub(K13L,ksub(G113,G333),JacPDstandardNth1K33)))))))))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED M2L = - kmadd(gu11,kmadd(K11L,G112,kmadd(K12L,G212,kmadd(K13L,G312,kmadd(kmadd(K12L,G111,kmadd(K22L,G211,kmadd(K23L,G311,JacPDstandardNth2K11))),ToReal(-1.),JacPDstandardNth1K12)))),kmadd(gu12,kmadd(K11L,G122,kmadd(K12L,G222,kmadd(K13L,G322,kmadd(kmadd(K12L,G112,kmadd(K22L,G212,kmadd(K23L,G312,JacPDstandardNth2K12))),ToReal(-1.),JacPDstandardNth1K22)))),kmadd(gu13,kmadd(K11L,G123,kmadd(K12L,G223,kmadd(K13L,G323,kmadd(kmadd(K12L,G113,kmadd(K22L,G213,kmadd(K23L,G313,JacPDstandardNth2K13))),ToReal(-1.),JacPDstandardNth1K23)))),kmadd(gu31,kmadd(K13L,G112,kmadd(K33L,G312,kadd(JacPDstandardNth3K12,kmadd(kmadd(K12L,G113,kmadd(K22L,G213,JacPDstandardNth2K13)),ToReal(-1.),kmul(K23L,kmadd(G313,ToReal(-1.),G212)))))),kmadd(gu32,kmadd(K13L,G122,kmadd(K33L,G322,kadd(JacPDstandardNth3K22,kmadd(kmadd(K12L,G123,kmadd(K22L,G223,JacPDstandardNth2K23)),ToReal(-1.),kmul(K23L,kmadd(G323,ToReal(-1.),G222)))))),kmul(gu33,kmadd(K13L,G123,kmadd(K33L,G323,kadd(JacPDstandardNth3K23,kmadd(kmadd(K12L,G133,kmadd(K22L,G233,JacPDstandardNth2K33)),ToReal(-1.),kmul(K23L,kmadd(G333,ToReal(-1.),G223)))))))))))); + kmadd(gu11,kmadd(K11L,G112,kmadd(K13L,G312,kadd(JacPDstandardNth1K12,knmsub(K22L,G211,knmsub(K23L,G311,kmsub(K12L,ksub(G212,G111),JacPDstandardNth2K11)))))),kmadd(gu12,kmadd(K11L,G122,kmadd(K13L,G322,kadd(JacPDstandardNth1K22,knmsub(K22L,G212,knmsub(K23L,G312,kmsub(K12L,ksub(G222,G112),JacPDstandardNth2K12)))))),kmadd(gu13,kmadd(K11L,G123,kmadd(K13L,G323,kadd(JacPDstandardNth1K23,knmsub(K22L,G213,knmsub(K23L,G313,kmsub(K12L,ksub(G223,G113),JacPDstandardNth2K13)))))),kmadd(gu31,kmadd(K13L,G112,kmadd(K33L,G312,kadd(JacPDstandardNth3K12,knmsub(K12L,G113,knmsub(K22L,G213,kmsub(K23L,ksub(G212,G313),JacPDstandardNth2K13)))))),kmadd(gu32,kmadd(K13L,G122,kmadd(K33L,G322,kadd(JacPDstandardNth3K22,knmsub(K12L,G123,knmsub(K22L,G223,kmsub(K23L,ksub(G222,G323),JacPDstandardNth2K23)))))),kmul(gu33,kmadd(K13L,G123,kmadd(K33L,G323,kadd(JacPDstandardNth3K23,knmsub(K12L,G133,knmsub(K22L,G233,kmsub(K23L,ksub(G223,G333),JacPDstandardNth2K33)))))))))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED M3L = - kmadd(gu11,kmadd(K11L,G113,kmadd(K12L,G213,kmadd(K13L,G313,kmadd(kmadd(K13L,G111,kmadd(K23L,G211,kmadd(K33L,G311,JacPDstandardNth3K11))),ToReal(-1.),JacPDstandardNth1K13)))),kmadd(gu12,kmadd(K11L,G123,kmadd(K12L,G223,kmadd(K13L,G323,kmadd(kmadd(K13L,G112,kmadd(K23L,G212,kmadd(K33L,G312,JacPDstandardNth3K12))),ToReal(-1.),JacPDstandardNth1K23)))),kmadd(gu21,kmadd(K12L,G113,kmadd(K22L,G213,kmadd(K23L,G313,kmadd(kmadd(K13L,G112,kmadd(K23L,G212,kmadd(K33L,G312,JacPDstandardNth3K12))),ToReal(-1.),JacPDstandardNth2K13)))),kmadd(gu13,kmadd(K11L,G133,kmadd(K12L,G233,kmadd(K13L,G333,kmadd(kmadd(K13L,G113,kmadd(K23L,G213,kmadd(K33L,G313,JacPDstandardNth3K13))),ToReal(-1.),JacPDstandardNth1K33)))),kmadd(gu22,kmadd(K12L,G123,kmadd(K22L,G223,kmadd(K23L,G323,kmadd(kmadd(K13L,G122,kmadd(K23L,G222,kmadd(K33L,G322,JacPDstandardNth3K22))),ToReal(-1.),JacPDstandardNth2K23)))),kmul(gu23,kmadd(K12L,G133,kmadd(K22L,G233,kmadd(K23L,G333,kmadd(kmadd(K13L,G123,kmadd(K23L,G223,kmadd(K33L,G323,JacPDstandardNth3K23))),ToReal(-1.),JacPDstandardNth2K33)))))))))); + kmadd(gu11,kmadd(K11L,G113,kmadd(K12L,G213,kadd(JacPDstandardNth1K13,knmsub(K23L,G211,knmsub(K33L,G311,kmsub(K13L,ksub(G313,G111),JacPDstandardNth3K11)))))),kmadd(gu12,kmadd(K11L,G123,kmadd(K12L,G223,kadd(JacPDstandardNth1K23,knmsub(K23L,G212,knmsub(K33L,G312,kmsub(K13L,ksub(G323,G112),JacPDstandardNth3K12)))))),kmadd(gu13,kmadd(K11L,G133,kmadd(K12L,G233,kadd(JacPDstandardNth1K33,knmsub(K23L,G213,knmsub(K33L,G313,kmsub(K13L,ksub(G333,G113),JacPDstandardNth3K13)))))),kmadd(gu21,kmadd(K12L,G113,kmadd(K22L,G213,kadd(JacPDstandardNth2K13,knmsub(K13L,G112,knmsub(K33L,G312,kmsub(K23L,ksub(G313,G212),JacPDstandardNth3K12)))))),kmadd(gu22,kmadd(K12L,G123,kmadd(K22L,G223,kadd(JacPDstandardNth2K23,knmsub(K13L,G122,knmsub(K33L,G322,kmsub(K23L,ksub(G323,G222),JacPDstandardNth3K22)))))),kmul(gu23,kmadd(K12L,G133,kmadd(K22L,G233,kadd(JacPDstandardNth2K33,knmsub(K13L,G123,knmsub(K33L,G323,kmsub(K23L,ksub(G333,G223),JacPDstandardNth3K23)))))))))))); /* 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(H[index],HL); vec_store_nta_partial(M1[index],M1L); vec_store_nta_partial(M2[index],M2L); @@ -1249,30 +1290,40 @@ extern "C" void ML_ADM_constraints(CCTK_ARGUMENTS) return; } - const char *const groups[] = { + const char* const groups[] = { "ML_ADM::ML_curv", "ML_ADM::ML_Ham", "ML_ADM::ML_metric", "ML_ADM::ML_mom"}; GenericFD_AssertGroupStorage(cctkGH, "ML_ADM_constraints", 4, groups); - switch(fdOrder) + switch (fdOrder) { case 2: + { GenericFD_EnsureStencilFits(cctkGH, "ML_ADM_constraints", 1, 1, 1); break; + } case 4: + { GenericFD_EnsureStencilFits(cctkGH, "ML_ADM_constraints", 2, 2, 2); break; + } case 6: + { GenericFD_EnsureStencilFits(cctkGH, "ML_ADM_constraints", 3, 3, 3); break; + } case 8: + { GenericFD_EnsureStencilFits(cctkGH, "ML_ADM_constraints", 4, 4, 4); break; + } + default: + CCTK_BUILTIN_UNREACHABLE(); } GenericFD_LoopOverInterior(cctkGH, ML_ADM_constraints_Body); diff --git a/ML_ADM/src/ML_ADM_constraints_boundary.cc b/ML_ADM/src/ML_ADM_constraints_boundary.cc index e9cb98d..7f93d73 100644 --- a/ML_ADM/src/ML_ADM_constraints_boundary.cc +++ b/ML_ADM/src/ML_ADM_constraints_boundary.cc @@ -32,7 +32,9 @@ extern "C" void ML_ADM_constraints_boundary_SelectBCs(CCTK_ARGUMENTS) DECLARE_CCTK_ARGUMENTS; DECLARE_CCTK_PARAMETERS; - CCTK_INT ierr CCTK_ATTRIBUTE_UNUSED = 0; + if (cctk_iteration % ML_ADM_constraints_boundary_calc_every != ML_ADM_constraints_boundary_calc_offset) + return; + CCTK_INT ierr CCTK_ATTRIBUTE_UNUSED = 0; ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_ADM::ML_Ham","flat"); if (ierr < 0) CCTK_WARN(1, "Failed to register flat BC for ML_ADM::ML_Ham."); @@ -42,7 +44,7 @@ extern "C" void ML_ADM_constraints_boundary_SelectBCs(CCTK_ARGUMENTS) return; } -static void ML_ADM_constraints_boundary_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_ADM_constraints_boundary_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; @@ -51,111 +53,133 @@ static void ML_ADM_constraints_boundary_Body(cGH const * restrict const cctkGH, /* 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*/ p1o12dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dx); - CCTK_REAL_VEC /*const*/ p1o12dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dy); - CCTK_REAL_VEC /*const*/ p1o12dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dz); - CCTK_REAL_VEC /*const*/ p1o144dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o144dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o144dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o180dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ p1o180dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ p1o180dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ p1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dx); - CCTK_REAL_VEC /*const*/ p1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dy); - CCTK_REAL_VEC /*const*/ p1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dz); - CCTK_REAL_VEC /*const*/ p1o3600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o3600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o3600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o4dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o4dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o4dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o5040dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ p1o5040dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ p1o5040dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ p1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dx); - CCTK_REAL_VEC /*const*/ p1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dy); - CCTK_REAL_VEC /*const*/ p1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dz); - CCTK_REAL_VEC /*const*/ p1o705600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o705600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o705600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o840dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dx); - CCTK_REAL_VEC /*const*/ p1o840dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dy); - CCTK_REAL_VEC /*const*/ p1o840dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dz); - CCTK_REAL_VEC /*const*/ p1odx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ p1ody2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ p1odz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ pm1o12dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ pm1o12dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ pm1o12dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dz,dz)); + 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 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 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 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 p1o4dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dy)); + 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 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 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 p1odx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dx,dx)); + const CCTK_REAL_VEC p1ody2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dy,dy)); + const CCTK_REAL_VEC p1odz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dz,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)); /* 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 */ @@ -166,13 +190,20 @@ static void ML_ADM_constraints_boundary_Body(cGH const * restrict const cctkGH, /* 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_ADM_constraints_boundary, - 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 */ @@ -183,32 +214,42 @@ static void ML_ADM_constraints_boundary_Body(cGH const * restrict const cctkGH, /* Precompute derivatives */ - switch(fdOrder) + switch (fdOrder) { case 2: + { break; + } case 4: + { break; + } case 6: + { break; + } case 8: + { break; + } + default: + CCTK_BUILTIN_UNREACHABLE(); } /* Calculate temporaries and grid functions */ - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED HL = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED HL = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED M1L = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED M1L = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED M2L = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED M2L = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED M3L = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED M3L = ToReal(0); /* 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(H[index],HL); vec_store_nta_partial(M1[index],M1L); vec_store_nta_partial(M2[index],M2L); @@ -233,24 +274,34 @@ extern "C" void ML_ADM_constraints_boundary(CCTK_ARGUMENTS) return; } - const char *const groups[] = { + const char* const groups[] = { "ML_ADM::ML_Ham", "ML_ADM::ML_mom"}; GenericFD_AssertGroupStorage(cctkGH, "ML_ADM_constraints_boundary", 2, groups); - switch(fdOrder) + switch (fdOrder) { case 2: + { break; + } case 4: + { break; + } case 6: + { break; + } case 8: + { break; + } + default: + CCTK_BUILTIN_UNREACHABLE(); } GenericFD_LoopOverBoundaryWithGhosts(cctkGH, ML_ADM_constraints_boundary_Body); diff --git a/ML_ADM/src/ML_ADM_convertFromADMBase.cc b/ML_ADM/src/ML_ADM_convertFromADMBase.cc index ab25ab9..5043bec 100644 --- a/ML_ADM/src/ML_ADM_convertFromADMBase.cc +++ b/ML_ADM/src/ML_ADM_convertFromADMBase.cc @@ -27,7 +27,7 @@ #define CUB(x) (kmul(x,SQR(x))) #define QAD(x) (SQR(SQR(x))) -static void ML_ADM_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[]) +static void ML_ADM_convertFromADMBase_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; @@ -36,111 +36,133 @@ static void ML_ADM_convertFromADMBase_Body(cGH const * restrict const cctkGH, in /* 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*/ p1o12dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dx); - CCTK_REAL_VEC /*const*/ p1o12dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dy); - CCTK_REAL_VEC /*const*/ p1o12dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dz); - CCTK_REAL_VEC /*const*/ p1o144dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o144dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o144dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o180dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ p1o180dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ p1o180dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ p1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dx); - CCTK_REAL_VEC /*const*/ p1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dy); - CCTK_REAL_VEC /*const*/ p1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dz); - CCTK_REAL_VEC /*const*/ p1o3600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o3600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o3600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o4dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o4dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o4dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o5040dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ p1o5040dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ p1o5040dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ p1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dx); - CCTK_REAL_VEC /*const*/ p1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dy); - CCTK_REAL_VEC /*const*/ p1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dz); - CCTK_REAL_VEC /*const*/ p1o705600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o705600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o705600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o840dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dx); - CCTK_REAL_VEC /*const*/ p1o840dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dy); - CCTK_REAL_VEC /*const*/ p1o840dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dz); - CCTK_REAL_VEC /*const*/ p1odx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ p1ody2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ p1odz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ pm1o12dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ pm1o12dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ pm1o12dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dz,dz)); + 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 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 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 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 p1o4dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dy)); + 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 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 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 p1odx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dx,dx)); + const CCTK_REAL_VEC p1ody2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dy,dy)); + const CCTK_REAL_VEC p1odz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dz,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)); /* 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; - CCTK_REAL const *restrict jacobian_derivative_ptrs[18] CCTK_ATTRIBUTE_UNUSED; + 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; + + 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 */ @@ -151,13 +173,20 @@ static void ML_ADM_convertFromADMBase_Body(cGH const * restrict const cctkGH, in /* 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_ADM_convertFromADMBase, - 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 */ @@ -184,19 +213,29 @@ static void ML_ADM_convertFromADMBase_Body(cGH const * restrict const cctkGH, in /* Precompute derivatives */ - switch(fdOrder) + switch (fdOrder) { case 2: + { break; + } case 4: + { break; + } case 6: + { break; + } case 8: + { break; + } + default: + CCTK_BUILTIN_UNREACHABLE(); } /* Calculate temporaries and grid functions */ @@ -233,7 +272,7 @@ static void ML_ADM_convertFromADMBase_Body(cGH const * restrict const cctkGH, in CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED beta3L = betazL; /* 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(alpha[index],alphaL); vec_store_nta_partial(beta1[index],beta1L); vec_store_nta_partial(beta2[index],beta2L); @@ -270,7 +309,7 @@ extern "C" void ML_ADM_convertFromADMBase(CCTK_ARGUMENTS) return; } - const char *const groups[] = { + const char* const groups[] = { "ADMBase::curv", "ADMBase::lapse", "ADMBase::metric", @@ -281,19 +320,29 @@ extern "C" void ML_ADM_convertFromADMBase(CCTK_ARGUMENTS) "ML_ADM::ML_shift"}; GenericFD_AssertGroupStorage(cctkGH, "ML_ADM_convertFromADMBase", 8, groups); - switch(fdOrder) + switch (fdOrder) { case 2: + { break; + } case 4: + { break; + } case 6: + { break; + } case 8: + { break; + } + default: + CCTK_BUILTIN_UNREACHABLE(); } GenericFD_LoopOverEverything(cctkGH, ML_ADM_convertFromADMBase_Body); diff --git a/ML_ADM/src/ML_ADM_convertToADMBase.cc b/ML_ADM/src/ML_ADM_convertToADMBase.cc index a4ab827..4bed36b 100644 --- a/ML_ADM/src/ML_ADM_convertToADMBase.cc +++ b/ML_ADM/src/ML_ADM_convertToADMBase.cc @@ -27,7 +27,7 @@ #define CUB(x) (kmul(x,SQR(x))) #define QAD(x) (SQR(SQR(x))) -static void ML_ADM_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[]) +static void ML_ADM_convertToADMBase_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; @@ -36,111 +36,133 @@ static void ML_ADM_convertToADMBase_Body(cGH const * restrict const cctkGH, int /* 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*/ p1o12dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dx); - CCTK_REAL_VEC /*const*/ p1o12dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dy); - CCTK_REAL_VEC /*const*/ p1o12dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dz); - CCTK_REAL_VEC /*const*/ p1o144dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o144dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o144dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o180dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ p1o180dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ p1o180dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ p1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dx); - CCTK_REAL_VEC /*const*/ p1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dy); - CCTK_REAL_VEC /*const*/ p1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dz); - CCTK_REAL_VEC /*const*/ p1o3600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o3600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o3600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o4dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o4dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o4dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o5040dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ p1o5040dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ p1o5040dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ p1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dx); - CCTK_REAL_VEC /*const*/ p1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dy); - CCTK_REAL_VEC /*const*/ p1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dz); - CCTK_REAL_VEC /*const*/ p1o705600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o705600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o705600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o840dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dx); - CCTK_REAL_VEC /*const*/ p1o840dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dy); - CCTK_REAL_VEC /*const*/ p1o840dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dz); - CCTK_REAL_VEC /*const*/ p1odx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ p1ody2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ p1odz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ pm1o12dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ pm1o12dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ pm1o12dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dz,dz)); + 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 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 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 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 p1o4dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dy)); + 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 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 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 p1odx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dx,dx)); + const CCTK_REAL_VEC p1ody2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dy,dy)); + const CCTK_REAL_VEC p1odz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dz,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)); /* 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; - CCTK_REAL const *restrict jacobian_derivative_ptrs[18] CCTK_ATTRIBUTE_UNUSED; + 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; + + 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 */ @@ -151,13 +173,20 @@ static void ML_ADM_convertToADMBase_Body(cGH const * restrict const cctkGH, int /* 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_ADM_convertToADMBase, - 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 */ @@ -184,19 +213,29 @@ static void ML_ADM_convertToADMBase_Body(cGH const * restrict const cctkGH, int /* Precompute derivatives */ - switch(fdOrder) + switch (fdOrder) { case 2: + { break; + } case 4: + { break; + } case 6: + { break; + } case 8: + { break; + } + default: + CCTK_BUILTIN_UNREACHABLE(); } /* Calculate temporaries and grid functions */ @@ -226,7 +265,7 @@ static void ML_ADM_convertToADMBase_Body(cGH const * restrict const cctkGH, int CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED alpL = alphaL; - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED dtalpL = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED dtalpL = ToReal(0); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED betaxL = beta1L; @@ -234,14 +273,14 @@ static void ML_ADM_convertToADMBase_Body(cGH const * restrict const cctkGH, int CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED betazL = beta3L; - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED dtbetaxL = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED dtbetaxL = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED dtbetayL = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED dtbetayL = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED dtbetazL = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED dtbetazL = ToReal(0); /* 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(alp[index],alpL); vec_store_nta_partial(betax[index],betaxL); vec_store_nta_partial(betay[index],betayL); @@ -282,7 +321,7 @@ extern "C" void ML_ADM_convertToADMBase(CCTK_ARGUMENTS) return; } - const char *const groups[] = { + const char* const groups[] = { "ADMBase::curv", "ADMBase::dtlapse", "ADMBase::dtshift", @@ -295,19 +334,29 @@ extern "C" void ML_ADM_convertToADMBase(CCTK_ARGUMENTS) "ML_ADM::ML_shift"}; GenericFD_AssertGroupStorage(cctkGH, "ML_ADM_convertToADMBase", 10, groups); - switch(fdOrder) + switch (fdOrder) { case 2: + { break; + } case 4: + { break; + } case 6: + { break; + } case 8: + { break; + } + default: + CCTK_BUILTIN_UNREACHABLE(); } GenericFD_LoopOverEverything(cctkGH, ML_ADM_convertToADMBase_Body); diff --git a/ML_ADM/src/RegisterMoL.cc b/ML_ADM/src/RegisterMoL.cc index 574b299..343e5f9 100644 --- a/ML_ADM/src/RegisterMoL.cc +++ b/ML_ADM/src/RegisterMoL.cc @@ -9,7 +9,7 @@ extern "C" void ML_ADM_RegisterVars(CCTK_ARGUMENTS) DECLARE_CCTK_ARGUMENTS; DECLARE_CCTK_PARAMETERS; - CCTK_INT ierr CCTK_ATTRIBUTE_UNUSED = 0; + CCTK_INT ierr CCTK_ATTRIBUTE_UNUSED = 0; /* Register all the evolved grid functions with MoL */ ierr += MoLRegisterEvolved(CCTK_VarIndex("ML_ADM::K11"), CCTK_VarIndex("ML_ADM::K11rhs")); diff --git a/ML_ADM/src/Startup.cc b/ML_ADM/src/Startup.cc index 517b0a3..25ec1f7 100644 --- a/ML_ADM/src/Startup.cc +++ b/ML_ADM/src/Startup.cc @@ -4,7 +4,7 @@ extern "C" int ML_ADM_Startup(void) { - const char * banner CCTK_ATTRIBUTE_UNUSED = "ML_ADM"; + const char* banner CCTK_ATTRIBUTE_UNUSED = "ML_ADM"; CCTK_RegisterBanner(banner); return 0; } |