From 280545da21ad246f73e815c09f43b2d08804ebca Mon Sep 17 00:00:00 2001 From: Ian Hinder Date: Thu, 5 Sep 2013 22:58:00 +0200 Subject: Regenerate McLachlan (Kranc commit caf12ddfb11ccd9a7bf822cc8ec0d7691cded0aa) --- ML_ADM/param.ccl | 4 + ML_ADM/schedule.ccl | 482 +++---- ML_ADM/src/Boundaries.cc | 82 +- ML_ADM/src/Differencing.h | 480 +++--- ML_ADM/src/ML_ADM_Minkowski.cc | 281 ++-- ML_ADM/src/ML_ADM_RHS.cc | 757 +++++----- ML_ADM/src/ML_ADM_boundary.cc | 285 ++-- ML_ADM/src/ML_ADM_constraints.cc | 647 +++++---- ML_ADM/src/ML_ADM_constraints_boundary.cc | 261 ++-- ML_ADM/src/ML_ADM_convertFromADMBase.cc | 249 ++-- ML_ADM/src/ML_ADM_convertToADMBase.cc | 257 ++-- ML_ADM/src/RegisterMoL.cc | 2 +- ML_ADM/src/Startup.cc | 2 +- ML_ADMConstraints/param.ccl | 4 + ML_ADMConstraints/schedule.ccl | 86 +- ML_ADMConstraints/src/Boundaries.cc | 2 +- ML_ADMConstraints/src/Differencing.h | 120 +- ML_ADMConstraints/src/ML_ADMConstraints.cc | 946 ++++++------ ML_ADMConstraints/src/RegisterMoL.cc | 2 +- ML_ADMConstraints/src/Startup.cc | 2 +- ML_ADMQuantities/param.ccl | 4 + ML_ADMQuantities/schedule.ccl | 102 +- ML_ADMQuantities/src/Boundaries.cc | 2 +- ML_ADMQuantities/src/Differencing.h | 180 +-- ML_ADMQuantities/src/ML_ADMQuantities.cc | 893 ++++++------ ML_ADMQuantities/src/RegisterMoL.cc | 2 +- ML_ADMQuantities/src/Startup.cc | 2 +- ML_BSSN/param.ccl | 4 + ML_BSSN/schedule.ccl | 1461 ++++++++----------- ML_BSSN/src/Boundaries.cc | 138 +- ML_BSSN/src/Differencing.h | 930 ++++++------ ML_BSSN/src/ML_BSSN_Advect.cc | 953 ++++++------ ML_BSSN/src/ML_BSSN_Dissipation.cc | 637 ++++---- ML_BSSN/src/ML_BSSN_InitGamma.cc | 347 +++-- ML_BSSN/src/ML_BSSN_InitRHS.cc | 383 ++--- ML_BSSN/src/ML_BSSN_Minkowski.cc | 383 ++--- ML_BSSN/src/ML_BSSN_RHS1.cc | 743 +++++----- ML_BSSN/src/ML_BSSN_RHS2.cc | 881 ++++++------ ML_BSSN/src/ML_BSSN_RHSStaticBoundary.cc | 387 ++--- ML_BSSN/src/ML_BSSN_boundary.cc | 387 ++--- ML_BSSN/src/ML_BSSN_constraints1.cc | 781 +++++----- ML_BSSN/src/ML_BSSN_constraints2.cc | 551 +++---- ML_BSSN/src/ML_BSSN_convertFromADMBase.cc | 355 +++-- ML_BSSN/src/ML_BSSN_convertFromADMBaseGamma.cc | 587 ++++---- ML_BSSN/src/ML_BSSN_convertToADMBase.cc | 335 +++-- .../src/ML_BSSN_convertToADMBaseDtLapseShift.cc | 575 ++++---- ...ML_BSSN_convertToADMBaseDtLapseShiftBoundary.cc | 359 +++-- .../ML_BSSN_convertToADMBaseFakeDtLapseShift.cc | 355 +++-- ML_BSSN/src/ML_BSSN_enforce.cc | 349 +++-- ML_BSSN/src/RegisterMoL.cc | 2 +- ML_BSSN/src/Startup.cc | 2 +- ML_CCZ4/param.ccl | 4 + ML_CCZ4/schedule.ccl | 1521 +++++++++----------- ML_CCZ4/src/Boundaries.cc | 146 +- ML_CCZ4/src/Differencing.h | 930 ++++++------ ML_CCZ4/src/ML_CCZ4_Advect.cc | 977 +++++++------ ML_CCZ4/src/ML_CCZ4_Dissipation.cc | 649 +++++---- ML_CCZ4/src/ML_CCZ4_InitGamma.cc | 347 +++-- ML_CCZ4/src/ML_CCZ4_InitRHS.cc | 385 ++--- ML_CCZ4/src/ML_CCZ4_Minkowski.cc | 385 ++--- ML_CCZ4/src/ML_CCZ4_RHS1.cc | 1100 +++++++------- ML_CCZ4/src/ML_CCZ4_RHS2.cc | 899 ++++++------ ML_CCZ4/src/ML_CCZ4_RHSStaticBoundary.cc | 389 ++--- ML_CCZ4/src/ML_CCZ4_boundary.cc | 389 ++--- ML_CCZ4/src/ML_CCZ4_constraints1.cc | 799 +++++----- ML_CCZ4/src/ML_CCZ4_constraints2.cc | 897 ++++++------ ML_CCZ4/src/ML_CCZ4_convertFromADMBase.cc | 357 +++-- ML_CCZ4/src/ML_CCZ4_convertFromADMBaseGamma.cc | 587 ++++---- ML_CCZ4/src/ML_CCZ4_convertToADMBase.cc | 335 +++-- .../src/ML_CCZ4_convertToADMBaseDtLapseShift.cc | 578 ++++---- ...ML_CCZ4_convertToADMBaseDtLapseShiftBoundary.cc | 359 +++-- .../ML_CCZ4_convertToADMBaseFakeDtLapseShift.cc | 355 +++-- ML_CCZ4/src/ML_CCZ4_enforce.cc | 349 +++-- ML_CCZ4/src/RegisterMoL.cc | 2 +- ML_CCZ4/src/Startup.cc | 2 +- ML_WaveToy/param.ccl | 1 + ML_WaveToy/schedule.ccl | 81 +- ML_WaveToy/src/Boundaries.cc | 18 +- ML_WaveToy/src/Differencing.h | 120 +- ML_WaveToy/src/RegisterMoL.cc | 2 +- ML_WaveToy/src/Startup.cc | 2 +- ML_WaveToy/src/WT_Dirichlet.cc | 91 +- ML_WaveToy/src/WT_Energy.cc | 93 +- ML_WaveToy/src/WT_EnergyBoundary.cc | 89 +- ML_WaveToy/src/WT_Gaussian.cc | 85 +- ML_WaveToy/src/WT_RHS.cc | 93 +- ML_WaveToy/src/WT_Standing.cc | 87 +- ML_WaveToy_CL/param.ccl | 1 + ML_WaveToy_CL/schedule.ccl | 81 +- ML_WaveToy_CL/src/Boundaries.cc | 18 +- ML_WaveToy_CL/src/Differencing.h | 122 +- ML_WaveToy_CL/src/RegisterMoL.cc | 2 +- ML_WaveToy_CL/src/Startup.cc | 2 +- ML_WaveToy_CL/src/WT_CL_Dirichlet.cc | 95 +- ML_WaveToy_CL/src/WT_CL_Energy.cc | 97 +- ML_WaveToy_CL/src/WT_CL_EnergyBoundary.cc | 93 +- ML_WaveToy_CL/src/WT_CL_Gaussian.cc | 89 +- ML_WaveToy_CL/src/WT_CL_RHS.cc | 97 +- ML_WaveToy_CL/src/WT_CL_Standing.cc | 91 +- 99 files changed, 17002 insertions(+), 15310 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; } diff --git a/ML_ADMConstraints/param.ccl b/ML_ADMConstraints/param.ccl index 566dd14..56d401e 100644 --- a/ML_ADMConstraints/param.ccl +++ b/ML_ADMConstraints/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_ADMConstraints/schedule.ccl b/ML_ADMConstraints/schedule.ccl index 62264c7..ded5052 100644 --- a/ML_ADMConstraints/schedule.ccl +++ b/ML_ADMConstraints/schedule.ccl @@ -1,31 +1,9 @@ # File produced by Kranc -if (timelevels == 1) -{ - STORAGE: ML_Ham[1] -} -if (timelevels == 2) -{ - STORAGE: ML_Ham[2] -} -if (timelevels == 3) -{ - STORAGE: ML_Ham[3] -} +STORAGE: ML_Ham[timelevels] -if (timelevels == 1) -{ - STORAGE: ML_mom[1] -} -if (timelevels == 2) -{ - STORAGE: ML_mom[2] -} -if (timelevels == 3) -{ - STORAGE: ML_mom[3] -} +STORAGE: ML_mom[timelevels] schedule ML_ADMConstraints_Startup at STARTUP { @@ -46,36 +24,36 @@ schedule group ML_ADMConstraints_group in MoL_PseudoEvolution after MoL_PostStep schedule ML_ADMConstraints in ML_ADMConstraints_group { 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) - READS: TmunuBase::eTtt(Everywhere) - READS: TmunuBase::eTxx(Everywhere) - READS: TmunuBase::eTxy(Everywhere) - READS: TmunuBase::eTxz(Everywhere) - READS: TmunuBase::eTyy(Everywhere) - READS: TmunuBase::eTyz(Everywhere) - READS: TmunuBase::eTzz(Everywhere) - READS: TmunuBase::eTtx(Everywhere) - READS: TmunuBase::eTty(Everywhere) - READS: TmunuBase::eTtz(Everywhere) - WRITES: ML_ADMConstraints::H(Interior) - WRITES: ML_ADMConstraints::M1(Interior) - WRITES: ML_ADMConstraints::M2(Interior) - WRITES: ML_ADMConstraints::M3(Interior) + 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) + READS: TmunuBase::eTtt(Everywhere) + READS: TmunuBase::eTxx(Everywhere) + READS: TmunuBase::eTxy(Everywhere) + READS: TmunuBase::eTxz(Everywhere) + READS: TmunuBase::eTyy(Everywhere) + READS: TmunuBase::eTyz(Everywhere) + READS: TmunuBase::eTzz(Everywhere) + READS: TmunuBase::eTtx(Everywhere) + READS: TmunuBase::eTty(Everywhere) + READS: TmunuBase::eTtz(Everywhere) + WRITES: ML_ADMConstraints::H(Interior) + WRITES: ML_ADMConstraints::M1(Interior) + WRITES: ML_ADMConstraints::M2(Interior) + WRITES: ML_ADMConstraints::M3(Interior) } "ML_ADMConstraints" schedule ML_ADMConstraints_SelectBCs in ML_ADMConstraints_bc_group diff --git a/ML_ADMConstraints/src/Boundaries.cc b/ML_ADMConstraints/src/Boundaries.cc index 5eecea1..cca29c1 100644 --- a/ML_ADMConstraints/src/Boundaries.cc +++ b/ML_ADMConstraints/src/Boundaries.cc @@ -30,7 +30,7 @@ extern "C" void ML_ADMConstraints_SelectBoundConds(CCTK_ARGUMENTS) DECLARE_CCTK_ARGUMENTS; DECLARE_CCTK_PARAMETERS; - CCTK_INT ierr CCTK_ATTRIBUTE_UNUSED = 0; + CCTK_INT ierr CCTK_ATTRIBUTE_UNUSED = 0; return; } diff --git a/ML_ADMConstraints/src/Differencing.h b/ML_ADMConstraints/src/Differencing.h index 35539bd..3e3589c 100644 --- a/ML_ADMConstraints/src/Differencing.h +++ b/ML_ADMConstraints/src/Differencing.h @@ -1,144 +1,144 @@ #ifndef KRANC_DIFF_FUNCTIONS -# define PDstandardNth1(u) ((-8.*KRANC_GFOFFSET3D(u,-1,0,0) + 8.*KRANC_GFOFFSET3D(u,1,0,0) + KRANC_GFOFFSET3D(u,-2,0,0) - 1.*KRANC_GFOFFSET3D(u,2,0,0))*p1o12dx) +# define PDstandardNth1(u) ((-8*KRANC_GFOFFSET3D(u,-1,0,0) + 8*KRANC_GFOFFSET3D(u,1,0,0) + KRANC_GFOFFSET3D(u,-2,0,0) - KRANC_GFOFFSET3D(u,2,0,0))*p1o12dx) #else # define PDstandardNth1(u) (PDstandardNth1_impl(u,p1o12dx,cdj,cdk)) -static CCTK_REAL PDstandardNth1_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o12dx, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL PDstandardNth1_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o12dx, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL PDstandardNth1_impl(const CCTK_REAL* restrict const u, const CCTK_REAL p1o12dx, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL PDstandardNth1_impl(const CCTK_REAL* restrict const u, const CCTK_REAL p1o12dx, const ptrdiff_t cdj, const ptrdiff_t cdk) { - ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); - return (-8.*KRANC_GFOFFSET3D(u,-1,0,0) + 8.*KRANC_GFOFFSET3D(u,1,0,0) + KRANC_GFOFFSET3D(u,-2,0,0) - 1.*KRANC_GFOFFSET3D(u,2,0,0))*p1o12dx; + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); + return (-8*KRANC_GFOFFSET3D(u,-1,0,0) + 8*KRANC_GFOFFSET3D(u,1,0,0) + KRANC_GFOFFSET3D(u,-2,0,0) - KRANC_GFOFFSET3D(u,2,0,0))*p1o12dx; } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDstandardNth2(u) ((-8.*KRANC_GFOFFSET3D(u,0,-1,0) + 8.*KRANC_GFOFFSET3D(u,0,1,0) + KRANC_GFOFFSET3D(u,0,-2,0) - 1.*KRANC_GFOFFSET3D(u,0,2,0))*p1o12dy) +# define PDstandardNth2(u) ((-8*KRANC_GFOFFSET3D(u,0,-1,0) + 8*KRANC_GFOFFSET3D(u,0,1,0) + KRANC_GFOFFSET3D(u,0,-2,0) - KRANC_GFOFFSET3D(u,0,2,0))*p1o12dy) #else # define PDstandardNth2(u) (PDstandardNth2_impl(u,p1o12dy,cdj,cdk)) -static CCTK_REAL PDstandardNth2_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o12dy, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL PDstandardNth2_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o12dy, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL PDstandardNth2_impl(const CCTK_REAL* restrict const u, const CCTK_REAL p1o12dy, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL PDstandardNth2_impl(const CCTK_REAL* restrict const u, const CCTK_REAL p1o12dy, const ptrdiff_t cdj, const ptrdiff_t cdk) { - ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); - return (-8.*KRANC_GFOFFSET3D(u,0,-1,0) + 8.*KRANC_GFOFFSET3D(u,0,1,0) + KRANC_GFOFFSET3D(u,0,-2,0) - 1.*KRANC_GFOFFSET3D(u,0,2,0))*p1o12dy; + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); + return (-8*KRANC_GFOFFSET3D(u,0,-1,0) + 8*KRANC_GFOFFSET3D(u,0,1,0) + KRANC_GFOFFSET3D(u,0,-2,0) - KRANC_GFOFFSET3D(u,0,2,0))*p1o12dy; } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDstandardNth3(u) ((-8.*KRANC_GFOFFSET3D(u,0,0,-1) + 8.*KRANC_GFOFFSET3D(u,0,0,1) + KRANC_GFOFFSET3D(u,0,0,-2) - 1.*KRANC_GFOFFSET3D(u,0,0,2))*p1o12dz) +# define PDstandardNth3(u) ((-8*KRANC_GFOFFSET3D(u,0,0,-1) + 8*KRANC_GFOFFSET3D(u,0,0,1) + KRANC_GFOFFSET3D(u,0,0,-2) - KRANC_GFOFFSET3D(u,0,0,2))*p1o12dz) #else # define PDstandardNth3(u) (PDstandardNth3_impl(u,p1o12dz,cdj,cdk)) -static CCTK_REAL PDstandardNth3_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o12dz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL PDstandardNth3_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o12dz, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL PDstandardNth3_impl(const CCTK_REAL* restrict const u, const CCTK_REAL p1o12dz, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL PDstandardNth3_impl(const CCTK_REAL* restrict const u, const CCTK_REAL p1o12dz, const ptrdiff_t cdj, const ptrdiff_t cdk) { - ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); - return (-8.*KRANC_GFOFFSET3D(u,0,0,-1) + 8.*KRANC_GFOFFSET3D(u,0,0,1) + KRANC_GFOFFSET3D(u,0,0,-2) - 1.*KRANC_GFOFFSET3D(u,0,0,2))*p1o12dz; + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); + return PDstandardNth2_impl(u, p1o12dz, cdk, cdj); } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDstandardNth11(u) ((30.*KRANC_GFOFFSET3D(u,0,0,0) - 16.*(KRANC_GFOFFSET3D(u,-1,0,0) + KRANC_GFOFFSET3D(u,1,0,0)) + KRANC_GFOFFSET3D(u,-2,0,0) + KRANC_GFOFFSET3D(u,2,0,0))*pm1o12dx2) +# define PDstandardNth11(u) ((30*KRANC_GFOFFSET3D(u,0,0,0) - 16*(KRANC_GFOFFSET3D(u,-1,0,0) + KRANC_GFOFFSET3D(u,1,0,0)) + KRANC_GFOFFSET3D(u,-2,0,0) + KRANC_GFOFFSET3D(u,2,0,0))*pm1o12dx2) #else # define PDstandardNth11(u) (PDstandardNth11_impl(u,pm1o12dx2,cdj,cdk)) -static CCTK_REAL PDstandardNth11_impl(CCTK_REAL const* restrict const u, CCTK_REAL const pm1o12dx2, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL PDstandardNth11_impl(CCTK_REAL const* restrict const u, CCTK_REAL const pm1o12dx2, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL PDstandardNth11_impl(const CCTK_REAL* restrict const u, const CCTK_REAL pm1o12dx2, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL PDstandardNth11_impl(const CCTK_REAL* restrict const u, const CCTK_REAL pm1o12dx2, const ptrdiff_t cdj, const ptrdiff_t cdk) { - ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); - return (30.*KRANC_GFOFFSET3D(u,0,0,0) - 16.*(KRANC_GFOFFSET3D(u,-1,0,0) + KRANC_GFOFFSET3D(u,1,0,0)) + KRANC_GFOFFSET3D(u,-2,0,0) + KRANC_GFOFFSET3D(u,2,0,0))*pm1o12dx2; + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); + return (30*KRANC_GFOFFSET3D(u,0,0,0) - 16*(KRANC_GFOFFSET3D(u,-1,0,0) + KRANC_GFOFFSET3D(u,1,0,0)) + KRANC_GFOFFSET3D(u,-2,0,0) + KRANC_GFOFFSET3D(u,2,0,0))*pm1o12dx2; } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDstandardNth22(u) ((30.*KRANC_GFOFFSET3D(u,0,0,0) - 16.*(KRANC_GFOFFSET3D(u,0,-1,0) + KRANC_GFOFFSET3D(u,0,1,0)) + KRANC_GFOFFSET3D(u,0,-2,0) + KRANC_GFOFFSET3D(u,0,2,0))*pm1o12dy2) +# define PDstandardNth22(u) ((30*KRANC_GFOFFSET3D(u,0,0,0) - 16*(KRANC_GFOFFSET3D(u,0,-1,0) + KRANC_GFOFFSET3D(u,0,1,0)) + KRANC_GFOFFSET3D(u,0,-2,0) + KRANC_GFOFFSET3D(u,0,2,0))*pm1o12dy2) #else # define PDstandardNth22(u) (PDstandardNth22_impl(u,pm1o12dy2,cdj,cdk)) -static CCTK_REAL PDstandardNth22_impl(CCTK_REAL const* restrict const u, CCTK_REAL const pm1o12dy2, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL PDstandardNth22_impl(CCTK_REAL const* restrict const u, CCTK_REAL const pm1o12dy2, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL PDstandardNth22_impl(const CCTK_REAL* restrict const u, const CCTK_REAL pm1o12dy2, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL PDstandardNth22_impl(const CCTK_REAL* restrict const u, const CCTK_REAL pm1o12dy2, const ptrdiff_t cdj, const ptrdiff_t cdk) { - ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); - return (30.*KRANC_GFOFFSET3D(u,0,0,0) - 16.*(KRANC_GFOFFSET3D(u,0,-1,0) + KRANC_GFOFFSET3D(u,0,1,0)) + KRANC_GFOFFSET3D(u,0,-2,0) + KRANC_GFOFFSET3D(u,0,2,0))*pm1o12dy2; + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); + return (30*KRANC_GFOFFSET3D(u,0,0,0) - 16*(KRANC_GFOFFSET3D(u,0,-1,0) + KRANC_GFOFFSET3D(u,0,1,0)) + KRANC_GFOFFSET3D(u,0,-2,0) + KRANC_GFOFFSET3D(u,0,2,0))*pm1o12dy2; } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDstandardNth33(u) ((30.*KRANC_GFOFFSET3D(u,0,0,0) - 16.*(KRANC_GFOFFSET3D(u,0,0,-1) + KRANC_GFOFFSET3D(u,0,0,1)) + KRANC_GFOFFSET3D(u,0,0,-2) + KRANC_GFOFFSET3D(u,0,0,2))*pm1o12dz2) +# define PDstandardNth33(u) ((30*KRANC_GFOFFSET3D(u,0,0,0) - 16*(KRANC_GFOFFSET3D(u,0,0,-1) + KRANC_GFOFFSET3D(u,0,0,1)) + KRANC_GFOFFSET3D(u,0,0,-2) + KRANC_GFOFFSET3D(u,0,0,2))*pm1o12dz2) #else # define PDstandardNth33(u) (PDstandardNth33_impl(u,pm1o12dz2,cdj,cdk)) -static CCTK_REAL PDstandardNth33_impl(CCTK_REAL const* restrict const u, CCTK_REAL const pm1o12dz2, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL PDstandardNth33_impl(CCTK_REAL const* restrict const u, CCTK_REAL const pm1o12dz2, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL PDstandardNth33_impl(const CCTK_REAL* restrict const u, const CCTK_REAL pm1o12dz2, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL PDstandardNth33_impl(const CCTK_REAL* restrict const u, const CCTK_REAL pm1o12dz2, const ptrdiff_t cdj, const ptrdiff_t cdk) { - ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); - return (30.*KRANC_GFOFFSET3D(u,0,0,0) - 16.*(KRANC_GFOFFSET3D(u,0,0,-1) + KRANC_GFOFFSET3D(u,0,0,1)) + KRANC_GFOFFSET3D(u,0,0,-2) + KRANC_GFOFFSET3D(u,0,0,2))*pm1o12dz2; + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); + return PDstandardNth22_impl(u, pm1o12dz2, cdk, cdj); } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDstandardNth12(u) ((-64.*(KRANC_GFOFFSET3D(u,-1,1,0) + KRANC_GFOFFSET3D(u,1,-1,0)) + 64.*(KRANC_GFOFFSET3D(u,-1,-1,0) + KRANC_GFOFFSET3D(u,1,1,0)) + 8.*(KRANC_GFOFFSET3D(u,-1,2,0) + KRANC_GFOFFSET3D(u,1,-2,0) + KRANC_GFOFFSET3D(u,-2,1,0) + KRANC_GFOFFSET3D(u,2,-1,0)) - 8.*(KRANC_GFOFFSET3D(u,-1,-2,0) + KRANC_GFOFFSET3D(u,1,2,0) + KRANC_GFOFFSET3D(u,-2,-1,0) + KRANC_GFOFFSET3D(u,2,1,0)) + KRANC_GFOFFSET3D(u,-2,-2,0) - 1.*(KRANC_GFOFFSET3D(u,-2,2,0) + KRANC_GFOFFSET3D(u,2,-2,0)) + KRANC_GFOFFSET3D(u,2,2,0))*p1o144dxdy) +# define PDstandardNth12(u) ((-64*(KRANC_GFOFFSET3D(u,-1,1,0) + KRANC_GFOFFSET3D(u,1,-1,0)) + 64*(KRANC_GFOFFSET3D(u,-1,-1,0) + KRANC_GFOFFSET3D(u,1,1,0)) + 8*(KRANC_GFOFFSET3D(u,-1,2,0) + KRANC_GFOFFSET3D(u,1,-2,0) + KRANC_GFOFFSET3D(u,-2,1,0) + KRANC_GFOFFSET3D(u,2,-1,0)) - 8*(KRANC_GFOFFSET3D(u,-1,-2,0) + KRANC_GFOFFSET3D(u,1,2,0) + KRANC_GFOFFSET3D(u,-2,-1,0) + KRANC_GFOFFSET3D(u,2,1,0)) + KRANC_GFOFFSET3D(u,-2,-2,0) - KRANC_GFOFFSET3D(u,-2,2,0) - KRANC_GFOFFSET3D(u,2,-2,0) + KRANC_GFOFFSET3D(u,2,2,0))*p1o144dxdy) #else # define PDstandardNth12(u) (PDstandardNth12_impl(u,p1o144dxdy,cdj,cdk)) -static CCTK_REAL PDstandardNth12_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o144dxdy, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL PDstandardNth12_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o144dxdy, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL PDstandardNth12_impl(const CCTK_REAL* restrict const u, const CCTK_REAL p1o144dxdy, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL PDstandardNth12_impl(const CCTK_REAL* restrict const u, const CCTK_REAL p1o144dxdy, const ptrdiff_t cdj, const ptrdiff_t cdk) { - ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); - return (-64.*(KRANC_GFOFFSET3D(u,-1,1,0) + KRANC_GFOFFSET3D(u,1,-1,0)) + 64.*(KRANC_GFOFFSET3D(u,-1,-1,0) + KRANC_GFOFFSET3D(u,1,1,0)) + 8.*(KRANC_GFOFFSET3D(u,-1,2,0) + KRANC_GFOFFSET3D(u,1,-2,0) + KRANC_GFOFFSET3D(u,-2,1,0) + KRANC_GFOFFSET3D(u,2,-1,0)) - 8.*(KRANC_GFOFFSET3D(u,-1,-2,0) + KRANC_GFOFFSET3D(u,1,2,0) + KRANC_GFOFFSET3D(u,-2,-1,0) + KRANC_GFOFFSET3D(u,2,1,0)) + KRANC_GFOFFSET3D(u,-2,-2,0) - 1.*(KRANC_GFOFFSET3D(u,-2,2,0) + KRANC_GFOFFSET3D(u,2,-2,0)) + KRANC_GFOFFSET3D(u,2,2,0))*p1o144dxdy; + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); + return (-64*(KRANC_GFOFFSET3D(u,-1,1,0) + KRANC_GFOFFSET3D(u,1,-1,0)) + 64*(KRANC_GFOFFSET3D(u,-1,-1,0) + KRANC_GFOFFSET3D(u,1,1,0)) + 8*(KRANC_GFOFFSET3D(u,-1,2,0) + KRANC_GFOFFSET3D(u,1,-2,0) + KRANC_GFOFFSET3D(u,-2,1,0) + KRANC_GFOFFSET3D(u,2,-1,0)) - 8*(KRANC_GFOFFSET3D(u,-1,-2,0) + KRANC_GFOFFSET3D(u,1,2,0) + KRANC_GFOFFSET3D(u,-2,-1,0) + KRANC_GFOFFSET3D(u,2,1,0)) + KRANC_GFOFFSET3D(u,-2,-2,0) - KRANC_GFOFFSET3D(u,-2,2,0) - KRANC_GFOFFSET3D(u,2,-2,0) + KRANC_GFOFFSET3D(u,2,2,0))*p1o144dxdy; } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDstandardNth13(u) ((-64.*(KRANC_GFOFFSET3D(u,-1,0,1) + KRANC_GFOFFSET3D(u,1,0,-1)) + 64.*(KRANC_GFOFFSET3D(u,-1,0,-1) + KRANC_GFOFFSET3D(u,1,0,1)) + 8.*(KRANC_GFOFFSET3D(u,-1,0,2) + KRANC_GFOFFSET3D(u,1,0,-2) + KRANC_GFOFFSET3D(u,-2,0,1) + KRANC_GFOFFSET3D(u,2,0,-1)) - 8.*(KRANC_GFOFFSET3D(u,-1,0,-2) + KRANC_GFOFFSET3D(u,1,0,2) + KRANC_GFOFFSET3D(u,-2,0,-1) + KRANC_GFOFFSET3D(u,2,0,1)) + KRANC_GFOFFSET3D(u,-2,0,-2) - 1.*(KRANC_GFOFFSET3D(u,-2,0,2) + KRANC_GFOFFSET3D(u,2,0,-2)) + KRANC_GFOFFSET3D(u,2,0,2))*p1o144dxdz) +# define PDstandardNth13(u) ((-64*(KRANC_GFOFFSET3D(u,-1,0,1) + KRANC_GFOFFSET3D(u,1,0,-1)) + 64*(KRANC_GFOFFSET3D(u,-1,0,-1) + KRANC_GFOFFSET3D(u,1,0,1)) + 8*(KRANC_GFOFFSET3D(u,-1,0,2) + KRANC_GFOFFSET3D(u,1,0,-2) + KRANC_GFOFFSET3D(u,-2,0,1) + KRANC_GFOFFSET3D(u,2,0,-1)) - 8*(KRANC_GFOFFSET3D(u,-1,0,-2) + KRANC_GFOFFSET3D(u,1,0,2) + KRANC_GFOFFSET3D(u,-2,0,-1) + KRANC_GFOFFSET3D(u,2,0,1)) + KRANC_GFOFFSET3D(u,-2,0,-2) - KRANC_GFOFFSET3D(u,-2,0,2) - KRANC_GFOFFSET3D(u,2,0,-2) + KRANC_GFOFFSET3D(u,2,0,2))*p1o144dxdz) #else # define PDstandardNth13(u) (PDstandardNth13_impl(u,p1o144dxdz,cdj,cdk)) -static CCTK_REAL PDstandardNth13_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o144dxdz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL PDstandardNth13_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o144dxdz, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL PDstandardNth13_impl(const CCTK_REAL* restrict const u, const CCTK_REAL p1o144dxdz, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL PDstandardNth13_impl(const CCTK_REAL* restrict const u, const CCTK_REAL p1o144dxdz, const ptrdiff_t cdj, const ptrdiff_t cdk) { - ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); - return (-64.*(KRANC_GFOFFSET3D(u,-1,0,1) + KRANC_GFOFFSET3D(u,1,0,-1)) + 64.*(KRANC_GFOFFSET3D(u,-1,0,-1) + KRANC_GFOFFSET3D(u,1,0,1)) + 8.*(KRANC_GFOFFSET3D(u,-1,0,2) + KRANC_GFOFFSET3D(u,1,0,-2) + KRANC_GFOFFSET3D(u,-2,0,1) + KRANC_GFOFFSET3D(u,2,0,-1)) - 8.*(KRANC_GFOFFSET3D(u,-1,0,-2) + KRANC_GFOFFSET3D(u,1,0,2) + KRANC_GFOFFSET3D(u,-2,0,-1) + KRANC_GFOFFSET3D(u,2,0,1)) + KRANC_GFOFFSET3D(u,-2,0,-2) - 1.*(KRANC_GFOFFSET3D(u,-2,0,2) + KRANC_GFOFFSET3D(u,2,0,-2)) + KRANC_GFOFFSET3D(u,2,0,2))*p1o144dxdz; + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); + return PDstandardNth12_impl(u, p1o144dxdz, cdk, cdj); } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDstandardNth21(u) ((-64.*(KRANC_GFOFFSET3D(u,-1,1,0) + KRANC_GFOFFSET3D(u,1,-1,0)) + 64.*(KRANC_GFOFFSET3D(u,-1,-1,0) + KRANC_GFOFFSET3D(u,1,1,0)) + 8.*(KRANC_GFOFFSET3D(u,-1,2,0) + KRANC_GFOFFSET3D(u,1,-2,0) + KRANC_GFOFFSET3D(u,-2,1,0) + KRANC_GFOFFSET3D(u,2,-1,0)) - 8.*(KRANC_GFOFFSET3D(u,-1,-2,0) + KRANC_GFOFFSET3D(u,1,2,0) + KRANC_GFOFFSET3D(u,-2,-1,0) + KRANC_GFOFFSET3D(u,2,1,0)) + KRANC_GFOFFSET3D(u,-2,-2,0) - 1.*(KRANC_GFOFFSET3D(u,-2,2,0) + KRANC_GFOFFSET3D(u,2,-2,0)) + KRANC_GFOFFSET3D(u,2,2,0))*p1o144dxdy) +# define PDstandardNth21(u) ((-64*(KRANC_GFOFFSET3D(u,-1,1,0) + KRANC_GFOFFSET3D(u,1,-1,0)) + 64*(KRANC_GFOFFSET3D(u,-1,-1,0) + KRANC_GFOFFSET3D(u,1,1,0)) + 8*(KRANC_GFOFFSET3D(u,-1,2,0) + KRANC_GFOFFSET3D(u,1,-2,0) + KRANC_GFOFFSET3D(u,-2,1,0) + KRANC_GFOFFSET3D(u,2,-1,0)) - 8*(KRANC_GFOFFSET3D(u,-1,-2,0) + KRANC_GFOFFSET3D(u,1,2,0) + KRANC_GFOFFSET3D(u,-2,-1,0) + KRANC_GFOFFSET3D(u,2,1,0)) + KRANC_GFOFFSET3D(u,-2,-2,0) - KRANC_GFOFFSET3D(u,-2,2,0) - KRANC_GFOFFSET3D(u,2,-2,0) + KRANC_GFOFFSET3D(u,2,2,0))*p1o144dxdy) #else # define PDstandardNth21(u) (PDstandardNth21_impl(u,p1o144dxdy,cdj,cdk)) -static CCTK_REAL PDstandardNth21_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o144dxdy, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL PDstandardNth21_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o144dxdy, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL PDstandardNth21_impl(const CCTK_REAL* restrict const u, const CCTK_REAL p1o144dxdy, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL PDstandardNth21_impl(const CCTK_REAL* restrict const u, const CCTK_REAL p1o144dxdy, const ptrdiff_t cdj, const ptrdiff_t cdk) { - ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); - return (-64.*(KRANC_GFOFFSET3D(u,-1,1,0) + KRANC_GFOFFSET3D(u,1,-1,0)) + 64.*(KRANC_GFOFFSET3D(u,-1,-1,0) + KRANC_GFOFFSET3D(u,1,1,0)) + 8.*(KRANC_GFOFFSET3D(u,-1,2,0) + KRANC_GFOFFSET3D(u,1,-2,0) + KRANC_GFOFFSET3D(u,-2,1,0) + KRANC_GFOFFSET3D(u,2,-1,0)) - 8.*(KRANC_GFOFFSET3D(u,-1,-2,0) + KRANC_GFOFFSET3D(u,1,2,0) + KRANC_GFOFFSET3D(u,-2,-1,0) + KRANC_GFOFFSET3D(u,2,1,0)) + KRANC_GFOFFSET3D(u,-2,-2,0) - 1.*(KRANC_GFOFFSET3D(u,-2,2,0) + KRANC_GFOFFSET3D(u,2,-2,0)) + KRANC_GFOFFSET3D(u,2,2,0))*p1o144dxdy; + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); + return PDstandardNth12_impl(u, p1o144dxdy, cdj, cdk); } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDstandardNth23(u) ((-64.*(KRANC_GFOFFSET3D(u,0,-1,1) + KRANC_GFOFFSET3D(u,0,1,-1)) + 64.*(KRANC_GFOFFSET3D(u,0,-1,-1) + KRANC_GFOFFSET3D(u,0,1,1)) + 8.*(KRANC_GFOFFSET3D(u,0,-1,2) + KRANC_GFOFFSET3D(u,0,1,-2) + KRANC_GFOFFSET3D(u,0,-2,1) + KRANC_GFOFFSET3D(u,0,2,-1)) - 8.*(KRANC_GFOFFSET3D(u,0,-1,-2) + KRANC_GFOFFSET3D(u,0,1,2) + KRANC_GFOFFSET3D(u,0,-2,-1) + KRANC_GFOFFSET3D(u,0,2,1)) + KRANC_GFOFFSET3D(u,0,-2,-2) - 1.*(KRANC_GFOFFSET3D(u,0,-2,2) + KRANC_GFOFFSET3D(u,0,2,-2)) + KRANC_GFOFFSET3D(u,0,2,2))*p1o144dydz) +# define PDstandardNth23(u) ((-64*(KRANC_GFOFFSET3D(u,0,-1,1) + KRANC_GFOFFSET3D(u,0,1,-1)) + 64*(KRANC_GFOFFSET3D(u,0,-1,-1) + KRANC_GFOFFSET3D(u,0,1,1)) + 8*(KRANC_GFOFFSET3D(u,0,-1,2) + KRANC_GFOFFSET3D(u,0,1,-2) + KRANC_GFOFFSET3D(u,0,-2,1) + KRANC_GFOFFSET3D(u,0,2,-1)) - 8*(KRANC_GFOFFSET3D(u,0,-1,-2) + KRANC_GFOFFSET3D(u,0,1,2) + KRANC_GFOFFSET3D(u,0,-2,-1) + KRANC_GFOFFSET3D(u,0,2,1)) + KRANC_GFOFFSET3D(u,0,-2,-2) - KRANC_GFOFFSET3D(u,0,-2,2) - KRANC_GFOFFSET3D(u,0,2,-2) + KRANC_GFOFFSET3D(u,0,2,2))*p1o144dydz) #else # define PDstandardNth23(u) (PDstandardNth23_impl(u,p1o144dydz,cdj,cdk)) -static CCTK_REAL PDstandardNth23_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o144dydz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL PDstandardNth23_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o144dydz, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL PDstandardNth23_impl(const CCTK_REAL* restrict const u, const CCTK_REAL p1o144dydz, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL PDstandardNth23_impl(const CCTK_REAL* restrict const u, const CCTK_REAL p1o144dydz, const ptrdiff_t cdj, const ptrdiff_t cdk) { - ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); - return (-64.*(KRANC_GFOFFSET3D(u,0,-1,1) + KRANC_GFOFFSET3D(u,0,1,-1)) + 64.*(KRANC_GFOFFSET3D(u,0,-1,-1) + KRANC_GFOFFSET3D(u,0,1,1)) + 8.*(KRANC_GFOFFSET3D(u,0,-1,2) + KRANC_GFOFFSET3D(u,0,1,-2) + KRANC_GFOFFSET3D(u,0,-2,1) + KRANC_GFOFFSET3D(u,0,2,-1)) - 8.*(KRANC_GFOFFSET3D(u,0,-1,-2) + KRANC_GFOFFSET3D(u,0,1,2) + KRANC_GFOFFSET3D(u,0,-2,-1) + KRANC_GFOFFSET3D(u,0,2,1)) + KRANC_GFOFFSET3D(u,0,-2,-2) - 1.*(KRANC_GFOFFSET3D(u,0,-2,2) + KRANC_GFOFFSET3D(u,0,2,-2)) + KRANC_GFOFFSET3D(u,0,2,2))*p1o144dydz; + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); + return (-64*(KRANC_GFOFFSET3D(u,0,-1,1) + KRANC_GFOFFSET3D(u,0,1,-1)) + 64*(KRANC_GFOFFSET3D(u,0,-1,-1) + KRANC_GFOFFSET3D(u,0,1,1)) + 8*(KRANC_GFOFFSET3D(u,0,-1,2) + KRANC_GFOFFSET3D(u,0,1,-2) + KRANC_GFOFFSET3D(u,0,-2,1) + KRANC_GFOFFSET3D(u,0,2,-1)) - 8*(KRANC_GFOFFSET3D(u,0,-1,-2) + KRANC_GFOFFSET3D(u,0,1,2) + KRANC_GFOFFSET3D(u,0,-2,-1) + KRANC_GFOFFSET3D(u,0,2,1)) + KRANC_GFOFFSET3D(u,0,-2,-2) - KRANC_GFOFFSET3D(u,0,-2,2) - KRANC_GFOFFSET3D(u,0,2,-2) + KRANC_GFOFFSET3D(u,0,2,2))*p1o144dydz; } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDstandardNth31(u) ((-64.*(KRANC_GFOFFSET3D(u,-1,0,1) + KRANC_GFOFFSET3D(u,1,0,-1)) + 64.*(KRANC_GFOFFSET3D(u,-1,0,-1) + KRANC_GFOFFSET3D(u,1,0,1)) + 8.*(KRANC_GFOFFSET3D(u,-1,0,2) + KRANC_GFOFFSET3D(u,1,0,-2) + KRANC_GFOFFSET3D(u,-2,0,1) + KRANC_GFOFFSET3D(u,2,0,-1)) - 8.*(KRANC_GFOFFSET3D(u,-1,0,-2) + KRANC_GFOFFSET3D(u,1,0,2) + KRANC_GFOFFSET3D(u,-2,0,-1) + KRANC_GFOFFSET3D(u,2,0,1)) + KRANC_GFOFFSET3D(u,-2,0,-2) - 1.*(KRANC_GFOFFSET3D(u,-2,0,2) + KRANC_GFOFFSET3D(u,2,0,-2)) + KRANC_GFOFFSET3D(u,2,0,2))*p1o144dxdz) +# define PDstandardNth31(u) ((-64*(KRANC_GFOFFSET3D(u,-1,0,1) + KRANC_GFOFFSET3D(u,1,0,-1)) + 64*(KRANC_GFOFFSET3D(u,-1,0,-1) + KRANC_GFOFFSET3D(u,1,0,1)) + 8*(KRANC_GFOFFSET3D(u,-1,0,2) + KRANC_GFOFFSET3D(u,1,0,-2) + KRANC_GFOFFSET3D(u,-2,0,1) + KRANC_GFOFFSET3D(u,2,0,-1)) - 8*(KRANC_GFOFFSET3D(u,-1,0,-2) + KRANC_GFOFFSET3D(u,1,0,2) + KRANC_GFOFFSET3D(u,-2,0,-1) + KRANC_GFOFFSET3D(u,2,0,1)) + KRANC_GFOFFSET3D(u,-2,0,-2) - KRANC_GFOFFSET3D(u,-2,0,2) - KRANC_GFOFFSET3D(u,2,0,-2) + KRANC_GFOFFSET3D(u,2,0,2))*p1o144dxdz) #else # define PDstandardNth31(u) (PDstandardNth31_impl(u,p1o144dxdz,cdj,cdk)) -static CCTK_REAL PDstandardNth31_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o144dxdz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL PDstandardNth31_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o144dxdz, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL PDstandardNth31_impl(const CCTK_REAL* restrict const u, const CCTK_REAL p1o144dxdz, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL PDstandardNth31_impl(const CCTK_REAL* restrict const u, const CCTK_REAL p1o144dxdz, const ptrdiff_t cdj, const ptrdiff_t cdk) { - ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); - return (-64.*(KRANC_GFOFFSET3D(u,-1,0,1) + KRANC_GFOFFSET3D(u,1,0,-1)) + 64.*(KRANC_GFOFFSET3D(u,-1,0,-1) + KRANC_GFOFFSET3D(u,1,0,1)) + 8.*(KRANC_GFOFFSET3D(u,-1,0,2) + KRANC_GFOFFSET3D(u,1,0,-2) + KRANC_GFOFFSET3D(u,-2,0,1) + KRANC_GFOFFSET3D(u,2,0,-1)) - 8.*(KRANC_GFOFFSET3D(u,-1,0,-2) + KRANC_GFOFFSET3D(u,1,0,2) + KRANC_GFOFFSET3D(u,-2,0,-1) + KRANC_GFOFFSET3D(u,2,0,1)) + KRANC_GFOFFSET3D(u,-2,0,-2) - 1.*(KRANC_GFOFFSET3D(u,-2,0,2) + KRANC_GFOFFSET3D(u,2,0,-2)) + KRANC_GFOFFSET3D(u,2,0,2))*p1o144dxdz; + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); + return PDstandardNth12_impl(u, p1o144dxdz, cdk, cdj); } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDstandardNth32(u) ((-64.*(KRANC_GFOFFSET3D(u,0,-1,1) + KRANC_GFOFFSET3D(u,0,1,-1)) + 64.*(KRANC_GFOFFSET3D(u,0,-1,-1) + KRANC_GFOFFSET3D(u,0,1,1)) + 8.*(KRANC_GFOFFSET3D(u,0,-1,2) + KRANC_GFOFFSET3D(u,0,1,-2) + KRANC_GFOFFSET3D(u,0,-2,1) + KRANC_GFOFFSET3D(u,0,2,-1)) - 8.*(KRANC_GFOFFSET3D(u,0,-1,-2) + KRANC_GFOFFSET3D(u,0,1,2) + KRANC_GFOFFSET3D(u,0,-2,-1) + KRANC_GFOFFSET3D(u,0,2,1)) + KRANC_GFOFFSET3D(u,0,-2,-2) - 1.*(KRANC_GFOFFSET3D(u,0,-2,2) + KRANC_GFOFFSET3D(u,0,2,-2)) + KRANC_GFOFFSET3D(u,0,2,2))*p1o144dydz) +# define PDstandardNth32(u) ((-64*(KRANC_GFOFFSET3D(u,0,-1,1) + KRANC_GFOFFSET3D(u,0,1,-1)) + 64*(KRANC_GFOFFSET3D(u,0,-1,-1) + KRANC_GFOFFSET3D(u,0,1,1)) + 8*(KRANC_GFOFFSET3D(u,0,-1,2) + KRANC_GFOFFSET3D(u,0,1,-2) + KRANC_GFOFFSET3D(u,0,-2,1) + KRANC_GFOFFSET3D(u,0,2,-1)) - 8*(KRANC_GFOFFSET3D(u,0,-1,-2) + KRANC_GFOFFSET3D(u,0,1,2) + KRANC_GFOFFSET3D(u,0,-2,-1) + KRANC_GFOFFSET3D(u,0,2,1)) + KRANC_GFOFFSET3D(u,0,-2,-2) - KRANC_GFOFFSET3D(u,0,-2,2) - KRANC_GFOFFSET3D(u,0,2,-2) + KRANC_GFOFFSET3D(u,0,2,2))*p1o144dydz) #else # define PDstandardNth32(u) (PDstandardNth32_impl(u,p1o144dydz,cdj,cdk)) -static CCTK_REAL PDstandardNth32_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o144dydz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL PDstandardNth32_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o144dydz, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL PDstandardNth32_impl(const CCTK_REAL* restrict const u, const CCTK_REAL p1o144dydz, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL PDstandardNth32_impl(const CCTK_REAL* restrict const u, const CCTK_REAL p1o144dydz, const ptrdiff_t cdj, const ptrdiff_t cdk) { - ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); - return (-64.*(KRANC_GFOFFSET3D(u,0,-1,1) + KRANC_GFOFFSET3D(u,0,1,-1)) + 64.*(KRANC_GFOFFSET3D(u,0,-1,-1) + KRANC_GFOFFSET3D(u,0,1,1)) + 8.*(KRANC_GFOFFSET3D(u,0,-1,2) + KRANC_GFOFFSET3D(u,0,1,-2) + KRANC_GFOFFSET3D(u,0,-2,1) + KRANC_GFOFFSET3D(u,0,2,-1)) - 8.*(KRANC_GFOFFSET3D(u,0,-1,-2) + KRANC_GFOFFSET3D(u,0,1,2) + KRANC_GFOFFSET3D(u,0,-2,-1) + KRANC_GFOFFSET3D(u,0,2,1)) + KRANC_GFOFFSET3D(u,0,-2,-2) - 1.*(KRANC_GFOFFSET3D(u,0,-2,2) + KRANC_GFOFFSET3D(u,0,2,-2)) + KRANC_GFOFFSET3D(u,0,2,2))*p1o144dydz; + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); + return PDstandardNth23_impl(u, p1o144dydz, cdj, cdk); } #endif diff --git a/ML_ADMConstraints/src/ML_ADMConstraints.cc b/ML_ADMConstraints/src/ML_ADMConstraints.cc index 0b32fb1..829a4cf 100644 --- a/ML_ADMConstraints/src/ML_ADMConstraints.cc +++ b/ML_ADMConstraints/src/ML_ADMConstraints.cc @@ -27,7 +27,9 @@ extern "C" void ML_ADMConstraints_SelectBCs(CCTK_ARGUMENTS) DECLARE_CCTK_ARGUMENTS; DECLARE_CCTK_PARAMETERS; - CCTK_INT ierr CCTK_ATTRIBUTE_UNUSED = 0; + if (cctk_iteration % ML_ADMConstraints_calc_every != ML_ADMConstraints_calc_offset) + return; + CCTK_INT ierr CCTK_ATTRIBUTE_UNUSED = 0; ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_ADMConstraints::ML_Ham","flat"); if (ierr < 0) CCTK_WARN(1, "Failed to register flat BC for ML_ADMConstraints::ML_Ham."); @@ -37,7 +39,7 @@ extern "C" void ML_ADMConstraints_SelectBCs(CCTK_ARGUMENTS) return; } -static void ML_ADMConstraints_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_ADMConstraints_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; @@ -46,84 +48,106 @@ static void ML_ADMConstraints_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 /*const*/ dx CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(0)); - CCTK_REAL /*const*/ dy CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(1)); - CCTK_REAL /*const*/ dz CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(2)); - CCTK_REAL /*const*/ dt CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_TIME); - CCTK_REAL /*const*/ t CCTK_ATTRIBUTE_UNUSED = ToReal(cctk_time); - CCTK_REAL /*const*/ dxi CCTK_ATTRIBUTE_UNUSED = INV(dx); - CCTK_REAL /*const*/ dyi CCTK_ATTRIBUTE_UNUSED = INV(dy); - CCTK_REAL /*const*/ dzi CCTK_ATTRIBUTE_UNUSED = INV(dz); - CCTK_REAL /*const*/ khalf CCTK_ATTRIBUTE_UNUSED = 0.5; - CCTK_REAL /*const*/ kthird CCTK_ATTRIBUTE_UNUSED = 1/3.0; - CCTK_REAL /*const*/ ktwothird CCTK_ATTRIBUTE_UNUSED = 2.0/3.0; - CCTK_REAL /*const*/ kfourthird CCTK_ATTRIBUTE_UNUSED = 4.0/3.0; - CCTK_REAL /*const*/ keightthird CCTK_ATTRIBUTE_UNUSED = 8.0/3.0; - CCTK_REAL /*const*/ hdxi CCTK_ATTRIBUTE_UNUSED = 0.5 * dxi; - CCTK_REAL /*const*/ hdyi CCTK_ATTRIBUTE_UNUSED = 0.5 * dyi; - CCTK_REAL /*const*/ hdzi CCTK_ATTRIBUTE_UNUSED = 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 dx CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(0)); + const CCTK_REAL dy CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(1)); + const CCTK_REAL dz CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(2)); + const CCTK_REAL dt CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_TIME); + const CCTK_REAL t CCTK_ATTRIBUTE_UNUSED = ToReal(cctk_time); + const CCTK_REAL dxi CCTK_ATTRIBUTE_UNUSED = INV(dx); + const CCTK_REAL dyi CCTK_ATTRIBUTE_UNUSED = INV(dy); + const CCTK_REAL dzi CCTK_ATTRIBUTE_UNUSED = INV(dz); + const CCTK_REAL khalf CCTK_ATTRIBUTE_UNUSED = 0.5; + const CCTK_REAL kthird CCTK_ATTRIBUTE_UNUSED = 1/3.0; + const CCTK_REAL ktwothird CCTK_ATTRIBUTE_UNUSED = 2.0/3.0; + const CCTK_REAL kfourthird CCTK_ATTRIBUTE_UNUSED = 4.0/3.0; + const CCTK_REAL keightthird CCTK_ATTRIBUTE_UNUSED = 8.0/3.0; + const CCTK_REAL hdxi CCTK_ATTRIBUTE_UNUSED = 0.5 * dxi; + const CCTK_REAL hdyi CCTK_ATTRIBUTE_UNUSED = 0.5 * dyi; + const CCTK_REAL hdzi CCTK_ATTRIBUTE_UNUSED = 0.5 * dzi; /* Initialize predefined quantities */ - CCTK_REAL /*const*/ p1o12dx CCTK_ATTRIBUTE_UNUSED = 0.0833333333333333333333333333333*INV(dx); - CCTK_REAL /*const*/ p1o12dy CCTK_ATTRIBUTE_UNUSED = 0.0833333333333333333333333333333*INV(dy); - CCTK_REAL /*const*/ p1o12dz CCTK_ATTRIBUTE_UNUSED = 0.0833333333333333333333333333333*INV(dz); - CCTK_REAL /*const*/ p1o144dxdy CCTK_ATTRIBUTE_UNUSED = 0.00694444444444444444444444444444*INV(dx*dy); - CCTK_REAL /*const*/ p1o144dxdz CCTK_ATTRIBUTE_UNUSED = 0.00694444444444444444444444444444*INV(dx*dz); - CCTK_REAL /*const*/ p1o144dydz CCTK_ATTRIBUTE_UNUSED = 0.00694444444444444444444444444444*INV(dy*dz); - CCTK_REAL /*const*/ pm1o12dx2 CCTK_ATTRIBUTE_UNUSED = -0.0833333333333333333333333333333*INV(SQR(dx)); - CCTK_REAL /*const*/ pm1o12dy2 CCTK_ATTRIBUTE_UNUSED = -0.0833333333333333333333333333333*INV(SQR(dy)); - CCTK_REAL /*const*/ pm1o12dz2 CCTK_ATTRIBUTE_UNUSED = -0.0833333333333333333333333333333*INV(SQR(dz)); + const CCTK_REAL p1o12dx CCTK_ATTRIBUTE_UNUSED = 0.0833333333333333333333333333333*INV(dx); + const CCTK_REAL p1o12dy CCTK_ATTRIBUTE_UNUSED = 0.0833333333333333333333333333333*INV(dy); + const CCTK_REAL p1o12dz CCTK_ATTRIBUTE_UNUSED = 0.0833333333333333333333333333333*INV(dz); + const CCTK_REAL p1o144dxdy CCTK_ATTRIBUTE_UNUSED = 0.00694444444444444444444444444444*INV(dx*dy); + const CCTK_REAL p1o144dxdz CCTK_ATTRIBUTE_UNUSED = 0.00694444444444444444444444444444*INV(dx*dz); + const CCTK_REAL p1o144dydz CCTK_ATTRIBUTE_UNUSED = 0.00694444444444444444444444444444*INV(dy*dz); + const CCTK_REAL pm1o12dx2 CCTK_ATTRIBUTE_UNUSED = -0.0833333333333333333333333333333*INV(SQR(dx)); + const CCTK_REAL pm1o12dy2 CCTK_ATTRIBUTE_UNUSED = -0.0833333333333333333333333333333*INV(SQR(dy)); + const CCTK_REAL pm1o12dz2 CCTK_ATTRIBUTE_UNUSED = -0.0833333333333333333333333333333*INV(SQR(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; + + 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; - CCTK_REAL const *restrict jacobian_derivative_ptrs[18] CCTK_ATTRIBUTE_UNUSED; + 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 */ @@ -134,12 +158,19 @@ static void ML_ADMConstraints_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_LOOP3(ML_ADMConstraints, - 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]) { - 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; /* Assign local copies of grid functions */ @@ -162,7 +193,7 @@ static void ML_ADMConstraints_Body(cGH const * restrict const cctkGH, int const CCTK_REAL eTttL, eTtxL, eTtyL, eTtzL, eTxxL, eTxyL, eTxzL, eTyyL, eTyzL, eTzzL CCTK_ATTRIBUTE_UNUSED ; - if (*stress_energy_state) + if (assume_stress_energy_state>=0 ? assume_stress_energy_state : *stress_energy_state) { eTttL = eTtt[index]; eTtxL = eTtx[index]; @@ -225,158 +256,158 @@ static void ML_ADMConstraints_Body(cGH const * restrict const cctkGH, int const /* Include user supplied include files */ /* Precompute derivatives */ - CCTK_REAL /*const*/ PDstandardNth1gxx CCTK_ATTRIBUTE_UNUSED = PDstandardNth1(&gxx[index]); - CCTK_REAL /*const*/ PDstandardNth2gxx CCTK_ATTRIBUTE_UNUSED = PDstandardNth2(&gxx[index]); - CCTK_REAL /*const*/ PDstandardNth3gxx CCTK_ATTRIBUTE_UNUSED = PDstandardNth3(&gxx[index]); - CCTK_REAL /*const*/ PDstandardNth11gxx CCTK_ATTRIBUTE_UNUSED = PDstandardNth11(&gxx[index]); - CCTK_REAL /*const*/ PDstandardNth22gxx CCTK_ATTRIBUTE_UNUSED = PDstandardNth22(&gxx[index]); - CCTK_REAL /*const*/ PDstandardNth33gxx CCTK_ATTRIBUTE_UNUSED = PDstandardNth33(&gxx[index]); - CCTK_REAL /*const*/ PDstandardNth12gxx CCTK_ATTRIBUTE_UNUSED = PDstandardNth12(&gxx[index]); - CCTK_REAL /*const*/ PDstandardNth13gxx CCTK_ATTRIBUTE_UNUSED = PDstandardNth13(&gxx[index]); - CCTK_REAL /*const*/ PDstandardNth23gxx CCTK_ATTRIBUTE_UNUSED = PDstandardNth23(&gxx[index]); - CCTK_REAL /*const*/ PDstandardNth1gxy CCTK_ATTRIBUTE_UNUSED = PDstandardNth1(&gxy[index]); - CCTK_REAL /*const*/ PDstandardNth2gxy CCTK_ATTRIBUTE_UNUSED = PDstandardNth2(&gxy[index]); - CCTK_REAL /*const*/ PDstandardNth3gxy CCTK_ATTRIBUTE_UNUSED = PDstandardNth3(&gxy[index]); - CCTK_REAL /*const*/ PDstandardNth11gxy CCTK_ATTRIBUTE_UNUSED = PDstandardNth11(&gxy[index]); - CCTK_REAL /*const*/ PDstandardNth22gxy CCTK_ATTRIBUTE_UNUSED = PDstandardNth22(&gxy[index]); - CCTK_REAL /*const*/ PDstandardNth33gxy CCTK_ATTRIBUTE_UNUSED = PDstandardNth33(&gxy[index]); - CCTK_REAL /*const*/ PDstandardNth12gxy CCTK_ATTRIBUTE_UNUSED = PDstandardNth12(&gxy[index]); - CCTK_REAL /*const*/ PDstandardNth13gxy CCTK_ATTRIBUTE_UNUSED = PDstandardNth13(&gxy[index]); - CCTK_REAL /*const*/ PDstandardNth23gxy CCTK_ATTRIBUTE_UNUSED = PDstandardNth23(&gxy[index]); - CCTK_REAL /*const*/ PDstandardNth1gxz CCTK_ATTRIBUTE_UNUSED = PDstandardNth1(&gxz[index]); - CCTK_REAL /*const*/ PDstandardNth2gxz CCTK_ATTRIBUTE_UNUSED = PDstandardNth2(&gxz[index]); - CCTK_REAL /*const*/ PDstandardNth3gxz CCTK_ATTRIBUTE_UNUSED = PDstandardNth3(&gxz[index]); - CCTK_REAL /*const*/ PDstandardNth11gxz CCTK_ATTRIBUTE_UNUSED = PDstandardNth11(&gxz[index]); - CCTK_REAL /*const*/ PDstandardNth22gxz CCTK_ATTRIBUTE_UNUSED = PDstandardNth22(&gxz[index]); - CCTK_REAL /*const*/ PDstandardNth33gxz CCTK_ATTRIBUTE_UNUSED = PDstandardNth33(&gxz[index]); - CCTK_REAL /*const*/ PDstandardNth12gxz CCTK_ATTRIBUTE_UNUSED = PDstandardNth12(&gxz[index]); - CCTK_REAL /*const*/ PDstandardNth13gxz CCTK_ATTRIBUTE_UNUSED = PDstandardNth13(&gxz[index]); - CCTK_REAL /*const*/ PDstandardNth23gxz CCTK_ATTRIBUTE_UNUSED = PDstandardNth23(&gxz[index]); - CCTK_REAL /*const*/ PDstandardNth1gyy CCTK_ATTRIBUTE_UNUSED = PDstandardNth1(&gyy[index]); - CCTK_REAL /*const*/ PDstandardNth2gyy CCTK_ATTRIBUTE_UNUSED = PDstandardNth2(&gyy[index]); - CCTK_REAL /*const*/ PDstandardNth3gyy CCTK_ATTRIBUTE_UNUSED = PDstandardNth3(&gyy[index]); - CCTK_REAL /*const*/ PDstandardNth11gyy CCTK_ATTRIBUTE_UNUSED = PDstandardNth11(&gyy[index]); - CCTK_REAL /*const*/ PDstandardNth22gyy CCTK_ATTRIBUTE_UNUSED = PDstandardNth22(&gyy[index]); - CCTK_REAL /*const*/ PDstandardNth33gyy CCTK_ATTRIBUTE_UNUSED = PDstandardNth33(&gyy[index]); - CCTK_REAL /*const*/ PDstandardNth12gyy CCTK_ATTRIBUTE_UNUSED = PDstandardNth12(&gyy[index]); - CCTK_REAL /*const*/ PDstandardNth13gyy CCTK_ATTRIBUTE_UNUSED = PDstandardNth13(&gyy[index]); - CCTK_REAL /*const*/ PDstandardNth23gyy CCTK_ATTRIBUTE_UNUSED = PDstandardNth23(&gyy[index]); - CCTK_REAL /*const*/ PDstandardNth1gyz CCTK_ATTRIBUTE_UNUSED = PDstandardNth1(&gyz[index]); - CCTK_REAL /*const*/ PDstandardNth2gyz CCTK_ATTRIBUTE_UNUSED = PDstandardNth2(&gyz[index]); - CCTK_REAL /*const*/ PDstandardNth3gyz CCTK_ATTRIBUTE_UNUSED = PDstandardNth3(&gyz[index]); - CCTK_REAL /*const*/ PDstandardNth11gyz CCTK_ATTRIBUTE_UNUSED = PDstandardNth11(&gyz[index]); - CCTK_REAL /*const*/ PDstandardNth22gyz CCTK_ATTRIBUTE_UNUSED = PDstandardNth22(&gyz[index]); - CCTK_REAL /*const*/ PDstandardNth33gyz CCTK_ATTRIBUTE_UNUSED = PDstandardNth33(&gyz[index]); - CCTK_REAL /*const*/ PDstandardNth12gyz CCTK_ATTRIBUTE_UNUSED = PDstandardNth12(&gyz[index]); - CCTK_REAL /*const*/ PDstandardNth13gyz CCTK_ATTRIBUTE_UNUSED = PDstandardNth13(&gyz[index]); - CCTK_REAL /*const*/ PDstandardNth23gyz CCTK_ATTRIBUTE_UNUSED = PDstandardNth23(&gyz[index]); - CCTK_REAL /*const*/ PDstandardNth1gzz CCTK_ATTRIBUTE_UNUSED = PDstandardNth1(&gzz[index]); - CCTK_REAL /*const*/ PDstandardNth2gzz CCTK_ATTRIBUTE_UNUSED = PDstandardNth2(&gzz[index]); - CCTK_REAL /*const*/ PDstandardNth3gzz CCTK_ATTRIBUTE_UNUSED = PDstandardNth3(&gzz[index]); - CCTK_REAL /*const*/ PDstandardNth11gzz CCTK_ATTRIBUTE_UNUSED = PDstandardNth11(&gzz[index]); - CCTK_REAL /*const*/ PDstandardNth22gzz CCTK_ATTRIBUTE_UNUSED = PDstandardNth22(&gzz[index]); - CCTK_REAL /*const*/ PDstandardNth33gzz CCTK_ATTRIBUTE_UNUSED = PDstandardNth33(&gzz[index]); - CCTK_REAL /*const*/ PDstandardNth12gzz CCTK_ATTRIBUTE_UNUSED = PDstandardNth12(&gzz[index]); - CCTK_REAL /*const*/ PDstandardNth13gzz CCTK_ATTRIBUTE_UNUSED = PDstandardNth13(&gzz[index]); - CCTK_REAL /*const*/ PDstandardNth23gzz CCTK_ATTRIBUTE_UNUSED = PDstandardNth23(&gzz[index]); - CCTK_REAL /*const*/ PDstandardNth1kxx CCTK_ATTRIBUTE_UNUSED = PDstandardNth1(&kxx[index]); - CCTK_REAL /*const*/ PDstandardNth2kxx CCTK_ATTRIBUTE_UNUSED = PDstandardNth2(&kxx[index]); - CCTK_REAL /*const*/ PDstandardNth3kxx CCTK_ATTRIBUTE_UNUSED = PDstandardNth3(&kxx[index]); - CCTK_REAL /*const*/ PDstandardNth1kxy CCTK_ATTRIBUTE_UNUSED = PDstandardNth1(&kxy[index]); - CCTK_REAL /*const*/ PDstandardNth2kxy CCTK_ATTRIBUTE_UNUSED = PDstandardNth2(&kxy[index]); - CCTK_REAL /*const*/ PDstandardNth3kxy CCTK_ATTRIBUTE_UNUSED = PDstandardNth3(&kxy[index]); - CCTK_REAL /*const*/ PDstandardNth1kxz CCTK_ATTRIBUTE_UNUSED = PDstandardNth1(&kxz[index]); - CCTK_REAL /*const*/ PDstandardNth2kxz CCTK_ATTRIBUTE_UNUSED = PDstandardNth2(&kxz[index]); - CCTK_REAL /*const*/ PDstandardNth3kxz CCTK_ATTRIBUTE_UNUSED = PDstandardNth3(&kxz[index]); - CCTK_REAL /*const*/ PDstandardNth1kyy CCTK_ATTRIBUTE_UNUSED = PDstandardNth1(&kyy[index]); - CCTK_REAL /*const*/ PDstandardNth2kyy CCTK_ATTRIBUTE_UNUSED = PDstandardNth2(&kyy[index]); - CCTK_REAL /*const*/ PDstandardNth3kyy CCTK_ATTRIBUTE_UNUSED = PDstandardNth3(&kyy[index]); - CCTK_REAL /*const*/ PDstandardNth1kyz CCTK_ATTRIBUTE_UNUSED = PDstandardNth1(&kyz[index]); - CCTK_REAL /*const*/ PDstandardNth2kyz CCTK_ATTRIBUTE_UNUSED = PDstandardNth2(&kyz[index]); - CCTK_REAL /*const*/ PDstandardNth3kyz CCTK_ATTRIBUTE_UNUSED = PDstandardNth3(&kyz[index]); - CCTK_REAL /*const*/ PDstandardNth1kzz CCTK_ATTRIBUTE_UNUSED = PDstandardNth1(&kzz[index]); - CCTK_REAL /*const*/ PDstandardNth2kzz CCTK_ATTRIBUTE_UNUSED = PDstandardNth2(&kzz[index]); - CCTK_REAL /*const*/ PDstandardNth3kzz CCTK_ATTRIBUTE_UNUSED = PDstandardNth3(&kzz[index]); + const CCTK_REAL PDstandardNth1gxx CCTK_ATTRIBUTE_UNUSED = PDstandardNth1(&gxx[index]); + const CCTK_REAL PDstandardNth2gxx CCTK_ATTRIBUTE_UNUSED = PDstandardNth2(&gxx[index]); + const CCTK_REAL PDstandardNth3gxx CCTK_ATTRIBUTE_UNUSED = PDstandardNth3(&gxx[index]); + const CCTK_REAL PDstandardNth11gxx CCTK_ATTRIBUTE_UNUSED = PDstandardNth11(&gxx[index]); + const CCTK_REAL PDstandardNth22gxx CCTK_ATTRIBUTE_UNUSED = PDstandardNth22(&gxx[index]); + const CCTK_REAL PDstandardNth33gxx CCTK_ATTRIBUTE_UNUSED = PDstandardNth33(&gxx[index]); + const CCTK_REAL PDstandardNth12gxx CCTK_ATTRIBUTE_UNUSED = PDstandardNth12(&gxx[index]); + const CCTK_REAL PDstandardNth13gxx CCTK_ATTRIBUTE_UNUSED = PDstandardNth13(&gxx[index]); + const CCTK_REAL PDstandardNth23gxx CCTK_ATTRIBUTE_UNUSED = PDstandardNth23(&gxx[index]); + const CCTK_REAL PDstandardNth1gxy CCTK_ATTRIBUTE_UNUSED = PDstandardNth1(&gxy[index]); + const CCTK_REAL PDstandardNth2gxy CCTK_ATTRIBUTE_UNUSED = PDstandardNth2(&gxy[index]); + const CCTK_REAL PDstandardNth3gxy CCTK_ATTRIBUTE_UNUSED = PDstandardNth3(&gxy[index]); + const CCTK_REAL PDstandardNth11gxy CCTK_ATTRIBUTE_UNUSED = PDstandardNth11(&gxy[index]); + const CCTK_REAL PDstandardNth22gxy CCTK_ATTRIBUTE_UNUSED = PDstandardNth22(&gxy[index]); + const CCTK_REAL PDstandardNth33gxy CCTK_ATTRIBUTE_UNUSED = PDstandardNth33(&gxy[index]); + const CCTK_REAL PDstandardNth12gxy CCTK_ATTRIBUTE_UNUSED = PDstandardNth12(&gxy[index]); + const CCTK_REAL PDstandardNth13gxy CCTK_ATTRIBUTE_UNUSED = PDstandardNth13(&gxy[index]); + const CCTK_REAL PDstandardNth23gxy CCTK_ATTRIBUTE_UNUSED = PDstandardNth23(&gxy[index]); + const CCTK_REAL PDstandardNth1gxz CCTK_ATTRIBUTE_UNUSED = PDstandardNth1(&gxz[index]); + const CCTK_REAL PDstandardNth2gxz CCTK_ATTRIBUTE_UNUSED = PDstandardNth2(&gxz[index]); + const CCTK_REAL PDstandardNth3gxz CCTK_ATTRIBUTE_UNUSED = PDstandardNth3(&gxz[index]); + const CCTK_REAL PDstandardNth11gxz CCTK_ATTRIBUTE_UNUSED = PDstandardNth11(&gxz[index]); + const CCTK_REAL PDstandardNth22gxz CCTK_ATTRIBUTE_UNUSED = PDstandardNth22(&gxz[index]); + const CCTK_REAL PDstandardNth33gxz CCTK_ATTRIBUTE_UNUSED = PDstandardNth33(&gxz[index]); + const CCTK_REAL PDstandardNth12gxz CCTK_ATTRIBUTE_UNUSED = PDstandardNth12(&gxz[index]); + const CCTK_REAL PDstandardNth13gxz CCTK_ATTRIBUTE_UNUSED = PDstandardNth13(&gxz[index]); + const CCTK_REAL PDstandardNth23gxz CCTK_ATTRIBUTE_UNUSED = PDstandardNth23(&gxz[index]); + const CCTK_REAL PDstandardNth1gyy CCTK_ATTRIBUTE_UNUSED = PDstandardNth1(&gyy[index]); + const CCTK_REAL PDstandardNth2gyy CCTK_ATTRIBUTE_UNUSED = PDstandardNth2(&gyy[index]); + const CCTK_REAL PDstandardNth3gyy CCTK_ATTRIBUTE_UNUSED = PDstandardNth3(&gyy[index]); + const CCTK_REAL PDstandardNth11gyy CCTK_ATTRIBUTE_UNUSED = PDstandardNth11(&gyy[index]); + const CCTK_REAL PDstandardNth22gyy CCTK_ATTRIBUTE_UNUSED = PDstandardNth22(&gyy[index]); + const CCTK_REAL PDstandardNth33gyy CCTK_ATTRIBUTE_UNUSED = PDstandardNth33(&gyy[index]); + const CCTK_REAL PDstandardNth12gyy CCTK_ATTRIBUTE_UNUSED = PDstandardNth12(&gyy[index]); + const CCTK_REAL PDstandardNth13gyy CCTK_ATTRIBUTE_UNUSED = PDstandardNth13(&gyy[index]); + const CCTK_REAL PDstandardNth23gyy CCTK_ATTRIBUTE_UNUSED = PDstandardNth23(&gyy[index]); + const CCTK_REAL PDstandardNth1gyz CCTK_ATTRIBUTE_UNUSED = PDstandardNth1(&gyz[index]); + const CCTK_REAL PDstandardNth2gyz CCTK_ATTRIBUTE_UNUSED = PDstandardNth2(&gyz[index]); + const CCTK_REAL PDstandardNth3gyz CCTK_ATTRIBUTE_UNUSED = PDstandardNth3(&gyz[index]); + const CCTK_REAL PDstandardNth11gyz CCTK_ATTRIBUTE_UNUSED = PDstandardNth11(&gyz[index]); + const CCTK_REAL PDstandardNth22gyz CCTK_ATTRIBUTE_UNUSED = PDstandardNth22(&gyz[index]); + const CCTK_REAL PDstandardNth33gyz CCTK_ATTRIBUTE_UNUSED = PDstandardNth33(&gyz[index]); + const CCTK_REAL PDstandardNth12gyz CCTK_ATTRIBUTE_UNUSED = PDstandardNth12(&gyz[index]); + const CCTK_REAL PDstandardNth13gyz CCTK_ATTRIBUTE_UNUSED = PDstandardNth13(&gyz[index]); + const CCTK_REAL PDstandardNth23gyz CCTK_ATTRIBUTE_UNUSED = PDstandardNth23(&gyz[index]); + const CCTK_REAL PDstandardNth1gzz CCTK_ATTRIBUTE_UNUSED = PDstandardNth1(&gzz[index]); + const CCTK_REAL PDstandardNth2gzz CCTK_ATTRIBUTE_UNUSED = PDstandardNth2(&gzz[index]); + const CCTK_REAL PDstandardNth3gzz CCTK_ATTRIBUTE_UNUSED = PDstandardNth3(&gzz[index]); + const CCTK_REAL PDstandardNth11gzz CCTK_ATTRIBUTE_UNUSED = PDstandardNth11(&gzz[index]); + const CCTK_REAL PDstandardNth22gzz CCTK_ATTRIBUTE_UNUSED = PDstandardNth22(&gzz[index]); + const CCTK_REAL PDstandardNth33gzz CCTK_ATTRIBUTE_UNUSED = PDstandardNth33(&gzz[index]); + const CCTK_REAL PDstandardNth12gzz CCTK_ATTRIBUTE_UNUSED = PDstandardNth12(&gzz[index]); + const CCTK_REAL PDstandardNth13gzz CCTK_ATTRIBUTE_UNUSED = PDstandardNth13(&gzz[index]); + const CCTK_REAL PDstandardNth23gzz CCTK_ATTRIBUTE_UNUSED = PDstandardNth23(&gzz[index]); + const CCTK_REAL PDstandardNth1kxx CCTK_ATTRIBUTE_UNUSED = PDstandardNth1(&kxx[index]); + const CCTK_REAL PDstandardNth2kxx CCTK_ATTRIBUTE_UNUSED = PDstandardNth2(&kxx[index]); + const CCTK_REAL PDstandardNth3kxx CCTK_ATTRIBUTE_UNUSED = PDstandardNth3(&kxx[index]); + const CCTK_REAL PDstandardNth1kxy CCTK_ATTRIBUTE_UNUSED = PDstandardNth1(&kxy[index]); + const CCTK_REAL PDstandardNth2kxy CCTK_ATTRIBUTE_UNUSED = PDstandardNth2(&kxy[index]); + const CCTK_REAL PDstandardNth3kxy CCTK_ATTRIBUTE_UNUSED = PDstandardNth3(&kxy[index]); + const CCTK_REAL PDstandardNth1kxz CCTK_ATTRIBUTE_UNUSED = PDstandardNth1(&kxz[index]); + const CCTK_REAL PDstandardNth2kxz CCTK_ATTRIBUTE_UNUSED = PDstandardNth2(&kxz[index]); + const CCTK_REAL PDstandardNth3kxz CCTK_ATTRIBUTE_UNUSED = PDstandardNth3(&kxz[index]); + const CCTK_REAL PDstandardNth1kyy CCTK_ATTRIBUTE_UNUSED = PDstandardNth1(&kyy[index]); + const CCTK_REAL PDstandardNth2kyy CCTK_ATTRIBUTE_UNUSED = PDstandardNth2(&kyy[index]); + const CCTK_REAL PDstandardNth3kyy CCTK_ATTRIBUTE_UNUSED = PDstandardNth3(&kyy[index]); + const CCTK_REAL PDstandardNth1kyz CCTK_ATTRIBUTE_UNUSED = PDstandardNth1(&kyz[index]); + const CCTK_REAL PDstandardNth2kyz CCTK_ATTRIBUTE_UNUSED = PDstandardNth2(&kyz[index]); + const CCTK_REAL PDstandardNth3kyz CCTK_ATTRIBUTE_UNUSED = PDstandardNth3(&kyz[index]); + const CCTK_REAL PDstandardNth1kzz CCTK_ATTRIBUTE_UNUSED = PDstandardNth1(&kzz[index]); + const CCTK_REAL PDstandardNth2kzz CCTK_ATTRIBUTE_UNUSED = PDstandardNth2(&kzz[index]); + const CCTK_REAL PDstandardNth3kzz CCTK_ATTRIBUTE_UNUSED = PDstandardNth3(&kzz[index]); /* Calculate temporaries and grid functions */ - CCTK_REAL JacPDstandardNth11gyy CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth11gyz CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth11gzz CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth12gxx CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth12gxy CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth12gxz CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth12gyy CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth12gyz CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth12gzz CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth13gxx CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth13gxy CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth13gxz CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth13gyy CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth13gyz CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth13gzz CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth1gxx CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth1gxy CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth1gxz CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth1gyy CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth1gyz CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth1gzz CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth1kxy CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth1kxz CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth1kyy CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth1kyz CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth1kzz CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth21gxx CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth21gxy CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth21gxz CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth21gyy CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth21gyz CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth21gzz CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth22gxx CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth22gxz CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth22gzz CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth23gxx CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth23gxy CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth23gxz CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth23gyy CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth23gyz CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth23gzz CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth2gxx CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth2gxy CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth2gxz CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth2gyy CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth2gyz CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth2gzz CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth2kxx CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth2kxy CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth2kxz CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth2kyz CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth2kzz CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth31gxx CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth31gxy CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth31gxz CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth31gyy CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth31gyz CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth31gzz CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth32gxx CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth32gxy CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth32gxz CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth32gyy CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth32gyz CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth32gzz CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth33gxx CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth33gxy CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth33gyy CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth3gxx CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth3gxy CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth3gxz CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth3gyy CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth3gyz CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth3gzz CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth3kxx CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth3kxy CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth3kxz CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth3kyy CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth3kyz CCTK_ATTRIBUTE_UNUSED ; + CCTK_REAL JacPDstandardNth11gyy CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth11gyz CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth11gzz CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth12gxx CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth12gxy CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth12gxz CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth12gyy CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth12gyz CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth12gzz CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth13gxx CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth13gxy CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth13gxz CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth13gyy CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth13gyz CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth13gzz CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth1gxx CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth1gxy CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth1gxz CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth1gyy CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth1gyz CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth1gzz CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth1kxy CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth1kxz CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth1kyy CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth1kyz CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth1kzz CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth21gxx CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth21gxy CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth21gxz CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth21gyy CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth21gyz CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth21gzz CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth22gxx CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth22gxz CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth22gzz CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth23gxx CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth23gxy CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth23gxz CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth23gyy CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth23gyz CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth23gzz CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth2gxx CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth2gxy CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth2gxz CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth2gyy CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth2gyz CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth2gzz CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth2kxx CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth2kxy CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth2kxz CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth2kyz CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth2kzz CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth31gxx CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth31gxy CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth31gxz CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth31gyy CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth31gyz CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth31gzz CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth32gxx CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth32gxy CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth32gxz CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth32gyy CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth32gyz CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth32gzz CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth33gxx CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth33gxy CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth33gyy CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth3gxx CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth3gxy CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth3gxz CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth3gyy CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth3gyz CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth3gzz CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth3kxx CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth3kxy CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth3kxz CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth3kyy CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth3kyz CCTK_ATTRIBUTE_UNUSED; if (use_jacobian) { @@ -480,55 +511,55 @@ static void ML_ADMConstraints_Body(cGH const * restrict const cctkGH, int const J23L*PDstandardNth2kyz + J33L*PDstandardNth3kyz; JacPDstandardNth11gyy = dJ111L*PDstandardNth1gyy + - 2.*(J11L*(J21L*PDstandardNth12gyy + J31L*PDstandardNth13gyy) + + 2*(J11L*(J21L*PDstandardNth12gyy + J31L*PDstandardNth13gyy) + J21L*J31L*PDstandardNth23gyy) + dJ211L*PDstandardNth2gyy + dJ311L*PDstandardNth3gyy + PDstandardNth11gyy*SQR(J11L) + PDstandardNth22gyy*SQR(J21L) + PDstandardNth33gyy*SQR(J31L); JacPDstandardNth11gyz = dJ111L*PDstandardNth1gyz + - 2.*(J11L*(J21L*PDstandardNth12gyz + J31L*PDstandardNth13gyz) + + 2*(J11L*(J21L*PDstandardNth12gyz + J31L*PDstandardNth13gyz) + J21L*J31L*PDstandardNth23gyz) + dJ211L*PDstandardNth2gyz + dJ311L*PDstandardNth3gyz + PDstandardNth11gyz*SQR(J11L) + PDstandardNth22gyz*SQR(J21L) + PDstandardNth33gyz*SQR(J31L); JacPDstandardNth11gzz = dJ111L*PDstandardNth1gzz + - 2.*(J11L*(J21L*PDstandardNth12gzz + J31L*PDstandardNth13gzz) + + 2*(J11L*(J21L*PDstandardNth12gzz + J31L*PDstandardNth13gzz) + J21L*J31L*PDstandardNth23gzz) + dJ211L*PDstandardNth2gzz + dJ311L*PDstandardNth3gzz + PDstandardNth11gzz*SQR(J11L) + PDstandardNth22gzz*SQR(J21L) + PDstandardNth33gzz*SQR(J31L); JacPDstandardNth22gxx = dJ122L*PDstandardNth1gxx + - 2.*(J12L*(J22L*PDstandardNth12gxx + J32L*PDstandardNth13gxx) + + 2*(J12L*(J22L*PDstandardNth12gxx + J32L*PDstandardNth13gxx) + J22L*J32L*PDstandardNth23gxx) + dJ222L*PDstandardNth2gxx + dJ322L*PDstandardNth3gxx + PDstandardNth11gxx*SQR(J12L) + PDstandardNth22gxx*SQR(J22L) + PDstandardNth33gxx*SQR(J32L); JacPDstandardNth22gxz = dJ122L*PDstandardNth1gxz + - 2.*(J12L*(J22L*PDstandardNth12gxz + J32L*PDstandardNth13gxz) + + 2*(J12L*(J22L*PDstandardNth12gxz + J32L*PDstandardNth13gxz) + J22L*J32L*PDstandardNth23gxz) + dJ222L*PDstandardNth2gxz + dJ322L*PDstandardNth3gxz + PDstandardNth11gxz*SQR(J12L) + PDstandardNth22gxz*SQR(J22L) + PDstandardNth33gxz*SQR(J32L); JacPDstandardNth22gzz = dJ122L*PDstandardNth1gzz + - 2.*(J12L*(J22L*PDstandardNth12gzz + J32L*PDstandardNth13gzz) + + 2*(J12L*(J22L*PDstandardNth12gzz + J32L*PDstandardNth13gzz) + J22L*J32L*PDstandardNth23gzz) + dJ222L*PDstandardNth2gzz + dJ322L*PDstandardNth3gzz + PDstandardNth11gzz*SQR(J12L) + PDstandardNth22gzz*SQR(J22L) + PDstandardNth33gzz*SQR(J32L); JacPDstandardNth33gxx = dJ133L*PDstandardNth1gxx + - 2.*(J13L*(J23L*PDstandardNth12gxx + J33L*PDstandardNth13gxx) + + 2*(J13L*(J23L*PDstandardNth12gxx + J33L*PDstandardNth13gxx) + J23L*J33L*PDstandardNth23gxx) + dJ233L*PDstandardNth2gxx + dJ333L*PDstandardNth3gxx + PDstandardNth11gxx*SQR(J13L) + PDstandardNth22gxx*SQR(J23L) + PDstandardNth33gxx*SQR(J33L); JacPDstandardNth33gxy = dJ133L*PDstandardNth1gxy + - 2.*(J13L*(J23L*PDstandardNth12gxy + J33L*PDstandardNth13gxy) + + 2*(J13L*(J23L*PDstandardNth12gxy + J33L*PDstandardNth13gxy) + J23L*J33L*PDstandardNth23gxy) + dJ233L*PDstandardNth2gxy + dJ333L*PDstandardNth3gxy + PDstandardNth11gxy*SQR(J13L) + PDstandardNth22gxy*SQR(J23L) + PDstandardNth33gxy*SQR(J33L); JacPDstandardNth33gyy = dJ133L*PDstandardNth1gyy + - 2.*(J13L*(J23L*PDstandardNth12gyy + J33L*PDstandardNth13gyy) + + 2*(J13L*(J23L*PDstandardNth12gyy + J33L*PDstandardNth13gyy) + J23L*J33L*PDstandardNth23gyy) + dJ233L*PDstandardNth2gyy + dJ333L*PDstandardNth3gyy + PDstandardNth11gyy*SQR(J13L) + PDstandardNth22gyy*SQR(J23L) + PDstandardNth33gyy*SQR(J33L); @@ -980,135 +1011,136 @@ static void ML_ADMConstraints_Body(cGH const * restrict const cctkGH, int const JacPDstandardNth32gzz = PDstandardNth23gzz; } - CCTK_REAL CCTK_ATTRIBUTE_UNUSED detg = 2.*gxyL*gxzL*gyzL + - gzzL*(gxxL*gyyL - 1.*SQR(gxyL)) - 1.*(gyyL*SQR(gxzL) + - gxxL*SQR(gyzL)); + CCTK_REAL CCTK_ATTRIBUTE_UNUSED detg = 2*gxyL*gxzL*gyzL + + gzzL*(gxxL*gyyL - SQR(gxyL)) - gyyL*SQR(gxzL) - + gxxL*SQR(gyzL); CCTK_REAL CCTK_ATTRIBUTE_UNUSED gu11 = INV(detg)*(gyyL*gzzL - - 1.*SQR(gyzL)); + SQR(gyzL)); CCTK_REAL CCTK_ATTRIBUTE_UNUSED gu21 = (gxzL*gyzL - - 1.*gxyL*gzzL)*INV(detg); + gxyL*gzzL)*INV(detg); - CCTK_REAL CCTK_ATTRIBUTE_UNUSED gu31 = (-1.*gxzL*gyyL + + CCTK_REAL CCTK_ATTRIBUTE_UNUSED gu31 = (-(gxzL*gyyL) + gxyL*gyzL)*INV(detg); CCTK_REAL CCTK_ATTRIBUTE_UNUSED gu22 = INV(detg)*(gxxL*gzzL - - 1.*SQR(gxzL)); + SQR(gxzL)); CCTK_REAL CCTK_ATTRIBUTE_UNUSED gu32 = (gxyL*gxzL - - 1.*gxxL*gyzL)*INV(detg); + gxxL*gyzL)*INV(detg); CCTK_REAL CCTK_ATTRIBUTE_UNUSED gu33 = INV(detg)*(gxxL*gyyL - - 1.*SQR(gxyL)); + SQR(gxyL)); CCTK_REAL CCTK_ATTRIBUTE_UNUSED G111 = 0.5*(gu11*JacPDstandardNth1gxx - + 2.*(gu21*JacPDstandardNth1gxy + gu31*JacPDstandardNth1gxz) - - 1.*(gu21*JacPDstandardNth2gxx + gu31*JacPDstandardNth3gxx)); + + 2*(gu21*JacPDstandardNth1gxy + gu31*JacPDstandardNth1gxz) - + gu21*JacPDstandardNth2gxx - gu31*JacPDstandardNth3gxx); CCTK_REAL CCTK_ATTRIBUTE_UNUSED G211 = 0.5*(gu21*JacPDstandardNth1gxx - + 2.*(gu22*JacPDstandardNth1gxy + gu32*JacPDstandardNth1gxz) - - 1.*(gu22*JacPDstandardNth2gxx + gu32*JacPDstandardNth3gxx)); + + 2*(gu22*JacPDstandardNth1gxy + gu32*JacPDstandardNth1gxz) - + gu22*JacPDstandardNth2gxx - gu32*JacPDstandardNth3gxx); CCTK_REAL CCTK_ATTRIBUTE_UNUSED G311 = 0.5*(gu31*JacPDstandardNth1gxx - + 2.*(gu32*JacPDstandardNth1gxy + gu33*JacPDstandardNth1gxz) - - 1.*(gu32*JacPDstandardNth2gxx + gu33*JacPDstandardNth3gxx)); + + 2*(gu32*JacPDstandardNth1gxy + gu33*JacPDstandardNth1gxz) - + gu32*JacPDstandardNth2gxx - gu33*JacPDstandardNth3gxx); CCTK_REAL CCTK_ATTRIBUTE_UNUSED G112 = 0.5*(gu21*JacPDstandardNth1gyy + gu11*JacPDstandardNth2gxx + gu31*(JacPDstandardNth1gyz + - JacPDstandardNth2gxz - 1.*JacPDstandardNth3gxy)); + JacPDstandardNth2gxz - JacPDstandardNth3gxy)); CCTK_REAL CCTK_ATTRIBUTE_UNUSED G212 = 0.5*(gu22*JacPDstandardNth1gyy + gu21*JacPDstandardNth2gxx + gu32*(JacPDstandardNth1gyz + - JacPDstandardNth2gxz - 1.*JacPDstandardNth3gxy)); + JacPDstandardNth2gxz - JacPDstandardNth3gxy)); CCTK_REAL CCTK_ATTRIBUTE_UNUSED G312 = 0.5*(gu32*JacPDstandardNth1gyy + gu31*JacPDstandardNth2gxx + gu33*(JacPDstandardNth1gyz + - JacPDstandardNth2gxz - 1.*JacPDstandardNth3gxy)); + JacPDstandardNth2gxz - JacPDstandardNth3gxy)); CCTK_REAL CCTK_ATTRIBUTE_UNUSED G113 = 0.5*(gu31*JacPDstandardNth1gzz + gu11*JacPDstandardNth3gxx + gu21*(JacPDstandardNth1gyz - - 1.*JacPDstandardNth2gxz + JacPDstandardNth3gxy)); + JacPDstandardNth2gxz + JacPDstandardNth3gxy)); CCTK_REAL CCTK_ATTRIBUTE_UNUSED G213 = 0.5*(gu32*JacPDstandardNth1gzz + gu21*JacPDstandardNth3gxx + gu22*(JacPDstandardNth1gyz - - 1.*JacPDstandardNth2gxz + JacPDstandardNth3gxy)); + JacPDstandardNth2gxz + JacPDstandardNth3gxy)); CCTK_REAL CCTK_ATTRIBUTE_UNUSED G313 = 0.5*(gu33*JacPDstandardNth1gzz + gu31*JacPDstandardNth3gxx + gu32*(JacPDstandardNth1gyz - - 1.*JacPDstandardNth2gxz + JacPDstandardNth3gxy)); + JacPDstandardNth2gxz + JacPDstandardNth3gxy)); CCTK_REAL CCTK_ATTRIBUTE_UNUSED G122 = - 0.5*(gu11*(-1.*JacPDstandardNth1gyy + 2.*JacPDstandardNth2gxy) + - gu21*JacPDstandardNth2gyy + gu31*(2.*JacPDstandardNth2gyz - - 1.*JacPDstandardNth3gyy)); + 0.5*(gu11*(-JacPDstandardNth1gyy + 2*JacPDstandardNth2gxy) + + gu21*JacPDstandardNth2gyy + gu31*(2*JacPDstandardNth2gyz - + JacPDstandardNth3gyy)); CCTK_REAL CCTK_ATTRIBUTE_UNUSED G222 = - 0.5*(gu21*(-1.*JacPDstandardNth1gyy + 2.*JacPDstandardNth2gxy) + - gu22*JacPDstandardNth2gyy + gu32*(2.*JacPDstandardNth2gyz - - 1.*JacPDstandardNth3gyy)); + 0.5*(gu21*(-JacPDstandardNth1gyy + 2*JacPDstandardNth2gxy) + + gu22*JacPDstandardNth2gyy + gu32*(2*JacPDstandardNth2gyz - + JacPDstandardNth3gyy)); CCTK_REAL CCTK_ATTRIBUTE_UNUSED G322 = - 0.5*(gu31*(-1.*JacPDstandardNth1gyy + 2.*JacPDstandardNth2gxy) + - gu32*JacPDstandardNth2gyy + gu33*(2.*JacPDstandardNth2gyz - - 1.*JacPDstandardNth3gyy)); + 0.5*(gu31*(-JacPDstandardNth1gyy + 2*JacPDstandardNth2gxy) + + gu32*JacPDstandardNth2gyy + gu33*(2*JacPDstandardNth2gyz - + JacPDstandardNth3gyy)); CCTK_REAL CCTK_ATTRIBUTE_UNUSED G123 = 0.5*(gu31*JacPDstandardNth2gzz - + gu11*(-1.*JacPDstandardNth1gyz + JacPDstandardNth2gxz + + + gu11*(-JacPDstandardNth1gyz + JacPDstandardNth2gxz + JacPDstandardNth3gxy) + gu21*JacPDstandardNth3gyy); CCTK_REAL CCTK_ATTRIBUTE_UNUSED G223 = 0.5*(gu32*JacPDstandardNth2gzz - + gu21*(-1.*JacPDstandardNth1gyz + JacPDstandardNth2gxz + + + gu21*(-JacPDstandardNth1gyz + JacPDstandardNth2gxz + JacPDstandardNth3gxy) + gu22*JacPDstandardNth3gyy); CCTK_REAL CCTK_ATTRIBUTE_UNUSED G323 = 0.5*(gu33*JacPDstandardNth2gzz - + gu31*(-1.*JacPDstandardNth1gyz + JacPDstandardNth2gxz + + + gu31*(-JacPDstandardNth1gyz + JacPDstandardNth2gxz + JacPDstandardNth3gxy) + gu32*JacPDstandardNth3gyy); CCTK_REAL CCTK_ATTRIBUTE_UNUSED G133 = - 0.5*(-1.*(gu11*JacPDstandardNth1gzz + gu21*JacPDstandardNth2gzz) + - 2.*(gu11*JacPDstandardNth3gxz + gu21*JacPDstandardNth3gyz) + + 0.5*(gu11*(-JacPDstandardNth1gzz + 2*JacPDstandardNth3gxz) + + gu21*(-JacPDstandardNth2gzz + 2*JacPDstandardNth3gyz) + gu31*JacPDstandardNth3gzz); CCTK_REAL CCTK_ATTRIBUTE_UNUSED G233 = - 0.5*(-1.*(gu21*JacPDstandardNth1gzz + gu22*JacPDstandardNth2gzz) + - 2.*(gu21*JacPDstandardNth3gxz + gu22*JacPDstandardNth3gyz) + + 0.5*(gu21*(-JacPDstandardNth1gzz + 2*JacPDstandardNth3gxz) + + gu22*(-JacPDstandardNth2gzz + 2*JacPDstandardNth3gyz) + gu32*JacPDstandardNth3gzz); CCTK_REAL CCTK_ATTRIBUTE_UNUSED G333 = - 0.5*(-1.*(gu31*JacPDstandardNth1gzz + gu32*JacPDstandardNth2gzz) + - 2.*(gu31*JacPDstandardNth3gxz + gu32*JacPDstandardNth3gyz) + + 0.5*(gu31*(-JacPDstandardNth1gzz + 2*JacPDstandardNth3gxz) + + gu32*(-JacPDstandardNth2gzz + 2*JacPDstandardNth3gyz) + gu33*JacPDstandardNth3gzz); - CCTK_REAL CCTK_ATTRIBUTE_UNUSED R11 = 0.5*(gxyL*((-4.*G123*G211 + - 4.*G113*G212)*gu32 + 4.*G113*G213*gu33) + gxzL*((-4.*G123*G311 + - 4.*G113*G312)*gu32 - 2.*G133*G311*gu33) + 4.*(gyzL*(G213*G312 + - G212*G313)*gu32 + G112*((gxyL*G212 + gxzL*G312)*gu22 + (gxxL*G113 - + gxyL*G213 + gxzL*G313)*gu32) + gxzL*G113*G313*gu33) + - gyzL*((4.*G212*G312 - 2.*G211*G322)*gu22 + (4.*G213*G313 - - 2.*G211*G333)*gu33 + G311*(-4.*G223*gu32 - 2.*G233*gu33)) - - 2.*(G211*((gxyL*G122 + gyyL*G222)*gu22 + gxyL*G133*gu33) + - G311*((gxzL*G122 + gyzL*G222 + gzzL*G322)*gu22 + - gzzL*G333*gu33) + G111*((gxxL*G122 + gxyL*G222 + - gxzL*G322)*gu22 + 2.*(gxxL*G123 + gxyL*G223 + gxzL*G323)*gu32 + - (gxxL*G133 + gxyL*G233 + gxzL*G333)*gu33)) + - gu21*JacPDstandardNth21gxx + gu32*(-4.*gyzL*G211*G323 + - gzzL*(4.*G312*G313 - 4.*G311*G323) - 2.*JacPDstandardNth11gyz + - 2.*JacPDstandardNth21gxz - 1.*JacPDstandardNth23gxx) + - gu31*JacPDstandardNth31gxx - 1.*(gu21*JacPDstandardNth12gxx + - gu31*JacPDstandardNth13gxx + gu22*(JacPDstandardNth11gyy + - JacPDstandardNth22gxx) + gu32*JacPDstandardNth32gxx + - gu33*(JacPDstandardNth11gzz + JacPDstandardNth33gxx)) + - gyyL*((4.*G212*G213 - 4.*G211*G223)*gu32 - 2.*G211*G233*gu33 + - 2.*gu22*SQR(G212)) + 2.*(gu32*JacPDstandardNth31gxy + - gu22*(JacPDstandardNth21gxy + gxxL*SQR(G112) + gzzL*SQR(G312)) + - gu33*(JacPDstandardNth31gxz + gxxL*SQR(G113) + gyyL*SQR(G213) + - gzzL*SQR(G313)))); + CCTK_REAL CCTK_ATTRIBUTE_UNUSED R11 = 0.5*(gxyL*(-4*G123*G211*gu32 + + 4*G113*G212*gu32 + 4*G113*G213*gu33) + gxzL*(-4*G123*G311*gu32 + + 4*G113*G312*gu32 - 2*G133*G311*gu33) + 4*(gyzL*G213*G312*gu32 + + gyzL*G212*G313*gu32 + G112*(gxyL*G212*gu22 + gxzL*G312*gu22 + + gxxL*G113*gu32 + gxyL*G213*gu32 + gxzL*G313*gu32) + + gxzL*G113*G313*gu33) + gyzL*(4*G212*G312*gu22 - 2*G211*G322*gu22 - + 4*G223*G311*gu32 - 2*G233*G311*gu33 + 4*G213*G313*gu33 - + 2*G211*G333*gu33) - 2*(gxyL*G122*G211*gu22 + gyyL*G211*G222*gu22 + + gxzL*G122*G311*gu22 + gyzL*G222*G311*gu22 + gzzL*G311*G322*gu22 + + gxyL*G133*G211*gu33 + gzzL*G311*G333*gu33 + G111*(gxxL*G122*gu22 + + gxyL*G222*gu22 + gxzL*G322*gu22 + 2*gxxL*G123*gu32 + + 2*gxyL*G223*gu32 + 2*gxzL*G323*gu32 + gxxL*G133*gu33 + + gxyL*G233*gu33 + gxzL*G333*gu33)) + gu21*(-JacPDstandardNth12gxx + + JacPDstandardNth21gxx) + gu22*(-JacPDstandardNth11gyy + + 2*JacPDstandardNth21gxy - JacPDstandardNth22gxx) + + gu32*(4*gzzL*G312*G313 - 4*gyzL*G211*G323 - 4*gzzL*G311*G323 - + 2*JacPDstandardNth11gyz - JacPDstandardNth23gxx) + + gu31*(-JacPDstandardNth13gxx + JacPDstandardNth31gxx) + + 2*gu32*JacPDstandardNth31gxy + gu32*(2*JacPDstandardNth21gxz - + JacPDstandardNth32gxx) + gu33*(-JacPDstandardNth11gzz + + 2*JacPDstandardNth31gxz - JacPDstandardNth33gxx) + + 2*gxxL*gu22*SQR(G112) + 2*gxxL*gu33*SQR(G113) + + gyyL*(4*G212*G213*gu32 - 4*G211*G223*gu32 - 2*G211*G233*gu33 + + 2*gu22*SQR(G212)) + 2*gyyL*gu33*SQR(G213) + 2*gzzL*gu22*SQR(G312) + + 2*gzzL*gu33*SQR(G313)); - CCTK_REAL CCTK_ATTRIBUTE_UNUSED R12 = 0.5*(gxzL*((-2.*G123*G312 + - 2.*G122*G313)*gu32 - 2.*G133*G312*gu33) + gyzL*((-4.*G212*G312 + - 2.*G211*G322)*gu21 + G223*(2.*G311*gu31 - 2.*G312*gu32) - - 2.*G233*G312*gu33) + 2.*(G111*((gxxL*G122 + gxyL*G222 + + CCTK_REAL CCTK_ATTRIBUTE_UNUSED R12 = 0.5*(gxzL*((-2*G123*G312 + + 2*G122*G313)*gu32 - 2*G133*G312*gu33) + gyzL*((-4*G212*G312 + + 2*G211*G322)*gu21 + G223*(2*G311*gu31 - 2*G312*gu32) - + 2*G233*G312*gu33) + 2*(G111*((gxxL*G122 + gxyL*G222 + gxzL*G322)*gu21 + (gxxL*G123 + gxyL*G223 + gxzL*G323)*gu31) + G211*((gxyL*G122 + gyyL*G222)*gu21 + (gxyL*G123 + gyyL*G223 + gyzL*G323)*gu31) + G311*((gxzL*G122 + gyzL*G222 + @@ -1116,137 +1148,142 @@ static void ML_ADMConstraints_Body(cGH const * restrict const cctkGH, int const (G122*(gxxL*G113 + gxyL*G213) + G222*(gxyL*G113 + gyzL*G313) + (gxzL*G113 + gyzL*G213 + gzzL*G313)*G322)*gu32 + (G123*(gxxL*G113 + gxyL*G213) + gxyL*G113*G223 + (gyzL*G213 + - gzzL*G313)*G323)*gu33) + gu22*(-1.*JacPDstandardNth12gyy + + gzzL*G313)*G323)*gu33) + gu22*(-JacPDstandardNth12gyy + JacPDstandardNth21gyy) + gu32*(JacPDstandardNth21gyz + - JacPDstandardNth22gxz - 1.*JacPDstandardNth23gxy + - JacPDstandardNth31gyy) + gu31*(JacPDstandardNth11gyz - - 1.*(JacPDstandardNth12gxz + JacPDstandardNth13gxy) + - JacPDstandardNth32gxx) + gu33*(2.*((gxzL*G123 + gyzL*G223)*G313 + - gxzL*G113*G323) - 2.*(gzzL*G312*G333 + G212*(gyyL*G233 + - gyzL*G333)) + JacPDstandardNth31gyz + JacPDstandardNth32gxz - - 1.*(JacPDstandardNth12gzz + JacPDstandardNth33gxy)) - 2.*((gyzL*G212 - + gzzL*G312)*G313*gu31 + G312*((gxzL*G113 + gyzL*G213)*gu31 + - gzzL*G323*gu32) + G212*((gxyL*G113 + gyyL*G213)*gu31 + - (gxyL*G123 + gyzL*G323)*gu32 + gxyL*G133*gu33) + - G112*(2.*(gxyL*G212 + gxzL*G312)*gu21 + (gxxL*G113 + gxyL*G213 - + gxzL*G313)*gu31 + (gxxL*G123 + gxyL*G223 + gxzL*G323)*gu32 + - (gxxL*G133 + gxyL*G233 + gxzL*G333)*gu33) + - gu32*JacPDstandardNth12gyz + gu21*(JacPDstandardNth12gxy + - gxxL*SQR(G112))) + gyyL*((2.*G213*G222 - 2.*G212*G223)*gu32 + - 2.*G213*G223*gu33 - 2.*gu21*SQR(G212)) + gu21*(JacPDstandardNth11gyy + - JacPDstandardNth22gxx - 2.*gzzL*SQR(G312))); + JacPDstandardNth22gxz - JacPDstandardNth23gxy + JacPDstandardNth31gyy) + + gu31*(JacPDstandardNth11gyz - JacPDstandardNth12gxz - + JacPDstandardNth13gxy + JacPDstandardNth32gxx) + + gu33*(2*(gxzL*G123*G313 + gyzL*G223*G313 + gxzL*G113*G323) - + 2*(gyyL*G212*G233 + gyzL*G212*G333 + gzzL*G312*G333) - + JacPDstandardNth12gzz + JacPDstandardNth31gyz + JacPDstandardNth32gxz - + JacPDstandardNth33gxy) - 2*((gyzL*G212 + gzzL*G312)*G313*gu31 + + G312*((gxzL*G113 + gyzL*G213)*gu31 + gzzL*G323*gu32) + + G212*((gxyL*G113 + gyyL*G213)*gu31 + (gxyL*G123 + + gyzL*G323)*gu32 + gxyL*G133*gu33) + G112*(2*(gxyL*G212 + + gxzL*G312)*gu21 + (gxxL*G113 + gxyL*G213 + gxzL*G313)*gu31 + + (gxxL*G123 + gxyL*G223 + gxzL*G323)*gu32 + (gxxL*G133 + + gxyL*G233 + gxzL*G333)*gu33) + gu32*JacPDstandardNth12gyz + + gu21*(JacPDstandardNth12gxy + gxxL*SQR(G112))) + gyyL*((2*G213*G222 + - 2*G212*G223)*gu32 + 2*G213*G223*gu33 - 2*gu21*SQR(G212)) + + gu21*(JacPDstandardNth11gyy + JacPDstandardNth22gxx - + 2*gzzL*SQR(G312))); - CCTK_REAL CCTK_ATTRIBUTE_UNUSED R13 = 0.5*(2.*((gyzL*G211 + - gzzL*G311)*G323*gu21 + (gxzL*G123*G312 + G223*(gyyL*G212 + - gyzL*G312))*gu22 + G311*((gxzL*G123 + gyzL*G223)*gu21 + - gxzL*G133*gu31) + G111*((gxxL*G123 + gxyL*G223 + - gxzL*G323)*gu21 + (gxxL*G133 + gxyL*G233 + gxzL*G333)*gu31) + - (gxzL*G133*G312 + G233*(gyyL*G212 + gyzL*G312))*gu32 + - G112*(-1.*(gxxL*G113 + gxyL*G213 + gxzL*G313)*gu21 + (gxxL*G123 - + gxyL*G223 + gxzL*G323)*gu22 + (gxxL*G133 + gxyL*G233 + - gxzL*G333)*gu32)) + gxyL*((2.*G123*G211 - 2.*G113*G212)*gu21 + - 2.*(G133*G211*gu31 + G212*(G123*gu22 + G133*gu32))) + - gu21*(JacPDstandardNth11gyz - 1.*(JacPDstandardNth12gxz + - JacPDstandardNth13gxy) + JacPDstandardNth23gxx) + - gu22*(2.*gyzL*G212*G323 + gzzL*(-2.*G313*G322 + 2.*G312*G323) - - 1.*JacPDstandardNth13gyy + JacPDstandardNth21gyz + - JacPDstandardNth23gxy) + gu33*JacPDstandardNth31gzz - - 1.*(gu33*JacPDstandardNth13gzz + gu22*JacPDstandardNth22gxz + - gu32*JacPDstandardNth32gxz) + gu32*(2.*gyzL*G212*G333 + - gzzL*(-2.*G313*G323 + 2.*G312*G333) - 2.*JacPDstandardNth13gyz + - JacPDstandardNth21gzz + JacPDstandardNth31gyz + JacPDstandardNth33gxy) - - 2.*((G122*(gxxL*G113 + gxyL*G213) + G222*(gxyL*G113 + - gyzL*G313))*gu22 + (G123*(gxxL*G113 + gxyL*G213) + - G223*(gxyL*G113 + gyzL*G313))*gu32 + (gxzL*G113 + - gyzL*G213)*(G312*gu21 + G322*gu22 + G323*gu32) + G313*((gyzL*G212 + - gzzL*G312)*gu21 + gxzL*(G122*gu22 + G123*gu32)) + - gu31*(JacPDstandardNth13gxz + gxxL*SQR(G113))) + - gyyL*((-2.*G212*G213 + 2.*G211*G223)*gu21 - 2.*G213*(G222*gu22 + - G223*gu32) + gu31*(2.*G211*G233 - 2.*SQR(G213))) + - gu31*(-4.*G113*(gxyL*G213 + gxzL*G313) + gyzL*(-4.*G213*G313 + - 2.*(G233*G311 + G211*G333)) + JacPDstandardNth11gzz + - JacPDstandardNth33gxx + gzzL*(2.*G311*G333 - 2.*SQR(G313)))); + CCTK_REAL CCTK_ATTRIBUTE_UNUSED R13 = 0.5*(gxyL*(2*G123*G211*gu21 - + 2*G113*G212*gu21 + 2*G123*G212*gu22 + 2*G133*G211*gu31 + + 2*G133*G212*gu32) + 2*(gxzL*G123*G311*gu21 + gyzL*G223*G311*gu21 + + gyzL*G211*G323*gu21 + gzzL*G311*G323*gu21 + gyyL*G212*G223*gu22 + + gxzL*G123*G312*gu22 + gyzL*G223*G312*gu22 + gxzL*G133*G311*gu31 + + G111*(gxxL*G123*gu21 + gxyL*G223*gu21 + gxzL*G323*gu21 + + gxxL*G133*gu31 + gxyL*G233*gu31 + gxzL*G333*gu31) + + gyyL*G212*G233*gu32 + gxzL*G133*G312*gu32 + gyzL*G233*G312*gu32 + + G112*((-(gxxL*G113) - gxyL*G213 - gxzL*G313)*gu21 + + gxxL*G123*gu22 + gxyL*G223*gu22 + gxzL*G323*gu22 + + gxxL*G133*gu32 + gxyL*G233*gu32 + gxzL*G333*gu32)) + + gu22*(-2*gzzL*G313*G322 + 2*gyzL*G212*G323 + 2*gzzL*G312*G323 - + JacPDstandardNth13gyy + JacPDstandardNth21gyz - JacPDstandardNth22gxz) + + gu21*(JacPDstandardNth11gyz - JacPDstandardNth12gxz - + JacPDstandardNth13gxy + JacPDstandardNth23gxx) + + gu22*JacPDstandardNth23gxy + gu32*JacPDstandardNth31gyz + + gu33*(-JacPDstandardNth13gzz + JacPDstandardNth31gzz) + + gu32*(-2*gzzL*G313*G323 + 2*gyzL*G212*G333 + 2*gzzL*G312*G333 - + 2*JacPDstandardNth13gyz + JacPDstandardNth21gzz - + JacPDstandardNth32gxz) + gu31*(-4*gxyL*G113*G213 + 2*gyzL*G233*G311 + - 4*gxzL*G113*G313 - 4*gyzL*G213*G313 + 2*gyzL*G211*G333 + + 2*gzzL*G311*G333 + JacPDstandardNth11gzz + JacPDstandardNth33gxx) + + gu32*JacPDstandardNth33gxy - 2*(gxzL*G113*G312*gu21 + + gyzL*G213*G312*gu21 + gyzL*G212*G313*gu21 + gzzL*G312*G313*gu21 + + gxxL*G113*G122*gu22 + gxyL*G122*G213*gu22 + gxyL*G113*G222*gu22 + + gxzL*G122*G313*gu22 + gyzL*G222*G313*gu22 + gxzL*G113*G322*gu22 + + gyzL*G213*G322*gu22 + gxxL*G113*G123*gu32 + gxyL*G123*G213*gu32 + + gxyL*G113*G223*gu32 + gxzL*G123*G313*gu32 + gyzL*G223*G313*gu32 + + gxzL*G113*G323*gu32 + gyzL*G213*G323*gu32 + + gu31*JacPDstandardNth13gxz + gxxL*gu31*SQR(G113)) + + gyyL*(-2*G212*G213*gu21 + 2*G211*G223*gu21 - 2*G213*G222*gu22 + + 2*G211*G233*gu31 - 2*G213*G223*gu32 - 2*gu31*SQR(G213)) - + 2*gzzL*gu31*SQR(G313)); - CCTK_REAL CCTK_ATTRIBUTE_UNUSED R22 = 0.5*(gyzL*((4.*G212*G312 - - 2.*G211*G322)*gu11 + 4.*G223*G312*gu31 - 2.*G233*G322*gu33) + - 4.*(G112*((gxyL*G212 + gxzL*G312)*gu11 + (gxxL*G123 + gxyL*G223 - + gxzL*G323)*gu31) + (gyzL*G223*G323 + G123*(gxyL*G223 + - gxzL*G323))*gu33) + gu21*(JacPDstandardNth12gyy - - 1.*JacPDstandardNth21gyy) - 2.*((G211*(gxyL*G122 + gyyL*G222) + - G111*(gxxL*G122 + gxyL*G222 + gxzL*G322) + G311*(gxzL*G122 + - gyzL*G222 + gzzL*G322))*gu11 + (G133*(gxxL*G122 + gxyL*G222) + - (gxyL*G122 + gyyL*G222)*G233 + (gyzL*G222 + gzzL*G322)*G333 + - gxzL*(G133*G322 + G122*G333))*gu33 + gu31*JacPDstandardNth22gxz) + - gu31*(gxyL*(4.*G123*G212 - 4.*G113*G222) - 4.*(G122*(gxxL*G113 + - gxyL*G213 + gxzL*G313) + G222*(gyyL*G213 + gyzL*G313) + - (gxzL*G113 + gyzL*G213 + gzzL*G313)*G322) + 4.*(G212*(gyyL*G223 - + gyzL*G323) + G312*(gxzL*G123 + gzzL*G323)) - - 1.*(JacPDstandardNth13gyy + JacPDstandardNth31gyy) + - 2.*(JacPDstandardNth12gyz + JacPDstandardNth32gxy)) + - gu32*JacPDstandardNth32gyy - 1.*(gu32*JacPDstandardNth23gyy + - gu33*(JacPDstandardNth22gzz + JacPDstandardNth33gyy)) + - gu11*(-1.*(JacPDstandardNth11gyy + JacPDstandardNth22gxx) + - 2.*(JacPDstandardNth12gxy + gxxL*SQR(G112) + gyyL*SQR(G212) + - gzzL*SQR(G312))) + 2.*gu33*(JacPDstandardNth32gyz + gxxL*SQR(G123) - + gyyL*SQR(G223) + gzzL*SQR(G323))); + CCTK_REAL CCTK_ATTRIBUTE_UNUSED R22 = 0.5*(-4*(gyzL*G213*G322*gu31 + + gzzL*G313*G322*gu31) + gyzL*(4*G212*G312*gu11 - 2*G211*G322*gu11 + + 4*G223*G312*gu31 - 2*G233*G322*gu33) + 4*(G112*(gxyL*G212*gu11 + + gxzL*G312*gu11 + gxxL*G123*gu31 + gxyL*G223*gu31 + + gxzL*G323*gu31) + gxyL*G123*G223*gu33 + gxzL*G123*G323*gu33 + + gyzL*G223*G323*gu33) + gu21*(JacPDstandardNth12gyy - + JacPDstandardNth21gyy) - 2*(gxyL*G122*G211*gu11 + + gyyL*G211*G222*gu11 + gxzL*G122*G311*gu11 + gyzL*G222*G311*gu11 + + gzzL*G311*G322*gu11 + G111*(gxxL*G122 + gxyL*G222 + + gxzL*G322)*gu11 + gxxL*G122*G133*gu33 + gxyL*G133*G222*gu33 + + gxyL*G122*G233*gu33 + gyyL*G222*G233*gu33 + gxzL*G133*G322*gu33 + + gxzL*G122*G333*gu33 + gyzL*G222*G333*gu33 + gzzL*G322*G333*gu33 + + gu31*JacPDstandardNth22gxz) + gu31*(-4*gxxL*G113*G122 + + 4*gxyL*G123*G212 - 4*gxyL*G122*G213 - 4*gxyL*G113*G222 - + 4*gyyL*G213*G222 + 4*gyyL*G212*G223 + 4*gxzL*G123*G312 - + 4*gxzL*G122*G313 - 4*gyzL*G222*G313 - 4*gxzL*G113*G322 + + 4*gyzL*G212*G323 + 4*gzzL*G312*G323 + 2*JacPDstandardNth12gyz - + JacPDstandardNth13gyy - JacPDstandardNth31gyy) + + 2*gu31*JacPDstandardNth32gxy + gu32*(-JacPDstandardNth23gyy + + JacPDstandardNth32gyy) + gu33*(-JacPDstandardNth22gzz + + 2*JacPDstandardNth32gyz - JacPDstandardNth33gyy) + + gu11*(-JacPDstandardNth11gyy + 2*JacPDstandardNth12gxy - + JacPDstandardNth22gxx + 2*gxxL*SQR(G112)) + 2*gxxL*gu33*SQR(G123) + + 2*gyyL*gu11*SQR(G212) + 2*gyyL*gu33*SQR(G223) + + 2*gzzL*gu11*SQR(G312) + 2*gzzL*gu33*SQR(G323)); - CCTK_REAL CCTK_ATTRIBUTE_UNUSED R23 = 0.5*(gxyL*((-2.*G123*G211 + - 2.*G113*G212)*gu11 + G212*(-2.*G123*gu21 + 2.*G133*gu31) + - (-4.*G123*G223 + 2.*(G133*G222 + G122*G233))*gu32) + - 2.*(G313*((gyzL*G212 + gzzL*G312)*gu11 + gxzL*G122*gu21) + - G312*((gxzL*G113 + gyzL*G213)*gu11 + gxzL*G133*gu31) + - G112*((gxxL*G113 + gxyL*G213 + gxzL*G313)*gu11 - 1.*(gxxL*G123 - + gxyL*G223 + gxzL*G323)*gu21 + (gxxL*G133 + gxyL*G233 + - gxzL*G333)*gu31) + (gxzL*G122 + gzzL*G322)*G333*gu32 + + CCTK_REAL CCTK_ATTRIBUTE_UNUSED R23 = 0.5*(gxyL*((-2*G123*G211 + + 2*G113*G212)*gu11 + G212*(-2*G123*gu21 + 2*G133*gu31) + (-4*G123*G223 + + 2*(G133*G222 + G122*G233))*gu32) + 2*(G313*((gyzL*G212 + + gzzL*G312)*gu11 + gxzL*G122*gu21) + G312*((gxzL*G113 + + gyzL*G213)*gu11 + gxzL*G133*gu31) + G112*((gxxL*G113 + + gxyL*G213 + gxzL*G313)*gu11 + (-(gxxL*G123) - gxyL*G223 - + gxzL*G323)*gu21 + gxxL*G133*gu31 + gxyL*G233*gu31 + + gxzL*G333*gu31) + (gxzL*G122 + gzzL*G322)*G333*gu32 + G122*((gxxL*G113 + gxyL*G213)*gu21 + gxxL*G133*gu32) + G322*((gxzL*G113 + gyzL*G213)*gu21 + gxzL*G133*gu32) + G233*((gyyL*G212 + gyzL*G312)*gu31 + gyzL*G322*gu32) + G222*((gxyL*G113 + gyzL*G313)*gu21 + gyzL*G333*gu32)) + - gu11*(JacPDstandardNth12gxz + JacPDstandardNth13gxy - - 1.*(JacPDstandardNth11gyz + JacPDstandardNth23gxx)) + - gu21*(-2.*gyzL*G212*G323 + gzzL*(2.*G313*G322 - 2.*G312*G323) + - JacPDstandardNth13gyy + JacPDstandardNth22gxz - - 1.*(JacPDstandardNth21gyz + JacPDstandardNth23gxy)) + - gu33*(-1.*JacPDstandardNth23gzz + JacPDstandardNth32gzz) + - gu31*(2.*gyzL*G212*G333 + gzzL*(-2.*G313*G323 + 2.*G312*G333) + - JacPDstandardNth12gzz - 1.*JacPDstandardNth31gyz + - JacPDstandardNth32gxz + JacPDstandardNth33gxy) - 2.*(((gxzL*G123 + - gyzL*G223)*G311 + G111*(gxxL*G123 + gxyL*G223 + - gxzL*G323))*gu11 + (gxzL*G123*G312 + G223*(gyyL*G212 + - gyzL*G312))*gu21 + G323*((gyzL*G211 + gzzL*G311)*gu11 + - gxzL*G113*gu31) + gu31*(G123*(gxxL*G113 + gxyL*G213 + - gxzL*G313) + G223*(gxyL*G113 + gyzL*G313) + gyzL*G213*G323 + - JacPDstandardNth23gxz) + gxxL*gu32*SQR(G123)) + gyyL*((2.*G212*G213 - - 2.*G211*G223)*gu11 + G213*(2.*G222*gu21 - 2.*G223*gu31) + - gu32*(2.*G222*G233 - 2.*SQR(G223))) + gu32*(-4.*(gxzL*G123 + - gyzL*G223)*G323 + JacPDstandardNth22gzz + JacPDstandardNth33gyy - - 2.*(JacPDstandardNth23gyz + gzzL*SQR(G323)))); + gu11*(-JacPDstandardNth11gyz + JacPDstandardNth12gxz + + JacPDstandardNth13gxy - JacPDstandardNth23gxx) + + gu21*(-2*gyzL*G212*G323 + gzzL*(2*G313*G322 - 2*G312*G323) + + JacPDstandardNth13gyy - JacPDstandardNth21gyz + JacPDstandardNth22gxz - + JacPDstandardNth23gxy) + gu33*(-JacPDstandardNth23gzz + + JacPDstandardNth32gzz) + gu31*(2*gyzL*G212*G333 + + gzzL*(-2*G313*G323 + 2*G312*G333) + JacPDstandardNth12gzz - + JacPDstandardNth31gyz + JacPDstandardNth32gxz + JacPDstandardNth33gxy) + - 2*(((gxzL*G123 + gyzL*G223)*G311 + G111*(gxxL*G123 + + gxyL*G223 + gxzL*G323))*gu11 + (gxzL*G123*G312 + + G223*(gyyL*G212 + gyzL*G312))*gu21 + G323*((gyzL*G211 + + gzzL*G311)*gu11 + gxzL*G113*gu31) + gu31*(G123*(gxxL*G113 + + gxyL*G213 + gxzL*G313) + G223*(gxyL*G113 + gyzL*G313) + + gyzL*G213*G323 + JacPDstandardNth23gxz) + gxxL*gu32*SQR(G123)) + + gyyL*((2*G212*G213 - 2*G211*G223)*gu11 + G213*(2*G222*gu21 - + 2*G223*gu31) + gu32*(2*G222*G233 - 2*SQR(G223))) + + gu32*(-4*(gxzL*G123 + gyzL*G223)*G323 + JacPDstandardNth22gzz + + JacPDstandardNth33gyy - 2*(JacPDstandardNth23gyz + gzzL*SQR(G323)))); - CCTK_REAL CCTK_ATTRIBUTE_UNUSED R33 = 0.5*(4.*((G213*(gxyL*G123 + + CCTK_REAL CCTK_ATTRIBUTE_UNUSED R33 = 0.5*(4*((G213*(gxyL*G123 + gyyL*G223) + gyzL*(G223*G313 + G213*G323))*gu21 + G113*((gxyL*G213 + gxzL*G313)*gu11 + (gxxL*G123 + gxyL*G223 + - gxzL*G323)*gu21) + gxyL*G123*G223*gu22) + gxzL*((-4.*G133*G312 + - 4.*G123*G313)*gu21 - 2.*G133*G322*gu22) + gyzL*((4.*G213*G313 - - 2.*G211*G333)*gu11 + G233*(-4.*G312*gu21 - 2.*G322*gu22)) + - gu21*(4.*gzzL*G313*G323 - 4.*(G133*(gxxL*G112 + gxyL*G212) + - (gxyL*G112 + gyyL*G212)*G233 + (gxzL*G112 + gyzL*G212 + - gzzL*G312)*G333) - 1.*(JacPDstandardNth12gzz + JacPDstandardNth21gzz) - + 2.*(JacPDstandardNth13gyz + JacPDstandardNth23gxz)) + - gu31*(JacPDstandardNth13gzz - 1.*JacPDstandardNth31gzz) + - gu32*(JacPDstandardNth23gzz - 1.*JacPDstandardNth32gzz) - - 2.*((G211*(gxyL*G133 + gyyL*G233) + G111*(gxxL*G133 + gxyL*G233 + gxzL*G323)*gu21) + gxyL*G123*G223*gu22) + gxzL*((-4*G133*G312 + + 4*G123*G313)*gu21 - 2*G133*G322*gu22) + gyzL*((4*G213*G313 - + 2*G211*G333)*gu11 + G233*(-4*G312*gu21 - 2*G322*gu22)) + + gu21*(4*gzzL*G313*G323 - 4*(G133*(gxxL*G112 + gxyL*G212) + + (gxyL*G112 + gyyL*G212)*G233 + gxzL*G112*G333 + (gyzL*G212 + + gzzL*G312)*G333) - JacPDstandardNth12gzz + 2*JacPDstandardNth13gyz - + JacPDstandardNth21gzz + 2*JacPDstandardNth23gxz) + + gu31*(JacPDstandardNth13gzz - JacPDstandardNth31gzz) + + gu32*(JacPDstandardNth23gzz - JacPDstandardNth32gzz) - + 2*((G211*(gxyL*G133 + gyyL*G233) + G111*(gxxL*G133 + gxyL*G233 + gxzL*G333) + G311*(gxzL*G133 + gyzL*G233 + gzzL*G333))*gu11 + (G133*(gxxL*G122 + gxyL*G222) + gxyL*G122*G233 + (gyzL*G222 + gzzL*G322)*G333)*gu22 + gu21*JacPDstandardNth33gxy) + - gu11*(-1.*(JacPDstandardNth11gzz + JacPDstandardNth33gxx) + - 2.*(JacPDstandardNth13gxz + gxxL*SQR(G113) + gyyL*SQR(G213) + - gzzL*SQR(G313))) + gu22*(4.*(gxzL*G123 + gyzL*G223)*G323 - - 2.*(gyyL*G222*G233 + gxzL*G122*G333) - 1.*(JacPDstandardNth22gzz + - JacPDstandardNth33gyy) + 2.*(JacPDstandardNth23gyz + gxxL*SQR(G123) + - gyyL*SQR(G223) + gzzL*SQR(G323)))); + gu11*(-JacPDstandardNth11gzz + 2*JacPDstandardNth13gxz - + JacPDstandardNth33gxx + 2*gxxL*SQR(G113) + 2*gyyL*SQR(G213) + + 2*gzzL*SQR(G313)) + gu22*(4*(gxzL*G123*G323 + gyzL*G223*G323) - + 2*(gyyL*G222*G233 + gxzL*G122*G333) - JacPDstandardNth22gzz + + 2*JacPDstandardNth23gyz - JacPDstandardNth33gyy + 2*gxxL*SQR(G123) + + 2*gyyL*SQR(G223) + 2*gzzL*SQR(G323))); CCTK_REAL CCTK_ATTRIBUTE_UNUSED trR = gu11*R11 + gu22*R22 + - 2.*(gu21*R12 + gu31*R13 + gu32*R23) + gu33*R33; + 2*(gu21*R12 + gu31*R13 + gu32*R23) + gu33*R33; CCTK_REAL CCTK_ATTRIBUTE_UNUSED Km11 = kxxL*gu11 + kxyL*gu21 + kxzL*gu31; @@ -1278,62 +1315,61 @@ static void ML_ADMConstraints_Body(cGH const * restrict const cctkGH, int const CCTK_REAL CCTK_ATTRIBUTE_UNUSED trK = Km11 + Km22 + Km33; CCTK_REAL CCTK_ATTRIBUTE_UNUSED rho = INV(SQR(alpL))*(eTttL - - 2.*(betayL*eTtyL + betazL*eTtzL) + 2.*(betaxL*(-1.*eTtxL + + 2*(betayL*eTtyL + betazL*eTtzL) + 2*(betaxL*(-eTtxL + betayL*eTxyL + betazL*eTxzL) + betayL*betazL*eTyzL) + eTxxL*SQR(betaxL) + eTyyL*SQR(betayL) + eTzzL*SQR(betazL)); - CCTK_REAL CCTK_ATTRIBUTE_UNUSED S1 = (-1.*eTtxL + betaxL*eTxxL + + CCTK_REAL CCTK_ATTRIBUTE_UNUSED S1 = (-eTtxL + betaxL*eTxxL + betayL*eTxyL + betazL*eTxzL)*INV(alpL); - CCTK_REAL CCTK_ATTRIBUTE_UNUSED S2 = (-1.*eTtyL + betaxL*eTxyL + + CCTK_REAL CCTK_ATTRIBUTE_UNUSED S2 = (-eTtyL + betaxL*eTxyL + betayL*eTyyL + betazL*eTyzL)*INV(alpL); - CCTK_REAL CCTK_ATTRIBUTE_UNUSED S3 = (-1.*eTtzL + betaxL*eTxzL + + CCTK_REAL CCTK_ATTRIBUTE_UNUSED S3 = (-eTtzL + betaxL*eTxzL + betayL*eTyzL + betazL*eTzzL)*INV(alpL); - CCTK_REAL CCTK_ATTRIBUTE_UNUSED HL = -2.*(Km12*Km21 + Km13*Km31 + - Km23*Km32) - 50.26548245743669*rho + trR - 1.*(SQR(Km11) + SQR(Km22) + - SQR(Km33)) + SQR(trK); + CCTK_REAL CCTK_ATTRIBUTE_UNUSED HL = -2*(Km12*Km21 + Km13*Km31 + + Km23*Km32) - 16*Pi*rho + trR - SQR(Km11) - SQR(Km22) - SQR(Km33) + + SQR(trK); - CCTK_REAL CCTK_ATTRIBUTE_UNUSED M1L = gu21*(kyyL*G211 + kxyL*(G111 - - 1.*G212) + kyzL*G311 - 1.*(kxxL*G112 + kxzL*G312 + - JacPDstandardNth1kxy) + JacPDstandardNth2kxx) + gu22*(kyyL*G212 + - kxyL*(G112 - 1.*G222) + kyzL*G312 - 1.*(kxxL*G122 + kxzL*G322 + - JacPDstandardNth1kyy) + JacPDstandardNth2kxy) + gu31*(kyzL*G211 + - kzzL*G311 + kxzL*(G111 - 1.*G313) - 1.*(kxxL*G113 + kxyL*G213 + - JacPDstandardNth1kxz) + JacPDstandardNth3kxx) + gu32*(kyyL*G213 + - kxyL*(G113 - 2.*G223) + kzzL*G312 + kyzL*(G212 + G313) + - kxzL*(G112 - 2.*G323) - 2.*(kxxL*G123 + JacPDstandardNth1kyz) + - JacPDstandardNth2kxz + JacPDstandardNth3kxy) + gu33*(kyzL*G213 + - kzzL*G313 + kxzL*(G113 - 1.*G333) - 1.*(kxxL*G133 + kxyL*G233 + - JacPDstandardNth1kzz) + JacPDstandardNth3kxz) - 25.132741228718345*S1; + CCTK_REAL CCTK_ATTRIBUTE_UNUSED M1L = gu21*(-(kxxL*G112) + + kyyL*G211 + kxyL*(G111 - G212) + kyzL*G311 - kxzL*G312 - + JacPDstandardNth1kxy + JacPDstandardNth2kxx) + gu22*(-(kxxL*G122) + + kyyL*G212 + kxyL*(G112 - G222) + kyzL*G312 - kxzL*G322 - + JacPDstandardNth1kyy + JacPDstandardNth2kxy) + gu31*(-(kxxL*G113) + + kyzL*G211 - kxyL*G213 + kzzL*G311 + kxzL*(G111 - G313) - + JacPDstandardNth1kxz + JacPDstandardNth3kxx) + gu32*(kyyL*G213 + + kxyL*(G113 - 2*G223) + kzzL*G312 + kyzL*(G212 + G313) + + kxzL*(G112 - 2*G323) - 2*(kxxL*G123 + JacPDstandardNth1kyz) + + JacPDstandardNth2kxz + JacPDstandardNth3kxy) + gu33*(-(kxxL*G133) + + kyzL*G213 - kxyL*G233 + kzzL*G313 + kxzL*(G113 - G333) - + JacPDstandardNth1kzz + JacPDstandardNth3kxz) - 8*Pi*S1; - CCTK_REAL CCTK_ATTRIBUTE_UNUSED M2L = gu11*(kxxL*G112 + kxyL*G212 - + kxzL*G312 + JacPDstandardNth1kxy - 1.*(kxyL*G111 + kyyL*G211 + - kyzL*G311 + JacPDstandardNth2kxx)) + gu21*(kxxL*G122 + kxyL*G222 - + kxzL*G322 + JacPDstandardNth1kyy - 1.*(kxyL*G112 + kyyL*G212 + - kyzL*G312 + JacPDstandardNth2kxy)) + gu31*(kxxL*G123 + kxyL*G223 - + kzzL*G312 + kyzL*(G212 - 2.*G313) + kxzL*(G112 + G323) + - JacPDstandardNth1kyz - 2.*(kxyL*G113 + kyyL*G213 + - JacPDstandardNth2kxz) + JacPDstandardNth3kxy) + gu32*(kxzL*G122 + - kzzL*G322 + kyzL*(G222 - 1.*G323) - 1.*(kxyL*G123 + kyyL*G223 + - JacPDstandardNth2kyz) + JacPDstandardNth3kyy) + gu33*(kxzL*G123 + - kzzL*G323 + kyzL*(G223 - 1.*G333) - 1.*(kxyL*G133 + kyyL*G233 + - JacPDstandardNth2kzz) + JacPDstandardNth3kyz) - 25.132741228718345*S2; + CCTK_REAL CCTK_ATTRIBUTE_UNUSED M2L = gu11*(kxxL*G112 - kyyL*G211 + + kxyL*(-G111 + G212) - kyzL*G311 + kxzL*G312 + + JacPDstandardNth1kxy - JacPDstandardNth2kxx) + gu21*(kxxL*G122 - + kyyL*G212 + kxyL*(-G112 + G222) - kyzL*G312 + kxzL*G322 + + JacPDstandardNth1kyy - JacPDstandardNth2kxy) + gu31*(kxxL*G123 + + kxyL*G223 + kzzL*G312 + kyzL*(G212 - 2*G313) + kxzL*(G112 + + G323) + JacPDstandardNth1kyz - 2*(kxyL*G113 + kyyL*G213 + + JacPDstandardNth2kxz) + JacPDstandardNth3kxy) + gu32*(kxzL*G122 - + kxyL*G123 - kyyL*G223 + kzzL*G322 + kyzL*(G222 - G323) - + JacPDstandardNth2kyz + JacPDstandardNth3kyy) + gu33*(kxzL*G123 - + kxyL*G133 - kyyL*G233 + kzzL*G323 + kyzL*(G223 - G333) - + JacPDstandardNth2kzz + JacPDstandardNth3kyz) - 8*Pi*S2; - CCTK_REAL CCTK_ATTRIBUTE_UNUSED M3L = gu11*(kxxL*G113 + kxyL*G213 - + kxzL*G313 + JacPDstandardNth1kxz - 1.*(kxzL*G111 + kyzL*G211 + - kzzL*G311 + JacPDstandardNth3kxx)) + gu21*(kxxL*G123 + kyyL*G213 - + kxyL*(G113 + G223) + kyzL*G313 + kxzL*G323 + - JacPDstandardNth1kyz + JacPDstandardNth2kxz - 2.*(kxzL*G112 + + CCTK_REAL CCTK_ATTRIBUTE_UNUSED M3L = gu11*(kxxL*G113 - kyzL*G211 + + kxyL*G213 - kzzL*G311 + kxzL*(-G111 + G313) + + JacPDstandardNth1kxz - JacPDstandardNth3kxx) + gu21*(kxxL*G123 + + kyyL*G213 + kxyL*(G113 + G223) + kyzL*G313 + kxzL*G323 + + JacPDstandardNth1kyz + JacPDstandardNth2kxz - 2*(kxzL*G112 + kyzL*G212 + kzzL*G312 + JacPDstandardNth3kxy)) + gu31*(kxxL*G133 - + kxyL*G233 + kxzL*G333 + JacPDstandardNth1kzz - 1.*(kxzL*G113 + - kyzL*G213 + kzzL*G313 + JacPDstandardNth3kxz)) + gu22*(kxyL*G123 - + kyyL*G223 + kyzL*G323 + JacPDstandardNth2kyz - 1.*(kxzL*G122 + - kyzL*G222 + kzzL*G322 + JacPDstandardNth3kyy)) + gu32*(kxyL*G133 - + kyyL*G233 + kyzL*G333 + JacPDstandardNth2kzz - 1.*(kxzL*G123 + - kyzL*G223 + kzzL*G323 + JacPDstandardNth3kyz)) - - 25.132741228718345*S3; + - kyzL*G213 + kxyL*G233 - kzzL*G313 + kxzL*(-G113 + G333) + + JacPDstandardNth1kzz - JacPDstandardNth3kxz) + gu22*(-(kxzL*G122) + + kxyL*G123 + kyyL*G223 - kzzL*G322 + kyzL*(-G222 + G323) + + JacPDstandardNth2kyz - JacPDstandardNth3kyy) + gu32*(-(kxzL*G123) + + kxyL*G133 + kyyL*G233 - kzzL*G323 + kyzL*(-G223 + G333) + + JacPDstandardNth2kzz - JacPDstandardNth3kyz) - 8*Pi*S3; /* Copy local copies back to grid functions */ H[index] = HL; @@ -1360,7 +1396,7 @@ extern "C" void ML_ADMConstraints(CCTK_ARGUMENTS) return; } - const char *const groups[] = { + const char* const groups[] = { "ADMBase::curv", "ADMBase::lapse", "ADMBase::metric", diff --git a/ML_ADMConstraints/src/RegisterMoL.cc b/ML_ADMConstraints/src/RegisterMoL.cc index 89e458a..cdf6fda 100644 --- a/ML_ADMConstraints/src/RegisterMoL.cc +++ b/ML_ADMConstraints/src/RegisterMoL.cc @@ -9,7 +9,7 @@ extern "C" void ML_ADMConstraints_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 */ diff --git a/ML_ADMConstraints/src/Startup.cc b/ML_ADMConstraints/src/Startup.cc index 194564b..c866197 100644 --- a/ML_ADMConstraints/src/Startup.cc +++ b/ML_ADMConstraints/src/Startup.cc @@ -4,7 +4,7 @@ extern "C" int ML_ADMConstraints_Startup(void) { - const char * banner CCTK_ATTRIBUTE_UNUSED = "ML_ADMConstraints"; + const char* banner CCTK_ATTRIBUTE_UNUSED = "ML_ADMConstraints"; CCTK_RegisterBanner(banner); return 0; } diff --git a/ML_ADMQuantities/param.ccl b/ML_ADMQuantities/param.ccl index ebb4f66..0609b67 100644 --- a/ML_ADMQuantities/param.ccl +++ b/ML_ADMQuantities/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_ADMQuantities/schedule.ccl b/ML_ADMQuantities/schedule.ccl index ca0e024..3c9ab67 100644 --- a/ML_ADMQuantities/schedule.ccl +++ b/ML_ADMQuantities/schedule.ccl @@ -1,31 +1,9 @@ # File produced by Kranc -if (timelevels == 1) -{ - STORAGE: ML_Jadm[1] -} -if (timelevels == 2) -{ - STORAGE: ML_Jadm[2] -} -if (timelevels == 3) -{ - STORAGE: ML_Jadm[3] -} +STORAGE: ML_Jadm[timelevels] -if (timelevels == 1) -{ - STORAGE: ML_Madm[1] -} -if (timelevels == 2) -{ - STORAGE: ML_Madm[2] -} -if (timelevels == 3) -{ - STORAGE: ML_Madm[3] -} +STORAGE: ML_Madm[timelevels] schedule ML_ADMQuantities_Startup at STARTUP { @@ -46,44 +24,44 @@ schedule group ML_ADMQuantities_group in MoL_PseudoEvolution after MoL_PostStep schedule ML_ADMQuantities in ML_ADMQuantities_group { LANG: C - READS: grid::x(Everywhere) - READS: grid::y(Everywhere) - READS: grid::z(Everywhere) - READS: ML_BSSN::At11(Everywhere) - READS: ML_BSSN::At12(Everywhere) - READS: ML_BSSN::At13(Everywhere) - READS: ML_BSSN::At22(Everywhere) - READS: ML_BSSN::At23(Everywhere) - READS: ML_BSSN::At33(Everywhere) - READS: ML_BSSN::Xt1(Everywhere) - READS: ML_BSSN::Xt2(Everywhere) - READS: ML_BSSN::Xt3(Everywhere) - READS: ML_BSSN::alpha(Everywhere) - READS: ML_BSSN::phi(Everywhere) - READS: ML_BSSN::gt11(Everywhere) - READS: ML_BSSN::gt12(Everywhere) - READS: ML_BSSN::gt13(Everywhere) - READS: ML_BSSN::gt22(Everywhere) - READS: ML_BSSN::gt23(Everywhere) - READS: ML_BSSN::gt33(Everywhere) - READS: ML_BSSN::beta1(Everywhere) - READS: ML_BSSN::beta2(Everywhere) - READS: ML_BSSN::beta3(Everywhere) - READS: ML_BSSN::trK(Everywhere) - READS: TmunuBase::eTtt(Everywhere) - READS: TmunuBase::eTxx(Everywhere) - READS: TmunuBase::eTxy(Everywhere) - READS: TmunuBase::eTxz(Everywhere) - READS: TmunuBase::eTyy(Everywhere) - READS: TmunuBase::eTyz(Everywhere) - READS: TmunuBase::eTzz(Everywhere) - READS: TmunuBase::eTtx(Everywhere) - READS: TmunuBase::eTty(Everywhere) - READS: TmunuBase::eTtz(Everywhere) - WRITES: ML_ADMQuantities::Jadm1(Interior) - WRITES: ML_ADMQuantities::Jadm2(Interior) - WRITES: ML_ADMQuantities::Jadm3(Interior) - WRITES: ML_ADMQuantities::Madm(Interior) + READS: grid::x(Everywhere) + READS: grid::y(Everywhere) + READS: grid::z(Everywhere) + READS: ML_BSSN::At11(Everywhere) + READS: ML_BSSN::At12(Everywhere) + READS: ML_BSSN::At13(Everywhere) + READS: ML_BSSN::At22(Everywhere) + READS: ML_BSSN::At23(Everywhere) + READS: ML_BSSN::At33(Everywhere) + READS: ML_BSSN::Xt1(Everywhere) + READS: ML_BSSN::Xt2(Everywhere) + READS: ML_BSSN::Xt3(Everywhere) + READS: ML_BSSN::alpha(Everywhere) + READS: ML_BSSN::phi(Everywhere) + READS: ML_BSSN::gt11(Everywhere) + READS: ML_BSSN::gt12(Everywhere) + READS: ML_BSSN::gt13(Everywhere) + READS: ML_BSSN::gt22(Everywhere) + READS: ML_BSSN::gt23(Everywhere) + READS: ML_BSSN::gt33(Everywhere) + READS: ML_BSSN::beta1(Everywhere) + READS: ML_BSSN::beta2(Everywhere) + READS: ML_BSSN::beta3(Everywhere) + READS: ML_BSSN::trK(Everywhere) + READS: TmunuBase::eTtt(Everywhere) + READS: TmunuBase::eTxx(Everywhere) + READS: TmunuBase::eTxy(Everywhere) + READS: TmunuBase::eTxz(Everywhere) + READS: TmunuBase::eTyy(Everywhere) + READS: TmunuBase::eTyz(Everywhere) + READS: TmunuBase::eTzz(Everywhere) + READS: TmunuBase::eTtx(Everywhere) + READS: TmunuBase::eTty(Everywhere) + READS: TmunuBase::eTtz(Everywhere) + WRITES: ML_ADMQuantities::Jadm1(Interior) + WRITES: ML_ADMQuantities::Jadm2(Interior) + WRITES: ML_ADMQuantities::Jadm3(Interior) + WRITES: ML_ADMQuantities::Madm(Interior) } "ML_ADMQuantities" schedule ML_ADMQuantities_SelectBCs in ML_ADMQuantities_bc_group diff --git a/ML_ADMQuantities/src/Boundaries.cc b/ML_ADMQuantities/src/Boundaries.cc index cd802ea..8c69278 100644 --- a/ML_ADMQuantities/src/Boundaries.cc +++ b/ML_ADMQuantities/src/Boundaries.cc @@ -30,7 +30,7 @@ extern "C" void ML_ADMQuantities_SelectBoundConds(CCTK_ARGUMENTS) DECLARE_CCTK_ARGUMENTS; DECLARE_CCTK_PARAMETERS; - CCTK_INT ierr CCTK_ATTRIBUTE_UNUSED = 0; + CCTK_INT ierr CCTK_ATTRIBUTE_UNUSED = 0; return; } diff --git a/ML_ADMQuantities/src/Differencing.h b/ML_ADMQuantities/src/Differencing.h index 34570eb..d36a164 100644 --- a/ML_ADMQuantities/src/Differencing.h +++ b/ML_ADMQuantities/src/Differencing.h @@ -1,216 +1,216 @@ #ifndef KRANC_DIFF_FUNCTIONS -# define PDstandardNth1(u) ((-8.*KRANC_GFOFFSET3D(u,-1,0,0) + 8.*KRANC_GFOFFSET3D(u,1,0,0) + KRANC_GFOFFSET3D(u,-2,0,0) - 1.*KRANC_GFOFFSET3D(u,2,0,0))*p1o12dx) +# define PDstandardNth1(u) ((-8*KRANC_GFOFFSET3D(u,-1,0,0) + 8*KRANC_GFOFFSET3D(u,1,0,0) + KRANC_GFOFFSET3D(u,-2,0,0) - KRANC_GFOFFSET3D(u,2,0,0))*p1o12dx) #else # define PDstandardNth1(u) (PDstandardNth1_impl(u,p1o12dx,cdj,cdk)) -static CCTK_REAL PDstandardNth1_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o12dx, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL PDstandardNth1_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o12dx, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL PDstandardNth1_impl(const CCTK_REAL* restrict const u, const CCTK_REAL p1o12dx, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL PDstandardNth1_impl(const CCTK_REAL* restrict const u, const CCTK_REAL p1o12dx, const ptrdiff_t cdj, const ptrdiff_t cdk) { - ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); - return (-8.*KRANC_GFOFFSET3D(u,-1,0,0) + 8.*KRANC_GFOFFSET3D(u,1,0,0) + KRANC_GFOFFSET3D(u,-2,0,0) - 1.*KRANC_GFOFFSET3D(u,2,0,0))*p1o12dx; + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); + return (-8*KRANC_GFOFFSET3D(u,-1,0,0) + 8*KRANC_GFOFFSET3D(u,1,0,0) + KRANC_GFOFFSET3D(u,-2,0,0) - KRANC_GFOFFSET3D(u,2,0,0))*p1o12dx; } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDstandardNth2(u) ((-8.*KRANC_GFOFFSET3D(u,0,-1,0) + 8.*KRANC_GFOFFSET3D(u,0,1,0) + KRANC_GFOFFSET3D(u,0,-2,0) - 1.*KRANC_GFOFFSET3D(u,0,2,0))*p1o12dy) +# define PDstandardNth2(u) ((-8*KRANC_GFOFFSET3D(u,0,-1,0) + 8*KRANC_GFOFFSET3D(u,0,1,0) + KRANC_GFOFFSET3D(u,0,-2,0) - KRANC_GFOFFSET3D(u,0,2,0))*p1o12dy) #else # define PDstandardNth2(u) (PDstandardNth2_impl(u,p1o12dy,cdj,cdk)) -static CCTK_REAL PDstandardNth2_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o12dy, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL PDstandardNth2_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o12dy, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL PDstandardNth2_impl(const CCTK_REAL* restrict const u, const CCTK_REAL p1o12dy, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL PDstandardNth2_impl(const CCTK_REAL* restrict const u, const CCTK_REAL p1o12dy, const ptrdiff_t cdj, const ptrdiff_t cdk) { - ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); - return (-8.*KRANC_GFOFFSET3D(u,0,-1,0) + 8.*KRANC_GFOFFSET3D(u,0,1,0) + KRANC_GFOFFSET3D(u,0,-2,0) - 1.*KRANC_GFOFFSET3D(u,0,2,0))*p1o12dy; + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); + return (-8*KRANC_GFOFFSET3D(u,0,-1,0) + 8*KRANC_GFOFFSET3D(u,0,1,0) + KRANC_GFOFFSET3D(u,0,-2,0) - KRANC_GFOFFSET3D(u,0,2,0))*p1o12dy; } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDstandardNth3(u) ((-8.*KRANC_GFOFFSET3D(u,0,0,-1) + 8.*KRANC_GFOFFSET3D(u,0,0,1) + KRANC_GFOFFSET3D(u,0,0,-2) - 1.*KRANC_GFOFFSET3D(u,0,0,2))*p1o12dz) +# define PDstandardNth3(u) ((-8*KRANC_GFOFFSET3D(u,0,0,-1) + 8*KRANC_GFOFFSET3D(u,0,0,1) + KRANC_GFOFFSET3D(u,0,0,-2) - KRANC_GFOFFSET3D(u,0,0,2))*p1o12dz) #else # define PDstandardNth3(u) (PDstandardNth3_impl(u,p1o12dz,cdj,cdk)) -static CCTK_REAL PDstandardNth3_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o12dz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL PDstandardNth3_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o12dz, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL PDstandardNth3_impl(const CCTK_REAL* restrict const u, const CCTK_REAL p1o12dz, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL PDstandardNth3_impl(const CCTK_REAL* restrict const u, const CCTK_REAL p1o12dz, const ptrdiff_t cdj, const ptrdiff_t cdk) { - ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); - return (-8.*KRANC_GFOFFSET3D(u,0,0,-1) + 8.*KRANC_GFOFFSET3D(u,0,0,1) + KRANC_GFOFFSET3D(u,0,0,-2) - 1.*KRANC_GFOFFSET3D(u,0,0,2))*p1o12dz; + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); + return PDstandardNth2_impl(u, p1o12dz, cdk, cdj); } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDstandardNth11(u) ((30.*KRANC_GFOFFSET3D(u,0,0,0) - 16.*(KRANC_GFOFFSET3D(u,-1,0,0) + KRANC_GFOFFSET3D(u,1,0,0)) + KRANC_GFOFFSET3D(u,-2,0,0) + KRANC_GFOFFSET3D(u,2,0,0))*pm1o12dx2) +# define PDstandardNth11(u) ((30*KRANC_GFOFFSET3D(u,0,0,0) - 16*(KRANC_GFOFFSET3D(u,-1,0,0) + KRANC_GFOFFSET3D(u,1,0,0)) + KRANC_GFOFFSET3D(u,-2,0,0) + KRANC_GFOFFSET3D(u,2,0,0))*pm1o12dx2) #else # define PDstandardNth11(u) (PDstandardNth11_impl(u,pm1o12dx2,cdj,cdk)) -static CCTK_REAL PDstandardNth11_impl(CCTK_REAL const* restrict const u, CCTK_REAL const pm1o12dx2, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL PDstandardNth11_impl(CCTK_REAL const* restrict const u, CCTK_REAL const pm1o12dx2, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL PDstandardNth11_impl(const CCTK_REAL* restrict const u, const CCTK_REAL pm1o12dx2, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL PDstandardNth11_impl(const CCTK_REAL* restrict const u, const CCTK_REAL pm1o12dx2, const ptrdiff_t cdj, const ptrdiff_t cdk) { - ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); - return (30.*KRANC_GFOFFSET3D(u,0,0,0) - 16.*(KRANC_GFOFFSET3D(u,-1,0,0) + KRANC_GFOFFSET3D(u,1,0,0)) + KRANC_GFOFFSET3D(u,-2,0,0) + KRANC_GFOFFSET3D(u,2,0,0))*pm1o12dx2; + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); + return (30*KRANC_GFOFFSET3D(u,0,0,0) - 16*(KRANC_GFOFFSET3D(u,-1,0,0) + KRANC_GFOFFSET3D(u,1,0,0)) + KRANC_GFOFFSET3D(u,-2,0,0) + KRANC_GFOFFSET3D(u,2,0,0))*pm1o12dx2; } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDstandardNth22(u) ((30.*KRANC_GFOFFSET3D(u,0,0,0) - 16.*(KRANC_GFOFFSET3D(u,0,-1,0) + KRANC_GFOFFSET3D(u,0,1,0)) + KRANC_GFOFFSET3D(u,0,-2,0) + KRANC_GFOFFSET3D(u,0,2,0))*pm1o12dy2) +# define PDstandardNth22(u) ((30*KRANC_GFOFFSET3D(u,0,0,0) - 16*(KRANC_GFOFFSET3D(u,0,-1,0) + KRANC_GFOFFSET3D(u,0,1,0)) + KRANC_GFOFFSET3D(u,0,-2,0) + KRANC_GFOFFSET3D(u,0,2,0))*pm1o12dy2) #else # define PDstandardNth22(u) (PDstandardNth22_impl(u,pm1o12dy2,cdj,cdk)) -static CCTK_REAL PDstandardNth22_impl(CCTK_REAL const* restrict const u, CCTK_REAL const pm1o12dy2, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL PDstandardNth22_impl(CCTK_REAL const* restrict const u, CCTK_REAL const pm1o12dy2, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL PDstandardNth22_impl(const CCTK_REAL* restrict const u, const CCTK_REAL pm1o12dy2, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL PDstandardNth22_impl(const CCTK_REAL* restrict const u, const CCTK_REAL pm1o12dy2, const ptrdiff_t cdj, const ptrdiff_t cdk) { - ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); - return (30.*KRANC_GFOFFSET3D(u,0,0,0) - 16.*(KRANC_GFOFFSET3D(u,0,-1,0) + KRANC_GFOFFSET3D(u,0,1,0)) + KRANC_GFOFFSET3D(u,0,-2,0) + KRANC_GFOFFSET3D(u,0,2,0))*pm1o12dy2; + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); + return (30*KRANC_GFOFFSET3D(u,0,0,0) - 16*(KRANC_GFOFFSET3D(u,0,-1,0) + KRANC_GFOFFSET3D(u,0,1,0)) + KRANC_GFOFFSET3D(u,0,-2,0) + KRANC_GFOFFSET3D(u,0,2,0))*pm1o12dy2; } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDstandardNth33(u) ((30.*KRANC_GFOFFSET3D(u,0,0,0) - 16.*(KRANC_GFOFFSET3D(u,0,0,-1) + KRANC_GFOFFSET3D(u,0,0,1)) + KRANC_GFOFFSET3D(u,0,0,-2) + KRANC_GFOFFSET3D(u,0,0,2))*pm1o12dz2) +# define PDstandardNth33(u) ((30*KRANC_GFOFFSET3D(u,0,0,0) - 16*(KRANC_GFOFFSET3D(u,0,0,-1) + KRANC_GFOFFSET3D(u,0,0,1)) + KRANC_GFOFFSET3D(u,0,0,-2) + KRANC_GFOFFSET3D(u,0,0,2))*pm1o12dz2) #else # define PDstandardNth33(u) (PDstandardNth33_impl(u,pm1o12dz2,cdj,cdk)) -static CCTK_REAL PDstandardNth33_impl(CCTK_REAL const* restrict const u, CCTK_REAL const pm1o12dz2, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL PDstandardNth33_impl(CCTK_REAL const* restrict const u, CCTK_REAL const pm1o12dz2, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL PDstandardNth33_impl(const CCTK_REAL* restrict const u, const CCTK_REAL pm1o12dz2, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL PDstandardNth33_impl(const CCTK_REAL* restrict const u, const CCTK_REAL pm1o12dz2, const ptrdiff_t cdj, const ptrdiff_t cdk) { - ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); - return (30.*KRANC_GFOFFSET3D(u,0,0,0) - 16.*(KRANC_GFOFFSET3D(u,0,0,-1) + KRANC_GFOFFSET3D(u,0,0,1)) + KRANC_GFOFFSET3D(u,0,0,-2) + KRANC_GFOFFSET3D(u,0,0,2))*pm1o12dz2; + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); + return PDstandardNth22_impl(u, pm1o12dz2, cdk, cdj); } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDstandardNth12(u) ((-64.*(KRANC_GFOFFSET3D(u,-1,1,0) + KRANC_GFOFFSET3D(u,1,-1,0)) + 64.*(KRANC_GFOFFSET3D(u,-1,-1,0) + KRANC_GFOFFSET3D(u,1,1,0)) + 8.*(KRANC_GFOFFSET3D(u,-1,2,0) + KRANC_GFOFFSET3D(u,1,-2,0) + KRANC_GFOFFSET3D(u,-2,1,0) + KRANC_GFOFFSET3D(u,2,-1,0)) - 8.*(KRANC_GFOFFSET3D(u,-1,-2,0) + KRANC_GFOFFSET3D(u,1,2,0) + KRANC_GFOFFSET3D(u,-2,-1,0) + KRANC_GFOFFSET3D(u,2,1,0)) + KRANC_GFOFFSET3D(u,-2,-2,0) - 1.*(KRANC_GFOFFSET3D(u,-2,2,0) + KRANC_GFOFFSET3D(u,2,-2,0)) + KRANC_GFOFFSET3D(u,2,2,0))*p1o144dxdy) +# define PDstandardNth12(u) ((-64*(KRANC_GFOFFSET3D(u,-1,1,0) + KRANC_GFOFFSET3D(u,1,-1,0)) + 64*(KRANC_GFOFFSET3D(u,-1,-1,0) + KRANC_GFOFFSET3D(u,1,1,0)) + 8*(KRANC_GFOFFSET3D(u,-1,2,0) + KRANC_GFOFFSET3D(u,1,-2,0) + KRANC_GFOFFSET3D(u,-2,1,0) + KRANC_GFOFFSET3D(u,2,-1,0)) - 8*(KRANC_GFOFFSET3D(u,-1,-2,0) + KRANC_GFOFFSET3D(u,1,2,0) + KRANC_GFOFFSET3D(u,-2,-1,0) + KRANC_GFOFFSET3D(u,2,1,0)) + KRANC_GFOFFSET3D(u,-2,-2,0) - KRANC_GFOFFSET3D(u,-2,2,0) - KRANC_GFOFFSET3D(u,2,-2,0) + KRANC_GFOFFSET3D(u,2,2,0))*p1o144dxdy) #else # define PDstandardNth12(u) (PDstandardNth12_impl(u,p1o144dxdy,cdj,cdk)) -static CCTK_REAL PDstandardNth12_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o144dxdy, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL PDstandardNth12_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o144dxdy, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL PDstandardNth12_impl(const CCTK_REAL* restrict const u, const CCTK_REAL p1o144dxdy, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL PDstandardNth12_impl(const CCTK_REAL* restrict const u, const CCTK_REAL p1o144dxdy, const ptrdiff_t cdj, const ptrdiff_t cdk) { - ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); - return (-64.*(KRANC_GFOFFSET3D(u,-1,1,0) + KRANC_GFOFFSET3D(u,1,-1,0)) + 64.*(KRANC_GFOFFSET3D(u,-1,-1,0) + KRANC_GFOFFSET3D(u,1,1,0)) + 8.*(KRANC_GFOFFSET3D(u,-1,2,0) + KRANC_GFOFFSET3D(u,1,-2,0) + KRANC_GFOFFSET3D(u,-2,1,0) + KRANC_GFOFFSET3D(u,2,-1,0)) - 8.*(KRANC_GFOFFSET3D(u,-1,-2,0) + KRANC_GFOFFSET3D(u,1,2,0) + KRANC_GFOFFSET3D(u,-2,-1,0) + KRANC_GFOFFSET3D(u,2,1,0)) + KRANC_GFOFFSET3D(u,-2,-2,0) - 1.*(KRANC_GFOFFSET3D(u,-2,2,0) + KRANC_GFOFFSET3D(u,2,-2,0)) + KRANC_GFOFFSET3D(u,2,2,0))*p1o144dxdy; + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); + return (-64*(KRANC_GFOFFSET3D(u,-1,1,0) + KRANC_GFOFFSET3D(u,1,-1,0)) + 64*(KRANC_GFOFFSET3D(u,-1,-1,0) + KRANC_GFOFFSET3D(u,1,1,0)) + 8*(KRANC_GFOFFSET3D(u,-1,2,0) + KRANC_GFOFFSET3D(u,1,-2,0) + KRANC_GFOFFSET3D(u,-2,1,0) + KRANC_GFOFFSET3D(u,2,-1,0)) - 8*(KRANC_GFOFFSET3D(u,-1,-2,0) + KRANC_GFOFFSET3D(u,1,2,0) + KRANC_GFOFFSET3D(u,-2,-1,0) + KRANC_GFOFFSET3D(u,2,1,0)) + KRANC_GFOFFSET3D(u,-2,-2,0) - KRANC_GFOFFSET3D(u,-2,2,0) - KRANC_GFOFFSET3D(u,2,-2,0) + KRANC_GFOFFSET3D(u,2,2,0))*p1o144dxdy; } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDstandardNth13(u) ((-64.*(KRANC_GFOFFSET3D(u,-1,0,1) + KRANC_GFOFFSET3D(u,1,0,-1)) + 64.*(KRANC_GFOFFSET3D(u,-1,0,-1) + KRANC_GFOFFSET3D(u,1,0,1)) + 8.*(KRANC_GFOFFSET3D(u,-1,0,2) + KRANC_GFOFFSET3D(u,1,0,-2) + KRANC_GFOFFSET3D(u,-2,0,1) + KRANC_GFOFFSET3D(u,2,0,-1)) - 8.*(KRANC_GFOFFSET3D(u,-1,0,-2) + KRANC_GFOFFSET3D(u,1,0,2) + KRANC_GFOFFSET3D(u,-2,0,-1) + KRANC_GFOFFSET3D(u,2,0,1)) + KRANC_GFOFFSET3D(u,-2,0,-2) - 1.*(KRANC_GFOFFSET3D(u,-2,0,2) + KRANC_GFOFFSET3D(u,2,0,-2)) + KRANC_GFOFFSET3D(u,2,0,2))*p1o144dxdz) +# define PDstandardNth13(u) ((-64*(KRANC_GFOFFSET3D(u,-1,0,1) + KRANC_GFOFFSET3D(u,1,0,-1)) + 64*(KRANC_GFOFFSET3D(u,-1,0,-1) + KRANC_GFOFFSET3D(u,1,0,1)) + 8*(KRANC_GFOFFSET3D(u,-1,0,2) + KRANC_GFOFFSET3D(u,1,0,-2) + KRANC_GFOFFSET3D(u,-2,0,1) + KRANC_GFOFFSET3D(u,2,0,-1)) - 8*(KRANC_GFOFFSET3D(u,-1,0,-2) + KRANC_GFOFFSET3D(u,1,0,2) + KRANC_GFOFFSET3D(u,-2,0,-1) + KRANC_GFOFFSET3D(u,2,0,1)) + KRANC_GFOFFSET3D(u,-2,0,-2) - KRANC_GFOFFSET3D(u,-2,0,2) - KRANC_GFOFFSET3D(u,2,0,-2) + KRANC_GFOFFSET3D(u,2,0,2))*p1o144dxdz) #else # define PDstandardNth13(u) (PDstandardNth13_impl(u,p1o144dxdz,cdj,cdk)) -static CCTK_REAL PDstandardNth13_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o144dxdz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL PDstandardNth13_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o144dxdz, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL PDstandardNth13_impl(const CCTK_REAL* restrict const u, const CCTK_REAL p1o144dxdz, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL PDstandardNth13_impl(const CCTK_REAL* restrict const u, const CCTK_REAL p1o144dxdz, const ptrdiff_t cdj, const ptrdiff_t cdk) { - ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); - return (-64.*(KRANC_GFOFFSET3D(u,-1,0,1) + KRANC_GFOFFSET3D(u,1,0,-1)) + 64.*(KRANC_GFOFFSET3D(u,-1,0,-1) + KRANC_GFOFFSET3D(u,1,0,1)) + 8.*(KRANC_GFOFFSET3D(u,-1,0,2) + KRANC_GFOFFSET3D(u,1,0,-2) + KRANC_GFOFFSET3D(u,-2,0,1) + KRANC_GFOFFSET3D(u,2,0,-1)) - 8.*(KRANC_GFOFFSET3D(u,-1,0,-2) + KRANC_GFOFFSET3D(u,1,0,2) + KRANC_GFOFFSET3D(u,-2,0,-1) + KRANC_GFOFFSET3D(u,2,0,1)) + KRANC_GFOFFSET3D(u,-2,0,-2) - 1.*(KRANC_GFOFFSET3D(u,-2,0,2) + KRANC_GFOFFSET3D(u,2,0,-2)) + KRANC_GFOFFSET3D(u,2,0,2))*p1o144dxdz; + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); + return PDstandardNth12_impl(u, p1o144dxdz, cdk, cdj); } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDstandardNth21(u) ((-64.*(KRANC_GFOFFSET3D(u,-1,1,0) + KRANC_GFOFFSET3D(u,1,-1,0)) + 64.*(KRANC_GFOFFSET3D(u,-1,-1,0) + KRANC_GFOFFSET3D(u,1,1,0)) + 8.*(KRANC_GFOFFSET3D(u,-1,2,0) + KRANC_GFOFFSET3D(u,1,-2,0) + KRANC_GFOFFSET3D(u,-2,1,0) + KRANC_GFOFFSET3D(u,2,-1,0)) - 8.*(KRANC_GFOFFSET3D(u,-1,-2,0) + KRANC_GFOFFSET3D(u,1,2,0) + KRANC_GFOFFSET3D(u,-2,-1,0) + KRANC_GFOFFSET3D(u,2,1,0)) + KRANC_GFOFFSET3D(u,-2,-2,0) - 1.*(KRANC_GFOFFSET3D(u,-2,2,0) + KRANC_GFOFFSET3D(u,2,-2,0)) + KRANC_GFOFFSET3D(u,2,2,0))*p1o144dxdy) +# define PDstandardNth21(u) ((-64*(KRANC_GFOFFSET3D(u,-1,1,0) + KRANC_GFOFFSET3D(u,1,-1,0)) + 64*(KRANC_GFOFFSET3D(u,-1,-1,0) + KRANC_GFOFFSET3D(u,1,1,0)) + 8*(KRANC_GFOFFSET3D(u,-1,2,0) + KRANC_GFOFFSET3D(u,1,-2,0) + KRANC_GFOFFSET3D(u,-2,1,0) + KRANC_GFOFFSET3D(u,2,-1,0)) - 8*(KRANC_GFOFFSET3D(u,-1,-2,0) + KRANC_GFOFFSET3D(u,1,2,0) + KRANC_GFOFFSET3D(u,-2,-1,0) + KRANC_GFOFFSET3D(u,2,1,0)) + KRANC_GFOFFSET3D(u,-2,-2,0) - KRANC_GFOFFSET3D(u,-2,2,0) - KRANC_GFOFFSET3D(u,2,-2,0) + KRANC_GFOFFSET3D(u,2,2,0))*p1o144dxdy) #else # define PDstandardNth21(u) (PDstandardNth21_impl(u,p1o144dxdy,cdj,cdk)) -static CCTK_REAL PDstandardNth21_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o144dxdy, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL PDstandardNth21_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o144dxdy, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL PDstandardNth21_impl(const CCTK_REAL* restrict const u, const CCTK_REAL p1o144dxdy, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL PDstandardNth21_impl(const CCTK_REAL* restrict const u, const CCTK_REAL p1o144dxdy, const ptrdiff_t cdj, const ptrdiff_t cdk) { - ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); - return (-64.*(KRANC_GFOFFSET3D(u,-1,1,0) + KRANC_GFOFFSET3D(u,1,-1,0)) + 64.*(KRANC_GFOFFSET3D(u,-1,-1,0) + KRANC_GFOFFSET3D(u,1,1,0)) + 8.*(KRANC_GFOFFSET3D(u,-1,2,0) + KRANC_GFOFFSET3D(u,1,-2,0) + KRANC_GFOFFSET3D(u,-2,1,0) + KRANC_GFOFFSET3D(u,2,-1,0)) - 8.*(KRANC_GFOFFSET3D(u,-1,-2,0) + KRANC_GFOFFSET3D(u,1,2,0) + KRANC_GFOFFSET3D(u,-2,-1,0) + KRANC_GFOFFSET3D(u,2,1,0)) + KRANC_GFOFFSET3D(u,-2,-2,0) - 1.*(KRANC_GFOFFSET3D(u,-2,2,0) + KRANC_GFOFFSET3D(u,2,-2,0)) + KRANC_GFOFFSET3D(u,2,2,0))*p1o144dxdy; + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); + return PDstandardNth12_impl(u, p1o144dxdy, cdj, cdk); } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDstandardNth23(u) ((-64.*(KRANC_GFOFFSET3D(u,0,-1,1) + KRANC_GFOFFSET3D(u,0,1,-1)) + 64.*(KRANC_GFOFFSET3D(u,0,-1,-1) + KRANC_GFOFFSET3D(u,0,1,1)) + 8.*(KRANC_GFOFFSET3D(u,0,-1,2) + KRANC_GFOFFSET3D(u,0,1,-2) + KRANC_GFOFFSET3D(u,0,-2,1) + KRANC_GFOFFSET3D(u,0,2,-1)) - 8.*(KRANC_GFOFFSET3D(u,0,-1,-2) + KRANC_GFOFFSET3D(u,0,1,2) + KRANC_GFOFFSET3D(u,0,-2,-1) + KRANC_GFOFFSET3D(u,0,2,1)) + KRANC_GFOFFSET3D(u,0,-2,-2) - 1.*(KRANC_GFOFFSET3D(u,0,-2,2) + KRANC_GFOFFSET3D(u,0,2,-2)) + KRANC_GFOFFSET3D(u,0,2,2))*p1o144dydz) +# define PDstandardNth23(u) ((-64*(KRANC_GFOFFSET3D(u,0,-1,1) + KRANC_GFOFFSET3D(u,0,1,-1)) + 64*(KRANC_GFOFFSET3D(u,0,-1,-1) + KRANC_GFOFFSET3D(u,0,1,1)) + 8*(KRANC_GFOFFSET3D(u,0,-1,2) + KRANC_GFOFFSET3D(u,0,1,-2) + KRANC_GFOFFSET3D(u,0,-2,1) + KRANC_GFOFFSET3D(u,0,2,-1)) - 8*(KRANC_GFOFFSET3D(u,0,-1,-2) + KRANC_GFOFFSET3D(u,0,1,2) + KRANC_GFOFFSET3D(u,0,-2,-1) + KRANC_GFOFFSET3D(u,0,2,1)) + KRANC_GFOFFSET3D(u,0,-2,-2) - KRANC_GFOFFSET3D(u,0,-2,2) - KRANC_GFOFFSET3D(u,0,2,-2) + KRANC_GFOFFSET3D(u,0,2,2))*p1o144dydz) #else # define PDstandardNth23(u) (PDstandardNth23_impl(u,p1o144dydz,cdj,cdk)) -static CCTK_REAL PDstandardNth23_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o144dydz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL PDstandardNth23_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o144dydz, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL PDstandardNth23_impl(const CCTK_REAL* restrict const u, const CCTK_REAL p1o144dydz, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL PDstandardNth23_impl(const CCTK_REAL* restrict const u, const CCTK_REAL p1o144dydz, const ptrdiff_t cdj, const ptrdiff_t cdk) { - ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); - return (-64.*(KRANC_GFOFFSET3D(u,0,-1,1) + KRANC_GFOFFSET3D(u,0,1,-1)) + 64.*(KRANC_GFOFFSET3D(u,0,-1,-1) + KRANC_GFOFFSET3D(u,0,1,1)) + 8.*(KRANC_GFOFFSET3D(u,0,-1,2) + KRANC_GFOFFSET3D(u,0,1,-2) + KRANC_GFOFFSET3D(u,0,-2,1) + KRANC_GFOFFSET3D(u,0,2,-1)) - 8.*(KRANC_GFOFFSET3D(u,0,-1,-2) + KRANC_GFOFFSET3D(u,0,1,2) + KRANC_GFOFFSET3D(u,0,-2,-1) + KRANC_GFOFFSET3D(u,0,2,1)) + KRANC_GFOFFSET3D(u,0,-2,-2) - 1.*(KRANC_GFOFFSET3D(u,0,-2,2) + KRANC_GFOFFSET3D(u,0,2,-2)) + KRANC_GFOFFSET3D(u,0,2,2))*p1o144dydz; + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); + return (-64*(KRANC_GFOFFSET3D(u,0,-1,1) + KRANC_GFOFFSET3D(u,0,1,-1)) + 64*(KRANC_GFOFFSET3D(u,0,-1,-1) + KRANC_GFOFFSET3D(u,0,1,1)) + 8*(KRANC_GFOFFSET3D(u,0,-1,2) + KRANC_GFOFFSET3D(u,0,1,-2) + KRANC_GFOFFSET3D(u,0,-2,1) + KRANC_GFOFFSET3D(u,0,2,-1)) - 8*(KRANC_GFOFFSET3D(u,0,-1,-2) + KRANC_GFOFFSET3D(u,0,1,2) + KRANC_GFOFFSET3D(u,0,-2,-1) + KRANC_GFOFFSET3D(u,0,2,1)) + KRANC_GFOFFSET3D(u,0,-2,-2) - KRANC_GFOFFSET3D(u,0,-2,2) - KRANC_GFOFFSET3D(u,0,2,-2) + KRANC_GFOFFSET3D(u,0,2,2))*p1o144dydz; } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDstandardNth31(u) ((-64.*(KRANC_GFOFFSET3D(u,-1,0,1) + KRANC_GFOFFSET3D(u,1,0,-1)) + 64.*(KRANC_GFOFFSET3D(u,-1,0,-1) + KRANC_GFOFFSET3D(u,1,0,1)) + 8.*(KRANC_GFOFFSET3D(u,-1,0,2) + KRANC_GFOFFSET3D(u,1,0,-2) + KRANC_GFOFFSET3D(u,-2,0,1) + KRANC_GFOFFSET3D(u,2,0,-1)) - 8.*(KRANC_GFOFFSET3D(u,-1,0,-2) + KRANC_GFOFFSET3D(u,1,0,2) + KRANC_GFOFFSET3D(u,-2,0,-1) + KRANC_GFOFFSET3D(u,2,0,1)) + KRANC_GFOFFSET3D(u,-2,0,-2) - 1.*(KRANC_GFOFFSET3D(u,-2,0,2) + KRANC_GFOFFSET3D(u,2,0,-2)) + KRANC_GFOFFSET3D(u,2,0,2))*p1o144dxdz) +# define PDstandardNth31(u) ((-64*(KRANC_GFOFFSET3D(u,-1,0,1) + KRANC_GFOFFSET3D(u,1,0,-1)) + 64*(KRANC_GFOFFSET3D(u,-1,0,-1) + KRANC_GFOFFSET3D(u,1,0,1)) + 8*(KRANC_GFOFFSET3D(u,-1,0,2) + KRANC_GFOFFSET3D(u,1,0,-2) + KRANC_GFOFFSET3D(u,-2,0,1) + KRANC_GFOFFSET3D(u,2,0,-1)) - 8*(KRANC_GFOFFSET3D(u,-1,0,-2) + KRANC_GFOFFSET3D(u,1,0,2) + KRANC_GFOFFSET3D(u,-2,0,-1) + KRANC_GFOFFSET3D(u,2,0,1)) + KRANC_GFOFFSET3D(u,-2,0,-2) - KRANC_GFOFFSET3D(u,-2,0,2) - KRANC_GFOFFSET3D(u,2,0,-2) + KRANC_GFOFFSET3D(u,2,0,2))*p1o144dxdz) #else # define PDstandardNth31(u) (PDstandardNth31_impl(u,p1o144dxdz,cdj,cdk)) -static CCTK_REAL PDstandardNth31_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o144dxdz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL PDstandardNth31_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o144dxdz, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL PDstandardNth31_impl(const CCTK_REAL* restrict const u, const CCTK_REAL p1o144dxdz, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL PDstandardNth31_impl(const CCTK_REAL* restrict const u, const CCTK_REAL p1o144dxdz, const ptrdiff_t cdj, const ptrdiff_t cdk) { - ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); - return (-64.*(KRANC_GFOFFSET3D(u,-1,0,1) + KRANC_GFOFFSET3D(u,1,0,-1)) + 64.*(KRANC_GFOFFSET3D(u,-1,0,-1) + KRANC_GFOFFSET3D(u,1,0,1)) + 8.*(KRANC_GFOFFSET3D(u,-1,0,2) + KRANC_GFOFFSET3D(u,1,0,-2) + KRANC_GFOFFSET3D(u,-2,0,1) + KRANC_GFOFFSET3D(u,2,0,-1)) - 8.*(KRANC_GFOFFSET3D(u,-1,0,-2) + KRANC_GFOFFSET3D(u,1,0,2) + KRANC_GFOFFSET3D(u,-2,0,-1) + KRANC_GFOFFSET3D(u,2,0,1)) + KRANC_GFOFFSET3D(u,-2,0,-2) - 1.*(KRANC_GFOFFSET3D(u,-2,0,2) + KRANC_GFOFFSET3D(u,2,0,-2)) + KRANC_GFOFFSET3D(u,2,0,2))*p1o144dxdz; + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); + return PDstandardNth12_impl(u, p1o144dxdz, cdk, cdj); } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDstandardNth32(u) ((-64.*(KRANC_GFOFFSET3D(u,0,-1,1) + KRANC_GFOFFSET3D(u,0,1,-1)) + 64.*(KRANC_GFOFFSET3D(u,0,-1,-1) + KRANC_GFOFFSET3D(u,0,1,1)) + 8.*(KRANC_GFOFFSET3D(u,0,-1,2) + KRANC_GFOFFSET3D(u,0,1,-2) + KRANC_GFOFFSET3D(u,0,-2,1) + KRANC_GFOFFSET3D(u,0,2,-1)) - 8.*(KRANC_GFOFFSET3D(u,0,-1,-2) + KRANC_GFOFFSET3D(u,0,1,2) + KRANC_GFOFFSET3D(u,0,-2,-1) + KRANC_GFOFFSET3D(u,0,2,1)) + KRANC_GFOFFSET3D(u,0,-2,-2) - 1.*(KRANC_GFOFFSET3D(u,0,-2,2) + KRANC_GFOFFSET3D(u,0,2,-2)) + KRANC_GFOFFSET3D(u,0,2,2))*p1o144dydz) +# define PDstandardNth32(u) ((-64*(KRANC_GFOFFSET3D(u,0,-1,1) + KRANC_GFOFFSET3D(u,0,1,-1)) + 64*(KRANC_GFOFFSET3D(u,0,-1,-1) + KRANC_GFOFFSET3D(u,0,1,1)) + 8*(KRANC_GFOFFSET3D(u,0,-1,2) + KRANC_GFOFFSET3D(u,0,1,-2) + KRANC_GFOFFSET3D(u,0,-2,1) + KRANC_GFOFFSET3D(u,0,2,-1)) - 8*(KRANC_GFOFFSET3D(u,0,-1,-2) + KRANC_GFOFFSET3D(u,0,1,2) + KRANC_GFOFFSET3D(u,0,-2,-1) + KRANC_GFOFFSET3D(u,0,2,1)) + KRANC_GFOFFSET3D(u,0,-2,-2) - KRANC_GFOFFSET3D(u,0,-2,2) - KRANC_GFOFFSET3D(u,0,2,-2) + KRANC_GFOFFSET3D(u,0,2,2))*p1o144dydz) #else # define PDstandardNth32(u) (PDstandardNth32_impl(u,p1o144dydz,cdj,cdk)) -static CCTK_REAL PDstandardNth32_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o144dydz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL PDstandardNth32_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o144dydz, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL PDstandardNth32_impl(const CCTK_REAL* restrict const u, const CCTK_REAL p1o144dydz, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL PDstandardNth32_impl(const CCTK_REAL* restrict const u, const CCTK_REAL p1o144dydz, const ptrdiff_t cdj, const ptrdiff_t cdk) { - ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); - return (-64.*(KRANC_GFOFFSET3D(u,0,-1,1) + KRANC_GFOFFSET3D(u,0,1,-1)) + 64.*(KRANC_GFOFFSET3D(u,0,-1,-1) + KRANC_GFOFFSET3D(u,0,1,1)) + 8.*(KRANC_GFOFFSET3D(u,0,-1,2) + KRANC_GFOFFSET3D(u,0,1,-2) + KRANC_GFOFFSET3D(u,0,-2,1) + KRANC_GFOFFSET3D(u,0,2,-1)) - 8.*(KRANC_GFOFFSET3D(u,0,-1,-2) + KRANC_GFOFFSET3D(u,0,1,2) + KRANC_GFOFFSET3D(u,0,-2,-1) + KRANC_GFOFFSET3D(u,0,2,1)) + KRANC_GFOFFSET3D(u,0,-2,-2) - 1.*(KRANC_GFOFFSET3D(u,0,-2,2) + KRANC_GFOFFSET3D(u,0,2,-2)) + KRANC_GFOFFSET3D(u,0,2,2))*p1o144dydz; + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); + return PDstandardNth23_impl(u, p1o144dydz, cdj, cdk); } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDupwindNth1(u) ((-10.*KRANC_GFOFFSET3D(u,0,0,0) - 6.*KRANC_GFOFFSET3D(u,2*dir1,0,0) + KRANC_GFOFFSET3D(u,3*dir1,0,0) - 3.*KRANC_GFOFFSET3D(u,-dir1,0,0) + 18.*KRANC_GFOFFSET3D(u,dir1,0,0))*p1o12dx*dir1) +# define PDupwindNth1(u) ((-10*KRANC_GFOFFSET3D(u,0,0,0) - 6*KRANC_GFOFFSET3D(u,2*dir1,0,0) + KRANC_GFOFFSET3D(u,3*dir1,0,0) - 3*KRANC_GFOFFSET3D(u,-dir1,0,0) + 18*KRANC_GFOFFSET3D(u,dir1,0,0))*p1o12dx*dir1) #else # define PDupwindNth1(u) (PDupwindNth1_impl(u,p1o12dx,cdj,cdk,dir1,dir2,dir3)) -static CCTK_REAL PDupwindNth1_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o12dx, ptrdiff_t const cdj, ptrdiff_t const cdk, ptrdiff_t const dir1, ptrdiff_t const dir2, ptrdiff_t const dir3) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL PDupwindNth1_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o12dx, ptrdiff_t const cdj, ptrdiff_t const cdk, ptrdiff_t const dir1, ptrdiff_t const dir2, ptrdiff_t const dir3) +static CCTK_REAL PDupwindNth1_impl(const CCTK_REAL* restrict const u, const CCTK_REAL p1o12dx, const ptrdiff_t cdj, const ptrdiff_t cdk, const ptrdiff_t dir1, const ptrdiff_t dir2, const ptrdiff_t dir3) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL PDupwindNth1_impl(const CCTK_REAL* restrict const u, const CCTK_REAL p1o12dx, const ptrdiff_t cdj, const ptrdiff_t cdk, const ptrdiff_t dir1, const ptrdiff_t dir2, const ptrdiff_t dir3) { - ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); - return (-10.*KRANC_GFOFFSET3D(u,0,0,0) - 6.*KRANC_GFOFFSET3D(u,2*dir1,0,0) + KRANC_GFOFFSET3D(u,3*dir1,0,0) - 3.*KRANC_GFOFFSET3D(u,-dir1,0,0) + 18.*KRANC_GFOFFSET3D(u,dir1,0,0))*p1o12dx*dir1; + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); + return (-10*KRANC_GFOFFSET3D(u,0,0,0) - 6*KRANC_GFOFFSET3D(u,2*dir1,0,0) + KRANC_GFOFFSET3D(u,3*dir1,0,0) - 3*KRANC_GFOFFSET3D(u,-dir1,0,0) + 18*KRANC_GFOFFSET3D(u,dir1,0,0))*p1o12dx*dir1; } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDupwindNth2(u) ((-10.*KRANC_GFOFFSET3D(u,0,0,0) - 6.*KRANC_GFOFFSET3D(u,0,2*dir2,0) + KRANC_GFOFFSET3D(u,0,3*dir2,0) - 3.*KRANC_GFOFFSET3D(u,0,-dir2,0) + 18.*KRANC_GFOFFSET3D(u,0,dir2,0))*p1o12dy*dir2) +# define PDupwindNth2(u) ((-10*KRANC_GFOFFSET3D(u,0,0,0) - 6*KRANC_GFOFFSET3D(u,0,2*dir2,0) + KRANC_GFOFFSET3D(u,0,3*dir2,0) - 3*KRANC_GFOFFSET3D(u,0,-dir2,0) + 18*KRANC_GFOFFSET3D(u,0,dir2,0))*p1o12dy*dir2) #else # define PDupwindNth2(u) (PDupwindNth2_impl(u,p1o12dy,cdj,cdk,dir1,dir2,dir3)) -static CCTK_REAL PDupwindNth2_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o12dy, ptrdiff_t const cdj, ptrdiff_t const cdk, ptrdiff_t const dir1, ptrdiff_t const dir2, ptrdiff_t const dir3) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL PDupwindNth2_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o12dy, ptrdiff_t const cdj, ptrdiff_t const cdk, ptrdiff_t const dir1, ptrdiff_t const dir2, ptrdiff_t const dir3) +static CCTK_REAL PDupwindNth2_impl(const CCTK_REAL* restrict const u, const CCTK_REAL p1o12dy, const ptrdiff_t cdj, const ptrdiff_t cdk, const ptrdiff_t dir1, const ptrdiff_t dir2, const ptrdiff_t dir3) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL PDupwindNth2_impl(const CCTK_REAL* restrict const u, const CCTK_REAL p1o12dy, const ptrdiff_t cdj, const ptrdiff_t cdk, const ptrdiff_t dir1, const ptrdiff_t dir2, const ptrdiff_t dir3) { - ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); - return (-10.*KRANC_GFOFFSET3D(u,0,0,0) - 6.*KRANC_GFOFFSET3D(u,0,2*dir2,0) + KRANC_GFOFFSET3D(u,0,3*dir2,0) - 3.*KRANC_GFOFFSET3D(u,0,-dir2,0) + 18.*KRANC_GFOFFSET3D(u,0,dir2,0))*p1o12dy*dir2; + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); + return (-10*KRANC_GFOFFSET3D(u,0,0,0) - 6*KRANC_GFOFFSET3D(u,0,2*dir2,0) + KRANC_GFOFFSET3D(u,0,3*dir2,0) - 3*KRANC_GFOFFSET3D(u,0,-dir2,0) + 18*KRANC_GFOFFSET3D(u,0,dir2,0))*p1o12dy*dir2; } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDupwindNth3(u) ((-10.*KRANC_GFOFFSET3D(u,0,0,0) - 6.*KRANC_GFOFFSET3D(u,0,0,2*dir3) + KRANC_GFOFFSET3D(u,0,0,3*dir3) - 3.*KRANC_GFOFFSET3D(u,0,0,-dir3) + 18.*KRANC_GFOFFSET3D(u,0,0,dir3))*p1o12dz*dir3) +# define PDupwindNth3(u) ((-10*KRANC_GFOFFSET3D(u,0,0,0) - 6*KRANC_GFOFFSET3D(u,0,0,2*dir3) + KRANC_GFOFFSET3D(u,0,0,3*dir3) - 3*KRANC_GFOFFSET3D(u,0,0,-dir3) + 18*KRANC_GFOFFSET3D(u,0,0,dir3))*p1o12dz*dir3) #else # define PDupwindNth3(u) (PDupwindNth3_impl(u,p1o12dz,cdj,cdk,dir1,dir2,dir3)) -static CCTK_REAL PDupwindNth3_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o12dz, ptrdiff_t const cdj, ptrdiff_t const cdk, ptrdiff_t const dir1, ptrdiff_t const dir2, ptrdiff_t const dir3) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL PDupwindNth3_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o12dz, ptrdiff_t const cdj, ptrdiff_t const cdk, ptrdiff_t const dir1, ptrdiff_t const dir2, ptrdiff_t const dir3) +static CCTK_REAL PDupwindNth3_impl(const CCTK_REAL* restrict const u, const CCTK_REAL p1o12dz, const ptrdiff_t cdj, const ptrdiff_t cdk, const ptrdiff_t dir1, const ptrdiff_t dir2, const ptrdiff_t dir3) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL PDupwindNth3_impl(const CCTK_REAL* restrict const u, const CCTK_REAL p1o12dz, const ptrdiff_t cdj, const ptrdiff_t cdk, const ptrdiff_t dir1, const ptrdiff_t dir2, const ptrdiff_t dir3) { - ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); - return (-10.*KRANC_GFOFFSET3D(u,0,0,0) - 6.*KRANC_GFOFFSET3D(u,0,0,2*dir3) + KRANC_GFOFFSET3D(u,0,0,3*dir3) - 3.*KRANC_GFOFFSET3D(u,0,0,-dir3) + 18.*KRANC_GFOFFSET3D(u,0,0,dir3))*p1o12dz*dir3; + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); + return PDupwindNth2_impl(u, p1o12dz, cdk, cdj); } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDonesided1(u) ((-1.*KRANC_GFOFFSET3D(u,0,0,0) + KRANC_GFOFFSET3D(u,dir1,0,0))*p1odx*dir1) +# define PDonesided1(u) ((-KRANC_GFOFFSET3D(u,0,0,0) + KRANC_GFOFFSET3D(u,dir1,0,0))*p1odx*dir1) #else # define PDonesided1(u) (PDonesided1_impl(u,p1odx,cdj,cdk,dir1,dir2,dir3)) -static CCTK_REAL PDonesided1_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1odx, ptrdiff_t const cdj, ptrdiff_t const cdk, ptrdiff_t const dir1, ptrdiff_t const dir2, ptrdiff_t const dir3) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL PDonesided1_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1odx, ptrdiff_t const cdj, ptrdiff_t const cdk, ptrdiff_t const dir1, ptrdiff_t const dir2, ptrdiff_t const dir3) +static CCTK_REAL PDonesided1_impl(const CCTK_REAL* restrict const u, const CCTK_REAL p1odx, const ptrdiff_t cdj, const ptrdiff_t cdk, const ptrdiff_t dir1, const ptrdiff_t dir2, const ptrdiff_t dir3) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL PDonesided1_impl(const CCTK_REAL* restrict const u, const CCTK_REAL p1odx, const ptrdiff_t cdj, const ptrdiff_t cdk, const ptrdiff_t dir1, const ptrdiff_t dir2, const ptrdiff_t dir3) { - ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); - return (-1.*KRANC_GFOFFSET3D(u,0,0,0) + KRANC_GFOFFSET3D(u,dir1,0,0))*p1odx*dir1; + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); + return (-KRANC_GFOFFSET3D(u,0,0,0) + KRANC_GFOFFSET3D(u,dir1,0,0))*p1odx*dir1; } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDonesided2(u) ((-1.*KRANC_GFOFFSET3D(u,0,0,0) + KRANC_GFOFFSET3D(u,0,dir2,0))*p1ody*dir2) +# define PDonesided2(u) ((-KRANC_GFOFFSET3D(u,0,0,0) + KRANC_GFOFFSET3D(u,0,dir2,0))*p1ody*dir2) #else # define PDonesided2(u) (PDonesided2_impl(u,p1ody,cdj,cdk,dir1,dir2,dir3)) -static CCTK_REAL PDonesided2_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1ody, ptrdiff_t const cdj, ptrdiff_t const cdk, ptrdiff_t const dir1, ptrdiff_t const dir2, ptrdiff_t const dir3) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL PDonesided2_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1ody, ptrdiff_t const cdj, ptrdiff_t const cdk, ptrdiff_t const dir1, ptrdiff_t const dir2, ptrdiff_t const dir3) +static CCTK_REAL PDonesided2_impl(const CCTK_REAL* restrict const u, const CCTK_REAL p1ody, const ptrdiff_t cdj, const ptrdiff_t cdk, const ptrdiff_t dir1, const ptrdiff_t dir2, const ptrdiff_t dir3) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL PDonesided2_impl(const CCTK_REAL* restrict const u, const CCTK_REAL p1ody, const ptrdiff_t cdj, const ptrdiff_t cdk, const ptrdiff_t dir1, const ptrdiff_t dir2, const ptrdiff_t dir3) { - ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); - return (-1.*KRANC_GFOFFSET3D(u,0,0,0) + KRANC_GFOFFSET3D(u,0,dir2,0))*p1ody*dir2; + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); + return (-KRANC_GFOFFSET3D(u,0,0,0) + KRANC_GFOFFSET3D(u,0,dir2,0))*p1ody*dir2; } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDonesided3(u) ((-1.*KRANC_GFOFFSET3D(u,0,0,0) + KRANC_GFOFFSET3D(u,0,0,dir3))*p1odz*dir3) +# define PDonesided3(u) ((-KRANC_GFOFFSET3D(u,0,0,0) + KRANC_GFOFFSET3D(u,0,0,dir3))*p1odz*dir3) #else # define PDonesided3(u) (PDonesided3_impl(u,p1odz,cdj,cdk,dir1,dir2,dir3)) -static CCTK_REAL PDonesided3_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1odz, ptrdiff_t const cdj, ptrdiff_t const cdk, ptrdiff_t const dir1, ptrdiff_t const dir2, ptrdiff_t const dir3) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL PDonesided3_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1odz, ptrdiff_t const cdj, ptrdiff_t const cdk, ptrdiff_t const dir1, ptrdiff_t const dir2, ptrdiff_t const dir3) +static CCTK_REAL PDonesided3_impl(const CCTK_REAL* restrict const u, const CCTK_REAL p1odz, const ptrdiff_t cdj, const ptrdiff_t cdk, const ptrdiff_t dir1, const ptrdiff_t dir2, const ptrdiff_t dir3) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL PDonesided3_impl(const CCTK_REAL* restrict const u, const CCTK_REAL p1odz, const ptrdiff_t cdj, const ptrdiff_t cdk, const ptrdiff_t dir1, const ptrdiff_t dir2, const ptrdiff_t dir3) { - ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); - return (-1.*KRANC_GFOFFSET3D(u,0,0,0) + KRANC_GFOFFSET3D(u,0,0,dir3))*p1odz*dir3; + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); + return PDonesided2_impl(u, p1odz, cdk, cdj); } #endif diff --git a/ML_ADMQuantities/src/ML_ADMQuantities.cc b/ML_ADMQuantities/src/ML_ADMQuantities.cc index 2479b7a..bc63940 100644 --- a/ML_ADMQuantities/src/ML_ADMQuantities.cc +++ b/ML_ADMQuantities/src/ML_ADMQuantities.cc @@ -27,7 +27,9 @@ extern "C" void ML_ADMQuantities_SelectBCs(CCTK_ARGUMENTS) DECLARE_CCTK_ARGUMENTS; DECLARE_CCTK_PARAMETERS; - CCTK_INT ierr CCTK_ATTRIBUTE_UNUSED = 0; + if (cctk_iteration % ML_ADMQuantities_calc_every != ML_ADMQuantities_calc_offset) + return; + CCTK_INT ierr CCTK_ATTRIBUTE_UNUSED = 0; ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_ADMQuantities::ML_Jadm","flat"); if (ierr < 0) CCTK_WARN(1, "Failed to register flat BC for ML_ADMQuantities::ML_Jadm."); @@ -37,7 +39,7 @@ extern "C" void ML_ADMQuantities_SelectBCs(CCTK_ARGUMENTS) return; } -static void ML_ADMQuantities_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_ADMQuantities_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; @@ -46,87 +48,109 @@ static void ML_ADMQuantities_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 /*const*/ dx CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(0)); - CCTK_REAL /*const*/ dy CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(1)); - CCTK_REAL /*const*/ dz CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(2)); - CCTK_REAL /*const*/ dt CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_TIME); - CCTK_REAL /*const*/ t CCTK_ATTRIBUTE_UNUSED = ToReal(cctk_time); - CCTK_REAL /*const*/ dxi CCTK_ATTRIBUTE_UNUSED = INV(dx); - CCTK_REAL /*const*/ dyi CCTK_ATTRIBUTE_UNUSED = INV(dy); - CCTK_REAL /*const*/ dzi CCTK_ATTRIBUTE_UNUSED = INV(dz); - CCTK_REAL /*const*/ khalf CCTK_ATTRIBUTE_UNUSED = 0.5; - CCTK_REAL /*const*/ kthird CCTK_ATTRIBUTE_UNUSED = 1/3.0; - CCTK_REAL /*const*/ ktwothird CCTK_ATTRIBUTE_UNUSED = 2.0/3.0; - CCTK_REAL /*const*/ kfourthird CCTK_ATTRIBUTE_UNUSED = 4.0/3.0; - CCTK_REAL /*const*/ keightthird CCTK_ATTRIBUTE_UNUSED = 8.0/3.0; - CCTK_REAL /*const*/ hdxi CCTK_ATTRIBUTE_UNUSED = 0.5 * dxi; - CCTK_REAL /*const*/ hdyi CCTK_ATTRIBUTE_UNUSED = 0.5 * dyi; - CCTK_REAL /*const*/ hdzi CCTK_ATTRIBUTE_UNUSED = 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 dx CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(0)); + const CCTK_REAL dy CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(1)); + const CCTK_REAL dz CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(2)); + const CCTK_REAL dt CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_TIME); + const CCTK_REAL t CCTK_ATTRIBUTE_UNUSED = ToReal(cctk_time); + const CCTK_REAL dxi CCTK_ATTRIBUTE_UNUSED = INV(dx); + const CCTK_REAL dyi CCTK_ATTRIBUTE_UNUSED = INV(dy); + const CCTK_REAL dzi CCTK_ATTRIBUTE_UNUSED = INV(dz); + const CCTK_REAL khalf CCTK_ATTRIBUTE_UNUSED = 0.5; + const CCTK_REAL kthird CCTK_ATTRIBUTE_UNUSED = 1/3.0; + const CCTK_REAL ktwothird CCTK_ATTRIBUTE_UNUSED = 2.0/3.0; + const CCTK_REAL kfourthird CCTK_ATTRIBUTE_UNUSED = 4.0/3.0; + const CCTK_REAL keightthird CCTK_ATTRIBUTE_UNUSED = 8.0/3.0; + const CCTK_REAL hdxi CCTK_ATTRIBUTE_UNUSED = 0.5 * dxi; + const CCTK_REAL hdyi CCTK_ATTRIBUTE_UNUSED = 0.5 * dyi; + const CCTK_REAL hdzi CCTK_ATTRIBUTE_UNUSED = 0.5 * dzi; /* Initialize predefined quantities */ - CCTK_REAL /*const*/ p1o12dx CCTK_ATTRIBUTE_UNUSED = 0.0833333333333333333333333333333*INV(dx); - CCTK_REAL /*const*/ p1o12dy CCTK_ATTRIBUTE_UNUSED = 0.0833333333333333333333333333333*INV(dy); - CCTK_REAL /*const*/ p1o12dz CCTK_ATTRIBUTE_UNUSED = 0.0833333333333333333333333333333*INV(dz); - CCTK_REAL /*const*/ p1o144dxdy CCTK_ATTRIBUTE_UNUSED = 0.00694444444444444444444444444444*INV(dx*dy); - CCTK_REAL /*const*/ p1o144dxdz CCTK_ATTRIBUTE_UNUSED = 0.00694444444444444444444444444444*INV(dx*dz); - CCTK_REAL /*const*/ p1o144dydz CCTK_ATTRIBUTE_UNUSED = 0.00694444444444444444444444444444*INV(dy*dz); - CCTK_REAL /*const*/ p1odx CCTK_ATTRIBUTE_UNUSED = INV(dx); - CCTK_REAL /*const*/ p1ody CCTK_ATTRIBUTE_UNUSED = INV(dy); - CCTK_REAL /*const*/ p1odz CCTK_ATTRIBUTE_UNUSED = INV(dz); - CCTK_REAL /*const*/ pm1o12dx2 CCTK_ATTRIBUTE_UNUSED = -0.0833333333333333333333333333333*INV(SQR(dx)); - CCTK_REAL /*const*/ pm1o12dy2 CCTK_ATTRIBUTE_UNUSED = -0.0833333333333333333333333333333*INV(SQR(dy)); - CCTK_REAL /*const*/ pm1o12dz2 CCTK_ATTRIBUTE_UNUSED = -0.0833333333333333333333333333333*INV(SQR(dz)); + const CCTK_REAL p1o12dx CCTK_ATTRIBUTE_UNUSED = 0.0833333333333333333333333333333*INV(dx); + const CCTK_REAL p1o12dy CCTK_ATTRIBUTE_UNUSED = 0.0833333333333333333333333333333*INV(dy); + const CCTK_REAL p1o12dz CCTK_ATTRIBUTE_UNUSED = 0.0833333333333333333333333333333*INV(dz); + const CCTK_REAL p1o144dxdy CCTK_ATTRIBUTE_UNUSED = 0.00694444444444444444444444444444*INV(dx*dy); + const CCTK_REAL p1o144dxdz CCTK_ATTRIBUTE_UNUSED = 0.00694444444444444444444444444444*INV(dx*dz); + const CCTK_REAL p1o144dydz CCTK_ATTRIBUTE_UNUSED = 0.00694444444444444444444444444444*INV(dy*dz); + const CCTK_REAL p1odx CCTK_ATTRIBUTE_UNUSED = INV(dx); + const CCTK_REAL p1ody CCTK_ATTRIBUTE_UNUSED = INV(dy); + const CCTK_REAL p1odz CCTK_ATTRIBUTE_UNUSED = INV(dz); + const CCTK_REAL pm1o12dx2 CCTK_ATTRIBUTE_UNUSED = -0.0833333333333333333333333333333*INV(SQR(dx)); + const CCTK_REAL pm1o12dy2 CCTK_ATTRIBUTE_UNUSED = -0.0833333333333333333333333333333*INV(SQR(dy)); + const CCTK_REAL pm1o12dz2 CCTK_ATTRIBUTE_UNUSED = -0.0833333333333333333333333333333*INV(SQR(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; + + 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; - CCTK_REAL const *restrict jacobian_derivative_ptrs[18] CCTK_ATTRIBUTE_UNUSED; + 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 */ @@ -137,12 +161,19 @@ static void ML_ADMQuantities_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_LOOP3(ML_ADMQuantities, - 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]) { - 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; /* Assign local copies of grid functions */ @@ -173,7 +204,7 @@ static void ML_ADMQuantities_Body(cGH const * restrict const cctkGH, int const d CCTK_REAL eTttL, eTtxL, eTtyL, eTtzL, eTxxL, eTxyL, eTxzL, eTyyL, eTyzL, eTzzL CCTK_ATTRIBUTE_UNUSED ; - if (*stress_energy_state) + if (assume_stress_energy_state>=0 ? assume_stress_energy_state : *stress_energy_state) { eTttL = eTtt[index]; eTtxL = eTtx[index]; @@ -236,158 +267,158 @@ static void ML_ADMQuantities_Body(cGH const * restrict const cctkGH, int const d /* Include user supplied include files */ /* Precompute derivatives */ - CCTK_REAL /*const*/ PDstandardNth1gt11 CCTK_ATTRIBUTE_UNUSED = PDstandardNth1(>11[index]); - CCTK_REAL /*const*/ PDstandardNth2gt11 CCTK_ATTRIBUTE_UNUSED = PDstandardNth2(>11[index]); - CCTK_REAL /*const*/ PDstandardNth3gt11 CCTK_ATTRIBUTE_UNUSED = PDstandardNth3(>11[index]); - CCTK_REAL /*const*/ PDstandardNth11gt11 CCTK_ATTRIBUTE_UNUSED = PDstandardNth11(>11[index]); - CCTK_REAL /*const*/ PDstandardNth22gt11 CCTK_ATTRIBUTE_UNUSED = PDstandardNth22(>11[index]); - CCTK_REAL /*const*/ PDstandardNth33gt11 CCTK_ATTRIBUTE_UNUSED = PDstandardNth33(>11[index]); - CCTK_REAL /*const*/ PDstandardNth12gt11 CCTK_ATTRIBUTE_UNUSED = PDstandardNth12(>11[index]); - CCTK_REAL /*const*/ PDstandardNth13gt11 CCTK_ATTRIBUTE_UNUSED = PDstandardNth13(>11[index]); - CCTK_REAL /*const*/ PDstandardNth23gt11 CCTK_ATTRIBUTE_UNUSED = PDstandardNth23(>11[index]); - CCTK_REAL /*const*/ PDstandardNth1gt12 CCTK_ATTRIBUTE_UNUSED = PDstandardNth1(>12[index]); - CCTK_REAL /*const*/ PDstandardNth2gt12 CCTK_ATTRIBUTE_UNUSED = PDstandardNth2(>12[index]); - CCTK_REAL /*const*/ PDstandardNth3gt12 CCTK_ATTRIBUTE_UNUSED = PDstandardNth3(>12[index]); - CCTK_REAL /*const*/ PDstandardNth11gt12 CCTK_ATTRIBUTE_UNUSED = PDstandardNth11(>12[index]); - CCTK_REAL /*const*/ PDstandardNth22gt12 CCTK_ATTRIBUTE_UNUSED = PDstandardNth22(>12[index]); - CCTK_REAL /*const*/ PDstandardNth33gt12 CCTK_ATTRIBUTE_UNUSED = PDstandardNth33(>12[index]); - CCTK_REAL /*const*/ PDstandardNth12gt12 CCTK_ATTRIBUTE_UNUSED = PDstandardNth12(>12[index]); - CCTK_REAL /*const*/ PDstandardNth13gt12 CCTK_ATTRIBUTE_UNUSED = PDstandardNth13(>12[index]); - CCTK_REAL /*const*/ PDstandardNth23gt12 CCTK_ATTRIBUTE_UNUSED = PDstandardNth23(>12[index]); - CCTK_REAL /*const*/ PDstandardNth1gt13 CCTK_ATTRIBUTE_UNUSED = PDstandardNth1(>13[index]); - CCTK_REAL /*const*/ PDstandardNth2gt13 CCTK_ATTRIBUTE_UNUSED = PDstandardNth2(>13[index]); - CCTK_REAL /*const*/ PDstandardNth3gt13 CCTK_ATTRIBUTE_UNUSED = PDstandardNth3(>13[index]); - CCTK_REAL /*const*/ PDstandardNth11gt13 CCTK_ATTRIBUTE_UNUSED = PDstandardNth11(>13[index]); - CCTK_REAL /*const*/ PDstandardNth22gt13 CCTK_ATTRIBUTE_UNUSED = PDstandardNth22(>13[index]); - CCTK_REAL /*const*/ PDstandardNth33gt13 CCTK_ATTRIBUTE_UNUSED = PDstandardNth33(>13[index]); - CCTK_REAL /*const*/ PDstandardNth12gt13 CCTK_ATTRIBUTE_UNUSED = PDstandardNth12(>13[index]); - CCTK_REAL /*const*/ PDstandardNth13gt13 CCTK_ATTRIBUTE_UNUSED = PDstandardNth13(>13[index]); - CCTK_REAL /*const*/ PDstandardNth23gt13 CCTK_ATTRIBUTE_UNUSED = PDstandardNth23(>13[index]); - CCTK_REAL /*const*/ PDstandardNth1gt22 CCTK_ATTRIBUTE_UNUSED = PDstandardNth1(>22[index]); - CCTK_REAL /*const*/ PDstandardNth2gt22 CCTK_ATTRIBUTE_UNUSED = PDstandardNth2(>22[index]); - CCTK_REAL /*const*/ PDstandardNth3gt22 CCTK_ATTRIBUTE_UNUSED = PDstandardNth3(>22[index]); - CCTK_REAL /*const*/ PDstandardNth11gt22 CCTK_ATTRIBUTE_UNUSED = PDstandardNth11(>22[index]); - CCTK_REAL /*const*/ PDstandardNth22gt22 CCTK_ATTRIBUTE_UNUSED = PDstandardNth22(>22[index]); - CCTK_REAL /*const*/ PDstandardNth33gt22 CCTK_ATTRIBUTE_UNUSED = PDstandardNth33(>22[index]); - CCTK_REAL /*const*/ PDstandardNth12gt22 CCTK_ATTRIBUTE_UNUSED = PDstandardNth12(>22[index]); - CCTK_REAL /*const*/ PDstandardNth13gt22 CCTK_ATTRIBUTE_UNUSED = PDstandardNth13(>22[index]); - CCTK_REAL /*const*/ PDstandardNth23gt22 CCTK_ATTRIBUTE_UNUSED = PDstandardNth23(>22[index]); - CCTK_REAL /*const*/ PDstandardNth1gt23 CCTK_ATTRIBUTE_UNUSED = PDstandardNth1(>23[index]); - CCTK_REAL /*const*/ PDstandardNth2gt23 CCTK_ATTRIBUTE_UNUSED = PDstandardNth2(>23[index]); - CCTK_REAL /*const*/ PDstandardNth3gt23 CCTK_ATTRIBUTE_UNUSED = PDstandardNth3(>23[index]); - CCTK_REAL /*const*/ PDstandardNth11gt23 CCTK_ATTRIBUTE_UNUSED = PDstandardNth11(>23[index]); - CCTK_REAL /*const*/ PDstandardNth22gt23 CCTK_ATTRIBUTE_UNUSED = PDstandardNth22(>23[index]); - CCTK_REAL /*const*/ PDstandardNth33gt23 CCTK_ATTRIBUTE_UNUSED = PDstandardNth33(>23[index]); - CCTK_REAL /*const*/ PDstandardNth12gt23 CCTK_ATTRIBUTE_UNUSED = PDstandardNth12(>23[index]); - CCTK_REAL /*const*/ PDstandardNth13gt23 CCTK_ATTRIBUTE_UNUSED = PDstandardNth13(>23[index]); - CCTK_REAL /*const*/ PDstandardNth23gt23 CCTK_ATTRIBUTE_UNUSED = PDstandardNth23(>23[index]); - CCTK_REAL /*const*/ PDstandardNth1gt33 CCTK_ATTRIBUTE_UNUSED = PDstandardNth1(>33[index]); - CCTK_REAL /*const*/ PDstandardNth2gt33 CCTK_ATTRIBUTE_UNUSED = PDstandardNth2(>33[index]); - CCTK_REAL /*const*/ PDstandardNth3gt33 CCTK_ATTRIBUTE_UNUSED = PDstandardNth3(>33[index]); - CCTK_REAL /*const*/ PDstandardNth11gt33 CCTK_ATTRIBUTE_UNUSED = PDstandardNth11(>33[index]); - CCTK_REAL /*const*/ PDstandardNth22gt33 CCTK_ATTRIBUTE_UNUSED = PDstandardNth22(>33[index]); - CCTK_REAL /*const*/ PDstandardNth33gt33 CCTK_ATTRIBUTE_UNUSED = PDstandardNth33(>33[index]); - CCTK_REAL /*const*/ PDstandardNth12gt33 CCTK_ATTRIBUTE_UNUSED = PDstandardNth12(>33[index]); - CCTK_REAL /*const*/ PDstandardNth13gt33 CCTK_ATTRIBUTE_UNUSED = PDstandardNth13(>33[index]); - CCTK_REAL /*const*/ PDstandardNth23gt33 CCTK_ATTRIBUTE_UNUSED = PDstandardNth23(>33[index]); - CCTK_REAL /*const*/ PDstandardNth1trK CCTK_ATTRIBUTE_UNUSED = PDstandardNth1(&trK[index]); - CCTK_REAL /*const*/ PDstandardNth2trK CCTK_ATTRIBUTE_UNUSED = PDstandardNth2(&trK[index]); - CCTK_REAL /*const*/ PDstandardNth3trK CCTK_ATTRIBUTE_UNUSED = PDstandardNth3(&trK[index]); - CCTK_REAL /*const*/ PDstandardNth1Xt1 CCTK_ATTRIBUTE_UNUSED = PDstandardNth1(&Xt1[index]); - CCTK_REAL /*const*/ PDstandardNth2Xt1 CCTK_ATTRIBUTE_UNUSED = PDstandardNth2(&Xt1[index]); - CCTK_REAL /*const*/ PDstandardNth3Xt1 CCTK_ATTRIBUTE_UNUSED = PDstandardNth3(&Xt1[index]); - CCTK_REAL /*const*/ PDstandardNth1Xt2 CCTK_ATTRIBUTE_UNUSED = PDstandardNth1(&Xt2[index]); - CCTK_REAL /*const*/ PDstandardNth2Xt2 CCTK_ATTRIBUTE_UNUSED = PDstandardNth2(&Xt2[index]); - CCTK_REAL /*const*/ PDstandardNth3Xt2 CCTK_ATTRIBUTE_UNUSED = PDstandardNth3(&Xt2[index]); - CCTK_REAL /*const*/ PDstandardNth1Xt3 CCTK_ATTRIBUTE_UNUSED = PDstandardNth1(&Xt3[index]); - CCTK_REAL /*const*/ PDstandardNth2Xt3 CCTK_ATTRIBUTE_UNUSED = PDstandardNth2(&Xt3[index]); - CCTK_REAL /*const*/ PDstandardNth3Xt3 CCTK_ATTRIBUTE_UNUSED = PDstandardNth3(&Xt3[index]); + const CCTK_REAL PDstandardNth1gt11 CCTK_ATTRIBUTE_UNUSED = PDstandardNth1(>11[index]); + const CCTK_REAL PDstandardNth2gt11 CCTK_ATTRIBUTE_UNUSED = PDstandardNth2(>11[index]); + const CCTK_REAL PDstandardNth3gt11 CCTK_ATTRIBUTE_UNUSED = PDstandardNth3(>11[index]); + const CCTK_REAL PDstandardNth11gt11 CCTK_ATTRIBUTE_UNUSED = PDstandardNth11(>11[index]); + const CCTK_REAL PDstandardNth22gt11 CCTK_ATTRIBUTE_UNUSED = PDstandardNth22(>11[index]); + const CCTK_REAL PDstandardNth33gt11 CCTK_ATTRIBUTE_UNUSED = PDstandardNth33(>11[index]); + const CCTK_REAL PDstandardNth12gt11 CCTK_ATTRIBUTE_UNUSED = PDstandardNth12(>11[index]); + const CCTK_REAL PDstandardNth13gt11 CCTK_ATTRIBUTE_UNUSED = PDstandardNth13(>11[index]); + const CCTK_REAL PDstandardNth23gt11 CCTK_ATTRIBUTE_UNUSED = PDstandardNth23(>11[index]); + const CCTK_REAL PDstandardNth1gt12 CCTK_ATTRIBUTE_UNUSED = PDstandardNth1(>12[index]); + const CCTK_REAL PDstandardNth2gt12 CCTK_ATTRIBUTE_UNUSED = PDstandardNth2(>12[index]); + const CCTK_REAL PDstandardNth3gt12 CCTK_ATTRIBUTE_UNUSED = PDstandardNth3(>12[index]); + const CCTK_REAL PDstandardNth11gt12 CCTK_ATTRIBUTE_UNUSED = PDstandardNth11(>12[index]); + const CCTK_REAL PDstandardNth22gt12 CCTK_ATTRIBUTE_UNUSED = PDstandardNth22(>12[index]); + const CCTK_REAL PDstandardNth33gt12 CCTK_ATTRIBUTE_UNUSED = PDstandardNth33(>12[index]); + const CCTK_REAL PDstandardNth12gt12 CCTK_ATTRIBUTE_UNUSED = PDstandardNth12(>12[index]); + const CCTK_REAL PDstandardNth13gt12 CCTK_ATTRIBUTE_UNUSED = PDstandardNth13(>12[index]); + const CCTK_REAL PDstandardNth23gt12 CCTK_ATTRIBUTE_UNUSED = PDstandardNth23(>12[index]); + const CCTK_REAL PDstandardNth1gt13 CCTK_ATTRIBUTE_UNUSED = PDstandardNth1(>13[index]); + const CCTK_REAL PDstandardNth2gt13 CCTK_ATTRIBUTE_UNUSED = PDstandardNth2(>13[index]); + const CCTK_REAL PDstandardNth3gt13 CCTK_ATTRIBUTE_UNUSED = PDstandardNth3(>13[index]); + const CCTK_REAL PDstandardNth11gt13 CCTK_ATTRIBUTE_UNUSED = PDstandardNth11(>13[index]); + const CCTK_REAL PDstandardNth22gt13 CCTK_ATTRIBUTE_UNUSED = PDstandardNth22(>13[index]); + const CCTK_REAL PDstandardNth33gt13 CCTK_ATTRIBUTE_UNUSED = PDstandardNth33(>13[index]); + const CCTK_REAL PDstandardNth12gt13 CCTK_ATTRIBUTE_UNUSED = PDstandardNth12(>13[index]); + const CCTK_REAL PDstandardNth13gt13 CCTK_ATTRIBUTE_UNUSED = PDstandardNth13(>13[index]); + const CCTK_REAL PDstandardNth23gt13 CCTK_ATTRIBUTE_UNUSED = PDstandardNth23(>13[index]); + const CCTK_REAL PDstandardNth1gt22 CCTK_ATTRIBUTE_UNUSED = PDstandardNth1(>22[index]); + const CCTK_REAL PDstandardNth2gt22 CCTK_ATTRIBUTE_UNUSED = PDstandardNth2(>22[index]); + const CCTK_REAL PDstandardNth3gt22 CCTK_ATTRIBUTE_UNUSED = PDstandardNth3(>22[index]); + const CCTK_REAL PDstandardNth11gt22 CCTK_ATTRIBUTE_UNUSED = PDstandardNth11(>22[index]); + const CCTK_REAL PDstandardNth22gt22 CCTK_ATTRIBUTE_UNUSED = PDstandardNth22(>22[index]); + const CCTK_REAL PDstandardNth33gt22 CCTK_ATTRIBUTE_UNUSED = PDstandardNth33(>22[index]); + const CCTK_REAL PDstandardNth12gt22 CCTK_ATTRIBUTE_UNUSED = PDstandardNth12(>22[index]); + const CCTK_REAL PDstandardNth13gt22 CCTK_ATTRIBUTE_UNUSED = PDstandardNth13(>22[index]); + const CCTK_REAL PDstandardNth23gt22 CCTK_ATTRIBUTE_UNUSED = PDstandardNth23(>22[index]); + const CCTK_REAL PDstandardNth1gt23 CCTK_ATTRIBUTE_UNUSED = PDstandardNth1(>23[index]); + const CCTK_REAL PDstandardNth2gt23 CCTK_ATTRIBUTE_UNUSED = PDstandardNth2(>23[index]); + const CCTK_REAL PDstandardNth3gt23 CCTK_ATTRIBUTE_UNUSED = PDstandardNth3(>23[index]); + const CCTK_REAL PDstandardNth11gt23 CCTK_ATTRIBUTE_UNUSED = PDstandardNth11(>23[index]); + const CCTK_REAL PDstandardNth22gt23 CCTK_ATTRIBUTE_UNUSED = PDstandardNth22(>23[index]); + const CCTK_REAL PDstandardNth33gt23 CCTK_ATTRIBUTE_UNUSED = PDstandardNth33(>23[index]); + const CCTK_REAL PDstandardNth12gt23 CCTK_ATTRIBUTE_UNUSED = PDstandardNth12(>23[index]); + const CCTK_REAL PDstandardNth13gt23 CCTK_ATTRIBUTE_UNUSED = PDstandardNth13(>23[index]); + const CCTK_REAL PDstandardNth23gt23 CCTK_ATTRIBUTE_UNUSED = PDstandardNth23(>23[index]); + const CCTK_REAL PDstandardNth1gt33 CCTK_ATTRIBUTE_UNUSED = PDstandardNth1(>33[index]); + const CCTK_REAL PDstandardNth2gt33 CCTK_ATTRIBUTE_UNUSED = PDstandardNth2(>33[index]); + const CCTK_REAL PDstandardNth3gt33 CCTK_ATTRIBUTE_UNUSED = PDstandardNth3(>33[index]); + const CCTK_REAL PDstandardNth11gt33 CCTK_ATTRIBUTE_UNUSED = PDstandardNth11(>33[index]); + const CCTK_REAL PDstandardNth22gt33 CCTK_ATTRIBUTE_UNUSED = PDstandardNth22(>33[index]); + const CCTK_REAL PDstandardNth33gt33 CCTK_ATTRIBUTE_UNUSED = PDstandardNth33(>33[index]); + const CCTK_REAL PDstandardNth12gt33 CCTK_ATTRIBUTE_UNUSED = PDstandardNth12(>33[index]); + const CCTK_REAL PDstandardNth13gt33 CCTK_ATTRIBUTE_UNUSED = PDstandardNth13(>33[index]); + const CCTK_REAL PDstandardNth23gt33 CCTK_ATTRIBUTE_UNUSED = PDstandardNth23(>33[index]); + const CCTK_REAL PDstandardNth1trK CCTK_ATTRIBUTE_UNUSED = PDstandardNth1(&trK[index]); + const CCTK_REAL PDstandardNth2trK CCTK_ATTRIBUTE_UNUSED = PDstandardNth2(&trK[index]); + const CCTK_REAL PDstandardNth3trK CCTK_ATTRIBUTE_UNUSED = PDstandardNth3(&trK[index]); + const CCTK_REAL PDstandardNth1Xt1 CCTK_ATTRIBUTE_UNUSED = PDstandardNth1(&Xt1[index]); + const CCTK_REAL PDstandardNth2Xt1 CCTK_ATTRIBUTE_UNUSED = PDstandardNth2(&Xt1[index]); + const CCTK_REAL PDstandardNth3Xt1 CCTK_ATTRIBUTE_UNUSED = PDstandardNth3(&Xt1[index]); + const CCTK_REAL PDstandardNth1Xt2 CCTK_ATTRIBUTE_UNUSED = PDstandardNth1(&Xt2[index]); + const CCTK_REAL PDstandardNth2Xt2 CCTK_ATTRIBUTE_UNUSED = PDstandardNth2(&Xt2[index]); + const CCTK_REAL PDstandardNth3Xt2 CCTK_ATTRIBUTE_UNUSED = PDstandardNth3(&Xt2[index]); + const CCTK_REAL PDstandardNth1Xt3 CCTK_ATTRIBUTE_UNUSED = PDstandardNth1(&Xt3[index]); + const CCTK_REAL PDstandardNth2Xt3 CCTK_ATTRIBUTE_UNUSED = PDstandardNth2(&Xt3[index]); + const CCTK_REAL PDstandardNth3Xt3 CCTK_ATTRIBUTE_UNUSED = PDstandardNth3(&Xt3[index]); /* Calculate temporaries and grid functions */ - CCTK_REAL JacPDstandardNth11gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth11gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth11gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth11gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth11gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth11gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth12gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth12gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth12gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth12gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth12gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth12gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth13gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth13gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth13gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth13gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth13gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth13gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth1gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth1gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth1gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth1gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth1gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth1gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth1trK CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth1Xt1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth1Xt2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth1Xt3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth21gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth21gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth21gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth21gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth21gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth21gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth22gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth22gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth22gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth22gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth22gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth22gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth23gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth23gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth23gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth23gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth23gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth23gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth2gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth2gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth2gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth2gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth2gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth2gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth2trK CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth2Xt1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth2Xt2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth2Xt3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth31gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth31gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth31gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth31gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth31gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth31gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth32gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth32gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth32gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth32gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth32gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth32gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth33gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth33gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth33gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth33gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth33gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth33gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth3gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth3gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth3gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth3gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth3gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth3gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth3trK CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth3Xt1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth3Xt2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL JacPDstandardNth3Xt3 CCTK_ATTRIBUTE_UNUSED ; + CCTK_REAL JacPDstandardNth11gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth11gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth11gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth11gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth11gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth11gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth12gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth12gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth12gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth12gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth12gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth12gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth13gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth13gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth13gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth13gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth13gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth13gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth1gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth1gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth1gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth1gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth1gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth1gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth1trK CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth1Xt1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth1Xt2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth1Xt3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth21gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth21gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth21gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth21gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth21gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth21gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth22gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth22gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth22gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth22gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth22gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth22gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth23gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth23gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth23gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth23gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth23gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth23gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth2gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth2gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth2gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth2gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth2gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth2gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth2trK CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth2Xt1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth2Xt2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth2Xt3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth31gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth31gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth31gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth31gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth31gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth31gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth32gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth32gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth32gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth32gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth32gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth32gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth33gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth33gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth33gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth33gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth33gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth33gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth3gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth3gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth3gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth3gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth3gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth3gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth3trK CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth3Xt1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth3Xt2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL JacPDstandardNth3Xt3 CCTK_ATTRIBUTE_UNUSED; if (use_jacobian) { @@ -482,109 +513,109 @@ static void ML_ADMQuantities_Body(cGH const * restrict const cctkGH, int const d J23L*PDstandardNth2Xt3 + J33L*PDstandardNth3Xt3; JacPDstandardNth11gt11 = dJ111L*PDstandardNth1gt11 + - 2.*(J11L*(J21L*PDstandardNth12gt11 + J31L*PDstandardNth13gt11) + + 2*(J11L*(J21L*PDstandardNth12gt11 + J31L*PDstandardNth13gt11) + J21L*J31L*PDstandardNth23gt11) + dJ211L*PDstandardNth2gt11 + dJ311L*PDstandardNth3gt11 + PDstandardNth11gt11*SQR(J11L) + PDstandardNth22gt11*SQR(J21L) + PDstandardNth33gt11*SQR(J31L); JacPDstandardNth11gt12 = dJ111L*PDstandardNth1gt12 + - 2.*(J11L*(J21L*PDstandardNth12gt12 + J31L*PDstandardNth13gt12) + + 2*(J11L*(J21L*PDstandardNth12gt12 + J31L*PDstandardNth13gt12) + J21L*J31L*PDstandardNth23gt12) + dJ211L*PDstandardNth2gt12 + dJ311L*PDstandardNth3gt12 + PDstandardNth11gt12*SQR(J11L) + PDstandardNth22gt12*SQR(J21L) + PDstandardNth33gt12*SQR(J31L); JacPDstandardNth11gt13 = dJ111L*PDstandardNth1gt13 + - 2.*(J11L*(J21L*PDstandardNth12gt13 + J31L*PDstandardNth13gt13) + + 2*(J11L*(J21L*PDstandardNth12gt13 + J31L*PDstandardNth13gt13) + J21L*J31L*PDstandardNth23gt13) + dJ211L*PDstandardNth2gt13 + dJ311L*PDstandardNth3gt13 + PDstandardNth11gt13*SQR(J11L) + PDstandardNth22gt13*SQR(J21L) + PDstandardNth33gt13*SQR(J31L); JacPDstandardNth11gt22 = dJ111L*PDstandardNth1gt22 + - 2.*(J11L*(J21L*PDstandardNth12gt22 + J31L*PDstandardNth13gt22) + + 2*(J11L*(J21L*PDstandardNth12gt22 + J31L*PDstandardNth13gt22) + J21L*J31L*PDstandardNth23gt22) + dJ211L*PDstandardNth2gt22 + dJ311L*PDstandardNth3gt22 + PDstandardNth11gt22*SQR(J11L) + PDstandardNth22gt22*SQR(J21L) + PDstandardNth33gt22*SQR(J31L); JacPDstandardNth11gt23 = dJ111L*PDstandardNth1gt23 + - 2.*(J11L*(J21L*PDstandardNth12gt23 + J31L*PDstandardNth13gt23) + + 2*(J11L*(J21L*PDstandardNth12gt23 + J31L*PDstandardNth13gt23) + J21L*J31L*PDstandardNth23gt23) + dJ211L*PDstandardNth2gt23 + dJ311L*PDstandardNth3gt23 + PDstandardNth11gt23*SQR(J11L) + PDstandardNth22gt23*SQR(J21L) + PDstandardNth33gt23*SQR(J31L); JacPDstandardNth11gt33 = dJ111L*PDstandardNth1gt33 + - 2.*(J11L*(J21L*PDstandardNth12gt33 + J31L*PDstandardNth13gt33) + + 2*(J11L*(J21L*PDstandardNth12gt33 + J31L*PDstandardNth13gt33) + J21L*J31L*PDstandardNth23gt33) + dJ211L*PDstandardNth2gt33 + dJ311L*PDstandardNth3gt33 + PDstandardNth11gt33*SQR(J11L) + PDstandardNth22gt33*SQR(J21L) + PDstandardNth33gt33*SQR(J31L); JacPDstandardNth22gt11 = dJ122L*PDstandardNth1gt11 + - 2.*(J12L*(J22L*PDstandardNth12gt11 + J32L*PDstandardNth13gt11) + + 2*(J12L*(J22L*PDstandardNth12gt11 + J32L*PDstandardNth13gt11) + J22L*J32L*PDstandardNth23gt11) + dJ222L*PDstandardNth2gt11 + dJ322L*PDstandardNth3gt11 + PDstandardNth11gt11*SQR(J12L) + PDstandardNth22gt11*SQR(J22L) + PDstandardNth33gt11*SQR(J32L); JacPDstandardNth22gt12 = dJ122L*PDstandardNth1gt12 + - 2.*(J12L*(J22L*PDstandardNth12gt12 + J32L*PDstandardNth13gt12) + + 2*(J12L*(J22L*PDstandardNth12gt12 + J32L*PDstandardNth13gt12) + J22L*J32L*PDstandardNth23gt12) + dJ222L*PDstandardNth2gt12 + dJ322L*PDstandardNth3gt12 + PDstandardNth11gt12*SQR(J12L) + PDstandardNth22gt12*SQR(J22L) + PDstandardNth33gt12*SQR(J32L); JacPDstandardNth22gt13 = dJ122L*PDstandardNth1gt13 + - 2.*(J12L*(J22L*PDstandardNth12gt13 + J32L*PDstandardNth13gt13) + + 2*(J12L*(J22L*PDstandardNth12gt13 + J32L*PDstandardNth13gt13) + J22L*J32L*PDstandardNth23gt13) + dJ222L*PDstandardNth2gt13 + dJ322L*PDstandardNth3gt13 + PDstandardNth11gt13*SQR(J12L) + PDstandardNth22gt13*SQR(J22L) + PDstandardNth33gt13*SQR(J32L); JacPDstandardNth22gt22 = dJ122L*PDstandardNth1gt22 + - 2.*(J12L*(J22L*PDstandardNth12gt22 + J32L*PDstandardNth13gt22) + + 2*(J12L*(J22L*PDstandardNth12gt22 + J32L*PDstandardNth13gt22) + J22L*J32L*PDstandardNth23gt22) + dJ222L*PDstandardNth2gt22 + dJ322L*PDstandardNth3gt22 + PDstandardNth11gt22*SQR(J12L) + PDstandardNth22gt22*SQR(J22L) + PDstandardNth33gt22*SQR(J32L); JacPDstandardNth22gt23 = dJ122L*PDstandardNth1gt23 + - 2.*(J12L*(J22L*PDstandardNth12gt23 + J32L*PDstandardNth13gt23) + + 2*(J12L*(J22L*PDstandardNth12gt23 + J32L*PDstandardNth13gt23) + J22L*J32L*PDstandardNth23gt23) + dJ222L*PDstandardNth2gt23 + dJ322L*PDstandardNth3gt23 + PDstandardNth11gt23*SQR(J12L) + PDstandardNth22gt23*SQR(J22L) + PDstandardNth33gt23*SQR(J32L); JacPDstandardNth22gt33 = dJ122L*PDstandardNth1gt33 + - 2.*(J12L*(J22L*PDstandardNth12gt33 + J32L*PDstandardNth13gt33) + + 2*(J12L*(J22L*PDstandardNth12gt33 + J32L*PDstandardNth13gt33) + J22L*J32L*PDstandardNth23gt33) + dJ222L*PDstandardNth2gt33 + dJ322L*PDstandardNth3gt33 + PDstandardNth11gt33*SQR(J12L) + PDstandardNth22gt33*SQR(J22L) + PDstandardNth33gt33*SQR(J32L); JacPDstandardNth33gt11 = dJ133L*PDstandardNth1gt11 + - 2.*(J13L*(J23L*PDstandardNth12gt11 + J33L*PDstandardNth13gt11) + + 2*(J13L*(J23L*PDstandardNth12gt11 + J33L*PDstandardNth13gt11) + J23L*J33L*PDstandardNth23gt11) + dJ233L*PDstandardNth2gt11 + dJ333L*PDstandardNth3gt11 + PDstandardNth11gt11*SQR(J13L) + PDstandardNth22gt11*SQR(J23L) + PDstandardNth33gt11*SQR(J33L); JacPDstandardNth33gt12 = dJ133L*PDstandardNth1gt12 + - 2.*(J13L*(J23L*PDstandardNth12gt12 + J33L*PDstandardNth13gt12) + + 2*(J13L*(J23L*PDstandardNth12gt12 + J33L*PDstandardNth13gt12) + J23L*J33L*PDstandardNth23gt12) + dJ233L*PDstandardNth2gt12 + dJ333L*PDstandardNth3gt12 + PDstandardNth11gt12*SQR(J13L) + PDstandardNth22gt12*SQR(J23L) + PDstandardNth33gt12*SQR(J33L); JacPDstandardNth33gt13 = dJ133L*PDstandardNth1gt13 + - 2.*(J13L*(J23L*PDstandardNth12gt13 + J33L*PDstandardNth13gt13) + + 2*(J13L*(J23L*PDstandardNth12gt13 + J33L*PDstandardNth13gt13) + J23L*J33L*PDstandardNth23gt13) + dJ233L*PDstandardNth2gt13 + dJ333L*PDstandardNth3gt13 + PDstandardNth11gt13*SQR(J13L) + PDstandardNth22gt13*SQR(J23L) + PDstandardNth33gt13*SQR(J33L); JacPDstandardNth33gt22 = dJ133L*PDstandardNth1gt22 + - 2.*(J13L*(J23L*PDstandardNth12gt22 + J33L*PDstandardNth13gt22) + + 2*(J13L*(J23L*PDstandardNth12gt22 + J33L*PDstandardNth13gt22) + J23L*J33L*PDstandardNth23gt22) + dJ233L*PDstandardNth2gt22 + dJ333L*PDstandardNth3gt22 + PDstandardNth11gt22*SQR(J13L) + PDstandardNth22gt22*SQR(J23L) + PDstandardNth33gt22*SQR(J33L); JacPDstandardNth33gt23 = dJ133L*PDstandardNth1gt23 + - 2.*(J13L*(J23L*PDstandardNth12gt23 + J33L*PDstandardNth13gt23) + + 2*(J13L*(J23L*PDstandardNth12gt23 + J33L*PDstandardNth13gt23) + J23L*J33L*PDstandardNth23gt23) + dJ233L*PDstandardNth2gt23 + dJ333L*PDstandardNth3gt23 + PDstandardNth11gt23*SQR(J13L) + PDstandardNth22gt23*SQR(J23L) + PDstandardNth33gt23*SQR(J33L); JacPDstandardNth33gt33 = dJ133L*PDstandardNth1gt33 + - 2.*(J13L*(J23L*PDstandardNth12gt33 + J33L*PDstandardNth13gt33) + + 2*(J13L*(J23L*PDstandardNth12gt33 + J33L*PDstandardNth13gt33) + J23L*J33L*PDstandardNth23gt33) + dJ233L*PDstandardNth2gt33 + dJ333L*PDstandardNth3gt33 + PDstandardNth11gt33*SQR(J13L) + PDstandardNth22gt33*SQR(J23L) + PDstandardNth33gt33*SQR(J33L); @@ -1048,142 +1079,133 @@ static void ML_ADMQuantities_Body(cGH const * restrict const cctkGH, int const d JacPDstandardNth32gt33 = PDstandardNth23gt33; } - CCTK_REAL CCTK_ATTRIBUTE_UNUSED detgt = 1.; + CCTK_REAL CCTK_ATTRIBUTE_UNUSED detgt = 1; CCTK_REAL CCTK_ATTRIBUTE_UNUSED gtu11 = INV(detgt)*(gt22L*gt33L - - 1.*SQR(gt23L)); + SQR(gt23L)); CCTK_REAL CCTK_ATTRIBUTE_UNUSED gtu21 = (gt13L*gt23L - - 1.*gt12L*gt33L)*INV(detgt); + gt12L*gt33L)*INV(detgt); - CCTK_REAL CCTK_ATTRIBUTE_UNUSED gtu31 = (-1.*gt13L*gt22L + + CCTK_REAL CCTK_ATTRIBUTE_UNUSED gtu31 = (-(gt13L*gt22L) + gt12L*gt23L)*INV(detgt); CCTK_REAL CCTK_ATTRIBUTE_UNUSED gtu22 = INV(detgt)*(gt11L*gt33L - - 1.*SQR(gt13L)); + SQR(gt13L)); CCTK_REAL CCTK_ATTRIBUTE_UNUSED gtu32 = (gt12L*gt13L - - 1.*gt11L*gt23L)*INV(detgt); + gt11L*gt23L)*INV(detgt); CCTK_REAL CCTK_ATTRIBUTE_UNUSED gtu33 = INV(detgt)*(gt11L*gt22L - - 1.*SQR(gt12L)); + SQR(gt12L)); CCTK_REAL CCTK_ATTRIBUTE_UNUSED dgtu111 = - -2.*(gtu11*(gtu21*JacPDstandardNth1gt12 + gtu31*JacPDstandardNth1gt13) - + gtu21*gtu31*JacPDstandardNth1gt23) - - 1.*(JacPDstandardNth1gt11*SQR(gtu11) + JacPDstandardNth1gt22*SQR(gtu21) - + JacPDstandardNth1gt33*SQR(gtu31)); + -2*(gtu11*(gtu21*JacPDstandardNth1gt12 + gtu31*JacPDstandardNth1gt13) + + gtu21*gtu31*JacPDstandardNth1gt23) - JacPDstandardNth1gt11*SQR(gtu11) - + JacPDstandardNth1gt22*SQR(gtu21) - JacPDstandardNth1gt33*SQR(gtu31); CCTK_REAL CCTK_ATTRIBUTE_UNUSED dgtu211 = - -1.*(gtu21*(gtu11*JacPDstandardNth1gt11 + gtu21*JacPDstandardNth1gt12 + - gtu31*JacPDstandardNth1gt13) + gtu22*(gtu11*JacPDstandardNth1gt12 + - gtu21*JacPDstandardNth1gt22 + gtu31*JacPDstandardNth1gt23) + + -(gtu21*(gtu11*JacPDstandardNth1gt11 + gtu21*JacPDstandardNth1gt12 + + gtu31*JacPDstandardNth1gt13)) - gtu22*(gtu11*JacPDstandardNth1gt12 + + gtu21*JacPDstandardNth1gt22 + gtu31*JacPDstandardNth1gt23) - gtu32*(gtu11*JacPDstandardNth1gt13 + gtu21*JacPDstandardNth1gt23 + - gtu31*JacPDstandardNth1gt33)); + gtu31*JacPDstandardNth1gt33); CCTK_REAL CCTK_ATTRIBUTE_UNUSED dgtu311 = - -1.*(gtu11*(gtu31*JacPDstandardNth1gt11 + gtu32*JacPDstandardNth1gt12 + - gtu33*JacPDstandardNth1gt13) + gtu21*(gtu31*JacPDstandardNth1gt12 + - gtu32*JacPDstandardNth1gt22 + gtu33*JacPDstandardNth1gt23) + + -(gtu11*(gtu31*JacPDstandardNth1gt11 + gtu32*JacPDstandardNth1gt12 + + gtu33*JacPDstandardNth1gt13)) - gtu21*(gtu31*JacPDstandardNth1gt12 + + gtu32*JacPDstandardNth1gt22 + gtu33*JacPDstandardNth1gt23) - gtu31*(gtu31*JacPDstandardNth1gt13 + gtu32*JacPDstandardNth1gt23 + - gtu33*JacPDstandardNth1gt33)); + gtu33*JacPDstandardNth1gt33); CCTK_REAL CCTK_ATTRIBUTE_UNUSED dgtu221 = - -2.*(gtu21*(gtu22*JacPDstandardNth1gt12 + gtu32*JacPDstandardNth1gt13) - + gtu22*gtu32*JacPDstandardNth1gt23) - - 1.*(JacPDstandardNth1gt11*SQR(gtu21) + JacPDstandardNth1gt22*SQR(gtu22) - + JacPDstandardNth1gt33*SQR(gtu32)); + -2*(gtu21*(gtu22*JacPDstandardNth1gt12 + gtu32*JacPDstandardNth1gt13) + + gtu22*gtu32*JacPDstandardNth1gt23) - JacPDstandardNth1gt11*SQR(gtu21) - + JacPDstandardNth1gt22*SQR(gtu22) - JacPDstandardNth1gt33*SQR(gtu32); CCTK_REAL CCTK_ATTRIBUTE_UNUSED dgtu321 = - -1.*(gtu21*(gtu31*JacPDstandardNth1gt11 + gtu32*JacPDstandardNth1gt12 + - gtu33*JacPDstandardNth1gt13) + gtu22*(gtu31*JacPDstandardNth1gt12 + - gtu32*JacPDstandardNth1gt22 + gtu33*JacPDstandardNth1gt23) + + -(gtu21*(gtu31*JacPDstandardNth1gt11 + gtu32*JacPDstandardNth1gt12 + + gtu33*JacPDstandardNth1gt13)) - gtu22*(gtu31*JacPDstandardNth1gt12 + + gtu32*JacPDstandardNth1gt22 + gtu33*JacPDstandardNth1gt23) - gtu32*(gtu31*JacPDstandardNth1gt13 + gtu32*JacPDstandardNth1gt23 + - gtu33*JacPDstandardNth1gt33)); + gtu33*JacPDstandardNth1gt33); CCTK_REAL CCTK_ATTRIBUTE_UNUSED dgtu331 = - -2.*(gtu31*(gtu32*JacPDstandardNth1gt12 + gtu33*JacPDstandardNth1gt13) - + gtu32*gtu33*JacPDstandardNth1gt23) - - 1.*(JacPDstandardNth1gt11*SQR(gtu31) + JacPDstandardNth1gt22*SQR(gtu32) - + JacPDstandardNth1gt33*SQR(gtu33)); + -2*(gtu31*(gtu32*JacPDstandardNth1gt12 + gtu33*JacPDstandardNth1gt13) + + gtu32*gtu33*JacPDstandardNth1gt23) - JacPDstandardNth1gt11*SQR(gtu31) - + JacPDstandardNth1gt22*SQR(gtu32) - JacPDstandardNth1gt33*SQR(gtu33); CCTK_REAL CCTK_ATTRIBUTE_UNUSED dgtu112 = - -2.*(gtu11*(gtu21*JacPDstandardNth2gt12 + gtu31*JacPDstandardNth2gt13) - + gtu21*gtu31*JacPDstandardNth2gt23) - - 1.*(JacPDstandardNth2gt11*SQR(gtu11) + JacPDstandardNth2gt22*SQR(gtu21) - + JacPDstandardNth2gt33*SQR(gtu31)); + -2*(gtu11*(gtu21*JacPDstandardNth2gt12 + gtu31*JacPDstandardNth2gt13) + + gtu21*gtu31*JacPDstandardNth2gt23) - JacPDstandardNth2gt11*SQR(gtu11) - + JacPDstandardNth2gt22*SQR(gtu21) - JacPDstandardNth2gt33*SQR(gtu31); CCTK_REAL CCTK_ATTRIBUTE_UNUSED dgtu212 = - -1.*(gtu21*(gtu11*JacPDstandardNth2gt11 + gtu21*JacPDstandardNth2gt12 + - gtu31*JacPDstandardNth2gt13) + gtu22*(gtu11*JacPDstandardNth2gt12 + - gtu21*JacPDstandardNth2gt22 + gtu31*JacPDstandardNth2gt23) + + -(gtu21*(gtu11*JacPDstandardNth2gt11 + gtu21*JacPDstandardNth2gt12 + + gtu31*JacPDstandardNth2gt13)) - gtu22*(gtu11*JacPDstandardNth2gt12 + + gtu21*JacPDstandardNth2gt22 + gtu31*JacPDstandardNth2gt23) - gtu32*(gtu11*JacPDstandardNth2gt13 + gtu21*JacPDstandardNth2gt23 + - gtu31*JacPDstandardNth2gt33)); + gtu31*JacPDstandardNth2gt33); CCTK_REAL CCTK_ATTRIBUTE_UNUSED dgtu312 = - -1.*(gtu11*(gtu31*JacPDstandardNth2gt11 + gtu32*JacPDstandardNth2gt12 + - gtu33*JacPDstandardNth2gt13) + gtu21*(gtu31*JacPDstandardNth2gt12 + - gtu32*JacPDstandardNth2gt22 + gtu33*JacPDstandardNth2gt23) + + -(gtu11*(gtu31*JacPDstandardNth2gt11 + gtu32*JacPDstandardNth2gt12 + + gtu33*JacPDstandardNth2gt13)) - gtu21*(gtu31*JacPDstandardNth2gt12 + + gtu32*JacPDstandardNth2gt22 + gtu33*JacPDstandardNth2gt23) - gtu31*(gtu31*JacPDstandardNth2gt13 + gtu32*JacPDstandardNth2gt23 + - gtu33*JacPDstandardNth2gt33)); + gtu33*JacPDstandardNth2gt33); CCTK_REAL CCTK_ATTRIBUTE_UNUSED dgtu222 = - -2.*(gtu21*(gtu22*JacPDstandardNth2gt12 + gtu32*JacPDstandardNth2gt13) - + gtu22*gtu32*JacPDstandardNth2gt23) - - 1.*(JacPDstandardNth2gt11*SQR(gtu21) + JacPDstandardNth2gt22*SQR(gtu22) - + JacPDstandardNth2gt33*SQR(gtu32)); + -2*(gtu21*(gtu22*JacPDstandardNth2gt12 + gtu32*JacPDstandardNth2gt13) + + gtu22*gtu32*JacPDstandardNth2gt23) - JacPDstandardNth2gt11*SQR(gtu21) - + JacPDstandardNth2gt22*SQR(gtu22) - JacPDstandardNth2gt33*SQR(gtu32); CCTK_REAL CCTK_ATTRIBUTE_UNUSED dgtu322 = - -1.*(gtu21*(gtu31*JacPDstandardNth2gt11 + gtu32*JacPDstandardNth2gt12 + - gtu33*JacPDstandardNth2gt13) + gtu22*(gtu31*JacPDstandardNth2gt12 + - gtu32*JacPDstandardNth2gt22 + gtu33*JacPDstandardNth2gt23) + + -(gtu21*(gtu31*JacPDstandardNth2gt11 + gtu32*JacPDstandardNth2gt12 + + gtu33*JacPDstandardNth2gt13)) - gtu22*(gtu31*JacPDstandardNth2gt12 + + gtu32*JacPDstandardNth2gt22 + gtu33*JacPDstandardNth2gt23) - gtu32*(gtu31*JacPDstandardNth2gt13 + gtu32*JacPDstandardNth2gt23 + - gtu33*JacPDstandardNth2gt33)); + gtu33*JacPDstandardNth2gt33); CCTK_REAL CCTK_ATTRIBUTE_UNUSED dgtu332 = - -2.*(gtu31*(gtu32*JacPDstandardNth2gt12 + gtu33*JacPDstandardNth2gt13) - + gtu32*gtu33*JacPDstandardNth2gt23) - - 1.*(JacPDstandardNth2gt11*SQR(gtu31) + JacPDstandardNth2gt22*SQR(gtu32) - + JacPDstandardNth2gt33*SQR(gtu33)); + -2*(gtu31*(gtu32*JacPDstandardNth2gt12 + gtu33*JacPDstandardNth2gt13) + + gtu32*gtu33*JacPDstandardNth2gt23) - JacPDstandardNth2gt11*SQR(gtu31) - + JacPDstandardNth2gt22*SQR(gtu32) - JacPDstandardNth2gt33*SQR(gtu33); CCTK_REAL CCTK_ATTRIBUTE_UNUSED dgtu113 = - -2.*(gtu11*(gtu21*JacPDstandardNth3gt12 + gtu31*JacPDstandardNth3gt13) - + gtu21*gtu31*JacPDstandardNth3gt23) - - 1.*(JacPDstandardNth3gt11*SQR(gtu11) + JacPDstandardNth3gt22*SQR(gtu21) - + JacPDstandardNth3gt33*SQR(gtu31)); + -2*(gtu11*(gtu21*JacPDstandardNth3gt12 + gtu31*JacPDstandardNth3gt13) + + gtu21*gtu31*JacPDstandardNth3gt23) - JacPDstandardNth3gt11*SQR(gtu11) - + JacPDstandardNth3gt22*SQR(gtu21) - JacPDstandardNth3gt33*SQR(gtu31); CCTK_REAL CCTK_ATTRIBUTE_UNUSED dgtu213 = - -1.*(gtu21*(gtu11*JacPDstandardNth3gt11 + gtu21*JacPDstandardNth3gt12 + - gtu31*JacPDstandardNth3gt13) + gtu22*(gtu11*JacPDstandardNth3gt12 + - gtu21*JacPDstandardNth3gt22 + gtu31*JacPDstandardNth3gt23) + + -(gtu21*(gtu11*JacPDstandardNth3gt11 + gtu21*JacPDstandardNth3gt12 + + gtu31*JacPDstandardNth3gt13)) - gtu22*(gtu11*JacPDstandardNth3gt12 + + gtu21*JacPDstandardNth3gt22 + gtu31*JacPDstandardNth3gt23) - gtu32*(gtu11*JacPDstandardNth3gt13 + gtu21*JacPDstandardNth3gt23 + - gtu31*JacPDstandardNth3gt33)); + gtu31*JacPDstandardNth3gt33); CCTK_REAL CCTK_ATTRIBUTE_UNUSED dgtu313 = - -1.*(gtu11*(gtu31*JacPDstandardNth3gt11 + gtu32*JacPDstandardNth3gt12 + - gtu33*JacPDstandardNth3gt13) + gtu21*(gtu31*JacPDstandardNth3gt12 + - gtu32*JacPDstandardNth3gt22 + gtu33*JacPDstandardNth3gt23) + + -(gtu11*(gtu31*JacPDstandardNth3gt11 + gtu32*JacPDstandardNth3gt12 + + gtu33*JacPDstandardNth3gt13)) - gtu21*(gtu31*JacPDstandardNth3gt12 + + gtu32*JacPDstandardNth3gt22 + gtu33*JacPDstandardNth3gt23) - gtu31*(gtu31*JacPDstandardNth3gt13 + gtu32*JacPDstandardNth3gt23 + - gtu33*JacPDstandardNth3gt33)); + gtu33*JacPDstandardNth3gt33); CCTK_REAL CCTK_ATTRIBUTE_UNUSED dgtu223 = - -2.*(gtu21*(gtu22*JacPDstandardNth3gt12 + gtu32*JacPDstandardNth3gt13) - + gtu22*gtu32*JacPDstandardNth3gt23) - - 1.*(JacPDstandardNth3gt11*SQR(gtu21) + JacPDstandardNth3gt22*SQR(gtu22) - + JacPDstandardNth3gt33*SQR(gtu32)); + -2*(gtu21*(gtu22*JacPDstandardNth3gt12 + gtu32*JacPDstandardNth3gt13) + + gtu22*gtu32*JacPDstandardNth3gt23) - JacPDstandardNth3gt11*SQR(gtu21) - + JacPDstandardNth3gt22*SQR(gtu22) - JacPDstandardNth3gt33*SQR(gtu32); CCTK_REAL CCTK_ATTRIBUTE_UNUSED dgtu323 = - -1.*(gtu21*(gtu31*JacPDstandardNth3gt11 + gtu32*JacPDstandardNth3gt12 + - gtu33*JacPDstandardNth3gt13) + gtu22*(gtu31*JacPDstandardNth3gt12 + - gtu32*JacPDstandardNth3gt22 + gtu33*JacPDstandardNth3gt23) + + -(gtu21*(gtu31*JacPDstandardNth3gt11 + gtu32*JacPDstandardNth3gt12 + + gtu33*JacPDstandardNth3gt13)) - gtu22*(gtu31*JacPDstandardNth3gt12 + + gtu32*JacPDstandardNth3gt22 + gtu33*JacPDstandardNth3gt23) - gtu32*(gtu31*JacPDstandardNth3gt13 + gtu32*JacPDstandardNth3gt23 + - gtu33*JacPDstandardNth3gt33)); + gtu33*JacPDstandardNth3gt33); CCTK_REAL CCTK_ATTRIBUTE_UNUSED dgtu333 = - -2.*(gtu31*(gtu32*JacPDstandardNth3gt12 + gtu33*JacPDstandardNth3gt13) - + gtu32*gtu33*JacPDstandardNth3gt23) - - 1.*(JacPDstandardNth3gt11*SQR(gtu31) + JacPDstandardNth3gt22*SQR(gtu32) - + JacPDstandardNth3gt33*SQR(gtu33)); + -2*(gtu31*(gtu32*JacPDstandardNth3gt12 + gtu33*JacPDstandardNth3gt13) + + gtu32*gtu33*JacPDstandardNth3gt23) - JacPDstandardNth3gt11*SQR(gtu31) - + JacPDstandardNth3gt22*SQR(gtu32) - JacPDstandardNth3gt33*SQR(gtu33); CCTK_REAL CCTK_ATTRIBUTE_UNUSED Gtl111 = 0.5*JacPDstandardNth1gt11; @@ -1194,9 +1216,8 @@ static void ML_ADMQuantities_Body(cGH const * restrict const cctkGH, int const d CCTK_REAL CCTK_ATTRIBUTE_UNUSED Gtl122 = -0.5*JacPDstandardNth1gt22 + JacPDstandardNth2gt12; - CCTK_REAL CCTK_ATTRIBUTE_UNUSED Gtl123 = - 0.5*(-1.*JacPDstandardNth1gt23 + JacPDstandardNth2gt13 + - JacPDstandardNth3gt12); + CCTK_REAL CCTK_ATTRIBUTE_UNUSED Gtl123 = 0.5*(-JacPDstandardNth1gt23 + + JacPDstandardNth2gt13 + JacPDstandardNth3gt12); CCTK_REAL CCTK_ATTRIBUTE_UNUSED Gtl133 = -0.5*JacPDstandardNth1gt33 + JacPDstandardNth3gt13; @@ -1207,7 +1228,7 @@ static void ML_ADMQuantities_Body(cGH const * restrict const cctkGH, int const d CCTK_REAL CCTK_ATTRIBUTE_UNUSED Gtl212 = 0.5*JacPDstandardNth1gt22; CCTK_REAL CCTK_ATTRIBUTE_UNUSED Gtl213 = 0.5*(JacPDstandardNth1gt23 - - 1.*JacPDstandardNth2gt13 + JacPDstandardNth3gt12); + JacPDstandardNth2gt13 + JacPDstandardNth3gt12); CCTK_REAL CCTK_ATTRIBUTE_UNUSED Gtl222 = 0.5*JacPDstandardNth2gt22; @@ -1220,7 +1241,7 @@ static void ML_ADMQuantities_Body(cGH const * restrict const cctkGH, int const d 0.5*JacPDstandardNth3gt11; CCTK_REAL CCTK_ATTRIBUTE_UNUSED Gtl312 = 0.5*(JacPDstandardNth1gt23 + - JacPDstandardNth2gt13 - 1.*JacPDstandardNth3gt12); + JacPDstandardNth2gt13 - JacPDstandardNth3gt12); CCTK_REAL CCTK_ATTRIBUTE_UNUSED Gtl313 = 0.5*JacPDstandardNth1gt33; @@ -1367,102 +1388,104 @@ static void ML_ADMQuantities_Body(cGH const * restrict const cctkGH, int const d Gtl333*gtu33; CCTK_REAL CCTK_ATTRIBUTE_UNUSED Xtn1 = Gt111*gtu11 + Gt122*gtu22 + - 2.*(Gt112*gtu21 + Gt113*gtu31 + Gt123*gtu32) + Gt133*gtu33; + 2*(Gt112*gtu21 + Gt113*gtu31 + Gt123*gtu32) + Gt133*gtu33; CCTK_REAL CCTK_ATTRIBUTE_UNUSED Xtn2 = Gt211*gtu11 + Gt222*gtu22 + - 2.*(Gt212*gtu21 + Gt213*gtu31 + Gt223*gtu32) + Gt233*gtu33; + 2*(Gt212*gtu21 + Gt213*gtu31 + Gt223*gtu32) + Gt233*gtu33; CCTK_REAL CCTK_ATTRIBUTE_UNUSED Xtn3 = Gt311*gtu11 + Gt322*gtu22 + - 2.*(Gt312*gtu21 + Gt313*gtu31 + Gt323*gtu32) + Gt333*gtu33; + 2*(Gt312*gtu21 + Gt313*gtu31 + Gt323*gtu32) + Gt333*gtu33; - CCTK_REAL CCTK_ATTRIBUTE_UNUSED Rt11 = 3.*(Gt111*Gtlu111 + - Gt112*Gtlu112 + Gt113*Gtlu113) + 2.*(Gt211*Gtlu121 + Gt212*Gtlu122 + + CCTK_REAL CCTK_ATTRIBUTE_UNUSED Rt11 = 3*(Gt111*Gtlu111 + + Gt112*Gtlu112 + Gt113*Gtlu113) + 2*(Gt211*Gtlu121 + Gt212*Gtlu122 + Gt213*Gtlu123 + Gt311*Gtlu131 + Gt312*Gtlu132 + Gt313*Gtlu133) + Gt211*Gtlu211 + Gt212*Gtlu212 + Gt213*Gtlu213 + Gt311*Gtlu311 + Gt312*Gtlu312 + Gt313*Gtlu313 + gt11L*JacPDstandardNth1Xt1 + - gt12L*JacPDstandardNth1Xt2 + gt13L*JacPDstandardNth1Xt3 - - 0.5*(gtu11*JacPDstandardNth11gt11 + gtu21*(JacPDstandardNth12gt11 + - JacPDstandardNth21gt11) + gtu22*JacPDstandardNth22gt11 + - gtu31*(JacPDstandardNth13gt11 + JacPDstandardNth31gt11) + - gtu32*(JacPDstandardNth23gt11 + JacPDstandardNth32gt11) + + gt12L*JacPDstandardNth1Xt2 + gt13L*JacPDstandardNth1Xt3 + + 0.5*(-(gtu11*JacPDstandardNth11gt11) - gtu21*(JacPDstandardNth12gt11 + + JacPDstandardNth21gt11) - gtu22*JacPDstandardNth22gt11 + + gtu31*(-JacPDstandardNth13gt11 - JacPDstandardNth31gt11) + + gtu32*(-JacPDstandardNth23gt11 - JacPDstandardNth32gt11) - gtu33*JacPDstandardNth33gt11) + Gtl111*Xtn1 + Gtl112*Xtn2 + Gtl113*Xtn3; - CCTK_REAL CCTK_ATTRIBUTE_UNUSED Rt12 = 0.5*(4.*(Gt211*Gtlu221 + - Gt212*Gtlu222 + Gt213*Gtlu223) + 2.*(Gt122*Gtlu112 + Gt123*Gtlu113 + - (Gt111 + Gt212)*Gtlu121 + Gt222*Gtlu122 + (Gt113 + Gt223)*Gtlu123 + - Gt322*Gtlu132 + Gt323*Gtlu133 + Gt111*Gtlu211 + Gt112*(Gtlu111 + - Gtlu122 + Gtlu212) + Gt113*Gtlu213 + Gt311*(Gtlu231 + Gtlu321) + - Gt312*(Gtlu131 + Gtlu232 + Gtlu322) + Gt313*(Gtlu233 + Gtlu323)) + - gt22L*JacPDstandardNth1Xt2 + gt23L*JacPDstandardNth1Xt3 + - gt11L*JacPDstandardNth2Xt1 + gt12L*(JacPDstandardNth1Xt1 + - JacPDstandardNth2Xt2) + gt13L*JacPDstandardNth2Xt3 - - 1.*(gtu11*JacPDstandardNth11gt12 + gtu21*(JacPDstandardNth12gt12 + - JacPDstandardNth21gt12) + gtu22*JacPDstandardNth22gt12 + - gtu31*(JacPDstandardNth13gt12 + JacPDstandardNth31gt12) + - gtu32*(JacPDstandardNth23gt12 + JacPDstandardNth32gt12) + - gtu33*JacPDstandardNth33gt12) + (Gtl112 + Gtl211)*Xtn1 + (Gtl122 + - Gtl212)*Xtn2 + (Gtl123 + Gtl213)*Xtn3); - - CCTK_REAL CCTK_ATTRIBUTE_UNUSED Rt13 = 0.5*(2.*(Gt123*Gtlu112 + - Gt133*Gtlu113 + Gt223*Gtlu122 + Gt233*Gtlu123 + (Gt111 + Gt313)*Gtlu131 - + (Gt112 + Gt323)*Gtlu132 + Gt333*Gtlu133 + Gt111*Gtlu311 + - Gt112*Gtlu312 + Gt113*(Gtlu111 + Gtlu133 + Gtlu313) + Gt211*(Gtlu231 + - Gtlu321) + Gt212*(Gtlu232 + Gtlu322) + Gt213*(Gtlu121 + Gtlu233 + - Gtlu323)) + 4.*(Gt311*Gtlu331 + Gt312*Gtlu332 + Gt313*Gtlu333) + - gt23L*JacPDstandardNth1Xt2 + gt33L*JacPDstandardNth1Xt3 - - 1.*(gtu11*JacPDstandardNth11gt13 + gtu21*(JacPDstandardNth12gt13 + - JacPDstandardNth21gt13) + gtu22*JacPDstandardNth22gt13 + - gtu31*(JacPDstandardNth13gt13 + JacPDstandardNth31gt13) + - gtu32*(JacPDstandardNth23gt13 + JacPDstandardNth32gt13) + - gtu33*JacPDstandardNth33gt13) + gt11L*JacPDstandardNth3Xt1 + - gt12L*JacPDstandardNth3Xt2 + gt13L*(JacPDstandardNth1Xt1 + - JacPDstandardNth3Xt3) + (Gtl113 + Gtl311)*Xtn1 + (Gtl123 + Gtl312)*Xtn2 - + (Gtl133 + Gtl313)*Xtn3); - - CCTK_REAL CCTK_ATTRIBUTE_UNUSED Rt22 = Gt112*(Gtlu121 + 2.*Gtlu211) + - Gt122*(Gtlu122 + 2.*Gtlu212) + Gt123*(Gtlu123 + 2.*Gtlu213) + - 3.*(Gt212*Gtlu221 + Gt222*Gtlu222 + Gt223*Gtlu223) + 2.*(Gt312*Gtlu231 - + Gt322*Gtlu232 + Gt323*Gtlu233) + Gt312*Gtlu321 + Gt322*Gtlu322 + + CCTK_REAL CCTK_ATTRIBUTE_UNUSED Rt12 = 0.5*(4*(Gt211*Gtlu221 + + Gt212*Gtlu222 + Gt213*Gtlu223) + 2*(Gt122*Gtlu112 + Gt123*Gtlu113 + + Gt111*Gtlu121 + Gt212*Gtlu121 + Gt222*Gtlu122 + Gt113*Gtlu123 + + Gt223*Gtlu123 + Gt312*Gtlu131 + Gt322*Gtlu132 + Gt323*Gtlu133 + + Gt111*Gtlu211 + Gt112*(Gtlu111 + Gtlu122 + Gtlu212) + Gt113*Gtlu213 + + Gt311*Gtlu231 + Gt312*Gtlu232 + Gt313*Gtlu233 + Gt311*Gtlu321 + + Gt312*Gtlu322 + Gt313*Gtlu323) - gtu11*JacPDstandardNth11gt12 + + gt12L*JacPDstandardNth1Xt1 + gt22L*JacPDstandardNth1Xt2 + + gt23L*JacPDstandardNth1Xt3 + gtu21*(-JacPDstandardNth12gt12 - + JacPDstandardNth21gt12) - gtu22*JacPDstandardNth22gt12 + + gt11L*JacPDstandardNth2Xt1 + gt12L*JacPDstandardNth2Xt2 + + gt13L*JacPDstandardNth2Xt3 + gtu31*(-JacPDstandardNth13gt12 - + JacPDstandardNth31gt12) + gtu32*(-JacPDstandardNth23gt12 - + JacPDstandardNth32gt12) - gtu33*JacPDstandardNth33gt12 + Gtl112*Xtn1 + + Gtl211*Xtn1 + Gtl122*Xtn2 + Gtl212*Xtn2 + Gtl123*Xtn3 + Gtl213*Xtn3); + + CCTK_REAL CCTK_ATTRIBUTE_UNUSED Rt13 = 0.5*(2*(Gt123*Gtlu112 + + Gt133*Gtlu113 + Gt213*Gtlu121 + Gt223*Gtlu122 + Gt233*Gtlu123 + + Gt111*Gtlu131 + Gt313*Gtlu131 + Gt112*Gtlu132 + Gt323*Gtlu132 + + Gt333*Gtlu133 + Gt211*Gtlu231 + Gt212*Gtlu232 + Gt213*Gtlu233 + + Gt111*Gtlu311 + Gt112*Gtlu312 + Gt113*(Gtlu111 + Gtlu133 + Gtlu313) + + Gt211*Gtlu321 + Gt212*Gtlu322 + Gt213*Gtlu323) + 4*(Gt311*Gtlu331 + + Gt312*Gtlu332 + Gt313*Gtlu333) - gtu11*JacPDstandardNth11gt13 + + gt13L*JacPDstandardNth1Xt1 + gt23L*JacPDstandardNth1Xt2 + + gt33L*JacPDstandardNth1Xt3 + gtu21*(-JacPDstandardNth12gt13 - + JacPDstandardNth21gt13) - gtu22*JacPDstandardNth22gt13 + + gtu31*(-JacPDstandardNth13gt13 - JacPDstandardNth31gt13) + + gtu32*(-JacPDstandardNth23gt13 - JacPDstandardNth32gt13) - + gtu33*JacPDstandardNth33gt13 + gt11L*JacPDstandardNth3Xt1 + + gt12L*JacPDstandardNth3Xt2 + gt13L*JacPDstandardNth3Xt3 + + Gtl113*Xtn1 + Gtl311*Xtn1 + Gtl123*Xtn2 + Gtl312*Xtn2 + Gtl133*Xtn3 + + Gtl313*Xtn3); + + CCTK_REAL CCTK_ATTRIBUTE_UNUSED Rt22 = Gt112*(Gtlu121 + 2*Gtlu211) + + Gt122*(Gtlu122 + 2*Gtlu212) + Gt123*(Gtlu123 + 2*Gtlu213) + + 3*(Gt212*Gtlu221 + Gt222*Gtlu222 + Gt223*Gtlu223) + 2*(Gt312*Gtlu231 + + Gt322*Gtlu232 + Gt323*Gtlu233) + Gt312*Gtlu321 + Gt322*Gtlu322 + Gt323*Gtlu323 + gt12L*JacPDstandardNth2Xt1 + - gt22L*JacPDstandardNth2Xt2 + gt23L*JacPDstandardNth2Xt3 - - 0.5*(gtu11*JacPDstandardNth11gt22 + gtu21*(JacPDstandardNth12gt22 + - JacPDstandardNth21gt22) + gtu22*JacPDstandardNth22gt22 + - gtu31*(JacPDstandardNth13gt22 + JacPDstandardNth31gt22) + - gtu32*(JacPDstandardNth23gt22 + JacPDstandardNth32gt22) + + gt22L*JacPDstandardNth2Xt2 + gt23L*JacPDstandardNth2Xt3 + + 0.5*(-(gtu11*JacPDstandardNth11gt22) - gtu21*(JacPDstandardNth12gt22 + + JacPDstandardNth21gt22) - gtu22*JacPDstandardNth22gt22 + + gtu31*(-JacPDstandardNth13gt22 - JacPDstandardNth31gt22) + + gtu32*(-JacPDstandardNth23gt22 - JacPDstandardNth32gt22) - gtu33*JacPDstandardNth33gt22) + Gtl212*Xtn1 + Gtl222*Xtn2 + Gtl223*Xtn3; - CCTK_REAL CCTK_ATTRIBUTE_UNUSED Rt23 = 0.5*(2.*(Gt113*Gtlu211 + - Gt133*Gtlu213 + Gt213*Gtlu221 + Gt233*Gtlu223 + (Gt212 + Gt313)*Gtlu231 - + (Gt222 + Gt323)*Gtlu232 + Gt333*Gtlu233 + Gt112*(Gtlu131 + Gtlu311) + - Gt122*(Gtlu132 + Gtlu312) + Gt123*(Gtlu133 + Gtlu212 + Gtlu313) + - Gt212*Gtlu321 + Gt222*Gtlu322 + Gt223*(Gtlu222 + Gtlu233 + Gtlu323)) + - 4.*(Gt312*Gtlu331 + Gt322*Gtlu332 + Gt323*Gtlu333) + - gt13L*JacPDstandardNth2Xt1 + gt33L*JacPDstandardNth2Xt3 - - 1.*(gtu11*JacPDstandardNth11gt23 + gtu21*(JacPDstandardNth12gt23 + - JacPDstandardNth21gt23) + gtu22*JacPDstandardNth22gt23 + - gtu31*(JacPDstandardNth13gt23 + JacPDstandardNth31gt23) + - gtu32*(JacPDstandardNth23gt23 + JacPDstandardNth32gt23) + - gtu33*JacPDstandardNth33gt23) + gt12L*JacPDstandardNth3Xt1 + - gt22L*JacPDstandardNth3Xt2 + gt23L*(JacPDstandardNth2Xt2 + - JacPDstandardNth3Xt3) + (Gtl213 + Gtl312)*Xtn1 + (Gtl223 + Gtl322)*Xtn2 - + (Gtl233 + Gtl323)*Xtn3); - - CCTK_REAL CCTK_ATTRIBUTE_UNUSED Rt33 = Gt113*(Gtlu131 + 2.*Gtlu311) + - Gt123*(Gtlu132 + 2.*Gtlu312) + Gt133*(Gtlu133 + 2.*Gtlu313) + - Gt213*(Gtlu231 + 2.*Gtlu321) + Gt223*(Gtlu232 + 2.*Gtlu322) + - Gt233*(Gtlu233 + 2.*Gtlu323) + 3.*(Gt313*Gtlu331 + Gt323*Gtlu332 + - Gt333*Gtlu333) - 0.5*(gtu11*JacPDstandardNth11gt33 + - gtu21*(JacPDstandardNth12gt33 + JacPDstandardNth21gt33) + - gtu22*JacPDstandardNth22gt33 + gtu31*(JacPDstandardNth13gt33 + - JacPDstandardNth31gt33) + gtu32*(JacPDstandardNth23gt33 + - JacPDstandardNth32gt33) + gtu33*JacPDstandardNth33gt33) + + CCTK_REAL CCTK_ATTRIBUTE_UNUSED Rt23 = 0.5*(2*(Gt123*Gtlu133 + + Gt113*Gtlu211 + Gt123*Gtlu212 + Gt133*Gtlu213 + Gt213*Gtlu221 + + Gt223*Gtlu222 + Gt233*Gtlu223 + Gt212*Gtlu231 + Gt313*Gtlu231 + + Gt222*Gtlu232 + Gt323*Gtlu232 + Gt223*Gtlu233 + Gt333*Gtlu233 + + Gt112*(Gtlu131 + Gtlu311) + Gt122*(Gtlu132 + Gtlu312) + Gt123*Gtlu313 + + Gt212*Gtlu321 + Gt222*Gtlu322 + Gt223*Gtlu323) + 4*(Gt312*Gtlu331 + + Gt322*Gtlu332 + Gt323*Gtlu333) - gtu11*JacPDstandardNth11gt23 + + gtu21*(-JacPDstandardNth12gt23 - JacPDstandardNth21gt23) - + gtu22*JacPDstandardNth22gt23 + gt13L*JacPDstandardNth2Xt1 + + gt23L*JacPDstandardNth2Xt2 + gt33L*JacPDstandardNth2Xt3 + + gtu31*(-JacPDstandardNth13gt23 - JacPDstandardNth31gt23) + + gtu32*(-JacPDstandardNth23gt23 - JacPDstandardNth32gt23) - + gtu33*JacPDstandardNth33gt23 + gt12L*JacPDstandardNth3Xt1 + + gt22L*JacPDstandardNth3Xt2 + gt23L*JacPDstandardNth3Xt3 + + Gtl213*Xtn1 + Gtl312*Xtn1 + Gtl223*Xtn2 + Gtl322*Xtn2 + Gtl233*Xtn3 + + Gtl323*Xtn3); + + CCTK_REAL CCTK_ATTRIBUTE_UNUSED Rt33 = Gt113*(Gtlu131 + 2*Gtlu311) + + Gt123*(Gtlu132 + 2*Gtlu312) + Gt133*(Gtlu133 + 2*Gtlu313) + + Gt213*(Gtlu231 + 2*Gtlu321) + Gt223*(Gtlu232 + 2*Gtlu322) + + Gt233*(Gtlu233 + 2*Gtlu323) + 3*(Gt313*Gtlu331 + Gt323*Gtlu332 + + Gt333*Gtlu333) + 0.5*(-(gtu11*JacPDstandardNth11gt33) - + gtu21*(JacPDstandardNth12gt33 + JacPDstandardNth21gt33) - + gtu22*JacPDstandardNth22gt33 + gtu31*(-JacPDstandardNth13gt33 - + JacPDstandardNth31gt33) + gtu32*(-JacPDstandardNth23gt33 - + JacPDstandardNth32gt33) - gtu33*JacPDstandardNth33gt33) + gt13L*JacPDstandardNth3Xt1 + gt23L*JacPDstandardNth3Xt2 + gt33L*JacPDstandardNth3Xt3 + Gtl313*Xtn1 + Gtl323*Xtn2 + Gtl333*Xtn3; CCTK_REAL CCTK_ATTRIBUTE_UNUSED trRt = gtu11*Rt11 + gtu22*Rt22 + - 2.*(gtu21*Rt12 + gtu31*Rt13 + gtu32*Rt23) + gtu33*Rt33; + 2*(gtu21*Rt12 + gtu31*Rt13 + gtu32*Rt23) + gtu33*Rt33; CCTK_REAL CCTK_ATTRIBUTE_UNUSED ephi = IfThen(conformalMethod,INV(sqrt(phiL)),exp(phiL)); @@ -1495,17 +1518,17 @@ static void ML_ADMQuantities_Body(cGH const * restrict const cctkGH, int const d + At33L*gtu33; CCTK_REAL CCTK_ATTRIBUTE_UNUSED rho = INV(SQR(alphaL))*(eTttL - - 2.*(beta2L*eTtyL + beta3L*eTtzL) + 2.*(beta1L*(-1.*eTtxL + + 2*(beta2L*eTtyL + beta3L*eTtzL) + 2*(beta1L*(-eTtxL + beta2L*eTxyL + beta3L*eTxzL) + beta2L*beta3L*eTyzL) + eTxxL*SQR(beta1L) + eTyyL*SQR(beta2L) + eTzzL*SQR(beta3L)); - CCTK_REAL CCTK_ATTRIBUTE_UNUSED S1 = (-1.*eTtxL + beta1L*eTxxL + + CCTK_REAL CCTK_ATTRIBUTE_UNUSED S1 = (-eTtxL + beta1L*eTxxL + beta2L*eTxyL + beta3L*eTxzL)*INV(alphaL); - CCTK_REAL CCTK_ATTRIBUTE_UNUSED S2 = (-1.*eTtyL + beta1L*eTxyL + + CCTK_REAL CCTK_ATTRIBUTE_UNUSED S2 = (-eTtyL + beta1L*eTxyL + beta2L*eTyyL + beta3L*eTyzL)*INV(alphaL); - CCTK_REAL CCTK_ATTRIBUTE_UNUSED S3 = (-1.*eTtzL + beta1L*eTxzL + + CCTK_REAL CCTK_ATTRIBUTE_UNUSED S3 = (-eTtzL + beta1L*eTxzL + beta2L*eTyzL + beta3L*eTzzL)*INV(alphaL); CCTK_REAL CCTK_ATTRIBUTE_UNUSED MadmL = @@ -1535,37 +1558,37 @@ static void ML_ADMQuantities_Body(cGH const * restrict const cctkGH, int const d Gtlu323*(Gt213*gtu31 + Gt223*gtu32 + Gt233*gtu33) + Gtlu331*(Gt311*gtu31 + Gt312*gtu32 + Gt313*gtu33) + Gtlu332*(Gt312*gtu31 + Gt322*gtu32 + Gt323*gtu33) + - Gtlu333*(Gt313*gtu31 + Gt323*gtu32 + Gt333*gtu33) + (-1. + ephi)*trRt - - 1.*pow(ephi,5.)*(2.*(Atm12*Atm21 + Atm13*Atm31 + Atm23*Atm32) + - 50.26548245743669*rho - 0.666666666666666666666666666667*SQR(trKL) + - SQR(Atm11) + SQR(Atm22) + SQR(Atm33))); + Gtlu333*(Gt313*gtu31 + Gt323*gtu32 + Gt333*gtu33) + (-1 + ephi)*trRt - + pow(ephi,5)*(2*(Atm12*Atm21 + Atm13*Atm31 + Atm23*Atm32) + 16*Pi*rho - + 0.666666666666666666666666666667*SQR(trKL) + SQR(Atm11) + SQR(Atm22) + + SQR(Atm33))); - CCTK_REAL CCTK_ATTRIBUTE_UNUSED Jadm1L = 0.0625*(2.*Atm23 - 2.*Atm32 + - zL*(At11L*dgtu112 + At22L*dgtu222 + 2.*(At12L*dgtu212 + + CCTK_REAL CCTK_ATTRIBUTE_UNUSED Jadm1L = 0.0625*(2*Atm23 - 2*Atm32 + + zL*(At11L*dgtu112 + At22L*dgtu222 + 2*(At12L*dgtu212 + At13L*dgtu312 + At23L*dgtu322) + At33L*dgtu332 - - 1.33333333333333333333333333333*JacPDstandardNth2trK - - 50.26548245743669*S2) + yL*(-1.*(At11L*dgtu113 + At22L*dgtu223 + - 2.*(At12L*dgtu213 + At13L*dgtu313 + At23L*dgtu323) + - At33L*dgtu333) + 1.33333333333333333333333333333*JacPDstandardNth3trK - + 50.26548245743669*S3))*INV(Pi)*pow(ephi,6.); - - CCTK_REAL CCTK_ATTRIBUTE_UNUSED Jadm2L = 0.0625*(-2.*Atm13 + 2.*Atm31 - + zL*(-1.*(At11L*dgtu111 + At22L*dgtu221 + 2.*(At12L*dgtu211 + - At13L*dgtu311 + At23L*dgtu321) + At33L*dgtu331) + - 1.33333333333333333333333333333*JacPDstandardNth1trK + - 50.26548245743669*S1) + xL*(At11L*dgtu113 + At22L*dgtu223 + - 2.*(At12L*dgtu213 + At13L*dgtu313 + At23L*dgtu323) + - At33L*dgtu333 - 1.33333333333333333333333333333*JacPDstandardNth3trK - - 50.26548245743669*S3))*INV(Pi)*pow(ephi,6.); - - CCTK_REAL CCTK_ATTRIBUTE_UNUSED Jadm3L = 0.0625*(2.*Atm12 - 2.*Atm21 + - yL*(At11L*dgtu111 + At22L*dgtu221 + 2.*(At12L*dgtu211 + + 1.33333333333333333333333333333*JacPDstandardNth2trK - 16*Pi*S2) + + yL*(-(At11L*dgtu113) - 2*At12L*dgtu213 - At22L*dgtu223 - + 2*At13L*dgtu313 - 2*At23L*dgtu323 - At33L*dgtu333 + + 1.33333333333333333333333333333*JacPDstandardNth3trK + + 16*Pi*S3))*INV(Pi)*pow(ephi,6); + + CCTK_REAL CCTK_ATTRIBUTE_UNUSED Jadm2L = 0.0625*(-2*Atm13 + 2*Atm31 + + zL*(-(At11L*dgtu111) - 2*At12L*dgtu211 - At22L*dgtu221 - + 2*At13L*dgtu311 - 2*At23L*dgtu321 - At33L*dgtu331 + + 1.33333333333333333333333333333*JacPDstandardNth1trK + 16*Pi*S1) + + xL*(At11L*dgtu113 + At22L*dgtu223 + 2*(At12L*dgtu213 + + At13L*dgtu313 + At23L*dgtu323) + At33L*dgtu333 - + 1.33333333333333333333333333333*JacPDstandardNth3trK - + 16*Pi*S3))*INV(Pi)*pow(ephi,6); + + CCTK_REAL CCTK_ATTRIBUTE_UNUSED Jadm3L = 0.0625*(2*Atm12 - 2*Atm21 + + yL*(At11L*dgtu111 + At22L*dgtu221 + 2*(At12L*dgtu211 + At13L*dgtu311 + At23L*dgtu321) + At33L*dgtu331 - - 1.33333333333333333333333333333*JacPDstandardNth1trK - - 50.26548245743669*S1) + xL*(-1.*(At11L*dgtu112 + At22L*dgtu222 + - 2.*(At12L*dgtu212 + At13L*dgtu312 + At23L*dgtu322) + - At33L*dgtu332) + 1.33333333333333333333333333333*JacPDstandardNth2trK - + 50.26548245743669*S2))*INV(Pi)*pow(ephi,6.); + 1.33333333333333333333333333333*JacPDstandardNth1trK - 16*Pi*S1) + + xL*(-(At11L*dgtu112) - 2*At12L*dgtu212 - At22L*dgtu222 - + 2*At13L*dgtu312 - 2*At23L*dgtu322 - At33L*dgtu332 + + 1.33333333333333333333333333333*JacPDstandardNth2trK + + 16*Pi*S2))*INV(Pi)*pow(ephi,6); /* Copy local copies back to grid functions */ Jadm1[index] = Jadm1L; @@ -1592,7 +1615,7 @@ extern "C" void ML_ADMQuantities(CCTK_ARGUMENTS) return; } - const char *const groups[] = { + const char* const groups[] = { "grid::coordinates", "ML_BSSN::ML_curv", "ML_BSSN::ML_Gamma", diff --git a/ML_ADMQuantities/src/RegisterMoL.cc b/ML_ADMQuantities/src/RegisterMoL.cc index 626dd92..05dfd39 100644 --- a/ML_ADMQuantities/src/RegisterMoL.cc +++ b/ML_ADMQuantities/src/RegisterMoL.cc @@ -9,7 +9,7 @@ extern "C" void ML_ADMQuantities_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 */ diff --git a/ML_ADMQuantities/src/Startup.cc b/ML_ADMQuantities/src/Startup.cc index 4abd3a0..780503d 100644 --- a/ML_ADMQuantities/src/Startup.cc +++ b/ML_ADMQuantities/src/Startup.cc @@ -4,7 +4,7 @@ extern "C" int ML_ADMQuantities_Startup(void) { - const char * banner CCTK_ATTRIBUTE_UNUSED = "ML_ADMQuantities"; + const char* banner CCTK_ATTRIBUTE_UNUSED = "ML_ADMQuantities"; CCTK_RegisterBanner(banner); return 0; } diff --git a/ML_BSSN/param.ccl b/ML_BSSN/param.ccl index e4d53b0..d9b36e4 100644 --- a/ML_BSSN/param.ccl +++ b/ML_BSSN/param.ccl @@ -37,7 +37,11 @@ EXTENDS CCTK_KEYWORD dtshift_evolution_method "dtshift_evolution_method" 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_BSSN/schedule.ccl b/ML_BSSN/schedule.ccl index e1c1862..a782eb6 100644 --- a/ML_BSSN/schedule.ccl +++ b/ML_BSSN/schedule.ccl @@ -1,264 +1,51 @@ # File produced by Kranc -if (other_timelevels == 1) -{ - STORAGE: ML_cons_detg[1] -} +STORAGE: ML_cons_detg[other_timelevels] -if (other_timelevels == 1) -{ - STORAGE: ML_cons_Gamma[1] -} +STORAGE: ML_cons_Gamma[other_timelevels] -if (other_timelevels == 1) -{ - STORAGE: ML_cons_traceA[1] -} +STORAGE: ML_cons_traceA[other_timelevels] -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_dtlapse[1] -} -if (timelevels == 2) -{ - STORAGE: ML_dtlapse[2] -} -if (timelevels == 3) -{ - STORAGE: ML_dtlapse[3] -} +STORAGE: ML_dtlapse[timelevels] -if (timelevels == 1) -{ - STORAGE: ML_dtshift[1] -} -if (timelevels == 2) -{ - STORAGE: ML_dtshift[2] -} -if (timelevels == 3) -{ - STORAGE: ML_dtshift[3] -} +STORAGE: ML_dtshift[timelevels] -if (timelevels == 1) -{ - STORAGE: ML_Gamma[1] -} -if (timelevels == 2) -{ - STORAGE: ML_Gamma[2] -} -if (timelevels == 3) -{ - STORAGE: ML_Gamma[3] -} +STORAGE: ML_Gamma[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_log_confac[1] -} -if (timelevels == 2) -{ - STORAGE: ML_log_confac[2] -} -if (timelevels == 3) -{ - STORAGE: ML_log_confac[3] -} +STORAGE: ML_log_confac[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 (timelevels == 1) -{ - STORAGE: ML_trace_curv[1] -} -if (timelevels == 2) -{ - STORAGE: ML_trace_curv[2] -} -if (timelevels == 3) -{ - STORAGE: ML_trace_curv[3] -} +STORAGE: ML_trace_curv[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_dtlapserhs[1] -} -if (rhs_timelevels == 2) -{ - STORAGE: ML_dtlapserhs[2] -} -if (rhs_timelevels == 3) -{ - STORAGE: ML_dtlapserhs[3] -} +STORAGE: ML_dtlapserhs[rhs_timelevels] -if (rhs_timelevels == 1) -{ - STORAGE: ML_dtshiftrhs[1] -} -if (rhs_timelevels == 2) -{ - STORAGE: ML_dtshiftrhs[2] -} -if (rhs_timelevels == 3) -{ - STORAGE: ML_dtshiftrhs[3] -} +STORAGE: ML_dtshiftrhs[rhs_timelevels] -if (rhs_timelevels == 1) -{ - STORAGE: ML_Gammarhs[1] -} -if (rhs_timelevels == 2) -{ - STORAGE: ML_Gammarhs[2] -} -if (rhs_timelevels == 3) -{ - STORAGE: ML_Gammarhs[3] -} +STORAGE: ML_Gammarhs[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_log_confacrhs[1] -} -if (rhs_timelevels == 2) -{ - STORAGE: ML_log_confacrhs[2] -} -if (rhs_timelevels == 3) -{ - STORAGE: ML_log_confacrhs[3] -} +STORAGE: ML_log_confacrhs[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] -if (rhs_timelevels == 1) -{ - STORAGE: ML_trace_curvrhs[1] -} -if (rhs_timelevels == 2) -{ - STORAGE: ML_trace_curvrhs[2] -} -if (rhs_timelevels == 3) -{ - STORAGE: ML_trace_curvrhs[3] -} +STORAGE: ML_trace_curvrhs[rhs_timelevels] schedule ML_BSSN_Startup at STARTUP { @@ -278,31 +65,31 @@ if (CCTK_EQUALS(my_initial_data, "Minkowski")) schedule ML_BSSN_Minkowski IN ADMBase_InitialData { LANG: C - WRITES: ML_BSSN::A(Everywhere) - WRITES: ML_BSSN::alpha(Everywhere) - WRITES: ML_BSSN::At11(Everywhere) - WRITES: ML_BSSN::At12(Everywhere) - WRITES: ML_BSSN::At13(Everywhere) - WRITES: ML_BSSN::At22(Everywhere) - WRITES: ML_BSSN::At23(Everywhere) - WRITES: ML_BSSN::At33(Everywhere) - WRITES: ML_BSSN::B1(Everywhere) - WRITES: ML_BSSN::B2(Everywhere) - WRITES: ML_BSSN::B3(Everywhere) - WRITES: ML_BSSN::beta1(Everywhere) - WRITES: ML_BSSN::beta2(Everywhere) - WRITES: ML_BSSN::beta3(Everywhere) - WRITES: ML_BSSN::gt11(Everywhere) - WRITES: ML_BSSN::gt12(Everywhere) - WRITES: ML_BSSN::gt13(Everywhere) - WRITES: ML_BSSN::gt22(Everywhere) - WRITES: ML_BSSN::gt23(Everywhere) - WRITES: ML_BSSN::gt33(Everywhere) - WRITES: ML_BSSN::phi(Everywhere) - WRITES: ML_BSSN::trK(Everywhere) - WRITES: ML_BSSN::Xt1(Everywhere) - WRITES: ML_BSSN::Xt2(Everywhere) - WRITES: ML_BSSN::Xt3(Everywhere) + WRITES: ML_BSSN::A(Everywhere) + WRITES: ML_BSSN::alpha(Everywhere) + WRITES: ML_BSSN::At11(Everywhere) + WRITES: ML_BSSN::At12(Everywhere) + WRITES: ML_BSSN::At13(Everywhere) + WRITES: ML_BSSN::At22(Everywhere) + WRITES: ML_BSSN::At23(Everywhere) + WRITES: ML_BSSN::At33(Everywhere) + WRITES: ML_BSSN::B1(Everywhere) + WRITES: ML_BSSN::B2(Everywhere) + WRITES: ML_BSSN::B3(Everywhere) + WRITES: ML_BSSN::beta1(Everywhere) + WRITES: ML_BSSN::beta2(Everywhere) + WRITES: ML_BSSN::beta3(Everywhere) + WRITES: ML_BSSN::gt11(Everywhere) + WRITES: ML_BSSN::gt12(Everywhere) + WRITES: ML_BSSN::gt13(Everywhere) + WRITES: ML_BSSN::gt22(Everywhere) + WRITES: ML_BSSN::gt23(Everywhere) + WRITES: ML_BSSN::gt33(Everywhere) + WRITES: ML_BSSN::phi(Everywhere) + WRITES: ML_BSSN::trK(Everywhere) + WRITES: ML_BSSN::Xt1(Everywhere) + WRITES: ML_BSSN::Xt2(Everywhere) + WRITES: ML_BSSN::Xt3(Everywhere) } "ML_BSSN_Minkowski" } @@ -312,40 +99,40 @@ if (CCTK_EQUALS(my_initial_data, "ADMBase")) schedule ML_BSSN_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_BSSN::alpha(Everywhere) - WRITES: ML_BSSN::At11(Everywhere) - WRITES: ML_BSSN::At12(Everywhere) - WRITES: ML_BSSN::At13(Everywhere) - WRITES: ML_BSSN::At22(Everywhere) - WRITES: ML_BSSN::At23(Everywhere) - WRITES: ML_BSSN::At33(Everywhere) - WRITES: ML_BSSN::beta1(Everywhere) - WRITES: ML_BSSN::beta2(Everywhere) - WRITES: ML_BSSN::beta3(Everywhere) - WRITES: ML_BSSN::gt11(Everywhere) - WRITES: ML_BSSN::gt12(Everywhere) - WRITES: ML_BSSN::gt13(Everywhere) - WRITES: ML_BSSN::gt22(Everywhere) - WRITES: ML_BSSN::gt23(Everywhere) - WRITES: ML_BSSN::gt33(Everywhere) - WRITES: ML_BSSN::phi(Everywhere) - WRITES: ML_BSSN::trK(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_BSSN::alpha(Everywhere) + WRITES: ML_BSSN::At11(Everywhere) + WRITES: ML_BSSN::At12(Everywhere) + WRITES: ML_BSSN::At13(Everywhere) + WRITES: ML_BSSN::At22(Everywhere) + WRITES: ML_BSSN::At23(Everywhere) + WRITES: ML_BSSN::At33(Everywhere) + WRITES: ML_BSSN::beta1(Everywhere) + WRITES: ML_BSSN::beta2(Everywhere) + WRITES: ML_BSSN::beta3(Everywhere) + WRITES: ML_BSSN::gt11(Everywhere) + WRITES: ML_BSSN::gt12(Everywhere) + WRITES: ML_BSSN::gt13(Everywhere) + WRITES: ML_BSSN::gt22(Everywhere) + WRITES: ML_BSSN::gt23(Everywhere) + WRITES: ML_BSSN::gt33(Everywhere) + WRITES: ML_BSSN::phi(Everywhere) + WRITES: ML_BSSN::trK(Everywhere) } "ML_BSSN_convertFromADMBase" } @@ -355,13 +142,13 @@ if (CCTK_EQUALS(my_initial_data, "ADMBase")) schedule ML_BSSN_InitGamma AT initial BEFORE ML_BSSN_convertFromADMBaseGamma { LANG: C - WRITES: ML_BSSN::A(Everywhere) - WRITES: ML_BSSN::B1(Everywhere) - WRITES: ML_BSSN::B2(Everywhere) - WRITES: ML_BSSN::B3(Everywhere) - WRITES: ML_BSSN::Xt1(Everywhere) - WRITES: ML_BSSN::Xt2(Everywhere) - WRITES: ML_BSSN::Xt3(Everywhere) + WRITES: ML_BSSN::A(Everywhere) + WRITES: ML_BSSN::B1(Everywhere) + WRITES: ML_BSSN::B2(Everywhere) + WRITES: ML_BSSN::B3(Everywhere) + WRITES: ML_BSSN::Xt1(Everywhere) + WRITES: ML_BSSN::Xt2(Everywhere) + WRITES: ML_BSSN::Xt3(Everywhere) } "ML_BSSN_InitGamma" } @@ -374,132 +161,132 @@ if (CCTK_EQUALS(my_initial_data, "ADMBase")) SYNC: ML_dtlapse SYNC: ML_dtshift SYNC: ML_Gamma - READS: ADMBase::dtalp(Everywhere) - READS: ADMBase::dtbetax(Everywhere) - READS: ADMBase::dtbetay(Everywhere) - READS: ADMBase::dtbetaz(Everywhere) - READS: grid::r(Everywhere) - READS: ML_BSSN::alpha(Everywhere) - READS: ML_BSSN::gt11(Everywhere) - READS: ML_BSSN::gt12(Everywhere) - READS: ML_BSSN::gt13(Everywhere) - READS: ML_BSSN::gt22(Everywhere) - READS: ML_BSSN::gt23(Everywhere) - READS: ML_BSSN::gt33(Everywhere) - READS: ML_BSSN::beta1(Everywhere) - READS: ML_BSSN::beta2(Everywhere) - READS: ML_BSSN::beta3(Everywhere) - WRITES: ML_BSSN::A(Interior) - WRITES: ML_BSSN::B1(Interior) - WRITES: ML_BSSN::B2(Interior) - WRITES: ML_BSSN::B3(Interior) - WRITES: ML_BSSN::Xt1(Interior) - WRITES: ML_BSSN::Xt2(Interior) - WRITES: ML_BSSN::Xt3(Interior) + READS: ADMBase::dtalp(Everywhere) + READS: ADMBase::dtbetax(Everywhere) + READS: ADMBase::dtbetay(Everywhere) + READS: ADMBase::dtbetaz(Everywhere) + READS: grid::r(Everywhere) + READS: ML_BSSN::alpha(Everywhere) + READS: ML_BSSN::gt11(Everywhere) + READS: ML_BSSN::gt12(Everywhere) + READS: ML_BSSN::gt13(Everywhere) + READS: ML_BSSN::gt22(Everywhere) + READS: ML_BSSN::gt23(Everywhere) + READS: ML_BSSN::gt33(Everywhere) + READS: ML_BSSN::beta1(Everywhere) + READS: ML_BSSN::beta2(Everywhere) + READS: ML_BSSN::beta3(Everywhere) + WRITES: ML_BSSN::A(Interior) + WRITES: ML_BSSN::B1(Interior) + WRITES: ML_BSSN::B2(Interior) + WRITES: ML_BSSN::B3(Interior) + WRITES: ML_BSSN::Xt1(Interior) + WRITES: ML_BSSN::Xt2(Interior) + WRITES: ML_BSSN::Xt3(Interior) } "ML_BSSN_convertFromADMBaseGamma" } schedule ML_BSSN_RHS1 IN ML_BSSN_evolCalcGroup { LANG: C - READS: grid::r(Everywhere) - READS: TmunuBase::eTtt(Everywhere) - READS: TmunuBase::eTxx(Everywhere) - READS: TmunuBase::eTxy(Everywhere) - READS: TmunuBase::eTxz(Everywhere) - READS: TmunuBase::eTyy(Everywhere) - READS: TmunuBase::eTyz(Everywhere) - READS: TmunuBase::eTzz(Everywhere) - READS: TmunuBase::eTtx(Everywhere) - READS: TmunuBase::eTty(Everywhere) - READS: TmunuBase::eTtz(Everywhere) - READS: ML_BSSN::At11(Everywhere) - READS: ML_BSSN::At12(Everywhere) - READS: ML_BSSN::At13(Everywhere) - READS: ML_BSSN::At22(Everywhere) - READS: ML_BSSN::At23(Everywhere) - READS: ML_BSSN::At33(Everywhere) - READS: ML_BSSN::A(Everywhere) - READS: ML_BSSN::B1(Everywhere) - READS: ML_BSSN::B2(Everywhere) - READS: ML_BSSN::B3(Everywhere) - READS: ML_BSSN::Xt1(Everywhere) - READS: ML_BSSN::Xt2(Everywhere) - READS: ML_BSSN::Xt3(Everywhere) - READS: ML_BSSN::alpha(Everywhere) - READS: ML_BSSN::phi(Everywhere) - READS: ML_BSSN::gt11(Everywhere) - READS: ML_BSSN::gt12(Everywhere) - READS: ML_BSSN::gt13(Everywhere) - READS: ML_BSSN::gt22(Everywhere) - READS: ML_BSSN::gt23(Everywhere) - READS: ML_BSSN::gt33(Everywhere) - READS: ML_BSSN::beta1(Everywhere) - READS: ML_BSSN::beta2(Everywhere) - READS: ML_BSSN::beta3(Everywhere) - READS: ML_BSSN::trK(Everywhere) - WRITES: ML_BSSN::alpharhs(ERROR(InteriorNoSync)) - WRITES: ML_BSSN::Arhs(ERROR(InteriorNoSync)) - WRITES: ML_BSSN::B1rhs(ERROR(InteriorNoSync)) - WRITES: ML_BSSN::B2rhs(ERROR(InteriorNoSync)) - WRITES: ML_BSSN::B3rhs(ERROR(InteriorNoSync)) - WRITES: ML_BSSN::beta1rhs(ERROR(InteriorNoSync)) - WRITES: ML_BSSN::beta2rhs(ERROR(InteriorNoSync)) - WRITES: ML_BSSN::beta3rhs(ERROR(InteriorNoSync)) - WRITES: ML_BSSN::gt11rhs(ERROR(InteriorNoSync)) - WRITES: ML_BSSN::gt12rhs(ERROR(InteriorNoSync)) - WRITES: ML_BSSN::gt13rhs(ERROR(InteriorNoSync)) - WRITES: ML_BSSN::gt22rhs(ERROR(InteriorNoSync)) - WRITES: ML_BSSN::gt23rhs(ERROR(InteriorNoSync)) - WRITES: ML_BSSN::gt33rhs(ERROR(InteriorNoSync)) - WRITES: ML_BSSN::phirhs(ERROR(InteriorNoSync)) - WRITES: ML_BSSN::trKrhs(ERROR(InteriorNoSync)) - WRITES: ML_BSSN::Xt1rhs(ERROR(InteriorNoSync)) - WRITES: ML_BSSN::Xt2rhs(ERROR(InteriorNoSync)) - WRITES: ML_BSSN::Xt3rhs(ERROR(InteriorNoSync)) + READS: grid::r(Everywhere) + READS: TmunuBase::eTtt(Everywhere) + READS: TmunuBase::eTxx(Everywhere) + READS: TmunuBase::eTxy(Everywhere) + READS: TmunuBase::eTxz(Everywhere) + READS: TmunuBase::eTyy(Everywhere) + READS: TmunuBase::eTyz(Everywhere) + READS: TmunuBase::eTzz(Everywhere) + READS: TmunuBase::eTtx(Everywhere) + READS: TmunuBase::eTty(Everywhere) + READS: TmunuBase::eTtz(Everywhere) + READS: ML_BSSN::At11(Everywhere) + READS: ML_BSSN::At12(Everywhere) + READS: ML_BSSN::At13(Everywhere) + READS: ML_BSSN::At22(Everywhere) + READS: ML_BSSN::At23(Everywhere) + READS: ML_BSSN::At33(Everywhere) + READS: ML_BSSN::A(Everywhere) + READS: ML_BSSN::B1(Everywhere) + READS: ML_BSSN::B2(Everywhere) + READS: ML_BSSN::B3(Everywhere) + READS: ML_BSSN::Xt1(Everywhere) + READS: ML_BSSN::Xt2(Everywhere) + READS: ML_BSSN::Xt3(Everywhere) + READS: ML_BSSN::alpha(Everywhere) + READS: ML_BSSN::phi(Everywhere) + READS: ML_BSSN::gt11(Everywhere) + READS: ML_BSSN::gt12(Everywhere) + READS: ML_BSSN::gt13(Everywhere) + READS: ML_BSSN::gt22(Everywhere) + READS: ML_BSSN::gt23(Everywhere) + READS: ML_BSSN::gt33(Everywhere) + READS: ML_BSSN::beta1(Everywhere) + READS: ML_BSSN::beta2(Everywhere) + READS: ML_BSSN::beta3(Everywhere) + READS: ML_BSSN::trK(Everywhere) + WRITES: ML_BSSN::alpharhs(Interior) + WRITES: ML_BSSN::Arhs(Interior) + WRITES: ML_BSSN::B1rhs(Interior) + WRITES: ML_BSSN::B2rhs(Interior) + WRITES: ML_BSSN::B3rhs(Interior) + WRITES: ML_BSSN::beta1rhs(Interior) + WRITES: ML_BSSN::beta2rhs(Interior) + WRITES: ML_BSSN::beta3rhs(Interior) + WRITES: ML_BSSN::gt11rhs(Interior) + WRITES: ML_BSSN::gt12rhs(Interior) + WRITES: ML_BSSN::gt13rhs(Interior) + WRITES: ML_BSSN::gt22rhs(Interior) + WRITES: ML_BSSN::gt23rhs(Interior) + WRITES: ML_BSSN::gt33rhs(Interior) + WRITES: ML_BSSN::phirhs(Interior) + WRITES: ML_BSSN::trKrhs(Interior) + WRITES: ML_BSSN::Xt1rhs(Interior) + WRITES: ML_BSSN::Xt2rhs(Interior) + WRITES: ML_BSSN::Xt3rhs(Interior) } "ML_BSSN_RHS1" schedule ML_BSSN_RHS2 IN ML_BSSN_evolCalcGroup { LANG: C - READS: grid::r(Everywhere) - READS: TmunuBase::eTtt(Everywhere) - READS: TmunuBase::eTxx(Everywhere) - READS: TmunuBase::eTxy(Everywhere) - READS: TmunuBase::eTxz(Everywhere) - READS: TmunuBase::eTyy(Everywhere) - READS: TmunuBase::eTyz(Everywhere) - READS: TmunuBase::eTzz(Everywhere) - READS: TmunuBase::eTtx(Everywhere) - READS: TmunuBase::eTty(Everywhere) - READS: TmunuBase::eTtz(Everywhere) - READS: ML_BSSN::At11(Everywhere) - READS: ML_BSSN::At12(Everywhere) - READS: ML_BSSN::At13(Everywhere) - READS: ML_BSSN::At22(Everywhere) - READS: ML_BSSN::At23(Everywhere) - READS: ML_BSSN::At33(Everywhere) - READS: ML_BSSN::Xt1(Everywhere) - READS: ML_BSSN::Xt2(Everywhere) - READS: ML_BSSN::Xt3(Everywhere) - READS: ML_BSSN::alpha(Everywhere) - READS: ML_BSSN::phi(Everywhere) - READS: ML_BSSN::gt11(Everywhere) - READS: ML_BSSN::gt12(Everywhere) - READS: ML_BSSN::gt13(Everywhere) - READS: ML_BSSN::gt22(Everywhere) - READS: ML_BSSN::gt23(Everywhere) - READS: ML_BSSN::gt33(Everywhere) - READS: ML_BSSN::beta1(Everywhere) - READS: ML_BSSN::beta2(Everywhere) - READS: ML_BSSN::beta3(Everywhere) - READS: ML_BSSN::trK(Everywhere) - WRITES: ML_BSSN::At11rhs(ERROR(InteriorNoSync)) - WRITES: ML_BSSN::At12rhs(ERROR(InteriorNoSync)) - WRITES: ML_BSSN::At13rhs(ERROR(InteriorNoSync)) - WRITES: ML_BSSN::At22rhs(ERROR(InteriorNoSync)) - WRITES: ML_BSSN::At23rhs(ERROR(InteriorNoSync)) - WRITES: ML_BSSN::At33rhs(ERROR(InteriorNoSync)) + READS: grid::r(Everywhere) + READS: TmunuBase::eTtt(Everywhere) + READS: TmunuBase::eTxx(Everywhere) + READS: TmunuBase::eTxy(Everywhere) + READS: TmunuBase::eTxz(Everywhere) + READS: TmunuBase::eTyy(Everywhere) + READS: TmunuBase::eTyz(Everywhere) + READS: TmunuBase::eTzz(Everywhere) + READS: TmunuBase::eTtx(Everywhere) + READS: TmunuBase::eTty(Everywhere) + READS: TmunuBase::eTtz(Everywhere) + READS: ML_BSSN::At11(Everywhere) + READS: ML_BSSN::At12(Everywhere) + READS: ML_BSSN::At13(Everywhere) + READS: ML_BSSN::At22(Everywhere) + READS: ML_BSSN::At23(Everywhere) + READS: ML_BSSN::At33(Everywhere) + READS: ML_BSSN::Xt1(Everywhere) + READS: ML_BSSN::Xt2(Everywhere) + READS: ML_BSSN::Xt3(Everywhere) + READS: ML_BSSN::alpha(Everywhere) + READS: ML_BSSN::phi(Everywhere) + READS: ML_BSSN::gt11(Everywhere) + READS: ML_BSSN::gt12(Everywhere) + READS: ML_BSSN::gt13(Everywhere) + READS: ML_BSSN::gt22(Everywhere) + READS: ML_BSSN::gt23(Everywhere) + READS: ML_BSSN::gt33(Everywhere) + READS: ML_BSSN::beta1(Everywhere) + READS: ML_BSSN::beta2(Everywhere) + READS: ML_BSSN::beta3(Everywhere) + READS: ML_BSSN::trK(Everywhere) + WRITES: ML_BSSN::At11rhs(Interior) + WRITES: ML_BSSN::At12rhs(Interior) + WRITES: ML_BSSN::At13rhs(Interior) + WRITES: ML_BSSN::At22rhs(Interior) + WRITES: ML_BSSN::At23rhs(Interior) + WRITES: ML_BSSN::At33rhs(Interior) } "ML_BSSN_RHS2" @@ -508,192 +295,192 @@ if (CCTK_EQUALS(apply_dissipation, "always")) schedule ML_BSSN_Dissipation IN ML_BSSN_evolCalcGroup AFTER (ML_BSSN_RHS1 ML_BSSN_RHS2) { LANG: C - READS: ML_BSSN::At11(Everywhere) - READS: ML_BSSN::At12(Everywhere) - READS: ML_BSSN::At13(Everywhere) - READS: ML_BSSN::At22(Everywhere) - READS: ML_BSSN::At23(Everywhere) - READS: ML_BSSN::At33(Everywhere) - READS: ML_BSSN::A(Everywhere) - READS: ML_BSSN::B1(Everywhere) - READS: ML_BSSN::B2(Everywhere) - READS: ML_BSSN::B3(Everywhere) - READS: ML_BSSN::Xt1(Everywhere) - READS: ML_BSSN::Xt2(Everywhere) - READS: ML_BSSN::Xt3(Everywhere) - READS: ML_BSSN::alpha(Everywhere) - READS: ML_BSSN::phi(Everywhere) - READS: ML_BSSN::gt11(Everywhere) - READS: ML_BSSN::gt12(Everywhere) - READS: ML_BSSN::gt13(Everywhere) - READS: ML_BSSN::gt22(Everywhere) - READS: ML_BSSN::gt23(Everywhere) - READS: ML_BSSN::gt33(Everywhere) - READS: ML_BSSN::beta1(Everywhere) - READS: ML_BSSN::beta2(Everywhere) - READS: ML_BSSN::beta3(Everywhere) - READS: ML_BSSN::trK(Everywhere) - READS: ML_BSSN::At11rhs(Everywhere) - READS: ML_BSSN::At12rhs(Everywhere) - READS: ML_BSSN::At13rhs(Everywhere) - READS: ML_BSSN::At22rhs(Everywhere) - READS: ML_BSSN::At23rhs(Everywhere) - READS: ML_BSSN::At33rhs(Everywhere) - READS: ML_BSSN::Arhs(Everywhere) - READS: ML_BSSN::B1rhs(Everywhere) - READS: ML_BSSN::B2rhs(Everywhere) - READS: ML_BSSN::B3rhs(Everywhere) - READS: ML_BSSN::Xt1rhs(Everywhere) - READS: ML_BSSN::Xt2rhs(Everywhere) - READS: ML_BSSN::Xt3rhs(Everywhere) - READS: ML_BSSN::alpharhs(Everywhere) - READS: ML_BSSN::phirhs(Everywhere) - READS: ML_BSSN::gt11rhs(Everywhere) - READS: ML_BSSN::gt12rhs(Everywhere) - READS: ML_BSSN::gt13rhs(Everywhere) - READS: ML_BSSN::gt22rhs(Everywhere) - READS: ML_BSSN::gt23rhs(Everywhere) - READS: ML_BSSN::gt33rhs(Everywhere) - READS: ML_BSSN::beta1rhs(Everywhere) - READS: ML_BSSN::beta2rhs(Everywhere) - READS: ML_BSSN::beta3rhs(Everywhere) - READS: ML_BSSN::trKrhs(Everywhere) - WRITES: ML_BSSN::alpharhs(ERROR(InteriorNoSync)) - WRITES: ML_BSSN::Arhs(ERROR(InteriorNoSync)) - WRITES: ML_BSSN::At11rhs(ERROR(InteriorNoSync)) - WRITES: ML_BSSN::At12rhs(ERROR(InteriorNoSync)) - WRITES: ML_BSSN::At13rhs(ERROR(InteriorNoSync)) - WRITES: ML_BSSN::At22rhs(ERROR(InteriorNoSync)) - WRITES: ML_BSSN::At23rhs(ERROR(InteriorNoSync)) - WRITES: ML_BSSN::At33rhs(ERROR(InteriorNoSync)) - WRITES: ML_BSSN::B1rhs(ERROR(InteriorNoSync)) - WRITES: ML_BSSN::B2rhs(ERROR(InteriorNoSync)) - WRITES: ML_BSSN::B3rhs(ERROR(InteriorNoSync)) - WRITES: ML_BSSN::beta1rhs(ERROR(InteriorNoSync)) - WRITES: ML_BSSN::beta2rhs(ERROR(InteriorNoSync)) - WRITES: ML_BSSN::beta3rhs(ERROR(InteriorNoSync)) - WRITES: ML_BSSN::gt11rhs(ERROR(InteriorNoSync)) - WRITES: ML_BSSN::gt12rhs(ERROR(InteriorNoSync)) - WRITES: ML_BSSN::gt13rhs(ERROR(InteriorNoSync)) - WRITES: ML_BSSN::gt22rhs(ERROR(InteriorNoSync)) - WRITES: ML_BSSN::gt23rhs(ERROR(InteriorNoSync)) - WRITES: ML_BSSN::gt33rhs(ERROR(InteriorNoSync)) - WRITES: ML_BSSN::phirhs(ERROR(InteriorNoSync)) - WRITES: ML_BSSN::trKrhs(ERROR(InteriorNoSync)) - WRITES: ML_BSSN::Xt1rhs(ERROR(InteriorNoSync)) - WRITES: ML_BSSN::Xt2rhs(ERROR(InteriorNoSync)) - WRITES: ML_BSSN::Xt3rhs(ERROR(InteriorNoSync)) + READS: ML_BSSN::At11(Everywhere) + READS: ML_BSSN::At12(Everywhere) + READS: ML_BSSN::At13(Everywhere) + READS: ML_BSSN::At22(Everywhere) + READS: ML_BSSN::At23(Everywhere) + READS: ML_BSSN::At33(Everywhere) + READS: ML_BSSN::A(Everywhere) + READS: ML_BSSN::B1(Everywhere) + READS: ML_BSSN::B2(Everywhere) + READS: ML_BSSN::B3(Everywhere) + READS: ML_BSSN::Xt1(Everywhere) + READS: ML_BSSN::Xt2(Everywhere) + READS: ML_BSSN::Xt3(Everywhere) + READS: ML_BSSN::alpha(Everywhere) + READS: ML_BSSN::phi(Everywhere) + READS: ML_BSSN::gt11(Everywhere) + READS: ML_BSSN::gt12(Everywhere) + READS: ML_BSSN::gt13(Everywhere) + READS: ML_BSSN::gt22(Everywhere) + READS: ML_BSSN::gt23(Everywhere) + READS: ML_BSSN::gt33(Everywhere) + READS: ML_BSSN::beta1(Everywhere) + READS: ML_BSSN::beta2(Everywhere) + READS: ML_BSSN::beta3(Everywhere) + READS: ML_BSSN::trK(Everywhere) + READS: ML_BSSN::At11rhs(Everywhere) + READS: ML_BSSN::At12rhs(Everywhere) + READS: ML_BSSN::At13rhs(Everywhere) + READS: ML_BSSN::At22rhs(Everywhere) + READS: ML_BSSN::At23rhs(Everywhere) + READS: ML_BSSN::At33rhs(Everywhere) + READS: ML_BSSN::Arhs(Everywhere) + READS: ML_BSSN::B1rhs(Everywhere) + READS: ML_BSSN::B2rhs(Everywhere) + READS: ML_BSSN::B3rhs(Everywhere) + READS: ML_BSSN::Xt1rhs(Everywhere) + READS: ML_BSSN::Xt2rhs(Everywhere) + READS: ML_BSSN::Xt3rhs(Everywhere) + READS: ML_BSSN::alpharhs(Everywhere) + READS: ML_BSSN::phirhs(Everywhere) + READS: ML_BSSN::gt11rhs(Everywhere) + READS: ML_BSSN::gt12rhs(Everywhere) + READS: ML_BSSN::gt13rhs(Everywhere) + READS: ML_BSSN::gt22rhs(Everywhere) + READS: ML_BSSN::gt23rhs(Everywhere) + READS: ML_BSSN::gt33rhs(Everywhere) + READS: ML_BSSN::beta1rhs(Everywhere) + READS: ML_BSSN::beta2rhs(Everywhere) + READS: ML_BSSN::beta3rhs(Everywhere) + READS: ML_BSSN::trKrhs(Everywhere) + WRITES: ML_BSSN::alpharhs(Interior) + WRITES: ML_BSSN::Arhs(Interior) + WRITES: ML_BSSN::At11rhs(Interior) + WRITES: ML_BSSN::At12rhs(Interior) + WRITES: ML_BSSN::At13rhs(Interior) + WRITES: ML_BSSN::At22rhs(Interior) + WRITES: ML_BSSN::At23rhs(Interior) + WRITES: ML_BSSN::At33rhs(Interior) + WRITES: ML_BSSN::B1rhs(Interior) + WRITES: ML_BSSN::B2rhs(Interior) + WRITES: ML_BSSN::B3rhs(Interior) + WRITES: ML_BSSN::beta1rhs(Interior) + WRITES: ML_BSSN::beta2rhs(Interior) + WRITES: ML_BSSN::beta3rhs(Interior) + WRITES: ML_BSSN::gt11rhs(Interior) + WRITES: ML_BSSN::gt12rhs(Interior) + WRITES: ML_BSSN::gt13rhs(Interior) + WRITES: ML_BSSN::gt22rhs(Interior) + WRITES: ML_BSSN::gt23rhs(Interior) + WRITES: ML_BSSN::gt33rhs(Interior) + WRITES: ML_BSSN::phirhs(Interior) + WRITES: ML_BSSN::trKrhs(Interior) + WRITES: ML_BSSN::Xt1rhs(Interior) + WRITES: ML_BSSN::Xt2rhs(Interior) + WRITES: ML_BSSN::Xt3rhs(Interior) } "ML_BSSN_Dissipation" } schedule ML_BSSN_Advect IN ML_BSSN_evolCalcGroup AFTER (ML_BSSN_RHS1 ML_BSSN_RHS2) { LANG: C - READS: ML_BSSN::At11(Everywhere) - READS: ML_BSSN::At12(Everywhere) - READS: ML_BSSN::At13(Everywhere) - READS: ML_BSSN::At22(Everywhere) - READS: ML_BSSN::At23(Everywhere) - READS: ML_BSSN::At33(Everywhere) - READS: ML_BSSN::A(Everywhere) - READS: ML_BSSN::B1(Everywhere) - READS: ML_BSSN::B2(Everywhere) - READS: ML_BSSN::B3(Everywhere) - READS: ML_BSSN::Xt1(Everywhere) - READS: ML_BSSN::Xt2(Everywhere) - READS: ML_BSSN::Xt3(Everywhere) - READS: ML_BSSN::alpha(Everywhere) - READS: ML_BSSN::phi(Everywhere) - READS: ML_BSSN::gt11(Everywhere) - READS: ML_BSSN::gt12(Everywhere) - READS: ML_BSSN::gt13(Everywhere) - READS: ML_BSSN::gt22(Everywhere) - READS: ML_BSSN::gt23(Everywhere) - READS: ML_BSSN::gt33(Everywhere) - READS: ML_BSSN::beta1(Everywhere) - READS: ML_BSSN::beta2(Everywhere) - READS: ML_BSSN::beta3(Everywhere) - READS: ML_BSSN::trK(Everywhere) - READS: ML_BSSN::At11rhs(Everywhere) - READS: ML_BSSN::At12rhs(Everywhere) - READS: ML_BSSN::At13rhs(Everywhere) - READS: ML_BSSN::At22rhs(Everywhere) - READS: ML_BSSN::At23rhs(Everywhere) - READS: ML_BSSN::At33rhs(Everywhere) - READS: ML_BSSN::Arhs(Everywhere) - READS: ML_BSSN::B1rhs(Everywhere) - READS: ML_BSSN::B2rhs(Everywhere) - READS: ML_BSSN::B3rhs(Everywhere) - READS: ML_BSSN::Xt1rhs(Everywhere) - READS: ML_BSSN::Xt2rhs(Everywhere) - READS: ML_BSSN::Xt3rhs(Everywhere) - READS: ML_BSSN::alpharhs(Everywhere) - READS: ML_BSSN::phirhs(Everywhere) - READS: ML_BSSN::gt11rhs(Everywhere) - READS: ML_BSSN::gt12rhs(Everywhere) - READS: ML_BSSN::gt13rhs(Everywhere) - READS: ML_BSSN::gt22rhs(Everywhere) - READS: ML_BSSN::gt23rhs(Everywhere) - READS: ML_BSSN::gt33rhs(Everywhere) - READS: ML_BSSN::beta1rhs(Everywhere) - READS: ML_BSSN::beta2rhs(Everywhere) - READS: ML_BSSN::beta3rhs(Everywhere) - READS: ML_BSSN::trKrhs(Everywhere) - WRITES: ML_BSSN::alpharhs(ERROR(InteriorNoSync)) - WRITES: ML_BSSN::Arhs(ERROR(InteriorNoSync)) - WRITES: ML_BSSN::At11rhs(ERROR(InteriorNoSync)) - WRITES: ML_BSSN::At12rhs(ERROR(InteriorNoSync)) - WRITES: ML_BSSN::At13rhs(ERROR(InteriorNoSync)) - WRITES: ML_BSSN::At22rhs(ERROR(InteriorNoSync)) - WRITES: ML_BSSN::At23rhs(ERROR(InteriorNoSync)) - WRITES: ML_BSSN::At33rhs(ERROR(InteriorNoSync)) - WRITES: ML_BSSN::B1rhs(ERROR(InteriorNoSync)) - WRITES: ML_BSSN::B2rhs(ERROR(InteriorNoSync)) - WRITES: ML_BSSN::B3rhs(ERROR(InteriorNoSync)) - WRITES: ML_BSSN::beta1rhs(ERROR(InteriorNoSync)) - WRITES: ML_BSSN::beta2rhs(ERROR(InteriorNoSync)) - WRITES: ML_BSSN::beta3rhs(ERROR(InteriorNoSync)) - WRITES: ML_BSSN::gt11rhs(ERROR(InteriorNoSync)) - WRITES: ML_BSSN::gt12rhs(ERROR(InteriorNoSync)) - WRITES: ML_BSSN::gt13rhs(ERROR(InteriorNoSync)) - WRITES: ML_BSSN::gt22rhs(ERROR(InteriorNoSync)) - WRITES: ML_BSSN::gt23rhs(ERROR(InteriorNoSync)) - WRITES: ML_BSSN::gt33rhs(ERROR(InteriorNoSync)) - WRITES: ML_BSSN::phirhs(ERROR(InteriorNoSync)) - WRITES: ML_BSSN::trKrhs(ERROR(InteriorNoSync)) - WRITES: ML_BSSN::Xt1rhs(ERROR(InteriorNoSync)) - WRITES: ML_BSSN::Xt2rhs(ERROR(InteriorNoSync)) - WRITES: ML_BSSN::Xt3rhs(ERROR(InteriorNoSync)) + READS: ML_BSSN::At11(Everywhere) + READS: ML_BSSN::At12(Everywhere) + READS: ML_BSSN::At13(Everywhere) + READS: ML_BSSN::At22(Everywhere) + READS: ML_BSSN::At23(Everywhere) + READS: ML_BSSN::At33(Everywhere) + READS: ML_BSSN::A(Everywhere) + READS: ML_BSSN::B1(Everywhere) + READS: ML_BSSN::B2(Everywhere) + READS: ML_BSSN::B3(Everywhere) + READS: ML_BSSN::Xt1(Everywhere) + READS: ML_BSSN::Xt2(Everywhere) + READS: ML_BSSN::Xt3(Everywhere) + READS: ML_BSSN::alpha(Everywhere) + READS: ML_BSSN::phi(Everywhere) + READS: ML_BSSN::gt11(Everywhere) + READS: ML_BSSN::gt12(Everywhere) + READS: ML_BSSN::gt13(Everywhere) + READS: ML_BSSN::gt22(Everywhere) + READS: ML_BSSN::gt23(Everywhere) + READS: ML_BSSN::gt33(Everywhere) + READS: ML_BSSN::beta1(Everywhere) + READS: ML_BSSN::beta2(Everywhere) + READS: ML_BSSN::beta3(Everywhere) + READS: ML_BSSN::trK(Everywhere) + READS: ML_BSSN::At11rhs(Everywhere) + READS: ML_BSSN::At12rhs(Everywhere) + READS: ML_BSSN::At13rhs(Everywhere) + READS: ML_BSSN::At22rhs(Everywhere) + READS: ML_BSSN::At23rhs(Everywhere) + READS: ML_BSSN::At33rhs(Everywhere) + READS: ML_BSSN::Arhs(Everywhere) + READS: ML_BSSN::B1rhs(Everywhere) + READS: ML_BSSN::B2rhs(Everywhere) + READS: ML_BSSN::B3rhs(Everywhere) + READS: ML_BSSN::Xt1rhs(Everywhere) + READS: ML_BSSN::Xt2rhs(Everywhere) + READS: ML_BSSN::Xt3rhs(Everywhere) + READS: ML_BSSN::alpharhs(Everywhere) + READS: ML_BSSN::phirhs(Everywhere) + READS: ML_BSSN::gt11rhs(Everywhere) + READS: ML_BSSN::gt12rhs(Everywhere) + READS: ML_BSSN::gt13rhs(Everywhere) + READS: ML_BSSN::gt22rhs(Everywhere) + READS: ML_BSSN::gt23rhs(Everywhere) + READS: ML_BSSN::gt33rhs(Everywhere) + READS: ML_BSSN::beta1rhs(Everywhere) + READS: ML_BSSN::beta2rhs(Everywhere) + READS: ML_BSSN::beta3rhs(Everywhere) + READS: ML_BSSN::trKrhs(Everywhere) + WRITES: ML_BSSN::alpharhs(Interior) + WRITES: ML_BSSN::Arhs(Interior) + WRITES: ML_BSSN::At11rhs(Interior) + WRITES: ML_BSSN::At12rhs(Interior) + WRITES: ML_BSSN::At13rhs(Interior) + WRITES: ML_BSSN::At22rhs(Interior) + WRITES: ML_BSSN::At23rhs(Interior) + WRITES: ML_BSSN::At33rhs(Interior) + WRITES: ML_BSSN::B1rhs(Interior) + WRITES: ML_BSSN::B2rhs(Interior) + WRITES: ML_BSSN::B3rhs(Interior) + WRITES: ML_BSSN::beta1rhs(Interior) + WRITES: ML_BSSN::beta2rhs(Interior) + WRITES: ML_BSSN::beta3rhs(Interior) + WRITES: ML_BSSN::gt11rhs(Interior) + WRITES: ML_BSSN::gt12rhs(Interior) + WRITES: ML_BSSN::gt13rhs(Interior) + WRITES: ML_BSSN::gt22rhs(Interior) + WRITES: ML_BSSN::gt23rhs(Interior) + WRITES: ML_BSSN::gt33rhs(Interior) + WRITES: ML_BSSN::phirhs(Interior) + WRITES: ML_BSSN::trKrhs(Interior) + WRITES: ML_BSSN::Xt1rhs(Interior) + WRITES: ML_BSSN::Xt2rhs(Interior) + WRITES: ML_BSSN::Xt3rhs(Interior) } "ML_BSSN_Advect" schedule ML_BSSN_InitRHS AT analysis BEFORE ML_BSSN_evolCalcGroup { LANG: C - WRITES: ML_BSSN::alpharhs(Everywhere) - WRITES: ML_BSSN::Arhs(Everywhere) - WRITES: ML_BSSN::At11rhs(Everywhere) - WRITES: ML_BSSN::At12rhs(Everywhere) - WRITES: ML_BSSN::At13rhs(Everywhere) - WRITES: ML_BSSN::At22rhs(Everywhere) - WRITES: ML_BSSN::At23rhs(Everywhere) - WRITES: ML_BSSN::At33rhs(Everywhere) - WRITES: ML_BSSN::B1rhs(Everywhere) - WRITES: ML_BSSN::B2rhs(Everywhere) - WRITES: ML_BSSN::B3rhs(Everywhere) - WRITES: ML_BSSN::beta1rhs(Everywhere) - WRITES: ML_BSSN::beta2rhs(Everywhere) - WRITES: ML_BSSN::beta3rhs(Everywhere) - WRITES: ML_BSSN::gt11rhs(Everywhere) - WRITES: ML_BSSN::gt12rhs(Everywhere) - WRITES: ML_BSSN::gt13rhs(Everywhere) - WRITES: ML_BSSN::gt22rhs(Everywhere) - WRITES: ML_BSSN::gt23rhs(Everywhere) - WRITES: ML_BSSN::gt33rhs(Everywhere) - WRITES: ML_BSSN::phirhs(Everywhere) - WRITES: ML_BSSN::trKrhs(Everywhere) - WRITES: ML_BSSN::Xt1rhs(Everywhere) - WRITES: ML_BSSN::Xt2rhs(Everywhere) - WRITES: ML_BSSN::Xt3rhs(Everywhere) + WRITES: ML_BSSN::alpharhs(Everywhere) + WRITES: ML_BSSN::Arhs(Everywhere) + WRITES: ML_BSSN::At11rhs(Everywhere) + WRITES: ML_BSSN::At12rhs(Everywhere) + WRITES: ML_BSSN::At13rhs(Everywhere) + WRITES: ML_BSSN::At22rhs(Everywhere) + WRITES: ML_BSSN::At23rhs(Everywhere) + WRITES: ML_BSSN::At33rhs(Everywhere) + WRITES: ML_BSSN::B1rhs(Everywhere) + WRITES: ML_BSSN::B2rhs(Everywhere) + WRITES: ML_BSSN::B3rhs(Everywhere) + WRITES: ML_BSSN::beta1rhs(Everywhere) + WRITES: ML_BSSN::beta2rhs(Everywhere) + WRITES: ML_BSSN::beta3rhs(Everywhere) + WRITES: ML_BSSN::gt11rhs(Everywhere) + WRITES: ML_BSSN::gt12rhs(Everywhere) + WRITES: ML_BSSN::gt13rhs(Everywhere) + WRITES: ML_BSSN::gt22rhs(Everywhere) + WRITES: ML_BSSN::gt23rhs(Everywhere) + WRITES: ML_BSSN::gt33rhs(Everywhere) + WRITES: ML_BSSN::phirhs(Everywhere) + WRITES: ML_BSSN::trKrhs(Everywhere) + WRITES: ML_BSSN::Xt1rhs(Everywhere) + WRITES: ML_BSSN::Xt2rhs(Everywhere) + WRITES: ML_BSSN::Xt3rhs(Everywhere) } "ML_BSSN_InitRHS" @@ -702,57 +489,57 @@ if (CCTK_EQUALS(my_rhs_boundary_condition, "static")) schedule ML_BSSN_RHSStaticBoundary IN MoL_CalcRHS { LANG: C - WRITES: ML_BSSN::alpharhs(Boundary) - WRITES: ML_BSSN::Arhs(Boundary) - WRITES: ML_BSSN::At11rhs(Boundary) - WRITES: ML_BSSN::At12rhs(Boundary) - WRITES: ML_BSSN::At13rhs(Boundary) - WRITES: ML_BSSN::At22rhs(Boundary) - WRITES: ML_BSSN::At23rhs(Boundary) - WRITES: ML_BSSN::At33rhs(Boundary) - WRITES: ML_BSSN::B1rhs(Boundary) - WRITES: ML_BSSN::B2rhs(Boundary) - WRITES: ML_BSSN::B3rhs(Boundary) - WRITES: ML_BSSN::beta1rhs(Boundary) - WRITES: ML_BSSN::beta2rhs(Boundary) - WRITES: ML_BSSN::beta3rhs(Boundary) - WRITES: ML_BSSN::gt11rhs(Boundary) - WRITES: ML_BSSN::gt12rhs(Boundary) - WRITES: ML_BSSN::gt13rhs(Boundary) - WRITES: ML_BSSN::gt22rhs(Boundary) - WRITES: ML_BSSN::gt23rhs(Boundary) - WRITES: ML_BSSN::gt33rhs(Boundary) - WRITES: ML_BSSN::phirhs(Boundary) - WRITES: ML_BSSN::trKrhs(Boundary) - WRITES: ML_BSSN::Xt1rhs(Boundary) - WRITES: ML_BSSN::Xt2rhs(Boundary) - WRITES: ML_BSSN::Xt3rhs(Boundary) + WRITES: ML_BSSN::alpharhs(Boundary) + WRITES: ML_BSSN::Arhs(Boundary) + WRITES: ML_BSSN::At11rhs(Boundary) + WRITES: ML_BSSN::At12rhs(Boundary) + WRITES: ML_BSSN::At13rhs(Boundary) + WRITES: ML_BSSN::At22rhs(Boundary) + WRITES: ML_BSSN::At23rhs(Boundary) + WRITES: ML_BSSN::At33rhs(Boundary) + WRITES: ML_BSSN::B1rhs(Boundary) + WRITES: ML_BSSN::B2rhs(Boundary) + WRITES: ML_BSSN::B3rhs(Boundary) + WRITES: ML_BSSN::beta1rhs(Boundary) + WRITES: ML_BSSN::beta2rhs(Boundary) + WRITES: ML_BSSN::beta3rhs(Boundary) + WRITES: ML_BSSN::gt11rhs(Boundary) + WRITES: ML_BSSN::gt12rhs(Boundary) + WRITES: ML_BSSN::gt13rhs(Boundary) + WRITES: ML_BSSN::gt22rhs(Boundary) + WRITES: ML_BSSN::gt23rhs(Boundary) + WRITES: ML_BSSN::gt33rhs(Boundary) + WRITES: ML_BSSN::phirhs(Boundary) + WRITES: ML_BSSN::trKrhs(Boundary) + WRITES: ML_BSSN::Xt1rhs(Boundary) + WRITES: ML_BSSN::Xt2rhs(Boundary) + WRITES: ML_BSSN::Xt3rhs(Boundary) } "ML_BSSN_RHSStaticBoundary" } schedule ML_BSSN_enforce IN MoL_PostStepModify { LANG: C - READS: ML_BSSN::At11(Everywhere) - READS: ML_BSSN::At12(Everywhere) - READS: ML_BSSN::At13(Everywhere) - READS: ML_BSSN::At22(Everywhere) - READS: ML_BSSN::At23(Everywhere) - READS: ML_BSSN::At33(Everywhere) - READS: ML_BSSN::alpha(Everywhere) - READS: ML_BSSN::gt11(Everywhere) - READS: ML_BSSN::gt12(Everywhere) - READS: ML_BSSN::gt13(Everywhere) - READS: ML_BSSN::gt22(Everywhere) - READS: ML_BSSN::gt23(Everywhere) - READS: ML_BSSN::gt33(Everywhere) - WRITES: ML_BSSN::alpha(Everywhere) - WRITES: ML_BSSN::At11(Everywhere) - WRITES: ML_BSSN::At12(Everywhere) - WRITES: ML_BSSN::At13(Everywhere) - WRITES: ML_BSSN::At22(Everywhere) - WRITES: ML_BSSN::At23(Everywhere) - WRITES: ML_BSSN::At33(Everywhere) + READS: ML_BSSN::At11(Everywhere) + READS: ML_BSSN::At12(Everywhere) + READS: ML_BSSN::At13(Everywhere) + READS: ML_BSSN::At22(Everywhere) + READS: ML_BSSN::At23(Everywhere) + READS: ML_BSSN::At33(Everywhere) + READS: ML_BSSN::alpha(Everywhere) + READS: ML_BSSN::gt11(Everywhere) + READS: ML_BSSN::gt12(Everywhere) + READS: ML_BSSN::gt13(Everywhere) + READS: ML_BSSN::gt22(Everywhere) + READS: ML_BSSN::gt23(Everywhere) + READS: ML_BSSN::gt33(Everywhere) + WRITES: ML_BSSN::alpha(Everywhere) + WRITES: ML_BSSN::At11(Everywhere) + WRITES: ML_BSSN::At12(Everywhere) + WRITES: ML_BSSN::At13(Everywhere) + WRITES: ML_BSSN::At22(Everywhere) + WRITES: ML_BSSN::At23(Everywhere) + WRITES: ML_BSSN::At33(Everywhere) } "ML_BSSN_enforce" @@ -761,71 +548,71 @@ if (CCTK_EQUALS(my_boundary_condition, "Minkowski")) schedule ML_BSSN_boundary IN MoL_PostStep { LANG: C - WRITES: ML_BSSN::A(ERROR(BoundaryWithGhosts)) - WRITES: ML_BSSN::alpha(ERROR(BoundaryWithGhosts)) - WRITES: ML_BSSN::At11(ERROR(BoundaryWithGhosts)) - WRITES: ML_BSSN::At12(ERROR(BoundaryWithGhosts)) - WRITES: ML_BSSN::At13(ERROR(BoundaryWithGhosts)) - WRITES: ML_BSSN::At22(ERROR(BoundaryWithGhosts)) - WRITES: ML_BSSN::At23(ERROR(BoundaryWithGhosts)) - WRITES: ML_BSSN::At33(ERROR(BoundaryWithGhosts)) - WRITES: ML_BSSN::B1(ERROR(BoundaryWithGhosts)) - WRITES: ML_BSSN::B2(ERROR(BoundaryWithGhosts)) - WRITES: ML_BSSN::B3(ERROR(BoundaryWithGhosts)) - WRITES: ML_BSSN::beta1(ERROR(BoundaryWithGhosts)) - WRITES: ML_BSSN::beta2(ERROR(BoundaryWithGhosts)) - WRITES: ML_BSSN::beta3(ERROR(BoundaryWithGhosts)) - WRITES: ML_BSSN::gt11(ERROR(BoundaryWithGhosts)) - WRITES: ML_BSSN::gt12(ERROR(BoundaryWithGhosts)) - WRITES: ML_BSSN::gt13(ERROR(BoundaryWithGhosts)) - WRITES: ML_BSSN::gt22(ERROR(BoundaryWithGhosts)) - WRITES: ML_BSSN::gt23(ERROR(BoundaryWithGhosts)) - WRITES: ML_BSSN::gt33(ERROR(BoundaryWithGhosts)) - WRITES: ML_BSSN::phi(ERROR(BoundaryWithGhosts)) - WRITES: ML_BSSN::trK(ERROR(BoundaryWithGhosts)) - WRITES: ML_BSSN::Xt1(ERROR(BoundaryWithGhosts)) - WRITES: ML_BSSN::Xt2(ERROR(BoundaryWithGhosts)) - WRITES: ML_BSSN::Xt3(ERROR(BoundaryWithGhosts)) + WRITES: ML_BSSN::A(ERROR(BoundaryWithGhosts)) + WRITES: ML_BSSN::alpha(ERROR(BoundaryWithGhosts)) + WRITES: ML_BSSN::At11(ERROR(BoundaryWithGhosts)) + WRITES: ML_BSSN::At12(ERROR(BoundaryWithGhosts)) + WRITES: ML_BSSN::At13(ERROR(BoundaryWithGhosts)) + WRITES: ML_BSSN::At22(ERROR(BoundaryWithGhosts)) + WRITES: ML_BSSN::At23(ERROR(BoundaryWithGhosts)) + WRITES: ML_BSSN::At33(ERROR(BoundaryWithGhosts)) + WRITES: ML_BSSN::B1(ERROR(BoundaryWithGhosts)) + WRITES: ML_BSSN::B2(ERROR(BoundaryWithGhosts)) + WRITES: ML_BSSN::B3(ERROR(BoundaryWithGhosts)) + WRITES: ML_BSSN::beta1(ERROR(BoundaryWithGhosts)) + WRITES: ML_BSSN::beta2(ERROR(BoundaryWithGhosts)) + WRITES: ML_BSSN::beta3(ERROR(BoundaryWithGhosts)) + WRITES: ML_BSSN::gt11(ERROR(BoundaryWithGhosts)) + WRITES: ML_BSSN::gt12(ERROR(BoundaryWithGhosts)) + WRITES: ML_BSSN::gt13(ERROR(BoundaryWithGhosts)) + WRITES: ML_BSSN::gt22(ERROR(BoundaryWithGhosts)) + WRITES: ML_BSSN::gt23(ERROR(BoundaryWithGhosts)) + WRITES: ML_BSSN::gt33(ERROR(BoundaryWithGhosts)) + WRITES: ML_BSSN::phi(ERROR(BoundaryWithGhosts)) + WRITES: ML_BSSN::trK(ERROR(BoundaryWithGhosts)) + WRITES: ML_BSSN::Xt1(ERROR(BoundaryWithGhosts)) + WRITES: ML_BSSN::Xt2(ERROR(BoundaryWithGhosts)) + WRITES: ML_BSSN::Xt3(ERROR(BoundaryWithGhosts)) } "ML_BSSN_boundary" } schedule ML_BSSN_convertToADMBase IN ML_BSSN_convertToADMBaseGroup { LANG: C - READS: ML_BSSN::At11(Everywhere) - READS: ML_BSSN::At12(Everywhere) - READS: ML_BSSN::At13(Everywhere) - READS: ML_BSSN::At22(Everywhere) - READS: ML_BSSN::At23(Everywhere) - READS: ML_BSSN::At33(Everywhere) - READS: ML_BSSN::alpha(Everywhere) - READS: ML_BSSN::phi(Everywhere) - READS: ML_BSSN::gt11(Everywhere) - READS: ML_BSSN::gt12(Everywhere) - READS: ML_BSSN::gt13(Everywhere) - READS: ML_BSSN::gt22(Everywhere) - READS: ML_BSSN::gt23(Everywhere) - READS: ML_BSSN::gt33(Everywhere) - READS: ML_BSSN::beta1(Everywhere) - READS: ML_BSSN::beta2(Everywhere) - READS: ML_BSSN::beta3(Everywhere) - READS: ML_BSSN::trK(Everywhere) - WRITES: ADMBase::alp(Everywhere) - WRITES: ADMBase::betax(Everywhere) - WRITES: ADMBase::betay(Everywhere) - WRITES: ADMBase::betaz(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_BSSN::At11(Everywhere) + READS: ML_BSSN::At12(Everywhere) + READS: ML_BSSN::At13(Everywhere) + READS: ML_BSSN::At22(Everywhere) + READS: ML_BSSN::At23(Everywhere) + READS: ML_BSSN::At33(Everywhere) + READS: ML_BSSN::alpha(Everywhere) + READS: ML_BSSN::phi(Everywhere) + READS: ML_BSSN::gt11(Everywhere) + READS: ML_BSSN::gt12(Everywhere) + READS: ML_BSSN::gt13(Everywhere) + READS: ML_BSSN::gt22(Everywhere) + READS: ML_BSSN::gt23(Everywhere) + READS: ML_BSSN::gt33(Everywhere) + READS: ML_BSSN::beta1(Everywhere) + READS: ML_BSSN::beta2(Everywhere) + READS: ML_BSSN::beta3(Everywhere) + READS: ML_BSSN::trK(Everywhere) + WRITES: ADMBase::alp(Everywhere) + WRITES: ADMBase::betax(Everywhere) + WRITES: ADMBase::betay(Everywhere) + WRITES: ADMBase::betaz(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_BSSN_convertToADMBase" @@ -836,30 +623,30 @@ if (CCTK_EQUALS(dt_lapse_shift_method, "correct")) LANG: C SYNC: ADMBase::dtlapse SYNC: ADMBase::dtshift - READS: grid::r(Everywhere) - READS: ML_BSSN::A(Everywhere) - READS: ML_BSSN::B1(Everywhere) - READS: ML_BSSN::B2(Everywhere) - READS: ML_BSSN::B3(Everywhere) - READS: ML_BSSN::Xt1(Everywhere) - READS: ML_BSSN::Xt2(Everywhere) - READS: ML_BSSN::Xt3(Everywhere) - READS: ML_BSSN::alpha(Everywhere) - READS: ML_BSSN::phi(Everywhere) - READS: ML_BSSN::gt11(Everywhere) - READS: ML_BSSN::gt12(Everywhere) - READS: ML_BSSN::gt13(Everywhere) - READS: ML_BSSN::gt22(Everywhere) - READS: ML_BSSN::gt23(Everywhere) - READS: ML_BSSN::gt33(Everywhere) - READS: ML_BSSN::beta1(Everywhere) - READS: ML_BSSN::beta2(Everywhere) - READS: ML_BSSN::beta3(Everywhere) - READS: ML_BSSN::trK(Everywhere) - WRITES: ADMBase::dtalp(Interior) - WRITES: ADMBase::dtbetax(Interior) - WRITES: ADMBase::dtbetay(Interior) - WRITES: ADMBase::dtbetaz(Interior) + READS: grid::r(Everywhere) + READS: ML_BSSN::A(Everywhere) + READS: ML_BSSN::B1(Everywhere) + READS: ML_BSSN::B2(Everywhere) + READS: ML_BSSN::B3(Everywhere) + READS: ML_BSSN::Xt1(Everywhere) + READS: ML_BSSN::Xt2(Everywhere) + READS: ML_BSSN::Xt3(Everywhere) + READS: ML_BSSN::alpha(Everywhere) + READS: ML_BSSN::phi(Everywhere) + READS: ML_BSSN::gt11(Everywhere) + READS: ML_BSSN::gt12(Everywhere) + READS: ML_BSSN::gt13(Everywhere) + READS: ML_BSSN::gt22(Everywhere) + READS: ML_BSSN::gt23(Everywhere) + READS: ML_BSSN::gt33(Everywhere) + READS: ML_BSSN::beta1(Everywhere) + READS: ML_BSSN::beta2(Everywhere) + READS: ML_BSSN::beta3(Everywhere) + READS: ML_BSSN::trK(Everywhere) + WRITES: ADMBase::dtalp(Interior) + WRITES: ADMBase::dtbetax(Interior) + WRITES: ADMBase::dtbetay(Interior) + WRITES: ADMBase::dtbetaz(Interior) } "ML_BSSN_convertToADMBaseDtLapseShift" } @@ -869,29 +656,29 @@ if (CCTK_EQUALS(dt_lapse_shift_method, "correct")) schedule ML_BSSN_convertToADMBaseDtLapseShiftBoundary IN ML_BSSN_convertToADMBaseGroup { LANG: C - READS: grid::r(Everywhere) - READS: ML_BSSN::A(Everywhere) - READS: ML_BSSN::B1(Everywhere) - READS: ML_BSSN::B2(Everywhere) - READS: ML_BSSN::B3(Everywhere) - READS: ML_BSSN::Xt1(Everywhere) - READS: ML_BSSN::Xt2(Everywhere) - READS: ML_BSSN::Xt3(Everywhere) - READS: ML_BSSN::alpha(Everywhere) - READS: ML_BSSN::gt11(Everywhere) - READS: ML_BSSN::gt12(Everywhere) - READS: ML_BSSN::gt13(Everywhere) - READS: ML_BSSN::gt22(Everywhere) - READS: ML_BSSN::gt23(Everywhere) - READS: ML_BSSN::gt33(Everywhere) - READS: ML_BSSN::beta1(Everywhere) - READS: ML_BSSN::beta2(Everywhere) - READS: ML_BSSN::beta3(Everywhere) - READS: ML_BSSN::trK(Everywhere) - WRITES: ADMBase::dtalp(ERROR(BoundaryWithGhosts)) - WRITES: ADMBase::dtbetax(ERROR(BoundaryWithGhosts)) - WRITES: ADMBase::dtbetay(ERROR(BoundaryWithGhosts)) - WRITES: ADMBase::dtbetaz(ERROR(BoundaryWithGhosts)) + READS: grid::r(Everywhere) + READS: ML_BSSN::A(Everywhere) + READS: ML_BSSN::B1(Everywhere) + READS: ML_BSSN::B2(Everywhere) + READS: ML_BSSN::B3(Everywhere) + READS: ML_BSSN::Xt1(Everywhere) + READS: ML_BSSN::Xt2(Everywhere) + READS: ML_BSSN::Xt3(Everywhere) + READS: ML_BSSN::alpha(Everywhere) + READS: ML_BSSN::gt11(Everywhere) + READS: ML_BSSN::gt12(Everywhere) + READS: ML_BSSN::gt13(Everywhere) + READS: ML_BSSN::gt22(Everywhere) + READS: ML_BSSN::gt23(Everywhere) + READS: ML_BSSN::gt33(Everywhere) + READS: ML_BSSN::beta1(Everywhere) + READS: ML_BSSN::beta2(Everywhere) + READS: ML_BSSN::beta3(Everywhere) + READS: ML_BSSN::trK(Everywhere) + WRITES: ADMBase::dtalp(ERROR(BoundaryWithGhosts)) + WRITES: ADMBase::dtbetax(ERROR(BoundaryWithGhosts)) + WRITES: ADMBase::dtbetay(ERROR(BoundaryWithGhosts)) + WRITES: ADMBase::dtbetaz(ERROR(BoundaryWithGhosts)) } "ML_BSSN_convertToADMBaseDtLapseShiftBoundary" } @@ -901,29 +688,29 @@ if (CCTK_EQUALS(dt_lapse_shift_method, "noLapseShiftAdvection")) schedule ML_BSSN_convertToADMBaseFakeDtLapseShift IN ML_BSSN_convertToADMBaseGroup { LANG: C - READS: grid::r(Everywhere) - READS: ML_BSSN::A(Everywhere) - READS: ML_BSSN::B1(Everywhere) - READS: ML_BSSN::B2(Everywhere) - READS: ML_BSSN::B3(Everywhere) - READS: ML_BSSN::Xt1(Everywhere) - READS: ML_BSSN::Xt2(Everywhere) - READS: ML_BSSN::Xt3(Everywhere) - READS: ML_BSSN::alpha(Everywhere) - READS: ML_BSSN::gt11(Everywhere) - READS: ML_BSSN::gt12(Everywhere) - READS: ML_BSSN::gt13(Everywhere) - READS: ML_BSSN::gt22(Everywhere) - READS: ML_BSSN::gt23(Everywhere) - READS: ML_BSSN::gt33(Everywhere) - READS: ML_BSSN::beta1(Everywhere) - READS: ML_BSSN::beta2(Everywhere) - READS: ML_BSSN::beta3(Everywhere) - READS: ML_BSSN::trK(Everywhere) - WRITES: ADMBase::dtalp(Everywhere) - WRITES: ADMBase::dtbetax(Everywhere) - WRITES: ADMBase::dtbetay(Everywhere) - WRITES: ADMBase::dtbetaz(Everywhere) + READS: grid::r(Everywhere) + READS: ML_BSSN::A(Everywhere) + READS: ML_BSSN::B1(Everywhere) + READS: ML_BSSN::B2(Everywhere) + READS: ML_BSSN::B3(Everywhere) + READS: ML_BSSN::Xt1(Everywhere) + READS: ML_BSSN::Xt2(Everywhere) + READS: ML_BSSN::Xt3(Everywhere) + READS: ML_BSSN::alpha(Everywhere) + READS: ML_BSSN::gt11(Everywhere) + READS: ML_BSSN::gt12(Everywhere) + READS: ML_BSSN::gt13(Everywhere) + READS: ML_BSSN::gt22(Everywhere) + READS: ML_BSSN::gt23(Everywhere) + READS: ML_BSSN::gt33(Everywhere) + READS: ML_BSSN::beta1(Everywhere) + READS: ML_BSSN::beta2(Everywhere) + READS: ML_BSSN::beta3(Everywhere) + READS: ML_BSSN::trK(Everywhere) + WRITES: ADMBase::dtalp(Everywhere) + WRITES: ADMBase::dtbetax(Everywhere) + WRITES: ADMBase::dtbetay(Everywhere) + WRITES: ADMBase::dtbetaz(Everywhere) } "ML_BSSN_convertToADMBaseFakeDtLapseShift" } @@ -934,38 +721,38 @@ schedule group ML_BSSN_constraints1_group in MoL_PseudoEvolution after MoL_PostS schedule ML_BSSN_constraints1 in ML_BSSN_constraints1_group { LANG: C - READS: TmunuBase::eTtt(Everywhere) - READS: TmunuBase::eTxx(Everywhere) - READS: TmunuBase::eTxy(Everywhere) - READS: TmunuBase::eTxz(Everywhere) - READS: TmunuBase::eTyy(Everywhere) - READS: TmunuBase::eTyz(Everywhere) - READS: TmunuBase::eTzz(Everywhere) - READS: TmunuBase::eTtx(Everywhere) - READS: TmunuBase::eTty(Everywhere) - READS: TmunuBase::eTtz(Everywhere) - READS: ML_BSSN::At11(Everywhere) - READS: ML_BSSN::At12(Everywhere) - READS: ML_BSSN::At13(Everywhere) - READS: ML_BSSN::At22(Everywhere) - READS: ML_BSSN::At23(Everywhere) - READS: ML_BSSN::At33(Everywhere) - READS: ML_BSSN::Xt1(Everywhere) - READS: ML_BSSN::Xt2(Everywhere) - READS: ML_BSSN::Xt3(Everywhere) - READS: ML_BSSN::alpha(Everywhere) - READS: ML_BSSN::phi(Everywhere) - READS: ML_BSSN::gt11(Everywhere) - READS: ML_BSSN::gt12(Everywhere) - READS: ML_BSSN::gt13(Everywhere) - READS: ML_BSSN::gt22(Everywhere) - READS: ML_BSSN::gt23(Everywhere) - READS: ML_BSSN::gt33(Everywhere) - READS: ML_BSSN::beta1(Everywhere) - READS: ML_BSSN::beta2(Everywhere) - READS: ML_BSSN::beta3(Everywhere) - READS: ML_BSSN::trK(Everywhere) - WRITES: ML_BSSN::H(Interior) + READS: TmunuBase::eTtt(Everywhere) + READS: TmunuBase::eTxx(Everywhere) + READS: TmunuBase::eTxy(Everywhere) + READS: TmunuBase::eTxz(Everywhere) + READS: TmunuBase::eTyy(Everywhere) + READS: TmunuBase::eTyz(Everywhere) + READS: TmunuBase::eTzz(Everywhere) + READS: TmunuBase::eTtx(Everywhere) + READS: TmunuBase::eTty(Everywhere) + READS: TmunuBase::eTtz(Everywhere) + READS: ML_BSSN::At11(Everywhere) + READS: ML_BSSN::At12(Everywhere) + READS: ML_BSSN::At13(Everywhere) + READS: ML_BSSN::At22(Everywhere) + READS: ML_BSSN::At23(Everywhere) + READS: ML_BSSN::At33(Everywhere) + READS: ML_BSSN::Xt1(Everywhere) + READS: ML_BSSN::Xt2(Everywhere) + READS: ML_BSSN::Xt3(Everywhere) + READS: ML_BSSN::alpha(Everywhere) + READS: ML_BSSN::phi(Everywhere) + READS: ML_BSSN::gt11(Everywhere) + READS: ML_BSSN::gt12(Everywhere) + READS: ML_BSSN::gt13(Everywhere) + READS: ML_BSSN::gt22(Everywhere) + READS: ML_BSSN::gt23(Everywhere) + READS: ML_BSSN::gt33(Everywhere) + READS: ML_BSSN::beta1(Everywhere) + READS: ML_BSSN::beta2(Everywhere) + READS: ML_BSSN::beta3(Everywhere) + READS: ML_BSSN::trK(Everywhere) + WRITES: ML_BSSN::H(Interior) } "ML_BSSN_constraints1" schedule ML_BSSN_constraints1_SelectBCs in ML_BSSN_constraints1_bc_group @@ -994,45 +781,45 @@ schedule group ML_BSSN_constraints2_group in MoL_PseudoEvolution after MoL_PostS schedule ML_BSSN_constraints2 in ML_BSSN_constraints2_group { LANG: C - READS: TmunuBase::eTtt(Everywhere) - READS: TmunuBase::eTxx(Everywhere) - READS: TmunuBase::eTxy(Everywhere) - READS: TmunuBase::eTxz(Everywhere) - READS: TmunuBase::eTyy(Everywhere) - READS: TmunuBase::eTyz(Everywhere) - READS: TmunuBase::eTzz(Everywhere) - READS: TmunuBase::eTtx(Everywhere) - READS: TmunuBase::eTty(Everywhere) - READS: TmunuBase::eTtz(Everywhere) - READS: ML_BSSN::At11(Everywhere) - READS: ML_BSSN::At12(Everywhere) - READS: ML_BSSN::At13(Everywhere) - READS: ML_BSSN::At22(Everywhere) - READS: ML_BSSN::At23(Everywhere) - READS: ML_BSSN::At33(Everywhere) - READS: ML_BSSN::Xt1(Everywhere) - READS: ML_BSSN::Xt2(Everywhere) - READS: ML_BSSN::Xt3(Everywhere) - READS: ML_BSSN::alpha(Everywhere) - READS: ML_BSSN::phi(Everywhere) - READS: ML_BSSN::gt11(Everywhere) - READS: ML_BSSN::gt12(Everywhere) - READS: ML_BSSN::gt13(Everywhere) - READS: ML_BSSN::gt22(Everywhere) - READS: ML_BSSN::gt23(Everywhere) - READS: ML_BSSN::gt33(Everywhere) - READS: ML_BSSN::beta1(Everywhere) - READS: ML_BSSN::beta2(Everywhere) - READS: ML_BSSN::beta3(Everywhere) - READS: ML_BSSN::trK(Everywhere) - WRITES: ML_BSSN::cA(Interior) - WRITES: ML_BSSN::cS(Interior) - WRITES: ML_BSSN::cXt1(Interior) - WRITES: ML_BSSN::cXt2(Interior) - WRITES: ML_BSSN::cXt3(Interior) - WRITES: ML_BSSN::M1(Interior) - WRITES: ML_BSSN::M2(Interior) - WRITES: ML_BSSN::M3(Interior) + READS: TmunuBase::eTtt(Everywhere) + READS: TmunuBase::eTxx(Everywhere) + READS: TmunuBase::eTxy(Everywhere) + READS: TmunuBase::eTxz(Everywhere) + READS: TmunuBase::eTyy(Everywhere) + READS: TmunuBase::eTyz(Everywhere) + READS: TmunuBase::eTzz(Everywhere) + READS: TmunuBase::eTtx(Everywhere) + READS: TmunuBase::eTty(Everywhere) + READS: TmunuBase::eTtz(Everywhere) + READS: ML_BSSN::At11(Everywhere) + READS: ML_BSSN::At12(Everywhere) + READS: ML_BSSN::At13(Everywhere) + READS: ML_BSSN::At22(Everywhere) + READS: ML_BSSN::At23(Everywhere) + READS: ML_BSSN::At33(Everywhere) + READS: ML_BSSN::Xt1(Everywhere) + READS: ML_BSSN::Xt2(Everywhere) + READS: ML_BSSN::Xt3(Everywhere) + READS: ML_BSSN::alpha(Everywhere) + READS: ML_BSSN::phi(Everywhere) + READS: ML_BSSN::gt11(Everywhere) + READS: ML_BSSN::gt12(Everywhere) + READS: ML_BSSN::gt13(Everywhere) + READS: ML_BSSN::gt22(Everywhere) + READS: ML_BSSN::gt23(Everywhere) + READS: ML_BSSN::gt33(Everywhere) + READS: ML_BSSN::beta1(Everywhere) + READS: ML_BSSN::beta2(Everywhere) + READS: ML_BSSN::beta3(Everywhere) + READS: ML_BSSN::trK(Everywhere) + WRITES: ML_BSSN::cA(Interior) + WRITES: ML_BSSN::cS(Interior) + WRITES: ML_BSSN::cXt1(Interior) + WRITES: ML_BSSN::cXt2(Interior) + WRITES: ML_BSSN::cXt3(Interior) + WRITES: ML_BSSN::M1(Interior) + WRITES: ML_BSSN::M2(Interior) + WRITES: ML_BSSN::M3(Interior) } "ML_BSSN_constraints2" schedule ML_BSSN_constraints2_SelectBCs in ML_BSSN_constraints2_bc_group diff --git a/ML_BSSN/src/Boundaries.cc b/ML_BSSN/src/Boundaries.cc index 98b7911..e720864 100644 --- a/ML_BSSN/src/Boundaries.cc +++ b/ML_BSSN/src/Boundaries.cc @@ -30,7 +30,7 @@ extern "C" void ML_BSSN_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") || @@ -409,7 +409,7 @@ extern "C" void ML_BSSN_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) @@ -428,7 +428,7 @@ extern "C" void ML_BSSN_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(ML_dtlapse_bound, "radiative")) { /* select radiation boundary condition */ - static CCTK_INT handle_ML_dtlapse_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_ML_dtlapse_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_ML_dtlapse_bound < 0) handle_ML_dtlapse_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_ML_dtlapse_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_ML_dtlapse_bound , ML_dtlapse_bound_limit, "LIMIT") < 0) @@ -447,7 +447,7 @@ extern "C" void ML_BSSN_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(ML_dtshift_bound, "radiative")) { /* select radiation boundary condition */ - static CCTK_INT handle_ML_dtshift_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_ML_dtshift_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_ML_dtshift_bound < 0) handle_ML_dtshift_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_ML_dtshift_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_ML_dtshift_bound , ML_dtshift_bound_limit, "LIMIT") < 0) @@ -466,7 +466,7 @@ extern "C" void ML_BSSN_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(ML_Gamma_bound, "radiative")) { /* select radiation boundary condition */ - static CCTK_INT handle_ML_Gamma_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_ML_Gamma_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_ML_Gamma_bound < 0) handle_ML_Gamma_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_ML_Gamma_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_ML_Gamma_bound , ML_Gamma_bound_limit, "LIMIT") < 0) @@ -485,7 +485,7 @@ extern "C" void ML_BSSN_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) @@ -504,7 +504,7 @@ extern "C" void ML_BSSN_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(ML_log_confac_bound, "radiative")) { /* select radiation boundary condition */ - static CCTK_INT handle_ML_log_confac_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_ML_log_confac_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_ML_log_confac_bound < 0) handle_ML_log_confac_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_ML_log_confac_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_ML_log_confac_bound , ML_log_confac_bound_limit, "LIMIT") < 0) @@ -523,7 +523,7 @@ extern "C" void ML_BSSN_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) @@ -542,7 +542,7 @@ extern "C" void ML_BSSN_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) @@ -561,7 +561,7 @@ extern "C" void ML_BSSN_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(ML_trace_curv_bound, "radiative")) { /* select radiation boundary condition */ - static CCTK_INT handle_ML_trace_curv_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_ML_trace_curv_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_ML_trace_curv_bound < 0) handle_ML_trace_curv_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_ML_trace_curv_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_ML_trace_curv_bound , ML_trace_curv_bound_limit, "LIMIT") < 0) @@ -580,7 +580,7 @@ extern "C" void ML_BSSN_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(At11_bound, "radiative")) { /* select radiation boundary condition */ - static CCTK_INT handle_At11_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_At11_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_At11_bound < 0) handle_At11_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_At11_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_At11_bound , At11_bound_limit, "LIMIT") < 0) @@ -599,7 +599,7 @@ extern "C" void ML_BSSN_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(At12_bound, "radiative")) { /* select radiation boundary condition */ - static CCTK_INT handle_At12_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_At12_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_At12_bound < 0) handle_At12_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_At12_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_At12_bound , At12_bound_limit, "LIMIT") < 0) @@ -618,7 +618,7 @@ extern "C" void ML_BSSN_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(At13_bound, "radiative")) { /* select radiation boundary condition */ - static CCTK_INT handle_At13_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_At13_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_At13_bound < 0) handle_At13_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_At13_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_At13_bound , At13_bound_limit, "LIMIT") < 0) @@ -637,7 +637,7 @@ extern "C" void ML_BSSN_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(At22_bound, "radiative")) { /* select radiation boundary condition */ - static CCTK_INT handle_At22_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_At22_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_At22_bound < 0) handle_At22_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_At22_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_At22_bound , At22_bound_limit, "LIMIT") < 0) @@ -656,7 +656,7 @@ extern "C" void ML_BSSN_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(At23_bound, "radiative")) { /* select radiation boundary condition */ - static CCTK_INT handle_At23_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_At23_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_At23_bound < 0) handle_At23_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_At23_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_At23_bound , At23_bound_limit, "LIMIT") < 0) @@ -675,7 +675,7 @@ extern "C" void ML_BSSN_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(At33_bound, "radiative")) { /* select radiation boundary condition */ - static CCTK_INT handle_At33_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_At33_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_At33_bound < 0) handle_At33_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_At33_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_At33_bound , At33_bound_limit, "LIMIT") < 0) @@ -694,7 +694,7 @@ extern "C" void ML_BSSN_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(A_bound, "radiative")) { /* select radiation boundary condition */ - static CCTK_INT handle_A_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_A_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_A_bound < 0) handle_A_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_A_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_A_bound , A_bound_limit, "LIMIT") < 0) @@ -713,7 +713,7 @@ extern "C" void ML_BSSN_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(B1_bound, "radiative")) { /* select radiation boundary condition */ - static CCTK_INT handle_B1_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_B1_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_B1_bound < 0) handle_B1_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_B1_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_B1_bound , B1_bound_limit, "LIMIT") < 0) @@ -732,7 +732,7 @@ extern "C" void ML_BSSN_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(B2_bound, "radiative")) { /* select radiation boundary condition */ - static CCTK_INT handle_B2_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_B2_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_B2_bound < 0) handle_B2_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_B2_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_B2_bound , B2_bound_limit, "LIMIT") < 0) @@ -751,7 +751,7 @@ extern "C" void ML_BSSN_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(B3_bound, "radiative")) { /* select radiation boundary condition */ - static CCTK_INT handle_B3_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_B3_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_B3_bound < 0) handle_B3_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_B3_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_B3_bound , B3_bound_limit, "LIMIT") < 0) @@ -770,7 +770,7 @@ extern "C" void ML_BSSN_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(Xt1_bound, "radiative")) { /* select radiation boundary condition */ - static CCTK_INT handle_Xt1_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_Xt1_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_Xt1_bound < 0) handle_Xt1_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_Xt1_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_Xt1_bound , Xt1_bound_limit, "LIMIT") < 0) @@ -789,7 +789,7 @@ extern "C" void ML_BSSN_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(Xt2_bound, "radiative")) { /* select radiation boundary condition */ - static CCTK_INT handle_Xt2_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_Xt2_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_Xt2_bound < 0) handle_Xt2_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_Xt2_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_Xt2_bound , Xt2_bound_limit, "LIMIT") < 0) @@ -808,7 +808,7 @@ extern "C" void ML_BSSN_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(Xt3_bound, "radiative")) { /* select radiation boundary condition */ - static CCTK_INT handle_Xt3_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_Xt3_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_Xt3_bound < 0) handle_Xt3_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_Xt3_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_Xt3_bound , Xt3_bound_limit, "LIMIT") < 0) @@ -827,7 +827,7 @@ extern "C" void ML_BSSN_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) @@ -846,7 +846,7 @@ extern "C" void ML_BSSN_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(phi_bound, "radiative")) { /* select radiation boundary condition */ - static CCTK_INT handle_phi_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_phi_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_phi_bound < 0) handle_phi_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_phi_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_phi_bound , phi_bound_limit, "LIMIT") < 0) @@ -865,7 +865,7 @@ extern "C" void ML_BSSN_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(gt11_bound, "radiative")) { /* select radiation boundary condition */ - static CCTK_INT handle_gt11_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_gt11_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_gt11_bound < 0) handle_gt11_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_gt11_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_gt11_bound , gt11_bound_limit, "LIMIT") < 0) @@ -884,7 +884,7 @@ extern "C" void ML_BSSN_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(gt12_bound, "radiative")) { /* select radiation boundary condition */ - static CCTK_INT handle_gt12_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_gt12_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_gt12_bound < 0) handle_gt12_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_gt12_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_gt12_bound , gt12_bound_limit, "LIMIT") < 0) @@ -903,7 +903,7 @@ extern "C" void ML_BSSN_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(gt13_bound, "radiative")) { /* select radiation boundary condition */ - static CCTK_INT handle_gt13_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_gt13_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_gt13_bound < 0) handle_gt13_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_gt13_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_gt13_bound , gt13_bound_limit, "LIMIT") < 0) @@ -922,7 +922,7 @@ extern "C" void ML_BSSN_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(gt22_bound, "radiative")) { /* select radiation boundary condition */ - static CCTK_INT handle_gt22_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_gt22_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_gt22_bound < 0) handle_gt22_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_gt22_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_gt22_bound , gt22_bound_limit, "LIMIT") < 0) @@ -941,7 +941,7 @@ extern "C" void ML_BSSN_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(gt23_bound, "radiative")) { /* select radiation boundary condition */ - static CCTK_INT handle_gt23_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_gt23_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_gt23_bound < 0) handle_gt23_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_gt23_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_gt23_bound , gt23_bound_limit, "LIMIT") < 0) @@ -960,7 +960,7 @@ extern "C" void ML_BSSN_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(gt33_bound, "radiative")) { /* select radiation boundary condition */ - static CCTK_INT handle_gt33_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_gt33_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_gt33_bound < 0) handle_gt33_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_gt33_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_gt33_bound , gt33_bound_limit, "LIMIT") < 0) @@ -979,7 +979,7 @@ extern "C" void ML_BSSN_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) @@ -998,7 +998,7 @@ extern "C" void ML_BSSN_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) @@ -1017,7 +1017,7 @@ extern "C" void ML_BSSN_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) @@ -1036,7 +1036,7 @@ extern "C" void ML_BSSN_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(trK_bound, "radiative")) { /* select radiation boundary condition */ - static CCTK_INT handle_trK_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_trK_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_trK_bound < 0) handle_trK_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_trK_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_trK_bound , trK_bound_limit, "LIMIT") < 0) @@ -1055,7 +1055,7 @@ extern "C" void ML_BSSN_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) @@ -1072,7 +1072,7 @@ extern "C" void ML_BSSN_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(ML_dtlapse_bound, "scalar")) { /* select scalar boundary condition */ - static CCTK_INT handle_ML_dtlapse_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_ML_dtlapse_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_ML_dtlapse_bound < 0) handle_ML_dtlapse_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_ML_dtlapse_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_ML_dtlapse_bound ,ML_dtlapse_bound_scalar, "SCALAR") < 0) @@ -1089,7 +1089,7 @@ extern "C" void ML_BSSN_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(ML_dtshift_bound, "scalar")) { /* select scalar boundary condition */ - static CCTK_INT handle_ML_dtshift_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_ML_dtshift_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_ML_dtshift_bound < 0) handle_ML_dtshift_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_ML_dtshift_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_ML_dtshift_bound ,ML_dtshift_bound_scalar, "SCALAR") < 0) @@ -1106,7 +1106,7 @@ extern "C" void ML_BSSN_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(ML_Gamma_bound, "scalar")) { /* select scalar boundary condition */ - static CCTK_INT handle_ML_Gamma_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_ML_Gamma_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_ML_Gamma_bound < 0) handle_ML_Gamma_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_ML_Gamma_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_ML_Gamma_bound ,ML_Gamma_bound_scalar, "SCALAR") < 0) @@ -1123,7 +1123,7 @@ extern "C" void ML_BSSN_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) @@ -1140,7 +1140,7 @@ extern "C" void ML_BSSN_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(ML_log_confac_bound, "scalar")) { /* select scalar boundary condition */ - static CCTK_INT handle_ML_log_confac_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_ML_log_confac_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_ML_log_confac_bound < 0) handle_ML_log_confac_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_ML_log_confac_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_ML_log_confac_bound ,ML_log_confac_bound_scalar, "SCALAR") < 0) @@ -1157,7 +1157,7 @@ extern "C" void ML_BSSN_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) @@ -1174,7 +1174,7 @@ extern "C" void ML_BSSN_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) @@ -1191,7 +1191,7 @@ extern "C" void ML_BSSN_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(ML_trace_curv_bound, "scalar")) { /* select scalar boundary condition */ - static CCTK_INT handle_ML_trace_curv_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_ML_trace_curv_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_ML_trace_curv_bound < 0) handle_ML_trace_curv_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_ML_trace_curv_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_ML_trace_curv_bound ,ML_trace_curv_bound_scalar, "SCALAR") < 0) @@ -1208,7 +1208,7 @@ extern "C" void ML_BSSN_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(At11_bound, "scalar")) { /* select scalar boundary condition */ - static CCTK_INT handle_At11_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_At11_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_At11_bound < 0) handle_At11_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_At11_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_At11_bound ,At11_bound_scalar, "SCALAR") < 0) @@ -1225,7 +1225,7 @@ extern "C" void ML_BSSN_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(At12_bound, "scalar")) { /* select scalar boundary condition */ - static CCTK_INT handle_At12_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_At12_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_At12_bound < 0) handle_At12_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_At12_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_At12_bound ,At12_bound_scalar, "SCALAR") < 0) @@ -1242,7 +1242,7 @@ extern "C" void ML_BSSN_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(At13_bound, "scalar")) { /* select scalar boundary condition */ - static CCTK_INT handle_At13_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_At13_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_At13_bound < 0) handle_At13_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_At13_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_At13_bound ,At13_bound_scalar, "SCALAR") < 0) @@ -1259,7 +1259,7 @@ extern "C" void ML_BSSN_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(At22_bound, "scalar")) { /* select scalar boundary condition */ - static CCTK_INT handle_At22_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_At22_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_At22_bound < 0) handle_At22_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_At22_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_At22_bound ,At22_bound_scalar, "SCALAR") < 0) @@ -1276,7 +1276,7 @@ extern "C" void ML_BSSN_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(At23_bound, "scalar")) { /* select scalar boundary condition */ - static CCTK_INT handle_At23_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_At23_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_At23_bound < 0) handle_At23_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_At23_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_At23_bound ,At23_bound_scalar, "SCALAR") < 0) @@ -1293,7 +1293,7 @@ extern "C" void ML_BSSN_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(At33_bound, "scalar")) { /* select scalar boundary condition */ - static CCTK_INT handle_At33_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_At33_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_At33_bound < 0) handle_At33_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_At33_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_At33_bound ,At33_bound_scalar, "SCALAR") < 0) @@ -1310,7 +1310,7 @@ extern "C" void ML_BSSN_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(A_bound, "scalar")) { /* select scalar boundary condition */ - static CCTK_INT handle_A_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_A_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_A_bound < 0) handle_A_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_A_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_A_bound ,A_bound_scalar, "SCALAR") < 0) @@ -1327,7 +1327,7 @@ extern "C" void ML_BSSN_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(B1_bound, "scalar")) { /* select scalar boundary condition */ - static CCTK_INT handle_B1_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_B1_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_B1_bound < 0) handle_B1_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_B1_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_B1_bound ,B1_bound_scalar, "SCALAR") < 0) @@ -1344,7 +1344,7 @@ extern "C" void ML_BSSN_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(B2_bound, "scalar")) { /* select scalar boundary condition */ - static CCTK_INT handle_B2_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_B2_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_B2_bound < 0) handle_B2_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_B2_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_B2_bound ,B2_bound_scalar, "SCALAR") < 0) @@ -1361,7 +1361,7 @@ extern "C" void ML_BSSN_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(B3_bound, "scalar")) { /* select scalar boundary condition */ - static CCTK_INT handle_B3_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_B3_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_B3_bound < 0) handle_B3_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_B3_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_B3_bound ,B3_bound_scalar, "SCALAR") < 0) @@ -1378,7 +1378,7 @@ extern "C" void ML_BSSN_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(Xt1_bound, "scalar")) { /* select scalar boundary condition */ - static CCTK_INT handle_Xt1_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_Xt1_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_Xt1_bound < 0) handle_Xt1_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_Xt1_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_Xt1_bound ,Xt1_bound_scalar, "SCALAR") < 0) @@ -1395,7 +1395,7 @@ extern "C" void ML_BSSN_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(Xt2_bound, "scalar")) { /* select scalar boundary condition */ - static CCTK_INT handle_Xt2_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_Xt2_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_Xt2_bound < 0) handle_Xt2_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_Xt2_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_Xt2_bound ,Xt2_bound_scalar, "SCALAR") < 0) @@ -1412,7 +1412,7 @@ extern "C" void ML_BSSN_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(Xt3_bound, "scalar")) { /* select scalar boundary condition */ - static CCTK_INT handle_Xt3_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_Xt3_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_Xt3_bound < 0) handle_Xt3_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_Xt3_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_Xt3_bound ,Xt3_bound_scalar, "SCALAR") < 0) @@ -1429,7 +1429,7 @@ extern "C" void ML_BSSN_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) @@ -1446,7 +1446,7 @@ extern "C" void ML_BSSN_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(phi_bound, "scalar")) { /* select scalar boundary condition */ - static CCTK_INT handle_phi_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_phi_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_phi_bound < 0) handle_phi_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_phi_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_phi_bound ,phi_bound_scalar, "SCALAR") < 0) @@ -1463,7 +1463,7 @@ extern "C" void ML_BSSN_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(gt11_bound, "scalar")) { /* select scalar boundary condition */ - static CCTK_INT handle_gt11_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_gt11_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_gt11_bound < 0) handle_gt11_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_gt11_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_gt11_bound ,gt11_bound_scalar, "SCALAR") < 0) @@ -1480,7 +1480,7 @@ extern "C" void ML_BSSN_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(gt12_bound, "scalar")) { /* select scalar boundary condition */ - static CCTK_INT handle_gt12_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_gt12_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_gt12_bound < 0) handle_gt12_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_gt12_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_gt12_bound ,gt12_bound_scalar, "SCALAR") < 0) @@ -1497,7 +1497,7 @@ extern "C" void ML_BSSN_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(gt13_bound, "scalar")) { /* select scalar boundary condition */ - static CCTK_INT handle_gt13_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_gt13_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_gt13_bound < 0) handle_gt13_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_gt13_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_gt13_bound ,gt13_bound_scalar, "SCALAR") < 0) @@ -1514,7 +1514,7 @@ extern "C" void ML_BSSN_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(gt22_bound, "scalar")) { /* select scalar boundary condition */ - static CCTK_INT handle_gt22_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_gt22_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_gt22_bound < 0) handle_gt22_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_gt22_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_gt22_bound ,gt22_bound_scalar, "SCALAR") < 0) @@ -1531,7 +1531,7 @@ extern "C" void ML_BSSN_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(gt23_bound, "scalar")) { /* select scalar boundary condition */ - static CCTK_INT handle_gt23_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_gt23_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_gt23_bound < 0) handle_gt23_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_gt23_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_gt23_bound ,gt23_bound_scalar, "SCALAR") < 0) @@ -1548,7 +1548,7 @@ extern "C" void ML_BSSN_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(gt33_bound, "scalar")) { /* select scalar boundary condition */ - static CCTK_INT handle_gt33_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_gt33_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_gt33_bound < 0) handle_gt33_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_gt33_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_gt33_bound ,gt33_bound_scalar, "SCALAR") < 0) @@ -1565,7 +1565,7 @@ extern "C" void ML_BSSN_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) @@ -1582,7 +1582,7 @@ extern "C" void ML_BSSN_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) @@ -1599,7 +1599,7 @@ extern "C" void ML_BSSN_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) @@ -1616,7 +1616,7 @@ extern "C" void ML_BSSN_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(trK_bound, "scalar")) { /* select scalar boundary condition */ - static CCTK_INT handle_trK_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_trK_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_trK_bound < 0) handle_trK_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_trK_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_trK_bound ,trK_bound_scalar, "SCALAR") < 0) diff --git a/ML_BSSN/src/Differencing.h b/ML_BSSN/src/Differencing.h index 076e95c..10528a9 100644 --- a/ML_BSSN/src/Differencing.h +++ b/ML_BSSN/src/Differencing.h @@ -2,1145 +2,1145 @@ #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 #ifndef KRANC_DIFF_FUNCTIONS -# define PDdissipationNthfdOrder21(u) (kmul(pm1o16dx,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(-4.),kmul(KRANC_GFOFFSET3D(u,0,0,0),ToReal(6.))))))) +# define PDdissipationNthfdOrder21(u) (kmul(pm1o16dx,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(-4),kmul(KRANC_GFOFFSET3D(u,0,0,0),ToReal(6))))))) #else # define PDdissipationNthfdOrder21(u) (PDdissipationNthfdOrder21_impl(u,pm1o16dx,cdj,cdk)) -static CCTK_REAL_VEC PDdissipationNthfdOrder21_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ pm1o16dx, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL_VEC PDdissipationNthfdOrder21_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ pm1o16dx, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDdissipationNthfdOrder21_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC pm1o16dx, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL_VEC PDdissipationNthfdOrder21_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC pm1o16dx, const ptrdiff_t cdj, const ptrdiff_t cdk) { - ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); - return kmul(pm1o16dx,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(-4.),kmul(KRANC_GFOFFSET3D(u,0,0,0),ToReal(6.)))))); + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); + return kmul(pm1o16dx,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(-4),kmul(KRANC_GFOFFSET3D(u,0,0,0),ToReal(6)))))); } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDdissipationNthfdOrder22(u) (kmul(pm1o16dy,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(-4.),kmul(KRANC_GFOFFSET3D(u,0,0,0),ToReal(6.))))))) +# define PDdissipationNthfdOrder22(u) (kmul(pm1o16dy,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(-4),kmul(KRANC_GFOFFSET3D(u,0,0,0),ToReal(6))))))) #else # define PDdissipationNthfdOrder22(u) (PDdissipationNthfdOrder22_impl(u,pm1o16dy,cdj,cdk)) -static CCTK_REAL_VEC PDdissipationNthfdOrder22_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ pm1o16dy, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL_VEC PDdissipationNthfdOrder22_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ pm1o16dy, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDdissipationNthfdOrder22_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC pm1o16dy, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL_VEC PDdissipationNthfdOrder22_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC pm1o16dy, const ptrdiff_t cdj, const ptrdiff_t cdk) { - ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); - return kmul(pm1o16dy,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(-4.),kmul(KRANC_GFOFFSET3D(u,0,0,0),ToReal(6.)))))); + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); + return kmul(pm1o16dy,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(-4),kmul(KRANC_GFOFFSET3D(u,0,0,0),ToReal(6)))))); } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDdissipationNthfdOrder23(u) (kmul(pm1o16dz,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(-4.),kmul(KRANC_GFOFFSET3D(u,0,0,0),ToReal(6.))))))) +# define PDdissipationNthfdOrder23(u) (kmul(pm1o16dz,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(-4),kmul(KRANC_GFOFFSET3D(u,0,0,0),ToReal(6))))))) #else # define PDdissipationNthfdOrder23(u) (PDdissipationNthfdOrder23_impl(u,pm1o16dz,cdj,cdk)) -static CCTK_REAL_VEC PDdissipationNthfdOrder23_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ pm1o16dz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL_VEC PDdissipationNthfdOrder23_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ pm1o16dz, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDdissipationNthfdOrder23_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC pm1o16dz, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL_VEC PDdissipationNthfdOrder23_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC pm1o16dz, const ptrdiff_t cdj, const ptrdiff_t cdk) { - ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); - return kmul(pm1o16dz,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(-4.),kmul(KRANC_GFOFFSET3D(u,0,0,0),ToReal(6.)))))); + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); + return PDdissipationNthfdOrder22_impl(u, pm1o16dz, cdk, cdj); } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDdissipationNthfdOrder41(u) (kmul(p1o64dx,kadd(KRANC_GFOFFSET3D(u,-3,0,0),kadd(KRANC_GFOFFSET3D(u,3,0,0),kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-20.),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,0),KRANC_GFOFFSET3D(u,2,0,0)),ToReal(-6.),kmul(kadd(KRANC_GFOFFSET3D(u,-1,0,0),KRANC_GFOFFSET3D(u,1,0,0)),ToReal(15.)))))))) +# define PDdissipationNthfdOrder41(u) (kmul(p1o64dx,kadd(KRANC_GFOFFSET3D(u,-3,0,0),kadd(KRANC_GFOFFSET3D(u,3,0,0),kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-20),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,0),KRANC_GFOFFSET3D(u,2,0,0)),ToReal(-6),kmul(kadd(KRANC_GFOFFSET3D(u,-1,0,0),KRANC_GFOFFSET3D(u,1,0,0)),ToReal(15)))))))) #else # define PDdissipationNthfdOrder41(u) (PDdissipationNthfdOrder41_impl(u,p1o64dx,cdj,cdk)) -static CCTK_REAL_VEC PDdissipationNthfdOrder41_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o64dx, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL_VEC PDdissipationNthfdOrder41_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o64dx, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDdissipationNthfdOrder41_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o64dx, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL_VEC PDdissipationNthfdOrder41_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o64dx, const ptrdiff_t cdj, const ptrdiff_t cdk) { - ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); - return kmul(p1o64dx,kadd(KRANC_GFOFFSET3D(u,-3,0,0),kadd(KRANC_GFOFFSET3D(u,3,0,0),kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-20.),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,0),KRANC_GFOFFSET3D(u,2,0,0)),ToReal(-6.),kmul(kadd(KRANC_GFOFFSET3D(u,-1,0,0),KRANC_GFOFFSET3D(u,1,0,0)),ToReal(15.))))))); + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); + return kmul(p1o64dx,kadd(KRANC_GFOFFSET3D(u,-3,0,0),kadd(KRANC_GFOFFSET3D(u,3,0,0),kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-20),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,0),KRANC_GFOFFSET3D(u,2,0,0)),ToReal(-6),kmul(kadd(KRANC_GFOFFSET3D(u,-1,0,0),KRANC_GFOFFSET3D(u,1,0,0)),ToReal(15))))))); } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDdissipationNthfdOrder42(u) (kmul(p1o64dy,kadd(KRANC_GFOFFSET3D(u,0,-3,0),kadd(KRANC_GFOFFSET3D(u,0,3,0),kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-20.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,0),KRANC_GFOFFSET3D(u,0,2,0)),ToReal(-6.),kmul(kadd(KRANC_GFOFFSET3D(u,0,-1,0),KRANC_GFOFFSET3D(u,0,1,0)),ToReal(15.)))))))) +# define PDdissipationNthfdOrder42(u) (kmul(p1o64dy,kadd(KRANC_GFOFFSET3D(u,0,-3,0),kadd(KRANC_GFOFFSET3D(u,0,3,0),kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-20),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,0),KRANC_GFOFFSET3D(u,0,2,0)),ToReal(-6),kmul(kadd(KRANC_GFOFFSET3D(u,0,-1,0),KRANC_GFOFFSET3D(u,0,1,0)),ToReal(15)))))))) #else # define PDdissipationNthfdOrder42(u) (PDdissipationNthfdOrder42_impl(u,p1o64dy,cdj,cdk)) -static CCTK_REAL_VEC PDdissipationNthfdOrder42_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o64dy, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL_VEC PDdissipationNthfdOrder42_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o64dy, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDdissipationNthfdOrder42_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o64dy, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL_VEC PDdissipationNthfdOrder42_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o64dy, const ptrdiff_t cdj, const ptrdiff_t cdk) { - ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); - return kmul(p1o64dy,kadd(KRANC_GFOFFSET3D(u,0,-3,0),kadd(KRANC_GFOFFSET3D(u,0,3,0),kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-20.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,0),KRANC_GFOFFSET3D(u,0,2,0)),ToReal(-6.),kmul(kadd(KRANC_GFOFFSET3D(u,0,-1,0),KRANC_GFOFFSET3D(u,0,1,0)),ToReal(15.))))))); + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); + return kmul(p1o64dy,kadd(KRANC_GFOFFSET3D(u,0,-3,0),kadd(KRANC_GFOFFSET3D(u,0,3,0),kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-20),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,0),KRANC_GFOFFSET3D(u,0,2,0)),ToReal(-6),kmul(kadd(KRANC_GFOFFSET3D(u,0,-1,0),KRANC_GFOFFSET3D(u,0,1,0)),ToReal(15))))))); } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDdissipationNthfdOrder43(u) (kmul(p1o64dz,kadd(KRANC_GFOFFSET3D(u,0,0,-3),kadd(KRANC_GFOFFSET3D(u,0,0,3),kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-20.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,0,-2),KRANC_GFOFFSET3D(u,0,0,2)),ToReal(-6.),kmul(kadd(KRANC_GFOFFSET3D(u,0,0,-1),KRANC_GFOFFSET3D(u,0,0,1)),ToReal(15.)))))))) +# define PDdissipationNthfdOrder43(u) (kmul(p1o64dz,kadd(KRANC_GFOFFSET3D(u,0,0,-3),kadd(KRANC_GFOFFSET3D(u,0,0,3),kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-20),kmadd(kadd(KRANC_GFOFFSET3D(u,0,0,-2),KRANC_GFOFFSET3D(u,0,0,2)),ToReal(-6),kmul(kadd(KRANC_GFOFFSET3D(u,0,0,-1),KRANC_GFOFFSET3D(u,0,0,1)),ToReal(15)))))))) #else # define PDdissipationNthfdOrder43(u) (PDdissipationNthfdOrder43_impl(u,p1o64dz,cdj,cdk)) -static CCTK_REAL_VEC PDdissipationNthfdOrder43_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o64dz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL_VEC PDdissipationNthfdOrder43_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o64dz, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDdissipationNthfdOrder43_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o64dz, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL_VEC PDdissipationNthfdOrder43_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o64dz, const ptrdiff_t cdj, const ptrdiff_t cdk) { - ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); - return kmul(p1o64dz,kadd(KRANC_GFOFFSET3D(u,0,0,-3),kadd(KRANC_GFOFFSET3D(u,0,0,3),kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-20.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,0,-2),KRANC_GFOFFSET3D(u,0,0,2)),ToReal(-6.),kmul(kadd(KRANC_GFOFFSET3D(u,0,0,-1),KRANC_GFOFFSET3D(u,0,0,1)),ToReal(15.))))))); + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); + return PDdissipationNthfdOrder42_impl(u, p1o64dz, cdk, cdj); } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDdissipationNthfdOrder61(u) (kmul(pm1o256dx,kadd(KRANC_GFOFFSET3D(u,-4,0,0),kadd(KRANC_GFOFFSET3D(u,4,0,0),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,0),KRANC_GFOFFSET3D(u,1,0,0)),ToReal(-56.),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,0,0),KRANC_GFOFFSET3D(u,3,0,0)),ToReal(-8.),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,0),KRANC_GFOFFSET3D(u,2,0,0)),ToReal(28.),kmul(KRANC_GFOFFSET3D(u,0,0,0),ToReal(70.))))))))) +# define PDdissipationNthfdOrder61(u) (kmul(pm1o256dx,kadd(KRANC_GFOFFSET3D(u,-4,0,0),kadd(KRANC_GFOFFSET3D(u,4,0,0),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,0),KRANC_GFOFFSET3D(u,1,0,0)),ToReal(-56),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,0,0),KRANC_GFOFFSET3D(u,3,0,0)),ToReal(-8),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,0),KRANC_GFOFFSET3D(u,2,0,0)),ToReal(28),kmul(KRANC_GFOFFSET3D(u,0,0,0),ToReal(70))))))))) #else # define PDdissipationNthfdOrder61(u) (PDdissipationNthfdOrder61_impl(u,pm1o256dx,cdj,cdk)) -static CCTK_REAL_VEC PDdissipationNthfdOrder61_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ pm1o256dx, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL_VEC PDdissipationNthfdOrder61_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ pm1o256dx, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDdissipationNthfdOrder61_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC pm1o256dx, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL_VEC PDdissipationNthfdOrder61_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC pm1o256dx, const ptrdiff_t cdj, const ptrdiff_t cdk) { - ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); - return kmul(pm1o256dx,kadd(KRANC_GFOFFSET3D(u,-4,0,0),kadd(KRANC_GFOFFSET3D(u,4,0,0),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,0),KRANC_GFOFFSET3D(u,1,0,0)),ToReal(-56.),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,0,0),KRANC_GFOFFSET3D(u,3,0,0)),ToReal(-8.),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,0),KRANC_GFOFFSET3D(u,2,0,0)),ToReal(28.),kmul(KRANC_GFOFFSET3D(u,0,0,0),ToReal(70.)))))))); + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); + return kmul(pm1o256dx,kadd(KRANC_GFOFFSET3D(u,-4,0,0),kadd(KRANC_GFOFFSET3D(u,4,0,0),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,0),KRANC_GFOFFSET3D(u,1,0,0)),ToReal(-56),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,0,0),KRANC_GFOFFSET3D(u,3,0,0)),ToReal(-8),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,0),KRANC_GFOFFSET3D(u,2,0,0)),ToReal(28),kmul(KRANC_GFOFFSET3D(u,0,0,0),ToReal(70)))))))); } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDdissipationNthfdOrder62(u) (kmul(pm1o256dy,kadd(KRANC_GFOFFSET3D(u,0,-4,0),kadd(KRANC_GFOFFSET3D(u,0,4,0),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,0),KRANC_GFOFFSET3D(u,0,1,0)),ToReal(-56.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-3,0),KRANC_GFOFFSET3D(u,0,3,0)),ToReal(-8.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,0),KRANC_GFOFFSET3D(u,0,2,0)),ToReal(28.),kmul(KRANC_GFOFFSET3D(u,0,0,0),ToReal(70.))))))))) +# define PDdissipationNthfdOrder62(u) (kmul(pm1o256dy,kadd(KRANC_GFOFFSET3D(u,0,-4,0),kadd(KRANC_GFOFFSET3D(u,0,4,0),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,0),KRANC_GFOFFSET3D(u,0,1,0)),ToReal(-56),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-3,0),KRANC_GFOFFSET3D(u,0,3,0)),ToReal(-8),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,0),KRANC_GFOFFSET3D(u,0,2,0)),ToReal(28),kmul(KRANC_GFOFFSET3D(u,0,0,0),ToReal(70))))))))) #else # define PDdissipationNthfdOrder62(u) (PDdissipationNthfdOrder62_impl(u,pm1o256dy,cdj,cdk)) -static CCTK_REAL_VEC PDdissipationNthfdOrder62_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ pm1o256dy, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL_VEC PDdissipationNthfdOrder62_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ pm1o256dy, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDdissipationNthfdOrder62_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC pm1o256dy, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL_VEC PDdissipationNthfdOrder62_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC pm1o256dy, const ptrdiff_t cdj, const ptrdiff_t cdk) { - ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); - return kmul(pm1o256dy,kadd(KRANC_GFOFFSET3D(u,0,-4,0),kadd(KRANC_GFOFFSET3D(u,0,4,0),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,0),KRANC_GFOFFSET3D(u,0,1,0)),ToReal(-56.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-3,0),KRANC_GFOFFSET3D(u,0,3,0)),ToReal(-8.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,0),KRANC_GFOFFSET3D(u,0,2,0)),ToReal(28.),kmul(KRANC_GFOFFSET3D(u,0,0,0),ToReal(70.)))))))); + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); + return kmul(pm1o256dy,kadd(KRANC_GFOFFSET3D(u,0,-4,0),kadd(KRANC_GFOFFSET3D(u,0,4,0),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,0),KRANC_GFOFFSET3D(u,0,1,0)),ToReal(-56),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-3,0),KRANC_GFOFFSET3D(u,0,3,0)),ToReal(-8),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,0),KRANC_GFOFFSET3D(u,0,2,0)),ToReal(28),kmul(KRANC_GFOFFSET3D(u,0,0,0),ToReal(70)))))))); } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDdissipationNthfdOrder63(u) (kmul(pm1o256dz,kadd(KRANC_GFOFFSET3D(u,0,0,-4),kadd(KRANC_GFOFFSET3D(u,0,0,4),kmadd(kadd(KRANC_GFOFFSET3D(u,0,0,-1),KRANC_GFOFFSET3D(u,0,0,1)),ToReal(-56.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,0,-3),KRANC_GFOFFSET3D(u,0,0,3)),ToReal(-8.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,0,-2),KRANC_GFOFFSET3D(u,0,0,2)),ToReal(28.),kmul(KRANC_GFOFFSET3D(u,0,0,0),ToReal(70.))))))))) +# define PDdissipationNthfdOrder63(u) (kmul(pm1o256dz,kadd(KRANC_GFOFFSET3D(u,0,0,-4),kadd(KRANC_GFOFFSET3D(u,0,0,4),kmadd(kadd(KRANC_GFOFFSET3D(u,0,0,-1),KRANC_GFOFFSET3D(u,0,0,1)),ToReal(-56),kmadd(kadd(KRANC_GFOFFSET3D(u,0,0,-3),KRANC_GFOFFSET3D(u,0,0,3)),ToReal(-8),kmadd(kadd(KRANC_GFOFFSET3D(u,0,0,-2),KRANC_GFOFFSET3D(u,0,0,2)),ToReal(28),kmul(KRANC_GFOFFSET3D(u,0,0,0),ToReal(70))))))))) #else # define PDdissipationNthfdOrder63(u) (PDdissipationNthfdOrder63_impl(u,pm1o256dz,cdj,cdk)) -static CCTK_REAL_VEC PDdissipationNthfdOrder63_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ pm1o256dz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL_VEC PDdissipationNthfdOrder63_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ pm1o256dz, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDdissipationNthfdOrder63_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC pm1o256dz, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL_VEC PDdissipationNthfdOrder63_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC pm1o256dz, const ptrdiff_t cdj, const ptrdiff_t cdk) { - ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); - return kmul(pm1o256dz,kadd(KRANC_GFOFFSET3D(u,0,0,-4),kadd(KRANC_GFOFFSET3D(u,0,0,4),kmadd(kadd(KRANC_GFOFFSET3D(u,0,0,-1),KRANC_GFOFFSET3D(u,0,0,1)),ToReal(-56.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,0,-3),KRANC_GFOFFSET3D(u,0,0,3)),ToReal(-8.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,0,-2),KRANC_GFOFFSET3D(u,0,0,2)),ToReal(28.),kmul(KRANC_GFOFFSET3D(u,0,0,0),ToReal(70.)))))))); + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); + return PDdissipationNthfdOrder62_impl(u, pm1o256dz, cdk, cdj); } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDdissipationNthfdOrder81(u) (kmul(p1o1024dx,kadd(KRANC_GFOFFSET3D(u,-5,0,0),kadd(KRANC_GFOFFSET3D(u,5,0,0),kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-252.),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,0),KRANC_GFOFFSET3D(u,2,0,0)),ToReal(-120.),kmadd(kadd(KRANC_GFOFFSET3D(u,-4,0,0),KRANC_GFOFFSET3D(u,4,0,0)),ToReal(-10.),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,0,0),KRANC_GFOFFSET3D(u,3,0,0)),ToReal(45.),kmul(kadd(KRANC_GFOFFSET3D(u,-1,0,0),KRANC_GFOFFSET3D(u,1,0,0)),ToReal(210.)))))))))) +# define PDdissipationNthfdOrder81(u) (kmul(p1o1024dx,kadd(KRANC_GFOFFSET3D(u,-5,0,0),kadd(KRANC_GFOFFSET3D(u,5,0,0),kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-252),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,0),KRANC_GFOFFSET3D(u,2,0,0)),ToReal(-120),kmadd(kadd(KRANC_GFOFFSET3D(u,-4,0,0),KRANC_GFOFFSET3D(u,4,0,0)),ToReal(-10),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,0,0),KRANC_GFOFFSET3D(u,3,0,0)),ToReal(45),kmul(kadd(KRANC_GFOFFSET3D(u,-1,0,0),KRANC_GFOFFSET3D(u,1,0,0)),ToReal(210)))))))))) #else # define PDdissipationNthfdOrder81(u) (PDdissipationNthfdOrder81_impl(u,p1o1024dx,cdj,cdk)) -static CCTK_REAL_VEC PDdissipationNthfdOrder81_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o1024dx, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL_VEC PDdissipationNthfdOrder81_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o1024dx, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDdissipationNthfdOrder81_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o1024dx, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL_VEC PDdissipationNthfdOrder81_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o1024dx, const ptrdiff_t cdj, const ptrdiff_t cdk) { - ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); - return kmul(p1o1024dx,kadd(KRANC_GFOFFSET3D(u,-5,0,0),kadd(KRANC_GFOFFSET3D(u,5,0,0),kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-252.),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,0),KRANC_GFOFFSET3D(u,2,0,0)),ToReal(-120.),kmadd(kadd(KRANC_GFOFFSET3D(u,-4,0,0),KRANC_GFOFFSET3D(u,4,0,0)),ToReal(-10.),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,0,0),KRANC_GFOFFSET3D(u,3,0,0)),ToReal(45.),kmul(kadd(KRANC_GFOFFSET3D(u,-1,0,0),KRANC_GFOFFSET3D(u,1,0,0)),ToReal(210.))))))))); + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); + return kmul(p1o1024dx,kadd(KRANC_GFOFFSET3D(u,-5,0,0),kadd(KRANC_GFOFFSET3D(u,5,0,0),kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-252),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,0),KRANC_GFOFFSET3D(u,2,0,0)),ToReal(-120),kmadd(kadd(KRANC_GFOFFSET3D(u,-4,0,0),KRANC_GFOFFSET3D(u,4,0,0)),ToReal(-10),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,0,0),KRANC_GFOFFSET3D(u,3,0,0)),ToReal(45),kmul(kadd(KRANC_GFOFFSET3D(u,-1,0,0),KRANC_GFOFFSET3D(u,1,0,0)),ToReal(210))))))))); } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDdissipationNthfdOrder82(u) (kmul(p1o1024dy,kadd(KRANC_GFOFFSET3D(u,0,-5,0),kadd(KRANC_GFOFFSET3D(u,0,5,0),kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-252.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,0),KRANC_GFOFFSET3D(u,0,2,0)),ToReal(-120.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-4,0),KRANC_GFOFFSET3D(u,0,4,0)),ToReal(-10.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-3,0),KRANC_GFOFFSET3D(u,0,3,0)),ToReal(45.),kmul(kadd(KRANC_GFOFFSET3D(u,0,-1,0),KRANC_GFOFFSET3D(u,0,1,0)),ToReal(210.)))))))))) +# define PDdissipationNthfdOrder82(u) (kmul(p1o1024dy,kadd(KRANC_GFOFFSET3D(u,0,-5,0),kadd(KRANC_GFOFFSET3D(u,0,5,0),kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-252),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,0),KRANC_GFOFFSET3D(u,0,2,0)),ToReal(-120),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-4,0),KRANC_GFOFFSET3D(u,0,4,0)),ToReal(-10),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-3,0),KRANC_GFOFFSET3D(u,0,3,0)),ToReal(45),kmul(kadd(KRANC_GFOFFSET3D(u,0,-1,0),KRANC_GFOFFSET3D(u,0,1,0)),ToReal(210)))))))))) #else # define PDdissipationNthfdOrder82(u) (PDdissipationNthfdOrder82_impl(u,p1o1024dy,cdj,cdk)) -static CCTK_REAL_VEC PDdissipationNthfdOrder82_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o1024dy, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL_VEC PDdissipationNthfdOrder82_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o1024dy, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDdissipationNthfdOrder82_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o1024dy, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL_VEC PDdissipationNthfdOrder82_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o1024dy, const ptrdiff_t cdj, const ptrdiff_t cdk) { - ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); - return kmul(p1o1024dy,kadd(KRANC_GFOFFSET3D(u,0,-5,0),kadd(KRANC_GFOFFSET3D(u,0,5,0),kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-252.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,0),KRANC_GFOFFSET3D(u,0,2,0)),ToReal(-120.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-4,0),KRANC_GFOFFSET3D(u,0,4,0)),ToReal(-10.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-3,0),KRANC_GFOFFSET3D(u,0,3,0)),ToReal(45.),kmul(kadd(KRANC_GFOFFSET3D(u,0,-1,0),KRANC_GFOFFSET3D(u,0,1,0)),ToReal(210.))))))))); + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); + return kmul(p1o1024dy,kadd(KRANC_GFOFFSET3D(u,0,-5,0),kadd(KRANC_GFOFFSET3D(u,0,5,0),kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-252),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,0),KRANC_GFOFFSET3D(u,0,2,0)),ToReal(-120),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-4,0),KRANC_GFOFFSET3D(u,0,4,0)),ToReal(-10),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-3,0),KRANC_GFOFFSET3D(u,0,3,0)),ToReal(45),kmul(kadd(KRANC_GFOFFSET3D(u,0,-1,0),KRANC_GFOFFSET3D(u,0,1,0)),ToReal(210))))))))); } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDdissipationNthfdOrder83(u) (kmul(p1o1024dz,kadd(KRANC_GFOFFSET3D(u,0,0,-5),kadd(KRANC_GFOFFSET3D(u,0,0,5),kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-252.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,0,-2),KRANC_GFOFFSET3D(u,0,0,2)),ToReal(-120.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,0,-4),KRANC_GFOFFSET3D(u,0,0,4)),ToReal(-10.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,0,-3),KRANC_GFOFFSET3D(u,0,0,3)),ToReal(45.),kmul(kadd(KRANC_GFOFFSET3D(u,0,0,-1),KRANC_GFOFFSET3D(u,0,0,1)),ToReal(210.)))))))))) +# define PDdissipationNthfdOrder83(u) (kmul(p1o1024dz,kadd(KRANC_GFOFFSET3D(u,0,0,-5),kadd(KRANC_GFOFFSET3D(u,0,0,5),kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-252),kmadd(kadd(KRANC_GFOFFSET3D(u,0,0,-2),KRANC_GFOFFSET3D(u,0,0,2)),ToReal(-120),kmadd(kadd(KRANC_GFOFFSET3D(u,0,0,-4),KRANC_GFOFFSET3D(u,0,0,4)),ToReal(-10),kmadd(kadd(KRANC_GFOFFSET3D(u,0,0,-3),KRANC_GFOFFSET3D(u,0,0,3)),ToReal(45),kmul(kadd(KRANC_GFOFFSET3D(u,0,0,-1),KRANC_GFOFFSET3D(u,0,0,1)),ToReal(210)))))))))) #else # define PDdissipationNthfdOrder83(u) (PDdissipationNthfdOrder83_impl(u,p1o1024dz,cdj,cdk)) -static CCTK_REAL_VEC PDdissipationNthfdOrder83_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o1024dz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL_VEC PDdissipationNthfdOrder83_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o1024dz, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDdissipationNthfdOrder83_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o1024dz, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL_VEC PDdissipationNthfdOrder83_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o1024dz, const ptrdiff_t cdj, const ptrdiff_t cdk) { - ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); - return kmul(p1o1024dz,kadd(KRANC_GFOFFSET3D(u,0,0,-5),kadd(KRANC_GFOFFSET3D(u,0,0,5),kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-252.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,0,-2),KRANC_GFOFFSET3D(u,0,0,2)),ToReal(-120.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,0,-4),KRANC_GFOFFSET3D(u,0,0,4)),ToReal(-10.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,0,-3),KRANC_GFOFFSET3D(u,0,0,3)),ToReal(45.),kmul(kadd(KRANC_GFOFFSET3D(u,0,0,-1),KRANC_GFOFFSET3D(u,0,0,1)),ToReal(210.))))))))); + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); + return PDdissipationNthfdOrder82_impl(u, p1o1024dz, cdk, cdj); } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDupwindNthfdOrder21(u) (kmul(pm1o2dx,kmul(dir1,kadd(KRANC_GFOFFSET3D(u,2,0,0),kmadd(KRANC_GFOFFSET3D(u,1,0,0),ToReal(-4.),kmul(KRANC_GFOFFSET3D(u,0,0,0),ToReal(3.))))))) +# define PDupwindNthfdOrder21(u) (kmul(pm1o2dx,kmul(dir1,kadd(KRANC_GFOFFSET3D(u,2,0,0),kmadd(KRANC_GFOFFSET3D(u,1,0,0),ToReal(-4),kmul(KRANC_GFOFFSET3D(u,0,0,0),ToReal(3))))))) #else # define PDupwindNthfdOrder21(u) (PDupwindNthfdOrder21_impl(u,pm1o2dx,cdj,cdk)) -static CCTK_REAL_VEC PDupwindNthfdOrder21_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ pm1o2dx, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL_VEC PDupwindNthfdOrder21_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ pm1o2dx, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDupwindNthfdOrder21_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC pm1o2dx, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL_VEC PDupwindNthfdOrder21_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC pm1o2dx, const ptrdiff_t cdj, const ptrdiff_t cdk) { assert(0); return ToReal(1e30); /* ERROR */ } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDupwindNthfdOrder41(u) (kmul(p1o12dx,kmul(dir1,kadd(KRANC_GFOFFSET3D(u,3,0,0),kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-10.),kmadd(KRANC_GFOFFSET3D(u,2,0,0),ToReal(-6.),kmadd(KRANC_GFOFFSET3D(u,-1,0,0),ToReal(-3.),kmul(KRANC_GFOFFSET3D(u,1,0,0),ToReal(18.))))))))) +# define PDupwindNthfdOrder41(u) (kmul(p1o12dx,kmul(dir1,kadd(KRANC_GFOFFSET3D(u,3,0,0),kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-10),kmadd(KRANC_GFOFFSET3D(u,2,0,0),ToReal(-6),kmadd(KRANC_GFOFFSET3D(u,-1,0,0),ToReal(-3),kmul(KRANC_GFOFFSET3D(u,1,0,0),ToReal(18))))))))) #else # define PDupwindNthfdOrder41(u) (PDupwindNthfdOrder41_impl(u,p1o12dx,cdj,cdk)) -static CCTK_REAL_VEC PDupwindNthfdOrder41_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 PDupwindNthfdOrder41_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o12dx, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDupwindNthfdOrder41_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 PDupwindNthfdOrder41_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o12dx, const ptrdiff_t cdj, const ptrdiff_t cdk) { assert(0); return ToReal(1e30); /* ERROR */ } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDupwindNthfdOrder61(u) (kmul(pm1o60dx,kmul(dir1,kadd(KRANC_GFOFFSET3D(u,4,0,0),kmadd(KRANC_GFOFFSET3D(u,1,0,0),ToReal(-80.),kmadd(KRANC_GFOFFSET3D(u,3,0,0),ToReal(-8.),kmadd(KRANC_GFOFFSET3D(u,-2,0,0),ToReal(-2.),kmadd(KRANC_GFOFFSET3D(u,-1,0,0),ToReal(24.),kmadd(KRANC_GFOFFSET3D(u,2,0,0),ToReal(30.),kmul(KRANC_GFOFFSET3D(u,0,0,0),ToReal(35.))))))))))) +# define PDupwindNthfdOrder61(u) (kmul(pm1o60dx,kmul(dir1,kadd(KRANC_GFOFFSET3D(u,4,0,0),kmadd(KRANC_GFOFFSET3D(u,1,0,0),ToReal(-80),kmadd(KRANC_GFOFFSET3D(u,3,0,0),ToReal(-8),kmadd(KRANC_GFOFFSET3D(u,-2,0,0),ToReal(-2),kmadd(KRANC_GFOFFSET3D(u,-1,0,0),ToReal(24),kmadd(KRANC_GFOFFSET3D(u,2,0,0),ToReal(30),kmul(KRANC_GFOFFSET3D(u,0,0,0),ToReal(35))))))))))) #else # define PDupwindNthfdOrder61(u) (PDupwindNthfdOrder61_impl(u,pm1o60dx,cdj,cdk)) -static CCTK_REAL_VEC PDupwindNthfdOrder61_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ pm1o60dx, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL_VEC PDupwindNthfdOrder61_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ pm1o60dx, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDupwindNthfdOrder61_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC pm1o60dx, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL_VEC PDupwindNthfdOrder61_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC pm1o60dx, const ptrdiff_t cdj, const ptrdiff_t cdk) { assert(0); return ToReal(1e30); /* ERROR */ } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDupwindNthfdOrder81(u) (kmul(p1o840dx,kmul(dir1,kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-378.),kmadd(KRANC_GFOFFSET3D(u,5,0,0),ToReal(3.),kmul(ToReal(-5.),kadd(KRANC_GFOFFSET3D(u,-3,0,0),kmadd(KRANC_GFOFFSET3D(u,1,0,0),ToReal(-210.),kmadd(KRANC_GFOFFSET3D(u,3,0,0),ToReal(-28.),kmadd(KRANC_GFOFFSET3D(u,-2,0,0),ToReal(-12.),kmadd(KRANC_GFOFFSET3D(u,4,0,0),ToReal(6.),kmul(kadd(KRANC_GFOFFSET3D(u,-1,0,0),KRANC_GFOFFSET3D(u,2,0,0)),ToReal(84.))))))))))))) +# define PDupwindNthfdOrder81(u) (kmul(p1o840dx,kmul(dir1,kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-378),kmadd(KRANC_GFOFFSET3D(u,5,0,0),ToReal(3),kmul(ToReal(-5),kadd(KRANC_GFOFFSET3D(u,-3,0,0),kmadd(KRANC_GFOFFSET3D(u,1,0,0),ToReal(-210),kmadd(KRANC_GFOFFSET3D(u,3,0,0),ToReal(-28),kmadd(KRANC_GFOFFSET3D(u,-2,0,0),ToReal(-12),kmadd(KRANC_GFOFFSET3D(u,4,0,0),ToReal(6),kmul(kadd(KRANC_GFOFFSET3D(u,-1,0,0),KRANC_GFOFFSET3D(u,2,0,0)),ToReal(84))))))))))))) #else # define PDupwindNthfdOrder81(u) (PDupwindNthfdOrder81_impl(u,p1o840dx,cdj,cdk)) -static CCTK_REAL_VEC PDupwindNthfdOrder81_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 PDupwindNthfdOrder81_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o840dx, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDupwindNthfdOrder81_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 PDupwindNthfdOrder81_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o840dx, const ptrdiff_t cdj, const ptrdiff_t cdk) { assert(0); return ToReal(1e30); /* ERROR */ } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDupwindNthAntifdOrder21(u) (kmul(p1o4dx,kadd(KRANC_GFOFFSET3D(u,-2,0,0),kmadd(KRANC_GFOFFSET3D(u,-1,0,0),ToReal(-4.),kmadd(KRANC_GFOFFSET3D(u,2,0,0),ToReal(-1.),kmul(KRANC_GFOFFSET3D(u,1,0,0),ToReal(4.))))))) +# define PDupwindNthAntifdOrder21(u) (kmul(p1o4dx,kadd(KRANC_GFOFFSET3D(u,-2,0,0),kmadd(KRANC_GFOFFSET3D(u,-1,0,0),ToReal(-4),kmsub(KRANC_GFOFFSET3D(u,1,0,0),ToReal(4),KRANC_GFOFFSET3D(u,2,0,0)))))) #else # define PDupwindNthAntifdOrder21(u) (PDupwindNthAntifdOrder21_impl(u,p1o4dx,cdj,cdk)) -static CCTK_REAL_VEC PDupwindNthAntifdOrder21_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o4dx, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL_VEC PDupwindNthAntifdOrder21_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o4dx, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDupwindNthAntifdOrder21_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o4dx, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL_VEC PDupwindNthAntifdOrder21_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o4dx, const ptrdiff_t cdj, const ptrdiff_t cdk) { - ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); - return kmul(p1o4dx,kadd(KRANC_GFOFFSET3D(u,-2,0,0),kmadd(KRANC_GFOFFSET3D(u,-1,0,0),ToReal(-4.),kmadd(KRANC_GFOFFSET3D(u,2,0,0),ToReal(-1.),kmul(KRANC_GFOFFSET3D(u,1,0,0),ToReal(4.)))))); + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); + return kmul(p1o4dx,kadd(KRANC_GFOFFSET3D(u,-2,0,0),kmadd(KRANC_GFOFFSET3D(u,-1,0,0),ToReal(-4),kmsub(KRANC_GFOFFSET3D(u,1,0,0),ToReal(4),KRANC_GFOFFSET3D(u,2,0,0))))); } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDupwindNthAntifdOrder41(u) (kmul(p1o24dx,kadd(KRANC_GFOFFSET3D(u,3,0,0),kmadd(KRANC_GFOFFSET3D(u,-1,0,0),ToReal(-21.),kmadd(KRANC_GFOFFSET3D(u,2,0,0),ToReal(-6.),kmadd(KRANC_GFOFFSET3D(u,-3,0,0),ToReal(-1.),kmadd(KRANC_GFOFFSET3D(u,-2,0,0),ToReal(6.),kmul(KRANC_GFOFFSET3D(u,1,0,0),ToReal(21.))))))))) +# define PDupwindNthAntifdOrder41(u) (kmul(p1o24dx,kadd(KRANC_GFOFFSET3D(u,3,0,0),kmadd(KRANC_GFOFFSET3D(u,-1,0,0),ToReal(-21),kmadd(KRANC_GFOFFSET3D(u,2,0,0),ToReal(-6),ksub(kmadd(KRANC_GFOFFSET3D(u,-2,0,0),ToReal(6),kmul(KRANC_GFOFFSET3D(u,1,0,0),ToReal(21))),KRANC_GFOFFSET3D(u,-3,0,0))))))) #else # define PDupwindNthAntifdOrder41(u) (PDupwindNthAntifdOrder41_impl(u,p1o24dx,cdj,cdk)) -static CCTK_REAL_VEC PDupwindNthAntifdOrder41_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o24dx, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL_VEC PDupwindNthAntifdOrder41_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o24dx, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDupwindNthAntifdOrder41_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o24dx, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL_VEC PDupwindNthAntifdOrder41_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o24dx, const ptrdiff_t cdj, const ptrdiff_t cdk) { - ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); - return kmul(p1o24dx,kadd(KRANC_GFOFFSET3D(u,3,0,0),kmadd(KRANC_GFOFFSET3D(u,-1,0,0),ToReal(-21.),kmadd(KRANC_GFOFFSET3D(u,2,0,0),ToReal(-6.),kmadd(KRANC_GFOFFSET3D(u,-3,0,0),ToReal(-1.),kmadd(KRANC_GFOFFSET3D(u,-2,0,0),ToReal(6.),kmul(KRANC_GFOFFSET3D(u,1,0,0),ToReal(21.)))))))); + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); + return kmul(p1o24dx,kadd(KRANC_GFOFFSET3D(u,3,0,0),kmadd(KRANC_GFOFFSET3D(u,-1,0,0),ToReal(-21),kmadd(KRANC_GFOFFSET3D(u,2,0,0),ToReal(-6),ksub(kmadd(KRANC_GFOFFSET3D(u,-2,0,0),ToReal(6),kmul(KRANC_GFOFFSET3D(u,1,0,0),ToReal(21))),KRANC_GFOFFSET3D(u,-3,0,0)))))); } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDupwindNthAntifdOrder61(u) (kmul(p1o120dx,kadd(KRANC_GFOFFSET3D(u,-4,0,0),kmadd(KRANC_GFOFFSET3D(u,-1,0,0),ToReal(-104.),kmadd(KRANC_GFOFFSET3D(u,2,0,0),ToReal(-32.),kmadd(KRANC_GFOFFSET3D(u,-3,0,0),ToReal(-8.),kmadd(KRANC_GFOFFSET3D(u,4,0,0),ToReal(-1.),kmadd(KRANC_GFOFFSET3D(u,3,0,0),ToReal(8.),kmadd(KRANC_GFOFFSET3D(u,-2,0,0),ToReal(32.),kmul(KRANC_GFOFFSET3D(u,1,0,0),ToReal(104.))))))))))) +# define PDupwindNthAntifdOrder61(u) (kmul(p1o120dx,kadd(KRANC_GFOFFSET3D(u,-4,0,0),kmadd(KRANC_GFOFFSET3D(u,-1,0,0),ToReal(-104),kmadd(KRANC_GFOFFSET3D(u,2,0,0),ToReal(-32),kmadd(KRANC_GFOFFSET3D(u,-3,0,0),ToReal(-8),ksub(kmadd(KRANC_GFOFFSET3D(u,3,0,0),ToReal(8),kmadd(KRANC_GFOFFSET3D(u,-2,0,0),ToReal(32),kmul(KRANC_GFOFFSET3D(u,1,0,0),ToReal(104)))),KRANC_GFOFFSET3D(u,4,0,0)))))))) #else # define PDupwindNthAntifdOrder61(u) (PDupwindNthAntifdOrder61_impl(u,p1o120dx,cdj,cdk)) -static CCTK_REAL_VEC PDupwindNthAntifdOrder61_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o120dx, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL_VEC PDupwindNthAntifdOrder61_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o120dx, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDupwindNthAntifdOrder61_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o120dx, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL_VEC PDupwindNthAntifdOrder61_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o120dx, const ptrdiff_t cdj, const ptrdiff_t cdk) { - ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); - return kmul(p1o120dx,kadd(KRANC_GFOFFSET3D(u,-4,0,0),kmadd(KRANC_GFOFFSET3D(u,-1,0,0),ToReal(-104.),kmadd(KRANC_GFOFFSET3D(u,2,0,0),ToReal(-32.),kmadd(KRANC_GFOFFSET3D(u,-3,0,0),ToReal(-8.),kmadd(KRANC_GFOFFSET3D(u,4,0,0),ToReal(-1.),kmadd(KRANC_GFOFFSET3D(u,3,0,0),ToReal(8.),kmadd(KRANC_GFOFFSET3D(u,-2,0,0),ToReal(32.),kmul(KRANC_GFOFFSET3D(u,1,0,0),ToReal(104.)))))))))); + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); + return kmul(p1o120dx,kadd(KRANC_GFOFFSET3D(u,-4,0,0),kmadd(KRANC_GFOFFSET3D(u,-1,0,0),ToReal(-104),kmadd(KRANC_GFOFFSET3D(u,2,0,0),ToReal(-32),kmadd(KRANC_GFOFFSET3D(u,-3,0,0),ToReal(-8),ksub(kmadd(KRANC_GFOFFSET3D(u,3,0,0),ToReal(8),kmadd(KRANC_GFOFFSET3D(u,-2,0,0),ToReal(32),kmul(KRANC_GFOFFSET3D(u,1,0,0),ToReal(104)))),KRANC_GFOFFSET3D(u,4,0,0))))))); } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDupwindNthAntifdOrder81(u) (kmul(p1o1680dx,kmadd(KRANC_GFOFFSET3D(u,-1,0,0),ToReal(-1470.),kmadd(KRANC_GFOFFSET3D(u,2,0,0),ToReal(-480.),kmadd(KRANC_GFOFFSET3D(u,-3,0,0),ToReal(-145.),kmadd(KRANC_GFOFFSET3D(u,4,0,0),ToReal(-30.),kmadd(KRANC_GFOFFSET3D(u,-5,0,0),ToReal(-3.),kmadd(KRANC_GFOFFSET3D(u,5,0,0),ToReal(3.),kmadd(KRANC_GFOFFSET3D(u,-4,0,0),ToReal(30.),kmadd(KRANC_GFOFFSET3D(u,3,0,0),ToReal(145.),kmadd(KRANC_GFOFFSET3D(u,-2,0,0),ToReal(480.),kmul(KRANC_GFOFFSET3D(u,1,0,0),ToReal(1470.))))))))))))) +# define PDupwindNthAntifdOrder81(u) (kmul(p1o1680dx,kmadd(KRANC_GFOFFSET3D(u,-1,0,0),ToReal(-1470),kmadd(KRANC_GFOFFSET3D(u,2,0,0),ToReal(-480),kmadd(KRANC_GFOFFSET3D(u,-3,0,0),ToReal(-145),kmadd(KRANC_GFOFFSET3D(u,4,0,0),ToReal(-30),kmadd(KRANC_GFOFFSET3D(u,-5,0,0),ToReal(-3),kmadd(KRANC_GFOFFSET3D(u,5,0,0),ToReal(3),kmadd(KRANC_GFOFFSET3D(u,-4,0,0),ToReal(30),kmadd(KRANC_GFOFFSET3D(u,3,0,0),ToReal(145),kmadd(KRANC_GFOFFSET3D(u,-2,0,0),ToReal(480),kmul(KRANC_GFOFFSET3D(u,1,0,0),ToReal(1470))))))))))))) #else # define PDupwindNthAntifdOrder81(u) (PDupwindNthAntifdOrder81_impl(u,p1o1680dx,cdj,cdk)) -static CCTK_REAL_VEC PDupwindNthAntifdOrder81_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o1680dx, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL_VEC PDupwindNthAntifdOrder81_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o1680dx, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDupwindNthAntifdOrder81_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o1680dx, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL_VEC PDupwindNthAntifdOrder81_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o1680dx, const ptrdiff_t cdj, const ptrdiff_t cdk) { - ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); - return kmul(p1o1680dx,kmadd(KRANC_GFOFFSET3D(u,-1,0,0),ToReal(-1470.),kmadd(KRANC_GFOFFSET3D(u,2,0,0),ToReal(-480.),kmadd(KRANC_GFOFFSET3D(u,-3,0,0),ToReal(-145.),kmadd(KRANC_GFOFFSET3D(u,4,0,0),ToReal(-30.),kmadd(KRANC_GFOFFSET3D(u,-5,0,0),ToReal(-3.),kmadd(KRANC_GFOFFSET3D(u,5,0,0),ToReal(3.),kmadd(KRANC_GFOFFSET3D(u,-4,0,0),ToReal(30.),kmadd(KRANC_GFOFFSET3D(u,3,0,0),ToReal(145.),kmadd(KRANC_GFOFFSET3D(u,-2,0,0),ToReal(480.),kmul(KRANC_GFOFFSET3D(u,1,0,0),ToReal(1470.)))))))))))); + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); + return kmul(p1o1680dx,kmadd(KRANC_GFOFFSET3D(u,-1,0,0),ToReal(-1470),kmadd(KRANC_GFOFFSET3D(u,2,0,0),ToReal(-480),kmadd(KRANC_GFOFFSET3D(u,-3,0,0),ToReal(-145),kmadd(KRANC_GFOFFSET3D(u,4,0,0),ToReal(-30),kmadd(KRANC_GFOFFSET3D(u,-5,0,0),ToReal(-3),kmadd(KRANC_GFOFFSET3D(u,5,0,0),ToReal(3),kmadd(KRANC_GFOFFSET3D(u,-4,0,0),ToReal(30),kmadd(KRANC_GFOFFSET3D(u,3,0,0),ToReal(145),kmadd(KRANC_GFOFFSET3D(u,-2,0,0),ToReal(480),kmul(KRANC_GFOFFSET3D(u,1,0,0),ToReal(1470)))))))))))); } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDupwindNthSymmfdOrder21(u) (kmul(pm1o4dx,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(-4.),kmul(KRANC_GFOFFSET3D(u,0,0,0),ToReal(6.))))))) +# define PDupwindNthSymmfdOrder21(u) (kmul(pm1o4dx,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(-4),kmul(KRANC_GFOFFSET3D(u,0,0,0),ToReal(6))))))) #else # define PDupwindNthSymmfdOrder21(u) (PDupwindNthSymmfdOrder21_impl(u,pm1o4dx,cdj,cdk)) -static CCTK_REAL_VEC PDupwindNthSymmfdOrder21_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ pm1o4dx, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL_VEC PDupwindNthSymmfdOrder21_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ pm1o4dx, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDupwindNthSymmfdOrder21_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC pm1o4dx, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL_VEC PDupwindNthSymmfdOrder21_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC pm1o4dx, const ptrdiff_t cdj, const ptrdiff_t cdk) { - ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); - return kmul(pm1o4dx,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(-4.),kmul(KRANC_GFOFFSET3D(u,0,0,0),ToReal(6.)))))); + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); + return kmul(pm1o4dx,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(-4),kmul(KRANC_GFOFFSET3D(u,0,0,0),ToReal(6)))))); } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDupwindNthSymmfdOrder41(u) (kmul(p1o24dx,kadd(KRANC_GFOFFSET3D(u,-3,0,0),kadd(KRANC_GFOFFSET3D(u,3,0,0),kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-20.),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,0),KRANC_GFOFFSET3D(u,2,0,0)),ToReal(-6.),kmul(kadd(KRANC_GFOFFSET3D(u,-1,0,0),KRANC_GFOFFSET3D(u,1,0,0)),ToReal(15.)))))))) +# define PDupwindNthSymmfdOrder41(u) (kmul(p1o24dx,kadd(KRANC_GFOFFSET3D(u,-3,0,0),kadd(KRANC_GFOFFSET3D(u,3,0,0),kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-20),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,0),KRANC_GFOFFSET3D(u,2,0,0)),ToReal(-6),kmul(kadd(KRANC_GFOFFSET3D(u,-1,0,0),KRANC_GFOFFSET3D(u,1,0,0)),ToReal(15)))))))) #else # define PDupwindNthSymmfdOrder41(u) (PDupwindNthSymmfdOrder41_impl(u,p1o24dx,cdj,cdk)) -static CCTK_REAL_VEC PDupwindNthSymmfdOrder41_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o24dx, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL_VEC PDupwindNthSymmfdOrder41_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o24dx, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDupwindNthSymmfdOrder41_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o24dx, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL_VEC PDupwindNthSymmfdOrder41_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o24dx, const ptrdiff_t cdj, const ptrdiff_t cdk) { - ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); - return kmul(p1o24dx,kadd(KRANC_GFOFFSET3D(u,-3,0,0),kadd(KRANC_GFOFFSET3D(u,3,0,0),kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-20.),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,0),KRANC_GFOFFSET3D(u,2,0,0)),ToReal(-6.),kmul(kadd(KRANC_GFOFFSET3D(u,-1,0,0),KRANC_GFOFFSET3D(u,1,0,0)),ToReal(15.))))))); + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); + return kmul(p1o24dx,kadd(KRANC_GFOFFSET3D(u,-3,0,0),kadd(KRANC_GFOFFSET3D(u,3,0,0),kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-20),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,0),KRANC_GFOFFSET3D(u,2,0,0)),ToReal(-6),kmul(kadd(KRANC_GFOFFSET3D(u,-1,0,0),KRANC_GFOFFSET3D(u,1,0,0)),ToReal(15))))))); } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDupwindNthSymmfdOrder61(u) (kmul(pm1o120dx,kadd(KRANC_GFOFFSET3D(u,-4,0,0),kadd(KRANC_GFOFFSET3D(u,4,0,0),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,0),KRANC_GFOFFSET3D(u,1,0,0)),ToReal(-56.),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,0,0),KRANC_GFOFFSET3D(u,3,0,0)),ToReal(-8.),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,0),KRANC_GFOFFSET3D(u,2,0,0)),ToReal(28.),kmul(KRANC_GFOFFSET3D(u,0,0,0),ToReal(70.))))))))) +# define PDupwindNthSymmfdOrder61(u) (kmul(pm1o120dx,kadd(KRANC_GFOFFSET3D(u,-4,0,0),kadd(KRANC_GFOFFSET3D(u,4,0,0),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,0),KRANC_GFOFFSET3D(u,1,0,0)),ToReal(-56),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,0,0),KRANC_GFOFFSET3D(u,3,0,0)),ToReal(-8),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,0),KRANC_GFOFFSET3D(u,2,0,0)),ToReal(28),kmul(KRANC_GFOFFSET3D(u,0,0,0),ToReal(70))))))))) #else # define PDupwindNthSymmfdOrder61(u) (PDupwindNthSymmfdOrder61_impl(u,pm1o120dx,cdj,cdk)) -static CCTK_REAL_VEC PDupwindNthSymmfdOrder61_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ pm1o120dx, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL_VEC PDupwindNthSymmfdOrder61_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ pm1o120dx, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDupwindNthSymmfdOrder61_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC pm1o120dx, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL_VEC PDupwindNthSymmfdOrder61_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC pm1o120dx, const ptrdiff_t cdj, const ptrdiff_t cdk) { - ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); - return kmul(pm1o120dx,kadd(KRANC_GFOFFSET3D(u,-4,0,0),kadd(KRANC_GFOFFSET3D(u,4,0,0),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,0),KRANC_GFOFFSET3D(u,1,0,0)),ToReal(-56.),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,0,0),KRANC_GFOFFSET3D(u,3,0,0)),ToReal(-8.),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,0),KRANC_GFOFFSET3D(u,2,0,0)),ToReal(28.),kmul(KRANC_GFOFFSET3D(u,0,0,0),ToReal(70.)))))))); + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); + return kmul(pm1o120dx,kadd(KRANC_GFOFFSET3D(u,-4,0,0),kadd(KRANC_GFOFFSET3D(u,4,0,0),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,0),KRANC_GFOFFSET3D(u,1,0,0)),ToReal(-56),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,0,0),KRANC_GFOFFSET3D(u,3,0,0)),ToReal(-8),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,0),KRANC_GFOFFSET3D(u,2,0,0)),ToReal(28),kmul(KRANC_GFOFFSET3D(u,0,0,0),ToReal(70)))))))); } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDupwindNthSymmfdOrder81(u) (kmul(p1o560dx,kadd(KRANC_GFOFFSET3D(u,-5,0,0),kadd(KRANC_GFOFFSET3D(u,5,0,0),kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-252.),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,0),KRANC_GFOFFSET3D(u,2,0,0)),ToReal(-120.),kmadd(kadd(KRANC_GFOFFSET3D(u,-4,0,0),KRANC_GFOFFSET3D(u,4,0,0)),ToReal(-10.),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,0,0),KRANC_GFOFFSET3D(u,3,0,0)),ToReal(45.),kmul(kadd(KRANC_GFOFFSET3D(u,-1,0,0),KRANC_GFOFFSET3D(u,1,0,0)),ToReal(210.)))))))))) +# define PDupwindNthSymmfdOrder81(u) (kmul(p1o560dx,kadd(KRANC_GFOFFSET3D(u,-5,0,0),kadd(KRANC_GFOFFSET3D(u,5,0,0),kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-252),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,0),KRANC_GFOFFSET3D(u,2,0,0)),ToReal(-120),kmadd(kadd(KRANC_GFOFFSET3D(u,-4,0,0),KRANC_GFOFFSET3D(u,4,0,0)),ToReal(-10),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,0,0),KRANC_GFOFFSET3D(u,3,0,0)),ToReal(45),kmul(kadd(KRANC_GFOFFSET3D(u,-1,0,0),KRANC_GFOFFSET3D(u,1,0,0)),ToReal(210)))))))))) #else # define PDupwindNthSymmfdOrder81(u) (PDupwindNthSymmfdOrder81_impl(u,p1o560dx,cdj,cdk)) -static CCTK_REAL_VEC PDupwindNthSymmfdOrder81_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o560dx, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL_VEC PDupwindNthSymmfdOrder81_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o560dx, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDupwindNthSymmfdOrder81_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o560dx, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL_VEC PDupwindNthSymmfdOrder81_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o560dx, const ptrdiff_t cdj, const ptrdiff_t cdk) { - ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); - return kmul(p1o560dx,kadd(KRANC_GFOFFSET3D(u,-5,0,0),kadd(KRANC_GFOFFSET3D(u,5,0,0),kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-252.),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,0),KRANC_GFOFFSET3D(u,2,0,0)),ToReal(-120.),kmadd(kadd(KRANC_GFOFFSET3D(u,-4,0,0),KRANC_GFOFFSET3D(u,4,0,0)),ToReal(-10.),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,0,0),KRANC_GFOFFSET3D(u,3,0,0)),ToReal(45.),kmul(kadd(KRANC_GFOFFSET3D(u,-1,0,0),KRANC_GFOFFSET3D(u,1,0,0)),ToReal(210.))))))))); + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); + return kmul(p1o560dx,kadd(KRANC_GFOFFSET3D(u,-5,0,0),kadd(KRANC_GFOFFSET3D(u,5,0,0),kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-252),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,0),KRANC_GFOFFSET3D(u,2,0,0)),ToReal(-120),kmadd(kadd(KRANC_GFOFFSET3D(u,-4,0,0),KRANC_GFOFFSET3D(u,4,0,0)),ToReal(-10),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,0,0),KRANC_GFOFFSET3D(u,3,0,0)),ToReal(45),kmul(kadd(KRANC_GFOFFSET3D(u,-1,0,0),KRANC_GFOFFSET3D(u,1,0,0)),ToReal(210))))))))); } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDonesided1(u) (kmul(p1odx,kmul(dir1,kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-1.),KRANC_GFOFFSET3D(u,1,0,0))))) +# define PDonesided1(u) (kmul(p1odx,kmul(dir1,ksub(KRANC_GFOFFSET3D(u,1,0,0),KRANC_GFOFFSET3D(u,0,0,0))))) #else # define PDonesided1(u) (PDonesided1_impl(u,p1odx,cdj,cdk)) -static CCTK_REAL_VEC PDonesided1_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1odx, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL_VEC PDonesided1_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1odx, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDonesided1_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1odx, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL_VEC PDonesided1_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1odx, const ptrdiff_t cdj, const ptrdiff_t cdk) { assert(0); return ToReal(1e30); /* ERROR */ } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDupwindNthfdOrder22(u) (kmul(pm1o2dy,kmul(dir2,kadd(KRANC_GFOFFSET3D(u,0,2,0),kmadd(KRANC_GFOFFSET3D(u,0,1,0),ToReal(-4.),kmul(KRANC_GFOFFSET3D(u,0,0,0),ToReal(3.))))))) +# define PDupwindNthfdOrder22(u) (kmul(pm1o2dy,kmul(dir2,kadd(KRANC_GFOFFSET3D(u,0,2,0),kmadd(KRANC_GFOFFSET3D(u,0,1,0),ToReal(-4),kmul(KRANC_GFOFFSET3D(u,0,0,0),ToReal(3))))))) #else # define PDupwindNthfdOrder22(u) (PDupwindNthfdOrder22_impl(u,pm1o2dy,cdj,cdk)) -static CCTK_REAL_VEC PDupwindNthfdOrder22_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ pm1o2dy, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL_VEC PDupwindNthfdOrder22_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ pm1o2dy, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDupwindNthfdOrder22_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC pm1o2dy, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL_VEC PDupwindNthfdOrder22_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC pm1o2dy, const ptrdiff_t cdj, const ptrdiff_t cdk) { assert(0); return ToReal(1e30); /* ERROR */ } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDupwindNthfdOrder42(u) (kmul(p1o12dy,kmul(dir2,kadd(KRANC_GFOFFSET3D(u,0,3,0),kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-10.),kmadd(KRANC_GFOFFSET3D(u,0,2,0),ToReal(-6.),kmadd(KRANC_GFOFFSET3D(u,0,-1,0),ToReal(-3.),kmul(KRANC_GFOFFSET3D(u,0,1,0),ToReal(18.))))))))) +# define PDupwindNthfdOrder42(u) (kmul(p1o12dy,kmul(dir2,kadd(KRANC_GFOFFSET3D(u,0,3,0),kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-10),kmadd(KRANC_GFOFFSET3D(u,0,2,0),ToReal(-6),kmadd(KRANC_GFOFFSET3D(u,0,-1,0),ToReal(-3),kmul(KRANC_GFOFFSET3D(u,0,1,0),ToReal(18))))))))) #else # define PDupwindNthfdOrder42(u) (PDupwindNthfdOrder42_impl(u,p1o12dy,cdj,cdk)) -static CCTK_REAL_VEC PDupwindNthfdOrder42_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 PDupwindNthfdOrder42_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o12dy, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDupwindNthfdOrder42_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 PDupwindNthfdOrder42_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o12dy, const ptrdiff_t cdj, const ptrdiff_t cdk) { assert(0); return ToReal(1e30); /* ERROR */ } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDupwindNthfdOrder62(u) (kmul(pm1o60dy,kmul(dir2,kadd(KRANC_GFOFFSET3D(u,0,4,0),kmadd(KRANC_GFOFFSET3D(u,0,1,0),ToReal(-80.),kmadd(KRANC_GFOFFSET3D(u,0,3,0),ToReal(-8.),kmadd(KRANC_GFOFFSET3D(u,0,-2,0),ToReal(-2.),kmadd(KRANC_GFOFFSET3D(u,0,-1,0),ToReal(24.),kmadd(KRANC_GFOFFSET3D(u,0,2,0),ToReal(30.),kmul(KRANC_GFOFFSET3D(u,0,0,0),ToReal(35.))))))))))) +# define PDupwindNthfdOrder62(u) (kmul(pm1o60dy,kmul(dir2,kadd(KRANC_GFOFFSET3D(u,0,4,0),kmadd(KRANC_GFOFFSET3D(u,0,1,0),ToReal(-80),kmadd(KRANC_GFOFFSET3D(u,0,3,0),ToReal(-8),kmadd(KRANC_GFOFFSET3D(u,0,-2,0),ToReal(-2),kmadd(KRANC_GFOFFSET3D(u,0,-1,0),ToReal(24),kmadd(KRANC_GFOFFSET3D(u,0,2,0),ToReal(30),kmul(KRANC_GFOFFSET3D(u,0,0,0),ToReal(35))))))))))) #else # define PDupwindNthfdOrder62(u) (PDupwindNthfdOrder62_impl(u,pm1o60dy,cdj,cdk)) -static CCTK_REAL_VEC PDupwindNthfdOrder62_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ pm1o60dy, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL_VEC PDupwindNthfdOrder62_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ pm1o60dy, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDupwindNthfdOrder62_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC pm1o60dy, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL_VEC PDupwindNthfdOrder62_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC pm1o60dy, const ptrdiff_t cdj, const ptrdiff_t cdk) { assert(0); return ToReal(1e30); /* ERROR */ } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDupwindNthfdOrder82(u) (kmul(p1o840dy,kmul(dir2,kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-378.),kmadd(KRANC_GFOFFSET3D(u,0,5,0),ToReal(3.),kmul(ToReal(-5.),kadd(KRANC_GFOFFSET3D(u,0,-3,0),kmadd(KRANC_GFOFFSET3D(u,0,1,0),ToReal(-210.),kmadd(KRANC_GFOFFSET3D(u,0,3,0),ToReal(-28.),kmadd(KRANC_GFOFFSET3D(u,0,-2,0),ToReal(-12.),kmadd(KRANC_GFOFFSET3D(u,0,4,0),ToReal(6.),kmul(kadd(KRANC_GFOFFSET3D(u,0,-1,0),KRANC_GFOFFSET3D(u,0,2,0)),ToReal(84.))))))))))))) +# define PDupwindNthfdOrder82(u) (kmul(p1o840dy,kmul(dir2,kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-378),kmadd(KRANC_GFOFFSET3D(u,0,5,0),ToReal(3),kmul(ToReal(-5),kadd(KRANC_GFOFFSET3D(u,0,-3,0),kmadd(KRANC_GFOFFSET3D(u,0,1,0),ToReal(-210),kmadd(KRANC_GFOFFSET3D(u,0,3,0),ToReal(-28),kmadd(KRANC_GFOFFSET3D(u,0,-2,0),ToReal(-12),kmadd(KRANC_GFOFFSET3D(u,0,4,0),ToReal(6),kmul(kadd(KRANC_GFOFFSET3D(u,0,-1,0),KRANC_GFOFFSET3D(u,0,2,0)),ToReal(84))))))))))))) #else # define PDupwindNthfdOrder82(u) (PDupwindNthfdOrder82_impl(u,p1o840dy,cdj,cdk)) -static CCTK_REAL_VEC PDupwindNthfdOrder82_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 PDupwindNthfdOrder82_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o840dy, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDupwindNthfdOrder82_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 PDupwindNthfdOrder82_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o840dy, const ptrdiff_t cdj, const ptrdiff_t cdk) { assert(0); return ToReal(1e30); /* ERROR */ } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDupwindNthAntifdOrder22(u) (kmul(p1o4dy,kadd(KRANC_GFOFFSET3D(u,0,-2,0),kmadd(KRANC_GFOFFSET3D(u,0,-1,0),ToReal(-4.),kmadd(KRANC_GFOFFSET3D(u,0,2,0),ToReal(-1.),kmul(KRANC_GFOFFSET3D(u,0,1,0),ToReal(4.))))))) +# define PDupwindNthAntifdOrder22(u) (kmul(p1o4dy,kadd(KRANC_GFOFFSET3D(u,0,-2,0),kmadd(KRANC_GFOFFSET3D(u,0,-1,0),ToReal(-4),kmsub(KRANC_GFOFFSET3D(u,0,1,0),ToReal(4),KRANC_GFOFFSET3D(u,0,2,0)))))) #else # define PDupwindNthAntifdOrder22(u) (PDupwindNthAntifdOrder22_impl(u,p1o4dy,cdj,cdk)) -static CCTK_REAL_VEC PDupwindNthAntifdOrder22_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o4dy, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL_VEC PDupwindNthAntifdOrder22_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o4dy, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDupwindNthAntifdOrder22_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o4dy, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL_VEC PDupwindNthAntifdOrder22_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o4dy, const ptrdiff_t cdj, const ptrdiff_t cdk) { - ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); - return kmul(p1o4dy,kadd(KRANC_GFOFFSET3D(u,0,-2,0),kmadd(KRANC_GFOFFSET3D(u,0,-1,0),ToReal(-4.),kmadd(KRANC_GFOFFSET3D(u,0,2,0),ToReal(-1.),kmul(KRANC_GFOFFSET3D(u,0,1,0),ToReal(4.)))))); + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); + return kmul(p1o4dy,kadd(KRANC_GFOFFSET3D(u,0,-2,0),kmadd(KRANC_GFOFFSET3D(u,0,-1,0),ToReal(-4),kmsub(KRANC_GFOFFSET3D(u,0,1,0),ToReal(4),KRANC_GFOFFSET3D(u,0,2,0))))); } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDupwindNthAntifdOrder42(u) (kmul(p1o24dy,kadd(KRANC_GFOFFSET3D(u,0,3,0),kmadd(KRANC_GFOFFSET3D(u,0,-1,0),ToReal(-21.),kmadd(KRANC_GFOFFSET3D(u,0,2,0),ToReal(-6.),kmadd(KRANC_GFOFFSET3D(u,0,-3,0),ToReal(-1.),kmadd(KRANC_GFOFFSET3D(u,0,-2,0),ToReal(6.),kmul(KRANC_GFOFFSET3D(u,0,1,0),ToReal(21.))))))))) +# define PDupwindNthAntifdOrder42(u) (kmul(p1o24dy,kadd(KRANC_GFOFFSET3D(u,0,3,0),kmadd(KRANC_GFOFFSET3D(u,0,-1,0),ToReal(-21),kmadd(KRANC_GFOFFSET3D(u,0,2,0),ToReal(-6),ksub(kmadd(KRANC_GFOFFSET3D(u,0,-2,0),ToReal(6),kmul(KRANC_GFOFFSET3D(u,0,1,0),ToReal(21))),KRANC_GFOFFSET3D(u,0,-3,0))))))) #else # define PDupwindNthAntifdOrder42(u) (PDupwindNthAntifdOrder42_impl(u,p1o24dy,cdj,cdk)) -static CCTK_REAL_VEC PDupwindNthAntifdOrder42_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o24dy, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL_VEC PDupwindNthAntifdOrder42_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o24dy, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDupwindNthAntifdOrder42_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o24dy, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL_VEC PDupwindNthAntifdOrder42_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o24dy, const ptrdiff_t cdj, const ptrdiff_t cdk) { - ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); - return kmul(p1o24dy,kadd(KRANC_GFOFFSET3D(u,0,3,0),kmadd(KRANC_GFOFFSET3D(u,0,-1,0),ToReal(-21.),kmadd(KRANC_GFOFFSET3D(u,0,2,0),ToReal(-6.),kmadd(KRANC_GFOFFSET3D(u,0,-3,0),ToReal(-1.),kmadd(KRANC_GFOFFSET3D(u,0,-2,0),ToReal(6.),kmul(KRANC_GFOFFSET3D(u,0,1,0),ToReal(21.)))))))); + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); + return kmul(p1o24dy,kadd(KRANC_GFOFFSET3D(u,0,3,0),kmadd(KRANC_GFOFFSET3D(u,0,-1,0),ToReal(-21),kmadd(KRANC_GFOFFSET3D(u,0,2,0),ToReal(-6),ksub(kmadd(KRANC_GFOFFSET3D(u,0,-2,0),ToReal(6),kmul(KRANC_GFOFFSET3D(u,0,1,0),ToReal(21))),KRANC_GFOFFSET3D(u,0,-3,0)))))); } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDupwindNthAntifdOrder62(u) (kmul(p1o120dy,kadd(KRANC_GFOFFSET3D(u,0,-4,0),kmadd(KRANC_GFOFFSET3D(u,0,-1,0),ToReal(-104.),kmadd(KRANC_GFOFFSET3D(u,0,2,0),ToReal(-32.),kmadd(KRANC_GFOFFSET3D(u,0,-3,0),ToReal(-8.),kmadd(KRANC_GFOFFSET3D(u,0,4,0),ToReal(-1.),kmadd(KRANC_GFOFFSET3D(u,0,3,0),ToReal(8.),kmadd(KRANC_GFOFFSET3D(u,0,-2,0),ToReal(32.),kmul(KRANC_GFOFFSET3D(u,0,1,0),ToReal(104.))))))))))) +# define PDupwindNthAntifdOrder62(u) (kmul(p1o120dy,kadd(KRANC_GFOFFSET3D(u,0,-4,0),kmadd(KRANC_GFOFFSET3D(u,0,-1,0),ToReal(-104),kmadd(KRANC_GFOFFSET3D(u,0,2,0),ToReal(-32),kmadd(KRANC_GFOFFSET3D(u,0,-3,0),ToReal(-8),ksub(kmadd(KRANC_GFOFFSET3D(u,0,3,0),ToReal(8),kmadd(KRANC_GFOFFSET3D(u,0,-2,0),ToReal(32),kmul(KRANC_GFOFFSET3D(u,0,1,0),ToReal(104)))),KRANC_GFOFFSET3D(u,0,4,0)))))))) #else # define PDupwindNthAntifdOrder62(u) (PDupwindNthAntifdOrder62_impl(u,p1o120dy,cdj,cdk)) -static CCTK_REAL_VEC PDupwindNthAntifdOrder62_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o120dy, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL_VEC PDupwindNthAntifdOrder62_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o120dy, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDupwindNthAntifdOrder62_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o120dy, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL_VEC PDupwindNthAntifdOrder62_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o120dy, const ptrdiff_t cdj, const ptrdiff_t cdk) { - ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); - return kmul(p1o120dy,kadd(KRANC_GFOFFSET3D(u,0,-4,0),kmadd(KRANC_GFOFFSET3D(u,0,-1,0),ToReal(-104.),kmadd(KRANC_GFOFFSET3D(u,0,2,0),ToReal(-32.),kmadd(KRANC_GFOFFSET3D(u,0,-3,0),ToReal(-8.),kmadd(KRANC_GFOFFSET3D(u,0,4,0),ToReal(-1.),kmadd(KRANC_GFOFFSET3D(u,0,3,0),ToReal(8.),kmadd(KRANC_GFOFFSET3D(u,0,-2,0),ToReal(32.),kmul(KRANC_GFOFFSET3D(u,0,1,0),ToReal(104.)))))))))); + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); + return kmul(p1o120dy,kadd(KRANC_GFOFFSET3D(u,0,-4,0),kmadd(KRANC_GFOFFSET3D(u,0,-1,0),ToReal(-104),kmadd(KRANC_GFOFFSET3D(u,0,2,0),ToReal(-32),kmadd(KRANC_GFOFFSET3D(u,0,-3,0),ToReal(-8),ksub(kmadd(KRANC_GFOFFSET3D(u,0,3,0),ToReal(8),kmadd(KRANC_GFOFFSET3D(u,0,-2,0),ToReal(32),kmul(KRANC_GFOFFSET3D(u,0,1,0),ToReal(104)))),KRANC_GFOFFSET3D(u,0,4,0))))))); } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDupwindNthAntifdOrder82(u) (kmul(p1o1680dy,kmadd(KRANC_GFOFFSET3D(u,0,-1,0),ToReal(-1470.),kmadd(KRANC_GFOFFSET3D(u,0,2,0),ToReal(-480.),kmadd(KRANC_GFOFFSET3D(u,0,-3,0),ToReal(-145.),kmadd(KRANC_GFOFFSET3D(u,0,4,0),ToReal(-30.),kmadd(KRANC_GFOFFSET3D(u,0,-5,0),ToReal(-3.),kmadd(KRANC_GFOFFSET3D(u,0,5,0),ToReal(3.),kmadd(KRANC_GFOFFSET3D(u,0,-4,0),ToReal(30.),kmadd(KRANC_GFOFFSET3D(u,0,3,0),ToReal(145.),kmadd(KRANC_GFOFFSET3D(u,0,-2,0),ToReal(480.),kmul(KRANC_GFOFFSET3D(u,0,1,0),ToReal(1470.))))))))))))) +# define PDupwindNthAntifdOrder82(u) (kmul(p1o1680dy,kmadd(KRANC_GFOFFSET3D(u,0,-1,0),ToReal(-1470),kmadd(KRANC_GFOFFSET3D(u,0,2,0),ToReal(-480),kmadd(KRANC_GFOFFSET3D(u,0,-3,0),ToReal(-145),kmadd(KRANC_GFOFFSET3D(u,0,4,0),ToReal(-30),kmadd(KRANC_GFOFFSET3D(u,0,-5,0),ToReal(-3),kmadd(KRANC_GFOFFSET3D(u,0,5,0),ToReal(3),kmadd(KRANC_GFOFFSET3D(u,0,-4,0),ToReal(30),kmadd(KRANC_GFOFFSET3D(u,0,3,0),ToReal(145),kmadd(KRANC_GFOFFSET3D(u,0,-2,0),ToReal(480),kmul(KRANC_GFOFFSET3D(u,0,1,0),ToReal(1470))))))))))))) #else # define PDupwindNthAntifdOrder82(u) (PDupwindNthAntifdOrder82_impl(u,p1o1680dy,cdj,cdk)) -static CCTK_REAL_VEC PDupwindNthAntifdOrder82_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o1680dy, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL_VEC PDupwindNthAntifdOrder82_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o1680dy, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDupwindNthAntifdOrder82_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o1680dy, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL_VEC PDupwindNthAntifdOrder82_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o1680dy, const ptrdiff_t cdj, const ptrdiff_t cdk) { - ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); - return kmul(p1o1680dy,kmadd(KRANC_GFOFFSET3D(u,0,-1,0),ToReal(-1470.),kmadd(KRANC_GFOFFSET3D(u,0,2,0),ToReal(-480.),kmadd(KRANC_GFOFFSET3D(u,0,-3,0),ToReal(-145.),kmadd(KRANC_GFOFFSET3D(u,0,4,0),ToReal(-30.),kmadd(KRANC_GFOFFSET3D(u,0,-5,0),ToReal(-3.),kmadd(KRANC_GFOFFSET3D(u,0,5,0),ToReal(3.),kmadd(KRANC_GFOFFSET3D(u,0,-4,0),ToReal(30.),kmadd(KRANC_GFOFFSET3D(u,0,3,0),ToReal(145.),kmadd(KRANC_GFOFFSET3D(u,0,-2,0),ToReal(480.),kmul(KRANC_GFOFFSET3D(u,0,1,0),ToReal(1470.)))))))))))); + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); + return kmul(p1o1680dy,kmadd(KRANC_GFOFFSET3D(u,0,-1,0),ToReal(-1470),kmadd(KRANC_GFOFFSET3D(u,0,2,0),ToReal(-480),kmadd(KRANC_GFOFFSET3D(u,0,-3,0),ToReal(-145),kmadd(KRANC_GFOFFSET3D(u,0,4,0),ToReal(-30),kmadd(KRANC_GFOFFSET3D(u,0,-5,0),ToReal(-3),kmadd(KRANC_GFOFFSET3D(u,0,5,0),ToReal(3),kmadd(KRANC_GFOFFSET3D(u,0,-4,0),ToReal(30),kmadd(KRANC_GFOFFSET3D(u,0,3,0),ToReal(145),kmadd(KRANC_GFOFFSET3D(u,0,-2,0),ToReal(480),kmul(KRANC_GFOFFSET3D(u,0,1,0),ToReal(1470)))))))))))); } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDupwindNthSymmfdOrder22(u) (kmul(pm1o4dy,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(-4.),kmul(KRANC_GFOFFSET3D(u,0,0,0),ToReal(6.))))))) +# define PDupwindNthSymmfdOrder22(u) (kmul(pm1o4dy,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(-4),kmul(KRANC_GFOFFSET3D(u,0,0,0),ToReal(6))))))) #else # define PDupwindNthSymmfdOrder22(u) (PDupwindNthSymmfdOrder22_impl(u,pm1o4dy,cdj,cdk)) -static CCTK_REAL_VEC PDupwindNthSymmfdOrder22_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ pm1o4dy, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL_VEC PDupwindNthSymmfdOrder22_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ pm1o4dy, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDupwindNthSymmfdOrder22_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC pm1o4dy, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL_VEC PDupwindNthSymmfdOrder22_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC pm1o4dy, const ptrdiff_t cdj, const ptrdiff_t cdk) { - ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); - return kmul(pm1o4dy,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(-4.),kmul(KRANC_GFOFFSET3D(u,0,0,0),ToReal(6.)))))); + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); + return kmul(pm1o4dy,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(-4),kmul(KRANC_GFOFFSET3D(u,0,0,0),ToReal(6)))))); } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDupwindNthSymmfdOrder42(u) (kmul(p1o24dy,kadd(KRANC_GFOFFSET3D(u,0,-3,0),kadd(KRANC_GFOFFSET3D(u,0,3,0),kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-20.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,0),KRANC_GFOFFSET3D(u,0,2,0)),ToReal(-6.),kmul(kadd(KRANC_GFOFFSET3D(u,0,-1,0),KRANC_GFOFFSET3D(u,0,1,0)),ToReal(15.)))))))) +# define PDupwindNthSymmfdOrder42(u) (kmul(p1o24dy,kadd(KRANC_GFOFFSET3D(u,0,-3,0),kadd(KRANC_GFOFFSET3D(u,0,3,0),kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-20),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,0),KRANC_GFOFFSET3D(u,0,2,0)),ToReal(-6),kmul(kadd(KRANC_GFOFFSET3D(u,0,-1,0),KRANC_GFOFFSET3D(u,0,1,0)),ToReal(15)))))))) #else # define PDupwindNthSymmfdOrder42(u) (PDupwindNthSymmfdOrder42_impl(u,p1o24dy,cdj,cdk)) -static CCTK_REAL_VEC PDupwindNthSymmfdOrder42_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o24dy, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL_VEC PDupwindNthSymmfdOrder42_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o24dy, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDupwindNthSymmfdOrder42_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o24dy, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL_VEC PDupwindNthSymmfdOrder42_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o24dy, const ptrdiff_t cdj, const ptrdiff_t cdk) { - ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); - return kmul(p1o24dy,kadd(KRANC_GFOFFSET3D(u,0,-3,0),kadd(KRANC_GFOFFSET3D(u,0,3,0),kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-20.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,0),KRANC_GFOFFSET3D(u,0,2,0)),ToReal(-6.),kmul(kadd(KRANC_GFOFFSET3D(u,0,-1,0),KRANC_GFOFFSET3D(u,0,1,0)),ToReal(15.))))))); + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); + return kmul(p1o24dy,kadd(KRANC_GFOFFSET3D(u,0,-3,0),kadd(KRANC_GFOFFSET3D(u,0,3,0),kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-20),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,0),KRANC_GFOFFSET3D(u,0,2,0)),ToReal(-6),kmul(kadd(KRANC_GFOFFSET3D(u,0,-1,0),KRANC_GFOFFSET3D(u,0,1,0)),ToReal(15))))))); } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDupwindNthSymmfdOrder62(u) (kmul(pm1o120dy,kadd(KRANC_GFOFFSET3D(u,0,-4,0),kadd(KRANC_GFOFFSET3D(u,0,4,0),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,0),KRANC_GFOFFSET3D(u,0,1,0)),ToReal(-56.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-3,0),KRANC_GFOFFSET3D(u,0,3,0)),ToReal(-8.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,0),KRANC_GFOFFSET3D(u,0,2,0)),ToReal(28.),kmul(KRANC_GFOFFSET3D(u,0,0,0),ToReal(70.))))))))) +# define PDupwindNthSymmfdOrder62(u) (kmul(pm1o120dy,kadd(KRANC_GFOFFSET3D(u,0,-4,0),kadd(KRANC_GFOFFSET3D(u,0,4,0),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,0),KRANC_GFOFFSET3D(u,0,1,0)),ToReal(-56),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-3,0),KRANC_GFOFFSET3D(u,0,3,0)),ToReal(-8),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,0),KRANC_GFOFFSET3D(u,0,2,0)),ToReal(28),kmul(KRANC_GFOFFSET3D(u,0,0,0),ToReal(70))))))))) #else # define PDupwindNthSymmfdOrder62(u) (PDupwindNthSymmfdOrder62_impl(u,pm1o120dy,cdj,cdk)) -static CCTK_REAL_VEC PDupwindNthSymmfdOrder62_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ pm1o120dy, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL_VEC PDupwindNthSymmfdOrder62_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ pm1o120dy, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDupwindNthSymmfdOrder62_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC pm1o120dy, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL_VEC PDupwindNthSymmfdOrder62_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC pm1o120dy, const ptrdiff_t cdj, const ptrdiff_t cdk) { - ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); - return kmul(pm1o120dy,kadd(KRANC_GFOFFSET3D(u,0,-4,0),kadd(KRANC_GFOFFSET3D(u,0,4,0),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,0),KRANC_GFOFFSET3D(u,0,1,0)),ToReal(-56.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-3,0),KRANC_GFOFFSET3D(u,0,3,0)),ToReal(-8.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,0),KRANC_GFOFFSET3D(u,0,2,0)),ToReal(28.),kmul(KRANC_GFOFFSET3D(u,0,0,0),ToReal(70.)))))))); + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); + return kmul(pm1o120dy,kadd(KRANC_GFOFFSET3D(u,0,-4,0),kadd(KRANC_GFOFFSET3D(u,0,4,0),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,0),KRANC_GFOFFSET3D(u,0,1,0)),ToReal(-56),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-3,0),KRANC_GFOFFSET3D(u,0,3,0)),ToReal(-8),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,0),KRANC_GFOFFSET3D(u,0,2,0)),ToReal(28),kmul(KRANC_GFOFFSET3D(u,0,0,0),ToReal(70)))))))); } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDupwindNthSymmfdOrder82(u) (kmul(p1o560dy,kadd(KRANC_GFOFFSET3D(u,0,-5,0),kadd(KRANC_GFOFFSET3D(u,0,5,0),kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-252.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,0),KRANC_GFOFFSET3D(u,0,2,0)),ToReal(-120.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-4,0),KRANC_GFOFFSET3D(u,0,4,0)),ToReal(-10.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-3,0),KRANC_GFOFFSET3D(u,0,3,0)),ToReal(45.),kmul(kadd(KRANC_GFOFFSET3D(u,0,-1,0),KRANC_GFOFFSET3D(u,0,1,0)),ToReal(210.)))))))))) +# define PDupwindNthSymmfdOrder82(u) (kmul(p1o560dy,kadd(KRANC_GFOFFSET3D(u,0,-5,0),kadd(KRANC_GFOFFSET3D(u,0,5,0),kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-252),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,0),KRANC_GFOFFSET3D(u,0,2,0)),ToReal(-120),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-4,0),KRANC_GFOFFSET3D(u,0,4,0)),ToReal(-10),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-3,0),KRANC_GFOFFSET3D(u,0,3,0)),ToReal(45),kmul(kadd(KRANC_GFOFFSET3D(u,0,-1,0),KRANC_GFOFFSET3D(u,0,1,0)),ToReal(210)))))))))) #else # define PDupwindNthSymmfdOrder82(u) (PDupwindNthSymmfdOrder82_impl(u,p1o560dy,cdj,cdk)) -static CCTK_REAL_VEC PDupwindNthSymmfdOrder82_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o560dy, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL_VEC PDupwindNthSymmfdOrder82_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o560dy, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDupwindNthSymmfdOrder82_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o560dy, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL_VEC PDupwindNthSymmfdOrder82_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o560dy, const ptrdiff_t cdj, const ptrdiff_t cdk) { - ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); - return kmul(p1o560dy,kadd(KRANC_GFOFFSET3D(u,0,-5,0),kadd(KRANC_GFOFFSET3D(u,0,5,0),kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-252.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,0),KRANC_GFOFFSET3D(u,0,2,0)),ToReal(-120.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-4,0),KRANC_GFOFFSET3D(u,0,4,0)),ToReal(-10.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-3,0),KRANC_GFOFFSET3D(u,0,3,0)),ToReal(45.),kmul(kadd(KRANC_GFOFFSET3D(u,0,-1,0),KRANC_GFOFFSET3D(u,0,1,0)),ToReal(210.))))))))); + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); + return kmul(p1o560dy,kadd(KRANC_GFOFFSET3D(u,0,-5,0),kadd(KRANC_GFOFFSET3D(u,0,5,0),kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-252),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,0),KRANC_GFOFFSET3D(u,0,2,0)),ToReal(-120),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-4,0),KRANC_GFOFFSET3D(u,0,4,0)),ToReal(-10),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-3,0),KRANC_GFOFFSET3D(u,0,3,0)),ToReal(45),kmul(kadd(KRANC_GFOFFSET3D(u,0,-1,0),KRANC_GFOFFSET3D(u,0,1,0)),ToReal(210))))))))); } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDonesided2(u) (kmul(p1ody,kmul(dir2,kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-1.),KRANC_GFOFFSET3D(u,0,1,0))))) +# define PDonesided2(u) (kmul(p1ody,kmul(dir2,ksub(KRANC_GFOFFSET3D(u,0,1,0),KRANC_GFOFFSET3D(u,0,0,0))))) #else # define PDonesided2(u) (PDonesided2_impl(u,p1ody,cdj,cdk)) -static CCTK_REAL_VEC PDonesided2_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1ody, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL_VEC PDonesided2_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1ody, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDonesided2_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1ody, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL_VEC PDonesided2_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1ody, const ptrdiff_t cdj, const ptrdiff_t cdk) { assert(0); return ToReal(1e30); /* ERROR */ } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDupwindNthfdOrder23(u) (kmul(pm1o2dz,kmul(dir3,kadd(KRANC_GFOFFSET3D(u,0,0,2),kmadd(KRANC_GFOFFSET3D(u,0,0,1),ToReal(-4.),kmul(KRANC_GFOFFSET3D(u,0,0,0),ToReal(3.))))))) +# define PDupwindNthfdOrder23(u) (kmul(pm1o2dz,kmul(dir3,kadd(KRANC_GFOFFSET3D(u,0,0,2),kmadd(KRANC_GFOFFSET3D(u,0,0,1),ToReal(-4),kmul(KRANC_GFOFFSET3D(u,0,0,0),ToReal(3))))))) #else # define PDupwindNthfdOrder23(u) (PDupwindNthfdOrder23_impl(u,pm1o2dz,cdj,cdk)) -static CCTK_REAL_VEC PDupwindNthfdOrder23_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ pm1o2dz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL_VEC PDupwindNthfdOrder23_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ pm1o2dz, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDupwindNthfdOrder23_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC pm1o2dz, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL_VEC PDupwindNthfdOrder23_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC pm1o2dz, const ptrdiff_t cdj, const ptrdiff_t cdk) { assert(0); return ToReal(1e30); /* ERROR */ } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDupwindNthfdOrder43(u) (kmul(p1o12dz,kmul(dir3,kadd(KRANC_GFOFFSET3D(u,0,0,3),kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-10.),kmadd(KRANC_GFOFFSET3D(u,0,0,2),ToReal(-6.),kmadd(KRANC_GFOFFSET3D(u,0,0,-1),ToReal(-3.),kmul(KRANC_GFOFFSET3D(u,0,0,1),ToReal(18.))))))))) +# define PDupwindNthfdOrder43(u) (kmul(p1o12dz,kmul(dir3,kadd(KRANC_GFOFFSET3D(u,0,0,3),kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-10),kmadd(KRANC_GFOFFSET3D(u,0,0,2),ToReal(-6),kmadd(KRANC_GFOFFSET3D(u,0,0,-1),ToReal(-3),kmul(KRANC_GFOFFSET3D(u,0,0,1),ToReal(18))))))))) #else # define PDupwindNthfdOrder43(u) (PDupwindNthfdOrder43_impl(u,p1o12dz,cdj,cdk)) -static CCTK_REAL_VEC PDupwindNthfdOrder43_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 PDupwindNthfdOrder43_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o12dz, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDupwindNthfdOrder43_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 PDupwindNthfdOrder43_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o12dz, const ptrdiff_t cdj, const ptrdiff_t cdk) { assert(0); return ToReal(1e30); /* ERROR */ } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDupwindNthfdOrder63(u) (kmul(pm1o60dz,kmul(dir3,kadd(KRANC_GFOFFSET3D(u,0,0,4),kmadd(KRANC_GFOFFSET3D(u,0,0,1),ToReal(-80.),kmadd(KRANC_GFOFFSET3D(u,0,0,3),ToReal(-8.),kmadd(KRANC_GFOFFSET3D(u,0,0,-2),ToReal(-2.),kmadd(KRANC_GFOFFSET3D(u,0,0,-1),ToReal(24.),kmadd(KRANC_GFOFFSET3D(u,0,0,2),ToReal(30.),kmul(KRANC_GFOFFSET3D(u,0,0,0),ToReal(35.))))))))))) +# define PDupwindNthfdOrder63(u) (kmul(pm1o60dz,kmul(dir3,kadd(KRANC_GFOFFSET3D(u,0,0,4),kmadd(KRANC_GFOFFSET3D(u,0,0,1),ToReal(-80),kmadd(KRANC_GFOFFSET3D(u,0,0,3),ToReal(-8),kmadd(KRANC_GFOFFSET3D(u,0,0,-2),ToReal(-2),kmadd(KRANC_GFOFFSET3D(u,0,0,-1),ToReal(24),kmadd(KRANC_GFOFFSET3D(u,0,0,2),ToReal(30),kmul(KRANC_GFOFFSET3D(u,0,0,0),ToReal(35))))))))))) #else # define PDupwindNthfdOrder63(u) (PDupwindNthfdOrder63_impl(u,pm1o60dz,cdj,cdk)) -static CCTK_REAL_VEC PDupwindNthfdOrder63_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ pm1o60dz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL_VEC PDupwindNthfdOrder63_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ pm1o60dz, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDupwindNthfdOrder63_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC pm1o60dz, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL_VEC PDupwindNthfdOrder63_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC pm1o60dz, const ptrdiff_t cdj, const ptrdiff_t cdk) { assert(0); return ToReal(1e30); /* ERROR */ } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDupwindNthfdOrder83(u) (kmul(p1o840dz,kmul(dir3,kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-378.),kmadd(KRANC_GFOFFSET3D(u,0,0,5),ToReal(3.),kmul(ToReal(-5.),kadd(KRANC_GFOFFSET3D(u,0,0,-3),kmadd(KRANC_GFOFFSET3D(u,0,0,1),ToReal(-210.),kmadd(KRANC_GFOFFSET3D(u,0,0,3),ToReal(-28.),kmadd(KRANC_GFOFFSET3D(u,0,0,-2),ToReal(-12.),kmadd(KRANC_GFOFFSET3D(u,0,0,4),ToReal(6.),kmul(kadd(KRANC_GFOFFSET3D(u,0,0,-1),KRANC_GFOFFSET3D(u,0,0,2)),ToReal(84.))))))))))))) +# define PDupwindNthfdOrder83(u) (kmul(p1o840dz,kmul(dir3,kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-378),kmadd(KRANC_GFOFFSET3D(u,0,0,5),ToReal(3),kmul(ToReal(-5),kadd(KRANC_GFOFFSET3D(u,0,0,-3),kmadd(KRANC_GFOFFSET3D(u,0,0,1),ToReal(-210),kmadd(KRANC_GFOFFSET3D(u,0,0,3),ToReal(-28),kmadd(KRANC_GFOFFSET3D(u,0,0,-2),ToReal(-12),kmadd(KRANC_GFOFFSET3D(u,0,0,4),ToReal(6),kmul(kadd(KRANC_GFOFFSET3D(u,0,0,-1),KRANC_GFOFFSET3D(u,0,0,2)),ToReal(84))))))))))))) #else # define PDupwindNthfdOrder83(u) (PDupwindNthfdOrder83_impl(u,p1o840dz,cdj,cdk)) -static CCTK_REAL_VEC PDupwindNthfdOrder83_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 PDupwindNthfdOrder83_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o840dz, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDupwindNthfdOrder83_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 PDupwindNthfdOrder83_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o840dz, const ptrdiff_t cdj, const ptrdiff_t cdk) { assert(0); return ToReal(1e30); /* ERROR */ } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDupwindNthAntifdOrder23(u) (kmul(p1o4dz,kadd(KRANC_GFOFFSET3D(u,0,0,-2),kmadd(KRANC_GFOFFSET3D(u,0,0,-1),ToReal(-4.),kmadd(KRANC_GFOFFSET3D(u,0,0,2),ToReal(-1.),kmul(KRANC_GFOFFSET3D(u,0,0,1),ToReal(4.))))))) +# define PDupwindNthAntifdOrder23(u) (kmul(p1o4dz,kadd(KRANC_GFOFFSET3D(u,0,0,-2),kmadd(KRANC_GFOFFSET3D(u,0,0,-1),ToReal(-4),kmsub(KRANC_GFOFFSET3D(u,0,0,1),ToReal(4),KRANC_GFOFFSET3D(u,0,0,2)))))) #else # define PDupwindNthAntifdOrder23(u) (PDupwindNthAntifdOrder23_impl(u,p1o4dz,cdj,cdk)) -static CCTK_REAL_VEC PDupwindNthAntifdOrder23_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o4dz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL_VEC PDupwindNthAntifdOrder23_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o4dz, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDupwindNthAntifdOrder23_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o4dz, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL_VEC PDupwindNthAntifdOrder23_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o4dz, const ptrdiff_t cdj, const ptrdiff_t cdk) { - ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); - return kmul(p1o4dz,kadd(KRANC_GFOFFSET3D(u,0,0,-2),kmadd(KRANC_GFOFFSET3D(u,0,0,-1),ToReal(-4.),kmadd(KRANC_GFOFFSET3D(u,0,0,2),ToReal(-1.),kmul(KRANC_GFOFFSET3D(u,0,0,1),ToReal(4.)))))); + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); + return PDupwindNthAntifdOrder22_impl(u, p1o4dz, cdk, cdj); } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDupwindNthAntifdOrder43(u) (kmul(p1o24dz,kadd(KRANC_GFOFFSET3D(u,0,0,3),kmadd(KRANC_GFOFFSET3D(u,0,0,-1),ToReal(-21.),kmadd(KRANC_GFOFFSET3D(u,0,0,2),ToReal(-6.),kmadd(KRANC_GFOFFSET3D(u,0,0,-3),ToReal(-1.),kmadd(KRANC_GFOFFSET3D(u,0,0,-2),ToReal(6.),kmul(KRANC_GFOFFSET3D(u,0,0,1),ToReal(21.))))))))) +# define PDupwindNthAntifdOrder43(u) (kmul(p1o24dz,kadd(KRANC_GFOFFSET3D(u,0,0,3),kmadd(KRANC_GFOFFSET3D(u,0,0,-1),ToReal(-21),kmadd(KRANC_GFOFFSET3D(u,0,0,2),ToReal(-6),ksub(kmadd(KRANC_GFOFFSET3D(u,0,0,-2),ToReal(6),kmul(KRANC_GFOFFSET3D(u,0,0,1),ToReal(21))),KRANC_GFOFFSET3D(u,0,0,-3))))))) #else # define PDupwindNthAntifdOrder43(u) (PDupwindNthAntifdOrder43_impl(u,p1o24dz,cdj,cdk)) -static CCTK_REAL_VEC PDupwindNthAntifdOrder43_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o24dz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL_VEC PDupwindNthAntifdOrder43_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o24dz, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDupwindNthAntifdOrder43_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o24dz, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL_VEC PDupwindNthAntifdOrder43_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o24dz, const ptrdiff_t cdj, const ptrdiff_t cdk) { - ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); - return kmul(p1o24dz,kadd(KRANC_GFOFFSET3D(u,0,0,3),kmadd(KRANC_GFOFFSET3D(u,0,0,-1),ToReal(-21.),kmadd(KRANC_GFOFFSET3D(u,0,0,2),ToReal(-6.),kmadd(KRANC_GFOFFSET3D(u,0,0,-3),ToReal(-1.),kmadd(KRANC_GFOFFSET3D(u,0,0,-2),ToReal(6.),kmul(KRANC_GFOFFSET3D(u,0,0,1),ToReal(21.)))))))); + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); + return PDupwindNthAntifdOrder42_impl(u, p1o24dz, cdk, cdj); } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDupwindNthAntifdOrder63(u) (kmul(p1o120dz,kadd(KRANC_GFOFFSET3D(u,0,0,-4),kmadd(KRANC_GFOFFSET3D(u,0,0,-1),ToReal(-104.),kmadd(KRANC_GFOFFSET3D(u,0,0,2),ToReal(-32.),kmadd(KRANC_GFOFFSET3D(u,0,0,-3),ToReal(-8.),kmadd(KRANC_GFOFFSET3D(u,0,0,4),ToReal(-1.),kmadd(KRANC_GFOFFSET3D(u,0,0,3),ToReal(8.),kmadd(KRANC_GFOFFSET3D(u,0,0,-2),ToReal(32.),kmul(KRANC_GFOFFSET3D(u,0,0,1),ToReal(104.))))))))))) +# define PDupwindNthAntifdOrder63(u) (kmul(p1o120dz,kadd(KRANC_GFOFFSET3D(u,0,0,-4),kmadd(KRANC_GFOFFSET3D(u,0,0,-1),ToReal(-104),kmadd(KRANC_GFOFFSET3D(u,0,0,2),ToReal(-32),kmadd(KRANC_GFOFFSET3D(u,0,0,-3),ToReal(-8),ksub(kmadd(KRANC_GFOFFSET3D(u,0,0,3),ToReal(8),kmadd(KRANC_GFOFFSET3D(u,0,0,-2),ToReal(32),kmul(KRANC_GFOFFSET3D(u,0,0,1),ToReal(104)))),KRANC_GFOFFSET3D(u,0,0,4)))))))) #else # define PDupwindNthAntifdOrder63(u) (PDupwindNthAntifdOrder63_impl(u,p1o120dz,cdj,cdk)) -static CCTK_REAL_VEC PDupwindNthAntifdOrder63_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o120dz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL_VEC PDupwindNthAntifdOrder63_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o120dz, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDupwindNthAntifdOrder63_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o120dz, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL_VEC PDupwindNthAntifdOrder63_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o120dz, const ptrdiff_t cdj, const ptrdiff_t cdk) { - ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); - return kmul(p1o120dz,kadd(KRANC_GFOFFSET3D(u,0,0,-4),kmadd(KRANC_GFOFFSET3D(u,0,0,-1),ToReal(-104.),kmadd(KRANC_GFOFFSET3D(u,0,0,2),ToReal(-32.),kmadd(KRANC_GFOFFSET3D(u,0,0,-3),ToReal(-8.),kmadd(KRANC_GFOFFSET3D(u,0,0,4),ToReal(-1.),kmadd(KRANC_GFOFFSET3D(u,0,0,3),ToReal(8.),kmadd(KRANC_GFOFFSET3D(u,0,0,-2),ToReal(32.),kmul(KRANC_GFOFFSET3D(u,0,0,1),ToReal(104.)))))))))); + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); + return PDupwindNthAntifdOrder62_impl(u, p1o120dz, cdk, cdj); } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDupwindNthAntifdOrder83(u) (kmul(p1o1680dz,kmadd(KRANC_GFOFFSET3D(u,0,0,-1),ToReal(-1470.),kmadd(KRANC_GFOFFSET3D(u,0,0,2),ToReal(-480.),kmadd(KRANC_GFOFFSET3D(u,0,0,-3),ToReal(-145.),kmadd(KRANC_GFOFFSET3D(u,0,0,4),ToReal(-30.),kmadd(KRANC_GFOFFSET3D(u,0,0,-5),ToReal(-3.),kmadd(KRANC_GFOFFSET3D(u,0,0,5),ToReal(3.),kmadd(KRANC_GFOFFSET3D(u,0,0,-4),ToReal(30.),kmadd(KRANC_GFOFFSET3D(u,0,0,3),ToReal(145.),kmadd(KRANC_GFOFFSET3D(u,0,0,-2),ToReal(480.),kmul(KRANC_GFOFFSET3D(u,0,0,1),ToReal(1470.))))))))))))) +# define PDupwindNthAntifdOrder83(u) (kmul(p1o1680dz,kmadd(KRANC_GFOFFSET3D(u,0,0,-1),ToReal(-1470),kmadd(KRANC_GFOFFSET3D(u,0,0,2),ToReal(-480),kmadd(KRANC_GFOFFSET3D(u,0,0,-3),ToReal(-145),kmadd(KRANC_GFOFFSET3D(u,0,0,4),ToReal(-30),kmadd(KRANC_GFOFFSET3D(u,0,0,-5),ToReal(-3),kmadd(KRANC_GFOFFSET3D(u,0,0,5),ToReal(3),kmadd(KRANC_GFOFFSET3D(u,0,0,-4),ToReal(30),kmadd(KRANC_GFOFFSET3D(u,0,0,3),ToReal(145),kmadd(KRANC_GFOFFSET3D(u,0,0,-2),ToReal(480),kmul(KRANC_GFOFFSET3D(u,0,0,1),ToReal(1470))))))))))))) #else # define PDupwindNthAntifdOrder83(u) (PDupwindNthAntifdOrder83_impl(u,p1o1680dz,cdj,cdk)) -static CCTK_REAL_VEC PDupwindNthAntifdOrder83_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o1680dz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL_VEC PDupwindNthAntifdOrder83_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o1680dz, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDupwindNthAntifdOrder83_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o1680dz, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL_VEC PDupwindNthAntifdOrder83_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o1680dz, const ptrdiff_t cdj, const ptrdiff_t cdk) { - ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); - return kmul(p1o1680dz,kmadd(KRANC_GFOFFSET3D(u,0,0,-1),ToReal(-1470.),kmadd(KRANC_GFOFFSET3D(u,0,0,2),ToReal(-480.),kmadd(KRANC_GFOFFSET3D(u,0,0,-3),ToReal(-145.),kmadd(KRANC_GFOFFSET3D(u,0,0,4),ToReal(-30.),kmadd(KRANC_GFOFFSET3D(u,0,0,-5),ToReal(-3.),kmadd(KRANC_GFOFFSET3D(u,0,0,5),ToReal(3.),kmadd(KRANC_GFOFFSET3D(u,0,0,-4),ToReal(30.),kmadd(KRANC_GFOFFSET3D(u,0,0,3),ToReal(145.),kmadd(KRANC_GFOFFSET3D(u,0,0,-2),ToReal(480.),kmul(KRANC_GFOFFSET3D(u,0,0,1),ToReal(1470.)))))))))))); + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); + return PDupwindNthAntifdOrder82_impl(u, p1o1680dz, cdk, cdj); } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDupwindNthSymmfdOrder23(u) (kmul(pm1o4dz,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(-4.),kmul(KRANC_GFOFFSET3D(u,0,0,0),ToReal(6.))))))) +# define PDupwindNthSymmfdOrder23(u) (kmul(pm1o4dz,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(-4),kmul(KRANC_GFOFFSET3D(u,0,0,0),ToReal(6))))))) #else # define PDupwindNthSymmfdOrder23(u) (PDupwindNthSymmfdOrder23_impl(u,pm1o4dz,cdj,cdk)) -static CCTK_REAL_VEC PDupwindNthSymmfdOrder23_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ pm1o4dz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL_VEC PDupwindNthSymmfdOrder23_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ pm1o4dz, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDupwindNthSymmfdOrder23_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC pm1o4dz, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL_VEC PDupwindNthSymmfdOrder23_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC pm1o4dz, const ptrdiff_t cdj, const ptrdiff_t cdk) { - ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); - return kmul(pm1o4dz,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(-4.),kmul(KRANC_GFOFFSET3D(u,0,0,0),ToReal(6.)))))); + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); + return PDupwindNthSymmfdOrder22_impl(u, pm1o4dz, cdk, cdj); } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDupwindNthSymmfdOrder43(u) (kmul(p1o24dz,kadd(KRANC_GFOFFSET3D(u,0,0,-3),kadd(KRANC_GFOFFSET3D(u,0,0,3),kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-20.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,0,-2),KRANC_GFOFFSET3D(u,0,0,2)),ToReal(-6.),kmul(kadd(KRANC_GFOFFSET3D(u,0,0,-1),KRANC_GFOFFSET3D(u,0,0,1)),ToReal(15.)))))))) +# define PDupwindNthSymmfdOrder43(u) (kmul(p1o24dz,kadd(KRANC_GFOFFSET3D(u,0,0,-3),kadd(KRANC_GFOFFSET3D(u,0,0,3),kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-20),kmadd(kadd(KRANC_GFOFFSET3D(u,0,0,-2),KRANC_GFOFFSET3D(u,0,0,2)),ToReal(-6),kmul(kadd(KRANC_GFOFFSET3D(u,0,0,-1),KRANC_GFOFFSET3D(u,0,0,1)),ToReal(15)))))))) #else # define PDupwindNthSymmfdOrder43(u) (PDupwindNthSymmfdOrder43_impl(u,p1o24dz,cdj,cdk)) -static CCTK_REAL_VEC PDupwindNthSymmfdOrder43_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o24dz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL_VEC PDupwindNthSymmfdOrder43_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o24dz, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDupwindNthSymmfdOrder43_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o24dz, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL_VEC PDupwindNthSymmfdOrder43_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o24dz, const ptrdiff_t cdj, const ptrdiff_t cdk) { - ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); - return kmul(p1o24dz,kadd(KRANC_GFOFFSET3D(u,0,0,-3),kadd(KRANC_GFOFFSET3D(u,0,0,3),kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-20.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,0,-2),KRANC_GFOFFSET3D(u,0,0,2)),ToReal(-6.),kmul(kadd(KRANC_GFOFFSET3D(u,0,0,-1),KRANC_GFOFFSET3D(u,0,0,1)),ToReal(15.))))))); + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); + return PDupwindNthSymmfdOrder42_impl(u, p1o24dz, cdk, cdj); } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDupwindNthSymmfdOrder63(u) (kmul(pm1o120dz,kadd(KRANC_GFOFFSET3D(u,0,0,-4),kadd(KRANC_GFOFFSET3D(u,0,0,4),kmadd(kadd(KRANC_GFOFFSET3D(u,0,0,-1),KRANC_GFOFFSET3D(u,0,0,1)),ToReal(-56.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,0,-3),KRANC_GFOFFSET3D(u,0,0,3)),ToReal(-8.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,0,-2),KRANC_GFOFFSET3D(u,0,0,2)),ToReal(28.),kmul(KRANC_GFOFFSET3D(u,0,0,0),ToReal(70.))))))))) +# define PDupwindNthSymmfdOrder63(u) (kmul(pm1o120dz,kadd(KRANC_GFOFFSET3D(u,0,0,-4),kadd(KRANC_GFOFFSET3D(u,0,0,4),kmadd(kadd(KRANC_GFOFFSET3D(u,0,0,-1),KRANC_GFOFFSET3D(u,0,0,1)),ToReal(-56),kmadd(kadd(KRANC_GFOFFSET3D(u,0,0,-3),KRANC_GFOFFSET3D(u,0,0,3)),ToReal(-8),kmadd(kadd(KRANC_GFOFFSET3D(u,0,0,-2),KRANC_GFOFFSET3D(u,0,0,2)),ToReal(28),kmul(KRANC_GFOFFSET3D(u,0,0,0),ToReal(70))))))))) #else # define PDupwindNthSymmfdOrder63(u) (PDupwindNthSymmfdOrder63_impl(u,pm1o120dz,cdj,cdk)) -static CCTK_REAL_VEC PDupwindNthSymmfdOrder63_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ pm1o120dz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL_VEC PDupwindNthSymmfdOrder63_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ pm1o120dz, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDupwindNthSymmfdOrder63_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC pm1o120dz, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL_VEC PDupwindNthSymmfdOrder63_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC pm1o120dz, const ptrdiff_t cdj, const ptrdiff_t cdk) { - ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); - return kmul(pm1o120dz,kadd(KRANC_GFOFFSET3D(u,0,0,-4),kadd(KRANC_GFOFFSET3D(u,0,0,4),kmadd(kadd(KRANC_GFOFFSET3D(u,0,0,-1),KRANC_GFOFFSET3D(u,0,0,1)),ToReal(-56.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,0,-3),KRANC_GFOFFSET3D(u,0,0,3)),ToReal(-8.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,0,-2),KRANC_GFOFFSET3D(u,0,0,2)),ToReal(28.),kmul(KRANC_GFOFFSET3D(u,0,0,0),ToReal(70.)))))))); + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); + return PDupwindNthSymmfdOrder62_impl(u, pm1o120dz, cdk, cdj); } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDupwindNthSymmfdOrder83(u) (kmul(p1o560dz,kadd(KRANC_GFOFFSET3D(u,0,0,-5),kadd(KRANC_GFOFFSET3D(u,0,0,5),kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-252.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,0,-2),KRANC_GFOFFSET3D(u,0,0,2)),ToReal(-120.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,0,-4),KRANC_GFOFFSET3D(u,0,0,4)),ToReal(-10.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,0,-3),KRANC_GFOFFSET3D(u,0,0,3)),ToReal(45.),kmul(kadd(KRANC_GFOFFSET3D(u,0,0,-1),KRANC_GFOFFSET3D(u,0,0,1)),ToReal(210.)))))))))) +# define PDupwindNthSymmfdOrder83(u) (kmul(p1o560dz,kadd(KRANC_GFOFFSET3D(u,0,0,-5),kadd(KRANC_GFOFFSET3D(u,0,0,5),kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-252),kmadd(kadd(KRANC_GFOFFSET3D(u,0,0,-2),KRANC_GFOFFSET3D(u,0,0,2)),ToReal(-120),kmadd(kadd(KRANC_GFOFFSET3D(u,0,0,-4),KRANC_GFOFFSET3D(u,0,0,4)),ToReal(-10),kmadd(kadd(KRANC_GFOFFSET3D(u,0,0,-3),KRANC_GFOFFSET3D(u,0,0,3)),ToReal(45),kmul(kadd(KRANC_GFOFFSET3D(u,0,0,-1),KRANC_GFOFFSET3D(u,0,0,1)),ToReal(210)))))))))) #else # define PDupwindNthSymmfdOrder83(u) (PDupwindNthSymmfdOrder83_impl(u,p1o560dz,cdj,cdk)) -static CCTK_REAL_VEC PDupwindNthSymmfdOrder83_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o560dz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL_VEC PDupwindNthSymmfdOrder83_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o560dz, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDupwindNthSymmfdOrder83_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o560dz, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL_VEC PDupwindNthSymmfdOrder83_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o560dz, const ptrdiff_t cdj, const ptrdiff_t cdk) { - ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); - return kmul(p1o560dz,kadd(KRANC_GFOFFSET3D(u,0,0,-5),kadd(KRANC_GFOFFSET3D(u,0,0,5),kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-252.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,0,-2),KRANC_GFOFFSET3D(u,0,0,2)),ToReal(-120.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,0,-4),KRANC_GFOFFSET3D(u,0,0,4)),ToReal(-10.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,0,-3),KRANC_GFOFFSET3D(u,0,0,3)),ToReal(45.),kmul(kadd(KRANC_GFOFFSET3D(u,0,0,-1),KRANC_GFOFFSET3D(u,0,0,1)),ToReal(210.))))))))); + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); + return PDupwindNthSymmfdOrder82_impl(u, p1o560dz, cdk, cdj); } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDonesided3(u) (kmul(p1odz,kmul(dir3,kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-1.),KRANC_GFOFFSET3D(u,0,0,1))))) +# define PDonesided3(u) (kmul(p1odz,kmul(dir3,ksub(KRANC_GFOFFSET3D(u,0,0,1),KRANC_GFOFFSET3D(u,0,0,0))))) #else # define PDonesided3(u) (PDonesided3_impl(u,p1odz,cdj,cdk)) -static CCTK_REAL_VEC PDonesided3_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1odz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL_VEC PDonesided3_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1odz, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDonesided3_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1odz, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL_VEC PDonesided3_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1odz, const ptrdiff_t cdj, const ptrdiff_t cdk) { assert(0); return ToReal(1e30); /* ERROR */ } #endif diff --git a/ML_BSSN/src/ML_BSSN_Advect.cc b/ML_BSSN/src/ML_BSSN_Advect.cc index 30db154..1d562c3 100644 --- a/ML_BSSN/src/ML_BSSN_Advect.cc +++ b/ML_BSSN/src/ML_BSSN_Advect.cc @@ -32,7 +32,9 @@ extern "C" void ML_BSSN_Advect_SelectBCs(CCTK_ARGUMENTS) DECLARE_CCTK_ARGUMENTS; DECLARE_CCTK_PARAMETERS; - CCTK_INT ierr CCTK_ATTRIBUTE_UNUSED = 0; + if (cctk_iteration % ML_BSSN_Advect_calc_every != ML_BSSN_Advect_calc_offset) + return; + CCTK_INT ierr CCTK_ATTRIBUTE_UNUSED = 0; ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_BSSN::ML_curvrhs","flat"); if (ierr < 0) CCTK_WARN(1, "Failed to register flat BC for ML_BSSN::ML_curvrhs."); @@ -63,7 +65,7 @@ extern "C" void ML_BSSN_Advect_SelectBCs(CCTK_ARGUMENTS) return; } -static void ML_BSSN_Advect_Body(cGH const * restrict const cctkGH, int const dir, int const face, CCTK_REAL const normal[3], CCTK_REAL const tangentA[3], CCTK_REAL const tangentB[3], int const imin[3], int const imax[3], int const n_subblock_gfs, CCTK_REAL * restrict const subblock_gfs[]) +static void ML_BSSN_Advect_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; @@ -72,153 +74,175 @@ static void ML_BSSN_Advect_Body(cGH const * restrict const cctkGH, int const dir /* Include user-supplied include files */ /* Initialise finite differencing variables */ - ptrdiff_t /*const*/ di CCTK_ATTRIBUTE_UNUSED = 1; - ptrdiff_t /*const*/ dj CCTK_ATTRIBUTE_UNUSED = CCTK_GFINDEX3D(cctkGH,0,1,0) - CCTK_GFINDEX3D(cctkGH,0,0,0); - ptrdiff_t /*const*/ dk CCTK_ATTRIBUTE_UNUSED = CCTK_GFINDEX3D(cctkGH,0,0,1) - CCTK_GFINDEX3D(cctkGH,0,0,0); - ptrdiff_t /*const*/ cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * di; - ptrdiff_t /*const*/ cdj CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * dj; - ptrdiff_t /*const*/ cdk CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * dk; - CCTK_REAL_VEC /*const*/ dx CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(0)); - CCTK_REAL_VEC /*const*/ dy CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(1)); - CCTK_REAL_VEC /*const*/ dz CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(2)); - CCTK_REAL_VEC /*const*/ dt CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_TIME); - CCTK_REAL_VEC /*const*/ t CCTK_ATTRIBUTE_UNUSED = ToReal(cctk_time); - CCTK_REAL_VEC /*const*/ dxi CCTK_ATTRIBUTE_UNUSED = INV(dx); - CCTK_REAL_VEC /*const*/ dyi CCTK_ATTRIBUTE_UNUSED = INV(dy); - CCTK_REAL_VEC /*const*/ dzi CCTK_ATTRIBUTE_UNUSED = INV(dz); - CCTK_REAL_VEC /*const*/ khalf CCTK_ATTRIBUTE_UNUSED = ToReal(0.5); - CCTK_REAL_VEC /*const*/ kthird CCTK_ATTRIBUTE_UNUSED = ToReal(1.0/3.0); - CCTK_REAL_VEC /*const*/ ktwothird CCTK_ATTRIBUTE_UNUSED = ToReal(2.0/3.0); - CCTK_REAL_VEC /*const*/ kfourthird CCTK_ATTRIBUTE_UNUSED = ToReal(4.0/3.0); - CCTK_REAL_VEC /*const*/ keightthird CCTK_ATTRIBUTE_UNUSED = ToReal(8.0/3.0); - CCTK_REAL_VEC /*const*/ hdxi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dxi); - CCTK_REAL_VEC /*const*/ hdyi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dyi); - CCTK_REAL_VEC /*const*/ hdzi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dzi); + const ptrdiff_t di CCTK_ATTRIBUTE_UNUSED = 1; + const ptrdiff_t dj CCTK_ATTRIBUTE_UNUSED = CCTK_GFINDEX3D(cctkGH,0,1,0) - CCTK_GFINDEX3D(cctkGH,0,0,0); + const ptrdiff_t dk CCTK_ATTRIBUTE_UNUSED = CCTK_GFINDEX3D(cctkGH,0,0,1) - CCTK_GFINDEX3D(cctkGH,0,0,0); + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * di; + const ptrdiff_t cdj CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * dj; + const ptrdiff_t cdk CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * dk; + const CCTK_REAL_VEC dx CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(0)); + const CCTK_REAL_VEC dy CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(1)); + const CCTK_REAL_VEC dz CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(2)); + const CCTK_REAL_VEC dt CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_TIME); + const CCTK_REAL_VEC t CCTK_ATTRIBUTE_UNUSED = ToReal(cctk_time); + const CCTK_REAL_VEC dxi CCTK_ATTRIBUTE_UNUSED = INV(dx); + const CCTK_REAL_VEC dyi CCTK_ATTRIBUTE_UNUSED = INV(dy); + const CCTK_REAL_VEC dzi CCTK_ATTRIBUTE_UNUSED = INV(dz); + const CCTK_REAL_VEC khalf CCTK_ATTRIBUTE_UNUSED = ToReal(0.5); + const CCTK_REAL_VEC kthird CCTK_ATTRIBUTE_UNUSED = ToReal(1.0/3.0); + const CCTK_REAL_VEC ktwothird CCTK_ATTRIBUTE_UNUSED = ToReal(2.0/3.0); + const CCTK_REAL_VEC kfourthird CCTK_ATTRIBUTE_UNUSED = ToReal(4.0/3.0); + const CCTK_REAL_VEC keightthird CCTK_ATTRIBUTE_UNUSED = ToReal(8.0/3.0); + const CCTK_REAL_VEC hdxi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dxi); + const CCTK_REAL_VEC hdyi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dyi); + const CCTK_REAL_VEC hdzi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dzi); /* Initialize predefined quantities */ - CCTK_REAL_VEC /*const*/ p1o1024dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dx); - CCTK_REAL_VEC /*const*/ p1o1024dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dy); - CCTK_REAL_VEC /*const*/ p1o1024dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dz); - CCTK_REAL_VEC /*const*/ p1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dx); - CCTK_REAL_VEC /*const*/ p1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dy); - CCTK_REAL_VEC /*const*/ p1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dz); - CCTK_REAL_VEC /*const*/ p1o12dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dx); - CCTK_REAL_VEC /*const*/ p1o12dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dy); - CCTK_REAL_VEC /*const*/ p1o12dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dz); - CCTK_REAL_VEC /*const*/ p1o144dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o144dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o144dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o1680dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dx); - CCTK_REAL_VEC /*const*/ p1o1680dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dy); - CCTK_REAL_VEC /*const*/ p1o1680dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dz); - CCTK_REAL_VEC /*const*/ p1o180dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ p1o180dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ p1o180dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ p1o24dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dx); - CCTK_REAL_VEC /*const*/ p1o24dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dy); - CCTK_REAL_VEC /*const*/ p1o24dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dz); - CCTK_REAL_VEC /*const*/ p1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dx); - CCTK_REAL_VEC /*const*/ p1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dy); - CCTK_REAL_VEC /*const*/ p1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dz); - CCTK_REAL_VEC /*const*/ p1o3600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o3600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o3600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dx); - CCTK_REAL_VEC /*const*/ p1o4dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o4dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dy); - CCTK_REAL_VEC /*const*/ p1o4dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dz); - CCTK_REAL_VEC /*const*/ p1o5040dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ p1o5040dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ p1o5040dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ p1o560dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dx); - CCTK_REAL_VEC /*const*/ p1o560dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dy); - CCTK_REAL_VEC /*const*/ p1o560dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dz); - CCTK_REAL_VEC /*const*/ p1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dx); - CCTK_REAL_VEC /*const*/ p1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dy); - CCTK_REAL_VEC /*const*/ p1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dz); - CCTK_REAL_VEC /*const*/ p1o64dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dx); - CCTK_REAL_VEC /*const*/ p1o64dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dy); - CCTK_REAL_VEC /*const*/ p1o64dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dz); - CCTK_REAL_VEC /*const*/ p1o705600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o705600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o705600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o840dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dx); - CCTK_REAL_VEC /*const*/ p1o840dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dy); - CCTK_REAL_VEC /*const*/ p1o840dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dz); - CCTK_REAL_VEC /*const*/ p1odx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dx); - CCTK_REAL_VEC /*const*/ p1odx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ p1ody CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dy); - CCTK_REAL_VEC /*const*/ p1ody2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ p1odz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dz); - CCTK_REAL_VEC /*const*/ p1odz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ pm1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dx); - CCTK_REAL_VEC /*const*/ pm1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dy); - CCTK_REAL_VEC /*const*/ pm1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dz); - CCTK_REAL_VEC /*const*/ pm1o12dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ pm1o12dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ pm1o12dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ pm1o16dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dx); - CCTK_REAL_VEC /*const*/ pm1o16dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dy); - CCTK_REAL_VEC /*const*/ pm1o16dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dz); - CCTK_REAL_VEC /*const*/ pm1o256dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dx); - CCTK_REAL_VEC /*const*/ pm1o256dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dy); - CCTK_REAL_VEC /*const*/ pm1o256dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dz); - CCTK_REAL_VEC /*const*/ pm1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dx); - CCTK_REAL_VEC /*const*/ pm1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dy); - CCTK_REAL_VEC /*const*/ pm1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dz); - CCTK_REAL_VEC /*const*/ pm1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dx); - CCTK_REAL_VEC /*const*/ pm1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dy); - CCTK_REAL_VEC /*const*/ pm1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dz); - CCTK_REAL_VEC /*const*/ pm1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dx); - CCTK_REAL_VEC /*const*/ pm1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dy); - CCTK_REAL_VEC /*const*/ pm1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dz); + const CCTK_REAL_VEC p1o1024dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dx); + const CCTK_REAL_VEC p1o1024dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dy); + const CCTK_REAL_VEC p1o1024dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dz); + const CCTK_REAL_VEC p1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dx); + const CCTK_REAL_VEC p1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dy); + const CCTK_REAL_VEC p1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dz); + const CCTK_REAL_VEC p1o12dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dx); + const CCTK_REAL_VEC p1o12dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dy); + const CCTK_REAL_VEC p1o12dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dz); + const CCTK_REAL_VEC p1o144dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dy,dx)); + const CCTK_REAL_VEC p1o144dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dx)); + const CCTK_REAL_VEC p1o144dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dy)); + const CCTK_REAL_VEC p1o1680dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dx); + const CCTK_REAL_VEC p1o1680dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dy); + const CCTK_REAL_VEC p1o1680dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dz); + const CCTK_REAL_VEC p1o180dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dx,dx)); + const CCTK_REAL_VEC p1o180dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dy,dy)); + const CCTK_REAL_VEC p1o180dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dz,dz)); + const CCTK_REAL_VEC p1o24dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dx); + const CCTK_REAL_VEC p1o24dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dy); + const CCTK_REAL_VEC p1o24dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dz); + const CCTK_REAL_VEC p1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dx); + const CCTK_REAL_VEC p1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dy); + const CCTK_REAL_VEC p1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dz); + const CCTK_REAL_VEC p1o3600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dy,dx)); + const CCTK_REAL_VEC p1o3600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dx)); + const CCTK_REAL_VEC p1o3600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dy)); + const CCTK_REAL_VEC p1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dx); + const CCTK_REAL_VEC p1o4dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dy,dx)); + const CCTK_REAL_VEC p1o4dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dx)); + const CCTK_REAL_VEC p1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dy); + const CCTK_REAL_VEC p1o4dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dy)); + const CCTK_REAL_VEC p1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dz); + const CCTK_REAL_VEC p1o5040dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dx,dx)); + const CCTK_REAL_VEC p1o5040dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dy,dy)); + const CCTK_REAL_VEC p1o5040dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dz,dz)); + const CCTK_REAL_VEC p1o560dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dx); + const CCTK_REAL_VEC p1o560dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dy); + const CCTK_REAL_VEC p1o560dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dz); + const CCTK_REAL_VEC p1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dx); + const CCTK_REAL_VEC p1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dy); + const CCTK_REAL_VEC p1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dz); + const CCTK_REAL_VEC p1o64dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dx); + const CCTK_REAL_VEC p1o64dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dy); + const CCTK_REAL_VEC p1o64dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dz); + const CCTK_REAL_VEC p1o705600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dy,dx)); + const CCTK_REAL_VEC p1o705600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dx)); + const CCTK_REAL_VEC p1o705600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dy)); + const CCTK_REAL_VEC p1o840dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dx); + const CCTK_REAL_VEC p1o840dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dy); + const CCTK_REAL_VEC p1o840dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dz); + const CCTK_REAL_VEC p1odx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dx); + const CCTK_REAL_VEC p1odx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dx,dx)); + const CCTK_REAL_VEC p1ody CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dy); + const CCTK_REAL_VEC p1ody2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dy,dy)); + const CCTK_REAL_VEC p1odz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dz); + const CCTK_REAL_VEC p1odz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dz,dz)); + const CCTK_REAL_VEC pm1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dx); + const CCTK_REAL_VEC pm1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dy); + const CCTK_REAL_VEC pm1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dz); + const CCTK_REAL_VEC pm1o12dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dx,dx)); + const CCTK_REAL_VEC pm1o12dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dy,dy)); + const CCTK_REAL_VEC pm1o12dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dz,dz)); + const CCTK_REAL_VEC pm1o16dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dx); + const CCTK_REAL_VEC pm1o16dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dy); + const CCTK_REAL_VEC pm1o16dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dz); + const CCTK_REAL_VEC pm1o256dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dx); + const CCTK_REAL_VEC pm1o256dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dy); + const CCTK_REAL_VEC pm1o256dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dz); + const CCTK_REAL_VEC pm1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dx); + const CCTK_REAL_VEC pm1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dy); + const CCTK_REAL_VEC pm1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dz); + const CCTK_REAL_VEC pm1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dx); + const CCTK_REAL_VEC pm1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dy); + const CCTK_REAL_VEC pm1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dz); + const CCTK_REAL_VEC pm1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dx); + const CCTK_REAL_VEC pm1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dy); + const CCTK_REAL_VEC pm1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dz); /* Jacobian variable pointers */ - bool const use_jacobian CCTK_ATTRIBUTE_UNUSED = (!CCTK_IsFunctionAliased("MultiPatch_GetMap") || MultiPatch_GetMap(cctkGH) != jacobian_identity_map) - && strlen(jacobian_group) > 0; - if (use_jacobian && strlen(jacobian_derivative_group) == 0) + const bool use_jacobian1 = (!CCTK_IsFunctionAliased("MultiPatch_GetMap") || MultiPatch_GetMap(cctkGH) != jacobian_identity_map) + && strlen(jacobian_group) > 0; + const bool use_jacobian = assume_use_jacobian>=0 ? assume_use_jacobian : use_jacobian1; + const bool usejacobian CCTK_ATTRIBUTE_UNUSED = use_jacobian; + if (use_jacobian && (strlen(jacobian_determinant_group) == 0 || strlen(jacobian_inverse_group) == 0 || strlen(jacobian_derivative_group) == 0)) { - CCTK_WARN (1, "GenericFD::jacobian_group and GenericFD::jacobian_derivative_group must both be set to valid group names"); + CCTK_WARN(1, "GenericFD::jacobian_group, GenericFD::jacobian_determinant_group, GenericFD::jacobian_inverse_group, and GenericFD::jacobian_derivative_group must all be set to valid group names"); } - CCTK_REAL const *restrict jacobian_ptrs[9]; + const CCTK_REAL* restrict jacobian_ptrs[9]; if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_group, 9, jacobian_ptrs); - CCTK_REAL const *restrict const J11 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[0] : 0; - CCTK_REAL const *restrict const J12 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[1] : 0; - CCTK_REAL const *restrict const J13 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[2] : 0; - CCTK_REAL const *restrict const J21 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[3] : 0; - CCTK_REAL const *restrict const J22 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[4] : 0; - CCTK_REAL const *restrict const J23 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[5] : 0; - CCTK_REAL const *restrict const J31 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[6] : 0; - CCTK_REAL const *restrict const J32 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[7] : 0; - CCTK_REAL const *restrict const J33 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[8] : 0; + const CCTK_REAL* restrict const J11 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[0] : 0; + const CCTK_REAL* restrict const J12 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[1] : 0; + const CCTK_REAL* restrict const J13 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[2] : 0; + const CCTK_REAL* restrict const J21 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[3] : 0; + const CCTK_REAL* restrict const J22 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[4] : 0; + const CCTK_REAL* restrict const J23 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[5] : 0; + const CCTK_REAL* restrict const J31 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[6] : 0; + const CCTK_REAL* restrict const J32 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[7] : 0; + const CCTK_REAL* restrict const J33 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[8] : 0; + + const CCTK_REAL* restrict jacobian_determinant_ptrs[1] CCTK_ATTRIBUTE_UNUSED; + if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_determinant_group, + 1, jacobian_determinant_ptrs); + + const CCTK_REAL* restrict const detJ CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[0] : 0; - CCTK_REAL const *restrict jacobian_derivative_ptrs[18] CCTK_ATTRIBUTE_UNUSED; + const CCTK_REAL* restrict jacobian_inverse_ptrs[9] CCTK_ATTRIBUTE_UNUSED; + if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_inverse_group, + 9, jacobian_inverse_ptrs); + + const CCTK_REAL* restrict const iJ11 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[0] : 0; + const CCTK_REAL* restrict const iJ12 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[1] : 0; + const CCTK_REAL* restrict const iJ13 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[2] : 0; + const CCTK_REAL* restrict const iJ21 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[3] : 0; + const CCTK_REAL* restrict const iJ22 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[4] : 0; + const CCTK_REAL* restrict const iJ23 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[5] : 0; + const CCTK_REAL* restrict const iJ31 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[6] : 0; + const CCTK_REAL* restrict const iJ32 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[7] : 0; + const CCTK_REAL* restrict const iJ33 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[8] : 0; + + const CCTK_REAL* restrict jacobian_derivative_ptrs[18] CCTK_ATTRIBUTE_UNUSED; if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_derivative_group, 18, jacobian_derivative_ptrs); - CCTK_REAL const *restrict const dJ111 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[0] : 0; - CCTK_REAL const *restrict const dJ112 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[1] : 0; - CCTK_REAL const *restrict const dJ113 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[2] : 0; - CCTK_REAL const *restrict const dJ122 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[3] : 0; - CCTK_REAL const *restrict const dJ123 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[4] : 0; - CCTK_REAL const *restrict const dJ133 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[5] : 0; - CCTK_REAL const *restrict const dJ211 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[6] : 0; - CCTK_REAL const *restrict const dJ212 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[7] : 0; - CCTK_REAL const *restrict const dJ213 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[8] : 0; - CCTK_REAL const *restrict const dJ222 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[9] : 0; - CCTK_REAL const *restrict const dJ223 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[10] : 0; - CCTK_REAL const *restrict const dJ233 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[11] : 0; - CCTK_REAL const *restrict const dJ311 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[12] : 0; - CCTK_REAL const *restrict const dJ312 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[13] : 0; - CCTK_REAL const *restrict const dJ313 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[14] : 0; - CCTK_REAL const *restrict const dJ322 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[15] : 0; - CCTK_REAL const *restrict const dJ323 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[16] : 0; - CCTK_REAL const *restrict const dJ333 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[17] : 0; + const CCTK_REAL* restrict const dJ111 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[0] : 0; + const CCTK_REAL* restrict const dJ112 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[1] : 0; + const CCTK_REAL* restrict const dJ113 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[2] : 0; + const CCTK_REAL* restrict const dJ122 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[3] : 0; + const CCTK_REAL* restrict const dJ123 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[4] : 0; + const CCTK_REAL* restrict const dJ133 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[5] : 0; + const CCTK_REAL* restrict const dJ211 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[6] : 0; + const CCTK_REAL* restrict const dJ212 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[7] : 0; + const CCTK_REAL* restrict const dJ213 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[8] : 0; + const CCTK_REAL* restrict const dJ222 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[9] : 0; + const CCTK_REAL* restrict const dJ223 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[10] : 0; + const CCTK_REAL* restrict const dJ233 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[11] : 0; + const CCTK_REAL* restrict const dJ311 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[12] : 0; + const CCTK_REAL* restrict const dJ312 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[13] : 0; + const CCTK_REAL* restrict const dJ313 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[14] : 0; + const CCTK_REAL* restrict const dJ322 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[15] : 0; + const CCTK_REAL* restrict const dJ323 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[16] : 0; + const CCTK_REAL* restrict const dJ333 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[17] : 0; /* Assign local copies of arrays functions */ @@ -229,13 +253,20 @@ static void ML_BSSN_Advect_Body(cGH const * restrict const cctkGH, int const dir /* Copy local copies back to grid functions */ /* Loop over the grid points */ - #pragma omp parallel + const int imin0=imin[0]; + const int imin1=imin[1]; + const int imin2=imin[2]; + const int imax0=imax[0]; + const int imax1=imax[1]; + const int imax2=imax[2]; + #pragma omp parallel // reduction(+: vec_iter_counter, vec_op_counter, vec_mem_counter) CCTK_LOOP3STR(ML_BSSN_Advect, - 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 */ @@ -309,160 +340,161 @@ static void ML_BSSN_Advect_Body(cGH const * restrict const cctkGH, int const dir /* Include user supplied include files */ /* Precompute derivatives */ - CCTK_REAL_VEC PDupwindNthAnti1A CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm1A CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti2A CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm2A CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti3A CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm3A CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti1alpha CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm1alpha CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti2alpha CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm2alpha CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti3alpha CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm3alpha CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti1At11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm1At11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti2At11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm2At11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti3At11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm3At11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti1At12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm1At12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti2At12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm2At12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti3At12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm3At12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti1At13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm1At13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti2At13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm2At13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti3At13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm3At13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti1At22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm1At22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti2At22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm2At22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti3At22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm3At22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti1At23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm1At23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti2At23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm2At23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti3At23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm3At23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti1At33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm1At33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti2At33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm2At33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti3At33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm3At33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti1B1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm1B1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti2B1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm2B1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti3B1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm3B1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti1B2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm1B2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti2B2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm2B2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti3B2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm3B2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti1B3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm1B3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti2B3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm2B3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti3B3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm3B3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti1beta1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm1beta1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti2beta1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm2beta1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti3beta1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm3beta1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti1beta2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm1beta2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti2beta2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm2beta2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti3beta2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm3beta2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti1beta3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm1beta3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti2beta3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm2beta3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti3beta3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm3beta3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti1gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm1gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti2gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm2gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti3gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm3gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti1gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm1gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti2gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm2gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti3gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm3gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti1gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm1gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti2gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm2gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti3gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm3gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti1gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm1gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti2gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm2gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti3gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm3gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti1gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm1gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti2gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm2gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti3gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm3gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti1gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm1gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti2gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm2gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti3gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm3gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti1phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm1phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti2phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm2phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti3phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm3phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti1trK CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm1trK CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti2trK CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm2trK CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti3trK CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm3trK CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti1Xt1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm1Xt1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti2Xt1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm2Xt1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti3Xt1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm3Xt1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti1Xt2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm1Xt2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti2Xt2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm2Xt2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti3Xt2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm3Xt2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti1Xt3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm1Xt3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti2Xt3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm2Xt3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti3Xt3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm3Xt3 CCTK_ATTRIBUTE_UNUSED ; + CCTK_REAL_VEC PDupwindNthAnti1A CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm1A CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti2A CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm2A CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti3A CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm3A CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti1alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm1alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti2alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm2alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti3alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm3alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti1At11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm1At11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti2At11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm2At11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti3At11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm3At11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti1At12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm1At12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti2At12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm2At12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti3At12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm3At12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti1At13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm1At13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti2At13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm2At13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti3At13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm3At13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti1At22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm1At22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti2At22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm2At22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti3At22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm3At22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti1At23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm1At23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti2At23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm2At23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti3At23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm3At23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti1At33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm1At33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti2At33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm2At33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti3At33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm3At33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti1B1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm1B1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti2B1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm2B1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti3B1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm3B1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti1B2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm1B2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti2B2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm2B2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti3B2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm3B2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti1B3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm1B3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti2B3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm2B3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti3B3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm3B3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti1beta1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm1beta1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti2beta1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm2beta1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti3beta1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm3beta1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti1beta2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm1beta2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti2beta2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm2beta2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti3beta2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm3beta2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti1beta3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm1beta3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti2beta3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm2beta3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti3beta3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm3beta3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti1gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm1gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti2gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm2gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti3gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm3gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti1gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm1gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti2gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm2gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti3gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm3gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti1gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm1gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti2gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm2gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti3gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm3gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti1gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm1gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti2gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm2gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti3gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm3gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti1gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm1gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti2gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm2gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti3gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm3gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti1gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm1gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti2gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm2gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti3gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm3gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti1phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm1phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti2phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm2phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti3phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm3phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti1trK CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm1trK CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti2trK CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm2trK CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti3trK CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm3trK CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti1Xt1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm1Xt1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti2Xt1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm2Xt1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti3Xt1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm3Xt1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti1Xt2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm1Xt2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti2Xt2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm2Xt2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti3Xt2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm3Xt2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti1Xt3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm1Xt3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti2Xt3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm2Xt3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti3Xt3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm3Xt3 CCTK_ATTRIBUTE_UNUSED; - switch(fdOrder) + switch (fdOrder) { case 2: + { PDupwindNthAnti1A = PDupwindNthAntifdOrder21(&A[index]); PDupwindNthSymm1A = PDupwindNthSymmfdOrder21(&A[index]); PDupwindNthAnti2A = PDupwindNthAntifdOrder22(&A[index]); @@ -614,8 +646,10 @@ static void ML_BSSN_Advect_Body(cGH const * restrict const cctkGH, int const dir PDupwindNthAnti3Xt3 = PDupwindNthAntifdOrder23(&Xt3[index]); PDupwindNthSymm3Xt3 = PDupwindNthSymmfdOrder23(&Xt3[index]); break; + } case 4: + { PDupwindNthAnti1A = PDupwindNthAntifdOrder41(&A[index]); PDupwindNthSymm1A = PDupwindNthSymmfdOrder41(&A[index]); PDupwindNthAnti2A = PDupwindNthAntifdOrder42(&A[index]); @@ -767,8 +801,10 @@ static void ML_BSSN_Advect_Body(cGH const * restrict const cctkGH, int const dir PDupwindNthAnti3Xt3 = PDupwindNthAntifdOrder43(&Xt3[index]); PDupwindNthSymm3Xt3 = PDupwindNthSymmfdOrder43(&Xt3[index]); break; + } case 6: + { PDupwindNthAnti1A = PDupwindNthAntifdOrder61(&A[index]); PDupwindNthSymm1A = PDupwindNthSymmfdOrder61(&A[index]); PDupwindNthAnti2A = PDupwindNthAntifdOrder62(&A[index]); @@ -920,8 +956,10 @@ static void ML_BSSN_Advect_Body(cGH const * restrict const cctkGH, int const dir PDupwindNthAnti3Xt3 = PDupwindNthAntifdOrder63(&Xt3[index]); PDupwindNthSymm3Xt3 = PDupwindNthSymmfdOrder63(&Xt3[index]); break; + } case 8: + { PDupwindNthAnti1A = PDupwindNthAntifdOrder81(&A[index]); PDupwindNthSymm1A = PDupwindNthSymmfdOrder81(&A[index]); PDupwindNthAnti2A = PDupwindNthAntifdOrder82(&A[index]); @@ -1073,6 +1111,9 @@ static void ML_BSSN_Advect_Body(cGH const * restrict const cctkGH, int const dir PDupwindNthAnti3Xt3 = PDupwindNthAntifdOrder83(&Xt3[index]); PDupwindNthSymm3Xt3 = PDupwindNthSymmfdOrder83(&Xt3[index]); break; + } + default: + CCTK_BUILTIN_UNREACHABLE(); } /* Calculate temporaries and grid functions */ @@ -1082,156 +1123,156 @@ static void ML_BSSN_Advect_Body(cGH const * restrict const cctkGH, int const dir ptrdiff_t CCTK_ATTRIBUTE_UNUSED dir3 = kisgn(beta3L); - CCTK_REAL_VEC JacPDupwindNthAnti1A CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti1alpha CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti1At11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti1At12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti1At13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti1At22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti1At23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti1At33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti1B1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti1B2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti1B3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti1beta1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti1beta2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti1beta3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti1gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti1gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti1gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti1gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti1gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti1gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti1phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti1trK CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti1Xt1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti1Xt2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti1Xt3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti2A CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti2alpha CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti2At11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti2At12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti2At13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti2At22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti2At23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti2At33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti2B1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti2B2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti2B3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti2beta1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti2beta2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti2beta3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti2gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti2gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti2gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti2gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti2gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti2gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti2phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti2trK CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti2Xt1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti2Xt2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti2Xt3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti3A CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti3alpha CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti3At11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti3At12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti3At13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti3At22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti3At23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti3At33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti3B1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti3B2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti3B3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti3beta1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti3beta2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti3beta3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti3gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti3gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti3gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti3gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti3gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti3gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti3phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti3trK CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti3Xt1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti3Xt2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti3Xt3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm1A CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm1alpha CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm1At11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm1At12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm1At13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm1At22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm1At23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm1At33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm1B1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm1B2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm1B3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm1beta1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm1beta2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm1beta3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm1gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm1gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm1gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm1gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm1gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm1gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm1phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm1trK CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm1Xt1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm1Xt2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm1Xt3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm2A CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm2alpha CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm2At11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm2At12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm2At13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm2At22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm2At23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm2At33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm2B1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm2B2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm2B3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm2beta1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm2beta2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm2beta3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm2gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm2gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm2gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm2gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm2gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm2gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm2phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm2trK CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm2Xt1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm2Xt2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm2Xt3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm3A CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm3alpha CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm3At11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm3At12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm3At13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm3At22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm3At23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm3At33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm3B1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm3B2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm3B3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm3beta1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm3beta2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm3beta3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm3gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm3gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm3gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm3gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm3gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm3gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm3phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm3trK CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm3Xt1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm3Xt2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm3Xt3 CCTK_ATTRIBUTE_UNUSED ; + CCTK_REAL_VEC JacPDupwindNthAnti1A CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti1alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti1At11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti1At12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti1At13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti1At22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti1At23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti1At33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti1B1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti1B2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti1B3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti1beta1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti1beta2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti1beta3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti1gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti1gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti1gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti1gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti1gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti1gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti1phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti1trK CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti1Xt1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti1Xt2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti1Xt3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti2A CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti2alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti2At11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti2At12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti2At13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti2At22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti2At23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti2At33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti2B1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti2B2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti2B3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti2beta1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti2beta2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti2beta3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti2gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti2gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti2gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti2gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti2gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti2gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti2phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti2trK CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti2Xt1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti2Xt2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti2Xt3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti3A CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti3alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti3At11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti3At12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti3At13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti3At22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti3At23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti3At33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti3B1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti3B2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti3B3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti3beta1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti3beta2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti3beta3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti3gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti3gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti3gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti3gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti3gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti3gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti3phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti3trK CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti3Xt1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti3Xt2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti3Xt3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm1A CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm1alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm1At11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm1At12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm1At13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm1At22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm1At23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm1At33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm1B1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm1B2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm1B3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm1beta1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm1beta2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm1beta3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm1gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm1gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm1gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm1gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm1gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm1gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm1phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm1trK CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm1Xt1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm1Xt2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm1Xt3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm2A CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm2alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm2At11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm2At12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm2At13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm2At22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm2At23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm2At33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm2B1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm2B2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm2B3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm2beta1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm2beta2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm2beta3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm2gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm2gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm2gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm2gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm2gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm2gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm2phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm2trK CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm2Xt1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm2Xt2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm2Xt3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm3A CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm3alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm3At11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm3At12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm3At13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm3At22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm3At23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm3At33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm3B1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm3B2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm3B3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm3beta1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm3beta2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm3beta3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm3gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm3gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm3gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm3gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm3gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm3gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm3phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm3trK CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm3Xt1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm3Xt2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm3Xt3 CCTK_ATTRIBUTE_UNUSED; if (use_jacobian) { @@ -2043,8 +2084,8 @@ static void ML_BSSN_Advect_Body(cGH const * restrict const cctkGH, int const dir kmadd(kmadd(beta1L,JacPDupwindNthAnti1alpha,kmadd(beta2L,JacPDupwindNthAnti2alpha,kmadd(beta3L,JacPDupwindNthAnti3alpha,kmadd(JacPDupwindNthSymm1alpha,kfabs(beta1L),kmadd(JacPDupwindNthSymm2alpha,kfabs(beta2L),kmul(JacPDupwindNthSymm3alpha,kfabs(beta3L))))))),ToReal(LapseAdvectionCoeff),alpharhsL); ArhsL = - kmadd(ToReal(LapseACoeff),kmadd(kmadd(beta1L,JacPDupwindNthAnti1A,kmadd(beta2L,JacPDupwindNthAnti2A,kmadd(beta3L,JacPDupwindNthAnti3A,kmadd(JacPDupwindNthSymm1A,kfabs(beta1L),kmadd(JacPDupwindNthSymm2A,kfabs(beta2L),kmul(JacPDupwindNthSymm3A,kfabs(beta3L))))))),ToReal(LapseAdvectionCoeff),kmul(kmadd(beta1L,JacPDupwindNthAnti1trK,kmadd(beta2L,JacPDupwindNthAnti2trK,kmadd(beta3L,JacPDupwindNthAnti3trK,kmadd(JacPDupwindNthSymm1trK,kfabs(beta1L),kmadd(JacPDupwindNthSymm2trK,kfabs(beta2L),kmul(JacPDupwindNthSymm3trK,kfabs(beta3L))))))),ToReal(-1.*(-1. - + LapseAdvectionCoeff)))),ArhsL); + kmadd(ToReal(LapseACoeff),kmsub(kmadd(beta1L,JacPDupwindNthAnti1A,kmadd(beta2L,JacPDupwindNthAnti2A,kmadd(beta3L,JacPDupwindNthAnti3A,kmadd(JacPDupwindNthSymm1A,kfabs(beta1L),kmadd(JacPDupwindNthSymm2A,kfabs(beta2L),kmul(JacPDupwindNthSymm3A,kfabs(beta3L))))))),ToReal(LapseAdvectionCoeff),kmul(kmadd(beta1L,JacPDupwindNthAnti1trK,kmadd(beta2L,JacPDupwindNthAnti2trK,kmadd(beta3L,JacPDupwindNthAnti3trK,kmadd(JacPDupwindNthSymm1trK,kfabs(beta1L),kmadd(JacPDupwindNthSymm2trK,kfabs(beta2L),kmul(JacPDupwindNthSymm3trK,kfabs(beta3L))))))),ToReal(-1 + + LapseAdvectionCoeff))),ArhsL); beta1rhsL = kmadd(kmadd(beta1L,JacPDupwindNthAnti1beta1,kmadd(beta2L,JacPDupwindNthAnti2beta1,kmadd(beta3L,JacPDupwindNthAnti3beta1,kmadd(JacPDupwindNthSymm1beta1,kfabs(beta1L),kmadd(JacPDupwindNthSymm2beta1,kfabs(beta2L),kmul(JacPDupwindNthSymm3beta1,kfabs(beta3L))))))),ToReal(ShiftAdvectionCoeff),beta1rhsL); @@ -2056,19 +2097,19 @@ static void ML_BSSN_Advect_Body(cGH const * restrict const cctkGH, int const dir kmadd(kmadd(beta1L,JacPDupwindNthAnti1beta3,kmadd(beta2L,JacPDupwindNthAnti2beta3,kmadd(beta3L,JacPDupwindNthAnti3beta3,kmadd(JacPDupwindNthSymm1beta3,kfabs(beta1L),kmadd(JacPDupwindNthSymm2beta3,kfabs(beta2L),kmul(JacPDupwindNthSymm3beta3,kfabs(beta3L))))))),ToReal(ShiftAdvectionCoeff),beta3rhsL); B1rhsL = - kmadd(kmadd(kmadd(beta1L,JacPDupwindNthAnti1B1,kmadd(beta2L,JacPDupwindNthAnti2B1,kmadd(beta3L,JacPDupwindNthAnti3B1,kmadd(JacPDupwindNthSymm1B1,kfabs(beta1L),kmadd(JacPDupwindNthSymm2B1,kfabs(beta2L),kmul(JacPDupwindNthSymm3B1,kfabs(beta3L))))))),ToReal(ShiftAdvectionCoeff),kmul(kmadd(beta1L,JacPDupwindNthAnti1Xt1,kmadd(beta2L,JacPDupwindNthAnti2Xt1,kmadd(beta3L,JacPDupwindNthAnti3Xt1,kmadd(JacPDupwindNthSymm1Xt1,kfabs(beta1L),kmadd(JacPDupwindNthSymm2Xt1,kfabs(beta2L),kmul(JacPDupwindNthSymm3Xt1,kfabs(beta3L))))))),ToReal(-1.*(-1. - + ShiftAdvectionCoeff)))),ToReal(ShiftBCoeff),B1rhsL); + kmadd(kmsub(kmadd(beta1L,JacPDupwindNthAnti1B1,kmadd(beta2L,JacPDupwindNthAnti2B1,kmadd(beta3L,JacPDupwindNthAnti3B1,kmadd(JacPDupwindNthSymm1B1,kfabs(beta1L),kmadd(JacPDupwindNthSymm2B1,kfabs(beta2L),kmul(JacPDupwindNthSymm3B1,kfabs(beta3L))))))),ToReal(ShiftAdvectionCoeff),kmul(kmadd(beta1L,JacPDupwindNthAnti1Xt1,kmadd(beta2L,JacPDupwindNthAnti2Xt1,kmadd(beta3L,JacPDupwindNthAnti3Xt1,kmadd(JacPDupwindNthSymm1Xt1,kfabs(beta1L),kmadd(JacPDupwindNthSymm2Xt1,kfabs(beta2L),kmul(JacPDupwindNthSymm3Xt1,kfabs(beta3L))))))),ToReal(-1 + + ShiftAdvectionCoeff))),ToReal(ShiftBCoeff),B1rhsL); B2rhsL = - kmadd(kmadd(kmadd(beta1L,JacPDupwindNthAnti1B2,kmadd(beta2L,JacPDupwindNthAnti2B2,kmadd(beta3L,JacPDupwindNthAnti3B2,kmadd(JacPDupwindNthSymm1B2,kfabs(beta1L),kmadd(JacPDupwindNthSymm2B2,kfabs(beta2L),kmul(JacPDupwindNthSymm3B2,kfabs(beta3L))))))),ToReal(ShiftAdvectionCoeff),kmul(kmadd(beta1L,JacPDupwindNthAnti1Xt2,kmadd(beta2L,JacPDupwindNthAnti2Xt2,kmadd(beta3L,JacPDupwindNthAnti3Xt2,kmadd(JacPDupwindNthSymm1Xt2,kfabs(beta1L),kmadd(JacPDupwindNthSymm2Xt2,kfabs(beta2L),kmul(JacPDupwindNthSymm3Xt2,kfabs(beta3L))))))),ToReal(-1.*(-1. - + ShiftAdvectionCoeff)))),ToReal(ShiftBCoeff),B2rhsL); + kmadd(kmsub(kmadd(beta1L,JacPDupwindNthAnti1B2,kmadd(beta2L,JacPDupwindNthAnti2B2,kmadd(beta3L,JacPDupwindNthAnti3B2,kmadd(JacPDupwindNthSymm1B2,kfabs(beta1L),kmadd(JacPDupwindNthSymm2B2,kfabs(beta2L),kmul(JacPDupwindNthSymm3B2,kfabs(beta3L))))))),ToReal(ShiftAdvectionCoeff),kmul(kmadd(beta1L,JacPDupwindNthAnti1Xt2,kmadd(beta2L,JacPDupwindNthAnti2Xt2,kmadd(beta3L,JacPDupwindNthAnti3Xt2,kmadd(JacPDupwindNthSymm1Xt2,kfabs(beta1L),kmadd(JacPDupwindNthSymm2Xt2,kfabs(beta2L),kmul(JacPDupwindNthSymm3Xt2,kfabs(beta3L))))))),ToReal(-1 + + ShiftAdvectionCoeff))),ToReal(ShiftBCoeff),B2rhsL); B3rhsL = - kmadd(kmadd(kmadd(beta1L,JacPDupwindNthAnti1B3,kmadd(beta2L,JacPDupwindNthAnti2B3,kmadd(beta3L,JacPDupwindNthAnti3B3,kmadd(JacPDupwindNthSymm1B3,kfabs(beta1L),kmadd(JacPDupwindNthSymm2B3,kfabs(beta2L),kmul(JacPDupwindNthSymm3B3,kfabs(beta3L))))))),ToReal(ShiftAdvectionCoeff),kmul(kmadd(beta1L,JacPDupwindNthAnti1Xt3,kmadd(beta2L,JacPDupwindNthAnti2Xt3,kmadd(beta3L,JacPDupwindNthAnti3Xt3,kmadd(JacPDupwindNthSymm1Xt3,kfabs(beta1L),kmadd(JacPDupwindNthSymm2Xt3,kfabs(beta2L),kmul(JacPDupwindNthSymm3Xt3,kfabs(beta3L))))))),ToReal(-1.*(-1. - + ShiftAdvectionCoeff)))),ToReal(ShiftBCoeff),B3rhsL); + kmadd(kmsub(kmadd(beta1L,JacPDupwindNthAnti1B3,kmadd(beta2L,JacPDupwindNthAnti2B3,kmadd(beta3L,JacPDupwindNthAnti3B3,kmadd(JacPDupwindNthSymm1B3,kfabs(beta1L),kmadd(JacPDupwindNthSymm2B3,kfabs(beta2L),kmul(JacPDupwindNthSymm3B3,kfabs(beta3L))))))),ToReal(ShiftAdvectionCoeff),kmul(kmadd(beta1L,JacPDupwindNthAnti1Xt3,kmadd(beta2L,JacPDupwindNthAnti2Xt3,kmadd(beta3L,JacPDupwindNthAnti3Xt3,kmadd(JacPDupwindNthSymm1Xt3,kfabs(beta1L),kmadd(JacPDupwindNthSymm2Xt3,kfabs(beta2L),kmul(JacPDupwindNthSymm3Xt3,kfabs(beta3L))))))),ToReal(-1 + + ShiftAdvectionCoeff))),ToReal(ShiftBCoeff),B3rhsL); /* Copy local copies back to grid functions */ - vec_store_partial_prepare(i,kimin,kimax); + vec_store_partial_prepare(i,vecimin,vecimax); vec_store_nta_partial(alpharhs[index],alpharhsL); vec_store_nta_partial(Arhs[index],ArhsL); vec_store_nta_partial(At11rhs[index],At11rhsL); @@ -2114,7 +2155,7 @@ extern "C" void ML_BSSN_Advect(CCTK_ARGUMENTS) return; } - const char *const groups[] = { + const char* const groups[] = { "ML_BSSN::ML_curv", "ML_BSSN::ML_curvrhs", "ML_BSSN::ML_dtlapse", @@ -2135,23 +2176,33 @@ extern "C" void ML_BSSN_Advect(CCTK_ARGUMENTS) "ML_BSSN::ML_trace_curvrhs"}; GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_Advect", 18, groups); - switch(fdOrder) + switch (fdOrder) { case 2: + { GenericFD_EnsureStencilFits(cctkGH, "ML_BSSN_Advect", 2, 2, 2); break; + } case 4: + { GenericFD_EnsureStencilFits(cctkGH, "ML_BSSN_Advect", 3, 3, 3); break; + } case 6: + { GenericFD_EnsureStencilFits(cctkGH, "ML_BSSN_Advect", 4, 4, 4); break; + } case 8: + { GenericFD_EnsureStencilFits(cctkGH, "ML_BSSN_Advect", 5, 5, 5); break; + } + default: + CCTK_BUILTIN_UNREACHABLE(); } GenericFD_LoopOverInterior(cctkGH, ML_BSSN_Advect_Body); diff --git a/ML_BSSN/src/ML_BSSN_Dissipation.cc b/ML_BSSN/src/ML_BSSN_Dissipation.cc index 8822d79..4cf7a54 100644 --- a/ML_BSSN/src/ML_BSSN_Dissipation.cc +++ b/ML_BSSN/src/ML_BSSN_Dissipation.cc @@ -32,7 +32,9 @@ extern "C" void ML_BSSN_Dissipation_SelectBCs(CCTK_ARGUMENTS) DECLARE_CCTK_ARGUMENTS; DECLARE_CCTK_PARAMETERS; - CCTK_INT ierr CCTK_ATTRIBUTE_UNUSED = 0; + if (cctk_iteration % ML_BSSN_Dissipation_calc_every != ML_BSSN_Dissipation_calc_offset) + return; + CCTK_INT ierr CCTK_ATTRIBUTE_UNUSED = 0; ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_BSSN::ML_curvrhs","flat"); if (ierr < 0) CCTK_WARN(1, "Failed to register flat BC for ML_BSSN::ML_curvrhs."); @@ -63,7 +65,7 @@ extern "C" void ML_BSSN_Dissipation_SelectBCs(CCTK_ARGUMENTS) return; } -static void ML_BSSN_Dissipation_Body(cGH const * restrict const cctkGH, int const dir, int const face, CCTK_REAL const normal[3], CCTK_REAL const tangentA[3], CCTK_REAL const tangentB[3], int const imin[3], int const imax[3], int const n_subblock_gfs, CCTK_REAL * restrict const subblock_gfs[]) +static void ML_BSSN_Dissipation_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; @@ -72,153 +74,175 @@ static void ML_BSSN_Dissipation_Body(cGH const * restrict const cctkGH, int cons /* Include user-supplied include files */ /* Initialise finite differencing variables */ - ptrdiff_t /*const*/ di CCTK_ATTRIBUTE_UNUSED = 1; - ptrdiff_t /*const*/ dj CCTK_ATTRIBUTE_UNUSED = CCTK_GFINDEX3D(cctkGH,0,1,0) - CCTK_GFINDEX3D(cctkGH,0,0,0); - ptrdiff_t /*const*/ dk CCTK_ATTRIBUTE_UNUSED = CCTK_GFINDEX3D(cctkGH,0,0,1) - CCTK_GFINDEX3D(cctkGH,0,0,0); - ptrdiff_t /*const*/ cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * di; - ptrdiff_t /*const*/ cdj CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * dj; - ptrdiff_t /*const*/ cdk CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * dk; - CCTK_REAL_VEC /*const*/ dx CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(0)); - CCTK_REAL_VEC /*const*/ dy CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(1)); - CCTK_REAL_VEC /*const*/ dz CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(2)); - CCTK_REAL_VEC /*const*/ dt CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_TIME); - CCTK_REAL_VEC /*const*/ t CCTK_ATTRIBUTE_UNUSED = ToReal(cctk_time); - CCTK_REAL_VEC /*const*/ dxi CCTK_ATTRIBUTE_UNUSED = INV(dx); - CCTK_REAL_VEC /*const*/ dyi CCTK_ATTRIBUTE_UNUSED = INV(dy); - CCTK_REAL_VEC /*const*/ dzi CCTK_ATTRIBUTE_UNUSED = INV(dz); - CCTK_REAL_VEC /*const*/ khalf CCTK_ATTRIBUTE_UNUSED = ToReal(0.5); - CCTK_REAL_VEC /*const*/ kthird CCTK_ATTRIBUTE_UNUSED = ToReal(1.0/3.0); - CCTK_REAL_VEC /*const*/ ktwothird CCTK_ATTRIBUTE_UNUSED = ToReal(2.0/3.0); - CCTK_REAL_VEC /*const*/ kfourthird CCTK_ATTRIBUTE_UNUSED = ToReal(4.0/3.0); - CCTK_REAL_VEC /*const*/ keightthird CCTK_ATTRIBUTE_UNUSED = ToReal(8.0/3.0); - CCTK_REAL_VEC /*const*/ hdxi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dxi); - CCTK_REAL_VEC /*const*/ hdyi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dyi); - CCTK_REAL_VEC /*const*/ hdzi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dzi); + const ptrdiff_t di CCTK_ATTRIBUTE_UNUSED = 1; + const ptrdiff_t dj CCTK_ATTRIBUTE_UNUSED = CCTK_GFINDEX3D(cctkGH,0,1,0) - CCTK_GFINDEX3D(cctkGH,0,0,0); + const ptrdiff_t dk CCTK_ATTRIBUTE_UNUSED = CCTK_GFINDEX3D(cctkGH,0,0,1) - CCTK_GFINDEX3D(cctkGH,0,0,0); + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * di; + const ptrdiff_t cdj CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * dj; + const ptrdiff_t cdk CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * dk; + const CCTK_REAL_VEC dx CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(0)); + const CCTK_REAL_VEC dy CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(1)); + const CCTK_REAL_VEC dz CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(2)); + const CCTK_REAL_VEC dt CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_TIME); + const CCTK_REAL_VEC t CCTK_ATTRIBUTE_UNUSED = ToReal(cctk_time); + const CCTK_REAL_VEC dxi CCTK_ATTRIBUTE_UNUSED = INV(dx); + const CCTK_REAL_VEC dyi CCTK_ATTRIBUTE_UNUSED = INV(dy); + const CCTK_REAL_VEC dzi CCTK_ATTRIBUTE_UNUSED = INV(dz); + const CCTK_REAL_VEC khalf CCTK_ATTRIBUTE_UNUSED = ToReal(0.5); + const CCTK_REAL_VEC kthird CCTK_ATTRIBUTE_UNUSED = ToReal(1.0/3.0); + const CCTK_REAL_VEC ktwothird CCTK_ATTRIBUTE_UNUSED = ToReal(2.0/3.0); + const CCTK_REAL_VEC kfourthird CCTK_ATTRIBUTE_UNUSED = ToReal(4.0/3.0); + const CCTK_REAL_VEC keightthird CCTK_ATTRIBUTE_UNUSED = ToReal(8.0/3.0); + const CCTK_REAL_VEC hdxi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dxi); + const CCTK_REAL_VEC hdyi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dyi); + const CCTK_REAL_VEC hdzi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dzi); /* Initialize predefined quantities */ - CCTK_REAL_VEC /*const*/ p1o1024dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dx); - CCTK_REAL_VEC /*const*/ p1o1024dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dy); - CCTK_REAL_VEC /*const*/ p1o1024dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dz); - CCTK_REAL_VEC /*const*/ p1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dx); - CCTK_REAL_VEC /*const*/ p1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dy); - CCTK_REAL_VEC /*const*/ p1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dz); - CCTK_REAL_VEC /*const*/ p1o12dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dx); - CCTK_REAL_VEC /*const*/ p1o12dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dy); - CCTK_REAL_VEC /*const*/ p1o12dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dz); - CCTK_REAL_VEC /*const*/ p1o144dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o144dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o144dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o1680dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dx); - CCTK_REAL_VEC /*const*/ p1o1680dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dy); - CCTK_REAL_VEC /*const*/ p1o1680dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dz); - CCTK_REAL_VEC /*const*/ p1o180dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ p1o180dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ p1o180dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ p1o24dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dx); - CCTK_REAL_VEC /*const*/ p1o24dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dy); - CCTK_REAL_VEC /*const*/ p1o24dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dz); - CCTK_REAL_VEC /*const*/ p1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dx); - CCTK_REAL_VEC /*const*/ p1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dy); - CCTK_REAL_VEC /*const*/ p1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dz); - CCTK_REAL_VEC /*const*/ p1o3600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o3600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o3600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dx); - CCTK_REAL_VEC /*const*/ p1o4dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o4dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dy); - CCTK_REAL_VEC /*const*/ p1o4dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dz); - CCTK_REAL_VEC /*const*/ p1o5040dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ p1o5040dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ p1o5040dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ p1o560dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dx); - CCTK_REAL_VEC /*const*/ p1o560dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dy); - CCTK_REAL_VEC /*const*/ p1o560dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dz); - CCTK_REAL_VEC /*const*/ p1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dx); - CCTK_REAL_VEC /*const*/ p1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dy); - CCTK_REAL_VEC /*const*/ p1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dz); - CCTK_REAL_VEC /*const*/ p1o64dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dx); - CCTK_REAL_VEC /*const*/ p1o64dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dy); - CCTK_REAL_VEC /*const*/ p1o64dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dz); - CCTK_REAL_VEC /*const*/ p1o705600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o705600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o705600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o840dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dx); - CCTK_REAL_VEC /*const*/ p1o840dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dy); - CCTK_REAL_VEC /*const*/ p1o840dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dz); - CCTK_REAL_VEC /*const*/ p1odx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dx); - CCTK_REAL_VEC /*const*/ p1odx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ p1ody CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dy); - CCTK_REAL_VEC /*const*/ p1ody2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ p1odz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dz); - CCTK_REAL_VEC /*const*/ p1odz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ pm1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dx); - CCTK_REAL_VEC /*const*/ pm1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dy); - CCTK_REAL_VEC /*const*/ pm1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dz); - CCTK_REAL_VEC /*const*/ pm1o12dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ pm1o12dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ pm1o12dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ pm1o16dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dx); - CCTK_REAL_VEC /*const*/ pm1o16dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dy); - CCTK_REAL_VEC /*const*/ pm1o16dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dz); - CCTK_REAL_VEC /*const*/ pm1o256dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dx); - CCTK_REAL_VEC /*const*/ pm1o256dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dy); - CCTK_REAL_VEC /*const*/ pm1o256dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dz); - CCTK_REAL_VEC /*const*/ pm1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dx); - CCTK_REAL_VEC /*const*/ pm1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dy); - CCTK_REAL_VEC /*const*/ pm1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dz); - CCTK_REAL_VEC /*const*/ pm1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dx); - CCTK_REAL_VEC /*const*/ pm1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dy); - CCTK_REAL_VEC /*const*/ pm1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dz); - CCTK_REAL_VEC /*const*/ pm1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dx); - CCTK_REAL_VEC /*const*/ pm1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dy); - CCTK_REAL_VEC /*const*/ pm1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dz); + const CCTK_REAL_VEC p1o1024dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dx); + const CCTK_REAL_VEC p1o1024dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dy); + const CCTK_REAL_VEC p1o1024dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dz); + const CCTK_REAL_VEC p1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dx); + const CCTK_REAL_VEC p1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dy); + const CCTK_REAL_VEC p1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dz); + const CCTK_REAL_VEC p1o12dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dx); + const CCTK_REAL_VEC p1o12dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dy); + const CCTK_REAL_VEC p1o12dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dz); + const CCTK_REAL_VEC p1o144dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dy,dx)); + const CCTK_REAL_VEC p1o144dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dx)); + const CCTK_REAL_VEC p1o144dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dy)); + const CCTK_REAL_VEC p1o1680dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dx); + const CCTK_REAL_VEC p1o1680dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dy); + const CCTK_REAL_VEC p1o1680dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dz); + const CCTK_REAL_VEC p1o180dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dx,dx)); + const CCTK_REAL_VEC p1o180dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dy,dy)); + const CCTK_REAL_VEC p1o180dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dz,dz)); + const CCTK_REAL_VEC p1o24dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dx); + const CCTK_REAL_VEC p1o24dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dy); + const CCTK_REAL_VEC p1o24dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dz); + const CCTK_REAL_VEC p1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dx); + const CCTK_REAL_VEC p1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dy); + const CCTK_REAL_VEC p1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dz); + const CCTK_REAL_VEC p1o3600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dy,dx)); + const CCTK_REAL_VEC p1o3600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dx)); + const CCTK_REAL_VEC p1o3600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dy)); + const CCTK_REAL_VEC p1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dx); + const CCTK_REAL_VEC p1o4dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dy,dx)); + const CCTK_REAL_VEC p1o4dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dx)); + const CCTK_REAL_VEC p1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dy); + const CCTK_REAL_VEC p1o4dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dy)); + const CCTK_REAL_VEC p1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dz); + const CCTK_REAL_VEC p1o5040dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dx,dx)); + const CCTK_REAL_VEC p1o5040dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dy,dy)); + const CCTK_REAL_VEC p1o5040dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dz,dz)); + const CCTK_REAL_VEC p1o560dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dx); + const CCTK_REAL_VEC p1o560dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dy); + const CCTK_REAL_VEC p1o560dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dz); + const CCTK_REAL_VEC p1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dx); + const CCTK_REAL_VEC p1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dy); + const CCTK_REAL_VEC p1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dz); + const CCTK_REAL_VEC p1o64dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dx); + const CCTK_REAL_VEC p1o64dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dy); + const CCTK_REAL_VEC p1o64dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dz); + const CCTK_REAL_VEC p1o705600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dy,dx)); + const CCTK_REAL_VEC p1o705600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dx)); + const CCTK_REAL_VEC p1o705600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dy)); + const CCTK_REAL_VEC p1o840dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dx); + const CCTK_REAL_VEC p1o840dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dy); + const CCTK_REAL_VEC p1o840dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dz); + const CCTK_REAL_VEC p1odx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dx); + const CCTK_REAL_VEC p1odx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dx,dx)); + const CCTK_REAL_VEC p1ody CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dy); + const CCTK_REAL_VEC p1ody2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dy,dy)); + const CCTK_REAL_VEC p1odz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dz); + const CCTK_REAL_VEC p1odz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dz,dz)); + const CCTK_REAL_VEC pm1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dx); + const CCTK_REAL_VEC pm1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dy); + const CCTK_REAL_VEC pm1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dz); + const CCTK_REAL_VEC pm1o12dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dx,dx)); + const CCTK_REAL_VEC pm1o12dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dy,dy)); + const CCTK_REAL_VEC pm1o12dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dz,dz)); + const CCTK_REAL_VEC pm1o16dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dx); + const CCTK_REAL_VEC pm1o16dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dy); + const CCTK_REAL_VEC pm1o16dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dz); + const CCTK_REAL_VEC pm1o256dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dx); + const CCTK_REAL_VEC pm1o256dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dy); + const CCTK_REAL_VEC pm1o256dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dz); + const CCTK_REAL_VEC pm1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dx); + const CCTK_REAL_VEC pm1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dy); + const CCTK_REAL_VEC pm1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dz); + const CCTK_REAL_VEC pm1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dx); + const CCTK_REAL_VEC pm1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dy); + const CCTK_REAL_VEC pm1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dz); + const CCTK_REAL_VEC pm1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dx); + const CCTK_REAL_VEC pm1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dy); + const CCTK_REAL_VEC pm1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dz); /* Jacobian variable pointers */ - bool const use_jacobian CCTK_ATTRIBUTE_UNUSED = (!CCTK_IsFunctionAliased("MultiPatch_GetMap") || MultiPatch_GetMap(cctkGH) != jacobian_identity_map) - && strlen(jacobian_group) > 0; - if (use_jacobian && strlen(jacobian_derivative_group) == 0) + const bool use_jacobian1 = (!CCTK_IsFunctionAliased("MultiPatch_GetMap") || MultiPatch_GetMap(cctkGH) != jacobian_identity_map) + && strlen(jacobian_group) > 0; + const bool use_jacobian = assume_use_jacobian>=0 ? assume_use_jacobian : use_jacobian1; + const bool usejacobian CCTK_ATTRIBUTE_UNUSED = use_jacobian; + if (use_jacobian && (strlen(jacobian_determinant_group) == 0 || strlen(jacobian_inverse_group) == 0 || strlen(jacobian_derivative_group) == 0)) { - CCTK_WARN (1, "GenericFD::jacobian_group and GenericFD::jacobian_derivative_group must both be set to valid group names"); + CCTK_WARN(1, "GenericFD::jacobian_group, GenericFD::jacobian_determinant_group, GenericFD::jacobian_inverse_group, and GenericFD::jacobian_derivative_group must all be set to valid group names"); } - CCTK_REAL const *restrict jacobian_ptrs[9]; + const CCTK_REAL* restrict jacobian_ptrs[9]; if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_group, 9, jacobian_ptrs); - CCTK_REAL const *restrict const J11 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[0] : 0; - CCTK_REAL const *restrict const J12 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[1] : 0; - CCTK_REAL const *restrict const J13 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[2] : 0; - CCTK_REAL const *restrict const J21 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[3] : 0; - CCTK_REAL const *restrict const J22 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[4] : 0; - CCTK_REAL const *restrict const J23 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[5] : 0; - CCTK_REAL const *restrict const J31 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[6] : 0; - CCTK_REAL const *restrict const J32 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[7] : 0; - CCTK_REAL const *restrict const J33 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[8] : 0; + const CCTK_REAL* restrict const J11 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[0] : 0; + const CCTK_REAL* restrict const J12 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[1] : 0; + const CCTK_REAL* restrict const J13 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[2] : 0; + const CCTK_REAL* restrict const J21 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[3] : 0; + const CCTK_REAL* restrict const J22 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[4] : 0; + const CCTK_REAL* restrict const J23 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[5] : 0; + const CCTK_REAL* restrict const J31 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[6] : 0; + const CCTK_REAL* restrict const J32 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[7] : 0; + const CCTK_REAL* restrict const J33 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[8] : 0; + + const CCTK_REAL* restrict jacobian_determinant_ptrs[1] CCTK_ATTRIBUTE_UNUSED; + if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_determinant_group, + 1, jacobian_determinant_ptrs); + + const CCTK_REAL* restrict const detJ CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[0] : 0; - CCTK_REAL const *restrict jacobian_derivative_ptrs[18] CCTK_ATTRIBUTE_UNUSED; + const CCTK_REAL* restrict jacobian_inverse_ptrs[9] CCTK_ATTRIBUTE_UNUSED; + if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_inverse_group, + 9, jacobian_inverse_ptrs); + + const CCTK_REAL* restrict const iJ11 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[0] : 0; + const CCTK_REAL* restrict const iJ12 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[1] : 0; + const CCTK_REAL* restrict const iJ13 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[2] : 0; + const CCTK_REAL* restrict const iJ21 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[3] : 0; + const CCTK_REAL* restrict const iJ22 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[4] : 0; + const CCTK_REAL* restrict const iJ23 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[5] : 0; + const CCTK_REAL* restrict const iJ31 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[6] : 0; + const CCTK_REAL* restrict const iJ32 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[7] : 0; + const CCTK_REAL* restrict const iJ33 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[8] : 0; + + const CCTK_REAL* restrict jacobian_derivative_ptrs[18] CCTK_ATTRIBUTE_UNUSED; if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_derivative_group, 18, jacobian_derivative_ptrs); - CCTK_REAL const *restrict const dJ111 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[0] : 0; - CCTK_REAL const *restrict const dJ112 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[1] : 0; - CCTK_REAL const *restrict const dJ113 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[2] : 0; - CCTK_REAL const *restrict const dJ122 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[3] : 0; - CCTK_REAL const *restrict const dJ123 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[4] : 0; - CCTK_REAL const *restrict const dJ133 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[5] : 0; - CCTK_REAL const *restrict const dJ211 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[6] : 0; - CCTK_REAL const *restrict const dJ212 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[7] : 0; - CCTK_REAL const *restrict const dJ213 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[8] : 0; - CCTK_REAL const *restrict const dJ222 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[9] : 0; - CCTK_REAL const *restrict const dJ223 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[10] : 0; - CCTK_REAL const *restrict const dJ233 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[11] : 0; - CCTK_REAL const *restrict const dJ311 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[12] : 0; - CCTK_REAL const *restrict const dJ312 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[13] : 0; - CCTK_REAL const *restrict const dJ313 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[14] : 0; - CCTK_REAL const *restrict const dJ322 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[15] : 0; - CCTK_REAL const *restrict const dJ323 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[16] : 0; - CCTK_REAL const *restrict const dJ333 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[17] : 0; + const CCTK_REAL* restrict const dJ111 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[0] : 0; + const CCTK_REAL* restrict const dJ112 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[1] : 0; + const CCTK_REAL* restrict const dJ113 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[2] : 0; + const CCTK_REAL* restrict const dJ122 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[3] : 0; + const CCTK_REAL* restrict const dJ123 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[4] : 0; + const CCTK_REAL* restrict const dJ133 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[5] : 0; + const CCTK_REAL* restrict const dJ211 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[6] : 0; + const CCTK_REAL* restrict const dJ212 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[7] : 0; + const CCTK_REAL* restrict const dJ213 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[8] : 0; + const CCTK_REAL* restrict const dJ222 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[9] : 0; + const CCTK_REAL* restrict const dJ223 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[10] : 0; + const CCTK_REAL* restrict const dJ233 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[11] : 0; + const CCTK_REAL* restrict const dJ311 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[12] : 0; + const CCTK_REAL* restrict const dJ312 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[13] : 0; + const CCTK_REAL* restrict const dJ313 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[14] : 0; + const CCTK_REAL* restrict const dJ322 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[15] : 0; + const CCTK_REAL* restrict const dJ323 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[16] : 0; + const CCTK_REAL* restrict const dJ333 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[17] : 0; /* Assign local copies of arrays functions */ @@ -229,13 +253,20 @@ static void ML_BSSN_Dissipation_Body(cGH const * restrict const cctkGH, int cons /* Copy local copies back to grid functions */ /* Loop over the grid points */ - #pragma omp parallel + const int imin0=imin[0]; + const int imin1=imin[1]; + const int imin2=imin[2]; + const int imax0=imax[0]; + const int imax1=imax[1]; + const int imax2=imax[2]; + #pragma omp parallel // reduction(+: vec_iter_counter, vec_op_counter, vec_mem_counter) CCTK_LOOP3STR(ML_BSSN_Dissipation, - 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 */ @@ -309,85 +340,86 @@ static void ML_BSSN_Dissipation_Body(cGH const * restrict const cctkGH, int cons /* Include user supplied include files */ /* Precompute derivatives */ - CCTK_REAL_VEC PDdissipationNth1A CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth2A CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth3A CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth1alpha CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth2alpha CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth3alpha CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth1At11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth2At11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth3At11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth1At12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth2At12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth3At12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth1At13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth2At13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth3At13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth1At22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth2At22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth3At22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth1At23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth2At23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth3At23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth1At33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth2At33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth3At33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth1B1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth2B1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth3B1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth1B2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth2B2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth3B2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth1B3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth2B3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth3B3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth1beta1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth2beta1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth3beta1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth1beta2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth2beta2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth3beta2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth1beta3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth2beta3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth3beta3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth1gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth2gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth3gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth1gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth2gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth3gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth1gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth2gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth3gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth1gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth2gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth3gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth1gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth2gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth3gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth1gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth2gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth3gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth1phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth2phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth3phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth1trK CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth2trK CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth3trK CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth1Xt1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth2Xt1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth3Xt1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth1Xt2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth2Xt2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth3Xt2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth1Xt3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth2Xt3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth3Xt3 CCTK_ATTRIBUTE_UNUSED ; + CCTK_REAL_VEC PDdissipationNth1A CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth2A CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth3A CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth1alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth2alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth3alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth1At11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth2At11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth3At11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth1At12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth2At12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth3At12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth1At13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth2At13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth3At13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth1At22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth2At22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth3At22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth1At23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth2At23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth3At23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth1At33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth2At33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth3At33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth1B1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth2B1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth3B1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth1B2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth2B2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth3B2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth1B3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth2B3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth3B3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth1beta1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth2beta1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth3beta1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth1beta2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth2beta2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth3beta2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth1beta3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth2beta3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth3beta3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth1gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth2gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth3gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth1gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth2gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth3gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth1gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth2gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth3gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth1gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth2gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth3gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth1gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth2gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth3gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth1gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth2gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth3gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth1phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth2phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth3phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth1trK CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth2trK CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth3trK CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth1Xt1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth2Xt1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth3Xt1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth1Xt2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth2Xt2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth3Xt2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth1Xt3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth2Xt3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth3Xt3 CCTK_ATTRIBUTE_UNUSED; - switch(fdOrder) + switch (fdOrder) { case 2: + { PDdissipationNth1A = PDdissipationNthfdOrder21(&A[index]); PDdissipationNth2A = PDdissipationNthfdOrder22(&A[index]); PDdissipationNth3A = PDdissipationNthfdOrder23(&A[index]); @@ -464,8 +496,10 @@ static void ML_BSSN_Dissipation_Body(cGH const * restrict const cctkGH, int cons PDdissipationNth2Xt3 = PDdissipationNthfdOrder22(&Xt3[index]); PDdissipationNth3Xt3 = PDdissipationNthfdOrder23(&Xt3[index]); break; + } case 4: + { PDdissipationNth1A = PDdissipationNthfdOrder41(&A[index]); PDdissipationNth2A = PDdissipationNthfdOrder42(&A[index]); PDdissipationNth3A = PDdissipationNthfdOrder43(&A[index]); @@ -542,8 +576,10 @@ static void ML_BSSN_Dissipation_Body(cGH const * restrict const cctkGH, int cons PDdissipationNth2Xt3 = PDdissipationNthfdOrder42(&Xt3[index]); PDdissipationNth3Xt3 = PDdissipationNthfdOrder43(&Xt3[index]); break; + } case 6: + { PDdissipationNth1A = PDdissipationNthfdOrder61(&A[index]); PDdissipationNth2A = PDdissipationNthfdOrder62(&A[index]); PDdissipationNth3A = PDdissipationNthfdOrder63(&A[index]); @@ -620,8 +656,10 @@ static void ML_BSSN_Dissipation_Body(cGH const * restrict const cctkGH, int cons PDdissipationNth2Xt3 = PDdissipationNthfdOrder62(&Xt3[index]); PDdissipationNth3Xt3 = PDdissipationNthfdOrder63(&Xt3[index]); break; + } case 8: + { PDdissipationNth1A = PDdissipationNthfdOrder81(&A[index]); PDdissipationNth2A = PDdissipationNthfdOrder82(&A[index]); PDdissipationNth3A = PDdissipationNthfdOrder83(&A[index]); @@ -698,84 +736,87 @@ static void ML_BSSN_Dissipation_Body(cGH const * restrict const cctkGH, int cons PDdissipationNth2Xt3 = PDdissipationNthfdOrder82(&Xt3[index]); PDdissipationNth3Xt3 = PDdissipationNthfdOrder83(&Xt3[index]); break; + } + default: + CCTK_BUILTIN_UNREACHABLE(); } /* Calculate temporaries and grid functions */ - CCTK_REAL_VEC JacPDdissipationNth1A CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth1alpha CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth1At11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth1At12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth1At13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth1At22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth1At23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth1At33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth1B1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth1B2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth1B3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth1beta1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth1beta2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth1beta3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth1gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth1gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth1gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth1gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth1gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth1gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth1phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth1trK CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth1Xt1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth1Xt2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth1Xt3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth2A CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth2alpha CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth2At11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth2At12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth2At13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth2At22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth2At23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth2At33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth2B1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth2B2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth2B3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth2beta1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth2beta2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth2beta3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth2gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth2gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth2gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth2gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth2gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth2gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth2phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth2trK CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth2Xt1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth2Xt2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth2Xt3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth3A CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth3alpha CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth3At11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth3At12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth3At13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth3At22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth3At23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth3At33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth3B1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth3B2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth3B3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth3beta1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth3beta2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth3beta3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth3gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth3gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth3gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth3gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth3gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth3gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth3phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth3trK CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth3Xt1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth3Xt2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth3Xt3 CCTK_ATTRIBUTE_UNUSED ; + CCTK_REAL_VEC JacPDdissipationNth1A CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth1alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth1At11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth1At12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth1At13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth1At22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth1At23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth1At33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth1B1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth1B2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth1B3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth1beta1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth1beta2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth1beta3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth1gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth1gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth1gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth1gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth1gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth1gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth1phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth1trK CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth1Xt1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth1Xt2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth1Xt3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth2A CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth2alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth2At11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth2At12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth2At13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth2At22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth2At23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth2At33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth2B1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth2B2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth2B3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth2beta1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth2beta2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth2beta3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth2gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth2gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth2gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth2gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth2gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth2gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth2phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth2trK CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth2Xt1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth2Xt2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth2Xt3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth3A CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth3alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth3At11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth3At12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth3At13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth3At22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth3At23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth3At33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth3B1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth3B2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth3B3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth3beta1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth3beta2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth3beta3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth3gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth3gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth3gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth3gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth3gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth3gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth3phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth3trK CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth3Xt1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth3Xt2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth3Xt3 CCTK_ATTRIBUTE_UNUSED; if (use_jacobian) { @@ -1239,7 +1280,7 @@ static void ML_BSSN_Dissipation_Body(cGH const * restrict const cctkGH, int cons kadd(B3rhsL,kmadd(epsdiss1,JacPDdissipationNth1B3,kmadd(epsdiss2,JacPDdissipationNth2B3,kmul(epsdiss3,JacPDdissipationNth3B3)))); /* 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(Arhs[index],ArhsL); vec_store_nta_partial(At11rhs[index],At11rhsL); @@ -1285,7 +1326,7 @@ extern "C" void ML_BSSN_Dissipation(CCTK_ARGUMENTS) return; } - const char *const groups[] = { + const char* const groups[] = { "ML_BSSN::ML_curv", "ML_BSSN::ML_curvrhs", "ML_BSSN::ML_dtlapse", @@ -1306,23 +1347,33 @@ extern "C" void ML_BSSN_Dissipation(CCTK_ARGUMENTS) "ML_BSSN::ML_trace_curvrhs"}; GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_Dissipation", 18, groups); - switch(fdOrder) + switch (fdOrder) { case 2: + { GenericFD_EnsureStencilFits(cctkGH, "ML_BSSN_Dissipation", 2, 2, 2); break; + } case 4: + { GenericFD_EnsureStencilFits(cctkGH, "ML_BSSN_Dissipation", 3, 3, 3); break; + } case 6: + { GenericFD_EnsureStencilFits(cctkGH, "ML_BSSN_Dissipation", 4, 4, 4); break; + } case 8: + { GenericFD_EnsureStencilFits(cctkGH, "ML_BSSN_Dissipation", 5, 5, 5); break; + } + default: + CCTK_BUILTIN_UNREACHABLE(); } GenericFD_LoopOverInterior(cctkGH, ML_BSSN_Dissipation_Body); diff --git a/ML_BSSN/src/ML_BSSN_InitGamma.cc b/ML_BSSN/src/ML_BSSN_InitGamma.cc index 7c9f539..f0add8b 100644 --- a/ML_BSSN/src/ML_BSSN_InitGamma.cc +++ b/ML_BSSN/src/ML_BSSN_InitGamma.cc @@ -27,7 +27,7 @@ #define CUB(x) (kmul(x,SQR(x))) #define QAD(x) (SQR(SQR(x))) -static void ML_BSSN_InitGamma_Body(cGH const * restrict const cctkGH, int const dir, int const face, CCTK_REAL const normal[3], CCTK_REAL const tangentA[3], CCTK_REAL const tangentB[3], int const imin[3], int const imax[3], int const n_subblock_gfs, CCTK_REAL * restrict const subblock_gfs[]) +static void ML_BSSN_InitGamma_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,153 +36,175 @@ static void ML_BSSN_InitGamma_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*/ p1o1024dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dx); - CCTK_REAL_VEC /*const*/ p1o1024dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dy); - CCTK_REAL_VEC /*const*/ p1o1024dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dz); - CCTK_REAL_VEC /*const*/ p1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dx); - CCTK_REAL_VEC /*const*/ p1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dy); - CCTK_REAL_VEC /*const*/ p1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dz); - CCTK_REAL_VEC /*const*/ p1o12dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dx); - CCTK_REAL_VEC /*const*/ p1o12dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dy); - CCTK_REAL_VEC /*const*/ p1o12dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dz); - CCTK_REAL_VEC /*const*/ p1o144dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o144dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o144dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o1680dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dx); - CCTK_REAL_VEC /*const*/ p1o1680dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dy); - CCTK_REAL_VEC /*const*/ p1o1680dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dz); - CCTK_REAL_VEC /*const*/ p1o180dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ p1o180dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ p1o180dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ p1o24dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dx); - CCTK_REAL_VEC /*const*/ p1o24dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dy); - CCTK_REAL_VEC /*const*/ p1o24dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dz); - CCTK_REAL_VEC /*const*/ p1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dx); - CCTK_REAL_VEC /*const*/ p1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dy); - CCTK_REAL_VEC /*const*/ p1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dz); - CCTK_REAL_VEC /*const*/ p1o3600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o3600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o3600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dx); - CCTK_REAL_VEC /*const*/ p1o4dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o4dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dy); - CCTK_REAL_VEC /*const*/ p1o4dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dz); - CCTK_REAL_VEC /*const*/ p1o5040dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ p1o5040dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ p1o5040dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ p1o560dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dx); - CCTK_REAL_VEC /*const*/ p1o560dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dy); - CCTK_REAL_VEC /*const*/ p1o560dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dz); - CCTK_REAL_VEC /*const*/ p1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dx); - CCTK_REAL_VEC /*const*/ p1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dy); - CCTK_REAL_VEC /*const*/ p1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dz); - CCTK_REAL_VEC /*const*/ p1o64dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dx); - CCTK_REAL_VEC /*const*/ p1o64dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dy); - CCTK_REAL_VEC /*const*/ p1o64dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dz); - CCTK_REAL_VEC /*const*/ p1o705600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o705600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o705600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o840dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dx); - CCTK_REAL_VEC /*const*/ p1o840dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dy); - CCTK_REAL_VEC /*const*/ p1o840dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dz); - CCTK_REAL_VEC /*const*/ p1odx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dx); - CCTK_REAL_VEC /*const*/ p1odx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ p1ody CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dy); - CCTK_REAL_VEC /*const*/ p1ody2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ p1odz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dz); - CCTK_REAL_VEC /*const*/ p1odz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ pm1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dx); - CCTK_REAL_VEC /*const*/ pm1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dy); - CCTK_REAL_VEC /*const*/ pm1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dz); - CCTK_REAL_VEC /*const*/ pm1o12dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ pm1o12dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ pm1o12dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ pm1o16dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dx); - CCTK_REAL_VEC /*const*/ pm1o16dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dy); - CCTK_REAL_VEC /*const*/ pm1o16dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dz); - CCTK_REAL_VEC /*const*/ pm1o256dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dx); - CCTK_REAL_VEC /*const*/ pm1o256dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dy); - CCTK_REAL_VEC /*const*/ pm1o256dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dz); - CCTK_REAL_VEC /*const*/ pm1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dx); - CCTK_REAL_VEC /*const*/ pm1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dy); - CCTK_REAL_VEC /*const*/ pm1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dz); - CCTK_REAL_VEC /*const*/ pm1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dx); - CCTK_REAL_VEC /*const*/ pm1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dy); - CCTK_REAL_VEC /*const*/ pm1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dz); - CCTK_REAL_VEC /*const*/ pm1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dx); - CCTK_REAL_VEC /*const*/ pm1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dy); - CCTK_REAL_VEC /*const*/ pm1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dz); + const CCTK_REAL_VEC p1o1024dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dx); + const CCTK_REAL_VEC p1o1024dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dy); + const CCTK_REAL_VEC p1o1024dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dz); + const CCTK_REAL_VEC p1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dx); + const CCTK_REAL_VEC p1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dy); + const CCTK_REAL_VEC p1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dz); + const CCTK_REAL_VEC p1o12dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dx); + const CCTK_REAL_VEC p1o12dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dy); + const CCTK_REAL_VEC p1o12dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dz); + const CCTK_REAL_VEC p1o144dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dy,dx)); + const CCTK_REAL_VEC p1o144dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dx)); + const CCTK_REAL_VEC p1o144dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dy)); + const CCTK_REAL_VEC p1o1680dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dx); + const CCTK_REAL_VEC p1o1680dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dy); + const CCTK_REAL_VEC p1o1680dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dz); + const CCTK_REAL_VEC p1o180dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dx,dx)); + const CCTK_REAL_VEC p1o180dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dy,dy)); + const CCTK_REAL_VEC p1o180dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dz,dz)); + const CCTK_REAL_VEC p1o24dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dx); + const CCTK_REAL_VEC p1o24dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dy); + const CCTK_REAL_VEC p1o24dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dz); + const CCTK_REAL_VEC p1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dx); + const CCTK_REAL_VEC p1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dy); + const CCTK_REAL_VEC p1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dz); + const CCTK_REAL_VEC p1o3600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dy,dx)); + const CCTK_REAL_VEC p1o3600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dx)); + const CCTK_REAL_VEC p1o3600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dy)); + const CCTK_REAL_VEC p1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dx); + const CCTK_REAL_VEC p1o4dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dy,dx)); + const CCTK_REAL_VEC p1o4dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dx)); + const CCTK_REAL_VEC p1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dy); + const CCTK_REAL_VEC p1o4dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dy)); + const CCTK_REAL_VEC p1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dz); + const CCTK_REAL_VEC p1o5040dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dx,dx)); + const CCTK_REAL_VEC p1o5040dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dy,dy)); + const CCTK_REAL_VEC p1o5040dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dz,dz)); + const CCTK_REAL_VEC p1o560dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dx); + const CCTK_REAL_VEC p1o560dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dy); + const CCTK_REAL_VEC p1o560dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dz); + const CCTK_REAL_VEC p1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dx); + const CCTK_REAL_VEC p1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dy); + const CCTK_REAL_VEC p1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dz); + const CCTK_REAL_VEC p1o64dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dx); + const CCTK_REAL_VEC p1o64dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dy); + const CCTK_REAL_VEC p1o64dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dz); + const CCTK_REAL_VEC p1o705600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dy,dx)); + const CCTK_REAL_VEC p1o705600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dx)); + const CCTK_REAL_VEC p1o705600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dy)); + const CCTK_REAL_VEC p1o840dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dx); + const CCTK_REAL_VEC p1o840dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dy); + const CCTK_REAL_VEC p1o840dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dz); + const CCTK_REAL_VEC p1odx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dx); + const CCTK_REAL_VEC p1odx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dx,dx)); + const CCTK_REAL_VEC p1ody CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dy); + const CCTK_REAL_VEC p1ody2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dy,dy)); + const CCTK_REAL_VEC p1odz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dz); + const CCTK_REAL_VEC p1odz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dz,dz)); + const CCTK_REAL_VEC pm1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dx); + const CCTK_REAL_VEC pm1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dy); + const CCTK_REAL_VEC pm1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dz); + const CCTK_REAL_VEC pm1o12dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dx,dx)); + const CCTK_REAL_VEC pm1o12dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dy,dy)); + const CCTK_REAL_VEC pm1o12dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dz,dz)); + const CCTK_REAL_VEC pm1o16dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dx); + const CCTK_REAL_VEC pm1o16dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dy); + const CCTK_REAL_VEC pm1o16dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dz); + const CCTK_REAL_VEC pm1o256dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dx); + const CCTK_REAL_VEC pm1o256dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dy); + const CCTK_REAL_VEC pm1o256dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dz); + const CCTK_REAL_VEC pm1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dx); + const CCTK_REAL_VEC pm1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dy); + const CCTK_REAL_VEC pm1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dz); + const CCTK_REAL_VEC pm1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dx); + const CCTK_REAL_VEC pm1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dy); + const CCTK_REAL_VEC pm1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dz); + const CCTK_REAL_VEC pm1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dx); + const CCTK_REAL_VEC pm1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dy); + const CCTK_REAL_VEC pm1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dz); /* Jacobian variable pointers */ - bool const use_jacobian CCTK_ATTRIBUTE_UNUSED = (!CCTK_IsFunctionAliased("MultiPatch_GetMap") || MultiPatch_GetMap(cctkGH) != jacobian_identity_map) - && strlen(jacobian_group) > 0; - if (use_jacobian && strlen(jacobian_derivative_group) == 0) + const bool use_jacobian1 = (!CCTK_IsFunctionAliased("MultiPatch_GetMap") || MultiPatch_GetMap(cctkGH) != jacobian_identity_map) + && strlen(jacobian_group) > 0; + const bool use_jacobian = assume_use_jacobian>=0 ? assume_use_jacobian : use_jacobian1; + const bool usejacobian CCTK_ATTRIBUTE_UNUSED = use_jacobian; + if (use_jacobian && (strlen(jacobian_determinant_group) == 0 || strlen(jacobian_inverse_group) == 0 || strlen(jacobian_derivative_group) == 0)) { - CCTK_WARN (1, "GenericFD::jacobian_group and GenericFD::jacobian_derivative_group must both be set to valid group names"); + CCTK_WARN(1, "GenericFD::jacobian_group, GenericFD::jacobian_determinant_group, GenericFD::jacobian_inverse_group, and GenericFD::jacobian_derivative_group must all be set to valid group names"); } - CCTK_REAL const *restrict jacobian_ptrs[9]; + const CCTK_REAL* restrict jacobian_ptrs[9]; if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_group, 9, jacobian_ptrs); - CCTK_REAL const *restrict const J11 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[0] : 0; - CCTK_REAL const *restrict const J12 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[1] : 0; - CCTK_REAL const *restrict const J13 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[2] : 0; - CCTK_REAL const *restrict const J21 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[3] : 0; - CCTK_REAL const *restrict const J22 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[4] : 0; - CCTK_REAL const *restrict const J23 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[5] : 0; - CCTK_REAL const *restrict const J31 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[6] : 0; - CCTK_REAL const *restrict const J32 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[7] : 0; - CCTK_REAL const *restrict const J33 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[8] : 0; + const CCTK_REAL* restrict const J11 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[0] : 0; + const CCTK_REAL* restrict const J12 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[1] : 0; + const CCTK_REAL* restrict const J13 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[2] : 0; + const CCTK_REAL* restrict const J21 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[3] : 0; + const CCTK_REAL* restrict const J22 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[4] : 0; + const CCTK_REAL* restrict const J23 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[5] : 0; + const CCTK_REAL* restrict const J31 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[6] : 0; + const CCTK_REAL* restrict const J32 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[7] : 0; + const CCTK_REAL* restrict const J33 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[8] : 0; - 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 */ @@ -193,13 +215,20 @@ static void ML_BSSN_InitGamma_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_BSSN_InitGamma, - 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 */ @@ -210,38 +239,48 @@ static void ML_BSSN_InitGamma_Body(cGH const * restrict const cctkGH, int const /* 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 Xt1L = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Xt1L = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Xt2L = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Xt2L = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Xt3L = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Xt3L = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED AL = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED AL = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED B1L = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED B1L = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED B2L = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED B2L = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED B3L = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED B3L = 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(A[index],AL); vec_store_nta_partial(B1[index],B1L); vec_store_nta_partial(B2[index],B2L); @@ -269,25 +308,35 @@ extern "C" void ML_BSSN_InitGamma(CCTK_ARGUMENTS) return; } - const char *const groups[] = { + const char* const groups[] = { "ML_BSSN::ML_dtlapse", "ML_BSSN::ML_dtshift", "ML_BSSN::ML_Gamma"}; GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_InitGamma", 3, 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_BSSN_InitGamma_Body); diff --git a/ML_BSSN/src/ML_BSSN_InitRHS.cc b/ML_BSSN/src/ML_BSSN_InitRHS.cc index 3f67829..12dc2a5 100644 --- a/ML_BSSN/src/ML_BSSN_InitRHS.cc +++ b/ML_BSSN/src/ML_BSSN_InitRHS.cc @@ -27,7 +27,7 @@ #define CUB(x) (kmul(x,SQR(x))) #define QAD(x) (SQR(SQR(x))) -static void ML_BSSN_InitRHS_Body(cGH const * restrict const cctkGH, int const dir, int const face, CCTK_REAL const normal[3], CCTK_REAL const tangentA[3], CCTK_REAL const tangentB[3], int const imin[3], int const imax[3], int const n_subblock_gfs, CCTK_REAL * restrict const subblock_gfs[]) +static void ML_BSSN_InitRHS_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,153 +36,175 @@ static void ML_BSSN_InitRHS_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*/ p1o1024dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dx); - CCTK_REAL_VEC /*const*/ p1o1024dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dy); - CCTK_REAL_VEC /*const*/ p1o1024dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dz); - CCTK_REAL_VEC /*const*/ p1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dx); - CCTK_REAL_VEC /*const*/ p1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dy); - CCTK_REAL_VEC /*const*/ p1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dz); - CCTK_REAL_VEC /*const*/ p1o12dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dx); - CCTK_REAL_VEC /*const*/ p1o12dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dy); - CCTK_REAL_VEC /*const*/ p1o12dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dz); - CCTK_REAL_VEC /*const*/ p1o144dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o144dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o144dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o1680dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dx); - CCTK_REAL_VEC /*const*/ p1o1680dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dy); - CCTK_REAL_VEC /*const*/ p1o1680dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dz); - CCTK_REAL_VEC /*const*/ p1o180dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ p1o180dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ p1o180dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ p1o24dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dx); - CCTK_REAL_VEC /*const*/ p1o24dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dy); - CCTK_REAL_VEC /*const*/ p1o24dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dz); - CCTK_REAL_VEC /*const*/ p1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dx); - CCTK_REAL_VEC /*const*/ p1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dy); - CCTK_REAL_VEC /*const*/ p1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dz); - CCTK_REAL_VEC /*const*/ p1o3600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o3600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o3600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dx); - CCTK_REAL_VEC /*const*/ p1o4dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o4dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dy); - CCTK_REAL_VEC /*const*/ p1o4dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dz); - CCTK_REAL_VEC /*const*/ p1o5040dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ p1o5040dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ p1o5040dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ p1o560dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dx); - CCTK_REAL_VEC /*const*/ p1o560dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dy); - CCTK_REAL_VEC /*const*/ p1o560dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dz); - CCTK_REAL_VEC /*const*/ p1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dx); - CCTK_REAL_VEC /*const*/ p1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dy); - CCTK_REAL_VEC /*const*/ p1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dz); - CCTK_REAL_VEC /*const*/ p1o64dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dx); - CCTK_REAL_VEC /*const*/ p1o64dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dy); - CCTK_REAL_VEC /*const*/ p1o64dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dz); - CCTK_REAL_VEC /*const*/ p1o705600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o705600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o705600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o840dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dx); - CCTK_REAL_VEC /*const*/ p1o840dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dy); - CCTK_REAL_VEC /*const*/ p1o840dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dz); - CCTK_REAL_VEC /*const*/ p1odx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dx); - CCTK_REAL_VEC /*const*/ p1odx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ p1ody CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dy); - CCTK_REAL_VEC /*const*/ p1ody2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ p1odz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dz); - CCTK_REAL_VEC /*const*/ p1odz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ pm1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dx); - CCTK_REAL_VEC /*const*/ pm1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dy); - CCTK_REAL_VEC /*const*/ pm1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dz); - CCTK_REAL_VEC /*const*/ pm1o12dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ pm1o12dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ pm1o12dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ pm1o16dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dx); - CCTK_REAL_VEC /*const*/ pm1o16dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dy); - CCTK_REAL_VEC /*const*/ pm1o16dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dz); - CCTK_REAL_VEC /*const*/ pm1o256dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dx); - CCTK_REAL_VEC /*const*/ pm1o256dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dy); - CCTK_REAL_VEC /*const*/ pm1o256dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dz); - CCTK_REAL_VEC /*const*/ pm1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dx); - CCTK_REAL_VEC /*const*/ pm1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dy); - CCTK_REAL_VEC /*const*/ pm1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dz); - CCTK_REAL_VEC /*const*/ pm1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dx); - CCTK_REAL_VEC /*const*/ pm1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dy); - CCTK_REAL_VEC /*const*/ pm1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dz); - CCTK_REAL_VEC /*const*/ pm1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dx); - CCTK_REAL_VEC /*const*/ pm1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dy); - CCTK_REAL_VEC /*const*/ pm1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dz); + const CCTK_REAL_VEC p1o1024dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dx); + const CCTK_REAL_VEC p1o1024dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dy); + const CCTK_REAL_VEC p1o1024dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dz); + const CCTK_REAL_VEC p1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dx); + const CCTK_REAL_VEC p1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dy); + const CCTK_REAL_VEC p1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dz); + const CCTK_REAL_VEC p1o12dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dx); + const CCTK_REAL_VEC p1o12dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dy); + const CCTK_REAL_VEC p1o12dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dz); + const CCTK_REAL_VEC p1o144dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dy,dx)); + const CCTK_REAL_VEC p1o144dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dx)); + const CCTK_REAL_VEC p1o144dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dy)); + const CCTK_REAL_VEC p1o1680dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dx); + const CCTK_REAL_VEC p1o1680dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dy); + const CCTK_REAL_VEC p1o1680dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dz); + const CCTK_REAL_VEC p1o180dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dx,dx)); + const CCTK_REAL_VEC p1o180dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dy,dy)); + const CCTK_REAL_VEC p1o180dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dz,dz)); + const CCTK_REAL_VEC p1o24dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dx); + const CCTK_REAL_VEC p1o24dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dy); + const CCTK_REAL_VEC p1o24dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dz); + const CCTK_REAL_VEC p1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dx); + const CCTK_REAL_VEC p1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dy); + const CCTK_REAL_VEC p1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dz); + const CCTK_REAL_VEC p1o3600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dy,dx)); + const CCTK_REAL_VEC p1o3600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dx)); + const CCTK_REAL_VEC p1o3600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dy)); + const CCTK_REAL_VEC p1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dx); + const CCTK_REAL_VEC p1o4dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dy,dx)); + const CCTK_REAL_VEC p1o4dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dx)); + const CCTK_REAL_VEC p1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dy); + const CCTK_REAL_VEC p1o4dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dy)); + const CCTK_REAL_VEC p1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dz); + const CCTK_REAL_VEC p1o5040dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dx,dx)); + const CCTK_REAL_VEC p1o5040dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dy,dy)); + const CCTK_REAL_VEC p1o5040dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dz,dz)); + const CCTK_REAL_VEC p1o560dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dx); + const CCTK_REAL_VEC p1o560dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dy); + const CCTK_REAL_VEC p1o560dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dz); + const CCTK_REAL_VEC p1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dx); + const CCTK_REAL_VEC p1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dy); + const CCTK_REAL_VEC p1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dz); + const CCTK_REAL_VEC p1o64dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dx); + const CCTK_REAL_VEC p1o64dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dy); + const CCTK_REAL_VEC p1o64dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dz); + const CCTK_REAL_VEC p1o705600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dy,dx)); + const CCTK_REAL_VEC p1o705600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dx)); + const CCTK_REAL_VEC p1o705600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dy)); + const CCTK_REAL_VEC p1o840dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dx); + const CCTK_REAL_VEC p1o840dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dy); + const CCTK_REAL_VEC p1o840dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dz); + const CCTK_REAL_VEC p1odx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dx); + const CCTK_REAL_VEC p1odx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dx,dx)); + const CCTK_REAL_VEC p1ody CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dy); + const CCTK_REAL_VEC p1ody2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dy,dy)); + const CCTK_REAL_VEC p1odz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dz); + const CCTK_REAL_VEC p1odz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dz,dz)); + const CCTK_REAL_VEC pm1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dx); + const CCTK_REAL_VEC pm1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dy); + const CCTK_REAL_VEC pm1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dz); + const CCTK_REAL_VEC pm1o12dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dx,dx)); + const CCTK_REAL_VEC pm1o12dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dy,dy)); + const CCTK_REAL_VEC pm1o12dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dz,dz)); + const CCTK_REAL_VEC pm1o16dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dx); + const CCTK_REAL_VEC pm1o16dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dy); + const CCTK_REAL_VEC pm1o16dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dz); + const CCTK_REAL_VEC pm1o256dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dx); + const CCTK_REAL_VEC pm1o256dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dy); + const CCTK_REAL_VEC pm1o256dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dz); + const CCTK_REAL_VEC pm1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dx); + const CCTK_REAL_VEC pm1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dy); + const CCTK_REAL_VEC pm1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dz); + const CCTK_REAL_VEC pm1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dx); + const CCTK_REAL_VEC pm1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dy); + const CCTK_REAL_VEC pm1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dz); + const CCTK_REAL_VEC pm1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dx); + const CCTK_REAL_VEC pm1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dy); + const CCTK_REAL_VEC pm1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dz); /* Jacobian variable pointers */ - bool const use_jacobian CCTK_ATTRIBUTE_UNUSED = (!CCTK_IsFunctionAliased("MultiPatch_GetMap") || MultiPatch_GetMap(cctkGH) != jacobian_identity_map) - && strlen(jacobian_group) > 0; - if (use_jacobian && strlen(jacobian_derivative_group) == 0) + const bool use_jacobian1 = (!CCTK_IsFunctionAliased("MultiPatch_GetMap") || MultiPatch_GetMap(cctkGH) != jacobian_identity_map) + && strlen(jacobian_group) > 0; + const bool use_jacobian = assume_use_jacobian>=0 ? assume_use_jacobian : use_jacobian1; + const bool usejacobian CCTK_ATTRIBUTE_UNUSED = use_jacobian; + if (use_jacobian && (strlen(jacobian_determinant_group) == 0 || strlen(jacobian_inverse_group) == 0 || strlen(jacobian_derivative_group) == 0)) { - CCTK_WARN (1, "GenericFD::jacobian_group and GenericFD::jacobian_derivative_group must both be set to valid group names"); + CCTK_WARN(1, "GenericFD::jacobian_group, GenericFD::jacobian_determinant_group, GenericFD::jacobian_inverse_group, and GenericFD::jacobian_derivative_group must all be set to valid group names"); } - CCTK_REAL const *restrict jacobian_ptrs[9]; + const CCTK_REAL* restrict jacobian_ptrs[9]; if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_group, 9, jacobian_ptrs); - CCTK_REAL const *restrict const J11 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[0] : 0; - CCTK_REAL const *restrict const J12 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[1] : 0; - CCTK_REAL const *restrict const J13 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[2] : 0; - CCTK_REAL const *restrict const J21 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[3] : 0; - CCTK_REAL const *restrict const J22 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[4] : 0; - CCTK_REAL const *restrict const J23 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[5] : 0; - CCTK_REAL const *restrict const J31 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[6] : 0; - CCTK_REAL const *restrict const J32 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[7] : 0; - CCTK_REAL const *restrict const J33 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[8] : 0; + const CCTK_REAL* restrict const J11 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[0] : 0; + const CCTK_REAL* restrict const J12 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[1] : 0; + const CCTK_REAL* restrict const J13 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[2] : 0; + const CCTK_REAL* restrict const J21 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[3] : 0; + const CCTK_REAL* restrict const J22 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[4] : 0; + const CCTK_REAL* restrict const J23 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[5] : 0; + const CCTK_REAL* restrict const J31 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[6] : 0; + const CCTK_REAL* restrict const J32 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[7] : 0; + const CCTK_REAL* restrict const J33 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[8] : 0; - 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 */ @@ -193,13 +215,20 @@ static void ML_BSSN_InitRHS_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_BSSN_InitRHS, - 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 */ @@ -210,74 +239,84 @@ static void ML_BSSN_InitRHS_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 phirhsL = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED phirhsL = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gt11rhsL = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gt11rhsL = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gt12rhsL = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gt12rhsL = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gt13rhsL = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gt13rhsL = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gt22rhsL = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gt22rhsL = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gt23rhsL = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gt23rhsL = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gt33rhsL = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gt33rhsL = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED trKrhsL = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED trKrhsL = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED At11rhsL = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED At11rhsL = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED At12rhsL = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED At12rhsL = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED At13rhsL = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED At13rhsL = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED At22rhsL = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED At22rhsL = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED At23rhsL = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED At23rhsL = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED At33rhsL = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED At33rhsL = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Xt1rhsL = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Xt1rhsL = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Xt2rhsL = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Xt2rhsL = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Xt3rhsL = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Xt3rhsL = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED alpharhsL = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED alpharhsL = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED ArhsL = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED ArhsL = 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); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED B1rhsL = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED B1rhsL = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED B2rhsL = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED B2rhsL = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED B3rhsL = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED B3rhsL = 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(Arhs[index],ArhsL); vec_store_nta_partial(At11rhs[index],At11rhsL); @@ -323,7 +362,7 @@ extern "C" void ML_BSSN_InitRHS(CCTK_ARGUMENTS) return; } - const char *const groups[] = { + const char* const groups[] = { "ML_BSSN::ML_curvrhs", "ML_BSSN::ML_dtlapserhs", "ML_BSSN::ML_dtshiftrhs", @@ -335,19 +374,29 @@ extern "C" void ML_BSSN_InitRHS(CCTK_ARGUMENTS) "ML_BSSN::ML_trace_curvrhs"}; GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_InitRHS", 9, 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_BSSN_InitRHS_Body); diff --git a/ML_BSSN/src/ML_BSSN_Minkowski.cc b/ML_BSSN/src/ML_BSSN_Minkowski.cc index 25a960f..c5c03e9 100644 --- a/ML_BSSN/src/ML_BSSN_Minkowski.cc +++ b/ML_BSSN/src/ML_BSSN_Minkowski.cc @@ -27,7 +27,7 @@ #define CUB(x) (kmul(x,SQR(x))) #define QAD(x) (SQR(SQR(x))) -static void ML_BSSN_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_BSSN_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,153 +36,175 @@ static void ML_BSSN_Minkowski_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*/ p1o1024dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dx); - CCTK_REAL_VEC /*const*/ p1o1024dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dy); - CCTK_REAL_VEC /*const*/ p1o1024dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dz); - CCTK_REAL_VEC /*const*/ p1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dx); - CCTK_REAL_VEC /*const*/ p1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dy); - CCTK_REAL_VEC /*const*/ p1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dz); - CCTK_REAL_VEC /*const*/ p1o12dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dx); - CCTK_REAL_VEC /*const*/ p1o12dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dy); - CCTK_REAL_VEC /*const*/ p1o12dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dz); - CCTK_REAL_VEC /*const*/ p1o144dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o144dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o144dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o1680dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dx); - CCTK_REAL_VEC /*const*/ p1o1680dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dy); - CCTK_REAL_VEC /*const*/ p1o1680dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dz); - CCTK_REAL_VEC /*const*/ p1o180dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ p1o180dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ p1o180dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ p1o24dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dx); - CCTK_REAL_VEC /*const*/ p1o24dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dy); - CCTK_REAL_VEC /*const*/ p1o24dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dz); - CCTK_REAL_VEC /*const*/ p1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dx); - CCTK_REAL_VEC /*const*/ p1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dy); - CCTK_REAL_VEC /*const*/ p1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dz); - CCTK_REAL_VEC /*const*/ p1o3600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o3600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o3600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dx); - CCTK_REAL_VEC /*const*/ p1o4dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o4dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dy); - CCTK_REAL_VEC /*const*/ p1o4dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dz); - CCTK_REAL_VEC /*const*/ p1o5040dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ p1o5040dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ p1o5040dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ p1o560dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dx); - CCTK_REAL_VEC /*const*/ p1o560dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dy); - CCTK_REAL_VEC /*const*/ p1o560dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dz); - CCTK_REAL_VEC /*const*/ p1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dx); - CCTK_REAL_VEC /*const*/ p1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dy); - CCTK_REAL_VEC /*const*/ p1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dz); - CCTK_REAL_VEC /*const*/ p1o64dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dx); - CCTK_REAL_VEC /*const*/ p1o64dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dy); - CCTK_REAL_VEC /*const*/ p1o64dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dz); - CCTK_REAL_VEC /*const*/ p1o705600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o705600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o705600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o840dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dx); - CCTK_REAL_VEC /*const*/ p1o840dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dy); - CCTK_REAL_VEC /*const*/ p1o840dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dz); - CCTK_REAL_VEC /*const*/ p1odx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dx); - CCTK_REAL_VEC /*const*/ p1odx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ p1ody CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dy); - CCTK_REAL_VEC /*const*/ p1ody2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ p1odz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dz); - CCTK_REAL_VEC /*const*/ p1odz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ pm1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dx); - CCTK_REAL_VEC /*const*/ pm1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dy); - CCTK_REAL_VEC /*const*/ pm1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dz); - CCTK_REAL_VEC /*const*/ pm1o12dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ pm1o12dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ pm1o12dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ pm1o16dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dx); - CCTK_REAL_VEC /*const*/ pm1o16dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dy); - CCTK_REAL_VEC /*const*/ pm1o16dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dz); - CCTK_REAL_VEC /*const*/ pm1o256dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dx); - CCTK_REAL_VEC /*const*/ pm1o256dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dy); - CCTK_REAL_VEC /*const*/ pm1o256dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dz); - CCTK_REAL_VEC /*const*/ pm1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dx); - CCTK_REAL_VEC /*const*/ pm1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dy); - CCTK_REAL_VEC /*const*/ pm1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dz); - CCTK_REAL_VEC /*const*/ pm1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dx); - CCTK_REAL_VEC /*const*/ pm1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dy); - CCTK_REAL_VEC /*const*/ pm1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dz); - CCTK_REAL_VEC /*const*/ pm1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dx); - CCTK_REAL_VEC /*const*/ pm1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dy); - CCTK_REAL_VEC /*const*/ pm1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dz); + const CCTK_REAL_VEC p1o1024dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dx); + const CCTK_REAL_VEC p1o1024dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dy); + const CCTK_REAL_VEC p1o1024dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dz); + const CCTK_REAL_VEC p1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dx); + const CCTK_REAL_VEC p1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dy); + const CCTK_REAL_VEC p1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dz); + const CCTK_REAL_VEC p1o12dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dx); + const CCTK_REAL_VEC p1o12dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dy); + const CCTK_REAL_VEC p1o12dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dz); + const CCTK_REAL_VEC p1o144dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dy,dx)); + const CCTK_REAL_VEC p1o144dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dx)); + const CCTK_REAL_VEC p1o144dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dy)); + const CCTK_REAL_VEC p1o1680dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dx); + const CCTK_REAL_VEC p1o1680dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dy); + const CCTK_REAL_VEC p1o1680dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dz); + const CCTK_REAL_VEC p1o180dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dx,dx)); + const CCTK_REAL_VEC p1o180dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dy,dy)); + const CCTK_REAL_VEC p1o180dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dz,dz)); + const CCTK_REAL_VEC p1o24dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dx); + const CCTK_REAL_VEC p1o24dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dy); + const CCTK_REAL_VEC p1o24dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dz); + const CCTK_REAL_VEC p1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dx); + const CCTK_REAL_VEC p1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dy); + const CCTK_REAL_VEC p1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dz); + const CCTK_REAL_VEC p1o3600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dy,dx)); + const CCTK_REAL_VEC p1o3600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dx)); + const CCTK_REAL_VEC p1o3600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dy)); + const CCTK_REAL_VEC p1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dx); + const CCTK_REAL_VEC p1o4dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dy,dx)); + const CCTK_REAL_VEC p1o4dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dx)); + const CCTK_REAL_VEC p1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dy); + const CCTK_REAL_VEC p1o4dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dy)); + const CCTK_REAL_VEC p1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dz); + const CCTK_REAL_VEC p1o5040dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dx,dx)); + const CCTK_REAL_VEC p1o5040dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dy,dy)); + const CCTK_REAL_VEC p1o5040dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dz,dz)); + const CCTK_REAL_VEC p1o560dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dx); + const CCTK_REAL_VEC p1o560dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dy); + const CCTK_REAL_VEC p1o560dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dz); + const CCTK_REAL_VEC p1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dx); + const CCTK_REAL_VEC p1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dy); + const CCTK_REAL_VEC p1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dz); + const CCTK_REAL_VEC p1o64dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dx); + const CCTK_REAL_VEC p1o64dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dy); + const CCTK_REAL_VEC p1o64dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dz); + const CCTK_REAL_VEC p1o705600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dy,dx)); + const CCTK_REAL_VEC p1o705600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dx)); + const CCTK_REAL_VEC p1o705600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dy)); + const CCTK_REAL_VEC p1o840dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dx); + const CCTK_REAL_VEC p1o840dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dy); + const CCTK_REAL_VEC p1o840dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dz); + const CCTK_REAL_VEC p1odx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dx); + const CCTK_REAL_VEC p1odx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dx,dx)); + const CCTK_REAL_VEC p1ody CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dy); + const CCTK_REAL_VEC p1ody2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dy,dy)); + const CCTK_REAL_VEC p1odz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dz); + const CCTK_REAL_VEC p1odz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dz,dz)); + const CCTK_REAL_VEC pm1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dx); + const CCTK_REAL_VEC pm1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dy); + const CCTK_REAL_VEC pm1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dz); + const CCTK_REAL_VEC pm1o12dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dx,dx)); + const CCTK_REAL_VEC pm1o12dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dy,dy)); + const CCTK_REAL_VEC pm1o12dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dz,dz)); + const CCTK_REAL_VEC pm1o16dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dx); + const CCTK_REAL_VEC pm1o16dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dy); + const CCTK_REAL_VEC pm1o16dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dz); + const CCTK_REAL_VEC pm1o256dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dx); + const CCTK_REAL_VEC pm1o256dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dy); + const CCTK_REAL_VEC pm1o256dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dz); + const CCTK_REAL_VEC pm1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dx); + const CCTK_REAL_VEC pm1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dy); + const CCTK_REAL_VEC pm1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dz); + const CCTK_REAL_VEC pm1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dx); + const CCTK_REAL_VEC pm1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dy); + const CCTK_REAL_VEC pm1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dz); + const CCTK_REAL_VEC pm1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dx); + const CCTK_REAL_VEC pm1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dy); + const CCTK_REAL_VEC pm1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dz); /* Jacobian variable pointers */ - bool const use_jacobian CCTK_ATTRIBUTE_UNUSED = (!CCTK_IsFunctionAliased("MultiPatch_GetMap") || MultiPatch_GetMap(cctkGH) != jacobian_identity_map) - && strlen(jacobian_group) > 0; - if (use_jacobian && strlen(jacobian_derivative_group) == 0) + const bool use_jacobian1 = (!CCTK_IsFunctionAliased("MultiPatch_GetMap") || MultiPatch_GetMap(cctkGH) != jacobian_identity_map) + && strlen(jacobian_group) > 0; + const bool use_jacobian = assume_use_jacobian>=0 ? assume_use_jacobian : use_jacobian1; + const bool usejacobian CCTK_ATTRIBUTE_UNUSED = use_jacobian; + if (use_jacobian && (strlen(jacobian_determinant_group) == 0 || strlen(jacobian_inverse_group) == 0 || strlen(jacobian_derivative_group) == 0)) { - CCTK_WARN (1, "GenericFD::jacobian_group and GenericFD::jacobian_derivative_group must both be set to valid group names"); + CCTK_WARN(1, "GenericFD::jacobian_group, GenericFD::jacobian_determinant_group, GenericFD::jacobian_inverse_group, and GenericFD::jacobian_derivative_group must all be set to valid group names"); } - CCTK_REAL const *restrict jacobian_ptrs[9]; + const CCTK_REAL* restrict jacobian_ptrs[9]; if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_group, 9, jacobian_ptrs); - CCTK_REAL const *restrict const J11 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[0] : 0; - CCTK_REAL const *restrict const J12 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[1] : 0; - CCTK_REAL const *restrict const J13 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[2] : 0; - CCTK_REAL const *restrict const J21 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[3] : 0; - CCTK_REAL const *restrict const J22 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[4] : 0; - CCTK_REAL const *restrict const J23 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[5] : 0; - CCTK_REAL const *restrict const J31 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[6] : 0; - CCTK_REAL const *restrict const J32 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[7] : 0; - CCTK_REAL const *restrict const J33 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[8] : 0; + const CCTK_REAL* restrict const J11 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[0] : 0; + const CCTK_REAL* restrict const J12 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[1] : 0; + const CCTK_REAL* restrict const J13 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[2] : 0; + const CCTK_REAL* restrict const J21 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[3] : 0; + const CCTK_REAL* restrict const J22 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[4] : 0; + const CCTK_REAL* restrict const J23 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[5] : 0; + const CCTK_REAL* restrict const J31 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[6] : 0; + const CCTK_REAL* restrict const J32 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[7] : 0; + const CCTK_REAL* restrict const J33 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[8] : 0; - 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 */ @@ -193,13 +215,20 @@ static void ML_BSSN_Minkowski_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_BSSN_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 */ @@ -210,75 +239,85 @@ static void ML_BSSN_Minkowski_Body(cGH const * restrict const cctkGH, int const /* 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 phiL = IfThen(conformalMethod == - 1.,ToReal(1.),ToReal(0.)); + 1,ToReal(1),ToReal(0)); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gt11L = ToReal(1.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gt11L = ToReal(1); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gt12L = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gt12L = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gt13L = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gt13L = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gt22L = ToReal(1.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gt22L = ToReal(1); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gt23L = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gt23L = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gt33L = ToReal(1.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gt33L = ToReal(1); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED trKL = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED trKL = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED At11L = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED At11L = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED At12L = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED At12L = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED At13L = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED At13L = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED At22L = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED At22L = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED At23L = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED At23L = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED At33L = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED At33L = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Xt1L = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Xt1L = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Xt2L = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Xt2L = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Xt3L = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Xt3L = 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 AL = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED AL = ToReal(0); - 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); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED B1L = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED B1L = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED B2L = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED B2L = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED B3L = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED B3L = 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(A[index],AL); vec_store_nta_partial(alpha[index],alphaL); vec_store_nta_partial(At11[index],At11L); @@ -324,7 +363,7 @@ extern "C" void ML_BSSN_Minkowski(CCTK_ARGUMENTS) return; } - const char *const groups[] = { + const char* const groups[] = { "ML_BSSN::ML_curv", "ML_BSSN::ML_dtlapse", "ML_BSSN::ML_dtshift", @@ -336,19 +375,29 @@ extern "C" void ML_BSSN_Minkowski(CCTK_ARGUMENTS) "ML_BSSN::ML_trace_curv"}; GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_Minkowski", 9, 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_BSSN_Minkowski_Body); diff --git a/ML_BSSN/src/ML_BSSN_RHS1.cc b/ML_BSSN/src/ML_BSSN_RHS1.cc index ae5fa93..ab2af17 100644 --- a/ML_BSSN/src/ML_BSSN_RHS1.cc +++ b/ML_BSSN/src/ML_BSSN_RHS1.cc @@ -32,7 +32,9 @@ extern "C" void ML_BSSN_RHS1_SelectBCs(CCTK_ARGUMENTS) DECLARE_CCTK_ARGUMENTS; DECLARE_CCTK_PARAMETERS; - CCTK_INT ierr CCTK_ATTRIBUTE_UNUSED = 0; + if (cctk_iteration % ML_BSSN_RHS1_calc_every != ML_BSSN_RHS1_calc_offset) + return; + CCTK_INT ierr CCTK_ATTRIBUTE_UNUSED = 0; ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_BSSN::ML_dtlapserhs","flat"); if (ierr < 0) CCTK_WARN(1, "Failed to register flat BC for ML_BSSN::ML_dtlapserhs."); @@ -60,7 +62,7 @@ extern "C" void ML_BSSN_RHS1_SelectBCs(CCTK_ARGUMENTS) return; } -static void ML_BSSN_RHS1_Body(cGH const * restrict const cctkGH, int const dir, int const face, CCTK_REAL const normal[3], CCTK_REAL const tangentA[3], CCTK_REAL const tangentB[3], int const imin[3], int const imax[3], int const n_subblock_gfs, CCTK_REAL * restrict const subblock_gfs[]) +static void ML_BSSN_RHS1_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; @@ -69,153 +71,175 @@ static void ML_BSSN_RHS1_Body(cGH const * restrict const cctkGH, int const dir, /* Include user-supplied include files */ /* Initialise finite differencing variables */ - ptrdiff_t /*const*/ di CCTK_ATTRIBUTE_UNUSED = 1; - ptrdiff_t /*const*/ dj CCTK_ATTRIBUTE_UNUSED = CCTK_GFINDEX3D(cctkGH,0,1,0) - CCTK_GFINDEX3D(cctkGH,0,0,0); - ptrdiff_t /*const*/ dk CCTK_ATTRIBUTE_UNUSED = CCTK_GFINDEX3D(cctkGH,0,0,1) - CCTK_GFINDEX3D(cctkGH,0,0,0); - ptrdiff_t /*const*/ cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * di; - ptrdiff_t /*const*/ cdj CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * dj; - ptrdiff_t /*const*/ cdk CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * dk; - CCTK_REAL_VEC /*const*/ dx CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(0)); - CCTK_REAL_VEC /*const*/ dy CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(1)); - CCTK_REAL_VEC /*const*/ dz CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(2)); - CCTK_REAL_VEC /*const*/ dt CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_TIME); - CCTK_REAL_VEC /*const*/ t CCTK_ATTRIBUTE_UNUSED = ToReal(cctk_time); - CCTK_REAL_VEC /*const*/ dxi CCTK_ATTRIBUTE_UNUSED = INV(dx); - CCTK_REAL_VEC /*const*/ dyi CCTK_ATTRIBUTE_UNUSED = INV(dy); - CCTK_REAL_VEC /*const*/ dzi CCTK_ATTRIBUTE_UNUSED = INV(dz); - CCTK_REAL_VEC /*const*/ khalf CCTK_ATTRIBUTE_UNUSED = ToReal(0.5); - CCTK_REAL_VEC /*const*/ kthird CCTK_ATTRIBUTE_UNUSED = ToReal(1.0/3.0); - CCTK_REAL_VEC /*const*/ ktwothird CCTK_ATTRIBUTE_UNUSED = ToReal(2.0/3.0); - CCTK_REAL_VEC /*const*/ kfourthird CCTK_ATTRIBUTE_UNUSED = ToReal(4.0/3.0); - CCTK_REAL_VEC /*const*/ keightthird CCTK_ATTRIBUTE_UNUSED = ToReal(8.0/3.0); - CCTK_REAL_VEC /*const*/ hdxi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dxi); - CCTK_REAL_VEC /*const*/ hdyi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dyi); - CCTK_REAL_VEC /*const*/ hdzi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dzi); + const ptrdiff_t di CCTK_ATTRIBUTE_UNUSED = 1; + const ptrdiff_t dj CCTK_ATTRIBUTE_UNUSED = CCTK_GFINDEX3D(cctkGH,0,1,0) - CCTK_GFINDEX3D(cctkGH,0,0,0); + const ptrdiff_t dk CCTK_ATTRIBUTE_UNUSED = CCTK_GFINDEX3D(cctkGH,0,0,1) - CCTK_GFINDEX3D(cctkGH,0,0,0); + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * di; + const ptrdiff_t cdj CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * dj; + const ptrdiff_t cdk CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * dk; + const CCTK_REAL_VEC dx CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(0)); + const CCTK_REAL_VEC dy CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(1)); + const CCTK_REAL_VEC dz CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(2)); + const CCTK_REAL_VEC dt CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_TIME); + const CCTK_REAL_VEC t CCTK_ATTRIBUTE_UNUSED = ToReal(cctk_time); + const CCTK_REAL_VEC dxi CCTK_ATTRIBUTE_UNUSED = INV(dx); + const CCTK_REAL_VEC dyi CCTK_ATTRIBUTE_UNUSED = INV(dy); + const CCTK_REAL_VEC dzi CCTK_ATTRIBUTE_UNUSED = INV(dz); + const CCTK_REAL_VEC khalf CCTK_ATTRIBUTE_UNUSED = ToReal(0.5); + const CCTK_REAL_VEC kthird CCTK_ATTRIBUTE_UNUSED = ToReal(1.0/3.0); + const CCTK_REAL_VEC ktwothird CCTK_ATTRIBUTE_UNUSED = ToReal(2.0/3.0); + const CCTK_REAL_VEC kfourthird CCTK_ATTRIBUTE_UNUSED = ToReal(4.0/3.0); + const CCTK_REAL_VEC keightthird CCTK_ATTRIBUTE_UNUSED = ToReal(8.0/3.0); + const CCTK_REAL_VEC hdxi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dxi); + const CCTK_REAL_VEC hdyi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dyi); + const CCTK_REAL_VEC hdzi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dzi); /* Initialize predefined quantities */ - CCTK_REAL_VEC /*const*/ p1o1024dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dx); - CCTK_REAL_VEC /*const*/ p1o1024dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dy); - CCTK_REAL_VEC /*const*/ p1o1024dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dz); - CCTK_REAL_VEC /*const*/ p1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dx); - CCTK_REAL_VEC /*const*/ p1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dy); - CCTK_REAL_VEC /*const*/ p1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dz); - CCTK_REAL_VEC /*const*/ p1o12dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dx); - CCTK_REAL_VEC /*const*/ p1o12dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dy); - CCTK_REAL_VEC /*const*/ p1o12dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dz); - CCTK_REAL_VEC /*const*/ p1o144dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o144dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o144dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o1680dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dx); - CCTK_REAL_VEC /*const*/ p1o1680dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dy); - CCTK_REAL_VEC /*const*/ p1o1680dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dz); - CCTK_REAL_VEC /*const*/ p1o180dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ p1o180dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ p1o180dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ p1o24dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dx); - CCTK_REAL_VEC /*const*/ p1o24dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dy); - CCTK_REAL_VEC /*const*/ p1o24dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dz); - CCTK_REAL_VEC /*const*/ p1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dx); - CCTK_REAL_VEC /*const*/ p1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dy); - CCTK_REAL_VEC /*const*/ p1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dz); - CCTK_REAL_VEC /*const*/ p1o3600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o3600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o3600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dx); - CCTK_REAL_VEC /*const*/ p1o4dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o4dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dy); - CCTK_REAL_VEC /*const*/ p1o4dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dz); - CCTK_REAL_VEC /*const*/ p1o5040dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ p1o5040dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ p1o5040dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ p1o560dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dx); - CCTK_REAL_VEC /*const*/ p1o560dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dy); - CCTK_REAL_VEC /*const*/ p1o560dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dz); - CCTK_REAL_VEC /*const*/ p1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dx); - CCTK_REAL_VEC /*const*/ p1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dy); - CCTK_REAL_VEC /*const*/ p1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dz); - CCTK_REAL_VEC /*const*/ p1o64dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dx); - CCTK_REAL_VEC /*const*/ p1o64dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dy); - CCTK_REAL_VEC /*const*/ p1o64dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dz); - CCTK_REAL_VEC /*const*/ p1o705600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o705600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o705600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o840dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dx); - CCTK_REAL_VEC /*const*/ p1o840dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dy); - CCTK_REAL_VEC /*const*/ p1o840dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dz); - CCTK_REAL_VEC /*const*/ p1odx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dx); - CCTK_REAL_VEC /*const*/ p1odx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ p1ody CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dy); - CCTK_REAL_VEC /*const*/ p1ody2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ p1odz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dz); - CCTK_REAL_VEC /*const*/ p1odz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ pm1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dx); - CCTK_REAL_VEC /*const*/ pm1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dy); - CCTK_REAL_VEC /*const*/ pm1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dz); - CCTK_REAL_VEC /*const*/ pm1o12dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ pm1o12dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ pm1o12dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ pm1o16dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dx); - CCTK_REAL_VEC /*const*/ pm1o16dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dy); - CCTK_REAL_VEC /*const*/ pm1o16dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dz); - CCTK_REAL_VEC /*const*/ pm1o256dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dx); - CCTK_REAL_VEC /*const*/ pm1o256dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dy); - CCTK_REAL_VEC /*const*/ pm1o256dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dz); - CCTK_REAL_VEC /*const*/ pm1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dx); - CCTK_REAL_VEC /*const*/ pm1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dy); - CCTK_REAL_VEC /*const*/ pm1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dz); - CCTK_REAL_VEC /*const*/ pm1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dx); - CCTK_REAL_VEC /*const*/ pm1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dy); - CCTK_REAL_VEC /*const*/ pm1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dz); - CCTK_REAL_VEC /*const*/ pm1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dx); - CCTK_REAL_VEC /*const*/ pm1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dy); - CCTK_REAL_VEC /*const*/ pm1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dz); + const CCTK_REAL_VEC p1o1024dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dx); + const CCTK_REAL_VEC p1o1024dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dy); + const CCTK_REAL_VEC p1o1024dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dz); + const CCTK_REAL_VEC p1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dx); + const CCTK_REAL_VEC p1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dy); + const CCTK_REAL_VEC p1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dz); + const CCTK_REAL_VEC p1o12dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dx); + const CCTK_REAL_VEC p1o12dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dy); + const CCTK_REAL_VEC p1o12dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dz); + const CCTK_REAL_VEC p1o144dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dy,dx)); + const CCTK_REAL_VEC p1o144dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dx)); + const CCTK_REAL_VEC p1o144dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dy)); + const CCTK_REAL_VEC p1o1680dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dx); + const CCTK_REAL_VEC p1o1680dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dy); + const CCTK_REAL_VEC p1o1680dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dz); + const CCTK_REAL_VEC p1o180dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dx,dx)); + const CCTK_REAL_VEC p1o180dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dy,dy)); + const CCTK_REAL_VEC p1o180dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dz,dz)); + const CCTK_REAL_VEC p1o24dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dx); + const CCTK_REAL_VEC p1o24dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dy); + const CCTK_REAL_VEC p1o24dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dz); + const CCTK_REAL_VEC p1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dx); + const CCTK_REAL_VEC p1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dy); + const CCTK_REAL_VEC p1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dz); + const CCTK_REAL_VEC p1o3600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dy,dx)); + const CCTK_REAL_VEC p1o3600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dx)); + const CCTK_REAL_VEC p1o3600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dy)); + const CCTK_REAL_VEC p1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dx); + const CCTK_REAL_VEC p1o4dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dy,dx)); + const CCTK_REAL_VEC p1o4dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dx)); + const CCTK_REAL_VEC p1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dy); + const CCTK_REAL_VEC p1o4dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dy)); + const CCTK_REAL_VEC p1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dz); + const CCTK_REAL_VEC p1o5040dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dx,dx)); + const CCTK_REAL_VEC p1o5040dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dy,dy)); + const CCTK_REAL_VEC p1o5040dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dz,dz)); + const CCTK_REAL_VEC p1o560dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dx); + const CCTK_REAL_VEC p1o560dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dy); + const CCTK_REAL_VEC p1o560dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dz); + const CCTK_REAL_VEC p1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dx); + const CCTK_REAL_VEC p1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dy); + const CCTK_REAL_VEC p1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dz); + const CCTK_REAL_VEC p1o64dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dx); + const CCTK_REAL_VEC p1o64dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dy); + const CCTK_REAL_VEC p1o64dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dz); + const CCTK_REAL_VEC p1o705600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dy,dx)); + const CCTK_REAL_VEC p1o705600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dx)); + const CCTK_REAL_VEC p1o705600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dy)); + const CCTK_REAL_VEC p1o840dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dx); + const CCTK_REAL_VEC p1o840dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dy); + const CCTK_REAL_VEC p1o840dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dz); + const CCTK_REAL_VEC p1odx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dx); + const CCTK_REAL_VEC p1odx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dx,dx)); + const CCTK_REAL_VEC p1ody CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dy); + const CCTK_REAL_VEC p1ody2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dy,dy)); + const CCTK_REAL_VEC p1odz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dz); + const CCTK_REAL_VEC p1odz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dz,dz)); + const CCTK_REAL_VEC pm1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dx); + const CCTK_REAL_VEC pm1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dy); + const CCTK_REAL_VEC pm1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dz); + const CCTK_REAL_VEC pm1o12dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dx,dx)); + const CCTK_REAL_VEC pm1o12dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dy,dy)); + const CCTK_REAL_VEC pm1o12dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dz,dz)); + const CCTK_REAL_VEC pm1o16dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dx); + const CCTK_REAL_VEC pm1o16dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dy); + const CCTK_REAL_VEC pm1o16dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dz); + const CCTK_REAL_VEC pm1o256dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dx); + const CCTK_REAL_VEC pm1o256dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dy); + const CCTK_REAL_VEC pm1o256dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dz); + const CCTK_REAL_VEC pm1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dx); + const CCTK_REAL_VEC pm1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dy); + const CCTK_REAL_VEC pm1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dz); + const CCTK_REAL_VEC pm1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dx); + const CCTK_REAL_VEC pm1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dy); + const CCTK_REAL_VEC pm1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dz); + const CCTK_REAL_VEC pm1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dx); + const CCTK_REAL_VEC pm1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dy); + const CCTK_REAL_VEC pm1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dz); /* Jacobian variable pointers */ - bool const use_jacobian CCTK_ATTRIBUTE_UNUSED = (!CCTK_IsFunctionAliased("MultiPatch_GetMap") || MultiPatch_GetMap(cctkGH) != jacobian_identity_map) - && strlen(jacobian_group) > 0; - if (use_jacobian && strlen(jacobian_derivative_group) == 0) + const bool use_jacobian1 = (!CCTK_IsFunctionAliased("MultiPatch_GetMap") || MultiPatch_GetMap(cctkGH) != jacobian_identity_map) + && strlen(jacobian_group) > 0; + const bool use_jacobian = assume_use_jacobian>=0 ? assume_use_jacobian : use_jacobian1; + const bool usejacobian CCTK_ATTRIBUTE_UNUSED = use_jacobian; + if (use_jacobian && (strlen(jacobian_determinant_group) == 0 || strlen(jacobian_inverse_group) == 0 || strlen(jacobian_derivative_group) == 0)) { - CCTK_WARN (1, "GenericFD::jacobian_group and GenericFD::jacobian_derivative_group must both be set to valid group names"); + CCTK_WARN(1, "GenericFD::jacobian_group, GenericFD::jacobian_determinant_group, GenericFD::jacobian_inverse_group, and GenericFD::jacobian_derivative_group must all be set to valid group names"); } - CCTK_REAL const *restrict jacobian_ptrs[9]; + const CCTK_REAL* restrict jacobian_ptrs[9]; if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_group, 9, jacobian_ptrs); - CCTK_REAL const *restrict const J11 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[0] : 0; - CCTK_REAL const *restrict const J12 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[1] : 0; - CCTK_REAL const *restrict const J13 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[2] : 0; - CCTK_REAL const *restrict const J21 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[3] : 0; - CCTK_REAL const *restrict const J22 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[4] : 0; - CCTK_REAL const *restrict const J23 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[5] : 0; - CCTK_REAL const *restrict const J31 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[6] : 0; - CCTK_REAL const *restrict const J32 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[7] : 0; - CCTK_REAL const *restrict const J33 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[8] : 0; + const CCTK_REAL* restrict const J11 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[0] : 0; + const CCTK_REAL* restrict const J12 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[1] : 0; + const CCTK_REAL* restrict const J13 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[2] : 0; + const CCTK_REAL* restrict const J21 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[3] : 0; + const CCTK_REAL* restrict const J22 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[4] : 0; + const CCTK_REAL* restrict const J23 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[5] : 0; + const CCTK_REAL* restrict const J31 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[6] : 0; + const CCTK_REAL* restrict const J32 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[7] : 0; + const CCTK_REAL* restrict const J33 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[8] : 0; + + const CCTK_REAL* restrict jacobian_determinant_ptrs[1] CCTK_ATTRIBUTE_UNUSED; + if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_determinant_group, + 1, jacobian_determinant_ptrs); + + const CCTK_REAL* restrict const detJ CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[0] : 0; - CCTK_REAL const *restrict jacobian_derivative_ptrs[18] CCTK_ATTRIBUTE_UNUSED; + const CCTK_REAL* restrict jacobian_inverse_ptrs[9] CCTK_ATTRIBUTE_UNUSED; + if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_inverse_group, + 9, jacobian_inverse_ptrs); + + const CCTK_REAL* restrict const iJ11 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[0] : 0; + const CCTK_REAL* restrict const iJ12 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[1] : 0; + const CCTK_REAL* restrict const iJ13 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[2] : 0; + const CCTK_REAL* restrict const iJ21 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[3] : 0; + const CCTK_REAL* restrict const iJ22 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[4] : 0; + const CCTK_REAL* restrict const iJ23 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[5] : 0; + const CCTK_REAL* restrict const iJ31 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[6] : 0; + const CCTK_REAL* restrict const iJ32 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[7] : 0; + const CCTK_REAL* restrict const iJ33 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[8] : 0; + + const CCTK_REAL* restrict jacobian_derivative_ptrs[18] CCTK_ATTRIBUTE_UNUSED; if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_derivative_group, 18, jacobian_derivative_ptrs); - CCTK_REAL const *restrict const dJ111 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[0] : 0; - CCTK_REAL const *restrict const dJ112 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[1] : 0; - CCTK_REAL const *restrict const dJ113 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[2] : 0; - CCTK_REAL const *restrict const dJ122 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[3] : 0; - CCTK_REAL const *restrict const dJ123 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[4] : 0; - CCTK_REAL const *restrict const dJ133 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[5] : 0; - CCTK_REAL const *restrict const dJ211 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[6] : 0; - CCTK_REAL const *restrict const dJ212 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[7] : 0; - CCTK_REAL const *restrict const dJ213 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[8] : 0; - CCTK_REAL const *restrict const dJ222 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[9] : 0; - CCTK_REAL const *restrict const dJ223 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[10] : 0; - CCTK_REAL const *restrict const dJ233 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[11] : 0; - CCTK_REAL const *restrict const dJ311 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[12] : 0; - CCTK_REAL const *restrict const dJ312 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[13] : 0; - CCTK_REAL const *restrict const dJ313 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[14] : 0; - CCTK_REAL const *restrict const dJ322 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[15] : 0; - CCTK_REAL const *restrict const dJ323 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[16] : 0; - CCTK_REAL const *restrict const dJ333 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[17] : 0; + const CCTK_REAL* restrict const dJ111 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[0] : 0; + const CCTK_REAL* restrict const dJ112 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[1] : 0; + const CCTK_REAL* restrict const dJ113 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[2] : 0; + const CCTK_REAL* restrict const dJ122 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[3] : 0; + const CCTK_REAL* restrict const dJ123 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[4] : 0; + const CCTK_REAL* restrict const dJ133 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[5] : 0; + const CCTK_REAL* restrict const dJ211 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[6] : 0; + const CCTK_REAL* restrict const dJ212 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[7] : 0; + const CCTK_REAL* restrict const dJ213 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[8] : 0; + const CCTK_REAL* restrict const dJ222 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[9] : 0; + const CCTK_REAL* restrict const dJ223 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[10] : 0; + const CCTK_REAL* restrict const dJ233 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[11] : 0; + const CCTK_REAL* restrict const dJ311 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[12] : 0; + const CCTK_REAL* restrict const dJ312 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[13] : 0; + const CCTK_REAL* restrict const dJ313 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[14] : 0; + const CCTK_REAL* restrict const dJ322 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[15] : 0; + const CCTK_REAL* restrict const dJ323 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[16] : 0; + const CCTK_REAL* restrict const dJ333 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[17] : 0; /* Assign local copies of arrays functions */ @@ -226,13 +250,20 @@ static void ML_BSSN_RHS1_Body(cGH const * restrict const cctkGH, int const dir, /* Copy local copies back to grid functions */ /* Loop over the grid points */ - #pragma omp parallel + const int imin0=imin[0]; + const int imin1=imin[1]; + const int imin2=imin[2]; + const int imax0=imax[0]; + const int imax1=imax[1]; + const int imax2=imax[2]; + #pragma omp parallel // reduction(+: vec_iter_counter, vec_op_counter, vec_mem_counter) CCTK_LOOP3STR(ML_BSSN_RHS1, - 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 */ @@ -265,7 +296,7 @@ static void ML_BSSN_RHS1_Body(cGH const * restrict const cctkGH, int const dir, CCTK_REAL_VEC eTttL, eTtxL, eTtyL, eTtzL, eTxxL, eTxyL, eTxzL, eTyyL, eTyzL, eTzzL CCTK_ATTRIBUTE_UNUSED ; - if (*stress_energy_state) + if (assume_stress_energy_state>=0 ? assume_stress_energy_state : *stress_energy_state) { eTttL = vec_load(eTtt[index]); eTtxL = vec_load(eTtx[index]); @@ -328,70 +359,71 @@ static void ML_BSSN_RHS1_Body(cGH const * restrict const cctkGH, int const dir, /* 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 PDstandardNth11beta1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth22beta1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth33beta1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth12beta1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth13beta1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth23beta1 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 PDstandardNth11beta2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth22beta2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth33beta2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth12beta2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth13beta2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth23beta2 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 PDstandardNth11beta3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth22beta3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth33beta3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth12beta3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth13beta3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth23beta3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth1gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth2gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth3gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth1gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth2gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth3gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth1gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth2gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth3gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth1gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth2gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth3gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth1gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth2gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth3gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth1gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth2gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth3gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth1phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth2phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth3phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth1trK CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth2trK CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth3trK CCTK_ATTRIBUTE_UNUSED ; - - switch(fdOrder) + CCTK_REAL_VEC 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 PDstandardNth11beta1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth22beta1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth33beta1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth12beta1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth13beta1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth23beta1 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 PDstandardNth11beta2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth22beta2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth33beta2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth12beta2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth13beta2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth23beta2 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 PDstandardNth11beta3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth22beta3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth33beta3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth12beta3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth13beta3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth23beta3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1trK CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2trK CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3trK CCTK_ATTRIBUTE_UNUSED; + + switch (fdOrder) { case 2: + { PDstandardNth1alpha = PDstandardNthfdOrder21(&alpha[index]); PDstandardNth2alpha = PDstandardNthfdOrder22(&alpha[index]); PDstandardNth3alpha = PDstandardNthfdOrder23(&alpha[index]); @@ -453,8 +485,10 @@ static void ML_BSSN_RHS1_Body(cGH const * restrict const cctkGH, int const dir, PDstandardNth2trK = PDstandardNthfdOrder22(&trK[index]); PDstandardNth3trK = PDstandardNthfdOrder23(&trK[index]); break; + } case 4: + { PDstandardNth1alpha = PDstandardNthfdOrder41(&alpha[index]); PDstandardNth2alpha = PDstandardNthfdOrder42(&alpha[index]); PDstandardNth3alpha = PDstandardNthfdOrder43(&alpha[index]); @@ -516,8 +550,10 @@ static void ML_BSSN_RHS1_Body(cGH const * restrict const cctkGH, int const dir, PDstandardNth2trK = PDstandardNthfdOrder42(&trK[index]); PDstandardNth3trK = PDstandardNthfdOrder43(&trK[index]); break; + } case 6: + { PDstandardNth1alpha = PDstandardNthfdOrder61(&alpha[index]); PDstandardNth2alpha = PDstandardNthfdOrder62(&alpha[index]); PDstandardNth3alpha = PDstandardNthfdOrder63(&alpha[index]); @@ -579,8 +615,10 @@ static void ML_BSSN_RHS1_Body(cGH const * restrict const cctkGH, int const dir, PDstandardNth2trK = PDstandardNthfdOrder62(&trK[index]); PDstandardNth3trK = PDstandardNthfdOrder63(&trK[index]); break; + } case 8: + { PDstandardNth1alpha = PDstandardNthfdOrder81(&alpha[index]); PDstandardNth2alpha = PDstandardNthfdOrder82(&alpha[index]); PDstandardNth3alpha = PDstandardNthfdOrder83(&alpha[index]); @@ -642,6 +680,9 @@ static void ML_BSSN_RHS1_Body(cGH const * restrict const cctkGH, int const dir, PDstandardNth2trK = PDstandardNthfdOrder82(&trK[index]); PDstandardNth3trK = PDstandardNthfdOrder83(&trK[index]); break; + } + default: + CCTK_BUILTIN_UNREACHABLE(); } /* Calculate temporaries and grid functions */ @@ -651,78 +692,78 @@ static void ML_BSSN_RHS1_Body(cGH const * restrict const cctkGH, int const dir, ptrdiff_t CCTK_ATTRIBUTE_UNUSED dir3 = kisgn(beta3L); - CCTK_REAL_VEC JacPDstandardNth11alpha CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth11beta1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth11beta2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth11beta3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth12alpha CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth12beta1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth12beta2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth12beta3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth13alpha CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth13beta1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth13beta2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth13beta3 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 JacPDstandardNth1gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth1gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth1gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth1gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth1gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth1gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth1phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth1trK CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth21alpha CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth21beta1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth21beta2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth21beta3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth22alpha CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth22beta1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth22beta2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth22beta3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth23alpha CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth23beta1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth23beta2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth23beta3 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 JacPDstandardNth2gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth2gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth2gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth2gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth2gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth2gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth2phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth2trK CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth31alpha CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth31beta1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth31beta2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth31beta3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth32alpha CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth32beta1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth32beta2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth32beta3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth33alpha CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth33beta1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth33beta2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth33beta3 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 JacPDstandardNth3gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth3gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth3gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth3gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth3gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth3gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth3phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth3trK CCTK_ATTRIBUTE_UNUSED ; + CCTK_REAL_VEC JacPDstandardNth11alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth11beta1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth11beta2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth11beta3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth12alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth12beta1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth12beta2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth12beta3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth13alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth13beta1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth13beta2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth13beta3 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 JacPDstandardNth1gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1trK CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth21alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth21beta1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth21beta2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth21beta3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth22alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth22beta1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth22beta2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth22beta3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth23alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth23beta1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth23beta2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth23beta3 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 JacPDstandardNth2gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2trK CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth31alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth31beta1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth31beta2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth31beta3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth32alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth32beta1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth32beta2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth32beta3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth33alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth33beta1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth33beta2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth33beta3 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 JacPDstandardNth3gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3trK CCTK_ATTRIBUTE_UNUSED; if (use_jacobian) { @@ -835,40 +876,40 @@ static void ML_BSSN_RHS1_Body(cGH const * restrict const cctkGH, int const dir, kmadd(J13L,PDstandardNth1trK,kmadd(J23L,PDstandardNth2trK,kmul(J33L,PDstandardNth3trK))); 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)))))))); JacPDstandardNth11beta1 = - kmadd(dJ111L,PDstandardNth1beta1,kmadd(dJ211L,PDstandardNth2beta1,kmadd(dJ311L,PDstandardNth3beta1,kmadd(PDstandardNth11beta1,kmul(J11L,J11L),kmadd(PDstandardNth22beta1,kmul(J21L,J21L),kmadd(PDstandardNth33beta1,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12beta1,kmul(J31L,PDstandardNth13beta1)),kmul(J21L,kmul(J31L,PDstandardNth23beta1))),ToReal(2.)))))))); + kmadd(dJ111L,PDstandardNth1beta1,kmadd(dJ211L,PDstandardNth2beta1,kmadd(dJ311L,PDstandardNth3beta1,kmadd(PDstandardNth11beta1,kmul(J11L,J11L),kmadd(PDstandardNth22beta1,kmul(J21L,J21L),kmadd(PDstandardNth33beta1,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12beta1,kmul(J31L,PDstandardNth13beta1)),kmul(J21L,kmul(J31L,PDstandardNth23beta1))),ToReal(2)))))))); JacPDstandardNth11beta2 = - kmadd(dJ111L,PDstandardNth1beta2,kmadd(dJ211L,PDstandardNth2beta2,kmadd(dJ311L,PDstandardNth3beta2,kmadd(PDstandardNth11beta2,kmul(J11L,J11L),kmadd(PDstandardNth22beta2,kmul(J21L,J21L),kmadd(PDstandardNth33beta2,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12beta2,kmul(J31L,PDstandardNth13beta2)),kmul(J21L,kmul(J31L,PDstandardNth23beta2))),ToReal(2.)))))))); + kmadd(dJ111L,PDstandardNth1beta2,kmadd(dJ211L,PDstandardNth2beta2,kmadd(dJ311L,PDstandardNth3beta2,kmadd(PDstandardNth11beta2,kmul(J11L,J11L),kmadd(PDstandardNth22beta2,kmul(J21L,J21L),kmadd(PDstandardNth33beta2,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12beta2,kmul(J31L,PDstandardNth13beta2)),kmul(J21L,kmul(J31L,PDstandardNth23beta2))),ToReal(2)))))))); JacPDstandardNth11beta3 = - kmadd(dJ111L,PDstandardNth1beta3,kmadd(dJ211L,PDstandardNth2beta3,kmadd(dJ311L,PDstandardNth3beta3,kmadd(PDstandardNth11beta3,kmul(J11L,J11L),kmadd(PDstandardNth22beta3,kmul(J21L,J21L),kmadd(PDstandardNth33beta3,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12beta3,kmul(J31L,PDstandardNth13beta3)),kmul(J21L,kmul(J31L,PDstandardNth23beta3))),ToReal(2.)))))))); + kmadd(dJ111L,PDstandardNth1beta3,kmadd(dJ211L,PDstandardNth2beta3,kmadd(dJ311L,PDstandardNth3beta3,kmadd(PDstandardNth11beta3,kmul(J11L,J11L),kmadd(PDstandardNth22beta3,kmul(J21L,J21L),kmadd(PDstandardNth33beta3,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12beta3,kmul(J31L,PDstandardNth13beta3)),kmul(J21L,kmul(J31L,PDstandardNth23beta3))),ToReal(2)))))))); 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)))))))); JacPDstandardNth22beta1 = - kmadd(dJ122L,PDstandardNth1beta1,kmadd(dJ222L,PDstandardNth2beta1,kmadd(dJ322L,PDstandardNth3beta1,kmadd(PDstandardNth11beta1,kmul(J12L,J12L),kmadd(PDstandardNth22beta1,kmul(J22L,J22L),kmadd(PDstandardNth33beta1,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12beta1,kmul(J32L,PDstandardNth13beta1)),kmul(J22L,kmul(J32L,PDstandardNth23beta1))),ToReal(2.)))))))); + kmadd(dJ122L,PDstandardNth1beta1,kmadd(dJ222L,PDstandardNth2beta1,kmadd(dJ322L,PDstandardNth3beta1,kmadd(PDstandardNth11beta1,kmul(J12L,J12L),kmadd(PDstandardNth22beta1,kmul(J22L,J22L),kmadd(PDstandardNth33beta1,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12beta1,kmul(J32L,PDstandardNth13beta1)),kmul(J22L,kmul(J32L,PDstandardNth23beta1))),ToReal(2)))))))); JacPDstandardNth22beta2 = - kmadd(dJ122L,PDstandardNth1beta2,kmadd(dJ222L,PDstandardNth2beta2,kmadd(dJ322L,PDstandardNth3beta2,kmadd(PDstandardNth11beta2,kmul(J12L,J12L),kmadd(PDstandardNth22beta2,kmul(J22L,J22L),kmadd(PDstandardNth33beta2,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12beta2,kmul(J32L,PDstandardNth13beta2)),kmul(J22L,kmul(J32L,PDstandardNth23beta2))),ToReal(2.)))))))); + kmadd(dJ122L,PDstandardNth1beta2,kmadd(dJ222L,PDstandardNth2beta2,kmadd(dJ322L,PDstandardNth3beta2,kmadd(PDstandardNth11beta2,kmul(J12L,J12L),kmadd(PDstandardNth22beta2,kmul(J22L,J22L),kmadd(PDstandardNth33beta2,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12beta2,kmul(J32L,PDstandardNth13beta2)),kmul(J22L,kmul(J32L,PDstandardNth23beta2))),ToReal(2)))))))); JacPDstandardNth22beta3 = - kmadd(dJ122L,PDstandardNth1beta3,kmadd(dJ222L,PDstandardNth2beta3,kmadd(dJ322L,PDstandardNth3beta3,kmadd(PDstandardNth11beta3,kmul(J12L,J12L),kmadd(PDstandardNth22beta3,kmul(J22L,J22L),kmadd(PDstandardNth33beta3,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12beta3,kmul(J32L,PDstandardNth13beta3)),kmul(J22L,kmul(J32L,PDstandardNth23beta3))),ToReal(2.)))))))); + kmadd(dJ122L,PDstandardNth1beta3,kmadd(dJ222L,PDstandardNth2beta3,kmadd(dJ322L,PDstandardNth3beta3,kmadd(PDstandardNth11beta3,kmul(J12L,J12L),kmadd(PDstandardNth22beta3,kmul(J22L,J22L),kmadd(PDstandardNth33beta3,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12beta3,kmul(J32L,PDstandardNth13beta3)),kmul(J22L,kmul(J32L,PDstandardNth23beta3))),ToReal(2)))))))); 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)))))))); JacPDstandardNth33beta1 = - kmadd(dJ133L,PDstandardNth1beta1,kmadd(dJ233L,PDstandardNth2beta1,kmadd(dJ333L,PDstandardNth3beta1,kmadd(PDstandardNth11beta1,kmul(J13L,J13L),kmadd(PDstandardNth22beta1,kmul(J23L,J23L),kmadd(PDstandardNth33beta1,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12beta1,kmul(J33L,PDstandardNth13beta1)),kmul(J23L,kmul(J33L,PDstandardNth23beta1))),ToReal(2.)))))))); + kmadd(dJ133L,PDstandardNth1beta1,kmadd(dJ233L,PDstandardNth2beta1,kmadd(dJ333L,PDstandardNth3beta1,kmadd(PDstandardNth11beta1,kmul(J13L,J13L),kmadd(PDstandardNth22beta1,kmul(J23L,J23L),kmadd(PDstandardNth33beta1,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12beta1,kmul(J33L,PDstandardNth13beta1)),kmul(J23L,kmul(J33L,PDstandardNth23beta1))),ToReal(2)))))))); JacPDstandardNth33beta2 = - kmadd(dJ133L,PDstandardNth1beta2,kmadd(dJ233L,PDstandardNth2beta2,kmadd(dJ333L,PDstandardNth3beta2,kmadd(PDstandardNth11beta2,kmul(J13L,J13L),kmadd(PDstandardNth22beta2,kmul(J23L,J23L),kmadd(PDstandardNth33beta2,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12beta2,kmul(J33L,PDstandardNth13beta2)),kmul(J23L,kmul(J33L,PDstandardNth23beta2))),ToReal(2.)))))))); + kmadd(dJ133L,PDstandardNth1beta2,kmadd(dJ233L,PDstandardNth2beta2,kmadd(dJ333L,PDstandardNth3beta2,kmadd(PDstandardNth11beta2,kmul(J13L,J13L),kmadd(PDstandardNth22beta2,kmul(J23L,J23L),kmadd(PDstandardNth33beta2,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12beta2,kmul(J33L,PDstandardNth13beta2)),kmul(J23L,kmul(J33L,PDstandardNth23beta2))),ToReal(2)))))))); JacPDstandardNth33beta3 = - kmadd(dJ133L,PDstandardNth1beta3,kmadd(dJ233L,PDstandardNth2beta3,kmadd(dJ333L,PDstandardNth3beta3,kmadd(PDstandardNth11beta3,kmul(J13L,J13L),kmadd(PDstandardNth22beta3,kmul(J23L,J23L),kmadd(PDstandardNth33beta3,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12beta3,kmul(J33L,PDstandardNth13beta3)),kmul(J23L,kmul(J33L,PDstandardNth23beta3))),ToReal(2.)))))))); + kmadd(dJ133L,PDstandardNth1beta3,kmadd(dJ233L,PDstandardNth2beta3,kmadd(dJ333L,PDstandardNth3beta3,kmadd(PDstandardNth11beta3,kmul(J13L,J13L),kmadd(PDstandardNth22beta3,kmul(J23L,J23L),kmadd(PDstandardNth33beta3,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12beta3,kmul(J33L,PDstandardNth13beta3)),kmul(J23L,kmul(J33L,PDstandardNth23beta3))),ToReal(2)))))))); 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))))))); @@ -1089,25 +1130,25 @@ static void ML_BSSN_RHS1_Body(cGH const * restrict const cctkGH, int const dir, JacPDstandardNth32beta3 = PDstandardNth23beta3; } - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED detgt = ToReal(1.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED detgt = ToReal(1); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gtu11 = - kdiv(kmadd(gt22L,gt33L,kmul(kmul(gt23L,gt23L),ToReal(-1.))),detgt); + kdiv(kmsub(gt22L,gt33L,kmul(gt23L,gt23L)),detgt); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gtu12 = - kdiv(kmadd(gt13L,gt23L,kmul(gt12L,kmul(gt33L,ToReal(-1.)))),detgt); + kdiv(kmsub(gt13L,gt23L,kmul(gt12L,gt33L)),detgt); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gtu13 = - kdiv(kmadd(gt12L,gt23L,kmul(gt13L,kmul(gt22L,ToReal(-1.)))),detgt); + kdiv(kmsub(gt12L,gt23L,kmul(gt13L,gt22L)),detgt); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gtu22 = - kdiv(kmadd(gt11L,gt33L,kmul(kmul(gt13L,gt13L),ToReal(-1.))),detgt); + kdiv(kmsub(gt11L,gt33L,kmul(gt13L,gt13L)),detgt); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gtu23 = - kdiv(kmadd(gt12L,gt13L,kmul(gt11L,kmul(gt23L,ToReal(-1.)))),detgt); + kdiv(kmsub(gt12L,gt13L,kmul(gt11L,gt23L)),detgt); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gtu33 = - kdiv(kmadd(gt11L,gt22L,kmul(kmul(gt12L,gt12L),ToReal(-1.))),detgt); + kdiv(kmsub(gt11L,gt22L,kmul(gt12L,gt12L)),detgt); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Gtl111 = kmul(JacPDstandardNth1gt11,ToReal(0.5)); @@ -1122,7 +1163,7 @@ static void ML_BSSN_RHS1_Body(cGH const * restrict const cctkGH, int const dir, kmadd(JacPDstandardNth1gt22,ToReal(-0.5),JacPDstandardNth2gt12); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Gtl123 = - kmul(kadd(JacPDstandardNth2gt13,kmadd(JacPDstandardNth1gt23,ToReal(-1.),JacPDstandardNth3gt12)),ToReal(0.5)); + kmul(kadd(JacPDstandardNth2gt13,ksub(JacPDstandardNth3gt12,JacPDstandardNth1gt23)),ToReal(0.5)); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Gtl133 = kmadd(JacPDstandardNth1gt33,ToReal(-0.5),JacPDstandardNth3gt13); @@ -1134,7 +1175,7 @@ static void ML_BSSN_RHS1_Body(cGH const * restrict const cctkGH, int const dir, kmul(JacPDstandardNth1gt22,ToReal(0.5)); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Gtl213 = - kmul(kadd(JacPDstandardNth1gt23,kmadd(JacPDstandardNth2gt13,ToReal(-1.),JacPDstandardNth3gt12)),ToReal(0.5)); + kmul(kadd(JacPDstandardNth1gt23,ksub(JacPDstandardNth3gt12,JacPDstandardNth2gt13)),ToReal(0.5)); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Gtl222 = kmul(JacPDstandardNth2gt22,ToReal(0.5)); @@ -1149,7 +1190,7 @@ static void ML_BSSN_RHS1_Body(cGH const * restrict const cctkGH, int const dir, kmadd(JacPDstandardNth3gt11,ToReal(-0.5),JacPDstandardNth1gt13); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Gtl312 = - kmul(kadd(JacPDstandardNth1gt23,kmadd(JacPDstandardNth3gt12,ToReal(-1.),JacPDstandardNth2gt13)),ToReal(0.5)); + kmul(kadd(JacPDstandardNth1gt23,ksub(JacPDstandardNth2gt13,JacPDstandardNth3gt12)),ToReal(0.5)); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Gtl313 = kmul(JacPDstandardNth1gt33,ToReal(0.5)); @@ -1218,21 +1259,21 @@ static void ML_BSSN_RHS1_Body(cGH const * restrict const cctkGH, int const dir, kmadd(Gtl133,gtu13,kmadd(Gtl233,gtu23,kmul(Gtl333,gtu33))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Xtn1 = - kmadd(Gt111,gtu11,kmadd(Gt122,gtu22,kmadd(Gt133,gtu33,kmul(kmadd(Gt112,gtu12,kmadd(Gt113,gtu13,kmul(Gt123,gtu23))),ToReal(2.))))); + kmadd(Gt111,gtu11,kmadd(Gt122,gtu22,kmadd(Gt133,gtu33,kmul(kmadd(Gt112,gtu12,kmadd(Gt113,gtu13,kmul(Gt123,gtu23))),ToReal(2))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Xtn2 = - kmadd(Gt211,gtu11,kmadd(Gt222,gtu22,kmadd(Gt233,gtu33,kmul(kmadd(Gt212,gtu12,kmadd(Gt213,gtu13,kmul(Gt223,gtu23))),ToReal(2.))))); + kmadd(Gt211,gtu11,kmadd(Gt222,gtu22,kmadd(Gt233,gtu33,kmul(kmadd(Gt212,gtu12,kmadd(Gt213,gtu13,kmul(Gt223,gtu23))),ToReal(2))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Xtn3 = - kmadd(Gt311,gtu11,kmadd(Gt322,gtu22,kmadd(Gt333,gtu33,kmul(kmadd(Gt312,gtu12,kmadd(Gt313,gtu13,kmul(Gt323,gtu23))),ToReal(2.))))); + kmadd(Gt311,gtu11,kmadd(Gt322,gtu22,kmadd(Gt333,gtu33,kmul(kmadd(Gt312,gtu12,kmadd(Gt313,gtu13,kmul(Gt323,gtu23))),ToReal(2))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED e4phi = IfThen(conformalMethod == - 1.,kdiv(ToReal(1),kmul(phiL,phiL)),kexp(kmul(phiL,ToReal(4.)))); + 1,kdiv(ToReal(1),kmul(phiL,phiL)),kexp(kmul(phiL,ToReal(4)))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED em4phi = kdiv(ToReal(1),e4phi); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED fac1 = IfThen(conformalMethod == - 1.,kdiv(ToReal(-0.5),phiL),ToReal(1.)); + 1,kdiv(ToReal(-0.5),phiL),ToReal(1)); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED cdphi1 = kmul(fac1,JacPDstandardNth1phi); @@ -1289,50 +1330,50 @@ static void ML_BSSN_RHS1_Body(cGH const * restrict const cctkGH, int const dir, kmadd(Atm31,gtu13,kmadd(Atm32,gtu23,kmul(Atm33,gtu33))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED rho = - kdiv(kadd(eTttL,kmadd(eTxxL,kmul(beta1L,beta1L),kmadd(eTyyL,kmul(beta2L,beta2L),kmadd(eTzzL,kmul(beta3L,beta3L),kmadd(kmadd(beta2L,eTtyL,kmul(beta3L,eTtzL)),ToReal(-2.),kmul(kmadd(beta2L,kmul(beta3L,eTyzL),kmul(beta1L,kmadd(beta2L,eTxyL,kmadd(beta3L,eTxzL,kmul(eTtxL,ToReal(-1.)))))),ToReal(2.))))))),kmul(alphaL,alphaL)); + kdiv(kadd(eTttL,kmadd(eTxxL,kmul(beta1L,beta1L),kmadd(eTyyL,kmul(beta2L,beta2L),kmadd(eTzzL,kmul(beta3L,beta3L),kmadd(kmadd(beta2L,eTtyL,kmul(beta3L,eTtzL)),ToReal(-2),kmul(kmadd(beta2L,kmul(beta3L,eTyzL),kmul(beta1L,kmadd(beta2L,eTxyL,kmsub(beta3L,eTxzL,eTtxL)))),ToReal(2))))))),kmul(alphaL,alphaL)); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED S1 = - kdiv(kmadd(beta1L,eTxxL,kmadd(beta2L,eTxyL,kmadd(beta3L,eTxzL,kmul(eTtxL,ToReal(-1.))))),alphaL); + kdiv(kmadd(beta1L,eTxxL,kmadd(beta2L,eTxyL,kmsub(beta3L,eTxzL,eTtxL))),alphaL); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED S2 = - kdiv(kmadd(beta1L,eTxyL,kmadd(beta2L,eTyyL,kmadd(beta3L,eTyzL,kmul(eTtyL,ToReal(-1.))))),alphaL); + kdiv(kmadd(beta1L,eTxyL,kmadd(beta2L,eTyyL,kmsub(beta3L,eTyzL,eTtyL))),alphaL); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED S3 = - kdiv(kmadd(beta1L,eTxzL,kmadd(beta2L,eTyzL,kmadd(beta3L,eTzzL,kmul(eTtzL,ToReal(-1.))))),alphaL); + kdiv(kmadd(beta1L,eTxzL,kmadd(beta2L,eTyzL,kmsub(beta3L,eTzzL,eTtzL))),alphaL); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED trS = - kmul(em4phi,kmadd(eTxxL,gtu11,kmadd(eTyyL,gtu22,kmadd(eTzzL,gtu33,kmul(kmadd(eTxyL,gtu12,kmadd(eTxzL,gtu13,kmul(eTyzL,gtu23))),ToReal(2.)))))); + kmul(em4phi,kmadd(eTxxL,gtu11,kmadd(eTyyL,gtu22,kmadd(eTzzL,gtu33,kmul(kmadd(eTxyL,gtu12,kmadd(eTxzL,gtu13,kmul(eTyzL,gtu23))),ToReal(2)))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED phirhsL = - kmul(IfThen(conformalMethod == - 1.,kmul(phiL,ToReal(0.333333333333333333333333333333)),ToReal(-0.166666666666666666666666666667)),kmul(ToReal(-1.),kadd(JacPDstandardNth1beta1,kadd(JacPDstandardNth2beta2,kmadd(alphaL,kmul(trKL,ToReal(-1.)),JacPDstandardNth3beta3))))); + kneg(kmul(IfThen(conformalMethod == + 1,kmul(phiL,ToReal(0.333333333333333333333333333333)),ToReal(-0.166666666666666666666666666667)),kadd(JacPDstandardNth1beta1,kadd(JacPDstandardNth2beta2,knmsub(alphaL,trKL,JacPDstandardNth3beta3))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gt11rhsL = - kmadd(alphaL,kmul(At11L,ToReal(-2.)),kmadd(gt11L,kmul(kadd(JacPDstandardNth1beta1,kadd(JacPDstandardNth2beta2,JacPDstandardNth3beta3)),ToReal(-0.666666666666666666666666666667)),kmul(kmadd(gt11L,JacPDstandardNth1beta1,kmadd(gt12L,JacPDstandardNth1beta2,kmul(gt13L,JacPDstandardNth1beta3))),ToReal(2.)))); + kmadd(alphaL,kmul(At11L,ToReal(-2)),kmadd(gt11L,kmul(kadd(JacPDstandardNth1beta1,kadd(JacPDstandardNth2beta2,JacPDstandardNth3beta3)),ToReal(-0.666666666666666666666666666667)),kmul(kmadd(gt11L,JacPDstandardNth1beta1,kmadd(gt12L,JacPDstandardNth1beta2,kmul(gt13L,JacPDstandardNth1beta3))),ToReal(2)))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gt12rhsL = - kmadd(gt22L,JacPDstandardNth1beta2,kmadd(gt23L,JacPDstandardNth1beta3,kmadd(gt11L,JacPDstandardNth2beta1,kmadd(gt13L,JacPDstandardNth2beta3,kmadd(alphaL,kmul(At12L,ToReal(-2.)),kmul(gt12L,kadd(JacPDstandardNth1beta1,kmadd(kadd(JacPDstandardNth1beta1,kadd(JacPDstandardNth2beta2,JacPDstandardNth3beta3)),ToReal(-0.666666666666666666666666666667),JacPDstandardNth2beta2)))))))); + kmadd(gt22L,JacPDstandardNth1beta2,kmadd(gt23L,JacPDstandardNth1beta3,kmadd(gt11L,JacPDstandardNth2beta1,kmadd(gt13L,JacPDstandardNth2beta3,kmadd(alphaL,kmul(At12L,ToReal(-2)),kmul(gt12L,kadd(JacPDstandardNth1beta1,kmadd(kadd(JacPDstandardNth1beta1,kadd(JacPDstandardNth2beta2,JacPDstandardNth3beta3)),ToReal(-0.666666666666666666666666666667),JacPDstandardNth2beta2)))))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gt13rhsL = - kmadd(gt23L,JacPDstandardNth1beta2,kmadd(gt33L,JacPDstandardNth1beta3,kmadd(gt11L,JacPDstandardNth3beta1,kmadd(gt12L,JacPDstandardNth3beta2,kmadd(alphaL,kmul(At13L,ToReal(-2.)),kmul(gt13L,kadd(JacPDstandardNth1beta1,kmadd(kadd(JacPDstandardNth1beta1,kadd(JacPDstandardNth2beta2,JacPDstandardNth3beta3)),ToReal(-0.666666666666666666666666666667),JacPDstandardNth3beta3)))))))); + kmadd(gt23L,JacPDstandardNth1beta2,kmadd(gt33L,JacPDstandardNth1beta3,kmadd(gt11L,JacPDstandardNth3beta1,kmadd(gt12L,JacPDstandardNth3beta2,kmadd(alphaL,kmul(At13L,ToReal(-2)),kmul(gt13L,kadd(JacPDstandardNth1beta1,kmadd(kadd(JacPDstandardNth1beta1,kadd(JacPDstandardNth2beta2,JacPDstandardNth3beta3)),ToReal(-0.666666666666666666666666666667),JacPDstandardNth3beta3)))))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gt22rhsL = - kmadd(alphaL,kmul(At22L,ToReal(-2.)),kmadd(gt22L,kmul(kadd(JacPDstandardNth1beta1,kadd(JacPDstandardNth2beta2,JacPDstandardNth3beta3)),ToReal(-0.666666666666666666666666666667)),kmul(kmadd(gt12L,JacPDstandardNth2beta1,kmadd(gt22L,JacPDstandardNth2beta2,kmul(gt23L,JacPDstandardNth2beta3))),ToReal(2.)))); + kmadd(alphaL,kmul(At22L,ToReal(-2)),kmadd(gt22L,kmul(kadd(JacPDstandardNth1beta1,kadd(JacPDstandardNth2beta2,JacPDstandardNth3beta3)),ToReal(-0.666666666666666666666666666667)),kmul(kmadd(gt12L,JacPDstandardNth2beta1,kmadd(gt22L,JacPDstandardNth2beta2,kmul(gt23L,JacPDstandardNth2beta3))),ToReal(2)))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gt23rhsL = - kmadd(gt13L,JacPDstandardNth2beta1,kmadd(gt33L,JacPDstandardNth2beta3,kmadd(gt12L,JacPDstandardNth3beta1,kmadd(gt22L,JacPDstandardNth3beta2,kmadd(alphaL,kmul(At23L,ToReal(-2.)),kmul(gt23L,kadd(JacPDstandardNth2beta2,kmadd(kadd(JacPDstandardNth1beta1,kadd(JacPDstandardNth2beta2,JacPDstandardNth3beta3)),ToReal(-0.666666666666666666666666666667),JacPDstandardNth3beta3)))))))); + kmadd(gt13L,JacPDstandardNth2beta1,kmadd(gt33L,JacPDstandardNth2beta3,kmadd(gt12L,JacPDstandardNth3beta1,kmadd(gt22L,JacPDstandardNth3beta2,kmadd(alphaL,kmul(At23L,ToReal(-2)),kmul(gt23L,kadd(JacPDstandardNth2beta2,kmadd(kadd(JacPDstandardNth1beta1,kadd(JacPDstandardNth2beta2,JacPDstandardNth3beta3)),ToReal(-0.666666666666666666666666666667),JacPDstandardNth3beta3)))))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gt33rhsL = - kmadd(alphaL,kmul(At33L,ToReal(-2.)),kmadd(gt33L,kmul(kadd(JacPDstandardNth1beta1,kadd(JacPDstandardNth2beta2,JacPDstandardNth3beta3)),ToReal(-0.666666666666666666666666666667)),kmul(kmadd(gt13L,JacPDstandardNth3beta1,kmadd(gt23L,JacPDstandardNth3beta2,kmul(gt33L,JacPDstandardNth3beta3))),ToReal(2.)))); + kmadd(alphaL,kmul(At33L,ToReal(-2)),kmadd(gt33L,kmul(kadd(JacPDstandardNth1beta1,kadd(JacPDstandardNth2beta2,JacPDstandardNth3beta3)),ToReal(-0.666666666666666666666666666667)),kmul(kmadd(gt13L,JacPDstandardNth3beta1,kmadd(gt23L,JacPDstandardNth3beta2,kmul(gt33L,JacPDstandardNth3beta3))),ToReal(2)))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED dotXt1 = - kmadd(gtu11,JacPDstandardNth11beta1,kmadd(gtu12,kadd(JacPDstandardNth12beta1,JacPDstandardNth21beta1),kmadd(gtu22,JacPDstandardNth22beta1,kmadd(gtu13,kadd(JacPDstandardNth13beta1,JacPDstandardNth31beta1),kmadd(gtu23,kadd(JacPDstandardNth23beta1,JacPDstandardNth32beta1),kmadd(gtu33,JacPDstandardNth33beta1,kmadd(kmadd(Atu11,JacPDstandardNth1alpha,kmadd(Atu12,JacPDstandardNth2alpha,kmul(Atu13,JacPDstandardNth3alpha))),ToReal(-2.),kmadd(kmadd(JacPDstandardNth2beta1,Xtn2,kmul(JacPDstandardNth3beta1,Xtn3)),ToReal(-1.),kmadd(kmadd(gtu11,kadd(JacPDstandardNth11beta1,kadd(JacPDstandardNth12beta2,JacPDstandardNth13beta3)),kmadd(gtu12,kadd(JacPDstandardNth21beta1,kadd(JacPDstandardNth22beta2,JacPDstandardNth23beta3)),kmul(gtu13,kadd(JacPDstandardNth31beta1,kadd(JacPDstandardNth32beta2,JacPDstandardNth33beta3))))),ToReal(0.333333333333333333333333333333),kmadd(Xtn1,kmadd(JacPDstandardNth1beta1,ToReal(-1.),kmul(kadd(JacPDstandardNth1beta1,kadd(JacPDstandardNth2beta2,JacPDstandardNth3beta3)),ToReal(0.666666666666666666666666666667))),kmul(alphaL,kmadd(kmadd(gtu11,S1,kmadd(gtu12,S2,kmul(gtu13,S3))),ToReal(-50.26548245743669),kmul(ToReal(2.),kmadd(Atu11,Gt111,kmadd(Atu22,Gt122,kmadd(Atu33,Gt133,kmadd(kmadd(gtu11,JacPDstandardNth1trK,kmadd(gtu12,JacPDstandardNth2trK,kmul(gtu13,JacPDstandardNth3trK))),ToReal(-0.666666666666666666666666666667),kmadd(kmadd(Atu12,Gt112,kmadd(Atu13,Gt113,kmul(Atu23,Gt123))),ToReal(2.),kmul(kmadd(Atu11,cdphi1,kmadd(Atu12,cdphi2,kmul(Atu13,cdphi3))),ToReal(6.)))))))))))))))))))); + kmadd(gtu11,JacPDstandardNth11beta1,kmadd(gtu12,kadd(JacPDstandardNth12beta1,JacPDstandardNth21beta1),kmadd(gtu22,JacPDstandardNth22beta1,kmadd(gtu13,kadd(JacPDstandardNth13beta1,JacPDstandardNth31beta1),kmadd(gtu23,kadd(JacPDstandardNth23beta1,JacPDstandardNth32beta1),kmadd(gtu33,JacPDstandardNth33beta1,kmadd(kmadd(Atu11,JacPDstandardNth1alpha,kmadd(Atu12,JacPDstandardNth2alpha,kmul(Atu13,JacPDstandardNth3alpha))),ToReal(-2),knmsub(JacPDstandardNth2beta1,Xtn2,knmsub(JacPDstandardNth3beta1,Xtn3,kmadd(kmadd(gtu11,kadd(JacPDstandardNth11beta1,kadd(JacPDstandardNth12beta2,JacPDstandardNth13beta3)),kmadd(gtu12,kadd(JacPDstandardNth21beta1,kadd(JacPDstandardNth22beta2,JacPDstandardNth23beta3)),kmul(gtu13,kadd(JacPDstandardNth31beta1,kadd(JacPDstandardNth32beta2,JacPDstandardNth33beta3))))),ToReal(0.333333333333333333333333333333),kmadd(Xtn1,kmsub(kadd(JacPDstandardNth1beta1,kadd(JacPDstandardNth2beta2,JacPDstandardNth3beta3)),ToReal(0.666666666666666666666666666667),JacPDstandardNth1beta1),kmul(alphaL,kmadd(ToReal(2),kmadd(Atu11,Gt111,kmadd(Atu22,Gt122,kmadd(Atu33,Gt133,kmadd(kmadd(gtu11,JacPDstandardNth1trK,kmadd(gtu12,JacPDstandardNth2trK,kmul(gtu13,JacPDstandardNth3trK))),ToReal(-0.666666666666666666666666666667),kmadd(Atu12,kmul(Gt112,ToReal(2)),kmadd(Atu13,kmul(Gt113,ToReal(2)),kmadd(Atu23,kmul(Gt123,ToReal(2)),kmul(kmadd(Atu11,cdphi1,kmadd(Atu12,cdphi2,kmul(Atu13,cdphi3))),ToReal(6))))))))),kmul(kmadd(gtu11,S1,kmadd(gtu12,S2,kmul(gtu13,S3))),ToReal(-50.2654824574366918154022941325))))))))))))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED dotXt2 = - kmadd(gtu11,JacPDstandardNth11beta2,kmadd(gtu12,kadd(JacPDstandardNth12beta2,JacPDstandardNth21beta2),kmadd(gtu22,JacPDstandardNth22beta2,kmadd(gtu13,kadd(JacPDstandardNth13beta2,JacPDstandardNth31beta2),kmadd(gtu23,kadd(JacPDstandardNth23beta2,JacPDstandardNth32beta2),kmadd(gtu33,JacPDstandardNth33beta2,kmadd(kmadd(Atu12,JacPDstandardNth1alpha,kmadd(Atu22,JacPDstandardNth2alpha,kmul(Atu23,JacPDstandardNth3alpha))),ToReal(-2.),kmadd(kmadd(JacPDstandardNth1beta2,Xtn1,kmadd(JacPDstandardNth2beta2,Xtn2,kmul(JacPDstandardNth3beta2,Xtn3))),ToReal(-1.),kmadd(kmadd(gtu12,kadd(JacPDstandardNth11beta1,kadd(JacPDstandardNth12beta2,JacPDstandardNth13beta3)),kmadd(gtu22,kadd(JacPDstandardNth21beta1,kadd(JacPDstandardNth22beta2,JacPDstandardNth23beta3)),kmul(gtu23,kadd(JacPDstandardNth31beta1,kadd(JacPDstandardNth32beta2,JacPDstandardNth33beta3))))),ToReal(0.333333333333333333333333333333),kmadd(kadd(JacPDstandardNth1beta1,kadd(JacPDstandardNth2beta2,JacPDstandardNth3beta3)),kmul(Xtn2,ToReal(0.666666666666666666666666666667)),kmul(alphaL,kmadd(kmadd(gtu12,S1,kmadd(gtu22,S2,kmul(gtu23,S3))),ToReal(-50.26548245743669),kmul(ToReal(2.),kmadd(Atu11,Gt211,kmadd(Atu22,Gt222,kmadd(Atu33,Gt233,kmadd(kmadd(gtu12,JacPDstandardNth1trK,kmadd(gtu22,JacPDstandardNth2trK,kmul(gtu23,JacPDstandardNth3trK))),ToReal(-0.666666666666666666666666666667),kmadd(kmadd(Atu12,Gt212,kmadd(Atu13,Gt213,kmul(Atu23,Gt223))),ToReal(2.),kmul(kmadd(Atu12,cdphi1,kmadd(Atu22,cdphi2,kmul(Atu23,cdphi3))),ToReal(6.)))))))))))))))))))); + kmadd(gtu11,JacPDstandardNth11beta2,kmadd(gtu12,kadd(JacPDstandardNth12beta2,JacPDstandardNth21beta2),kmadd(gtu22,JacPDstandardNth22beta2,kmadd(gtu13,kadd(JacPDstandardNth13beta2,JacPDstandardNth31beta2),kmadd(gtu23,kadd(JacPDstandardNth23beta2,JacPDstandardNth32beta2),kmadd(gtu33,JacPDstandardNth33beta2,kmadd(kmadd(Atu12,JacPDstandardNth1alpha,kmadd(Atu22,JacPDstandardNth2alpha,kmul(Atu23,JacPDstandardNth3alpha))),ToReal(-2),knmsub(JacPDstandardNth1beta2,Xtn1,knmsub(JacPDstandardNth3beta2,Xtn3,kmadd(kmadd(gtu12,kadd(JacPDstandardNth11beta1,kadd(JacPDstandardNth12beta2,JacPDstandardNth13beta3)),kmadd(gtu22,kadd(JacPDstandardNth21beta1,kadd(JacPDstandardNth22beta2,JacPDstandardNth23beta3)),kmul(gtu23,kadd(JacPDstandardNth31beta1,kadd(JacPDstandardNth32beta2,JacPDstandardNth33beta3))))),ToReal(0.333333333333333333333333333333),kmadd(Xtn2,kmsub(kadd(JacPDstandardNth1beta1,kadd(JacPDstandardNth2beta2,JacPDstandardNth3beta3)),ToReal(0.666666666666666666666666666667),JacPDstandardNth2beta2),kmul(alphaL,kmadd(ToReal(2),kmadd(Atu11,Gt211,kmadd(Atu22,Gt222,kmadd(Atu33,Gt233,kmadd(kmadd(gtu12,JacPDstandardNth1trK,kmadd(gtu22,JacPDstandardNth2trK,kmul(gtu23,JacPDstandardNth3trK))),ToReal(-0.666666666666666666666666666667),kmadd(Atu12,kmul(Gt212,ToReal(2)),kmadd(Atu13,kmul(Gt213,ToReal(2)),kmadd(Atu23,kmul(Gt223,ToReal(2)),kmul(kmadd(Atu12,cdphi1,kmadd(Atu22,cdphi2,kmul(Atu23,cdphi3))),ToReal(6))))))))),kmul(kmadd(gtu12,S1,kmadd(gtu22,S2,kmul(gtu23,S3))),ToReal(-50.2654824574366918154022941325))))))))))))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED dotXt3 = - kmadd(gtu11,JacPDstandardNth11beta3,kmadd(gtu12,kadd(JacPDstandardNth12beta3,JacPDstandardNth21beta3),kmadd(gtu22,JacPDstandardNth22beta3,kmadd(gtu13,kadd(JacPDstandardNth13beta3,JacPDstandardNth31beta3),kmadd(gtu23,kadd(JacPDstandardNth23beta3,JacPDstandardNth32beta3),kmadd(gtu33,JacPDstandardNth33beta3,kmadd(kmadd(Atu13,JacPDstandardNth1alpha,kmadd(Atu23,JacPDstandardNth2alpha,kmul(Atu33,JacPDstandardNth3alpha))),ToReal(-2.),kmadd(kmadd(JacPDstandardNth1beta3,Xtn1,kmadd(JacPDstandardNth2beta3,Xtn2,kmul(JacPDstandardNth3beta3,Xtn3))),ToReal(-1.),kmadd(kmadd(gtu13,kadd(JacPDstandardNth11beta1,kadd(JacPDstandardNth12beta2,JacPDstandardNth13beta3)),kmadd(gtu23,kadd(JacPDstandardNth21beta1,kadd(JacPDstandardNth22beta2,JacPDstandardNth23beta3)),kmul(gtu33,kadd(JacPDstandardNth31beta1,kadd(JacPDstandardNth32beta2,JacPDstandardNth33beta3))))),ToReal(0.333333333333333333333333333333),kmadd(kadd(JacPDstandardNth1beta1,kadd(JacPDstandardNth2beta2,JacPDstandardNth3beta3)),kmul(Xtn3,ToReal(0.666666666666666666666666666667)),kmul(alphaL,kmadd(kmadd(gtu13,S1,kmadd(gtu23,S2,kmul(gtu33,S3))),ToReal(-50.26548245743669),kmul(ToReal(2.),kmadd(Atu11,Gt311,kmadd(Atu22,Gt322,kmadd(Atu33,Gt333,kmadd(kmadd(gtu13,JacPDstandardNth1trK,kmadd(gtu23,JacPDstandardNth2trK,kmul(gtu33,JacPDstandardNth3trK))),ToReal(-0.666666666666666666666666666667),kmadd(kmadd(Atu12,Gt312,kmadd(Atu13,Gt313,kmul(Atu23,Gt323))),ToReal(2.),kmul(kmadd(Atu13,cdphi1,kmadd(Atu23,cdphi2,kmul(Atu33,cdphi3))),ToReal(6.)))))))))))))))))))); + kmadd(gtu11,JacPDstandardNth11beta3,kmadd(gtu12,kadd(JacPDstandardNth12beta3,JacPDstandardNth21beta3),kmadd(gtu22,JacPDstandardNth22beta3,kmadd(gtu13,kadd(JacPDstandardNth13beta3,JacPDstandardNth31beta3),kmadd(gtu23,kadd(JacPDstandardNth23beta3,JacPDstandardNth32beta3),kmadd(gtu33,JacPDstandardNth33beta3,kmadd(kmadd(Atu13,JacPDstandardNth1alpha,kmadd(Atu23,JacPDstandardNth2alpha,kmul(Atu33,JacPDstandardNth3alpha))),ToReal(-2),knmsub(JacPDstandardNth1beta3,Xtn1,knmsub(JacPDstandardNth2beta3,Xtn2,kmadd(kmadd(gtu13,kadd(JacPDstandardNth11beta1,kadd(JacPDstandardNth12beta2,JacPDstandardNth13beta3)),kmadd(gtu23,kadd(JacPDstandardNth21beta1,kadd(JacPDstandardNth22beta2,JacPDstandardNth23beta3)),kmul(gtu33,kadd(JacPDstandardNth31beta1,kadd(JacPDstandardNth32beta2,JacPDstandardNth33beta3))))),ToReal(0.333333333333333333333333333333),kmadd(Xtn3,kmsub(kadd(JacPDstandardNth1beta1,kadd(JacPDstandardNth2beta2,JacPDstandardNth3beta3)),ToReal(0.666666666666666666666666666667),JacPDstandardNth3beta3),kmul(alphaL,kmadd(ToReal(2),kmadd(Atu11,Gt311,kmadd(Atu22,Gt322,kmadd(Atu33,Gt333,kmadd(kmadd(gtu13,JacPDstandardNth1trK,kmadd(gtu23,JacPDstandardNth2trK,kmul(gtu33,JacPDstandardNth3trK))),ToReal(-0.666666666666666666666666666667),kmadd(Atu12,kmul(Gt312,ToReal(2)),kmadd(Atu13,kmul(Gt313,ToReal(2)),kmadd(Atu23,kmul(Gt323,ToReal(2)),kmul(kmadd(Atu13,cdphi1,kmadd(Atu23,cdphi2,kmul(Atu33,cdphi3))),ToReal(6))))))))),kmul(kmadd(gtu13,S1,kmadd(gtu23,S2,kmul(gtu33,S3))),ToReal(-50.2654824574366918154022941325))))))))))))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Xt1rhsL = dotXt1; @@ -1341,91 +1382,91 @@ static void ML_BSSN_RHS1_Body(cGH const * restrict const cctkGH, int const dir, CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Xt3rhsL = dotXt3; CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED dottrK = - kmadd(em4phi,kmul(ToReal(-1.),kmadd(kmadd(JacPDstandardNth1alpha,Xtn1,kmadd(JacPDstandardNth2alpha,Xtn2,kmul(JacPDstandardNth3alpha,Xtn3))),ToReal(-1.),kmadd(gtu11,kmadd(cdphi1,kmul(JacPDstandardNth1alpha,ToReal(2.)),JacPDstandardNth11alpha),kmadd(gtu22,kmadd(cdphi2,kmul(JacPDstandardNth2alpha,ToReal(2.)),JacPDstandardNth22alpha),kmadd(gtu12,kadd(JacPDstandardNth12alpha,kmadd(kmadd(cdphi2,JacPDstandardNth1alpha,kmul(cdphi1,JacPDstandardNth2alpha)),ToReal(2.),JacPDstandardNth21alpha)),kmadd(gtu33,kmadd(cdphi3,kmul(JacPDstandardNth3alpha,ToReal(2.)),JacPDstandardNth33alpha),kmadd(gtu13,kadd(JacPDstandardNth13alpha,kmadd(kmadd(cdphi3,JacPDstandardNth1alpha,kmul(cdphi1,JacPDstandardNth3alpha)),ToReal(2.),JacPDstandardNth31alpha)),kmul(gtu23,kadd(JacPDstandardNth23alpha,kmadd(kmadd(cdphi3,JacPDstandardNth2alpha,kmul(cdphi2,JacPDstandardNth3alpha)),ToReal(2.),JacPDstandardNth32alpha)))))))))),kmul(alphaL,kmadd(Atm11,Atm11,kmadd(Atm22,Atm22,kmadd(Atm33,Atm33,kmadd(kmul(trKL,trKL),ToReal(0.333333333333333333333333333333),kmadd(kmadd(Atm12,Atm21,kmadd(Atm13,Atm31,kmul(Atm23,Atm32))),ToReal(2.),kmul(kadd(rho,trS),ToReal(12.566370614359172))))))))); + kmsub(alphaL,kmadd(Atm11,Atm11,kmadd(Atm22,Atm22,kmadd(Atm33,Atm33,kmadd(kmul(trKL,trKL),ToReal(0.333333333333333333333333333333),kmadd(kmadd(Atm12,Atm21,kmadd(Atm13,Atm31,kmul(Atm23,Atm32))),ToReal(2),kmul(kadd(rho,trS),ToReal(12.5663706143591729538505735331))))))),kmul(em4phi,knmsub(JacPDstandardNth1alpha,Xtn1,knmsub(JacPDstandardNth2alpha,Xtn2,knmsub(JacPDstandardNth3alpha,Xtn3,kmadd(gtu11,kmadd(cdphi1,kmul(JacPDstandardNth1alpha,ToReal(2)),JacPDstandardNth11alpha),kmadd(gtu12,kadd(JacPDstandardNth12alpha,kadd(JacPDstandardNth21alpha,kmadd(cdphi2,kmul(JacPDstandardNth1alpha,ToReal(2)),kmul(cdphi1,kmul(JacPDstandardNth2alpha,ToReal(2)))))),kmadd(gtu22,kmadd(cdphi2,kmul(JacPDstandardNth2alpha,ToReal(2)),JacPDstandardNth22alpha),kmadd(gtu13,kadd(JacPDstandardNth13alpha,kadd(JacPDstandardNth31alpha,kmadd(cdphi3,kmul(JacPDstandardNth1alpha,ToReal(2)),kmul(cdphi1,kmul(JacPDstandardNth3alpha,ToReal(2)))))),kmadd(gtu23,kadd(JacPDstandardNth23alpha,kadd(JacPDstandardNth32alpha,kmadd(cdphi3,kmul(JacPDstandardNth2alpha,ToReal(2)),kmul(cdphi2,kmul(JacPDstandardNth3alpha,ToReal(2)))))),kmul(gtu33,kmadd(cdphi3,kmul(JacPDstandardNth3alpha,ToReal(2)),JacPDstandardNth33alpha)))))))))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED trKrhsL = dottrK; CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED alpharhsL = - kmul(kpow(alphaL,harmonicN),kmul(ToReal(-1.),kmul(ToReal(harmonicF),kmadd(AL,ToReal(LapseACoeff),kmul(kmadd(kadd(alphaL,ToReal(-1.)),ToReal(AlphaDriver),trKL),ToReal(1. - - 1.*LapseACoeff)))))); + kneg(kmul(kpow(alphaL,harmonicN),kmul(ToReal(harmonicF),kmadd(AL,ToReal(LapseACoeff),kmul(kmadd(kadd(alphaL,ToReal(-1)),ToReal(AlphaDriver),trKL),ToReal(1 + - LapseACoeff)))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED ArhsL = - kmul(kmadd(AL,ToReal(-1.*AlphaDriver),dottrK),ToReal(LapseACoeff)); + kmul(knmsub(AL,ToReal(AlphaDriver),dottrK),ToReal(LapseACoeff)); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED eta = kdiv(ToReal(SpatialBetaDriverRadius),kfmax(rL,ToReal(SpatialBetaDriverRadius))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED theta = - kfmin(ToReal(1.),kexp(kmadd(kmul(rL,ToReal(-1.)),ToReal(ScalarINV(SpatialShiftGammaCoeffRadius)),ToReal(1.)))); + kfmin(ToReal(1),kexp(knmsub(rL,ToReal(ScalarINV(SpatialShiftGammaCoeffRadius)),ToReal(1)))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Ddetgt1 = - kmadd(gtu11,JacPDstandardNth1gt11,kmadd(gtu22,JacPDstandardNth1gt22,kmadd(gtu33,JacPDstandardNth1gt33,kmul(kmadd(gtu12,JacPDstandardNth1gt12,kmadd(gtu13,JacPDstandardNth1gt13,kmul(gtu23,JacPDstandardNth1gt23))),ToReal(2.))))); + kmadd(gtu11,JacPDstandardNth1gt11,kmadd(gtu22,JacPDstandardNth1gt22,kmadd(gtu33,JacPDstandardNth1gt33,kmul(kmadd(gtu12,JacPDstandardNth1gt12,kmadd(gtu13,JacPDstandardNth1gt13,kmul(gtu23,JacPDstandardNth1gt23))),ToReal(2))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Ddetgt2 = - kmadd(gtu11,JacPDstandardNth2gt11,kmadd(gtu22,JacPDstandardNth2gt22,kmadd(gtu33,JacPDstandardNth2gt33,kmul(kmadd(gtu12,JacPDstandardNth2gt12,kmadd(gtu13,JacPDstandardNth2gt13,kmul(gtu23,JacPDstandardNth2gt23))),ToReal(2.))))); + kmadd(gtu11,JacPDstandardNth2gt11,kmadd(gtu22,JacPDstandardNth2gt22,kmadd(gtu33,JacPDstandardNth2gt33,kmul(kmadd(gtu12,JacPDstandardNth2gt12,kmadd(gtu13,JacPDstandardNth2gt13,kmul(gtu23,JacPDstandardNth2gt23))),ToReal(2))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Ddetgt3 = - kmadd(gtu11,JacPDstandardNth3gt11,kmadd(gtu22,JacPDstandardNth3gt22,kmadd(gtu33,JacPDstandardNth3gt33,kmul(kmadd(gtu12,JacPDstandardNth3gt12,kmadd(gtu13,JacPDstandardNth3gt13,kmul(gtu23,JacPDstandardNth3gt23))),ToReal(2.))))); + kmadd(gtu11,JacPDstandardNth3gt11,kmadd(gtu22,JacPDstandardNth3gt22,kmadd(gtu33,JacPDstandardNth3gt33,kmul(kmadd(gtu12,JacPDstandardNth3gt12,kmadd(gtu13,JacPDstandardNth3gt13,kmul(gtu23,JacPDstandardNth3gt23))),ToReal(2))))); - CCTK_REAL_VEC beta1rhsL CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC beta2rhsL CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC beta3rhsL CCTK_ATTRIBUTE_UNUSED ; + CCTK_REAL_VEC beta1rhsL CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC beta2rhsL CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC beta3rhsL CCTK_ATTRIBUTE_UNUSED; if (harmonicShift) { beta1rhsL = kmul(alphaL,kmul(em4phi,kmul(ToReal(-0.5),kmadd(gtu11,kmadd(alphaL,kmadd(kmadd(gtu11,JacPDstandardNth1gt11,kmadd(gtu12,kadd(JacPDstandardNth1gt12,JacPDstandardNth2gt11),kmadd(gtu22,JacPDstandardNth2gt12,kmadd(gtu13,kadd(JacPDstandardNth1gt13,JacPDstandardNth3gt11),kmadd(gtu23,kadd(JacPDstandardNth2gt13,JacPDstandardNth3gt12),kmadd(gtu33,JacPDstandardNth3gt13,kmul(JacPDstandardNth1phi,IfThen(conformalMethod == - 1.,kdiv(ToReal(1),phiL),ToReal(-2.))))))))),ToReal(-2.),Ddetgt1),kmul(JacPDstandardNth1alpha,ToReal(2.))),kmadd(gtu12,kmadd(alphaL,kmadd(kmadd(gtu11,JacPDstandardNth1gt12,kmadd(gtu12,kadd(JacPDstandardNth1gt22,JacPDstandardNth2gt12),kmadd(gtu22,JacPDstandardNth2gt22,kmadd(gtu13,kadd(JacPDstandardNth1gt23,JacPDstandardNth3gt12),kmadd(gtu23,kadd(JacPDstandardNth2gt23,JacPDstandardNth3gt22),kmadd(gtu33,JacPDstandardNth3gt23,kmul(JacPDstandardNth2phi,IfThen(conformalMethod + 1,kdiv(ToReal(1),phiL),ToReal(-2))))))))),ToReal(-2),Ddetgt1),kmul(JacPDstandardNth1alpha,ToReal(2))),kmadd(gtu12,kmadd(alphaL,kmadd(kmadd(gtu11,JacPDstandardNth1gt12,kmadd(gtu12,kadd(JacPDstandardNth1gt22,JacPDstandardNth2gt12),kmadd(gtu22,JacPDstandardNth2gt22,kmadd(gtu13,kadd(JacPDstandardNth1gt23,JacPDstandardNth3gt12),kmadd(gtu23,kadd(JacPDstandardNth2gt23,JacPDstandardNth3gt22),kmadd(gtu33,JacPDstandardNth3gt23,kmul(JacPDstandardNth2phi,IfThen(conformalMethod == - 1.,kdiv(ToReal(1),phiL),ToReal(-2.))))))))),ToReal(-2.),Ddetgt2),kmul(JacPDstandardNth2alpha,ToReal(2.))),kmul(gtu13,kmadd(alphaL,kmadd(kmadd(gtu11,JacPDstandardNth1gt13,kmadd(gtu12,kadd(JacPDstandardNth1gt23,JacPDstandardNth2gt13),kmadd(gtu22,JacPDstandardNth2gt23,kmadd(gtu13,kadd(JacPDstandardNth1gt33,JacPDstandardNth3gt13),kmadd(gtu23,kadd(JacPDstandardNth2gt33,JacPDstandardNth3gt23),kmadd(gtu33,JacPDstandardNth3gt33,kmul(JacPDstandardNth3phi,IfThen(conformalMethod + 1,kdiv(ToReal(1),phiL),ToReal(-2))))))))),ToReal(-2),Ddetgt2),kmul(JacPDstandardNth2alpha,ToReal(2))),kmul(gtu13,kmadd(alphaL,kmadd(kmadd(gtu11,JacPDstandardNth1gt13,kmadd(gtu12,kadd(JacPDstandardNth1gt23,JacPDstandardNth2gt13),kmadd(gtu22,JacPDstandardNth2gt23,kmadd(gtu13,kadd(JacPDstandardNth1gt33,JacPDstandardNth3gt13),kmadd(gtu23,kadd(JacPDstandardNth2gt33,JacPDstandardNth3gt23),kmadd(gtu33,JacPDstandardNth3gt33,kmul(JacPDstandardNth3phi,IfThen(conformalMethod == - 1.,kdiv(ToReal(1),phiL),ToReal(-2.))))))))),ToReal(-2.),Ddetgt3),kmul(JacPDstandardNth3alpha,ToReal(2.))))))))); + 1,kdiv(ToReal(1),phiL),ToReal(-2))))))))),ToReal(-2),Ddetgt3),kmul(JacPDstandardNth3alpha,ToReal(2))))))))); beta2rhsL = kmul(alphaL,kmul(em4phi,kmul(ToReal(-0.5),kmadd(gtu12,kmadd(alphaL,kmadd(kmadd(gtu11,JacPDstandardNth1gt11,kmadd(gtu12,kadd(JacPDstandardNth1gt12,JacPDstandardNth2gt11),kmadd(gtu22,JacPDstandardNth2gt12,kmadd(gtu13,kadd(JacPDstandardNth1gt13,JacPDstandardNth3gt11),kmadd(gtu23,kadd(JacPDstandardNth2gt13,JacPDstandardNth3gt12),kmadd(gtu33,JacPDstandardNth3gt13,kmul(JacPDstandardNth1phi,IfThen(conformalMethod == - 1.,kdiv(ToReal(1),phiL),ToReal(-2.))))))))),ToReal(-2.),Ddetgt1),kmul(JacPDstandardNth1alpha,ToReal(2.))),kmadd(gtu22,kmadd(alphaL,kmadd(kmadd(gtu11,JacPDstandardNth1gt12,kmadd(gtu12,kadd(JacPDstandardNth1gt22,JacPDstandardNth2gt12),kmadd(gtu22,JacPDstandardNth2gt22,kmadd(gtu13,kadd(JacPDstandardNth1gt23,JacPDstandardNth3gt12),kmadd(gtu23,kadd(JacPDstandardNth2gt23,JacPDstandardNth3gt22),kmadd(gtu33,JacPDstandardNth3gt23,kmul(JacPDstandardNth2phi,IfThen(conformalMethod + 1,kdiv(ToReal(1),phiL),ToReal(-2))))))))),ToReal(-2),Ddetgt1),kmul(JacPDstandardNth1alpha,ToReal(2))),kmadd(gtu22,kmadd(alphaL,kmadd(kmadd(gtu11,JacPDstandardNth1gt12,kmadd(gtu12,kadd(JacPDstandardNth1gt22,JacPDstandardNth2gt12),kmadd(gtu22,JacPDstandardNth2gt22,kmadd(gtu13,kadd(JacPDstandardNth1gt23,JacPDstandardNth3gt12),kmadd(gtu23,kadd(JacPDstandardNth2gt23,JacPDstandardNth3gt22),kmadd(gtu33,JacPDstandardNth3gt23,kmul(JacPDstandardNth2phi,IfThen(conformalMethod == - 1.,kdiv(ToReal(1),phiL),ToReal(-2.))))))))),ToReal(-2.),Ddetgt2),kmul(JacPDstandardNth2alpha,ToReal(2.))),kmul(gtu23,kmadd(alphaL,kmadd(kmadd(gtu11,JacPDstandardNth1gt13,kmadd(gtu12,kadd(JacPDstandardNth1gt23,JacPDstandardNth2gt13),kmadd(gtu22,JacPDstandardNth2gt23,kmadd(gtu13,kadd(JacPDstandardNth1gt33,JacPDstandardNth3gt13),kmadd(gtu23,kadd(JacPDstandardNth2gt33,JacPDstandardNth3gt23),kmadd(gtu33,JacPDstandardNth3gt33,kmul(JacPDstandardNth3phi,IfThen(conformalMethod + 1,kdiv(ToReal(1),phiL),ToReal(-2))))))))),ToReal(-2),Ddetgt2),kmul(JacPDstandardNth2alpha,ToReal(2))),kmul(gtu23,kmadd(alphaL,kmadd(kmadd(gtu11,JacPDstandardNth1gt13,kmadd(gtu12,kadd(JacPDstandardNth1gt23,JacPDstandardNth2gt13),kmadd(gtu22,JacPDstandardNth2gt23,kmadd(gtu13,kadd(JacPDstandardNth1gt33,JacPDstandardNth3gt13),kmadd(gtu23,kadd(JacPDstandardNth2gt33,JacPDstandardNth3gt23),kmadd(gtu33,JacPDstandardNth3gt33,kmul(JacPDstandardNth3phi,IfThen(conformalMethod == - 1.,kdiv(ToReal(1),phiL),ToReal(-2.))))))))),ToReal(-2.),Ddetgt3),kmul(JacPDstandardNth3alpha,ToReal(2.))))))))); + 1,kdiv(ToReal(1),phiL),ToReal(-2))))))))),ToReal(-2),Ddetgt3),kmul(JacPDstandardNth3alpha,ToReal(2))))))))); beta3rhsL = kmul(alphaL,kmul(em4phi,kmul(ToReal(-0.5),kmadd(gtu13,kmadd(alphaL,kmadd(kmadd(gtu11,JacPDstandardNth1gt11,kmadd(gtu12,kadd(JacPDstandardNth1gt12,JacPDstandardNth2gt11),kmadd(gtu22,JacPDstandardNth2gt12,kmadd(gtu13,kadd(JacPDstandardNth1gt13,JacPDstandardNth3gt11),kmadd(gtu23,kadd(JacPDstandardNth2gt13,JacPDstandardNth3gt12),kmadd(gtu33,JacPDstandardNth3gt13,kmul(JacPDstandardNth1phi,IfThen(conformalMethod == - 1.,kdiv(ToReal(1),phiL),ToReal(-2.))))))))),ToReal(-2.),Ddetgt1),kmul(JacPDstandardNth1alpha,ToReal(2.))),kmadd(gtu23,kmadd(alphaL,kmadd(kmadd(gtu11,JacPDstandardNth1gt12,kmadd(gtu12,kadd(JacPDstandardNth1gt22,JacPDstandardNth2gt12),kmadd(gtu22,JacPDstandardNth2gt22,kmadd(gtu13,kadd(JacPDstandardNth1gt23,JacPDstandardNth3gt12),kmadd(gtu23,kadd(JacPDstandardNth2gt23,JacPDstandardNth3gt22),kmadd(gtu33,JacPDstandardNth3gt23,kmul(JacPDstandardNth2phi,IfThen(conformalMethod + 1,kdiv(ToReal(1),phiL),ToReal(-2))))))))),ToReal(-2),Ddetgt1),kmul(JacPDstandardNth1alpha,ToReal(2))),kmadd(gtu23,kmadd(alphaL,kmadd(kmadd(gtu11,JacPDstandardNth1gt12,kmadd(gtu12,kadd(JacPDstandardNth1gt22,JacPDstandardNth2gt12),kmadd(gtu22,JacPDstandardNth2gt22,kmadd(gtu13,kadd(JacPDstandardNth1gt23,JacPDstandardNth3gt12),kmadd(gtu23,kadd(JacPDstandardNth2gt23,JacPDstandardNth3gt22),kmadd(gtu33,JacPDstandardNth3gt23,kmul(JacPDstandardNth2phi,IfThen(conformalMethod == - 1.,kdiv(ToReal(1),phiL),ToReal(-2.))))))))),ToReal(-2.),Ddetgt2),kmul(JacPDstandardNth2alpha,ToReal(2.))),kmul(gtu33,kmadd(alphaL,kmadd(kmadd(gtu11,JacPDstandardNth1gt13,kmadd(gtu12,kadd(JacPDstandardNth1gt23,JacPDstandardNth2gt13),kmadd(gtu22,JacPDstandardNth2gt23,kmadd(gtu13,kadd(JacPDstandardNth1gt33,JacPDstandardNth3gt13),kmadd(gtu23,kadd(JacPDstandardNth2gt33,JacPDstandardNth3gt23),kmadd(gtu33,JacPDstandardNth3gt33,kmul(JacPDstandardNth3phi,IfThen(conformalMethod + 1,kdiv(ToReal(1),phiL),ToReal(-2))))))))),ToReal(-2),Ddetgt2),kmul(JacPDstandardNth2alpha,ToReal(2))),kmul(gtu33,kmadd(alphaL,kmadd(kmadd(gtu11,JacPDstandardNth1gt13,kmadd(gtu12,kadd(JacPDstandardNth1gt23,JacPDstandardNth2gt13),kmadd(gtu22,JacPDstandardNth2gt23,kmadd(gtu13,kadd(JacPDstandardNth1gt33,JacPDstandardNth3gt13),kmadd(gtu23,kadd(JacPDstandardNth2gt33,JacPDstandardNth3gt23),kmadd(gtu33,JacPDstandardNth3gt33,kmul(JacPDstandardNth3phi,IfThen(conformalMethod == - 1.,kdiv(ToReal(1),phiL),ToReal(-2.))))))))),ToReal(-2.),Ddetgt3),kmul(JacPDstandardNth3alpha,ToReal(2.))))))))); + 1,kdiv(ToReal(1),phiL),ToReal(-2))))))))),ToReal(-2),Ddetgt3),kmul(JacPDstandardNth3alpha,ToReal(2))))))))); } else { beta1rhsL = - kmul(theta,kmul(kadd(Xt1L,kmadd(kmadd(Xt1L,ToReal(-1.),B1L),ToReal(ShiftBCoeff),kmul(beta1L,kmul(eta,ToReal(BetaDriver*(-1. + kmul(theta,kmul(kadd(Xt1L,kmadd(ksub(B1L,Xt1L),ToReal(ShiftBCoeff),kmul(beta1L,kmul(eta,ToReal(BetaDriver*(-1 + ShiftBCoeff)))))),ToReal(ShiftGammaCoeff))); beta2rhsL = - kmul(theta,kmul(kadd(Xt2L,kmadd(kmadd(Xt2L,ToReal(-1.),B2L),ToReal(ShiftBCoeff),kmul(beta2L,kmul(eta,ToReal(BetaDriver*(-1. + kmul(theta,kmul(kadd(Xt2L,kmadd(ksub(B2L,Xt2L),ToReal(ShiftBCoeff),kmul(beta2L,kmul(eta,ToReal(BetaDriver*(-1 + ShiftBCoeff)))))),ToReal(ShiftGammaCoeff))); beta3rhsL = - kmul(theta,kmul(kadd(Xt3L,kmadd(kmadd(Xt3L,ToReal(-1.),B3L),ToReal(ShiftBCoeff),kmul(beta3L,kmul(eta,ToReal(BetaDriver*(-1. + kmul(theta,kmul(kadd(Xt3L,kmadd(ksub(B3L,Xt3L),ToReal(ShiftBCoeff),kmul(beta3L,kmul(eta,ToReal(BetaDriver*(-1 + ShiftBCoeff)))))),ToReal(ShiftGammaCoeff))); } CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED B1rhsL = - kmul(kmadd(B1L,kmul(eta,ToReal(-1.*BetaDriver)),dotXt1),ToReal(ShiftBCoeff)); + kmul(knmsub(B1L,kmul(eta,ToReal(BetaDriver)),dotXt1),ToReal(ShiftBCoeff)); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED B2rhsL = - kmul(kmadd(B2L,kmul(eta,ToReal(-1.*BetaDriver)),dotXt2),ToReal(ShiftBCoeff)); + kmul(knmsub(B2L,kmul(eta,ToReal(BetaDriver)),dotXt2),ToReal(ShiftBCoeff)); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED B3rhsL = - kmul(kmadd(B3L,kmul(eta,ToReal(-1.*BetaDriver)),dotXt3),ToReal(ShiftBCoeff)); + kmul(knmsub(B3L,kmul(eta,ToReal(BetaDriver)),dotXt3),ToReal(ShiftBCoeff)); /* 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(Arhs[index],ArhsL); vec_store_nta_partial(B1rhs[index],B1rhsL); @@ -1465,7 +1506,7 @@ extern "C" void ML_BSSN_RHS1(CCTK_ARGUMENTS) return; } - const char *const groups[] = { + const char* const groups[] = { "grid::coordinates", "ML_BSSN::ML_curv", "ML_BSSN::ML_dtlapse", @@ -1486,23 +1527,33 @@ extern "C" void ML_BSSN_RHS1(CCTK_ARGUMENTS) "ML_BSSN::ML_trace_curvrhs"}; GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_RHS1", 18, groups); - switch(fdOrder) + switch (fdOrder) { case 2: + { GenericFD_EnsureStencilFits(cctkGH, "ML_BSSN_RHS1", 1, 1, 1); break; + } case 4: + { GenericFD_EnsureStencilFits(cctkGH, "ML_BSSN_RHS1", 2, 2, 2); break; + } case 6: + { GenericFD_EnsureStencilFits(cctkGH, "ML_BSSN_RHS1", 3, 3, 3); break; + } case 8: + { GenericFD_EnsureStencilFits(cctkGH, "ML_BSSN_RHS1", 4, 4, 4); break; + } + default: + CCTK_BUILTIN_UNREACHABLE(); } GenericFD_LoopOverInterior(cctkGH, ML_BSSN_RHS1_Body); diff --git a/ML_BSSN/src/ML_BSSN_RHS2.cc b/ML_BSSN/src/ML_BSSN_RHS2.cc index 7dab6b4..f3b970e 100644 --- a/ML_BSSN/src/ML_BSSN_RHS2.cc +++ b/ML_BSSN/src/ML_BSSN_RHS2.cc @@ -32,14 +32,16 @@ extern "C" void ML_BSSN_RHS2_SelectBCs(CCTK_ARGUMENTS) DECLARE_CCTK_ARGUMENTS; DECLARE_CCTK_PARAMETERS; - CCTK_INT ierr CCTK_ATTRIBUTE_UNUSED = 0; + if (cctk_iteration % ML_BSSN_RHS2_calc_every != ML_BSSN_RHS2_calc_offset) + return; + CCTK_INT ierr CCTK_ATTRIBUTE_UNUSED = 0; ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_BSSN::ML_curvrhs","flat"); if (ierr < 0) CCTK_WARN(1, "Failed to register flat BC for ML_BSSN::ML_curvrhs."); return; } -static void ML_BSSN_RHS2_Body(cGH const * restrict const cctkGH, int const dir, int const face, CCTK_REAL const normal[3], CCTK_REAL const tangentA[3], CCTK_REAL const tangentB[3], int const imin[3], int const imax[3], int const n_subblock_gfs, CCTK_REAL * restrict const subblock_gfs[]) +static void ML_BSSN_RHS2_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; @@ -48,153 +50,175 @@ static void ML_BSSN_RHS2_Body(cGH const * restrict const cctkGH, int const dir, /* Include user-supplied include files */ /* Initialise finite differencing variables */ - ptrdiff_t /*const*/ di CCTK_ATTRIBUTE_UNUSED = 1; - ptrdiff_t /*const*/ dj CCTK_ATTRIBUTE_UNUSED = CCTK_GFINDEX3D(cctkGH,0,1,0) - CCTK_GFINDEX3D(cctkGH,0,0,0); - ptrdiff_t /*const*/ dk CCTK_ATTRIBUTE_UNUSED = CCTK_GFINDEX3D(cctkGH,0,0,1) - CCTK_GFINDEX3D(cctkGH,0,0,0); - ptrdiff_t /*const*/ cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * di; - ptrdiff_t /*const*/ cdj CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * dj; - ptrdiff_t /*const*/ cdk CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * dk; - CCTK_REAL_VEC /*const*/ dx CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(0)); - CCTK_REAL_VEC /*const*/ dy CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(1)); - CCTK_REAL_VEC /*const*/ dz CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(2)); - CCTK_REAL_VEC /*const*/ dt CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_TIME); - CCTK_REAL_VEC /*const*/ t CCTK_ATTRIBUTE_UNUSED = ToReal(cctk_time); - CCTK_REAL_VEC /*const*/ dxi CCTK_ATTRIBUTE_UNUSED = INV(dx); - CCTK_REAL_VEC /*const*/ dyi CCTK_ATTRIBUTE_UNUSED = INV(dy); - CCTK_REAL_VEC /*const*/ dzi CCTK_ATTRIBUTE_UNUSED = INV(dz); - CCTK_REAL_VEC /*const*/ khalf CCTK_ATTRIBUTE_UNUSED = ToReal(0.5); - CCTK_REAL_VEC /*const*/ kthird CCTK_ATTRIBUTE_UNUSED = ToReal(1.0/3.0); - CCTK_REAL_VEC /*const*/ ktwothird CCTK_ATTRIBUTE_UNUSED = ToReal(2.0/3.0); - CCTK_REAL_VEC /*const*/ kfourthird CCTK_ATTRIBUTE_UNUSED = ToReal(4.0/3.0); - CCTK_REAL_VEC /*const*/ keightthird CCTK_ATTRIBUTE_UNUSED = ToReal(8.0/3.0); - CCTK_REAL_VEC /*const*/ hdxi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dxi); - CCTK_REAL_VEC /*const*/ hdyi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dyi); - CCTK_REAL_VEC /*const*/ hdzi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dzi); + const ptrdiff_t di CCTK_ATTRIBUTE_UNUSED = 1; + const ptrdiff_t dj CCTK_ATTRIBUTE_UNUSED = CCTK_GFINDEX3D(cctkGH,0,1,0) - CCTK_GFINDEX3D(cctkGH,0,0,0); + const ptrdiff_t dk CCTK_ATTRIBUTE_UNUSED = CCTK_GFINDEX3D(cctkGH,0,0,1) - CCTK_GFINDEX3D(cctkGH,0,0,0); + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * di; + const ptrdiff_t cdj CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * dj; + const ptrdiff_t cdk CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * dk; + const CCTK_REAL_VEC dx CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(0)); + const CCTK_REAL_VEC dy CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(1)); + const CCTK_REAL_VEC dz CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(2)); + const CCTK_REAL_VEC dt CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_TIME); + const CCTK_REAL_VEC t CCTK_ATTRIBUTE_UNUSED = ToReal(cctk_time); + const CCTK_REAL_VEC dxi CCTK_ATTRIBUTE_UNUSED = INV(dx); + const CCTK_REAL_VEC dyi CCTK_ATTRIBUTE_UNUSED = INV(dy); + const CCTK_REAL_VEC dzi CCTK_ATTRIBUTE_UNUSED = INV(dz); + const CCTK_REAL_VEC khalf CCTK_ATTRIBUTE_UNUSED = ToReal(0.5); + const CCTK_REAL_VEC kthird CCTK_ATTRIBUTE_UNUSED = ToReal(1.0/3.0); + const CCTK_REAL_VEC ktwothird CCTK_ATTRIBUTE_UNUSED = ToReal(2.0/3.0); + const CCTK_REAL_VEC kfourthird CCTK_ATTRIBUTE_UNUSED = ToReal(4.0/3.0); + const CCTK_REAL_VEC keightthird CCTK_ATTRIBUTE_UNUSED = ToReal(8.0/3.0); + const CCTK_REAL_VEC hdxi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dxi); + const CCTK_REAL_VEC hdyi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dyi); + const CCTK_REAL_VEC hdzi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dzi); /* Initialize predefined quantities */ - CCTK_REAL_VEC /*const*/ p1o1024dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dx); - CCTK_REAL_VEC /*const*/ p1o1024dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dy); - CCTK_REAL_VEC /*const*/ p1o1024dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dz); - CCTK_REAL_VEC /*const*/ p1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dx); - CCTK_REAL_VEC /*const*/ p1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dy); - CCTK_REAL_VEC /*const*/ p1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dz); - CCTK_REAL_VEC /*const*/ p1o12dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dx); - CCTK_REAL_VEC /*const*/ p1o12dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dy); - CCTK_REAL_VEC /*const*/ p1o12dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dz); - CCTK_REAL_VEC /*const*/ p1o144dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o144dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o144dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o1680dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dx); - CCTK_REAL_VEC /*const*/ p1o1680dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dy); - CCTK_REAL_VEC /*const*/ p1o1680dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dz); - CCTK_REAL_VEC /*const*/ p1o180dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ p1o180dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ p1o180dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ p1o24dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dx); - CCTK_REAL_VEC /*const*/ p1o24dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dy); - CCTK_REAL_VEC /*const*/ p1o24dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dz); - CCTK_REAL_VEC /*const*/ p1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dx); - CCTK_REAL_VEC /*const*/ p1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dy); - CCTK_REAL_VEC /*const*/ p1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dz); - CCTK_REAL_VEC /*const*/ p1o3600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o3600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o3600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dx); - CCTK_REAL_VEC /*const*/ p1o4dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o4dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dy); - CCTK_REAL_VEC /*const*/ p1o4dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dz); - CCTK_REAL_VEC /*const*/ p1o5040dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ p1o5040dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ p1o5040dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ p1o560dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dx); - CCTK_REAL_VEC /*const*/ p1o560dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dy); - CCTK_REAL_VEC /*const*/ p1o560dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dz); - CCTK_REAL_VEC /*const*/ p1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dx); - CCTK_REAL_VEC /*const*/ p1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dy); - CCTK_REAL_VEC /*const*/ p1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dz); - CCTK_REAL_VEC /*const*/ p1o64dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dx); - CCTK_REAL_VEC /*const*/ p1o64dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dy); - CCTK_REAL_VEC /*const*/ p1o64dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dz); - CCTK_REAL_VEC /*const*/ p1o705600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o705600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o705600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o840dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dx); - CCTK_REAL_VEC /*const*/ p1o840dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dy); - CCTK_REAL_VEC /*const*/ p1o840dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dz); - CCTK_REAL_VEC /*const*/ p1odx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dx); - CCTK_REAL_VEC /*const*/ p1odx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ p1ody CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dy); - CCTK_REAL_VEC /*const*/ p1ody2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ p1odz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dz); - CCTK_REAL_VEC /*const*/ p1odz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ pm1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dx); - CCTK_REAL_VEC /*const*/ pm1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dy); - CCTK_REAL_VEC /*const*/ pm1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dz); - CCTK_REAL_VEC /*const*/ pm1o12dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ pm1o12dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ pm1o12dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ pm1o16dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dx); - CCTK_REAL_VEC /*const*/ pm1o16dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dy); - CCTK_REAL_VEC /*const*/ pm1o16dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dz); - CCTK_REAL_VEC /*const*/ pm1o256dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dx); - CCTK_REAL_VEC /*const*/ pm1o256dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dy); - CCTK_REAL_VEC /*const*/ pm1o256dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dz); - CCTK_REAL_VEC /*const*/ pm1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dx); - CCTK_REAL_VEC /*const*/ pm1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dy); - CCTK_REAL_VEC /*const*/ pm1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dz); - CCTK_REAL_VEC /*const*/ pm1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dx); - CCTK_REAL_VEC /*const*/ pm1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dy); - CCTK_REAL_VEC /*const*/ pm1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dz); - CCTK_REAL_VEC /*const*/ pm1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dx); - CCTK_REAL_VEC /*const*/ pm1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dy); - CCTK_REAL_VEC /*const*/ pm1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dz); + const CCTK_REAL_VEC p1o1024dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dx); + const CCTK_REAL_VEC p1o1024dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dy); + const CCTK_REAL_VEC p1o1024dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dz); + const CCTK_REAL_VEC p1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dx); + const CCTK_REAL_VEC p1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dy); + const CCTK_REAL_VEC p1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dz); + const CCTK_REAL_VEC p1o12dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dx); + const CCTK_REAL_VEC p1o12dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dy); + const CCTK_REAL_VEC p1o12dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dz); + const CCTK_REAL_VEC p1o144dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dy,dx)); + const CCTK_REAL_VEC p1o144dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dx)); + const CCTK_REAL_VEC p1o144dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dy)); + const CCTK_REAL_VEC p1o1680dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dx); + const CCTK_REAL_VEC p1o1680dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dy); + const CCTK_REAL_VEC p1o1680dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dz); + const CCTK_REAL_VEC p1o180dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dx,dx)); + const CCTK_REAL_VEC p1o180dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dy,dy)); + const CCTK_REAL_VEC p1o180dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dz,dz)); + const CCTK_REAL_VEC p1o24dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dx); + const CCTK_REAL_VEC p1o24dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dy); + const CCTK_REAL_VEC p1o24dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dz); + const CCTK_REAL_VEC p1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dx); + const CCTK_REAL_VEC p1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dy); + const CCTK_REAL_VEC p1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dz); + const CCTK_REAL_VEC p1o3600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dy,dx)); + const CCTK_REAL_VEC p1o3600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dx)); + const CCTK_REAL_VEC p1o3600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dy)); + const CCTK_REAL_VEC p1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dx); + const CCTK_REAL_VEC p1o4dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dy,dx)); + const CCTK_REAL_VEC p1o4dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dx)); + const CCTK_REAL_VEC p1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dy); + const CCTK_REAL_VEC p1o4dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dy)); + const CCTK_REAL_VEC p1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dz); + const CCTK_REAL_VEC p1o5040dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dx,dx)); + const CCTK_REAL_VEC p1o5040dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dy,dy)); + const CCTK_REAL_VEC p1o5040dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dz,dz)); + const CCTK_REAL_VEC p1o560dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dx); + const CCTK_REAL_VEC p1o560dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dy); + const CCTK_REAL_VEC p1o560dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dz); + const CCTK_REAL_VEC p1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dx); + const CCTK_REAL_VEC p1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dy); + const CCTK_REAL_VEC p1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dz); + const CCTK_REAL_VEC p1o64dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dx); + const CCTK_REAL_VEC p1o64dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dy); + const CCTK_REAL_VEC p1o64dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dz); + const CCTK_REAL_VEC p1o705600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dy,dx)); + const CCTK_REAL_VEC p1o705600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dx)); + const CCTK_REAL_VEC p1o705600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dy)); + const CCTK_REAL_VEC p1o840dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dx); + const CCTK_REAL_VEC p1o840dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dy); + const CCTK_REAL_VEC p1o840dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dz); + const CCTK_REAL_VEC p1odx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dx); + const CCTK_REAL_VEC p1odx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dx,dx)); + const CCTK_REAL_VEC p1ody CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dy); + const CCTK_REAL_VEC p1ody2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dy,dy)); + const CCTK_REAL_VEC p1odz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dz); + const CCTK_REAL_VEC p1odz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dz,dz)); + const CCTK_REAL_VEC pm1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dx); + const CCTK_REAL_VEC pm1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dy); + const CCTK_REAL_VEC pm1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dz); + const CCTK_REAL_VEC pm1o12dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dx,dx)); + const CCTK_REAL_VEC pm1o12dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dy,dy)); + const CCTK_REAL_VEC pm1o12dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dz,dz)); + const CCTK_REAL_VEC pm1o16dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dx); + const CCTK_REAL_VEC pm1o16dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dy); + const CCTK_REAL_VEC pm1o16dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dz); + const CCTK_REAL_VEC pm1o256dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dx); + const CCTK_REAL_VEC pm1o256dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dy); + const CCTK_REAL_VEC pm1o256dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dz); + const CCTK_REAL_VEC pm1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dx); + const CCTK_REAL_VEC pm1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dy); + const CCTK_REAL_VEC pm1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dz); + const CCTK_REAL_VEC pm1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dx); + const CCTK_REAL_VEC pm1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dy); + const CCTK_REAL_VEC pm1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dz); + const CCTK_REAL_VEC pm1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dx); + const CCTK_REAL_VEC pm1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dy); + const CCTK_REAL_VEC pm1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dz); /* Jacobian variable pointers */ - bool const use_jacobian CCTK_ATTRIBUTE_UNUSED = (!CCTK_IsFunctionAliased("MultiPatch_GetMap") || MultiPatch_GetMap(cctkGH) != jacobian_identity_map) - && strlen(jacobian_group) > 0; - if (use_jacobian && strlen(jacobian_derivative_group) == 0) + const bool use_jacobian1 = (!CCTK_IsFunctionAliased("MultiPatch_GetMap") || MultiPatch_GetMap(cctkGH) != jacobian_identity_map) + && strlen(jacobian_group) > 0; + const bool use_jacobian = assume_use_jacobian>=0 ? assume_use_jacobian : use_jacobian1; + const bool usejacobian CCTK_ATTRIBUTE_UNUSED = use_jacobian; + if (use_jacobian && (strlen(jacobian_determinant_group) == 0 || strlen(jacobian_inverse_group) == 0 || strlen(jacobian_derivative_group) == 0)) { - CCTK_WARN (1, "GenericFD::jacobian_group and GenericFD::jacobian_derivative_group must both be set to valid group names"); + CCTK_WARN(1, "GenericFD::jacobian_group, GenericFD::jacobian_determinant_group, GenericFD::jacobian_inverse_group, and GenericFD::jacobian_derivative_group must all be set to valid group names"); } - CCTK_REAL const *restrict jacobian_ptrs[9]; + const CCTK_REAL* restrict jacobian_ptrs[9]; if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_group, 9, jacobian_ptrs); - CCTK_REAL const *restrict const J11 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[0] : 0; - CCTK_REAL const *restrict const J12 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[1] : 0; - CCTK_REAL const *restrict const J13 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[2] : 0; - CCTK_REAL const *restrict const J21 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[3] : 0; - CCTK_REAL const *restrict const J22 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[4] : 0; - CCTK_REAL const *restrict const J23 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[5] : 0; - CCTK_REAL const *restrict const J31 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[6] : 0; - CCTK_REAL const *restrict const J32 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[7] : 0; - CCTK_REAL const *restrict const J33 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[8] : 0; + const CCTK_REAL* restrict const J11 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[0] : 0; + const CCTK_REAL* restrict const J12 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[1] : 0; + const CCTK_REAL* restrict const J13 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[2] : 0; + const CCTK_REAL* restrict const J21 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[3] : 0; + const CCTK_REAL* restrict const J22 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[4] : 0; + const CCTK_REAL* restrict const J23 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[5] : 0; + const CCTK_REAL* restrict const J31 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[6] : 0; + const CCTK_REAL* restrict const J32 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[7] : 0; + const CCTK_REAL* restrict const J33 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[8] : 0; + + const CCTK_REAL* restrict jacobian_determinant_ptrs[1] CCTK_ATTRIBUTE_UNUSED; + if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_determinant_group, + 1, jacobian_determinant_ptrs); + + const CCTK_REAL* restrict const detJ CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[0] : 0; - CCTK_REAL const *restrict jacobian_derivative_ptrs[18] CCTK_ATTRIBUTE_UNUSED; + const CCTK_REAL* restrict jacobian_inverse_ptrs[9] CCTK_ATTRIBUTE_UNUSED; + if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_inverse_group, + 9, jacobian_inverse_ptrs); + + const CCTK_REAL* restrict const iJ11 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[0] : 0; + const CCTK_REAL* restrict const iJ12 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[1] : 0; + const CCTK_REAL* restrict const iJ13 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[2] : 0; + const CCTK_REAL* restrict const iJ21 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[3] : 0; + const CCTK_REAL* restrict const iJ22 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[4] : 0; + const CCTK_REAL* restrict const iJ23 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[5] : 0; + const CCTK_REAL* restrict const iJ31 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[6] : 0; + const CCTK_REAL* restrict const iJ32 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[7] : 0; + const CCTK_REAL* restrict const iJ33 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[8] : 0; + + const CCTK_REAL* restrict jacobian_derivative_ptrs[18] CCTK_ATTRIBUTE_UNUSED; if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_derivative_group, 18, jacobian_derivative_ptrs); - CCTK_REAL const *restrict const dJ111 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[0] : 0; - CCTK_REAL const *restrict const dJ112 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[1] : 0; - CCTK_REAL const *restrict const dJ113 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[2] : 0; - CCTK_REAL const *restrict const dJ122 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[3] : 0; - CCTK_REAL const *restrict const dJ123 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[4] : 0; - CCTK_REAL const *restrict const dJ133 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[5] : 0; - CCTK_REAL const *restrict const dJ211 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[6] : 0; - CCTK_REAL const *restrict const dJ212 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[7] : 0; - CCTK_REAL const *restrict const dJ213 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[8] : 0; - CCTK_REAL const *restrict const dJ222 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[9] : 0; - CCTK_REAL const *restrict const dJ223 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[10] : 0; - CCTK_REAL const *restrict const dJ233 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[11] : 0; - CCTK_REAL const *restrict const dJ311 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[12] : 0; - CCTK_REAL const *restrict const dJ312 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[13] : 0; - CCTK_REAL const *restrict const dJ313 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[14] : 0; - CCTK_REAL const *restrict const dJ322 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[15] : 0; - CCTK_REAL const *restrict const dJ323 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[16] : 0; - CCTK_REAL const *restrict const dJ333 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[17] : 0; + const CCTK_REAL* restrict const dJ111 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[0] : 0; + const CCTK_REAL* restrict const dJ112 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[1] : 0; + const CCTK_REAL* restrict const dJ113 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[2] : 0; + const CCTK_REAL* restrict const dJ122 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[3] : 0; + const CCTK_REAL* restrict const dJ123 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[4] : 0; + const CCTK_REAL* restrict const dJ133 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[5] : 0; + const CCTK_REAL* restrict const dJ211 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[6] : 0; + const CCTK_REAL* restrict const dJ212 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[7] : 0; + const CCTK_REAL* restrict const dJ213 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[8] : 0; + const CCTK_REAL* restrict const dJ222 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[9] : 0; + const CCTK_REAL* restrict const dJ223 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[10] : 0; + const CCTK_REAL* restrict const dJ233 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[11] : 0; + const CCTK_REAL* restrict const dJ311 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[12] : 0; + const CCTK_REAL* restrict const dJ312 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[13] : 0; + const CCTK_REAL* restrict const dJ313 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[14] : 0; + const CCTK_REAL* restrict const dJ322 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[15] : 0; + const CCTK_REAL* restrict const dJ323 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[16] : 0; + const CCTK_REAL* restrict const dJ333 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[17] : 0; /* Assign local copies of arrays functions */ @@ -205,13 +229,20 @@ static void ML_BSSN_RHS2_Body(cGH const * restrict const cctkGH, int const dir, /* Copy local copies back to grid functions */ /* Loop over the grid points */ - #pragma omp parallel + const int imin0=imin[0]; + const int imin1=imin[1]; + const int imin2=imin[2]; + const int imax0=imax[0]; + const int imax1=imax[1]; + const int imax2=imax[2]; + #pragma omp parallel // reduction(+: vec_iter_counter, vec_op_counter, vec_mem_counter) CCTK_LOOP3STR(ML_BSSN_RHS2, - 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 */ @@ -239,7 +270,7 @@ static void ML_BSSN_RHS2_Body(cGH const * restrict const cctkGH, int const dir, CCTK_REAL_VEC eTxxL, eTxyL, eTxzL, eTyyL, eTyzL, eTzzL CCTK_ATTRIBUTE_UNUSED ; - if (*stress_energy_state) + if (assume_stress_energy_state>=0 ? assume_stress_energy_state : *stress_energy_state) { eTxxL = vec_load(eTxx[index]); eTxyL = vec_load(eTxy[index]); @@ -294,100 +325,101 @@ static void ML_BSSN_RHS2_Body(cGH const * restrict const cctkGH, int const dir, /* 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 PDstandardNth1gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth2gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth3gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth11gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth22gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth33gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth12gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth13gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth23gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth1gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth2gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth3gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth11gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth22gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth33gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth12gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth13gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth23gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth1gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth2gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth3gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth11gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth22gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth33gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth12gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth13gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth23gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth1gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth2gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth3gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth11gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth22gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth33gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth12gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth13gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth23gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth1gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth2gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth3gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth11gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth22gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth33gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth12gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth13gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth23gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth1gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth2gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth3gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth11gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth22gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth33gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth12gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth13gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth23gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth1phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth2phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth3phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth11phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth22phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth33phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth12phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth13phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth23phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth1Xt1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth2Xt1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth3Xt1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth1Xt2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth2Xt2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth3Xt2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth1Xt3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth2Xt3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth3Xt3 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 PDstandardNth1gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth11gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth22gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth33gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth12gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth13gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth23gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth11gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth22gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth33gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth12gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth13gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth23gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth11gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth22gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth33gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth12gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth13gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth23gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth11gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth22gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth33gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth12gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth13gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth23gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth11gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth22gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth33gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth12gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth13gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth23gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth11gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth22gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth33gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth12gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth13gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth23gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth11phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth22phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth33phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth12phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth13phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth23phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1Xt1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2Xt1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3Xt1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1Xt2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2Xt2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3Xt2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1Xt3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2Xt3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3Xt3 CCTK_ATTRIBUTE_UNUSED; + + switch (fdOrder) { case 2: + { PDstandardNth1alpha = PDstandardNthfdOrder21(&alpha[index]); PDstandardNth2alpha = PDstandardNthfdOrder22(&alpha[index]); PDstandardNth3alpha = PDstandardNthfdOrder23(&alpha[index]); @@ -479,8 +511,10 @@ static void ML_BSSN_RHS2_Body(cGH const * restrict const cctkGH, int const dir, PDstandardNth2Xt3 = PDstandardNthfdOrder22(&Xt3[index]); PDstandardNth3Xt3 = PDstandardNthfdOrder23(&Xt3[index]); break; + } case 4: + { PDstandardNth1alpha = PDstandardNthfdOrder41(&alpha[index]); PDstandardNth2alpha = PDstandardNthfdOrder42(&alpha[index]); PDstandardNth3alpha = PDstandardNthfdOrder43(&alpha[index]); @@ -572,8 +606,10 @@ static void ML_BSSN_RHS2_Body(cGH const * restrict const cctkGH, int const dir, PDstandardNth2Xt3 = PDstandardNthfdOrder42(&Xt3[index]); PDstandardNth3Xt3 = PDstandardNthfdOrder43(&Xt3[index]); break; + } case 6: + { PDstandardNth1alpha = PDstandardNthfdOrder61(&alpha[index]); PDstandardNth2alpha = PDstandardNthfdOrder62(&alpha[index]); PDstandardNth3alpha = PDstandardNthfdOrder63(&alpha[index]); @@ -665,8 +701,10 @@ static void ML_BSSN_RHS2_Body(cGH const * restrict const cctkGH, int const dir, PDstandardNth2Xt3 = PDstandardNthfdOrder62(&Xt3[index]); PDstandardNth3Xt3 = PDstandardNthfdOrder63(&Xt3[index]); break; + } case 8: + { PDstandardNth1alpha = PDstandardNthfdOrder81(&alpha[index]); PDstandardNth2alpha = PDstandardNthfdOrder82(&alpha[index]); PDstandardNth3alpha = PDstandardNthfdOrder83(&alpha[index]); @@ -758,6 +796,9 @@ static void ML_BSSN_RHS2_Body(cGH const * restrict const cctkGH, int const dir, PDstandardNth2Xt3 = PDstandardNthfdOrder82(&Xt3[index]); PDstandardNth3Xt3 = PDstandardNthfdOrder83(&Xt3[index]); break; + } + default: + CCTK_BUILTIN_UNREACHABLE(); } /* Calculate temporaries and grid functions */ @@ -767,114 +808,114 @@ static void ML_BSSN_RHS2_Body(cGH const * restrict const cctkGH, int const dir, ptrdiff_t CCTK_ATTRIBUTE_UNUSED dir3 = kisgn(beta3L); - CCTK_REAL_VEC JacPDstandardNth11alpha CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth11gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth11gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth11gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth11gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth11gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth11gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth11phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth12alpha CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth12gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth12gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth12gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth12gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth12gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth12gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth12phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth13alpha CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth13gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth13gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth13gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth13gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth13gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth13gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth13phi 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 JacPDstandardNth1gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth1gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth1gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth1gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth1gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth1gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth1phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth1Xt1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth1Xt2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth1Xt3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth21gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth21gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth21gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth21gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth21gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth21gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth22alpha CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth22gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth22gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth22gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth22gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth22gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth22gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth22phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth23alpha CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth23gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth23gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth23gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth23gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth23gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth23gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth23phi 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 JacPDstandardNth2gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth2gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth2gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth2gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth2gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth2gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth2phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth2Xt1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth2Xt2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth2Xt3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth31gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth31gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth31gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth31gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth31gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth31gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth32gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth32gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth32gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth32gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth32gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth32gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth33alpha CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth33gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth33gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth33gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth33gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth33gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth33gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth33phi 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 JacPDstandardNth3gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth3gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth3gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth3gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth3gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth3gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth3phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth3Xt1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth3Xt2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth3Xt3 CCTK_ATTRIBUTE_UNUSED ; + CCTK_REAL_VEC JacPDstandardNth11alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth11gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth11gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth11gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth11gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth11gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth11gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth11phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth12alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth12gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth12gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth12gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth12gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth12gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth12gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth12phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth13alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth13gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth13gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth13gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth13gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth13gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth13gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth13phi 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 JacPDstandardNth1gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1Xt1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1Xt2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1Xt3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth21gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth21gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth21gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth21gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth21gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth21gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth22alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth22gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth22gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth22gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth22gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth22gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth22gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth22phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth23alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth23gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth23gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth23gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth23gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth23gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth23gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth23phi 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 JacPDstandardNth2gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2Xt1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2Xt2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2Xt3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth31gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth31gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth31gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth31gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth31gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth31gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth32gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth32gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth32gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth32gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth32gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth32gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth33alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth33gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth33gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth33gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth33gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth33gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth33gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth33phi 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 JacPDstandardNth3gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3Xt1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3Xt2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3Xt3 CCTK_ATTRIBUTE_UNUSED; if (use_jacobian) { @@ -1005,76 +1046,76 @@ static void ML_BSSN_RHS2_Body(cGH const * restrict const cctkGH, int const dir, kmadd(J13L,PDstandardNth1Xt3,kmadd(J23L,PDstandardNth2Xt3,kmul(J33L,PDstandardNth3Xt3))); JacPDstandardNth11alpha = - kmadd(dJ111L,PDstandardNth1alpha,kmadd(dJ211L,PDstandardNth2alpha,kmadd(dJ311L,PDstandardNth3alpha,kmadd(PDstandardNth11alpha,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)))))))); JacPDstandardNth11gt11 = - kmadd(dJ111L,PDstandardNth1gt11,kmadd(dJ211L,PDstandardNth2gt11,kmadd(dJ311L,PDstandardNth3gt11,kmadd(PDstandardNth11gt11,kmul(J11L,J11L),kmadd(PDstandardNth22gt11,kmul(J21L,J21L),kmadd(PDstandardNth33gt11,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12gt11,kmul(J31L,PDstandardNth13gt11)),kmul(J21L,kmul(J31L,PDstandardNth23gt11))),ToReal(2.)))))))); + kmadd(dJ111L,PDstandardNth1gt11,kmadd(dJ211L,PDstandardNth2gt11,kmadd(dJ311L,PDstandardNth3gt11,kmadd(PDstandardNth11gt11,kmul(J11L,J11L),kmadd(PDstandardNth22gt11,kmul(J21L,J21L),kmadd(PDstandardNth33gt11,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12gt11,kmul(J31L,PDstandardNth13gt11)),kmul(J21L,kmul(J31L,PDstandardNth23gt11))),ToReal(2)))))))); JacPDstandardNth11gt12 = - kmadd(dJ111L,PDstandardNth1gt12,kmadd(dJ211L,PDstandardNth2gt12,kmadd(dJ311L,PDstandardNth3gt12,kmadd(PDstandardNth11gt12,kmul(J11L,J11L),kmadd(PDstandardNth22gt12,kmul(J21L,J21L),kmadd(PDstandardNth33gt12,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12gt12,kmul(J31L,PDstandardNth13gt12)),kmul(J21L,kmul(J31L,PDstandardNth23gt12))),ToReal(2.)))))))); + kmadd(dJ111L,PDstandardNth1gt12,kmadd(dJ211L,PDstandardNth2gt12,kmadd(dJ311L,PDstandardNth3gt12,kmadd(PDstandardNth11gt12,kmul(J11L,J11L),kmadd(PDstandardNth22gt12,kmul(J21L,J21L),kmadd(PDstandardNth33gt12,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12gt12,kmul(J31L,PDstandardNth13gt12)),kmul(J21L,kmul(J31L,PDstandardNth23gt12))),ToReal(2)))))))); JacPDstandardNth11gt13 = - kmadd(dJ111L,PDstandardNth1gt13,kmadd(dJ211L,PDstandardNth2gt13,kmadd(dJ311L,PDstandardNth3gt13,kmadd(PDstandardNth11gt13,kmul(J11L,J11L),kmadd(PDstandardNth22gt13,kmul(J21L,J21L),kmadd(PDstandardNth33gt13,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12gt13,kmul(J31L,PDstandardNth13gt13)),kmul(J21L,kmul(J31L,PDstandardNth23gt13))),ToReal(2.)))))))); + kmadd(dJ111L,PDstandardNth1gt13,kmadd(dJ211L,PDstandardNth2gt13,kmadd(dJ311L,PDstandardNth3gt13,kmadd(PDstandardNth11gt13,kmul(J11L,J11L),kmadd(PDstandardNth22gt13,kmul(J21L,J21L),kmadd(PDstandardNth33gt13,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12gt13,kmul(J31L,PDstandardNth13gt13)),kmul(J21L,kmul(J31L,PDstandardNth23gt13))),ToReal(2)))))))); JacPDstandardNth11gt22 = - kmadd(dJ111L,PDstandardNth1gt22,kmadd(dJ211L,PDstandardNth2gt22,kmadd(dJ311L,PDstandardNth3gt22,kmadd(PDstandardNth11gt22,kmul(J11L,J11L),kmadd(PDstandardNth22gt22,kmul(J21L,J21L),kmadd(PDstandardNth33gt22,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12gt22,kmul(J31L,PDstandardNth13gt22)),kmul(J21L,kmul(J31L,PDstandardNth23gt22))),ToReal(2.)))))))); + kmadd(dJ111L,PDstandardNth1gt22,kmadd(dJ211L,PDstandardNth2gt22,kmadd(dJ311L,PDstandardNth3gt22,kmadd(PDstandardNth11gt22,kmul(J11L,J11L),kmadd(PDstandardNth22gt22,kmul(J21L,J21L),kmadd(PDstandardNth33gt22,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12gt22,kmul(J31L,PDstandardNth13gt22)),kmul(J21L,kmul(J31L,PDstandardNth23gt22))),ToReal(2)))))))); JacPDstandardNth11gt23 = - kmadd(dJ111L,PDstandardNth1gt23,kmadd(dJ211L,PDstandardNth2gt23,kmadd(dJ311L,PDstandardNth3gt23,kmadd(PDstandardNth11gt23,kmul(J11L,J11L),kmadd(PDstandardNth22gt23,kmul(J21L,J21L),kmadd(PDstandardNth33gt23,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12gt23,kmul(J31L,PDstandardNth13gt23)),kmul(J21L,kmul(J31L,PDstandardNth23gt23))),ToReal(2.)))))))); + kmadd(dJ111L,PDstandardNth1gt23,kmadd(dJ211L,PDstandardNth2gt23,kmadd(dJ311L,PDstandardNth3gt23,kmadd(PDstandardNth11gt23,kmul(J11L,J11L),kmadd(PDstandardNth22gt23,kmul(J21L,J21L),kmadd(PDstandardNth33gt23,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12gt23,kmul(J31L,PDstandardNth13gt23)),kmul(J21L,kmul(J31L,PDstandardNth23gt23))),ToReal(2)))))))); JacPDstandardNth11gt33 = - kmadd(dJ111L,PDstandardNth1gt33,kmadd(dJ211L,PDstandardNth2gt33,kmadd(dJ311L,PDstandardNth3gt33,kmadd(PDstandardNth11gt33,kmul(J11L,J11L),kmadd(PDstandardNth22gt33,kmul(J21L,J21L),kmadd(PDstandardNth33gt33,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12gt33,kmul(J31L,PDstandardNth13gt33)),kmul(J21L,kmul(J31L,PDstandardNth23gt33))),ToReal(2.)))))))); + kmadd(dJ111L,PDstandardNth1gt33,kmadd(dJ211L,PDstandardNth2gt33,kmadd(dJ311L,PDstandardNth3gt33,kmadd(PDstandardNth11gt33,kmul(J11L,J11L),kmadd(PDstandardNth22gt33,kmul(J21L,J21L),kmadd(PDstandardNth33gt33,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12gt33,kmul(J31L,PDstandardNth13gt33)),kmul(J21L,kmul(J31L,PDstandardNth23gt33))),ToReal(2)))))))); JacPDstandardNth11phi = - kmadd(dJ111L,PDstandardNth1phi,kmadd(dJ211L,PDstandardNth2phi,kmadd(dJ311L,PDstandardNth3phi,kmadd(PDstandardNth11phi,kmul(J11L,J11L),kmadd(PDstandardNth22phi,kmul(J21L,J21L),kmadd(PDstandardNth33phi,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12phi,kmul(J31L,PDstandardNth13phi)),kmul(J21L,kmul(J31L,PDstandardNth23phi))),ToReal(2.)))))))); + kmadd(dJ111L,PDstandardNth1phi,kmadd(dJ211L,PDstandardNth2phi,kmadd(dJ311L,PDstandardNth3phi,kmadd(PDstandardNth11phi,kmul(J11L,J11L),kmadd(PDstandardNth22phi,kmul(J21L,J21L),kmadd(PDstandardNth33phi,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12phi,kmul(J31L,PDstandardNth13phi)),kmul(J21L,kmul(J31L,PDstandardNth23phi))),ToReal(2)))))))); JacPDstandardNth22alpha = - kmadd(dJ122L,PDstandardNth1alpha,kmadd(dJ222L,PDstandardNth2alpha,kmadd(dJ322L,PDstandardNth3alpha,kmadd(PDstandardNth11alpha,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)))))))); JacPDstandardNth22gt11 = - kmadd(dJ122L,PDstandardNth1gt11,kmadd(dJ222L,PDstandardNth2gt11,kmadd(dJ322L,PDstandardNth3gt11,kmadd(PDstandardNth11gt11,kmul(J12L,J12L),kmadd(PDstandardNth22gt11,kmul(J22L,J22L),kmadd(PDstandardNth33gt11,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12gt11,kmul(J32L,PDstandardNth13gt11)),kmul(J22L,kmul(J32L,PDstandardNth23gt11))),ToReal(2.)))))))); + kmadd(dJ122L,PDstandardNth1gt11,kmadd(dJ222L,PDstandardNth2gt11,kmadd(dJ322L,PDstandardNth3gt11,kmadd(PDstandardNth11gt11,kmul(J12L,J12L),kmadd(PDstandardNth22gt11,kmul(J22L,J22L),kmadd(PDstandardNth33gt11,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12gt11,kmul(J32L,PDstandardNth13gt11)),kmul(J22L,kmul(J32L,PDstandardNth23gt11))),ToReal(2)))))))); JacPDstandardNth22gt12 = - kmadd(dJ122L,PDstandardNth1gt12,kmadd(dJ222L,PDstandardNth2gt12,kmadd(dJ322L,PDstandardNth3gt12,kmadd(PDstandardNth11gt12,kmul(J12L,J12L),kmadd(PDstandardNth22gt12,kmul(J22L,J22L),kmadd(PDstandardNth33gt12,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12gt12,kmul(J32L,PDstandardNth13gt12)),kmul(J22L,kmul(J32L,PDstandardNth23gt12))),ToReal(2.)))))))); + kmadd(dJ122L,PDstandardNth1gt12,kmadd(dJ222L,PDstandardNth2gt12,kmadd(dJ322L,PDstandardNth3gt12,kmadd(PDstandardNth11gt12,kmul(J12L,J12L),kmadd(PDstandardNth22gt12,kmul(J22L,J22L),kmadd(PDstandardNth33gt12,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12gt12,kmul(J32L,PDstandardNth13gt12)),kmul(J22L,kmul(J32L,PDstandardNth23gt12))),ToReal(2)))))))); JacPDstandardNth22gt13 = - kmadd(dJ122L,PDstandardNth1gt13,kmadd(dJ222L,PDstandardNth2gt13,kmadd(dJ322L,PDstandardNth3gt13,kmadd(PDstandardNth11gt13,kmul(J12L,J12L),kmadd(PDstandardNth22gt13,kmul(J22L,J22L),kmadd(PDstandardNth33gt13,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12gt13,kmul(J32L,PDstandardNth13gt13)),kmul(J22L,kmul(J32L,PDstandardNth23gt13))),ToReal(2.)))))))); + kmadd(dJ122L,PDstandardNth1gt13,kmadd(dJ222L,PDstandardNth2gt13,kmadd(dJ322L,PDstandardNth3gt13,kmadd(PDstandardNth11gt13,kmul(J12L,J12L),kmadd(PDstandardNth22gt13,kmul(J22L,J22L),kmadd(PDstandardNth33gt13,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12gt13,kmul(J32L,PDstandardNth13gt13)),kmul(J22L,kmul(J32L,PDstandardNth23gt13))),ToReal(2)))))))); JacPDstandardNth22gt22 = - kmadd(dJ122L,PDstandardNth1gt22,kmadd(dJ222L,PDstandardNth2gt22,kmadd(dJ322L,PDstandardNth3gt22,kmadd(PDstandardNth11gt22,kmul(J12L,J12L),kmadd(PDstandardNth22gt22,kmul(J22L,J22L),kmadd(PDstandardNth33gt22,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12gt22,kmul(J32L,PDstandardNth13gt22)),kmul(J22L,kmul(J32L,PDstandardNth23gt22))),ToReal(2.)))))))); + kmadd(dJ122L,PDstandardNth1gt22,kmadd(dJ222L,PDstandardNth2gt22,kmadd(dJ322L,PDstandardNth3gt22,kmadd(PDstandardNth11gt22,kmul(J12L,J12L),kmadd(PDstandardNth22gt22,kmul(J22L,J22L),kmadd(PDstandardNth33gt22,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12gt22,kmul(J32L,PDstandardNth13gt22)),kmul(J22L,kmul(J32L,PDstandardNth23gt22))),ToReal(2)))))))); JacPDstandardNth22gt23 = - kmadd(dJ122L,PDstandardNth1gt23,kmadd(dJ222L,PDstandardNth2gt23,kmadd(dJ322L,PDstandardNth3gt23,kmadd(PDstandardNth11gt23,kmul(J12L,J12L),kmadd(PDstandardNth22gt23,kmul(J22L,J22L),kmadd(PDstandardNth33gt23,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12gt23,kmul(J32L,PDstandardNth13gt23)),kmul(J22L,kmul(J32L,PDstandardNth23gt23))),ToReal(2.)))))))); + kmadd(dJ122L,PDstandardNth1gt23,kmadd(dJ222L,PDstandardNth2gt23,kmadd(dJ322L,PDstandardNth3gt23,kmadd(PDstandardNth11gt23,kmul(J12L,J12L),kmadd(PDstandardNth22gt23,kmul(J22L,J22L),kmadd(PDstandardNth33gt23,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12gt23,kmul(J32L,PDstandardNth13gt23)),kmul(J22L,kmul(J32L,PDstandardNth23gt23))),ToReal(2)))))))); JacPDstandardNth22gt33 = - kmadd(dJ122L,PDstandardNth1gt33,kmadd(dJ222L,PDstandardNth2gt33,kmadd(dJ322L,PDstandardNth3gt33,kmadd(PDstandardNth11gt33,kmul(J12L,J12L),kmadd(PDstandardNth22gt33,kmul(J22L,J22L),kmadd(PDstandardNth33gt33,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12gt33,kmul(J32L,PDstandardNth13gt33)),kmul(J22L,kmul(J32L,PDstandardNth23gt33))),ToReal(2.)))))))); + kmadd(dJ122L,PDstandardNth1gt33,kmadd(dJ222L,PDstandardNth2gt33,kmadd(dJ322L,PDstandardNth3gt33,kmadd(PDstandardNth11gt33,kmul(J12L,J12L),kmadd(PDstandardNth22gt33,kmul(J22L,J22L),kmadd(PDstandardNth33gt33,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12gt33,kmul(J32L,PDstandardNth13gt33)),kmul(J22L,kmul(J32L,PDstandardNth23gt33))),ToReal(2)))))))); JacPDstandardNth22phi = - kmadd(dJ122L,PDstandardNth1phi,kmadd(dJ222L,PDstandardNth2phi,kmadd(dJ322L,PDstandardNth3phi,kmadd(PDstandardNth11phi,kmul(J12L,J12L),kmadd(PDstandardNth22phi,kmul(J22L,J22L),kmadd(PDstandardNth33phi,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12phi,kmul(J32L,PDstandardNth13phi)),kmul(J22L,kmul(J32L,PDstandardNth23phi))),ToReal(2.)))))))); + kmadd(dJ122L,PDstandardNth1phi,kmadd(dJ222L,PDstandardNth2phi,kmadd(dJ322L,PDstandardNth3phi,kmadd(PDstandardNth11phi,kmul(J12L,J12L),kmadd(PDstandardNth22phi,kmul(J22L,J22L),kmadd(PDstandardNth33phi,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12phi,kmul(J32L,PDstandardNth13phi)),kmul(J22L,kmul(J32L,PDstandardNth23phi))),ToReal(2)))))))); JacPDstandardNth33alpha = - kmadd(dJ133L,PDstandardNth1alpha,kmadd(dJ233L,PDstandardNth2alpha,kmadd(dJ333L,PDstandardNth3alpha,kmadd(PDstandardNth11alpha,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)))))))); JacPDstandardNth33gt11 = - kmadd(dJ133L,PDstandardNth1gt11,kmadd(dJ233L,PDstandardNth2gt11,kmadd(dJ333L,PDstandardNth3gt11,kmadd(PDstandardNth11gt11,kmul(J13L,J13L),kmadd(PDstandardNth22gt11,kmul(J23L,J23L),kmadd(PDstandardNth33gt11,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12gt11,kmul(J33L,PDstandardNth13gt11)),kmul(J23L,kmul(J33L,PDstandardNth23gt11))),ToReal(2.)))))))); + kmadd(dJ133L,PDstandardNth1gt11,kmadd(dJ233L,PDstandardNth2gt11,kmadd(dJ333L,PDstandardNth3gt11,kmadd(PDstandardNth11gt11,kmul(J13L,J13L),kmadd(PDstandardNth22gt11,kmul(J23L,J23L),kmadd(PDstandardNth33gt11,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12gt11,kmul(J33L,PDstandardNth13gt11)),kmul(J23L,kmul(J33L,PDstandardNth23gt11))),ToReal(2)))))))); JacPDstandardNth33gt12 = - kmadd(dJ133L,PDstandardNth1gt12,kmadd(dJ233L,PDstandardNth2gt12,kmadd(dJ333L,PDstandardNth3gt12,kmadd(PDstandardNth11gt12,kmul(J13L,J13L),kmadd(PDstandardNth22gt12,kmul(J23L,J23L),kmadd(PDstandardNth33gt12,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12gt12,kmul(J33L,PDstandardNth13gt12)),kmul(J23L,kmul(J33L,PDstandardNth23gt12))),ToReal(2.)))))))); + kmadd(dJ133L,PDstandardNth1gt12,kmadd(dJ233L,PDstandardNth2gt12,kmadd(dJ333L,PDstandardNth3gt12,kmadd(PDstandardNth11gt12,kmul(J13L,J13L),kmadd(PDstandardNth22gt12,kmul(J23L,J23L),kmadd(PDstandardNth33gt12,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12gt12,kmul(J33L,PDstandardNth13gt12)),kmul(J23L,kmul(J33L,PDstandardNth23gt12))),ToReal(2)))))))); JacPDstandardNth33gt13 = - kmadd(dJ133L,PDstandardNth1gt13,kmadd(dJ233L,PDstandardNth2gt13,kmadd(dJ333L,PDstandardNth3gt13,kmadd(PDstandardNth11gt13,kmul(J13L,J13L),kmadd(PDstandardNth22gt13,kmul(J23L,J23L),kmadd(PDstandardNth33gt13,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12gt13,kmul(J33L,PDstandardNth13gt13)),kmul(J23L,kmul(J33L,PDstandardNth23gt13))),ToReal(2.)))))))); + kmadd(dJ133L,PDstandardNth1gt13,kmadd(dJ233L,PDstandardNth2gt13,kmadd(dJ333L,PDstandardNth3gt13,kmadd(PDstandardNth11gt13,kmul(J13L,J13L),kmadd(PDstandardNth22gt13,kmul(J23L,J23L),kmadd(PDstandardNth33gt13,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12gt13,kmul(J33L,PDstandardNth13gt13)),kmul(J23L,kmul(J33L,PDstandardNth23gt13))),ToReal(2)))))))); JacPDstandardNth33gt22 = - kmadd(dJ133L,PDstandardNth1gt22,kmadd(dJ233L,PDstandardNth2gt22,kmadd(dJ333L,PDstandardNth3gt22,kmadd(PDstandardNth11gt22,kmul(J13L,J13L),kmadd(PDstandardNth22gt22,kmul(J23L,J23L),kmadd(PDstandardNth33gt22,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12gt22,kmul(J33L,PDstandardNth13gt22)),kmul(J23L,kmul(J33L,PDstandardNth23gt22))),ToReal(2.)))))))); + kmadd(dJ133L,PDstandardNth1gt22,kmadd(dJ233L,PDstandardNth2gt22,kmadd(dJ333L,PDstandardNth3gt22,kmadd(PDstandardNth11gt22,kmul(J13L,J13L),kmadd(PDstandardNth22gt22,kmul(J23L,J23L),kmadd(PDstandardNth33gt22,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12gt22,kmul(J33L,PDstandardNth13gt22)),kmul(J23L,kmul(J33L,PDstandardNth23gt22))),ToReal(2)))))))); JacPDstandardNth33gt23 = - kmadd(dJ133L,PDstandardNth1gt23,kmadd(dJ233L,PDstandardNth2gt23,kmadd(dJ333L,PDstandardNth3gt23,kmadd(PDstandardNth11gt23,kmul(J13L,J13L),kmadd(PDstandardNth22gt23,kmul(J23L,J23L),kmadd(PDstandardNth33gt23,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12gt23,kmul(J33L,PDstandardNth13gt23)),kmul(J23L,kmul(J33L,PDstandardNth23gt23))),ToReal(2.)))))))); + kmadd(dJ133L,PDstandardNth1gt23,kmadd(dJ233L,PDstandardNth2gt23,kmadd(dJ333L,PDstandardNth3gt23,kmadd(PDstandardNth11gt23,kmul(J13L,J13L),kmadd(PDstandardNth22gt23,kmul(J23L,J23L),kmadd(PDstandardNth33gt23,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12gt23,kmul(J33L,PDstandardNth13gt23)),kmul(J23L,kmul(J33L,PDstandardNth23gt23))),ToReal(2)))))))); JacPDstandardNth33gt33 = - kmadd(dJ133L,PDstandardNth1gt33,kmadd(dJ233L,PDstandardNth2gt33,kmadd(dJ333L,PDstandardNth3gt33,kmadd(PDstandardNth11gt33,kmul(J13L,J13L),kmadd(PDstandardNth22gt33,kmul(J23L,J23L),kmadd(PDstandardNth33gt33,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12gt33,kmul(J33L,PDstandardNth13gt33)),kmul(J23L,kmul(J33L,PDstandardNth23gt33))),ToReal(2.)))))))); + kmadd(dJ133L,PDstandardNth1gt33,kmadd(dJ233L,PDstandardNth2gt33,kmadd(dJ333L,PDstandardNth3gt33,kmadd(PDstandardNth11gt33,kmul(J13L,J13L),kmadd(PDstandardNth22gt33,kmul(J23L,J23L),kmadd(PDstandardNth33gt33,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12gt33,kmul(J33L,PDstandardNth13gt33)),kmul(J23L,kmul(J33L,PDstandardNth23gt33))),ToReal(2)))))))); JacPDstandardNth33phi = - kmadd(dJ133L,PDstandardNth1phi,kmadd(dJ233L,PDstandardNth2phi,kmadd(dJ333L,PDstandardNth3phi,kmadd(PDstandardNth11phi,kmul(J13L,J13L),kmadd(PDstandardNth22phi,kmul(J23L,J23L),kmadd(PDstandardNth33phi,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12phi,kmul(J33L,PDstandardNth13phi)),kmul(J23L,kmul(J33L,PDstandardNth23phi))),ToReal(2.)))))))); + kmadd(dJ133L,PDstandardNth1phi,kmadd(dJ233L,PDstandardNth2phi,kmadd(dJ333L,PDstandardNth3phi,kmadd(PDstandardNth11phi,kmul(J13L,J13L),kmadd(PDstandardNth22phi,kmul(J23L,J23L),kmadd(PDstandardNth33phi,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12phi,kmul(J33L,PDstandardNth13phi)),kmul(J23L,kmul(J33L,PDstandardNth23phi))),ToReal(2)))))))); JacPDstandardNth12alpha = kmadd(J12L,kmadd(J11L,PDstandardNth11alpha,kmadd(J21L,PDstandardNth12alpha,kmul(J31L,PDstandardNth13alpha))),kmadd(J11L,kmadd(J22L,PDstandardNth12alpha,kmul(J32L,PDstandardNth13alpha)),kmadd(dJ112L,PDstandardNth1alpha,kmadd(J22L,kmadd(J21L,PDstandardNth22alpha,kmul(J31L,PDstandardNth23alpha)),kmadd(dJ212L,PDstandardNth2alpha,kmadd(J32L,kmadd(J21L,PDstandardNth23alpha,kmul(J31L,PDstandardNth33alpha)),kmul(dJ312L,PDstandardNth3alpha))))))); @@ -1421,25 +1462,25 @@ static void ML_BSSN_RHS2_Body(cGH const * restrict const cctkGH, int const dir, JacPDstandardNth32gt33 = PDstandardNth23gt33; } - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED detgt = ToReal(1.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED detgt = ToReal(1); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gtu11 = - kdiv(kmadd(gt22L,gt33L,kmul(kmul(gt23L,gt23L),ToReal(-1.))),detgt); + kdiv(kmsub(gt22L,gt33L,kmul(gt23L,gt23L)),detgt); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gtu12 = - kdiv(kmadd(gt13L,gt23L,kmul(gt12L,kmul(gt33L,ToReal(-1.)))),detgt); + kdiv(kmsub(gt13L,gt23L,kmul(gt12L,gt33L)),detgt); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gtu13 = - kdiv(kmadd(gt12L,gt23L,kmul(gt13L,kmul(gt22L,ToReal(-1.)))),detgt); + kdiv(kmsub(gt12L,gt23L,kmul(gt13L,gt22L)),detgt); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gtu22 = - kdiv(kmadd(gt11L,gt33L,kmul(kmul(gt13L,gt13L),ToReal(-1.))),detgt); + kdiv(kmsub(gt11L,gt33L,kmul(gt13L,gt13L)),detgt); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gtu23 = - kdiv(kmadd(gt12L,gt13L,kmul(gt11L,kmul(gt23L,ToReal(-1.)))),detgt); + kdiv(kmsub(gt12L,gt13L,kmul(gt11L,gt23L)),detgt); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gtu33 = - kdiv(kmadd(gt11L,gt22L,kmul(kmul(gt12L,gt12L),ToReal(-1.))),detgt); + kdiv(kmsub(gt11L,gt22L,kmul(gt12L,gt12L)),detgt); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Gtl111 = kmul(JacPDstandardNth1gt11,ToReal(0.5)); @@ -1454,7 +1495,7 @@ static void ML_BSSN_RHS2_Body(cGH const * restrict const cctkGH, int const dir, kmadd(JacPDstandardNth1gt22,ToReal(-0.5),JacPDstandardNth2gt12); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Gtl123 = - kmul(kadd(JacPDstandardNth2gt13,kmadd(JacPDstandardNth1gt23,ToReal(-1.),JacPDstandardNth3gt12)),ToReal(0.5)); + kmul(kadd(JacPDstandardNth2gt13,ksub(JacPDstandardNth3gt12,JacPDstandardNth1gt23)),ToReal(0.5)); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Gtl133 = kmadd(JacPDstandardNth1gt33,ToReal(-0.5),JacPDstandardNth3gt13); @@ -1466,7 +1507,7 @@ static void ML_BSSN_RHS2_Body(cGH const * restrict const cctkGH, int const dir, kmul(JacPDstandardNth1gt22,ToReal(0.5)); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Gtl213 = - kmul(kadd(JacPDstandardNth1gt23,kmadd(JacPDstandardNth2gt13,ToReal(-1.),JacPDstandardNth3gt12)),ToReal(0.5)); + kmul(kadd(JacPDstandardNth1gt23,ksub(JacPDstandardNth3gt12,JacPDstandardNth2gt13)),ToReal(0.5)); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Gtl222 = kmul(JacPDstandardNth2gt22,ToReal(0.5)); @@ -1481,7 +1522,7 @@ static void ML_BSSN_RHS2_Body(cGH const * restrict const cctkGH, int const dir, kmadd(JacPDstandardNth3gt11,ToReal(-0.5),JacPDstandardNth1gt13); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Gtl312 = - kmul(kadd(JacPDstandardNth1gt23,kmadd(JacPDstandardNth3gt12,ToReal(-1.),JacPDstandardNth2gt13)),ToReal(0.5)); + kmul(kadd(JacPDstandardNth1gt23,ksub(JacPDstandardNth2gt13,JacPDstandardNth3gt12)),ToReal(0.5)); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Gtl313 = kmul(JacPDstandardNth1gt33,ToReal(0.5)); @@ -1631,16 +1672,16 @@ static void ML_BSSN_RHS2_Body(cGH const * restrict const cctkGH, int const dir, kmadd(Gtl133,gtu13,kmadd(Gtl233,gtu23,kmul(Gtl333,gtu33))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Xtn1 = - kmadd(Gt111,gtu11,kmadd(Gt122,gtu22,kmadd(Gt133,gtu33,kmul(kmadd(Gt112,gtu12,kmadd(Gt113,gtu13,kmul(Gt123,gtu23))),ToReal(2.))))); + kmadd(Gt111,gtu11,kmadd(Gt122,gtu22,kmadd(Gt133,gtu33,kmul(kmadd(Gt112,gtu12,kmadd(Gt113,gtu13,kmul(Gt123,gtu23))),ToReal(2))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Xtn2 = - kmadd(Gt211,gtu11,kmadd(Gt222,gtu22,kmadd(Gt233,gtu33,kmul(kmadd(Gt212,gtu12,kmadd(Gt213,gtu13,kmul(Gt223,gtu23))),ToReal(2.))))); + kmadd(Gt211,gtu11,kmadd(Gt222,gtu22,kmadd(Gt233,gtu33,kmul(kmadd(Gt212,gtu12,kmadd(Gt213,gtu13,kmul(Gt223,gtu23))),ToReal(2))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Xtn3 = - kmadd(Gt311,gtu11,kmadd(Gt322,gtu22,kmadd(Gt333,gtu33,kmul(kmadd(Gt312,gtu12,kmadd(Gt313,gtu13,kmul(Gt323,gtu23))),ToReal(2.))))); + kmadd(Gt311,gtu11,kmadd(Gt322,gtu22,kmadd(Gt333,gtu33,kmul(kmadd(Gt312,gtu12,kmadd(Gt313,gtu13,kmul(Gt323,gtu23))),ToReal(2))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED e4phi = IfThen(conformalMethod == - 1.,kdiv(ToReal(1),kmul(phiL,phiL)),kexp(kmul(phiL,ToReal(4.)))); + 1,kdiv(ToReal(1),kmul(phiL,phiL)),kexp(kmul(phiL,ToReal(4)))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED em4phi = kdiv(ToReal(1),e4phi); @@ -1669,25 +1710,25 @@ static void ML_BSSN_RHS2_Body(cGH const * restrict const cctkGH, int const dir, CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gu33 = kmul(em4phi,gtu33); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Rt11 = - kmadd(Gt211,Gtlu211,kmadd(Gt212,Gtlu212,kmadd(Gt213,Gtlu213,kmadd(Gt311,Gtlu311,kmadd(Gt312,Gtlu312,kmadd(Gt313,Gtlu313,kmadd(gt11L,JacPDstandardNth1Xt1,kmadd(gt12L,JacPDstandardNth1Xt2,kmadd(gt13L,JacPDstandardNth1Xt3,kmadd(Gtl111,Xtn1,kmadd(Gtl112,Xtn2,kmadd(Gtl113,Xtn3,kmadd(kmadd(gtu11,JacPDstandardNth11gt11,kmadd(gtu12,kadd(JacPDstandardNth12gt11,JacPDstandardNth21gt11),kmadd(gtu22,JacPDstandardNth22gt11,kmadd(gtu13,kadd(JacPDstandardNth13gt11,JacPDstandardNth31gt11),kmadd(gtu23,kadd(JacPDstandardNth23gt11,JacPDstandardNth32gt11),kmul(gtu33,JacPDstandardNth33gt11)))))),ToReal(-0.5),kmadd(kmadd(Gt211,Gtlu121,kmadd(Gt212,Gtlu122,kmadd(Gt213,Gtlu123,kmadd(Gt311,Gtlu131,kmadd(Gt312,Gtlu132,kmul(Gt313,Gtlu133)))))),ToReal(2.),kmul(kmadd(Gt111,Gtlu111,kmadd(Gt112,Gtlu112,kmul(Gt113,Gtlu113))),ToReal(3.)))))))))))))))); + kmadd(Gt211,Gtlu211,kmadd(Gt212,Gtlu212,kmadd(Gt213,Gtlu213,kmadd(Gt311,Gtlu311,kmadd(Gt312,Gtlu312,kmadd(Gt313,Gtlu313,kmadd(gt11L,JacPDstandardNth1Xt1,kmadd(gt12L,JacPDstandardNth1Xt2,kmadd(gt13L,JacPDstandardNth1Xt3,kmadd(Gtl111,Xtn1,kmadd(Gtl112,Xtn2,kmadd(Gtl113,Xtn3,knmsub(kmadd(gtu11,JacPDstandardNth11gt11,kmadd(gtu12,kadd(JacPDstandardNth12gt11,JacPDstandardNth21gt11),kmadd(gtu22,JacPDstandardNth22gt11,kmadd(gtu33,JacPDstandardNth33gt11,kmadd(gtu23,kadd(JacPDstandardNth32gt11,JacPDstandardNth23gt11),kmul(gtu13,kadd(JacPDstandardNth31gt11,JacPDstandardNth13gt11))))))),ToReal(0.5),kmadd(kmadd(Gt211,Gtlu121,kmadd(Gt212,Gtlu122,kmadd(Gt213,Gtlu123,kmadd(Gt311,Gtlu131,kmadd(Gt312,Gtlu132,kmul(Gt313,Gtlu133)))))),ToReal(2),kmul(kmadd(Gt111,Gtlu111,kmadd(Gt112,Gtlu112,kmul(Gt113,Gtlu113))),ToReal(3)))))))))))))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Rt12 = - kmul(ToReal(0.5),kmadd(gt22L,JacPDstandardNth1Xt2,kmadd(gt23L,JacPDstandardNth1Xt3,kmadd(gt11L,JacPDstandardNth2Xt1,kmadd(gt12L,kadd(JacPDstandardNth1Xt1,JacPDstandardNth2Xt2),kmadd(gt13L,JacPDstandardNth2Xt3,kmadd(kadd(Gtl112,Gtl211),Xtn1,kmadd(kadd(Gtl122,Gtl212),Xtn2,kmadd(kadd(Gtl123,Gtl213),Xtn3,kmadd(kmadd(gtu11,JacPDstandardNth11gt12,kmadd(gtu12,kadd(JacPDstandardNth12gt12,JacPDstandardNth21gt12),kmadd(gtu22,JacPDstandardNth22gt12,kmadd(gtu13,kadd(JacPDstandardNth13gt12,JacPDstandardNth31gt12),kmadd(gtu23,kadd(JacPDstandardNth23gt12,JacPDstandardNth32gt12),kmul(gtu33,JacPDstandardNth33gt12)))))),ToReal(-1.),kmadd(kmadd(Gt122,Gtlu112,kmadd(Gt123,Gtlu113,kmadd(kadd(Gt111,Gt212),Gtlu121,kmadd(Gt222,Gtlu122,kmadd(kadd(Gt113,Gt223),Gtlu123,kmadd(Gt322,Gtlu132,kmadd(Gt323,Gtlu133,kmadd(Gt111,Gtlu211,kmadd(Gt112,kadd(Gtlu111,kadd(Gtlu122,Gtlu212)),kmadd(Gt113,Gtlu213,kmadd(Gt311,kadd(Gtlu231,Gtlu321),kmadd(Gt312,kadd(Gtlu131,kadd(Gtlu232,Gtlu322)),kmul(Gt313,kadd(Gtlu233,Gtlu323)))))))))))))),ToReal(2.),kmul(kmadd(Gt211,Gtlu221,kmadd(Gt212,Gtlu222,kmul(Gt213,Gtlu223))),ToReal(4.))))))))))))); + kmul(ToReal(0.5),kmadd(gt12L,JacPDstandardNth1Xt1,kmadd(gt22L,JacPDstandardNth1Xt2,kmadd(gt23L,JacPDstandardNth1Xt3,kmadd(gt11L,JacPDstandardNth2Xt1,kmadd(gt12L,JacPDstandardNth2Xt2,kmadd(gt13L,JacPDstandardNth2Xt3,kmadd(Gtl112,Xtn1,kmadd(Gtl211,Xtn1,kmadd(Gtl122,Xtn2,kmadd(Gtl212,Xtn2,kmadd(Gtl123,Xtn3,kmadd(Gtl213,Xtn3,knmsub(gtu11,JacPDstandardNth11gt12,knmsub(gtu22,JacPDstandardNth22gt12,knmsub(gtu33,JacPDstandardNth33gt12,knmsub(gtu12,kadd(JacPDstandardNth21gt12,JacPDstandardNth12gt12),knmsub(gtu13,kadd(JacPDstandardNth31gt12,JacPDstandardNth13gt12),knmsub(gtu23,kadd(JacPDstandardNth32gt12,JacPDstandardNth23gt12),kmadd(kmadd(Gt122,Gtlu112,kmadd(Gt123,Gtlu113,kmadd(Gt111,Gtlu121,kmadd(Gt212,Gtlu121,kmadd(Gt222,Gtlu122,kmadd(Gt113,Gtlu123,kmadd(Gt223,Gtlu123,kmadd(Gt312,Gtlu131,kmadd(Gt322,Gtlu132,kmadd(Gt323,Gtlu133,kmadd(Gt111,Gtlu211,kmadd(Gt112,kadd(Gtlu111,kadd(Gtlu122,Gtlu212)),kmadd(Gt113,Gtlu213,kmadd(Gt311,Gtlu231,kmadd(Gt312,Gtlu232,kmadd(Gt313,Gtlu233,kmadd(Gt311,Gtlu321,kmadd(Gt312,Gtlu322,kmul(Gt313,Gtlu323))))))))))))))))))),ToReal(2),kmul(kmadd(Gt211,Gtlu221,kmadd(Gt212,Gtlu222,kmul(Gt213,Gtlu223))),ToReal(4)))))))))))))))))))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Rt13 = - kmul(ToReal(0.5),kmadd(gt23L,JacPDstandardNth1Xt2,kmadd(gt33L,JacPDstandardNth1Xt3,kmadd(gt11L,JacPDstandardNth3Xt1,kmadd(gt12L,JacPDstandardNth3Xt2,kmadd(gt13L,kadd(JacPDstandardNth1Xt1,JacPDstandardNth3Xt3),kmadd(kadd(Gtl113,Gtl311),Xtn1,kmadd(kadd(Gtl123,Gtl312),Xtn2,kmadd(kadd(Gtl133,Gtl313),Xtn3,kmadd(kmadd(gtu11,JacPDstandardNth11gt13,kmadd(gtu12,kadd(JacPDstandardNth12gt13,JacPDstandardNth21gt13),kmadd(gtu22,JacPDstandardNth22gt13,kmadd(gtu13,kadd(JacPDstandardNth13gt13,JacPDstandardNth31gt13),kmadd(gtu23,kadd(JacPDstandardNth23gt13,JacPDstandardNth32gt13),kmul(gtu33,JacPDstandardNth33gt13)))))),ToReal(-1.),kmadd(kmadd(Gt123,Gtlu112,kmadd(Gt133,Gtlu113,kmadd(Gt223,Gtlu122,kmadd(Gt233,Gtlu123,kmadd(kadd(Gt111,Gt313),Gtlu131,kmadd(kadd(Gt112,Gt323),Gtlu132,kmadd(Gt333,Gtlu133,kmadd(Gt111,Gtlu311,kmadd(Gt112,Gtlu312,kmadd(Gt113,kadd(Gtlu111,kadd(Gtlu133,Gtlu313)),kmadd(Gt211,kadd(Gtlu231,Gtlu321),kmadd(Gt212,kadd(Gtlu232,Gtlu322),kmul(Gt213,kadd(Gtlu121,kadd(Gtlu233,Gtlu323))))))))))))))),ToReal(2.),kmul(kmadd(Gt311,Gtlu331,kmadd(Gt312,Gtlu332,kmul(Gt313,Gtlu333))),ToReal(4.))))))))))))); + kmul(ToReal(0.5),kmadd(gt13L,JacPDstandardNth1Xt1,kmadd(gt23L,JacPDstandardNth1Xt2,kmadd(gt33L,JacPDstandardNth1Xt3,kmadd(gt11L,JacPDstandardNth3Xt1,kmadd(gt12L,JacPDstandardNth3Xt2,kmadd(gt13L,JacPDstandardNth3Xt3,kmadd(Gtl113,Xtn1,kmadd(Gtl311,Xtn1,kmadd(Gtl123,Xtn2,kmadd(Gtl312,Xtn2,kmadd(Gtl133,Xtn3,kmadd(Gtl313,Xtn3,knmsub(gtu11,JacPDstandardNth11gt13,knmsub(gtu22,JacPDstandardNth22gt13,knmsub(gtu33,JacPDstandardNth33gt13,knmsub(gtu12,kadd(JacPDstandardNth21gt13,JacPDstandardNth12gt13),knmsub(gtu13,kadd(JacPDstandardNth31gt13,JacPDstandardNth13gt13),knmsub(gtu23,kadd(JacPDstandardNth32gt13,JacPDstandardNth23gt13),kmadd(kmadd(Gt123,Gtlu112,kmadd(Gt133,Gtlu113,kmadd(Gt213,Gtlu121,kmadd(Gt223,Gtlu122,kmadd(Gt233,Gtlu123,kmadd(Gt111,Gtlu131,kmadd(Gt313,Gtlu131,kmadd(Gt112,Gtlu132,kmadd(Gt323,Gtlu132,kmadd(Gt333,Gtlu133,kmadd(Gt211,Gtlu231,kmadd(Gt212,Gtlu232,kmadd(Gt213,Gtlu233,kmadd(Gt111,Gtlu311,kmadd(Gt112,Gtlu312,kmadd(Gt113,kadd(Gtlu111,kadd(Gtlu133,Gtlu313)),kmadd(Gt211,Gtlu321,kmadd(Gt212,Gtlu322,kmul(Gt213,Gtlu323))))))))))))))))))),ToReal(2),kmul(kmadd(Gt311,Gtlu331,kmadd(Gt312,Gtlu332,kmul(Gt313,Gtlu333))),ToReal(4)))))))))))))))))))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Rt22 = - kmadd(Gt312,Gtlu321,kmadd(Gt322,Gtlu322,kmadd(Gt323,Gtlu323,kmadd(gt12L,JacPDstandardNth2Xt1,kmadd(gt22L,JacPDstandardNth2Xt2,kmadd(gt23L,JacPDstandardNth2Xt3,kmadd(Gtl212,Xtn1,kmadd(Gtl222,Xtn2,kmadd(Gtl223,Xtn3,kmadd(kmadd(gtu11,JacPDstandardNth11gt22,kmadd(gtu12,kadd(JacPDstandardNth12gt22,JacPDstandardNth21gt22),kmadd(gtu22,JacPDstandardNth22gt22,kmadd(gtu13,kadd(JacPDstandardNth13gt22,JacPDstandardNth31gt22),kmadd(gtu23,kadd(JacPDstandardNth23gt22,JacPDstandardNth32gt22),kmul(gtu33,JacPDstandardNth33gt22)))))),ToReal(-0.5),kmadd(kmadd(Gt312,Gtlu231,kmadd(Gt322,Gtlu232,kmul(Gt323,Gtlu233))),ToReal(2.),kmadd(Gt112,kmadd(Gtlu211,ToReal(2.),Gtlu121),kmadd(Gt122,kmadd(Gtlu212,ToReal(2.),Gtlu122),kmadd(Gt123,kmadd(Gtlu213,ToReal(2.),Gtlu123),kmul(kmadd(Gt212,Gtlu221,kmadd(Gt222,Gtlu222,kmul(Gt223,Gtlu223))),ToReal(3.)))))))))))))))); + kmadd(Gt312,Gtlu321,kmadd(Gt322,Gtlu322,kmadd(Gt323,Gtlu323,kmadd(gt12L,JacPDstandardNth2Xt1,kmadd(gt22L,JacPDstandardNth2Xt2,kmadd(gt23L,JacPDstandardNth2Xt3,kmadd(Gtl212,Xtn1,kmadd(Gtl222,Xtn2,kmadd(Gtl223,Xtn3,knmsub(kmadd(gtu11,JacPDstandardNth11gt22,kmadd(gtu12,kadd(JacPDstandardNth12gt22,JacPDstandardNth21gt22),kmadd(gtu22,JacPDstandardNth22gt22,kmadd(gtu33,JacPDstandardNth33gt22,kmadd(gtu23,kadd(JacPDstandardNth32gt22,JacPDstandardNth23gt22),kmul(gtu13,kadd(JacPDstandardNth31gt22,JacPDstandardNth13gt22))))))),ToReal(0.5),kmadd(kmadd(Gt312,Gtlu231,kmadd(Gt322,Gtlu232,kmul(Gt323,Gtlu233))),ToReal(2),kmadd(Gt112,kmadd(Gtlu211,ToReal(2),Gtlu121),kmadd(Gt122,kmadd(Gtlu212,ToReal(2),Gtlu122),kmadd(Gt123,kmadd(Gtlu213,ToReal(2),Gtlu123),kmul(kmadd(Gt212,Gtlu221,kmadd(Gt222,Gtlu222,kmul(Gt223,Gtlu223))),ToReal(3)))))))))))))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Rt23 = - kmul(ToReal(0.5),kmadd(gt13L,JacPDstandardNth2Xt1,kmadd(gt33L,JacPDstandardNth2Xt3,kmadd(gt12L,JacPDstandardNth3Xt1,kmadd(gt22L,JacPDstandardNth3Xt2,kmadd(gt23L,kadd(JacPDstandardNth2Xt2,JacPDstandardNth3Xt3),kmadd(kadd(Gtl213,Gtl312),Xtn1,kmadd(kadd(Gtl223,Gtl322),Xtn2,kmadd(kadd(Gtl233,Gtl323),Xtn3,kmadd(kmadd(gtu11,JacPDstandardNth11gt23,kmadd(gtu12,kadd(JacPDstandardNth12gt23,JacPDstandardNth21gt23),kmadd(gtu22,JacPDstandardNth22gt23,kmadd(gtu13,kadd(JacPDstandardNth13gt23,JacPDstandardNth31gt23),kmadd(gtu23,kadd(JacPDstandardNth23gt23,JacPDstandardNth32gt23),kmul(gtu33,JacPDstandardNth33gt23)))))),ToReal(-1.),kmadd(kmadd(Gt113,Gtlu211,kmadd(Gt133,Gtlu213,kmadd(Gt213,Gtlu221,kmadd(Gt233,Gtlu223,kmadd(kadd(Gt212,Gt313),Gtlu231,kmadd(kadd(Gt222,Gt323),Gtlu232,kmadd(Gt333,Gtlu233,kmadd(Gt112,kadd(Gtlu131,Gtlu311),kmadd(Gt122,kadd(Gtlu132,Gtlu312),kmadd(Gt123,kadd(Gtlu133,kadd(Gtlu212,Gtlu313)),kmadd(Gt212,Gtlu321,kmadd(Gt222,Gtlu322,kmul(Gt223,kadd(Gtlu222,kadd(Gtlu233,Gtlu323))))))))))))))),ToReal(2.),kmul(kmadd(Gt312,Gtlu331,kmadd(Gt322,Gtlu332,kmul(Gt323,Gtlu333))),ToReal(4.))))))))))))); + kmul(ToReal(0.5),kmadd(gt13L,JacPDstandardNth2Xt1,kmadd(gt23L,JacPDstandardNth2Xt2,kmadd(gt33L,JacPDstandardNth2Xt3,kmadd(gt12L,JacPDstandardNth3Xt1,kmadd(gt22L,JacPDstandardNth3Xt2,kmadd(gt23L,JacPDstandardNth3Xt3,kmadd(Gtl213,Xtn1,kmadd(Gtl312,Xtn1,kmadd(Gtl223,Xtn2,kmadd(Gtl322,Xtn2,kmadd(Gtl233,Xtn3,kmadd(Gtl323,Xtn3,knmsub(gtu11,JacPDstandardNth11gt23,knmsub(gtu22,JacPDstandardNth22gt23,knmsub(gtu33,JacPDstandardNth33gt23,knmsub(gtu12,kadd(JacPDstandardNth21gt23,JacPDstandardNth12gt23),knmsub(gtu13,kadd(JacPDstandardNth31gt23,JacPDstandardNth13gt23),knmsub(gtu23,kadd(JacPDstandardNth32gt23,JacPDstandardNth23gt23),kmadd(kmadd(Gt123,Gtlu133,kmadd(Gt113,Gtlu211,kmadd(Gt123,Gtlu212,kmadd(Gt133,Gtlu213,kmadd(Gt213,Gtlu221,kmadd(Gt223,Gtlu222,kmadd(Gt233,Gtlu223,kmadd(Gt212,Gtlu231,kmadd(Gt313,Gtlu231,kmadd(Gt222,Gtlu232,kmadd(Gt323,Gtlu232,kmadd(Gt223,Gtlu233,kmadd(Gt333,Gtlu233,kmadd(Gt112,kadd(Gtlu131,Gtlu311),kmadd(Gt122,kadd(Gtlu132,Gtlu312),kmadd(Gt123,Gtlu313,kmadd(Gt212,Gtlu321,kmadd(Gt222,Gtlu322,kmul(Gt223,Gtlu323))))))))))))))))))),ToReal(2),kmul(kmadd(Gt312,Gtlu331,kmadd(Gt322,Gtlu332,kmul(Gt323,Gtlu333))),ToReal(4)))))))))))))))))))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Rt33 = - kmadd(gt13L,JacPDstandardNth3Xt1,kmadd(gt23L,JacPDstandardNth3Xt2,kmadd(gt33L,JacPDstandardNth3Xt3,kmadd(Gtl313,Xtn1,kmadd(Gtl323,Xtn2,kmadd(Gtl333,Xtn3,kmadd(kmadd(gtu11,JacPDstandardNth11gt33,kmadd(gtu12,kadd(JacPDstandardNth12gt33,JacPDstandardNth21gt33),kmadd(gtu22,JacPDstandardNth22gt33,kmadd(gtu13,kadd(JacPDstandardNth13gt33,JacPDstandardNth31gt33),kmadd(gtu23,kadd(JacPDstandardNth23gt33,JacPDstandardNth32gt33),kmul(gtu33,JacPDstandardNth33gt33)))))),ToReal(-0.5),kmadd(Gt113,kmadd(Gtlu311,ToReal(2.),Gtlu131),kmadd(Gt123,kmadd(Gtlu312,ToReal(2.),Gtlu132),kmadd(Gt133,kmadd(Gtlu313,ToReal(2.),Gtlu133),kmadd(Gt213,kmadd(Gtlu321,ToReal(2.),Gtlu231),kmadd(Gt223,kmadd(Gtlu322,ToReal(2.),Gtlu232),kmadd(Gt233,kmadd(Gtlu323,ToReal(2.),Gtlu233),kmul(kmadd(Gt313,Gtlu331,kmadd(Gt323,Gtlu332,kmul(Gt333,Gtlu333))),ToReal(3.))))))))))))))); + kmadd(gt13L,JacPDstandardNth3Xt1,kmadd(gt23L,JacPDstandardNth3Xt2,kmadd(gt33L,JacPDstandardNth3Xt3,kmadd(Gtl313,Xtn1,kmadd(Gtl323,Xtn2,kmadd(Gtl333,Xtn3,knmsub(kmadd(gtu11,JacPDstandardNth11gt33,kmadd(gtu12,kadd(JacPDstandardNth12gt33,JacPDstandardNth21gt33),kmadd(gtu22,JacPDstandardNth22gt33,kmadd(gtu33,JacPDstandardNth33gt33,kmadd(gtu23,kadd(JacPDstandardNth32gt33,JacPDstandardNth23gt33),kmul(gtu13,kadd(JacPDstandardNth31gt33,JacPDstandardNth13gt33))))))),ToReal(0.5),kmadd(Gt113,kmadd(Gtlu311,ToReal(2),Gtlu131),kmadd(Gt123,kmadd(Gtlu312,ToReal(2),Gtlu132),kmadd(Gt133,kmadd(Gtlu313,ToReal(2),Gtlu133),kmadd(Gt213,kmadd(Gtlu321,ToReal(2),Gtlu231),kmadd(Gt223,kmadd(Gtlu322,ToReal(2),Gtlu232),kmadd(Gt233,kmadd(Gtlu323,ToReal(2),Gtlu233),kmul(kmadd(Gt313,Gtlu331,kmadd(Gt323,Gtlu332,kmul(Gt333,Gtlu333))),ToReal(3))))))))))))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED fac1 = IfThen(conformalMethod == - 1.,kdiv(ToReal(-0.5),phiL),ToReal(1.)); + 1,kdiv(ToReal(-0.5),phiL),ToReal(1)); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED cdphi1 = kmul(fac1,JacPDstandardNth1phi); @@ -1699,43 +1740,43 @@ static void ML_BSSN_RHS2_Body(cGH const * restrict const cctkGH, int const dir, kmul(fac1,JacPDstandardNth3phi); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED fac2 = IfThen(conformalMethod == - 1.,kdiv(ToReal(0.5),kmul(phiL,phiL)),ToReal(0.)); + 1,kdiv(ToReal(0.5),kmul(phiL,phiL)),ToReal(0)); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED cdphi211 = - kmadd(fac2,kmul(JacPDstandardNth1phi,JacPDstandardNth1phi),kmul(fac1,kmadd(kmadd(Gt111,JacPDstandardNth1phi,kmadd(Gt211,JacPDstandardNth2phi,kmul(Gt311,JacPDstandardNth3phi))),ToReal(-1.),JacPDstandardNth11phi))); + kmadd(fac2,kmul(JacPDstandardNth1phi,JacPDstandardNth1phi),kmul(fac1,ksub(JacPDstandardNth11phi,kmadd(Gt111,JacPDstandardNth1phi,kmadd(Gt311,JacPDstandardNth3phi,kmul(Gt211,JacPDstandardNth2phi)))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED cdphi212 = - kmadd(fac2,kmul(JacPDstandardNth1phi,JacPDstandardNth2phi),kmul(fac1,kmadd(kmadd(Gt112,JacPDstandardNth1phi,kmadd(Gt212,JacPDstandardNth2phi,kmul(Gt312,JacPDstandardNth3phi))),ToReal(-1.),JacPDstandardNth12phi))); + kmadd(fac2,kmul(JacPDstandardNth1phi,JacPDstandardNth2phi),kmul(fac1,ksub(JacPDstandardNth12phi,kmadd(Gt112,JacPDstandardNth1phi,kmadd(Gt312,JacPDstandardNth3phi,kmul(Gt212,JacPDstandardNth2phi)))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED cdphi213 = - kmadd(fac2,kmul(JacPDstandardNth1phi,JacPDstandardNth3phi),kmul(fac1,kmadd(kmadd(Gt113,JacPDstandardNth1phi,kmadd(Gt213,JacPDstandardNth2phi,kmul(Gt313,JacPDstandardNth3phi))),ToReal(-1.),JacPDstandardNth13phi))); + kmadd(fac2,kmul(JacPDstandardNth1phi,JacPDstandardNth3phi),kmul(fac1,ksub(JacPDstandardNth13phi,kmadd(Gt113,JacPDstandardNth1phi,kmadd(Gt313,JacPDstandardNth3phi,kmul(Gt213,JacPDstandardNth2phi)))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED cdphi222 = - kmadd(fac2,kmul(JacPDstandardNth2phi,JacPDstandardNth2phi),kmul(fac1,kmul(ToReal(-1.),kmadd(Gt122,JacPDstandardNth1phi,kmadd(Gt222,JacPDstandardNth2phi,kmadd(Gt322,JacPDstandardNth3phi,kmul(JacPDstandardNth22phi,ToReal(-1.)))))))); + kmsub(fac2,kmul(JacPDstandardNth2phi,JacPDstandardNth2phi),kmul(fac1,kmadd(Gt122,JacPDstandardNth1phi,kmadd(Gt222,JacPDstandardNth2phi,kmsub(Gt322,JacPDstandardNth3phi,JacPDstandardNth22phi))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED cdphi223 = - kmadd(fac2,kmul(JacPDstandardNth2phi,JacPDstandardNth3phi),kmul(fac1,kmul(ToReal(-1.),kmadd(Gt123,JacPDstandardNth1phi,kmadd(Gt223,JacPDstandardNth2phi,kmadd(Gt323,JacPDstandardNth3phi,kmul(JacPDstandardNth23phi,ToReal(-1.)))))))); + kmsub(fac2,kmul(JacPDstandardNth2phi,JacPDstandardNth3phi),kmul(fac1,kmadd(Gt123,JacPDstandardNth1phi,kmadd(Gt223,JacPDstandardNth2phi,kmsub(Gt323,JacPDstandardNth3phi,JacPDstandardNth23phi))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED cdphi233 = - kmadd(fac2,kmul(JacPDstandardNth3phi,JacPDstandardNth3phi),kmul(fac1,kmul(ToReal(-1.),kmadd(Gt133,JacPDstandardNth1phi,kmadd(Gt233,JacPDstandardNth2phi,kmadd(Gt333,JacPDstandardNth3phi,kmul(JacPDstandardNth33phi,ToReal(-1.)))))))); + kmsub(fac2,kmul(JacPDstandardNth3phi,JacPDstandardNth3phi),kmul(fac1,kmadd(Gt133,JacPDstandardNth1phi,kmadd(Gt233,JacPDstandardNth2phi,kmsub(Gt333,JacPDstandardNth3phi,JacPDstandardNth33phi))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Rphi11 = - kmul(ToReal(-2.),kadd(cdphi211,kmadd(kmul(cdphi1,cdphi1),kmul(kmadd(gt11L,gtu11,ToReal(-1.)),ToReal(2.)),kmul(gt11L,kmadd(cdphi211,gtu11,kmadd(cdphi233,gtu33,kmadd(kmadd(cdphi212,gtu12,kmadd(cdphi213,gtu13,kmadd(cdphi223,gtu23,kmul(gtu33,kmul(cdphi3,cdphi3))))),ToReal(2.),kmadd(gtu22,kmadd(kmul(cdphi2,cdphi2),ToReal(2.),cdphi222),kmul(kmadd(cdphi1,kmadd(cdphi2,gtu12,kmul(cdphi3,gtu13)),kmul(cdphi2,kmul(cdphi3,gtu23))),ToReal(4.)))))))))); + kmul(ToReal(-2),kadd(cdphi211,kmadd(kmul(cdphi1,cdphi1),kmul(kmadd(gt11L,gtu11,ToReal(-1)),ToReal(2)),kmul(gt11L,kmadd(cdphi211,gtu11,kmadd(cdphi233,gtu33,kmadd(kmadd(cdphi212,gtu12,kmadd(cdphi213,gtu13,kmadd(cdphi223,gtu23,kmul(gtu33,kmul(cdphi3,cdphi3))))),ToReal(2),kmadd(gtu22,kmadd(kmul(cdphi2,cdphi2),ToReal(2),cdphi222),kmul(kmadd(cdphi1,kmadd(cdphi2,gtu12,kmul(cdphi3,gtu13)),kmul(cdphi2,kmul(cdphi3,gtu23))),ToReal(4)))))))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Rphi12 = - kmul(ToReal(-2.),kadd(cdphi212,kmadd(gt12L,kmadd(cdphi211,gtu11,kmadd(kmadd(cdphi212,gtu12,kmadd(cdphi213,gtu13,kmadd(cdphi223,gtu23,kmul(gtu11,kmul(cdphi1,cdphi1))))),ToReal(2.),kmadd(gtu22,kmadd(kmul(cdphi2,cdphi2),ToReal(2.),cdphi222),kmadd(gtu33,kmadd(kmul(cdphi3,cdphi3),ToReal(2.),cdphi233),kmul(cdphi2,kmul(cdphi3,kmul(gtu23,ToReal(4.)))))))),kmul(cdphi1,kmadd(gt12L,kmul(cdphi3,kmul(gtu13,ToReal(4.))),kmul(cdphi2,kmadd(gt12L,kmul(gtu12,ToReal(4.)),ToReal(-2.)))))))); + kmul(ToReal(-2),kadd(cdphi212,kmadd(gt12L,kmadd(cdphi211,gtu11,kmadd(kmadd(cdphi212,gtu12,kmadd(cdphi213,gtu13,kmadd(cdphi223,gtu23,kmul(gtu11,kmul(cdphi1,cdphi1))))),ToReal(2),kmadd(gtu22,kmadd(kmul(cdphi2,cdphi2),ToReal(2),cdphi222),kmadd(gtu33,kmadd(kmul(cdphi3,cdphi3),ToReal(2),cdphi233),kmul(cdphi2,kmul(cdphi3,kmul(gtu23,ToReal(4)))))))),kmul(cdphi1,kmadd(gt12L,kmul(cdphi3,kmul(gtu13,ToReal(4))),kmul(cdphi2,kmadd(gt12L,kmul(gtu12,ToReal(4)),ToReal(-2)))))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Rphi13 = - kmul(ToReal(-2.),kadd(cdphi213,kmadd(gt13L,kmadd(cdphi211,gtu11,kmadd(kmadd(cdphi212,gtu12,kmadd(cdphi213,gtu13,kmadd(cdphi223,gtu23,kmul(gtu11,kmul(cdphi1,cdphi1))))),ToReal(2.),kmadd(gtu22,kmadd(kmul(cdphi2,cdphi2),ToReal(2.),cdphi222),kmadd(gtu33,kmadd(kmul(cdphi3,cdphi3),ToReal(2.),cdphi233),kmul(cdphi2,kmul(cdphi3,kmul(gtu23,ToReal(4.)))))))),kmul(cdphi1,kmadd(gt13L,kmul(cdphi2,kmul(gtu12,ToReal(4.))),kmul(cdphi3,kmadd(gt13L,kmul(gtu13,ToReal(4.)),ToReal(-2.)))))))); + kmul(ToReal(-2),kadd(cdphi213,kmadd(gt13L,kmadd(cdphi211,gtu11,kmadd(kmadd(cdphi212,gtu12,kmadd(cdphi213,gtu13,kmadd(cdphi223,gtu23,kmul(gtu11,kmul(cdphi1,cdphi1))))),ToReal(2),kmadd(gtu22,kmadd(kmul(cdphi2,cdphi2),ToReal(2),cdphi222),kmadd(gtu33,kmadd(kmul(cdphi3,cdphi3),ToReal(2),cdphi233),kmul(cdphi2,kmul(cdphi3,kmul(gtu23,ToReal(4)))))))),kmul(cdphi1,kmadd(gt13L,kmul(cdphi2,kmul(gtu12,ToReal(4))),kmul(cdphi3,kmadd(gt13L,kmul(gtu13,ToReal(4)),ToReal(-2)))))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Rphi22 = - kmul(ToReal(-2.),kadd(cdphi222,kmadd(kmul(cdphi2,cdphi2),kmul(kmadd(gt22L,gtu22,ToReal(-1.)),ToReal(2.)),kmul(gt22L,kmadd(cdphi222,gtu22,kmadd(cdphi233,gtu33,kmadd(kmadd(cdphi212,gtu12,kmadd(cdphi213,gtu13,kmadd(cdphi223,gtu23,kmul(gtu33,kmul(cdphi3,cdphi3))))),ToReal(2.),kmadd(gtu11,kmadd(kmul(cdphi1,cdphi1),ToReal(2.),cdphi211),kmul(kmadd(cdphi1,kmul(cdphi3,gtu13),kmul(cdphi2,kmadd(cdphi1,gtu12,kmul(cdphi3,gtu23)))),ToReal(4.)))))))))); + kmul(ToReal(-2),kadd(cdphi222,kmadd(kmul(cdphi2,cdphi2),kmul(kmadd(gt22L,gtu22,ToReal(-1)),ToReal(2)),kmul(gt22L,kmadd(cdphi222,gtu22,kmadd(cdphi233,gtu33,kmadd(kmadd(cdphi212,gtu12,kmadd(cdphi213,gtu13,kmadd(cdphi223,gtu23,kmul(gtu33,kmul(cdphi3,cdphi3))))),ToReal(2),kmadd(gtu11,kmadd(kmul(cdphi1,cdphi1),ToReal(2),cdphi211),kmul(kmadd(cdphi1,kmul(cdphi3,gtu13),kmul(cdphi2,kmadd(cdphi1,gtu12,kmul(cdphi3,gtu23)))),ToReal(4)))))))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Rphi23 = - kmul(ToReal(-2.),kadd(cdphi223,kmadd(gt23L,kmadd(cdphi222,gtu22,kmadd(kmadd(cdphi212,gtu12,kmadd(cdphi213,gtu13,kmadd(cdphi223,gtu23,kmul(gtu22,kmul(cdphi2,cdphi2))))),ToReal(2.),kmadd(gtu11,kmadd(kmul(cdphi1,cdphi1),ToReal(2.),cdphi211),kmadd(gtu33,kmadd(kmul(cdphi3,cdphi3),ToReal(2.),cdphi233),kmul(cdphi1,kmul(cdphi3,kmul(gtu13,ToReal(4.)))))))),kmul(cdphi2,kmadd(gt23L,kmul(cdphi1,kmul(gtu12,ToReal(4.))),kmul(cdphi3,kmadd(gt23L,kmul(gtu23,ToReal(4.)),ToReal(-2.)))))))); + kmul(ToReal(-2),kadd(cdphi223,kmadd(gt23L,kmadd(cdphi222,gtu22,kmadd(kmadd(cdphi212,gtu12,kmadd(cdphi213,gtu13,kmadd(cdphi223,gtu23,kmul(gtu22,kmul(cdphi2,cdphi2))))),ToReal(2),kmadd(gtu11,kmadd(kmul(cdphi1,cdphi1),ToReal(2),cdphi211),kmadd(gtu33,kmadd(kmul(cdphi3,cdphi3),ToReal(2),cdphi233),kmul(cdphi1,kmul(cdphi3,kmul(gtu13,ToReal(4)))))))),kmul(cdphi2,kmadd(gt23L,kmul(cdphi1,kmul(gtu12,ToReal(4))),kmul(cdphi3,kmadd(gt23L,kmul(gtu23,ToReal(4)),ToReal(-2)))))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Rphi33 = - kmul(ToReal(-2.),kadd(cdphi233,kmadd(kmul(cdphi3,cdphi3),kmul(kmadd(gt33L,gtu33,ToReal(-1.)),ToReal(2.)),kmul(gt33L,kmadd(cdphi233,gtu33,kmadd(kmadd(cdphi213,gtu13,kmul(cdphi223,gtu23)),ToReal(2.),kmadd(gtu11,kmadd(kmul(cdphi1,cdphi1),ToReal(2.),cdphi211),kmadd(gtu22,kmadd(kmul(cdphi2,cdphi2),ToReal(2.),cdphi222),kmadd(cdphi3,kmul(kmadd(cdphi1,gtu13,kmul(cdphi2,gtu23)),ToReal(4.)),kmul(gtu12,kmadd(cdphi212,ToReal(2.),kmul(cdphi1,kmul(cdphi2,ToReal(4.)))))))))))))); + kmul(ToReal(-2),kadd(cdphi233,kmadd(kmul(cdphi3,cdphi3),kmul(kmadd(gt33L,gtu33,ToReal(-1)),ToReal(2)),kmul(gt33L,kmadd(cdphi233,gtu33,kmadd(kmadd(cdphi213,gtu13,kmul(cdphi223,gtu23)),ToReal(2),kmadd(gtu11,kmadd(kmul(cdphi1,cdphi1),ToReal(2),cdphi211),kmadd(gtu22,kmadd(kmul(cdphi2,cdphi2),ToReal(2),cdphi222),kmadd(cdphi3,kmul(kmadd(cdphi1,gtu13,kmul(cdphi2,gtu23)),ToReal(4)),kmul(gtu12,kmadd(cdphi212,ToReal(2),kmul(cdphi1,kmul(cdphi2,ToReal(4)))))))))))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Atm11 = kmadd(At11L,gtu11,kmadd(At12L,gtu12,kmul(At13L,gtu13))); @@ -1777,49 +1818,49 @@ static void ML_BSSN_RHS2_Body(cGH const * restrict const cctkGH, int const dir, CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED R33 = kadd(Rphi33,Rt33); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED trS = - kmul(em4phi,kmadd(eTxxL,gtu11,kmadd(eTyyL,gtu22,kmadd(eTzzL,gtu33,kmul(kmadd(eTxyL,gtu12,kmadd(eTxzL,gtu13,kmul(eTyzL,gtu23))),ToReal(2.)))))); + kmul(em4phi,kmadd(eTxxL,gtu11,kmadd(eTyyL,gtu22,kmadd(eTzzL,gtu33,kmul(kmadd(eTxyL,gtu12,kmadd(eTxzL,gtu13,kmul(eTyzL,gtu23))),ToReal(2)))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Ats11 = - kmadd(Gt211,JacPDstandardNth2alpha,kmadd(Gt311,JacPDstandardNth3alpha,kmadd(alphaL,R11,kmadd(JacPDstandardNth11alpha,ToReal(-1.),kmul(JacPDstandardNth1alpha,kmadd(cdphi1,ToReal(4.),Gt111)))))); + kmadd(Gt211,JacPDstandardNth2alpha,kmadd(Gt311,JacPDstandardNth3alpha,kmadd(alphaL,R11,kmsub(JacPDstandardNth1alpha,kmadd(cdphi1,ToReal(4),Gt111),JacPDstandardNth11alpha)))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Ats12 = - kmadd(Gt312,JacPDstandardNth3alpha,kmadd(alphaL,R12,kmadd(JacPDstandardNth12alpha,ToReal(-1.),kmadd(JacPDstandardNth2alpha,kmadd(cdphi1,ToReal(2.),Gt212),kmul(JacPDstandardNth1alpha,kmadd(cdphi2,ToReal(2.),Gt112)))))); + kmadd(Gt312,JacPDstandardNth3alpha,kmadd(alphaL,R12,ksub(kmadd(JacPDstandardNth2alpha,kmadd(cdphi1,ToReal(2),Gt212),kmul(JacPDstandardNth1alpha,kmadd(cdphi2,ToReal(2),Gt112))),JacPDstandardNth12alpha))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Ats13 = - kmadd(Gt213,JacPDstandardNth2alpha,kmadd(alphaL,R13,kmadd(JacPDstandardNth13alpha,ToReal(-1.),kmadd(JacPDstandardNth3alpha,kmadd(cdphi1,ToReal(2.),Gt313),kmul(JacPDstandardNth1alpha,kmadd(cdphi3,ToReal(2.),Gt113)))))); + kmadd(Gt213,JacPDstandardNth2alpha,kmadd(alphaL,R13,ksub(kmadd(JacPDstandardNth3alpha,kmadd(cdphi1,ToReal(2),Gt313),kmul(JacPDstandardNth1alpha,kmadd(cdphi3,ToReal(2),Gt113))),JacPDstandardNth13alpha))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Ats22 = - kmadd(Gt122,JacPDstandardNth1alpha,kmadd(Gt322,JacPDstandardNth3alpha,kmadd(alphaL,R22,kmadd(JacPDstandardNth22alpha,ToReal(-1.),kmul(JacPDstandardNth2alpha,kmadd(cdphi2,ToReal(4.),Gt222)))))); + kmadd(Gt122,JacPDstandardNth1alpha,kmadd(Gt322,JacPDstandardNth3alpha,kmadd(alphaL,R22,kmsub(JacPDstandardNth2alpha,kmadd(cdphi2,ToReal(4),Gt222),JacPDstandardNth22alpha)))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Ats23 = - kmadd(Gt123,JacPDstandardNth1alpha,kmadd(alphaL,R23,kmadd(JacPDstandardNth23alpha,ToReal(-1.),kmadd(JacPDstandardNth3alpha,kmadd(cdphi2,ToReal(2.),Gt323),kmul(JacPDstandardNth2alpha,kmadd(cdphi3,ToReal(2.),Gt223)))))); + kmadd(Gt123,JacPDstandardNth1alpha,kmadd(alphaL,R23,ksub(kmadd(JacPDstandardNth3alpha,kmadd(cdphi2,ToReal(2),Gt323),kmul(JacPDstandardNth2alpha,kmadd(cdphi3,ToReal(2),Gt223))),JacPDstandardNth23alpha))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Ats33 = - kmadd(Gt133,JacPDstandardNth1alpha,kmadd(Gt233,JacPDstandardNth2alpha,kmadd(alphaL,R33,kmadd(JacPDstandardNth33alpha,ToReal(-1.),kmul(JacPDstandardNth3alpha,kmadd(cdphi3,ToReal(4.),Gt333)))))); + kmadd(Gt133,JacPDstandardNth1alpha,kmadd(Gt233,JacPDstandardNth2alpha,kmadd(alphaL,R33,kmsub(JacPDstandardNth3alpha,kmadd(cdphi3,ToReal(4),Gt333),JacPDstandardNth33alpha)))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED trAts = - kmadd(Ats11,gu11,kmadd(Ats22,gu22,kmadd(Ats33,gu33,kmul(kmadd(Ats12,gu12,kmadd(Ats13,gu13,kmul(Ats23,gu23))),ToReal(2.))))); + kmadd(Ats11,gu11,kmadd(Ats22,gu22,kmadd(Ats33,gu33,kmul(kmadd(Ats12,gu12,kmadd(Ats13,gu13,kmul(Ats23,gu23))),ToReal(2))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED At11rhsL = - kmadd(At11L,kmul(kadd(JacPDstandardNth1beta1,kadd(JacPDstandardNth2beta2,JacPDstandardNth3beta3)),ToReal(-0.666666666666666666666666666667)),kmadd(em4phi,kmadd(g11,kmul(trAts,ToReal(-0.333333333333333333333333333333)),Ats11),kmadd(alphaL,kmadd(At11L,trKL,kmadd(kmadd(At11L,Atm11,kmadd(At12L,Atm21,kmul(At13L,Atm31))),ToReal(-2.),kmul(em4phi,kmul(ToReal(-25.132741228718345),kmadd(g11,kmul(trS,ToReal(-0.333333333333333333333333333333)),eTxxL))))),kmul(kmadd(At11L,JacPDstandardNth1beta1,kmadd(At12L,JacPDstandardNth1beta2,kmul(At13L,JacPDstandardNth1beta3))),ToReal(2.))))); + kmadd(At11L,kmul(kadd(JacPDstandardNth1beta1,kadd(JacPDstandardNth2beta2,JacPDstandardNth3beta3)),ToReal(-0.666666666666666666666666666667)),kmadd(em4phi,kmadd(g11,kmul(trAts,ToReal(-0.333333333333333333333333333333)),Ats11),kmadd(kmadd(At11L,JacPDstandardNth1beta1,kmadd(At12L,JacPDstandardNth1beta2,kmul(At13L,JacPDstandardNth1beta3))),ToReal(2),kmul(alphaL,kmadd(At11L,trKL,kmadd(kmadd(At11L,Atm11,kmadd(At12L,Atm21,kmul(At13L,Atm31))),ToReal(-2),kmul(em4phi,kmul(ToReal(-8),kmul(kmadd(g11,kmul(trS,ToReal(-0.333333333333333333333333333333)),eTxxL),ToReal(3.14159265358979323846264338328)))))))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED At12rhsL = - kmadd(At22L,JacPDstandardNth1beta2,kmadd(At23L,JacPDstandardNth1beta3,kmadd(At11L,JacPDstandardNth2beta1,kmadd(At13L,JacPDstandardNth2beta3,kmadd(At12L,kadd(JacPDstandardNth1beta1,kmadd(kadd(JacPDstandardNth1beta1,kadd(JacPDstandardNth2beta2,JacPDstandardNth3beta3)),ToReal(-0.666666666666666666666666666667),JacPDstandardNth2beta2)),kmadd(em4phi,kmadd(g12,kmul(trAts,ToReal(-0.333333333333333333333333333333)),Ats12),kmul(alphaL,kmadd(At12L,trKL,kmadd(kmadd(At11L,Atm12,kmadd(At12L,Atm22,kmul(At13L,Atm32))),ToReal(-2.),kmul(em4phi,kmul(ToReal(-25.132741228718345),kmadd(g12,kmul(trS,ToReal(-0.333333333333333333333333333333)),eTxyL)))))))))))); + kmadd(At22L,JacPDstandardNth1beta2,kmadd(At23L,JacPDstandardNth1beta3,kmadd(At11L,JacPDstandardNth2beta1,kmadd(At13L,JacPDstandardNth2beta3,kmadd(At12L,kadd(JacPDstandardNth1beta1,kmadd(kadd(JacPDstandardNth1beta1,kadd(JacPDstandardNth2beta2,JacPDstandardNth3beta3)),ToReal(-0.666666666666666666666666666667),JacPDstandardNth2beta2)),kmadd(em4phi,kmadd(g12,kmul(trAts,ToReal(-0.333333333333333333333333333333)),Ats12),kmul(alphaL,kmadd(At12L,trKL,kmadd(kmadd(At11L,Atm12,kmadd(At12L,Atm22,kmul(At13L,Atm32))),ToReal(-2),kmul(em4phi,kmul(ToReal(-8),kmul(kmadd(g12,kmul(trS,ToReal(-0.333333333333333333333333333333)),eTxyL),ToReal(3.14159265358979323846264338328))))))))))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED At13rhsL = - kmadd(At23L,JacPDstandardNth1beta2,kmadd(At33L,JacPDstandardNth1beta3,kmadd(At11L,JacPDstandardNth3beta1,kmadd(At12L,JacPDstandardNth3beta2,kmadd(At13L,kadd(JacPDstandardNth1beta1,kmadd(kadd(JacPDstandardNth1beta1,kadd(JacPDstandardNth2beta2,JacPDstandardNth3beta3)),ToReal(-0.666666666666666666666666666667),JacPDstandardNth3beta3)),kmadd(em4phi,kmadd(g13,kmul(trAts,ToReal(-0.333333333333333333333333333333)),Ats13),kmul(alphaL,kmadd(At13L,trKL,kmadd(kmadd(At11L,Atm13,kmadd(At12L,Atm23,kmul(At13L,Atm33))),ToReal(-2.),kmul(em4phi,kmul(ToReal(-25.132741228718345),kmadd(g13,kmul(trS,ToReal(-0.333333333333333333333333333333)),eTxzL)))))))))))); + kmadd(At23L,JacPDstandardNth1beta2,kmadd(At33L,JacPDstandardNth1beta3,kmadd(At11L,JacPDstandardNth3beta1,kmadd(At12L,JacPDstandardNth3beta2,kmadd(At13L,kadd(JacPDstandardNth1beta1,kmadd(kadd(JacPDstandardNth1beta1,kadd(JacPDstandardNth2beta2,JacPDstandardNth3beta3)),ToReal(-0.666666666666666666666666666667),JacPDstandardNth3beta3)),kmadd(em4phi,kmadd(g13,kmul(trAts,ToReal(-0.333333333333333333333333333333)),Ats13),kmul(alphaL,kmadd(At13L,trKL,kmadd(kmadd(At11L,Atm13,kmadd(At12L,Atm23,kmul(At13L,Atm33))),ToReal(-2),kmul(em4phi,kmul(ToReal(-8),kmul(kmadd(g13,kmul(trS,ToReal(-0.333333333333333333333333333333)),eTxzL),ToReal(3.14159265358979323846264338328))))))))))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED At22rhsL = - kmadd(At22L,kmul(kadd(JacPDstandardNth1beta1,kadd(JacPDstandardNth2beta2,JacPDstandardNth3beta3)),ToReal(-0.666666666666666666666666666667)),kmadd(em4phi,kmadd(g22,kmul(trAts,ToReal(-0.333333333333333333333333333333)),Ats22),kmadd(alphaL,kmadd(At22L,trKL,kmadd(kmadd(At12L,Atm12,kmadd(At22L,Atm22,kmul(At23L,Atm32))),ToReal(-2.),kmul(em4phi,kmul(ToReal(-25.132741228718345),kmadd(g22,kmul(trS,ToReal(-0.333333333333333333333333333333)),eTyyL))))),kmul(kmadd(At12L,JacPDstandardNth2beta1,kmadd(At22L,JacPDstandardNth2beta2,kmul(At23L,JacPDstandardNth2beta3))),ToReal(2.))))); + kmadd(At22L,kmul(kadd(JacPDstandardNth1beta1,kadd(JacPDstandardNth2beta2,JacPDstandardNth3beta3)),ToReal(-0.666666666666666666666666666667)),kmadd(em4phi,kmadd(g22,kmul(trAts,ToReal(-0.333333333333333333333333333333)),Ats22),kmadd(kmadd(At12L,JacPDstandardNth2beta1,kmadd(At22L,JacPDstandardNth2beta2,kmul(At23L,JacPDstandardNth2beta3))),ToReal(2),kmul(alphaL,kmadd(At22L,trKL,kmadd(kmadd(At12L,Atm12,kmadd(At22L,Atm22,kmul(At23L,Atm32))),ToReal(-2),kmul(em4phi,kmul(ToReal(-8),kmul(kmadd(g22,kmul(trS,ToReal(-0.333333333333333333333333333333)),eTyyL),ToReal(3.14159265358979323846264338328)))))))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED At23rhsL = - kmadd(At13L,JacPDstandardNth2beta1,kmadd(At33L,JacPDstandardNth2beta3,kmadd(At12L,JacPDstandardNth3beta1,kmadd(At22L,JacPDstandardNth3beta2,kmadd(At23L,kadd(JacPDstandardNth2beta2,kmadd(kadd(JacPDstandardNth1beta1,kadd(JacPDstandardNth2beta2,JacPDstandardNth3beta3)),ToReal(-0.666666666666666666666666666667),JacPDstandardNth3beta3)),kmadd(em4phi,kmadd(g23,kmul(trAts,ToReal(-0.333333333333333333333333333333)),Ats23),kmul(alphaL,kmadd(At23L,trKL,kmadd(kmadd(At12L,Atm13,kmadd(At22L,Atm23,kmul(At23L,Atm33))),ToReal(-2.),kmul(em4phi,kmul(ToReal(-25.132741228718345),kmadd(g23,kmul(trS,ToReal(-0.333333333333333333333333333333)),eTyzL)))))))))))); + kmadd(At13L,JacPDstandardNth2beta1,kmadd(At33L,JacPDstandardNth2beta3,kmadd(At12L,JacPDstandardNth3beta1,kmadd(At22L,JacPDstandardNth3beta2,kmadd(At23L,kadd(JacPDstandardNth2beta2,kmadd(kadd(JacPDstandardNth1beta1,kadd(JacPDstandardNth2beta2,JacPDstandardNth3beta3)),ToReal(-0.666666666666666666666666666667),JacPDstandardNth3beta3)),kmadd(em4phi,kmadd(g23,kmul(trAts,ToReal(-0.333333333333333333333333333333)),Ats23),kmul(alphaL,kmadd(At23L,trKL,kmadd(kmadd(At12L,Atm13,kmadd(At22L,Atm23,kmul(At23L,Atm33))),ToReal(-2),kmul(em4phi,kmul(ToReal(-8),kmul(kmadd(g23,kmul(trS,ToReal(-0.333333333333333333333333333333)),eTyzL),ToReal(3.14159265358979323846264338328))))))))))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED At33rhsL = - kmadd(At33L,kmul(kadd(JacPDstandardNth1beta1,kadd(JacPDstandardNth2beta2,JacPDstandardNth3beta3)),ToReal(-0.666666666666666666666666666667)),kmadd(em4phi,kmadd(g33,kmul(trAts,ToReal(-0.333333333333333333333333333333)),Ats33),kmadd(alphaL,kmadd(At33L,trKL,kmadd(kmadd(At13L,Atm13,kmadd(At23L,Atm23,kmul(At33L,Atm33))),ToReal(-2.),kmul(em4phi,kmul(ToReal(-25.132741228718345),kmadd(g33,kmul(trS,ToReal(-0.333333333333333333333333333333)),eTzzL))))),kmul(kmadd(At13L,JacPDstandardNth3beta1,kmadd(At23L,JacPDstandardNth3beta2,kmul(At33L,JacPDstandardNth3beta3))),ToReal(2.))))); + kmadd(At33L,kmul(kadd(JacPDstandardNth1beta1,kadd(JacPDstandardNth2beta2,JacPDstandardNth3beta3)),ToReal(-0.666666666666666666666666666667)),kmadd(em4phi,kmadd(g33,kmul(trAts,ToReal(-0.333333333333333333333333333333)),Ats33),kmadd(kmadd(At13L,JacPDstandardNth3beta1,kmadd(At23L,JacPDstandardNth3beta2,kmul(At33L,JacPDstandardNth3beta3))),ToReal(2),kmul(alphaL,kmadd(At33L,trKL,kmadd(kmadd(At13L,Atm13,kmadd(At23L,Atm23,kmul(At33L,Atm33))),ToReal(-2),kmul(em4phi,kmul(ToReal(-8),kmul(kmadd(g33,kmul(trS,ToReal(-0.333333333333333333333333333333)),eTzzL),ToReal(3.14159265358979323846264338328)))))))))); /* 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(At11rhs[index],At11rhsL); vec_store_nta_partial(At12rhs[index],At12rhsL); vec_store_nta_partial(At13rhs[index],At13rhsL); @@ -1846,7 +1887,7 @@ extern "C" void ML_BSSN_RHS2(CCTK_ARGUMENTS) return; } - const char *const groups[] = { + const char* const groups[] = { "ML_BSSN::ML_curv", "ML_BSSN::ML_curvrhs", "ML_BSSN::ML_Gamma", @@ -1857,23 +1898,33 @@ extern "C" void ML_BSSN_RHS2(CCTK_ARGUMENTS) "ML_BSSN::ML_trace_curv"}; GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_RHS2", 8, groups); - switch(fdOrder) + switch (fdOrder) { case 2: + { GenericFD_EnsureStencilFits(cctkGH, "ML_BSSN_RHS2", 1, 1, 1); break; + } case 4: + { GenericFD_EnsureStencilFits(cctkGH, "ML_BSSN_RHS2", 2, 2, 2); break; + } case 6: + { GenericFD_EnsureStencilFits(cctkGH, "ML_BSSN_RHS2", 3, 3, 3); break; + } case 8: + { GenericFD_EnsureStencilFits(cctkGH, "ML_BSSN_RHS2", 4, 4, 4); break; + } + default: + CCTK_BUILTIN_UNREACHABLE(); } GenericFD_LoopOverInterior(cctkGH, ML_BSSN_RHS2_Body); diff --git a/ML_BSSN/src/ML_BSSN_RHSStaticBoundary.cc b/ML_BSSN/src/ML_BSSN_RHSStaticBoundary.cc index 0e6199f..3bc86b5 100644 --- a/ML_BSSN/src/ML_BSSN_RHSStaticBoundary.cc +++ b/ML_BSSN/src/ML_BSSN_RHSStaticBoundary.cc @@ -32,7 +32,9 @@ extern "C" void ML_BSSN_RHSStaticBoundary_SelectBCs(CCTK_ARGUMENTS) DECLARE_CCTK_ARGUMENTS; DECLARE_CCTK_PARAMETERS; - CCTK_INT ierr CCTK_ATTRIBUTE_UNUSED = 0; + if (cctk_iteration % ML_BSSN_RHSStaticBoundary_calc_every != ML_BSSN_RHSStaticBoundary_calc_offset) + return; + CCTK_INT ierr CCTK_ATTRIBUTE_UNUSED = 0; ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_BSSN::ML_curvrhs","flat"); if (ierr < 0) CCTK_WARN(1, "Failed to register flat BC for ML_BSSN::ML_curvrhs."); @@ -63,7 +65,7 @@ extern "C" void ML_BSSN_RHSStaticBoundary_SelectBCs(CCTK_ARGUMENTS) return; } -static void ML_BSSN_RHSStaticBoundary_Body(cGH const * restrict const cctkGH, int const dir, int const face, CCTK_REAL const normal[3], CCTK_REAL const tangentA[3], CCTK_REAL const tangentB[3], int const imin[3], int const imax[3], int const n_subblock_gfs, CCTK_REAL * restrict const subblock_gfs[]) +static void ML_BSSN_RHSStaticBoundary_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; @@ -72,153 +74,175 @@ static void ML_BSSN_RHSStaticBoundary_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*/ p1o1024dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dx); - CCTK_REAL_VEC /*const*/ p1o1024dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dy); - CCTK_REAL_VEC /*const*/ p1o1024dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dz); - CCTK_REAL_VEC /*const*/ p1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dx); - CCTK_REAL_VEC /*const*/ p1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dy); - CCTK_REAL_VEC /*const*/ p1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dz); - CCTK_REAL_VEC /*const*/ p1o12dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dx); - CCTK_REAL_VEC /*const*/ p1o12dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dy); - CCTK_REAL_VEC /*const*/ p1o12dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dz); - CCTK_REAL_VEC /*const*/ p1o144dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o144dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o144dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o1680dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dx); - CCTK_REAL_VEC /*const*/ p1o1680dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dy); - CCTK_REAL_VEC /*const*/ p1o1680dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dz); - CCTK_REAL_VEC /*const*/ p1o180dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ p1o180dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ p1o180dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ p1o24dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dx); - CCTK_REAL_VEC /*const*/ p1o24dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dy); - CCTK_REAL_VEC /*const*/ p1o24dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dz); - CCTK_REAL_VEC /*const*/ p1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dx); - CCTK_REAL_VEC /*const*/ p1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dy); - CCTK_REAL_VEC /*const*/ p1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dz); - CCTK_REAL_VEC /*const*/ p1o3600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o3600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o3600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dx); - CCTK_REAL_VEC /*const*/ p1o4dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o4dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dy); - CCTK_REAL_VEC /*const*/ p1o4dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dz); - CCTK_REAL_VEC /*const*/ p1o5040dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ p1o5040dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ p1o5040dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ p1o560dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dx); - CCTK_REAL_VEC /*const*/ p1o560dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dy); - CCTK_REAL_VEC /*const*/ p1o560dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dz); - CCTK_REAL_VEC /*const*/ p1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dx); - CCTK_REAL_VEC /*const*/ p1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dy); - CCTK_REAL_VEC /*const*/ p1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dz); - CCTK_REAL_VEC /*const*/ p1o64dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dx); - CCTK_REAL_VEC /*const*/ p1o64dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dy); - CCTK_REAL_VEC /*const*/ p1o64dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dz); - CCTK_REAL_VEC /*const*/ p1o705600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o705600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o705600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o840dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dx); - CCTK_REAL_VEC /*const*/ p1o840dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dy); - CCTK_REAL_VEC /*const*/ p1o840dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dz); - CCTK_REAL_VEC /*const*/ p1odx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dx); - CCTK_REAL_VEC /*const*/ p1odx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ p1ody CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dy); - CCTK_REAL_VEC /*const*/ p1ody2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ p1odz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dz); - CCTK_REAL_VEC /*const*/ p1odz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ pm1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dx); - CCTK_REAL_VEC /*const*/ pm1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dy); - CCTK_REAL_VEC /*const*/ pm1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dz); - CCTK_REAL_VEC /*const*/ pm1o12dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ pm1o12dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ pm1o12dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ pm1o16dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dx); - CCTK_REAL_VEC /*const*/ pm1o16dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dy); - CCTK_REAL_VEC /*const*/ pm1o16dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dz); - CCTK_REAL_VEC /*const*/ pm1o256dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dx); - CCTK_REAL_VEC /*const*/ pm1o256dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dy); - CCTK_REAL_VEC /*const*/ pm1o256dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dz); - CCTK_REAL_VEC /*const*/ pm1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dx); - CCTK_REAL_VEC /*const*/ pm1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dy); - CCTK_REAL_VEC /*const*/ pm1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dz); - CCTK_REAL_VEC /*const*/ pm1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dx); - CCTK_REAL_VEC /*const*/ pm1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dy); - CCTK_REAL_VEC /*const*/ pm1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dz); - CCTK_REAL_VEC /*const*/ pm1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dx); - CCTK_REAL_VEC /*const*/ pm1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dy); - CCTK_REAL_VEC /*const*/ pm1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dz); + const CCTK_REAL_VEC p1o1024dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dx); + const CCTK_REAL_VEC p1o1024dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dy); + const CCTK_REAL_VEC p1o1024dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dz); + const CCTK_REAL_VEC p1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dx); + const CCTK_REAL_VEC p1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dy); + const CCTK_REAL_VEC p1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dz); + const CCTK_REAL_VEC p1o12dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dx); + const CCTK_REAL_VEC p1o12dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dy); + const CCTK_REAL_VEC p1o12dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dz); + const CCTK_REAL_VEC p1o144dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dy,dx)); + const CCTK_REAL_VEC p1o144dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dx)); + const CCTK_REAL_VEC p1o144dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dy)); + const CCTK_REAL_VEC p1o1680dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dx); + const CCTK_REAL_VEC p1o1680dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dy); + const CCTK_REAL_VEC p1o1680dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dz); + const CCTK_REAL_VEC p1o180dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dx,dx)); + const CCTK_REAL_VEC p1o180dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dy,dy)); + const CCTK_REAL_VEC p1o180dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dz,dz)); + const CCTK_REAL_VEC p1o24dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dx); + const CCTK_REAL_VEC p1o24dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dy); + const CCTK_REAL_VEC p1o24dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dz); + const CCTK_REAL_VEC p1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dx); + const CCTK_REAL_VEC p1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dy); + const CCTK_REAL_VEC p1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dz); + const CCTK_REAL_VEC p1o3600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dy,dx)); + const CCTK_REAL_VEC p1o3600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dx)); + const CCTK_REAL_VEC p1o3600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dy)); + const CCTK_REAL_VEC p1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dx); + const CCTK_REAL_VEC p1o4dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dy,dx)); + const CCTK_REAL_VEC p1o4dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dx)); + const CCTK_REAL_VEC p1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dy); + const CCTK_REAL_VEC p1o4dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dy)); + const CCTK_REAL_VEC p1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dz); + const CCTK_REAL_VEC p1o5040dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dx,dx)); + const CCTK_REAL_VEC p1o5040dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dy,dy)); + const CCTK_REAL_VEC p1o5040dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dz,dz)); + const CCTK_REAL_VEC p1o560dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dx); + const CCTK_REAL_VEC p1o560dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dy); + const CCTK_REAL_VEC p1o560dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dz); + const CCTK_REAL_VEC p1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dx); + const CCTK_REAL_VEC p1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dy); + const CCTK_REAL_VEC p1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dz); + const CCTK_REAL_VEC p1o64dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dx); + const CCTK_REAL_VEC p1o64dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dy); + const CCTK_REAL_VEC p1o64dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dz); + const CCTK_REAL_VEC p1o705600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dy,dx)); + const CCTK_REAL_VEC p1o705600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dx)); + const CCTK_REAL_VEC p1o705600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dy)); + const CCTK_REAL_VEC p1o840dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dx); + const CCTK_REAL_VEC p1o840dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dy); + const CCTK_REAL_VEC p1o840dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dz); + const CCTK_REAL_VEC p1odx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dx); + const CCTK_REAL_VEC p1odx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dx,dx)); + const CCTK_REAL_VEC p1ody CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dy); + const CCTK_REAL_VEC p1ody2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dy,dy)); + const CCTK_REAL_VEC p1odz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dz); + const CCTK_REAL_VEC p1odz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dz,dz)); + const CCTK_REAL_VEC pm1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dx); + const CCTK_REAL_VEC pm1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dy); + const CCTK_REAL_VEC pm1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dz); + const CCTK_REAL_VEC pm1o12dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dx,dx)); + const CCTK_REAL_VEC pm1o12dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dy,dy)); + const CCTK_REAL_VEC pm1o12dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dz,dz)); + const CCTK_REAL_VEC pm1o16dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dx); + const CCTK_REAL_VEC pm1o16dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dy); + const CCTK_REAL_VEC pm1o16dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dz); + const CCTK_REAL_VEC pm1o256dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dx); + const CCTK_REAL_VEC pm1o256dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dy); + const CCTK_REAL_VEC pm1o256dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dz); + const CCTK_REAL_VEC pm1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dx); + const CCTK_REAL_VEC pm1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dy); + const CCTK_REAL_VEC pm1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dz); + const CCTK_REAL_VEC pm1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dx); + const CCTK_REAL_VEC pm1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dy); + const CCTK_REAL_VEC pm1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dz); + const CCTK_REAL_VEC pm1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dx); + const CCTK_REAL_VEC pm1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dy); + const CCTK_REAL_VEC pm1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dz); /* Jacobian variable pointers */ - bool const use_jacobian CCTK_ATTRIBUTE_UNUSED = (!CCTK_IsFunctionAliased("MultiPatch_GetMap") || MultiPatch_GetMap(cctkGH) != jacobian_identity_map) - && strlen(jacobian_group) > 0; - if (use_jacobian && strlen(jacobian_derivative_group) == 0) + const bool use_jacobian1 = (!CCTK_IsFunctionAliased("MultiPatch_GetMap") || MultiPatch_GetMap(cctkGH) != jacobian_identity_map) + && strlen(jacobian_group) > 0; + const bool use_jacobian = assume_use_jacobian>=0 ? assume_use_jacobian : use_jacobian1; + const bool usejacobian CCTK_ATTRIBUTE_UNUSED = use_jacobian; + if (use_jacobian && (strlen(jacobian_determinant_group) == 0 || strlen(jacobian_inverse_group) == 0 || strlen(jacobian_derivative_group) == 0)) { - CCTK_WARN (1, "GenericFD::jacobian_group and GenericFD::jacobian_derivative_group must both be set to valid group names"); + CCTK_WARN(1, "GenericFD::jacobian_group, GenericFD::jacobian_determinant_group, GenericFD::jacobian_inverse_group, and GenericFD::jacobian_derivative_group must all be set to valid group names"); } - CCTK_REAL const *restrict jacobian_ptrs[9]; + const CCTK_REAL* restrict jacobian_ptrs[9]; if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_group, 9, jacobian_ptrs); - CCTK_REAL const *restrict const J11 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[0] : 0; - CCTK_REAL const *restrict const J12 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[1] : 0; - CCTK_REAL const *restrict const J13 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[2] : 0; - CCTK_REAL const *restrict const J21 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[3] : 0; - CCTK_REAL const *restrict const J22 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[4] : 0; - CCTK_REAL const *restrict const J23 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[5] : 0; - CCTK_REAL const *restrict const J31 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[6] : 0; - CCTK_REAL const *restrict const J32 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[7] : 0; - CCTK_REAL const *restrict const J33 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[8] : 0; + const CCTK_REAL* restrict const J11 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[0] : 0; + const CCTK_REAL* restrict const J12 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[1] : 0; + const CCTK_REAL* restrict const J13 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[2] : 0; + const CCTK_REAL* restrict const J21 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[3] : 0; + const CCTK_REAL* restrict const J22 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[4] : 0; + const CCTK_REAL* restrict const J23 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[5] : 0; + const CCTK_REAL* restrict const J31 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[6] : 0; + const CCTK_REAL* restrict const J32 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[7] : 0; + const CCTK_REAL* restrict const J33 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[8] : 0; + + const CCTK_REAL* restrict jacobian_determinant_ptrs[1] CCTK_ATTRIBUTE_UNUSED; + if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_determinant_group, + 1, jacobian_determinant_ptrs); + + const CCTK_REAL* restrict const detJ CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[0] : 0; - CCTK_REAL const *restrict jacobian_derivative_ptrs[18] CCTK_ATTRIBUTE_UNUSED; + const CCTK_REAL* restrict jacobian_inverse_ptrs[9] CCTK_ATTRIBUTE_UNUSED; + if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_inverse_group, + 9, jacobian_inverse_ptrs); + + const CCTK_REAL* restrict const iJ11 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[0] : 0; + const CCTK_REAL* restrict const iJ12 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[1] : 0; + const CCTK_REAL* restrict const iJ13 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[2] : 0; + const CCTK_REAL* restrict const iJ21 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[3] : 0; + const CCTK_REAL* restrict const iJ22 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[4] : 0; + const CCTK_REAL* restrict const iJ23 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[5] : 0; + const CCTK_REAL* restrict const iJ31 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[6] : 0; + const CCTK_REAL* restrict const iJ32 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[7] : 0; + const CCTK_REAL* restrict const iJ33 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[8] : 0; + + const CCTK_REAL* restrict jacobian_derivative_ptrs[18] CCTK_ATTRIBUTE_UNUSED; if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_derivative_group, 18, jacobian_derivative_ptrs); - CCTK_REAL const *restrict const dJ111 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[0] : 0; - CCTK_REAL const *restrict const dJ112 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[1] : 0; - CCTK_REAL const *restrict const dJ113 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[2] : 0; - CCTK_REAL const *restrict const dJ122 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[3] : 0; - CCTK_REAL const *restrict const dJ123 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[4] : 0; - CCTK_REAL const *restrict const dJ133 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[5] : 0; - CCTK_REAL const *restrict const dJ211 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[6] : 0; - CCTK_REAL const *restrict const dJ212 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[7] : 0; - CCTK_REAL const *restrict const dJ213 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[8] : 0; - CCTK_REAL const *restrict const dJ222 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[9] : 0; - CCTK_REAL const *restrict const dJ223 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[10] : 0; - CCTK_REAL const *restrict const dJ233 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[11] : 0; - CCTK_REAL const *restrict const dJ311 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[12] : 0; - CCTK_REAL const *restrict const dJ312 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[13] : 0; - CCTK_REAL const *restrict const dJ313 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[14] : 0; - CCTK_REAL const *restrict const dJ322 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[15] : 0; - CCTK_REAL const *restrict const dJ323 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[16] : 0; - CCTK_REAL const *restrict const dJ333 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[17] : 0; + const CCTK_REAL* restrict const dJ111 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[0] : 0; + const CCTK_REAL* restrict const dJ112 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[1] : 0; + const CCTK_REAL* restrict const dJ113 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[2] : 0; + const CCTK_REAL* restrict const dJ122 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[3] : 0; + const CCTK_REAL* restrict const dJ123 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[4] : 0; + const CCTK_REAL* restrict const dJ133 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[5] : 0; + const CCTK_REAL* restrict const dJ211 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[6] : 0; + const CCTK_REAL* restrict const dJ212 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[7] : 0; + const CCTK_REAL* restrict const dJ213 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[8] : 0; + const CCTK_REAL* restrict const dJ222 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[9] : 0; + const CCTK_REAL* restrict const dJ223 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[10] : 0; + const CCTK_REAL* restrict const dJ233 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[11] : 0; + const CCTK_REAL* restrict const dJ311 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[12] : 0; + const CCTK_REAL* restrict const dJ312 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[13] : 0; + const CCTK_REAL* restrict const dJ313 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[14] : 0; + const CCTK_REAL* restrict const dJ322 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[15] : 0; + const CCTK_REAL* restrict const dJ323 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[16] : 0; + const CCTK_REAL* restrict const dJ333 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[17] : 0; /* Assign local copies of arrays functions */ @@ -229,13 +253,20 @@ static void ML_BSSN_RHSStaticBoundary_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_BSSN_RHSStaticBoundary, - 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 */ @@ -246,74 +277,84 @@ static void ML_BSSN_RHSStaticBoundary_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 */ - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED phirhsL = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED phirhsL = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gt11rhsL = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gt11rhsL = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gt12rhsL = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gt12rhsL = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gt13rhsL = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gt13rhsL = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gt22rhsL = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gt22rhsL = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gt23rhsL = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gt23rhsL = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gt33rhsL = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gt33rhsL = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED trKrhsL = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED trKrhsL = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED At11rhsL = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED At11rhsL = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED At12rhsL = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED At12rhsL = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED At13rhsL = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED At13rhsL = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED At22rhsL = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED At22rhsL = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED At23rhsL = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED At23rhsL = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED At33rhsL = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED At33rhsL = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Xt1rhsL = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Xt1rhsL = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Xt2rhsL = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Xt2rhsL = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Xt3rhsL = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Xt3rhsL = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED alpharhsL = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED alpharhsL = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED ArhsL = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED ArhsL = 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); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED B1rhsL = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED B1rhsL = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED B2rhsL = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED B2rhsL = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED B3rhsL = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED B3rhsL = 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(Arhs[index],ArhsL); vec_store_nta_partial(At11rhs[index],At11rhsL); @@ -359,7 +400,7 @@ extern "C" void ML_BSSN_RHSStaticBoundary(CCTK_ARGUMENTS) return; } - const char *const groups[] = { + const char* const groups[] = { "ML_BSSN::ML_curvrhs", "ML_BSSN::ML_dtlapserhs", "ML_BSSN::ML_dtshiftrhs", @@ -371,19 +412,29 @@ extern "C" void ML_BSSN_RHSStaticBoundary(CCTK_ARGUMENTS) "ML_BSSN::ML_trace_curvrhs"}; GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_RHSStaticBoundary", 9, groups); - switch(fdOrder) + switch (fdOrder) { case 2: + { break; + } case 4: + { break; + } case 6: + { break; + } case 8: + { break; + } + default: + CCTK_BUILTIN_UNREACHABLE(); } GenericFD_LoopOverBoundary(cctkGH, ML_BSSN_RHSStaticBoundary_Body); diff --git a/ML_BSSN/src/ML_BSSN_boundary.cc b/ML_BSSN/src/ML_BSSN_boundary.cc index 16240a4..1aee41a 100644 --- a/ML_BSSN/src/ML_BSSN_boundary.cc +++ b/ML_BSSN/src/ML_BSSN_boundary.cc @@ -32,7 +32,9 @@ extern "C" void ML_BSSN_boundary_SelectBCs(CCTK_ARGUMENTS) DECLARE_CCTK_ARGUMENTS; DECLARE_CCTK_PARAMETERS; - CCTK_INT ierr CCTK_ATTRIBUTE_UNUSED = 0; + if (cctk_iteration % ML_BSSN_boundary_calc_every != ML_BSSN_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_BSSN::ML_curv","flat"); if (ierr < 0) CCTK_WARN(1, "Failed to register flat BC for ML_BSSN::ML_curv."); @@ -63,7 +65,7 @@ extern "C" void ML_BSSN_boundary_SelectBCs(CCTK_ARGUMENTS) return; } -static void ML_BSSN_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_BSSN_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; @@ -72,153 +74,175 @@ static void ML_BSSN_boundary_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*/ p1o1024dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dx); - CCTK_REAL_VEC /*const*/ p1o1024dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dy); - CCTK_REAL_VEC /*const*/ p1o1024dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dz); - CCTK_REAL_VEC /*const*/ p1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dx); - CCTK_REAL_VEC /*const*/ p1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dy); - CCTK_REAL_VEC /*const*/ p1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dz); - CCTK_REAL_VEC /*const*/ p1o12dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dx); - CCTK_REAL_VEC /*const*/ p1o12dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dy); - CCTK_REAL_VEC /*const*/ p1o12dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dz); - CCTK_REAL_VEC /*const*/ p1o144dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o144dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o144dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o1680dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dx); - CCTK_REAL_VEC /*const*/ p1o1680dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dy); - CCTK_REAL_VEC /*const*/ p1o1680dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dz); - CCTK_REAL_VEC /*const*/ p1o180dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ p1o180dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ p1o180dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ p1o24dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dx); - CCTK_REAL_VEC /*const*/ p1o24dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dy); - CCTK_REAL_VEC /*const*/ p1o24dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dz); - CCTK_REAL_VEC /*const*/ p1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dx); - CCTK_REAL_VEC /*const*/ p1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dy); - CCTK_REAL_VEC /*const*/ p1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dz); - CCTK_REAL_VEC /*const*/ p1o3600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o3600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o3600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dx); - CCTK_REAL_VEC /*const*/ p1o4dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o4dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dy); - CCTK_REAL_VEC /*const*/ p1o4dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dz); - CCTK_REAL_VEC /*const*/ p1o5040dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ p1o5040dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ p1o5040dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ p1o560dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dx); - CCTK_REAL_VEC /*const*/ p1o560dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dy); - CCTK_REAL_VEC /*const*/ p1o560dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dz); - CCTK_REAL_VEC /*const*/ p1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dx); - CCTK_REAL_VEC /*const*/ p1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dy); - CCTK_REAL_VEC /*const*/ p1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dz); - CCTK_REAL_VEC /*const*/ p1o64dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dx); - CCTK_REAL_VEC /*const*/ p1o64dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dy); - CCTK_REAL_VEC /*const*/ p1o64dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dz); - CCTK_REAL_VEC /*const*/ p1o705600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o705600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o705600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o840dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dx); - CCTK_REAL_VEC /*const*/ p1o840dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dy); - CCTK_REAL_VEC /*const*/ p1o840dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dz); - CCTK_REAL_VEC /*const*/ p1odx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dx); - CCTK_REAL_VEC /*const*/ p1odx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ p1ody CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dy); - CCTK_REAL_VEC /*const*/ p1ody2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ p1odz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dz); - CCTK_REAL_VEC /*const*/ p1odz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ pm1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dx); - CCTK_REAL_VEC /*const*/ pm1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dy); - CCTK_REAL_VEC /*const*/ pm1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dz); - CCTK_REAL_VEC /*const*/ pm1o12dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ pm1o12dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ pm1o12dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ pm1o16dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dx); - CCTK_REAL_VEC /*const*/ pm1o16dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dy); - CCTK_REAL_VEC /*const*/ pm1o16dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dz); - CCTK_REAL_VEC /*const*/ pm1o256dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dx); - CCTK_REAL_VEC /*const*/ pm1o256dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dy); - CCTK_REAL_VEC /*const*/ pm1o256dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dz); - CCTK_REAL_VEC /*const*/ pm1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dx); - CCTK_REAL_VEC /*const*/ pm1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dy); - CCTK_REAL_VEC /*const*/ pm1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dz); - CCTK_REAL_VEC /*const*/ pm1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dx); - CCTK_REAL_VEC /*const*/ pm1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dy); - CCTK_REAL_VEC /*const*/ pm1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dz); - CCTK_REAL_VEC /*const*/ pm1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dx); - CCTK_REAL_VEC /*const*/ pm1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dy); - CCTK_REAL_VEC /*const*/ pm1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dz); + const CCTK_REAL_VEC p1o1024dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dx); + const CCTK_REAL_VEC p1o1024dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dy); + const CCTK_REAL_VEC p1o1024dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dz); + const CCTK_REAL_VEC p1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dx); + const CCTK_REAL_VEC p1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dy); + const CCTK_REAL_VEC p1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dz); + const CCTK_REAL_VEC p1o12dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dx); + const CCTK_REAL_VEC p1o12dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dy); + const CCTK_REAL_VEC p1o12dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dz); + const CCTK_REAL_VEC p1o144dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dy,dx)); + const CCTK_REAL_VEC p1o144dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dx)); + const CCTK_REAL_VEC p1o144dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dy)); + const CCTK_REAL_VEC p1o1680dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dx); + const CCTK_REAL_VEC p1o1680dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dy); + const CCTK_REAL_VEC p1o1680dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dz); + const CCTK_REAL_VEC p1o180dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dx,dx)); + const CCTK_REAL_VEC p1o180dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dy,dy)); + const CCTK_REAL_VEC p1o180dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dz,dz)); + const CCTK_REAL_VEC p1o24dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dx); + const CCTK_REAL_VEC p1o24dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dy); + const CCTK_REAL_VEC p1o24dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dz); + const CCTK_REAL_VEC p1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dx); + const CCTK_REAL_VEC p1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dy); + const CCTK_REAL_VEC p1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dz); + const CCTK_REAL_VEC p1o3600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dy,dx)); + const CCTK_REAL_VEC p1o3600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dx)); + const CCTK_REAL_VEC p1o3600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dy)); + const CCTK_REAL_VEC p1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dx); + const CCTK_REAL_VEC p1o4dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dy,dx)); + const CCTK_REAL_VEC p1o4dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dx)); + const CCTK_REAL_VEC p1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dy); + const CCTK_REAL_VEC p1o4dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dy)); + const CCTK_REAL_VEC p1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dz); + const CCTK_REAL_VEC p1o5040dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dx,dx)); + const CCTK_REAL_VEC p1o5040dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dy,dy)); + const CCTK_REAL_VEC p1o5040dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dz,dz)); + const CCTK_REAL_VEC p1o560dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dx); + const CCTK_REAL_VEC p1o560dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dy); + const CCTK_REAL_VEC p1o560dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dz); + const CCTK_REAL_VEC p1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dx); + const CCTK_REAL_VEC p1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dy); + const CCTK_REAL_VEC p1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dz); + const CCTK_REAL_VEC p1o64dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dx); + const CCTK_REAL_VEC p1o64dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dy); + const CCTK_REAL_VEC p1o64dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dz); + const CCTK_REAL_VEC p1o705600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dy,dx)); + const CCTK_REAL_VEC p1o705600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dx)); + const CCTK_REAL_VEC p1o705600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dy)); + const CCTK_REAL_VEC p1o840dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dx); + const CCTK_REAL_VEC p1o840dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dy); + const CCTK_REAL_VEC p1o840dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dz); + const CCTK_REAL_VEC p1odx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dx); + const CCTK_REAL_VEC p1odx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dx,dx)); + const CCTK_REAL_VEC p1ody CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dy); + const CCTK_REAL_VEC p1ody2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dy,dy)); + const CCTK_REAL_VEC p1odz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dz); + const CCTK_REAL_VEC p1odz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dz,dz)); + const CCTK_REAL_VEC pm1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dx); + const CCTK_REAL_VEC pm1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dy); + const CCTK_REAL_VEC pm1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dz); + const CCTK_REAL_VEC pm1o12dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dx,dx)); + const CCTK_REAL_VEC pm1o12dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dy,dy)); + const CCTK_REAL_VEC pm1o12dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dz,dz)); + const CCTK_REAL_VEC pm1o16dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dx); + const CCTK_REAL_VEC pm1o16dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dy); + const CCTK_REAL_VEC pm1o16dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dz); + const CCTK_REAL_VEC pm1o256dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dx); + const CCTK_REAL_VEC pm1o256dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dy); + const CCTK_REAL_VEC pm1o256dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dz); + const CCTK_REAL_VEC pm1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dx); + const CCTK_REAL_VEC pm1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dy); + const CCTK_REAL_VEC pm1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dz); + const CCTK_REAL_VEC pm1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dx); + const CCTK_REAL_VEC pm1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dy); + const CCTK_REAL_VEC pm1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dz); + const CCTK_REAL_VEC pm1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dx); + const CCTK_REAL_VEC pm1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dy); + const CCTK_REAL_VEC pm1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dz); /* Jacobian variable pointers */ - bool const use_jacobian CCTK_ATTRIBUTE_UNUSED = (!CCTK_IsFunctionAliased("MultiPatch_GetMap") || MultiPatch_GetMap(cctkGH) != jacobian_identity_map) - && strlen(jacobian_group) > 0; - if (use_jacobian && strlen(jacobian_derivative_group) == 0) + const bool use_jacobian1 = (!CCTK_IsFunctionAliased("MultiPatch_GetMap") || MultiPatch_GetMap(cctkGH) != jacobian_identity_map) + && strlen(jacobian_group) > 0; + const bool use_jacobian = assume_use_jacobian>=0 ? assume_use_jacobian : use_jacobian1; + const bool usejacobian CCTK_ATTRIBUTE_UNUSED = use_jacobian; + if (use_jacobian && (strlen(jacobian_determinant_group) == 0 || strlen(jacobian_inverse_group) == 0 || strlen(jacobian_derivative_group) == 0)) { - CCTK_WARN (1, "GenericFD::jacobian_group and GenericFD::jacobian_derivative_group must both be set to valid group names"); + CCTK_WARN(1, "GenericFD::jacobian_group, GenericFD::jacobian_determinant_group, GenericFD::jacobian_inverse_group, and GenericFD::jacobian_derivative_group must all be set to valid group names"); } - CCTK_REAL const *restrict jacobian_ptrs[9]; + const CCTK_REAL* restrict jacobian_ptrs[9]; if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_group, 9, jacobian_ptrs); - CCTK_REAL const *restrict const J11 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[0] : 0; - CCTK_REAL const *restrict const J12 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[1] : 0; - CCTK_REAL const *restrict const J13 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[2] : 0; - CCTK_REAL const *restrict const J21 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[3] : 0; - CCTK_REAL const *restrict const J22 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[4] : 0; - CCTK_REAL const *restrict const J23 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[5] : 0; - CCTK_REAL const *restrict const J31 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[6] : 0; - CCTK_REAL const *restrict const J32 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[7] : 0; - CCTK_REAL const *restrict const J33 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[8] : 0; + const CCTK_REAL* restrict const J11 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[0] : 0; + const CCTK_REAL* restrict const J12 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[1] : 0; + const CCTK_REAL* restrict const J13 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[2] : 0; + const CCTK_REAL* restrict const J21 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[3] : 0; + const CCTK_REAL* restrict const J22 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[4] : 0; + const CCTK_REAL* restrict const J23 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[5] : 0; + const CCTK_REAL* restrict const J31 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[6] : 0; + const CCTK_REAL* restrict const J32 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[7] : 0; + const CCTK_REAL* restrict const J33 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[8] : 0; + + const CCTK_REAL* restrict jacobian_determinant_ptrs[1] CCTK_ATTRIBUTE_UNUSED; + if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_determinant_group, + 1, jacobian_determinant_ptrs); + + const CCTK_REAL* restrict const detJ CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[0] : 0; - CCTK_REAL const *restrict jacobian_derivative_ptrs[18] CCTK_ATTRIBUTE_UNUSED; + const CCTK_REAL* restrict jacobian_inverse_ptrs[9] CCTK_ATTRIBUTE_UNUSED; + if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_inverse_group, + 9, jacobian_inverse_ptrs); + + const CCTK_REAL* restrict const iJ11 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[0] : 0; + const CCTK_REAL* restrict const iJ12 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[1] : 0; + const CCTK_REAL* restrict const iJ13 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[2] : 0; + const CCTK_REAL* restrict const iJ21 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[3] : 0; + const CCTK_REAL* restrict const iJ22 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[4] : 0; + const CCTK_REAL* restrict const iJ23 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[5] : 0; + const CCTK_REAL* restrict const iJ31 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[6] : 0; + const CCTK_REAL* restrict const iJ32 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[7] : 0; + const CCTK_REAL* restrict const iJ33 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[8] : 0; + + const CCTK_REAL* restrict jacobian_derivative_ptrs[18] CCTK_ATTRIBUTE_UNUSED; if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_derivative_group, 18, jacobian_derivative_ptrs); - CCTK_REAL const *restrict const dJ111 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[0] : 0; - CCTK_REAL const *restrict const dJ112 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[1] : 0; - CCTK_REAL const *restrict const dJ113 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[2] : 0; - CCTK_REAL const *restrict const dJ122 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[3] : 0; - CCTK_REAL const *restrict const dJ123 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[4] : 0; - CCTK_REAL const *restrict const dJ133 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[5] : 0; - CCTK_REAL const *restrict const dJ211 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[6] : 0; - CCTK_REAL const *restrict const dJ212 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[7] : 0; - CCTK_REAL const *restrict const dJ213 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[8] : 0; - CCTK_REAL const *restrict const dJ222 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[9] : 0; - CCTK_REAL const *restrict const dJ223 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[10] : 0; - CCTK_REAL const *restrict const dJ233 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[11] : 0; - CCTK_REAL const *restrict const dJ311 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[12] : 0; - CCTK_REAL const *restrict const dJ312 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[13] : 0; - CCTK_REAL const *restrict const dJ313 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[14] : 0; - CCTK_REAL const *restrict const dJ322 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[15] : 0; - CCTK_REAL const *restrict const dJ323 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[16] : 0; - CCTK_REAL const *restrict const dJ333 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[17] : 0; + const CCTK_REAL* restrict const dJ111 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[0] : 0; + const CCTK_REAL* restrict const dJ112 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[1] : 0; + const CCTK_REAL* restrict const dJ113 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[2] : 0; + const CCTK_REAL* restrict const dJ122 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[3] : 0; + const CCTK_REAL* restrict const dJ123 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[4] : 0; + const CCTK_REAL* restrict const dJ133 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[5] : 0; + const CCTK_REAL* restrict const dJ211 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[6] : 0; + const CCTK_REAL* restrict const dJ212 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[7] : 0; + const CCTK_REAL* restrict const dJ213 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[8] : 0; + const CCTK_REAL* restrict const dJ222 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[9] : 0; + const CCTK_REAL* restrict const dJ223 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[10] : 0; + const CCTK_REAL* restrict const dJ233 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[11] : 0; + const CCTK_REAL* restrict const dJ311 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[12] : 0; + const CCTK_REAL* restrict const dJ312 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[13] : 0; + const CCTK_REAL* restrict const dJ313 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[14] : 0; + const CCTK_REAL* restrict const dJ322 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[15] : 0; + const CCTK_REAL* restrict const dJ323 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[16] : 0; + const CCTK_REAL* restrict const dJ333 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[17] : 0; /* Assign local copies of arrays functions */ @@ -229,13 +253,20 @@ static void ML_BSSN_boundary_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_BSSN_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 */ @@ -246,75 +277,85 @@ static void ML_BSSN_boundary_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 phiL = IfThen(conformalMethod == - 1.,ToReal(1.),ToReal(0.)); + 1,ToReal(1),ToReal(0)); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gt11L = ToReal(1.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gt11L = ToReal(1); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gt12L = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gt12L = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gt13L = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gt13L = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gt22L = ToReal(1.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gt22L = ToReal(1); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gt23L = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gt23L = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gt33L = ToReal(1.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gt33L = ToReal(1); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED trKL = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED trKL = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED At11L = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED At11L = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED At12L = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED At12L = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED At13L = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED At13L = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED At22L = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED At22L = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED At23L = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED At23L = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED At33L = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED At33L = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Xt1L = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Xt1L = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Xt2L = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Xt2L = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Xt3L = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Xt3L = 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 AL = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED AL = ToReal(0); - 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); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED B1L = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED B1L = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED B2L = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED B2L = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED B3L = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED B3L = 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(A[index],AL); vec_store_nta_partial(alpha[index],alphaL); vec_store_nta_partial(At11[index],At11L); @@ -360,7 +401,7 @@ extern "C" void ML_BSSN_boundary(CCTK_ARGUMENTS) return; } - const char *const groups[] = { + const char* const groups[] = { "ML_BSSN::ML_curv", "ML_BSSN::ML_dtlapse", "ML_BSSN::ML_dtshift", @@ -372,19 +413,29 @@ extern "C" void ML_BSSN_boundary(CCTK_ARGUMENTS) "ML_BSSN::ML_trace_curv"}; GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_boundary", 9, 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_BSSN_boundary_Body); diff --git a/ML_BSSN/src/ML_BSSN_constraints1.cc b/ML_BSSN/src/ML_BSSN_constraints1.cc index 20f5f5b..af834a7 100644 --- a/ML_BSSN/src/ML_BSSN_constraints1.cc +++ b/ML_BSSN/src/ML_BSSN_constraints1.cc @@ -32,14 +32,16 @@ extern "C" void ML_BSSN_constraints1_SelectBCs(CCTK_ARGUMENTS) DECLARE_CCTK_ARGUMENTS; DECLARE_CCTK_PARAMETERS; - CCTK_INT ierr CCTK_ATTRIBUTE_UNUSED = 0; + if (cctk_iteration % ML_BSSN_constraints1_calc_every != ML_BSSN_constraints1_calc_offset) + return; + CCTK_INT ierr CCTK_ATTRIBUTE_UNUSED = 0; ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_BSSN::ML_Ham","flat"); if (ierr < 0) CCTK_WARN(1, "Failed to register flat BC for ML_BSSN::ML_Ham."); return; } -static void ML_BSSN_constraints1_Body(cGH const * restrict const cctkGH, int const dir, int const face, CCTK_REAL const normal[3], CCTK_REAL const tangentA[3], CCTK_REAL const tangentB[3], int const imin[3], int const imax[3], int const n_subblock_gfs, CCTK_REAL * restrict const subblock_gfs[]) +static void ML_BSSN_constraints1_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; @@ -48,153 +50,175 @@ static void ML_BSSN_constraints1_Body(cGH const * restrict const cctkGH, int con /* Include user-supplied include files */ /* Initialise finite differencing variables */ - ptrdiff_t /*const*/ di CCTK_ATTRIBUTE_UNUSED = 1; - ptrdiff_t /*const*/ dj CCTK_ATTRIBUTE_UNUSED = CCTK_GFINDEX3D(cctkGH,0,1,0) - CCTK_GFINDEX3D(cctkGH,0,0,0); - ptrdiff_t /*const*/ dk CCTK_ATTRIBUTE_UNUSED = CCTK_GFINDEX3D(cctkGH,0,0,1) - CCTK_GFINDEX3D(cctkGH,0,0,0); - ptrdiff_t /*const*/ cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * di; - ptrdiff_t /*const*/ cdj CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * dj; - ptrdiff_t /*const*/ cdk CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * dk; - CCTK_REAL_VEC /*const*/ dx CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(0)); - CCTK_REAL_VEC /*const*/ dy CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(1)); - CCTK_REAL_VEC /*const*/ dz CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(2)); - CCTK_REAL_VEC /*const*/ dt CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_TIME); - CCTK_REAL_VEC /*const*/ t CCTK_ATTRIBUTE_UNUSED = ToReal(cctk_time); - CCTK_REAL_VEC /*const*/ dxi CCTK_ATTRIBUTE_UNUSED = INV(dx); - CCTK_REAL_VEC /*const*/ dyi CCTK_ATTRIBUTE_UNUSED = INV(dy); - CCTK_REAL_VEC /*const*/ dzi CCTK_ATTRIBUTE_UNUSED = INV(dz); - CCTK_REAL_VEC /*const*/ khalf CCTK_ATTRIBUTE_UNUSED = ToReal(0.5); - CCTK_REAL_VEC /*const*/ kthird CCTK_ATTRIBUTE_UNUSED = ToReal(1.0/3.0); - CCTK_REAL_VEC /*const*/ ktwothird CCTK_ATTRIBUTE_UNUSED = ToReal(2.0/3.0); - CCTK_REAL_VEC /*const*/ kfourthird CCTK_ATTRIBUTE_UNUSED = ToReal(4.0/3.0); - CCTK_REAL_VEC /*const*/ keightthird CCTK_ATTRIBUTE_UNUSED = ToReal(8.0/3.0); - CCTK_REAL_VEC /*const*/ hdxi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dxi); - CCTK_REAL_VEC /*const*/ hdyi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dyi); - CCTK_REAL_VEC /*const*/ hdzi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dzi); + const ptrdiff_t di CCTK_ATTRIBUTE_UNUSED = 1; + const ptrdiff_t dj CCTK_ATTRIBUTE_UNUSED = CCTK_GFINDEX3D(cctkGH,0,1,0) - CCTK_GFINDEX3D(cctkGH,0,0,0); + const ptrdiff_t dk CCTK_ATTRIBUTE_UNUSED = CCTK_GFINDEX3D(cctkGH,0,0,1) - CCTK_GFINDEX3D(cctkGH,0,0,0); + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * di; + const ptrdiff_t cdj CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * dj; + const ptrdiff_t cdk CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * dk; + const CCTK_REAL_VEC dx CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(0)); + const CCTK_REAL_VEC dy CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(1)); + const CCTK_REAL_VEC dz CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(2)); + const CCTK_REAL_VEC dt CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_TIME); + const CCTK_REAL_VEC t CCTK_ATTRIBUTE_UNUSED = ToReal(cctk_time); + const CCTK_REAL_VEC dxi CCTK_ATTRIBUTE_UNUSED = INV(dx); + const CCTK_REAL_VEC dyi CCTK_ATTRIBUTE_UNUSED = INV(dy); + const CCTK_REAL_VEC dzi CCTK_ATTRIBUTE_UNUSED = INV(dz); + const CCTK_REAL_VEC khalf CCTK_ATTRIBUTE_UNUSED = ToReal(0.5); + const CCTK_REAL_VEC kthird CCTK_ATTRIBUTE_UNUSED = ToReal(1.0/3.0); + const CCTK_REAL_VEC ktwothird CCTK_ATTRIBUTE_UNUSED = ToReal(2.0/3.0); + const CCTK_REAL_VEC kfourthird CCTK_ATTRIBUTE_UNUSED = ToReal(4.0/3.0); + const CCTK_REAL_VEC keightthird CCTK_ATTRIBUTE_UNUSED = ToReal(8.0/3.0); + const CCTK_REAL_VEC hdxi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dxi); + const CCTK_REAL_VEC hdyi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dyi); + const CCTK_REAL_VEC hdzi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dzi); /* Initialize predefined quantities */ - CCTK_REAL_VEC /*const*/ p1o1024dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dx); - CCTK_REAL_VEC /*const*/ p1o1024dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dy); - CCTK_REAL_VEC /*const*/ p1o1024dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dz); - CCTK_REAL_VEC /*const*/ p1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dx); - CCTK_REAL_VEC /*const*/ p1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dy); - CCTK_REAL_VEC /*const*/ p1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dz); - CCTK_REAL_VEC /*const*/ p1o12dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dx); - CCTK_REAL_VEC /*const*/ p1o12dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dy); - CCTK_REAL_VEC /*const*/ p1o12dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dz); - CCTK_REAL_VEC /*const*/ p1o144dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o144dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o144dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o1680dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dx); - CCTK_REAL_VEC /*const*/ p1o1680dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dy); - CCTK_REAL_VEC /*const*/ p1o1680dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dz); - CCTK_REAL_VEC /*const*/ p1o180dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ p1o180dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ p1o180dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ p1o24dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dx); - CCTK_REAL_VEC /*const*/ p1o24dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dy); - CCTK_REAL_VEC /*const*/ p1o24dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dz); - CCTK_REAL_VEC /*const*/ p1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dx); - CCTK_REAL_VEC /*const*/ p1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dy); - CCTK_REAL_VEC /*const*/ p1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dz); - CCTK_REAL_VEC /*const*/ p1o3600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o3600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o3600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dx); - CCTK_REAL_VEC /*const*/ p1o4dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o4dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dy); - CCTK_REAL_VEC /*const*/ p1o4dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dz); - CCTK_REAL_VEC /*const*/ p1o5040dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ p1o5040dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ p1o5040dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ p1o560dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dx); - CCTK_REAL_VEC /*const*/ p1o560dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dy); - CCTK_REAL_VEC /*const*/ p1o560dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dz); - CCTK_REAL_VEC /*const*/ p1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dx); - CCTK_REAL_VEC /*const*/ p1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dy); - CCTK_REAL_VEC /*const*/ p1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dz); - CCTK_REAL_VEC /*const*/ p1o64dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dx); - CCTK_REAL_VEC /*const*/ p1o64dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dy); - CCTK_REAL_VEC /*const*/ p1o64dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dz); - CCTK_REAL_VEC /*const*/ p1o705600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o705600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o705600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o840dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dx); - CCTK_REAL_VEC /*const*/ p1o840dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dy); - CCTK_REAL_VEC /*const*/ p1o840dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dz); - CCTK_REAL_VEC /*const*/ p1odx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dx); - CCTK_REAL_VEC /*const*/ p1odx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ p1ody CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dy); - CCTK_REAL_VEC /*const*/ p1ody2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ p1odz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dz); - CCTK_REAL_VEC /*const*/ p1odz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ pm1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dx); - CCTK_REAL_VEC /*const*/ pm1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dy); - CCTK_REAL_VEC /*const*/ pm1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dz); - CCTK_REAL_VEC /*const*/ pm1o12dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ pm1o12dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ pm1o12dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ pm1o16dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dx); - CCTK_REAL_VEC /*const*/ pm1o16dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dy); - CCTK_REAL_VEC /*const*/ pm1o16dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dz); - CCTK_REAL_VEC /*const*/ pm1o256dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dx); - CCTK_REAL_VEC /*const*/ pm1o256dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dy); - CCTK_REAL_VEC /*const*/ pm1o256dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dz); - CCTK_REAL_VEC /*const*/ pm1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dx); - CCTK_REAL_VEC /*const*/ pm1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dy); - CCTK_REAL_VEC /*const*/ pm1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dz); - CCTK_REAL_VEC /*const*/ pm1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dx); - CCTK_REAL_VEC /*const*/ pm1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dy); - CCTK_REAL_VEC /*const*/ pm1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dz); - CCTK_REAL_VEC /*const*/ pm1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dx); - CCTK_REAL_VEC /*const*/ pm1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dy); - CCTK_REAL_VEC /*const*/ pm1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dz); + const CCTK_REAL_VEC p1o1024dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dx); + const CCTK_REAL_VEC p1o1024dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dy); + const CCTK_REAL_VEC p1o1024dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dz); + const CCTK_REAL_VEC p1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dx); + const CCTK_REAL_VEC p1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dy); + const CCTK_REAL_VEC p1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dz); + const CCTK_REAL_VEC p1o12dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dx); + const CCTK_REAL_VEC p1o12dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dy); + const CCTK_REAL_VEC p1o12dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dz); + const CCTK_REAL_VEC p1o144dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dy,dx)); + const CCTK_REAL_VEC p1o144dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dx)); + const CCTK_REAL_VEC p1o144dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dy)); + const CCTK_REAL_VEC p1o1680dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dx); + const CCTK_REAL_VEC p1o1680dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dy); + const CCTK_REAL_VEC p1o1680dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dz); + const CCTK_REAL_VEC p1o180dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dx,dx)); + const CCTK_REAL_VEC p1o180dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dy,dy)); + const CCTK_REAL_VEC p1o180dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dz,dz)); + const CCTK_REAL_VEC p1o24dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dx); + const CCTK_REAL_VEC p1o24dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dy); + const CCTK_REAL_VEC p1o24dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dz); + const CCTK_REAL_VEC p1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dx); + const CCTK_REAL_VEC p1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dy); + const CCTK_REAL_VEC p1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dz); + const CCTK_REAL_VEC p1o3600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dy,dx)); + const CCTK_REAL_VEC p1o3600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dx)); + const CCTK_REAL_VEC p1o3600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dy)); + const CCTK_REAL_VEC p1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dx); + const CCTK_REAL_VEC p1o4dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dy,dx)); + const CCTK_REAL_VEC p1o4dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dx)); + const CCTK_REAL_VEC p1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dy); + const CCTK_REAL_VEC p1o4dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dy)); + const CCTK_REAL_VEC p1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dz); + const CCTK_REAL_VEC p1o5040dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dx,dx)); + const CCTK_REAL_VEC p1o5040dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dy,dy)); + const CCTK_REAL_VEC p1o5040dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dz,dz)); + const CCTK_REAL_VEC p1o560dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dx); + const CCTK_REAL_VEC p1o560dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dy); + const CCTK_REAL_VEC p1o560dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dz); + const CCTK_REAL_VEC p1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dx); + const CCTK_REAL_VEC p1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dy); + const CCTK_REAL_VEC p1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dz); + const CCTK_REAL_VEC p1o64dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dx); + const CCTK_REAL_VEC p1o64dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dy); + const CCTK_REAL_VEC p1o64dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dz); + const CCTK_REAL_VEC p1o705600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dy,dx)); + const CCTK_REAL_VEC p1o705600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dx)); + const CCTK_REAL_VEC p1o705600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dy)); + const CCTK_REAL_VEC p1o840dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dx); + const CCTK_REAL_VEC p1o840dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dy); + const CCTK_REAL_VEC p1o840dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dz); + const CCTK_REAL_VEC p1odx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dx); + const CCTK_REAL_VEC p1odx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dx,dx)); + const CCTK_REAL_VEC p1ody CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dy); + const CCTK_REAL_VEC p1ody2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dy,dy)); + const CCTK_REAL_VEC p1odz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dz); + const CCTK_REAL_VEC p1odz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dz,dz)); + const CCTK_REAL_VEC pm1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dx); + const CCTK_REAL_VEC pm1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dy); + const CCTK_REAL_VEC pm1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dz); + const CCTK_REAL_VEC pm1o12dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dx,dx)); + const CCTK_REAL_VEC pm1o12dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dy,dy)); + const CCTK_REAL_VEC pm1o12dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dz,dz)); + const CCTK_REAL_VEC pm1o16dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dx); + const CCTK_REAL_VEC pm1o16dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dy); + const CCTK_REAL_VEC pm1o16dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dz); + const CCTK_REAL_VEC pm1o256dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dx); + const CCTK_REAL_VEC pm1o256dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dy); + const CCTK_REAL_VEC pm1o256dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dz); + const CCTK_REAL_VEC pm1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dx); + const CCTK_REAL_VEC pm1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dy); + const CCTK_REAL_VEC pm1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dz); + const CCTK_REAL_VEC pm1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dx); + const CCTK_REAL_VEC pm1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dy); + const CCTK_REAL_VEC pm1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dz); + const CCTK_REAL_VEC pm1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dx); + const CCTK_REAL_VEC pm1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dy); + const CCTK_REAL_VEC pm1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dz); /* Jacobian variable pointers */ - bool const use_jacobian CCTK_ATTRIBUTE_UNUSED = (!CCTK_IsFunctionAliased("MultiPatch_GetMap") || MultiPatch_GetMap(cctkGH) != jacobian_identity_map) - && strlen(jacobian_group) > 0; - if (use_jacobian && strlen(jacobian_derivative_group) == 0) + const bool use_jacobian1 = (!CCTK_IsFunctionAliased("MultiPatch_GetMap") || MultiPatch_GetMap(cctkGH) != jacobian_identity_map) + && strlen(jacobian_group) > 0; + const bool use_jacobian = assume_use_jacobian>=0 ? assume_use_jacobian : use_jacobian1; + const bool usejacobian CCTK_ATTRIBUTE_UNUSED = use_jacobian; + if (use_jacobian && (strlen(jacobian_determinant_group) == 0 || strlen(jacobian_inverse_group) == 0 || strlen(jacobian_derivative_group) == 0)) { - CCTK_WARN (1, "GenericFD::jacobian_group and GenericFD::jacobian_derivative_group must both be set to valid group names"); + CCTK_WARN(1, "GenericFD::jacobian_group, GenericFD::jacobian_determinant_group, GenericFD::jacobian_inverse_group, and GenericFD::jacobian_derivative_group must all be set to valid group names"); } - CCTK_REAL const *restrict jacobian_ptrs[9]; + const CCTK_REAL* restrict jacobian_ptrs[9]; if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_group, 9, jacobian_ptrs); - CCTK_REAL const *restrict const J11 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[0] : 0; - CCTK_REAL const *restrict const J12 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[1] : 0; - CCTK_REAL const *restrict const J13 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[2] : 0; - CCTK_REAL const *restrict const J21 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[3] : 0; - CCTK_REAL const *restrict const J22 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[4] : 0; - CCTK_REAL const *restrict const J23 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[5] : 0; - CCTK_REAL const *restrict const J31 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[6] : 0; - CCTK_REAL const *restrict const J32 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[7] : 0; - CCTK_REAL const *restrict const J33 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[8] : 0; + const CCTK_REAL* restrict const J11 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[0] : 0; + const CCTK_REAL* restrict const J12 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[1] : 0; + const CCTK_REAL* restrict const J13 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[2] : 0; + const CCTK_REAL* restrict const J21 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[3] : 0; + const CCTK_REAL* restrict const J22 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[4] : 0; + const CCTK_REAL* restrict const J23 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[5] : 0; + const CCTK_REAL* restrict const J31 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[6] : 0; + const CCTK_REAL* restrict const J32 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[7] : 0; + const CCTK_REAL* restrict const J33 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[8] : 0; + + const CCTK_REAL* restrict jacobian_determinant_ptrs[1] CCTK_ATTRIBUTE_UNUSED; + if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_determinant_group, + 1, jacobian_determinant_ptrs); + + const CCTK_REAL* restrict const detJ CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[0] : 0; - CCTK_REAL const *restrict jacobian_derivative_ptrs[18] CCTK_ATTRIBUTE_UNUSED; + const CCTK_REAL* restrict jacobian_inverse_ptrs[9] CCTK_ATTRIBUTE_UNUSED; + if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_inverse_group, + 9, jacobian_inverse_ptrs); + + const CCTK_REAL* restrict const iJ11 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[0] : 0; + const CCTK_REAL* restrict const iJ12 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[1] : 0; + const CCTK_REAL* restrict const iJ13 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[2] : 0; + const CCTK_REAL* restrict const iJ21 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[3] : 0; + const CCTK_REAL* restrict const iJ22 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[4] : 0; + const CCTK_REAL* restrict const iJ23 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[5] : 0; + const CCTK_REAL* restrict const iJ31 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[6] : 0; + const CCTK_REAL* restrict const iJ32 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[7] : 0; + const CCTK_REAL* restrict const iJ33 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[8] : 0; + + const CCTK_REAL* restrict jacobian_derivative_ptrs[18] CCTK_ATTRIBUTE_UNUSED; if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_derivative_group, 18, jacobian_derivative_ptrs); - CCTK_REAL const *restrict const dJ111 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[0] : 0; - CCTK_REAL const *restrict const dJ112 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[1] : 0; - CCTK_REAL const *restrict const dJ113 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[2] : 0; - CCTK_REAL const *restrict const dJ122 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[3] : 0; - CCTK_REAL const *restrict const dJ123 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[4] : 0; - CCTK_REAL const *restrict const dJ133 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[5] : 0; - CCTK_REAL const *restrict const dJ211 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[6] : 0; - CCTK_REAL const *restrict const dJ212 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[7] : 0; - CCTK_REAL const *restrict const dJ213 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[8] : 0; - CCTK_REAL const *restrict const dJ222 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[9] : 0; - CCTK_REAL const *restrict const dJ223 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[10] : 0; - CCTK_REAL const *restrict const dJ233 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[11] : 0; - CCTK_REAL const *restrict const dJ311 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[12] : 0; - CCTK_REAL const *restrict const dJ312 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[13] : 0; - CCTK_REAL const *restrict const dJ313 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[14] : 0; - CCTK_REAL const *restrict const dJ322 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[15] : 0; - CCTK_REAL const *restrict const dJ323 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[16] : 0; - CCTK_REAL const *restrict const dJ333 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[17] : 0; + const CCTK_REAL* restrict const dJ111 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[0] : 0; + const CCTK_REAL* restrict const dJ112 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[1] : 0; + const CCTK_REAL* restrict const dJ113 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[2] : 0; + const CCTK_REAL* restrict const dJ122 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[3] : 0; + const CCTK_REAL* restrict const dJ123 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[4] : 0; + const CCTK_REAL* restrict const dJ133 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[5] : 0; + const CCTK_REAL* restrict const dJ211 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[6] : 0; + const CCTK_REAL* restrict const dJ212 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[7] : 0; + const CCTK_REAL* restrict const dJ213 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[8] : 0; + const CCTK_REAL* restrict const dJ222 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[9] : 0; + const CCTK_REAL* restrict const dJ223 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[10] : 0; + const CCTK_REAL* restrict const dJ233 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[11] : 0; + const CCTK_REAL* restrict const dJ311 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[12] : 0; + const CCTK_REAL* restrict const dJ312 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[13] : 0; + const CCTK_REAL* restrict const dJ313 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[14] : 0; + const CCTK_REAL* restrict const dJ322 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[15] : 0; + const CCTK_REAL* restrict const dJ323 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[16] : 0; + const CCTK_REAL* restrict const dJ333 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[17] : 0; /* Assign local copies of arrays functions */ @@ -205,13 +229,20 @@ static void ML_BSSN_constraints1_Body(cGH const * restrict const cctkGH, int con /* Copy local copies back to grid functions */ /* Loop over the grid points */ - #pragma omp parallel + const int imin0=imin[0]; + const int imin1=imin[1]; + const int imin2=imin[2]; + const int imax0=imax[0]; + const int imax1=imax[1]; + const int imax2=imax[2]; + #pragma omp parallel // reduction(+: vec_iter_counter, vec_op_counter, vec_mem_counter) CCTK_LOOP3STR(ML_BSSN_constraints1, - 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 */ @@ -239,7 +270,7 @@ static void ML_BSSN_constraints1_Body(cGH const * restrict const cctkGH, int con CCTK_REAL_VEC eTttL, eTtxL, eTtyL, eTtzL, eTxxL, eTxyL, eTxzL, eTyyL, eTyzL, eTzzL CCTK_ATTRIBUTE_UNUSED ; - if (*stress_energy_state) + if (assume_stress_energy_state>=0 ? assume_stress_energy_state : *stress_energy_state) { eTttL = vec_load(eTtt[index]); eTtxL = vec_load(eTtx[index]); @@ -302,82 +333,83 @@ static void ML_BSSN_constraints1_Body(cGH const * restrict const cctkGH, int con /* Include user supplied include files */ /* Precompute derivatives */ - CCTK_REAL_VEC PDstandardNth1gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth2gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth3gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth11gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth22gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth33gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth12gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth13gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth23gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth1gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth2gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth3gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth11gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth22gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth33gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth12gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth13gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth23gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth1gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth2gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth3gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth11gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth22gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth33gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth12gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth13gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth23gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth1gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth2gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth3gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth11gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth22gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth33gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth12gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth13gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth23gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth1gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth2gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth3gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth11gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth22gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth33gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth12gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth13gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth23gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth1gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth2gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth3gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth11gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth22gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth33gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth12gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth13gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth23gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth1phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth2phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth3phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth11phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth22phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth33phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth12phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth13phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth23phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth1Xt1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth2Xt1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth3Xt1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth1Xt2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth2Xt2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth3Xt2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth1Xt3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth2Xt3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth3Xt3 CCTK_ATTRIBUTE_UNUSED ; - - switch(fdOrder) + CCTK_REAL_VEC PDstandardNth1gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth11gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth22gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth33gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth12gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth13gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth23gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth11gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth22gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth33gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth12gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth13gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth23gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth11gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth22gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth33gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth12gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth13gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth23gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth11gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth22gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth33gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth12gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth13gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth23gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth11gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth22gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth33gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth12gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth13gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth23gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth11gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth22gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth33gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth12gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth13gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth23gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth11phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth22phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth33phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth12phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth13phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth23phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1Xt1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2Xt1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3Xt1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1Xt2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2Xt2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3Xt2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1Xt3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2Xt3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3Xt3 CCTK_ATTRIBUTE_UNUSED; + + switch (fdOrder) { case 2: + { PDstandardNth1gt11 = PDstandardNthfdOrder21(>11[index]); PDstandardNth2gt11 = PDstandardNthfdOrder22(>11[index]); PDstandardNth3gt11 = PDstandardNthfdOrder23(>11[index]); @@ -451,8 +483,10 @@ static void ML_BSSN_constraints1_Body(cGH const * restrict const cctkGH, int con PDstandardNth2Xt3 = PDstandardNthfdOrder22(&Xt3[index]); PDstandardNth3Xt3 = PDstandardNthfdOrder23(&Xt3[index]); break; + } case 4: + { PDstandardNth1gt11 = PDstandardNthfdOrder41(>11[index]); PDstandardNth2gt11 = PDstandardNthfdOrder42(>11[index]); PDstandardNth3gt11 = PDstandardNthfdOrder43(>11[index]); @@ -526,8 +560,10 @@ static void ML_BSSN_constraints1_Body(cGH const * restrict const cctkGH, int con PDstandardNth2Xt3 = PDstandardNthfdOrder42(&Xt3[index]); PDstandardNth3Xt3 = PDstandardNthfdOrder43(&Xt3[index]); break; + } case 6: + { PDstandardNth1gt11 = PDstandardNthfdOrder61(>11[index]); PDstandardNth2gt11 = PDstandardNthfdOrder62(>11[index]); PDstandardNth3gt11 = PDstandardNthfdOrder63(>11[index]); @@ -601,8 +637,10 @@ static void ML_BSSN_constraints1_Body(cGH const * restrict const cctkGH, int con PDstandardNth2Xt3 = PDstandardNthfdOrder62(&Xt3[index]); PDstandardNth3Xt3 = PDstandardNthfdOrder63(&Xt3[index]); break; + } case 8: + { PDstandardNth1gt11 = PDstandardNthfdOrder81(>11[index]); PDstandardNth2gt11 = PDstandardNthfdOrder82(>11[index]); PDstandardNth3gt11 = PDstandardNthfdOrder83(>11[index]); @@ -676,99 +714,102 @@ static void ML_BSSN_constraints1_Body(cGH const * restrict const cctkGH, int con PDstandardNth2Xt3 = PDstandardNthfdOrder82(&Xt3[index]); PDstandardNth3Xt3 = PDstandardNthfdOrder83(&Xt3[index]); break; + } + default: + CCTK_BUILTIN_UNREACHABLE(); } /* Calculate temporaries and grid functions */ - CCTK_REAL_VEC JacPDstandardNth11gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth11gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth11gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth11gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth11gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth11gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth11phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth12gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth12gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth12gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth12gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth12gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth12gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth12phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth13gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth13gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth13gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth13gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth13gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth13gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth13phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth1gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth1gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth1gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth1gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth1gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth1gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth1phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth1Xt1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth1Xt2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth1Xt3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth21gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth21gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth21gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth21gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth21gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth21gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth22gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth22gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth22gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth22gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth22gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth22gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth22phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth23gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth23gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth23gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth23gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth23gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth23gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth23phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth2gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth2gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth2gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth2gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth2gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth2gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth2phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth2Xt1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth2Xt2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth2Xt3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth31gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth31gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth31gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth31gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth31gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth31gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth32gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth32gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth32gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth32gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth32gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth32gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth33gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth33gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth33gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth33gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth33gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth33gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth33phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth3gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth3gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth3gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth3gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth3gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth3gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth3phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth3Xt1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth3Xt2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth3Xt3 CCTK_ATTRIBUTE_UNUSED ; + CCTK_REAL_VEC JacPDstandardNth11gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth11gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth11gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth11gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth11gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth11gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth11phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth12gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth12gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth12gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth12gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth12gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth12gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth12phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth13gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth13gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth13gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth13gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth13gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth13gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth13phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1Xt1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1Xt2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1Xt3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth21gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth21gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth21gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth21gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth21gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth21gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth22gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth22gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth22gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth22gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth22gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth22gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth22phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth23gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth23gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth23gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth23gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth23gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth23gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth23phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2Xt1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2Xt2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2Xt3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth31gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth31gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth31gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth31gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth31gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth31gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth32gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth32gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth32gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth32gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth32gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth32gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth33gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth33gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth33gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth33gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth33gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth33gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth33phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3Xt1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3Xt2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3Xt3 CCTK_ATTRIBUTE_UNUSED; if (use_jacobian) { @@ -863,67 +904,67 @@ static void ML_BSSN_constraints1_Body(cGH const * restrict const cctkGH, int con kmadd(J13L,PDstandardNth1Xt3,kmadd(J23L,PDstandardNth2Xt3,kmul(J33L,PDstandardNth3Xt3))); JacPDstandardNth11gt11 = - kmadd(dJ111L,PDstandardNth1gt11,kmadd(dJ211L,PDstandardNth2gt11,kmadd(dJ311L,PDstandardNth3gt11,kmadd(PDstandardNth11gt11,kmul(J11L,J11L),kmadd(PDstandardNth22gt11,kmul(J21L,J21L),kmadd(PDstandardNth33gt11,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12gt11,kmul(J31L,PDstandardNth13gt11)),kmul(J21L,kmul(J31L,PDstandardNth23gt11))),ToReal(2.)))))))); + kmadd(dJ111L,PDstandardNth1gt11,kmadd(dJ211L,PDstandardNth2gt11,kmadd(dJ311L,PDstandardNth3gt11,kmadd(PDstandardNth11gt11,kmul(J11L,J11L),kmadd(PDstandardNth22gt11,kmul(J21L,J21L),kmadd(PDstandardNth33gt11,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12gt11,kmul(J31L,PDstandardNth13gt11)),kmul(J21L,kmul(J31L,PDstandardNth23gt11))),ToReal(2)))))))); JacPDstandardNth11gt12 = - kmadd(dJ111L,PDstandardNth1gt12,kmadd(dJ211L,PDstandardNth2gt12,kmadd(dJ311L,PDstandardNth3gt12,kmadd(PDstandardNth11gt12,kmul(J11L,J11L),kmadd(PDstandardNth22gt12,kmul(J21L,J21L),kmadd(PDstandardNth33gt12,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12gt12,kmul(J31L,PDstandardNth13gt12)),kmul(J21L,kmul(J31L,PDstandardNth23gt12))),ToReal(2.)))))))); + kmadd(dJ111L,PDstandardNth1gt12,kmadd(dJ211L,PDstandardNth2gt12,kmadd(dJ311L,PDstandardNth3gt12,kmadd(PDstandardNth11gt12,kmul(J11L,J11L),kmadd(PDstandardNth22gt12,kmul(J21L,J21L),kmadd(PDstandardNth33gt12,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12gt12,kmul(J31L,PDstandardNth13gt12)),kmul(J21L,kmul(J31L,PDstandardNth23gt12))),ToReal(2)))))))); JacPDstandardNth11gt13 = - kmadd(dJ111L,PDstandardNth1gt13,kmadd(dJ211L,PDstandardNth2gt13,kmadd(dJ311L,PDstandardNth3gt13,kmadd(PDstandardNth11gt13,kmul(J11L,J11L),kmadd(PDstandardNth22gt13,kmul(J21L,J21L),kmadd(PDstandardNth33gt13,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12gt13,kmul(J31L,PDstandardNth13gt13)),kmul(J21L,kmul(J31L,PDstandardNth23gt13))),ToReal(2.)))))))); + kmadd(dJ111L,PDstandardNth1gt13,kmadd(dJ211L,PDstandardNth2gt13,kmadd(dJ311L,PDstandardNth3gt13,kmadd(PDstandardNth11gt13,kmul(J11L,J11L),kmadd(PDstandardNth22gt13,kmul(J21L,J21L),kmadd(PDstandardNth33gt13,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12gt13,kmul(J31L,PDstandardNth13gt13)),kmul(J21L,kmul(J31L,PDstandardNth23gt13))),ToReal(2)))))))); JacPDstandardNth11gt22 = - kmadd(dJ111L,PDstandardNth1gt22,kmadd(dJ211L,PDstandardNth2gt22,kmadd(dJ311L,PDstandardNth3gt22,kmadd(PDstandardNth11gt22,kmul(J11L,J11L),kmadd(PDstandardNth22gt22,kmul(J21L,J21L),kmadd(PDstandardNth33gt22,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12gt22,kmul(J31L,PDstandardNth13gt22)),kmul(J21L,kmul(J31L,PDstandardNth23gt22))),ToReal(2.)))))))); + kmadd(dJ111L,PDstandardNth1gt22,kmadd(dJ211L,PDstandardNth2gt22,kmadd(dJ311L,PDstandardNth3gt22,kmadd(PDstandardNth11gt22,kmul(J11L,J11L),kmadd(PDstandardNth22gt22,kmul(J21L,J21L),kmadd(PDstandardNth33gt22,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12gt22,kmul(J31L,PDstandardNth13gt22)),kmul(J21L,kmul(J31L,PDstandardNth23gt22))),ToReal(2)))))))); JacPDstandardNth11gt23 = - kmadd(dJ111L,PDstandardNth1gt23,kmadd(dJ211L,PDstandardNth2gt23,kmadd(dJ311L,PDstandardNth3gt23,kmadd(PDstandardNth11gt23,kmul(J11L,J11L),kmadd(PDstandardNth22gt23,kmul(J21L,J21L),kmadd(PDstandardNth33gt23,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12gt23,kmul(J31L,PDstandardNth13gt23)),kmul(J21L,kmul(J31L,PDstandardNth23gt23))),ToReal(2.)))))))); + kmadd(dJ111L,PDstandardNth1gt23,kmadd(dJ211L,PDstandardNth2gt23,kmadd(dJ311L,PDstandardNth3gt23,kmadd(PDstandardNth11gt23,kmul(J11L,J11L),kmadd(PDstandardNth22gt23,kmul(J21L,J21L),kmadd(PDstandardNth33gt23,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12gt23,kmul(J31L,PDstandardNth13gt23)),kmul(J21L,kmul(J31L,PDstandardNth23gt23))),ToReal(2)))))))); JacPDstandardNth11gt33 = - kmadd(dJ111L,PDstandardNth1gt33,kmadd(dJ211L,PDstandardNth2gt33,kmadd(dJ311L,PDstandardNth3gt33,kmadd(PDstandardNth11gt33,kmul(J11L,J11L),kmadd(PDstandardNth22gt33,kmul(J21L,J21L),kmadd(PDstandardNth33gt33,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12gt33,kmul(J31L,PDstandardNth13gt33)),kmul(J21L,kmul(J31L,PDstandardNth23gt33))),ToReal(2.)))))))); + kmadd(dJ111L,PDstandardNth1gt33,kmadd(dJ211L,PDstandardNth2gt33,kmadd(dJ311L,PDstandardNth3gt33,kmadd(PDstandardNth11gt33,kmul(J11L,J11L),kmadd(PDstandardNth22gt33,kmul(J21L,J21L),kmadd(PDstandardNth33gt33,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12gt33,kmul(J31L,PDstandardNth13gt33)),kmul(J21L,kmul(J31L,PDstandardNth23gt33))),ToReal(2)))))))); JacPDstandardNth11phi = - kmadd(dJ111L,PDstandardNth1phi,kmadd(dJ211L,PDstandardNth2phi,kmadd(dJ311L,PDstandardNth3phi,kmadd(PDstandardNth11phi,kmul(J11L,J11L),kmadd(PDstandardNth22phi,kmul(J21L,J21L),kmadd(PDstandardNth33phi,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12phi,kmul(J31L,PDstandardNth13phi)),kmul(J21L,kmul(J31L,PDstandardNth23phi))),ToReal(2.)))))))); + kmadd(dJ111L,PDstandardNth1phi,kmadd(dJ211L,PDstandardNth2phi,kmadd(dJ311L,PDstandardNth3phi,kmadd(PDstandardNth11phi,kmul(J11L,J11L),kmadd(PDstandardNth22phi,kmul(J21L,J21L),kmadd(PDstandardNth33phi,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12phi,kmul(J31L,PDstandardNth13phi)),kmul(J21L,kmul(J31L,PDstandardNth23phi))),ToReal(2)))))))); JacPDstandardNth22gt11 = - kmadd(dJ122L,PDstandardNth1gt11,kmadd(dJ222L,PDstandardNth2gt11,kmadd(dJ322L,PDstandardNth3gt11,kmadd(PDstandardNth11gt11,kmul(J12L,J12L),kmadd(PDstandardNth22gt11,kmul(J22L,J22L),kmadd(PDstandardNth33gt11,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12gt11,kmul(J32L,PDstandardNth13gt11)),kmul(J22L,kmul(J32L,PDstandardNth23gt11))),ToReal(2.)))))))); + kmadd(dJ122L,PDstandardNth1gt11,kmadd(dJ222L,PDstandardNth2gt11,kmadd(dJ322L,PDstandardNth3gt11,kmadd(PDstandardNth11gt11,kmul(J12L,J12L),kmadd(PDstandardNth22gt11,kmul(J22L,J22L),kmadd(PDstandardNth33gt11,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12gt11,kmul(J32L,PDstandardNth13gt11)),kmul(J22L,kmul(J32L,PDstandardNth23gt11))),ToReal(2)))))))); JacPDstandardNth22gt12 = - kmadd(dJ122L,PDstandardNth1gt12,kmadd(dJ222L,PDstandardNth2gt12,kmadd(dJ322L,PDstandardNth3gt12,kmadd(PDstandardNth11gt12,kmul(J12L,J12L),kmadd(PDstandardNth22gt12,kmul(J22L,J22L),kmadd(PDstandardNth33gt12,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12gt12,kmul(J32L,PDstandardNth13gt12)),kmul(J22L,kmul(J32L,PDstandardNth23gt12))),ToReal(2.)))))))); + kmadd(dJ122L,PDstandardNth1gt12,kmadd(dJ222L,PDstandardNth2gt12,kmadd(dJ322L,PDstandardNth3gt12,kmadd(PDstandardNth11gt12,kmul(J12L,J12L),kmadd(PDstandardNth22gt12,kmul(J22L,J22L),kmadd(PDstandardNth33gt12,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12gt12,kmul(J32L,PDstandardNth13gt12)),kmul(J22L,kmul(J32L,PDstandardNth23gt12))),ToReal(2)))))))); JacPDstandardNth22gt13 = - kmadd(dJ122L,PDstandardNth1gt13,kmadd(dJ222L,PDstandardNth2gt13,kmadd(dJ322L,PDstandardNth3gt13,kmadd(PDstandardNth11gt13,kmul(J12L,J12L),kmadd(PDstandardNth22gt13,kmul(J22L,J22L),kmadd(PDstandardNth33gt13,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12gt13,kmul(J32L,PDstandardNth13gt13)),kmul(J22L,kmul(J32L,PDstandardNth23gt13))),ToReal(2.)))))))); + kmadd(dJ122L,PDstandardNth1gt13,kmadd(dJ222L,PDstandardNth2gt13,kmadd(dJ322L,PDstandardNth3gt13,kmadd(PDstandardNth11gt13,kmul(J12L,J12L),kmadd(PDstandardNth22gt13,kmul(J22L,J22L),kmadd(PDstandardNth33gt13,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12gt13,kmul(J32L,PDstandardNth13gt13)),kmul(J22L,kmul(J32L,PDstandardNth23gt13))),ToReal(2)))))))); JacPDstandardNth22gt22 = - kmadd(dJ122L,PDstandardNth1gt22,kmadd(dJ222L,PDstandardNth2gt22,kmadd(dJ322L,PDstandardNth3gt22,kmadd(PDstandardNth11gt22,kmul(J12L,J12L),kmadd(PDstandardNth22gt22,kmul(J22L,J22L),kmadd(PDstandardNth33gt22,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12gt22,kmul(J32L,PDstandardNth13gt22)),kmul(J22L,kmul(J32L,PDstandardNth23gt22))),ToReal(2.)))))))); + kmadd(dJ122L,PDstandardNth1gt22,kmadd(dJ222L,PDstandardNth2gt22,kmadd(dJ322L,PDstandardNth3gt22,kmadd(PDstandardNth11gt22,kmul(J12L,J12L),kmadd(PDstandardNth22gt22,kmul(J22L,J22L),kmadd(PDstandardNth33gt22,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12gt22,kmul(J32L,PDstandardNth13gt22)),kmul(J22L,kmul(J32L,PDstandardNth23gt22))),ToReal(2)))))))); JacPDstandardNth22gt23 = - kmadd(dJ122L,PDstandardNth1gt23,kmadd(dJ222L,PDstandardNth2gt23,kmadd(dJ322L,PDstandardNth3gt23,kmadd(PDstandardNth11gt23,kmul(J12L,J12L),kmadd(PDstandardNth22gt23,kmul(J22L,J22L),kmadd(PDstandardNth33gt23,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12gt23,kmul(J32L,PDstandardNth13gt23)),kmul(J22L,kmul(J32L,PDstandardNth23gt23))),ToReal(2.)))))))); + kmadd(dJ122L,PDstandardNth1gt23,kmadd(dJ222L,PDstandardNth2gt23,kmadd(dJ322L,PDstandardNth3gt23,kmadd(PDstandardNth11gt23,kmul(J12L,J12L),kmadd(PDstandardNth22gt23,kmul(J22L,J22L),kmadd(PDstandardNth33gt23,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12gt23,kmul(J32L,PDstandardNth13gt23)),kmul(J22L,kmul(J32L,PDstandardNth23gt23))),ToReal(2)))))))); JacPDstandardNth22gt33 = - kmadd(dJ122L,PDstandardNth1gt33,kmadd(dJ222L,PDstandardNth2gt33,kmadd(dJ322L,PDstandardNth3gt33,kmadd(PDstandardNth11gt33,kmul(J12L,J12L),kmadd(PDstandardNth22gt33,kmul(J22L,J22L),kmadd(PDstandardNth33gt33,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12gt33,kmul(J32L,PDstandardNth13gt33)),kmul(J22L,kmul(J32L,PDstandardNth23gt33))),ToReal(2.)))))))); + kmadd(dJ122L,PDstandardNth1gt33,kmadd(dJ222L,PDstandardNth2gt33,kmadd(dJ322L,PDstandardNth3gt33,kmadd(PDstandardNth11gt33,kmul(J12L,J12L),kmadd(PDstandardNth22gt33,kmul(J22L,J22L),kmadd(PDstandardNth33gt33,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12gt33,kmul(J32L,PDstandardNth13gt33)),kmul(J22L,kmul(J32L,PDstandardNth23gt33))),ToReal(2)))))))); JacPDstandardNth22phi = - kmadd(dJ122L,PDstandardNth1phi,kmadd(dJ222L,PDstandardNth2phi,kmadd(dJ322L,PDstandardNth3phi,kmadd(PDstandardNth11phi,kmul(J12L,J12L),kmadd(PDstandardNth22phi,kmul(J22L,J22L),kmadd(PDstandardNth33phi,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12phi,kmul(J32L,PDstandardNth13phi)),kmul(J22L,kmul(J32L,PDstandardNth23phi))),ToReal(2.)))))))); + kmadd(dJ122L,PDstandardNth1phi,kmadd(dJ222L,PDstandardNth2phi,kmadd(dJ322L,PDstandardNth3phi,kmadd(PDstandardNth11phi,kmul(J12L,J12L),kmadd(PDstandardNth22phi,kmul(J22L,J22L),kmadd(PDstandardNth33phi,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12phi,kmul(J32L,PDstandardNth13phi)),kmul(J22L,kmul(J32L,PDstandardNth23phi))),ToReal(2)))))))); JacPDstandardNth33gt11 = - kmadd(dJ133L,PDstandardNth1gt11,kmadd(dJ233L,PDstandardNth2gt11,kmadd(dJ333L,PDstandardNth3gt11,kmadd(PDstandardNth11gt11,kmul(J13L,J13L),kmadd(PDstandardNth22gt11,kmul(J23L,J23L),kmadd(PDstandardNth33gt11,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12gt11,kmul(J33L,PDstandardNth13gt11)),kmul(J23L,kmul(J33L,PDstandardNth23gt11))),ToReal(2.)))))))); + kmadd(dJ133L,PDstandardNth1gt11,kmadd(dJ233L,PDstandardNth2gt11,kmadd(dJ333L,PDstandardNth3gt11,kmadd(PDstandardNth11gt11,kmul(J13L,J13L),kmadd(PDstandardNth22gt11,kmul(J23L,J23L),kmadd(PDstandardNth33gt11,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12gt11,kmul(J33L,PDstandardNth13gt11)),kmul(J23L,kmul(J33L,PDstandardNth23gt11))),ToReal(2)))))))); JacPDstandardNth33gt12 = - kmadd(dJ133L,PDstandardNth1gt12,kmadd(dJ233L,PDstandardNth2gt12,kmadd(dJ333L,PDstandardNth3gt12,kmadd(PDstandardNth11gt12,kmul(J13L,J13L),kmadd(PDstandardNth22gt12,kmul(J23L,J23L),kmadd(PDstandardNth33gt12,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12gt12,kmul(J33L,PDstandardNth13gt12)),kmul(J23L,kmul(J33L,PDstandardNth23gt12))),ToReal(2.)))))))); + kmadd(dJ133L,PDstandardNth1gt12,kmadd(dJ233L,PDstandardNth2gt12,kmadd(dJ333L,PDstandardNth3gt12,kmadd(PDstandardNth11gt12,kmul(J13L,J13L),kmadd(PDstandardNth22gt12,kmul(J23L,J23L),kmadd(PDstandardNth33gt12,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12gt12,kmul(J33L,PDstandardNth13gt12)),kmul(J23L,kmul(J33L,PDstandardNth23gt12))),ToReal(2)))))))); JacPDstandardNth33gt13 = - kmadd(dJ133L,PDstandardNth1gt13,kmadd(dJ233L,PDstandardNth2gt13,kmadd(dJ333L,PDstandardNth3gt13,kmadd(PDstandardNth11gt13,kmul(J13L,J13L),kmadd(PDstandardNth22gt13,kmul(J23L,J23L),kmadd(PDstandardNth33gt13,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12gt13,kmul(J33L,PDstandardNth13gt13)),kmul(J23L,kmul(J33L,PDstandardNth23gt13))),ToReal(2.)))))))); + kmadd(dJ133L,PDstandardNth1gt13,kmadd(dJ233L,PDstandardNth2gt13,kmadd(dJ333L,PDstandardNth3gt13,kmadd(PDstandardNth11gt13,kmul(J13L,J13L),kmadd(PDstandardNth22gt13,kmul(J23L,J23L),kmadd(PDstandardNth33gt13,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12gt13,kmul(J33L,PDstandardNth13gt13)),kmul(J23L,kmul(J33L,PDstandardNth23gt13))),ToReal(2)))))))); JacPDstandardNth33gt22 = - kmadd(dJ133L,PDstandardNth1gt22,kmadd(dJ233L,PDstandardNth2gt22,kmadd(dJ333L,PDstandardNth3gt22,kmadd(PDstandardNth11gt22,kmul(J13L,J13L),kmadd(PDstandardNth22gt22,kmul(J23L,J23L),kmadd(PDstandardNth33gt22,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12gt22,kmul(J33L,PDstandardNth13gt22)),kmul(J23L,kmul(J33L,PDstandardNth23gt22))),ToReal(2.)))))))); + kmadd(dJ133L,PDstandardNth1gt22,kmadd(dJ233L,PDstandardNth2gt22,kmadd(dJ333L,PDstandardNth3gt22,kmadd(PDstandardNth11gt22,kmul(J13L,J13L),kmadd(PDstandardNth22gt22,kmul(J23L,J23L),kmadd(PDstandardNth33gt22,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12gt22,kmul(J33L,PDstandardNth13gt22)),kmul(J23L,kmul(J33L,PDstandardNth23gt22))),ToReal(2)))))))); JacPDstandardNth33gt23 = - kmadd(dJ133L,PDstandardNth1gt23,kmadd(dJ233L,PDstandardNth2gt23,kmadd(dJ333L,PDstandardNth3gt23,kmadd(PDstandardNth11gt23,kmul(J13L,J13L),kmadd(PDstandardNth22gt23,kmul(J23L,J23L),kmadd(PDstandardNth33gt23,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12gt23,kmul(J33L,PDstandardNth13gt23)),kmul(J23L,kmul(J33L,PDstandardNth23gt23))),ToReal(2.)))))))); + kmadd(dJ133L,PDstandardNth1gt23,kmadd(dJ233L,PDstandardNth2gt23,kmadd(dJ333L,PDstandardNth3gt23,kmadd(PDstandardNth11gt23,kmul(J13L,J13L),kmadd(PDstandardNth22gt23,kmul(J23L,J23L),kmadd(PDstandardNth33gt23,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12gt23,kmul(J33L,PDstandardNth13gt23)),kmul(J23L,kmul(J33L,PDstandardNth23gt23))),ToReal(2)))))))); JacPDstandardNth33gt33 = - kmadd(dJ133L,PDstandardNth1gt33,kmadd(dJ233L,PDstandardNth2gt33,kmadd(dJ333L,PDstandardNth3gt33,kmadd(PDstandardNth11gt33,kmul(J13L,J13L),kmadd(PDstandardNth22gt33,kmul(J23L,J23L),kmadd(PDstandardNth33gt33,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12gt33,kmul(J33L,PDstandardNth13gt33)),kmul(J23L,kmul(J33L,PDstandardNth23gt33))),ToReal(2.)))))))); + kmadd(dJ133L,PDstandardNth1gt33,kmadd(dJ233L,PDstandardNth2gt33,kmadd(dJ333L,PDstandardNth3gt33,kmadd(PDstandardNth11gt33,kmul(J13L,J13L),kmadd(PDstandardNth22gt33,kmul(J23L,J23L),kmadd(PDstandardNth33gt33,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12gt33,kmul(J33L,PDstandardNth13gt33)),kmul(J23L,kmul(J33L,PDstandardNth23gt33))),ToReal(2)))))))); JacPDstandardNth33phi = - kmadd(dJ133L,PDstandardNth1phi,kmadd(dJ233L,PDstandardNth2phi,kmadd(dJ333L,PDstandardNth3phi,kmadd(PDstandardNth11phi,kmul(J13L,J13L),kmadd(PDstandardNth22phi,kmul(J23L,J23L),kmadd(PDstandardNth33phi,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12phi,kmul(J33L,PDstandardNth13phi)),kmul(J23L,kmul(J33L,PDstandardNth23phi))),ToReal(2.)))))))); + kmadd(dJ133L,PDstandardNth1phi,kmadd(dJ233L,PDstandardNth2phi,kmadd(dJ333L,PDstandardNth3phi,kmadd(PDstandardNth11phi,kmul(J13L,J13L),kmadd(PDstandardNth22phi,kmul(J23L,J23L),kmadd(PDstandardNth33phi,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12phi,kmul(J33L,PDstandardNth13phi)),kmul(J23L,kmul(J33L,PDstandardNth23phi))),ToReal(2)))))))); JacPDstandardNth12gt11 = kmadd(J12L,kmadd(J11L,PDstandardNth11gt11,kmadd(J21L,PDstandardNth12gt11,kmul(J31L,PDstandardNth13gt11))),kmadd(J11L,kmadd(J22L,PDstandardNth12gt11,kmul(J32L,PDstandardNth13gt11)),kmadd(dJ112L,PDstandardNth1gt11,kmadd(J22L,kmadd(J21L,PDstandardNth22gt11,kmul(J31L,PDstandardNth23gt11)),kmadd(dJ212L,PDstandardNth2gt11,kmadd(J32L,kmadd(J21L,PDstandardNth23gt11,kmul(J31L,PDstandardNth33gt11)),kmul(dJ312L,PDstandardNth3gt11))))))); @@ -1225,25 +1266,25 @@ static void ML_BSSN_constraints1_Body(cGH const * restrict const cctkGH, int con JacPDstandardNth32gt33 = PDstandardNth23gt33; } - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED detgt = ToReal(1.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED detgt = ToReal(1); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gtu11 = - kdiv(kmadd(gt22L,gt33L,kmul(kmul(gt23L,gt23L),ToReal(-1.))),detgt); + kdiv(kmsub(gt22L,gt33L,kmul(gt23L,gt23L)),detgt); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gtu12 = - kdiv(kmadd(gt13L,gt23L,kmul(gt12L,kmul(gt33L,ToReal(-1.)))),detgt); + kdiv(kmsub(gt13L,gt23L,kmul(gt12L,gt33L)),detgt); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gtu13 = - kdiv(kmadd(gt12L,gt23L,kmul(gt13L,kmul(gt22L,ToReal(-1.)))),detgt); + kdiv(kmsub(gt12L,gt23L,kmul(gt13L,gt22L)),detgt); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gtu22 = - kdiv(kmadd(gt11L,gt33L,kmul(kmul(gt13L,gt13L),ToReal(-1.))),detgt); + kdiv(kmsub(gt11L,gt33L,kmul(gt13L,gt13L)),detgt); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gtu23 = - kdiv(kmadd(gt12L,gt13L,kmul(gt11L,kmul(gt23L,ToReal(-1.)))),detgt); + kdiv(kmsub(gt12L,gt13L,kmul(gt11L,gt23L)),detgt); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gtu33 = - kdiv(kmadd(gt11L,gt22L,kmul(kmul(gt12L,gt12L),ToReal(-1.))),detgt); + kdiv(kmsub(gt11L,gt22L,kmul(gt12L,gt12L)),detgt); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Gtl111 = kmul(JacPDstandardNth1gt11,ToReal(0.5)); @@ -1258,7 +1299,7 @@ static void ML_BSSN_constraints1_Body(cGH const * restrict const cctkGH, int con kmadd(JacPDstandardNth1gt22,ToReal(-0.5),JacPDstandardNth2gt12); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Gtl123 = - kmul(kadd(JacPDstandardNth2gt13,kmadd(JacPDstandardNth1gt23,ToReal(-1.),JacPDstandardNth3gt12)),ToReal(0.5)); + kmul(kadd(JacPDstandardNth2gt13,ksub(JacPDstandardNth3gt12,JacPDstandardNth1gt23)),ToReal(0.5)); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Gtl133 = kmadd(JacPDstandardNth1gt33,ToReal(-0.5),JacPDstandardNth3gt13); @@ -1270,7 +1311,7 @@ static void ML_BSSN_constraints1_Body(cGH const * restrict const cctkGH, int con kmul(JacPDstandardNth1gt22,ToReal(0.5)); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Gtl213 = - kmul(kadd(JacPDstandardNth1gt23,kmadd(JacPDstandardNth2gt13,ToReal(-1.),JacPDstandardNth3gt12)),ToReal(0.5)); + kmul(kadd(JacPDstandardNth1gt23,ksub(JacPDstandardNth3gt12,JacPDstandardNth2gt13)),ToReal(0.5)); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Gtl222 = kmul(JacPDstandardNth2gt22,ToReal(0.5)); @@ -1285,7 +1326,7 @@ static void ML_BSSN_constraints1_Body(cGH const * restrict const cctkGH, int con kmadd(JacPDstandardNth3gt11,ToReal(-0.5),JacPDstandardNth1gt13); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Gtl312 = - kmul(kadd(JacPDstandardNth1gt23,kmadd(JacPDstandardNth3gt12,ToReal(-1.),JacPDstandardNth2gt13)),ToReal(0.5)); + kmul(kadd(JacPDstandardNth1gt23,ksub(JacPDstandardNth2gt13,JacPDstandardNth3gt12)),ToReal(0.5)); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Gtl313 = kmul(JacPDstandardNth1gt33,ToReal(0.5)); @@ -1435,16 +1476,16 @@ static void ML_BSSN_constraints1_Body(cGH const * restrict const cctkGH, int con kmadd(Gtl133,gtu13,kmadd(Gtl233,gtu23,kmul(Gtl333,gtu33))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Xtn1 = - kmadd(Gt111,gtu11,kmadd(Gt122,gtu22,kmadd(Gt133,gtu33,kmul(kmadd(Gt112,gtu12,kmadd(Gt113,gtu13,kmul(Gt123,gtu23))),ToReal(2.))))); + kmadd(Gt111,gtu11,kmadd(Gt122,gtu22,kmadd(Gt133,gtu33,kmul(kmadd(Gt112,gtu12,kmadd(Gt113,gtu13,kmul(Gt123,gtu23))),ToReal(2))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Xtn2 = - kmadd(Gt211,gtu11,kmadd(Gt222,gtu22,kmadd(Gt233,gtu33,kmul(kmadd(Gt212,gtu12,kmadd(Gt213,gtu13,kmul(Gt223,gtu23))),ToReal(2.))))); + kmadd(Gt211,gtu11,kmadd(Gt222,gtu22,kmadd(Gt233,gtu33,kmul(kmadd(Gt212,gtu12,kmadd(Gt213,gtu13,kmul(Gt223,gtu23))),ToReal(2))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Xtn3 = - kmadd(Gt311,gtu11,kmadd(Gt322,gtu22,kmadd(Gt333,gtu33,kmul(kmadd(Gt312,gtu12,kmadd(Gt313,gtu13,kmul(Gt323,gtu23))),ToReal(2.))))); + kmadd(Gt311,gtu11,kmadd(Gt322,gtu22,kmadd(Gt333,gtu33,kmul(kmadd(Gt312,gtu12,kmadd(Gt313,gtu13,kmul(Gt323,gtu23))),ToReal(2))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED e4phi = IfThen(conformalMethod == - 1.,kdiv(ToReal(1),kmul(phiL,phiL)),kexp(kmul(phiL,ToReal(4.)))); + 1,kdiv(ToReal(1),kmul(phiL,phiL)),kexp(kmul(phiL,ToReal(4)))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED em4phi = kdiv(ToReal(1),e4phi); @@ -1461,25 +1502,25 @@ static void ML_BSSN_constraints1_Body(cGH const * restrict const cctkGH, int con CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gu33 = kmul(em4phi,gtu33); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Rt11 = - kmadd(Gt211,Gtlu211,kmadd(Gt212,Gtlu212,kmadd(Gt213,Gtlu213,kmadd(Gt311,Gtlu311,kmadd(Gt312,Gtlu312,kmadd(Gt313,Gtlu313,kmadd(gt11L,JacPDstandardNth1Xt1,kmadd(gt12L,JacPDstandardNth1Xt2,kmadd(gt13L,JacPDstandardNth1Xt3,kmadd(Gtl111,Xtn1,kmadd(Gtl112,Xtn2,kmadd(Gtl113,Xtn3,kmadd(kmadd(gtu11,JacPDstandardNth11gt11,kmadd(gtu12,kadd(JacPDstandardNth12gt11,JacPDstandardNth21gt11),kmadd(gtu22,JacPDstandardNth22gt11,kmadd(gtu13,kadd(JacPDstandardNth13gt11,JacPDstandardNth31gt11),kmadd(gtu23,kadd(JacPDstandardNth23gt11,JacPDstandardNth32gt11),kmul(gtu33,JacPDstandardNth33gt11)))))),ToReal(-0.5),kmadd(kmadd(Gt211,Gtlu121,kmadd(Gt212,Gtlu122,kmadd(Gt213,Gtlu123,kmadd(Gt311,Gtlu131,kmadd(Gt312,Gtlu132,kmul(Gt313,Gtlu133)))))),ToReal(2.),kmul(kmadd(Gt111,Gtlu111,kmadd(Gt112,Gtlu112,kmul(Gt113,Gtlu113))),ToReal(3.)))))))))))))))); + kmadd(Gt211,Gtlu211,kmadd(Gt212,Gtlu212,kmadd(Gt213,Gtlu213,kmadd(Gt311,Gtlu311,kmadd(Gt312,Gtlu312,kmadd(Gt313,Gtlu313,kmadd(gt11L,JacPDstandardNth1Xt1,kmadd(gt12L,JacPDstandardNth1Xt2,kmadd(gt13L,JacPDstandardNth1Xt3,kmadd(Gtl111,Xtn1,kmadd(Gtl112,Xtn2,kmadd(Gtl113,Xtn3,knmsub(kmadd(gtu11,JacPDstandardNth11gt11,kmadd(gtu12,kadd(JacPDstandardNth12gt11,JacPDstandardNth21gt11),kmadd(gtu22,JacPDstandardNth22gt11,kmadd(gtu33,JacPDstandardNth33gt11,kmadd(gtu23,kadd(JacPDstandardNth32gt11,JacPDstandardNth23gt11),kmul(gtu13,kadd(JacPDstandardNth31gt11,JacPDstandardNth13gt11))))))),ToReal(0.5),kmadd(kmadd(Gt211,Gtlu121,kmadd(Gt212,Gtlu122,kmadd(Gt213,Gtlu123,kmadd(Gt311,Gtlu131,kmadd(Gt312,Gtlu132,kmul(Gt313,Gtlu133)))))),ToReal(2),kmul(kmadd(Gt111,Gtlu111,kmadd(Gt112,Gtlu112,kmul(Gt113,Gtlu113))),ToReal(3)))))))))))))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Rt12 = - kmul(ToReal(0.5),kmadd(gt22L,JacPDstandardNth1Xt2,kmadd(gt23L,JacPDstandardNth1Xt3,kmadd(gt11L,JacPDstandardNth2Xt1,kmadd(gt12L,kadd(JacPDstandardNth1Xt1,JacPDstandardNth2Xt2),kmadd(gt13L,JacPDstandardNth2Xt3,kmadd(kadd(Gtl112,Gtl211),Xtn1,kmadd(kadd(Gtl122,Gtl212),Xtn2,kmadd(kadd(Gtl123,Gtl213),Xtn3,kmadd(kmadd(gtu11,JacPDstandardNth11gt12,kmadd(gtu12,kadd(JacPDstandardNth12gt12,JacPDstandardNth21gt12),kmadd(gtu22,JacPDstandardNth22gt12,kmadd(gtu13,kadd(JacPDstandardNth13gt12,JacPDstandardNth31gt12),kmadd(gtu23,kadd(JacPDstandardNth23gt12,JacPDstandardNth32gt12),kmul(gtu33,JacPDstandardNth33gt12)))))),ToReal(-1.),kmadd(kmadd(Gt122,Gtlu112,kmadd(Gt123,Gtlu113,kmadd(kadd(Gt111,Gt212),Gtlu121,kmadd(Gt222,Gtlu122,kmadd(kadd(Gt113,Gt223),Gtlu123,kmadd(Gt322,Gtlu132,kmadd(Gt323,Gtlu133,kmadd(Gt111,Gtlu211,kmadd(Gt112,kadd(Gtlu111,kadd(Gtlu122,Gtlu212)),kmadd(Gt113,Gtlu213,kmadd(Gt311,kadd(Gtlu231,Gtlu321),kmadd(Gt312,kadd(Gtlu131,kadd(Gtlu232,Gtlu322)),kmul(Gt313,kadd(Gtlu233,Gtlu323)))))))))))))),ToReal(2.),kmul(kmadd(Gt211,Gtlu221,kmadd(Gt212,Gtlu222,kmul(Gt213,Gtlu223))),ToReal(4.))))))))))))); + kmul(ToReal(0.5),kmadd(gt12L,JacPDstandardNth1Xt1,kmadd(gt22L,JacPDstandardNth1Xt2,kmadd(gt23L,JacPDstandardNth1Xt3,kmadd(gt11L,JacPDstandardNth2Xt1,kmadd(gt12L,JacPDstandardNth2Xt2,kmadd(gt13L,JacPDstandardNth2Xt3,kmadd(Gtl112,Xtn1,kmadd(Gtl211,Xtn1,kmadd(Gtl122,Xtn2,kmadd(Gtl212,Xtn2,kmadd(Gtl123,Xtn3,kmadd(Gtl213,Xtn3,knmsub(gtu11,JacPDstandardNth11gt12,knmsub(gtu22,JacPDstandardNth22gt12,knmsub(gtu33,JacPDstandardNth33gt12,knmsub(gtu12,kadd(JacPDstandardNth21gt12,JacPDstandardNth12gt12),knmsub(gtu13,kadd(JacPDstandardNth31gt12,JacPDstandardNth13gt12),knmsub(gtu23,kadd(JacPDstandardNth32gt12,JacPDstandardNth23gt12),kmadd(kmadd(Gt122,Gtlu112,kmadd(Gt123,Gtlu113,kmadd(Gt111,Gtlu121,kmadd(Gt212,Gtlu121,kmadd(Gt222,Gtlu122,kmadd(Gt113,Gtlu123,kmadd(Gt223,Gtlu123,kmadd(Gt312,Gtlu131,kmadd(Gt322,Gtlu132,kmadd(Gt323,Gtlu133,kmadd(Gt111,Gtlu211,kmadd(Gt112,kadd(Gtlu111,kadd(Gtlu122,Gtlu212)),kmadd(Gt113,Gtlu213,kmadd(Gt311,Gtlu231,kmadd(Gt312,Gtlu232,kmadd(Gt313,Gtlu233,kmadd(Gt311,Gtlu321,kmadd(Gt312,Gtlu322,kmul(Gt313,Gtlu323))))))))))))))))))),ToReal(2),kmul(kmadd(Gt211,Gtlu221,kmadd(Gt212,Gtlu222,kmul(Gt213,Gtlu223))),ToReal(4)))))))))))))))))))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Rt13 = - kmul(ToReal(0.5),kmadd(gt23L,JacPDstandardNth1Xt2,kmadd(gt33L,JacPDstandardNth1Xt3,kmadd(gt11L,JacPDstandardNth3Xt1,kmadd(gt12L,JacPDstandardNth3Xt2,kmadd(gt13L,kadd(JacPDstandardNth1Xt1,JacPDstandardNth3Xt3),kmadd(kadd(Gtl113,Gtl311),Xtn1,kmadd(kadd(Gtl123,Gtl312),Xtn2,kmadd(kadd(Gtl133,Gtl313),Xtn3,kmadd(kmadd(gtu11,JacPDstandardNth11gt13,kmadd(gtu12,kadd(JacPDstandardNth12gt13,JacPDstandardNth21gt13),kmadd(gtu22,JacPDstandardNth22gt13,kmadd(gtu13,kadd(JacPDstandardNth13gt13,JacPDstandardNth31gt13),kmadd(gtu23,kadd(JacPDstandardNth23gt13,JacPDstandardNth32gt13),kmul(gtu33,JacPDstandardNth33gt13)))))),ToReal(-1.),kmadd(kmadd(Gt123,Gtlu112,kmadd(Gt133,Gtlu113,kmadd(Gt223,Gtlu122,kmadd(Gt233,Gtlu123,kmadd(kadd(Gt111,Gt313),Gtlu131,kmadd(kadd(Gt112,Gt323),Gtlu132,kmadd(Gt333,Gtlu133,kmadd(Gt111,Gtlu311,kmadd(Gt112,Gtlu312,kmadd(Gt113,kadd(Gtlu111,kadd(Gtlu133,Gtlu313)),kmadd(Gt211,kadd(Gtlu231,Gtlu321),kmadd(Gt212,kadd(Gtlu232,Gtlu322),kmul(Gt213,kadd(Gtlu121,kadd(Gtlu233,Gtlu323))))))))))))))),ToReal(2.),kmul(kmadd(Gt311,Gtlu331,kmadd(Gt312,Gtlu332,kmul(Gt313,Gtlu333))),ToReal(4.))))))))))))); + kmul(ToReal(0.5),kmadd(gt13L,JacPDstandardNth1Xt1,kmadd(gt23L,JacPDstandardNth1Xt2,kmadd(gt33L,JacPDstandardNth1Xt3,kmadd(gt11L,JacPDstandardNth3Xt1,kmadd(gt12L,JacPDstandardNth3Xt2,kmadd(gt13L,JacPDstandardNth3Xt3,kmadd(Gtl113,Xtn1,kmadd(Gtl311,Xtn1,kmadd(Gtl123,Xtn2,kmadd(Gtl312,Xtn2,kmadd(Gtl133,Xtn3,kmadd(Gtl313,Xtn3,knmsub(gtu11,JacPDstandardNth11gt13,knmsub(gtu22,JacPDstandardNth22gt13,knmsub(gtu33,JacPDstandardNth33gt13,knmsub(gtu12,kadd(JacPDstandardNth21gt13,JacPDstandardNth12gt13),knmsub(gtu13,kadd(JacPDstandardNth31gt13,JacPDstandardNth13gt13),knmsub(gtu23,kadd(JacPDstandardNth32gt13,JacPDstandardNth23gt13),kmadd(kmadd(Gt123,Gtlu112,kmadd(Gt133,Gtlu113,kmadd(Gt213,Gtlu121,kmadd(Gt223,Gtlu122,kmadd(Gt233,Gtlu123,kmadd(Gt111,Gtlu131,kmadd(Gt313,Gtlu131,kmadd(Gt112,Gtlu132,kmadd(Gt323,Gtlu132,kmadd(Gt333,Gtlu133,kmadd(Gt211,Gtlu231,kmadd(Gt212,Gtlu232,kmadd(Gt213,Gtlu233,kmadd(Gt111,Gtlu311,kmadd(Gt112,Gtlu312,kmadd(Gt113,kadd(Gtlu111,kadd(Gtlu133,Gtlu313)),kmadd(Gt211,Gtlu321,kmadd(Gt212,Gtlu322,kmul(Gt213,Gtlu323))))))))))))))))))),ToReal(2),kmul(kmadd(Gt311,Gtlu331,kmadd(Gt312,Gtlu332,kmul(Gt313,Gtlu333))),ToReal(4)))))))))))))))))))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Rt22 = - kmadd(Gt312,Gtlu321,kmadd(Gt322,Gtlu322,kmadd(Gt323,Gtlu323,kmadd(gt12L,JacPDstandardNth2Xt1,kmadd(gt22L,JacPDstandardNth2Xt2,kmadd(gt23L,JacPDstandardNth2Xt3,kmadd(Gtl212,Xtn1,kmadd(Gtl222,Xtn2,kmadd(Gtl223,Xtn3,kmadd(kmadd(gtu11,JacPDstandardNth11gt22,kmadd(gtu12,kadd(JacPDstandardNth12gt22,JacPDstandardNth21gt22),kmadd(gtu22,JacPDstandardNth22gt22,kmadd(gtu13,kadd(JacPDstandardNth13gt22,JacPDstandardNth31gt22),kmadd(gtu23,kadd(JacPDstandardNth23gt22,JacPDstandardNth32gt22),kmul(gtu33,JacPDstandardNth33gt22)))))),ToReal(-0.5),kmadd(kmadd(Gt312,Gtlu231,kmadd(Gt322,Gtlu232,kmul(Gt323,Gtlu233))),ToReal(2.),kmadd(Gt112,kmadd(Gtlu211,ToReal(2.),Gtlu121),kmadd(Gt122,kmadd(Gtlu212,ToReal(2.),Gtlu122),kmadd(Gt123,kmadd(Gtlu213,ToReal(2.),Gtlu123),kmul(kmadd(Gt212,Gtlu221,kmadd(Gt222,Gtlu222,kmul(Gt223,Gtlu223))),ToReal(3.)))))))))))))))); + kmadd(Gt312,Gtlu321,kmadd(Gt322,Gtlu322,kmadd(Gt323,Gtlu323,kmadd(gt12L,JacPDstandardNth2Xt1,kmadd(gt22L,JacPDstandardNth2Xt2,kmadd(gt23L,JacPDstandardNth2Xt3,kmadd(Gtl212,Xtn1,kmadd(Gtl222,Xtn2,kmadd(Gtl223,Xtn3,knmsub(kmadd(gtu11,JacPDstandardNth11gt22,kmadd(gtu12,kadd(JacPDstandardNth12gt22,JacPDstandardNth21gt22),kmadd(gtu22,JacPDstandardNth22gt22,kmadd(gtu33,JacPDstandardNth33gt22,kmadd(gtu23,kadd(JacPDstandardNth32gt22,JacPDstandardNth23gt22),kmul(gtu13,kadd(JacPDstandardNth31gt22,JacPDstandardNth13gt22))))))),ToReal(0.5),kmadd(kmadd(Gt312,Gtlu231,kmadd(Gt322,Gtlu232,kmul(Gt323,Gtlu233))),ToReal(2),kmadd(Gt112,kmadd(Gtlu211,ToReal(2),Gtlu121),kmadd(Gt122,kmadd(Gtlu212,ToReal(2),Gtlu122),kmadd(Gt123,kmadd(Gtlu213,ToReal(2),Gtlu123),kmul(kmadd(Gt212,Gtlu221,kmadd(Gt222,Gtlu222,kmul(Gt223,Gtlu223))),ToReal(3)))))))))))))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Rt23 = - kmul(ToReal(0.5),kmadd(gt13L,JacPDstandardNth2Xt1,kmadd(gt33L,JacPDstandardNth2Xt3,kmadd(gt12L,JacPDstandardNth3Xt1,kmadd(gt22L,JacPDstandardNth3Xt2,kmadd(gt23L,kadd(JacPDstandardNth2Xt2,JacPDstandardNth3Xt3),kmadd(kadd(Gtl213,Gtl312),Xtn1,kmadd(kadd(Gtl223,Gtl322),Xtn2,kmadd(kadd(Gtl233,Gtl323),Xtn3,kmadd(kmadd(gtu11,JacPDstandardNth11gt23,kmadd(gtu12,kadd(JacPDstandardNth12gt23,JacPDstandardNth21gt23),kmadd(gtu22,JacPDstandardNth22gt23,kmadd(gtu13,kadd(JacPDstandardNth13gt23,JacPDstandardNth31gt23),kmadd(gtu23,kadd(JacPDstandardNth23gt23,JacPDstandardNth32gt23),kmul(gtu33,JacPDstandardNth33gt23)))))),ToReal(-1.),kmadd(kmadd(Gt113,Gtlu211,kmadd(Gt133,Gtlu213,kmadd(Gt213,Gtlu221,kmadd(Gt233,Gtlu223,kmadd(kadd(Gt212,Gt313),Gtlu231,kmadd(kadd(Gt222,Gt323),Gtlu232,kmadd(Gt333,Gtlu233,kmadd(Gt112,kadd(Gtlu131,Gtlu311),kmadd(Gt122,kadd(Gtlu132,Gtlu312),kmadd(Gt123,kadd(Gtlu133,kadd(Gtlu212,Gtlu313)),kmadd(Gt212,Gtlu321,kmadd(Gt222,Gtlu322,kmul(Gt223,kadd(Gtlu222,kadd(Gtlu233,Gtlu323))))))))))))))),ToReal(2.),kmul(kmadd(Gt312,Gtlu331,kmadd(Gt322,Gtlu332,kmul(Gt323,Gtlu333))),ToReal(4.))))))))))))); + kmul(ToReal(0.5),kmadd(gt13L,JacPDstandardNth2Xt1,kmadd(gt23L,JacPDstandardNth2Xt2,kmadd(gt33L,JacPDstandardNth2Xt3,kmadd(gt12L,JacPDstandardNth3Xt1,kmadd(gt22L,JacPDstandardNth3Xt2,kmadd(gt23L,JacPDstandardNth3Xt3,kmadd(Gtl213,Xtn1,kmadd(Gtl312,Xtn1,kmadd(Gtl223,Xtn2,kmadd(Gtl322,Xtn2,kmadd(Gtl233,Xtn3,kmadd(Gtl323,Xtn3,knmsub(gtu11,JacPDstandardNth11gt23,knmsub(gtu22,JacPDstandardNth22gt23,knmsub(gtu33,JacPDstandardNth33gt23,knmsub(gtu12,kadd(JacPDstandardNth21gt23,JacPDstandardNth12gt23),knmsub(gtu13,kadd(JacPDstandardNth31gt23,JacPDstandardNth13gt23),knmsub(gtu23,kadd(JacPDstandardNth32gt23,JacPDstandardNth23gt23),kmadd(kmadd(Gt123,Gtlu133,kmadd(Gt113,Gtlu211,kmadd(Gt123,Gtlu212,kmadd(Gt133,Gtlu213,kmadd(Gt213,Gtlu221,kmadd(Gt223,Gtlu222,kmadd(Gt233,Gtlu223,kmadd(Gt212,Gtlu231,kmadd(Gt313,Gtlu231,kmadd(Gt222,Gtlu232,kmadd(Gt323,Gtlu232,kmadd(Gt223,Gtlu233,kmadd(Gt333,Gtlu233,kmadd(Gt112,kadd(Gtlu131,Gtlu311),kmadd(Gt122,kadd(Gtlu132,Gtlu312),kmadd(Gt123,Gtlu313,kmadd(Gt212,Gtlu321,kmadd(Gt222,Gtlu322,kmul(Gt223,Gtlu323))))))))))))))))))),ToReal(2),kmul(kmadd(Gt312,Gtlu331,kmadd(Gt322,Gtlu332,kmul(Gt323,Gtlu333))),ToReal(4)))))))))))))))))))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Rt33 = - kmadd(gt13L,JacPDstandardNth3Xt1,kmadd(gt23L,JacPDstandardNth3Xt2,kmadd(gt33L,JacPDstandardNth3Xt3,kmadd(Gtl313,Xtn1,kmadd(Gtl323,Xtn2,kmadd(Gtl333,Xtn3,kmadd(kmadd(gtu11,JacPDstandardNth11gt33,kmadd(gtu12,kadd(JacPDstandardNth12gt33,JacPDstandardNth21gt33),kmadd(gtu22,JacPDstandardNth22gt33,kmadd(gtu13,kadd(JacPDstandardNth13gt33,JacPDstandardNth31gt33),kmadd(gtu23,kadd(JacPDstandardNth23gt33,JacPDstandardNth32gt33),kmul(gtu33,JacPDstandardNth33gt33)))))),ToReal(-0.5),kmadd(Gt113,kmadd(Gtlu311,ToReal(2.),Gtlu131),kmadd(Gt123,kmadd(Gtlu312,ToReal(2.),Gtlu132),kmadd(Gt133,kmadd(Gtlu313,ToReal(2.),Gtlu133),kmadd(Gt213,kmadd(Gtlu321,ToReal(2.),Gtlu231),kmadd(Gt223,kmadd(Gtlu322,ToReal(2.),Gtlu232),kmadd(Gt233,kmadd(Gtlu323,ToReal(2.),Gtlu233),kmul(kmadd(Gt313,Gtlu331,kmadd(Gt323,Gtlu332,kmul(Gt333,Gtlu333))),ToReal(3.))))))))))))))); + kmadd(gt13L,JacPDstandardNth3Xt1,kmadd(gt23L,JacPDstandardNth3Xt2,kmadd(gt33L,JacPDstandardNth3Xt3,kmadd(Gtl313,Xtn1,kmadd(Gtl323,Xtn2,kmadd(Gtl333,Xtn3,knmsub(kmadd(gtu11,JacPDstandardNth11gt33,kmadd(gtu12,kadd(JacPDstandardNth12gt33,JacPDstandardNth21gt33),kmadd(gtu22,JacPDstandardNth22gt33,kmadd(gtu33,JacPDstandardNth33gt33,kmadd(gtu23,kadd(JacPDstandardNth32gt33,JacPDstandardNth23gt33),kmul(gtu13,kadd(JacPDstandardNth31gt33,JacPDstandardNth13gt33))))))),ToReal(0.5),kmadd(Gt113,kmadd(Gtlu311,ToReal(2),Gtlu131),kmadd(Gt123,kmadd(Gtlu312,ToReal(2),Gtlu132),kmadd(Gt133,kmadd(Gtlu313,ToReal(2),Gtlu133),kmadd(Gt213,kmadd(Gtlu321,ToReal(2),Gtlu231),kmadd(Gt223,kmadd(Gtlu322,ToReal(2),Gtlu232),kmadd(Gt233,kmadd(Gtlu323,ToReal(2),Gtlu233),kmul(kmadd(Gt313,Gtlu331,kmadd(Gt323,Gtlu332,kmul(Gt333,Gtlu333))),ToReal(3))))))))))))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED fac1 = IfThen(conformalMethod == - 1.,kdiv(ToReal(-0.5),phiL),ToReal(1.)); + 1,kdiv(ToReal(-0.5),phiL),ToReal(1)); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED cdphi1 = kmul(fac1,JacPDstandardNth1phi); @@ -1491,43 +1532,43 @@ static void ML_BSSN_constraints1_Body(cGH const * restrict const cctkGH, int con kmul(fac1,JacPDstandardNth3phi); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED fac2 = IfThen(conformalMethod == - 1.,kdiv(ToReal(0.5),kmul(phiL,phiL)),ToReal(0.)); + 1,kdiv(ToReal(0.5),kmul(phiL,phiL)),ToReal(0)); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED cdphi211 = - kmadd(fac2,kmul(JacPDstandardNth1phi,JacPDstandardNth1phi),kmul(fac1,kmadd(kmadd(Gt111,JacPDstandardNth1phi,kmadd(Gt211,JacPDstandardNth2phi,kmul(Gt311,JacPDstandardNth3phi))),ToReal(-1.),JacPDstandardNth11phi))); + kmadd(fac2,kmul(JacPDstandardNth1phi,JacPDstandardNth1phi),kmul(fac1,ksub(JacPDstandardNth11phi,kmadd(Gt111,JacPDstandardNth1phi,kmadd(Gt311,JacPDstandardNth3phi,kmul(Gt211,JacPDstandardNth2phi)))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED cdphi212 = - kmadd(fac2,kmul(JacPDstandardNth1phi,JacPDstandardNth2phi),kmul(fac1,kmadd(kmadd(Gt112,JacPDstandardNth1phi,kmadd(Gt212,JacPDstandardNth2phi,kmul(Gt312,JacPDstandardNth3phi))),ToReal(-1.),JacPDstandardNth12phi))); + kmadd(fac2,kmul(JacPDstandardNth1phi,JacPDstandardNth2phi),kmul(fac1,ksub(JacPDstandardNth12phi,kmadd(Gt112,JacPDstandardNth1phi,kmadd(Gt312,JacPDstandardNth3phi,kmul(Gt212,JacPDstandardNth2phi)))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED cdphi213 = - kmadd(fac2,kmul(JacPDstandardNth1phi,JacPDstandardNth3phi),kmul(fac1,kmadd(kmadd(Gt113,JacPDstandardNth1phi,kmadd(Gt213,JacPDstandardNth2phi,kmul(Gt313,JacPDstandardNth3phi))),ToReal(-1.),JacPDstandardNth13phi))); + kmadd(fac2,kmul(JacPDstandardNth1phi,JacPDstandardNth3phi),kmul(fac1,ksub(JacPDstandardNth13phi,kmadd(Gt113,JacPDstandardNth1phi,kmadd(Gt313,JacPDstandardNth3phi,kmul(Gt213,JacPDstandardNth2phi)))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED cdphi222 = - kmadd(fac2,kmul(JacPDstandardNth2phi,JacPDstandardNth2phi),kmul(fac1,kmul(ToReal(-1.),kmadd(Gt122,JacPDstandardNth1phi,kmadd(Gt222,JacPDstandardNth2phi,kmadd(Gt322,JacPDstandardNth3phi,kmul(JacPDstandardNth22phi,ToReal(-1.)))))))); + kmsub(fac2,kmul(JacPDstandardNth2phi,JacPDstandardNth2phi),kmul(fac1,kmadd(Gt122,JacPDstandardNth1phi,kmadd(Gt222,JacPDstandardNth2phi,kmsub(Gt322,JacPDstandardNth3phi,JacPDstandardNth22phi))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED cdphi223 = - kmadd(fac2,kmul(JacPDstandardNth2phi,JacPDstandardNth3phi),kmul(fac1,kmul(ToReal(-1.),kmadd(Gt123,JacPDstandardNth1phi,kmadd(Gt223,JacPDstandardNth2phi,kmadd(Gt323,JacPDstandardNth3phi,kmul(JacPDstandardNth23phi,ToReal(-1.)))))))); + kmsub(fac2,kmul(JacPDstandardNth2phi,JacPDstandardNth3phi),kmul(fac1,kmadd(Gt123,JacPDstandardNth1phi,kmadd(Gt223,JacPDstandardNth2phi,kmsub(Gt323,JacPDstandardNth3phi,JacPDstandardNth23phi))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED cdphi233 = - kmadd(fac2,kmul(JacPDstandardNth3phi,JacPDstandardNth3phi),kmul(fac1,kmul(ToReal(-1.),kmadd(Gt133,JacPDstandardNth1phi,kmadd(Gt233,JacPDstandardNth2phi,kmadd(Gt333,JacPDstandardNth3phi,kmul(JacPDstandardNth33phi,ToReal(-1.)))))))); + kmsub(fac2,kmul(JacPDstandardNth3phi,JacPDstandardNth3phi),kmul(fac1,kmadd(Gt133,JacPDstandardNth1phi,kmadd(Gt233,JacPDstandardNth2phi,kmsub(Gt333,JacPDstandardNth3phi,JacPDstandardNth33phi))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Rphi11 = - kmul(ToReal(-2.),kadd(cdphi211,kmadd(kmul(cdphi1,cdphi1),kmul(kmadd(gt11L,gtu11,ToReal(-1.)),ToReal(2.)),kmul(gt11L,kmadd(cdphi211,gtu11,kmadd(cdphi233,gtu33,kmadd(kmadd(cdphi212,gtu12,kmadd(cdphi213,gtu13,kmadd(cdphi223,gtu23,kmul(gtu33,kmul(cdphi3,cdphi3))))),ToReal(2.),kmadd(gtu22,kmadd(kmul(cdphi2,cdphi2),ToReal(2.),cdphi222),kmul(kmadd(cdphi1,kmadd(cdphi2,gtu12,kmul(cdphi3,gtu13)),kmul(cdphi2,kmul(cdphi3,gtu23))),ToReal(4.)))))))))); + kmul(ToReal(-2),kadd(cdphi211,kmadd(kmul(cdphi1,cdphi1),kmul(kmadd(gt11L,gtu11,ToReal(-1)),ToReal(2)),kmul(gt11L,kmadd(cdphi211,gtu11,kmadd(cdphi233,gtu33,kmadd(kmadd(cdphi212,gtu12,kmadd(cdphi213,gtu13,kmadd(cdphi223,gtu23,kmul(gtu33,kmul(cdphi3,cdphi3))))),ToReal(2),kmadd(gtu22,kmadd(kmul(cdphi2,cdphi2),ToReal(2),cdphi222),kmul(kmadd(cdphi1,kmadd(cdphi2,gtu12,kmul(cdphi3,gtu13)),kmul(cdphi2,kmul(cdphi3,gtu23))),ToReal(4)))))))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Rphi12 = - kmul(ToReal(-2.),kadd(cdphi212,kmadd(gt12L,kmadd(cdphi211,gtu11,kmadd(kmadd(cdphi212,gtu12,kmadd(cdphi213,gtu13,kmadd(cdphi223,gtu23,kmul(gtu11,kmul(cdphi1,cdphi1))))),ToReal(2.),kmadd(gtu22,kmadd(kmul(cdphi2,cdphi2),ToReal(2.),cdphi222),kmadd(gtu33,kmadd(kmul(cdphi3,cdphi3),ToReal(2.),cdphi233),kmul(cdphi2,kmul(cdphi3,kmul(gtu23,ToReal(4.)))))))),kmul(cdphi1,kmadd(gt12L,kmul(cdphi3,kmul(gtu13,ToReal(4.))),kmul(cdphi2,kmadd(gt12L,kmul(gtu12,ToReal(4.)),ToReal(-2.)))))))); + kmul(ToReal(-2),kadd(cdphi212,kmadd(gt12L,kmadd(cdphi211,gtu11,kmadd(kmadd(cdphi212,gtu12,kmadd(cdphi213,gtu13,kmadd(cdphi223,gtu23,kmul(gtu11,kmul(cdphi1,cdphi1))))),ToReal(2),kmadd(gtu22,kmadd(kmul(cdphi2,cdphi2),ToReal(2),cdphi222),kmadd(gtu33,kmadd(kmul(cdphi3,cdphi3),ToReal(2),cdphi233),kmul(cdphi2,kmul(cdphi3,kmul(gtu23,ToReal(4)))))))),kmul(cdphi1,kmadd(gt12L,kmul(cdphi3,kmul(gtu13,ToReal(4))),kmul(cdphi2,kmadd(gt12L,kmul(gtu12,ToReal(4)),ToReal(-2)))))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Rphi13 = - kmul(ToReal(-2.),kadd(cdphi213,kmadd(gt13L,kmadd(cdphi211,gtu11,kmadd(kmadd(cdphi212,gtu12,kmadd(cdphi213,gtu13,kmadd(cdphi223,gtu23,kmul(gtu11,kmul(cdphi1,cdphi1))))),ToReal(2.),kmadd(gtu22,kmadd(kmul(cdphi2,cdphi2),ToReal(2.),cdphi222),kmadd(gtu33,kmadd(kmul(cdphi3,cdphi3),ToReal(2.),cdphi233),kmul(cdphi2,kmul(cdphi3,kmul(gtu23,ToReal(4.)))))))),kmul(cdphi1,kmadd(gt13L,kmul(cdphi2,kmul(gtu12,ToReal(4.))),kmul(cdphi3,kmadd(gt13L,kmul(gtu13,ToReal(4.)),ToReal(-2.)))))))); + kmul(ToReal(-2),kadd(cdphi213,kmadd(gt13L,kmadd(cdphi211,gtu11,kmadd(kmadd(cdphi212,gtu12,kmadd(cdphi213,gtu13,kmadd(cdphi223,gtu23,kmul(gtu11,kmul(cdphi1,cdphi1))))),ToReal(2),kmadd(gtu22,kmadd(kmul(cdphi2,cdphi2),ToReal(2),cdphi222),kmadd(gtu33,kmadd(kmul(cdphi3,cdphi3),ToReal(2),cdphi233),kmul(cdphi2,kmul(cdphi3,kmul(gtu23,ToReal(4)))))))),kmul(cdphi1,kmadd(gt13L,kmul(cdphi2,kmul(gtu12,ToReal(4))),kmul(cdphi3,kmadd(gt13L,kmul(gtu13,ToReal(4)),ToReal(-2)))))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Rphi22 = - kmul(ToReal(-2.),kadd(cdphi222,kmadd(kmul(cdphi2,cdphi2),kmul(kmadd(gt22L,gtu22,ToReal(-1.)),ToReal(2.)),kmul(gt22L,kmadd(cdphi222,gtu22,kmadd(cdphi233,gtu33,kmadd(kmadd(cdphi212,gtu12,kmadd(cdphi213,gtu13,kmadd(cdphi223,gtu23,kmul(gtu33,kmul(cdphi3,cdphi3))))),ToReal(2.),kmadd(gtu11,kmadd(kmul(cdphi1,cdphi1),ToReal(2.),cdphi211),kmul(kmadd(cdphi1,kmul(cdphi3,gtu13),kmul(cdphi2,kmadd(cdphi1,gtu12,kmul(cdphi3,gtu23)))),ToReal(4.)))))))))); + kmul(ToReal(-2),kadd(cdphi222,kmadd(kmul(cdphi2,cdphi2),kmul(kmadd(gt22L,gtu22,ToReal(-1)),ToReal(2)),kmul(gt22L,kmadd(cdphi222,gtu22,kmadd(cdphi233,gtu33,kmadd(kmadd(cdphi212,gtu12,kmadd(cdphi213,gtu13,kmadd(cdphi223,gtu23,kmul(gtu33,kmul(cdphi3,cdphi3))))),ToReal(2),kmadd(gtu11,kmadd(kmul(cdphi1,cdphi1),ToReal(2),cdphi211),kmul(kmadd(cdphi1,kmul(cdphi3,gtu13),kmul(cdphi2,kmadd(cdphi1,gtu12,kmul(cdphi3,gtu23)))),ToReal(4)))))))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Rphi23 = - kmul(ToReal(-2.),kadd(cdphi223,kmadd(gt23L,kmadd(cdphi222,gtu22,kmadd(kmadd(cdphi212,gtu12,kmadd(cdphi213,gtu13,kmadd(cdphi223,gtu23,kmul(gtu22,kmul(cdphi2,cdphi2))))),ToReal(2.),kmadd(gtu11,kmadd(kmul(cdphi1,cdphi1),ToReal(2.),cdphi211),kmadd(gtu33,kmadd(kmul(cdphi3,cdphi3),ToReal(2.),cdphi233),kmul(cdphi1,kmul(cdphi3,kmul(gtu13,ToReal(4.)))))))),kmul(cdphi2,kmadd(gt23L,kmul(cdphi1,kmul(gtu12,ToReal(4.))),kmul(cdphi3,kmadd(gt23L,kmul(gtu23,ToReal(4.)),ToReal(-2.)))))))); + kmul(ToReal(-2),kadd(cdphi223,kmadd(gt23L,kmadd(cdphi222,gtu22,kmadd(kmadd(cdphi212,gtu12,kmadd(cdphi213,gtu13,kmadd(cdphi223,gtu23,kmul(gtu22,kmul(cdphi2,cdphi2))))),ToReal(2),kmadd(gtu11,kmadd(kmul(cdphi1,cdphi1),ToReal(2),cdphi211),kmadd(gtu33,kmadd(kmul(cdphi3,cdphi3),ToReal(2),cdphi233),kmul(cdphi1,kmul(cdphi3,kmul(gtu13,ToReal(4)))))))),kmul(cdphi2,kmadd(gt23L,kmul(cdphi1,kmul(gtu12,ToReal(4))),kmul(cdphi3,kmadd(gt23L,kmul(gtu23,ToReal(4)),ToReal(-2)))))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Rphi33 = - kmul(ToReal(-2.),kadd(cdphi233,kmadd(kmul(cdphi3,cdphi3),kmul(kmadd(gt33L,gtu33,ToReal(-1.)),ToReal(2.)),kmul(gt33L,kmadd(cdphi233,gtu33,kmadd(kmadd(cdphi213,gtu13,kmul(cdphi223,gtu23)),ToReal(2.),kmadd(gtu11,kmadd(kmul(cdphi1,cdphi1),ToReal(2.),cdphi211),kmadd(gtu22,kmadd(kmul(cdphi2,cdphi2),ToReal(2.),cdphi222),kmadd(cdphi3,kmul(kmadd(cdphi1,gtu13,kmul(cdphi2,gtu23)),ToReal(4.)),kmul(gtu12,kmadd(cdphi212,ToReal(2.),kmul(cdphi1,kmul(cdphi2,ToReal(4.)))))))))))))); + kmul(ToReal(-2),kadd(cdphi233,kmadd(kmul(cdphi3,cdphi3),kmul(kmadd(gt33L,gtu33,ToReal(-1)),ToReal(2)),kmul(gt33L,kmadd(cdphi233,gtu33,kmadd(kmadd(cdphi213,gtu13,kmul(cdphi223,gtu23)),ToReal(2),kmadd(gtu11,kmadd(kmul(cdphi1,cdphi1),ToReal(2),cdphi211),kmadd(gtu22,kmadd(kmul(cdphi2,cdphi2),ToReal(2),cdphi222),kmadd(cdphi3,kmul(kmadd(cdphi1,gtu13,kmul(cdphi2,gtu23)),ToReal(4)),kmul(gtu12,kmadd(cdphi212,ToReal(2),kmul(cdphi1,kmul(cdphi2,ToReal(4)))))))))))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED R11 = kadd(Rphi11,Rt11); @@ -1542,7 +1583,7 @@ static void ML_BSSN_constraints1_Body(cGH const * restrict const cctkGH, int con CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED R33 = kadd(Rphi33,Rt33); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED trR = - kmadd(gu11,R11,kmadd(gu22,R22,kmadd(gu33,R33,kmul(kmadd(gu12,R12,kmadd(gu13,R13,kmul(gu23,R23))),ToReal(2.))))); + kmadd(gu11,R11,kmadd(gu22,R22,kmadd(gu33,R33,kmul(kmadd(gu12,R12,kmadd(gu13,R13,kmul(gu23,R23))),ToReal(2))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Atm11 = kmadd(At11L,gtu11,kmadd(At12L,gtu12,kmul(At13L,gtu13))); @@ -1572,13 +1613,13 @@ static void ML_BSSN_constraints1_Body(cGH const * restrict const cctkGH, int con kmadd(At13L,gtu13,kmadd(At23L,gtu23,kmul(At33L,gtu33))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED rho = - kdiv(kadd(eTttL,kmadd(eTxxL,kmul(beta1L,beta1L),kmadd(eTyyL,kmul(beta2L,beta2L),kmadd(eTzzL,kmul(beta3L,beta3L),kmadd(kmadd(beta2L,eTtyL,kmul(beta3L,eTtzL)),ToReal(-2.),kmul(kmadd(beta2L,kmul(beta3L,eTyzL),kmul(beta1L,kmadd(beta2L,eTxyL,kmadd(beta3L,eTxzL,kmul(eTtxL,ToReal(-1.)))))),ToReal(2.))))))),kmul(alphaL,alphaL)); + kdiv(kadd(eTttL,kmadd(eTxxL,kmul(beta1L,beta1L),kmadd(eTyyL,kmul(beta2L,beta2L),kmadd(eTzzL,kmul(beta3L,beta3L),kmadd(kmadd(beta2L,eTtyL,kmul(beta3L,eTtzL)),ToReal(-2),kmul(kmadd(beta2L,kmul(beta3L,eTyzL),kmul(beta1L,kmadd(beta2L,eTxyL,kmsub(beta3L,eTxzL,eTtxL)))),ToReal(2))))))),kmul(alphaL,alphaL)); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED HL = - kadd(trR,kmadd(rho,ToReal(-50.26548245743669),kmadd(kmadd(Atm12,Atm21,kmadd(Atm13,Atm31,kmul(Atm23,Atm32))),ToReal(-2.),kmadd(kmadd(Atm11,Atm11,kmadd(Atm22,Atm22,kmul(Atm33,Atm33))),ToReal(-1.),kmul(kmul(trKL,trKL),ToReal(0.666666666666666666666666666667)))))); + kadd(trR,kmadd(kmadd(Atm12,Atm21,kmadd(Atm13,Atm31,kmul(Atm23,Atm32))),ToReal(-2),knmsub(Atm11,Atm11,knmsub(Atm22,Atm22,knmsub(Atm33,Atm33,kmadd(kmul(trKL,trKL),ToReal(0.666666666666666666666666666667),kmul(rho,ToReal(-50.2654824574366918154022941325)))))))); /* 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); } CCTK_ENDLOOP3STR(ML_BSSN_constraints1); @@ -1600,7 +1641,7 @@ extern "C" void ML_BSSN_constraints1(CCTK_ARGUMENTS) return; } - const char *const groups[] = { + const char* const groups[] = { "ML_BSSN::ML_curv", "ML_BSSN::ML_Gamma", "ML_BSSN::ML_Ham", @@ -1611,23 +1652,33 @@ extern "C" void ML_BSSN_constraints1(CCTK_ARGUMENTS) "ML_BSSN::ML_trace_curv"}; GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_constraints1", 8, groups); - switch(fdOrder) + switch (fdOrder) { case 2: + { GenericFD_EnsureStencilFits(cctkGH, "ML_BSSN_constraints1", 1, 1, 1); break; + } case 4: + { GenericFD_EnsureStencilFits(cctkGH, "ML_BSSN_constraints1", 2, 2, 2); break; + } case 6: + { GenericFD_EnsureStencilFits(cctkGH, "ML_BSSN_constraints1", 3, 3, 3); break; + } case 8: + { GenericFD_EnsureStencilFits(cctkGH, "ML_BSSN_constraints1", 4, 4, 4); break; + } + default: + CCTK_BUILTIN_UNREACHABLE(); } GenericFD_LoopOverInterior(cctkGH, ML_BSSN_constraints1_Body); diff --git a/ML_BSSN/src/ML_BSSN_constraints2.cc b/ML_BSSN/src/ML_BSSN_constraints2.cc index 6493a04..f33cab2 100644 --- a/ML_BSSN/src/ML_BSSN_constraints2.cc +++ b/ML_BSSN/src/ML_BSSN_constraints2.cc @@ -32,7 +32,9 @@ extern "C" void ML_BSSN_constraints2_SelectBCs(CCTK_ARGUMENTS) DECLARE_CCTK_ARGUMENTS; DECLARE_CCTK_PARAMETERS; - CCTK_INT ierr CCTK_ATTRIBUTE_UNUSED = 0; + if (cctk_iteration % ML_BSSN_constraints2_calc_every != ML_BSSN_constraints2_calc_offset) + return; + CCTK_INT ierr CCTK_ATTRIBUTE_UNUSED = 0; ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_BSSN::ML_cons_detg","flat"); if (ierr < 0) CCTK_WARN(1, "Failed to register flat BC for ML_BSSN::ML_cons_detg."); @@ -48,7 +50,7 @@ extern "C" void ML_BSSN_constraints2_SelectBCs(CCTK_ARGUMENTS) return; } -static void ML_BSSN_constraints2_Body(cGH const * restrict const cctkGH, int const dir, int const face, CCTK_REAL const normal[3], CCTK_REAL const tangentA[3], CCTK_REAL const tangentB[3], int const imin[3], int const imax[3], int const n_subblock_gfs, CCTK_REAL * restrict const subblock_gfs[]) +static void ML_BSSN_constraints2_Body(const cGH* restrict const cctkGH, const int dir, const int face, const CCTK_REAL normal[3], const CCTK_REAL tangentA[3], const CCTK_REAL tangentB[3], const int imin[3], const int imax[3], const int n_subblock_gfs, CCTK_REAL* restrict const subblock_gfs[]) { DECLARE_CCTK_ARGUMENTS; DECLARE_CCTK_PARAMETERS; @@ -57,153 +59,175 @@ static void ML_BSSN_constraints2_Body(cGH const * restrict const cctkGH, int con /* Include user-supplied include files */ /* Initialise finite differencing variables */ - ptrdiff_t /*const*/ di CCTK_ATTRIBUTE_UNUSED = 1; - ptrdiff_t /*const*/ dj CCTK_ATTRIBUTE_UNUSED = CCTK_GFINDEX3D(cctkGH,0,1,0) - CCTK_GFINDEX3D(cctkGH,0,0,0); - ptrdiff_t /*const*/ dk CCTK_ATTRIBUTE_UNUSED = CCTK_GFINDEX3D(cctkGH,0,0,1) - CCTK_GFINDEX3D(cctkGH,0,0,0); - ptrdiff_t /*const*/ cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * di; - ptrdiff_t /*const*/ cdj CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * dj; - ptrdiff_t /*const*/ cdk CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * dk; - CCTK_REAL_VEC /*const*/ dx CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(0)); - CCTK_REAL_VEC /*const*/ dy CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(1)); - CCTK_REAL_VEC /*const*/ dz CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(2)); - CCTK_REAL_VEC /*const*/ dt CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_TIME); - CCTK_REAL_VEC /*const*/ t CCTK_ATTRIBUTE_UNUSED = ToReal(cctk_time); - CCTK_REAL_VEC /*const*/ dxi CCTK_ATTRIBUTE_UNUSED = INV(dx); - CCTK_REAL_VEC /*const*/ dyi CCTK_ATTRIBUTE_UNUSED = INV(dy); - CCTK_REAL_VEC /*const*/ dzi CCTK_ATTRIBUTE_UNUSED = INV(dz); - CCTK_REAL_VEC /*const*/ khalf CCTK_ATTRIBUTE_UNUSED = ToReal(0.5); - CCTK_REAL_VEC /*const*/ kthird CCTK_ATTRIBUTE_UNUSED = ToReal(1.0/3.0); - CCTK_REAL_VEC /*const*/ ktwothird CCTK_ATTRIBUTE_UNUSED = ToReal(2.0/3.0); - CCTK_REAL_VEC /*const*/ kfourthird CCTK_ATTRIBUTE_UNUSED = ToReal(4.0/3.0); - CCTK_REAL_VEC /*const*/ keightthird CCTK_ATTRIBUTE_UNUSED = ToReal(8.0/3.0); - CCTK_REAL_VEC /*const*/ hdxi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dxi); - CCTK_REAL_VEC /*const*/ hdyi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dyi); - CCTK_REAL_VEC /*const*/ hdzi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dzi); + const ptrdiff_t di CCTK_ATTRIBUTE_UNUSED = 1; + const ptrdiff_t dj CCTK_ATTRIBUTE_UNUSED = CCTK_GFINDEX3D(cctkGH,0,1,0) - CCTK_GFINDEX3D(cctkGH,0,0,0); + const ptrdiff_t dk CCTK_ATTRIBUTE_UNUSED = CCTK_GFINDEX3D(cctkGH,0,0,1) - CCTK_GFINDEX3D(cctkGH,0,0,0); + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * di; + const ptrdiff_t cdj CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * dj; + const ptrdiff_t cdk CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * dk; + const CCTK_REAL_VEC dx CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(0)); + const CCTK_REAL_VEC dy CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(1)); + const CCTK_REAL_VEC dz CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(2)); + const CCTK_REAL_VEC dt CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_TIME); + const CCTK_REAL_VEC t CCTK_ATTRIBUTE_UNUSED = ToReal(cctk_time); + const CCTK_REAL_VEC dxi CCTK_ATTRIBUTE_UNUSED = INV(dx); + const CCTK_REAL_VEC dyi CCTK_ATTRIBUTE_UNUSED = INV(dy); + const CCTK_REAL_VEC dzi CCTK_ATTRIBUTE_UNUSED = INV(dz); + const CCTK_REAL_VEC khalf CCTK_ATTRIBUTE_UNUSED = ToReal(0.5); + const CCTK_REAL_VEC kthird CCTK_ATTRIBUTE_UNUSED = ToReal(1.0/3.0); + const CCTK_REAL_VEC ktwothird CCTK_ATTRIBUTE_UNUSED = ToReal(2.0/3.0); + const CCTK_REAL_VEC kfourthird CCTK_ATTRIBUTE_UNUSED = ToReal(4.0/3.0); + const CCTK_REAL_VEC keightthird CCTK_ATTRIBUTE_UNUSED = ToReal(8.0/3.0); + const CCTK_REAL_VEC hdxi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dxi); + const CCTK_REAL_VEC hdyi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dyi); + const CCTK_REAL_VEC hdzi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dzi); /* Initialize predefined quantities */ - CCTK_REAL_VEC /*const*/ p1o1024dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dx); - CCTK_REAL_VEC /*const*/ p1o1024dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dy); - CCTK_REAL_VEC /*const*/ p1o1024dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dz); - CCTK_REAL_VEC /*const*/ p1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dx); - CCTK_REAL_VEC /*const*/ p1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dy); - CCTK_REAL_VEC /*const*/ p1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dz); - CCTK_REAL_VEC /*const*/ p1o12dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dx); - CCTK_REAL_VEC /*const*/ p1o12dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dy); - CCTK_REAL_VEC /*const*/ p1o12dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dz); - CCTK_REAL_VEC /*const*/ p1o144dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o144dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o144dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o1680dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dx); - CCTK_REAL_VEC /*const*/ p1o1680dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dy); - CCTK_REAL_VEC /*const*/ p1o1680dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dz); - CCTK_REAL_VEC /*const*/ p1o180dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ p1o180dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ p1o180dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ p1o24dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dx); - CCTK_REAL_VEC /*const*/ p1o24dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dy); - CCTK_REAL_VEC /*const*/ p1o24dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dz); - CCTK_REAL_VEC /*const*/ p1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dx); - CCTK_REAL_VEC /*const*/ p1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dy); - CCTK_REAL_VEC /*const*/ p1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dz); - CCTK_REAL_VEC /*const*/ p1o3600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o3600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o3600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dx); - CCTK_REAL_VEC /*const*/ p1o4dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o4dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dy); - CCTK_REAL_VEC /*const*/ p1o4dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dz); - CCTK_REAL_VEC /*const*/ p1o5040dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ p1o5040dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ p1o5040dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ p1o560dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dx); - CCTK_REAL_VEC /*const*/ p1o560dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dy); - CCTK_REAL_VEC /*const*/ p1o560dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dz); - CCTK_REAL_VEC /*const*/ p1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dx); - CCTK_REAL_VEC /*const*/ p1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dy); - CCTK_REAL_VEC /*const*/ p1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dz); - CCTK_REAL_VEC /*const*/ p1o64dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dx); - CCTK_REAL_VEC /*const*/ p1o64dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dy); - CCTK_REAL_VEC /*const*/ p1o64dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dz); - CCTK_REAL_VEC /*const*/ p1o705600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o705600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o705600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o840dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dx); - CCTK_REAL_VEC /*const*/ p1o840dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dy); - CCTK_REAL_VEC /*const*/ p1o840dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dz); - CCTK_REAL_VEC /*const*/ p1odx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dx); - CCTK_REAL_VEC /*const*/ p1odx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ p1ody CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dy); - CCTK_REAL_VEC /*const*/ p1ody2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ p1odz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dz); - CCTK_REAL_VEC /*const*/ p1odz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ pm1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dx); - CCTK_REAL_VEC /*const*/ pm1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dy); - CCTK_REAL_VEC /*const*/ pm1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dz); - CCTK_REAL_VEC /*const*/ pm1o12dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ pm1o12dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ pm1o12dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ pm1o16dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dx); - CCTK_REAL_VEC /*const*/ pm1o16dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dy); - CCTK_REAL_VEC /*const*/ pm1o16dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dz); - CCTK_REAL_VEC /*const*/ pm1o256dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dx); - CCTK_REAL_VEC /*const*/ pm1o256dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dy); - CCTK_REAL_VEC /*const*/ pm1o256dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dz); - CCTK_REAL_VEC /*const*/ pm1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dx); - CCTK_REAL_VEC /*const*/ pm1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dy); - CCTK_REAL_VEC /*const*/ pm1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dz); - CCTK_REAL_VEC /*const*/ pm1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dx); - CCTK_REAL_VEC /*const*/ pm1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dy); - CCTK_REAL_VEC /*const*/ pm1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dz); - CCTK_REAL_VEC /*const*/ pm1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dx); - CCTK_REAL_VEC /*const*/ pm1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dy); - CCTK_REAL_VEC /*const*/ pm1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dz); + const CCTK_REAL_VEC p1o1024dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dx); + const CCTK_REAL_VEC p1o1024dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dy); + const CCTK_REAL_VEC p1o1024dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dz); + const CCTK_REAL_VEC p1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dx); + const CCTK_REAL_VEC p1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dy); + const CCTK_REAL_VEC p1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dz); + const CCTK_REAL_VEC p1o12dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dx); + const CCTK_REAL_VEC p1o12dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dy); + const CCTK_REAL_VEC p1o12dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dz); + const CCTK_REAL_VEC p1o144dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dy,dx)); + const CCTK_REAL_VEC p1o144dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dx)); + const CCTK_REAL_VEC p1o144dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dy)); + const CCTK_REAL_VEC p1o1680dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dx); + const CCTK_REAL_VEC p1o1680dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dy); + const CCTK_REAL_VEC p1o1680dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dz); + const CCTK_REAL_VEC p1o180dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dx,dx)); + const CCTK_REAL_VEC p1o180dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dy,dy)); + const CCTK_REAL_VEC p1o180dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dz,dz)); + const CCTK_REAL_VEC p1o24dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dx); + const CCTK_REAL_VEC p1o24dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dy); + const CCTK_REAL_VEC p1o24dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dz); + const CCTK_REAL_VEC p1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dx); + const CCTK_REAL_VEC p1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dy); + const CCTK_REAL_VEC p1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dz); + const CCTK_REAL_VEC p1o3600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dy,dx)); + const CCTK_REAL_VEC p1o3600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dx)); + const CCTK_REAL_VEC p1o3600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dy)); + const CCTK_REAL_VEC p1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dx); + const CCTK_REAL_VEC p1o4dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dy,dx)); + const CCTK_REAL_VEC p1o4dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dx)); + const CCTK_REAL_VEC p1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dy); + const CCTK_REAL_VEC p1o4dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dy)); + const CCTK_REAL_VEC p1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dz); + const CCTK_REAL_VEC p1o5040dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dx,dx)); + const CCTK_REAL_VEC p1o5040dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dy,dy)); + const CCTK_REAL_VEC p1o5040dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dz,dz)); + const CCTK_REAL_VEC p1o560dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dx); + const CCTK_REAL_VEC p1o560dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dy); + const CCTK_REAL_VEC p1o560dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dz); + const CCTK_REAL_VEC p1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dx); + const CCTK_REAL_VEC p1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dy); + const CCTK_REAL_VEC p1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dz); + const CCTK_REAL_VEC p1o64dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dx); + const CCTK_REAL_VEC p1o64dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dy); + const CCTK_REAL_VEC p1o64dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dz); + const CCTK_REAL_VEC p1o705600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dy,dx)); + const CCTK_REAL_VEC p1o705600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dx)); + const CCTK_REAL_VEC p1o705600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dy)); + const CCTK_REAL_VEC p1o840dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dx); + const CCTK_REAL_VEC p1o840dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dy); + const CCTK_REAL_VEC p1o840dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dz); + const CCTK_REAL_VEC p1odx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dx); + const CCTK_REAL_VEC p1odx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dx,dx)); + const CCTK_REAL_VEC p1ody CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dy); + const CCTK_REAL_VEC p1ody2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dy,dy)); + const CCTK_REAL_VEC p1odz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dz); + const CCTK_REAL_VEC p1odz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dz,dz)); + const CCTK_REAL_VEC pm1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dx); + const CCTK_REAL_VEC pm1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dy); + const CCTK_REAL_VEC pm1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dz); + const CCTK_REAL_VEC pm1o12dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dx,dx)); + const CCTK_REAL_VEC pm1o12dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dy,dy)); + const CCTK_REAL_VEC pm1o12dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dz,dz)); + const CCTK_REAL_VEC pm1o16dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dx); + const CCTK_REAL_VEC pm1o16dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dy); + const CCTK_REAL_VEC pm1o16dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dz); + const CCTK_REAL_VEC pm1o256dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dx); + const CCTK_REAL_VEC pm1o256dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dy); + const CCTK_REAL_VEC pm1o256dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dz); + const CCTK_REAL_VEC pm1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dx); + const CCTK_REAL_VEC pm1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dy); + const CCTK_REAL_VEC pm1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dz); + const CCTK_REAL_VEC pm1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dx); + const CCTK_REAL_VEC pm1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dy); + const CCTK_REAL_VEC pm1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dz); + const CCTK_REAL_VEC pm1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dx); + const CCTK_REAL_VEC pm1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dy); + const CCTK_REAL_VEC pm1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dz); /* Jacobian variable pointers */ - bool const use_jacobian CCTK_ATTRIBUTE_UNUSED = (!CCTK_IsFunctionAliased("MultiPatch_GetMap") || MultiPatch_GetMap(cctkGH) != jacobian_identity_map) - && strlen(jacobian_group) > 0; - if (use_jacobian && strlen(jacobian_derivative_group) == 0) + const bool use_jacobian1 = (!CCTK_IsFunctionAliased("MultiPatch_GetMap") || MultiPatch_GetMap(cctkGH) != jacobian_identity_map) + && strlen(jacobian_group) > 0; + const bool use_jacobian = assume_use_jacobian>=0 ? assume_use_jacobian : use_jacobian1; + const bool usejacobian CCTK_ATTRIBUTE_UNUSED = use_jacobian; + if (use_jacobian && (strlen(jacobian_determinant_group) == 0 || strlen(jacobian_inverse_group) == 0 || strlen(jacobian_derivative_group) == 0)) { - CCTK_WARN (1, "GenericFD::jacobian_group and GenericFD::jacobian_derivative_group must both be set to valid group names"); + CCTK_WARN(1, "GenericFD::jacobian_group, GenericFD::jacobian_determinant_group, GenericFD::jacobian_inverse_group, and GenericFD::jacobian_derivative_group must all be set to valid group names"); } - CCTK_REAL const *restrict jacobian_ptrs[9]; + const CCTK_REAL* restrict jacobian_ptrs[9]; if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_group, 9, jacobian_ptrs); - CCTK_REAL const *restrict const J11 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[0] : 0; - CCTK_REAL const *restrict const J12 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[1] : 0; - CCTK_REAL const *restrict const J13 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[2] : 0; - CCTK_REAL const *restrict const J21 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[3] : 0; - CCTK_REAL const *restrict const J22 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[4] : 0; - CCTK_REAL const *restrict const J23 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[5] : 0; - CCTK_REAL const *restrict const J31 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[6] : 0; - CCTK_REAL const *restrict const J32 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[7] : 0; - CCTK_REAL const *restrict const J33 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[8] : 0; + const CCTK_REAL* restrict const J11 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[0] : 0; + const CCTK_REAL* restrict const J12 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[1] : 0; + const CCTK_REAL* restrict const J13 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[2] : 0; + const CCTK_REAL* restrict const J21 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[3] : 0; + const CCTK_REAL* restrict const J22 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[4] : 0; + const CCTK_REAL* restrict const J23 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[5] : 0; + const CCTK_REAL* restrict const J31 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[6] : 0; + const CCTK_REAL* restrict const J32 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[7] : 0; + const CCTK_REAL* restrict const J33 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[8] : 0; + + const CCTK_REAL* restrict jacobian_determinant_ptrs[1] CCTK_ATTRIBUTE_UNUSED; + if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_determinant_group, + 1, jacobian_determinant_ptrs); + + const CCTK_REAL* restrict const detJ CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[0] : 0; - CCTK_REAL const *restrict jacobian_derivative_ptrs[18] CCTK_ATTRIBUTE_UNUSED; + const CCTK_REAL* restrict jacobian_inverse_ptrs[9] CCTK_ATTRIBUTE_UNUSED; + if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_inverse_group, + 9, jacobian_inverse_ptrs); + + const CCTK_REAL* restrict const iJ11 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[0] : 0; + const CCTK_REAL* restrict const iJ12 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[1] : 0; + const CCTK_REAL* restrict const iJ13 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[2] : 0; + const CCTK_REAL* restrict const iJ21 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[3] : 0; + const CCTK_REAL* restrict const iJ22 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[4] : 0; + const CCTK_REAL* restrict const iJ23 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[5] : 0; + const CCTK_REAL* restrict const iJ31 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[6] : 0; + const CCTK_REAL* restrict const iJ32 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[7] : 0; + const CCTK_REAL* restrict const iJ33 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[8] : 0; + + const CCTK_REAL* restrict jacobian_derivative_ptrs[18] CCTK_ATTRIBUTE_UNUSED; if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_derivative_group, 18, jacobian_derivative_ptrs); - CCTK_REAL const *restrict const dJ111 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[0] : 0; - CCTK_REAL const *restrict const dJ112 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[1] : 0; - CCTK_REAL const *restrict const dJ113 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[2] : 0; - CCTK_REAL const *restrict const dJ122 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[3] : 0; - CCTK_REAL const *restrict const dJ123 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[4] : 0; - CCTK_REAL const *restrict const dJ133 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[5] : 0; - CCTK_REAL const *restrict const dJ211 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[6] : 0; - CCTK_REAL const *restrict const dJ212 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[7] : 0; - CCTK_REAL const *restrict const dJ213 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[8] : 0; - CCTK_REAL const *restrict const dJ222 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[9] : 0; - CCTK_REAL const *restrict const dJ223 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[10] : 0; - CCTK_REAL const *restrict const dJ233 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[11] : 0; - CCTK_REAL const *restrict const dJ311 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[12] : 0; - CCTK_REAL const *restrict const dJ312 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[13] : 0; - CCTK_REAL const *restrict const dJ313 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[14] : 0; - CCTK_REAL const *restrict const dJ322 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[15] : 0; - CCTK_REAL const *restrict const dJ323 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[16] : 0; - CCTK_REAL const *restrict const dJ333 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[17] : 0; + const CCTK_REAL* restrict const dJ111 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[0] : 0; + const CCTK_REAL* restrict const dJ112 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[1] : 0; + const CCTK_REAL* restrict const dJ113 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[2] : 0; + const CCTK_REAL* restrict const dJ122 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[3] : 0; + const CCTK_REAL* restrict const dJ123 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[4] : 0; + const CCTK_REAL* restrict const dJ133 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[5] : 0; + const CCTK_REAL* restrict const dJ211 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[6] : 0; + const CCTK_REAL* restrict const dJ212 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[7] : 0; + const CCTK_REAL* restrict const dJ213 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[8] : 0; + const CCTK_REAL* restrict const dJ222 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[9] : 0; + const CCTK_REAL* restrict const dJ223 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[10] : 0; + const CCTK_REAL* restrict const dJ233 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[11] : 0; + const CCTK_REAL* restrict const dJ311 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[12] : 0; + const CCTK_REAL* restrict const dJ312 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[13] : 0; + const CCTK_REAL* restrict const dJ313 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[14] : 0; + const CCTK_REAL* restrict const dJ322 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[15] : 0; + const CCTK_REAL* restrict const dJ323 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[16] : 0; + const CCTK_REAL* restrict const dJ333 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[17] : 0; /* Assign local copies of arrays functions */ @@ -214,13 +238,20 @@ static void ML_BSSN_constraints2_Body(cGH const * restrict const cctkGH, int con /* Copy local copies back to grid functions */ /* Loop over the grid points */ - #pragma omp parallel + const int imin0=imin[0]; + const int imin1=imin[1]; + const int imin2=imin[2]; + const int imax0=imax[0]; + const int imax1=imax[1]; + const int imax2=imax[2]; + #pragma omp parallel // reduction(+: vec_iter_counter, vec_op_counter, vec_mem_counter) CCTK_LOOP3STR(ML_BSSN_constraints2, - i,j,k, imin[0],imin[1],imin[2], imax[0],imax[1],imax[2], + i,j,k, imin0,imin1,imin2, imax0,imax1,imax2, cctk_ash[0],cctk_ash[1],cctk_ash[2], - kimin,kimax, CCTK_REAL_VEC_SIZE) + vecimin,vecimax, CCTK_REAL_VEC_SIZE) { - ptrdiff_t /*const*/ index CCTK_ATTRIBUTE_UNUSED = di*i + dj*j + dk*k; + const ptrdiff_t index CCTK_ATTRIBUTE_UNUSED = di*i + dj*j + dk*k; + // vec_iter_counter+=CCTK_REAL_VEC_SIZE; /* Assign local copies of grid functions */ @@ -248,7 +279,7 @@ static void ML_BSSN_constraints2_Body(cGH const * restrict const cctkGH, int con CCTK_REAL_VEC eTtxL, eTtyL, eTtzL, eTxxL, eTxyL, eTxzL, eTyyL, eTyzL, eTzzL CCTK_ATTRIBUTE_UNUSED ; - if (*stress_energy_state) + if (assume_stress_energy_state>=0 ? assume_stress_energy_state : *stress_energy_state) { eTtxL = vec_load(eTtx[index]); eTtyL = vec_load(eTty[index]); @@ -291,52 +322,53 @@ static void ML_BSSN_constraints2_Body(cGH const * restrict const cctkGH, int con /* Include user supplied include files */ /* Precompute derivatives */ - CCTK_REAL_VEC PDstandardNth1At11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth2At11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth3At11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth1At12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth2At12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth3At12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth1At13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth2At13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth3At13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth1At22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth2At22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth3At22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth1At23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth2At23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth3At23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth1At33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth2At33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth3At33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth1gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth2gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth3gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth1gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth2gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth3gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth1gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth2gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth3gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth1gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth2gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth3gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth1gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth2gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth3gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth1gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth2gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth3gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth1phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth2phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth3phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth1trK CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth2trK CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth3trK CCTK_ATTRIBUTE_UNUSED ; - - switch(fdOrder) + CCTK_REAL_VEC PDstandardNth1At11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2At11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3At11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1At12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2At12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3At12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1At13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2At13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3At13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1At22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2At22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3At22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1At23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2At23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3At23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1At33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2At33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3At33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1trK CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2trK CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3trK CCTK_ATTRIBUTE_UNUSED; + + switch (fdOrder) { case 2: + { PDstandardNth1At11 = PDstandardNthfdOrder21(&At11[index]); PDstandardNth2At11 = PDstandardNthfdOrder22(&At11[index]); PDstandardNth3At11 = PDstandardNthfdOrder23(&At11[index]); @@ -380,8 +412,10 @@ static void ML_BSSN_constraints2_Body(cGH const * restrict const cctkGH, int con PDstandardNth2trK = PDstandardNthfdOrder22(&trK[index]); PDstandardNth3trK = PDstandardNthfdOrder23(&trK[index]); break; + } case 4: + { PDstandardNth1At11 = PDstandardNthfdOrder41(&At11[index]); PDstandardNth2At11 = PDstandardNthfdOrder42(&At11[index]); PDstandardNth3At11 = PDstandardNthfdOrder43(&At11[index]); @@ -425,8 +459,10 @@ static void ML_BSSN_constraints2_Body(cGH const * restrict const cctkGH, int con PDstandardNth2trK = PDstandardNthfdOrder42(&trK[index]); PDstandardNth3trK = PDstandardNthfdOrder43(&trK[index]); break; + } case 6: + { PDstandardNth1At11 = PDstandardNthfdOrder61(&At11[index]); PDstandardNth2At11 = PDstandardNthfdOrder62(&At11[index]); PDstandardNth3At11 = PDstandardNthfdOrder63(&At11[index]); @@ -470,8 +506,10 @@ static void ML_BSSN_constraints2_Body(cGH const * restrict const cctkGH, int con PDstandardNth2trK = PDstandardNthfdOrder62(&trK[index]); PDstandardNth3trK = PDstandardNthfdOrder63(&trK[index]); break; + } case 8: + { PDstandardNth1At11 = PDstandardNthfdOrder81(&At11[index]); PDstandardNth2At11 = PDstandardNthfdOrder82(&At11[index]); PDstandardNth3At11 = PDstandardNthfdOrder83(&At11[index]); @@ -515,51 +553,54 @@ static void ML_BSSN_constraints2_Body(cGH const * restrict const cctkGH, int con PDstandardNth2trK = PDstandardNthfdOrder82(&trK[index]); PDstandardNth3trK = PDstandardNthfdOrder83(&trK[index]); break; + } + default: + CCTK_BUILTIN_UNREACHABLE(); } /* Calculate temporaries and grid functions */ - CCTK_REAL_VEC JacPDstandardNth1At11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth1At12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth1At13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth1At22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth1At23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth1At33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth1gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth1gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth1gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth1gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth1gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth1gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth1phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth1trK CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth2At11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth2At12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth2At13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth2At22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth2At23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth2At33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth2gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth2gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth2gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth2gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth2gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth2gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth2phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth2trK CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth3At11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth3At12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth3At13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth3At22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth3At23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth3At33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth3gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth3gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth3gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth3gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth3gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth3gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth3phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth3trK CCTK_ATTRIBUTE_UNUSED ; + CCTK_REAL_VEC JacPDstandardNth1At11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1At12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1At13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1At22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1At23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1At33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1trK CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2At11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2At12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2At13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2At22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2At23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2At33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2trK CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3At11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3At12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3At13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3At22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3At23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3At33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3trK CCTK_ATTRIBUTE_UNUSED; if (use_jacobian) { @@ -776,25 +817,25 @@ static void ML_BSSN_constraints2_Body(cGH const * restrict const cctkGH, int con JacPDstandardNth3trK = PDstandardNth3trK; } - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED detgt = ToReal(1.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED detgt = ToReal(1); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gtu11 = - kdiv(kmadd(gt22L,gt33L,kmul(kmul(gt23L,gt23L),ToReal(-1.))),detgt); + kdiv(kmsub(gt22L,gt33L,kmul(gt23L,gt23L)),detgt); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gtu12 = - kdiv(kmadd(gt13L,gt23L,kmul(gt12L,kmul(gt33L,ToReal(-1.)))),detgt); + kdiv(kmsub(gt13L,gt23L,kmul(gt12L,gt33L)),detgt); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gtu13 = - kdiv(kmadd(gt12L,gt23L,kmul(gt13L,kmul(gt22L,ToReal(-1.)))),detgt); + kdiv(kmsub(gt12L,gt23L,kmul(gt13L,gt22L)),detgt); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gtu22 = - kdiv(kmadd(gt11L,gt33L,kmul(kmul(gt13L,gt13L),ToReal(-1.))),detgt); + kdiv(kmsub(gt11L,gt33L,kmul(gt13L,gt13L)),detgt); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gtu23 = - kdiv(kmadd(gt12L,gt13L,kmul(gt11L,kmul(gt23L,ToReal(-1.)))),detgt); + kdiv(kmsub(gt12L,gt13L,kmul(gt11L,gt23L)),detgt); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gtu33 = - kdiv(kmadd(gt11L,gt22L,kmul(kmul(gt12L,gt12L),ToReal(-1.))),detgt); + kdiv(kmsub(gt11L,gt22L,kmul(gt12L,gt12L)),detgt); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Gtl111 = kmul(JacPDstandardNth1gt11,ToReal(0.5)); @@ -809,7 +850,7 @@ static void ML_BSSN_constraints2_Body(cGH const * restrict const cctkGH, int con kmadd(JacPDstandardNth1gt22,ToReal(-0.5),JacPDstandardNth2gt12); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Gtl123 = - kmul(kadd(JacPDstandardNth2gt13,kmadd(JacPDstandardNth1gt23,ToReal(-1.),JacPDstandardNth3gt12)),ToReal(0.5)); + kmul(kadd(JacPDstandardNth2gt13,ksub(JacPDstandardNth3gt12,JacPDstandardNth1gt23)),ToReal(0.5)); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Gtl133 = kmadd(JacPDstandardNth1gt33,ToReal(-0.5),JacPDstandardNth3gt13); @@ -821,7 +862,7 @@ static void ML_BSSN_constraints2_Body(cGH const * restrict const cctkGH, int con kmul(JacPDstandardNth1gt22,ToReal(0.5)); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Gtl213 = - kmul(kadd(JacPDstandardNth1gt23,kmadd(JacPDstandardNth2gt13,ToReal(-1.),JacPDstandardNth3gt12)),ToReal(0.5)); + kmul(kadd(JacPDstandardNth1gt23,ksub(JacPDstandardNth3gt12,JacPDstandardNth2gt13)),ToReal(0.5)); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Gtl222 = kmul(JacPDstandardNth2gt22,ToReal(0.5)); @@ -836,7 +877,7 @@ static void ML_BSSN_constraints2_Body(cGH const * restrict const cctkGH, int con kmadd(JacPDstandardNth3gt11,ToReal(-0.5),JacPDstandardNth1gt13); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Gtl312 = - kmul(kadd(JacPDstandardNth1gt23,kmadd(JacPDstandardNth3gt12,ToReal(-1.),JacPDstandardNth2gt13)),ToReal(0.5)); + kmul(kadd(JacPDstandardNth1gt23,ksub(JacPDstandardNth2gt13,JacPDstandardNth3gt12)),ToReal(0.5)); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Gtl313 = kmul(JacPDstandardNth1gt33,ToReal(0.5)); @@ -905,7 +946,7 @@ static void ML_BSSN_constraints2_Body(cGH const * restrict const cctkGH, int con kmadd(Gtl133,gtu13,kmadd(Gtl233,gtu23,kmul(Gtl333,gtu33))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED fac1 = IfThen(conformalMethod == - 1.,kdiv(ToReal(-0.5),phiL),ToReal(1.)); + 1,kdiv(ToReal(-0.5),phiL),ToReal(1)); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED cdphi1 = kmul(fac1,JacPDstandardNth1phi); @@ -917,39 +958,39 @@ static void ML_BSSN_constraints2_Body(cGH const * restrict const cctkGH, int con kmul(fac1,JacPDstandardNth3phi); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED S1 = - kdiv(kmadd(beta1L,eTxxL,kmadd(beta2L,eTxyL,kmadd(beta3L,eTxzL,kmul(eTtxL,ToReal(-1.))))),alphaL); + kdiv(kmadd(beta1L,eTxxL,kmadd(beta2L,eTxyL,kmsub(beta3L,eTxzL,eTtxL))),alphaL); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED S2 = - kdiv(kmadd(beta1L,eTxyL,kmadd(beta2L,eTyyL,kmadd(beta3L,eTyzL,kmul(eTtyL,ToReal(-1.))))),alphaL); + kdiv(kmadd(beta1L,eTxyL,kmadd(beta2L,eTyyL,kmsub(beta3L,eTyzL,eTtyL))),alphaL); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED S3 = - kdiv(kmadd(beta1L,eTxzL,kmadd(beta2L,eTyzL,kmadd(beta3L,eTzzL,kmul(eTtzL,ToReal(-1.))))),alphaL); + kdiv(kmadd(beta1L,eTxzL,kmadd(beta2L,eTyzL,kmsub(beta3L,eTzzL,eTtzL))),alphaL); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED M1L = - kmadd(gtu11,JacPDstandardNth1At11,kmadd(gtu22,JacPDstandardNth2At12,kmadd(gtu23,kadd(JacPDstandardNth2At13,JacPDstandardNth3At12),kmadd(gtu33,JacPDstandardNth3At13,kmadd(S1,ToReal(-25.132741228718345),kmadd(gtu12,kadd(JacPDstandardNth1At12,kadd(JacPDstandardNth2At11,kmadd(At13L,kmul(Gt312,ToReal(-3.)),kmul(At22L,kmul(Gt211,ToReal(-1.)))))),kmadd(gtu13,kadd(JacPDstandardNth1At13,kadd(JacPDstandardNth3At11,kmadd(At13L,kmul(Gt313,ToReal(-3.)),kmul(At23L,kmul(Gt211,ToReal(-1.)))))),kmadd(Gt311,kmadd(At13L,kmul(gtu11,ToReal(-2.)),kmul(kmadd(At23L,gtu12,kmul(At33L,gtu13)),ToReal(-1.))),kmadd(JacPDstandardNth1trK,ToReal(-0.666666666666666666666666666667),kmadd(ToReal(-1.),kmadd(kmadd(At22L,Gt212,kmul(At23L,Gt312)),gtu22,kmadd(kmadd(At13L,Gt112,kmadd(At22L,Gt213,kmadd(At33L,Gt312,kmul(At23L,kadd(Gt212,Gt313))))),gtu23,kmadd(kmadd(At13L,Gt113,kmadd(At23L,Gt213,kmul(At33L,Gt313))),gtu33,kmul(At12L,kmadd(Gt233,gtu33,kmadd(gtu22,kadd(Gt112,kmadd(cdphi2,ToReal(-6.),Gt222)),kmadd(gtu23,kmadd(cdphi3,ToReal(-6.),Gt113),kmadd(kmadd(Gt211,gtu11,kmul(Gt223,gtu23)),ToReal(2.),kmadd(Gt213,kmul(gtu13,ToReal(3.)),kmul(gtu12,kadd(Gt111,kmadd(cdphi1,ToReal(-6.),kmul(Gt212,ToReal(3.)))))))))))))),kmadd(At13L,kmadd(kmadd(Gt322,gtu22,kmul(Gt333,gtu33)),ToReal(-1.),kmadd(cdphi3,kmul(gtu33,ToReal(6.)),kmadd(gtu13,kmadd(Gt111,ToReal(-1.),kmul(cdphi1,ToReal(6.))),kmul(gtu23,kmadd(Gt323,ToReal(-2.),kmul(cdphi2,ToReal(6.))))))),kmul(At11L,kmadd(Gt123,kmul(gtu23,ToReal(-2.)),kmadd(kmadd(Gt122,gtu22,kmul(Gt133,gtu33)),ToReal(-1.),kmadd(gtu11,kmadd(Gt111,ToReal(-2.),kmul(cdphi1,ToReal(6.))),kmadd(gtu12,kmadd(Gt112,ToReal(-3.),kmul(cdphi2,ToReal(6.))),kmul(gtu13,kmadd(Gt113,ToReal(-3.),kmul(cdphi3,ToReal(6.)))))))))))))))))))); + kmadd(gtu11,JacPDstandardNth1At11,kmadd(gtu12,JacPDstandardNth2At11,kmadd(gtu22,JacPDstandardNth2At12,kmadd(gtu23,JacPDstandardNth2At13,kmadd(gtu13,JacPDstandardNth3At11,kmadd(gtu23,JacPDstandardNth3At12,kmadd(gtu33,JacPDstandardNth3At13,kmadd(gtu12,kadd(JacPDstandardNth1At12,kmsub(At13L,kmul(Gt312,ToReal(-3)),kmul(At22L,Gt211))),kmadd(gtu13,kadd(JacPDstandardNth1At13,kmsub(At13L,kmul(Gt313,ToReal(-3)),kmul(At23L,Gt211))),knmsub(gtu22,kmadd(At23L,Gt312,kmul(At22L,Gt212)),kmadd(Gt311,kmsub(At13L,kmul(gtu11,ToReal(-2)),kmadd(At33L,gtu13,kmul(At23L,gtu12))),kmadd(At13L,kmsub(Gt323,kmul(gtu23,ToReal(-2)),kmul(Gt113,gtu33)),kmadd(JacPDstandardNth1trK,ToReal(-0.666666666666666666666666666667),knmsub(At12L,kmadd(Gt111,gtu12,kmadd(Gt112,gtu22,kmadd(Gt222,gtu22,kmadd(Gt113,gtu23,kmadd(Gt233,gtu33,kmadd(cdphi1,kmul(gtu12,ToReal(-6)),kmadd(cdphi2,kmul(gtu22,ToReal(-6)),kmadd(cdphi3,kmul(gtu23,ToReal(-6)),kmadd(Gt211,kmul(gtu11,ToReal(2)),kmadd(Gt223,kmul(gtu23,ToReal(2)),kmadd(Gt212,kmul(gtu12,ToReal(3)),kmul(Gt213,kmul(gtu13,ToReal(3)))))))))))))),kmadd(gtu23,knmsub(At22L,Gt213,knmsub(At33L,Gt312,kmsub(At13L,kmul(cdphi2,ToReal(6)),kmul(At23L,kadd(Gt313,Gt212))))),kmadd(gtu33,knmsub(At23L,Gt213,kmsub(At13L,kmul(cdphi3,ToReal(6)),kmul(At33L,Gt313))),kmadd(At11L,kmadd(Gt112,kmul(gtu12,ToReal(-3)),kmadd(Gt113,kmul(gtu13,ToReal(-3)),kmadd(Gt111,kmul(gtu11,ToReal(-2)),kmadd(Gt123,kmul(gtu23,ToReal(-2)),knmsub(Gt122,gtu22,knmsub(Gt133,gtu33,kmadd(cdphi1,kmul(gtu11,ToReal(6)),kmadd(cdphi2,kmul(gtu12,ToReal(6)),kmul(cdphi3,kmul(gtu13,ToReal(6))))))))))),kmadd(At13L,knmsub(Gt322,gtu22,knmsub(Gt112,gtu23,kmsub(gtu13,kmsub(cdphi1,ToReal(6),Gt111),kmul(Gt333,gtu33)))),kmul(S1,ToReal(-25.1327412287183459077011470662)))))))))))))))))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED M2L = - kmadd(gtu11,JacPDstandardNth1At12,kmadd(gtu12,kadd(JacPDstandardNth1At22,JacPDstandardNth2At12),kmadd(gtu22,JacPDstandardNth2At22,kmadd(gtu33,JacPDstandardNth3At23,kmadd(S2,ToReal(-25.132741228718345),kmadd(kmadd(kmadd(At22L,Gt211,kmadd(At23L,Gt311,kmul(At13L,Gt312))),gtu11,kmadd(kmadd(At23L,Gt212,kmul(At33L,Gt312)),gtu13,kmadd(At11L,kmadd(Gt112,gtu11,kmadd(Gt122,gtu12,kmul(Gt123,gtu13))),kmadd(kmadd(At23L,Gt223,kmul(At33L,Gt323)),gtu33,kmul(At13L,kmadd(Gt322,gtu12,kmadd(Gt112,gtu13,kmadd(Gt122,gtu23,kmul(Gt123,gtu33))))))))),ToReal(-1.),kmadd(gtu23,kadd(JacPDstandardNth2At23,kadd(JacPDstandardNth3At22,kmadd(kmadd(At22L,Gt223,kmul(At23L,Gt323)),ToReal(-3.),kmul(kmadd(At23L,Gt222,kmul(At33L,Gt322)),ToReal(-1.))))),kmadd(gtu13,kadd(JacPDstandardNth1At23,kadd(JacPDstandardNth3At12,kmadd(At23L,kmul(Gt313,ToReal(-2.)),kmul(At13L,kmul(Gt323,ToReal(-1.)))))),kmadd(JacPDstandardNth2trK,ToReal(-0.666666666666666666666666666667),kmadd(At23L,kmadd(Gt312,kmul(gtu12,ToReal(-3.)),kmadd(Gt322,kmul(gtu22,ToReal(-2.)),kmadd(Gt333,kmul(gtu33,ToReal(-1.)),kmul(kmadd(cdphi1,gtu13,kmadd(cdphi2,gtu23,kmul(cdphi3,gtu33))),ToReal(6.))))),kmadd(At22L,kmadd(kmadd(Gt213,gtu13,kmul(Gt222,gtu22)),ToReal(-2.),kmadd(Gt233,kmul(gtu33,ToReal(-1.)),kmadd(kmadd(cdphi2,gtu22,kmul(cdphi3,gtu23)),ToReal(6.),kmul(gtu12,kmadd(Gt212,ToReal(-3.),kmul(cdphi1,ToReal(6.))))))),kmul(At12L,kmadd(Gt123,kmul(gtu23,ToReal(-3.)),kmadd(Gt122,kmul(gtu22,ToReal(-2.)),kmadd(Gt133,kmul(gtu33,ToReal(-1.)),kmadd(gtu11,kmadd(kadd(Gt111,Gt212),ToReal(-1.),kmul(cdphi1,ToReal(6.))),kmadd(gtu12,kmadd(Gt112,ToReal(-3.),kmadd(Gt222,ToReal(-1.),kmul(cdphi2,ToReal(6.)))),kmul(gtu13,kmadd(Gt113,ToReal(-2.),kmadd(Gt223,ToReal(-1.),kmul(cdphi3,ToReal(6.)))))))))))))))))))))); + kmadd(gtu11,JacPDstandardNth1At12,kmadd(gtu12,JacPDstandardNth1At22,kmadd(gtu13,JacPDstandardNth1At23,kmadd(gtu12,JacPDstandardNth2At12,kmadd(gtu22,JacPDstandardNth2At22,kmadd(gtu23,JacPDstandardNth2At23,kmadd(gtu13,JacPDstandardNth3At12,kmadd(gtu23,JacPDstandardNth3At22,kmadd(gtu33,JacPDstandardNth3At23,kmadd(At22L,kmul(Gt222,kmul(gtu22,ToReal(-2))),knmsub(At11L,kmadd(Gt112,gtu11,kmadd(Gt122,gtu12,kmul(Gt123,gtu13))),knmsub(gtu11,kmadd(At22L,Gt211,kmadd(At13L,Gt312,kmul(At23L,Gt311))),kmadd(Gt212,kmsub(At22L,kmul(gtu12,ToReal(-3)),kmul(At23L,gtu13)),kmadd(Gt312,kmsub(At23L,kmul(gtu12,ToReal(-3)),kmul(At33L,gtu13)),kmadd(Gt322,kmsub(At23L,kmul(gtu22,ToReal(-2)),kmul(At33L,gtu23)),kmadd(Gt223,kmsub(At22L,kmul(gtu23,ToReal(-3)),kmul(At23L,gtu33)),kmadd(Gt323,kmsub(At23L,kmul(gtu23,ToReal(-3)),kmul(At33L,gtu33)),kmadd(At22L,kmsub(Gt213,kmul(gtu13,ToReal(-2)),kmul(Gt233,gtu33)),kmadd(At23L,kmsub(Gt313,kmul(gtu13,ToReal(-2)),kmadd(Gt333,gtu33,kmul(Gt222,gtu23))),kmadd(JacPDstandardNth2trK,ToReal(-0.666666666666666666666666666667),kmadd(At22L,kmul(cdphi2,kmul(gtu22,ToReal(6))),kmadd(At22L,kmul(cdphi3,kmul(gtu23,ToReal(6))),kmadd(gtu12,kmsub(At22L,kmul(cdphi1,ToReal(6)),kmul(At13L,Gt322)),kmadd(gtu13,kmsub(At23L,kmul(cdphi1,ToReal(6)),kmul(At13L,kadd(Gt323,Gt112))),kmadd(gtu23,kmsub(At23L,kmul(cdphi2,ToReal(6)),kmul(At13L,Gt122)),kmadd(gtu33,kmsub(At23L,kmul(cdphi3,ToReal(6)),kmul(At13L,Gt123)),kmadd(At12L,kmadd(Gt112,kmul(gtu12,ToReal(-3)),kmadd(Gt123,kmul(gtu23,ToReal(-3)),kmadd(Gt113,kmul(gtu13,ToReal(-2)),kmadd(Gt122,kmul(gtu22,ToReal(-2)),knmsub(Gt133,gtu33,kmadd(gtu11,ksub(kmsub(cdphi1,ToReal(6),Gt212),Gt111),kmadd(gtu12,kmsub(cdphi2,ToReal(6),Gt222),kmul(gtu13,kmsub(cdphi3,ToReal(6),Gt223))))))))),kmul(S2,ToReal(-25.1327412287183459077011470662))))))))))))))))))))))))))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED M3L = - kmadd(gtu11,JacPDstandardNth1At13,kmadd(gtu22,JacPDstandardNth2At23,kmadd(gtu13,kadd(JacPDstandardNth1At33,JacPDstandardNth3At13),kmadd(gtu33,JacPDstandardNth3At33,kmadd(S3,ToReal(-25.132741228718345),kmadd(kmadd(kmadd(At23L,Gt211,kmadd(At12L,Gt213,kmul(At33L,Gt311))),gtu11,kmadd(kmadd(At22L,Gt213,kmul(At12L,kadd(Gt113,Gt223))),gtu12,kmadd(At11L,kmadd(Gt113,gtu11,kmadd(Gt123,gtu12,kmul(Gt133,gtu13))),kmadd(kmadd(At23L,Gt222,kmul(At22L,Gt223)),gtu22,kmul(At12L,kmadd(Gt233,gtu13,kmadd(Gt123,gtu22,kmul(Gt133,gtu23)))))))),ToReal(-1.),kmadd(gtu12,kadd(JacPDstandardNth1At23,kadd(JacPDstandardNth2At13,kmadd(At33L,kmul(Gt312,ToReal(-2.)),kmul(At23L,kmul(Gt313,ToReal(-1.)))))),kmadd(gtu23,kadd(JacPDstandardNth2At33,kadd(JacPDstandardNth3At23,kmadd(kmadd(At23L,Gt223,kmul(At33L,Gt323)),ToReal(-3.),kmul(kmadd(At22L,Gt233,kmul(At23L,Gt333)),ToReal(-1.))))),kmadd(JacPDstandardNth3trK,ToReal(-0.666666666666666666666666666667),kmadd(At33L,kmadd(Gt333,kmul(gtu33,ToReal(-2.)),kmadd(Gt322,kmul(gtu22,ToReal(-1.)),kmadd(kmadd(cdphi2,gtu23,kmul(cdphi3,gtu33)),ToReal(6.),kmul(gtu13,kmadd(Gt313,ToReal(-3.),kmul(cdphi1,ToReal(6.))))))),kmadd(At23L,kmadd(Gt213,kmul(gtu13,ToReal(-3.)),kmadd(Gt233,kmul(gtu33,ToReal(-2.)),kmadd(cdphi3,kmul(gtu23,ToReal(6.)),kmadd(gtu12,kmadd(Gt212,ToReal(-2.),kmul(cdphi1,ToReal(6.))),kmul(gtu22,kmadd(Gt323,ToReal(-1.),kmul(cdphi2,ToReal(6.)))))))),kmul(At13L,kmadd(Gt123,kmul(gtu23,ToReal(-3.)),kmadd(Gt133,kmul(gtu33,ToReal(-2.)),kmadd(Gt122,kmul(gtu22,ToReal(-1.)),kmadd(gtu11,kmadd(kadd(Gt111,Gt313),ToReal(-1.),kmul(cdphi1,ToReal(6.))),kmadd(gtu12,kmadd(Gt112,ToReal(-2.),kmadd(Gt323,ToReal(-1.),kmul(cdphi2,ToReal(6.)))),kmul(gtu13,kmadd(Gt113,ToReal(-3.),kmadd(Gt333,ToReal(-1.),kmul(cdphi3,ToReal(6.)))))))))))))))))))))); + kmadd(gtu11,JacPDstandardNth1At13,kmadd(gtu12,JacPDstandardNth1At23,kmadd(gtu13,JacPDstandardNth1At33,kmadd(gtu12,JacPDstandardNth2At13,kmadd(gtu22,JacPDstandardNth2At23,kmadd(gtu23,JacPDstandardNth2At33,kmadd(gtu13,JacPDstandardNth3At13,kmadd(gtu23,JacPDstandardNth3At23,kmadd(gtu33,JacPDstandardNth3At33,kmadd(At33L,kmul(Gt313,kmul(gtu13,ToReal(-3))),kmadd(At23L,kmul(Gt223,kmul(gtu23,ToReal(-3))),kmadd(At33L,kmul(Gt323,kmul(gtu23,ToReal(-3))),kmadd(At23L,kmul(Gt233,kmul(gtu33,ToReal(-2))),kmadd(At33L,kmul(Gt333,kmul(gtu33,ToReal(-2))),knmsub(At11L,kmadd(Gt113,gtu11,kmadd(Gt123,gtu12,kmul(Gt133,gtu13))),kmadd(gtu12,kmsub(At23L,kmul(Gt212,ToReal(-2)),kmul(At12L,Gt223)),knmsub(gtu11,kmadd(At23L,Gt211,kmadd(At33L,Gt311,kmul(At12L,Gt213))),kmadd(At33L,kmsub(Gt312,kmul(gtu12,ToReal(-2)),kmul(Gt322,gtu22)),kmadd(At23L,kmsub(Gt213,kmul(gtu13,ToReal(-3)),kmadd(Gt333,gtu23,kmul(Gt222,gtu22))),kmadd(JacPDstandardNth3trK,ToReal(-0.666666666666666666666666666667),kmadd(At33L,kmul(cdphi3,kmul(gtu33,ToReal(6))),kmadd(gtu13,kmsub(At33L,kmul(cdphi1,ToReal(6)),kmul(At12L,Gt233)),kmadd(gtu23,kmsub(At33L,kmul(cdphi2,ToReal(6)),kmul(At12L,Gt133)),kmadd(gtu23,kmsub(At23L,kmul(cdphi3,ToReal(6)),kmul(At22L,Gt233)),kmadd(gtu12,knmsub(At12L,Gt113,kmsub(At23L,kmsub(cdphi1,ToReal(6),Gt313),kmul(At22L,Gt213))),kmadd(gtu22,knmsub(At12L,Gt123,kmsub(At23L,kmsub(cdphi2,ToReal(6),Gt323),kmul(At22L,Gt223))),kmadd(At13L,kmadd(Gt113,kmul(gtu13,ToReal(-3)),kmadd(Gt123,kmul(gtu23,ToReal(-3)),kmadd(Gt112,kmul(gtu12,ToReal(-2)),kmadd(Gt133,kmul(gtu33,ToReal(-2)),knmsub(Gt122,gtu22,kmadd(gtu11,ksub(kmsub(cdphi1,ToReal(6),Gt313),Gt111),kmadd(gtu12,kmsub(cdphi2,ToReal(6),Gt323),kmul(gtu13,kmsub(cdphi3,ToReal(6),Gt333))))))))),kmul(S3,ToReal(-25.1327412287183459077011470662))))))))))))))))))))))))))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED cSL = klog(detgt); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED cXt1L = - kmadd(Gt111,gtu11,kmadd(Gt122,gtu22,kmadd(Gt133,gtu33,kmadd(Xt1L,ToReal(-1.),kmul(kmadd(Gt112,gtu12,kmadd(Gt113,gtu13,kmul(Gt123,gtu23))),ToReal(2.)))))); + kmadd(Gt111,gtu11,kmadd(Gt122,gtu22,kmadd(Gt133,gtu33,kmsub(kmadd(Gt112,gtu12,kmadd(Gt113,gtu13,kmul(Gt123,gtu23))),ToReal(2),Xt1L)))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED cXt2L = - kmadd(Gt211,gtu11,kmadd(Gt222,gtu22,kmadd(Gt233,gtu33,kmadd(Xt2L,ToReal(-1.),kmul(kmadd(Gt212,gtu12,kmadd(Gt213,gtu13,kmul(Gt223,gtu23))),ToReal(2.)))))); + kmadd(Gt211,gtu11,kmadd(Gt222,gtu22,kmadd(Gt233,gtu33,kmsub(kmadd(Gt212,gtu12,kmadd(Gt213,gtu13,kmul(Gt223,gtu23))),ToReal(2),Xt2L)))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED cXt3L = - kmadd(Gt311,gtu11,kmadd(Gt322,gtu22,kmadd(Gt333,gtu33,kmadd(Xt3L,ToReal(-1.),kmul(kmadd(Gt312,gtu12,kmadd(Gt313,gtu13,kmul(Gt323,gtu23))),ToReal(2.)))))); + kmadd(Gt311,gtu11,kmadd(Gt322,gtu22,kmadd(Gt333,gtu33,kmsub(kmadd(Gt312,gtu12,kmadd(Gt313,gtu13,kmul(Gt323,gtu23))),ToReal(2),Xt3L)))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED cAL = - kmadd(At11L,gtu11,kmadd(At22L,gtu22,kmadd(At33L,gtu33,kmul(kmadd(At12L,gtu12,kmadd(At13L,gtu13,kmul(At23L,gtu23))),ToReal(2.))))); + kmadd(At11L,gtu11,kmadd(At22L,gtu22,kmadd(At33L,gtu33,kmul(kmadd(At12L,gtu12,kmadd(At13L,gtu13,kmul(At23L,gtu23))),ToReal(2))))); /* Copy local copies back to grid functions */ - vec_store_partial_prepare(i,kimin,kimax); + vec_store_partial_prepare(i,vecimin,vecimax); vec_store_nta_partial(cA[index],cAL); vec_store_nta_partial(cS[index],cSL); vec_store_nta_partial(cXt1[index],cXt1L); @@ -978,7 +1019,7 @@ extern "C" void ML_BSSN_constraints2(CCTK_ARGUMENTS) return; } - const char *const groups[] = { + const char* const groups[] = { "ML_BSSN::ML_cons_detg", "ML_BSSN::ML_cons_Gamma", "ML_BSSN::ML_cons_traceA", @@ -992,23 +1033,33 @@ extern "C" void ML_BSSN_constraints2(CCTK_ARGUMENTS) "ML_BSSN::ML_trace_curv"}; GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_constraints2", 11, groups); - switch(fdOrder) + switch (fdOrder) { case 2: + { GenericFD_EnsureStencilFits(cctkGH, "ML_BSSN_constraints2", 1, 1, 1); break; + } case 4: + { GenericFD_EnsureStencilFits(cctkGH, "ML_BSSN_constraints2", 2, 2, 2); break; + } case 6: + { GenericFD_EnsureStencilFits(cctkGH, "ML_BSSN_constraints2", 3, 3, 3); break; + } case 8: + { GenericFD_EnsureStencilFits(cctkGH, "ML_BSSN_constraints2", 4, 4, 4); break; + } + default: + CCTK_BUILTIN_UNREACHABLE(); } GenericFD_LoopOverInterior(cctkGH, ML_BSSN_constraints2_Body); diff --git a/ML_BSSN/src/ML_BSSN_convertFromADMBase.cc b/ML_BSSN/src/ML_BSSN_convertFromADMBase.cc index 1ccb41e..5bafb53 100644 --- a/ML_BSSN/src/ML_BSSN_convertFromADMBase.cc +++ b/ML_BSSN/src/ML_BSSN_convertFromADMBase.cc @@ -27,7 +27,7 @@ #define CUB(x) (kmul(x,SQR(x))) #define QAD(x) (SQR(SQR(x))) -static void ML_BSSN_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_BSSN_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,153 +36,175 @@ static void ML_BSSN_convertFromADMBase_Body(cGH const * restrict const cctkGH, i /* Include user-supplied include files */ /* Initialise finite differencing variables */ - ptrdiff_t /*const*/ di CCTK_ATTRIBUTE_UNUSED = 1; - ptrdiff_t /*const*/ dj CCTK_ATTRIBUTE_UNUSED = CCTK_GFINDEX3D(cctkGH,0,1,0) - CCTK_GFINDEX3D(cctkGH,0,0,0); - ptrdiff_t /*const*/ dk CCTK_ATTRIBUTE_UNUSED = CCTK_GFINDEX3D(cctkGH,0,0,1) - CCTK_GFINDEX3D(cctkGH,0,0,0); - ptrdiff_t /*const*/ cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * di; - ptrdiff_t /*const*/ cdj CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * dj; - ptrdiff_t /*const*/ cdk CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * dk; - CCTK_REAL_VEC /*const*/ dx CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(0)); - CCTK_REAL_VEC /*const*/ dy CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(1)); - CCTK_REAL_VEC /*const*/ dz CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(2)); - CCTK_REAL_VEC /*const*/ dt CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_TIME); - CCTK_REAL_VEC /*const*/ t CCTK_ATTRIBUTE_UNUSED = ToReal(cctk_time); - CCTK_REAL_VEC /*const*/ dxi CCTK_ATTRIBUTE_UNUSED = INV(dx); - CCTK_REAL_VEC /*const*/ dyi CCTK_ATTRIBUTE_UNUSED = INV(dy); - CCTK_REAL_VEC /*const*/ dzi CCTK_ATTRIBUTE_UNUSED = INV(dz); - CCTK_REAL_VEC /*const*/ khalf CCTK_ATTRIBUTE_UNUSED = ToReal(0.5); - CCTK_REAL_VEC /*const*/ kthird CCTK_ATTRIBUTE_UNUSED = ToReal(1.0/3.0); - CCTK_REAL_VEC /*const*/ ktwothird CCTK_ATTRIBUTE_UNUSED = ToReal(2.0/3.0); - CCTK_REAL_VEC /*const*/ kfourthird CCTK_ATTRIBUTE_UNUSED = ToReal(4.0/3.0); - CCTK_REAL_VEC /*const*/ keightthird CCTK_ATTRIBUTE_UNUSED = ToReal(8.0/3.0); - CCTK_REAL_VEC /*const*/ hdxi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dxi); - CCTK_REAL_VEC /*const*/ hdyi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dyi); - CCTK_REAL_VEC /*const*/ hdzi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dzi); + const ptrdiff_t di CCTK_ATTRIBUTE_UNUSED = 1; + const ptrdiff_t dj CCTK_ATTRIBUTE_UNUSED = CCTK_GFINDEX3D(cctkGH,0,1,0) - CCTK_GFINDEX3D(cctkGH,0,0,0); + const ptrdiff_t dk CCTK_ATTRIBUTE_UNUSED = CCTK_GFINDEX3D(cctkGH,0,0,1) - CCTK_GFINDEX3D(cctkGH,0,0,0); + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * di; + const ptrdiff_t cdj CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * dj; + const ptrdiff_t cdk CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * dk; + const CCTK_REAL_VEC dx CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(0)); + const CCTK_REAL_VEC dy CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(1)); + const CCTK_REAL_VEC dz CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(2)); + const CCTK_REAL_VEC dt CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_TIME); + const CCTK_REAL_VEC t CCTK_ATTRIBUTE_UNUSED = ToReal(cctk_time); + const CCTK_REAL_VEC dxi CCTK_ATTRIBUTE_UNUSED = INV(dx); + const CCTK_REAL_VEC dyi CCTK_ATTRIBUTE_UNUSED = INV(dy); + const CCTK_REAL_VEC dzi CCTK_ATTRIBUTE_UNUSED = INV(dz); + const CCTK_REAL_VEC khalf CCTK_ATTRIBUTE_UNUSED = ToReal(0.5); + const CCTK_REAL_VEC kthird CCTK_ATTRIBUTE_UNUSED = ToReal(1.0/3.0); + const CCTK_REAL_VEC ktwothird CCTK_ATTRIBUTE_UNUSED = ToReal(2.0/3.0); + const CCTK_REAL_VEC kfourthird CCTK_ATTRIBUTE_UNUSED = ToReal(4.0/3.0); + const CCTK_REAL_VEC keightthird CCTK_ATTRIBUTE_UNUSED = ToReal(8.0/3.0); + const CCTK_REAL_VEC hdxi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dxi); + const CCTK_REAL_VEC hdyi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dyi); + const CCTK_REAL_VEC hdzi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dzi); /* Initialize predefined quantities */ - CCTK_REAL_VEC /*const*/ p1o1024dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dx); - CCTK_REAL_VEC /*const*/ p1o1024dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dy); - CCTK_REAL_VEC /*const*/ p1o1024dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dz); - CCTK_REAL_VEC /*const*/ p1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dx); - CCTK_REAL_VEC /*const*/ p1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dy); - CCTK_REAL_VEC /*const*/ p1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dz); - CCTK_REAL_VEC /*const*/ p1o12dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dx); - CCTK_REAL_VEC /*const*/ p1o12dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dy); - CCTK_REAL_VEC /*const*/ p1o12dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dz); - CCTK_REAL_VEC /*const*/ p1o144dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o144dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o144dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o1680dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dx); - CCTK_REAL_VEC /*const*/ p1o1680dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dy); - CCTK_REAL_VEC /*const*/ p1o1680dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dz); - CCTK_REAL_VEC /*const*/ p1o180dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ p1o180dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ p1o180dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ p1o24dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dx); - CCTK_REAL_VEC /*const*/ p1o24dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dy); - CCTK_REAL_VEC /*const*/ p1o24dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dz); - CCTK_REAL_VEC /*const*/ p1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dx); - CCTK_REAL_VEC /*const*/ p1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dy); - CCTK_REAL_VEC /*const*/ p1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dz); - CCTK_REAL_VEC /*const*/ p1o3600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o3600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o3600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dx); - CCTK_REAL_VEC /*const*/ p1o4dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o4dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dy); - CCTK_REAL_VEC /*const*/ p1o4dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dz); - CCTK_REAL_VEC /*const*/ p1o5040dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ p1o5040dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ p1o5040dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ p1o560dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dx); - CCTK_REAL_VEC /*const*/ p1o560dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dy); - CCTK_REAL_VEC /*const*/ p1o560dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dz); - CCTK_REAL_VEC /*const*/ p1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dx); - CCTK_REAL_VEC /*const*/ p1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dy); - CCTK_REAL_VEC /*const*/ p1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dz); - CCTK_REAL_VEC /*const*/ p1o64dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dx); - CCTK_REAL_VEC /*const*/ p1o64dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dy); - CCTK_REAL_VEC /*const*/ p1o64dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dz); - CCTK_REAL_VEC /*const*/ p1o705600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o705600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o705600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o840dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dx); - CCTK_REAL_VEC /*const*/ p1o840dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dy); - CCTK_REAL_VEC /*const*/ p1o840dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dz); - CCTK_REAL_VEC /*const*/ p1odx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dx); - CCTK_REAL_VEC /*const*/ p1odx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ p1ody CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dy); - CCTK_REAL_VEC /*const*/ p1ody2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ p1odz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dz); - CCTK_REAL_VEC /*const*/ p1odz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ pm1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dx); - CCTK_REAL_VEC /*const*/ pm1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dy); - CCTK_REAL_VEC /*const*/ pm1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dz); - CCTK_REAL_VEC /*const*/ pm1o12dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ pm1o12dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ pm1o12dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ pm1o16dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dx); - CCTK_REAL_VEC /*const*/ pm1o16dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dy); - CCTK_REAL_VEC /*const*/ pm1o16dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dz); - CCTK_REAL_VEC /*const*/ pm1o256dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dx); - CCTK_REAL_VEC /*const*/ pm1o256dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dy); - CCTK_REAL_VEC /*const*/ pm1o256dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dz); - CCTK_REAL_VEC /*const*/ pm1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dx); - CCTK_REAL_VEC /*const*/ pm1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dy); - CCTK_REAL_VEC /*const*/ pm1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dz); - CCTK_REAL_VEC /*const*/ pm1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dx); - CCTK_REAL_VEC /*const*/ pm1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dy); - CCTK_REAL_VEC /*const*/ pm1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dz); - CCTK_REAL_VEC /*const*/ pm1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dx); - CCTK_REAL_VEC /*const*/ pm1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dy); - CCTK_REAL_VEC /*const*/ pm1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dz); + const CCTK_REAL_VEC p1o1024dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dx); + const CCTK_REAL_VEC p1o1024dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dy); + const CCTK_REAL_VEC p1o1024dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dz); + const CCTK_REAL_VEC p1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dx); + const CCTK_REAL_VEC p1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dy); + const CCTK_REAL_VEC p1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dz); + const CCTK_REAL_VEC p1o12dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dx); + const CCTK_REAL_VEC p1o12dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dy); + const CCTK_REAL_VEC p1o12dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dz); + const CCTK_REAL_VEC p1o144dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dy,dx)); + const CCTK_REAL_VEC p1o144dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dx)); + const CCTK_REAL_VEC p1o144dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dy)); + const CCTK_REAL_VEC p1o1680dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dx); + const CCTK_REAL_VEC p1o1680dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dy); + const CCTK_REAL_VEC p1o1680dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dz); + const CCTK_REAL_VEC p1o180dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dx,dx)); + const CCTK_REAL_VEC p1o180dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dy,dy)); + const CCTK_REAL_VEC p1o180dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dz,dz)); + const CCTK_REAL_VEC p1o24dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dx); + const CCTK_REAL_VEC p1o24dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dy); + const CCTK_REAL_VEC p1o24dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dz); + const CCTK_REAL_VEC p1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dx); + const CCTK_REAL_VEC p1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dy); + const CCTK_REAL_VEC p1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dz); + const CCTK_REAL_VEC p1o3600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dy,dx)); + const CCTK_REAL_VEC p1o3600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dx)); + const CCTK_REAL_VEC p1o3600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dy)); + const CCTK_REAL_VEC p1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dx); + const CCTK_REAL_VEC p1o4dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dy,dx)); + const CCTK_REAL_VEC p1o4dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dx)); + const CCTK_REAL_VEC p1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dy); + const CCTK_REAL_VEC p1o4dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dy)); + const CCTK_REAL_VEC p1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dz); + const CCTK_REAL_VEC p1o5040dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dx,dx)); + const CCTK_REAL_VEC p1o5040dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dy,dy)); + const CCTK_REAL_VEC p1o5040dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dz,dz)); + const CCTK_REAL_VEC p1o560dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dx); + const CCTK_REAL_VEC p1o560dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dy); + const CCTK_REAL_VEC p1o560dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dz); + const CCTK_REAL_VEC p1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dx); + const CCTK_REAL_VEC p1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dy); + const CCTK_REAL_VEC p1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dz); + const CCTK_REAL_VEC p1o64dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dx); + const CCTK_REAL_VEC p1o64dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dy); + const CCTK_REAL_VEC p1o64dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dz); + const CCTK_REAL_VEC p1o705600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dy,dx)); + const CCTK_REAL_VEC p1o705600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dx)); + const CCTK_REAL_VEC p1o705600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dy)); + const CCTK_REAL_VEC p1o840dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dx); + const CCTK_REAL_VEC p1o840dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dy); + const CCTK_REAL_VEC p1o840dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dz); + const CCTK_REAL_VEC p1odx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dx); + const CCTK_REAL_VEC p1odx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dx,dx)); + const CCTK_REAL_VEC p1ody CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dy); + const CCTK_REAL_VEC p1ody2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dy,dy)); + const CCTK_REAL_VEC p1odz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dz); + const CCTK_REAL_VEC p1odz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dz,dz)); + const CCTK_REAL_VEC pm1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dx); + const CCTK_REAL_VEC pm1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dy); + const CCTK_REAL_VEC pm1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dz); + const CCTK_REAL_VEC pm1o12dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dx,dx)); + const CCTK_REAL_VEC pm1o12dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dy,dy)); + const CCTK_REAL_VEC pm1o12dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dz,dz)); + const CCTK_REAL_VEC pm1o16dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dx); + const CCTK_REAL_VEC pm1o16dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dy); + const CCTK_REAL_VEC pm1o16dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dz); + const CCTK_REAL_VEC pm1o256dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dx); + const CCTK_REAL_VEC pm1o256dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dy); + const CCTK_REAL_VEC pm1o256dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dz); + const CCTK_REAL_VEC pm1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dx); + const CCTK_REAL_VEC pm1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dy); + const CCTK_REAL_VEC pm1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dz); + const CCTK_REAL_VEC pm1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dx); + const CCTK_REAL_VEC pm1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dy); + const CCTK_REAL_VEC pm1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dz); + const CCTK_REAL_VEC pm1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dx); + const CCTK_REAL_VEC pm1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dy); + const CCTK_REAL_VEC pm1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dz); /* Jacobian variable pointers */ - bool const use_jacobian CCTK_ATTRIBUTE_UNUSED = (!CCTK_IsFunctionAliased("MultiPatch_GetMap") || MultiPatch_GetMap(cctkGH) != jacobian_identity_map) - && strlen(jacobian_group) > 0; - if (use_jacobian && strlen(jacobian_derivative_group) == 0) + const bool use_jacobian1 = (!CCTK_IsFunctionAliased("MultiPatch_GetMap") || MultiPatch_GetMap(cctkGH) != jacobian_identity_map) + && strlen(jacobian_group) > 0; + const bool use_jacobian = assume_use_jacobian>=0 ? assume_use_jacobian : use_jacobian1; + const bool usejacobian CCTK_ATTRIBUTE_UNUSED = use_jacobian; + if (use_jacobian && (strlen(jacobian_determinant_group) == 0 || strlen(jacobian_inverse_group) == 0 || strlen(jacobian_derivative_group) == 0)) { - CCTK_WARN (1, "GenericFD::jacobian_group and GenericFD::jacobian_derivative_group must both be set to valid group names"); + CCTK_WARN(1, "GenericFD::jacobian_group, GenericFD::jacobian_determinant_group, GenericFD::jacobian_inverse_group, and GenericFD::jacobian_derivative_group must all be set to valid group names"); } - CCTK_REAL const *restrict jacobian_ptrs[9]; + const CCTK_REAL* restrict jacobian_ptrs[9]; if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_group, 9, jacobian_ptrs); - CCTK_REAL const *restrict const J11 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[0] : 0; - CCTK_REAL const *restrict const J12 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[1] : 0; - CCTK_REAL const *restrict const J13 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[2] : 0; - CCTK_REAL const *restrict const J21 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[3] : 0; - CCTK_REAL const *restrict const J22 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[4] : 0; - CCTK_REAL const *restrict const J23 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[5] : 0; - CCTK_REAL const *restrict const J31 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[6] : 0; - CCTK_REAL const *restrict const J32 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[7] : 0; - CCTK_REAL const *restrict const J33 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[8] : 0; + const CCTK_REAL* restrict const J11 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[0] : 0; + const CCTK_REAL* restrict const J12 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[1] : 0; + const CCTK_REAL* restrict const J13 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[2] : 0; + const CCTK_REAL* restrict const J21 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[3] : 0; + const CCTK_REAL* restrict const J22 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[4] : 0; + const CCTK_REAL* restrict const J23 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[5] : 0; + const CCTK_REAL* restrict const J31 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[6] : 0; + const CCTK_REAL* restrict const J32 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[7] : 0; + const CCTK_REAL* restrict const J33 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[8] : 0; - 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 */ @@ -193,13 +215,20 @@ static void ML_BSSN_convertFromADMBase_Body(cGH const * restrict const cctkGH, i /* Copy local copies back to grid functions */ /* Loop over the grid points */ - #pragma omp parallel + const int imin0=imin[0]; + const int imin1=imin[1]; + const int imin2=imin[2]; + const int imax0=imax[0]; + const int imax1=imax[1]; + const int imax2=imax[2]; + #pragma omp parallel // reduction(+: vec_iter_counter, vec_op_counter, vec_mem_counter) CCTK_LOOP3STR(ML_BSSN_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 */ @@ -228,19 +257,29 @@ static void ML_BSSN_convertFromADMBase_Body(cGH const * restrict const cctkGH, i /* 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 */ @@ -257,29 +296,29 @@ static void ML_BSSN_convertFromADMBase_Body(cGH const * restrict const cctkGH, i CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED g33 = gzzL; CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED detg = - kmadd(kmadd(g22,kmul(g13,g13),kmul(g11,kmul(g23,g23))),ToReal(-1.),kmadd(g33,kmadd(g11,g22,kmul(kmul(g12,g12),ToReal(-1.))),kmul(g12,kmul(g13,kmul(g23,ToReal(2.)))))); + knmsub(g22,kmul(g13,g13),knmsub(g11,kmul(g23,g23),kmadd(g33,kmsub(g11,g22,kmul(g12,g12)),kmul(g12,kmul(g13,kmul(g23,ToReal(2))))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gu11 = - kdiv(kmadd(g22,g33,kmul(kmul(g23,g23),ToReal(-1.))),detg); + kdiv(kmsub(g22,g33,kmul(g23,g23)),detg); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gu12 = - kdiv(kmadd(g13,g23,kmul(g12,kmul(g33,ToReal(-1.)))),detg); + kdiv(kmsub(g13,g23,kmul(g12,g33)),detg); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gu13 = - kdiv(kmadd(g12,g23,kmul(g13,kmul(g22,ToReal(-1.)))),detg); + kdiv(kmsub(g12,g23,kmul(g13,g22)),detg); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gu22 = - kdiv(kmadd(g11,g33,kmul(kmul(g13,g13),ToReal(-1.))),detg); + kdiv(kmsub(g11,g33,kmul(g13,g13)),detg); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gu23 = - kdiv(kmadd(g12,g13,kmul(g11,kmul(g23,ToReal(-1.)))),detg); + kdiv(kmsub(g12,g13,kmul(g11,g23)),detg); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gu33 = - kdiv(kmadd(g11,g22,kmul(kmul(g12,g12),ToReal(-1.))),detg); + kdiv(kmsub(g11,g22,kmul(g12,g12)),detg); - CCTK_REAL_VEC em4phi CCTK_ATTRIBUTE_UNUSED ; + CCTK_REAL_VEC em4phi CCTK_ATTRIBUTE_UNUSED; - if (conformalMethod == 1.) + if (conformalMethod == 1) { phiL = kpow(detg,-0.166666666666666666666666666667); @@ -289,7 +328,7 @@ static void ML_BSSN_convertFromADMBase_Body(cGH const * restrict const cctkGH, i { phiL = kmul(klog(detg),ToReal(0.0833333333333333333333333333333)); - em4phi = kexp(kmul(phiL,ToReal(-4.))); + em4phi = kexp(kmul(phiL,ToReal(-4))); } CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gt11L = kmul(em4phi,g11); @@ -305,7 +344,7 @@ static void ML_BSSN_convertFromADMBase_Body(cGH const * restrict const cctkGH, i CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gt33L = kmul(em4phi,g33); trKL = - kmadd(kxxL,gu11,kmadd(kyyL,gu22,kmadd(kzzL,gu33,kmul(kmadd(kxyL,gu12,kmadd(kxzL,gu13,kmul(kyzL,gu23))),ToReal(2.))))); + kmadd(kxxL,gu11,kmadd(kyyL,gu22,kmadd(kzzL,gu33,kmul(kmadd(kxyL,gu12,kmadd(kxzL,gu13,kmul(kyzL,gu23))),ToReal(2))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED At11L = kmul(em4phi,kmadd(trKL,kmul(g11,ToReal(-0.333333333333333333333333333333)),kxxL)); @@ -334,7 +373,7 @@ static void ML_BSSN_convertFromADMBase_Body(cGH const * restrict const cctkGH, i 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(At11[index],At11L); vec_store_nta_partial(At12[index],At12L); @@ -373,7 +412,7 @@ extern "C" void ML_BSSN_convertFromADMBase(CCTK_ARGUMENTS) return; } - const char *const groups[] = { + const char* const groups[] = { "ADMBase::curv", "ADMBase::lapse", "ADMBase::metric", @@ -386,19 +425,29 @@ extern "C" void ML_BSSN_convertFromADMBase(CCTK_ARGUMENTS) "ML_BSSN::ML_trace_curv"}; GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_convertFromADMBase", 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_BSSN_convertFromADMBase_Body); diff --git a/ML_BSSN/src/ML_BSSN_convertFromADMBaseGamma.cc b/ML_BSSN/src/ML_BSSN_convertFromADMBaseGamma.cc index d56cde2..2e00b28 100644 --- a/ML_BSSN/src/ML_BSSN_convertFromADMBaseGamma.cc +++ b/ML_BSSN/src/ML_BSSN_convertFromADMBaseGamma.cc @@ -32,7 +32,9 @@ extern "C" void ML_BSSN_convertFromADMBaseGamma_SelectBCs(CCTK_ARGUMENTS) DECLARE_CCTK_ARGUMENTS; DECLARE_CCTK_PARAMETERS; - CCTK_INT ierr CCTK_ATTRIBUTE_UNUSED = 0; + if (cctk_iteration % ML_BSSN_convertFromADMBaseGamma_calc_every != ML_BSSN_convertFromADMBaseGamma_calc_offset) + return; + CCTK_INT ierr CCTK_ATTRIBUTE_UNUSED = 0; ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_BSSN::ML_dtlapse","flat"); if (ierr < 0) CCTK_WARN(1, "Failed to register flat BC for ML_BSSN::ML_dtlapse."); @@ -45,7 +47,7 @@ extern "C" void ML_BSSN_convertFromADMBaseGamma_SelectBCs(CCTK_ARGUMENTS) return; } -static void ML_BSSN_convertFromADMBaseGamma_Body(cGH const * restrict const cctkGH, int const dir, int const face, CCTK_REAL const normal[3], CCTK_REAL const tangentA[3], CCTK_REAL const tangentB[3], int const imin[3], int const imax[3], int const n_subblock_gfs, CCTK_REAL * restrict const subblock_gfs[]) +static void ML_BSSN_convertFromADMBaseGamma_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; @@ -54,153 +56,175 @@ static void ML_BSSN_convertFromADMBaseGamma_Body(cGH const * restrict const cctk /* Include user-supplied include files */ /* Initialise finite differencing variables */ - ptrdiff_t /*const*/ di CCTK_ATTRIBUTE_UNUSED = 1; - ptrdiff_t /*const*/ dj CCTK_ATTRIBUTE_UNUSED = CCTK_GFINDEX3D(cctkGH,0,1,0) - CCTK_GFINDEX3D(cctkGH,0,0,0); - ptrdiff_t /*const*/ dk CCTK_ATTRIBUTE_UNUSED = CCTK_GFINDEX3D(cctkGH,0,0,1) - CCTK_GFINDEX3D(cctkGH,0,0,0); - ptrdiff_t /*const*/ cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * di; - ptrdiff_t /*const*/ cdj CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * dj; - ptrdiff_t /*const*/ cdk CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * dk; - CCTK_REAL_VEC /*const*/ dx CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(0)); - CCTK_REAL_VEC /*const*/ dy CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(1)); - CCTK_REAL_VEC /*const*/ dz CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(2)); - CCTK_REAL_VEC /*const*/ dt CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_TIME); - CCTK_REAL_VEC /*const*/ t CCTK_ATTRIBUTE_UNUSED = ToReal(cctk_time); - CCTK_REAL_VEC /*const*/ dxi CCTK_ATTRIBUTE_UNUSED = INV(dx); - CCTK_REAL_VEC /*const*/ dyi CCTK_ATTRIBUTE_UNUSED = INV(dy); - CCTK_REAL_VEC /*const*/ dzi CCTK_ATTRIBUTE_UNUSED = INV(dz); - CCTK_REAL_VEC /*const*/ khalf CCTK_ATTRIBUTE_UNUSED = ToReal(0.5); - CCTK_REAL_VEC /*const*/ kthird CCTK_ATTRIBUTE_UNUSED = ToReal(1.0/3.0); - CCTK_REAL_VEC /*const*/ ktwothird CCTK_ATTRIBUTE_UNUSED = ToReal(2.0/3.0); - CCTK_REAL_VEC /*const*/ kfourthird CCTK_ATTRIBUTE_UNUSED = ToReal(4.0/3.0); - CCTK_REAL_VEC /*const*/ keightthird CCTK_ATTRIBUTE_UNUSED = ToReal(8.0/3.0); - CCTK_REAL_VEC /*const*/ hdxi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dxi); - CCTK_REAL_VEC /*const*/ hdyi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dyi); - CCTK_REAL_VEC /*const*/ hdzi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dzi); + const ptrdiff_t di CCTK_ATTRIBUTE_UNUSED = 1; + const ptrdiff_t dj CCTK_ATTRIBUTE_UNUSED = CCTK_GFINDEX3D(cctkGH,0,1,0) - CCTK_GFINDEX3D(cctkGH,0,0,0); + const ptrdiff_t dk CCTK_ATTRIBUTE_UNUSED = CCTK_GFINDEX3D(cctkGH,0,0,1) - CCTK_GFINDEX3D(cctkGH,0,0,0); + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * di; + const ptrdiff_t cdj CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * dj; + const ptrdiff_t cdk CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * dk; + const CCTK_REAL_VEC dx CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(0)); + const CCTK_REAL_VEC dy CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(1)); + const CCTK_REAL_VEC dz CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(2)); + const CCTK_REAL_VEC dt CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_TIME); + const CCTK_REAL_VEC t CCTK_ATTRIBUTE_UNUSED = ToReal(cctk_time); + const CCTK_REAL_VEC dxi CCTK_ATTRIBUTE_UNUSED = INV(dx); + const CCTK_REAL_VEC dyi CCTK_ATTRIBUTE_UNUSED = INV(dy); + const CCTK_REAL_VEC dzi CCTK_ATTRIBUTE_UNUSED = INV(dz); + const CCTK_REAL_VEC khalf CCTK_ATTRIBUTE_UNUSED = ToReal(0.5); + const CCTK_REAL_VEC kthird CCTK_ATTRIBUTE_UNUSED = ToReal(1.0/3.0); + const CCTK_REAL_VEC ktwothird CCTK_ATTRIBUTE_UNUSED = ToReal(2.0/3.0); + const CCTK_REAL_VEC kfourthird CCTK_ATTRIBUTE_UNUSED = ToReal(4.0/3.0); + const CCTK_REAL_VEC keightthird CCTK_ATTRIBUTE_UNUSED = ToReal(8.0/3.0); + const CCTK_REAL_VEC hdxi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dxi); + const CCTK_REAL_VEC hdyi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dyi); + const CCTK_REAL_VEC hdzi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dzi); /* Initialize predefined quantities */ - CCTK_REAL_VEC /*const*/ p1o1024dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dx); - CCTK_REAL_VEC /*const*/ p1o1024dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dy); - CCTK_REAL_VEC /*const*/ p1o1024dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dz); - CCTK_REAL_VEC /*const*/ p1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dx); - CCTK_REAL_VEC /*const*/ p1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dy); - CCTK_REAL_VEC /*const*/ p1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dz); - CCTK_REAL_VEC /*const*/ p1o12dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dx); - CCTK_REAL_VEC /*const*/ p1o12dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dy); - CCTK_REAL_VEC /*const*/ p1o12dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dz); - CCTK_REAL_VEC /*const*/ p1o144dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o144dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o144dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o1680dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dx); - CCTK_REAL_VEC /*const*/ p1o1680dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dy); - CCTK_REAL_VEC /*const*/ p1o1680dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dz); - CCTK_REAL_VEC /*const*/ p1o180dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ p1o180dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ p1o180dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ p1o24dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dx); - CCTK_REAL_VEC /*const*/ p1o24dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dy); - CCTK_REAL_VEC /*const*/ p1o24dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dz); - CCTK_REAL_VEC /*const*/ p1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dx); - CCTK_REAL_VEC /*const*/ p1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dy); - CCTK_REAL_VEC /*const*/ p1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dz); - CCTK_REAL_VEC /*const*/ p1o3600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o3600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o3600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dx); - CCTK_REAL_VEC /*const*/ p1o4dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o4dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dy); - CCTK_REAL_VEC /*const*/ p1o4dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dz); - CCTK_REAL_VEC /*const*/ p1o5040dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ p1o5040dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ p1o5040dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ p1o560dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dx); - CCTK_REAL_VEC /*const*/ p1o560dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dy); - CCTK_REAL_VEC /*const*/ p1o560dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dz); - CCTK_REAL_VEC /*const*/ p1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dx); - CCTK_REAL_VEC /*const*/ p1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dy); - CCTK_REAL_VEC /*const*/ p1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dz); - CCTK_REAL_VEC /*const*/ p1o64dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dx); - CCTK_REAL_VEC /*const*/ p1o64dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dy); - CCTK_REAL_VEC /*const*/ p1o64dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dz); - CCTK_REAL_VEC /*const*/ p1o705600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o705600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o705600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o840dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dx); - CCTK_REAL_VEC /*const*/ p1o840dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dy); - CCTK_REAL_VEC /*const*/ p1o840dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dz); - CCTK_REAL_VEC /*const*/ p1odx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dx); - CCTK_REAL_VEC /*const*/ p1odx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ p1ody CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dy); - CCTK_REAL_VEC /*const*/ p1ody2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ p1odz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dz); - CCTK_REAL_VEC /*const*/ p1odz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ pm1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dx); - CCTK_REAL_VEC /*const*/ pm1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dy); - CCTK_REAL_VEC /*const*/ pm1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dz); - CCTK_REAL_VEC /*const*/ pm1o12dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ pm1o12dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ pm1o12dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ pm1o16dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dx); - CCTK_REAL_VEC /*const*/ pm1o16dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dy); - CCTK_REAL_VEC /*const*/ pm1o16dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dz); - CCTK_REAL_VEC /*const*/ pm1o256dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dx); - CCTK_REAL_VEC /*const*/ pm1o256dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dy); - CCTK_REAL_VEC /*const*/ pm1o256dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dz); - CCTK_REAL_VEC /*const*/ pm1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dx); - CCTK_REAL_VEC /*const*/ pm1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dy); - CCTK_REAL_VEC /*const*/ pm1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dz); - CCTK_REAL_VEC /*const*/ pm1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dx); - CCTK_REAL_VEC /*const*/ pm1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dy); - CCTK_REAL_VEC /*const*/ pm1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dz); - CCTK_REAL_VEC /*const*/ pm1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dx); - CCTK_REAL_VEC /*const*/ pm1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dy); - CCTK_REAL_VEC /*const*/ pm1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dz); + const CCTK_REAL_VEC p1o1024dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dx); + const CCTK_REAL_VEC p1o1024dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dy); + const CCTK_REAL_VEC p1o1024dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dz); + const CCTK_REAL_VEC p1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dx); + const CCTK_REAL_VEC p1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dy); + const CCTK_REAL_VEC p1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dz); + const CCTK_REAL_VEC p1o12dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dx); + const CCTK_REAL_VEC p1o12dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dy); + const CCTK_REAL_VEC p1o12dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dz); + const CCTK_REAL_VEC p1o144dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dy,dx)); + const CCTK_REAL_VEC p1o144dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dx)); + const CCTK_REAL_VEC p1o144dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dy)); + const CCTK_REAL_VEC p1o1680dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dx); + const CCTK_REAL_VEC p1o1680dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dy); + const CCTK_REAL_VEC p1o1680dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dz); + const CCTK_REAL_VEC p1o180dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dx,dx)); + const CCTK_REAL_VEC p1o180dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dy,dy)); + const CCTK_REAL_VEC p1o180dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dz,dz)); + const CCTK_REAL_VEC p1o24dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dx); + const CCTK_REAL_VEC p1o24dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dy); + const CCTK_REAL_VEC p1o24dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dz); + const CCTK_REAL_VEC p1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dx); + const CCTK_REAL_VEC p1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dy); + const CCTK_REAL_VEC p1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dz); + const CCTK_REAL_VEC p1o3600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dy,dx)); + const CCTK_REAL_VEC p1o3600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dx)); + const CCTK_REAL_VEC p1o3600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dy)); + const CCTK_REAL_VEC p1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dx); + const CCTK_REAL_VEC p1o4dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dy,dx)); + const CCTK_REAL_VEC p1o4dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dx)); + const CCTK_REAL_VEC p1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dy); + const CCTK_REAL_VEC p1o4dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dy)); + const CCTK_REAL_VEC p1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dz); + const CCTK_REAL_VEC p1o5040dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dx,dx)); + const CCTK_REAL_VEC p1o5040dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dy,dy)); + const CCTK_REAL_VEC p1o5040dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dz,dz)); + const CCTK_REAL_VEC p1o560dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dx); + const CCTK_REAL_VEC p1o560dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dy); + const CCTK_REAL_VEC p1o560dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dz); + const CCTK_REAL_VEC p1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dx); + const CCTK_REAL_VEC p1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dy); + const CCTK_REAL_VEC p1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dz); + const CCTK_REAL_VEC p1o64dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dx); + const CCTK_REAL_VEC p1o64dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dy); + const CCTK_REAL_VEC p1o64dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dz); + const CCTK_REAL_VEC p1o705600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dy,dx)); + const CCTK_REAL_VEC p1o705600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dx)); + const CCTK_REAL_VEC p1o705600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dy)); + const CCTK_REAL_VEC p1o840dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dx); + const CCTK_REAL_VEC p1o840dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dy); + const CCTK_REAL_VEC p1o840dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dz); + const CCTK_REAL_VEC p1odx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dx); + const CCTK_REAL_VEC p1odx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dx,dx)); + const CCTK_REAL_VEC p1ody CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dy); + const CCTK_REAL_VEC p1ody2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dy,dy)); + const CCTK_REAL_VEC p1odz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dz); + const CCTK_REAL_VEC p1odz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dz,dz)); + const CCTK_REAL_VEC pm1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dx); + const CCTK_REAL_VEC pm1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dy); + const CCTK_REAL_VEC pm1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dz); + const CCTK_REAL_VEC pm1o12dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dx,dx)); + const CCTK_REAL_VEC pm1o12dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dy,dy)); + const CCTK_REAL_VEC pm1o12dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dz,dz)); + const CCTK_REAL_VEC pm1o16dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dx); + const CCTK_REAL_VEC pm1o16dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dy); + const CCTK_REAL_VEC pm1o16dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dz); + const CCTK_REAL_VEC pm1o256dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dx); + const CCTK_REAL_VEC pm1o256dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dy); + const CCTK_REAL_VEC pm1o256dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dz); + const CCTK_REAL_VEC pm1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dx); + const CCTK_REAL_VEC pm1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dy); + const CCTK_REAL_VEC pm1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dz); + const CCTK_REAL_VEC pm1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dx); + const CCTK_REAL_VEC pm1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dy); + const CCTK_REAL_VEC pm1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dz); + const CCTK_REAL_VEC pm1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dx); + const CCTK_REAL_VEC pm1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dy); + const CCTK_REAL_VEC pm1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dz); /* Jacobian variable pointers */ - bool const use_jacobian CCTK_ATTRIBUTE_UNUSED = (!CCTK_IsFunctionAliased("MultiPatch_GetMap") || MultiPatch_GetMap(cctkGH) != jacobian_identity_map) - && strlen(jacobian_group) > 0; - if (use_jacobian && strlen(jacobian_derivative_group) == 0) + const bool use_jacobian1 = (!CCTK_IsFunctionAliased("MultiPatch_GetMap") || MultiPatch_GetMap(cctkGH) != jacobian_identity_map) + && strlen(jacobian_group) > 0; + const bool use_jacobian = assume_use_jacobian>=0 ? assume_use_jacobian : use_jacobian1; + const bool usejacobian CCTK_ATTRIBUTE_UNUSED = use_jacobian; + if (use_jacobian && (strlen(jacobian_determinant_group) == 0 || strlen(jacobian_inverse_group) == 0 || strlen(jacobian_derivative_group) == 0)) { - CCTK_WARN (1, "GenericFD::jacobian_group and GenericFD::jacobian_derivative_group must both be set to valid group names"); + CCTK_WARN(1, "GenericFD::jacobian_group, GenericFD::jacobian_determinant_group, GenericFD::jacobian_inverse_group, and GenericFD::jacobian_derivative_group must all be set to valid group names"); } - CCTK_REAL const *restrict jacobian_ptrs[9]; + const CCTK_REAL* restrict jacobian_ptrs[9]; if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_group, 9, jacobian_ptrs); - CCTK_REAL const *restrict const J11 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[0] : 0; - CCTK_REAL const *restrict const J12 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[1] : 0; - CCTK_REAL const *restrict const J13 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[2] : 0; - CCTK_REAL const *restrict const J21 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[3] : 0; - CCTK_REAL const *restrict const J22 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[4] : 0; - CCTK_REAL const *restrict const J23 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[5] : 0; - CCTK_REAL const *restrict const J31 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[6] : 0; - CCTK_REAL const *restrict const J32 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[7] : 0; - CCTK_REAL const *restrict const J33 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[8] : 0; + const CCTK_REAL* restrict const J11 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[0] : 0; + const CCTK_REAL* restrict const J12 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[1] : 0; + const CCTK_REAL* restrict const J13 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[2] : 0; + const CCTK_REAL* restrict const J21 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[3] : 0; + const CCTK_REAL* restrict const J22 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[4] : 0; + const CCTK_REAL* restrict const J23 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[5] : 0; + const CCTK_REAL* restrict const J31 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[6] : 0; + const CCTK_REAL* restrict const J32 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[7] : 0; + const CCTK_REAL* restrict const J33 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[8] : 0; + + const CCTK_REAL* restrict jacobian_determinant_ptrs[1] CCTK_ATTRIBUTE_UNUSED; + if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_determinant_group, + 1, jacobian_determinant_ptrs); + + const CCTK_REAL* restrict const detJ CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[0] : 0; - CCTK_REAL const *restrict jacobian_derivative_ptrs[18] CCTK_ATTRIBUTE_UNUSED; + const CCTK_REAL* restrict jacobian_inverse_ptrs[9] CCTK_ATTRIBUTE_UNUSED; + if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_inverse_group, + 9, jacobian_inverse_ptrs); + + const CCTK_REAL* restrict const iJ11 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[0] : 0; + const CCTK_REAL* restrict const iJ12 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[1] : 0; + const CCTK_REAL* restrict const iJ13 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[2] : 0; + const CCTK_REAL* restrict const iJ21 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[3] : 0; + const CCTK_REAL* restrict const iJ22 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[4] : 0; + const CCTK_REAL* restrict const iJ23 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[5] : 0; + const CCTK_REAL* restrict const iJ31 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[6] : 0; + const CCTK_REAL* restrict const iJ32 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[7] : 0; + const CCTK_REAL* restrict const iJ33 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[8] : 0; + + const CCTK_REAL* restrict jacobian_derivative_ptrs[18] CCTK_ATTRIBUTE_UNUSED; if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_derivative_group, 18, jacobian_derivative_ptrs); - CCTK_REAL const *restrict const dJ111 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[0] : 0; - CCTK_REAL const *restrict const dJ112 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[1] : 0; - CCTK_REAL const *restrict const dJ113 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[2] : 0; - CCTK_REAL const *restrict const dJ122 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[3] : 0; - CCTK_REAL const *restrict const dJ123 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[4] : 0; - CCTK_REAL const *restrict const dJ133 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[5] : 0; - CCTK_REAL const *restrict const dJ211 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[6] : 0; - CCTK_REAL const *restrict const dJ212 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[7] : 0; - CCTK_REAL const *restrict const dJ213 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[8] : 0; - CCTK_REAL const *restrict const dJ222 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[9] : 0; - CCTK_REAL const *restrict const dJ223 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[10] : 0; - CCTK_REAL const *restrict const dJ233 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[11] : 0; - CCTK_REAL const *restrict const dJ311 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[12] : 0; - CCTK_REAL const *restrict const dJ312 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[13] : 0; - CCTK_REAL const *restrict const dJ313 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[14] : 0; - CCTK_REAL const *restrict const dJ322 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[15] : 0; - CCTK_REAL const *restrict const dJ323 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[16] : 0; - CCTK_REAL const *restrict const dJ333 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[17] : 0; + const CCTK_REAL* restrict const dJ111 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[0] : 0; + const CCTK_REAL* restrict const dJ112 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[1] : 0; + const CCTK_REAL* restrict const dJ113 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[2] : 0; + const CCTK_REAL* restrict const dJ122 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[3] : 0; + const CCTK_REAL* restrict const dJ123 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[4] : 0; + const CCTK_REAL* restrict const dJ133 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[5] : 0; + const CCTK_REAL* restrict const dJ211 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[6] : 0; + const CCTK_REAL* restrict const dJ212 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[7] : 0; + const CCTK_REAL* restrict const dJ213 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[8] : 0; + const CCTK_REAL* restrict const dJ222 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[9] : 0; + const CCTK_REAL* restrict const dJ223 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[10] : 0; + const CCTK_REAL* restrict const dJ233 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[11] : 0; + const CCTK_REAL* restrict const dJ311 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[12] : 0; + const CCTK_REAL* restrict const dJ312 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[13] : 0; + const CCTK_REAL* restrict const dJ313 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[14] : 0; + const CCTK_REAL* restrict const dJ322 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[15] : 0; + const CCTK_REAL* restrict const dJ323 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[16] : 0; + const CCTK_REAL* restrict const dJ333 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[17] : 0; /* Assign local copies of arrays functions */ @@ -211,13 +235,20 @@ static void ML_BSSN_convertFromADMBaseGamma_Body(cGH const * restrict const cctk /* Copy local copies back to grid functions */ /* Loop over the grid points */ - #pragma omp parallel + const int imin0=imin[0]; + const int imin1=imin[1]; + const int imin2=imin[2]; + const int imax0=imax[0]; + const int imax1=imax[1]; + const int imax2=imax[2]; + #pragma omp parallel // reduction(+: vec_iter_counter, vec_op_counter, vec_mem_counter) CCTK_LOOP3STR(ML_BSSN_convertFromADMBaseGamma, - 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 */ @@ -256,52 +287,53 @@ static void ML_BSSN_convertFromADMBaseGamma_Body(cGH const * restrict const cctk /* Include user supplied include files */ /* Precompute derivatives */ - CCTK_REAL_VEC PDupwindNthAnti1alpha CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm1alpha CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti2alpha CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm2alpha CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti3alpha CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm3alpha CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti1beta1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm1beta1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti2beta1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm2beta1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti3beta1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm3beta1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti1beta2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm1beta2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti2beta2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm2beta2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti3beta2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm3beta2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti1beta3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm1beta3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti2beta3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm2beta3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti3beta3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm3beta3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth1gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth2gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth3gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth1gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth2gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth3gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth1gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth2gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth3gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth1gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth2gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth3gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth1gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth2gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth3gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth1gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth2gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth3gt33 CCTK_ATTRIBUTE_UNUSED ; - - switch(fdOrder) + CCTK_REAL_VEC PDupwindNthAnti1alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm1alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti2alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm2alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti3alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm3alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti1beta1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm1beta1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti2beta1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm2beta1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti3beta1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm3beta1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti1beta2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm1beta2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti2beta2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm2beta2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti3beta2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm3beta2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti1beta3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm1beta3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti2beta3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm2beta3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti3beta3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm3beta3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3gt33 CCTK_ATTRIBUTE_UNUSED; + + switch (fdOrder) { case 2: + { PDupwindNthAnti1alpha = PDupwindNthAntifdOrder21(&alpha[index]); PDupwindNthSymm1alpha = PDupwindNthSymmfdOrder21(&alpha[index]); PDupwindNthAnti2alpha = PDupwindNthAntifdOrder22(&alpha[index]); @@ -345,8 +377,10 @@ static void ML_BSSN_convertFromADMBaseGamma_Body(cGH const * restrict const cctk PDstandardNth2gt33 = PDstandardNthfdOrder22(>33[index]); PDstandardNth3gt33 = PDstandardNthfdOrder23(>33[index]); break; + } case 4: + { PDupwindNthAnti1alpha = PDupwindNthAntifdOrder41(&alpha[index]); PDupwindNthSymm1alpha = PDupwindNthSymmfdOrder41(&alpha[index]); PDupwindNthAnti2alpha = PDupwindNthAntifdOrder42(&alpha[index]); @@ -390,8 +424,10 @@ static void ML_BSSN_convertFromADMBaseGamma_Body(cGH const * restrict const cctk PDstandardNth2gt33 = PDstandardNthfdOrder42(>33[index]); PDstandardNth3gt33 = PDstandardNthfdOrder43(>33[index]); break; + } case 6: + { PDupwindNthAnti1alpha = PDupwindNthAntifdOrder61(&alpha[index]); PDupwindNthSymm1alpha = PDupwindNthSymmfdOrder61(&alpha[index]); PDupwindNthAnti2alpha = PDupwindNthAntifdOrder62(&alpha[index]); @@ -435,8 +471,10 @@ static void ML_BSSN_convertFromADMBaseGamma_Body(cGH const * restrict const cctk PDstandardNth2gt33 = PDstandardNthfdOrder62(>33[index]); PDstandardNth3gt33 = PDstandardNthfdOrder63(>33[index]); break; + } case 8: + { PDupwindNthAnti1alpha = PDupwindNthAntifdOrder81(&alpha[index]); PDupwindNthSymm1alpha = PDupwindNthSymmfdOrder81(&alpha[index]); PDupwindNthAnti2alpha = PDupwindNthAntifdOrder82(&alpha[index]); @@ -480,6 +518,9 @@ static void ML_BSSN_convertFromADMBaseGamma_Body(cGH const * restrict const cctk PDstandardNth2gt33 = PDstandardNthfdOrder82(>33[index]); PDstandardNth3gt33 = PDstandardNthfdOrder83(>33[index]); break; + } + default: + CCTK_BUILTIN_UNREACHABLE(); } /* Calculate temporaries and grid functions */ @@ -489,48 +530,48 @@ static void ML_BSSN_convertFromADMBaseGamma_Body(cGH const * restrict const cctk ptrdiff_t CCTK_ATTRIBUTE_UNUSED dir3 = kisgn(beta3L); - CCTK_REAL_VEC JacPDstandardNth1gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth1gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth1gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth1gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth1gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth1gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth2gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth2gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth2gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth2gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth2gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth2gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth3gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth3gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth3gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth3gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth3gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth3gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti1alpha CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti1beta1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti1beta2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti1beta3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti2alpha CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti2beta1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti2beta2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti2beta3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti3alpha CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti3beta1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti3beta2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti3beta3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm1alpha CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm1beta1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm1beta2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm1beta3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm2alpha CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm2beta1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm2beta2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm2beta3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm3alpha CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm3beta1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm3beta2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm3beta3 CCTK_ATTRIBUTE_UNUSED ; + CCTK_REAL_VEC JacPDstandardNth1gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti1alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti1beta1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti1beta2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti1beta3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti2alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti2beta1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti2beta2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti2beta3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti3alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti3beta1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti3beta2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti3beta3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm1alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm1beta1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm1beta2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm1beta3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm2alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm2beta1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm2beta2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm2beta3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm3alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm3beta1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm3beta2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm3beta3 CCTK_ATTRIBUTE_UNUSED; if (use_jacobian) { @@ -747,121 +788,121 @@ static void ML_BSSN_convertFromADMBaseGamma_Body(cGH const * restrict const cctk JacPDupwindNthSymm3beta3 = PDupwindNthSymm3beta3; } - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED detgt = ToReal(1.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED detgt = ToReal(1); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gtu11 = - kdiv(kmadd(gt22L,gt33L,kmul(kmul(gt23L,gt23L),ToReal(-1.))),detgt); + kdiv(kmsub(gt22L,gt33L,kmul(gt23L,gt23L)),detgt); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gtu12 = - kdiv(kmadd(gt13L,gt23L,kmul(gt12L,kmul(gt33L,ToReal(-1.)))),detgt); + kdiv(kmsub(gt13L,gt23L,kmul(gt12L,gt33L)),detgt); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gtu13 = - kdiv(kmadd(gt12L,gt23L,kmul(gt13L,kmul(gt22L,ToReal(-1.)))),detgt); + kdiv(kmsub(gt12L,gt23L,kmul(gt13L,gt22L)),detgt); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gtu22 = - kdiv(kmadd(gt11L,gt33L,kmul(kmul(gt13L,gt13L),ToReal(-1.))),detgt); + kdiv(kmsub(gt11L,gt33L,kmul(gt13L,gt13L)),detgt); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gtu23 = - kdiv(kmadd(gt12L,gt13L,kmul(gt11L,kmul(gt23L,ToReal(-1.)))),detgt); + kdiv(kmsub(gt12L,gt13L,kmul(gt11L,gt23L)),detgt); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gtu33 = - kdiv(kmadd(gt11L,gt22L,kmul(kmul(gt12L,gt12L),ToReal(-1.))),detgt); + kdiv(kmsub(gt11L,gt22L,kmul(gt12L,gt12L)),detgt); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Gt111 = - kmul(ToReal(0.5),kmadd(gtu11,JacPDstandardNth1gt11,kmadd(kmadd(gtu12,JacPDstandardNth2gt11,kmul(gtu13,JacPDstandardNth3gt11)),ToReal(-1.),kmul(kmadd(gtu12,JacPDstandardNth1gt12,kmul(gtu13,JacPDstandardNth1gt13)),ToReal(2.))))); + kmul(ToReal(0.5),kmadd(gtu11,JacPDstandardNth1gt11,knmsub(gtu12,JacPDstandardNth2gt11,kmsub(kmadd(gtu12,JacPDstandardNth1gt12,kmul(gtu13,JacPDstandardNth1gt13)),ToReal(2),kmul(gtu13,JacPDstandardNth3gt11))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Gt211 = - kmul(ToReal(0.5),kmadd(gtu12,JacPDstandardNth1gt11,kmadd(kmadd(gtu22,JacPDstandardNth2gt11,kmul(gtu23,JacPDstandardNth3gt11)),ToReal(-1.),kmul(kmadd(gtu22,JacPDstandardNth1gt12,kmul(gtu23,JacPDstandardNth1gt13)),ToReal(2.))))); + kmul(ToReal(0.5),kmadd(gtu12,JacPDstandardNth1gt11,knmsub(gtu22,JacPDstandardNth2gt11,kmsub(kmadd(gtu22,JacPDstandardNth1gt12,kmul(gtu23,JacPDstandardNth1gt13)),ToReal(2),kmul(gtu23,JacPDstandardNth3gt11))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Gt311 = - kmul(ToReal(0.5),kmadd(gtu13,JacPDstandardNth1gt11,kmadd(kmadd(gtu23,JacPDstandardNth2gt11,kmul(gtu33,JacPDstandardNth3gt11)),ToReal(-1.),kmul(kmadd(gtu23,JacPDstandardNth1gt12,kmul(gtu33,JacPDstandardNth1gt13)),ToReal(2.))))); + kmul(ToReal(0.5),kmadd(gtu13,JacPDstandardNth1gt11,knmsub(gtu23,JacPDstandardNth2gt11,kmsub(kmadd(gtu23,JacPDstandardNth1gt12,kmul(gtu33,JacPDstandardNth1gt13)),ToReal(2),kmul(gtu33,JacPDstandardNth3gt11))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Gt112 = - kmul(kmadd(gtu12,JacPDstandardNth1gt22,kmadd(gtu11,JacPDstandardNth2gt11,kmul(gtu13,kadd(JacPDstandardNth1gt23,kmadd(JacPDstandardNth3gt12,ToReal(-1.),JacPDstandardNth2gt13))))),ToReal(0.5)); + kmul(kmadd(gtu12,JacPDstandardNth1gt22,kmadd(gtu11,JacPDstandardNth2gt11,kmul(gtu13,kadd(JacPDstandardNth1gt23,ksub(JacPDstandardNth2gt13,JacPDstandardNth3gt12))))),ToReal(0.5)); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Gt212 = - kmul(kmadd(gtu22,JacPDstandardNth1gt22,kmadd(gtu12,JacPDstandardNth2gt11,kmul(gtu23,kadd(JacPDstandardNth1gt23,kmadd(JacPDstandardNth3gt12,ToReal(-1.),JacPDstandardNth2gt13))))),ToReal(0.5)); + kmul(kmadd(gtu22,JacPDstandardNth1gt22,kmadd(gtu12,JacPDstandardNth2gt11,kmul(gtu23,kadd(JacPDstandardNth1gt23,ksub(JacPDstandardNth2gt13,JacPDstandardNth3gt12))))),ToReal(0.5)); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Gt312 = - kmul(kmadd(gtu23,JacPDstandardNth1gt22,kmadd(gtu13,JacPDstandardNth2gt11,kmul(gtu33,kadd(JacPDstandardNth1gt23,kmadd(JacPDstandardNth3gt12,ToReal(-1.),JacPDstandardNth2gt13))))),ToReal(0.5)); + kmul(kmadd(gtu23,JacPDstandardNth1gt22,kmadd(gtu13,JacPDstandardNth2gt11,kmul(gtu33,kadd(JacPDstandardNth1gt23,ksub(JacPDstandardNth2gt13,JacPDstandardNth3gt12))))),ToReal(0.5)); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Gt113 = - kmul(kmadd(gtu13,JacPDstandardNth1gt33,kmadd(gtu11,JacPDstandardNth3gt11,kmul(gtu12,kadd(JacPDstandardNth1gt23,kmadd(JacPDstandardNth2gt13,ToReal(-1.),JacPDstandardNth3gt12))))),ToReal(0.5)); + kmul(kmadd(gtu13,JacPDstandardNth1gt33,kmadd(gtu11,JacPDstandardNth3gt11,kmul(gtu12,kadd(JacPDstandardNth1gt23,ksub(JacPDstandardNth3gt12,JacPDstandardNth2gt13))))),ToReal(0.5)); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Gt213 = - kmul(kmadd(gtu23,JacPDstandardNth1gt33,kmadd(gtu12,JacPDstandardNth3gt11,kmul(gtu22,kadd(JacPDstandardNth1gt23,kmadd(JacPDstandardNth2gt13,ToReal(-1.),JacPDstandardNth3gt12))))),ToReal(0.5)); + kmul(kmadd(gtu23,JacPDstandardNth1gt33,kmadd(gtu12,JacPDstandardNth3gt11,kmul(gtu22,kadd(JacPDstandardNth1gt23,ksub(JacPDstandardNth3gt12,JacPDstandardNth2gt13))))),ToReal(0.5)); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Gt313 = - kmul(kmadd(gtu33,JacPDstandardNth1gt33,kmadd(gtu13,JacPDstandardNth3gt11,kmul(gtu23,kadd(JacPDstandardNth1gt23,kmadd(JacPDstandardNth2gt13,ToReal(-1.),JacPDstandardNth3gt12))))),ToReal(0.5)); + kmul(kmadd(gtu33,JacPDstandardNth1gt33,kmadd(gtu13,JacPDstandardNth3gt11,kmul(gtu23,kadd(JacPDstandardNth1gt23,ksub(JacPDstandardNth3gt12,JacPDstandardNth2gt13))))),ToReal(0.5)); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Gt122 = - kmul(ToReal(0.5),kmadd(gtu12,JacPDstandardNth2gt22,kmadd(gtu11,kmadd(JacPDstandardNth1gt22,ToReal(-1.),kmul(JacPDstandardNth2gt12,ToReal(2.))),kmul(gtu13,kmadd(JacPDstandardNth3gt22,ToReal(-1.),kmul(JacPDstandardNth2gt23,ToReal(2.))))))); + kmul(ToReal(0.5),kmadd(gtu12,JacPDstandardNth2gt22,kmadd(gtu11,kmsub(JacPDstandardNth2gt12,ToReal(2),JacPDstandardNth1gt22),kmul(gtu13,kmsub(JacPDstandardNth2gt23,ToReal(2),JacPDstandardNth3gt22))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Gt222 = - kmul(ToReal(0.5),kmadd(gtu22,JacPDstandardNth2gt22,kmadd(gtu12,kmadd(JacPDstandardNth1gt22,ToReal(-1.),kmul(JacPDstandardNth2gt12,ToReal(2.))),kmul(gtu23,kmadd(JacPDstandardNth3gt22,ToReal(-1.),kmul(JacPDstandardNth2gt23,ToReal(2.))))))); + kmul(ToReal(0.5),kmadd(gtu22,JacPDstandardNth2gt22,kmadd(gtu12,kmsub(JacPDstandardNth2gt12,ToReal(2),JacPDstandardNth1gt22),kmul(gtu23,kmsub(JacPDstandardNth2gt23,ToReal(2),JacPDstandardNth3gt22))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Gt322 = - kmul(ToReal(0.5),kmadd(gtu23,JacPDstandardNth2gt22,kmadd(gtu13,kmadd(JacPDstandardNth1gt22,ToReal(-1.),kmul(JacPDstandardNth2gt12,ToReal(2.))),kmul(gtu33,kmadd(JacPDstandardNth3gt22,ToReal(-1.),kmul(JacPDstandardNth2gt23,ToReal(2.))))))); + kmul(ToReal(0.5),kmadd(gtu23,JacPDstandardNth2gt22,kmadd(gtu13,kmsub(JacPDstandardNth2gt12,ToReal(2),JacPDstandardNth1gt22),kmul(gtu33,kmsub(JacPDstandardNth2gt23,ToReal(2),JacPDstandardNth3gt22))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Gt123 = - kmul(kmadd(gtu13,JacPDstandardNth2gt33,kmadd(gtu12,JacPDstandardNth3gt22,kmul(gtu11,kadd(JacPDstandardNth2gt13,kmadd(JacPDstandardNth1gt23,ToReal(-1.),JacPDstandardNth3gt12))))),ToReal(0.5)); + kmul(kmadd(gtu13,JacPDstandardNth2gt33,kmadd(gtu12,JacPDstandardNth3gt22,kmul(gtu11,kadd(JacPDstandardNth2gt13,ksub(JacPDstandardNth3gt12,JacPDstandardNth1gt23))))),ToReal(0.5)); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Gt223 = - kmul(kmadd(gtu23,JacPDstandardNth2gt33,kmadd(gtu22,JacPDstandardNth3gt22,kmul(gtu12,kadd(JacPDstandardNth2gt13,kmadd(JacPDstandardNth1gt23,ToReal(-1.),JacPDstandardNth3gt12))))),ToReal(0.5)); + kmul(kmadd(gtu23,JacPDstandardNth2gt33,kmadd(gtu22,JacPDstandardNth3gt22,kmul(gtu12,kadd(JacPDstandardNth2gt13,ksub(JacPDstandardNth3gt12,JacPDstandardNth1gt23))))),ToReal(0.5)); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Gt323 = - kmul(kmadd(gtu33,JacPDstandardNth2gt33,kmadd(gtu23,JacPDstandardNth3gt22,kmul(gtu13,kadd(JacPDstandardNth2gt13,kmadd(JacPDstandardNth1gt23,ToReal(-1.),JacPDstandardNth3gt12))))),ToReal(0.5)); + kmul(kmadd(gtu33,JacPDstandardNth2gt33,kmadd(gtu23,JacPDstandardNth3gt22,kmul(gtu13,kadd(JacPDstandardNth2gt13,ksub(JacPDstandardNth3gt12,JacPDstandardNth1gt23))))),ToReal(0.5)); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Gt133 = - kmul(ToReal(0.5),kmadd(gtu13,JacPDstandardNth3gt33,kmadd(kmadd(gtu11,JacPDstandardNth1gt33,kmul(gtu12,JacPDstandardNth2gt33)),ToReal(-1.),kmul(kmadd(gtu11,JacPDstandardNth3gt13,kmul(gtu12,JacPDstandardNth3gt23)),ToReal(2.))))); + kmul(ToReal(0.5),kmadd(gtu13,JacPDstandardNth3gt33,kmadd(gtu11,kmsub(JacPDstandardNth3gt13,ToReal(2),JacPDstandardNth1gt33),kmul(gtu12,kmsub(JacPDstandardNth3gt23,ToReal(2),JacPDstandardNth2gt33))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Gt233 = - kmul(ToReal(0.5),kmadd(gtu23,JacPDstandardNth3gt33,kmadd(kmadd(gtu12,JacPDstandardNth1gt33,kmul(gtu22,JacPDstandardNth2gt33)),ToReal(-1.),kmul(kmadd(gtu12,JacPDstandardNth3gt13,kmul(gtu22,JacPDstandardNth3gt23)),ToReal(2.))))); + kmul(ToReal(0.5),kmadd(gtu23,JacPDstandardNth3gt33,kmadd(gtu12,kmsub(JacPDstandardNth3gt13,ToReal(2),JacPDstandardNth1gt33),kmul(gtu22,kmsub(JacPDstandardNth3gt23,ToReal(2),JacPDstandardNth2gt33))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Gt333 = - kmul(ToReal(0.5),kmadd(gtu33,JacPDstandardNth3gt33,kmadd(kmadd(gtu13,JacPDstandardNth1gt33,kmul(gtu23,JacPDstandardNth2gt33)),ToReal(-1.),kmul(kmadd(gtu13,JacPDstandardNth3gt13,kmul(gtu23,JacPDstandardNth3gt23)),ToReal(2.))))); + kmul(ToReal(0.5),kmadd(gtu33,JacPDstandardNth3gt33,kmadd(gtu13,kmsub(JacPDstandardNth3gt13,ToReal(2),JacPDstandardNth1gt33),kmul(gtu23,kmsub(JacPDstandardNth3gt23,ToReal(2),JacPDstandardNth2gt33))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Xt1L = - kmadd(Gt111,gtu11,kmadd(Gt122,gtu22,kmadd(Gt133,gtu33,kmul(kmadd(Gt112,gtu12,kmadd(Gt113,gtu13,kmul(Gt123,gtu23))),ToReal(2.))))); + kmadd(Gt111,gtu11,kmadd(Gt122,gtu22,kmadd(Gt133,gtu33,kmul(kmadd(Gt112,gtu12,kmadd(Gt113,gtu13,kmul(Gt123,gtu23))),ToReal(2))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Xt2L = - kmadd(Gt211,gtu11,kmadd(Gt222,gtu22,kmadd(Gt233,gtu33,kmul(kmadd(Gt212,gtu12,kmadd(Gt213,gtu13,kmul(Gt223,gtu23))),ToReal(2.))))); + kmadd(Gt211,gtu11,kmadd(Gt222,gtu22,kmadd(Gt233,gtu33,kmul(kmadd(Gt212,gtu12,kmadd(Gt213,gtu13,kmul(Gt223,gtu23))),ToReal(2))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Xt3L = - kmadd(Gt311,gtu11,kmadd(Gt322,gtu22,kmadd(Gt333,gtu33,kmul(kmadd(Gt312,gtu12,kmadd(Gt313,gtu13,kmul(Gt323,gtu23))),ToReal(2.))))); + kmadd(Gt311,gtu11,kmadd(Gt322,gtu22,kmadd(Gt333,gtu33,kmul(kmadd(Gt312,gtu12,kmadd(Gt313,gtu13,kmul(Gt323,gtu23))),ToReal(2))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED AL = IfThen(LapseACoeff != - 0.,kmul(kmul(kpow(alphaL,-1.*harmonicN),kmul(ToReal(-1.),kmadd(kmadd(beta1L,JacPDupwindNthAnti1alpha,kmadd(beta2L,JacPDupwindNthAnti2alpha,kmadd(beta3L,JacPDupwindNthAnti3alpha,kmadd(JacPDupwindNthSymm1alpha,kfabs(beta1L),kmadd(JacPDupwindNthSymm2alpha,kfabs(beta2L),kmul(JacPDupwindNthSymm3alpha,kfabs(beta3L))))))),ToReal(-1.*LapseAdvectionCoeff),dtalpL))),ToReal(ScalarINV(harmonicF))),ToReal(0.)); + 0,kneg(kmul(kmul(kpow(alphaL,-harmonicN),knmsub(kmadd(beta1L,JacPDupwindNthAnti1alpha,kmadd(beta2L,JacPDupwindNthAnti2alpha,kmadd(beta3L,JacPDupwindNthAnti3alpha,kmadd(JacPDupwindNthSymm1alpha,kfabs(beta1L),kmadd(JacPDupwindNthSymm2alpha,kfabs(beta2L),kmul(JacPDupwindNthSymm3alpha,kfabs(beta3L))))))),ToReal(LapseAdvectionCoeff),dtalpL)),ToReal(ScalarINV(harmonicF)))),ToReal(0)); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED theta = - kfmin(ToReal(1.),kexp(kmadd(kmul(rL,ToReal(-1.)),ToReal(ScalarINV(SpatialShiftGammaCoeffRadius)),ToReal(1.)))); + kfmin(ToReal(1),kexp(knmsub(rL,ToReal(ScalarINV(SpatialShiftGammaCoeffRadius)),ToReal(1)))); - CCTK_REAL_VEC B1L CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC B2L CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC B3L CCTK_ATTRIBUTE_UNUSED ; + CCTK_REAL_VEC B1L CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC B2L CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC B3L CCTK_ATTRIBUTE_UNUSED; - if (ShiftBCoeff*ShiftGammaCoeff != 0.) + if (ShiftBCoeff*ShiftGammaCoeff != 0) { B1L = - kdiv(kmadd(kmadd(beta1L,JacPDupwindNthAnti1beta1,kmadd(beta2L,JacPDupwindNthAnti2beta1,kmadd(beta3L,JacPDupwindNthAnti3beta1,kmadd(JacPDupwindNthSymm1beta1,kfabs(beta1L),kmadd(JacPDupwindNthSymm2beta1,kfabs(beta2L),kmul(JacPDupwindNthSymm3beta1,kfabs(beta3L))))))),ToReal(-1.*ShiftAdvectionCoeff),dtbetaxL),kmul(ToReal(ShiftGammaCoeff),theta)); + kdiv(knmsub(kmadd(beta1L,JacPDupwindNthAnti1beta1,kmadd(beta2L,JacPDupwindNthAnti2beta1,kmadd(beta3L,JacPDupwindNthAnti3beta1,kmadd(JacPDupwindNthSymm1beta1,kfabs(beta1L),kmadd(JacPDupwindNthSymm2beta1,kfabs(beta2L),kmul(JacPDupwindNthSymm3beta1,kfabs(beta3L))))))),ToReal(ShiftAdvectionCoeff),dtbetaxL),kmul(ToReal(ShiftGammaCoeff),theta)); B2L = - kdiv(kmadd(kmadd(beta1L,JacPDupwindNthAnti1beta2,kmadd(beta2L,JacPDupwindNthAnti2beta2,kmadd(beta3L,JacPDupwindNthAnti3beta2,kmadd(JacPDupwindNthSymm1beta2,kfabs(beta1L),kmadd(JacPDupwindNthSymm2beta2,kfabs(beta2L),kmul(JacPDupwindNthSymm3beta2,kfabs(beta3L))))))),ToReal(-1.*ShiftAdvectionCoeff),dtbetayL),kmul(ToReal(ShiftGammaCoeff),theta)); + kdiv(knmsub(kmadd(beta1L,JacPDupwindNthAnti1beta2,kmadd(beta2L,JacPDupwindNthAnti2beta2,kmadd(beta3L,JacPDupwindNthAnti3beta2,kmadd(JacPDupwindNthSymm1beta2,kfabs(beta1L),kmadd(JacPDupwindNthSymm2beta2,kfabs(beta2L),kmul(JacPDupwindNthSymm3beta2,kfabs(beta3L))))))),ToReal(ShiftAdvectionCoeff),dtbetayL),kmul(ToReal(ShiftGammaCoeff),theta)); B3L = - kdiv(kmadd(kmadd(beta1L,JacPDupwindNthAnti1beta3,kmadd(beta2L,JacPDupwindNthAnti2beta3,kmadd(beta3L,JacPDupwindNthAnti3beta3,kmadd(JacPDupwindNthSymm1beta3,kfabs(beta1L),kmadd(JacPDupwindNthSymm2beta3,kfabs(beta2L),kmul(JacPDupwindNthSymm3beta3,kfabs(beta3L))))))),ToReal(-1.*ShiftAdvectionCoeff),dtbetazL),kmul(ToReal(ShiftGammaCoeff),theta)); + kdiv(knmsub(kmadd(beta1L,JacPDupwindNthAnti1beta3,kmadd(beta2L,JacPDupwindNthAnti2beta3,kmadd(beta3L,JacPDupwindNthAnti3beta3,kmadd(JacPDupwindNthSymm1beta3,kfabs(beta1L),kmadd(JacPDupwindNthSymm2beta3,kfabs(beta2L),kmul(JacPDupwindNthSymm3beta3,kfabs(beta3L))))))),ToReal(ShiftAdvectionCoeff),dtbetazL),kmul(ToReal(ShiftGammaCoeff),theta)); } else { - B1L = ToReal(0.); + B1L = ToReal(0); - B2L = ToReal(0.); + B2L = ToReal(0); - B3L = ToReal(0.); + B3L = 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(A[index],AL); vec_store_nta_partial(B1[index],B1L); vec_store_nta_partial(B2[index],B2L); @@ -889,7 +930,7 @@ extern "C" void ML_BSSN_convertFromADMBaseGamma(CCTK_ARGUMENTS) return; } - const char *const groups[] = { + const char* const groups[] = { "ADMBase::dtlapse", "ADMBase::dtshift", "grid::coordinates", @@ -901,23 +942,33 @@ extern "C" void ML_BSSN_convertFromADMBaseGamma(CCTK_ARGUMENTS) "ML_BSSN::ML_shift"}; GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_convertFromADMBaseGamma", 9, groups); - switch(fdOrder) + switch (fdOrder) { case 2: + { GenericFD_EnsureStencilFits(cctkGH, "ML_BSSN_convertFromADMBaseGamma", 2, 2, 2); break; + } case 4: + { GenericFD_EnsureStencilFits(cctkGH, "ML_BSSN_convertFromADMBaseGamma", 3, 3, 3); break; + } case 6: + { GenericFD_EnsureStencilFits(cctkGH, "ML_BSSN_convertFromADMBaseGamma", 4, 4, 4); break; + } case 8: + { GenericFD_EnsureStencilFits(cctkGH, "ML_BSSN_convertFromADMBaseGamma", 5, 5, 5); break; + } + default: + CCTK_BUILTIN_UNREACHABLE(); } GenericFD_LoopOverInterior(cctkGH, ML_BSSN_convertFromADMBaseGamma_Body); diff --git a/ML_BSSN/src/ML_BSSN_convertToADMBase.cc b/ML_BSSN/src/ML_BSSN_convertToADMBase.cc index 70159c8..7d752d7 100644 --- a/ML_BSSN/src/ML_BSSN_convertToADMBase.cc +++ b/ML_BSSN/src/ML_BSSN_convertToADMBase.cc @@ -27,7 +27,7 @@ #define CUB(x) (kmul(x,SQR(x))) #define QAD(x) (SQR(SQR(x))) -static void ML_BSSN_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_BSSN_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,153 +36,175 @@ static void ML_BSSN_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*/ p1o1024dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dx); - CCTK_REAL_VEC /*const*/ p1o1024dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dy); - CCTK_REAL_VEC /*const*/ p1o1024dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dz); - CCTK_REAL_VEC /*const*/ p1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dx); - CCTK_REAL_VEC /*const*/ p1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dy); - CCTK_REAL_VEC /*const*/ p1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dz); - CCTK_REAL_VEC /*const*/ p1o12dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dx); - CCTK_REAL_VEC /*const*/ p1o12dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dy); - CCTK_REAL_VEC /*const*/ p1o12dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dz); - CCTK_REAL_VEC /*const*/ p1o144dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o144dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o144dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o1680dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dx); - CCTK_REAL_VEC /*const*/ p1o1680dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dy); - CCTK_REAL_VEC /*const*/ p1o1680dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dz); - CCTK_REAL_VEC /*const*/ p1o180dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ p1o180dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ p1o180dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ p1o24dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dx); - CCTK_REAL_VEC /*const*/ p1o24dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dy); - CCTK_REAL_VEC /*const*/ p1o24dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dz); - CCTK_REAL_VEC /*const*/ p1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dx); - CCTK_REAL_VEC /*const*/ p1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dy); - CCTK_REAL_VEC /*const*/ p1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dz); - CCTK_REAL_VEC /*const*/ p1o3600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o3600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o3600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dx); - CCTK_REAL_VEC /*const*/ p1o4dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o4dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dy); - CCTK_REAL_VEC /*const*/ p1o4dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dz); - CCTK_REAL_VEC /*const*/ p1o5040dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ p1o5040dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ p1o5040dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ p1o560dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dx); - CCTK_REAL_VEC /*const*/ p1o560dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dy); - CCTK_REAL_VEC /*const*/ p1o560dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dz); - CCTK_REAL_VEC /*const*/ p1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dx); - CCTK_REAL_VEC /*const*/ p1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dy); - CCTK_REAL_VEC /*const*/ p1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dz); - CCTK_REAL_VEC /*const*/ p1o64dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dx); - CCTK_REAL_VEC /*const*/ p1o64dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dy); - CCTK_REAL_VEC /*const*/ p1o64dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dz); - CCTK_REAL_VEC /*const*/ p1o705600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o705600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o705600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o840dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dx); - CCTK_REAL_VEC /*const*/ p1o840dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dy); - CCTK_REAL_VEC /*const*/ p1o840dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dz); - CCTK_REAL_VEC /*const*/ p1odx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dx); - CCTK_REAL_VEC /*const*/ p1odx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ p1ody CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dy); - CCTK_REAL_VEC /*const*/ p1ody2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ p1odz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dz); - CCTK_REAL_VEC /*const*/ p1odz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ pm1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dx); - CCTK_REAL_VEC /*const*/ pm1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dy); - CCTK_REAL_VEC /*const*/ pm1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dz); - CCTK_REAL_VEC /*const*/ pm1o12dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ pm1o12dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ pm1o12dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ pm1o16dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dx); - CCTK_REAL_VEC /*const*/ pm1o16dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dy); - CCTK_REAL_VEC /*const*/ pm1o16dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dz); - CCTK_REAL_VEC /*const*/ pm1o256dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dx); - CCTK_REAL_VEC /*const*/ pm1o256dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dy); - CCTK_REAL_VEC /*const*/ pm1o256dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dz); - CCTK_REAL_VEC /*const*/ pm1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dx); - CCTK_REAL_VEC /*const*/ pm1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dy); - CCTK_REAL_VEC /*const*/ pm1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dz); - CCTK_REAL_VEC /*const*/ pm1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dx); - CCTK_REAL_VEC /*const*/ pm1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dy); - CCTK_REAL_VEC /*const*/ pm1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dz); - CCTK_REAL_VEC /*const*/ pm1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dx); - CCTK_REAL_VEC /*const*/ pm1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dy); - CCTK_REAL_VEC /*const*/ pm1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dz); + const CCTK_REAL_VEC p1o1024dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dx); + const CCTK_REAL_VEC p1o1024dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dy); + const CCTK_REAL_VEC p1o1024dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dz); + const CCTK_REAL_VEC p1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dx); + const CCTK_REAL_VEC p1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dy); + const CCTK_REAL_VEC p1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dz); + const CCTK_REAL_VEC p1o12dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dx); + const CCTK_REAL_VEC p1o12dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dy); + const CCTK_REAL_VEC p1o12dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dz); + const CCTK_REAL_VEC p1o144dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dy,dx)); + const CCTK_REAL_VEC p1o144dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dx)); + const CCTK_REAL_VEC p1o144dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dy)); + const CCTK_REAL_VEC p1o1680dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dx); + const CCTK_REAL_VEC p1o1680dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dy); + const CCTK_REAL_VEC p1o1680dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dz); + const CCTK_REAL_VEC p1o180dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dx,dx)); + const CCTK_REAL_VEC p1o180dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dy,dy)); + const CCTK_REAL_VEC p1o180dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dz,dz)); + const CCTK_REAL_VEC p1o24dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dx); + const CCTK_REAL_VEC p1o24dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dy); + const CCTK_REAL_VEC p1o24dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dz); + const CCTK_REAL_VEC p1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dx); + const CCTK_REAL_VEC p1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dy); + const CCTK_REAL_VEC p1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dz); + const CCTK_REAL_VEC p1o3600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dy,dx)); + const CCTK_REAL_VEC p1o3600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dx)); + const CCTK_REAL_VEC p1o3600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dy)); + const CCTK_REAL_VEC p1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dx); + const CCTK_REAL_VEC p1o4dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dy,dx)); + const CCTK_REAL_VEC p1o4dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dx)); + const CCTK_REAL_VEC p1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dy); + const CCTK_REAL_VEC p1o4dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dy)); + const CCTK_REAL_VEC p1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dz); + const CCTK_REAL_VEC p1o5040dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dx,dx)); + const CCTK_REAL_VEC p1o5040dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dy,dy)); + const CCTK_REAL_VEC p1o5040dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dz,dz)); + const CCTK_REAL_VEC p1o560dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dx); + const CCTK_REAL_VEC p1o560dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dy); + const CCTK_REAL_VEC p1o560dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dz); + const CCTK_REAL_VEC p1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dx); + const CCTK_REAL_VEC p1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dy); + const CCTK_REAL_VEC p1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dz); + const CCTK_REAL_VEC p1o64dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dx); + const CCTK_REAL_VEC p1o64dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dy); + const CCTK_REAL_VEC p1o64dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dz); + const CCTK_REAL_VEC p1o705600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dy,dx)); + const CCTK_REAL_VEC p1o705600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dx)); + const CCTK_REAL_VEC p1o705600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dy)); + const CCTK_REAL_VEC p1o840dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dx); + const CCTK_REAL_VEC p1o840dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dy); + const CCTK_REAL_VEC p1o840dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dz); + const CCTK_REAL_VEC p1odx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dx); + const CCTK_REAL_VEC p1odx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dx,dx)); + const CCTK_REAL_VEC p1ody CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dy); + const CCTK_REAL_VEC p1ody2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dy,dy)); + const CCTK_REAL_VEC p1odz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dz); + const CCTK_REAL_VEC p1odz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dz,dz)); + const CCTK_REAL_VEC pm1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dx); + const CCTK_REAL_VEC pm1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dy); + const CCTK_REAL_VEC pm1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dz); + const CCTK_REAL_VEC pm1o12dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dx,dx)); + const CCTK_REAL_VEC pm1o12dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dy,dy)); + const CCTK_REAL_VEC pm1o12dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dz,dz)); + const CCTK_REAL_VEC pm1o16dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dx); + const CCTK_REAL_VEC pm1o16dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dy); + const CCTK_REAL_VEC pm1o16dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dz); + const CCTK_REAL_VEC pm1o256dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dx); + const CCTK_REAL_VEC pm1o256dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dy); + const CCTK_REAL_VEC pm1o256dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dz); + const CCTK_REAL_VEC pm1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dx); + const CCTK_REAL_VEC pm1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dy); + const CCTK_REAL_VEC pm1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dz); + const CCTK_REAL_VEC pm1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dx); + const CCTK_REAL_VEC pm1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dy); + const CCTK_REAL_VEC pm1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dz); + const CCTK_REAL_VEC pm1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dx); + const CCTK_REAL_VEC pm1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dy); + const CCTK_REAL_VEC pm1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dz); /* Jacobian variable pointers */ - bool const use_jacobian CCTK_ATTRIBUTE_UNUSED = (!CCTK_IsFunctionAliased("MultiPatch_GetMap") || MultiPatch_GetMap(cctkGH) != jacobian_identity_map) - && strlen(jacobian_group) > 0; - if (use_jacobian && strlen(jacobian_derivative_group) == 0) + const bool use_jacobian1 = (!CCTK_IsFunctionAliased("MultiPatch_GetMap") || MultiPatch_GetMap(cctkGH) != jacobian_identity_map) + && strlen(jacobian_group) > 0; + const bool use_jacobian = assume_use_jacobian>=0 ? assume_use_jacobian : use_jacobian1; + const bool usejacobian CCTK_ATTRIBUTE_UNUSED = use_jacobian; + if (use_jacobian && (strlen(jacobian_determinant_group) == 0 || strlen(jacobian_inverse_group) == 0 || strlen(jacobian_derivative_group) == 0)) { - CCTK_WARN (1, "GenericFD::jacobian_group and GenericFD::jacobian_derivative_group must both be set to valid group names"); + CCTK_WARN(1, "GenericFD::jacobian_group, GenericFD::jacobian_determinant_group, GenericFD::jacobian_inverse_group, and GenericFD::jacobian_derivative_group must all be set to valid group names"); } - CCTK_REAL const *restrict jacobian_ptrs[9]; + const CCTK_REAL* restrict jacobian_ptrs[9]; if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_group, 9, jacobian_ptrs); - CCTK_REAL const *restrict const J11 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[0] : 0; - CCTK_REAL const *restrict const J12 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[1] : 0; - CCTK_REAL const *restrict const J13 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[2] : 0; - CCTK_REAL const *restrict const J21 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[3] : 0; - CCTK_REAL const *restrict const J22 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[4] : 0; - CCTK_REAL const *restrict const J23 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[5] : 0; - CCTK_REAL const *restrict const J31 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[6] : 0; - CCTK_REAL const *restrict const J32 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[7] : 0; - CCTK_REAL const *restrict const J33 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[8] : 0; + const CCTK_REAL* restrict const J11 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[0] : 0; + const CCTK_REAL* restrict const J12 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[1] : 0; + const CCTK_REAL* restrict const J13 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[2] : 0; + const CCTK_REAL* restrict const J21 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[3] : 0; + const CCTK_REAL* restrict const J22 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[4] : 0; + const CCTK_REAL* restrict const J23 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[5] : 0; + const CCTK_REAL* restrict const J31 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[6] : 0; + const CCTK_REAL* restrict const J32 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[7] : 0; + const CCTK_REAL* restrict const J33 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[8] : 0; - 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 */ @@ -193,13 +215,20 @@ static void ML_BSSN_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_BSSN_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 */ @@ -234,24 +263,34 @@ static void ML_BSSN_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 */ CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED e4phi = IfThen(conformalMethod == - 1.,kdiv(ToReal(1),kmul(phiL,phiL)),kexp(kmul(phiL,ToReal(4.)))); + 1,kdiv(ToReal(1),kmul(phiL,phiL)),kexp(kmul(phiL,ToReal(4)))); gxxL = kmul(gt11L,e4phi); @@ -292,7 +331,7 @@ static void ML_BSSN_convertToADMBase_Body(cGH const * restrict const cctkGH, int CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED betazL = beta3L; /* 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); @@ -329,7 +368,7 @@ extern "C" void ML_BSSN_convertToADMBase(CCTK_ARGUMENTS) return; } - const char *const groups[] = { + const char* const groups[] = { "ADMBase::curv", "ADMBase::lapse", "ADMBase::metric", @@ -342,19 +381,29 @@ extern "C" void ML_BSSN_convertToADMBase(CCTK_ARGUMENTS) "ML_BSSN::ML_trace_curv"}; GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_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_BSSN_convertToADMBase_Body); diff --git a/ML_BSSN/src/ML_BSSN_convertToADMBaseDtLapseShift.cc b/ML_BSSN/src/ML_BSSN_convertToADMBaseDtLapseShift.cc index 3b8d02f..660c154 100644 --- a/ML_BSSN/src/ML_BSSN_convertToADMBaseDtLapseShift.cc +++ b/ML_BSSN/src/ML_BSSN_convertToADMBaseDtLapseShift.cc @@ -32,7 +32,9 @@ extern "C" void ML_BSSN_convertToADMBaseDtLapseShift_SelectBCs(CCTK_ARGUMENTS) DECLARE_CCTK_ARGUMENTS; DECLARE_CCTK_PARAMETERS; - CCTK_INT ierr CCTK_ATTRIBUTE_UNUSED = 0; + if (cctk_iteration % ML_BSSN_convertToADMBaseDtLapseShift_calc_every != ML_BSSN_convertToADMBaseDtLapseShift_calc_offset) + return; + CCTK_INT ierr CCTK_ATTRIBUTE_UNUSED = 0; ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ADMBase::dtlapse","flat"); if (ierr < 0) CCTK_WARN(1, "Failed to register flat BC for ADMBase::dtlapse."); @@ -42,7 +44,7 @@ extern "C" void ML_BSSN_convertToADMBaseDtLapseShift_SelectBCs(CCTK_ARGUMENTS) return; } -static void ML_BSSN_convertToADMBaseDtLapseShift_Body(cGH const * restrict const cctkGH, int const dir, int const face, CCTK_REAL const normal[3], CCTK_REAL const tangentA[3], CCTK_REAL const tangentB[3], int const imin[3], int const imax[3], int const n_subblock_gfs, CCTK_REAL * restrict const subblock_gfs[]) +static void ML_BSSN_convertToADMBaseDtLapseShift_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,153 +53,175 @@ static void ML_BSSN_convertToADMBaseDtLapseShift_Body(cGH const * restrict 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*/ p1o1024dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dx); - CCTK_REAL_VEC /*const*/ p1o1024dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dy); - CCTK_REAL_VEC /*const*/ p1o1024dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dz); - CCTK_REAL_VEC /*const*/ p1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dx); - CCTK_REAL_VEC /*const*/ p1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dy); - CCTK_REAL_VEC /*const*/ p1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dz); - CCTK_REAL_VEC /*const*/ p1o12dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dx); - CCTK_REAL_VEC /*const*/ p1o12dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dy); - CCTK_REAL_VEC /*const*/ p1o12dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dz); - CCTK_REAL_VEC /*const*/ p1o144dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o144dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o144dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o1680dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dx); - CCTK_REAL_VEC /*const*/ p1o1680dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dy); - CCTK_REAL_VEC /*const*/ p1o1680dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dz); - CCTK_REAL_VEC /*const*/ p1o180dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ p1o180dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ p1o180dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ p1o24dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dx); - CCTK_REAL_VEC /*const*/ p1o24dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dy); - CCTK_REAL_VEC /*const*/ p1o24dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dz); - CCTK_REAL_VEC /*const*/ p1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dx); - CCTK_REAL_VEC /*const*/ p1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dy); - CCTK_REAL_VEC /*const*/ p1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dz); - CCTK_REAL_VEC /*const*/ p1o3600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o3600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o3600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dx); - CCTK_REAL_VEC /*const*/ p1o4dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o4dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dy); - CCTK_REAL_VEC /*const*/ p1o4dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dz); - CCTK_REAL_VEC /*const*/ p1o5040dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ p1o5040dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ p1o5040dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ p1o560dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dx); - CCTK_REAL_VEC /*const*/ p1o560dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dy); - CCTK_REAL_VEC /*const*/ p1o560dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dz); - CCTK_REAL_VEC /*const*/ p1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dx); - CCTK_REAL_VEC /*const*/ p1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dy); - CCTK_REAL_VEC /*const*/ p1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dz); - CCTK_REAL_VEC /*const*/ p1o64dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dx); - CCTK_REAL_VEC /*const*/ p1o64dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dy); - CCTK_REAL_VEC /*const*/ p1o64dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dz); - CCTK_REAL_VEC /*const*/ p1o705600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o705600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o705600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o840dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dx); - CCTK_REAL_VEC /*const*/ p1o840dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dy); - CCTK_REAL_VEC /*const*/ p1o840dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dz); - CCTK_REAL_VEC /*const*/ p1odx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dx); - CCTK_REAL_VEC /*const*/ p1odx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ p1ody CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dy); - CCTK_REAL_VEC /*const*/ p1ody2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ p1odz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dz); - CCTK_REAL_VEC /*const*/ p1odz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ pm1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dx); - CCTK_REAL_VEC /*const*/ pm1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dy); - CCTK_REAL_VEC /*const*/ pm1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dz); - CCTK_REAL_VEC /*const*/ pm1o12dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ pm1o12dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ pm1o12dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ pm1o16dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dx); - CCTK_REAL_VEC /*const*/ pm1o16dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dy); - CCTK_REAL_VEC /*const*/ pm1o16dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dz); - CCTK_REAL_VEC /*const*/ pm1o256dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dx); - CCTK_REAL_VEC /*const*/ pm1o256dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dy); - CCTK_REAL_VEC /*const*/ pm1o256dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dz); - CCTK_REAL_VEC /*const*/ pm1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dx); - CCTK_REAL_VEC /*const*/ pm1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dy); - CCTK_REAL_VEC /*const*/ pm1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dz); - CCTK_REAL_VEC /*const*/ pm1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dx); - CCTK_REAL_VEC /*const*/ pm1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dy); - CCTK_REAL_VEC /*const*/ pm1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dz); - CCTK_REAL_VEC /*const*/ pm1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dx); - CCTK_REAL_VEC /*const*/ pm1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dy); - CCTK_REAL_VEC /*const*/ pm1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dz); + const CCTK_REAL_VEC p1o1024dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dx); + const CCTK_REAL_VEC p1o1024dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dy); + const CCTK_REAL_VEC p1o1024dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dz); + const CCTK_REAL_VEC p1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dx); + const CCTK_REAL_VEC p1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dy); + const CCTK_REAL_VEC p1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dz); + const CCTK_REAL_VEC p1o12dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dx); + const CCTK_REAL_VEC p1o12dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dy); + const CCTK_REAL_VEC p1o12dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dz); + const CCTK_REAL_VEC p1o144dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dy,dx)); + const CCTK_REAL_VEC p1o144dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dx)); + const CCTK_REAL_VEC p1o144dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dy)); + const CCTK_REAL_VEC p1o1680dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dx); + const CCTK_REAL_VEC p1o1680dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dy); + const CCTK_REAL_VEC p1o1680dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dz); + const CCTK_REAL_VEC p1o180dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dx,dx)); + const CCTK_REAL_VEC p1o180dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dy,dy)); + const CCTK_REAL_VEC p1o180dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dz,dz)); + const CCTK_REAL_VEC p1o24dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dx); + const CCTK_REAL_VEC p1o24dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dy); + const CCTK_REAL_VEC p1o24dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dz); + const CCTK_REAL_VEC p1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dx); + const CCTK_REAL_VEC p1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dy); + const CCTK_REAL_VEC p1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dz); + const CCTK_REAL_VEC p1o3600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dy,dx)); + const CCTK_REAL_VEC p1o3600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dx)); + const CCTK_REAL_VEC p1o3600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dy)); + const CCTK_REAL_VEC p1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dx); + const CCTK_REAL_VEC p1o4dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dy,dx)); + const CCTK_REAL_VEC p1o4dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dx)); + const CCTK_REAL_VEC p1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dy); + const CCTK_REAL_VEC p1o4dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dy)); + const CCTK_REAL_VEC p1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dz); + const CCTK_REAL_VEC p1o5040dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dx,dx)); + const CCTK_REAL_VEC p1o5040dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dy,dy)); + const CCTK_REAL_VEC p1o5040dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dz,dz)); + const CCTK_REAL_VEC p1o560dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dx); + const CCTK_REAL_VEC p1o560dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dy); + const CCTK_REAL_VEC p1o560dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dz); + const CCTK_REAL_VEC p1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dx); + const CCTK_REAL_VEC p1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dy); + const CCTK_REAL_VEC p1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dz); + const CCTK_REAL_VEC p1o64dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dx); + const CCTK_REAL_VEC p1o64dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dy); + const CCTK_REAL_VEC p1o64dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dz); + const CCTK_REAL_VEC p1o705600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dy,dx)); + const CCTK_REAL_VEC p1o705600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dx)); + const CCTK_REAL_VEC p1o705600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dy)); + const CCTK_REAL_VEC p1o840dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dx); + const CCTK_REAL_VEC p1o840dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dy); + const CCTK_REAL_VEC p1o840dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dz); + const CCTK_REAL_VEC p1odx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dx); + const CCTK_REAL_VEC p1odx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dx,dx)); + const CCTK_REAL_VEC p1ody CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dy); + const CCTK_REAL_VEC p1ody2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dy,dy)); + const CCTK_REAL_VEC p1odz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dz); + const CCTK_REAL_VEC p1odz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dz,dz)); + const CCTK_REAL_VEC pm1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dx); + const CCTK_REAL_VEC pm1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dy); + const CCTK_REAL_VEC pm1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dz); + const CCTK_REAL_VEC pm1o12dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dx,dx)); + const CCTK_REAL_VEC pm1o12dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dy,dy)); + const CCTK_REAL_VEC pm1o12dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dz,dz)); + const CCTK_REAL_VEC pm1o16dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dx); + const CCTK_REAL_VEC pm1o16dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dy); + const CCTK_REAL_VEC pm1o16dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dz); + const CCTK_REAL_VEC pm1o256dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dx); + const CCTK_REAL_VEC pm1o256dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dy); + const CCTK_REAL_VEC pm1o256dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dz); + const CCTK_REAL_VEC pm1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dx); + const CCTK_REAL_VEC pm1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dy); + const CCTK_REAL_VEC pm1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dz); + const CCTK_REAL_VEC pm1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dx); + const CCTK_REAL_VEC pm1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dy); + const CCTK_REAL_VEC pm1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dz); + const CCTK_REAL_VEC pm1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dx); + const CCTK_REAL_VEC pm1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dy); + const CCTK_REAL_VEC pm1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dz); /* Jacobian variable pointers */ - bool const use_jacobian CCTK_ATTRIBUTE_UNUSED = (!CCTK_IsFunctionAliased("MultiPatch_GetMap") || MultiPatch_GetMap(cctkGH) != jacobian_identity_map) - && strlen(jacobian_group) > 0; - if (use_jacobian && strlen(jacobian_derivative_group) == 0) + const bool use_jacobian1 = (!CCTK_IsFunctionAliased("MultiPatch_GetMap") || MultiPatch_GetMap(cctkGH) != jacobian_identity_map) + && strlen(jacobian_group) > 0; + const bool use_jacobian = assume_use_jacobian>=0 ? assume_use_jacobian : use_jacobian1; + const bool usejacobian CCTK_ATTRIBUTE_UNUSED = use_jacobian; + if (use_jacobian && (strlen(jacobian_determinant_group) == 0 || strlen(jacobian_inverse_group) == 0 || strlen(jacobian_derivative_group) == 0)) { - CCTK_WARN (1, "GenericFD::jacobian_group and GenericFD::jacobian_derivative_group must both be set to valid group names"); + CCTK_WARN(1, "GenericFD::jacobian_group, GenericFD::jacobian_determinant_group, GenericFD::jacobian_inverse_group, and GenericFD::jacobian_derivative_group must all be set to valid group names"); } - CCTK_REAL const *restrict jacobian_ptrs[9]; + const CCTK_REAL* restrict jacobian_ptrs[9]; if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_group, 9, jacobian_ptrs); - CCTK_REAL const *restrict const J11 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[0] : 0; - CCTK_REAL const *restrict const J12 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[1] : 0; - CCTK_REAL const *restrict const J13 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[2] : 0; - CCTK_REAL const *restrict const J21 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[3] : 0; - CCTK_REAL const *restrict const J22 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[4] : 0; - CCTK_REAL const *restrict const J23 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[5] : 0; - CCTK_REAL const *restrict const J31 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[6] : 0; - CCTK_REAL const *restrict const J32 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[7] : 0; - CCTK_REAL const *restrict const J33 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[8] : 0; + const CCTK_REAL* restrict const J11 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[0] : 0; + const CCTK_REAL* restrict const J12 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[1] : 0; + const CCTK_REAL* restrict const J13 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[2] : 0; + const CCTK_REAL* restrict const J21 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[3] : 0; + const CCTK_REAL* restrict const J22 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[4] : 0; + const CCTK_REAL* restrict const J23 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[5] : 0; + const CCTK_REAL* restrict const J31 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[6] : 0; + const CCTK_REAL* restrict const J32 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[7] : 0; + const CCTK_REAL* restrict const J33 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[8] : 0; + + const CCTK_REAL* restrict jacobian_determinant_ptrs[1] CCTK_ATTRIBUTE_UNUSED; + if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_determinant_group, + 1, jacobian_determinant_ptrs); + + const CCTK_REAL* restrict const detJ CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[0] : 0; - CCTK_REAL const *restrict jacobian_derivative_ptrs[18] CCTK_ATTRIBUTE_UNUSED; + const CCTK_REAL* restrict jacobian_inverse_ptrs[9] CCTK_ATTRIBUTE_UNUSED; + if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_inverse_group, + 9, jacobian_inverse_ptrs); + + const CCTK_REAL* restrict const iJ11 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[0] : 0; + const CCTK_REAL* restrict const iJ12 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[1] : 0; + const CCTK_REAL* restrict const iJ13 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[2] : 0; + const CCTK_REAL* restrict const iJ21 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[3] : 0; + const CCTK_REAL* restrict const iJ22 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[4] : 0; + const CCTK_REAL* restrict const iJ23 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[5] : 0; + const CCTK_REAL* restrict const iJ31 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[6] : 0; + const CCTK_REAL* restrict const iJ32 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[7] : 0; + const CCTK_REAL* restrict const iJ33 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[8] : 0; + + const CCTK_REAL* restrict jacobian_derivative_ptrs[18] CCTK_ATTRIBUTE_UNUSED; if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_derivative_group, 18, jacobian_derivative_ptrs); - CCTK_REAL const *restrict const dJ111 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[0] : 0; - CCTK_REAL const *restrict const dJ112 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[1] : 0; - CCTK_REAL const *restrict const dJ113 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[2] : 0; - CCTK_REAL const *restrict const dJ122 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[3] : 0; - CCTK_REAL const *restrict const dJ123 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[4] : 0; - CCTK_REAL const *restrict const dJ133 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[5] : 0; - CCTK_REAL const *restrict const dJ211 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[6] : 0; - CCTK_REAL const *restrict const dJ212 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[7] : 0; - CCTK_REAL const *restrict const dJ213 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[8] : 0; - CCTK_REAL const *restrict const dJ222 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[9] : 0; - CCTK_REAL const *restrict const dJ223 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[10] : 0; - CCTK_REAL const *restrict const dJ233 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[11] : 0; - CCTK_REAL const *restrict const dJ311 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[12] : 0; - CCTK_REAL const *restrict const dJ312 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[13] : 0; - CCTK_REAL const *restrict const dJ313 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[14] : 0; - CCTK_REAL const *restrict const dJ322 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[15] : 0; - CCTK_REAL const *restrict const dJ323 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[16] : 0; - CCTK_REAL const *restrict const dJ333 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[17] : 0; + const CCTK_REAL* restrict const dJ111 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[0] : 0; + const CCTK_REAL* restrict const dJ112 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[1] : 0; + const CCTK_REAL* restrict const dJ113 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[2] : 0; + const CCTK_REAL* restrict const dJ122 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[3] : 0; + const CCTK_REAL* restrict const dJ123 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[4] : 0; + const CCTK_REAL* restrict const dJ133 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[5] : 0; + const CCTK_REAL* restrict const dJ211 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[6] : 0; + const CCTK_REAL* restrict const dJ212 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[7] : 0; + const CCTK_REAL* restrict const dJ213 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[8] : 0; + const CCTK_REAL* restrict const dJ222 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[9] : 0; + const CCTK_REAL* restrict const dJ223 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[10] : 0; + const CCTK_REAL* restrict const dJ233 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[11] : 0; + const CCTK_REAL* restrict const dJ311 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[12] : 0; + const CCTK_REAL* restrict const dJ312 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[13] : 0; + const CCTK_REAL* restrict const dJ313 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[14] : 0; + const CCTK_REAL* restrict const dJ322 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[15] : 0; + const CCTK_REAL* restrict const dJ323 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[16] : 0; + const CCTK_REAL* restrict const dJ333 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[17] : 0; /* Assign local copies of arrays functions */ @@ -208,13 +232,20 @@ static void ML_BSSN_convertToADMBaseDtLapseShift_Body(cGH const * restrict 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_BSSN_convertToADMBaseDtLapseShift, - 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 */ @@ -258,58 +289,59 @@ static void ML_BSSN_convertToADMBaseDtLapseShift_Body(cGH const * restrict const /* 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 PDupwindNthAnti1alpha CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm1alpha CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti2alpha CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm2alpha CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti3alpha CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm3alpha CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti1beta1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm1beta1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti2beta1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm2beta1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti3beta1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm3beta1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti1beta2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm1beta2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti2beta2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm2beta2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti3beta2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm3beta2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti1beta3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm1beta3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti2beta3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm2beta3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti3beta3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm3beta3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth1gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth2gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth3gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth1gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth2gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth3gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth1gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth2gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth3gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth1gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth2gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth3gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth1gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth2gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth3gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth1gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth2gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth3gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth1phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth2phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth3phi CCTK_ATTRIBUTE_UNUSED ; - - 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 PDupwindNthAnti1alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm1alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti2alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm2alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti3alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm3alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti1beta1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm1beta1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti2beta1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm2beta1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti3beta1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm3beta1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti1beta2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm1beta2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti2beta2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm2beta2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti3beta2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm3beta2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti1beta3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm1beta3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti2beta3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm2beta3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti3beta3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm3beta3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3phi CCTK_ATTRIBUTE_UNUSED; + + switch (fdOrder) { case 2: + { PDstandardNth1alpha = PDstandardNthfdOrder21(&alpha[index]); PDstandardNth2alpha = PDstandardNthfdOrder22(&alpha[index]); PDstandardNth3alpha = PDstandardNthfdOrder23(&alpha[index]); @@ -359,8 +391,10 @@ static void ML_BSSN_convertToADMBaseDtLapseShift_Body(cGH const * restrict const PDstandardNth2phi = PDstandardNthfdOrder22(&phi[index]); PDstandardNth3phi = PDstandardNthfdOrder23(&phi[index]); break; + } case 4: + { PDstandardNth1alpha = PDstandardNthfdOrder41(&alpha[index]); PDstandardNth2alpha = PDstandardNthfdOrder42(&alpha[index]); PDstandardNth3alpha = PDstandardNthfdOrder43(&alpha[index]); @@ -410,8 +444,10 @@ static void ML_BSSN_convertToADMBaseDtLapseShift_Body(cGH const * restrict const PDstandardNth2phi = PDstandardNthfdOrder42(&phi[index]); PDstandardNth3phi = PDstandardNthfdOrder43(&phi[index]); break; + } case 6: + { PDstandardNth1alpha = PDstandardNthfdOrder61(&alpha[index]); PDstandardNth2alpha = PDstandardNthfdOrder62(&alpha[index]); PDstandardNth3alpha = PDstandardNthfdOrder63(&alpha[index]); @@ -461,8 +497,10 @@ static void ML_BSSN_convertToADMBaseDtLapseShift_Body(cGH const * restrict const PDstandardNth2phi = PDstandardNthfdOrder62(&phi[index]); PDstandardNth3phi = PDstandardNthfdOrder63(&phi[index]); break; + } case 8: + { PDstandardNth1alpha = PDstandardNthfdOrder81(&alpha[index]); PDstandardNth2alpha = PDstandardNthfdOrder82(&alpha[index]); PDstandardNth3alpha = PDstandardNthfdOrder83(&alpha[index]); @@ -512,6 +550,9 @@ static void ML_BSSN_convertToADMBaseDtLapseShift_Body(cGH const * restrict const PDstandardNth2phi = PDstandardNthfdOrder82(&phi[index]); PDstandardNth3phi = PDstandardNthfdOrder83(&phi[index]); break; + } + default: + CCTK_BUILTIN_UNREACHABLE(); } /* Calculate temporaries and grid functions */ @@ -521,54 +562,54 @@ static void ML_BSSN_convertToADMBaseDtLapseShift_Body(cGH const * restrict const ptrdiff_t CCTK_ATTRIBUTE_UNUSED dir3 = kisgn(beta3L); - CCTK_REAL_VEC JacPDstandardNth1alpha CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth1gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth1gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth1gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth1gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth1gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth1gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth1phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth2alpha CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth2gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth2gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth2gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth2gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth2gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth2gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth2phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth3alpha CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth3gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth3gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth3gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth3gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth3gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth3gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth3phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti1alpha CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti1beta1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti1beta2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti1beta3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti2alpha CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti2beta1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti2beta2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti2beta3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti3alpha CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti3beta1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti3beta2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti3beta3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm1alpha CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm1beta1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm1beta2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm1beta3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm2alpha CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm2beta1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm2beta2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm2beta3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm3alpha CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm3beta1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm3beta2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm3beta3 CCTK_ATTRIBUTE_UNUSED ; + CCTK_REAL_VEC JacPDstandardNth1alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti1alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti1beta1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti1beta2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti1beta3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti2alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti2beta1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti2beta2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti2beta3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti3alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti3beta1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti3beta2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti3beta3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm1alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm1beta1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm1beta2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm1beta3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm2alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm2beta1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm2beta2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm2beta3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm3alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm3beta1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm3beta2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm3beta3 CCTK_ATTRIBUTE_UNUSED; if (use_jacobian) { @@ -815,79 +856,79 @@ static void ML_BSSN_convertToADMBaseDtLapseShift_Body(cGH const * restrict const JacPDupwindNthSymm3beta3 = PDupwindNthSymm3beta3; } - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED detgt = ToReal(1.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED detgt = ToReal(1); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gtu11 = - kdiv(kmadd(gt22L,gt33L,kmul(kmul(gt23L,gt23L),ToReal(-1.))),detgt); + kdiv(kmsub(gt22L,gt33L,kmul(gt23L,gt23L)),detgt); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gtu12 = - kdiv(kmadd(gt13L,gt23L,kmul(gt12L,kmul(gt33L,ToReal(-1.)))),detgt); + kdiv(kmsub(gt13L,gt23L,kmul(gt12L,gt33L)),detgt); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gtu13 = - kdiv(kmadd(gt12L,gt23L,kmul(gt13L,kmul(gt22L,ToReal(-1.)))),detgt); + kdiv(kmsub(gt12L,gt23L,kmul(gt13L,gt22L)),detgt); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gtu22 = - kdiv(kmadd(gt11L,gt33L,kmul(kmul(gt13L,gt13L),ToReal(-1.))),detgt); + kdiv(kmsub(gt11L,gt33L,kmul(gt13L,gt13L)),detgt); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gtu23 = - kdiv(kmadd(gt12L,gt13L,kmul(gt11L,kmul(gt23L,ToReal(-1.)))),detgt); + kdiv(kmsub(gt12L,gt13L,kmul(gt11L,gt23L)),detgt); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gtu33 = - kdiv(kmadd(gt11L,gt22L,kmul(kmul(gt12L,gt12L),ToReal(-1.))),detgt); + kdiv(kmsub(gt11L,gt22L,kmul(gt12L,gt12L)),detgt); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED em4phi = IfThen(conformalMethod == - 1.,kmul(phiL,phiL),kexp(kmul(phiL,ToReal(-4.)))); + 1,kmul(phiL,phiL),kexp(kmul(phiL,ToReal(-4)))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED eta = kdiv(ToReal(SpatialBetaDriverRadius),kfmax(rL,ToReal(SpatialBetaDriverRadius))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED theta = - kfmin(ToReal(1.),kexp(kmadd(kmul(rL,ToReal(-1.)),ToReal(ScalarINV(SpatialShiftGammaCoeffRadius)),ToReal(1.)))); + kfmin(ToReal(1),kexp(knmsub(rL,ToReal(ScalarINV(SpatialShiftGammaCoeffRadius)),ToReal(1)))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Ddetgt1 = - kmadd(gtu11,JacPDstandardNth1gt11,kmadd(gtu22,JacPDstandardNth1gt22,kmadd(gtu33,JacPDstandardNth1gt33,kmul(kmadd(gtu12,JacPDstandardNth1gt12,kmadd(gtu13,JacPDstandardNth1gt13,kmul(gtu23,JacPDstandardNth1gt23))),ToReal(2.))))); + kmadd(gtu11,JacPDstandardNth1gt11,kmadd(gtu22,JacPDstandardNth1gt22,kmadd(gtu33,JacPDstandardNth1gt33,kmul(kmadd(gtu12,JacPDstandardNth1gt12,kmadd(gtu13,JacPDstandardNth1gt13,kmul(gtu23,JacPDstandardNth1gt23))),ToReal(2))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Ddetgt2 = - kmadd(gtu11,JacPDstandardNth2gt11,kmadd(gtu22,JacPDstandardNth2gt22,kmadd(gtu33,JacPDstandardNth2gt33,kmul(kmadd(gtu12,JacPDstandardNth2gt12,kmadd(gtu13,JacPDstandardNth2gt13,kmul(gtu23,JacPDstandardNth2gt23))),ToReal(2.))))); + kmadd(gtu11,JacPDstandardNth2gt11,kmadd(gtu22,JacPDstandardNth2gt22,kmadd(gtu33,JacPDstandardNth2gt33,kmul(kmadd(gtu12,JacPDstandardNth2gt12,kmadd(gtu13,JacPDstandardNth2gt13,kmul(gtu23,JacPDstandardNth2gt23))),ToReal(2))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Ddetgt3 = - kmadd(gtu11,JacPDstandardNth3gt11,kmadd(gtu22,JacPDstandardNth3gt22,kmadd(gtu33,JacPDstandardNth3gt33,kmul(kmadd(gtu12,JacPDstandardNth3gt12,kmadd(gtu13,JacPDstandardNth3gt13,kmul(gtu23,JacPDstandardNth3gt23))),ToReal(2.))))); + kmadd(gtu11,JacPDstandardNth3gt11,kmadd(gtu22,JacPDstandardNth3gt22,kmadd(gtu33,JacPDstandardNth3gt33,kmul(kmadd(gtu12,JacPDstandardNth3gt12,kmadd(gtu13,JacPDstandardNth3gt13,kmul(gtu23,JacPDstandardNth3gt23))),ToReal(2))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED dtalpL = - kmadd(kpow(alphaL,harmonicN),kmul(ToReal(-1.),kmul(ToReal(harmonicF),kmadd(kmadd(trKL,ToReal(-1.),AL),ToReal(LapseACoeff),trKL))),kmul(kmadd(beta1L,JacPDupwindNthAnti1alpha,kmadd(beta2L,JacPDupwindNthAnti2alpha,kmadd(beta3L,JacPDupwindNthAnti3alpha,kmadd(JacPDupwindNthSymm1alpha,kfabs(beta1L),kmadd(JacPDupwindNthSymm2alpha,kfabs(beta2L),kmul(JacPDupwindNthSymm3alpha,kfabs(beta3L))))))),ToReal(LapseAdvectionCoeff))); + kmsub(kmadd(beta1L,JacPDupwindNthAnti1alpha,kmadd(beta2L,JacPDupwindNthAnti2alpha,kmadd(beta3L,JacPDupwindNthAnti3alpha,kmadd(JacPDupwindNthSymm1alpha,kfabs(beta1L),kmadd(JacPDupwindNthSymm2alpha,kfabs(beta2L),kmul(JacPDupwindNthSymm3alpha,kfabs(beta3L))))))),ToReal(LapseAdvectionCoeff),kmul(kpow(alphaL,harmonicN),kmul(ToReal(harmonicF),kmadd(ksub(AL,trKL),ToReal(LapseACoeff),trKL)))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED dtbetaxL = kmadd(kmadd(beta1L,JacPDupwindNthAnti1beta1,kmadd(beta2L,JacPDupwindNthAnti2beta1,kmadd(beta3L,JacPDupwindNthAnti3beta1,kmadd(JacPDupwindNthSymm1beta1,kfabs(beta1L),kmadd(JacPDupwindNthSymm2beta1,kfabs(beta2L),kmul(JacPDupwindNthSymm3beta1,kfabs(beta3L))))))),ToReal(ShiftAdvectionCoeff),IfThen(harmonicShift,kmul(alphaL,kmul(em4phi,kmul(ToReal(-0.5),kmadd(gtu11,kmadd(alphaL,kmadd(kmadd(gtu11,JacPDstandardNth1gt11,kmadd(gtu12,kadd(JacPDstandardNth1gt12,JacPDstandardNth2gt11),kmadd(gtu22,JacPDstandardNth2gt12,kmadd(gtu13,kadd(JacPDstandardNth1gt13,JacPDstandardNth3gt11),kmadd(gtu23,kadd(JacPDstandardNth2gt13,JacPDstandardNth3gt12),kmadd(gtu33,JacPDstandardNth3gt13,kmul(JacPDstandardNth1phi,IfThen(conformalMethod == - 1.,kdiv(ToReal(1),phiL),ToReal(-2.))))))))),ToReal(-2.),Ddetgt1),kmul(JacPDstandardNth1alpha,ToReal(2.))),kmadd(gtu12,kmadd(alphaL,kmadd(kmadd(gtu11,JacPDstandardNth1gt12,kmadd(gtu12,kadd(JacPDstandardNth1gt22,JacPDstandardNth2gt12),kmadd(gtu22,JacPDstandardNth2gt22,kmadd(gtu13,kadd(JacPDstandardNth1gt23,JacPDstandardNth3gt12),kmadd(gtu23,kadd(JacPDstandardNth2gt23,JacPDstandardNth3gt22),kmadd(gtu33,JacPDstandardNth3gt23,kmul(JacPDstandardNth2phi,IfThen(conformalMethod + 1,kdiv(ToReal(1),phiL),ToReal(-2))))))))),ToReal(-2),Ddetgt1),kmul(JacPDstandardNth1alpha,ToReal(2))),kmadd(gtu12,kmadd(alphaL,kmadd(kmadd(gtu11,JacPDstandardNth1gt12,kmadd(gtu12,kadd(JacPDstandardNth1gt22,JacPDstandardNth2gt12),kmadd(gtu22,JacPDstandardNth2gt22,kmadd(gtu13,kadd(JacPDstandardNth1gt23,JacPDstandardNth3gt12),kmadd(gtu23,kadd(JacPDstandardNth2gt23,JacPDstandardNth3gt22),kmadd(gtu33,JacPDstandardNth3gt23,kmul(JacPDstandardNth2phi,IfThen(conformalMethod == - 1.,kdiv(ToReal(1),phiL),ToReal(-2.))))))))),ToReal(-2.),Ddetgt2),kmul(JacPDstandardNth2alpha,ToReal(2.))),kmul(gtu13,kmadd(alphaL,kmadd(kmadd(gtu11,JacPDstandardNth1gt13,kmadd(gtu12,kadd(JacPDstandardNth1gt23,JacPDstandardNth2gt13),kmadd(gtu22,JacPDstandardNth2gt23,kmadd(gtu13,kadd(JacPDstandardNth1gt33,JacPDstandardNth3gt13),kmadd(gtu23,kadd(JacPDstandardNth2gt33,JacPDstandardNth3gt23),kmadd(gtu33,JacPDstandardNth3gt33,kmul(JacPDstandardNth3phi,IfThen(conformalMethod + 1,kdiv(ToReal(1),phiL),ToReal(-2))))))))),ToReal(-2),Ddetgt2),kmul(JacPDstandardNth2alpha,ToReal(2))),kmul(gtu13,kmadd(alphaL,kmadd(kmadd(gtu11,JacPDstandardNth1gt13,kmadd(gtu12,kadd(JacPDstandardNth1gt23,JacPDstandardNth2gt13),kmadd(gtu22,JacPDstandardNth2gt23,kmadd(gtu13,kadd(JacPDstandardNth1gt33,JacPDstandardNth3gt13),kmadd(gtu23,kadd(JacPDstandardNth2gt33,JacPDstandardNth3gt23),kmadd(gtu33,JacPDstandardNth3gt33,kmul(JacPDstandardNth3phi,IfThen(conformalMethod == - 1.,kdiv(ToReal(1),phiL),ToReal(-2.))))))))),ToReal(-2.),Ddetgt3),kmul(JacPDstandardNth3alpha,ToReal(2.))))))))),kmul(theta,kmul(kadd(Xt1L,kmadd(kmadd(Xt1L,ToReal(-1.),B1L),ToReal(ShiftBCoeff),kmul(beta1L,kmul(eta,ToReal(BetaDriver*(-1. + 1,kdiv(ToReal(1),phiL),ToReal(-2))))))))),ToReal(-2),Ddetgt3),kmul(JacPDstandardNth3alpha,ToReal(2))))))))),kmul(theta,kmul(kadd(Xt1L,kmadd(ksub(B1L,Xt1L),ToReal(ShiftBCoeff),kmul(beta1L,kmul(eta,ToReal(BetaDriver*(-1 + ShiftBCoeff)))))),ToReal(ShiftGammaCoeff))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED dtbetayL = kmadd(kmadd(beta1L,JacPDupwindNthAnti1beta2,kmadd(beta2L,JacPDupwindNthAnti2beta2,kmadd(beta3L,JacPDupwindNthAnti3beta2,kmadd(JacPDupwindNthSymm1beta2,kfabs(beta1L),kmadd(JacPDupwindNthSymm2beta2,kfabs(beta2L),kmul(JacPDupwindNthSymm3beta2,kfabs(beta3L))))))),ToReal(ShiftAdvectionCoeff),IfThen(harmonicShift,kmul(alphaL,kmul(em4phi,kmul(ToReal(-0.5),kmadd(gtu12,kmadd(alphaL,kmadd(kmadd(gtu11,JacPDstandardNth1gt11,kmadd(gtu12,kadd(JacPDstandardNth1gt12,JacPDstandardNth2gt11),kmadd(gtu22,JacPDstandardNth2gt12,kmadd(gtu13,kadd(JacPDstandardNth1gt13,JacPDstandardNth3gt11),kmadd(gtu23,kadd(JacPDstandardNth2gt13,JacPDstandardNth3gt12),kmadd(gtu33,JacPDstandardNth3gt13,kmul(JacPDstandardNth1phi,IfThen(conformalMethod == - 1.,kdiv(ToReal(1),phiL),ToReal(-2.))))))))),ToReal(-2.),Ddetgt1),kmul(JacPDstandardNth1alpha,ToReal(2.))),kmadd(gtu22,kmadd(alphaL,kmadd(kmadd(gtu11,JacPDstandardNth1gt12,kmadd(gtu12,kadd(JacPDstandardNth1gt22,JacPDstandardNth2gt12),kmadd(gtu22,JacPDstandardNth2gt22,kmadd(gtu13,kadd(JacPDstandardNth1gt23,JacPDstandardNth3gt12),kmadd(gtu23,kadd(JacPDstandardNth2gt23,JacPDstandardNth3gt22),kmadd(gtu33,JacPDstandardNth3gt23,kmul(JacPDstandardNth2phi,IfThen(conformalMethod + 1,kdiv(ToReal(1),phiL),ToReal(-2))))))))),ToReal(-2),Ddetgt1),kmul(JacPDstandardNth1alpha,ToReal(2))),kmadd(gtu22,kmadd(alphaL,kmadd(kmadd(gtu11,JacPDstandardNth1gt12,kmadd(gtu12,kadd(JacPDstandardNth1gt22,JacPDstandardNth2gt12),kmadd(gtu22,JacPDstandardNth2gt22,kmadd(gtu13,kadd(JacPDstandardNth1gt23,JacPDstandardNth3gt12),kmadd(gtu23,kadd(JacPDstandardNth2gt23,JacPDstandardNth3gt22),kmadd(gtu33,JacPDstandardNth3gt23,kmul(JacPDstandardNth2phi,IfThen(conformalMethod == - 1.,kdiv(ToReal(1),phiL),ToReal(-2.))))))))),ToReal(-2.),Ddetgt2),kmul(JacPDstandardNth2alpha,ToReal(2.))),kmul(gtu23,kmadd(alphaL,kmadd(kmadd(gtu11,JacPDstandardNth1gt13,kmadd(gtu12,kadd(JacPDstandardNth1gt23,JacPDstandardNth2gt13),kmadd(gtu22,JacPDstandardNth2gt23,kmadd(gtu13,kadd(JacPDstandardNth1gt33,JacPDstandardNth3gt13),kmadd(gtu23,kadd(JacPDstandardNth2gt33,JacPDstandardNth3gt23),kmadd(gtu33,JacPDstandardNth3gt33,kmul(JacPDstandardNth3phi,IfThen(conformalMethod + 1,kdiv(ToReal(1),phiL),ToReal(-2))))))))),ToReal(-2),Ddetgt2),kmul(JacPDstandardNth2alpha,ToReal(2))),kmul(gtu23,kmadd(alphaL,kmadd(kmadd(gtu11,JacPDstandardNth1gt13,kmadd(gtu12,kadd(JacPDstandardNth1gt23,JacPDstandardNth2gt13),kmadd(gtu22,JacPDstandardNth2gt23,kmadd(gtu13,kadd(JacPDstandardNth1gt33,JacPDstandardNth3gt13),kmadd(gtu23,kadd(JacPDstandardNth2gt33,JacPDstandardNth3gt23),kmadd(gtu33,JacPDstandardNth3gt33,kmul(JacPDstandardNth3phi,IfThen(conformalMethod == - 1.,kdiv(ToReal(1),phiL),ToReal(-2.))))))))),ToReal(-2.),Ddetgt3),kmul(JacPDstandardNth3alpha,ToReal(2.))))))))),kmul(theta,kmul(kadd(Xt2L,kmadd(kmadd(Xt2L,ToReal(-1.),B2L),ToReal(ShiftBCoeff),kmul(beta2L,kmul(eta,ToReal(BetaDriver*(-1. + 1,kdiv(ToReal(1),phiL),ToReal(-2))))))))),ToReal(-2),Ddetgt3),kmul(JacPDstandardNth3alpha,ToReal(2))))))))),kmul(theta,kmul(kadd(Xt2L,kmadd(ksub(B2L,Xt2L),ToReal(ShiftBCoeff),kmul(beta2L,kmul(eta,ToReal(BetaDriver*(-1 + ShiftBCoeff)))))),ToReal(ShiftGammaCoeff))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED dtbetazL = kmadd(kmadd(beta1L,JacPDupwindNthAnti1beta3,kmadd(beta2L,JacPDupwindNthAnti2beta3,kmadd(beta3L,JacPDupwindNthAnti3beta3,kmadd(JacPDupwindNthSymm1beta3,kfabs(beta1L),kmadd(JacPDupwindNthSymm2beta3,kfabs(beta2L),kmul(JacPDupwindNthSymm3beta3,kfabs(beta3L))))))),ToReal(ShiftAdvectionCoeff),IfThen(harmonicShift,kmul(alphaL,kmul(em4phi,kmul(ToReal(-0.5),kmadd(gtu13,kmadd(alphaL,kmadd(kmadd(gtu11,JacPDstandardNth1gt11,kmadd(gtu12,kadd(JacPDstandardNth1gt12,JacPDstandardNth2gt11),kmadd(gtu22,JacPDstandardNth2gt12,kmadd(gtu13,kadd(JacPDstandardNth1gt13,JacPDstandardNth3gt11),kmadd(gtu23,kadd(JacPDstandardNth2gt13,JacPDstandardNth3gt12),kmadd(gtu33,JacPDstandardNth3gt13,kmul(JacPDstandardNth1phi,IfThen(conformalMethod == - 1.,kdiv(ToReal(1),phiL),ToReal(-2.))))))))),ToReal(-2.),Ddetgt1),kmul(JacPDstandardNth1alpha,ToReal(2.))),kmadd(gtu23,kmadd(alphaL,kmadd(kmadd(gtu11,JacPDstandardNth1gt12,kmadd(gtu12,kadd(JacPDstandardNth1gt22,JacPDstandardNth2gt12),kmadd(gtu22,JacPDstandardNth2gt22,kmadd(gtu13,kadd(JacPDstandardNth1gt23,JacPDstandardNth3gt12),kmadd(gtu23,kadd(JacPDstandardNth2gt23,JacPDstandardNth3gt22),kmadd(gtu33,JacPDstandardNth3gt23,kmul(JacPDstandardNth2phi,IfThen(conformalMethod + 1,kdiv(ToReal(1),phiL),ToReal(-2))))))))),ToReal(-2),Ddetgt1),kmul(JacPDstandardNth1alpha,ToReal(2))),kmadd(gtu23,kmadd(alphaL,kmadd(kmadd(gtu11,JacPDstandardNth1gt12,kmadd(gtu12,kadd(JacPDstandardNth1gt22,JacPDstandardNth2gt12),kmadd(gtu22,JacPDstandardNth2gt22,kmadd(gtu13,kadd(JacPDstandardNth1gt23,JacPDstandardNth3gt12),kmadd(gtu23,kadd(JacPDstandardNth2gt23,JacPDstandardNth3gt22),kmadd(gtu33,JacPDstandardNth3gt23,kmul(JacPDstandardNth2phi,IfThen(conformalMethod == - 1.,kdiv(ToReal(1),phiL),ToReal(-2.))))))))),ToReal(-2.),Ddetgt2),kmul(JacPDstandardNth2alpha,ToReal(2.))),kmul(gtu33,kmadd(alphaL,kmadd(kmadd(gtu11,JacPDstandardNth1gt13,kmadd(gtu12,kadd(JacPDstandardNth1gt23,JacPDstandardNth2gt13),kmadd(gtu22,JacPDstandardNth2gt23,kmadd(gtu13,kadd(JacPDstandardNth1gt33,JacPDstandardNth3gt13),kmadd(gtu23,kadd(JacPDstandardNth2gt33,JacPDstandardNth3gt23),kmadd(gtu33,JacPDstandardNth3gt33,kmul(JacPDstandardNth3phi,IfThen(conformalMethod + 1,kdiv(ToReal(1),phiL),ToReal(-2))))))))),ToReal(-2),Ddetgt2),kmul(JacPDstandardNth2alpha,ToReal(2))),kmul(gtu33,kmadd(alphaL,kmadd(kmadd(gtu11,JacPDstandardNth1gt13,kmadd(gtu12,kadd(JacPDstandardNth1gt23,JacPDstandardNth2gt13),kmadd(gtu22,JacPDstandardNth2gt23,kmadd(gtu13,kadd(JacPDstandardNth1gt33,JacPDstandardNth3gt13),kmadd(gtu23,kadd(JacPDstandardNth2gt33,JacPDstandardNth3gt23),kmadd(gtu33,JacPDstandardNth3gt33,kmul(JacPDstandardNth3phi,IfThen(conformalMethod == - 1.,kdiv(ToReal(1),phiL),ToReal(-2.))))))))),ToReal(-2.),Ddetgt3),kmul(JacPDstandardNth3alpha,ToReal(2.))))))))),kmul(theta,kmul(kadd(Xt3L,kmadd(kmadd(Xt3L,ToReal(-1.),B3L),ToReal(ShiftBCoeff),kmul(beta3L,kmul(eta,ToReal(BetaDriver*(-1. + 1,kdiv(ToReal(1),phiL),ToReal(-2))))))))),ToReal(-2),Ddetgt3),kmul(JacPDstandardNth3alpha,ToReal(2))))))))),kmul(theta,kmul(kadd(Xt3L,kmadd(ksub(B3L,Xt3L),ToReal(ShiftBCoeff),kmul(beta3L,kmul(eta,ToReal(BetaDriver*(-1 + ShiftBCoeff)))))),ToReal(ShiftGammaCoeff))))); /* Copy local copies back to grid functions */ - vec_store_partial_prepare(i,kimin,kimax); + vec_store_partial_prepare(i,vecimin,vecimax); vec_store_nta_partial(dtalp[index],dtalpL); vec_store_nta_partial(dtbetax[index],dtbetaxL); vec_store_nta_partial(dtbetay[index],dtbetayL); @@ -912,7 +953,7 @@ extern "C" void ML_BSSN_convertToADMBaseDtLapseShift(CCTK_ARGUMENTS) return; } - const char *const groups[] = { + const char* const groups[] = { "ADMBase::dtlapse", "ADMBase::dtshift", "grid::coordinates", @@ -926,23 +967,33 @@ extern "C" void ML_BSSN_convertToADMBaseDtLapseShift(CCTK_ARGUMENTS) "ML_BSSN::ML_trace_curv"}; GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_convertToADMBaseDtLapseShift", 11, groups); - switch(fdOrder) + switch (fdOrder) { case 2: + { GenericFD_EnsureStencilFits(cctkGH, "ML_BSSN_convertToADMBaseDtLapseShift", 2, 2, 2); break; + } case 4: + { GenericFD_EnsureStencilFits(cctkGH, "ML_BSSN_convertToADMBaseDtLapseShift", 3, 3, 3); break; + } case 6: + { GenericFD_EnsureStencilFits(cctkGH, "ML_BSSN_convertToADMBaseDtLapseShift", 4, 4, 4); break; + } case 8: + { GenericFD_EnsureStencilFits(cctkGH, "ML_BSSN_convertToADMBaseDtLapseShift", 5, 5, 5); break; + } + default: + CCTK_BUILTIN_UNREACHABLE(); } GenericFD_LoopOverInterior(cctkGH, ML_BSSN_convertToADMBaseDtLapseShift_Body); diff --git a/ML_BSSN/src/ML_BSSN_convertToADMBaseDtLapseShiftBoundary.cc b/ML_BSSN/src/ML_BSSN_convertToADMBaseDtLapseShiftBoundary.cc index 9c7c58a..d7e5126 100644 --- a/ML_BSSN/src/ML_BSSN_convertToADMBaseDtLapseShiftBoundary.cc +++ b/ML_BSSN/src/ML_BSSN_convertToADMBaseDtLapseShiftBoundary.cc @@ -32,7 +32,9 @@ extern "C" void ML_BSSN_convertToADMBaseDtLapseShiftBoundary_SelectBCs(CCTK_ARGU DECLARE_CCTK_ARGUMENTS; DECLARE_CCTK_PARAMETERS; - CCTK_INT ierr CCTK_ATTRIBUTE_UNUSED = 0; + if (cctk_iteration % ML_BSSN_convertToADMBaseDtLapseShiftBoundary_calc_every != ML_BSSN_convertToADMBaseDtLapseShiftBoundary_calc_offset) + return; + CCTK_INT ierr CCTK_ATTRIBUTE_UNUSED = 0; ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ADMBase::dtlapse","flat"); if (ierr < 0) CCTK_WARN(1, "Failed to register flat BC for ADMBase::dtlapse."); @@ -42,7 +44,7 @@ extern "C" void ML_BSSN_convertToADMBaseDtLapseShiftBoundary_SelectBCs(CCTK_ARGU return; } -static void ML_BSSN_convertToADMBaseDtLapseShiftBoundary_Body(cGH const * restrict const cctkGH, int const dir, int const face, CCTK_REAL const normal[3], CCTK_REAL const tangentA[3], CCTK_REAL const tangentB[3], int const imin[3], int const imax[3], int const n_subblock_gfs, CCTK_REAL * restrict const subblock_gfs[]) +static void ML_BSSN_convertToADMBaseDtLapseShiftBoundary_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,153 +53,175 @@ static void ML_BSSN_convertToADMBaseDtLapseShiftBoundary_Body(cGH const * restri /* Include user-supplied include files */ /* Initialise finite differencing variables */ - ptrdiff_t /*const*/ di CCTK_ATTRIBUTE_UNUSED = 1; - ptrdiff_t /*const*/ dj CCTK_ATTRIBUTE_UNUSED = CCTK_GFINDEX3D(cctkGH,0,1,0) - CCTK_GFINDEX3D(cctkGH,0,0,0); - ptrdiff_t /*const*/ dk CCTK_ATTRIBUTE_UNUSED = CCTK_GFINDEX3D(cctkGH,0,0,1) - CCTK_GFINDEX3D(cctkGH,0,0,0); - ptrdiff_t /*const*/ cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * di; - ptrdiff_t /*const*/ cdj CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * dj; - ptrdiff_t /*const*/ cdk CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * dk; - CCTK_REAL_VEC /*const*/ dx CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(0)); - CCTK_REAL_VEC /*const*/ dy CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(1)); - CCTK_REAL_VEC /*const*/ dz CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(2)); - CCTK_REAL_VEC /*const*/ dt CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_TIME); - CCTK_REAL_VEC /*const*/ t CCTK_ATTRIBUTE_UNUSED = ToReal(cctk_time); - CCTK_REAL_VEC /*const*/ dxi CCTK_ATTRIBUTE_UNUSED = INV(dx); - CCTK_REAL_VEC /*const*/ dyi CCTK_ATTRIBUTE_UNUSED = INV(dy); - CCTK_REAL_VEC /*const*/ dzi CCTK_ATTRIBUTE_UNUSED = INV(dz); - CCTK_REAL_VEC /*const*/ khalf CCTK_ATTRIBUTE_UNUSED = ToReal(0.5); - CCTK_REAL_VEC /*const*/ kthird CCTK_ATTRIBUTE_UNUSED = ToReal(1.0/3.0); - CCTK_REAL_VEC /*const*/ ktwothird CCTK_ATTRIBUTE_UNUSED = ToReal(2.0/3.0); - CCTK_REAL_VEC /*const*/ kfourthird CCTK_ATTRIBUTE_UNUSED = ToReal(4.0/3.0); - CCTK_REAL_VEC /*const*/ keightthird CCTK_ATTRIBUTE_UNUSED = ToReal(8.0/3.0); - CCTK_REAL_VEC /*const*/ hdxi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dxi); - CCTK_REAL_VEC /*const*/ hdyi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dyi); - CCTK_REAL_VEC /*const*/ hdzi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dzi); + const ptrdiff_t di CCTK_ATTRIBUTE_UNUSED = 1; + const ptrdiff_t dj CCTK_ATTRIBUTE_UNUSED = CCTK_GFINDEX3D(cctkGH,0,1,0) - CCTK_GFINDEX3D(cctkGH,0,0,0); + const ptrdiff_t dk CCTK_ATTRIBUTE_UNUSED = CCTK_GFINDEX3D(cctkGH,0,0,1) - CCTK_GFINDEX3D(cctkGH,0,0,0); + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * di; + const ptrdiff_t cdj CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * dj; + const ptrdiff_t cdk CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * dk; + const CCTK_REAL_VEC dx CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(0)); + const CCTK_REAL_VEC dy CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(1)); + const CCTK_REAL_VEC dz CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(2)); + const CCTK_REAL_VEC dt CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_TIME); + const CCTK_REAL_VEC t CCTK_ATTRIBUTE_UNUSED = ToReal(cctk_time); + const CCTK_REAL_VEC dxi CCTK_ATTRIBUTE_UNUSED = INV(dx); + const CCTK_REAL_VEC dyi CCTK_ATTRIBUTE_UNUSED = INV(dy); + const CCTK_REAL_VEC dzi CCTK_ATTRIBUTE_UNUSED = INV(dz); + const CCTK_REAL_VEC khalf CCTK_ATTRIBUTE_UNUSED = ToReal(0.5); + const CCTK_REAL_VEC kthird CCTK_ATTRIBUTE_UNUSED = ToReal(1.0/3.0); + const CCTK_REAL_VEC ktwothird CCTK_ATTRIBUTE_UNUSED = ToReal(2.0/3.0); + const CCTK_REAL_VEC kfourthird CCTK_ATTRIBUTE_UNUSED = ToReal(4.0/3.0); + const CCTK_REAL_VEC keightthird CCTK_ATTRIBUTE_UNUSED = ToReal(8.0/3.0); + const CCTK_REAL_VEC hdxi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dxi); + const CCTK_REAL_VEC hdyi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dyi); + const CCTK_REAL_VEC hdzi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dzi); /* Initialize predefined quantities */ - CCTK_REAL_VEC /*const*/ p1o1024dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dx); - CCTK_REAL_VEC /*const*/ p1o1024dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dy); - CCTK_REAL_VEC /*const*/ p1o1024dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dz); - CCTK_REAL_VEC /*const*/ p1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dx); - CCTK_REAL_VEC /*const*/ p1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dy); - CCTK_REAL_VEC /*const*/ p1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dz); - CCTK_REAL_VEC /*const*/ p1o12dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dx); - CCTK_REAL_VEC /*const*/ p1o12dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dy); - CCTK_REAL_VEC /*const*/ p1o12dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dz); - CCTK_REAL_VEC /*const*/ p1o144dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o144dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o144dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o1680dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dx); - CCTK_REAL_VEC /*const*/ p1o1680dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dy); - CCTK_REAL_VEC /*const*/ p1o1680dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dz); - CCTK_REAL_VEC /*const*/ p1o180dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ p1o180dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ p1o180dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ p1o24dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dx); - CCTK_REAL_VEC /*const*/ p1o24dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dy); - CCTK_REAL_VEC /*const*/ p1o24dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dz); - CCTK_REAL_VEC /*const*/ p1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dx); - CCTK_REAL_VEC /*const*/ p1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dy); - CCTK_REAL_VEC /*const*/ p1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dz); - CCTK_REAL_VEC /*const*/ p1o3600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o3600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o3600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dx); - CCTK_REAL_VEC /*const*/ p1o4dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o4dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dy); - CCTK_REAL_VEC /*const*/ p1o4dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dz); - CCTK_REAL_VEC /*const*/ p1o5040dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ p1o5040dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ p1o5040dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ p1o560dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dx); - CCTK_REAL_VEC /*const*/ p1o560dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dy); - CCTK_REAL_VEC /*const*/ p1o560dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dz); - CCTK_REAL_VEC /*const*/ p1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dx); - CCTK_REAL_VEC /*const*/ p1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dy); - CCTK_REAL_VEC /*const*/ p1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dz); - CCTK_REAL_VEC /*const*/ p1o64dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dx); - CCTK_REAL_VEC /*const*/ p1o64dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dy); - CCTK_REAL_VEC /*const*/ p1o64dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dz); - CCTK_REAL_VEC /*const*/ p1o705600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o705600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o705600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o840dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dx); - CCTK_REAL_VEC /*const*/ p1o840dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dy); - CCTK_REAL_VEC /*const*/ p1o840dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dz); - CCTK_REAL_VEC /*const*/ p1odx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dx); - CCTK_REAL_VEC /*const*/ p1odx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ p1ody CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dy); - CCTK_REAL_VEC /*const*/ p1ody2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ p1odz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dz); - CCTK_REAL_VEC /*const*/ p1odz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ pm1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dx); - CCTK_REAL_VEC /*const*/ pm1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dy); - CCTK_REAL_VEC /*const*/ pm1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dz); - CCTK_REAL_VEC /*const*/ pm1o12dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ pm1o12dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ pm1o12dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ pm1o16dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dx); - CCTK_REAL_VEC /*const*/ pm1o16dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dy); - CCTK_REAL_VEC /*const*/ pm1o16dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dz); - CCTK_REAL_VEC /*const*/ pm1o256dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dx); - CCTK_REAL_VEC /*const*/ pm1o256dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dy); - CCTK_REAL_VEC /*const*/ pm1o256dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dz); - CCTK_REAL_VEC /*const*/ pm1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dx); - CCTK_REAL_VEC /*const*/ pm1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dy); - CCTK_REAL_VEC /*const*/ pm1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dz); - CCTK_REAL_VEC /*const*/ pm1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dx); - CCTK_REAL_VEC /*const*/ pm1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dy); - CCTK_REAL_VEC /*const*/ pm1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dz); - CCTK_REAL_VEC /*const*/ pm1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dx); - CCTK_REAL_VEC /*const*/ pm1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dy); - CCTK_REAL_VEC /*const*/ pm1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dz); + const CCTK_REAL_VEC p1o1024dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dx); + const CCTK_REAL_VEC p1o1024dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dy); + const CCTK_REAL_VEC p1o1024dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dz); + const CCTK_REAL_VEC p1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dx); + const CCTK_REAL_VEC p1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dy); + const CCTK_REAL_VEC p1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dz); + const CCTK_REAL_VEC p1o12dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dx); + const CCTK_REAL_VEC p1o12dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dy); + const CCTK_REAL_VEC p1o12dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dz); + const CCTK_REAL_VEC p1o144dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dy,dx)); + const CCTK_REAL_VEC p1o144dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dx)); + const CCTK_REAL_VEC p1o144dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dy)); + const CCTK_REAL_VEC p1o1680dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dx); + const CCTK_REAL_VEC p1o1680dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dy); + const CCTK_REAL_VEC p1o1680dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dz); + const CCTK_REAL_VEC p1o180dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dx,dx)); + const CCTK_REAL_VEC p1o180dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dy,dy)); + const CCTK_REAL_VEC p1o180dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dz,dz)); + const CCTK_REAL_VEC p1o24dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dx); + const CCTK_REAL_VEC p1o24dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dy); + const CCTK_REAL_VEC p1o24dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dz); + const CCTK_REAL_VEC p1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dx); + const CCTK_REAL_VEC p1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dy); + const CCTK_REAL_VEC p1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dz); + const CCTK_REAL_VEC p1o3600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dy,dx)); + const CCTK_REAL_VEC p1o3600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dx)); + const CCTK_REAL_VEC p1o3600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dy)); + const CCTK_REAL_VEC p1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dx); + const CCTK_REAL_VEC p1o4dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dy,dx)); + const CCTK_REAL_VEC p1o4dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dx)); + const CCTK_REAL_VEC p1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dy); + const CCTK_REAL_VEC p1o4dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dy)); + const CCTK_REAL_VEC p1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dz); + const CCTK_REAL_VEC p1o5040dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dx,dx)); + const CCTK_REAL_VEC p1o5040dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dy,dy)); + const CCTK_REAL_VEC p1o5040dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dz,dz)); + const CCTK_REAL_VEC p1o560dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dx); + const CCTK_REAL_VEC p1o560dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dy); + const CCTK_REAL_VEC p1o560dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dz); + const CCTK_REAL_VEC p1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dx); + const CCTK_REAL_VEC p1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dy); + const CCTK_REAL_VEC p1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dz); + const CCTK_REAL_VEC p1o64dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dx); + const CCTK_REAL_VEC p1o64dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dy); + const CCTK_REAL_VEC p1o64dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dz); + const CCTK_REAL_VEC p1o705600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dy,dx)); + const CCTK_REAL_VEC p1o705600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dx)); + const CCTK_REAL_VEC p1o705600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dy)); + const CCTK_REAL_VEC p1o840dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dx); + const CCTK_REAL_VEC p1o840dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dy); + const CCTK_REAL_VEC p1o840dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dz); + const CCTK_REAL_VEC p1odx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dx); + const CCTK_REAL_VEC p1odx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dx,dx)); + const CCTK_REAL_VEC p1ody CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dy); + const CCTK_REAL_VEC p1ody2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dy,dy)); + const CCTK_REAL_VEC p1odz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dz); + const CCTK_REAL_VEC p1odz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dz,dz)); + const CCTK_REAL_VEC pm1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dx); + const CCTK_REAL_VEC pm1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dy); + const CCTK_REAL_VEC pm1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dz); + const CCTK_REAL_VEC pm1o12dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dx,dx)); + const CCTK_REAL_VEC pm1o12dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dy,dy)); + const CCTK_REAL_VEC pm1o12dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dz,dz)); + const CCTK_REAL_VEC pm1o16dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dx); + const CCTK_REAL_VEC pm1o16dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dy); + const CCTK_REAL_VEC pm1o16dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dz); + const CCTK_REAL_VEC pm1o256dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dx); + const CCTK_REAL_VEC pm1o256dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dy); + const CCTK_REAL_VEC pm1o256dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dz); + const CCTK_REAL_VEC pm1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dx); + const CCTK_REAL_VEC pm1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dy); + const CCTK_REAL_VEC pm1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dz); + const CCTK_REAL_VEC pm1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dx); + const CCTK_REAL_VEC pm1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dy); + const CCTK_REAL_VEC pm1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dz); + const CCTK_REAL_VEC pm1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dx); + const CCTK_REAL_VEC pm1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dy); + const CCTK_REAL_VEC pm1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dz); /* Jacobian variable pointers */ - bool const use_jacobian CCTK_ATTRIBUTE_UNUSED = (!CCTK_IsFunctionAliased("MultiPatch_GetMap") || MultiPatch_GetMap(cctkGH) != jacobian_identity_map) - && strlen(jacobian_group) > 0; - if (use_jacobian && strlen(jacobian_derivative_group) == 0) + const bool use_jacobian1 = (!CCTK_IsFunctionAliased("MultiPatch_GetMap") || MultiPatch_GetMap(cctkGH) != jacobian_identity_map) + && strlen(jacobian_group) > 0; + const bool use_jacobian = assume_use_jacobian>=0 ? assume_use_jacobian : use_jacobian1; + const bool usejacobian CCTK_ATTRIBUTE_UNUSED = use_jacobian; + if (use_jacobian && (strlen(jacobian_determinant_group) == 0 || strlen(jacobian_inverse_group) == 0 || strlen(jacobian_derivative_group) == 0)) { - CCTK_WARN (1, "GenericFD::jacobian_group and GenericFD::jacobian_derivative_group must both be set to valid group names"); + CCTK_WARN(1, "GenericFD::jacobian_group, GenericFD::jacobian_determinant_group, GenericFD::jacobian_inverse_group, and GenericFD::jacobian_derivative_group must all be set to valid group names"); } - CCTK_REAL const *restrict jacobian_ptrs[9]; + const CCTK_REAL* restrict jacobian_ptrs[9]; if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_group, 9, jacobian_ptrs); - CCTK_REAL const *restrict const J11 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[0] : 0; - CCTK_REAL const *restrict const J12 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[1] : 0; - CCTK_REAL const *restrict const J13 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[2] : 0; - CCTK_REAL const *restrict const J21 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[3] : 0; - CCTK_REAL const *restrict const J22 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[4] : 0; - CCTK_REAL const *restrict const J23 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[5] : 0; - CCTK_REAL const *restrict const J31 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[6] : 0; - CCTK_REAL const *restrict const J32 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[7] : 0; - CCTK_REAL const *restrict const J33 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[8] : 0; + const CCTK_REAL* restrict const J11 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[0] : 0; + const CCTK_REAL* restrict const J12 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[1] : 0; + const CCTK_REAL* restrict const J13 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[2] : 0; + const CCTK_REAL* restrict const J21 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[3] : 0; + const CCTK_REAL* restrict const J22 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[4] : 0; + const CCTK_REAL* restrict const J23 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[5] : 0; + const CCTK_REAL* restrict const J31 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[6] : 0; + const CCTK_REAL* restrict const J32 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[7] : 0; + const CCTK_REAL* restrict const J33 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[8] : 0; + + const CCTK_REAL* restrict jacobian_determinant_ptrs[1] CCTK_ATTRIBUTE_UNUSED; + if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_determinant_group, + 1, jacobian_determinant_ptrs); + + const CCTK_REAL* restrict const detJ CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[0] : 0; - CCTK_REAL const *restrict jacobian_derivative_ptrs[18] CCTK_ATTRIBUTE_UNUSED; + const CCTK_REAL* restrict jacobian_inverse_ptrs[9] CCTK_ATTRIBUTE_UNUSED; + if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_inverse_group, + 9, jacobian_inverse_ptrs); + + const CCTK_REAL* restrict const iJ11 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[0] : 0; + const CCTK_REAL* restrict const iJ12 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[1] : 0; + const CCTK_REAL* restrict const iJ13 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[2] : 0; + const CCTK_REAL* restrict const iJ21 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[3] : 0; + const CCTK_REAL* restrict const iJ22 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[4] : 0; + const CCTK_REAL* restrict const iJ23 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[5] : 0; + const CCTK_REAL* restrict const iJ31 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[6] : 0; + const CCTK_REAL* restrict const iJ32 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[7] : 0; + const CCTK_REAL* restrict const iJ33 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[8] : 0; + + const CCTK_REAL* restrict jacobian_derivative_ptrs[18] CCTK_ATTRIBUTE_UNUSED; if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_derivative_group, 18, jacobian_derivative_ptrs); - CCTK_REAL const *restrict const dJ111 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[0] : 0; - CCTK_REAL const *restrict const dJ112 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[1] : 0; - CCTK_REAL const *restrict const dJ113 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[2] : 0; - CCTK_REAL const *restrict const dJ122 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[3] : 0; - CCTK_REAL const *restrict const dJ123 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[4] : 0; - CCTK_REAL const *restrict const dJ133 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[5] : 0; - CCTK_REAL const *restrict const dJ211 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[6] : 0; - CCTK_REAL const *restrict const dJ212 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[7] : 0; - CCTK_REAL const *restrict const dJ213 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[8] : 0; - CCTK_REAL const *restrict const dJ222 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[9] : 0; - CCTK_REAL const *restrict const dJ223 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[10] : 0; - CCTK_REAL const *restrict const dJ233 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[11] : 0; - CCTK_REAL const *restrict const dJ311 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[12] : 0; - CCTK_REAL const *restrict const dJ312 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[13] : 0; - CCTK_REAL const *restrict const dJ313 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[14] : 0; - CCTK_REAL const *restrict const dJ322 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[15] : 0; - CCTK_REAL const *restrict const dJ323 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[16] : 0; - CCTK_REAL const *restrict const dJ333 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[17] : 0; + const CCTK_REAL* restrict const dJ111 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[0] : 0; + const CCTK_REAL* restrict const dJ112 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[1] : 0; + const CCTK_REAL* restrict const dJ113 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[2] : 0; + const CCTK_REAL* restrict const dJ122 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[3] : 0; + const CCTK_REAL* restrict const dJ123 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[4] : 0; + const CCTK_REAL* restrict const dJ133 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[5] : 0; + const CCTK_REAL* restrict const dJ211 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[6] : 0; + const CCTK_REAL* restrict const dJ212 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[7] : 0; + const CCTK_REAL* restrict const dJ213 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[8] : 0; + const CCTK_REAL* restrict const dJ222 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[9] : 0; + const CCTK_REAL* restrict const dJ223 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[10] : 0; + const CCTK_REAL* restrict const dJ233 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[11] : 0; + const CCTK_REAL* restrict const dJ311 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[12] : 0; + const CCTK_REAL* restrict const dJ312 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[13] : 0; + const CCTK_REAL* restrict const dJ313 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[14] : 0; + const CCTK_REAL* restrict const dJ322 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[15] : 0; + const CCTK_REAL* restrict const dJ323 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[16] : 0; + const CCTK_REAL* restrict const dJ333 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[17] : 0; /* Assign local copies of arrays functions */ @@ -208,13 +232,20 @@ static void ML_BSSN_convertToADMBaseDtLapseShiftBoundary_Body(cGH const * restri /* Copy local copies back to grid functions */ /* Loop over the grid points */ - #pragma omp parallel + const int imin0=imin[0]; + const int imin1=imin[1]; + const int imin2=imin[2]; + const int imax0=imax[0]; + const int imax1=imax[1]; + const int imax2=imax[2]; + #pragma omp parallel // reduction(+: vec_iter_counter, vec_op_counter, vec_mem_counter) CCTK_LOOP3STR(ML_BSSN_convertToADMBaseDtLapseShiftBoundary, - 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 */ @@ -238,19 +269,29 @@ static void ML_BSSN_convertToADMBaseDtLapseShiftBoundary_Body(cGH const * restri /* 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 */ @@ -258,40 +299,40 @@ static void ML_BSSN_convertToADMBaseDtLapseShiftBoundary_Body(cGH const * restri kdiv(ToReal(SpatialBetaDriverRadius),kfmax(rL,ToReal(SpatialBetaDriverRadius))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED theta = - kfmin(ToReal(1.),kexp(kmadd(kmul(rL,ToReal(-1.)),ToReal(ScalarINV(SpatialShiftGammaCoeffRadius)),ToReal(1.)))); + kfmin(ToReal(1),kexp(knmsub(rL,ToReal(ScalarINV(SpatialShiftGammaCoeffRadius)),ToReal(1)))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED dtalpL = - kmul(kpow(alphaL,harmonicN),kmul(ToReal(-1.),kmul(ToReal(harmonicF),kmadd(kmadd(trKL,ToReal(-1.),AL),ToReal(LapseACoeff),trKL)))); + kneg(kmul(kpow(alphaL,harmonicN),kmul(ToReal(harmonicF),kmadd(ksub(AL,trKL),ToReal(LapseACoeff),trKL)))); - CCTK_REAL_VEC dtbetaxL CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC dtbetayL CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC dtbetazL CCTK_ATTRIBUTE_UNUSED ; + CCTK_REAL_VEC dtbetaxL CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC dtbetayL CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC dtbetazL CCTK_ATTRIBUTE_UNUSED; if (harmonicShift) { - dtbetaxL = ToReal(0.); + dtbetaxL = ToReal(0); - dtbetayL = ToReal(0.); + dtbetayL = ToReal(0); - dtbetazL = ToReal(0.); + dtbetazL = ToReal(0); } else { dtbetaxL = - kmul(theta,kmul(kadd(Xt1L,kmadd(kmadd(Xt1L,ToReal(-1.),B1L),ToReal(ShiftBCoeff),kmul(beta1L,kmul(eta,ToReal(BetaDriver*(-1. + kmul(theta,kmul(kadd(Xt1L,kmadd(ksub(B1L,Xt1L),ToReal(ShiftBCoeff),kmul(beta1L,kmul(eta,ToReal(BetaDriver*(-1 + ShiftBCoeff)))))),ToReal(ShiftGammaCoeff))); dtbetayL = - kmul(theta,kmul(kadd(Xt2L,kmadd(kmadd(Xt2L,ToReal(-1.),B2L),ToReal(ShiftBCoeff),kmul(beta2L,kmul(eta,ToReal(BetaDriver*(-1. + kmul(theta,kmul(kadd(Xt2L,kmadd(ksub(B2L,Xt2L),ToReal(ShiftBCoeff),kmul(beta2L,kmul(eta,ToReal(BetaDriver*(-1 + ShiftBCoeff)))))),ToReal(ShiftGammaCoeff))); dtbetazL = - kmul(theta,kmul(kadd(Xt3L,kmadd(kmadd(Xt3L,ToReal(-1.),B3L),ToReal(ShiftBCoeff),kmul(beta3L,kmul(eta,ToReal(BetaDriver*(-1. + kmul(theta,kmul(kadd(Xt3L,kmadd(ksub(B3L,Xt3L),ToReal(ShiftBCoeff),kmul(beta3L,kmul(eta,ToReal(BetaDriver*(-1 + ShiftBCoeff)))))),ToReal(ShiftGammaCoeff))); } /* Copy local copies back to grid functions */ - vec_store_partial_prepare(i,kimin,kimax); + vec_store_partial_prepare(i,vecimin,vecimax); vec_store_nta_partial(dtalp[index],dtalpL); vec_store_nta_partial(dtbetax[index],dtbetaxL); vec_store_nta_partial(dtbetay[index],dtbetayL); @@ -316,7 +357,7 @@ extern "C" void ML_BSSN_convertToADMBaseDtLapseShiftBoundary(CCTK_ARGUMENTS) return; } - const char *const groups[] = { + const char* const groups[] = { "ADMBase::dtlapse", "ADMBase::dtshift", "grid::coordinates", @@ -328,19 +369,29 @@ extern "C" void ML_BSSN_convertToADMBaseDtLapseShiftBoundary(CCTK_ARGUMENTS) "ML_BSSN::ML_trace_curv"}; GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_convertToADMBaseDtLapseShiftBoundary", 9, 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_BSSN_convertToADMBaseDtLapseShiftBoundary_Body); diff --git a/ML_BSSN/src/ML_BSSN_convertToADMBaseFakeDtLapseShift.cc b/ML_BSSN/src/ML_BSSN_convertToADMBaseFakeDtLapseShift.cc index 9f00cc0..93279ba 100644 --- a/ML_BSSN/src/ML_BSSN_convertToADMBaseFakeDtLapseShift.cc +++ b/ML_BSSN/src/ML_BSSN_convertToADMBaseFakeDtLapseShift.cc @@ -27,7 +27,7 @@ #define CUB(x) (kmul(x,SQR(x))) #define QAD(x) (SQR(SQR(x))) -static void ML_BSSN_convertToADMBaseFakeDtLapseShift_Body(cGH const * restrict const cctkGH, int const dir, int const face, CCTK_REAL const normal[3], CCTK_REAL const tangentA[3], CCTK_REAL const tangentB[3], int const imin[3], int const imax[3], int const n_subblock_gfs, CCTK_REAL * restrict const subblock_gfs[]) +static void ML_BSSN_convertToADMBaseFakeDtLapseShift_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,153 +36,175 @@ static void ML_BSSN_convertToADMBaseFakeDtLapseShift_Body(cGH const * restrict c /* Include user-supplied include files */ /* Initialise finite differencing variables */ - ptrdiff_t /*const*/ di CCTK_ATTRIBUTE_UNUSED = 1; - ptrdiff_t /*const*/ dj CCTK_ATTRIBUTE_UNUSED = CCTK_GFINDEX3D(cctkGH,0,1,0) - CCTK_GFINDEX3D(cctkGH,0,0,0); - ptrdiff_t /*const*/ dk CCTK_ATTRIBUTE_UNUSED = CCTK_GFINDEX3D(cctkGH,0,0,1) - CCTK_GFINDEX3D(cctkGH,0,0,0); - ptrdiff_t /*const*/ cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * di; - ptrdiff_t /*const*/ cdj CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * dj; - ptrdiff_t /*const*/ cdk CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * dk; - CCTK_REAL_VEC /*const*/ dx CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(0)); - CCTK_REAL_VEC /*const*/ dy CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(1)); - CCTK_REAL_VEC /*const*/ dz CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(2)); - CCTK_REAL_VEC /*const*/ dt CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_TIME); - CCTK_REAL_VEC /*const*/ t CCTK_ATTRIBUTE_UNUSED = ToReal(cctk_time); - CCTK_REAL_VEC /*const*/ dxi CCTK_ATTRIBUTE_UNUSED = INV(dx); - CCTK_REAL_VEC /*const*/ dyi CCTK_ATTRIBUTE_UNUSED = INV(dy); - CCTK_REAL_VEC /*const*/ dzi CCTK_ATTRIBUTE_UNUSED = INV(dz); - CCTK_REAL_VEC /*const*/ khalf CCTK_ATTRIBUTE_UNUSED = ToReal(0.5); - CCTK_REAL_VEC /*const*/ kthird CCTK_ATTRIBUTE_UNUSED = ToReal(1.0/3.0); - CCTK_REAL_VEC /*const*/ ktwothird CCTK_ATTRIBUTE_UNUSED = ToReal(2.0/3.0); - CCTK_REAL_VEC /*const*/ kfourthird CCTK_ATTRIBUTE_UNUSED = ToReal(4.0/3.0); - CCTK_REAL_VEC /*const*/ keightthird CCTK_ATTRIBUTE_UNUSED = ToReal(8.0/3.0); - CCTK_REAL_VEC /*const*/ hdxi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dxi); - CCTK_REAL_VEC /*const*/ hdyi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dyi); - CCTK_REAL_VEC /*const*/ hdzi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dzi); + const ptrdiff_t di CCTK_ATTRIBUTE_UNUSED = 1; + const ptrdiff_t dj CCTK_ATTRIBUTE_UNUSED = CCTK_GFINDEX3D(cctkGH,0,1,0) - CCTK_GFINDEX3D(cctkGH,0,0,0); + const ptrdiff_t dk CCTK_ATTRIBUTE_UNUSED = CCTK_GFINDEX3D(cctkGH,0,0,1) - CCTK_GFINDEX3D(cctkGH,0,0,0); + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * di; + const ptrdiff_t cdj CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * dj; + const ptrdiff_t cdk CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * dk; + const CCTK_REAL_VEC dx CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(0)); + const CCTK_REAL_VEC dy CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(1)); + const CCTK_REAL_VEC dz CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(2)); + const CCTK_REAL_VEC dt CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_TIME); + const CCTK_REAL_VEC t CCTK_ATTRIBUTE_UNUSED = ToReal(cctk_time); + const CCTK_REAL_VEC dxi CCTK_ATTRIBUTE_UNUSED = INV(dx); + const CCTK_REAL_VEC dyi CCTK_ATTRIBUTE_UNUSED = INV(dy); + const CCTK_REAL_VEC dzi CCTK_ATTRIBUTE_UNUSED = INV(dz); + const CCTK_REAL_VEC khalf CCTK_ATTRIBUTE_UNUSED = ToReal(0.5); + const CCTK_REAL_VEC kthird CCTK_ATTRIBUTE_UNUSED = ToReal(1.0/3.0); + const CCTK_REAL_VEC ktwothird CCTK_ATTRIBUTE_UNUSED = ToReal(2.0/3.0); + const CCTK_REAL_VEC kfourthird CCTK_ATTRIBUTE_UNUSED = ToReal(4.0/3.0); + const CCTK_REAL_VEC keightthird CCTK_ATTRIBUTE_UNUSED = ToReal(8.0/3.0); + const CCTK_REAL_VEC hdxi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dxi); + const CCTK_REAL_VEC hdyi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dyi); + const CCTK_REAL_VEC hdzi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dzi); /* Initialize predefined quantities */ - CCTK_REAL_VEC /*const*/ p1o1024dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dx); - CCTK_REAL_VEC /*const*/ p1o1024dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dy); - CCTK_REAL_VEC /*const*/ p1o1024dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dz); - CCTK_REAL_VEC /*const*/ p1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dx); - CCTK_REAL_VEC /*const*/ p1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dy); - CCTK_REAL_VEC /*const*/ p1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dz); - CCTK_REAL_VEC /*const*/ p1o12dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dx); - CCTK_REAL_VEC /*const*/ p1o12dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dy); - CCTK_REAL_VEC /*const*/ p1o12dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dz); - CCTK_REAL_VEC /*const*/ p1o144dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o144dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o144dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o1680dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dx); - CCTK_REAL_VEC /*const*/ p1o1680dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dy); - CCTK_REAL_VEC /*const*/ p1o1680dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dz); - CCTK_REAL_VEC /*const*/ p1o180dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ p1o180dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ p1o180dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ p1o24dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dx); - CCTK_REAL_VEC /*const*/ p1o24dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dy); - CCTK_REAL_VEC /*const*/ p1o24dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dz); - CCTK_REAL_VEC /*const*/ p1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dx); - CCTK_REAL_VEC /*const*/ p1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dy); - CCTK_REAL_VEC /*const*/ p1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dz); - CCTK_REAL_VEC /*const*/ p1o3600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o3600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o3600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dx); - CCTK_REAL_VEC /*const*/ p1o4dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o4dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dy); - CCTK_REAL_VEC /*const*/ p1o4dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dz); - CCTK_REAL_VEC /*const*/ p1o5040dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ p1o5040dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ p1o5040dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ p1o560dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dx); - CCTK_REAL_VEC /*const*/ p1o560dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dy); - CCTK_REAL_VEC /*const*/ p1o560dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dz); - CCTK_REAL_VEC /*const*/ p1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dx); - CCTK_REAL_VEC /*const*/ p1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dy); - CCTK_REAL_VEC /*const*/ p1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dz); - CCTK_REAL_VEC /*const*/ p1o64dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dx); - CCTK_REAL_VEC /*const*/ p1o64dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dy); - CCTK_REAL_VEC /*const*/ p1o64dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dz); - CCTK_REAL_VEC /*const*/ p1o705600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o705600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o705600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o840dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dx); - CCTK_REAL_VEC /*const*/ p1o840dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dy); - CCTK_REAL_VEC /*const*/ p1o840dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dz); - CCTK_REAL_VEC /*const*/ p1odx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dx); - CCTK_REAL_VEC /*const*/ p1odx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ p1ody CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dy); - CCTK_REAL_VEC /*const*/ p1ody2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ p1odz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dz); - CCTK_REAL_VEC /*const*/ p1odz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ pm1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dx); - CCTK_REAL_VEC /*const*/ pm1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dy); - CCTK_REAL_VEC /*const*/ pm1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dz); - CCTK_REAL_VEC /*const*/ pm1o12dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ pm1o12dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ pm1o12dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ pm1o16dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dx); - CCTK_REAL_VEC /*const*/ pm1o16dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dy); - CCTK_REAL_VEC /*const*/ pm1o16dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dz); - CCTK_REAL_VEC /*const*/ pm1o256dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dx); - CCTK_REAL_VEC /*const*/ pm1o256dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dy); - CCTK_REAL_VEC /*const*/ pm1o256dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dz); - CCTK_REAL_VEC /*const*/ pm1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dx); - CCTK_REAL_VEC /*const*/ pm1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dy); - CCTK_REAL_VEC /*const*/ pm1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dz); - CCTK_REAL_VEC /*const*/ pm1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dx); - CCTK_REAL_VEC /*const*/ pm1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dy); - CCTK_REAL_VEC /*const*/ pm1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dz); - CCTK_REAL_VEC /*const*/ pm1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dx); - CCTK_REAL_VEC /*const*/ pm1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dy); - CCTK_REAL_VEC /*const*/ pm1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dz); + const CCTK_REAL_VEC p1o1024dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dx); + const CCTK_REAL_VEC p1o1024dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dy); + const CCTK_REAL_VEC p1o1024dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dz); + const CCTK_REAL_VEC p1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dx); + const CCTK_REAL_VEC p1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dy); + const CCTK_REAL_VEC p1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dz); + const CCTK_REAL_VEC p1o12dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dx); + const CCTK_REAL_VEC p1o12dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dy); + const CCTK_REAL_VEC p1o12dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dz); + const CCTK_REAL_VEC p1o144dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dy,dx)); + const CCTK_REAL_VEC p1o144dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dx)); + const CCTK_REAL_VEC p1o144dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dy)); + const CCTK_REAL_VEC p1o1680dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dx); + const CCTK_REAL_VEC p1o1680dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dy); + const CCTK_REAL_VEC p1o1680dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dz); + const CCTK_REAL_VEC p1o180dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dx,dx)); + const CCTK_REAL_VEC p1o180dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dy,dy)); + const CCTK_REAL_VEC p1o180dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dz,dz)); + const CCTK_REAL_VEC p1o24dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dx); + const CCTK_REAL_VEC p1o24dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dy); + const CCTK_REAL_VEC p1o24dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dz); + const CCTK_REAL_VEC p1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dx); + const CCTK_REAL_VEC p1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dy); + const CCTK_REAL_VEC p1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dz); + const CCTK_REAL_VEC p1o3600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dy,dx)); + const CCTK_REAL_VEC p1o3600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dx)); + const CCTK_REAL_VEC p1o3600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dy)); + const CCTK_REAL_VEC p1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dx); + const CCTK_REAL_VEC p1o4dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dy,dx)); + const CCTK_REAL_VEC p1o4dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dx)); + const CCTK_REAL_VEC p1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dy); + const CCTK_REAL_VEC p1o4dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dy)); + const CCTK_REAL_VEC p1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dz); + const CCTK_REAL_VEC p1o5040dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dx,dx)); + const CCTK_REAL_VEC p1o5040dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dy,dy)); + const CCTK_REAL_VEC p1o5040dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dz,dz)); + const CCTK_REAL_VEC p1o560dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dx); + const CCTK_REAL_VEC p1o560dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dy); + const CCTK_REAL_VEC p1o560dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dz); + const CCTK_REAL_VEC p1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dx); + const CCTK_REAL_VEC p1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dy); + const CCTK_REAL_VEC p1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dz); + const CCTK_REAL_VEC p1o64dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dx); + const CCTK_REAL_VEC p1o64dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dy); + const CCTK_REAL_VEC p1o64dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dz); + const CCTK_REAL_VEC p1o705600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dy,dx)); + const CCTK_REAL_VEC p1o705600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dx)); + const CCTK_REAL_VEC p1o705600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dy)); + const CCTK_REAL_VEC p1o840dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dx); + const CCTK_REAL_VEC p1o840dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dy); + const CCTK_REAL_VEC p1o840dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dz); + const CCTK_REAL_VEC p1odx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dx); + const CCTK_REAL_VEC p1odx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dx,dx)); + const CCTK_REAL_VEC p1ody CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dy); + const CCTK_REAL_VEC p1ody2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dy,dy)); + const CCTK_REAL_VEC p1odz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dz); + const CCTK_REAL_VEC p1odz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dz,dz)); + const CCTK_REAL_VEC pm1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dx); + const CCTK_REAL_VEC pm1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dy); + const CCTK_REAL_VEC pm1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dz); + const CCTK_REAL_VEC pm1o12dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dx,dx)); + const CCTK_REAL_VEC pm1o12dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dy,dy)); + const CCTK_REAL_VEC pm1o12dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dz,dz)); + const CCTK_REAL_VEC pm1o16dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dx); + const CCTK_REAL_VEC pm1o16dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dy); + const CCTK_REAL_VEC pm1o16dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dz); + const CCTK_REAL_VEC pm1o256dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dx); + const CCTK_REAL_VEC pm1o256dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dy); + const CCTK_REAL_VEC pm1o256dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dz); + const CCTK_REAL_VEC pm1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dx); + const CCTK_REAL_VEC pm1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dy); + const CCTK_REAL_VEC pm1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dz); + const CCTK_REAL_VEC pm1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dx); + const CCTK_REAL_VEC pm1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dy); + const CCTK_REAL_VEC pm1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dz); + const CCTK_REAL_VEC pm1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dx); + const CCTK_REAL_VEC pm1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dy); + const CCTK_REAL_VEC pm1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dz); /* Jacobian variable pointers */ - bool const use_jacobian CCTK_ATTRIBUTE_UNUSED = (!CCTK_IsFunctionAliased("MultiPatch_GetMap") || MultiPatch_GetMap(cctkGH) != jacobian_identity_map) - && strlen(jacobian_group) > 0; - if (use_jacobian && strlen(jacobian_derivative_group) == 0) + const bool use_jacobian1 = (!CCTK_IsFunctionAliased("MultiPatch_GetMap") || MultiPatch_GetMap(cctkGH) != jacobian_identity_map) + && strlen(jacobian_group) > 0; + const bool use_jacobian = assume_use_jacobian>=0 ? assume_use_jacobian : use_jacobian1; + const bool usejacobian CCTK_ATTRIBUTE_UNUSED = use_jacobian; + if (use_jacobian && (strlen(jacobian_determinant_group) == 0 || strlen(jacobian_inverse_group) == 0 || strlen(jacobian_derivative_group) == 0)) { - CCTK_WARN (1, "GenericFD::jacobian_group and GenericFD::jacobian_derivative_group must both be set to valid group names"); + CCTK_WARN(1, "GenericFD::jacobian_group, GenericFD::jacobian_determinant_group, GenericFD::jacobian_inverse_group, and GenericFD::jacobian_derivative_group must all be set to valid group names"); } - CCTK_REAL const *restrict jacobian_ptrs[9]; + const CCTK_REAL* restrict jacobian_ptrs[9]; if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_group, 9, jacobian_ptrs); - CCTK_REAL const *restrict const J11 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[0] : 0; - CCTK_REAL const *restrict const J12 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[1] : 0; - CCTK_REAL const *restrict const J13 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[2] : 0; - CCTK_REAL const *restrict const J21 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[3] : 0; - CCTK_REAL const *restrict const J22 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[4] : 0; - CCTK_REAL const *restrict const J23 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[5] : 0; - CCTK_REAL const *restrict const J31 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[6] : 0; - CCTK_REAL const *restrict const J32 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[7] : 0; - CCTK_REAL const *restrict const J33 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[8] : 0; + const CCTK_REAL* restrict const J11 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[0] : 0; + const CCTK_REAL* restrict const J12 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[1] : 0; + const CCTK_REAL* restrict const J13 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[2] : 0; + const CCTK_REAL* restrict const J21 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[3] : 0; + const CCTK_REAL* restrict const J22 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[4] : 0; + const CCTK_REAL* restrict const J23 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[5] : 0; + const CCTK_REAL* restrict const J31 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[6] : 0; + const CCTK_REAL* restrict const J32 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[7] : 0; + const CCTK_REAL* restrict const J33 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[8] : 0; - 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 */ @@ -193,13 +215,20 @@ static void ML_BSSN_convertToADMBaseFakeDtLapseShift_Body(cGH const * restrict c /* Copy local copies back to grid functions */ /* Loop over the grid points */ - #pragma omp parallel + const int imin0=imin[0]; + const int imin1=imin[1]; + const int imin2=imin[2]; + const int imax0=imax[0]; + const int imax1=imax[1]; + const int imax2=imax[2]; + #pragma omp parallel // reduction(+: vec_iter_counter, vec_op_counter, vec_mem_counter) CCTK_LOOP3STR(ML_BSSN_convertToADMBaseFakeDtLapseShift, - 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 */ @@ -223,19 +252,29 @@ static void ML_BSSN_convertToADMBaseFakeDtLapseShift_Body(cGH const * restrict c /* 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 */ @@ -243,40 +282,40 @@ static void ML_BSSN_convertToADMBaseFakeDtLapseShift_Body(cGH const * restrict c kdiv(ToReal(SpatialBetaDriverRadius),kfmax(rL,ToReal(SpatialBetaDriverRadius))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED theta = - kfmin(ToReal(1.),kexp(kmadd(kmul(rL,ToReal(-1.)),ToReal(ScalarINV(SpatialShiftGammaCoeffRadius)),ToReal(1.)))); + kfmin(ToReal(1),kexp(knmsub(rL,ToReal(ScalarINV(SpatialShiftGammaCoeffRadius)),ToReal(1)))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED dtalpL = - kmul(kpow(alphaL,harmonicN),kmul(ToReal(-1.),kmul(ToReal(harmonicF),kmadd(kmadd(trKL,ToReal(-1.),AL),ToReal(LapseACoeff),trKL)))); + kneg(kmul(kpow(alphaL,harmonicN),kmul(ToReal(harmonicF),kmadd(ksub(AL,trKL),ToReal(LapseACoeff),trKL)))); - CCTK_REAL_VEC dtbetaxL CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC dtbetayL CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC dtbetazL CCTK_ATTRIBUTE_UNUSED ; + CCTK_REAL_VEC dtbetaxL CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC dtbetayL CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC dtbetazL CCTK_ATTRIBUTE_UNUSED; if (harmonicShift) { - dtbetaxL = ToReal(0.); + dtbetaxL = ToReal(0); - dtbetayL = ToReal(0.); + dtbetayL = ToReal(0); - dtbetazL = ToReal(0.); + dtbetazL = ToReal(0); } else { dtbetaxL = - kmul(theta,kmul(kadd(Xt1L,kmadd(kmadd(Xt1L,ToReal(-1.),B1L),ToReal(ShiftBCoeff),kmul(beta1L,kmul(eta,ToReal(BetaDriver*(-1. + kmul(theta,kmul(kadd(Xt1L,kmadd(ksub(B1L,Xt1L),ToReal(ShiftBCoeff),kmul(beta1L,kmul(eta,ToReal(BetaDriver*(-1 + ShiftBCoeff)))))),ToReal(ShiftGammaCoeff))); dtbetayL = - kmul(theta,kmul(kadd(Xt2L,kmadd(kmadd(Xt2L,ToReal(-1.),B2L),ToReal(ShiftBCoeff),kmul(beta2L,kmul(eta,ToReal(BetaDriver*(-1. + kmul(theta,kmul(kadd(Xt2L,kmadd(ksub(B2L,Xt2L),ToReal(ShiftBCoeff),kmul(beta2L,kmul(eta,ToReal(BetaDriver*(-1 + ShiftBCoeff)))))),ToReal(ShiftGammaCoeff))); dtbetazL = - kmul(theta,kmul(kadd(Xt3L,kmadd(kmadd(Xt3L,ToReal(-1.),B3L),ToReal(ShiftBCoeff),kmul(beta3L,kmul(eta,ToReal(BetaDriver*(-1. + kmul(theta,kmul(kadd(Xt3L,kmadd(ksub(B3L,Xt3L),ToReal(ShiftBCoeff),kmul(beta3L,kmul(eta,ToReal(BetaDriver*(-1 + ShiftBCoeff)))))),ToReal(ShiftGammaCoeff))); } /* Copy local copies back to grid functions */ - vec_store_partial_prepare(i,kimin,kimax); + vec_store_partial_prepare(i,vecimin,vecimax); vec_store_nta_partial(dtalp[index],dtalpL); vec_store_nta_partial(dtbetax[index],dtbetaxL); vec_store_nta_partial(dtbetay[index],dtbetayL); @@ -301,7 +340,7 @@ extern "C" void ML_BSSN_convertToADMBaseFakeDtLapseShift(CCTK_ARGUMENTS) return; } - const char *const groups[] = { + const char* const groups[] = { "ADMBase::dtlapse", "ADMBase::dtshift", "grid::coordinates", @@ -313,19 +352,29 @@ extern "C" void ML_BSSN_convertToADMBaseFakeDtLapseShift(CCTK_ARGUMENTS) "ML_BSSN::ML_trace_curv"}; GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_convertToADMBaseFakeDtLapseShift", 9, 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_BSSN_convertToADMBaseFakeDtLapseShift_Body); diff --git a/ML_BSSN/src/ML_BSSN_enforce.cc b/ML_BSSN/src/ML_BSSN_enforce.cc index e36010f..b212949 100644 --- a/ML_BSSN/src/ML_BSSN_enforce.cc +++ b/ML_BSSN/src/ML_BSSN_enforce.cc @@ -27,7 +27,7 @@ #define CUB(x) (kmul(x,SQR(x))) #define QAD(x) (SQR(SQR(x))) -static void ML_BSSN_enforce_Body(cGH const * restrict const cctkGH, int const dir, int const face, CCTK_REAL const normal[3], CCTK_REAL const tangentA[3], CCTK_REAL const tangentB[3], int const imin[3], int const imax[3], int const n_subblock_gfs, CCTK_REAL * restrict const subblock_gfs[]) +static void ML_BSSN_enforce_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,153 +36,175 @@ static void ML_BSSN_enforce_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*/ p1o1024dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dx); - CCTK_REAL_VEC /*const*/ p1o1024dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dy); - CCTK_REAL_VEC /*const*/ p1o1024dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dz); - CCTK_REAL_VEC /*const*/ p1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dx); - CCTK_REAL_VEC /*const*/ p1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dy); - CCTK_REAL_VEC /*const*/ p1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dz); - CCTK_REAL_VEC /*const*/ p1o12dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dx); - CCTK_REAL_VEC /*const*/ p1o12dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dy); - CCTK_REAL_VEC /*const*/ p1o12dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dz); - CCTK_REAL_VEC /*const*/ p1o144dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o144dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o144dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o1680dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dx); - CCTK_REAL_VEC /*const*/ p1o1680dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dy); - CCTK_REAL_VEC /*const*/ p1o1680dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dz); - CCTK_REAL_VEC /*const*/ p1o180dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ p1o180dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ p1o180dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ p1o24dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dx); - CCTK_REAL_VEC /*const*/ p1o24dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dy); - CCTK_REAL_VEC /*const*/ p1o24dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dz); - CCTK_REAL_VEC /*const*/ p1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dx); - CCTK_REAL_VEC /*const*/ p1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dy); - CCTK_REAL_VEC /*const*/ p1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dz); - CCTK_REAL_VEC /*const*/ p1o3600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o3600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o3600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dx); - CCTK_REAL_VEC /*const*/ p1o4dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o4dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dy); - CCTK_REAL_VEC /*const*/ p1o4dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dz); - CCTK_REAL_VEC /*const*/ p1o5040dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ p1o5040dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ p1o5040dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ p1o560dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dx); - CCTK_REAL_VEC /*const*/ p1o560dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dy); - CCTK_REAL_VEC /*const*/ p1o560dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dz); - CCTK_REAL_VEC /*const*/ p1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dx); - CCTK_REAL_VEC /*const*/ p1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dy); - CCTK_REAL_VEC /*const*/ p1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dz); - CCTK_REAL_VEC /*const*/ p1o64dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dx); - CCTK_REAL_VEC /*const*/ p1o64dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dy); - CCTK_REAL_VEC /*const*/ p1o64dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dz); - CCTK_REAL_VEC /*const*/ p1o705600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o705600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o705600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o840dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dx); - CCTK_REAL_VEC /*const*/ p1o840dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dy); - CCTK_REAL_VEC /*const*/ p1o840dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dz); - CCTK_REAL_VEC /*const*/ p1odx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dx); - CCTK_REAL_VEC /*const*/ p1odx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ p1ody CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dy); - CCTK_REAL_VEC /*const*/ p1ody2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ p1odz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dz); - CCTK_REAL_VEC /*const*/ p1odz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ pm1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dx); - CCTK_REAL_VEC /*const*/ pm1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dy); - CCTK_REAL_VEC /*const*/ pm1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dz); - CCTK_REAL_VEC /*const*/ pm1o12dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ pm1o12dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ pm1o12dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ pm1o16dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dx); - CCTK_REAL_VEC /*const*/ pm1o16dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dy); - CCTK_REAL_VEC /*const*/ pm1o16dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dz); - CCTK_REAL_VEC /*const*/ pm1o256dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dx); - CCTK_REAL_VEC /*const*/ pm1o256dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dy); - CCTK_REAL_VEC /*const*/ pm1o256dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dz); - CCTK_REAL_VEC /*const*/ pm1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dx); - CCTK_REAL_VEC /*const*/ pm1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dy); - CCTK_REAL_VEC /*const*/ pm1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dz); - CCTK_REAL_VEC /*const*/ pm1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dx); - CCTK_REAL_VEC /*const*/ pm1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dy); - CCTK_REAL_VEC /*const*/ pm1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dz); - CCTK_REAL_VEC /*const*/ pm1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dx); - CCTK_REAL_VEC /*const*/ pm1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dy); - CCTK_REAL_VEC /*const*/ pm1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dz); + const CCTK_REAL_VEC p1o1024dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dx); + const CCTK_REAL_VEC p1o1024dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dy); + const CCTK_REAL_VEC p1o1024dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dz); + const CCTK_REAL_VEC p1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dx); + const CCTK_REAL_VEC p1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dy); + const CCTK_REAL_VEC p1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dz); + const CCTK_REAL_VEC p1o12dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dx); + const CCTK_REAL_VEC p1o12dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dy); + const CCTK_REAL_VEC p1o12dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dz); + const CCTK_REAL_VEC p1o144dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dy,dx)); + const CCTK_REAL_VEC p1o144dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dx)); + const CCTK_REAL_VEC p1o144dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dy)); + const CCTK_REAL_VEC p1o1680dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dx); + const CCTK_REAL_VEC p1o1680dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dy); + const CCTK_REAL_VEC p1o1680dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dz); + const CCTK_REAL_VEC p1o180dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dx,dx)); + const CCTK_REAL_VEC p1o180dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dy,dy)); + const CCTK_REAL_VEC p1o180dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dz,dz)); + const CCTK_REAL_VEC p1o24dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dx); + const CCTK_REAL_VEC p1o24dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dy); + const CCTK_REAL_VEC p1o24dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dz); + const CCTK_REAL_VEC p1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dx); + const CCTK_REAL_VEC p1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dy); + const CCTK_REAL_VEC p1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dz); + const CCTK_REAL_VEC p1o3600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dy,dx)); + const CCTK_REAL_VEC p1o3600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dx)); + const CCTK_REAL_VEC p1o3600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dy)); + const CCTK_REAL_VEC p1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dx); + const CCTK_REAL_VEC p1o4dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dy,dx)); + const CCTK_REAL_VEC p1o4dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dx)); + const CCTK_REAL_VEC p1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dy); + const CCTK_REAL_VEC p1o4dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dy)); + const CCTK_REAL_VEC p1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dz); + const CCTK_REAL_VEC p1o5040dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dx,dx)); + const CCTK_REAL_VEC p1o5040dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dy,dy)); + const CCTK_REAL_VEC p1o5040dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dz,dz)); + const CCTK_REAL_VEC p1o560dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dx); + const CCTK_REAL_VEC p1o560dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dy); + const CCTK_REAL_VEC p1o560dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dz); + const CCTK_REAL_VEC p1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dx); + const CCTK_REAL_VEC p1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dy); + const CCTK_REAL_VEC p1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dz); + const CCTK_REAL_VEC p1o64dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dx); + const CCTK_REAL_VEC p1o64dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dy); + const CCTK_REAL_VEC p1o64dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dz); + const CCTK_REAL_VEC p1o705600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dy,dx)); + const CCTK_REAL_VEC p1o705600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dx)); + const CCTK_REAL_VEC p1o705600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dy)); + const CCTK_REAL_VEC p1o840dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dx); + const CCTK_REAL_VEC p1o840dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dy); + const CCTK_REAL_VEC p1o840dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dz); + const CCTK_REAL_VEC p1odx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dx); + const CCTK_REAL_VEC p1odx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dx,dx)); + const CCTK_REAL_VEC p1ody CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dy); + const CCTK_REAL_VEC p1ody2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dy,dy)); + const CCTK_REAL_VEC p1odz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dz); + const CCTK_REAL_VEC p1odz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dz,dz)); + const CCTK_REAL_VEC pm1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dx); + const CCTK_REAL_VEC pm1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dy); + const CCTK_REAL_VEC pm1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dz); + const CCTK_REAL_VEC pm1o12dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dx,dx)); + const CCTK_REAL_VEC pm1o12dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dy,dy)); + const CCTK_REAL_VEC pm1o12dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dz,dz)); + const CCTK_REAL_VEC pm1o16dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dx); + const CCTK_REAL_VEC pm1o16dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dy); + const CCTK_REAL_VEC pm1o16dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dz); + const CCTK_REAL_VEC pm1o256dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dx); + const CCTK_REAL_VEC pm1o256dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dy); + const CCTK_REAL_VEC pm1o256dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dz); + const CCTK_REAL_VEC pm1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dx); + const CCTK_REAL_VEC pm1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dy); + const CCTK_REAL_VEC pm1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dz); + const CCTK_REAL_VEC pm1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dx); + const CCTK_REAL_VEC pm1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dy); + const CCTK_REAL_VEC pm1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dz); + const CCTK_REAL_VEC pm1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dx); + const CCTK_REAL_VEC pm1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dy); + const CCTK_REAL_VEC pm1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dz); /* Jacobian variable pointers */ - bool const use_jacobian CCTK_ATTRIBUTE_UNUSED = (!CCTK_IsFunctionAliased("MultiPatch_GetMap") || MultiPatch_GetMap(cctkGH) != jacobian_identity_map) - && strlen(jacobian_group) > 0; - if (use_jacobian && strlen(jacobian_derivative_group) == 0) + const bool use_jacobian1 = (!CCTK_IsFunctionAliased("MultiPatch_GetMap") || MultiPatch_GetMap(cctkGH) != jacobian_identity_map) + && strlen(jacobian_group) > 0; + const bool use_jacobian = assume_use_jacobian>=0 ? assume_use_jacobian : use_jacobian1; + const bool usejacobian CCTK_ATTRIBUTE_UNUSED = use_jacobian; + if (use_jacobian && (strlen(jacobian_determinant_group) == 0 || strlen(jacobian_inverse_group) == 0 || strlen(jacobian_derivative_group) == 0)) { - CCTK_WARN (1, "GenericFD::jacobian_group and GenericFD::jacobian_derivative_group must both be set to valid group names"); + CCTK_WARN(1, "GenericFD::jacobian_group, GenericFD::jacobian_determinant_group, GenericFD::jacobian_inverse_group, and GenericFD::jacobian_derivative_group must all be set to valid group names"); } - CCTK_REAL const *restrict jacobian_ptrs[9]; + const CCTK_REAL* restrict jacobian_ptrs[9]; if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_group, 9, jacobian_ptrs); - CCTK_REAL const *restrict const J11 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[0] : 0; - CCTK_REAL const *restrict const J12 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[1] : 0; - CCTK_REAL const *restrict const J13 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[2] : 0; - CCTK_REAL const *restrict const J21 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[3] : 0; - CCTK_REAL const *restrict const J22 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[4] : 0; - CCTK_REAL const *restrict const J23 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[5] : 0; - CCTK_REAL const *restrict const J31 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[6] : 0; - CCTK_REAL const *restrict const J32 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[7] : 0; - CCTK_REAL const *restrict const J33 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[8] : 0; + const CCTK_REAL* restrict const J11 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[0] : 0; + const CCTK_REAL* restrict const J12 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[1] : 0; + const CCTK_REAL* restrict const J13 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[2] : 0; + const CCTK_REAL* restrict const J21 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[3] : 0; + const CCTK_REAL* restrict const J22 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[4] : 0; + const CCTK_REAL* restrict const J23 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[5] : 0; + const CCTK_REAL* restrict const J31 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[6] : 0; + const CCTK_REAL* restrict const J32 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[7] : 0; + const CCTK_REAL* restrict const J33 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[8] : 0; - 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 */ @@ -193,13 +215,20 @@ static void ML_BSSN_enforce_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_BSSN_enforce, - 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 */ @@ -223,44 +252,54 @@ static void ML_BSSN_enforce_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 detgt = ToReal(1.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED detgt = ToReal(1); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gtu11 = - kdiv(kmadd(gt22L,gt33L,kmul(kmul(gt23L,gt23L),ToReal(-1.))),detgt); + kdiv(kmsub(gt22L,gt33L,kmul(gt23L,gt23L)),detgt); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gtu12 = - kdiv(kmadd(gt13L,gt23L,kmul(gt12L,kmul(gt33L,ToReal(-1.)))),detgt); + kdiv(kmsub(gt13L,gt23L,kmul(gt12L,gt33L)),detgt); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gtu13 = - kdiv(kmadd(gt12L,gt23L,kmul(gt13L,kmul(gt22L,ToReal(-1.)))),detgt); + kdiv(kmsub(gt12L,gt23L,kmul(gt13L,gt22L)),detgt); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gtu22 = - kdiv(kmadd(gt11L,gt33L,kmul(kmul(gt13L,gt13L),ToReal(-1.))),detgt); + kdiv(kmsub(gt11L,gt33L,kmul(gt13L,gt13L)),detgt); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gtu23 = - kdiv(kmadd(gt12L,gt13L,kmul(gt11L,kmul(gt23L,ToReal(-1.)))),detgt); + kdiv(kmsub(gt12L,gt13L,kmul(gt11L,gt23L)),detgt); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gtu33 = - kdiv(kmadd(gt11L,gt22L,kmul(kmul(gt12L,gt12L),ToReal(-1.))),detgt); + kdiv(kmsub(gt11L,gt22L,kmul(gt12L,gt12L)),detgt); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED trAt = - kmadd(At11L,gtu11,kmadd(At22L,gtu22,kmadd(At33L,gtu33,kmul(kmadd(At12L,gtu12,kmadd(At13L,gtu13,kmul(At23L,gtu23))),ToReal(2.))))); + kmadd(At11L,gtu11,kmadd(At22L,gtu22,kmadd(At33L,gtu33,kmul(kmadd(At12L,gtu12,kmadd(At13L,gtu13,kmul(At23L,gtu23))),ToReal(2))))); At11L = kmadd(gt11L,kmul(trAt,ToReal(-0.333333333333333333333333333333)),At11L); @@ -283,7 +322,7 @@ static void ML_BSSN_enforce_Body(cGH const * restrict const cctkGH, int const di alphaL = kfmax(alphaL,ToReal(MinimumLapse)); /* 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(At11[index],At11L); vec_store_nta_partial(At12[index],At12L); @@ -311,25 +350,35 @@ extern "C" void ML_BSSN_enforce(CCTK_ARGUMENTS) return; } - const char *const groups[] = { + const char* const groups[] = { "ML_BSSN::ML_curv", "ML_BSSN::ML_lapse", "ML_BSSN::ML_metric"}; GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_enforce", 3, 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_BSSN_enforce_Body); diff --git a/ML_BSSN/src/RegisterMoL.cc b/ML_BSSN/src/RegisterMoL.cc index 5a2d09a..a80750d 100644 --- a/ML_BSSN/src/RegisterMoL.cc +++ b/ML_BSSN/src/RegisterMoL.cc @@ -9,7 +9,7 @@ extern "C" void ML_BSSN_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_BSSN::At11"), CCTK_VarIndex("ML_BSSN::At11rhs")); diff --git a/ML_BSSN/src/Startup.cc b/ML_BSSN/src/Startup.cc index 8dddecf..2131f9e 100644 --- a/ML_BSSN/src/Startup.cc +++ b/ML_BSSN/src/Startup.cc @@ -4,7 +4,7 @@ extern "C" int ML_BSSN_Startup(void) { - const char * banner CCTK_ATTRIBUTE_UNUSED = "ML_BSSN"; + const char* banner CCTK_ATTRIBUTE_UNUSED = "ML_BSSN"; CCTK_RegisterBanner(banner); return 0; } diff --git a/ML_CCZ4/param.ccl b/ML_CCZ4/param.ccl index 01ea588..07c918c 100644 --- a/ML_CCZ4/param.ccl +++ b/ML_CCZ4/param.ccl @@ -37,7 +37,11 @@ EXTENDS CCTK_KEYWORD dtshift_evolution_method "dtshift_evolution_method" 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_CCZ4/schedule.ccl b/ML_CCZ4/schedule.ccl index aa5aa04..268e79a 100644 --- a/ML_CCZ4/schedule.ccl +++ b/ML_CCZ4/schedule.ccl @@ -1,290 +1,55 @@ # File produced by Kranc -if (other_timelevels == 1) -{ - STORAGE: ML_cons_detg[1] -} +STORAGE: ML_cons_detg[other_timelevels] -if (other_timelevels == 1) -{ - STORAGE: ML_cons_Gamma[1] -} +STORAGE: ML_cons_Gamma[other_timelevels] -if (other_timelevels == 1) -{ - STORAGE: ML_cons_traceA[1] -} +STORAGE: ML_cons_traceA[other_timelevels] -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_dtlapse[1] -} -if (timelevels == 2) -{ - STORAGE: ML_dtlapse[2] -} -if (timelevels == 3) -{ - STORAGE: ML_dtlapse[3] -} +STORAGE: ML_dtlapse[timelevels] -if (timelevels == 1) -{ - STORAGE: ML_dtshift[1] -} -if (timelevels == 2) -{ - STORAGE: ML_dtshift[2] -} -if (timelevels == 3) -{ - STORAGE: ML_dtshift[3] -} +STORAGE: ML_dtshift[timelevels] -if (timelevels == 1) -{ - STORAGE: ML_Gamma[1] -} -if (timelevels == 2) -{ - STORAGE: ML_Gamma[2] -} -if (timelevels == 3) -{ - STORAGE: ML_Gamma[3] -} +STORAGE: ML_Gamma[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_log_confac[1] -} -if (timelevels == 2) -{ - STORAGE: ML_log_confac[2] -} -if (timelevels == 3) -{ - STORAGE: ML_log_confac[3] -} +STORAGE: ML_log_confac[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 (timelevels == 1) -{ - STORAGE: ML_Theta[1] -} -if (timelevels == 2) -{ - STORAGE: ML_Theta[2] -} -if (timelevels == 3) -{ - STORAGE: ML_Theta[3] -} +STORAGE: ML_Theta[timelevels] -if (timelevels == 1) -{ - STORAGE: ML_trace_curv[1] -} -if (timelevels == 2) -{ - STORAGE: ML_trace_curv[2] -} -if (timelevels == 3) -{ - STORAGE: ML_trace_curv[3] -} +STORAGE: ML_trace_curv[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_dtlapserhs[1] -} -if (rhs_timelevels == 2) -{ - STORAGE: ML_dtlapserhs[2] -} -if (rhs_timelevels == 3) -{ - STORAGE: ML_dtlapserhs[3] -} +STORAGE: ML_dtlapserhs[rhs_timelevels] -if (rhs_timelevels == 1) -{ - STORAGE: ML_dtshiftrhs[1] -} -if (rhs_timelevels == 2) -{ - STORAGE: ML_dtshiftrhs[2] -} -if (rhs_timelevels == 3) -{ - STORAGE: ML_dtshiftrhs[3] -} +STORAGE: ML_dtshiftrhs[rhs_timelevels] -if (rhs_timelevels == 1) -{ - STORAGE: ML_Gammarhs[1] -} -if (rhs_timelevels == 2) -{ - STORAGE: ML_Gammarhs[2] -} -if (rhs_timelevels == 3) -{ - STORAGE: ML_Gammarhs[3] -} +STORAGE: ML_Gammarhs[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_log_confacrhs[1] -} -if (rhs_timelevels == 2) -{ - STORAGE: ML_log_confacrhs[2] -} -if (rhs_timelevels == 3) -{ - STORAGE: ML_log_confacrhs[3] -} +STORAGE: ML_log_confacrhs[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] -if (rhs_timelevels == 1) -{ - STORAGE: ML_Thetarhs[1] -} -if (rhs_timelevels == 2) -{ - STORAGE: ML_Thetarhs[2] -} -if (rhs_timelevels == 3) -{ - STORAGE: ML_Thetarhs[3] -} +STORAGE: ML_Thetarhs[rhs_timelevels] -if (rhs_timelevels == 1) -{ - STORAGE: ML_trace_curvrhs[1] -} -if (rhs_timelevels == 2) -{ - STORAGE: ML_trace_curvrhs[2] -} -if (rhs_timelevels == 3) -{ - STORAGE: ML_trace_curvrhs[3] -} +STORAGE: ML_trace_curvrhs[rhs_timelevels] schedule ML_CCZ4_Startup at STARTUP { @@ -304,32 +69,32 @@ if (CCTK_EQUALS(my_initial_data, "Minkowski")) schedule ML_CCZ4_Minkowski IN ADMBase_InitialData { LANG: C - WRITES: ML_CCZ4::A(Everywhere) - WRITES: ML_CCZ4::alpha(Everywhere) - WRITES: ML_CCZ4::At11(Everywhere) - WRITES: ML_CCZ4::At12(Everywhere) - WRITES: ML_CCZ4::At13(Everywhere) - WRITES: ML_CCZ4::At22(Everywhere) - WRITES: ML_CCZ4::At23(Everywhere) - WRITES: ML_CCZ4::At33(Everywhere) - WRITES: ML_CCZ4::B1(Everywhere) - WRITES: ML_CCZ4::B2(Everywhere) - WRITES: ML_CCZ4::B3(Everywhere) - WRITES: ML_CCZ4::beta1(Everywhere) - WRITES: ML_CCZ4::beta2(Everywhere) - WRITES: ML_CCZ4::beta3(Everywhere) - WRITES: ML_CCZ4::gt11(Everywhere) - WRITES: ML_CCZ4::gt12(Everywhere) - WRITES: ML_CCZ4::gt13(Everywhere) - WRITES: ML_CCZ4::gt22(Everywhere) - WRITES: ML_CCZ4::gt23(Everywhere) - WRITES: ML_CCZ4::gt33(Everywhere) - WRITES: ML_CCZ4::phi(Everywhere) - WRITES: ML_CCZ4::Theta(Everywhere) - WRITES: ML_CCZ4::trK(Everywhere) - WRITES: ML_CCZ4::Xt1(Everywhere) - WRITES: ML_CCZ4::Xt2(Everywhere) - WRITES: ML_CCZ4::Xt3(Everywhere) + WRITES: ML_CCZ4::A(Everywhere) + WRITES: ML_CCZ4::alpha(Everywhere) + WRITES: ML_CCZ4::At11(Everywhere) + WRITES: ML_CCZ4::At12(Everywhere) + WRITES: ML_CCZ4::At13(Everywhere) + WRITES: ML_CCZ4::At22(Everywhere) + WRITES: ML_CCZ4::At23(Everywhere) + WRITES: ML_CCZ4::At33(Everywhere) + WRITES: ML_CCZ4::B1(Everywhere) + WRITES: ML_CCZ4::B2(Everywhere) + WRITES: ML_CCZ4::B3(Everywhere) + WRITES: ML_CCZ4::beta1(Everywhere) + WRITES: ML_CCZ4::beta2(Everywhere) + WRITES: ML_CCZ4::beta3(Everywhere) + WRITES: ML_CCZ4::gt11(Everywhere) + WRITES: ML_CCZ4::gt12(Everywhere) + WRITES: ML_CCZ4::gt13(Everywhere) + WRITES: ML_CCZ4::gt22(Everywhere) + WRITES: ML_CCZ4::gt23(Everywhere) + WRITES: ML_CCZ4::gt33(Everywhere) + WRITES: ML_CCZ4::phi(Everywhere) + WRITES: ML_CCZ4::Theta(Everywhere) + WRITES: ML_CCZ4::trK(Everywhere) + WRITES: ML_CCZ4::Xt1(Everywhere) + WRITES: ML_CCZ4::Xt2(Everywhere) + WRITES: ML_CCZ4::Xt3(Everywhere) } "ML_CCZ4_Minkowski" } @@ -339,41 +104,41 @@ if (CCTK_EQUALS(my_initial_data, "ADMBase")) schedule ML_CCZ4_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_CCZ4::alpha(Everywhere) - WRITES: ML_CCZ4::At11(Everywhere) - WRITES: ML_CCZ4::At12(Everywhere) - WRITES: ML_CCZ4::At13(Everywhere) - WRITES: ML_CCZ4::At22(Everywhere) - WRITES: ML_CCZ4::At23(Everywhere) - WRITES: ML_CCZ4::At33(Everywhere) - WRITES: ML_CCZ4::beta1(Everywhere) - WRITES: ML_CCZ4::beta2(Everywhere) - WRITES: ML_CCZ4::beta3(Everywhere) - WRITES: ML_CCZ4::gt11(Everywhere) - WRITES: ML_CCZ4::gt12(Everywhere) - WRITES: ML_CCZ4::gt13(Everywhere) - WRITES: ML_CCZ4::gt22(Everywhere) - WRITES: ML_CCZ4::gt23(Everywhere) - WRITES: ML_CCZ4::gt33(Everywhere) - WRITES: ML_CCZ4::phi(Everywhere) - WRITES: ML_CCZ4::Theta(Everywhere) - WRITES: ML_CCZ4::trK(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_CCZ4::alpha(Everywhere) + WRITES: ML_CCZ4::At11(Everywhere) + WRITES: ML_CCZ4::At12(Everywhere) + WRITES: ML_CCZ4::At13(Everywhere) + WRITES: ML_CCZ4::At22(Everywhere) + WRITES: ML_CCZ4::At23(Everywhere) + WRITES: ML_CCZ4::At33(Everywhere) + WRITES: ML_CCZ4::beta1(Everywhere) + WRITES: ML_CCZ4::beta2(Everywhere) + WRITES: ML_CCZ4::beta3(Everywhere) + WRITES: ML_CCZ4::gt11(Everywhere) + WRITES: ML_CCZ4::gt12(Everywhere) + WRITES: ML_CCZ4::gt13(Everywhere) + WRITES: ML_CCZ4::gt22(Everywhere) + WRITES: ML_CCZ4::gt23(Everywhere) + WRITES: ML_CCZ4::gt33(Everywhere) + WRITES: ML_CCZ4::phi(Everywhere) + WRITES: ML_CCZ4::Theta(Everywhere) + WRITES: ML_CCZ4::trK(Everywhere) } "ML_CCZ4_convertFromADMBase" } @@ -383,13 +148,13 @@ if (CCTK_EQUALS(my_initial_data, "ADMBase")) schedule ML_CCZ4_InitGamma AT initial BEFORE ML_CCZ4_convertFromADMBaseGamma { LANG: C - WRITES: ML_CCZ4::A(Everywhere) - WRITES: ML_CCZ4::B1(Everywhere) - WRITES: ML_CCZ4::B2(Everywhere) - WRITES: ML_CCZ4::B3(Everywhere) - WRITES: ML_CCZ4::Xt1(Everywhere) - WRITES: ML_CCZ4::Xt2(Everywhere) - WRITES: ML_CCZ4::Xt3(Everywhere) + WRITES: ML_CCZ4::A(Everywhere) + WRITES: ML_CCZ4::B1(Everywhere) + WRITES: ML_CCZ4::B2(Everywhere) + WRITES: ML_CCZ4::B3(Everywhere) + WRITES: ML_CCZ4::Xt1(Everywhere) + WRITES: ML_CCZ4::Xt2(Everywhere) + WRITES: ML_CCZ4::Xt3(Everywhere) } "ML_CCZ4_InitGamma" } @@ -402,135 +167,135 @@ if (CCTK_EQUALS(my_initial_data, "ADMBase")) SYNC: ML_dtlapse SYNC: ML_dtshift SYNC: ML_Gamma - READS: ADMBase::dtalp(Everywhere) - READS: ADMBase::dtbetax(Everywhere) - READS: ADMBase::dtbetay(Everywhere) - READS: ADMBase::dtbetaz(Everywhere) - READS: grid::r(Everywhere) - READS: ML_CCZ4::alpha(Everywhere) - READS: ML_CCZ4::gt11(Everywhere) - READS: ML_CCZ4::gt12(Everywhere) - READS: ML_CCZ4::gt13(Everywhere) - READS: ML_CCZ4::gt22(Everywhere) - READS: ML_CCZ4::gt23(Everywhere) - READS: ML_CCZ4::gt33(Everywhere) - READS: ML_CCZ4::beta1(Everywhere) - READS: ML_CCZ4::beta2(Everywhere) - READS: ML_CCZ4::beta3(Everywhere) - WRITES: ML_CCZ4::A(Interior) - WRITES: ML_CCZ4::B1(Interior) - WRITES: ML_CCZ4::B2(Interior) - WRITES: ML_CCZ4::B3(Interior) - WRITES: ML_CCZ4::Xt1(Interior) - WRITES: ML_CCZ4::Xt2(Interior) - WRITES: ML_CCZ4::Xt3(Interior) + READS: ADMBase::dtalp(Everywhere) + READS: ADMBase::dtbetax(Everywhere) + READS: ADMBase::dtbetay(Everywhere) + READS: ADMBase::dtbetaz(Everywhere) + READS: grid::r(Everywhere) + READS: ML_CCZ4::alpha(Everywhere) + READS: ML_CCZ4::gt11(Everywhere) + READS: ML_CCZ4::gt12(Everywhere) + READS: ML_CCZ4::gt13(Everywhere) + READS: ML_CCZ4::gt22(Everywhere) + READS: ML_CCZ4::gt23(Everywhere) + READS: ML_CCZ4::gt33(Everywhere) + READS: ML_CCZ4::beta1(Everywhere) + READS: ML_CCZ4::beta2(Everywhere) + READS: ML_CCZ4::beta3(Everywhere) + WRITES: ML_CCZ4::A(Interior) + WRITES: ML_CCZ4::B1(Interior) + WRITES: ML_CCZ4::B2(Interior) + WRITES: ML_CCZ4::B3(Interior) + WRITES: ML_CCZ4::Xt1(Interior) + WRITES: ML_CCZ4::Xt2(Interior) + WRITES: ML_CCZ4::Xt3(Interior) } "ML_CCZ4_convertFromADMBaseGamma" } schedule ML_CCZ4_RHS1 IN ML_CCZ4_evolCalcGroup { LANG: C - READS: grid::r(Everywhere) - READS: TmunuBase::eTtt(Everywhere) - READS: TmunuBase::eTxx(Everywhere) - READS: TmunuBase::eTxy(Everywhere) - READS: TmunuBase::eTxz(Everywhere) - READS: TmunuBase::eTyy(Everywhere) - READS: TmunuBase::eTyz(Everywhere) - READS: TmunuBase::eTzz(Everywhere) - READS: TmunuBase::eTtx(Everywhere) - READS: TmunuBase::eTty(Everywhere) - READS: TmunuBase::eTtz(Everywhere) - READS: ML_CCZ4::At11(Everywhere) - READS: ML_CCZ4::At12(Everywhere) - READS: ML_CCZ4::At13(Everywhere) - READS: ML_CCZ4::At22(Everywhere) - READS: ML_CCZ4::At23(Everywhere) - READS: ML_CCZ4::At33(Everywhere) - READS: ML_CCZ4::A(Everywhere) - READS: ML_CCZ4::B1(Everywhere) - READS: ML_CCZ4::B2(Everywhere) - READS: ML_CCZ4::B3(Everywhere) - READS: ML_CCZ4::Xt1(Everywhere) - READS: ML_CCZ4::Xt2(Everywhere) - READS: ML_CCZ4::Xt3(Everywhere) - READS: ML_CCZ4::alpha(Everywhere) - READS: ML_CCZ4::phi(Everywhere) - READS: ML_CCZ4::gt11(Everywhere) - READS: ML_CCZ4::gt12(Everywhere) - READS: ML_CCZ4::gt13(Everywhere) - READS: ML_CCZ4::gt22(Everywhere) - READS: ML_CCZ4::gt23(Everywhere) - READS: ML_CCZ4::gt33(Everywhere) - READS: ML_CCZ4::beta1(Everywhere) - READS: ML_CCZ4::beta2(Everywhere) - READS: ML_CCZ4::beta3(Everywhere) - READS: ML_CCZ4::Theta(Everywhere) - READS: ML_CCZ4::trK(Everywhere) - WRITES: ML_CCZ4::alpharhs(ERROR(InteriorNoSync)) - WRITES: ML_CCZ4::Arhs(ERROR(InteriorNoSync)) - WRITES: ML_CCZ4::B1rhs(ERROR(InteriorNoSync)) - WRITES: ML_CCZ4::B2rhs(ERROR(InteriorNoSync)) - WRITES: ML_CCZ4::B3rhs(ERROR(InteriorNoSync)) - WRITES: ML_CCZ4::beta1rhs(ERROR(InteriorNoSync)) - WRITES: ML_CCZ4::beta2rhs(ERROR(InteriorNoSync)) - WRITES: ML_CCZ4::beta3rhs(ERROR(InteriorNoSync)) - WRITES: ML_CCZ4::gt11rhs(ERROR(InteriorNoSync)) - WRITES: ML_CCZ4::gt12rhs(ERROR(InteriorNoSync)) - WRITES: ML_CCZ4::gt13rhs(ERROR(InteriorNoSync)) - WRITES: ML_CCZ4::gt22rhs(ERROR(InteriorNoSync)) - WRITES: ML_CCZ4::gt23rhs(ERROR(InteriorNoSync)) - WRITES: ML_CCZ4::gt33rhs(ERROR(InteriorNoSync)) - WRITES: ML_CCZ4::phirhs(ERROR(InteriorNoSync)) - WRITES: ML_CCZ4::Thetarhs(ERROR(InteriorNoSync)) - WRITES: ML_CCZ4::trKrhs(ERROR(InteriorNoSync)) - WRITES: ML_CCZ4::Xt1rhs(ERROR(InteriorNoSync)) - WRITES: ML_CCZ4::Xt2rhs(ERROR(InteriorNoSync)) - WRITES: ML_CCZ4::Xt3rhs(ERROR(InteriorNoSync)) + READS: grid::r(Everywhere) + READS: TmunuBase::eTtt(Everywhere) + READS: TmunuBase::eTxx(Everywhere) + READS: TmunuBase::eTxy(Everywhere) + READS: TmunuBase::eTxz(Everywhere) + READS: TmunuBase::eTyy(Everywhere) + READS: TmunuBase::eTyz(Everywhere) + READS: TmunuBase::eTzz(Everywhere) + READS: TmunuBase::eTtx(Everywhere) + READS: TmunuBase::eTty(Everywhere) + READS: TmunuBase::eTtz(Everywhere) + READS: ML_CCZ4::At11(Everywhere) + READS: ML_CCZ4::At12(Everywhere) + READS: ML_CCZ4::At13(Everywhere) + READS: ML_CCZ4::At22(Everywhere) + READS: ML_CCZ4::At23(Everywhere) + READS: ML_CCZ4::At33(Everywhere) + READS: ML_CCZ4::A(Everywhere) + READS: ML_CCZ4::B1(Everywhere) + READS: ML_CCZ4::B2(Everywhere) + READS: ML_CCZ4::B3(Everywhere) + READS: ML_CCZ4::Xt1(Everywhere) + READS: ML_CCZ4::Xt2(Everywhere) + READS: ML_CCZ4::Xt3(Everywhere) + READS: ML_CCZ4::alpha(Everywhere) + READS: ML_CCZ4::phi(Everywhere) + READS: ML_CCZ4::gt11(Everywhere) + READS: ML_CCZ4::gt12(Everywhere) + READS: ML_CCZ4::gt13(Everywhere) + READS: ML_CCZ4::gt22(Everywhere) + READS: ML_CCZ4::gt23(Everywhere) + READS: ML_CCZ4::gt33(Everywhere) + READS: ML_CCZ4::beta1(Everywhere) + READS: ML_CCZ4::beta2(Everywhere) + READS: ML_CCZ4::beta3(Everywhere) + READS: ML_CCZ4::Theta(Everywhere) + READS: ML_CCZ4::trK(Everywhere) + WRITES: ML_CCZ4::alpharhs(Interior) + WRITES: ML_CCZ4::Arhs(Interior) + WRITES: ML_CCZ4::B1rhs(Interior) + WRITES: ML_CCZ4::B2rhs(Interior) + WRITES: ML_CCZ4::B3rhs(Interior) + WRITES: ML_CCZ4::beta1rhs(Interior) + WRITES: ML_CCZ4::beta2rhs(Interior) + WRITES: ML_CCZ4::beta3rhs(Interior) + WRITES: ML_CCZ4::gt11rhs(Interior) + WRITES: ML_CCZ4::gt12rhs(Interior) + WRITES: ML_CCZ4::gt13rhs(Interior) + WRITES: ML_CCZ4::gt22rhs(Interior) + WRITES: ML_CCZ4::gt23rhs(Interior) + WRITES: ML_CCZ4::gt33rhs(Interior) + WRITES: ML_CCZ4::phirhs(Interior) + WRITES: ML_CCZ4::Thetarhs(Interior) + WRITES: ML_CCZ4::trKrhs(Interior) + WRITES: ML_CCZ4::Xt1rhs(Interior) + WRITES: ML_CCZ4::Xt2rhs(Interior) + WRITES: ML_CCZ4::Xt3rhs(Interior) } "ML_CCZ4_RHS1" schedule ML_CCZ4_RHS2 IN ML_CCZ4_evolCalcGroup { LANG: C - READS: grid::r(Everywhere) - READS: TmunuBase::eTtt(Everywhere) - READS: TmunuBase::eTxx(Everywhere) - READS: TmunuBase::eTxy(Everywhere) - READS: TmunuBase::eTxz(Everywhere) - READS: TmunuBase::eTyy(Everywhere) - READS: TmunuBase::eTyz(Everywhere) - READS: TmunuBase::eTzz(Everywhere) - READS: TmunuBase::eTtx(Everywhere) - READS: TmunuBase::eTty(Everywhere) - READS: TmunuBase::eTtz(Everywhere) - READS: ML_CCZ4::At11(Everywhere) - READS: ML_CCZ4::At12(Everywhere) - READS: ML_CCZ4::At13(Everywhere) - READS: ML_CCZ4::At22(Everywhere) - READS: ML_CCZ4::At23(Everywhere) - READS: ML_CCZ4::At33(Everywhere) - READS: ML_CCZ4::Xt1(Everywhere) - READS: ML_CCZ4::Xt2(Everywhere) - READS: ML_CCZ4::Xt3(Everywhere) - READS: ML_CCZ4::alpha(Everywhere) - READS: ML_CCZ4::phi(Everywhere) - READS: ML_CCZ4::gt11(Everywhere) - READS: ML_CCZ4::gt12(Everywhere) - READS: ML_CCZ4::gt13(Everywhere) - READS: ML_CCZ4::gt22(Everywhere) - READS: ML_CCZ4::gt23(Everywhere) - READS: ML_CCZ4::gt33(Everywhere) - READS: ML_CCZ4::beta1(Everywhere) - READS: ML_CCZ4::beta2(Everywhere) - READS: ML_CCZ4::beta3(Everywhere) - READS: ML_CCZ4::Theta(Everywhere) - READS: ML_CCZ4::trK(Everywhere) - WRITES: ML_CCZ4::At11rhs(ERROR(InteriorNoSync)) - WRITES: ML_CCZ4::At12rhs(ERROR(InteriorNoSync)) - WRITES: ML_CCZ4::At13rhs(ERROR(InteriorNoSync)) - WRITES: ML_CCZ4::At22rhs(ERROR(InteriorNoSync)) - WRITES: ML_CCZ4::At23rhs(ERROR(InteriorNoSync)) - WRITES: ML_CCZ4::At33rhs(ERROR(InteriorNoSync)) + READS: grid::r(Everywhere) + READS: TmunuBase::eTtt(Everywhere) + READS: TmunuBase::eTxx(Everywhere) + READS: TmunuBase::eTxy(Everywhere) + READS: TmunuBase::eTxz(Everywhere) + READS: TmunuBase::eTyy(Everywhere) + READS: TmunuBase::eTyz(Everywhere) + READS: TmunuBase::eTzz(Everywhere) + READS: TmunuBase::eTtx(Everywhere) + READS: TmunuBase::eTty(Everywhere) + READS: TmunuBase::eTtz(Everywhere) + READS: ML_CCZ4::At11(Everywhere) + READS: ML_CCZ4::At12(Everywhere) + READS: ML_CCZ4::At13(Everywhere) + READS: ML_CCZ4::At22(Everywhere) + READS: ML_CCZ4::At23(Everywhere) + READS: ML_CCZ4::At33(Everywhere) + READS: ML_CCZ4::Xt1(Everywhere) + READS: ML_CCZ4::Xt2(Everywhere) + READS: ML_CCZ4::Xt3(Everywhere) + READS: ML_CCZ4::alpha(Everywhere) + READS: ML_CCZ4::phi(Everywhere) + READS: ML_CCZ4::gt11(Everywhere) + READS: ML_CCZ4::gt12(Everywhere) + READS: ML_CCZ4::gt13(Everywhere) + READS: ML_CCZ4::gt22(Everywhere) + READS: ML_CCZ4::gt23(Everywhere) + READS: ML_CCZ4::gt33(Everywhere) + READS: ML_CCZ4::beta1(Everywhere) + READS: ML_CCZ4::beta2(Everywhere) + READS: ML_CCZ4::beta3(Everywhere) + READS: ML_CCZ4::Theta(Everywhere) + READS: ML_CCZ4::trK(Everywhere) + WRITES: ML_CCZ4::At11rhs(Interior) + WRITES: ML_CCZ4::At12rhs(Interior) + WRITES: ML_CCZ4::At13rhs(Interior) + WRITES: ML_CCZ4::At22rhs(Interior) + WRITES: ML_CCZ4::At23rhs(Interior) + WRITES: ML_CCZ4::At33rhs(Interior) } "ML_CCZ4_RHS2" @@ -539,199 +304,199 @@ if (CCTK_EQUALS(apply_dissipation, "always")) schedule ML_CCZ4_Dissipation IN ML_CCZ4_evolCalcGroup AFTER (ML_CCZ4_RHS1 ML_CCZ4_RHS2) { LANG: C - READS: ML_CCZ4::At11(Everywhere) - READS: ML_CCZ4::At12(Everywhere) - READS: ML_CCZ4::At13(Everywhere) - READS: ML_CCZ4::At22(Everywhere) - READS: ML_CCZ4::At23(Everywhere) - READS: ML_CCZ4::At33(Everywhere) - READS: ML_CCZ4::A(Everywhere) - READS: ML_CCZ4::B1(Everywhere) - READS: ML_CCZ4::B2(Everywhere) - READS: ML_CCZ4::B3(Everywhere) - READS: ML_CCZ4::Xt1(Everywhere) - READS: ML_CCZ4::Xt2(Everywhere) - READS: ML_CCZ4::Xt3(Everywhere) - READS: ML_CCZ4::alpha(Everywhere) - READS: ML_CCZ4::phi(Everywhere) - READS: ML_CCZ4::gt11(Everywhere) - READS: ML_CCZ4::gt12(Everywhere) - READS: ML_CCZ4::gt13(Everywhere) - READS: ML_CCZ4::gt22(Everywhere) - READS: ML_CCZ4::gt23(Everywhere) - READS: ML_CCZ4::gt33(Everywhere) - READS: ML_CCZ4::beta1(Everywhere) - READS: ML_CCZ4::beta2(Everywhere) - READS: ML_CCZ4::beta3(Everywhere) - READS: ML_CCZ4::Theta(Everywhere) - READS: ML_CCZ4::trK(Everywhere) - READS: ML_CCZ4::At11rhs(Everywhere) - READS: ML_CCZ4::At12rhs(Everywhere) - READS: ML_CCZ4::At13rhs(Everywhere) - READS: ML_CCZ4::At22rhs(Everywhere) - READS: ML_CCZ4::At23rhs(Everywhere) - READS: ML_CCZ4::At33rhs(Everywhere) - READS: ML_CCZ4::Arhs(Everywhere) - READS: ML_CCZ4::B1rhs(Everywhere) - READS: ML_CCZ4::B2rhs(Everywhere) - READS: ML_CCZ4::B3rhs(Everywhere) - READS: ML_CCZ4::Xt1rhs(Everywhere) - READS: ML_CCZ4::Xt2rhs(Everywhere) - READS: ML_CCZ4::Xt3rhs(Everywhere) - READS: ML_CCZ4::alpharhs(Everywhere) - READS: ML_CCZ4::phirhs(Everywhere) - READS: ML_CCZ4::gt11rhs(Everywhere) - READS: ML_CCZ4::gt12rhs(Everywhere) - READS: ML_CCZ4::gt13rhs(Everywhere) - READS: ML_CCZ4::gt22rhs(Everywhere) - READS: ML_CCZ4::gt23rhs(Everywhere) - READS: ML_CCZ4::gt33rhs(Everywhere) - READS: ML_CCZ4::beta1rhs(Everywhere) - READS: ML_CCZ4::beta2rhs(Everywhere) - READS: ML_CCZ4::beta3rhs(Everywhere) - READS: ML_CCZ4::Thetarhs(Everywhere) - READS: ML_CCZ4::trKrhs(Everywhere) - WRITES: ML_CCZ4::alpharhs(ERROR(InteriorNoSync)) - WRITES: ML_CCZ4::Arhs(ERROR(InteriorNoSync)) - WRITES: ML_CCZ4::At11rhs(ERROR(InteriorNoSync)) - WRITES: ML_CCZ4::At12rhs(ERROR(InteriorNoSync)) - WRITES: ML_CCZ4::At13rhs(ERROR(InteriorNoSync)) - WRITES: ML_CCZ4::At22rhs(ERROR(InteriorNoSync)) - WRITES: ML_CCZ4::At23rhs(ERROR(InteriorNoSync)) - WRITES: ML_CCZ4::At33rhs(ERROR(InteriorNoSync)) - WRITES: ML_CCZ4::B1rhs(ERROR(InteriorNoSync)) - WRITES: ML_CCZ4::B2rhs(ERROR(InteriorNoSync)) - WRITES: ML_CCZ4::B3rhs(ERROR(InteriorNoSync)) - WRITES: ML_CCZ4::beta1rhs(ERROR(InteriorNoSync)) - WRITES: ML_CCZ4::beta2rhs(ERROR(InteriorNoSync)) - WRITES: ML_CCZ4::beta3rhs(ERROR(InteriorNoSync)) - WRITES: ML_CCZ4::gt11rhs(ERROR(InteriorNoSync)) - WRITES: ML_CCZ4::gt12rhs(ERROR(InteriorNoSync)) - WRITES: ML_CCZ4::gt13rhs(ERROR(InteriorNoSync)) - WRITES: ML_CCZ4::gt22rhs(ERROR(InteriorNoSync)) - WRITES: ML_CCZ4::gt23rhs(ERROR(InteriorNoSync)) - WRITES: ML_CCZ4::gt33rhs(ERROR(InteriorNoSync)) - WRITES: ML_CCZ4::phirhs(ERROR(InteriorNoSync)) - WRITES: ML_CCZ4::Thetarhs(ERROR(InteriorNoSync)) - WRITES: ML_CCZ4::trKrhs(ERROR(InteriorNoSync)) - WRITES: ML_CCZ4::Xt1rhs(ERROR(InteriorNoSync)) - WRITES: ML_CCZ4::Xt2rhs(ERROR(InteriorNoSync)) - WRITES: ML_CCZ4::Xt3rhs(ERROR(InteriorNoSync)) + READS: ML_CCZ4::At11(Everywhere) + READS: ML_CCZ4::At12(Everywhere) + READS: ML_CCZ4::At13(Everywhere) + READS: ML_CCZ4::At22(Everywhere) + READS: ML_CCZ4::At23(Everywhere) + READS: ML_CCZ4::At33(Everywhere) + READS: ML_CCZ4::A(Everywhere) + READS: ML_CCZ4::B1(Everywhere) + READS: ML_CCZ4::B2(Everywhere) + READS: ML_CCZ4::B3(Everywhere) + READS: ML_CCZ4::Xt1(Everywhere) + READS: ML_CCZ4::Xt2(Everywhere) + READS: ML_CCZ4::Xt3(Everywhere) + READS: ML_CCZ4::alpha(Everywhere) + READS: ML_CCZ4::phi(Everywhere) + READS: ML_CCZ4::gt11(Everywhere) + READS: ML_CCZ4::gt12(Everywhere) + READS: ML_CCZ4::gt13(Everywhere) + READS: ML_CCZ4::gt22(Everywhere) + READS: ML_CCZ4::gt23(Everywhere) + READS: ML_CCZ4::gt33(Everywhere) + READS: ML_CCZ4::beta1(Everywhere) + READS: ML_CCZ4::beta2(Everywhere) + READS: ML_CCZ4::beta3(Everywhere) + READS: ML_CCZ4::Theta(Everywhere) + READS: ML_CCZ4::trK(Everywhere) + READS: ML_CCZ4::At11rhs(Everywhere) + READS: ML_CCZ4::At12rhs(Everywhere) + READS: ML_CCZ4::At13rhs(Everywhere) + READS: ML_CCZ4::At22rhs(Everywhere) + READS: ML_CCZ4::At23rhs(Everywhere) + READS: ML_CCZ4::At33rhs(Everywhere) + READS: ML_CCZ4::Arhs(Everywhere) + READS: ML_CCZ4::B1rhs(Everywhere) + READS: ML_CCZ4::B2rhs(Everywhere) + READS: ML_CCZ4::B3rhs(Everywhere) + READS: ML_CCZ4::Xt1rhs(Everywhere) + READS: ML_CCZ4::Xt2rhs(Everywhere) + READS: ML_CCZ4::Xt3rhs(Everywhere) + READS: ML_CCZ4::alpharhs(Everywhere) + READS: ML_CCZ4::phirhs(Everywhere) + READS: ML_CCZ4::gt11rhs(Everywhere) + READS: ML_CCZ4::gt12rhs(Everywhere) + READS: ML_CCZ4::gt13rhs(Everywhere) + READS: ML_CCZ4::gt22rhs(Everywhere) + READS: ML_CCZ4::gt23rhs(Everywhere) + READS: ML_CCZ4::gt33rhs(Everywhere) + READS: ML_CCZ4::beta1rhs(Everywhere) + READS: ML_CCZ4::beta2rhs(Everywhere) + READS: ML_CCZ4::beta3rhs(Everywhere) + READS: ML_CCZ4::Thetarhs(Everywhere) + READS: ML_CCZ4::trKrhs(Everywhere) + WRITES: ML_CCZ4::alpharhs(Interior) + WRITES: ML_CCZ4::Arhs(Interior) + WRITES: ML_CCZ4::At11rhs(Interior) + WRITES: ML_CCZ4::At12rhs(Interior) + WRITES: ML_CCZ4::At13rhs(Interior) + WRITES: ML_CCZ4::At22rhs(Interior) + WRITES: ML_CCZ4::At23rhs(Interior) + WRITES: ML_CCZ4::At33rhs(Interior) + WRITES: ML_CCZ4::B1rhs(Interior) + WRITES: ML_CCZ4::B2rhs(Interior) + WRITES: ML_CCZ4::B3rhs(Interior) + WRITES: ML_CCZ4::beta1rhs(Interior) + WRITES: ML_CCZ4::beta2rhs(Interior) + WRITES: ML_CCZ4::beta3rhs(Interior) + WRITES: ML_CCZ4::gt11rhs(Interior) + WRITES: ML_CCZ4::gt12rhs(Interior) + WRITES: ML_CCZ4::gt13rhs(Interior) + WRITES: ML_CCZ4::gt22rhs(Interior) + WRITES: ML_CCZ4::gt23rhs(Interior) + WRITES: ML_CCZ4::gt33rhs(Interior) + WRITES: ML_CCZ4::phirhs(Interior) + WRITES: ML_CCZ4::Thetarhs(Interior) + WRITES: ML_CCZ4::trKrhs(Interior) + WRITES: ML_CCZ4::Xt1rhs(Interior) + WRITES: ML_CCZ4::Xt2rhs(Interior) + WRITES: ML_CCZ4::Xt3rhs(Interior) } "ML_CCZ4_Dissipation" } schedule ML_CCZ4_Advect IN ML_CCZ4_evolCalcGroup AFTER (ML_CCZ4_RHS1 ML_CCZ4_RHS2) { LANG: C - READS: ML_CCZ4::At11(Everywhere) - READS: ML_CCZ4::At12(Everywhere) - READS: ML_CCZ4::At13(Everywhere) - READS: ML_CCZ4::At22(Everywhere) - READS: ML_CCZ4::At23(Everywhere) - READS: ML_CCZ4::At33(Everywhere) - READS: ML_CCZ4::A(Everywhere) - READS: ML_CCZ4::B1(Everywhere) - READS: ML_CCZ4::B2(Everywhere) - READS: ML_CCZ4::B3(Everywhere) - READS: ML_CCZ4::Xt1(Everywhere) - READS: ML_CCZ4::Xt2(Everywhere) - READS: ML_CCZ4::Xt3(Everywhere) - READS: ML_CCZ4::alpha(Everywhere) - READS: ML_CCZ4::phi(Everywhere) - READS: ML_CCZ4::gt11(Everywhere) - READS: ML_CCZ4::gt12(Everywhere) - READS: ML_CCZ4::gt13(Everywhere) - READS: ML_CCZ4::gt22(Everywhere) - READS: ML_CCZ4::gt23(Everywhere) - READS: ML_CCZ4::gt33(Everywhere) - READS: ML_CCZ4::beta1(Everywhere) - READS: ML_CCZ4::beta2(Everywhere) - READS: ML_CCZ4::beta3(Everywhere) - READS: ML_CCZ4::Theta(Everywhere) - READS: ML_CCZ4::trK(Everywhere) - READS: ML_CCZ4::At11rhs(Everywhere) - READS: ML_CCZ4::At12rhs(Everywhere) - READS: ML_CCZ4::At13rhs(Everywhere) - READS: ML_CCZ4::At22rhs(Everywhere) - READS: ML_CCZ4::At23rhs(Everywhere) - READS: ML_CCZ4::At33rhs(Everywhere) - READS: ML_CCZ4::Arhs(Everywhere) - READS: ML_CCZ4::B1rhs(Everywhere) - READS: ML_CCZ4::B2rhs(Everywhere) - READS: ML_CCZ4::B3rhs(Everywhere) - READS: ML_CCZ4::Xt1rhs(Everywhere) - READS: ML_CCZ4::Xt2rhs(Everywhere) - READS: ML_CCZ4::Xt3rhs(Everywhere) - READS: ML_CCZ4::alpharhs(Everywhere) - READS: ML_CCZ4::phirhs(Everywhere) - READS: ML_CCZ4::gt11rhs(Everywhere) - READS: ML_CCZ4::gt12rhs(Everywhere) - READS: ML_CCZ4::gt13rhs(Everywhere) - READS: ML_CCZ4::gt22rhs(Everywhere) - READS: ML_CCZ4::gt23rhs(Everywhere) - READS: ML_CCZ4::gt33rhs(Everywhere) - READS: ML_CCZ4::beta1rhs(Everywhere) - READS: ML_CCZ4::beta2rhs(Everywhere) - READS: ML_CCZ4::beta3rhs(Everywhere) - READS: ML_CCZ4::Thetarhs(Everywhere) - READS: ML_CCZ4::trKrhs(Everywhere) - WRITES: ML_CCZ4::alpharhs(ERROR(InteriorNoSync)) - WRITES: ML_CCZ4::Arhs(ERROR(InteriorNoSync)) - WRITES: ML_CCZ4::At11rhs(ERROR(InteriorNoSync)) - WRITES: ML_CCZ4::At12rhs(ERROR(InteriorNoSync)) - WRITES: ML_CCZ4::At13rhs(ERROR(InteriorNoSync)) - WRITES: ML_CCZ4::At22rhs(ERROR(InteriorNoSync)) - WRITES: ML_CCZ4::At23rhs(ERROR(InteriorNoSync)) - WRITES: ML_CCZ4::At33rhs(ERROR(InteriorNoSync)) - WRITES: ML_CCZ4::B1rhs(ERROR(InteriorNoSync)) - WRITES: ML_CCZ4::B2rhs(ERROR(InteriorNoSync)) - WRITES: ML_CCZ4::B3rhs(ERROR(InteriorNoSync)) - WRITES: ML_CCZ4::beta1rhs(ERROR(InteriorNoSync)) - WRITES: ML_CCZ4::beta2rhs(ERROR(InteriorNoSync)) - WRITES: ML_CCZ4::beta3rhs(ERROR(InteriorNoSync)) - WRITES: ML_CCZ4::gt11rhs(ERROR(InteriorNoSync)) - WRITES: ML_CCZ4::gt12rhs(ERROR(InteriorNoSync)) - WRITES: ML_CCZ4::gt13rhs(ERROR(InteriorNoSync)) - WRITES: ML_CCZ4::gt22rhs(ERROR(InteriorNoSync)) - WRITES: ML_CCZ4::gt23rhs(ERROR(InteriorNoSync)) - WRITES: ML_CCZ4::gt33rhs(ERROR(InteriorNoSync)) - WRITES: ML_CCZ4::phirhs(ERROR(InteriorNoSync)) - WRITES: ML_CCZ4::Thetarhs(ERROR(InteriorNoSync)) - WRITES: ML_CCZ4::trKrhs(ERROR(InteriorNoSync)) - WRITES: ML_CCZ4::Xt1rhs(ERROR(InteriorNoSync)) - WRITES: ML_CCZ4::Xt2rhs(ERROR(InteriorNoSync)) - WRITES: ML_CCZ4::Xt3rhs(ERROR(InteriorNoSync)) + READS: ML_CCZ4::At11(Everywhere) + READS: ML_CCZ4::At12(Everywhere) + READS: ML_CCZ4::At13(Everywhere) + READS: ML_CCZ4::At22(Everywhere) + READS: ML_CCZ4::At23(Everywhere) + READS: ML_CCZ4::At33(Everywhere) + READS: ML_CCZ4::A(Everywhere) + READS: ML_CCZ4::B1(Everywhere) + READS: ML_CCZ4::B2(Everywhere) + READS: ML_CCZ4::B3(Everywhere) + READS: ML_CCZ4::Xt1(Everywhere) + READS: ML_CCZ4::Xt2(Everywhere) + READS: ML_CCZ4::Xt3(Everywhere) + READS: ML_CCZ4::alpha(Everywhere) + READS: ML_CCZ4::phi(Everywhere) + READS: ML_CCZ4::gt11(Everywhere) + READS: ML_CCZ4::gt12(Everywhere) + READS: ML_CCZ4::gt13(Everywhere) + READS: ML_CCZ4::gt22(Everywhere) + READS: ML_CCZ4::gt23(Everywhere) + READS: ML_CCZ4::gt33(Everywhere) + READS: ML_CCZ4::beta1(Everywhere) + READS: ML_CCZ4::beta2(Everywhere) + READS: ML_CCZ4::beta3(Everywhere) + READS: ML_CCZ4::Theta(Everywhere) + READS: ML_CCZ4::trK(Everywhere) + READS: ML_CCZ4::At11rhs(Everywhere) + READS: ML_CCZ4::At12rhs(Everywhere) + READS: ML_CCZ4::At13rhs(Everywhere) + READS: ML_CCZ4::At22rhs(Everywhere) + READS: ML_CCZ4::At23rhs(Everywhere) + READS: ML_CCZ4::At33rhs(Everywhere) + READS: ML_CCZ4::Arhs(Everywhere) + READS: ML_CCZ4::B1rhs(Everywhere) + READS: ML_CCZ4::B2rhs(Everywhere) + READS: ML_CCZ4::B3rhs(Everywhere) + READS: ML_CCZ4::Xt1rhs(Everywhere) + READS: ML_CCZ4::Xt2rhs(Everywhere) + READS: ML_CCZ4::Xt3rhs(Everywhere) + READS: ML_CCZ4::alpharhs(Everywhere) + READS: ML_CCZ4::phirhs(Everywhere) + READS: ML_CCZ4::gt11rhs(Everywhere) + READS: ML_CCZ4::gt12rhs(Everywhere) + READS: ML_CCZ4::gt13rhs(Everywhere) + READS: ML_CCZ4::gt22rhs(Everywhere) + READS: ML_CCZ4::gt23rhs(Everywhere) + READS: ML_CCZ4::gt33rhs(Everywhere) + READS: ML_CCZ4::beta1rhs(Everywhere) + READS: ML_CCZ4::beta2rhs(Everywhere) + READS: ML_CCZ4::beta3rhs(Everywhere) + READS: ML_CCZ4::Thetarhs(Everywhere) + READS: ML_CCZ4::trKrhs(Everywhere) + WRITES: ML_CCZ4::alpharhs(Interior) + WRITES: ML_CCZ4::Arhs(Interior) + WRITES: ML_CCZ4::At11rhs(Interior) + WRITES: ML_CCZ4::At12rhs(Interior) + WRITES: ML_CCZ4::At13rhs(Interior) + WRITES: ML_CCZ4::At22rhs(Interior) + WRITES: ML_CCZ4::At23rhs(Interior) + WRITES: ML_CCZ4::At33rhs(Interior) + WRITES: ML_CCZ4::B1rhs(Interior) + WRITES: ML_CCZ4::B2rhs(Interior) + WRITES: ML_CCZ4::B3rhs(Interior) + WRITES: ML_CCZ4::beta1rhs(Interior) + WRITES: ML_CCZ4::beta2rhs(Interior) + WRITES: ML_CCZ4::beta3rhs(Interior) + WRITES: ML_CCZ4::gt11rhs(Interior) + WRITES: ML_CCZ4::gt12rhs(Interior) + WRITES: ML_CCZ4::gt13rhs(Interior) + WRITES: ML_CCZ4::gt22rhs(Interior) + WRITES: ML_CCZ4::gt23rhs(Interior) + WRITES: ML_CCZ4::gt33rhs(Interior) + WRITES: ML_CCZ4::phirhs(Interior) + WRITES: ML_CCZ4::Thetarhs(Interior) + WRITES: ML_CCZ4::trKrhs(Interior) + WRITES: ML_CCZ4::Xt1rhs(Interior) + WRITES: ML_CCZ4::Xt2rhs(Interior) + WRITES: ML_CCZ4::Xt3rhs(Interior) } "ML_CCZ4_Advect" schedule ML_CCZ4_InitRHS AT analysis BEFORE ML_CCZ4_evolCalcGroup { LANG: C - WRITES: ML_CCZ4::alpharhs(Everywhere) - WRITES: ML_CCZ4::Arhs(Everywhere) - WRITES: ML_CCZ4::At11rhs(Everywhere) - WRITES: ML_CCZ4::At12rhs(Everywhere) - WRITES: ML_CCZ4::At13rhs(Everywhere) - WRITES: ML_CCZ4::At22rhs(Everywhere) - WRITES: ML_CCZ4::At23rhs(Everywhere) - WRITES: ML_CCZ4::At33rhs(Everywhere) - WRITES: ML_CCZ4::B1rhs(Everywhere) - WRITES: ML_CCZ4::B2rhs(Everywhere) - WRITES: ML_CCZ4::B3rhs(Everywhere) - WRITES: ML_CCZ4::beta1rhs(Everywhere) - WRITES: ML_CCZ4::beta2rhs(Everywhere) - WRITES: ML_CCZ4::beta3rhs(Everywhere) - WRITES: ML_CCZ4::gt11rhs(Everywhere) - WRITES: ML_CCZ4::gt12rhs(Everywhere) - WRITES: ML_CCZ4::gt13rhs(Everywhere) - WRITES: ML_CCZ4::gt22rhs(Everywhere) - WRITES: ML_CCZ4::gt23rhs(Everywhere) - WRITES: ML_CCZ4::gt33rhs(Everywhere) - WRITES: ML_CCZ4::phirhs(Everywhere) - WRITES: ML_CCZ4::Thetarhs(Everywhere) - WRITES: ML_CCZ4::trKrhs(Everywhere) - WRITES: ML_CCZ4::Xt1rhs(Everywhere) - WRITES: ML_CCZ4::Xt2rhs(Everywhere) - WRITES: ML_CCZ4::Xt3rhs(Everywhere) + WRITES: ML_CCZ4::alpharhs(Everywhere) + WRITES: ML_CCZ4::Arhs(Everywhere) + WRITES: ML_CCZ4::At11rhs(Everywhere) + WRITES: ML_CCZ4::At12rhs(Everywhere) + WRITES: ML_CCZ4::At13rhs(Everywhere) + WRITES: ML_CCZ4::At22rhs(Everywhere) + WRITES: ML_CCZ4::At23rhs(Everywhere) + WRITES: ML_CCZ4::At33rhs(Everywhere) + WRITES: ML_CCZ4::B1rhs(Everywhere) + WRITES: ML_CCZ4::B2rhs(Everywhere) + WRITES: ML_CCZ4::B3rhs(Everywhere) + WRITES: ML_CCZ4::beta1rhs(Everywhere) + WRITES: ML_CCZ4::beta2rhs(Everywhere) + WRITES: ML_CCZ4::beta3rhs(Everywhere) + WRITES: ML_CCZ4::gt11rhs(Everywhere) + WRITES: ML_CCZ4::gt12rhs(Everywhere) + WRITES: ML_CCZ4::gt13rhs(Everywhere) + WRITES: ML_CCZ4::gt22rhs(Everywhere) + WRITES: ML_CCZ4::gt23rhs(Everywhere) + WRITES: ML_CCZ4::gt33rhs(Everywhere) + WRITES: ML_CCZ4::phirhs(Everywhere) + WRITES: ML_CCZ4::Thetarhs(Everywhere) + WRITES: ML_CCZ4::trKrhs(Everywhere) + WRITES: ML_CCZ4::Xt1rhs(Everywhere) + WRITES: ML_CCZ4::Xt2rhs(Everywhere) + WRITES: ML_CCZ4::Xt3rhs(Everywhere) } "ML_CCZ4_InitRHS" @@ -740,58 +505,58 @@ if (CCTK_EQUALS(my_rhs_boundary_condition, "static")) schedule ML_CCZ4_RHSStaticBoundary IN MoL_CalcRHS { LANG: C - WRITES: ML_CCZ4::alpharhs(Boundary) - WRITES: ML_CCZ4::Arhs(Boundary) - WRITES: ML_CCZ4::At11rhs(Boundary) - WRITES: ML_CCZ4::At12rhs(Boundary) - WRITES: ML_CCZ4::At13rhs(Boundary) - WRITES: ML_CCZ4::At22rhs(Boundary) - WRITES: ML_CCZ4::At23rhs(Boundary) - WRITES: ML_CCZ4::At33rhs(Boundary) - WRITES: ML_CCZ4::B1rhs(Boundary) - WRITES: ML_CCZ4::B2rhs(Boundary) - WRITES: ML_CCZ4::B3rhs(Boundary) - WRITES: ML_CCZ4::beta1rhs(Boundary) - WRITES: ML_CCZ4::beta2rhs(Boundary) - WRITES: ML_CCZ4::beta3rhs(Boundary) - WRITES: ML_CCZ4::gt11rhs(Boundary) - WRITES: ML_CCZ4::gt12rhs(Boundary) - WRITES: ML_CCZ4::gt13rhs(Boundary) - WRITES: ML_CCZ4::gt22rhs(Boundary) - WRITES: ML_CCZ4::gt23rhs(Boundary) - WRITES: ML_CCZ4::gt33rhs(Boundary) - WRITES: ML_CCZ4::phirhs(Boundary) - WRITES: ML_CCZ4::Thetarhs(Boundary) - WRITES: ML_CCZ4::trKrhs(Boundary) - WRITES: ML_CCZ4::Xt1rhs(Boundary) - WRITES: ML_CCZ4::Xt2rhs(Boundary) - WRITES: ML_CCZ4::Xt3rhs(Boundary) + WRITES: ML_CCZ4::alpharhs(Boundary) + WRITES: ML_CCZ4::Arhs(Boundary) + WRITES: ML_CCZ4::At11rhs(Boundary) + WRITES: ML_CCZ4::At12rhs(Boundary) + WRITES: ML_CCZ4::At13rhs(Boundary) + WRITES: ML_CCZ4::At22rhs(Boundary) + WRITES: ML_CCZ4::At23rhs(Boundary) + WRITES: ML_CCZ4::At33rhs(Boundary) + WRITES: ML_CCZ4::B1rhs(Boundary) + WRITES: ML_CCZ4::B2rhs(Boundary) + WRITES: ML_CCZ4::B3rhs(Boundary) + WRITES: ML_CCZ4::beta1rhs(Boundary) + WRITES: ML_CCZ4::beta2rhs(Boundary) + WRITES: ML_CCZ4::beta3rhs(Boundary) + WRITES: ML_CCZ4::gt11rhs(Boundary) + WRITES: ML_CCZ4::gt12rhs(Boundary) + WRITES: ML_CCZ4::gt13rhs(Boundary) + WRITES: ML_CCZ4::gt22rhs(Boundary) + WRITES: ML_CCZ4::gt23rhs(Boundary) + WRITES: ML_CCZ4::gt33rhs(Boundary) + WRITES: ML_CCZ4::phirhs(Boundary) + WRITES: ML_CCZ4::Thetarhs(Boundary) + WRITES: ML_CCZ4::trKrhs(Boundary) + WRITES: ML_CCZ4::Xt1rhs(Boundary) + WRITES: ML_CCZ4::Xt2rhs(Boundary) + WRITES: ML_CCZ4::Xt3rhs(Boundary) } "ML_CCZ4_RHSStaticBoundary" } schedule ML_CCZ4_enforce IN MoL_PostStepModify { LANG: C - READS: ML_CCZ4::At11(Everywhere) - READS: ML_CCZ4::At12(Everywhere) - READS: ML_CCZ4::At13(Everywhere) - READS: ML_CCZ4::At22(Everywhere) - READS: ML_CCZ4::At23(Everywhere) - READS: ML_CCZ4::At33(Everywhere) - READS: ML_CCZ4::alpha(Everywhere) - READS: ML_CCZ4::gt11(Everywhere) - READS: ML_CCZ4::gt12(Everywhere) - READS: ML_CCZ4::gt13(Everywhere) - READS: ML_CCZ4::gt22(Everywhere) - READS: ML_CCZ4::gt23(Everywhere) - READS: ML_CCZ4::gt33(Everywhere) - WRITES: ML_CCZ4::alpha(Everywhere) - WRITES: ML_CCZ4::At11(Everywhere) - WRITES: ML_CCZ4::At12(Everywhere) - WRITES: ML_CCZ4::At13(Everywhere) - WRITES: ML_CCZ4::At22(Everywhere) - WRITES: ML_CCZ4::At23(Everywhere) - WRITES: ML_CCZ4::At33(Everywhere) + READS: ML_CCZ4::At11(Everywhere) + READS: ML_CCZ4::At12(Everywhere) + READS: ML_CCZ4::At13(Everywhere) + READS: ML_CCZ4::At22(Everywhere) + READS: ML_CCZ4::At23(Everywhere) + READS: ML_CCZ4::At33(Everywhere) + READS: ML_CCZ4::alpha(Everywhere) + READS: ML_CCZ4::gt11(Everywhere) + READS: ML_CCZ4::gt12(Everywhere) + READS: ML_CCZ4::gt13(Everywhere) + READS: ML_CCZ4::gt22(Everywhere) + READS: ML_CCZ4::gt23(Everywhere) + READS: ML_CCZ4::gt33(Everywhere) + WRITES: ML_CCZ4::alpha(Everywhere) + WRITES: ML_CCZ4::At11(Everywhere) + WRITES: ML_CCZ4::At12(Everywhere) + WRITES: ML_CCZ4::At13(Everywhere) + WRITES: ML_CCZ4::At22(Everywhere) + WRITES: ML_CCZ4::At23(Everywhere) + WRITES: ML_CCZ4::At33(Everywhere) } "ML_CCZ4_enforce" @@ -800,72 +565,72 @@ if (CCTK_EQUALS(my_boundary_condition, "Minkowski")) schedule ML_CCZ4_boundary IN MoL_PostStep { LANG: C - WRITES: ML_CCZ4::A(ERROR(BoundaryWithGhosts)) - WRITES: ML_CCZ4::alpha(ERROR(BoundaryWithGhosts)) - WRITES: ML_CCZ4::At11(ERROR(BoundaryWithGhosts)) - WRITES: ML_CCZ4::At12(ERROR(BoundaryWithGhosts)) - WRITES: ML_CCZ4::At13(ERROR(BoundaryWithGhosts)) - WRITES: ML_CCZ4::At22(ERROR(BoundaryWithGhosts)) - WRITES: ML_CCZ4::At23(ERROR(BoundaryWithGhosts)) - WRITES: ML_CCZ4::At33(ERROR(BoundaryWithGhosts)) - WRITES: ML_CCZ4::B1(ERROR(BoundaryWithGhosts)) - WRITES: ML_CCZ4::B2(ERROR(BoundaryWithGhosts)) - WRITES: ML_CCZ4::B3(ERROR(BoundaryWithGhosts)) - WRITES: ML_CCZ4::beta1(ERROR(BoundaryWithGhosts)) - WRITES: ML_CCZ4::beta2(ERROR(BoundaryWithGhosts)) - WRITES: ML_CCZ4::beta3(ERROR(BoundaryWithGhosts)) - WRITES: ML_CCZ4::gt11(ERROR(BoundaryWithGhosts)) - WRITES: ML_CCZ4::gt12(ERROR(BoundaryWithGhosts)) - WRITES: ML_CCZ4::gt13(ERROR(BoundaryWithGhosts)) - WRITES: ML_CCZ4::gt22(ERROR(BoundaryWithGhosts)) - WRITES: ML_CCZ4::gt23(ERROR(BoundaryWithGhosts)) - WRITES: ML_CCZ4::gt33(ERROR(BoundaryWithGhosts)) - WRITES: ML_CCZ4::phi(ERROR(BoundaryWithGhosts)) - WRITES: ML_CCZ4::Theta(ERROR(BoundaryWithGhosts)) - WRITES: ML_CCZ4::trK(ERROR(BoundaryWithGhosts)) - WRITES: ML_CCZ4::Xt1(ERROR(BoundaryWithGhosts)) - WRITES: ML_CCZ4::Xt2(ERROR(BoundaryWithGhosts)) - WRITES: ML_CCZ4::Xt3(ERROR(BoundaryWithGhosts)) + WRITES: ML_CCZ4::A(ERROR(BoundaryWithGhosts)) + WRITES: ML_CCZ4::alpha(ERROR(BoundaryWithGhosts)) + WRITES: ML_CCZ4::At11(ERROR(BoundaryWithGhosts)) + WRITES: ML_CCZ4::At12(ERROR(BoundaryWithGhosts)) + WRITES: ML_CCZ4::At13(ERROR(BoundaryWithGhosts)) + WRITES: ML_CCZ4::At22(ERROR(BoundaryWithGhosts)) + WRITES: ML_CCZ4::At23(ERROR(BoundaryWithGhosts)) + WRITES: ML_CCZ4::At33(ERROR(BoundaryWithGhosts)) + WRITES: ML_CCZ4::B1(ERROR(BoundaryWithGhosts)) + WRITES: ML_CCZ4::B2(ERROR(BoundaryWithGhosts)) + WRITES: ML_CCZ4::B3(ERROR(BoundaryWithGhosts)) + WRITES: ML_CCZ4::beta1(ERROR(BoundaryWithGhosts)) + WRITES: ML_CCZ4::beta2(ERROR(BoundaryWithGhosts)) + WRITES: ML_CCZ4::beta3(ERROR(BoundaryWithGhosts)) + WRITES: ML_CCZ4::gt11(ERROR(BoundaryWithGhosts)) + WRITES: ML_CCZ4::gt12(ERROR(BoundaryWithGhosts)) + WRITES: ML_CCZ4::gt13(ERROR(BoundaryWithGhosts)) + WRITES: ML_CCZ4::gt22(ERROR(BoundaryWithGhosts)) + WRITES: ML_CCZ4::gt23(ERROR(BoundaryWithGhosts)) + WRITES: ML_CCZ4::gt33(ERROR(BoundaryWithGhosts)) + WRITES: ML_CCZ4::phi(ERROR(BoundaryWithGhosts)) + WRITES: ML_CCZ4::Theta(ERROR(BoundaryWithGhosts)) + WRITES: ML_CCZ4::trK(ERROR(BoundaryWithGhosts)) + WRITES: ML_CCZ4::Xt1(ERROR(BoundaryWithGhosts)) + WRITES: ML_CCZ4::Xt2(ERROR(BoundaryWithGhosts)) + WRITES: ML_CCZ4::Xt3(ERROR(BoundaryWithGhosts)) } "ML_CCZ4_boundary" } schedule ML_CCZ4_convertToADMBase IN ML_CCZ4_convertToADMBaseGroup { LANG: C - READS: ML_CCZ4::At11(Everywhere) - READS: ML_CCZ4::At12(Everywhere) - READS: ML_CCZ4::At13(Everywhere) - READS: ML_CCZ4::At22(Everywhere) - READS: ML_CCZ4::At23(Everywhere) - READS: ML_CCZ4::At33(Everywhere) - READS: ML_CCZ4::alpha(Everywhere) - READS: ML_CCZ4::phi(Everywhere) - READS: ML_CCZ4::gt11(Everywhere) - READS: ML_CCZ4::gt12(Everywhere) - READS: ML_CCZ4::gt13(Everywhere) - READS: ML_CCZ4::gt22(Everywhere) - READS: ML_CCZ4::gt23(Everywhere) - READS: ML_CCZ4::gt33(Everywhere) - READS: ML_CCZ4::beta1(Everywhere) - READS: ML_CCZ4::beta2(Everywhere) - READS: ML_CCZ4::beta3(Everywhere) - READS: ML_CCZ4::trK(Everywhere) - WRITES: ADMBase::alp(Everywhere) - WRITES: ADMBase::betax(Everywhere) - WRITES: ADMBase::betay(Everywhere) - WRITES: ADMBase::betaz(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_CCZ4::At11(Everywhere) + READS: ML_CCZ4::At12(Everywhere) + READS: ML_CCZ4::At13(Everywhere) + READS: ML_CCZ4::At22(Everywhere) + READS: ML_CCZ4::At23(Everywhere) + READS: ML_CCZ4::At33(Everywhere) + READS: ML_CCZ4::alpha(Everywhere) + READS: ML_CCZ4::phi(Everywhere) + READS: ML_CCZ4::gt11(Everywhere) + READS: ML_CCZ4::gt12(Everywhere) + READS: ML_CCZ4::gt13(Everywhere) + READS: ML_CCZ4::gt22(Everywhere) + READS: ML_CCZ4::gt23(Everywhere) + READS: ML_CCZ4::gt33(Everywhere) + READS: ML_CCZ4::beta1(Everywhere) + READS: ML_CCZ4::beta2(Everywhere) + READS: ML_CCZ4::beta3(Everywhere) + READS: ML_CCZ4::trK(Everywhere) + WRITES: ADMBase::alp(Everywhere) + WRITES: ADMBase::betax(Everywhere) + WRITES: ADMBase::betay(Everywhere) + WRITES: ADMBase::betaz(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_CCZ4_convertToADMBase" @@ -876,31 +641,31 @@ if (CCTK_EQUALS(dt_lapse_shift_method, "correct")) LANG: C SYNC: ADMBase::dtlapse SYNC: ADMBase::dtshift - READS: grid::r(Everywhere) - READS: ML_CCZ4::A(Everywhere) - READS: ML_CCZ4::B1(Everywhere) - READS: ML_CCZ4::B2(Everywhere) - READS: ML_CCZ4::B3(Everywhere) - READS: ML_CCZ4::Xt1(Everywhere) - READS: ML_CCZ4::Xt2(Everywhere) - READS: ML_CCZ4::Xt3(Everywhere) - READS: ML_CCZ4::alpha(Everywhere) - READS: ML_CCZ4::phi(Everywhere) - READS: ML_CCZ4::gt11(Everywhere) - READS: ML_CCZ4::gt12(Everywhere) - READS: ML_CCZ4::gt13(Everywhere) - READS: ML_CCZ4::gt22(Everywhere) - READS: ML_CCZ4::gt23(Everywhere) - READS: ML_CCZ4::gt33(Everywhere) - READS: ML_CCZ4::beta1(Everywhere) - READS: ML_CCZ4::beta2(Everywhere) - READS: ML_CCZ4::beta3(Everywhere) - READS: ML_CCZ4::Theta(Everywhere) - READS: ML_CCZ4::trK(Everywhere) - WRITES: ADMBase::dtalp(Interior) - WRITES: ADMBase::dtbetax(Interior) - WRITES: ADMBase::dtbetay(Interior) - WRITES: ADMBase::dtbetaz(Interior) + READS: grid::r(Everywhere) + READS: ML_CCZ4::A(Everywhere) + READS: ML_CCZ4::B1(Everywhere) + READS: ML_CCZ4::B2(Everywhere) + READS: ML_CCZ4::B3(Everywhere) + READS: ML_CCZ4::Xt1(Everywhere) + READS: ML_CCZ4::Xt2(Everywhere) + READS: ML_CCZ4::Xt3(Everywhere) + READS: ML_CCZ4::alpha(Everywhere) + READS: ML_CCZ4::phi(Everywhere) + READS: ML_CCZ4::gt11(Everywhere) + READS: ML_CCZ4::gt12(Everywhere) + READS: ML_CCZ4::gt13(Everywhere) + READS: ML_CCZ4::gt22(Everywhere) + READS: ML_CCZ4::gt23(Everywhere) + READS: ML_CCZ4::gt33(Everywhere) + READS: ML_CCZ4::beta1(Everywhere) + READS: ML_CCZ4::beta2(Everywhere) + READS: ML_CCZ4::beta3(Everywhere) + READS: ML_CCZ4::Theta(Everywhere) + READS: ML_CCZ4::trK(Everywhere) + WRITES: ADMBase::dtalp(Interior) + WRITES: ADMBase::dtbetax(Interior) + WRITES: ADMBase::dtbetay(Interior) + WRITES: ADMBase::dtbetaz(Interior) } "ML_CCZ4_convertToADMBaseDtLapseShift" } @@ -910,30 +675,30 @@ if (CCTK_EQUALS(dt_lapse_shift_method, "correct")) schedule ML_CCZ4_convertToADMBaseDtLapseShiftBoundary IN ML_CCZ4_convertToADMBaseGroup { LANG: C - READS: grid::r(Everywhere) - READS: ML_CCZ4::A(Everywhere) - READS: ML_CCZ4::B1(Everywhere) - READS: ML_CCZ4::B2(Everywhere) - READS: ML_CCZ4::B3(Everywhere) - READS: ML_CCZ4::Xt1(Everywhere) - READS: ML_CCZ4::Xt2(Everywhere) - READS: ML_CCZ4::Xt3(Everywhere) - READS: ML_CCZ4::alpha(Everywhere) - READS: ML_CCZ4::gt11(Everywhere) - READS: ML_CCZ4::gt12(Everywhere) - READS: ML_CCZ4::gt13(Everywhere) - READS: ML_CCZ4::gt22(Everywhere) - READS: ML_CCZ4::gt23(Everywhere) - READS: ML_CCZ4::gt33(Everywhere) - READS: ML_CCZ4::beta1(Everywhere) - READS: ML_CCZ4::beta2(Everywhere) - READS: ML_CCZ4::beta3(Everywhere) - READS: ML_CCZ4::Theta(Everywhere) - READS: ML_CCZ4::trK(Everywhere) - WRITES: ADMBase::dtalp(ERROR(BoundaryWithGhosts)) - WRITES: ADMBase::dtbetax(ERROR(BoundaryWithGhosts)) - WRITES: ADMBase::dtbetay(ERROR(BoundaryWithGhosts)) - WRITES: ADMBase::dtbetaz(ERROR(BoundaryWithGhosts)) + READS: grid::r(Everywhere) + READS: ML_CCZ4::A(Everywhere) + READS: ML_CCZ4::B1(Everywhere) + READS: ML_CCZ4::B2(Everywhere) + READS: ML_CCZ4::B3(Everywhere) + READS: ML_CCZ4::Xt1(Everywhere) + READS: ML_CCZ4::Xt2(Everywhere) + READS: ML_CCZ4::Xt3(Everywhere) + READS: ML_CCZ4::alpha(Everywhere) + READS: ML_CCZ4::gt11(Everywhere) + READS: ML_CCZ4::gt12(Everywhere) + READS: ML_CCZ4::gt13(Everywhere) + READS: ML_CCZ4::gt22(Everywhere) + READS: ML_CCZ4::gt23(Everywhere) + READS: ML_CCZ4::gt33(Everywhere) + READS: ML_CCZ4::beta1(Everywhere) + READS: ML_CCZ4::beta2(Everywhere) + READS: ML_CCZ4::beta3(Everywhere) + READS: ML_CCZ4::Theta(Everywhere) + READS: ML_CCZ4::trK(Everywhere) + WRITES: ADMBase::dtalp(ERROR(BoundaryWithGhosts)) + WRITES: ADMBase::dtbetax(ERROR(BoundaryWithGhosts)) + WRITES: ADMBase::dtbetay(ERROR(BoundaryWithGhosts)) + WRITES: ADMBase::dtbetaz(ERROR(BoundaryWithGhosts)) } "ML_CCZ4_convertToADMBaseDtLapseShiftBoundary" } @@ -943,30 +708,30 @@ if (CCTK_EQUALS(dt_lapse_shift_method, "noLapseShiftAdvection")) schedule ML_CCZ4_convertToADMBaseFakeDtLapseShift IN ML_CCZ4_convertToADMBaseGroup { LANG: C - READS: grid::r(Everywhere) - READS: ML_CCZ4::A(Everywhere) - READS: ML_CCZ4::B1(Everywhere) - READS: ML_CCZ4::B2(Everywhere) - READS: ML_CCZ4::B3(Everywhere) - READS: ML_CCZ4::Xt1(Everywhere) - READS: ML_CCZ4::Xt2(Everywhere) - READS: ML_CCZ4::Xt3(Everywhere) - READS: ML_CCZ4::alpha(Everywhere) - READS: ML_CCZ4::gt11(Everywhere) - READS: ML_CCZ4::gt12(Everywhere) - READS: ML_CCZ4::gt13(Everywhere) - READS: ML_CCZ4::gt22(Everywhere) - READS: ML_CCZ4::gt23(Everywhere) - READS: ML_CCZ4::gt33(Everywhere) - READS: ML_CCZ4::beta1(Everywhere) - READS: ML_CCZ4::beta2(Everywhere) - READS: ML_CCZ4::beta3(Everywhere) - READS: ML_CCZ4::Theta(Everywhere) - READS: ML_CCZ4::trK(Everywhere) - WRITES: ADMBase::dtalp(Everywhere) - WRITES: ADMBase::dtbetax(Everywhere) - WRITES: ADMBase::dtbetay(Everywhere) - WRITES: ADMBase::dtbetaz(Everywhere) + READS: grid::r(Everywhere) + READS: ML_CCZ4::A(Everywhere) + READS: ML_CCZ4::B1(Everywhere) + READS: ML_CCZ4::B2(Everywhere) + READS: ML_CCZ4::B3(Everywhere) + READS: ML_CCZ4::Xt1(Everywhere) + READS: ML_CCZ4::Xt2(Everywhere) + READS: ML_CCZ4::Xt3(Everywhere) + READS: ML_CCZ4::alpha(Everywhere) + READS: ML_CCZ4::gt11(Everywhere) + READS: ML_CCZ4::gt12(Everywhere) + READS: ML_CCZ4::gt13(Everywhere) + READS: ML_CCZ4::gt22(Everywhere) + READS: ML_CCZ4::gt23(Everywhere) + READS: ML_CCZ4::gt33(Everywhere) + READS: ML_CCZ4::beta1(Everywhere) + READS: ML_CCZ4::beta2(Everywhere) + READS: ML_CCZ4::beta3(Everywhere) + READS: ML_CCZ4::Theta(Everywhere) + READS: ML_CCZ4::trK(Everywhere) + WRITES: ADMBase::dtalp(Everywhere) + WRITES: ADMBase::dtbetax(Everywhere) + WRITES: ADMBase::dtbetay(Everywhere) + WRITES: ADMBase::dtbetaz(Everywhere) } "ML_CCZ4_convertToADMBaseFakeDtLapseShift" } @@ -977,38 +742,38 @@ schedule group ML_CCZ4_constraints1_group in MoL_PseudoEvolution after MoL_PostS schedule ML_CCZ4_constraints1 in ML_CCZ4_constraints1_group { LANG: C - READS: TmunuBase::eTtt(Everywhere) - READS: TmunuBase::eTxx(Everywhere) - READS: TmunuBase::eTxy(Everywhere) - READS: TmunuBase::eTxz(Everywhere) - READS: TmunuBase::eTyy(Everywhere) - READS: TmunuBase::eTyz(Everywhere) - READS: TmunuBase::eTzz(Everywhere) - READS: TmunuBase::eTtx(Everywhere) - READS: TmunuBase::eTty(Everywhere) - READS: TmunuBase::eTtz(Everywhere) - READS: ML_CCZ4::At11(Everywhere) - READS: ML_CCZ4::At12(Everywhere) - READS: ML_CCZ4::At13(Everywhere) - READS: ML_CCZ4::At22(Everywhere) - READS: ML_CCZ4::At23(Everywhere) - READS: ML_CCZ4::At33(Everywhere) - READS: ML_CCZ4::Xt1(Everywhere) - READS: ML_CCZ4::Xt2(Everywhere) - READS: ML_CCZ4::Xt3(Everywhere) - READS: ML_CCZ4::alpha(Everywhere) - READS: ML_CCZ4::phi(Everywhere) - READS: ML_CCZ4::gt11(Everywhere) - READS: ML_CCZ4::gt12(Everywhere) - READS: ML_CCZ4::gt13(Everywhere) - READS: ML_CCZ4::gt22(Everywhere) - READS: ML_CCZ4::gt23(Everywhere) - READS: ML_CCZ4::gt33(Everywhere) - READS: ML_CCZ4::beta1(Everywhere) - READS: ML_CCZ4::beta2(Everywhere) - READS: ML_CCZ4::beta3(Everywhere) - READS: ML_CCZ4::trK(Everywhere) - WRITES: ML_CCZ4::H(Interior) + READS: TmunuBase::eTtt(Everywhere) + READS: TmunuBase::eTxx(Everywhere) + READS: TmunuBase::eTxy(Everywhere) + READS: TmunuBase::eTxz(Everywhere) + READS: TmunuBase::eTyy(Everywhere) + READS: TmunuBase::eTyz(Everywhere) + READS: TmunuBase::eTzz(Everywhere) + READS: TmunuBase::eTtx(Everywhere) + READS: TmunuBase::eTty(Everywhere) + READS: TmunuBase::eTtz(Everywhere) + READS: ML_CCZ4::At11(Everywhere) + READS: ML_CCZ4::At12(Everywhere) + READS: ML_CCZ4::At13(Everywhere) + READS: ML_CCZ4::At22(Everywhere) + READS: ML_CCZ4::At23(Everywhere) + READS: ML_CCZ4::At33(Everywhere) + READS: ML_CCZ4::Xt1(Everywhere) + READS: ML_CCZ4::Xt2(Everywhere) + READS: ML_CCZ4::Xt3(Everywhere) + READS: ML_CCZ4::alpha(Everywhere) + READS: ML_CCZ4::phi(Everywhere) + READS: ML_CCZ4::gt11(Everywhere) + READS: ML_CCZ4::gt12(Everywhere) + READS: ML_CCZ4::gt13(Everywhere) + READS: ML_CCZ4::gt22(Everywhere) + READS: ML_CCZ4::gt23(Everywhere) + READS: ML_CCZ4::gt33(Everywhere) + READS: ML_CCZ4::beta1(Everywhere) + READS: ML_CCZ4::beta2(Everywhere) + READS: ML_CCZ4::beta3(Everywhere) + READS: ML_CCZ4::trK(Everywhere) + WRITES: ML_CCZ4::H(Interior) } "ML_CCZ4_constraints1" schedule ML_CCZ4_constraints1_SelectBCs in ML_CCZ4_constraints1_bc_group @@ -1037,45 +802,45 @@ schedule group ML_CCZ4_constraints2_group in MoL_PseudoEvolution after MoL_PostS schedule ML_CCZ4_constraints2 in ML_CCZ4_constraints2_group { LANG: C - READS: TmunuBase::eTtt(Everywhere) - READS: TmunuBase::eTxx(Everywhere) - READS: TmunuBase::eTxy(Everywhere) - READS: TmunuBase::eTxz(Everywhere) - READS: TmunuBase::eTyy(Everywhere) - READS: TmunuBase::eTyz(Everywhere) - READS: TmunuBase::eTzz(Everywhere) - READS: TmunuBase::eTtx(Everywhere) - READS: TmunuBase::eTty(Everywhere) - READS: TmunuBase::eTtz(Everywhere) - READS: ML_CCZ4::At11(Everywhere) - READS: ML_CCZ4::At12(Everywhere) - READS: ML_CCZ4::At13(Everywhere) - READS: ML_CCZ4::At22(Everywhere) - READS: ML_CCZ4::At23(Everywhere) - READS: ML_CCZ4::At33(Everywhere) - READS: ML_CCZ4::Xt1(Everywhere) - READS: ML_CCZ4::Xt2(Everywhere) - READS: ML_CCZ4::Xt3(Everywhere) - READS: ML_CCZ4::alpha(Everywhere) - READS: ML_CCZ4::phi(Everywhere) - READS: ML_CCZ4::gt11(Everywhere) - READS: ML_CCZ4::gt12(Everywhere) - READS: ML_CCZ4::gt13(Everywhere) - READS: ML_CCZ4::gt22(Everywhere) - READS: ML_CCZ4::gt23(Everywhere) - READS: ML_CCZ4::gt33(Everywhere) - READS: ML_CCZ4::beta1(Everywhere) - READS: ML_CCZ4::beta2(Everywhere) - READS: ML_CCZ4::beta3(Everywhere) - READS: ML_CCZ4::trK(Everywhere) - WRITES: ML_CCZ4::cA(Interior) - WRITES: ML_CCZ4::cS(Interior) - WRITES: ML_CCZ4::cXt1(Interior) - WRITES: ML_CCZ4::cXt2(Interior) - WRITES: ML_CCZ4::cXt3(Interior) - WRITES: ML_CCZ4::M1(Interior) - WRITES: ML_CCZ4::M2(Interior) - WRITES: ML_CCZ4::M3(Interior) + READS: TmunuBase::eTtt(Everywhere) + READS: TmunuBase::eTxx(Everywhere) + READS: TmunuBase::eTxy(Everywhere) + READS: TmunuBase::eTxz(Everywhere) + READS: TmunuBase::eTyy(Everywhere) + READS: TmunuBase::eTyz(Everywhere) + READS: TmunuBase::eTzz(Everywhere) + READS: TmunuBase::eTtx(Everywhere) + READS: TmunuBase::eTty(Everywhere) + READS: TmunuBase::eTtz(Everywhere) + READS: ML_CCZ4::At11(Everywhere) + READS: ML_CCZ4::At12(Everywhere) + READS: ML_CCZ4::At13(Everywhere) + READS: ML_CCZ4::At22(Everywhere) + READS: ML_CCZ4::At23(Everywhere) + READS: ML_CCZ4::At33(Everywhere) + READS: ML_CCZ4::Xt1(Everywhere) + READS: ML_CCZ4::Xt2(Everywhere) + READS: ML_CCZ4::Xt3(Everywhere) + READS: ML_CCZ4::alpha(Everywhere) + READS: ML_CCZ4::phi(Everywhere) + READS: ML_CCZ4::gt11(Everywhere) + READS: ML_CCZ4::gt12(Everywhere) + READS: ML_CCZ4::gt13(Everywhere) + READS: ML_CCZ4::gt22(Everywhere) + READS: ML_CCZ4::gt23(Everywhere) + READS: ML_CCZ4::gt33(Everywhere) + READS: ML_CCZ4::beta1(Everywhere) + READS: ML_CCZ4::beta2(Everywhere) + READS: ML_CCZ4::beta3(Everywhere) + READS: ML_CCZ4::trK(Everywhere) + WRITES: ML_CCZ4::cA(Interior) + WRITES: ML_CCZ4::cS(Interior) + WRITES: ML_CCZ4::cXt1(Interior) + WRITES: ML_CCZ4::cXt2(Interior) + WRITES: ML_CCZ4::cXt3(Interior) + WRITES: ML_CCZ4::M1(Interior) + WRITES: ML_CCZ4::M2(Interior) + WRITES: ML_CCZ4::M3(Interior) } "ML_CCZ4_constraints2" schedule ML_CCZ4_constraints2_SelectBCs in ML_CCZ4_constraints2_bc_group diff --git a/ML_CCZ4/src/Boundaries.cc b/ML_CCZ4/src/Boundaries.cc index fabca51..5cda75c 100644 --- a/ML_CCZ4/src/Boundaries.cc +++ b/ML_CCZ4/src/Boundaries.cc @@ -30,7 +30,7 @@ extern "C" void ML_CCZ4_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") || @@ -431,7 +431,7 @@ extern "C" void ML_CCZ4_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) @@ -450,7 +450,7 @@ extern "C" void ML_CCZ4_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(ML_dtlapse_bound, "radiative")) { /* select radiation boundary condition */ - static CCTK_INT handle_ML_dtlapse_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_ML_dtlapse_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_ML_dtlapse_bound < 0) handle_ML_dtlapse_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_ML_dtlapse_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_ML_dtlapse_bound , ML_dtlapse_bound_limit, "LIMIT") < 0) @@ -469,7 +469,7 @@ extern "C" void ML_CCZ4_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(ML_dtshift_bound, "radiative")) { /* select radiation boundary condition */ - static CCTK_INT handle_ML_dtshift_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_ML_dtshift_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_ML_dtshift_bound < 0) handle_ML_dtshift_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_ML_dtshift_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_ML_dtshift_bound , ML_dtshift_bound_limit, "LIMIT") < 0) @@ -488,7 +488,7 @@ extern "C" void ML_CCZ4_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(ML_Gamma_bound, "radiative")) { /* select radiation boundary condition */ - static CCTK_INT handle_ML_Gamma_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_ML_Gamma_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_ML_Gamma_bound < 0) handle_ML_Gamma_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_ML_Gamma_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_ML_Gamma_bound , ML_Gamma_bound_limit, "LIMIT") < 0) @@ -507,7 +507,7 @@ extern "C" void ML_CCZ4_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) @@ -526,7 +526,7 @@ extern "C" void ML_CCZ4_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(ML_log_confac_bound, "radiative")) { /* select radiation boundary condition */ - static CCTK_INT handle_ML_log_confac_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_ML_log_confac_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_ML_log_confac_bound < 0) handle_ML_log_confac_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_ML_log_confac_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_ML_log_confac_bound , ML_log_confac_bound_limit, "LIMIT") < 0) @@ -545,7 +545,7 @@ extern "C" void ML_CCZ4_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) @@ -564,7 +564,7 @@ extern "C" void ML_CCZ4_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) @@ -583,7 +583,7 @@ extern "C" void ML_CCZ4_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(ML_Theta_bound, "radiative")) { /* select radiation boundary condition */ - static CCTK_INT handle_ML_Theta_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_ML_Theta_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_ML_Theta_bound < 0) handle_ML_Theta_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_ML_Theta_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_ML_Theta_bound , ML_Theta_bound_limit, "LIMIT") < 0) @@ -602,7 +602,7 @@ extern "C" void ML_CCZ4_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(ML_trace_curv_bound, "radiative")) { /* select radiation boundary condition */ - static CCTK_INT handle_ML_trace_curv_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_ML_trace_curv_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_ML_trace_curv_bound < 0) handle_ML_trace_curv_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_ML_trace_curv_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_ML_trace_curv_bound , ML_trace_curv_bound_limit, "LIMIT") < 0) @@ -621,7 +621,7 @@ extern "C" void ML_CCZ4_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(At11_bound, "radiative")) { /* select radiation boundary condition */ - static CCTK_INT handle_At11_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_At11_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_At11_bound < 0) handle_At11_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_At11_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_At11_bound , At11_bound_limit, "LIMIT") < 0) @@ -640,7 +640,7 @@ extern "C" void ML_CCZ4_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(At12_bound, "radiative")) { /* select radiation boundary condition */ - static CCTK_INT handle_At12_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_At12_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_At12_bound < 0) handle_At12_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_At12_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_At12_bound , At12_bound_limit, "LIMIT") < 0) @@ -659,7 +659,7 @@ extern "C" void ML_CCZ4_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(At13_bound, "radiative")) { /* select radiation boundary condition */ - static CCTK_INT handle_At13_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_At13_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_At13_bound < 0) handle_At13_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_At13_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_At13_bound , At13_bound_limit, "LIMIT") < 0) @@ -678,7 +678,7 @@ extern "C" void ML_CCZ4_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(At22_bound, "radiative")) { /* select radiation boundary condition */ - static CCTK_INT handle_At22_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_At22_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_At22_bound < 0) handle_At22_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_At22_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_At22_bound , At22_bound_limit, "LIMIT") < 0) @@ -697,7 +697,7 @@ extern "C" void ML_CCZ4_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(At23_bound, "radiative")) { /* select radiation boundary condition */ - static CCTK_INT handle_At23_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_At23_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_At23_bound < 0) handle_At23_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_At23_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_At23_bound , At23_bound_limit, "LIMIT") < 0) @@ -716,7 +716,7 @@ extern "C" void ML_CCZ4_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(At33_bound, "radiative")) { /* select radiation boundary condition */ - static CCTK_INT handle_At33_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_At33_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_At33_bound < 0) handle_At33_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_At33_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_At33_bound , At33_bound_limit, "LIMIT") < 0) @@ -735,7 +735,7 @@ extern "C" void ML_CCZ4_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(A_bound, "radiative")) { /* select radiation boundary condition */ - static CCTK_INT handle_A_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_A_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_A_bound < 0) handle_A_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_A_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_A_bound , A_bound_limit, "LIMIT") < 0) @@ -754,7 +754,7 @@ extern "C" void ML_CCZ4_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(B1_bound, "radiative")) { /* select radiation boundary condition */ - static CCTK_INT handle_B1_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_B1_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_B1_bound < 0) handle_B1_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_B1_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_B1_bound , B1_bound_limit, "LIMIT") < 0) @@ -773,7 +773,7 @@ extern "C" void ML_CCZ4_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(B2_bound, "radiative")) { /* select radiation boundary condition */ - static CCTK_INT handle_B2_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_B2_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_B2_bound < 0) handle_B2_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_B2_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_B2_bound , B2_bound_limit, "LIMIT") < 0) @@ -792,7 +792,7 @@ extern "C" void ML_CCZ4_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(B3_bound, "radiative")) { /* select radiation boundary condition */ - static CCTK_INT handle_B3_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_B3_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_B3_bound < 0) handle_B3_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_B3_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_B3_bound , B3_bound_limit, "LIMIT") < 0) @@ -811,7 +811,7 @@ extern "C" void ML_CCZ4_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(Xt1_bound, "radiative")) { /* select radiation boundary condition */ - static CCTK_INT handle_Xt1_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_Xt1_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_Xt1_bound < 0) handle_Xt1_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_Xt1_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_Xt1_bound , Xt1_bound_limit, "LIMIT") < 0) @@ -830,7 +830,7 @@ extern "C" void ML_CCZ4_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(Xt2_bound, "radiative")) { /* select radiation boundary condition */ - static CCTK_INT handle_Xt2_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_Xt2_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_Xt2_bound < 0) handle_Xt2_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_Xt2_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_Xt2_bound , Xt2_bound_limit, "LIMIT") < 0) @@ -849,7 +849,7 @@ extern "C" void ML_CCZ4_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(Xt3_bound, "radiative")) { /* select radiation boundary condition */ - static CCTK_INT handle_Xt3_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_Xt3_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_Xt3_bound < 0) handle_Xt3_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_Xt3_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_Xt3_bound , Xt3_bound_limit, "LIMIT") < 0) @@ -868,7 +868,7 @@ extern "C" void ML_CCZ4_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) @@ -887,7 +887,7 @@ extern "C" void ML_CCZ4_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(phi_bound, "radiative")) { /* select radiation boundary condition */ - static CCTK_INT handle_phi_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_phi_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_phi_bound < 0) handle_phi_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_phi_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_phi_bound , phi_bound_limit, "LIMIT") < 0) @@ -906,7 +906,7 @@ extern "C" void ML_CCZ4_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(gt11_bound, "radiative")) { /* select radiation boundary condition */ - static CCTK_INT handle_gt11_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_gt11_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_gt11_bound < 0) handle_gt11_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_gt11_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_gt11_bound , gt11_bound_limit, "LIMIT") < 0) @@ -925,7 +925,7 @@ extern "C" void ML_CCZ4_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(gt12_bound, "radiative")) { /* select radiation boundary condition */ - static CCTK_INT handle_gt12_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_gt12_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_gt12_bound < 0) handle_gt12_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_gt12_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_gt12_bound , gt12_bound_limit, "LIMIT") < 0) @@ -944,7 +944,7 @@ extern "C" void ML_CCZ4_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(gt13_bound, "radiative")) { /* select radiation boundary condition */ - static CCTK_INT handle_gt13_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_gt13_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_gt13_bound < 0) handle_gt13_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_gt13_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_gt13_bound , gt13_bound_limit, "LIMIT") < 0) @@ -963,7 +963,7 @@ extern "C" void ML_CCZ4_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(gt22_bound, "radiative")) { /* select radiation boundary condition */ - static CCTK_INT handle_gt22_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_gt22_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_gt22_bound < 0) handle_gt22_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_gt22_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_gt22_bound , gt22_bound_limit, "LIMIT") < 0) @@ -982,7 +982,7 @@ extern "C" void ML_CCZ4_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(gt23_bound, "radiative")) { /* select radiation boundary condition */ - static CCTK_INT handle_gt23_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_gt23_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_gt23_bound < 0) handle_gt23_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_gt23_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_gt23_bound , gt23_bound_limit, "LIMIT") < 0) @@ -1001,7 +1001,7 @@ extern "C" void ML_CCZ4_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(gt33_bound, "radiative")) { /* select radiation boundary condition */ - static CCTK_INT handle_gt33_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_gt33_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_gt33_bound < 0) handle_gt33_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_gt33_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_gt33_bound , gt33_bound_limit, "LIMIT") < 0) @@ -1020,7 +1020,7 @@ extern "C" void ML_CCZ4_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) @@ -1039,7 +1039,7 @@ extern "C" void ML_CCZ4_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) @@ -1058,7 +1058,7 @@ extern "C" void ML_CCZ4_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) @@ -1077,7 +1077,7 @@ extern "C" void ML_CCZ4_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(Theta_bound, "radiative")) { /* select radiation boundary condition */ - static CCTK_INT handle_Theta_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_Theta_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_Theta_bound < 0) handle_Theta_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_Theta_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_Theta_bound , Theta_bound_limit, "LIMIT") < 0) @@ -1096,7 +1096,7 @@ extern "C" void ML_CCZ4_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(trK_bound, "radiative")) { /* select radiation boundary condition */ - static CCTK_INT handle_trK_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_trK_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_trK_bound < 0) handle_trK_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_trK_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_trK_bound , trK_bound_limit, "LIMIT") < 0) @@ -1115,7 +1115,7 @@ extern "C" void ML_CCZ4_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) @@ -1132,7 +1132,7 @@ extern "C" void ML_CCZ4_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(ML_dtlapse_bound, "scalar")) { /* select scalar boundary condition */ - static CCTK_INT handle_ML_dtlapse_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_ML_dtlapse_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_ML_dtlapse_bound < 0) handle_ML_dtlapse_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_ML_dtlapse_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_ML_dtlapse_bound ,ML_dtlapse_bound_scalar, "SCALAR") < 0) @@ -1149,7 +1149,7 @@ extern "C" void ML_CCZ4_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(ML_dtshift_bound, "scalar")) { /* select scalar boundary condition */ - static CCTK_INT handle_ML_dtshift_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_ML_dtshift_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_ML_dtshift_bound < 0) handle_ML_dtshift_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_ML_dtshift_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_ML_dtshift_bound ,ML_dtshift_bound_scalar, "SCALAR") < 0) @@ -1166,7 +1166,7 @@ extern "C" void ML_CCZ4_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(ML_Gamma_bound, "scalar")) { /* select scalar boundary condition */ - static CCTK_INT handle_ML_Gamma_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_ML_Gamma_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_ML_Gamma_bound < 0) handle_ML_Gamma_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_ML_Gamma_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_ML_Gamma_bound ,ML_Gamma_bound_scalar, "SCALAR") < 0) @@ -1183,7 +1183,7 @@ extern "C" void ML_CCZ4_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) @@ -1200,7 +1200,7 @@ extern "C" void ML_CCZ4_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(ML_log_confac_bound, "scalar")) { /* select scalar boundary condition */ - static CCTK_INT handle_ML_log_confac_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_ML_log_confac_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_ML_log_confac_bound < 0) handle_ML_log_confac_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_ML_log_confac_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_ML_log_confac_bound ,ML_log_confac_bound_scalar, "SCALAR") < 0) @@ -1217,7 +1217,7 @@ extern "C" void ML_CCZ4_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) @@ -1234,7 +1234,7 @@ extern "C" void ML_CCZ4_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) @@ -1251,7 +1251,7 @@ extern "C" void ML_CCZ4_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(ML_Theta_bound, "scalar")) { /* select scalar boundary condition */ - static CCTK_INT handle_ML_Theta_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_ML_Theta_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_ML_Theta_bound < 0) handle_ML_Theta_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_ML_Theta_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_ML_Theta_bound ,ML_Theta_bound_scalar, "SCALAR") < 0) @@ -1268,7 +1268,7 @@ extern "C" void ML_CCZ4_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(ML_trace_curv_bound, "scalar")) { /* select scalar boundary condition */ - static CCTK_INT handle_ML_trace_curv_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_ML_trace_curv_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_ML_trace_curv_bound < 0) handle_ML_trace_curv_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_ML_trace_curv_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_ML_trace_curv_bound ,ML_trace_curv_bound_scalar, "SCALAR") < 0) @@ -1285,7 +1285,7 @@ extern "C" void ML_CCZ4_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(At11_bound, "scalar")) { /* select scalar boundary condition */ - static CCTK_INT handle_At11_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_At11_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_At11_bound < 0) handle_At11_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_At11_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_At11_bound ,At11_bound_scalar, "SCALAR") < 0) @@ -1302,7 +1302,7 @@ extern "C" void ML_CCZ4_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(At12_bound, "scalar")) { /* select scalar boundary condition */ - static CCTK_INT handle_At12_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_At12_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_At12_bound < 0) handle_At12_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_At12_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_At12_bound ,At12_bound_scalar, "SCALAR") < 0) @@ -1319,7 +1319,7 @@ extern "C" void ML_CCZ4_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(At13_bound, "scalar")) { /* select scalar boundary condition */ - static CCTK_INT handle_At13_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_At13_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_At13_bound < 0) handle_At13_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_At13_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_At13_bound ,At13_bound_scalar, "SCALAR") < 0) @@ -1336,7 +1336,7 @@ extern "C" void ML_CCZ4_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(At22_bound, "scalar")) { /* select scalar boundary condition */ - static CCTK_INT handle_At22_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_At22_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_At22_bound < 0) handle_At22_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_At22_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_At22_bound ,At22_bound_scalar, "SCALAR") < 0) @@ -1353,7 +1353,7 @@ extern "C" void ML_CCZ4_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(At23_bound, "scalar")) { /* select scalar boundary condition */ - static CCTK_INT handle_At23_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_At23_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_At23_bound < 0) handle_At23_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_At23_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_At23_bound ,At23_bound_scalar, "SCALAR") < 0) @@ -1370,7 +1370,7 @@ extern "C" void ML_CCZ4_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(At33_bound, "scalar")) { /* select scalar boundary condition */ - static CCTK_INT handle_At33_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_At33_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_At33_bound < 0) handle_At33_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_At33_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_At33_bound ,At33_bound_scalar, "SCALAR") < 0) @@ -1387,7 +1387,7 @@ extern "C" void ML_CCZ4_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(A_bound, "scalar")) { /* select scalar boundary condition */ - static CCTK_INT handle_A_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_A_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_A_bound < 0) handle_A_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_A_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_A_bound ,A_bound_scalar, "SCALAR") < 0) @@ -1404,7 +1404,7 @@ extern "C" void ML_CCZ4_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(B1_bound, "scalar")) { /* select scalar boundary condition */ - static CCTK_INT handle_B1_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_B1_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_B1_bound < 0) handle_B1_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_B1_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_B1_bound ,B1_bound_scalar, "SCALAR") < 0) @@ -1421,7 +1421,7 @@ extern "C" void ML_CCZ4_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(B2_bound, "scalar")) { /* select scalar boundary condition */ - static CCTK_INT handle_B2_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_B2_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_B2_bound < 0) handle_B2_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_B2_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_B2_bound ,B2_bound_scalar, "SCALAR") < 0) @@ -1438,7 +1438,7 @@ extern "C" void ML_CCZ4_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(B3_bound, "scalar")) { /* select scalar boundary condition */ - static CCTK_INT handle_B3_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_B3_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_B3_bound < 0) handle_B3_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_B3_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_B3_bound ,B3_bound_scalar, "SCALAR") < 0) @@ -1455,7 +1455,7 @@ extern "C" void ML_CCZ4_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(Xt1_bound, "scalar")) { /* select scalar boundary condition */ - static CCTK_INT handle_Xt1_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_Xt1_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_Xt1_bound < 0) handle_Xt1_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_Xt1_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_Xt1_bound ,Xt1_bound_scalar, "SCALAR") < 0) @@ -1472,7 +1472,7 @@ extern "C" void ML_CCZ4_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(Xt2_bound, "scalar")) { /* select scalar boundary condition */ - static CCTK_INT handle_Xt2_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_Xt2_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_Xt2_bound < 0) handle_Xt2_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_Xt2_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_Xt2_bound ,Xt2_bound_scalar, "SCALAR") < 0) @@ -1489,7 +1489,7 @@ extern "C" void ML_CCZ4_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(Xt3_bound, "scalar")) { /* select scalar boundary condition */ - static CCTK_INT handle_Xt3_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_Xt3_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_Xt3_bound < 0) handle_Xt3_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_Xt3_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_Xt3_bound ,Xt3_bound_scalar, "SCALAR") < 0) @@ -1506,7 +1506,7 @@ extern "C" void ML_CCZ4_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) @@ -1523,7 +1523,7 @@ extern "C" void ML_CCZ4_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(phi_bound, "scalar")) { /* select scalar boundary condition */ - static CCTK_INT handle_phi_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_phi_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_phi_bound < 0) handle_phi_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_phi_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_phi_bound ,phi_bound_scalar, "SCALAR") < 0) @@ -1540,7 +1540,7 @@ extern "C" void ML_CCZ4_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(gt11_bound, "scalar")) { /* select scalar boundary condition */ - static CCTK_INT handle_gt11_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_gt11_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_gt11_bound < 0) handle_gt11_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_gt11_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_gt11_bound ,gt11_bound_scalar, "SCALAR") < 0) @@ -1557,7 +1557,7 @@ extern "C" void ML_CCZ4_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(gt12_bound, "scalar")) { /* select scalar boundary condition */ - static CCTK_INT handle_gt12_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_gt12_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_gt12_bound < 0) handle_gt12_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_gt12_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_gt12_bound ,gt12_bound_scalar, "SCALAR") < 0) @@ -1574,7 +1574,7 @@ extern "C" void ML_CCZ4_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(gt13_bound, "scalar")) { /* select scalar boundary condition */ - static CCTK_INT handle_gt13_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_gt13_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_gt13_bound < 0) handle_gt13_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_gt13_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_gt13_bound ,gt13_bound_scalar, "SCALAR") < 0) @@ -1591,7 +1591,7 @@ extern "C" void ML_CCZ4_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(gt22_bound, "scalar")) { /* select scalar boundary condition */ - static CCTK_INT handle_gt22_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_gt22_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_gt22_bound < 0) handle_gt22_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_gt22_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_gt22_bound ,gt22_bound_scalar, "SCALAR") < 0) @@ -1608,7 +1608,7 @@ extern "C" void ML_CCZ4_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(gt23_bound, "scalar")) { /* select scalar boundary condition */ - static CCTK_INT handle_gt23_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_gt23_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_gt23_bound < 0) handle_gt23_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_gt23_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_gt23_bound ,gt23_bound_scalar, "SCALAR") < 0) @@ -1625,7 +1625,7 @@ extern "C" void ML_CCZ4_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(gt33_bound, "scalar")) { /* select scalar boundary condition */ - static CCTK_INT handle_gt33_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_gt33_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_gt33_bound < 0) handle_gt33_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_gt33_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_gt33_bound ,gt33_bound_scalar, "SCALAR") < 0) @@ -1642,7 +1642,7 @@ extern "C" void ML_CCZ4_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) @@ -1659,7 +1659,7 @@ extern "C" void ML_CCZ4_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) @@ -1676,7 +1676,7 @@ extern "C" void ML_CCZ4_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) @@ -1693,7 +1693,7 @@ extern "C" void ML_CCZ4_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(Theta_bound, "scalar")) { /* select scalar boundary condition */ - static CCTK_INT handle_Theta_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_Theta_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_Theta_bound < 0) handle_Theta_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_Theta_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_Theta_bound ,Theta_bound_scalar, "SCALAR") < 0) @@ -1710,7 +1710,7 @@ extern "C" void ML_CCZ4_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(trK_bound, "scalar")) { /* select scalar boundary condition */ - static CCTK_INT handle_trK_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_trK_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_trK_bound < 0) handle_trK_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_trK_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_trK_bound ,trK_bound_scalar, "SCALAR") < 0) diff --git a/ML_CCZ4/src/Differencing.h b/ML_CCZ4/src/Differencing.h index 076e95c..10528a9 100644 --- a/ML_CCZ4/src/Differencing.h +++ b/ML_CCZ4/src/Differencing.h @@ -2,1145 +2,1145 @@ #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 #ifndef KRANC_DIFF_FUNCTIONS -# define PDdissipationNthfdOrder21(u) (kmul(pm1o16dx,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(-4.),kmul(KRANC_GFOFFSET3D(u,0,0,0),ToReal(6.))))))) +# define PDdissipationNthfdOrder21(u) (kmul(pm1o16dx,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(-4),kmul(KRANC_GFOFFSET3D(u,0,0,0),ToReal(6))))))) #else # define PDdissipationNthfdOrder21(u) (PDdissipationNthfdOrder21_impl(u,pm1o16dx,cdj,cdk)) -static CCTK_REAL_VEC PDdissipationNthfdOrder21_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ pm1o16dx, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL_VEC PDdissipationNthfdOrder21_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ pm1o16dx, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDdissipationNthfdOrder21_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC pm1o16dx, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL_VEC PDdissipationNthfdOrder21_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC pm1o16dx, const ptrdiff_t cdj, const ptrdiff_t cdk) { - ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); - return kmul(pm1o16dx,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(-4.),kmul(KRANC_GFOFFSET3D(u,0,0,0),ToReal(6.)))))); + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); + return kmul(pm1o16dx,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(-4),kmul(KRANC_GFOFFSET3D(u,0,0,0),ToReal(6)))))); } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDdissipationNthfdOrder22(u) (kmul(pm1o16dy,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(-4.),kmul(KRANC_GFOFFSET3D(u,0,0,0),ToReal(6.))))))) +# define PDdissipationNthfdOrder22(u) (kmul(pm1o16dy,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(-4),kmul(KRANC_GFOFFSET3D(u,0,0,0),ToReal(6))))))) #else # define PDdissipationNthfdOrder22(u) (PDdissipationNthfdOrder22_impl(u,pm1o16dy,cdj,cdk)) -static CCTK_REAL_VEC PDdissipationNthfdOrder22_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ pm1o16dy, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL_VEC PDdissipationNthfdOrder22_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ pm1o16dy, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDdissipationNthfdOrder22_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC pm1o16dy, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL_VEC PDdissipationNthfdOrder22_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC pm1o16dy, const ptrdiff_t cdj, const ptrdiff_t cdk) { - ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); - return kmul(pm1o16dy,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(-4.),kmul(KRANC_GFOFFSET3D(u,0,0,0),ToReal(6.)))))); + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); + return kmul(pm1o16dy,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(-4),kmul(KRANC_GFOFFSET3D(u,0,0,0),ToReal(6)))))); } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDdissipationNthfdOrder23(u) (kmul(pm1o16dz,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(-4.),kmul(KRANC_GFOFFSET3D(u,0,0,0),ToReal(6.))))))) +# define PDdissipationNthfdOrder23(u) (kmul(pm1o16dz,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(-4),kmul(KRANC_GFOFFSET3D(u,0,0,0),ToReal(6))))))) #else # define PDdissipationNthfdOrder23(u) (PDdissipationNthfdOrder23_impl(u,pm1o16dz,cdj,cdk)) -static CCTK_REAL_VEC PDdissipationNthfdOrder23_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ pm1o16dz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL_VEC PDdissipationNthfdOrder23_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ pm1o16dz, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDdissipationNthfdOrder23_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC pm1o16dz, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL_VEC PDdissipationNthfdOrder23_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC pm1o16dz, const ptrdiff_t cdj, const ptrdiff_t cdk) { - ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); - return kmul(pm1o16dz,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(-4.),kmul(KRANC_GFOFFSET3D(u,0,0,0),ToReal(6.)))))); + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); + return PDdissipationNthfdOrder22_impl(u, pm1o16dz, cdk, cdj); } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDdissipationNthfdOrder41(u) (kmul(p1o64dx,kadd(KRANC_GFOFFSET3D(u,-3,0,0),kadd(KRANC_GFOFFSET3D(u,3,0,0),kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-20.),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,0),KRANC_GFOFFSET3D(u,2,0,0)),ToReal(-6.),kmul(kadd(KRANC_GFOFFSET3D(u,-1,0,0),KRANC_GFOFFSET3D(u,1,0,0)),ToReal(15.)))))))) +# define PDdissipationNthfdOrder41(u) (kmul(p1o64dx,kadd(KRANC_GFOFFSET3D(u,-3,0,0),kadd(KRANC_GFOFFSET3D(u,3,0,0),kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-20),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,0),KRANC_GFOFFSET3D(u,2,0,0)),ToReal(-6),kmul(kadd(KRANC_GFOFFSET3D(u,-1,0,0),KRANC_GFOFFSET3D(u,1,0,0)),ToReal(15)))))))) #else # define PDdissipationNthfdOrder41(u) (PDdissipationNthfdOrder41_impl(u,p1o64dx,cdj,cdk)) -static CCTK_REAL_VEC PDdissipationNthfdOrder41_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o64dx, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL_VEC PDdissipationNthfdOrder41_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o64dx, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDdissipationNthfdOrder41_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o64dx, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL_VEC PDdissipationNthfdOrder41_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o64dx, const ptrdiff_t cdj, const ptrdiff_t cdk) { - ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); - return kmul(p1o64dx,kadd(KRANC_GFOFFSET3D(u,-3,0,0),kadd(KRANC_GFOFFSET3D(u,3,0,0),kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-20.),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,0),KRANC_GFOFFSET3D(u,2,0,0)),ToReal(-6.),kmul(kadd(KRANC_GFOFFSET3D(u,-1,0,0),KRANC_GFOFFSET3D(u,1,0,0)),ToReal(15.))))))); + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); + return kmul(p1o64dx,kadd(KRANC_GFOFFSET3D(u,-3,0,0),kadd(KRANC_GFOFFSET3D(u,3,0,0),kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-20),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,0),KRANC_GFOFFSET3D(u,2,0,0)),ToReal(-6),kmul(kadd(KRANC_GFOFFSET3D(u,-1,0,0),KRANC_GFOFFSET3D(u,1,0,0)),ToReal(15))))))); } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDdissipationNthfdOrder42(u) (kmul(p1o64dy,kadd(KRANC_GFOFFSET3D(u,0,-3,0),kadd(KRANC_GFOFFSET3D(u,0,3,0),kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-20.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,0),KRANC_GFOFFSET3D(u,0,2,0)),ToReal(-6.),kmul(kadd(KRANC_GFOFFSET3D(u,0,-1,0),KRANC_GFOFFSET3D(u,0,1,0)),ToReal(15.)))))))) +# define PDdissipationNthfdOrder42(u) (kmul(p1o64dy,kadd(KRANC_GFOFFSET3D(u,0,-3,0),kadd(KRANC_GFOFFSET3D(u,0,3,0),kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-20),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,0),KRANC_GFOFFSET3D(u,0,2,0)),ToReal(-6),kmul(kadd(KRANC_GFOFFSET3D(u,0,-1,0),KRANC_GFOFFSET3D(u,0,1,0)),ToReal(15)))))))) #else # define PDdissipationNthfdOrder42(u) (PDdissipationNthfdOrder42_impl(u,p1o64dy,cdj,cdk)) -static CCTK_REAL_VEC PDdissipationNthfdOrder42_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o64dy, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL_VEC PDdissipationNthfdOrder42_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o64dy, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDdissipationNthfdOrder42_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o64dy, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL_VEC PDdissipationNthfdOrder42_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o64dy, const ptrdiff_t cdj, const ptrdiff_t cdk) { - ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); - return kmul(p1o64dy,kadd(KRANC_GFOFFSET3D(u,0,-3,0),kadd(KRANC_GFOFFSET3D(u,0,3,0),kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-20.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,0),KRANC_GFOFFSET3D(u,0,2,0)),ToReal(-6.),kmul(kadd(KRANC_GFOFFSET3D(u,0,-1,0),KRANC_GFOFFSET3D(u,0,1,0)),ToReal(15.))))))); + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); + return kmul(p1o64dy,kadd(KRANC_GFOFFSET3D(u,0,-3,0),kadd(KRANC_GFOFFSET3D(u,0,3,0),kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-20),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,0),KRANC_GFOFFSET3D(u,0,2,0)),ToReal(-6),kmul(kadd(KRANC_GFOFFSET3D(u,0,-1,0),KRANC_GFOFFSET3D(u,0,1,0)),ToReal(15))))))); } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDdissipationNthfdOrder43(u) (kmul(p1o64dz,kadd(KRANC_GFOFFSET3D(u,0,0,-3),kadd(KRANC_GFOFFSET3D(u,0,0,3),kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-20.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,0,-2),KRANC_GFOFFSET3D(u,0,0,2)),ToReal(-6.),kmul(kadd(KRANC_GFOFFSET3D(u,0,0,-1),KRANC_GFOFFSET3D(u,0,0,1)),ToReal(15.)))))))) +# define PDdissipationNthfdOrder43(u) (kmul(p1o64dz,kadd(KRANC_GFOFFSET3D(u,0,0,-3),kadd(KRANC_GFOFFSET3D(u,0,0,3),kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-20),kmadd(kadd(KRANC_GFOFFSET3D(u,0,0,-2),KRANC_GFOFFSET3D(u,0,0,2)),ToReal(-6),kmul(kadd(KRANC_GFOFFSET3D(u,0,0,-1),KRANC_GFOFFSET3D(u,0,0,1)),ToReal(15)))))))) #else # define PDdissipationNthfdOrder43(u) (PDdissipationNthfdOrder43_impl(u,p1o64dz,cdj,cdk)) -static CCTK_REAL_VEC PDdissipationNthfdOrder43_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o64dz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL_VEC PDdissipationNthfdOrder43_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o64dz, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDdissipationNthfdOrder43_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o64dz, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL_VEC PDdissipationNthfdOrder43_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o64dz, const ptrdiff_t cdj, const ptrdiff_t cdk) { - ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); - return kmul(p1o64dz,kadd(KRANC_GFOFFSET3D(u,0,0,-3),kadd(KRANC_GFOFFSET3D(u,0,0,3),kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-20.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,0,-2),KRANC_GFOFFSET3D(u,0,0,2)),ToReal(-6.),kmul(kadd(KRANC_GFOFFSET3D(u,0,0,-1),KRANC_GFOFFSET3D(u,0,0,1)),ToReal(15.))))))); + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); + return PDdissipationNthfdOrder42_impl(u, p1o64dz, cdk, cdj); } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDdissipationNthfdOrder61(u) (kmul(pm1o256dx,kadd(KRANC_GFOFFSET3D(u,-4,0,0),kadd(KRANC_GFOFFSET3D(u,4,0,0),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,0),KRANC_GFOFFSET3D(u,1,0,0)),ToReal(-56.),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,0,0),KRANC_GFOFFSET3D(u,3,0,0)),ToReal(-8.),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,0),KRANC_GFOFFSET3D(u,2,0,0)),ToReal(28.),kmul(KRANC_GFOFFSET3D(u,0,0,0),ToReal(70.))))))))) +# define PDdissipationNthfdOrder61(u) (kmul(pm1o256dx,kadd(KRANC_GFOFFSET3D(u,-4,0,0),kadd(KRANC_GFOFFSET3D(u,4,0,0),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,0),KRANC_GFOFFSET3D(u,1,0,0)),ToReal(-56),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,0,0),KRANC_GFOFFSET3D(u,3,0,0)),ToReal(-8),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,0),KRANC_GFOFFSET3D(u,2,0,0)),ToReal(28),kmul(KRANC_GFOFFSET3D(u,0,0,0),ToReal(70))))))))) #else # define PDdissipationNthfdOrder61(u) (PDdissipationNthfdOrder61_impl(u,pm1o256dx,cdj,cdk)) -static CCTK_REAL_VEC PDdissipationNthfdOrder61_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ pm1o256dx, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL_VEC PDdissipationNthfdOrder61_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ pm1o256dx, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDdissipationNthfdOrder61_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC pm1o256dx, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL_VEC PDdissipationNthfdOrder61_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC pm1o256dx, const ptrdiff_t cdj, const ptrdiff_t cdk) { - ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); - return kmul(pm1o256dx,kadd(KRANC_GFOFFSET3D(u,-4,0,0),kadd(KRANC_GFOFFSET3D(u,4,0,0),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,0),KRANC_GFOFFSET3D(u,1,0,0)),ToReal(-56.),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,0,0),KRANC_GFOFFSET3D(u,3,0,0)),ToReal(-8.),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,0),KRANC_GFOFFSET3D(u,2,0,0)),ToReal(28.),kmul(KRANC_GFOFFSET3D(u,0,0,0),ToReal(70.)))))))); + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); + return kmul(pm1o256dx,kadd(KRANC_GFOFFSET3D(u,-4,0,0),kadd(KRANC_GFOFFSET3D(u,4,0,0),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,0),KRANC_GFOFFSET3D(u,1,0,0)),ToReal(-56),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,0,0),KRANC_GFOFFSET3D(u,3,0,0)),ToReal(-8),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,0),KRANC_GFOFFSET3D(u,2,0,0)),ToReal(28),kmul(KRANC_GFOFFSET3D(u,0,0,0),ToReal(70)))))))); } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDdissipationNthfdOrder62(u) (kmul(pm1o256dy,kadd(KRANC_GFOFFSET3D(u,0,-4,0),kadd(KRANC_GFOFFSET3D(u,0,4,0),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,0),KRANC_GFOFFSET3D(u,0,1,0)),ToReal(-56.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-3,0),KRANC_GFOFFSET3D(u,0,3,0)),ToReal(-8.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,0),KRANC_GFOFFSET3D(u,0,2,0)),ToReal(28.),kmul(KRANC_GFOFFSET3D(u,0,0,0),ToReal(70.))))))))) +# define PDdissipationNthfdOrder62(u) (kmul(pm1o256dy,kadd(KRANC_GFOFFSET3D(u,0,-4,0),kadd(KRANC_GFOFFSET3D(u,0,4,0),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,0),KRANC_GFOFFSET3D(u,0,1,0)),ToReal(-56),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-3,0),KRANC_GFOFFSET3D(u,0,3,0)),ToReal(-8),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,0),KRANC_GFOFFSET3D(u,0,2,0)),ToReal(28),kmul(KRANC_GFOFFSET3D(u,0,0,0),ToReal(70))))))))) #else # define PDdissipationNthfdOrder62(u) (PDdissipationNthfdOrder62_impl(u,pm1o256dy,cdj,cdk)) -static CCTK_REAL_VEC PDdissipationNthfdOrder62_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ pm1o256dy, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL_VEC PDdissipationNthfdOrder62_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ pm1o256dy, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDdissipationNthfdOrder62_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC pm1o256dy, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL_VEC PDdissipationNthfdOrder62_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC pm1o256dy, const ptrdiff_t cdj, const ptrdiff_t cdk) { - ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); - return kmul(pm1o256dy,kadd(KRANC_GFOFFSET3D(u,0,-4,0),kadd(KRANC_GFOFFSET3D(u,0,4,0),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,0),KRANC_GFOFFSET3D(u,0,1,0)),ToReal(-56.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-3,0),KRANC_GFOFFSET3D(u,0,3,0)),ToReal(-8.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,0),KRANC_GFOFFSET3D(u,0,2,0)),ToReal(28.),kmul(KRANC_GFOFFSET3D(u,0,0,0),ToReal(70.)))))))); + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); + return kmul(pm1o256dy,kadd(KRANC_GFOFFSET3D(u,0,-4,0),kadd(KRANC_GFOFFSET3D(u,0,4,0),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,0),KRANC_GFOFFSET3D(u,0,1,0)),ToReal(-56),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-3,0),KRANC_GFOFFSET3D(u,0,3,0)),ToReal(-8),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,0),KRANC_GFOFFSET3D(u,0,2,0)),ToReal(28),kmul(KRANC_GFOFFSET3D(u,0,0,0),ToReal(70)))))))); } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDdissipationNthfdOrder63(u) (kmul(pm1o256dz,kadd(KRANC_GFOFFSET3D(u,0,0,-4),kadd(KRANC_GFOFFSET3D(u,0,0,4),kmadd(kadd(KRANC_GFOFFSET3D(u,0,0,-1),KRANC_GFOFFSET3D(u,0,0,1)),ToReal(-56.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,0,-3),KRANC_GFOFFSET3D(u,0,0,3)),ToReal(-8.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,0,-2),KRANC_GFOFFSET3D(u,0,0,2)),ToReal(28.),kmul(KRANC_GFOFFSET3D(u,0,0,0),ToReal(70.))))))))) +# define PDdissipationNthfdOrder63(u) (kmul(pm1o256dz,kadd(KRANC_GFOFFSET3D(u,0,0,-4),kadd(KRANC_GFOFFSET3D(u,0,0,4),kmadd(kadd(KRANC_GFOFFSET3D(u,0,0,-1),KRANC_GFOFFSET3D(u,0,0,1)),ToReal(-56),kmadd(kadd(KRANC_GFOFFSET3D(u,0,0,-3),KRANC_GFOFFSET3D(u,0,0,3)),ToReal(-8),kmadd(kadd(KRANC_GFOFFSET3D(u,0,0,-2),KRANC_GFOFFSET3D(u,0,0,2)),ToReal(28),kmul(KRANC_GFOFFSET3D(u,0,0,0),ToReal(70))))))))) #else # define PDdissipationNthfdOrder63(u) (PDdissipationNthfdOrder63_impl(u,pm1o256dz,cdj,cdk)) -static CCTK_REAL_VEC PDdissipationNthfdOrder63_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ pm1o256dz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL_VEC PDdissipationNthfdOrder63_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ pm1o256dz, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDdissipationNthfdOrder63_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC pm1o256dz, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL_VEC PDdissipationNthfdOrder63_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC pm1o256dz, const ptrdiff_t cdj, const ptrdiff_t cdk) { - ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); - return kmul(pm1o256dz,kadd(KRANC_GFOFFSET3D(u,0,0,-4),kadd(KRANC_GFOFFSET3D(u,0,0,4),kmadd(kadd(KRANC_GFOFFSET3D(u,0,0,-1),KRANC_GFOFFSET3D(u,0,0,1)),ToReal(-56.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,0,-3),KRANC_GFOFFSET3D(u,0,0,3)),ToReal(-8.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,0,-2),KRANC_GFOFFSET3D(u,0,0,2)),ToReal(28.),kmul(KRANC_GFOFFSET3D(u,0,0,0),ToReal(70.)))))))); + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); + return PDdissipationNthfdOrder62_impl(u, pm1o256dz, cdk, cdj); } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDdissipationNthfdOrder81(u) (kmul(p1o1024dx,kadd(KRANC_GFOFFSET3D(u,-5,0,0),kadd(KRANC_GFOFFSET3D(u,5,0,0),kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-252.),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,0),KRANC_GFOFFSET3D(u,2,0,0)),ToReal(-120.),kmadd(kadd(KRANC_GFOFFSET3D(u,-4,0,0),KRANC_GFOFFSET3D(u,4,0,0)),ToReal(-10.),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,0,0),KRANC_GFOFFSET3D(u,3,0,0)),ToReal(45.),kmul(kadd(KRANC_GFOFFSET3D(u,-1,0,0),KRANC_GFOFFSET3D(u,1,0,0)),ToReal(210.)))))))))) +# define PDdissipationNthfdOrder81(u) (kmul(p1o1024dx,kadd(KRANC_GFOFFSET3D(u,-5,0,0),kadd(KRANC_GFOFFSET3D(u,5,0,0),kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-252),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,0),KRANC_GFOFFSET3D(u,2,0,0)),ToReal(-120),kmadd(kadd(KRANC_GFOFFSET3D(u,-4,0,0),KRANC_GFOFFSET3D(u,4,0,0)),ToReal(-10),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,0,0),KRANC_GFOFFSET3D(u,3,0,0)),ToReal(45),kmul(kadd(KRANC_GFOFFSET3D(u,-1,0,0),KRANC_GFOFFSET3D(u,1,0,0)),ToReal(210)))))))))) #else # define PDdissipationNthfdOrder81(u) (PDdissipationNthfdOrder81_impl(u,p1o1024dx,cdj,cdk)) -static CCTK_REAL_VEC PDdissipationNthfdOrder81_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o1024dx, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL_VEC PDdissipationNthfdOrder81_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o1024dx, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDdissipationNthfdOrder81_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o1024dx, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL_VEC PDdissipationNthfdOrder81_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o1024dx, const ptrdiff_t cdj, const ptrdiff_t cdk) { - ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); - return kmul(p1o1024dx,kadd(KRANC_GFOFFSET3D(u,-5,0,0),kadd(KRANC_GFOFFSET3D(u,5,0,0),kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-252.),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,0),KRANC_GFOFFSET3D(u,2,0,0)),ToReal(-120.),kmadd(kadd(KRANC_GFOFFSET3D(u,-4,0,0),KRANC_GFOFFSET3D(u,4,0,0)),ToReal(-10.),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,0,0),KRANC_GFOFFSET3D(u,3,0,0)),ToReal(45.),kmul(kadd(KRANC_GFOFFSET3D(u,-1,0,0),KRANC_GFOFFSET3D(u,1,0,0)),ToReal(210.))))))))); + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); + return kmul(p1o1024dx,kadd(KRANC_GFOFFSET3D(u,-5,0,0),kadd(KRANC_GFOFFSET3D(u,5,0,0),kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-252),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,0),KRANC_GFOFFSET3D(u,2,0,0)),ToReal(-120),kmadd(kadd(KRANC_GFOFFSET3D(u,-4,0,0),KRANC_GFOFFSET3D(u,4,0,0)),ToReal(-10),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,0,0),KRANC_GFOFFSET3D(u,3,0,0)),ToReal(45),kmul(kadd(KRANC_GFOFFSET3D(u,-1,0,0),KRANC_GFOFFSET3D(u,1,0,0)),ToReal(210))))))))); } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDdissipationNthfdOrder82(u) (kmul(p1o1024dy,kadd(KRANC_GFOFFSET3D(u,0,-5,0),kadd(KRANC_GFOFFSET3D(u,0,5,0),kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-252.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,0),KRANC_GFOFFSET3D(u,0,2,0)),ToReal(-120.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-4,0),KRANC_GFOFFSET3D(u,0,4,0)),ToReal(-10.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-3,0),KRANC_GFOFFSET3D(u,0,3,0)),ToReal(45.),kmul(kadd(KRANC_GFOFFSET3D(u,0,-1,0),KRANC_GFOFFSET3D(u,0,1,0)),ToReal(210.)))))))))) +# define PDdissipationNthfdOrder82(u) (kmul(p1o1024dy,kadd(KRANC_GFOFFSET3D(u,0,-5,0),kadd(KRANC_GFOFFSET3D(u,0,5,0),kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-252),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,0),KRANC_GFOFFSET3D(u,0,2,0)),ToReal(-120),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-4,0),KRANC_GFOFFSET3D(u,0,4,0)),ToReal(-10),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-3,0),KRANC_GFOFFSET3D(u,0,3,0)),ToReal(45),kmul(kadd(KRANC_GFOFFSET3D(u,0,-1,0),KRANC_GFOFFSET3D(u,0,1,0)),ToReal(210)))))))))) #else # define PDdissipationNthfdOrder82(u) (PDdissipationNthfdOrder82_impl(u,p1o1024dy,cdj,cdk)) -static CCTK_REAL_VEC PDdissipationNthfdOrder82_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o1024dy, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL_VEC PDdissipationNthfdOrder82_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o1024dy, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDdissipationNthfdOrder82_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o1024dy, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL_VEC PDdissipationNthfdOrder82_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o1024dy, const ptrdiff_t cdj, const ptrdiff_t cdk) { - ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); - return kmul(p1o1024dy,kadd(KRANC_GFOFFSET3D(u,0,-5,0),kadd(KRANC_GFOFFSET3D(u,0,5,0),kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-252.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,0),KRANC_GFOFFSET3D(u,0,2,0)),ToReal(-120.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-4,0),KRANC_GFOFFSET3D(u,0,4,0)),ToReal(-10.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-3,0),KRANC_GFOFFSET3D(u,0,3,0)),ToReal(45.),kmul(kadd(KRANC_GFOFFSET3D(u,0,-1,0),KRANC_GFOFFSET3D(u,0,1,0)),ToReal(210.))))))))); + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); + return kmul(p1o1024dy,kadd(KRANC_GFOFFSET3D(u,0,-5,0),kadd(KRANC_GFOFFSET3D(u,0,5,0),kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-252),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,0),KRANC_GFOFFSET3D(u,0,2,0)),ToReal(-120),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-4,0),KRANC_GFOFFSET3D(u,0,4,0)),ToReal(-10),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-3,0),KRANC_GFOFFSET3D(u,0,3,0)),ToReal(45),kmul(kadd(KRANC_GFOFFSET3D(u,0,-1,0),KRANC_GFOFFSET3D(u,0,1,0)),ToReal(210))))))))); } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDdissipationNthfdOrder83(u) (kmul(p1o1024dz,kadd(KRANC_GFOFFSET3D(u,0,0,-5),kadd(KRANC_GFOFFSET3D(u,0,0,5),kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-252.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,0,-2),KRANC_GFOFFSET3D(u,0,0,2)),ToReal(-120.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,0,-4),KRANC_GFOFFSET3D(u,0,0,4)),ToReal(-10.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,0,-3),KRANC_GFOFFSET3D(u,0,0,3)),ToReal(45.),kmul(kadd(KRANC_GFOFFSET3D(u,0,0,-1),KRANC_GFOFFSET3D(u,0,0,1)),ToReal(210.)))))))))) +# define PDdissipationNthfdOrder83(u) (kmul(p1o1024dz,kadd(KRANC_GFOFFSET3D(u,0,0,-5),kadd(KRANC_GFOFFSET3D(u,0,0,5),kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-252),kmadd(kadd(KRANC_GFOFFSET3D(u,0,0,-2),KRANC_GFOFFSET3D(u,0,0,2)),ToReal(-120),kmadd(kadd(KRANC_GFOFFSET3D(u,0,0,-4),KRANC_GFOFFSET3D(u,0,0,4)),ToReal(-10),kmadd(kadd(KRANC_GFOFFSET3D(u,0,0,-3),KRANC_GFOFFSET3D(u,0,0,3)),ToReal(45),kmul(kadd(KRANC_GFOFFSET3D(u,0,0,-1),KRANC_GFOFFSET3D(u,0,0,1)),ToReal(210)))))))))) #else # define PDdissipationNthfdOrder83(u) (PDdissipationNthfdOrder83_impl(u,p1o1024dz,cdj,cdk)) -static CCTK_REAL_VEC PDdissipationNthfdOrder83_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o1024dz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL_VEC PDdissipationNthfdOrder83_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o1024dz, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDdissipationNthfdOrder83_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o1024dz, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL_VEC PDdissipationNthfdOrder83_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o1024dz, const ptrdiff_t cdj, const ptrdiff_t cdk) { - ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); - return kmul(p1o1024dz,kadd(KRANC_GFOFFSET3D(u,0,0,-5),kadd(KRANC_GFOFFSET3D(u,0,0,5),kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-252.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,0,-2),KRANC_GFOFFSET3D(u,0,0,2)),ToReal(-120.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,0,-4),KRANC_GFOFFSET3D(u,0,0,4)),ToReal(-10.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,0,-3),KRANC_GFOFFSET3D(u,0,0,3)),ToReal(45.),kmul(kadd(KRANC_GFOFFSET3D(u,0,0,-1),KRANC_GFOFFSET3D(u,0,0,1)),ToReal(210.))))))))); + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); + return PDdissipationNthfdOrder82_impl(u, p1o1024dz, cdk, cdj); } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDupwindNthfdOrder21(u) (kmul(pm1o2dx,kmul(dir1,kadd(KRANC_GFOFFSET3D(u,2,0,0),kmadd(KRANC_GFOFFSET3D(u,1,0,0),ToReal(-4.),kmul(KRANC_GFOFFSET3D(u,0,0,0),ToReal(3.))))))) +# define PDupwindNthfdOrder21(u) (kmul(pm1o2dx,kmul(dir1,kadd(KRANC_GFOFFSET3D(u,2,0,0),kmadd(KRANC_GFOFFSET3D(u,1,0,0),ToReal(-4),kmul(KRANC_GFOFFSET3D(u,0,0,0),ToReal(3))))))) #else # define PDupwindNthfdOrder21(u) (PDupwindNthfdOrder21_impl(u,pm1o2dx,cdj,cdk)) -static CCTK_REAL_VEC PDupwindNthfdOrder21_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ pm1o2dx, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL_VEC PDupwindNthfdOrder21_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ pm1o2dx, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDupwindNthfdOrder21_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC pm1o2dx, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL_VEC PDupwindNthfdOrder21_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC pm1o2dx, const ptrdiff_t cdj, const ptrdiff_t cdk) { assert(0); return ToReal(1e30); /* ERROR */ } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDupwindNthfdOrder41(u) (kmul(p1o12dx,kmul(dir1,kadd(KRANC_GFOFFSET3D(u,3,0,0),kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-10.),kmadd(KRANC_GFOFFSET3D(u,2,0,0),ToReal(-6.),kmadd(KRANC_GFOFFSET3D(u,-1,0,0),ToReal(-3.),kmul(KRANC_GFOFFSET3D(u,1,0,0),ToReal(18.))))))))) +# define PDupwindNthfdOrder41(u) (kmul(p1o12dx,kmul(dir1,kadd(KRANC_GFOFFSET3D(u,3,0,0),kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-10),kmadd(KRANC_GFOFFSET3D(u,2,0,0),ToReal(-6),kmadd(KRANC_GFOFFSET3D(u,-1,0,0),ToReal(-3),kmul(KRANC_GFOFFSET3D(u,1,0,0),ToReal(18))))))))) #else # define PDupwindNthfdOrder41(u) (PDupwindNthfdOrder41_impl(u,p1o12dx,cdj,cdk)) -static CCTK_REAL_VEC PDupwindNthfdOrder41_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 PDupwindNthfdOrder41_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o12dx, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDupwindNthfdOrder41_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 PDupwindNthfdOrder41_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o12dx, const ptrdiff_t cdj, const ptrdiff_t cdk) { assert(0); return ToReal(1e30); /* ERROR */ } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDupwindNthfdOrder61(u) (kmul(pm1o60dx,kmul(dir1,kadd(KRANC_GFOFFSET3D(u,4,0,0),kmadd(KRANC_GFOFFSET3D(u,1,0,0),ToReal(-80.),kmadd(KRANC_GFOFFSET3D(u,3,0,0),ToReal(-8.),kmadd(KRANC_GFOFFSET3D(u,-2,0,0),ToReal(-2.),kmadd(KRANC_GFOFFSET3D(u,-1,0,0),ToReal(24.),kmadd(KRANC_GFOFFSET3D(u,2,0,0),ToReal(30.),kmul(KRANC_GFOFFSET3D(u,0,0,0),ToReal(35.))))))))))) +# define PDupwindNthfdOrder61(u) (kmul(pm1o60dx,kmul(dir1,kadd(KRANC_GFOFFSET3D(u,4,0,0),kmadd(KRANC_GFOFFSET3D(u,1,0,0),ToReal(-80),kmadd(KRANC_GFOFFSET3D(u,3,0,0),ToReal(-8),kmadd(KRANC_GFOFFSET3D(u,-2,0,0),ToReal(-2),kmadd(KRANC_GFOFFSET3D(u,-1,0,0),ToReal(24),kmadd(KRANC_GFOFFSET3D(u,2,0,0),ToReal(30),kmul(KRANC_GFOFFSET3D(u,0,0,0),ToReal(35))))))))))) #else # define PDupwindNthfdOrder61(u) (PDupwindNthfdOrder61_impl(u,pm1o60dx,cdj,cdk)) -static CCTK_REAL_VEC PDupwindNthfdOrder61_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ pm1o60dx, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL_VEC PDupwindNthfdOrder61_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ pm1o60dx, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDupwindNthfdOrder61_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC pm1o60dx, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL_VEC PDupwindNthfdOrder61_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC pm1o60dx, const ptrdiff_t cdj, const ptrdiff_t cdk) { assert(0); return ToReal(1e30); /* ERROR */ } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDupwindNthfdOrder81(u) (kmul(p1o840dx,kmul(dir1,kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-378.),kmadd(KRANC_GFOFFSET3D(u,5,0,0),ToReal(3.),kmul(ToReal(-5.),kadd(KRANC_GFOFFSET3D(u,-3,0,0),kmadd(KRANC_GFOFFSET3D(u,1,0,0),ToReal(-210.),kmadd(KRANC_GFOFFSET3D(u,3,0,0),ToReal(-28.),kmadd(KRANC_GFOFFSET3D(u,-2,0,0),ToReal(-12.),kmadd(KRANC_GFOFFSET3D(u,4,0,0),ToReal(6.),kmul(kadd(KRANC_GFOFFSET3D(u,-1,0,0),KRANC_GFOFFSET3D(u,2,0,0)),ToReal(84.))))))))))))) +# define PDupwindNthfdOrder81(u) (kmul(p1o840dx,kmul(dir1,kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-378),kmadd(KRANC_GFOFFSET3D(u,5,0,0),ToReal(3),kmul(ToReal(-5),kadd(KRANC_GFOFFSET3D(u,-3,0,0),kmadd(KRANC_GFOFFSET3D(u,1,0,0),ToReal(-210),kmadd(KRANC_GFOFFSET3D(u,3,0,0),ToReal(-28),kmadd(KRANC_GFOFFSET3D(u,-2,0,0),ToReal(-12),kmadd(KRANC_GFOFFSET3D(u,4,0,0),ToReal(6),kmul(kadd(KRANC_GFOFFSET3D(u,-1,0,0),KRANC_GFOFFSET3D(u,2,0,0)),ToReal(84))))))))))))) #else # define PDupwindNthfdOrder81(u) (PDupwindNthfdOrder81_impl(u,p1o840dx,cdj,cdk)) -static CCTK_REAL_VEC PDupwindNthfdOrder81_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 PDupwindNthfdOrder81_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o840dx, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDupwindNthfdOrder81_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 PDupwindNthfdOrder81_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o840dx, const ptrdiff_t cdj, const ptrdiff_t cdk) { assert(0); return ToReal(1e30); /* ERROR */ } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDupwindNthAntifdOrder21(u) (kmul(p1o4dx,kadd(KRANC_GFOFFSET3D(u,-2,0,0),kmadd(KRANC_GFOFFSET3D(u,-1,0,0),ToReal(-4.),kmadd(KRANC_GFOFFSET3D(u,2,0,0),ToReal(-1.),kmul(KRANC_GFOFFSET3D(u,1,0,0),ToReal(4.))))))) +# define PDupwindNthAntifdOrder21(u) (kmul(p1o4dx,kadd(KRANC_GFOFFSET3D(u,-2,0,0),kmadd(KRANC_GFOFFSET3D(u,-1,0,0),ToReal(-4),kmsub(KRANC_GFOFFSET3D(u,1,0,0),ToReal(4),KRANC_GFOFFSET3D(u,2,0,0)))))) #else # define PDupwindNthAntifdOrder21(u) (PDupwindNthAntifdOrder21_impl(u,p1o4dx,cdj,cdk)) -static CCTK_REAL_VEC PDupwindNthAntifdOrder21_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o4dx, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL_VEC PDupwindNthAntifdOrder21_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o4dx, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDupwindNthAntifdOrder21_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o4dx, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL_VEC PDupwindNthAntifdOrder21_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o4dx, const ptrdiff_t cdj, const ptrdiff_t cdk) { - ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); - return kmul(p1o4dx,kadd(KRANC_GFOFFSET3D(u,-2,0,0),kmadd(KRANC_GFOFFSET3D(u,-1,0,0),ToReal(-4.),kmadd(KRANC_GFOFFSET3D(u,2,0,0),ToReal(-1.),kmul(KRANC_GFOFFSET3D(u,1,0,0),ToReal(4.)))))); + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); + return kmul(p1o4dx,kadd(KRANC_GFOFFSET3D(u,-2,0,0),kmadd(KRANC_GFOFFSET3D(u,-1,0,0),ToReal(-4),kmsub(KRANC_GFOFFSET3D(u,1,0,0),ToReal(4),KRANC_GFOFFSET3D(u,2,0,0))))); } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDupwindNthAntifdOrder41(u) (kmul(p1o24dx,kadd(KRANC_GFOFFSET3D(u,3,0,0),kmadd(KRANC_GFOFFSET3D(u,-1,0,0),ToReal(-21.),kmadd(KRANC_GFOFFSET3D(u,2,0,0),ToReal(-6.),kmadd(KRANC_GFOFFSET3D(u,-3,0,0),ToReal(-1.),kmadd(KRANC_GFOFFSET3D(u,-2,0,0),ToReal(6.),kmul(KRANC_GFOFFSET3D(u,1,0,0),ToReal(21.))))))))) +# define PDupwindNthAntifdOrder41(u) (kmul(p1o24dx,kadd(KRANC_GFOFFSET3D(u,3,0,0),kmadd(KRANC_GFOFFSET3D(u,-1,0,0),ToReal(-21),kmadd(KRANC_GFOFFSET3D(u,2,0,0),ToReal(-6),ksub(kmadd(KRANC_GFOFFSET3D(u,-2,0,0),ToReal(6),kmul(KRANC_GFOFFSET3D(u,1,0,0),ToReal(21))),KRANC_GFOFFSET3D(u,-3,0,0))))))) #else # define PDupwindNthAntifdOrder41(u) (PDupwindNthAntifdOrder41_impl(u,p1o24dx,cdj,cdk)) -static CCTK_REAL_VEC PDupwindNthAntifdOrder41_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o24dx, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL_VEC PDupwindNthAntifdOrder41_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o24dx, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDupwindNthAntifdOrder41_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o24dx, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL_VEC PDupwindNthAntifdOrder41_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o24dx, const ptrdiff_t cdj, const ptrdiff_t cdk) { - ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); - return kmul(p1o24dx,kadd(KRANC_GFOFFSET3D(u,3,0,0),kmadd(KRANC_GFOFFSET3D(u,-1,0,0),ToReal(-21.),kmadd(KRANC_GFOFFSET3D(u,2,0,0),ToReal(-6.),kmadd(KRANC_GFOFFSET3D(u,-3,0,0),ToReal(-1.),kmadd(KRANC_GFOFFSET3D(u,-2,0,0),ToReal(6.),kmul(KRANC_GFOFFSET3D(u,1,0,0),ToReal(21.)))))))); + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); + return kmul(p1o24dx,kadd(KRANC_GFOFFSET3D(u,3,0,0),kmadd(KRANC_GFOFFSET3D(u,-1,0,0),ToReal(-21),kmadd(KRANC_GFOFFSET3D(u,2,0,0),ToReal(-6),ksub(kmadd(KRANC_GFOFFSET3D(u,-2,0,0),ToReal(6),kmul(KRANC_GFOFFSET3D(u,1,0,0),ToReal(21))),KRANC_GFOFFSET3D(u,-3,0,0)))))); } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDupwindNthAntifdOrder61(u) (kmul(p1o120dx,kadd(KRANC_GFOFFSET3D(u,-4,0,0),kmadd(KRANC_GFOFFSET3D(u,-1,0,0),ToReal(-104.),kmadd(KRANC_GFOFFSET3D(u,2,0,0),ToReal(-32.),kmadd(KRANC_GFOFFSET3D(u,-3,0,0),ToReal(-8.),kmadd(KRANC_GFOFFSET3D(u,4,0,0),ToReal(-1.),kmadd(KRANC_GFOFFSET3D(u,3,0,0),ToReal(8.),kmadd(KRANC_GFOFFSET3D(u,-2,0,0),ToReal(32.),kmul(KRANC_GFOFFSET3D(u,1,0,0),ToReal(104.))))))))))) +# define PDupwindNthAntifdOrder61(u) (kmul(p1o120dx,kadd(KRANC_GFOFFSET3D(u,-4,0,0),kmadd(KRANC_GFOFFSET3D(u,-1,0,0),ToReal(-104),kmadd(KRANC_GFOFFSET3D(u,2,0,0),ToReal(-32),kmadd(KRANC_GFOFFSET3D(u,-3,0,0),ToReal(-8),ksub(kmadd(KRANC_GFOFFSET3D(u,3,0,0),ToReal(8),kmadd(KRANC_GFOFFSET3D(u,-2,0,0),ToReal(32),kmul(KRANC_GFOFFSET3D(u,1,0,0),ToReal(104)))),KRANC_GFOFFSET3D(u,4,0,0)))))))) #else # define PDupwindNthAntifdOrder61(u) (PDupwindNthAntifdOrder61_impl(u,p1o120dx,cdj,cdk)) -static CCTK_REAL_VEC PDupwindNthAntifdOrder61_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o120dx, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL_VEC PDupwindNthAntifdOrder61_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o120dx, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDupwindNthAntifdOrder61_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o120dx, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL_VEC PDupwindNthAntifdOrder61_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o120dx, const ptrdiff_t cdj, const ptrdiff_t cdk) { - ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); - return kmul(p1o120dx,kadd(KRANC_GFOFFSET3D(u,-4,0,0),kmadd(KRANC_GFOFFSET3D(u,-1,0,0),ToReal(-104.),kmadd(KRANC_GFOFFSET3D(u,2,0,0),ToReal(-32.),kmadd(KRANC_GFOFFSET3D(u,-3,0,0),ToReal(-8.),kmadd(KRANC_GFOFFSET3D(u,4,0,0),ToReal(-1.),kmadd(KRANC_GFOFFSET3D(u,3,0,0),ToReal(8.),kmadd(KRANC_GFOFFSET3D(u,-2,0,0),ToReal(32.),kmul(KRANC_GFOFFSET3D(u,1,0,0),ToReal(104.)))))))))); + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); + return kmul(p1o120dx,kadd(KRANC_GFOFFSET3D(u,-4,0,0),kmadd(KRANC_GFOFFSET3D(u,-1,0,0),ToReal(-104),kmadd(KRANC_GFOFFSET3D(u,2,0,0),ToReal(-32),kmadd(KRANC_GFOFFSET3D(u,-3,0,0),ToReal(-8),ksub(kmadd(KRANC_GFOFFSET3D(u,3,0,0),ToReal(8),kmadd(KRANC_GFOFFSET3D(u,-2,0,0),ToReal(32),kmul(KRANC_GFOFFSET3D(u,1,0,0),ToReal(104)))),KRANC_GFOFFSET3D(u,4,0,0))))))); } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDupwindNthAntifdOrder81(u) (kmul(p1o1680dx,kmadd(KRANC_GFOFFSET3D(u,-1,0,0),ToReal(-1470.),kmadd(KRANC_GFOFFSET3D(u,2,0,0),ToReal(-480.),kmadd(KRANC_GFOFFSET3D(u,-3,0,0),ToReal(-145.),kmadd(KRANC_GFOFFSET3D(u,4,0,0),ToReal(-30.),kmadd(KRANC_GFOFFSET3D(u,-5,0,0),ToReal(-3.),kmadd(KRANC_GFOFFSET3D(u,5,0,0),ToReal(3.),kmadd(KRANC_GFOFFSET3D(u,-4,0,0),ToReal(30.),kmadd(KRANC_GFOFFSET3D(u,3,0,0),ToReal(145.),kmadd(KRANC_GFOFFSET3D(u,-2,0,0),ToReal(480.),kmul(KRANC_GFOFFSET3D(u,1,0,0),ToReal(1470.))))))))))))) +# define PDupwindNthAntifdOrder81(u) (kmul(p1o1680dx,kmadd(KRANC_GFOFFSET3D(u,-1,0,0),ToReal(-1470),kmadd(KRANC_GFOFFSET3D(u,2,0,0),ToReal(-480),kmadd(KRANC_GFOFFSET3D(u,-3,0,0),ToReal(-145),kmadd(KRANC_GFOFFSET3D(u,4,0,0),ToReal(-30),kmadd(KRANC_GFOFFSET3D(u,-5,0,0),ToReal(-3),kmadd(KRANC_GFOFFSET3D(u,5,0,0),ToReal(3),kmadd(KRANC_GFOFFSET3D(u,-4,0,0),ToReal(30),kmadd(KRANC_GFOFFSET3D(u,3,0,0),ToReal(145),kmadd(KRANC_GFOFFSET3D(u,-2,0,0),ToReal(480),kmul(KRANC_GFOFFSET3D(u,1,0,0),ToReal(1470))))))))))))) #else # define PDupwindNthAntifdOrder81(u) (PDupwindNthAntifdOrder81_impl(u,p1o1680dx,cdj,cdk)) -static CCTK_REAL_VEC PDupwindNthAntifdOrder81_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o1680dx, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL_VEC PDupwindNthAntifdOrder81_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o1680dx, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDupwindNthAntifdOrder81_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o1680dx, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL_VEC PDupwindNthAntifdOrder81_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o1680dx, const ptrdiff_t cdj, const ptrdiff_t cdk) { - ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); - return kmul(p1o1680dx,kmadd(KRANC_GFOFFSET3D(u,-1,0,0),ToReal(-1470.),kmadd(KRANC_GFOFFSET3D(u,2,0,0),ToReal(-480.),kmadd(KRANC_GFOFFSET3D(u,-3,0,0),ToReal(-145.),kmadd(KRANC_GFOFFSET3D(u,4,0,0),ToReal(-30.),kmadd(KRANC_GFOFFSET3D(u,-5,0,0),ToReal(-3.),kmadd(KRANC_GFOFFSET3D(u,5,0,0),ToReal(3.),kmadd(KRANC_GFOFFSET3D(u,-4,0,0),ToReal(30.),kmadd(KRANC_GFOFFSET3D(u,3,0,0),ToReal(145.),kmadd(KRANC_GFOFFSET3D(u,-2,0,0),ToReal(480.),kmul(KRANC_GFOFFSET3D(u,1,0,0),ToReal(1470.)))))))))))); + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); + return kmul(p1o1680dx,kmadd(KRANC_GFOFFSET3D(u,-1,0,0),ToReal(-1470),kmadd(KRANC_GFOFFSET3D(u,2,0,0),ToReal(-480),kmadd(KRANC_GFOFFSET3D(u,-3,0,0),ToReal(-145),kmadd(KRANC_GFOFFSET3D(u,4,0,0),ToReal(-30),kmadd(KRANC_GFOFFSET3D(u,-5,0,0),ToReal(-3),kmadd(KRANC_GFOFFSET3D(u,5,0,0),ToReal(3),kmadd(KRANC_GFOFFSET3D(u,-4,0,0),ToReal(30),kmadd(KRANC_GFOFFSET3D(u,3,0,0),ToReal(145),kmadd(KRANC_GFOFFSET3D(u,-2,0,0),ToReal(480),kmul(KRANC_GFOFFSET3D(u,1,0,0),ToReal(1470)))))))))))); } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDupwindNthSymmfdOrder21(u) (kmul(pm1o4dx,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(-4.),kmul(KRANC_GFOFFSET3D(u,0,0,0),ToReal(6.))))))) +# define PDupwindNthSymmfdOrder21(u) (kmul(pm1o4dx,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(-4),kmul(KRANC_GFOFFSET3D(u,0,0,0),ToReal(6))))))) #else # define PDupwindNthSymmfdOrder21(u) (PDupwindNthSymmfdOrder21_impl(u,pm1o4dx,cdj,cdk)) -static CCTK_REAL_VEC PDupwindNthSymmfdOrder21_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ pm1o4dx, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL_VEC PDupwindNthSymmfdOrder21_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ pm1o4dx, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDupwindNthSymmfdOrder21_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC pm1o4dx, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL_VEC PDupwindNthSymmfdOrder21_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC pm1o4dx, const ptrdiff_t cdj, const ptrdiff_t cdk) { - ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); - return kmul(pm1o4dx,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(-4.),kmul(KRANC_GFOFFSET3D(u,0,0,0),ToReal(6.)))))); + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); + return kmul(pm1o4dx,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(-4),kmul(KRANC_GFOFFSET3D(u,0,0,0),ToReal(6)))))); } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDupwindNthSymmfdOrder41(u) (kmul(p1o24dx,kadd(KRANC_GFOFFSET3D(u,-3,0,0),kadd(KRANC_GFOFFSET3D(u,3,0,0),kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-20.),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,0),KRANC_GFOFFSET3D(u,2,0,0)),ToReal(-6.),kmul(kadd(KRANC_GFOFFSET3D(u,-1,0,0),KRANC_GFOFFSET3D(u,1,0,0)),ToReal(15.)))))))) +# define PDupwindNthSymmfdOrder41(u) (kmul(p1o24dx,kadd(KRANC_GFOFFSET3D(u,-3,0,0),kadd(KRANC_GFOFFSET3D(u,3,0,0),kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-20),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,0),KRANC_GFOFFSET3D(u,2,0,0)),ToReal(-6),kmul(kadd(KRANC_GFOFFSET3D(u,-1,0,0),KRANC_GFOFFSET3D(u,1,0,0)),ToReal(15)))))))) #else # define PDupwindNthSymmfdOrder41(u) (PDupwindNthSymmfdOrder41_impl(u,p1o24dx,cdj,cdk)) -static CCTK_REAL_VEC PDupwindNthSymmfdOrder41_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o24dx, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL_VEC PDupwindNthSymmfdOrder41_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o24dx, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDupwindNthSymmfdOrder41_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o24dx, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL_VEC PDupwindNthSymmfdOrder41_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o24dx, const ptrdiff_t cdj, const ptrdiff_t cdk) { - ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); - return kmul(p1o24dx,kadd(KRANC_GFOFFSET3D(u,-3,0,0),kadd(KRANC_GFOFFSET3D(u,3,0,0),kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-20.),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,0),KRANC_GFOFFSET3D(u,2,0,0)),ToReal(-6.),kmul(kadd(KRANC_GFOFFSET3D(u,-1,0,0),KRANC_GFOFFSET3D(u,1,0,0)),ToReal(15.))))))); + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); + return kmul(p1o24dx,kadd(KRANC_GFOFFSET3D(u,-3,0,0),kadd(KRANC_GFOFFSET3D(u,3,0,0),kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-20),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,0),KRANC_GFOFFSET3D(u,2,0,0)),ToReal(-6),kmul(kadd(KRANC_GFOFFSET3D(u,-1,0,0),KRANC_GFOFFSET3D(u,1,0,0)),ToReal(15))))))); } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDupwindNthSymmfdOrder61(u) (kmul(pm1o120dx,kadd(KRANC_GFOFFSET3D(u,-4,0,0),kadd(KRANC_GFOFFSET3D(u,4,0,0),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,0),KRANC_GFOFFSET3D(u,1,0,0)),ToReal(-56.),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,0,0),KRANC_GFOFFSET3D(u,3,0,0)),ToReal(-8.),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,0),KRANC_GFOFFSET3D(u,2,0,0)),ToReal(28.),kmul(KRANC_GFOFFSET3D(u,0,0,0),ToReal(70.))))))))) +# define PDupwindNthSymmfdOrder61(u) (kmul(pm1o120dx,kadd(KRANC_GFOFFSET3D(u,-4,0,0),kadd(KRANC_GFOFFSET3D(u,4,0,0),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,0),KRANC_GFOFFSET3D(u,1,0,0)),ToReal(-56),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,0,0),KRANC_GFOFFSET3D(u,3,0,0)),ToReal(-8),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,0),KRANC_GFOFFSET3D(u,2,0,0)),ToReal(28),kmul(KRANC_GFOFFSET3D(u,0,0,0),ToReal(70))))))))) #else # define PDupwindNthSymmfdOrder61(u) (PDupwindNthSymmfdOrder61_impl(u,pm1o120dx,cdj,cdk)) -static CCTK_REAL_VEC PDupwindNthSymmfdOrder61_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ pm1o120dx, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL_VEC PDupwindNthSymmfdOrder61_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ pm1o120dx, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDupwindNthSymmfdOrder61_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC pm1o120dx, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL_VEC PDupwindNthSymmfdOrder61_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC pm1o120dx, const ptrdiff_t cdj, const ptrdiff_t cdk) { - ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); - return kmul(pm1o120dx,kadd(KRANC_GFOFFSET3D(u,-4,0,0),kadd(KRANC_GFOFFSET3D(u,4,0,0),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,0),KRANC_GFOFFSET3D(u,1,0,0)),ToReal(-56.),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,0,0),KRANC_GFOFFSET3D(u,3,0,0)),ToReal(-8.),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,0),KRANC_GFOFFSET3D(u,2,0,0)),ToReal(28.),kmul(KRANC_GFOFFSET3D(u,0,0,0),ToReal(70.)))))))); + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); + return kmul(pm1o120dx,kadd(KRANC_GFOFFSET3D(u,-4,0,0),kadd(KRANC_GFOFFSET3D(u,4,0,0),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,0),KRANC_GFOFFSET3D(u,1,0,0)),ToReal(-56),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,0,0),KRANC_GFOFFSET3D(u,3,0,0)),ToReal(-8),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,0),KRANC_GFOFFSET3D(u,2,0,0)),ToReal(28),kmul(KRANC_GFOFFSET3D(u,0,0,0),ToReal(70)))))))); } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDupwindNthSymmfdOrder81(u) (kmul(p1o560dx,kadd(KRANC_GFOFFSET3D(u,-5,0,0),kadd(KRANC_GFOFFSET3D(u,5,0,0),kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-252.),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,0),KRANC_GFOFFSET3D(u,2,0,0)),ToReal(-120.),kmadd(kadd(KRANC_GFOFFSET3D(u,-4,0,0),KRANC_GFOFFSET3D(u,4,0,0)),ToReal(-10.),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,0,0),KRANC_GFOFFSET3D(u,3,0,0)),ToReal(45.),kmul(kadd(KRANC_GFOFFSET3D(u,-1,0,0),KRANC_GFOFFSET3D(u,1,0,0)),ToReal(210.)))))))))) +# define PDupwindNthSymmfdOrder81(u) (kmul(p1o560dx,kadd(KRANC_GFOFFSET3D(u,-5,0,0),kadd(KRANC_GFOFFSET3D(u,5,0,0),kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-252),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,0),KRANC_GFOFFSET3D(u,2,0,0)),ToReal(-120),kmadd(kadd(KRANC_GFOFFSET3D(u,-4,0,0),KRANC_GFOFFSET3D(u,4,0,0)),ToReal(-10),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,0,0),KRANC_GFOFFSET3D(u,3,0,0)),ToReal(45),kmul(kadd(KRANC_GFOFFSET3D(u,-1,0,0),KRANC_GFOFFSET3D(u,1,0,0)),ToReal(210)))))))))) #else # define PDupwindNthSymmfdOrder81(u) (PDupwindNthSymmfdOrder81_impl(u,p1o560dx,cdj,cdk)) -static CCTK_REAL_VEC PDupwindNthSymmfdOrder81_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o560dx, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL_VEC PDupwindNthSymmfdOrder81_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o560dx, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDupwindNthSymmfdOrder81_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o560dx, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL_VEC PDupwindNthSymmfdOrder81_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o560dx, const ptrdiff_t cdj, const ptrdiff_t cdk) { - ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); - return kmul(p1o560dx,kadd(KRANC_GFOFFSET3D(u,-5,0,0),kadd(KRANC_GFOFFSET3D(u,5,0,0),kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-252.),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,0),KRANC_GFOFFSET3D(u,2,0,0)),ToReal(-120.),kmadd(kadd(KRANC_GFOFFSET3D(u,-4,0,0),KRANC_GFOFFSET3D(u,4,0,0)),ToReal(-10.),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,0,0),KRANC_GFOFFSET3D(u,3,0,0)),ToReal(45.),kmul(kadd(KRANC_GFOFFSET3D(u,-1,0,0),KRANC_GFOFFSET3D(u,1,0,0)),ToReal(210.))))))))); + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); + return kmul(p1o560dx,kadd(KRANC_GFOFFSET3D(u,-5,0,0),kadd(KRANC_GFOFFSET3D(u,5,0,0),kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-252),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,0),KRANC_GFOFFSET3D(u,2,0,0)),ToReal(-120),kmadd(kadd(KRANC_GFOFFSET3D(u,-4,0,0),KRANC_GFOFFSET3D(u,4,0,0)),ToReal(-10),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,0,0),KRANC_GFOFFSET3D(u,3,0,0)),ToReal(45),kmul(kadd(KRANC_GFOFFSET3D(u,-1,0,0),KRANC_GFOFFSET3D(u,1,0,0)),ToReal(210))))))))); } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDonesided1(u) (kmul(p1odx,kmul(dir1,kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-1.),KRANC_GFOFFSET3D(u,1,0,0))))) +# define PDonesided1(u) (kmul(p1odx,kmul(dir1,ksub(KRANC_GFOFFSET3D(u,1,0,0),KRANC_GFOFFSET3D(u,0,0,0))))) #else # define PDonesided1(u) (PDonesided1_impl(u,p1odx,cdj,cdk)) -static CCTK_REAL_VEC PDonesided1_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1odx, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL_VEC PDonesided1_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1odx, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDonesided1_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1odx, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL_VEC PDonesided1_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1odx, const ptrdiff_t cdj, const ptrdiff_t cdk) { assert(0); return ToReal(1e30); /* ERROR */ } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDupwindNthfdOrder22(u) (kmul(pm1o2dy,kmul(dir2,kadd(KRANC_GFOFFSET3D(u,0,2,0),kmadd(KRANC_GFOFFSET3D(u,0,1,0),ToReal(-4.),kmul(KRANC_GFOFFSET3D(u,0,0,0),ToReal(3.))))))) +# define PDupwindNthfdOrder22(u) (kmul(pm1o2dy,kmul(dir2,kadd(KRANC_GFOFFSET3D(u,0,2,0),kmadd(KRANC_GFOFFSET3D(u,0,1,0),ToReal(-4),kmul(KRANC_GFOFFSET3D(u,0,0,0),ToReal(3))))))) #else # define PDupwindNthfdOrder22(u) (PDupwindNthfdOrder22_impl(u,pm1o2dy,cdj,cdk)) -static CCTK_REAL_VEC PDupwindNthfdOrder22_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ pm1o2dy, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL_VEC PDupwindNthfdOrder22_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ pm1o2dy, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDupwindNthfdOrder22_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC pm1o2dy, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL_VEC PDupwindNthfdOrder22_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC pm1o2dy, const ptrdiff_t cdj, const ptrdiff_t cdk) { assert(0); return ToReal(1e30); /* ERROR */ } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDupwindNthfdOrder42(u) (kmul(p1o12dy,kmul(dir2,kadd(KRANC_GFOFFSET3D(u,0,3,0),kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-10.),kmadd(KRANC_GFOFFSET3D(u,0,2,0),ToReal(-6.),kmadd(KRANC_GFOFFSET3D(u,0,-1,0),ToReal(-3.),kmul(KRANC_GFOFFSET3D(u,0,1,0),ToReal(18.))))))))) +# define PDupwindNthfdOrder42(u) (kmul(p1o12dy,kmul(dir2,kadd(KRANC_GFOFFSET3D(u,0,3,0),kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-10),kmadd(KRANC_GFOFFSET3D(u,0,2,0),ToReal(-6),kmadd(KRANC_GFOFFSET3D(u,0,-1,0),ToReal(-3),kmul(KRANC_GFOFFSET3D(u,0,1,0),ToReal(18))))))))) #else # define PDupwindNthfdOrder42(u) (PDupwindNthfdOrder42_impl(u,p1o12dy,cdj,cdk)) -static CCTK_REAL_VEC PDupwindNthfdOrder42_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 PDupwindNthfdOrder42_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o12dy, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDupwindNthfdOrder42_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 PDupwindNthfdOrder42_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o12dy, const ptrdiff_t cdj, const ptrdiff_t cdk) { assert(0); return ToReal(1e30); /* ERROR */ } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDupwindNthfdOrder62(u) (kmul(pm1o60dy,kmul(dir2,kadd(KRANC_GFOFFSET3D(u,0,4,0),kmadd(KRANC_GFOFFSET3D(u,0,1,0),ToReal(-80.),kmadd(KRANC_GFOFFSET3D(u,0,3,0),ToReal(-8.),kmadd(KRANC_GFOFFSET3D(u,0,-2,0),ToReal(-2.),kmadd(KRANC_GFOFFSET3D(u,0,-1,0),ToReal(24.),kmadd(KRANC_GFOFFSET3D(u,0,2,0),ToReal(30.),kmul(KRANC_GFOFFSET3D(u,0,0,0),ToReal(35.))))))))))) +# define PDupwindNthfdOrder62(u) (kmul(pm1o60dy,kmul(dir2,kadd(KRANC_GFOFFSET3D(u,0,4,0),kmadd(KRANC_GFOFFSET3D(u,0,1,0),ToReal(-80),kmadd(KRANC_GFOFFSET3D(u,0,3,0),ToReal(-8),kmadd(KRANC_GFOFFSET3D(u,0,-2,0),ToReal(-2),kmadd(KRANC_GFOFFSET3D(u,0,-1,0),ToReal(24),kmadd(KRANC_GFOFFSET3D(u,0,2,0),ToReal(30),kmul(KRANC_GFOFFSET3D(u,0,0,0),ToReal(35))))))))))) #else # define PDupwindNthfdOrder62(u) (PDupwindNthfdOrder62_impl(u,pm1o60dy,cdj,cdk)) -static CCTK_REAL_VEC PDupwindNthfdOrder62_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ pm1o60dy, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL_VEC PDupwindNthfdOrder62_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ pm1o60dy, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDupwindNthfdOrder62_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC pm1o60dy, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL_VEC PDupwindNthfdOrder62_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC pm1o60dy, const ptrdiff_t cdj, const ptrdiff_t cdk) { assert(0); return ToReal(1e30); /* ERROR */ } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDupwindNthfdOrder82(u) (kmul(p1o840dy,kmul(dir2,kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-378.),kmadd(KRANC_GFOFFSET3D(u,0,5,0),ToReal(3.),kmul(ToReal(-5.),kadd(KRANC_GFOFFSET3D(u,0,-3,0),kmadd(KRANC_GFOFFSET3D(u,0,1,0),ToReal(-210.),kmadd(KRANC_GFOFFSET3D(u,0,3,0),ToReal(-28.),kmadd(KRANC_GFOFFSET3D(u,0,-2,0),ToReal(-12.),kmadd(KRANC_GFOFFSET3D(u,0,4,0),ToReal(6.),kmul(kadd(KRANC_GFOFFSET3D(u,0,-1,0),KRANC_GFOFFSET3D(u,0,2,0)),ToReal(84.))))))))))))) +# define PDupwindNthfdOrder82(u) (kmul(p1o840dy,kmul(dir2,kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-378),kmadd(KRANC_GFOFFSET3D(u,0,5,0),ToReal(3),kmul(ToReal(-5),kadd(KRANC_GFOFFSET3D(u,0,-3,0),kmadd(KRANC_GFOFFSET3D(u,0,1,0),ToReal(-210),kmadd(KRANC_GFOFFSET3D(u,0,3,0),ToReal(-28),kmadd(KRANC_GFOFFSET3D(u,0,-2,0),ToReal(-12),kmadd(KRANC_GFOFFSET3D(u,0,4,0),ToReal(6),kmul(kadd(KRANC_GFOFFSET3D(u,0,-1,0),KRANC_GFOFFSET3D(u,0,2,0)),ToReal(84))))))))))))) #else # define PDupwindNthfdOrder82(u) (PDupwindNthfdOrder82_impl(u,p1o840dy,cdj,cdk)) -static CCTK_REAL_VEC PDupwindNthfdOrder82_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 PDupwindNthfdOrder82_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o840dy, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDupwindNthfdOrder82_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 PDupwindNthfdOrder82_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o840dy, const ptrdiff_t cdj, const ptrdiff_t cdk) { assert(0); return ToReal(1e30); /* ERROR */ } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDupwindNthAntifdOrder22(u) (kmul(p1o4dy,kadd(KRANC_GFOFFSET3D(u,0,-2,0),kmadd(KRANC_GFOFFSET3D(u,0,-1,0),ToReal(-4.),kmadd(KRANC_GFOFFSET3D(u,0,2,0),ToReal(-1.),kmul(KRANC_GFOFFSET3D(u,0,1,0),ToReal(4.))))))) +# define PDupwindNthAntifdOrder22(u) (kmul(p1o4dy,kadd(KRANC_GFOFFSET3D(u,0,-2,0),kmadd(KRANC_GFOFFSET3D(u,0,-1,0),ToReal(-4),kmsub(KRANC_GFOFFSET3D(u,0,1,0),ToReal(4),KRANC_GFOFFSET3D(u,0,2,0)))))) #else # define PDupwindNthAntifdOrder22(u) (PDupwindNthAntifdOrder22_impl(u,p1o4dy,cdj,cdk)) -static CCTK_REAL_VEC PDupwindNthAntifdOrder22_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o4dy, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL_VEC PDupwindNthAntifdOrder22_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o4dy, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDupwindNthAntifdOrder22_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o4dy, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL_VEC PDupwindNthAntifdOrder22_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o4dy, const ptrdiff_t cdj, const ptrdiff_t cdk) { - ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); - return kmul(p1o4dy,kadd(KRANC_GFOFFSET3D(u,0,-2,0),kmadd(KRANC_GFOFFSET3D(u,0,-1,0),ToReal(-4.),kmadd(KRANC_GFOFFSET3D(u,0,2,0),ToReal(-1.),kmul(KRANC_GFOFFSET3D(u,0,1,0),ToReal(4.)))))); + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); + return kmul(p1o4dy,kadd(KRANC_GFOFFSET3D(u,0,-2,0),kmadd(KRANC_GFOFFSET3D(u,0,-1,0),ToReal(-4),kmsub(KRANC_GFOFFSET3D(u,0,1,0),ToReal(4),KRANC_GFOFFSET3D(u,0,2,0))))); } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDupwindNthAntifdOrder42(u) (kmul(p1o24dy,kadd(KRANC_GFOFFSET3D(u,0,3,0),kmadd(KRANC_GFOFFSET3D(u,0,-1,0),ToReal(-21.),kmadd(KRANC_GFOFFSET3D(u,0,2,0),ToReal(-6.),kmadd(KRANC_GFOFFSET3D(u,0,-3,0),ToReal(-1.),kmadd(KRANC_GFOFFSET3D(u,0,-2,0),ToReal(6.),kmul(KRANC_GFOFFSET3D(u,0,1,0),ToReal(21.))))))))) +# define PDupwindNthAntifdOrder42(u) (kmul(p1o24dy,kadd(KRANC_GFOFFSET3D(u,0,3,0),kmadd(KRANC_GFOFFSET3D(u,0,-1,0),ToReal(-21),kmadd(KRANC_GFOFFSET3D(u,0,2,0),ToReal(-6),ksub(kmadd(KRANC_GFOFFSET3D(u,0,-2,0),ToReal(6),kmul(KRANC_GFOFFSET3D(u,0,1,0),ToReal(21))),KRANC_GFOFFSET3D(u,0,-3,0))))))) #else # define PDupwindNthAntifdOrder42(u) (PDupwindNthAntifdOrder42_impl(u,p1o24dy,cdj,cdk)) -static CCTK_REAL_VEC PDupwindNthAntifdOrder42_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o24dy, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL_VEC PDupwindNthAntifdOrder42_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o24dy, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDupwindNthAntifdOrder42_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o24dy, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL_VEC PDupwindNthAntifdOrder42_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o24dy, const ptrdiff_t cdj, const ptrdiff_t cdk) { - ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); - return kmul(p1o24dy,kadd(KRANC_GFOFFSET3D(u,0,3,0),kmadd(KRANC_GFOFFSET3D(u,0,-1,0),ToReal(-21.),kmadd(KRANC_GFOFFSET3D(u,0,2,0),ToReal(-6.),kmadd(KRANC_GFOFFSET3D(u,0,-3,0),ToReal(-1.),kmadd(KRANC_GFOFFSET3D(u,0,-2,0),ToReal(6.),kmul(KRANC_GFOFFSET3D(u,0,1,0),ToReal(21.)))))))); + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); + return kmul(p1o24dy,kadd(KRANC_GFOFFSET3D(u,0,3,0),kmadd(KRANC_GFOFFSET3D(u,0,-1,0),ToReal(-21),kmadd(KRANC_GFOFFSET3D(u,0,2,0),ToReal(-6),ksub(kmadd(KRANC_GFOFFSET3D(u,0,-2,0),ToReal(6),kmul(KRANC_GFOFFSET3D(u,0,1,0),ToReal(21))),KRANC_GFOFFSET3D(u,0,-3,0)))))); } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDupwindNthAntifdOrder62(u) (kmul(p1o120dy,kadd(KRANC_GFOFFSET3D(u,0,-4,0),kmadd(KRANC_GFOFFSET3D(u,0,-1,0),ToReal(-104.),kmadd(KRANC_GFOFFSET3D(u,0,2,0),ToReal(-32.),kmadd(KRANC_GFOFFSET3D(u,0,-3,0),ToReal(-8.),kmadd(KRANC_GFOFFSET3D(u,0,4,0),ToReal(-1.),kmadd(KRANC_GFOFFSET3D(u,0,3,0),ToReal(8.),kmadd(KRANC_GFOFFSET3D(u,0,-2,0),ToReal(32.),kmul(KRANC_GFOFFSET3D(u,0,1,0),ToReal(104.))))))))))) +# define PDupwindNthAntifdOrder62(u) (kmul(p1o120dy,kadd(KRANC_GFOFFSET3D(u,0,-4,0),kmadd(KRANC_GFOFFSET3D(u,0,-1,0),ToReal(-104),kmadd(KRANC_GFOFFSET3D(u,0,2,0),ToReal(-32),kmadd(KRANC_GFOFFSET3D(u,0,-3,0),ToReal(-8),ksub(kmadd(KRANC_GFOFFSET3D(u,0,3,0),ToReal(8),kmadd(KRANC_GFOFFSET3D(u,0,-2,0),ToReal(32),kmul(KRANC_GFOFFSET3D(u,0,1,0),ToReal(104)))),KRANC_GFOFFSET3D(u,0,4,0)))))))) #else # define PDupwindNthAntifdOrder62(u) (PDupwindNthAntifdOrder62_impl(u,p1o120dy,cdj,cdk)) -static CCTK_REAL_VEC PDupwindNthAntifdOrder62_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o120dy, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL_VEC PDupwindNthAntifdOrder62_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o120dy, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDupwindNthAntifdOrder62_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o120dy, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL_VEC PDupwindNthAntifdOrder62_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o120dy, const ptrdiff_t cdj, const ptrdiff_t cdk) { - ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); - return kmul(p1o120dy,kadd(KRANC_GFOFFSET3D(u,0,-4,0),kmadd(KRANC_GFOFFSET3D(u,0,-1,0),ToReal(-104.),kmadd(KRANC_GFOFFSET3D(u,0,2,0),ToReal(-32.),kmadd(KRANC_GFOFFSET3D(u,0,-3,0),ToReal(-8.),kmadd(KRANC_GFOFFSET3D(u,0,4,0),ToReal(-1.),kmadd(KRANC_GFOFFSET3D(u,0,3,0),ToReal(8.),kmadd(KRANC_GFOFFSET3D(u,0,-2,0),ToReal(32.),kmul(KRANC_GFOFFSET3D(u,0,1,0),ToReal(104.)))))))))); + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); + return kmul(p1o120dy,kadd(KRANC_GFOFFSET3D(u,0,-4,0),kmadd(KRANC_GFOFFSET3D(u,0,-1,0),ToReal(-104),kmadd(KRANC_GFOFFSET3D(u,0,2,0),ToReal(-32),kmadd(KRANC_GFOFFSET3D(u,0,-3,0),ToReal(-8),ksub(kmadd(KRANC_GFOFFSET3D(u,0,3,0),ToReal(8),kmadd(KRANC_GFOFFSET3D(u,0,-2,0),ToReal(32),kmul(KRANC_GFOFFSET3D(u,0,1,0),ToReal(104)))),KRANC_GFOFFSET3D(u,0,4,0))))))); } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDupwindNthAntifdOrder82(u) (kmul(p1o1680dy,kmadd(KRANC_GFOFFSET3D(u,0,-1,0),ToReal(-1470.),kmadd(KRANC_GFOFFSET3D(u,0,2,0),ToReal(-480.),kmadd(KRANC_GFOFFSET3D(u,0,-3,0),ToReal(-145.),kmadd(KRANC_GFOFFSET3D(u,0,4,0),ToReal(-30.),kmadd(KRANC_GFOFFSET3D(u,0,-5,0),ToReal(-3.),kmadd(KRANC_GFOFFSET3D(u,0,5,0),ToReal(3.),kmadd(KRANC_GFOFFSET3D(u,0,-4,0),ToReal(30.),kmadd(KRANC_GFOFFSET3D(u,0,3,0),ToReal(145.),kmadd(KRANC_GFOFFSET3D(u,0,-2,0),ToReal(480.),kmul(KRANC_GFOFFSET3D(u,0,1,0),ToReal(1470.))))))))))))) +# define PDupwindNthAntifdOrder82(u) (kmul(p1o1680dy,kmadd(KRANC_GFOFFSET3D(u,0,-1,0),ToReal(-1470),kmadd(KRANC_GFOFFSET3D(u,0,2,0),ToReal(-480),kmadd(KRANC_GFOFFSET3D(u,0,-3,0),ToReal(-145),kmadd(KRANC_GFOFFSET3D(u,0,4,0),ToReal(-30),kmadd(KRANC_GFOFFSET3D(u,0,-5,0),ToReal(-3),kmadd(KRANC_GFOFFSET3D(u,0,5,0),ToReal(3),kmadd(KRANC_GFOFFSET3D(u,0,-4,0),ToReal(30),kmadd(KRANC_GFOFFSET3D(u,0,3,0),ToReal(145),kmadd(KRANC_GFOFFSET3D(u,0,-2,0),ToReal(480),kmul(KRANC_GFOFFSET3D(u,0,1,0),ToReal(1470))))))))))))) #else # define PDupwindNthAntifdOrder82(u) (PDupwindNthAntifdOrder82_impl(u,p1o1680dy,cdj,cdk)) -static CCTK_REAL_VEC PDupwindNthAntifdOrder82_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o1680dy, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL_VEC PDupwindNthAntifdOrder82_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o1680dy, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDupwindNthAntifdOrder82_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o1680dy, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL_VEC PDupwindNthAntifdOrder82_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o1680dy, const ptrdiff_t cdj, const ptrdiff_t cdk) { - ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); - return kmul(p1o1680dy,kmadd(KRANC_GFOFFSET3D(u,0,-1,0),ToReal(-1470.),kmadd(KRANC_GFOFFSET3D(u,0,2,0),ToReal(-480.),kmadd(KRANC_GFOFFSET3D(u,0,-3,0),ToReal(-145.),kmadd(KRANC_GFOFFSET3D(u,0,4,0),ToReal(-30.),kmadd(KRANC_GFOFFSET3D(u,0,-5,0),ToReal(-3.),kmadd(KRANC_GFOFFSET3D(u,0,5,0),ToReal(3.),kmadd(KRANC_GFOFFSET3D(u,0,-4,0),ToReal(30.),kmadd(KRANC_GFOFFSET3D(u,0,3,0),ToReal(145.),kmadd(KRANC_GFOFFSET3D(u,0,-2,0),ToReal(480.),kmul(KRANC_GFOFFSET3D(u,0,1,0),ToReal(1470.)))))))))))); + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); + return kmul(p1o1680dy,kmadd(KRANC_GFOFFSET3D(u,0,-1,0),ToReal(-1470),kmadd(KRANC_GFOFFSET3D(u,0,2,0),ToReal(-480),kmadd(KRANC_GFOFFSET3D(u,0,-3,0),ToReal(-145),kmadd(KRANC_GFOFFSET3D(u,0,4,0),ToReal(-30),kmadd(KRANC_GFOFFSET3D(u,0,-5,0),ToReal(-3),kmadd(KRANC_GFOFFSET3D(u,0,5,0),ToReal(3),kmadd(KRANC_GFOFFSET3D(u,0,-4,0),ToReal(30),kmadd(KRANC_GFOFFSET3D(u,0,3,0),ToReal(145),kmadd(KRANC_GFOFFSET3D(u,0,-2,0),ToReal(480),kmul(KRANC_GFOFFSET3D(u,0,1,0),ToReal(1470)))))))))))); } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDupwindNthSymmfdOrder22(u) (kmul(pm1o4dy,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(-4.),kmul(KRANC_GFOFFSET3D(u,0,0,0),ToReal(6.))))))) +# define PDupwindNthSymmfdOrder22(u) (kmul(pm1o4dy,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(-4),kmul(KRANC_GFOFFSET3D(u,0,0,0),ToReal(6))))))) #else # define PDupwindNthSymmfdOrder22(u) (PDupwindNthSymmfdOrder22_impl(u,pm1o4dy,cdj,cdk)) -static CCTK_REAL_VEC PDupwindNthSymmfdOrder22_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ pm1o4dy, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL_VEC PDupwindNthSymmfdOrder22_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ pm1o4dy, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDupwindNthSymmfdOrder22_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC pm1o4dy, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL_VEC PDupwindNthSymmfdOrder22_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC pm1o4dy, const ptrdiff_t cdj, const ptrdiff_t cdk) { - ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); - return kmul(pm1o4dy,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(-4.),kmul(KRANC_GFOFFSET3D(u,0,0,0),ToReal(6.)))))); + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); + return kmul(pm1o4dy,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(-4),kmul(KRANC_GFOFFSET3D(u,0,0,0),ToReal(6)))))); } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDupwindNthSymmfdOrder42(u) (kmul(p1o24dy,kadd(KRANC_GFOFFSET3D(u,0,-3,0),kadd(KRANC_GFOFFSET3D(u,0,3,0),kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-20.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,0),KRANC_GFOFFSET3D(u,0,2,0)),ToReal(-6.),kmul(kadd(KRANC_GFOFFSET3D(u,0,-1,0),KRANC_GFOFFSET3D(u,0,1,0)),ToReal(15.)))))))) +# define PDupwindNthSymmfdOrder42(u) (kmul(p1o24dy,kadd(KRANC_GFOFFSET3D(u,0,-3,0),kadd(KRANC_GFOFFSET3D(u,0,3,0),kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-20),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,0),KRANC_GFOFFSET3D(u,0,2,0)),ToReal(-6),kmul(kadd(KRANC_GFOFFSET3D(u,0,-1,0),KRANC_GFOFFSET3D(u,0,1,0)),ToReal(15)))))))) #else # define PDupwindNthSymmfdOrder42(u) (PDupwindNthSymmfdOrder42_impl(u,p1o24dy,cdj,cdk)) -static CCTK_REAL_VEC PDupwindNthSymmfdOrder42_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o24dy, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL_VEC PDupwindNthSymmfdOrder42_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o24dy, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDupwindNthSymmfdOrder42_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o24dy, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL_VEC PDupwindNthSymmfdOrder42_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o24dy, const ptrdiff_t cdj, const ptrdiff_t cdk) { - ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); - return kmul(p1o24dy,kadd(KRANC_GFOFFSET3D(u,0,-3,0),kadd(KRANC_GFOFFSET3D(u,0,3,0),kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-20.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,0),KRANC_GFOFFSET3D(u,0,2,0)),ToReal(-6.),kmul(kadd(KRANC_GFOFFSET3D(u,0,-1,0),KRANC_GFOFFSET3D(u,0,1,0)),ToReal(15.))))))); + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); + return kmul(p1o24dy,kadd(KRANC_GFOFFSET3D(u,0,-3,0),kadd(KRANC_GFOFFSET3D(u,0,3,0),kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-20),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,0),KRANC_GFOFFSET3D(u,0,2,0)),ToReal(-6),kmul(kadd(KRANC_GFOFFSET3D(u,0,-1,0),KRANC_GFOFFSET3D(u,0,1,0)),ToReal(15))))))); } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDupwindNthSymmfdOrder62(u) (kmul(pm1o120dy,kadd(KRANC_GFOFFSET3D(u,0,-4,0),kadd(KRANC_GFOFFSET3D(u,0,4,0),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,0),KRANC_GFOFFSET3D(u,0,1,0)),ToReal(-56.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-3,0),KRANC_GFOFFSET3D(u,0,3,0)),ToReal(-8.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,0),KRANC_GFOFFSET3D(u,0,2,0)),ToReal(28.),kmul(KRANC_GFOFFSET3D(u,0,0,0),ToReal(70.))))))))) +# define PDupwindNthSymmfdOrder62(u) (kmul(pm1o120dy,kadd(KRANC_GFOFFSET3D(u,0,-4,0),kadd(KRANC_GFOFFSET3D(u,0,4,0),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,0),KRANC_GFOFFSET3D(u,0,1,0)),ToReal(-56),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-3,0),KRANC_GFOFFSET3D(u,0,3,0)),ToReal(-8),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,0),KRANC_GFOFFSET3D(u,0,2,0)),ToReal(28),kmul(KRANC_GFOFFSET3D(u,0,0,0),ToReal(70))))))))) #else # define PDupwindNthSymmfdOrder62(u) (PDupwindNthSymmfdOrder62_impl(u,pm1o120dy,cdj,cdk)) -static CCTK_REAL_VEC PDupwindNthSymmfdOrder62_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ pm1o120dy, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL_VEC PDupwindNthSymmfdOrder62_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ pm1o120dy, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDupwindNthSymmfdOrder62_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC pm1o120dy, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL_VEC PDupwindNthSymmfdOrder62_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC pm1o120dy, const ptrdiff_t cdj, const ptrdiff_t cdk) { - ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); - return kmul(pm1o120dy,kadd(KRANC_GFOFFSET3D(u,0,-4,0),kadd(KRANC_GFOFFSET3D(u,0,4,0),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,0),KRANC_GFOFFSET3D(u,0,1,0)),ToReal(-56.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-3,0),KRANC_GFOFFSET3D(u,0,3,0)),ToReal(-8.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,0),KRANC_GFOFFSET3D(u,0,2,0)),ToReal(28.),kmul(KRANC_GFOFFSET3D(u,0,0,0),ToReal(70.)))))))); + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); + return kmul(pm1o120dy,kadd(KRANC_GFOFFSET3D(u,0,-4,0),kadd(KRANC_GFOFFSET3D(u,0,4,0),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,0),KRANC_GFOFFSET3D(u,0,1,0)),ToReal(-56),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-3,0),KRANC_GFOFFSET3D(u,0,3,0)),ToReal(-8),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,0),KRANC_GFOFFSET3D(u,0,2,0)),ToReal(28),kmul(KRANC_GFOFFSET3D(u,0,0,0),ToReal(70)))))))); } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDupwindNthSymmfdOrder82(u) (kmul(p1o560dy,kadd(KRANC_GFOFFSET3D(u,0,-5,0),kadd(KRANC_GFOFFSET3D(u,0,5,0),kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-252.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,0),KRANC_GFOFFSET3D(u,0,2,0)),ToReal(-120.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-4,0),KRANC_GFOFFSET3D(u,0,4,0)),ToReal(-10.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-3,0),KRANC_GFOFFSET3D(u,0,3,0)),ToReal(45.),kmul(kadd(KRANC_GFOFFSET3D(u,0,-1,0),KRANC_GFOFFSET3D(u,0,1,0)),ToReal(210.)))))))))) +# define PDupwindNthSymmfdOrder82(u) (kmul(p1o560dy,kadd(KRANC_GFOFFSET3D(u,0,-5,0),kadd(KRANC_GFOFFSET3D(u,0,5,0),kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-252),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,0),KRANC_GFOFFSET3D(u,0,2,0)),ToReal(-120),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-4,0),KRANC_GFOFFSET3D(u,0,4,0)),ToReal(-10),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-3,0),KRANC_GFOFFSET3D(u,0,3,0)),ToReal(45),kmul(kadd(KRANC_GFOFFSET3D(u,0,-1,0),KRANC_GFOFFSET3D(u,0,1,0)),ToReal(210)))))))))) #else # define PDupwindNthSymmfdOrder82(u) (PDupwindNthSymmfdOrder82_impl(u,p1o560dy,cdj,cdk)) -static CCTK_REAL_VEC PDupwindNthSymmfdOrder82_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o560dy, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL_VEC PDupwindNthSymmfdOrder82_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o560dy, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDupwindNthSymmfdOrder82_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o560dy, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL_VEC PDupwindNthSymmfdOrder82_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o560dy, const ptrdiff_t cdj, const ptrdiff_t cdk) { - ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); - return kmul(p1o560dy,kadd(KRANC_GFOFFSET3D(u,0,-5,0),kadd(KRANC_GFOFFSET3D(u,0,5,0),kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-252.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,0),KRANC_GFOFFSET3D(u,0,2,0)),ToReal(-120.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-4,0),KRANC_GFOFFSET3D(u,0,4,0)),ToReal(-10.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-3,0),KRANC_GFOFFSET3D(u,0,3,0)),ToReal(45.),kmul(kadd(KRANC_GFOFFSET3D(u,0,-1,0),KRANC_GFOFFSET3D(u,0,1,0)),ToReal(210.))))))))); + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); + return kmul(p1o560dy,kadd(KRANC_GFOFFSET3D(u,0,-5,0),kadd(KRANC_GFOFFSET3D(u,0,5,0),kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-252),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,0),KRANC_GFOFFSET3D(u,0,2,0)),ToReal(-120),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-4,0),KRANC_GFOFFSET3D(u,0,4,0)),ToReal(-10),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-3,0),KRANC_GFOFFSET3D(u,0,3,0)),ToReal(45),kmul(kadd(KRANC_GFOFFSET3D(u,0,-1,0),KRANC_GFOFFSET3D(u,0,1,0)),ToReal(210))))))))); } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDonesided2(u) (kmul(p1ody,kmul(dir2,kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-1.),KRANC_GFOFFSET3D(u,0,1,0))))) +# define PDonesided2(u) (kmul(p1ody,kmul(dir2,ksub(KRANC_GFOFFSET3D(u,0,1,0),KRANC_GFOFFSET3D(u,0,0,0))))) #else # define PDonesided2(u) (PDonesided2_impl(u,p1ody,cdj,cdk)) -static CCTK_REAL_VEC PDonesided2_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1ody, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL_VEC PDonesided2_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1ody, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDonesided2_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1ody, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL_VEC PDonesided2_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1ody, const ptrdiff_t cdj, const ptrdiff_t cdk) { assert(0); return ToReal(1e30); /* ERROR */ } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDupwindNthfdOrder23(u) (kmul(pm1o2dz,kmul(dir3,kadd(KRANC_GFOFFSET3D(u,0,0,2),kmadd(KRANC_GFOFFSET3D(u,0,0,1),ToReal(-4.),kmul(KRANC_GFOFFSET3D(u,0,0,0),ToReal(3.))))))) +# define PDupwindNthfdOrder23(u) (kmul(pm1o2dz,kmul(dir3,kadd(KRANC_GFOFFSET3D(u,0,0,2),kmadd(KRANC_GFOFFSET3D(u,0,0,1),ToReal(-4),kmul(KRANC_GFOFFSET3D(u,0,0,0),ToReal(3))))))) #else # define PDupwindNthfdOrder23(u) (PDupwindNthfdOrder23_impl(u,pm1o2dz,cdj,cdk)) -static CCTK_REAL_VEC PDupwindNthfdOrder23_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ pm1o2dz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL_VEC PDupwindNthfdOrder23_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ pm1o2dz, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDupwindNthfdOrder23_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC pm1o2dz, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL_VEC PDupwindNthfdOrder23_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC pm1o2dz, const ptrdiff_t cdj, const ptrdiff_t cdk) { assert(0); return ToReal(1e30); /* ERROR */ } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDupwindNthfdOrder43(u) (kmul(p1o12dz,kmul(dir3,kadd(KRANC_GFOFFSET3D(u,0,0,3),kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-10.),kmadd(KRANC_GFOFFSET3D(u,0,0,2),ToReal(-6.),kmadd(KRANC_GFOFFSET3D(u,0,0,-1),ToReal(-3.),kmul(KRANC_GFOFFSET3D(u,0,0,1),ToReal(18.))))))))) +# define PDupwindNthfdOrder43(u) (kmul(p1o12dz,kmul(dir3,kadd(KRANC_GFOFFSET3D(u,0,0,3),kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-10),kmadd(KRANC_GFOFFSET3D(u,0,0,2),ToReal(-6),kmadd(KRANC_GFOFFSET3D(u,0,0,-1),ToReal(-3),kmul(KRANC_GFOFFSET3D(u,0,0,1),ToReal(18))))))))) #else # define PDupwindNthfdOrder43(u) (PDupwindNthfdOrder43_impl(u,p1o12dz,cdj,cdk)) -static CCTK_REAL_VEC PDupwindNthfdOrder43_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 PDupwindNthfdOrder43_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o12dz, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDupwindNthfdOrder43_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 PDupwindNthfdOrder43_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o12dz, const ptrdiff_t cdj, const ptrdiff_t cdk) { assert(0); return ToReal(1e30); /* ERROR */ } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDupwindNthfdOrder63(u) (kmul(pm1o60dz,kmul(dir3,kadd(KRANC_GFOFFSET3D(u,0,0,4),kmadd(KRANC_GFOFFSET3D(u,0,0,1),ToReal(-80.),kmadd(KRANC_GFOFFSET3D(u,0,0,3),ToReal(-8.),kmadd(KRANC_GFOFFSET3D(u,0,0,-2),ToReal(-2.),kmadd(KRANC_GFOFFSET3D(u,0,0,-1),ToReal(24.),kmadd(KRANC_GFOFFSET3D(u,0,0,2),ToReal(30.),kmul(KRANC_GFOFFSET3D(u,0,0,0),ToReal(35.))))))))))) +# define PDupwindNthfdOrder63(u) (kmul(pm1o60dz,kmul(dir3,kadd(KRANC_GFOFFSET3D(u,0,0,4),kmadd(KRANC_GFOFFSET3D(u,0,0,1),ToReal(-80),kmadd(KRANC_GFOFFSET3D(u,0,0,3),ToReal(-8),kmadd(KRANC_GFOFFSET3D(u,0,0,-2),ToReal(-2),kmadd(KRANC_GFOFFSET3D(u,0,0,-1),ToReal(24),kmadd(KRANC_GFOFFSET3D(u,0,0,2),ToReal(30),kmul(KRANC_GFOFFSET3D(u,0,0,0),ToReal(35))))))))))) #else # define PDupwindNthfdOrder63(u) (PDupwindNthfdOrder63_impl(u,pm1o60dz,cdj,cdk)) -static CCTK_REAL_VEC PDupwindNthfdOrder63_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ pm1o60dz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL_VEC PDupwindNthfdOrder63_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ pm1o60dz, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDupwindNthfdOrder63_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC pm1o60dz, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL_VEC PDupwindNthfdOrder63_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC pm1o60dz, const ptrdiff_t cdj, const ptrdiff_t cdk) { assert(0); return ToReal(1e30); /* ERROR */ } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDupwindNthfdOrder83(u) (kmul(p1o840dz,kmul(dir3,kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-378.),kmadd(KRANC_GFOFFSET3D(u,0,0,5),ToReal(3.),kmul(ToReal(-5.),kadd(KRANC_GFOFFSET3D(u,0,0,-3),kmadd(KRANC_GFOFFSET3D(u,0,0,1),ToReal(-210.),kmadd(KRANC_GFOFFSET3D(u,0,0,3),ToReal(-28.),kmadd(KRANC_GFOFFSET3D(u,0,0,-2),ToReal(-12.),kmadd(KRANC_GFOFFSET3D(u,0,0,4),ToReal(6.),kmul(kadd(KRANC_GFOFFSET3D(u,0,0,-1),KRANC_GFOFFSET3D(u,0,0,2)),ToReal(84.))))))))))))) +# define PDupwindNthfdOrder83(u) (kmul(p1o840dz,kmul(dir3,kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-378),kmadd(KRANC_GFOFFSET3D(u,0,0,5),ToReal(3),kmul(ToReal(-5),kadd(KRANC_GFOFFSET3D(u,0,0,-3),kmadd(KRANC_GFOFFSET3D(u,0,0,1),ToReal(-210),kmadd(KRANC_GFOFFSET3D(u,0,0,3),ToReal(-28),kmadd(KRANC_GFOFFSET3D(u,0,0,-2),ToReal(-12),kmadd(KRANC_GFOFFSET3D(u,0,0,4),ToReal(6),kmul(kadd(KRANC_GFOFFSET3D(u,0,0,-1),KRANC_GFOFFSET3D(u,0,0,2)),ToReal(84))))))))))))) #else # define PDupwindNthfdOrder83(u) (PDupwindNthfdOrder83_impl(u,p1o840dz,cdj,cdk)) -static CCTK_REAL_VEC PDupwindNthfdOrder83_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 PDupwindNthfdOrder83_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o840dz, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDupwindNthfdOrder83_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 PDupwindNthfdOrder83_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o840dz, const ptrdiff_t cdj, const ptrdiff_t cdk) { assert(0); return ToReal(1e30); /* ERROR */ } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDupwindNthAntifdOrder23(u) (kmul(p1o4dz,kadd(KRANC_GFOFFSET3D(u,0,0,-2),kmadd(KRANC_GFOFFSET3D(u,0,0,-1),ToReal(-4.),kmadd(KRANC_GFOFFSET3D(u,0,0,2),ToReal(-1.),kmul(KRANC_GFOFFSET3D(u,0,0,1),ToReal(4.))))))) +# define PDupwindNthAntifdOrder23(u) (kmul(p1o4dz,kadd(KRANC_GFOFFSET3D(u,0,0,-2),kmadd(KRANC_GFOFFSET3D(u,0,0,-1),ToReal(-4),kmsub(KRANC_GFOFFSET3D(u,0,0,1),ToReal(4),KRANC_GFOFFSET3D(u,0,0,2)))))) #else # define PDupwindNthAntifdOrder23(u) (PDupwindNthAntifdOrder23_impl(u,p1o4dz,cdj,cdk)) -static CCTK_REAL_VEC PDupwindNthAntifdOrder23_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o4dz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL_VEC PDupwindNthAntifdOrder23_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o4dz, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDupwindNthAntifdOrder23_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o4dz, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL_VEC PDupwindNthAntifdOrder23_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o4dz, const ptrdiff_t cdj, const ptrdiff_t cdk) { - ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); - return kmul(p1o4dz,kadd(KRANC_GFOFFSET3D(u,0,0,-2),kmadd(KRANC_GFOFFSET3D(u,0,0,-1),ToReal(-4.),kmadd(KRANC_GFOFFSET3D(u,0,0,2),ToReal(-1.),kmul(KRANC_GFOFFSET3D(u,0,0,1),ToReal(4.)))))); + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); + return PDupwindNthAntifdOrder22_impl(u, p1o4dz, cdk, cdj); } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDupwindNthAntifdOrder43(u) (kmul(p1o24dz,kadd(KRANC_GFOFFSET3D(u,0,0,3),kmadd(KRANC_GFOFFSET3D(u,0,0,-1),ToReal(-21.),kmadd(KRANC_GFOFFSET3D(u,0,0,2),ToReal(-6.),kmadd(KRANC_GFOFFSET3D(u,0,0,-3),ToReal(-1.),kmadd(KRANC_GFOFFSET3D(u,0,0,-2),ToReal(6.),kmul(KRANC_GFOFFSET3D(u,0,0,1),ToReal(21.))))))))) +# define PDupwindNthAntifdOrder43(u) (kmul(p1o24dz,kadd(KRANC_GFOFFSET3D(u,0,0,3),kmadd(KRANC_GFOFFSET3D(u,0,0,-1),ToReal(-21),kmadd(KRANC_GFOFFSET3D(u,0,0,2),ToReal(-6),ksub(kmadd(KRANC_GFOFFSET3D(u,0,0,-2),ToReal(6),kmul(KRANC_GFOFFSET3D(u,0,0,1),ToReal(21))),KRANC_GFOFFSET3D(u,0,0,-3))))))) #else # define PDupwindNthAntifdOrder43(u) (PDupwindNthAntifdOrder43_impl(u,p1o24dz,cdj,cdk)) -static CCTK_REAL_VEC PDupwindNthAntifdOrder43_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o24dz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL_VEC PDupwindNthAntifdOrder43_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o24dz, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDupwindNthAntifdOrder43_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o24dz, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL_VEC PDupwindNthAntifdOrder43_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o24dz, const ptrdiff_t cdj, const ptrdiff_t cdk) { - ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); - return kmul(p1o24dz,kadd(KRANC_GFOFFSET3D(u,0,0,3),kmadd(KRANC_GFOFFSET3D(u,0,0,-1),ToReal(-21.),kmadd(KRANC_GFOFFSET3D(u,0,0,2),ToReal(-6.),kmadd(KRANC_GFOFFSET3D(u,0,0,-3),ToReal(-1.),kmadd(KRANC_GFOFFSET3D(u,0,0,-2),ToReal(6.),kmul(KRANC_GFOFFSET3D(u,0,0,1),ToReal(21.)))))))); + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); + return PDupwindNthAntifdOrder42_impl(u, p1o24dz, cdk, cdj); } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDupwindNthAntifdOrder63(u) (kmul(p1o120dz,kadd(KRANC_GFOFFSET3D(u,0,0,-4),kmadd(KRANC_GFOFFSET3D(u,0,0,-1),ToReal(-104.),kmadd(KRANC_GFOFFSET3D(u,0,0,2),ToReal(-32.),kmadd(KRANC_GFOFFSET3D(u,0,0,-3),ToReal(-8.),kmadd(KRANC_GFOFFSET3D(u,0,0,4),ToReal(-1.),kmadd(KRANC_GFOFFSET3D(u,0,0,3),ToReal(8.),kmadd(KRANC_GFOFFSET3D(u,0,0,-2),ToReal(32.),kmul(KRANC_GFOFFSET3D(u,0,0,1),ToReal(104.))))))))))) +# define PDupwindNthAntifdOrder63(u) (kmul(p1o120dz,kadd(KRANC_GFOFFSET3D(u,0,0,-4),kmadd(KRANC_GFOFFSET3D(u,0,0,-1),ToReal(-104),kmadd(KRANC_GFOFFSET3D(u,0,0,2),ToReal(-32),kmadd(KRANC_GFOFFSET3D(u,0,0,-3),ToReal(-8),ksub(kmadd(KRANC_GFOFFSET3D(u,0,0,3),ToReal(8),kmadd(KRANC_GFOFFSET3D(u,0,0,-2),ToReal(32),kmul(KRANC_GFOFFSET3D(u,0,0,1),ToReal(104)))),KRANC_GFOFFSET3D(u,0,0,4)))))))) #else # define PDupwindNthAntifdOrder63(u) (PDupwindNthAntifdOrder63_impl(u,p1o120dz,cdj,cdk)) -static CCTK_REAL_VEC PDupwindNthAntifdOrder63_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o120dz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL_VEC PDupwindNthAntifdOrder63_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o120dz, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDupwindNthAntifdOrder63_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o120dz, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL_VEC PDupwindNthAntifdOrder63_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o120dz, const ptrdiff_t cdj, const ptrdiff_t cdk) { - ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); - return kmul(p1o120dz,kadd(KRANC_GFOFFSET3D(u,0,0,-4),kmadd(KRANC_GFOFFSET3D(u,0,0,-1),ToReal(-104.),kmadd(KRANC_GFOFFSET3D(u,0,0,2),ToReal(-32.),kmadd(KRANC_GFOFFSET3D(u,0,0,-3),ToReal(-8.),kmadd(KRANC_GFOFFSET3D(u,0,0,4),ToReal(-1.),kmadd(KRANC_GFOFFSET3D(u,0,0,3),ToReal(8.),kmadd(KRANC_GFOFFSET3D(u,0,0,-2),ToReal(32.),kmul(KRANC_GFOFFSET3D(u,0,0,1),ToReal(104.)))))))))); + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); + return PDupwindNthAntifdOrder62_impl(u, p1o120dz, cdk, cdj); } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDupwindNthAntifdOrder83(u) (kmul(p1o1680dz,kmadd(KRANC_GFOFFSET3D(u,0,0,-1),ToReal(-1470.),kmadd(KRANC_GFOFFSET3D(u,0,0,2),ToReal(-480.),kmadd(KRANC_GFOFFSET3D(u,0,0,-3),ToReal(-145.),kmadd(KRANC_GFOFFSET3D(u,0,0,4),ToReal(-30.),kmadd(KRANC_GFOFFSET3D(u,0,0,-5),ToReal(-3.),kmadd(KRANC_GFOFFSET3D(u,0,0,5),ToReal(3.),kmadd(KRANC_GFOFFSET3D(u,0,0,-4),ToReal(30.),kmadd(KRANC_GFOFFSET3D(u,0,0,3),ToReal(145.),kmadd(KRANC_GFOFFSET3D(u,0,0,-2),ToReal(480.),kmul(KRANC_GFOFFSET3D(u,0,0,1),ToReal(1470.))))))))))))) +# define PDupwindNthAntifdOrder83(u) (kmul(p1o1680dz,kmadd(KRANC_GFOFFSET3D(u,0,0,-1),ToReal(-1470),kmadd(KRANC_GFOFFSET3D(u,0,0,2),ToReal(-480),kmadd(KRANC_GFOFFSET3D(u,0,0,-3),ToReal(-145),kmadd(KRANC_GFOFFSET3D(u,0,0,4),ToReal(-30),kmadd(KRANC_GFOFFSET3D(u,0,0,-5),ToReal(-3),kmadd(KRANC_GFOFFSET3D(u,0,0,5),ToReal(3),kmadd(KRANC_GFOFFSET3D(u,0,0,-4),ToReal(30),kmadd(KRANC_GFOFFSET3D(u,0,0,3),ToReal(145),kmadd(KRANC_GFOFFSET3D(u,0,0,-2),ToReal(480),kmul(KRANC_GFOFFSET3D(u,0,0,1),ToReal(1470))))))))))))) #else # define PDupwindNthAntifdOrder83(u) (PDupwindNthAntifdOrder83_impl(u,p1o1680dz,cdj,cdk)) -static CCTK_REAL_VEC PDupwindNthAntifdOrder83_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o1680dz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL_VEC PDupwindNthAntifdOrder83_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o1680dz, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDupwindNthAntifdOrder83_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o1680dz, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL_VEC PDupwindNthAntifdOrder83_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o1680dz, const ptrdiff_t cdj, const ptrdiff_t cdk) { - ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); - return kmul(p1o1680dz,kmadd(KRANC_GFOFFSET3D(u,0,0,-1),ToReal(-1470.),kmadd(KRANC_GFOFFSET3D(u,0,0,2),ToReal(-480.),kmadd(KRANC_GFOFFSET3D(u,0,0,-3),ToReal(-145.),kmadd(KRANC_GFOFFSET3D(u,0,0,4),ToReal(-30.),kmadd(KRANC_GFOFFSET3D(u,0,0,-5),ToReal(-3.),kmadd(KRANC_GFOFFSET3D(u,0,0,5),ToReal(3.),kmadd(KRANC_GFOFFSET3D(u,0,0,-4),ToReal(30.),kmadd(KRANC_GFOFFSET3D(u,0,0,3),ToReal(145.),kmadd(KRANC_GFOFFSET3D(u,0,0,-2),ToReal(480.),kmul(KRANC_GFOFFSET3D(u,0,0,1),ToReal(1470.)))))))))))); + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); + return PDupwindNthAntifdOrder82_impl(u, p1o1680dz, cdk, cdj); } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDupwindNthSymmfdOrder23(u) (kmul(pm1o4dz,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(-4.),kmul(KRANC_GFOFFSET3D(u,0,0,0),ToReal(6.))))))) +# define PDupwindNthSymmfdOrder23(u) (kmul(pm1o4dz,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(-4),kmul(KRANC_GFOFFSET3D(u,0,0,0),ToReal(6))))))) #else # define PDupwindNthSymmfdOrder23(u) (PDupwindNthSymmfdOrder23_impl(u,pm1o4dz,cdj,cdk)) -static CCTK_REAL_VEC PDupwindNthSymmfdOrder23_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ pm1o4dz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL_VEC PDupwindNthSymmfdOrder23_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ pm1o4dz, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDupwindNthSymmfdOrder23_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC pm1o4dz, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL_VEC PDupwindNthSymmfdOrder23_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC pm1o4dz, const ptrdiff_t cdj, const ptrdiff_t cdk) { - ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); - return kmul(pm1o4dz,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(-4.),kmul(KRANC_GFOFFSET3D(u,0,0,0),ToReal(6.)))))); + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); + return PDupwindNthSymmfdOrder22_impl(u, pm1o4dz, cdk, cdj); } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDupwindNthSymmfdOrder43(u) (kmul(p1o24dz,kadd(KRANC_GFOFFSET3D(u,0,0,-3),kadd(KRANC_GFOFFSET3D(u,0,0,3),kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-20.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,0,-2),KRANC_GFOFFSET3D(u,0,0,2)),ToReal(-6.),kmul(kadd(KRANC_GFOFFSET3D(u,0,0,-1),KRANC_GFOFFSET3D(u,0,0,1)),ToReal(15.)))))))) +# define PDupwindNthSymmfdOrder43(u) (kmul(p1o24dz,kadd(KRANC_GFOFFSET3D(u,0,0,-3),kadd(KRANC_GFOFFSET3D(u,0,0,3),kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-20),kmadd(kadd(KRANC_GFOFFSET3D(u,0,0,-2),KRANC_GFOFFSET3D(u,0,0,2)),ToReal(-6),kmul(kadd(KRANC_GFOFFSET3D(u,0,0,-1),KRANC_GFOFFSET3D(u,0,0,1)),ToReal(15)))))))) #else # define PDupwindNthSymmfdOrder43(u) (PDupwindNthSymmfdOrder43_impl(u,p1o24dz,cdj,cdk)) -static CCTK_REAL_VEC PDupwindNthSymmfdOrder43_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o24dz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL_VEC PDupwindNthSymmfdOrder43_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o24dz, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDupwindNthSymmfdOrder43_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o24dz, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL_VEC PDupwindNthSymmfdOrder43_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o24dz, const ptrdiff_t cdj, const ptrdiff_t cdk) { - ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); - return kmul(p1o24dz,kadd(KRANC_GFOFFSET3D(u,0,0,-3),kadd(KRANC_GFOFFSET3D(u,0,0,3),kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-20.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,0,-2),KRANC_GFOFFSET3D(u,0,0,2)),ToReal(-6.),kmul(kadd(KRANC_GFOFFSET3D(u,0,0,-1),KRANC_GFOFFSET3D(u,0,0,1)),ToReal(15.))))))); + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); + return PDupwindNthSymmfdOrder42_impl(u, p1o24dz, cdk, cdj); } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDupwindNthSymmfdOrder63(u) (kmul(pm1o120dz,kadd(KRANC_GFOFFSET3D(u,0,0,-4),kadd(KRANC_GFOFFSET3D(u,0,0,4),kmadd(kadd(KRANC_GFOFFSET3D(u,0,0,-1),KRANC_GFOFFSET3D(u,0,0,1)),ToReal(-56.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,0,-3),KRANC_GFOFFSET3D(u,0,0,3)),ToReal(-8.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,0,-2),KRANC_GFOFFSET3D(u,0,0,2)),ToReal(28.),kmul(KRANC_GFOFFSET3D(u,0,0,0),ToReal(70.))))))))) +# define PDupwindNthSymmfdOrder63(u) (kmul(pm1o120dz,kadd(KRANC_GFOFFSET3D(u,0,0,-4),kadd(KRANC_GFOFFSET3D(u,0,0,4),kmadd(kadd(KRANC_GFOFFSET3D(u,0,0,-1),KRANC_GFOFFSET3D(u,0,0,1)),ToReal(-56),kmadd(kadd(KRANC_GFOFFSET3D(u,0,0,-3),KRANC_GFOFFSET3D(u,0,0,3)),ToReal(-8),kmadd(kadd(KRANC_GFOFFSET3D(u,0,0,-2),KRANC_GFOFFSET3D(u,0,0,2)),ToReal(28),kmul(KRANC_GFOFFSET3D(u,0,0,0),ToReal(70))))))))) #else # define PDupwindNthSymmfdOrder63(u) (PDupwindNthSymmfdOrder63_impl(u,pm1o120dz,cdj,cdk)) -static CCTK_REAL_VEC PDupwindNthSymmfdOrder63_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ pm1o120dz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL_VEC PDupwindNthSymmfdOrder63_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ pm1o120dz, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDupwindNthSymmfdOrder63_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC pm1o120dz, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL_VEC PDupwindNthSymmfdOrder63_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC pm1o120dz, const ptrdiff_t cdj, const ptrdiff_t cdk) { - ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); - return kmul(pm1o120dz,kadd(KRANC_GFOFFSET3D(u,0,0,-4),kadd(KRANC_GFOFFSET3D(u,0,0,4),kmadd(kadd(KRANC_GFOFFSET3D(u,0,0,-1),KRANC_GFOFFSET3D(u,0,0,1)),ToReal(-56.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,0,-3),KRANC_GFOFFSET3D(u,0,0,3)),ToReal(-8.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,0,-2),KRANC_GFOFFSET3D(u,0,0,2)),ToReal(28.),kmul(KRANC_GFOFFSET3D(u,0,0,0),ToReal(70.)))))))); + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); + return PDupwindNthSymmfdOrder62_impl(u, pm1o120dz, cdk, cdj); } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDupwindNthSymmfdOrder83(u) (kmul(p1o560dz,kadd(KRANC_GFOFFSET3D(u,0,0,-5),kadd(KRANC_GFOFFSET3D(u,0,0,5),kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-252.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,0,-2),KRANC_GFOFFSET3D(u,0,0,2)),ToReal(-120.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,0,-4),KRANC_GFOFFSET3D(u,0,0,4)),ToReal(-10.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,0,-3),KRANC_GFOFFSET3D(u,0,0,3)),ToReal(45.),kmul(kadd(KRANC_GFOFFSET3D(u,0,0,-1),KRANC_GFOFFSET3D(u,0,0,1)),ToReal(210.)))))))))) +# define PDupwindNthSymmfdOrder83(u) (kmul(p1o560dz,kadd(KRANC_GFOFFSET3D(u,0,0,-5),kadd(KRANC_GFOFFSET3D(u,0,0,5),kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-252),kmadd(kadd(KRANC_GFOFFSET3D(u,0,0,-2),KRANC_GFOFFSET3D(u,0,0,2)),ToReal(-120),kmadd(kadd(KRANC_GFOFFSET3D(u,0,0,-4),KRANC_GFOFFSET3D(u,0,0,4)),ToReal(-10),kmadd(kadd(KRANC_GFOFFSET3D(u,0,0,-3),KRANC_GFOFFSET3D(u,0,0,3)),ToReal(45),kmul(kadd(KRANC_GFOFFSET3D(u,0,0,-1),KRANC_GFOFFSET3D(u,0,0,1)),ToReal(210)))))))))) #else # define PDupwindNthSymmfdOrder83(u) (PDupwindNthSymmfdOrder83_impl(u,p1o560dz,cdj,cdk)) -static CCTK_REAL_VEC PDupwindNthSymmfdOrder83_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o560dz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL_VEC PDupwindNthSymmfdOrder83_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o560dz, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDupwindNthSymmfdOrder83_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o560dz, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL_VEC PDupwindNthSymmfdOrder83_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o560dz, const ptrdiff_t cdj, const ptrdiff_t cdk) { - ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); - return kmul(p1o560dz,kadd(KRANC_GFOFFSET3D(u,0,0,-5),kadd(KRANC_GFOFFSET3D(u,0,0,5),kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-252.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,0,-2),KRANC_GFOFFSET3D(u,0,0,2)),ToReal(-120.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,0,-4),KRANC_GFOFFSET3D(u,0,0,4)),ToReal(-10.),kmadd(kadd(KRANC_GFOFFSET3D(u,0,0,-3),KRANC_GFOFFSET3D(u,0,0,3)),ToReal(45.),kmul(kadd(KRANC_GFOFFSET3D(u,0,0,-1),KRANC_GFOFFSET3D(u,0,0,1)),ToReal(210.))))))))); + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL); + return PDupwindNthSymmfdOrder82_impl(u, p1o560dz, cdk, cdj); } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDonesided3(u) (kmul(p1odz,kmul(dir3,kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-1.),KRANC_GFOFFSET3D(u,0,0,1))))) +# define PDonesided3(u) (kmul(p1odz,kmul(dir3,ksub(KRANC_GFOFFSET3D(u,0,0,1),KRANC_GFOFFSET3D(u,0,0,0))))) #else # define PDonesided3(u) (PDonesided3_impl(u,p1odz,cdj,cdk)) -static CCTK_REAL_VEC PDonesided3_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1odz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL_VEC PDonesided3_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1odz, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDonesided3_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1odz, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL_VEC PDonesided3_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1odz, const ptrdiff_t cdj, const ptrdiff_t cdk) { assert(0); return ToReal(1e30); /* ERROR */ } #endif diff --git a/ML_CCZ4/src/ML_CCZ4_Advect.cc b/ML_CCZ4/src/ML_CCZ4_Advect.cc index b185afa..f852792 100644 --- a/ML_CCZ4/src/ML_CCZ4_Advect.cc +++ b/ML_CCZ4/src/ML_CCZ4_Advect.cc @@ -32,7 +32,9 @@ extern "C" void ML_CCZ4_Advect_SelectBCs(CCTK_ARGUMENTS) DECLARE_CCTK_ARGUMENTS; DECLARE_CCTK_PARAMETERS; - CCTK_INT ierr CCTK_ATTRIBUTE_UNUSED = 0; + if (cctk_iteration % ML_CCZ4_Advect_calc_every != ML_CCZ4_Advect_calc_offset) + return; + CCTK_INT ierr CCTK_ATTRIBUTE_UNUSED = 0; ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_CCZ4::ML_curvrhs","flat"); if (ierr < 0) CCTK_WARN(1, "Failed to register flat BC for ML_CCZ4::ML_curvrhs."); @@ -66,7 +68,7 @@ extern "C" void ML_CCZ4_Advect_SelectBCs(CCTK_ARGUMENTS) return; } -static void ML_CCZ4_Advect_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_CCZ4_Advect_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; @@ -75,153 +77,175 @@ static void ML_CCZ4_Advect_Body(cGH const * restrict const cctkGH, int const dir /* Include user-supplied include files */ /* Initialise finite differencing variables */ - ptrdiff_t /*const*/ di CCTK_ATTRIBUTE_UNUSED = 1; - ptrdiff_t /*const*/ dj CCTK_ATTRIBUTE_UNUSED = CCTK_GFINDEX3D(cctkGH,0,1,0) - CCTK_GFINDEX3D(cctkGH,0,0,0); - ptrdiff_t /*const*/ dk CCTK_ATTRIBUTE_UNUSED = CCTK_GFINDEX3D(cctkGH,0,0,1) - CCTK_GFINDEX3D(cctkGH,0,0,0); - ptrdiff_t /*const*/ cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * di; - ptrdiff_t /*const*/ cdj CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * dj; - ptrdiff_t /*const*/ cdk CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * dk; - CCTK_REAL_VEC /*const*/ dx CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(0)); - CCTK_REAL_VEC /*const*/ dy CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(1)); - CCTK_REAL_VEC /*const*/ dz CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(2)); - CCTK_REAL_VEC /*const*/ dt CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_TIME); - CCTK_REAL_VEC /*const*/ t CCTK_ATTRIBUTE_UNUSED = ToReal(cctk_time); - CCTK_REAL_VEC /*const*/ dxi CCTK_ATTRIBUTE_UNUSED = INV(dx); - CCTK_REAL_VEC /*const*/ dyi CCTK_ATTRIBUTE_UNUSED = INV(dy); - CCTK_REAL_VEC /*const*/ dzi CCTK_ATTRIBUTE_UNUSED = INV(dz); - CCTK_REAL_VEC /*const*/ khalf CCTK_ATTRIBUTE_UNUSED = ToReal(0.5); - CCTK_REAL_VEC /*const*/ kthird CCTK_ATTRIBUTE_UNUSED = ToReal(1.0/3.0); - CCTK_REAL_VEC /*const*/ ktwothird CCTK_ATTRIBUTE_UNUSED = ToReal(2.0/3.0); - CCTK_REAL_VEC /*const*/ kfourthird CCTK_ATTRIBUTE_UNUSED = ToReal(4.0/3.0); - CCTK_REAL_VEC /*const*/ keightthird CCTK_ATTRIBUTE_UNUSED = ToReal(8.0/3.0); - CCTK_REAL_VEC /*const*/ hdxi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dxi); - CCTK_REAL_VEC /*const*/ hdyi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dyi); - CCTK_REAL_VEC /*const*/ hdzi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dzi); + const ptrdiff_t di CCTK_ATTRIBUTE_UNUSED = 1; + const ptrdiff_t dj CCTK_ATTRIBUTE_UNUSED = CCTK_GFINDEX3D(cctkGH,0,1,0) - CCTK_GFINDEX3D(cctkGH,0,0,0); + const ptrdiff_t dk CCTK_ATTRIBUTE_UNUSED = CCTK_GFINDEX3D(cctkGH,0,0,1) - CCTK_GFINDEX3D(cctkGH,0,0,0); + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * di; + const ptrdiff_t cdj CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * dj; + const ptrdiff_t cdk CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * dk; + const CCTK_REAL_VEC dx CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(0)); + const CCTK_REAL_VEC dy CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(1)); + const CCTK_REAL_VEC dz CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(2)); + const CCTK_REAL_VEC dt CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_TIME); + const CCTK_REAL_VEC t CCTK_ATTRIBUTE_UNUSED = ToReal(cctk_time); + const CCTK_REAL_VEC dxi CCTK_ATTRIBUTE_UNUSED = INV(dx); + const CCTK_REAL_VEC dyi CCTK_ATTRIBUTE_UNUSED = INV(dy); + const CCTK_REAL_VEC dzi CCTK_ATTRIBUTE_UNUSED = INV(dz); + const CCTK_REAL_VEC khalf CCTK_ATTRIBUTE_UNUSED = ToReal(0.5); + const CCTK_REAL_VEC kthird CCTK_ATTRIBUTE_UNUSED = ToReal(1.0/3.0); + const CCTK_REAL_VEC ktwothird CCTK_ATTRIBUTE_UNUSED = ToReal(2.0/3.0); + const CCTK_REAL_VEC kfourthird CCTK_ATTRIBUTE_UNUSED = ToReal(4.0/3.0); + const CCTK_REAL_VEC keightthird CCTK_ATTRIBUTE_UNUSED = ToReal(8.0/3.0); + const CCTK_REAL_VEC hdxi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dxi); + const CCTK_REAL_VEC hdyi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dyi); + const CCTK_REAL_VEC hdzi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dzi); /* Initialize predefined quantities */ - CCTK_REAL_VEC /*const*/ p1o1024dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dx); - CCTK_REAL_VEC /*const*/ p1o1024dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dy); - CCTK_REAL_VEC /*const*/ p1o1024dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dz); - CCTK_REAL_VEC /*const*/ p1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dx); - CCTK_REAL_VEC /*const*/ p1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dy); - CCTK_REAL_VEC /*const*/ p1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dz); - CCTK_REAL_VEC /*const*/ p1o12dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dx); - CCTK_REAL_VEC /*const*/ p1o12dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dy); - CCTK_REAL_VEC /*const*/ p1o12dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dz); - CCTK_REAL_VEC /*const*/ p1o144dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o144dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o144dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o1680dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dx); - CCTK_REAL_VEC /*const*/ p1o1680dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dy); - CCTK_REAL_VEC /*const*/ p1o1680dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dz); - CCTK_REAL_VEC /*const*/ p1o180dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ p1o180dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ p1o180dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ p1o24dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dx); - CCTK_REAL_VEC /*const*/ p1o24dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dy); - CCTK_REAL_VEC /*const*/ p1o24dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dz); - CCTK_REAL_VEC /*const*/ p1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dx); - CCTK_REAL_VEC /*const*/ p1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dy); - CCTK_REAL_VEC /*const*/ p1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dz); - CCTK_REAL_VEC /*const*/ p1o3600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o3600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o3600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dx); - CCTK_REAL_VEC /*const*/ p1o4dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o4dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dy); - CCTK_REAL_VEC /*const*/ p1o4dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dz); - CCTK_REAL_VEC /*const*/ p1o5040dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ p1o5040dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ p1o5040dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ p1o560dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dx); - CCTK_REAL_VEC /*const*/ p1o560dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dy); - CCTK_REAL_VEC /*const*/ p1o560dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dz); - CCTK_REAL_VEC /*const*/ p1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dx); - CCTK_REAL_VEC /*const*/ p1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dy); - CCTK_REAL_VEC /*const*/ p1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dz); - CCTK_REAL_VEC /*const*/ p1o64dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dx); - CCTK_REAL_VEC /*const*/ p1o64dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dy); - CCTK_REAL_VEC /*const*/ p1o64dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dz); - CCTK_REAL_VEC /*const*/ p1o705600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o705600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o705600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o840dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dx); - CCTK_REAL_VEC /*const*/ p1o840dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dy); - CCTK_REAL_VEC /*const*/ p1o840dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dz); - CCTK_REAL_VEC /*const*/ p1odx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dx); - CCTK_REAL_VEC /*const*/ p1odx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ p1ody CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dy); - CCTK_REAL_VEC /*const*/ p1ody2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ p1odz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dz); - CCTK_REAL_VEC /*const*/ p1odz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ pm1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dx); - CCTK_REAL_VEC /*const*/ pm1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dy); - CCTK_REAL_VEC /*const*/ pm1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dz); - CCTK_REAL_VEC /*const*/ pm1o12dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ pm1o12dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ pm1o12dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ pm1o16dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dx); - CCTK_REAL_VEC /*const*/ pm1o16dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dy); - CCTK_REAL_VEC /*const*/ pm1o16dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dz); - CCTK_REAL_VEC /*const*/ pm1o256dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dx); - CCTK_REAL_VEC /*const*/ pm1o256dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dy); - CCTK_REAL_VEC /*const*/ pm1o256dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dz); - CCTK_REAL_VEC /*const*/ pm1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dx); - CCTK_REAL_VEC /*const*/ pm1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dy); - CCTK_REAL_VEC /*const*/ pm1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dz); - CCTK_REAL_VEC /*const*/ pm1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dx); - CCTK_REAL_VEC /*const*/ pm1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dy); - CCTK_REAL_VEC /*const*/ pm1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dz); - CCTK_REAL_VEC /*const*/ pm1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dx); - CCTK_REAL_VEC /*const*/ pm1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dy); - CCTK_REAL_VEC /*const*/ pm1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dz); + const CCTK_REAL_VEC p1o1024dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dx); + const CCTK_REAL_VEC p1o1024dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dy); + const CCTK_REAL_VEC p1o1024dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dz); + const CCTK_REAL_VEC p1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dx); + const CCTK_REAL_VEC p1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dy); + const CCTK_REAL_VEC p1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dz); + const CCTK_REAL_VEC p1o12dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dx); + const CCTK_REAL_VEC p1o12dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dy); + const CCTK_REAL_VEC p1o12dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dz); + const CCTK_REAL_VEC p1o144dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dy,dx)); + const CCTK_REAL_VEC p1o144dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dx)); + const CCTK_REAL_VEC p1o144dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dy)); + const CCTK_REAL_VEC p1o1680dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dx); + const CCTK_REAL_VEC p1o1680dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dy); + const CCTK_REAL_VEC p1o1680dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dz); + const CCTK_REAL_VEC p1o180dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dx,dx)); + const CCTK_REAL_VEC p1o180dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dy,dy)); + const CCTK_REAL_VEC p1o180dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dz,dz)); + const CCTK_REAL_VEC p1o24dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dx); + const CCTK_REAL_VEC p1o24dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dy); + const CCTK_REAL_VEC p1o24dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dz); + const CCTK_REAL_VEC p1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dx); + const CCTK_REAL_VEC p1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dy); + const CCTK_REAL_VEC p1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dz); + const CCTK_REAL_VEC p1o3600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dy,dx)); + const CCTK_REAL_VEC p1o3600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dx)); + const CCTK_REAL_VEC p1o3600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dy)); + const CCTK_REAL_VEC p1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dx); + const CCTK_REAL_VEC p1o4dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dy,dx)); + const CCTK_REAL_VEC p1o4dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dx)); + const CCTK_REAL_VEC p1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dy); + const CCTK_REAL_VEC p1o4dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dy)); + const CCTK_REAL_VEC p1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dz); + const CCTK_REAL_VEC p1o5040dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dx,dx)); + const CCTK_REAL_VEC p1o5040dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dy,dy)); + const CCTK_REAL_VEC p1o5040dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dz,dz)); + const CCTK_REAL_VEC p1o560dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dx); + const CCTK_REAL_VEC p1o560dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dy); + const CCTK_REAL_VEC p1o560dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dz); + const CCTK_REAL_VEC p1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dx); + const CCTK_REAL_VEC p1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dy); + const CCTK_REAL_VEC p1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dz); + const CCTK_REAL_VEC p1o64dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dx); + const CCTK_REAL_VEC p1o64dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dy); + const CCTK_REAL_VEC p1o64dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dz); + const CCTK_REAL_VEC p1o705600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dy,dx)); + const CCTK_REAL_VEC p1o705600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dx)); + const CCTK_REAL_VEC p1o705600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dy)); + const CCTK_REAL_VEC p1o840dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dx); + const CCTK_REAL_VEC p1o840dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dy); + const CCTK_REAL_VEC p1o840dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dz); + const CCTK_REAL_VEC p1odx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dx); + const CCTK_REAL_VEC p1odx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dx,dx)); + const CCTK_REAL_VEC p1ody CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dy); + const CCTK_REAL_VEC p1ody2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dy,dy)); + const CCTK_REAL_VEC p1odz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dz); + const CCTK_REAL_VEC p1odz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dz,dz)); + const CCTK_REAL_VEC pm1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dx); + const CCTK_REAL_VEC pm1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dy); + const CCTK_REAL_VEC pm1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dz); + const CCTK_REAL_VEC pm1o12dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dx,dx)); + const CCTK_REAL_VEC pm1o12dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dy,dy)); + const CCTK_REAL_VEC pm1o12dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dz,dz)); + const CCTK_REAL_VEC pm1o16dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dx); + const CCTK_REAL_VEC pm1o16dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dy); + const CCTK_REAL_VEC pm1o16dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dz); + const CCTK_REAL_VEC pm1o256dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dx); + const CCTK_REAL_VEC pm1o256dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dy); + const CCTK_REAL_VEC pm1o256dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dz); + const CCTK_REAL_VEC pm1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dx); + const CCTK_REAL_VEC pm1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dy); + const CCTK_REAL_VEC pm1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dz); + const CCTK_REAL_VEC pm1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dx); + const CCTK_REAL_VEC pm1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dy); + const CCTK_REAL_VEC pm1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dz); + const CCTK_REAL_VEC pm1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dx); + const CCTK_REAL_VEC pm1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dy); + const CCTK_REAL_VEC pm1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dz); /* Jacobian variable pointers */ - bool const use_jacobian CCTK_ATTRIBUTE_UNUSED = (!CCTK_IsFunctionAliased("MultiPatch_GetMap") || MultiPatch_GetMap(cctkGH) != jacobian_identity_map) - && strlen(jacobian_group) > 0; - if (use_jacobian && strlen(jacobian_derivative_group) == 0) + const bool use_jacobian1 = (!CCTK_IsFunctionAliased("MultiPatch_GetMap") || MultiPatch_GetMap(cctkGH) != jacobian_identity_map) + && strlen(jacobian_group) > 0; + const bool use_jacobian = assume_use_jacobian>=0 ? assume_use_jacobian : use_jacobian1; + const bool usejacobian CCTK_ATTRIBUTE_UNUSED = use_jacobian; + if (use_jacobian && (strlen(jacobian_determinant_group) == 0 || strlen(jacobian_inverse_group) == 0 || strlen(jacobian_derivative_group) == 0)) { - CCTK_WARN (1, "GenericFD::jacobian_group and GenericFD::jacobian_derivative_group must both be set to valid group names"); + CCTK_WARN(1, "GenericFD::jacobian_group, GenericFD::jacobian_determinant_group, GenericFD::jacobian_inverse_group, and GenericFD::jacobian_derivative_group must all be set to valid group names"); } - CCTK_REAL const *restrict jacobian_ptrs[9]; + const CCTK_REAL* restrict jacobian_ptrs[9]; if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_group, 9, jacobian_ptrs); - CCTK_REAL const *restrict const J11 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[0] : 0; - CCTK_REAL const *restrict const J12 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[1] : 0; - CCTK_REAL const *restrict const J13 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[2] : 0; - CCTK_REAL const *restrict const J21 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[3] : 0; - CCTK_REAL const *restrict const J22 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[4] : 0; - CCTK_REAL const *restrict const J23 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[5] : 0; - CCTK_REAL const *restrict const J31 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[6] : 0; - CCTK_REAL const *restrict const J32 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[7] : 0; - CCTK_REAL const *restrict const J33 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[8] : 0; + const CCTK_REAL* restrict const J11 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[0] : 0; + const CCTK_REAL* restrict const J12 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[1] : 0; + const CCTK_REAL* restrict const J13 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[2] : 0; + const CCTK_REAL* restrict const J21 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[3] : 0; + const CCTK_REAL* restrict const J22 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[4] : 0; + const CCTK_REAL* restrict const J23 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[5] : 0; + const CCTK_REAL* restrict const J31 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[6] : 0; + const CCTK_REAL* restrict const J32 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[7] : 0; + const CCTK_REAL* restrict const J33 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[8] : 0; + + const CCTK_REAL* restrict jacobian_determinant_ptrs[1] CCTK_ATTRIBUTE_UNUSED; + if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_determinant_group, + 1, jacobian_determinant_ptrs); + + const CCTK_REAL* restrict const detJ CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[0] : 0; - CCTK_REAL const *restrict jacobian_derivative_ptrs[18] CCTK_ATTRIBUTE_UNUSED; + const CCTK_REAL* restrict jacobian_inverse_ptrs[9] CCTK_ATTRIBUTE_UNUSED; + if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_inverse_group, + 9, jacobian_inverse_ptrs); + + const CCTK_REAL* restrict const iJ11 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[0] : 0; + const CCTK_REAL* restrict const iJ12 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[1] : 0; + const CCTK_REAL* restrict const iJ13 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[2] : 0; + const CCTK_REAL* restrict const iJ21 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[3] : 0; + const CCTK_REAL* restrict const iJ22 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[4] : 0; + const CCTK_REAL* restrict const iJ23 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[5] : 0; + const CCTK_REAL* restrict const iJ31 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[6] : 0; + const CCTK_REAL* restrict const iJ32 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[7] : 0; + const CCTK_REAL* restrict const iJ33 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[8] : 0; + + const CCTK_REAL* restrict jacobian_derivative_ptrs[18] CCTK_ATTRIBUTE_UNUSED; if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_derivative_group, 18, jacobian_derivative_ptrs); - CCTK_REAL const *restrict const dJ111 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[0] : 0; - CCTK_REAL const *restrict const dJ112 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[1] : 0; - CCTK_REAL const *restrict const dJ113 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[2] : 0; - CCTK_REAL const *restrict const dJ122 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[3] : 0; - CCTK_REAL const *restrict const dJ123 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[4] : 0; - CCTK_REAL const *restrict const dJ133 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[5] : 0; - CCTK_REAL const *restrict const dJ211 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[6] : 0; - CCTK_REAL const *restrict const dJ212 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[7] : 0; - CCTK_REAL const *restrict const dJ213 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[8] : 0; - CCTK_REAL const *restrict const dJ222 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[9] : 0; - CCTK_REAL const *restrict const dJ223 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[10] : 0; - CCTK_REAL const *restrict const dJ233 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[11] : 0; - CCTK_REAL const *restrict const dJ311 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[12] : 0; - CCTK_REAL const *restrict const dJ312 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[13] : 0; - CCTK_REAL const *restrict const dJ313 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[14] : 0; - CCTK_REAL const *restrict const dJ322 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[15] : 0; - CCTK_REAL const *restrict const dJ323 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[16] : 0; - CCTK_REAL const *restrict const dJ333 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[17] : 0; + const CCTK_REAL* restrict const dJ111 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[0] : 0; + const CCTK_REAL* restrict const dJ112 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[1] : 0; + const CCTK_REAL* restrict const dJ113 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[2] : 0; + const CCTK_REAL* restrict const dJ122 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[3] : 0; + const CCTK_REAL* restrict const dJ123 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[4] : 0; + const CCTK_REAL* restrict const dJ133 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[5] : 0; + const CCTK_REAL* restrict const dJ211 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[6] : 0; + const CCTK_REAL* restrict const dJ212 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[7] : 0; + const CCTK_REAL* restrict const dJ213 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[8] : 0; + const CCTK_REAL* restrict const dJ222 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[9] : 0; + const CCTK_REAL* restrict const dJ223 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[10] : 0; + const CCTK_REAL* restrict const dJ233 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[11] : 0; + const CCTK_REAL* restrict const dJ311 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[12] : 0; + const CCTK_REAL* restrict const dJ312 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[13] : 0; + const CCTK_REAL* restrict const dJ313 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[14] : 0; + const CCTK_REAL* restrict const dJ322 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[15] : 0; + const CCTK_REAL* restrict const dJ323 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[16] : 0; + const CCTK_REAL* restrict const dJ333 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[17] : 0; /* Assign local copies of arrays functions */ @@ -232,13 +256,20 @@ static void ML_CCZ4_Advect_Body(cGH const * restrict const cctkGH, int const dir /* 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_CCZ4_Advect, - 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 */ @@ -314,166 +345,167 @@ static void ML_CCZ4_Advect_Body(cGH const * restrict const cctkGH, int const dir /* Include user supplied include files */ /* Precompute derivatives */ - CCTK_REAL_VEC PDupwindNthAnti1A CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm1A CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti2A CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm2A CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti3A CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm3A CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti1alpha CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm1alpha CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti2alpha CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm2alpha CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti3alpha CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm3alpha CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti1At11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm1At11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti2At11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm2At11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti3At11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm3At11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti1At12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm1At12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti2At12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm2At12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti3At12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm3At12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti1At13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm1At13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti2At13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm2At13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti3At13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm3At13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti1At22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm1At22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti2At22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm2At22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti3At22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm3At22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti1At23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm1At23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti2At23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm2At23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti3At23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm3At23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti1At33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm1At33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti2At33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm2At33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti3At33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm3At33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti1B1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm1B1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti2B1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm2B1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti3B1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm3B1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti1B2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm1B2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti2B2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm2B2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti3B2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm3B2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti1B3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm1B3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti2B3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm2B3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti3B3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm3B3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti1beta1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm1beta1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti2beta1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm2beta1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti3beta1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm3beta1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti1beta2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm1beta2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti2beta2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm2beta2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti3beta2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm3beta2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti1beta3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm1beta3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti2beta3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm2beta3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti3beta3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm3beta3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti1gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm1gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti2gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm2gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti3gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm3gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti1gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm1gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti2gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm2gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti3gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm3gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti1gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm1gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti2gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm2gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti3gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm3gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti1gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm1gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti2gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm2gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti3gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm3gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti1gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm1gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti2gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm2gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti3gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm3gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti1gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm1gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti2gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm2gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti3gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm3gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti1phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm1phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti2phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm2phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti3phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm3phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti1Theta CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm1Theta CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti2Theta CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm2Theta CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti3Theta CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm3Theta CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti1trK CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm1trK CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti2trK CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm2trK CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti3trK CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm3trK CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti1Xt1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm1Xt1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti2Xt1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm2Xt1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti3Xt1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm3Xt1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti1Xt2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm1Xt2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti2Xt2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm2Xt2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti3Xt2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm3Xt2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti1Xt3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm1Xt3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti2Xt3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm2Xt3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti3Xt3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm3Xt3 CCTK_ATTRIBUTE_UNUSED ; + CCTK_REAL_VEC PDupwindNthAnti1A CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm1A CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti2A CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm2A CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti3A CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm3A CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti1alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm1alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti2alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm2alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti3alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm3alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti1At11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm1At11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti2At11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm2At11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti3At11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm3At11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti1At12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm1At12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti2At12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm2At12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti3At12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm3At12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti1At13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm1At13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti2At13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm2At13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti3At13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm3At13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti1At22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm1At22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti2At22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm2At22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti3At22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm3At22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti1At23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm1At23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti2At23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm2At23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti3At23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm3At23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti1At33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm1At33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti2At33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm2At33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti3At33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm3At33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti1B1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm1B1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti2B1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm2B1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti3B1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm3B1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti1B2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm1B2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti2B2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm2B2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti3B2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm3B2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti1B3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm1B3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti2B3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm2B3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti3B3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm3B3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti1beta1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm1beta1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti2beta1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm2beta1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti3beta1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm3beta1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti1beta2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm1beta2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti2beta2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm2beta2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti3beta2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm3beta2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti1beta3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm1beta3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti2beta3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm2beta3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti3beta3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm3beta3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti1gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm1gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti2gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm2gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti3gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm3gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti1gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm1gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti2gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm2gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti3gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm3gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti1gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm1gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti2gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm2gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti3gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm3gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti1gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm1gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti2gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm2gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti3gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm3gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti1gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm1gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti2gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm2gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti3gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm3gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti1gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm1gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti2gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm2gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti3gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm3gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti1phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm1phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti2phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm2phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti3phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm3phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti1Theta CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm1Theta CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti2Theta CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm2Theta CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti3Theta CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm3Theta CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti1trK CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm1trK CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti2trK CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm2trK CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti3trK CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm3trK CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti1Xt1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm1Xt1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti2Xt1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm2Xt1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti3Xt1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm3Xt1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti1Xt2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm1Xt2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti2Xt2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm2Xt2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti3Xt2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm3Xt2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti1Xt3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm1Xt3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti2Xt3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm2Xt3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti3Xt3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm3Xt3 CCTK_ATTRIBUTE_UNUSED; - switch(fdOrder) + switch (fdOrder) { case 2: + { PDupwindNthAnti1A = PDupwindNthAntifdOrder21(&A[index]); PDupwindNthSymm1A = PDupwindNthSymmfdOrder21(&A[index]); PDupwindNthAnti2A = PDupwindNthAntifdOrder22(&A[index]); @@ -631,8 +663,10 @@ static void ML_CCZ4_Advect_Body(cGH const * restrict const cctkGH, int const dir PDupwindNthAnti3Xt3 = PDupwindNthAntifdOrder23(&Xt3[index]); PDupwindNthSymm3Xt3 = PDupwindNthSymmfdOrder23(&Xt3[index]); break; + } case 4: + { PDupwindNthAnti1A = PDupwindNthAntifdOrder41(&A[index]); PDupwindNthSymm1A = PDupwindNthSymmfdOrder41(&A[index]); PDupwindNthAnti2A = PDupwindNthAntifdOrder42(&A[index]); @@ -790,8 +824,10 @@ static void ML_CCZ4_Advect_Body(cGH const * restrict const cctkGH, int const dir PDupwindNthAnti3Xt3 = PDupwindNthAntifdOrder43(&Xt3[index]); PDupwindNthSymm3Xt3 = PDupwindNthSymmfdOrder43(&Xt3[index]); break; + } case 6: + { PDupwindNthAnti1A = PDupwindNthAntifdOrder61(&A[index]); PDupwindNthSymm1A = PDupwindNthSymmfdOrder61(&A[index]); PDupwindNthAnti2A = PDupwindNthAntifdOrder62(&A[index]); @@ -949,8 +985,10 @@ static void ML_CCZ4_Advect_Body(cGH const * restrict const cctkGH, int const dir PDupwindNthAnti3Xt3 = PDupwindNthAntifdOrder63(&Xt3[index]); PDupwindNthSymm3Xt3 = PDupwindNthSymmfdOrder63(&Xt3[index]); break; + } case 8: + { PDupwindNthAnti1A = PDupwindNthAntifdOrder81(&A[index]); PDupwindNthSymm1A = PDupwindNthSymmfdOrder81(&A[index]); PDupwindNthAnti2A = PDupwindNthAntifdOrder82(&A[index]); @@ -1108,6 +1146,9 @@ static void ML_CCZ4_Advect_Body(cGH const * restrict const cctkGH, int const dir PDupwindNthAnti3Xt3 = PDupwindNthAntifdOrder83(&Xt3[index]); PDupwindNthSymm3Xt3 = PDupwindNthSymmfdOrder83(&Xt3[index]); break; + } + default: + CCTK_BUILTIN_UNREACHABLE(); } /* Calculate temporaries and grid functions */ @@ -1117,162 +1158,162 @@ static void ML_CCZ4_Advect_Body(cGH const * restrict const cctkGH, int const dir ptrdiff_t CCTK_ATTRIBUTE_UNUSED dir3 = kisgn(beta3L); - CCTK_REAL_VEC JacPDupwindNthAnti1A CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti1alpha CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti1At11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti1At12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti1At13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti1At22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti1At23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti1At33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti1B1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti1B2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti1B3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti1beta1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti1beta2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti1beta3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti1gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti1gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti1gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti1gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti1gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti1gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti1phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti1Theta CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti1trK CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti1Xt1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti1Xt2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti1Xt3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti2A CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti2alpha CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti2At11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti2At12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti2At13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti2At22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti2At23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti2At33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti2B1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti2B2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti2B3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti2beta1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti2beta2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti2beta3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti2gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti2gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti2gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti2gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti2gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti2gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti2phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti2Theta CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti2trK CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti2Xt1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti2Xt2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti2Xt3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti3A CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti3alpha CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti3At11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti3At12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti3At13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti3At22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti3At23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti3At33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti3B1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti3B2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti3B3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti3beta1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti3beta2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti3beta3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti3gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti3gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti3gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti3gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti3gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti3gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti3phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti3Theta CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti3trK CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti3Xt1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti3Xt2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti3Xt3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm1A CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm1alpha CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm1At11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm1At12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm1At13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm1At22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm1At23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm1At33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm1B1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm1B2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm1B3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm1beta1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm1beta2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm1beta3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm1gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm1gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm1gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm1gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm1gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm1gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm1phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm1Theta CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm1trK CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm1Xt1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm1Xt2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm1Xt3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm2A CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm2alpha CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm2At11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm2At12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm2At13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm2At22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm2At23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm2At33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm2B1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm2B2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm2B3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm2beta1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm2beta2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm2beta3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm2gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm2gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm2gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm2gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm2gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm2gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm2phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm2Theta CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm2trK CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm2Xt1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm2Xt2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm2Xt3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm3A CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm3alpha CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm3At11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm3At12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm3At13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm3At22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm3At23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm3At33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm3B1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm3B2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm3B3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm3beta1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm3beta2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm3beta3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm3gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm3gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm3gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm3gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm3gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm3gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm3phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm3Theta CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm3trK CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm3Xt1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm3Xt2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm3Xt3 CCTK_ATTRIBUTE_UNUSED ; + CCTK_REAL_VEC JacPDupwindNthAnti1A CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti1alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti1At11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti1At12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti1At13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti1At22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti1At23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti1At33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti1B1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti1B2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti1B3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti1beta1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti1beta2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti1beta3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti1gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti1gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti1gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti1gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti1gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti1gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti1phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti1Theta CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti1trK CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti1Xt1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti1Xt2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti1Xt3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti2A CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti2alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti2At11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti2At12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti2At13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti2At22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti2At23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti2At33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti2B1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti2B2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti2B3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti2beta1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti2beta2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti2beta3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti2gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti2gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti2gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti2gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti2gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti2gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti2phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti2Theta CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti2trK CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti2Xt1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti2Xt2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti2Xt3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti3A CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti3alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti3At11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti3At12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti3At13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti3At22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti3At23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti3At33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti3B1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti3B2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti3B3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti3beta1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti3beta2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti3beta3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti3gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti3gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti3gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti3gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti3gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti3gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti3phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti3Theta CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti3trK CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti3Xt1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti3Xt2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti3Xt3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm1A CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm1alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm1At11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm1At12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm1At13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm1At22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm1At23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm1At33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm1B1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm1B2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm1B3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm1beta1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm1beta2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm1beta3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm1gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm1gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm1gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm1gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm1gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm1gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm1phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm1Theta CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm1trK CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm1Xt1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm1Xt2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm1Xt3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm2A CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm2alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm2At11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm2At12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm2At13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm2At22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm2At23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm2At33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm2B1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm2B2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm2B3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm2beta1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm2beta2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm2beta3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm2gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm2gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm2gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm2gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm2gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm2gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm2phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm2Theta CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm2trK CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm2Xt1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm2Xt2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm2Xt3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm3A CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm3alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm3At11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm3At12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm3At13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm3At22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm3At23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm3At33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm3B1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm3B2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm3B3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm3beta1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm3beta2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm3beta3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm3gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm3gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm3gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm3gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm3gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm3gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm3phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm3Theta CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm3trK CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm3Xt1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm3Xt2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm3Xt3 CCTK_ATTRIBUTE_UNUSED; if (use_jacobian) { @@ -2117,8 +2158,8 @@ static void ML_CCZ4_Advect_Body(cGH const * restrict const cctkGH, int const dir kmadd(kmadd(beta1L,JacPDupwindNthAnti1alpha,kmadd(beta2L,JacPDupwindNthAnti2alpha,kmadd(beta3L,JacPDupwindNthAnti3alpha,kmadd(JacPDupwindNthSymm1alpha,kfabs(beta1L),kmadd(JacPDupwindNthSymm2alpha,kfabs(beta2L),kmul(JacPDupwindNthSymm3alpha,kfabs(beta3L))))))),ToReal(LapseAdvectionCoeff),alpharhsL); ArhsL = - kmadd(ToReal(LapseACoeff),kmadd(kmadd(beta1L,JacPDupwindNthAnti1A,kmadd(beta2L,JacPDupwindNthAnti2A,kmadd(beta3L,JacPDupwindNthAnti3A,kmadd(JacPDupwindNthSymm1A,kfabs(beta1L),kmadd(JacPDupwindNthSymm2A,kfabs(beta2L),kmul(JacPDupwindNthSymm3A,kfabs(beta3L))))))),ToReal(LapseAdvectionCoeff),kmul(kmadd(beta1L,JacPDupwindNthAnti1trK,kmadd(beta2L,JacPDupwindNthAnti2trK,kmadd(beta3L,JacPDupwindNthAnti3trK,kmadd(JacPDupwindNthSymm1trK,kfabs(beta1L),kmadd(JacPDupwindNthSymm2trK,kfabs(beta2L),kmul(JacPDupwindNthSymm3trK,kfabs(beta3L))))))),ToReal(-1.*(-1. - + LapseAdvectionCoeff)))),ArhsL); + kmadd(ToReal(LapseACoeff),kmsub(kmadd(beta1L,JacPDupwindNthAnti1A,kmadd(beta2L,JacPDupwindNthAnti2A,kmadd(beta3L,JacPDupwindNthAnti3A,kmadd(JacPDupwindNthSymm1A,kfabs(beta1L),kmadd(JacPDupwindNthSymm2A,kfabs(beta2L),kmul(JacPDupwindNthSymm3A,kfabs(beta3L))))))),ToReal(LapseAdvectionCoeff),kmul(kmadd(beta1L,JacPDupwindNthAnti1trK,kmadd(beta2L,JacPDupwindNthAnti2trK,kmadd(beta3L,JacPDupwindNthAnti3trK,kmadd(JacPDupwindNthSymm1trK,kfabs(beta1L),kmadd(JacPDupwindNthSymm2trK,kfabs(beta2L),kmul(JacPDupwindNthSymm3trK,kfabs(beta3L))))))),ToReal(-1 + + LapseAdvectionCoeff))),ArhsL); beta1rhsL = kmadd(kmadd(beta1L,JacPDupwindNthAnti1beta1,kmadd(beta2L,JacPDupwindNthAnti2beta1,kmadd(beta3L,JacPDupwindNthAnti3beta1,kmadd(JacPDupwindNthSymm1beta1,kfabs(beta1L),kmadd(JacPDupwindNthSymm2beta1,kfabs(beta2L),kmul(JacPDupwindNthSymm3beta1,kfabs(beta3L))))))),ToReal(ShiftAdvectionCoeff),beta1rhsL); @@ -2130,19 +2171,19 @@ static void ML_CCZ4_Advect_Body(cGH const * restrict const cctkGH, int const dir kmadd(kmadd(beta1L,JacPDupwindNthAnti1beta3,kmadd(beta2L,JacPDupwindNthAnti2beta3,kmadd(beta3L,JacPDupwindNthAnti3beta3,kmadd(JacPDupwindNthSymm1beta3,kfabs(beta1L),kmadd(JacPDupwindNthSymm2beta3,kfabs(beta2L),kmul(JacPDupwindNthSymm3beta3,kfabs(beta3L))))))),ToReal(ShiftAdvectionCoeff),beta3rhsL); B1rhsL = - kmadd(kmadd(kmadd(beta1L,JacPDupwindNthAnti1B1,kmadd(beta2L,JacPDupwindNthAnti2B1,kmadd(beta3L,JacPDupwindNthAnti3B1,kmadd(JacPDupwindNthSymm1B1,kfabs(beta1L),kmadd(JacPDupwindNthSymm2B1,kfabs(beta2L),kmul(JacPDupwindNthSymm3B1,kfabs(beta3L))))))),ToReal(ShiftAdvectionCoeff),kmul(kmadd(beta1L,JacPDupwindNthAnti1Xt1,kmadd(beta2L,JacPDupwindNthAnti2Xt1,kmadd(beta3L,JacPDupwindNthAnti3Xt1,kmadd(JacPDupwindNthSymm1Xt1,kfabs(beta1L),kmadd(JacPDupwindNthSymm2Xt1,kfabs(beta2L),kmul(JacPDupwindNthSymm3Xt1,kfabs(beta3L))))))),ToReal(-1.*(-1. - + ShiftAdvectionCoeff)))),ToReal(ShiftBCoeff),B1rhsL); + kmadd(kmsub(kmadd(beta1L,JacPDupwindNthAnti1B1,kmadd(beta2L,JacPDupwindNthAnti2B1,kmadd(beta3L,JacPDupwindNthAnti3B1,kmadd(JacPDupwindNthSymm1B1,kfabs(beta1L),kmadd(JacPDupwindNthSymm2B1,kfabs(beta2L),kmul(JacPDupwindNthSymm3B1,kfabs(beta3L))))))),ToReal(ShiftAdvectionCoeff),kmul(kmadd(beta1L,JacPDupwindNthAnti1Xt1,kmadd(beta2L,JacPDupwindNthAnti2Xt1,kmadd(beta3L,JacPDupwindNthAnti3Xt1,kmadd(JacPDupwindNthSymm1Xt1,kfabs(beta1L),kmadd(JacPDupwindNthSymm2Xt1,kfabs(beta2L),kmul(JacPDupwindNthSymm3Xt1,kfabs(beta3L))))))),ToReal(-1 + + ShiftAdvectionCoeff))),ToReal(ShiftBCoeff),B1rhsL); B2rhsL = - kmadd(kmadd(kmadd(beta1L,JacPDupwindNthAnti1B2,kmadd(beta2L,JacPDupwindNthAnti2B2,kmadd(beta3L,JacPDupwindNthAnti3B2,kmadd(JacPDupwindNthSymm1B2,kfabs(beta1L),kmadd(JacPDupwindNthSymm2B2,kfabs(beta2L),kmul(JacPDupwindNthSymm3B2,kfabs(beta3L))))))),ToReal(ShiftAdvectionCoeff),kmul(kmadd(beta1L,JacPDupwindNthAnti1Xt2,kmadd(beta2L,JacPDupwindNthAnti2Xt2,kmadd(beta3L,JacPDupwindNthAnti3Xt2,kmadd(JacPDupwindNthSymm1Xt2,kfabs(beta1L),kmadd(JacPDupwindNthSymm2Xt2,kfabs(beta2L),kmul(JacPDupwindNthSymm3Xt2,kfabs(beta3L))))))),ToReal(-1.*(-1. - + ShiftAdvectionCoeff)))),ToReal(ShiftBCoeff),B2rhsL); + kmadd(kmsub(kmadd(beta1L,JacPDupwindNthAnti1B2,kmadd(beta2L,JacPDupwindNthAnti2B2,kmadd(beta3L,JacPDupwindNthAnti3B2,kmadd(JacPDupwindNthSymm1B2,kfabs(beta1L),kmadd(JacPDupwindNthSymm2B2,kfabs(beta2L),kmul(JacPDupwindNthSymm3B2,kfabs(beta3L))))))),ToReal(ShiftAdvectionCoeff),kmul(kmadd(beta1L,JacPDupwindNthAnti1Xt2,kmadd(beta2L,JacPDupwindNthAnti2Xt2,kmadd(beta3L,JacPDupwindNthAnti3Xt2,kmadd(JacPDupwindNthSymm1Xt2,kfabs(beta1L),kmadd(JacPDupwindNthSymm2Xt2,kfabs(beta2L),kmul(JacPDupwindNthSymm3Xt2,kfabs(beta3L))))))),ToReal(-1 + + ShiftAdvectionCoeff))),ToReal(ShiftBCoeff),B2rhsL); B3rhsL = - kmadd(kmadd(kmadd(beta1L,JacPDupwindNthAnti1B3,kmadd(beta2L,JacPDupwindNthAnti2B3,kmadd(beta3L,JacPDupwindNthAnti3B3,kmadd(JacPDupwindNthSymm1B3,kfabs(beta1L),kmadd(JacPDupwindNthSymm2B3,kfabs(beta2L),kmul(JacPDupwindNthSymm3B3,kfabs(beta3L))))))),ToReal(ShiftAdvectionCoeff),kmul(kmadd(beta1L,JacPDupwindNthAnti1Xt3,kmadd(beta2L,JacPDupwindNthAnti2Xt3,kmadd(beta3L,JacPDupwindNthAnti3Xt3,kmadd(JacPDupwindNthSymm1Xt3,kfabs(beta1L),kmadd(JacPDupwindNthSymm2Xt3,kfabs(beta2L),kmul(JacPDupwindNthSymm3Xt3,kfabs(beta3L))))))),ToReal(-1.*(-1. - + ShiftAdvectionCoeff)))),ToReal(ShiftBCoeff),B3rhsL); + kmadd(kmsub(kmadd(beta1L,JacPDupwindNthAnti1B3,kmadd(beta2L,JacPDupwindNthAnti2B3,kmadd(beta3L,JacPDupwindNthAnti3B3,kmadd(JacPDupwindNthSymm1B3,kfabs(beta1L),kmadd(JacPDupwindNthSymm2B3,kfabs(beta2L),kmul(JacPDupwindNthSymm3B3,kfabs(beta3L))))))),ToReal(ShiftAdvectionCoeff),kmul(kmadd(beta1L,JacPDupwindNthAnti1Xt3,kmadd(beta2L,JacPDupwindNthAnti2Xt3,kmadd(beta3L,JacPDupwindNthAnti3Xt3,kmadd(JacPDupwindNthSymm1Xt3,kfabs(beta1L),kmadd(JacPDupwindNthSymm2Xt3,kfabs(beta2L),kmul(JacPDupwindNthSymm3Xt3,kfabs(beta3L))))))),ToReal(-1 + + ShiftAdvectionCoeff))),ToReal(ShiftBCoeff),B3rhsL); /* Copy local copies back to grid functions */ - vec_store_partial_prepare(i,kimin,kimax); + vec_store_partial_prepare(i,vecimin,vecimax); vec_store_nta_partial(alpharhs[index],alpharhsL); vec_store_nta_partial(Arhs[index],ArhsL); vec_store_nta_partial(At11rhs[index],At11rhsL); @@ -2189,7 +2230,7 @@ extern "C" void ML_CCZ4_Advect(CCTK_ARGUMENTS) return; } - const char *const groups[] = { + const char* const groups[] = { "ML_CCZ4::ML_curv", "ML_CCZ4::ML_curvrhs", "ML_CCZ4::ML_dtlapse", @@ -2212,23 +2253,33 @@ extern "C" void ML_CCZ4_Advect(CCTK_ARGUMENTS) "ML_CCZ4::ML_trace_curvrhs"}; GenericFD_AssertGroupStorage(cctkGH, "ML_CCZ4_Advect", 20, groups); - switch(fdOrder) + switch (fdOrder) { case 2: + { GenericFD_EnsureStencilFits(cctkGH, "ML_CCZ4_Advect", 2, 2, 2); break; + } case 4: + { GenericFD_EnsureStencilFits(cctkGH, "ML_CCZ4_Advect", 3, 3, 3); break; + } case 6: + { GenericFD_EnsureStencilFits(cctkGH, "ML_CCZ4_Advect", 4, 4, 4); break; + } case 8: + { GenericFD_EnsureStencilFits(cctkGH, "ML_CCZ4_Advect", 5, 5, 5); break; + } + default: + CCTK_BUILTIN_UNREACHABLE(); } GenericFD_LoopOverInterior(cctkGH, ML_CCZ4_Advect_Body); diff --git a/ML_CCZ4/src/ML_CCZ4_Dissipation.cc b/ML_CCZ4/src/ML_CCZ4_Dissipation.cc index 17b0951..0ef3e3d 100644 --- a/ML_CCZ4/src/ML_CCZ4_Dissipation.cc +++ b/ML_CCZ4/src/ML_CCZ4_Dissipation.cc @@ -32,7 +32,9 @@ extern "C" void ML_CCZ4_Dissipation_SelectBCs(CCTK_ARGUMENTS) DECLARE_CCTK_ARGUMENTS; DECLARE_CCTK_PARAMETERS; - CCTK_INT ierr CCTK_ATTRIBUTE_UNUSED = 0; + if (cctk_iteration % ML_CCZ4_Dissipation_calc_every != ML_CCZ4_Dissipation_calc_offset) + return; + CCTK_INT ierr CCTK_ATTRIBUTE_UNUSED = 0; ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_CCZ4::ML_curvrhs","flat"); if (ierr < 0) CCTK_WARN(1, "Failed to register flat BC for ML_CCZ4::ML_curvrhs."); @@ -66,7 +68,7 @@ extern "C" void ML_CCZ4_Dissipation_SelectBCs(CCTK_ARGUMENTS) return; } -static void ML_CCZ4_Dissipation_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_CCZ4_Dissipation_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; @@ -75,153 +77,175 @@ static void ML_CCZ4_Dissipation_Body(cGH const * restrict const cctkGH, int cons /* Include user-supplied include files */ /* Initialise finite differencing variables */ - ptrdiff_t /*const*/ di CCTK_ATTRIBUTE_UNUSED = 1; - ptrdiff_t /*const*/ dj CCTK_ATTRIBUTE_UNUSED = CCTK_GFINDEX3D(cctkGH,0,1,0) - CCTK_GFINDEX3D(cctkGH,0,0,0); - ptrdiff_t /*const*/ dk CCTK_ATTRIBUTE_UNUSED = CCTK_GFINDEX3D(cctkGH,0,0,1) - CCTK_GFINDEX3D(cctkGH,0,0,0); - ptrdiff_t /*const*/ cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * di; - ptrdiff_t /*const*/ cdj CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * dj; - ptrdiff_t /*const*/ cdk CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * dk; - CCTK_REAL_VEC /*const*/ dx CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(0)); - CCTK_REAL_VEC /*const*/ dy CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(1)); - CCTK_REAL_VEC /*const*/ dz CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(2)); - CCTK_REAL_VEC /*const*/ dt CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_TIME); - CCTK_REAL_VEC /*const*/ t CCTK_ATTRIBUTE_UNUSED = ToReal(cctk_time); - CCTK_REAL_VEC /*const*/ dxi CCTK_ATTRIBUTE_UNUSED = INV(dx); - CCTK_REAL_VEC /*const*/ dyi CCTK_ATTRIBUTE_UNUSED = INV(dy); - CCTK_REAL_VEC /*const*/ dzi CCTK_ATTRIBUTE_UNUSED = INV(dz); - CCTK_REAL_VEC /*const*/ khalf CCTK_ATTRIBUTE_UNUSED = ToReal(0.5); - CCTK_REAL_VEC /*const*/ kthird CCTK_ATTRIBUTE_UNUSED = ToReal(1.0/3.0); - CCTK_REAL_VEC /*const*/ ktwothird CCTK_ATTRIBUTE_UNUSED = ToReal(2.0/3.0); - CCTK_REAL_VEC /*const*/ kfourthird CCTK_ATTRIBUTE_UNUSED = ToReal(4.0/3.0); - CCTK_REAL_VEC /*const*/ keightthird CCTK_ATTRIBUTE_UNUSED = ToReal(8.0/3.0); - CCTK_REAL_VEC /*const*/ hdxi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dxi); - CCTK_REAL_VEC /*const*/ hdyi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dyi); - CCTK_REAL_VEC /*const*/ hdzi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dzi); + const ptrdiff_t di CCTK_ATTRIBUTE_UNUSED = 1; + const ptrdiff_t dj CCTK_ATTRIBUTE_UNUSED = CCTK_GFINDEX3D(cctkGH,0,1,0) - CCTK_GFINDEX3D(cctkGH,0,0,0); + const ptrdiff_t dk CCTK_ATTRIBUTE_UNUSED = CCTK_GFINDEX3D(cctkGH,0,0,1) - CCTK_GFINDEX3D(cctkGH,0,0,0); + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * di; + const ptrdiff_t cdj CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * dj; + const ptrdiff_t cdk CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * dk; + const CCTK_REAL_VEC dx CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(0)); + const CCTK_REAL_VEC dy CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(1)); + const CCTK_REAL_VEC dz CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(2)); + const CCTK_REAL_VEC dt CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_TIME); + const CCTK_REAL_VEC t CCTK_ATTRIBUTE_UNUSED = ToReal(cctk_time); + const CCTK_REAL_VEC dxi CCTK_ATTRIBUTE_UNUSED = INV(dx); + const CCTK_REAL_VEC dyi CCTK_ATTRIBUTE_UNUSED = INV(dy); + const CCTK_REAL_VEC dzi CCTK_ATTRIBUTE_UNUSED = INV(dz); + const CCTK_REAL_VEC khalf CCTK_ATTRIBUTE_UNUSED = ToReal(0.5); + const CCTK_REAL_VEC kthird CCTK_ATTRIBUTE_UNUSED = ToReal(1.0/3.0); + const CCTK_REAL_VEC ktwothird CCTK_ATTRIBUTE_UNUSED = ToReal(2.0/3.0); + const CCTK_REAL_VEC kfourthird CCTK_ATTRIBUTE_UNUSED = ToReal(4.0/3.0); + const CCTK_REAL_VEC keightthird CCTK_ATTRIBUTE_UNUSED = ToReal(8.0/3.0); + const CCTK_REAL_VEC hdxi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dxi); + const CCTK_REAL_VEC hdyi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dyi); + const CCTK_REAL_VEC hdzi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dzi); /* Initialize predefined quantities */ - CCTK_REAL_VEC /*const*/ p1o1024dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dx); - CCTK_REAL_VEC /*const*/ p1o1024dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dy); - CCTK_REAL_VEC /*const*/ p1o1024dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dz); - CCTK_REAL_VEC /*const*/ p1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dx); - CCTK_REAL_VEC /*const*/ p1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dy); - CCTK_REAL_VEC /*const*/ p1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dz); - CCTK_REAL_VEC /*const*/ p1o12dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dx); - CCTK_REAL_VEC /*const*/ p1o12dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dy); - CCTK_REAL_VEC /*const*/ p1o12dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dz); - CCTK_REAL_VEC /*const*/ p1o144dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o144dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o144dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o1680dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dx); - CCTK_REAL_VEC /*const*/ p1o1680dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dy); - CCTK_REAL_VEC /*const*/ p1o1680dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dz); - CCTK_REAL_VEC /*const*/ p1o180dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ p1o180dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ p1o180dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ p1o24dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dx); - CCTK_REAL_VEC /*const*/ p1o24dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dy); - CCTK_REAL_VEC /*const*/ p1o24dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dz); - CCTK_REAL_VEC /*const*/ p1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dx); - CCTK_REAL_VEC /*const*/ p1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dy); - CCTK_REAL_VEC /*const*/ p1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dz); - CCTK_REAL_VEC /*const*/ p1o3600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o3600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o3600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dx); - CCTK_REAL_VEC /*const*/ p1o4dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o4dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dy); - CCTK_REAL_VEC /*const*/ p1o4dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dz); - CCTK_REAL_VEC /*const*/ p1o5040dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ p1o5040dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ p1o5040dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ p1o560dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dx); - CCTK_REAL_VEC /*const*/ p1o560dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dy); - CCTK_REAL_VEC /*const*/ p1o560dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dz); - CCTK_REAL_VEC /*const*/ p1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dx); - CCTK_REAL_VEC /*const*/ p1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dy); - CCTK_REAL_VEC /*const*/ p1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dz); - CCTK_REAL_VEC /*const*/ p1o64dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dx); - CCTK_REAL_VEC /*const*/ p1o64dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dy); - CCTK_REAL_VEC /*const*/ p1o64dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dz); - CCTK_REAL_VEC /*const*/ p1o705600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o705600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o705600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o840dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dx); - CCTK_REAL_VEC /*const*/ p1o840dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dy); - CCTK_REAL_VEC /*const*/ p1o840dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dz); - CCTK_REAL_VEC /*const*/ p1odx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dx); - CCTK_REAL_VEC /*const*/ p1odx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ p1ody CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dy); - CCTK_REAL_VEC /*const*/ p1ody2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ p1odz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dz); - CCTK_REAL_VEC /*const*/ p1odz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ pm1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dx); - CCTK_REAL_VEC /*const*/ pm1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dy); - CCTK_REAL_VEC /*const*/ pm1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dz); - CCTK_REAL_VEC /*const*/ pm1o12dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ pm1o12dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ pm1o12dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ pm1o16dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dx); - CCTK_REAL_VEC /*const*/ pm1o16dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dy); - CCTK_REAL_VEC /*const*/ pm1o16dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dz); - CCTK_REAL_VEC /*const*/ pm1o256dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dx); - CCTK_REAL_VEC /*const*/ pm1o256dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dy); - CCTK_REAL_VEC /*const*/ pm1o256dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dz); - CCTK_REAL_VEC /*const*/ pm1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dx); - CCTK_REAL_VEC /*const*/ pm1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dy); - CCTK_REAL_VEC /*const*/ pm1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dz); - CCTK_REAL_VEC /*const*/ pm1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dx); - CCTK_REAL_VEC /*const*/ pm1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dy); - CCTK_REAL_VEC /*const*/ pm1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dz); - CCTK_REAL_VEC /*const*/ pm1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dx); - CCTK_REAL_VEC /*const*/ pm1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dy); - CCTK_REAL_VEC /*const*/ pm1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dz); + const CCTK_REAL_VEC p1o1024dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dx); + const CCTK_REAL_VEC p1o1024dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dy); + const CCTK_REAL_VEC p1o1024dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dz); + const CCTK_REAL_VEC p1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dx); + const CCTK_REAL_VEC p1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dy); + const CCTK_REAL_VEC p1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dz); + const CCTK_REAL_VEC p1o12dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dx); + const CCTK_REAL_VEC p1o12dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dy); + const CCTK_REAL_VEC p1o12dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dz); + const CCTK_REAL_VEC p1o144dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dy,dx)); + const CCTK_REAL_VEC p1o144dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dx)); + const CCTK_REAL_VEC p1o144dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dy)); + const CCTK_REAL_VEC p1o1680dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dx); + const CCTK_REAL_VEC p1o1680dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dy); + const CCTK_REAL_VEC p1o1680dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dz); + const CCTK_REAL_VEC p1o180dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dx,dx)); + const CCTK_REAL_VEC p1o180dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dy,dy)); + const CCTK_REAL_VEC p1o180dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dz,dz)); + const CCTK_REAL_VEC p1o24dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dx); + const CCTK_REAL_VEC p1o24dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dy); + const CCTK_REAL_VEC p1o24dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dz); + const CCTK_REAL_VEC p1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dx); + const CCTK_REAL_VEC p1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dy); + const CCTK_REAL_VEC p1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dz); + const CCTK_REAL_VEC p1o3600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dy,dx)); + const CCTK_REAL_VEC p1o3600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dx)); + const CCTK_REAL_VEC p1o3600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dy)); + const CCTK_REAL_VEC p1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dx); + const CCTK_REAL_VEC p1o4dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dy,dx)); + const CCTK_REAL_VEC p1o4dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dx)); + const CCTK_REAL_VEC p1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dy); + const CCTK_REAL_VEC p1o4dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dy)); + const CCTK_REAL_VEC p1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dz); + const CCTK_REAL_VEC p1o5040dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dx,dx)); + const CCTK_REAL_VEC p1o5040dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dy,dy)); + const CCTK_REAL_VEC p1o5040dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dz,dz)); + const CCTK_REAL_VEC p1o560dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dx); + const CCTK_REAL_VEC p1o560dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dy); + const CCTK_REAL_VEC p1o560dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dz); + const CCTK_REAL_VEC p1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dx); + const CCTK_REAL_VEC p1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dy); + const CCTK_REAL_VEC p1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dz); + const CCTK_REAL_VEC p1o64dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dx); + const CCTK_REAL_VEC p1o64dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dy); + const CCTK_REAL_VEC p1o64dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dz); + const CCTK_REAL_VEC p1o705600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dy,dx)); + const CCTK_REAL_VEC p1o705600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dx)); + const CCTK_REAL_VEC p1o705600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dy)); + const CCTK_REAL_VEC p1o840dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dx); + const CCTK_REAL_VEC p1o840dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dy); + const CCTK_REAL_VEC p1o840dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dz); + const CCTK_REAL_VEC p1odx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dx); + const CCTK_REAL_VEC p1odx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dx,dx)); + const CCTK_REAL_VEC p1ody CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dy); + const CCTK_REAL_VEC p1ody2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dy,dy)); + const CCTK_REAL_VEC p1odz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dz); + const CCTK_REAL_VEC p1odz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dz,dz)); + const CCTK_REAL_VEC pm1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dx); + const CCTK_REAL_VEC pm1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dy); + const CCTK_REAL_VEC pm1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dz); + const CCTK_REAL_VEC pm1o12dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dx,dx)); + const CCTK_REAL_VEC pm1o12dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dy,dy)); + const CCTK_REAL_VEC pm1o12dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dz,dz)); + const CCTK_REAL_VEC pm1o16dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dx); + const CCTK_REAL_VEC pm1o16dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dy); + const CCTK_REAL_VEC pm1o16dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dz); + const CCTK_REAL_VEC pm1o256dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dx); + const CCTK_REAL_VEC pm1o256dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dy); + const CCTK_REAL_VEC pm1o256dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dz); + const CCTK_REAL_VEC pm1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dx); + const CCTK_REAL_VEC pm1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dy); + const CCTK_REAL_VEC pm1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dz); + const CCTK_REAL_VEC pm1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dx); + const CCTK_REAL_VEC pm1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dy); + const CCTK_REAL_VEC pm1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dz); + const CCTK_REAL_VEC pm1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dx); + const CCTK_REAL_VEC pm1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dy); + const CCTK_REAL_VEC pm1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dz); /* Jacobian variable pointers */ - bool const use_jacobian CCTK_ATTRIBUTE_UNUSED = (!CCTK_IsFunctionAliased("MultiPatch_GetMap") || MultiPatch_GetMap(cctkGH) != jacobian_identity_map) - && strlen(jacobian_group) > 0; - if (use_jacobian && strlen(jacobian_derivative_group) == 0) + const bool use_jacobian1 = (!CCTK_IsFunctionAliased("MultiPatch_GetMap") || MultiPatch_GetMap(cctkGH) != jacobian_identity_map) + && strlen(jacobian_group) > 0; + const bool use_jacobian = assume_use_jacobian>=0 ? assume_use_jacobian : use_jacobian1; + const bool usejacobian CCTK_ATTRIBUTE_UNUSED = use_jacobian; + if (use_jacobian && (strlen(jacobian_determinant_group) == 0 || strlen(jacobian_inverse_group) == 0 || strlen(jacobian_derivative_group) == 0)) { - CCTK_WARN (1, "GenericFD::jacobian_group and GenericFD::jacobian_derivative_group must both be set to valid group names"); + CCTK_WARN(1, "GenericFD::jacobian_group, GenericFD::jacobian_determinant_group, GenericFD::jacobian_inverse_group, and GenericFD::jacobian_derivative_group must all be set to valid group names"); } - CCTK_REAL const *restrict jacobian_ptrs[9]; + const CCTK_REAL* restrict jacobian_ptrs[9]; if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_group, 9, jacobian_ptrs); - CCTK_REAL const *restrict const J11 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[0] : 0; - CCTK_REAL const *restrict const J12 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[1] : 0; - CCTK_REAL const *restrict const J13 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[2] : 0; - CCTK_REAL const *restrict const J21 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[3] : 0; - CCTK_REAL const *restrict const J22 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[4] : 0; - CCTK_REAL const *restrict const J23 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[5] : 0; - CCTK_REAL const *restrict const J31 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[6] : 0; - CCTK_REAL const *restrict const J32 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[7] : 0; - CCTK_REAL const *restrict const J33 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[8] : 0; + const CCTK_REAL* restrict const J11 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[0] : 0; + const CCTK_REAL* restrict const J12 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[1] : 0; + const CCTK_REAL* restrict const J13 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[2] : 0; + const CCTK_REAL* restrict const J21 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[3] : 0; + const CCTK_REAL* restrict const J22 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[4] : 0; + const CCTK_REAL* restrict const J23 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[5] : 0; + const CCTK_REAL* restrict const J31 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[6] : 0; + const CCTK_REAL* restrict const J32 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[7] : 0; + const CCTK_REAL* restrict const J33 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[8] : 0; + + const CCTK_REAL* restrict jacobian_determinant_ptrs[1] CCTK_ATTRIBUTE_UNUSED; + if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_determinant_group, + 1, jacobian_determinant_ptrs); + + const CCTK_REAL* restrict const detJ CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[0] : 0; - CCTK_REAL const *restrict jacobian_derivative_ptrs[18] CCTK_ATTRIBUTE_UNUSED; + const CCTK_REAL* restrict jacobian_inverse_ptrs[9] CCTK_ATTRIBUTE_UNUSED; + if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_inverse_group, + 9, jacobian_inverse_ptrs); + + const CCTK_REAL* restrict const iJ11 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[0] : 0; + const CCTK_REAL* restrict const iJ12 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[1] : 0; + const CCTK_REAL* restrict const iJ13 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[2] : 0; + const CCTK_REAL* restrict const iJ21 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[3] : 0; + const CCTK_REAL* restrict const iJ22 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[4] : 0; + const CCTK_REAL* restrict const iJ23 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[5] : 0; + const CCTK_REAL* restrict const iJ31 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[6] : 0; + const CCTK_REAL* restrict const iJ32 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[7] : 0; + const CCTK_REAL* restrict const iJ33 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[8] : 0; + + const CCTK_REAL* restrict jacobian_derivative_ptrs[18] CCTK_ATTRIBUTE_UNUSED; if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_derivative_group, 18, jacobian_derivative_ptrs); - CCTK_REAL const *restrict const dJ111 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[0] : 0; - CCTK_REAL const *restrict const dJ112 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[1] : 0; - CCTK_REAL const *restrict const dJ113 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[2] : 0; - CCTK_REAL const *restrict const dJ122 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[3] : 0; - CCTK_REAL const *restrict const dJ123 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[4] : 0; - CCTK_REAL const *restrict const dJ133 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[5] : 0; - CCTK_REAL const *restrict const dJ211 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[6] : 0; - CCTK_REAL const *restrict const dJ212 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[7] : 0; - CCTK_REAL const *restrict const dJ213 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[8] : 0; - CCTK_REAL const *restrict const dJ222 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[9] : 0; - CCTK_REAL const *restrict const dJ223 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[10] : 0; - CCTK_REAL const *restrict const dJ233 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[11] : 0; - CCTK_REAL const *restrict const dJ311 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[12] : 0; - CCTK_REAL const *restrict const dJ312 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[13] : 0; - CCTK_REAL const *restrict const dJ313 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[14] : 0; - CCTK_REAL const *restrict const dJ322 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[15] : 0; - CCTK_REAL const *restrict const dJ323 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[16] : 0; - CCTK_REAL const *restrict const dJ333 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[17] : 0; + const CCTK_REAL* restrict const dJ111 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[0] : 0; + const CCTK_REAL* restrict const dJ112 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[1] : 0; + const CCTK_REAL* restrict const dJ113 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[2] : 0; + const CCTK_REAL* restrict const dJ122 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[3] : 0; + const CCTK_REAL* restrict const dJ123 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[4] : 0; + const CCTK_REAL* restrict const dJ133 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[5] : 0; + const CCTK_REAL* restrict const dJ211 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[6] : 0; + const CCTK_REAL* restrict const dJ212 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[7] : 0; + const CCTK_REAL* restrict const dJ213 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[8] : 0; + const CCTK_REAL* restrict const dJ222 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[9] : 0; + const CCTK_REAL* restrict const dJ223 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[10] : 0; + const CCTK_REAL* restrict const dJ233 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[11] : 0; + const CCTK_REAL* restrict const dJ311 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[12] : 0; + const CCTK_REAL* restrict const dJ312 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[13] : 0; + const CCTK_REAL* restrict const dJ313 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[14] : 0; + const CCTK_REAL* restrict const dJ322 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[15] : 0; + const CCTK_REAL* restrict const dJ323 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[16] : 0; + const CCTK_REAL* restrict const dJ333 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[17] : 0; /* Assign local copies of arrays functions */ @@ -232,13 +256,20 @@ static void ML_CCZ4_Dissipation_Body(cGH const * restrict const cctkGH, int cons /* 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_CCZ4_Dissipation, - 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 */ @@ -314,88 +345,89 @@ static void ML_CCZ4_Dissipation_Body(cGH const * restrict const cctkGH, int cons /* Include user supplied include files */ /* Precompute derivatives */ - CCTK_REAL_VEC PDdissipationNth1A CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth2A CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth3A CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth1alpha CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth2alpha CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth3alpha CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth1At11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth2At11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth3At11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth1At12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth2At12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth3At12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth1At13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth2At13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth3At13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth1At22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth2At22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth3At22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth1At23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth2At23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth3At23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth1At33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth2At33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth3At33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth1B1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth2B1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth3B1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth1B2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth2B2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth3B2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth1B3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth2B3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth3B3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth1beta1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth2beta1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth3beta1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth1beta2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth2beta2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth3beta2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth1beta3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth2beta3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth3beta3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth1gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth2gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth3gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth1gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth2gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth3gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth1gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth2gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth3gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth1gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth2gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth3gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth1gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth2gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth3gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth1gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth2gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth3gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth1phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth2phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth3phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth1Theta CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth2Theta CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth3Theta CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth1trK CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth2trK CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth3trK CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth1Xt1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth2Xt1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth3Xt1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth1Xt2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth2Xt2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth3Xt2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth1Xt3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth2Xt3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDdissipationNth3Xt3 CCTK_ATTRIBUTE_UNUSED ; + CCTK_REAL_VEC PDdissipationNth1A CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth2A CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth3A CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth1alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth2alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth3alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth1At11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth2At11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth3At11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth1At12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth2At12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth3At12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth1At13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth2At13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth3At13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth1At22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth2At22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth3At22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth1At23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth2At23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth3At23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth1At33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth2At33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth3At33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth1B1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth2B1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth3B1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth1B2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth2B2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth3B2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth1B3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth2B3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth3B3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth1beta1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth2beta1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth3beta1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth1beta2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth2beta2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth3beta2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth1beta3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth2beta3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth3beta3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth1gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth2gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth3gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth1gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth2gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth3gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth1gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth2gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth3gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth1gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth2gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth3gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth1gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth2gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth3gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth1gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth2gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth3gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth1phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth2phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth3phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth1Theta CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth2Theta CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth3Theta CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth1trK CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth2trK CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth3trK CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth1Xt1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth2Xt1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth3Xt1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth1Xt2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth2Xt2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth3Xt2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth1Xt3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth2Xt3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDdissipationNth3Xt3 CCTK_ATTRIBUTE_UNUSED; - switch(fdOrder) + switch (fdOrder) { case 2: + { PDdissipationNth1A = PDdissipationNthfdOrder21(&A[index]); PDdissipationNth2A = PDdissipationNthfdOrder22(&A[index]); PDdissipationNth3A = PDdissipationNthfdOrder23(&A[index]); @@ -475,8 +507,10 @@ static void ML_CCZ4_Dissipation_Body(cGH const * restrict const cctkGH, int cons PDdissipationNth2Xt3 = PDdissipationNthfdOrder22(&Xt3[index]); PDdissipationNth3Xt3 = PDdissipationNthfdOrder23(&Xt3[index]); break; + } case 4: + { PDdissipationNth1A = PDdissipationNthfdOrder41(&A[index]); PDdissipationNth2A = PDdissipationNthfdOrder42(&A[index]); PDdissipationNth3A = PDdissipationNthfdOrder43(&A[index]); @@ -556,8 +590,10 @@ static void ML_CCZ4_Dissipation_Body(cGH const * restrict const cctkGH, int cons PDdissipationNth2Xt3 = PDdissipationNthfdOrder42(&Xt3[index]); PDdissipationNth3Xt3 = PDdissipationNthfdOrder43(&Xt3[index]); break; + } case 6: + { PDdissipationNth1A = PDdissipationNthfdOrder61(&A[index]); PDdissipationNth2A = PDdissipationNthfdOrder62(&A[index]); PDdissipationNth3A = PDdissipationNthfdOrder63(&A[index]); @@ -637,8 +673,10 @@ static void ML_CCZ4_Dissipation_Body(cGH const * restrict const cctkGH, int cons PDdissipationNth2Xt3 = PDdissipationNthfdOrder62(&Xt3[index]); PDdissipationNth3Xt3 = PDdissipationNthfdOrder63(&Xt3[index]); break; + } case 8: + { PDdissipationNth1A = PDdissipationNthfdOrder81(&A[index]); PDdissipationNth2A = PDdissipationNthfdOrder82(&A[index]); PDdissipationNth3A = PDdissipationNthfdOrder83(&A[index]); @@ -718,87 +756,90 @@ static void ML_CCZ4_Dissipation_Body(cGH const * restrict const cctkGH, int cons PDdissipationNth2Xt3 = PDdissipationNthfdOrder82(&Xt3[index]); PDdissipationNth3Xt3 = PDdissipationNthfdOrder83(&Xt3[index]); break; + } + default: + CCTK_BUILTIN_UNREACHABLE(); } /* Calculate temporaries and grid functions */ - CCTK_REAL_VEC JacPDdissipationNth1A CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth1alpha CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth1At11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth1At12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth1At13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth1At22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth1At23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth1At33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth1B1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth1B2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth1B3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth1beta1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth1beta2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth1beta3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth1gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth1gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth1gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth1gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth1gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth1gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth1phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth1Theta CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth1trK CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth1Xt1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth1Xt2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth1Xt3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth2A CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth2alpha CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth2At11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth2At12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth2At13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth2At22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth2At23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth2At33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth2B1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth2B2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth2B3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth2beta1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth2beta2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth2beta3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth2gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth2gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth2gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth2gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth2gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth2gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth2phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth2Theta CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth2trK CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth2Xt1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth2Xt2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth2Xt3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth3A CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth3alpha CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth3At11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth3At12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth3At13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth3At22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth3At23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth3At33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth3B1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth3B2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth3B3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth3beta1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth3beta2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth3beta3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth3gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth3gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth3gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth3gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth3gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth3gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth3phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth3Theta CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth3trK CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth3Xt1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth3Xt2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDdissipationNth3Xt3 CCTK_ATTRIBUTE_UNUSED ; + CCTK_REAL_VEC JacPDdissipationNth1A CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth1alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth1At11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth1At12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth1At13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth1At22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth1At23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth1At33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth1B1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth1B2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth1B3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth1beta1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth1beta2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth1beta3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth1gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth1gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth1gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth1gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth1gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth1gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth1phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth1Theta CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth1trK CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth1Xt1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth1Xt2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth1Xt3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth2A CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth2alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth2At11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth2At12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth2At13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth2At22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth2At23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth2At33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth2B1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth2B2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth2B3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth2beta1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth2beta2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth2beta3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth2gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth2gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth2gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth2gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth2gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth2gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth2phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth2Theta CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth2trK CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth2Xt1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth2Xt2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth2Xt3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth3A CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth3alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth3At11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth3At12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth3At13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth3At22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth3At23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth3At33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth3B1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth3B2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth3B3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth3beta1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth3beta2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth3beta3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth3gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth3gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth3gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth3gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth3gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth3gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth3phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth3Theta CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth3trK CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth3Xt1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth3Xt2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDdissipationNth3Xt3 CCTK_ATTRIBUTE_UNUSED; if (use_jacobian) { @@ -1280,7 +1321,7 @@ static void ML_CCZ4_Dissipation_Body(cGH const * restrict const cctkGH, int cons kadd(B3rhsL,kmadd(epsdiss1,JacPDdissipationNth1B3,kmadd(epsdiss2,JacPDdissipationNth2B3,kmul(epsdiss3,JacPDdissipationNth3B3)))); /* 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(Arhs[index],ArhsL); vec_store_nta_partial(At11rhs[index],At11rhsL); @@ -1327,7 +1368,7 @@ extern "C" void ML_CCZ4_Dissipation(CCTK_ARGUMENTS) return; } - const char *const groups[] = { + const char* const groups[] = { "ML_CCZ4::ML_curv", "ML_CCZ4::ML_curvrhs", "ML_CCZ4::ML_dtlapse", @@ -1350,23 +1391,33 @@ extern "C" void ML_CCZ4_Dissipation(CCTK_ARGUMENTS) "ML_CCZ4::ML_trace_curvrhs"}; GenericFD_AssertGroupStorage(cctkGH, "ML_CCZ4_Dissipation", 20, groups); - switch(fdOrder) + switch (fdOrder) { case 2: + { GenericFD_EnsureStencilFits(cctkGH, "ML_CCZ4_Dissipation", 2, 2, 2); break; + } case 4: + { GenericFD_EnsureStencilFits(cctkGH, "ML_CCZ4_Dissipation", 3, 3, 3); break; + } case 6: + { GenericFD_EnsureStencilFits(cctkGH, "ML_CCZ4_Dissipation", 4, 4, 4); break; + } case 8: + { GenericFD_EnsureStencilFits(cctkGH, "ML_CCZ4_Dissipation", 5, 5, 5); break; + } + default: + CCTK_BUILTIN_UNREACHABLE(); } GenericFD_LoopOverInterior(cctkGH, ML_CCZ4_Dissipation_Body); diff --git a/ML_CCZ4/src/ML_CCZ4_InitGamma.cc b/ML_CCZ4/src/ML_CCZ4_InitGamma.cc index 2208bca..6ba10be 100644 --- a/ML_CCZ4/src/ML_CCZ4_InitGamma.cc +++ b/ML_CCZ4/src/ML_CCZ4_InitGamma.cc @@ -27,7 +27,7 @@ #define CUB(x) (kmul(x,SQR(x))) #define QAD(x) (SQR(SQR(x))) -static void ML_CCZ4_InitGamma_Body(cGH const * restrict const cctkGH, int const dir, int const face, CCTK_REAL const normal[3], CCTK_REAL const tangentA[3], CCTK_REAL const tangentB[3], int const imin[3], int const imax[3], int const n_subblock_gfs, CCTK_REAL * restrict const subblock_gfs[]) +static void ML_CCZ4_InitGamma_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,153 +36,175 @@ static void ML_CCZ4_InitGamma_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*/ p1o1024dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dx); - CCTK_REAL_VEC /*const*/ p1o1024dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dy); - CCTK_REAL_VEC /*const*/ p1o1024dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dz); - CCTK_REAL_VEC /*const*/ p1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dx); - CCTK_REAL_VEC /*const*/ p1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dy); - CCTK_REAL_VEC /*const*/ p1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dz); - CCTK_REAL_VEC /*const*/ p1o12dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dx); - CCTK_REAL_VEC /*const*/ p1o12dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dy); - CCTK_REAL_VEC /*const*/ p1o12dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dz); - CCTK_REAL_VEC /*const*/ p1o144dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o144dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o144dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o1680dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dx); - CCTK_REAL_VEC /*const*/ p1o1680dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dy); - CCTK_REAL_VEC /*const*/ p1o1680dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dz); - CCTK_REAL_VEC /*const*/ p1o180dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ p1o180dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ p1o180dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ p1o24dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dx); - CCTK_REAL_VEC /*const*/ p1o24dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dy); - CCTK_REAL_VEC /*const*/ p1o24dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dz); - CCTK_REAL_VEC /*const*/ p1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dx); - CCTK_REAL_VEC /*const*/ p1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dy); - CCTK_REAL_VEC /*const*/ p1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dz); - CCTK_REAL_VEC /*const*/ p1o3600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o3600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o3600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dx); - CCTK_REAL_VEC /*const*/ p1o4dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o4dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dy); - CCTK_REAL_VEC /*const*/ p1o4dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dz); - CCTK_REAL_VEC /*const*/ p1o5040dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ p1o5040dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ p1o5040dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ p1o560dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dx); - CCTK_REAL_VEC /*const*/ p1o560dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dy); - CCTK_REAL_VEC /*const*/ p1o560dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dz); - CCTK_REAL_VEC /*const*/ p1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dx); - CCTK_REAL_VEC /*const*/ p1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dy); - CCTK_REAL_VEC /*const*/ p1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dz); - CCTK_REAL_VEC /*const*/ p1o64dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dx); - CCTK_REAL_VEC /*const*/ p1o64dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dy); - CCTK_REAL_VEC /*const*/ p1o64dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dz); - CCTK_REAL_VEC /*const*/ p1o705600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o705600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o705600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o840dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dx); - CCTK_REAL_VEC /*const*/ p1o840dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dy); - CCTK_REAL_VEC /*const*/ p1o840dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dz); - CCTK_REAL_VEC /*const*/ p1odx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dx); - CCTK_REAL_VEC /*const*/ p1odx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ p1ody CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dy); - CCTK_REAL_VEC /*const*/ p1ody2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ p1odz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dz); - CCTK_REAL_VEC /*const*/ p1odz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ pm1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dx); - CCTK_REAL_VEC /*const*/ pm1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dy); - CCTK_REAL_VEC /*const*/ pm1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dz); - CCTK_REAL_VEC /*const*/ pm1o12dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ pm1o12dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ pm1o12dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ pm1o16dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dx); - CCTK_REAL_VEC /*const*/ pm1o16dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dy); - CCTK_REAL_VEC /*const*/ pm1o16dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dz); - CCTK_REAL_VEC /*const*/ pm1o256dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dx); - CCTK_REAL_VEC /*const*/ pm1o256dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dy); - CCTK_REAL_VEC /*const*/ pm1o256dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dz); - CCTK_REAL_VEC /*const*/ pm1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dx); - CCTK_REAL_VEC /*const*/ pm1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dy); - CCTK_REAL_VEC /*const*/ pm1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dz); - CCTK_REAL_VEC /*const*/ pm1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dx); - CCTK_REAL_VEC /*const*/ pm1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dy); - CCTK_REAL_VEC /*const*/ pm1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dz); - CCTK_REAL_VEC /*const*/ pm1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dx); - CCTK_REAL_VEC /*const*/ pm1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dy); - CCTK_REAL_VEC /*const*/ pm1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dz); + const CCTK_REAL_VEC p1o1024dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dx); + const CCTK_REAL_VEC p1o1024dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dy); + const CCTK_REAL_VEC p1o1024dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dz); + const CCTK_REAL_VEC p1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dx); + const CCTK_REAL_VEC p1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dy); + const CCTK_REAL_VEC p1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dz); + const CCTK_REAL_VEC p1o12dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dx); + const CCTK_REAL_VEC p1o12dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dy); + const CCTK_REAL_VEC p1o12dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dz); + const CCTK_REAL_VEC p1o144dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dy,dx)); + const CCTK_REAL_VEC p1o144dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dx)); + const CCTK_REAL_VEC p1o144dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dy)); + const CCTK_REAL_VEC p1o1680dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dx); + const CCTK_REAL_VEC p1o1680dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dy); + const CCTK_REAL_VEC p1o1680dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dz); + const CCTK_REAL_VEC p1o180dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dx,dx)); + const CCTK_REAL_VEC p1o180dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dy,dy)); + const CCTK_REAL_VEC p1o180dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dz,dz)); + const CCTK_REAL_VEC p1o24dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dx); + const CCTK_REAL_VEC p1o24dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dy); + const CCTK_REAL_VEC p1o24dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dz); + const CCTK_REAL_VEC p1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dx); + const CCTK_REAL_VEC p1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dy); + const CCTK_REAL_VEC p1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dz); + const CCTK_REAL_VEC p1o3600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dy,dx)); + const CCTK_REAL_VEC p1o3600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dx)); + const CCTK_REAL_VEC p1o3600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dy)); + const CCTK_REAL_VEC p1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dx); + const CCTK_REAL_VEC p1o4dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dy,dx)); + const CCTK_REAL_VEC p1o4dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dx)); + const CCTK_REAL_VEC p1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dy); + const CCTK_REAL_VEC p1o4dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dy)); + const CCTK_REAL_VEC p1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dz); + const CCTK_REAL_VEC p1o5040dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dx,dx)); + const CCTK_REAL_VEC p1o5040dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dy,dy)); + const CCTK_REAL_VEC p1o5040dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dz,dz)); + const CCTK_REAL_VEC p1o560dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dx); + const CCTK_REAL_VEC p1o560dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dy); + const CCTK_REAL_VEC p1o560dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dz); + const CCTK_REAL_VEC p1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dx); + const CCTK_REAL_VEC p1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dy); + const CCTK_REAL_VEC p1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dz); + const CCTK_REAL_VEC p1o64dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dx); + const CCTK_REAL_VEC p1o64dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dy); + const CCTK_REAL_VEC p1o64dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dz); + const CCTK_REAL_VEC p1o705600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dy,dx)); + const CCTK_REAL_VEC p1o705600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dx)); + const CCTK_REAL_VEC p1o705600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dy)); + const CCTK_REAL_VEC p1o840dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dx); + const CCTK_REAL_VEC p1o840dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dy); + const CCTK_REAL_VEC p1o840dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dz); + const CCTK_REAL_VEC p1odx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dx); + const CCTK_REAL_VEC p1odx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dx,dx)); + const CCTK_REAL_VEC p1ody CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dy); + const CCTK_REAL_VEC p1ody2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dy,dy)); + const CCTK_REAL_VEC p1odz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dz); + const CCTK_REAL_VEC p1odz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dz,dz)); + const CCTK_REAL_VEC pm1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dx); + const CCTK_REAL_VEC pm1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dy); + const CCTK_REAL_VEC pm1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dz); + const CCTK_REAL_VEC pm1o12dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dx,dx)); + const CCTK_REAL_VEC pm1o12dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dy,dy)); + const CCTK_REAL_VEC pm1o12dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dz,dz)); + const CCTK_REAL_VEC pm1o16dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dx); + const CCTK_REAL_VEC pm1o16dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dy); + const CCTK_REAL_VEC pm1o16dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dz); + const CCTK_REAL_VEC pm1o256dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dx); + const CCTK_REAL_VEC pm1o256dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dy); + const CCTK_REAL_VEC pm1o256dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dz); + const CCTK_REAL_VEC pm1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dx); + const CCTK_REAL_VEC pm1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dy); + const CCTK_REAL_VEC pm1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dz); + const CCTK_REAL_VEC pm1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dx); + const CCTK_REAL_VEC pm1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dy); + const CCTK_REAL_VEC pm1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dz); + const CCTK_REAL_VEC pm1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dx); + const CCTK_REAL_VEC pm1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dy); + const CCTK_REAL_VEC pm1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dz); /* Jacobian variable pointers */ - bool const use_jacobian CCTK_ATTRIBUTE_UNUSED = (!CCTK_IsFunctionAliased("MultiPatch_GetMap") || MultiPatch_GetMap(cctkGH) != jacobian_identity_map) - && strlen(jacobian_group) > 0; - if (use_jacobian && strlen(jacobian_derivative_group) == 0) + const bool use_jacobian1 = (!CCTK_IsFunctionAliased("MultiPatch_GetMap") || MultiPatch_GetMap(cctkGH) != jacobian_identity_map) + && strlen(jacobian_group) > 0; + const bool use_jacobian = assume_use_jacobian>=0 ? assume_use_jacobian : use_jacobian1; + const bool usejacobian CCTK_ATTRIBUTE_UNUSED = use_jacobian; + if (use_jacobian && (strlen(jacobian_determinant_group) == 0 || strlen(jacobian_inverse_group) == 0 || strlen(jacobian_derivative_group) == 0)) { - CCTK_WARN (1, "GenericFD::jacobian_group and GenericFD::jacobian_derivative_group must both be set to valid group names"); + CCTK_WARN(1, "GenericFD::jacobian_group, GenericFD::jacobian_determinant_group, GenericFD::jacobian_inverse_group, and GenericFD::jacobian_derivative_group must all be set to valid group names"); } - CCTK_REAL const *restrict jacobian_ptrs[9]; + const CCTK_REAL* restrict jacobian_ptrs[9]; if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_group, 9, jacobian_ptrs); - CCTK_REAL const *restrict const J11 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[0] : 0; - CCTK_REAL const *restrict const J12 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[1] : 0; - CCTK_REAL const *restrict const J13 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[2] : 0; - CCTK_REAL const *restrict const J21 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[3] : 0; - CCTK_REAL const *restrict const J22 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[4] : 0; - CCTK_REAL const *restrict const J23 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[5] : 0; - CCTK_REAL const *restrict const J31 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[6] : 0; - CCTK_REAL const *restrict const J32 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[7] : 0; - CCTK_REAL const *restrict const J33 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[8] : 0; + const CCTK_REAL* restrict const J11 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[0] : 0; + const CCTK_REAL* restrict const J12 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[1] : 0; + const CCTK_REAL* restrict const J13 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[2] : 0; + const CCTK_REAL* restrict const J21 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[3] : 0; + const CCTK_REAL* restrict const J22 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[4] : 0; + const CCTK_REAL* restrict const J23 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[5] : 0; + const CCTK_REAL* restrict const J31 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[6] : 0; + const CCTK_REAL* restrict const J32 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[7] : 0; + const CCTK_REAL* restrict const J33 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[8] : 0; - 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 */ @@ -193,13 +215,20 @@ static void ML_CCZ4_InitGamma_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_CCZ4_InitGamma, - 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 */ @@ -210,38 +239,48 @@ static void ML_CCZ4_InitGamma_Body(cGH const * restrict const cctkGH, int const /* 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 Xt1L = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Xt1L = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Xt2L = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Xt2L = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Xt3L = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Xt3L = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED AL = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED AL = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED B1L = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED B1L = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED B2L = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED B2L = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED B3L = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED B3L = 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(A[index],AL); vec_store_nta_partial(B1[index],B1L); vec_store_nta_partial(B2[index],B2L); @@ -269,25 +308,35 @@ extern "C" void ML_CCZ4_InitGamma(CCTK_ARGUMENTS) return; } - const char *const groups[] = { + const char* const groups[] = { "ML_CCZ4::ML_dtlapse", "ML_CCZ4::ML_dtshift", "ML_CCZ4::ML_Gamma"}; GenericFD_AssertGroupStorage(cctkGH, "ML_CCZ4_InitGamma", 3, 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_CCZ4_InitGamma_Body); diff --git a/ML_CCZ4/src/ML_CCZ4_InitRHS.cc b/ML_CCZ4/src/ML_CCZ4_InitRHS.cc index 6706a68..f68fbfa 100644 --- a/ML_CCZ4/src/ML_CCZ4_InitRHS.cc +++ b/ML_CCZ4/src/ML_CCZ4_InitRHS.cc @@ -27,7 +27,7 @@ #define CUB(x) (kmul(x,SQR(x))) #define QAD(x) (SQR(SQR(x))) -static void ML_CCZ4_InitRHS_Body(cGH const * restrict const cctkGH, int const dir, int const face, CCTK_REAL const normal[3], CCTK_REAL const tangentA[3], CCTK_REAL const tangentB[3], int const imin[3], int const imax[3], int const n_subblock_gfs, CCTK_REAL * restrict const subblock_gfs[]) +static void ML_CCZ4_InitRHS_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,153 +36,175 @@ static void ML_CCZ4_InitRHS_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*/ p1o1024dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dx); - CCTK_REAL_VEC /*const*/ p1o1024dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dy); - CCTK_REAL_VEC /*const*/ p1o1024dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dz); - CCTK_REAL_VEC /*const*/ p1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dx); - CCTK_REAL_VEC /*const*/ p1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dy); - CCTK_REAL_VEC /*const*/ p1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dz); - CCTK_REAL_VEC /*const*/ p1o12dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dx); - CCTK_REAL_VEC /*const*/ p1o12dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dy); - CCTK_REAL_VEC /*const*/ p1o12dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dz); - CCTK_REAL_VEC /*const*/ p1o144dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o144dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o144dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o1680dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dx); - CCTK_REAL_VEC /*const*/ p1o1680dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dy); - CCTK_REAL_VEC /*const*/ p1o1680dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dz); - CCTK_REAL_VEC /*const*/ p1o180dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ p1o180dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ p1o180dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ p1o24dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dx); - CCTK_REAL_VEC /*const*/ p1o24dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dy); - CCTK_REAL_VEC /*const*/ p1o24dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dz); - CCTK_REAL_VEC /*const*/ p1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dx); - CCTK_REAL_VEC /*const*/ p1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dy); - CCTK_REAL_VEC /*const*/ p1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dz); - CCTK_REAL_VEC /*const*/ p1o3600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o3600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o3600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dx); - CCTK_REAL_VEC /*const*/ p1o4dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o4dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dy); - CCTK_REAL_VEC /*const*/ p1o4dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dz); - CCTK_REAL_VEC /*const*/ p1o5040dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ p1o5040dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ p1o5040dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ p1o560dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dx); - CCTK_REAL_VEC /*const*/ p1o560dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dy); - CCTK_REAL_VEC /*const*/ p1o560dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dz); - CCTK_REAL_VEC /*const*/ p1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dx); - CCTK_REAL_VEC /*const*/ p1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dy); - CCTK_REAL_VEC /*const*/ p1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dz); - CCTK_REAL_VEC /*const*/ p1o64dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dx); - CCTK_REAL_VEC /*const*/ p1o64dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dy); - CCTK_REAL_VEC /*const*/ p1o64dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dz); - CCTK_REAL_VEC /*const*/ p1o705600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o705600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o705600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o840dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dx); - CCTK_REAL_VEC /*const*/ p1o840dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dy); - CCTK_REAL_VEC /*const*/ p1o840dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dz); - CCTK_REAL_VEC /*const*/ p1odx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dx); - CCTK_REAL_VEC /*const*/ p1odx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ p1ody CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dy); - CCTK_REAL_VEC /*const*/ p1ody2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ p1odz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dz); - CCTK_REAL_VEC /*const*/ p1odz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ pm1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dx); - CCTK_REAL_VEC /*const*/ pm1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dy); - CCTK_REAL_VEC /*const*/ pm1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dz); - CCTK_REAL_VEC /*const*/ pm1o12dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ pm1o12dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ pm1o12dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ pm1o16dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dx); - CCTK_REAL_VEC /*const*/ pm1o16dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dy); - CCTK_REAL_VEC /*const*/ pm1o16dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dz); - CCTK_REAL_VEC /*const*/ pm1o256dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dx); - CCTK_REAL_VEC /*const*/ pm1o256dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dy); - CCTK_REAL_VEC /*const*/ pm1o256dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dz); - CCTK_REAL_VEC /*const*/ pm1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dx); - CCTK_REAL_VEC /*const*/ pm1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dy); - CCTK_REAL_VEC /*const*/ pm1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dz); - CCTK_REAL_VEC /*const*/ pm1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dx); - CCTK_REAL_VEC /*const*/ pm1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dy); - CCTK_REAL_VEC /*const*/ pm1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dz); - CCTK_REAL_VEC /*const*/ pm1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dx); - CCTK_REAL_VEC /*const*/ pm1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dy); - CCTK_REAL_VEC /*const*/ pm1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dz); + const CCTK_REAL_VEC p1o1024dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dx); + const CCTK_REAL_VEC p1o1024dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dy); + const CCTK_REAL_VEC p1o1024dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dz); + const CCTK_REAL_VEC p1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dx); + const CCTK_REAL_VEC p1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dy); + const CCTK_REAL_VEC p1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dz); + const CCTK_REAL_VEC p1o12dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dx); + const CCTK_REAL_VEC p1o12dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dy); + const CCTK_REAL_VEC p1o12dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dz); + const CCTK_REAL_VEC p1o144dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dy,dx)); + const CCTK_REAL_VEC p1o144dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dx)); + const CCTK_REAL_VEC p1o144dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dy)); + const CCTK_REAL_VEC p1o1680dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dx); + const CCTK_REAL_VEC p1o1680dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dy); + const CCTK_REAL_VEC p1o1680dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dz); + const CCTK_REAL_VEC p1o180dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dx,dx)); + const CCTK_REAL_VEC p1o180dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dy,dy)); + const CCTK_REAL_VEC p1o180dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dz,dz)); + const CCTK_REAL_VEC p1o24dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dx); + const CCTK_REAL_VEC p1o24dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dy); + const CCTK_REAL_VEC p1o24dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dz); + const CCTK_REAL_VEC p1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dx); + const CCTK_REAL_VEC p1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dy); + const CCTK_REAL_VEC p1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dz); + const CCTK_REAL_VEC p1o3600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dy,dx)); + const CCTK_REAL_VEC p1o3600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dx)); + const CCTK_REAL_VEC p1o3600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dy)); + const CCTK_REAL_VEC p1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dx); + const CCTK_REAL_VEC p1o4dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dy,dx)); + const CCTK_REAL_VEC p1o4dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dx)); + const CCTK_REAL_VEC p1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dy); + const CCTK_REAL_VEC p1o4dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dy)); + const CCTK_REAL_VEC p1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dz); + const CCTK_REAL_VEC p1o5040dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dx,dx)); + const CCTK_REAL_VEC p1o5040dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dy,dy)); + const CCTK_REAL_VEC p1o5040dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dz,dz)); + const CCTK_REAL_VEC p1o560dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dx); + const CCTK_REAL_VEC p1o560dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dy); + const CCTK_REAL_VEC p1o560dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dz); + const CCTK_REAL_VEC p1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dx); + const CCTK_REAL_VEC p1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dy); + const CCTK_REAL_VEC p1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dz); + const CCTK_REAL_VEC p1o64dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dx); + const CCTK_REAL_VEC p1o64dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dy); + const CCTK_REAL_VEC p1o64dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dz); + const CCTK_REAL_VEC p1o705600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dy,dx)); + const CCTK_REAL_VEC p1o705600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dx)); + const CCTK_REAL_VEC p1o705600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dy)); + const CCTK_REAL_VEC p1o840dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dx); + const CCTK_REAL_VEC p1o840dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dy); + const CCTK_REAL_VEC p1o840dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dz); + const CCTK_REAL_VEC p1odx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dx); + const CCTK_REAL_VEC p1odx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dx,dx)); + const CCTK_REAL_VEC p1ody CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dy); + const CCTK_REAL_VEC p1ody2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dy,dy)); + const CCTK_REAL_VEC p1odz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dz); + const CCTK_REAL_VEC p1odz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dz,dz)); + const CCTK_REAL_VEC pm1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dx); + const CCTK_REAL_VEC pm1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dy); + const CCTK_REAL_VEC pm1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dz); + const CCTK_REAL_VEC pm1o12dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dx,dx)); + const CCTK_REAL_VEC pm1o12dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dy,dy)); + const CCTK_REAL_VEC pm1o12dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dz,dz)); + const CCTK_REAL_VEC pm1o16dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dx); + const CCTK_REAL_VEC pm1o16dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dy); + const CCTK_REAL_VEC pm1o16dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dz); + const CCTK_REAL_VEC pm1o256dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dx); + const CCTK_REAL_VEC pm1o256dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dy); + const CCTK_REAL_VEC pm1o256dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dz); + const CCTK_REAL_VEC pm1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dx); + const CCTK_REAL_VEC pm1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dy); + const CCTK_REAL_VEC pm1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dz); + const CCTK_REAL_VEC pm1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dx); + const CCTK_REAL_VEC pm1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dy); + const CCTK_REAL_VEC pm1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dz); + const CCTK_REAL_VEC pm1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dx); + const CCTK_REAL_VEC pm1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dy); + const CCTK_REAL_VEC pm1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dz); /* Jacobian variable pointers */ - bool const use_jacobian CCTK_ATTRIBUTE_UNUSED = (!CCTK_IsFunctionAliased("MultiPatch_GetMap") || MultiPatch_GetMap(cctkGH) != jacobian_identity_map) - && strlen(jacobian_group) > 0; - if (use_jacobian && strlen(jacobian_derivative_group) == 0) + const bool use_jacobian1 = (!CCTK_IsFunctionAliased("MultiPatch_GetMap") || MultiPatch_GetMap(cctkGH) != jacobian_identity_map) + && strlen(jacobian_group) > 0; + const bool use_jacobian = assume_use_jacobian>=0 ? assume_use_jacobian : use_jacobian1; + const bool usejacobian CCTK_ATTRIBUTE_UNUSED = use_jacobian; + if (use_jacobian && (strlen(jacobian_determinant_group) == 0 || strlen(jacobian_inverse_group) == 0 || strlen(jacobian_derivative_group) == 0)) { - CCTK_WARN (1, "GenericFD::jacobian_group and GenericFD::jacobian_derivative_group must both be set to valid group names"); + CCTK_WARN(1, "GenericFD::jacobian_group, GenericFD::jacobian_determinant_group, GenericFD::jacobian_inverse_group, and GenericFD::jacobian_derivative_group must all be set to valid group names"); } - CCTK_REAL const *restrict jacobian_ptrs[9]; + const CCTK_REAL* restrict jacobian_ptrs[9]; if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_group, 9, jacobian_ptrs); - CCTK_REAL const *restrict const J11 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[0] : 0; - CCTK_REAL const *restrict const J12 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[1] : 0; - CCTK_REAL const *restrict const J13 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[2] : 0; - CCTK_REAL const *restrict const J21 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[3] : 0; - CCTK_REAL const *restrict const J22 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[4] : 0; - CCTK_REAL const *restrict const J23 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[5] : 0; - CCTK_REAL const *restrict const J31 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[6] : 0; - CCTK_REAL const *restrict const J32 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[7] : 0; - CCTK_REAL const *restrict const J33 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[8] : 0; + const CCTK_REAL* restrict const J11 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[0] : 0; + const CCTK_REAL* restrict const J12 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[1] : 0; + const CCTK_REAL* restrict const J13 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[2] : 0; + const CCTK_REAL* restrict const J21 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[3] : 0; + const CCTK_REAL* restrict const J22 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[4] : 0; + const CCTK_REAL* restrict const J23 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[5] : 0; + const CCTK_REAL* restrict const J31 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[6] : 0; + const CCTK_REAL* restrict const J32 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[7] : 0; + const CCTK_REAL* restrict const J33 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[8] : 0; - 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 */ @@ -193,13 +215,20 @@ static void ML_CCZ4_InitRHS_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_CCZ4_InitRHS, - 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 */ @@ -210,76 +239,86 @@ static void ML_CCZ4_InitRHS_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 phirhsL = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED phirhsL = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gt11rhsL = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gt11rhsL = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gt12rhsL = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gt12rhsL = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gt13rhsL = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gt13rhsL = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gt22rhsL = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gt22rhsL = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gt23rhsL = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gt23rhsL = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gt33rhsL = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gt33rhsL = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED trKrhsL = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED trKrhsL = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED At11rhsL = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED At11rhsL = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED At12rhsL = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED At12rhsL = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED At13rhsL = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED At13rhsL = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED At22rhsL = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED At22rhsL = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED At23rhsL = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED At23rhsL = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED At33rhsL = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED At33rhsL = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Xt1rhsL = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Xt1rhsL = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Xt2rhsL = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Xt2rhsL = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Xt3rhsL = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Xt3rhsL = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED alpharhsL = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED alpharhsL = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED ArhsL = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED ArhsL = 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); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED B1rhsL = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED B1rhsL = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED B2rhsL = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED B2rhsL = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED B3rhsL = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED B3rhsL = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED ThetarhsL = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED ThetarhsL = 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(Arhs[index],ArhsL); vec_store_nta_partial(At11rhs[index],At11rhsL); @@ -326,7 +365,7 @@ extern "C" void ML_CCZ4_InitRHS(CCTK_ARGUMENTS) return; } - const char *const groups[] = { + const char* const groups[] = { "ML_CCZ4::ML_curvrhs", "ML_CCZ4::ML_dtlapserhs", "ML_CCZ4::ML_dtshiftrhs", @@ -339,19 +378,29 @@ extern "C" void ML_CCZ4_InitRHS(CCTK_ARGUMENTS) "ML_CCZ4::ML_trace_curvrhs"}; GenericFD_AssertGroupStorage(cctkGH, "ML_CCZ4_InitRHS", 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_CCZ4_InitRHS_Body); diff --git a/ML_CCZ4/src/ML_CCZ4_Minkowski.cc b/ML_CCZ4/src/ML_CCZ4_Minkowski.cc index af81c9a..895efea 100644 --- a/ML_CCZ4/src/ML_CCZ4_Minkowski.cc +++ b/ML_CCZ4/src/ML_CCZ4_Minkowski.cc @@ -27,7 +27,7 @@ #define CUB(x) (kmul(x,SQR(x))) #define QAD(x) (SQR(SQR(x))) -static void ML_CCZ4_Minkowski_Body(cGH const * restrict const cctkGH, int const dir, int const face, CCTK_REAL const normal[3], CCTK_REAL const tangentA[3], CCTK_REAL const tangentB[3], int const imin[3], int const imax[3], int const n_subblock_gfs, CCTK_REAL * restrict const subblock_gfs[]) +static void ML_CCZ4_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,153 +36,175 @@ static void ML_CCZ4_Minkowski_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*/ p1o1024dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dx); - CCTK_REAL_VEC /*const*/ p1o1024dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dy); - CCTK_REAL_VEC /*const*/ p1o1024dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dz); - CCTK_REAL_VEC /*const*/ p1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dx); - CCTK_REAL_VEC /*const*/ p1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dy); - CCTK_REAL_VEC /*const*/ p1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dz); - CCTK_REAL_VEC /*const*/ p1o12dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dx); - CCTK_REAL_VEC /*const*/ p1o12dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dy); - CCTK_REAL_VEC /*const*/ p1o12dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dz); - CCTK_REAL_VEC /*const*/ p1o144dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o144dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o144dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o1680dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dx); - CCTK_REAL_VEC /*const*/ p1o1680dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dy); - CCTK_REAL_VEC /*const*/ p1o1680dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dz); - CCTK_REAL_VEC /*const*/ p1o180dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ p1o180dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ p1o180dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ p1o24dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dx); - CCTK_REAL_VEC /*const*/ p1o24dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dy); - CCTK_REAL_VEC /*const*/ p1o24dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dz); - CCTK_REAL_VEC /*const*/ p1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dx); - CCTK_REAL_VEC /*const*/ p1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dy); - CCTK_REAL_VEC /*const*/ p1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dz); - CCTK_REAL_VEC /*const*/ p1o3600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o3600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o3600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dx); - CCTK_REAL_VEC /*const*/ p1o4dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o4dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dy); - CCTK_REAL_VEC /*const*/ p1o4dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dz); - CCTK_REAL_VEC /*const*/ p1o5040dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ p1o5040dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ p1o5040dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ p1o560dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dx); - CCTK_REAL_VEC /*const*/ p1o560dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dy); - CCTK_REAL_VEC /*const*/ p1o560dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dz); - CCTK_REAL_VEC /*const*/ p1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dx); - CCTK_REAL_VEC /*const*/ p1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dy); - CCTK_REAL_VEC /*const*/ p1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dz); - CCTK_REAL_VEC /*const*/ p1o64dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dx); - CCTK_REAL_VEC /*const*/ p1o64dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dy); - CCTK_REAL_VEC /*const*/ p1o64dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dz); - CCTK_REAL_VEC /*const*/ p1o705600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o705600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o705600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o840dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dx); - CCTK_REAL_VEC /*const*/ p1o840dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dy); - CCTK_REAL_VEC /*const*/ p1o840dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dz); - CCTK_REAL_VEC /*const*/ p1odx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dx); - CCTK_REAL_VEC /*const*/ p1odx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ p1ody CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dy); - CCTK_REAL_VEC /*const*/ p1ody2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ p1odz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dz); - CCTK_REAL_VEC /*const*/ p1odz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ pm1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dx); - CCTK_REAL_VEC /*const*/ pm1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dy); - CCTK_REAL_VEC /*const*/ pm1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dz); - CCTK_REAL_VEC /*const*/ pm1o12dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ pm1o12dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ pm1o12dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ pm1o16dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dx); - CCTK_REAL_VEC /*const*/ pm1o16dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dy); - CCTK_REAL_VEC /*const*/ pm1o16dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dz); - CCTK_REAL_VEC /*const*/ pm1o256dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dx); - CCTK_REAL_VEC /*const*/ pm1o256dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dy); - CCTK_REAL_VEC /*const*/ pm1o256dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dz); - CCTK_REAL_VEC /*const*/ pm1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dx); - CCTK_REAL_VEC /*const*/ pm1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dy); - CCTK_REAL_VEC /*const*/ pm1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dz); - CCTK_REAL_VEC /*const*/ pm1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dx); - CCTK_REAL_VEC /*const*/ pm1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dy); - CCTK_REAL_VEC /*const*/ pm1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dz); - CCTK_REAL_VEC /*const*/ pm1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dx); - CCTK_REAL_VEC /*const*/ pm1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dy); - CCTK_REAL_VEC /*const*/ pm1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dz); + const CCTK_REAL_VEC p1o1024dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dx); + const CCTK_REAL_VEC p1o1024dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dy); + const CCTK_REAL_VEC p1o1024dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dz); + const CCTK_REAL_VEC p1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dx); + const CCTK_REAL_VEC p1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dy); + const CCTK_REAL_VEC p1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dz); + const CCTK_REAL_VEC p1o12dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dx); + const CCTK_REAL_VEC p1o12dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dy); + const CCTK_REAL_VEC p1o12dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dz); + const CCTK_REAL_VEC p1o144dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dy,dx)); + const CCTK_REAL_VEC p1o144dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dx)); + const CCTK_REAL_VEC p1o144dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dy)); + const CCTK_REAL_VEC p1o1680dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dx); + const CCTK_REAL_VEC p1o1680dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dy); + const CCTK_REAL_VEC p1o1680dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dz); + const CCTK_REAL_VEC p1o180dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dx,dx)); + const CCTK_REAL_VEC p1o180dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dy,dy)); + const CCTK_REAL_VEC p1o180dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dz,dz)); + const CCTK_REAL_VEC p1o24dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dx); + const CCTK_REAL_VEC p1o24dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dy); + const CCTK_REAL_VEC p1o24dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dz); + const CCTK_REAL_VEC p1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dx); + const CCTK_REAL_VEC p1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dy); + const CCTK_REAL_VEC p1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dz); + const CCTK_REAL_VEC p1o3600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dy,dx)); + const CCTK_REAL_VEC p1o3600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dx)); + const CCTK_REAL_VEC p1o3600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dy)); + const CCTK_REAL_VEC p1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dx); + const CCTK_REAL_VEC p1o4dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dy,dx)); + const CCTK_REAL_VEC p1o4dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dx)); + const CCTK_REAL_VEC p1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dy); + const CCTK_REAL_VEC p1o4dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dy)); + const CCTK_REAL_VEC p1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dz); + const CCTK_REAL_VEC p1o5040dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dx,dx)); + const CCTK_REAL_VEC p1o5040dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dy,dy)); + const CCTK_REAL_VEC p1o5040dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dz,dz)); + const CCTK_REAL_VEC p1o560dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dx); + const CCTK_REAL_VEC p1o560dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dy); + const CCTK_REAL_VEC p1o560dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dz); + const CCTK_REAL_VEC p1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dx); + const CCTK_REAL_VEC p1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dy); + const CCTK_REAL_VEC p1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dz); + const CCTK_REAL_VEC p1o64dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dx); + const CCTK_REAL_VEC p1o64dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dy); + const CCTK_REAL_VEC p1o64dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dz); + const CCTK_REAL_VEC p1o705600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dy,dx)); + const CCTK_REAL_VEC p1o705600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dx)); + const CCTK_REAL_VEC p1o705600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dy)); + const CCTK_REAL_VEC p1o840dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dx); + const CCTK_REAL_VEC p1o840dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dy); + const CCTK_REAL_VEC p1o840dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dz); + const CCTK_REAL_VEC p1odx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dx); + const CCTK_REAL_VEC p1odx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dx,dx)); + const CCTK_REAL_VEC p1ody CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dy); + const CCTK_REAL_VEC p1ody2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dy,dy)); + const CCTK_REAL_VEC p1odz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dz); + const CCTK_REAL_VEC p1odz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dz,dz)); + const CCTK_REAL_VEC pm1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dx); + const CCTK_REAL_VEC pm1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dy); + const CCTK_REAL_VEC pm1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dz); + const CCTK_REAL_VEC pm1o12dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dx,dx)); + const CCTK_REAL_VEC pm1o12dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dy,dy)); + const CCTK_REAL_VEC pm1o12dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dz,dz)); + const CCTK_REAL_VEC pm1o16dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dx); + const CCTK_REAL_VEC pm1o16dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dy); + const CCTK_REAL_VEC pm1o16dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dz); + const CCTK_REAL_VEC pm1o256dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dx); + const CCTK_REAL_VEC pm1o256dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dy); + const CCTK_REAL_VEC pm1o256dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dz); + const CCTK_REAL_VEC pm1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dx); + const CCTK_REAL_VEC pm1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dy); + const CCTK_REAL_VEC pm1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dz); + const CCTK_REAL_VEC pm1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dx); + const CCTK_REAL_VEC pm1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dy); + const CCTK_REAL_VEC pm1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dz); + const CCTK_REAL_VEC pm1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dx); + const CCTK_REAL_VEC pm1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dy); + const CCTK_REAL_VEC pm1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dz); /* Jacobian variable pointers */ - bool const use_jacobian CCTK_ATTRIBUTE_UNUSED = (!CCTK_IsFunctionAliased("MultiPatch_GetMap") || MultiPatch_GetMap(cctkGH) != jacobian_identity_map) - && strlen(jacobian_group) > 0; - if (use_jacobian && strlen(jacobian_derivative_group) == 0) + const bool use_jacobian1 = (!CCTK_IsFunctionAliased("MultiPatch_GetMap") || MultiPatch_GetMap(cctkGH) != jacobian_identity_map) + && strlen(jacobian_group) > 0; + const bool use_jacobian = assume_use_jacobian>=0 ? assume_use_jacobian : use_jacobian1; + const bool usejacobian CCTK_ATTRIBUTE_UNUSED = use_jacobian; + if (use_jacobian && (strlen(jacobian_determinant_group) == 0 || strlen(jacobian_inverse_group) == 0 || strlen(jacobian_derivative_group) == 0)) { - CCTK_WARN (1, "GenericFD::jacobian_group and GenericFD::jacobian_derivative_group must both be set to valid group names"); + CCTK_WARN(1, "GenericFD::jacobian_group, GenericFD::jacobian_determinant_group, GenericFD::jacobian_inverse_group, and GenericFD::jacobian_derivative_group must all be set to valid group names"); } - CCTK_REAL const *restrict jacobian_ptrs[9]; + const CCTK_REAL* restrict jacobian_ptrs[9]; if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_group, 9, jacobian_ptrs); - CCTK_REAL const *restrict const J11 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[0] : 0; - CCTK_REAL const *restrict const J12 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[1] : 0; - CCTK_REAL const *restrict const J13 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[2] : 0; - CCTK_REAL const *restrict const J21 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[3] : 0; - CCTK_REAL const *restrict const J22 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[4] : 0; - CCTK_REAL const *restrict const J23 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[5] : 0; - CCTK_REAL const *restrict const J31 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[6] : 0; - CCTK_REAL const *restrict const J32 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[7] : 0; - CCTK_REAL const *restrict const J33 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[8] : 0; + const CCTK_REAL* restrict const J11 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[0] : 0; + const CCTK_REAL* restrict const J12 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[1] : 0; + const CCTK_REAL* restrict const J13 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[2] : 0; + const CCTK_REAL* restrict const J21 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[3] : 0; + const CCTK_REAL* restrict const J22 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[4] : 0; + const CCTK_REAL* restrict const J23 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[5] : 0; + const CCTK_REAL* restrict const J31 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[6] : 0; + const CCTK_REAL* restrict const J32 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[7] : 0; + const CCTK_REAL* restrict const J33 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[8] : 0; - 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 */ @@ -193,13 +215,20 @@ static void ML_CCZ4_Minkowski_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_CCZ4_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 */ @@ -210,77 +239,87 @@ static void ML_CCZ4_Minkowski_Body(cGH const * restrict const cctkGH, int const /* 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 phiL = IfThen(conformalMethod == - 1.,ToReal(1.),ToReal(0.)); + 1,ToReal(1),ToReal(0)); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gt11L = ToReal(1.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gt11L = ToReal(1); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gt12L = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gt12L = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gt13L = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gt13L = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gt22L = ToReal(1.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gt22L = ToReal(1); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gt23L = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gt23L = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gt33L = ToReal(1.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gt33L = ToReal(1); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED trKL = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED trKL = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED At11L = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED At11L = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED At12L = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED At12L = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED At13L = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED At13L = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED At22L = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED At22L = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED At23L = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED At23L = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED At33L = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED At33L = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Xt1L = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Xt1L = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Xt2L = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Xt2L = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Xt3L = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Xt3L = 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 AL = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED AL = ToReal(0); - 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); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED B1L = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED B1L = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED B2L = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED B2L = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED B3L = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED B3L = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED ThetaL = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED ThetaL = 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(A[index],AL); vec_store_nta_partial(alpha[index],alphaL); vec_store_nta_partial(At11[index],At11L); @@ -327,7 +366,7 @@ extern "C" void ML_CCZ4_Minkowski(CCTK_ARGUMENTS) return; } - const char *const groups[] = { + const char* const groups[] = { "ML_CCZ4::ML_curv", "ML_CCZ4::ML_dtlapse", "ML_CCZ4::ML_dtshift", @@ -340,19 +379,29 @@ extern "C" void ML_CCZ4_Minkowski(CCTK_ARGUMENTS) "ML_CCZ4::ML_trace_curv"}; GenericFD_AssertGroupStorage(cctkGH, "ML_CCZ4_Minkowski", 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_CCZ4_Minkowski_Body); diff --git a/ML_CCZ4/src/ML_CCZ4_RHS1.cc b/ML_CCZ4/src/ML_CCZ4_RHS1.cc index bccf8f7..b86775c 100644 --- a/ML_CCZ4/src/ML_CCZ4_RHS1.cc +++ b/ML_CCZ4/src/ML_CCZ4_RHS1.cc @@ -32,7 +32,9 @@ extern "C" void ML_CCZ4_RHS1_SelectBCs(CCTK_ARGUMENTS) DECLARE_CCTK_ARGUMENTS; DECLARE_CCTK_PARAMETERS; - CCTK_INT ierr CCTK_ATTRIBUTE_UNUSED = 0; + if (cctk_iteration % ML_CCZ4_RHS1_calc_every != ML_CCZ4_RHS1_calc_offset) + return; + CCTK_INT ierr CCTK_ATTRIBUTE_UNUSED = 0; ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_CCZ4::ML_dtlapserhs","flat"); if (ierr < 0) CCTK_WARN(1, "Failed to register flat BC for ML_CCZ4::ML_dtlapserhs."); @@ -63,7 +65,7 @@ extern "C" void ML_CCZ4_RHS1_SelectBCs(CCTK_ARGUMENTS) return; } -static void ML_CCZ4_RHS1_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_CCZ4_RHS1_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; @@ -72,153 +74,175 @@ static void ML_CCZ4_RHS1_Body(cGH const * restrict const cctkGH, int const dir, /* Include user-supplied include files */ /* Initialise finite differencing variables */ - ptrdiff_t /*const*/ di CCTK_ATTRIBUTE_UNUSED = 1; - ptrdiff_t /*const*/ dj CCTK_ATTRIBUTE_UNUSED = CCTK_GFINDEX3D(cctkGH,0,1,0) - CCTK_GFINDEX3D(cctkGH,0,0,0); - ptrdiff_t /*const*/ dk CCTK_ATTRIBUTE_UNUSED = CCTK_GFINDEX3D(cctkGH,0,0,1) - CCTK_GFINDEX3D(cctkGH,0,0,0); - ptrdiff_t /*const*/ cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * di; - ptrdiff_t /*const*/ cdj CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * dj; - ptrdiff_t /*const*/ cdk CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * dk; - CCTK_REAL_VEC /*const*/ dx CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(0)); - CCTK_REAL_VEC /*const*/ dy CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(1)); - CCTK_REAL_VEC /*const*/ dz CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(2)); - CCTK_REAL_VEC /*const*/ dt CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_TIME); - CCTK_REAL_VEC /*const*/ t CCTK_ATTRIBUTE_UNUSED = ToReal(cctk_time); - CCTK_REAL_VEC /*const*/ dxi CCTK_ATTRIBUTE_UNUSED = INV(dx); - CCTK_REAL_VEC /*const*/ dyi CCTK_ATTRIBUTE_UNUSED = INV(dy); - CCTK_REAL_VEC /*const*/ dzi CCTK_ATTRIBUTE_UNUSED = INV(dz); - CCTK_REAL_VEC /*const*/ khalf CCTK_ATTRIBUTE_UNUSED = ToReal(0.5); - CCTK_REAL_VEC /*const*/ kthird CCTK_ATTRIBUTE_UNUSED = ToReal(1.0/3.0); - CCTK_REAL_VEC /*const*/ ktwothird CCTK_ATTRIBUTE_UNUSED = ToReal(2.0/3.0); - CCTK_REAL_VEC /*const*/ kfourthird CCTK_ATTRIBUTE_UNUSED = ToReal(4.0/3.0); - CCTK_REAL_VEC /*const*/ keightthird CCTK_ATTRIBUTE_UNUSED = ToReal(8.0/3.0); - CCTK_REAL_VEC /*const*/ hdxi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dxi); - CCTK_REAL_VEC /*const*/ hdyi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dyi); - CCTK_REAL_VEC /*const*/ hdzi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dzi); + const ptrdiff_t di CCTK_ATTRIBUTE_UNUSED = 1; + const ptrdiff_t dj CCTK_ATTRIBUTE_UNUSED = CCTK_GFINDEX3D(cctkGH,0,1,0) - CCTK_GFINDEX3D(cctkGH,0,0,0); + const ptrdiff_t dk CCTK_ATTRIBUTE_UNUSED = CCTK_GFINDEX3D(cctkGH,0,0,1) - CCTK_GFINDEX3D(cctkGH,0,0,0); + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * di; + const ptrdiff_t cdj CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * dj; + const ptrdiff_t cdk CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * dk; + const CCTK_REAL_VEC dx CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(0)); + const CCTK_REAL_VEC dy CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(1)); + const CCTK_REAL_VEC dz CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(2)); + const CCTK_REAL_VEC dt CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_TIME); + const CCTK_REAL_VEC t CCTK_ATTRIBUTE_UNUSED = ToReal(cctk_time); + const CCTK_REAL_VEC dxi CCTK_ATTRIBUTE_UNUSED = INV(dx); + const CCTK_REAL_VEC dyi CCTK_ATTRIBUTE_UNUSED = INV(dy); + const CCTK_REAL_VEC dzi CCTK_ATTRIBUTE_UNUSED = INV(dz); + const CCTK_REAL_VEC khalf CCTK_ATTRIBUTE_UNUSED = ToReal(0.5); + const CCTK_REAL_VEC kthird CCTK_ATTRIBUTE_UNUSED = ToReal(1.0/3.0); + const CCTK_REAL_VEC ktwothird CCTK_ATTRIBUTE_UNUSED = ToReal(2.0/3.0); + const CCTK_REAL_VEC kfourthird CCTK_ATTRIBUTE_UNUSED = ToReal(4.0/3.0); + const CCTK_REAL_VEC keightthird CCTK_ATTRIBUTE_UNUSED = ToReal(8.0/3.0); + const CCTK_REAL_VEC hdxi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dxi); + const CCTK_REAL_VEC hdyi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dyi); + const CCTK_REAL_VEC hdzi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dzi); /* Initialize predefined quantities */ - CCTK_REAL_VEC /*const*/ p1o1024dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dx); - CCTK_REAL_VEC /*const*/ p1o1024dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dy); - CCTK_REAL_VEC /*const*/ p1o1024dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dz); - CCTK_REAL_VEC /*const*/ p1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dx); - CCTK_REAL_VEC /*const*/ p1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dy); - CCTK_REAL_VEC /*const*/ p1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dz); - CCTK_REAL_VEC /*const*/ p1o12dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dx); - CCTK_REAL_VEC /*const*/ p1o12dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dy); - CCTK_REAL_VEC /*const*/ p1o12dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dz); - CCTK_REAL_VEC /*const*/ p1o144dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o144dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o144dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o1680dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dx); - CCTK_REAL_VEC /*const*/ p1o1680dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dy); - CCTK_REAL_VEC /*const*/ p1o1680dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dz); - CCTK_REAL_VEC /*const*/ p1o180dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ p1o180dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ p1o180dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ p1o24dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dx); - CCTK_REAL_VEC /*const*/ p1o24dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dy); - CCTK_REAL_VEC /*const*/ p1o24dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dz); - CCTK_REAL_VEC /*const*/ p1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dx); - CCTK_REAL_VEC /*const*/ p1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dy); - CCTK_REAL_VEC /*const*/ p1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dz); - CCTK_REAL_VEC /*const*/ p1o3600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o3600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o3600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dx); - CCTK_REAL_VEC /*const*/ p1o4dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o4dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dy); - CCTK_REAL_VEC /*const*/ p1o4dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dz); - CCTK_REAL_VEC /*const*/ p1o5040dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ p1o5040dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ p1o5040dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ p1o560dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dx); - CCTK_REAL_VEC /*const*/ p1o560dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dy); - CCTK_REAL_VEC /*const*/ p1o560dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dz); - CCTK_REAL_VEC /*const*/ p1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dx); - CCTK_REAL_VEC /*const*/ p1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dy); - CCTK_REAL_VEC /*const*/ p1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dz); - CCTK_REAL_VEC /*const*/ p1o64dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dx); - CCTK_REAL_VEC /*const*/ p1o64dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dy); - CCTK_REAL_VEC /*const*/ p1o64dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dz); - CCTK_REAL_VEC /*const*/ p1o705600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o705600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o705600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o840dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dx); - CCTK_REAL_VEC /*const*/ p1o840dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dy); - CCTK_REAL_VEC /*const*/ p1o840dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dz); - CCTK_REAL_VEC /*const*/ p1odx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dx); - CCTK_REAL_VEC /*const*/ p1odx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ p1ody CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dy); - CCTK_REAL_VEC /*const*/ p1ody2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ p1odz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dz); - CCTK_REAL_VEC /*const*/ p1odz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ pm1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dx); - CCTK_REAL_VEC /*const*/ pm1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dy); - CCTK_REAL_VEC /*const*/ pm1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dz); - CCTK_REAL_VEC /*const*/ pm1o12dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ pm1o12dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ pm1o12dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ pm1o16dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dx); - CCTK_REAL_VEC /*const*/ pm1o16dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dy); - CCTK_REAL_VEC /*const*/ pm1o16dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dz); - CCTK_REAL_VEC /*const*/ pm1o256dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dx); - CCTK_REAL_VEC /*const*/ pm1o256dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dy); - CCTK_REAL_VEC /*const*/ pm1o256dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dz); - CCTK_REAL_VEC /*const*/ pm1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dx); - CCTK_REAL_VEC /*const*/ pm1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dy); - CCTK_REAL_VEC /*const*/ pm1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dz); - CCTK_REAL_VEC /*const*/ pm1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dx); - CCTK_REAL_VEC /*const*/ pm1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dy); - CCTK_REAL_VEC /*const*/ pm1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dz); - CCTK_REAL_VEC /*const*/ pm1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dx); - CCTK_REAL_VEC /*const*/ pm1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dy); - CCTK_REAL_VEC /*const*/ pm1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dz); + const CCTK_REAL_VEC p1o1024dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dx); + const CCTK_REAL_VEC p1o1024dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dy); + const CCTK_REAL_VEC p1o1024dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dz); + const CCTK_REAL_VEC p1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dx); + const CCTK_REAL_VEC p1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dy); + const CCTK_REAL_VEC p1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dz); + const CCTK_REAL_VEC p1o12dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dx); + const CCTK_REAL_VEC p1o12dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dy); + const CCTK_REAL_VEC p1o12dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dz); + const CCTK_REAL_VEC p1o144dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dy,dx)); + const CCTK_REAL_VEC p1o144dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dx)); + const CCTK_REAL_VEC p1o144dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dy)); + const CCTK_REAL_VEC p1o1680dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dx); + const CCTK_REAL_VEC p1o1680dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dy); + const CCTK_REAL_VEC p1o1680dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dz); + const CCTK_REAL_VEC p1o180dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dx,dx)); + const CCTK_REAL_VEC p1o180dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dy,dy)); + const CCTK_REAL_VEC p1o180dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dz,dz)); + const CCTK_REAL_VEC p1o24dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dx); + const CCTK_REAL_VEC p1o24dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dy); + const CCTK_REAL_VEC p1o24dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dz); + const CCTK_REAL_VEC p1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dx); + const CCTK_REAL_VEC p1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dy); + const CCTK_REAL_VEC p1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dz); + const CCTK_REAL_VEC p1o3600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dy,dx)); + const CCTK_REAL_VEC p1o3600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dx)); + const CCTK_REAL_VEC p1o3600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dy)); + const CCTK_REAL_VEC p1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dx); + const CCTK_REAL_VEC p1o4dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dy,dx)); + const CCTK_REAL_VEC p1o4dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dx)); + const CCTK_REAL_VEC p1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dy); + const CCTK_REAL_VEC p1o4dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dy)); + const CCTK_REAL_VEC p1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dz); + const CCTK_REAL_VEC p1o5040dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dx,dx)); + const CCTK_REAL_VEC p1o5040dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dy,dy)); + const CCTK_REAL_VEC p1o5040dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dz,dz)); + const CCTK_REAL_VEC p1o560dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dx); + const CCTK_REAL_VEC p1o560dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dy); + const CCTK_REAL_VEC p1o560dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dz); + const CCTK_REAL_VEC p1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dx); + const CCTK_REAL_VEC p1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dy); + const CCTK_REAL_VEC p1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dz); + const CCTK_REAL_VEC p1o64dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dx); + const CCTK_REAL_VEC p1o64dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dy); + const CCTK_REAL_VEC p1o64dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dz); + const CCTK_REAL_VEC p1o705600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dy,dx)); + const CCTK_REAL_VEC p1o705600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dx)); + const CCTK_REAL_VEC p1o705600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dy)); + const CCTK_REAL_VEC p1o840dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dx); + const CCTK_REAL_VEC p1o840dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dy); + const CCTK_REAL_VEC p1o840dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dz); + const CCTK_REAL_VEC p1odx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dx); + const CCTK_REAL_VEC p1odx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dx,dx)); + const CCTK_REAL_VEC p1ody CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dy); + const CCTK_REAL_VEC p1ody2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dy,dy)); + const CCTK_REAL_VEC p1odz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dz); + const CCTK_REAL_VEC p1odz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dz,dz)); + const CCTK_REAL_VEC pm1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dx); + const CCTK_REAL_VEC pm1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dy); + const CCTK_REAL_VEC pm1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dz); + const CCTK_REAL_VEC pm1o12dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dx,dx)); + const CCTK_REAL_VEC pm1o12dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dy,dy)); + const CCTK_REAL_VEC pm1o12dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dz,dz)); + const CCTK_REAL_VEC pm1o16dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dx); + const CCTK_REAL_VEC pm1o16dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dy); + const CCTK_REAL_VEC pm1o16dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dz); + const CCTK_REAL_VEC pm1o256dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dx); + const CCTK_REAL_VEC pm1o256dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dy); + const CCTK_REAL_VEC pm1o256dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dz); + const CCTK_REAL_VEC pm1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dx); + const CCTK_REAL_VEC pm1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dy); + const CCTK_REAL_VEC pm1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dz); + const CCTK_REAL_VEC pm1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dx); + const CCTK_REAL_VEC pm1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dy); + const CCTK_REAL_VEC pm1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dz); + const CCTK_REAL_VEC pm1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dx); + const CCTK_REAL_VEC pm1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dy); + const CCTK_REAL_VEC pm1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dz); /* Jacobian variable pointers */ - bool const use_jacobian CCTK_ATTRIBUTE_UNUSED = (!CCTK_IsFunctionAliased("MultiPatch_GetMap") || MultiPatch_GetMap(cctkGH) != jacobian_identity_map) - && strlen(jacobian_group) > 0; - if (use_jacobian && strlen(jacobian_derivative_group) == 0) + const bool use_jacobian1 = (!CCTK_IsFunctionAliased("MultiPatch_GetMap") || MultiPatch_GetMap(cctkGH) != jacobian_identity_map) + && strlen(jacobian_group) > 0; + const bool use_jacobian = assume_use_jacobian>=0 ? assume_use_jacobian : use_jacobian1; + const bool usejacobian CCTK_ATTRIBUTE_UNUSED = use_jacobian; + if (use_jacobian && (strlen(jacobian_determinant_group) == 0 || strlen(jacobian_inverse_group) == 0 || strlen(jacobian_derivative_group) == 0)) { - CCTK_WARN (1, "GenericFD::jacobian_group and GenericFD::jacobian_derivative_group must both be set to valid group names"); + CCTK_WARN(1, "GenericFD::jacobian_group, GenericFD::jacobian_determinant_group, GenericFD::jacobian_inverse_group, and GenericFD::jacobian_derivative_group must all be set to valid group names"); } - CCTK_REAL const *restrict jacobian_ptrs[9]; + const CCTK_REAL* restrict jacobian_ptrs[9]; if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_group, 9, jacobian_ptrs); - CCTK_REAL const *restrict const J11 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[0] : 0; - CCTK_REAL const *restrict const J12 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[1] : 0; - CCTK_REAL const *restrict const J13 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[2] : 0; - CCTK_REAL const *restrict const J21 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[3] : 0; - CCTK_REAL const *restrict const J22 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[4] : 0; - CCTK_REAL const *restrict const J23 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[5] : 0; - CCTK_REAL const *restrict const J31 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[6] : 0; - CCTK_REAL const *restrict const J32 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[7] : 0; - CCTK_REAL const *restrict const J33 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[8] : 0; + const CCTK_REAL* restrict const J11 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[0] : 0; + const CCTK_REAL* restrict const J12 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[1] : 0; + const CCTK_REAL* restrict const J13 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[2] : 0; + const CCTK_REAL* restrict const J21 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[3] : 0; + const CCTK_REAL* restrict const J22 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[4] : 0; + const CCTK_REAL* restrict const J23 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[5] : 0; + const CCTK_REAL* restrict const J31 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[6] : 0; + const CCTK_REAL* restrict const J32 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[7] : 0; + const CCTK_REAL* restrict const J33 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[8] : 0; + + const CCTK_REAL* restrict jacobian_determinant_ptrs[1] CCTK_ATTRIBUTE_UNUSED; + if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_determinant_group, + 1, jacobian_determinant_ptrs); + + const CCTK_REAL* restrict const detJ CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[0] : 0; - CCTK_REAL const *restrict jacobian_derivative_ptrs[18] CCTK_ATTRIBUTE_UNUSED; + const CCTK_REAL* restrict jacobian_inverse_ptrs[9] CCTK_ATTRIBUTE_UNUSED; + if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_inverse_group, + 9, jacobian_inverse_ptrs); + + const CCTK_REAL* restrict const iJ11 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[0] : 0; + const CCTK_REAL* restrict const iJ12 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[1] : 0; + const CCTK_REAL* restrict const iJ13 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[2] : 0; + const CCTK_REAL* restrict const iJ21 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[3] : 0; + const CCTK_REAL* restrict const iJ22 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[4] : 0; + const CCTK_REAL* restrict const iJ23 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[5] : 0; + const CCTK_REAL* restrict const iJ31 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[6] : 0; + const CCTK_REAL* restrict const iJ32 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[7] : 0; + const CCTK_REAL* restrict const iJ33 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[8] : 0; + + const CCTK_REAL* restrict jacobian_derivative_ptrs[18] CCTK_ATTRIBUTE_UNUSED; if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_derivative_group, 18, jacobian_derivative_ptrs); - CCTK_REAL const *restrict const dJ111 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[0] : 0; - CCTK_REAL const *restrict const dJ112 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[1] : 0; - CCTK_REAL const *restrict const dJ113 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[2] : 0; - CCTK_REAL const *restrict const dJ122 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[3] : 0; - CCTK_REAL const *restrict const dJ123 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[4] : 0; - CCTK_REAL const *restrict const dJ133 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[5] : 0; - CCTK_REAL const *restrict const dJ211 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[6] : 0; - CCTK_REAL const *restrict const dJ212 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[7] : 0; - CCTK_REAL const *restrict const dJ213 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[8] : 0; - CCTK_REAL const *restrict const dJ222 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[9] : 0; - CCTK_REAL const *restrict const dJ223 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[10] : 0; - CCTK_REAL const *restrict const dJ233 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[11] : 0; - CCTK_REAL const *restrict const dJ311 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[12] : 0; - CCTK_REAL const *restrict const dJ312 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[13] : 0; - CCTK_REAL const *restrict const dJ313 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[14] : 0; - CCTK_REAL const *restrict const dJ322 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[15] : 0; - CCTK_REAL const *restrict const dJ323 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[16] : 0; - CCTK_REAL const *restrict const dJ333 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[17] : 0; + const CCTK_REAL* restrict const dJ111 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[0] : 0; + const CCTK_REAL* restrict const dJ112 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[1] : 0; + const CCTK_REAL* restrict const dJ113 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[2] : 0; + const CCTK_REAL* restrict const dJ122 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[3] : 0; + const CCTK_REAL* restrict const dJ123 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[4] : 0; + const CCTK_REAL* restrict const dJ133 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[5] : 0; + const CCTK_REAL* restrict const dJ211 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[6] : 0; + const CCTK_REAL* restrict const dJ212 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[7] : 0; + const CCTK_REAL* restrict const dJ213 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[8] : 0; + const CCTK_REAL* restrict const dJ222 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[9] : 0; + const CCTK_REAL* restrict const dJ223 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[10] : 0; + const CCTK_REAL* restrict const dJ233 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[11] : 0; + const CCTK_REAL* restrict const dJ311 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[12] : 0; + const CCTK_REAL* restrict const dJ312 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[13] : 0; + const CCTK_REAL* restrict const dJ313 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[14] : 0; + const CCTK_REAL* restrict const dJ322 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[15] : 0; + const CCTK_REAL* restrict const dJ323 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[16] : 0; + const CCTK_REAL* restrict const dJ333 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[17] : 0; /* Assign local copies of arrays functions */ @@ -229,13 +253,20 @@ static void ML_CCZ4_RHS1_Body(cGH const * restrict const cctkGH, int const dir, /* 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_CCZ4_RHS1, - 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 */ @@ -269,7 +300,7 @@ static void ML_CCZ4_RHS1_Body(cGH const * restrict const cctkGH, int const dir, CCTK_REAL_VEC eTttL, eTtxL, eTtyL, eTtzL, eTxxL, eTxyL, eTxzL, eTyyL, eTyzL, eTzzL CCTK_ATTRIBUTE_UNUSED ; - if (*stress_energy_state) + if (assume_stress_energy_state>=0 ? assume_stress_energy_state : *stress_energy_state) { eTttL = vec_load(eTtt[index]); eTtxL = vec_load(eTtx[index]); @@ -332,124 +363,125 @@ static void ML_CCZ4_RHS1_Body(cGH const * restrict const cctkGH, int const dir, /* 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 PDstandardNth11beta1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth22beta1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth33beta1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth12beta1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth13beta1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth23beta1 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 PDstandardNth11beta2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth22beta2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth33beta2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth12beta2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth13beta2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth23beta2 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 PDstandardNth11beta3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth22beta3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth33beta3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth12beta3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth13beta3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth23beta3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth1gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth2gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth3gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth11gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth22gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth33gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth12gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth13gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth23gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth1gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth2gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth3gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth11gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth22gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth33gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth12gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth13gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth23gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth1gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth2gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth3gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth11gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth22gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth33gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth12gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth13gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth23gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth1gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth2gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth3gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth11gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth22gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth33gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth12gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth13gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth23gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth1gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth2gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth3gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth11gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth22gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth33gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth12gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth13gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth23gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth1gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth2gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth3gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth11gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth22gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth33gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth12gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth13gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth23gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth1phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth2phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth3phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth11phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth22phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth33phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth12phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth13phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth23phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth1Theta CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth2Theta CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth3Theta CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth1trK CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth2trK CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth3trK CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth1Xt1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth2Xt1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth3Xt1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth1Xt2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth2Xt2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth3Xt2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth1Xt3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth2Xt3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth3Xt3 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 PDstandardNth11beta1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth22beta1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth33beta1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth12beta1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth13beta1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth23beta1 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 PDstandardNth11beta2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth22beta2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth33beta2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth12beta2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth13beta2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth23beta2 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 PDstandardNth11beta3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth22beta3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth33beta3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth12beta3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth13beta3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth23beta3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth11gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth22gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth33gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth12gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth13gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth23gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth11gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth22gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth33gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth12gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth13gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth23gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth11gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth22gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth33gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth12gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth13gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth23gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth11gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth22gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth33gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth12gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth13gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth23gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth11gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth22gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth33gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth12gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth13gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth23gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth11gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth22gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth33gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth12gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth13gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth23gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth11phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth22phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth33phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth12phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth13phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth23phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1Theta CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2Theta CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3Theta CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1trK CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2trK CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3trK CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1Xt1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2Xt1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3Xt1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1Xt2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2Xt2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3Xt2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1Xt3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2Xt3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3Xt3 CCTK_ATTRIBUTE_UNUSED; + + switch (fdOrder) { case 2: + { PDstandardNth1alpha = PDstandardNthfdOrder21(&alpha[index]); PDstandardNth2alpha = PDstandardNthfdOrder22(&alpha[index]); PDstandardNth3alpha = PDstandardNthfdOrder23(&alpha[index]); @@ -565,8 +597,10 @@ static void ML_CCZ4_RHS1_Body(cGH const * restrict const cctkGH, int const dir, PDstandardNth2Xt3 = PDstandardNthfdOrder22(&Xt3[index]); PDstandardNth3Xt3 = PDstandardNthfdOrder23(&Xt3[index]); break; + } case 4: + { PDstandardNth1alpha = PDstandardNthfdOrder41(&alpha[index]); PDstandardNth2alpha = PDstandardNthfdOrder42(&alpha[index]); PDstandardNth3alpha = PDstandardNthfdOrder43(&alpha[index]); @@ -682,8 +716,10 @@ static void ML_CCZ4_RHS1_Body(cGH const * restrict const cctkGH, int const dir, PDstandardNth2Xt3 = PDstandardNthfdOrder42(&Xt3[index]); PDstandardNth3Xt3 = PDstandardNthfdOrder43(&Xt3[index]); break; + } case 6: + { PDstandardNth1alpha = PDstandardNthfdOrder61(&alpha[index]); PDstandardNth2alpha = PDstandardNthfdOrder62(&alpha[index]); PDstandardNth3alpha = PDstandardNthfdOrder63(&alpha[index]); @@ -799,8 +835,10 @@ static void ML_CCZ4_RHS1_Body(cGH const * restrict const cctkGH, int const dir, PDstandardNth2Xt3 = PDstandardNthfdOrder62(&Xt3[index]); PDstandardNth3Xt3 = PDstandardNthfdOrder63(&Xt3[index]); break; + } case 8: + { PDstandardNth1alpha = PDstandardNthfdOrder81(&alpha[index]); PDstandardNth2alpha = PDstandardNthfdOrder82(&alpha[index]); PDstandardNth3alpha = PDstandardNthfdOrder83(&alpha[index]); @@ -916,6 +954,9 @@ static void ML_CCZ4_RHS1_Body(cGH const * restrict const cctkGH, int const dir, PDstandardNth2Xt3 = PDstandardNthfdOrder82(&Xt3[index]); PDstandardNth3Xt3 = PDstandardNthfdOrder83(&Xt3[index]); break; + } + default: + CCTK_BUILTIN_UNREACHABLE(); } /* Calculate temporaries and grid functions */ @@ -925,150 +966,150 @@ static void ML_CCZ4_RHS1_Body(cGH const * restrict const cctkGH, int const dir, ptrdiff_t CCTK_ATTRIBUTE_UNUSED dir3 = kisgn(beta3L); - CCTK_REAL_VEC JacPDstandardNth11alpha CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth11beta1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth11beta2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth11beta3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth11gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth11gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth11gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth11gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth11gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth11gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth11phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth12alpha CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth12beta1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth12beta2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth12beta3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth12gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth12gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth12gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth12gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth12gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth12gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth12phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth13alpha CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth13beta1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth13beta2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth13beta3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth13gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth13gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth13gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth13gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth13gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth13gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth13phi 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 JacPDstandardNth1gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth1gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth1gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth1gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth1gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth1gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth1phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth1Theta CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth1trK CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth1Xt1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth1Xt2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth1Xt3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth21alpha CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth21beta1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth21beta2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth21beta3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth21gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth21gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth21gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth21gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth21gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth21gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth22alpha CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth22beta1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth22beta2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth22beta3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth22gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth22gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth22gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth22gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth22gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth22gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth22phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth23alpha CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth23beta1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth23beta2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth23beta3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth23gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth23gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth23gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth23gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth23gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth23gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth23phi 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 JacPDstandardNth2gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth2gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth2gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth2gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth2gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth2gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth2phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth2Theta CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth2trK CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth2Xt1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth2Xt2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth2Xt3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth31alpha CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth31beta1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth31beta2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth31beta3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth31gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth31gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth31gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth31gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth31gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth31gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth32alpha CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth32beta1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth32beta2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth32beta3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth32gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth32gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth32gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth32gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth32gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth32gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth33alpha CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth33beta1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth33beta2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth33beta3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth33gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth33gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth33gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth33gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth33gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth33gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth33phi 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 JacPDstandardNth3gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth3gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth3gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth3gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth3gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth3gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth3phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth3Theta CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth3trK CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth3Xt1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth3Xt2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth3Xt3 CCTK_ATTRIBUTE_UNUSED ; + CCTK_REAL_VEC JacPDstandardNth11alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth11beta1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth11beta2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth11beta3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth11gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth11gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth11gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth11gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth11gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth11gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth11phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth12alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth12beta1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth12beta2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth12beta3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth12gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth12gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth12gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth12gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth12gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth12gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth12phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth13alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth13beta1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth13beta2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth13beta3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth13gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth13gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth13gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth13gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth13gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth13gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth13phi 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 JacPDstandardNth1gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1Theta CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1trK CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1Xt1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1Xt2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1Xt3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth21alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth21beta1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth21beta2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth21beta3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth21gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth21gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth21gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth21gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth21gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth21gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth22alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth22beta1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth22beta2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth22beta3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth22gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth22gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth22gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth22gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth22gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth22gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth22phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth23alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth23beta1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth23beta2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth23beta3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth23gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth23gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth23gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth23gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth23gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth23gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth23phi 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 JacPDstandardNth2gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2Theta CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2trK CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2Xt1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2Xt2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2Xt3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth31alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth31beta1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth31beta2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth31beta3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth31gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth31gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth31gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth31gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth31gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth31gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth32alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth32beta1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth32beta2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth32beta3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth32gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth32gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth32gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth32gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth32gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth32gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth33alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth33beta1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth33beta2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth33beta3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth33gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth33gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth33gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth33gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth33gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth33gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth33phi 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 JacPDstandardNth3gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3Theta CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3trK CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3Xt1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3Xt2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3Xt3 CCTK_ATTRIBUTE_UNUSED; if (use_jacobian) { @@ -1217,103 +1258,103 @@ static void ML_CCZ4_RHS1_Body(cGH const * restrict const cctkGH, int const dir, kmadd(J13L,PDstandardNth1Xt3,kmadd(J23L,PDstandardNth2Xt3,kmul(J33L,PDstandardNth3Xt3))); JacPDstandardNth11alpha = - kmadd(dJ111L,PDstandardNth1alpha,kmadd(dJ211L,PDstandardNth2alpha,kmadd(dJ311L,PDstandardNth3alpha,kmadd(PDstandardNth11alpha,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)))))))); JacPDstandardNth11beta1 = - kmadd(dJ111L,PDstandardNth1beta1,kmadd(dJ211L,PDstandardNth2beta1,kmadd(dJ311L,PDstandardNth3beta1,kmadd(PDstandardNth11beta1,kmul(J11L,J11L),kmadd(PDstandardNth22beta1,kmul(J21L,J21L),kmadd(PDstandardNth33beta1,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12beta1,kmul(J31L,PDstandardNth13beta1)),kmul(J21L,kmul(J31L,PDstandardNth23beta1))),ToReal(2.)))))))); + kmadd(dJ111L,PDstandardNth1beta1,kmadd(dJ211L,PDstandardNth2beta1,kmadd(dJ311L,PDstandardNth3beta1,kmadd(PDstandardNth11beta1,kmul(J11L,J11L),kmadd(PDstandardNth22beta1,kmul(J21L,J21L),kmadd(PDstandardNth33beta1,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12beta1,kmul(J31L,PDstandardNth13beta1)),kmul(J21L,kmul(J31L,PDstandardNth23beta1))),ToReal(2)))))))); JacPDstandardNth11beta2 = - kmadd(dJ111L,PDstandardNth1beta2,kmadd(dJ211L,PDstandardNth2beta2,kmadd(dJ311L,PDstandardNth3beta2,kmadd(PDstandardNth11beta2,kmul(J11L,J11L),kmadd(PDstandardNth22beta2,kmul(J21L,J21L),kmadd(PDstandardNth33beta2,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12beta2,kmul(J31L,PDstandardNth13beta2)),kmul(J21L,kmul(J31L,PDstandardNth23beta2))),ToReal(2.)))))))); + kmadd(dJ111L,PDstandardNth1beta2,kmadd(dJ211L,PDstandardNth2beta2,kmadd(dJ311L,PDstandardNth3beta2,kmadd(PDstandardNth11beta2,kmul(J11L,J11L),kmadd(PDstandardNth22beta2,kmul(J21L,J21L),kmadd(PDstandardNth33beta2,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12beta2,kmul(J31L,PDstandardNth13beta2)),kmul(J21L,kmul(J31L,PDstandardNth23beta2))),ToReal(2)))))))); JacPDstandardNth11beta3 = - kmadd(dJ111L,PDstandardNth1beta3,kmadd(dJ211L,PDstandardNth2beta3,kmadd(dJ311L,PDstandardNth3beta3,kmadd(PDstandardNth11beta3,kmul(J11L,J11L),kmadd(PDstandardNth22beta3,kmul(J21L,J21L),kmadd(PDstandardNth33beta3,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12beta3,kmul(J31L,PDstandardNth13beta3)),kmul(J21L,kmul(J31L,PDstandardNth23beta3))),ToReal(2.)))))))); + kmadd(dJ111L,PDstandardNth1beta3,kmadd(dJ211L,PDstandardNth2beta3,kmadd(dJ311L,PDstandardNth3beta3,kmadd(PDstandardNth11beta3,kmul(J11L,J11L),kmadd(PDstandardNth22beta3,kmul(J21L,J21L),kmadd(PDstandardNth33beta3,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12beta3,kmul(J31L,PDstandardNth13beta3)),kmul(J21L,kmul(J31L,PDstandardNth23beta3))),ToReal(2)))))))); JacPDstandardNth11gt11 = - kmadd(dJ111L,PDstandardNth1gt11,kmadd(dJ211L,PDstandardNth2gt11,kmadd(dJ311L,PDstandardNth3gt11,kmadd(PDstandardNth11gt11,kmul(J11L,J11L),kmadd(PDstandardNth22gt11,kmul(J21L,J21L),kmadd(PDstandardNth33gt11,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12gt11,kmul(J31L,PDstandardNth13gt11)),kmul(J21L,kmul(J31L,PDstandardNth23gt11))),ToReal(2.)))))))); + kmadd(dJ111L,PDstandardNth1gt11,kmadd(dJ211L,PDstandardNth2gt11,kmadd(dJ311L,PDstandardNth3gt11,kmadd(PDstandardNth11gt11,kmul(J11L,J11L),kmadd(PDstandardNth22gt11,kmul(J21L,J21L),kmadd(PDstandardNth33gt11,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12gt11,kmul(J31L,PDstandardNth13gt11)),kmul(J21L,kmul(J31L,PDstandardNth23gt11))),ToReal(2)))))))); JacPDstandardNth11gt12 = - kmadd(dJ111L,PDstandardNth1gt12,kmadd(dJ211L,PDstandardNth2gt12,kmadd(dJ311L,PDstandardNth3gt12,kmadd(PDstandardNth11gt12,kmul(J11L,J11L),kmadd(PDstandardNth22gt12,kmul(J21L,J21L),kmadd(PDstandardNth33gt12,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12gt12,kmul(J31L,PDstandardNth13gt12)),kmul(J21L,kmul(J31L,PDstandardNth23gt12))),ToReal(2.)))))))); + kmadd(dJ111L,PDstandardNth1gt12,kmadd(dJ211L,PDstandardNth2gt12,kmadd(dJ311L,PDstandardNth3gt12,kmadd(PDstandardNth11gt12,kmul(J11L,J11L),kmadd(PDstandardNth22gt12,kmul(J21L,J21L),kmadd(PDstandardNth33gt12,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12gt12,kmul(J31L,PDstandardNth13gt12)),kmul(J21L,kmul(J31L,PDstandardNth23gt12))),ToReal(2)))))))); JacPDstandardNth11gt13 = - kmadd(dJ111L,PDstandardNth1gt13,kmadd(dJ211L,PDstandardNth2gt13,kmadd(dJ311L,PDstandardNth3gt13,kmadd(PDstandardNth11gt13,kmul(J11L,J11L),kmadd(PDstandardNth22gt13,kmul(J21L,J21L),kmadd(PDstandardNth33gt13,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12gt13,kmul(J31L,PDstandardNth13gt13)),kmul(J21L,kmul(J31L,PDstandardNth23gt13))),ToReal(2.)))))))); + kmadd(dJ111L,PDstandardNth1gt13,kmadd(dJ211L,PDstandardNth2gt13,kmadd(dJ311L,PDstandardNth3gt13,kmadd(PDstandardNth11gt13,kmul(J11L,J11L),kmadd(PDstandardNth22gt13,kmul(J21L,J21L),kmadd(PDstandardNth33gt13,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12gt13,kmul(J31L,PDstandardNth13gt13)),kmul(J21L,kmul(J31L,PDstandardNth23gt13))),ToReal(2)))))))); JacPDstandardNth11gt22 = - kmadd(dJ111L,PDstandardNth1gt22,kmadd(dJ211L,PDstandardNth2gt22,kmadd(dJ311L,PDstandardNth3gt22,kmadd(PDstandardNth11gt22,kmul(J11L,J11L),kmadd(PDstandardNth22gt22,kmul(J21L,J21L),kmadd(PDstandardNth33gt22,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12gt22,kmul(J31L,PDstandardNth13gt22)),kmul(J21L,kmul(J31L,PDstandardNth23gt22))),ToReal(2.)))))))); + kmadd(dJ111L,PDstandardNth1gt22,kmadd(dJ211L,PDstandardNth2gt22,kmadd(dJ311L,PDstandardNth3gt22,kmadd(PDstandardNth11gt22,kmul(J11L,J11L),kmadd(PDstandardNth22gt22,kmul(J21L,J21L),kmadd(PDstandardNth33gt22,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12gt22,kmul(J31L,PDstandardNth13gt22)),kmul(J21L,kmul(J31L,PDstandardNth23gt22))),ToReal(2)))))))); JacPDstandardNth11gt23 = - kmadd(dJ111L,PDstandardNth1gt23,kmadd(dJ211L,PDstandardNth2gt23,kmadd(dJ311L,PDstandardNth3gt23,kmadd(PDstandardNth11gt23,kmul(J11L,J11L),kmadd(PDstandardNth22gt23,kmul(J21L,J21L),kmadd(PDstandardNth33gt23,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12gt23,kmul(J31L,PDstandardNth13gt23)),kmul(J21L,kmul(J31L,PDstandardNth23gt23))),ToReal(2.)))))))); + kmadd(dJ111L,PDstandardNth1gt23,kmadd(dJ211L,PDstandardNth2gt23,kmadd(dJ311L,PDstandardNth3gt23,kmadd(PDstandardNth11gt23,kmul(J11L,J11L),kmadd(PDstandardNth22gt23,kmul(J21L,J21L),kmadd(PDstandardNth33gt23,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12gt23,kmul(J31L,PDstandardNth13gt23)),kmul(J21L,kmul(J31L,PDstandardNth23gt23))),ToReal(2)))))))); JacPDstandardNth11gt33 = - kmadd(dJ111L,PDstandardNth1gt33,kmadd(dJ211L,PDstandardNth2gt33,kmadd(dJ311L,PDstandardNth3gt33,kmadd(PDstandardNth11gt33,kmul(J11L,J11L),kmadd(PDstandardNth22gt33,kmul(J21L,J21L),kmadd(PDstandardNth33gt33,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12gt33,kmul(J31L,PDstandardNth13gt33)),kmul(J21L,kmul(J31L,PDstandardNth23gt33))),ToReal(2.)))))))); + kmadd(dJ111L,PDstandardNth1gt33,kmadd(dJ211L,PDstandardNth2gt33,kmadd(dJ311L,PDstandardNth3gt33,kmadd(PDstandardNth11gt33,kmul(J11L,J11L),kmadd(PDstandardNth22gt33,kmul(J21L,J21L),kmadd(PDstandardNth33gt33,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12gt33,kmul(J31L,PDstandardNth13gt33)),kmul(J21L,kmul(J31L,PDstandardNth23gt33))),ToReal(2)))))))); JacPDstandardNth11phi = - kmadd(dJ111L,PDstandardNth1phi,kmadd(dJ211L,PDstandardNth2phi,kmadd(dJ311L,PDstandardNth3phi,kmadd(PDstandardNth11phi,kmul(J11L,J11L),kmadd(PDstandardNth22phi,kmul(J21L,J21L),kmadd(PDstandardNth33phi,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12phi,kmul(J31L,PDstandardNth13phi)),kmul(J21L,kmul(J31L,PDstandardNth23phi))),ToReal(2.)))))))); + kmadd(dJ111L,PDstandardNth1phi,kmadd(dJ211L,PDstandardNth2phi,kmadd(dJ311L,PDstandardNth3phi,kmadd(PDstandardNth11phi,kmul(J11L,J11L),kmadd(PDstandardNth22phi,kmul(J21L,J21L),kmadd(PDstandardNth33phi,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12phi,kmul(J31L,PDstandardNth13phi)),kmul(J21L,kmul(J31L,PDstandardNth23phi))),ToReal(2)))))))); JacPDstandardNth22alpha = - kmadd(dJ122L,PDstandardNth1alpha,kmadd(dJ222L,PDstandardNth2alpha,kmadd(dJ322L,PDstandardNth3alpha,kmadd(PDstandardNth11alpha,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)))))))); JacPDstandardNth22beta1 = - kmadd(dJ122L,PDstandardNth1beta1,kmadd(dJ222L,PDstandardNth2beta1,kmadd(dJ322L,PDstandardNth3beta1,kmadd(PDstandardNth11beta1,kmul(J12L,J12L),kmadd(PDstandardNth22beta1,kmul(J22L,J22L),kmadd(PDstandardNth33beta1,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12beta1,kmul(J32L,PDstandardNth13beta1)),kmul(J22L,kmul(J32L,PDstandardNth23beta1))),ToReal(2.)))))))); + kmadd(dJ122L,PDstandardNth1beta1,kmadd(dJ222L,PDstandardNth2beta1,kmadd(dJ322L,PDstandardNth3beta1,kmadd(PDstandardNth11beta1,kmul(J12L,J12L),kmadd(PDstandardNth22beta1,kmul(J22L,J22L),kmadd(PDstandardNth33beta1,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12beta1,kmul(J32L,PDstandardNth13beta1)),kmul(J22L,kmul(J32L,PDstandardNth23beta1))),ToReal(2)))))))); JacPDstandardNth22beta2 = - kmadd(dJ122L,PDstandardNth1beta2,kmadd(dJ222L,PDstandardNth2beta2,kmadd(dJ322L,PDstandardNth3beta2,kmadd(PDstandardNth11beta2,kmul(J12L,J12L),kmadd(PDstandardNth22beta2,kmul(J22L,J22L),kmadd(PDstandardNth33beta2,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12beta2,kmul(J32L,PDstandardNth13beta2)),kmul(J22L,kmul(J32L,PDstandardNth23beta2))),ToReal(2.)))))))); + kmadd(dJ122L,PDstandardNth1beta2,kmadd(dJ222L,PDstandardNth2beta2,kmadd(dJ322L,PDstandardNth3beta2,kmadd(PDstandardNth11beta2,kmul(J12L,J12L),kmadd(PDstandardNth22beta2,kmul(J22L,J22L),kmadd(PDstandardNth33beta2,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12beta2,kmul(J32L,PDstandardNth13beta2)),kmul(J22L,kmul(J32L,PDstandardNth23beta2))),ToReal(2)))))))); JacPDstandardNth22beta3 = - kmadd(dJ122L,PDstandardNth1beta3,kmadd(dJ222L,PDstandardNth2beta3,kmadd(dJ322L,PDstandardNth3beta3,kmadd(PDstandardNth11beta3,kmul(J12L,J12L),kmadd(PDstandardNth22beta3,kmul(J22L,J22L),kmadd(PDstandardNth33beta3,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12beta3,kmul(J32L,PDstandardNth13beta3)),kmul(J22L,kmul(J32L,PDstandardNth23beta3))),ToReal(2.)))))))); + kmadd(dJ122L,PDstandardNth1beta3,kmadd(dJ222L,PDstandardNth2beta3,kmadd(dJ322L,PDstandardNth3beta3,kmadd(PDstandardNth11beta3,kmul(J12L,J12L),kmadd(PDstandardNth22beta3,kmul(J22L,J22L),kmadd(PDstandardNth33beta3,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12beta3,kmul(J32L,PDstandardNth13beta3)),kmul(J22L,kmul(J32L,PDstandardNth23beta3))),ToReal(2)))))))); JacPDstandardNth22gt11 = - kmadd(dJ122L,PDstandardNth1gt11,kmadd(dJ222L,PDstandardNth2gt11,kmadd(dJ322L,PDstandardNth3gt11,kmadd(PDstandardNth11gt11,kmul(J12L,J12L),kmadd(PDstandardNth22gt11,kmul(J22L,J22L),kmadd(PDstandardNth33gt11,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12gt11,kmul(J32L,PDstandardNth13gt11)),kmul(J22L,kmul(J32L,PDstandardNth23gt11))),ToReal(2.)))))))); + kmadd(dJ122L,PDstandardNth1gt11,kmadd(dJ222L,PDstandardNth2gt11,kmadd(dJ322L,PDstandardNth3gt11,kmadd(PDstandardNth11gt11,kmul(J12L,J12L),kmadd(PDstandardNth22gt11,kmul(J22L,J22L),kmadd(PDstandardNth33gt11,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12gt11,kmul(J32L,PDstandardNth13gt11)),kmul(J22L,kmul(J32L,PDstandardNth23gt11))),ToReal(2)))))))); JacPDstandardNth22gt12 = - kmadd(dJ122L,PDstandardNth1gt12,kmadd(dJ222L,PDstandardNth2gt12,kmadd(dJ322L,PDstandardNth3gt12,kmadd(PDstandardNth11gt12,kmul(J12L,J12L),kmadd(PDstandardNth22gt12,kmul(J22L,J22L),kmadd(PDstandardNth33gt12,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12gt12,kmul(J32L,PDstandardNth13gt12)),kmul(J22L,kmul(J32L,PDstandardNth23gt12))),ToReal(2.)))))))); + kmadd(dJ122L,PDstandardNth1gt12,kmadd(dJ222L,PDstandardNth2gt12,kmadd(dJ322L,PDstandardNth3gt12,kmadd(PDstandardNth11gt12,kmul(J12L,J12L),kmadd(PDstandardNth22gt12,kmul(J22L,J22L),kmadd(PDstandardNth33gt12,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12gt12,kmul(J32L,PDstandardNth13gt12)),kmul(J22L,kmul(J32L,PDstandardNth23gt12))),ToReal(2)))))))); JacPDstandardNth22gt13 = - kmadd(dJ122L,PDstandardNth1gt13,kmadd(dJ222L,PDstandardNth2gt13,kmadd(dJ322L,PDstandardNth3gt13,kmadd(PDstandardNth11gt13,kmul(J12L,J12L),kmadd(PDstandardNth22gt13,kmul(J22L,J22L),kmadd(PDstandardNth33gt13,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12gt13,kmul(J32L,PDstandardNth13gt13)),kmul(J22L,kmul(J32L,PDstandardNth23gt13))),ToReal(2.)))))))); + kmadd(dJ122L,PDstandardNth1gt13,kmadd(dJ222L,PDstandardNth2gt13,kmadd(dJ322L,PDstandardNth3gt13,kmadd(PDstandardNth11gt13,kmul(J12L,J12L),kmadd(PDstandardNth22gt13,kmul(J22L,J22L),kmadd(PDstandardNth33gt13,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12gt13,kmul(J32L,PDstandardNth13gt13)),kmul(J22L,kmul(J32L,PDstandardNth23gt13))),ToReal(2)))))))); JacPDstandardNth22gt22 = - kmadd(dJ122L,PDstandardNth1gt22,kmadd(dJ222L,PDstandardNth2gt22,kmadd(dJ322L,PDstandardNth3gt22,kmadd(PDstandardNth11gt22,kmul(J12L,J12L),kmadd(PDstandardNth22gt22,kmul(J22L,J22L),kmadd(PDstandardNth33gt22,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12gt22,kmul(J32L,PDstandardNth13gt22)),kmul(J22L,kmul(J32L,PDstandardNth23gt22))),ToReal(2.)))))))); + kmadd(dJ122L,PDstandardNth1gt22,kmadd(dJ222L,PDstandardNth2gt22,kmadd(dJ322L,PDstandardNth3gt22,kmadd(PDstandardNth11gt22,kmul(J12L,J12L),kmadd(PDstandardNth22gt22,kmul(J22L,J22L),kmadd(PDstandardNth33gt22,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12gt22,kmul(J32L,PDstandardNth13gt22)),kmul(J22L,kmul(J32L,PDstandardNth23gt22))),ToReal(2)))))))); JacPDstandardNth22gt23 = - kmadd(dJ122L,PDstandardNth1gt23,kmadd(dJ222L,PDstandardNth2gt23,kmadd(dJ322L,PDstandardNth3gt23,kmadd(PDstandardNth11gt23,kmul(J12L,J12L),kmadd(PDstandardNth22gt23,kmul(J22L,J22L),kmadd(PDstandardNth33gt23,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12gt23,kmul(J32L,PDstandardNth13gt23)),kmul(J22L,kmul(J32L,PDstandardNth23gt23))),ToReal(2.)))))))); + kmadd(dJ122L,PDstandardNth1gt23,kmadd(dJ222L,PDstandardNth2gt23,kmadd(dJ322L,PDstandardNth3gt23,kmadd(PDstandardNth11gt23,kmul(J12L,J12L),kmadd(PDstandardNth22gt23,kmul(J22L,J22L),kmadd(PDstandardNth33gt23,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12gt23,kmul(J32L,PDstandardNth13gt23)),kmul(J22L,kmul(J32L,PDstandardNth23gt23))),ToReal(2)))))))); JacPDstandardNth22gt33 = - kmadd(dJ122L,PDstandardNth1gt33,kmadd(dJ222L,PDstandardNth2gt33,kmadd(dJ322L,PDstandardNth3gt33,kmadd(PDstandardNth11gt33,kmul(J12L,J12L),kmadd(PDstandardNth22gt33,kmul(J22L,J22L),kmadd(PDstandardNth33gt33,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12gt33,kmul(J32L,PDstandardNth13gt33)),kmul(J22L,kmul(J32L,PDstandardNth23gt33))),ToReal(2.)))))))); + kmadd(dJ122L,PDstandardNth1gt33,kmadd(dJ222L,PDstandardNth2gt33,kmadd(dJ322L,PDstandardNth3gt33,kmadd(PDstandardNth11gt33,kmul(J12L,J12L),kmadd(PDstandardNth22gt33,kmul(J22L,J22L),kmadd(PDstandardNth33gt33,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12gt33,kmul(J32L,PDstandardNth13gt33)),kmul(J22L,kmul(J32L,PDstandardNth23gt33))),ToReal(2)))))))); JacPDstandardNth22phi = - kmadd(dJ122L,PDstandardNth1phi,kmadd(dJ222L,PDstandardNth2phi,kmadd(dJ322L,PDstandardNth3phi,kmadd(PDstandardNth11phi,kmul(J12L,J12L),kmadd(PDstandardNth22phi,kmul(J22L,J22L),kmadd(PDstandardNth33phi,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12phi,kmul(J32L,PDstandardNth13phi)),kmul(J22L,kmul(J32L,PDstandardNth23phi))),ToReal(2.)))))))); + kmadd(dJ122L,PDstandardNth1phi,kmadd(dJ222L,PDstandardNth2phi,kmadd(dJ322L,PDstandardNth3phi,kmadd(PDstandardNth11phi,kmul(J12L,J12L),kmadd(PDstandardNth22phi,kmul(J22L,J22L),kmadd(PDstandardNth33phi,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12phi,kmul(J32L,PDstandardNth13phi)),kmul(J22L,kmul(J32L,PDstandardNth23phi))),ToReal(2)))))))); JacPDstandardNth33alpha = - kmadd(dJ133L,PDstandardNth1alpha,kmadd(dJ233L,PDstandardNth2alpha,kmadd(dJ333L,PDstandardNth3alpha,kmadd(PDstandardNth11alpha,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)))))))); JacPDstandardNth33beta1 = - kmadd(dJ133L,PDstandardNth1beta1,kmadd(dJ233L,PDstandardNth2beta1,kmadd(dJ333L,PDstandardNth3beta1,kmadd(PDstandardNth11beta1,kmul(J13L,J13L),kmadd(PDstandardNth22beta1,kmul(J23L,J23L),kmadd(PDstandardNth33beta1,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12beta1,kmul(J33L,PDstandardNth13beta1)),kmul(J23L,kmul(J33L,PDstandardNth23beta1))),ToReal(2.)))))))); + kmadd(dJ133L,PDstandardNth1beta1,kmadd(dJ233L,PDstandardNth2beta1,kmadd(dJ333L,PDstandardNth3beta1,kmadd(PDstandardNth11beta1,kmul(J13L,J13L),kmadd(PDstandardNth22beta1,kmul(J23L,J23L),kmadd(PDstandardNth33beta1,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12beta1,kmul(J33L,PDstandardNth13beta1)),kmul(J23L,kmul(J33L,PDstandardNth23beta1))),ToReal(2)))))))); JacPDstandardNth33beta2 = - kmadd(dJ133L,PDstandardNth1beta2,kmadd(dJ233L,PDstandardNth2beta2,kmadd(dJ333L,PDstandardNth3beta2,kmadd(PDstandardNth11beta2,kmul(J13L,J13L),kmadd(PDstandardNth22beta2,kmul(J23L,J23L),kmadd(PDstandardNth33beta2,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12beta2,kmul(J33L,PDstandardNth13beta2)),kmul(J23L,kmul(J33L,PDstandardNth23beta2))),ToReal(2.)))))))); + kmadd(dJ133L,PDstandardNth1beta2,kmadd(dJ233L,PDstandardNth2beta2,kmadd(dJ333L,PDstandardNth3beta2,kmadd(PDstandardNth11beta2,kmul(J13L,J13L),kmadd(PDstandardNth22beta2,kmul(J23L,J23L),kmadd(PDstandardNth33beta2,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12beta2,kmul(J33L,PDstandardNth13beta2)),kmul(J23L,kmul(J33L,PDstandardNth23beta2))),ToReal(2)))))))); JacPDstandardNth33beta3 = - kmadd(dJ133L,PDstandardNth1beta3,kmadd(dJ233L,PDstandardNth2beta3,kmadd(dJ333L,PDstandardNth3beta3,kmadd(PDstandardNth11beta3,kmul(J13L,J13L),kmadd(PDstandardNth22beta3,kmul(J23L,J23L),kmadd(PDstandardNth33beta3,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12beta3,kmul(J33L,PDstandardNth13beta3)),kmul(J23L,kmul(J33L,PDstandardNth23beta3))),ToReal(2.)))))))); + kmadd(dJ133L,PDstandardNth1beta3,kmadd(dJ233L,PDstandardNth2beta3,kmadd(dJ333L,PDstandardNth3beta3,kmadd(PDstandardNth11beta3,kmul(J13L,J13L),kmadd(PDstandardNth22beta3,kmul(J23L,J23L),kmadd(PDstandardNth33beta3,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12beta3,kmul(J33L,PDstandardNth13beta3)),kmul(J23L,kmul(J33L,PDstandardNth23beta3))),ToReal(2)))))))); JacPDstandardNth33gt11 = - kmadd(dJ133L,PDstandardNth1gt11,kmadd(dJ233L,PDstandardNth2gt11,kmadd(dJ333L,PDstandardNth3gt11,kmadd(PDstandardNth11gt11,kmul(J13L,J13L),kmadd(PDstandardNth22gt11,kmul(J23L,J23L),kmadd(PDstandardNth33gt11,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12gt11,kmul(J33L,PDstandardNth13gt11)),kmul(J23L,kmul(J33L,PDstandardNth23gt11))),ToReal(2.)))))))); + kmadd(dJ133L,PDstandardNth1gt11,kmadd(dJ233L,PDstandardNth2gt11,kmadd(dJ333L,PDstandardNth3gt11,kmadd(PDstandardNth11gt11,kmul(J13L,J13L),kmadd(PDstandardNth22gt11,kmul(J23L,J23L),kmadd(PDstandardNth33gt11,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12gt11,kmul(J33L,PDstandardNth13gt11)),kmul(J23L,kmul(J33L,PDstandardNth23gt11))),ToReal(2)))))))); JacPDstandardNth33gt12 = - kmadd(dJ133L,PDstandardNth1gt12,kmadd(dJ233L,PDstandardNth2gt12,kmadd(dJ333L,PDstandardNth3gt12,kmadd(PDstandardNth11gt12,kmul(J13L,J13L),kmadd(PDstandardNth22gt12,kmul(J23L,J23L),kmadd(PDstandardNth33gt12,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12gt12,kmul(J33L,PDstandardNth13gt12)),kmul(J23L,kmul(J33L,PDstandardNth23gt12))),ToReal(2.)))))))); + kmadd(dJ133L,PDstandardNth1gt12,kmadd(dJ233L,PDstandardNth2gt12,kmadd(dJ333L,PDstandardNth3gt12,kmadd(PDstandardNth11gt12,kmul(J13L,J13L),kmadd(PDstandardNth22gt12,kmul(J23L,J23L),kmadd(PDstandardNth33gt12,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12gt12,kmul(J33L,PDstandardNth13gt12)),kmul(J23L,kmul(J33L,PDstandardNth23gt12))),ToReal(2)))))))); JacPDstandardNth33gt13 = - kmadd(dJ133L,PDstandardNth1gt13,kmadd(dJ233L,PDstandardNth2gt13,kmadd(dJ333L,PDstandardNth3gt13,kmadd(PDstandardNth11gt13,kmul(J13L,J13L),kmadd(PDstandardNth22gt13,kmul(J23L,J23L),kmadd(PDstandardNth33gt13,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12gt13,kmul(J33L,PDstandardNth13gt13)),kmul(J23L,kmul(J33L,PDstandardNth23gt13))),ToReal(2.)))))))); + kmadd(dJ133L,PDstandardNth1gt13,kmadd(dJ233L,PDstandardNth2gt13,kmadd(dJ333L,PDstandardNth3gt13,kmadd(PDstandardNth11gt13,kmul(J13L,J13L),kmadd(PDstandardNth22gt13,kmul(J23L,J23L),kmadd(PDstandardNth33gt13,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12gt13,kmul(J33L,PDstandardNth13gt13)),kmul(J23L,kmul(J33L,PDstandardNth23gt13))),ToReal(2)))))))); JacPDstandardNth33gt22 = - kmadd(dJ133L,PDstandardNth1gt22,kmadd(dJ233L,PDstandardNth2gt22,kmadd(dJ333L,PDstandardNth3gt22,kmadd(PDstandardNth11gt22,kmul(J13L,J13L),kmadd(PDstandardNth22gt22,kmul(J23L,J23L),kmadd(PDstandardNth33gt22,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12gt22,kmul(J33L,PDstandardNth13gt22)),kmul(J23L,kmul(J33L,PDstandardNth23gt22))),ToReal(2.)))))))); + kmadd(dJ133L,PDstandardNth1gt22,kmadd(dJ233L,PDstandardNth2gt22,kmadd(dJ333L,PDstandardNth3gt22,kmadd(PDstandardNth11gt22,kmul(J13L,J13L),kmadd(PDstandardNth22gt22,kmul(J23L,J23L),kmadd(PDstandardNth33gt22,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12gt22,kmul(J33L,PDstandardNth13gt22)),kmul(J23L,kmul(J33L,PDstandardNth23gt22))),ToReal(2)))))))); JacPDstandardNth33gt23 = - kmadd(dJ133L,PDstandardNth1gt23,kmadd(dJ233L,PDstandardNth2gt23,kmadd(dJ333L,PDstandardNth3gt23,kmadd(PDstandardNth11gt23,kmul(J13L,J13L),kmadd(PDstandardNth22gt23,kmul(J23L,J23L),kmadd(PDstandardNth33gt23,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12gt23,kmul(J33L,PDstandardNth13gt23)),kmul(J23L,kmul(J33L,PDstandardNth23gt23))),ToReal(2.)))))))); + kmadd(dJ133L,PDstandardNth1gt23,kmadd(dJ233L,PDstandardNth2gt23,kmadd(dJ333L,PDstandardNth3gt23,kmadd(PDstandardNth11gt23,kmul(J13L,J13L),kmadd(PDstandardNth22gt23,kmul(J23L,J23L),kmadd(PDstandardNth33gt23,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12gt23,kmul(J33L,PDstandardNth13gt23)),kmul(J23L,kmul(J33L,PDstandardNth23gt23))),ToReal(2)))))))); JacPDstandardNth33gt33 = - kmadd(dJ133L,PDstandardNth1gt33,kmadd(dJ233L,PDstandardNth2gt33,kmadd(dJ333L,PDstandardNth3gt33,kmadd(PDstandardNth11gt33,kmul(J13L,J13L),kmadd(PDstandardNth22gt33,kmul(J23L,J23L),kmadd(PDstandardNth33gt33,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12gt33,kmul(J33L,PDstandardNth13gt33)),kmul(J23L,kmul(J33L,PDstandardNth23gt33))),ToReal(2.)))))))); + kmadd(dJ133L,PDstandardNth1gt33,kmadd(dJ233L,PDstandardNth2gt33,kmadd(dJ333L,PDstandardNth3gt33,kmadd(PDstandardNth11gt33,kmul(J13L,J13L),kmadd(PDstandardNth22gt33,kmul(J23L,J23L),kmadd(PDstandardNth33gt33,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12gt33,kmul(J33L,PDstandardNth13gt33)),kmul(J23L,kmul(J33L,PDstandardNth23gt33))),ToReal(2)))))))); JacPDstandardNth33phi = - kmadd(dJ133L,PDstandardNth1phi,kmadd(dJ233L,PDstandardNth2phi,kmadd(dJ333L,PDstandardNth3phi,kmadd(PDstandardNth11phi,kmul(J13L,J13L),kmadd(PDstandardNth22phi,kmul(J23L,J23L),kmadd(PDstandardNth33phi,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12phi,kmul(J33L,PDstandardNth13phi)),kmul(J23L,kmul(J33L,PDstandardNth23phi))),ToReal(2.)))))))); + kmadd(dJ133L,PDstandardNth1phi,kmadd(dJ233L,PDstandardNth2phi,kmadd(dJ333L,PDstandardNth3phi,kmadd(PDstandardNth11phi,kmul(J13L,J13L),kmadd(PDstandardNth22phi,kmul(J23L,J23L),kmadd(PDstandardNth33phi,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12phi,kmul(J33L,PDstandardNth13phi)),kmul(J23L,kmul(J33L,PDstandardNth23phi))),ToReal(2)))))))); JacPDstandardNth12alpha = kmadd(J12L,kmadd(J11L,PDstandardNth11alpha,kmadd(J21L,PDstandardNth12alpha,kmul(J31L,PDstandardNth13alpha))),kmadd(J11L,kmadd(J22L,PDstandardNth12alpha,kmul(J32L,PDstandardNth13alpha)),kmadd(dJ112L,PDstandardNth1alpha,kmadd(J22L,kmadd(J21L,PDstandardNth22alpha,kmul(J31L,PDstandardNth23alpha)),kmadd(dJ212L,PDstandardNth2alpha,kmadd(J32L,kmadd(J21L,PDstandardNth23alpha,kmul(J31L,PDstandardNth33alpha)),kmul(dJ312L,PDstandardNth3alpha))))))); @@ -1795,25 +1836,25 @@ static void ML_CCZ4_RHS1_Body(cGH const * restrict const cctkGH, int const dir, JacPDstandardNth32gt33 = PDstandardNth23gt33; } - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED detgt = ToReal(1.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED detgt = ToReal(1); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gtu11 = - kdiv(kmadd(gt22L,gt33L,kmul(kmul(gt23L,gt23L),ToReal(-1.))),detgt); + kdiv(kmsub(gt22L,gt33L,kmul(gt23L,gt23L)),detgt); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gtu12 = - kdiv(kmadd(gt13L,gt23L,kmul(gt12L,kmul(gt33L,ToReal(-1.)))),detgt); + kdiv(kmsub(gt13L,gt23L,kmul(gt12L,gt33L)),detgt); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gtu13 = - kdiv(kmadd(gt12L,gt23L,kmul(gt13L,kmul(gt22L,ToReal(-1.)))),detgt); + kdiv(kmsub(gt12L,gt23L,kmul(gt13L,gt22L)),detgt); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gtu22 = - kdiv(kmadd(gt11L,gt33L,kmul(kmul(gt13L,gt13L),ToReal(-1.))),detgt); + kdiv(kmsub(gt11L,gt33L,kmul(gt13L,gt13L)),detgt); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gtu23 = - kdiv(kmadd(gt12L,gt13L,kmul(gt11L,kmul(gt23L,ToReal(-1.)))),detgt); + kdiv(kmsub(gt12L,gt13L,kmul(gt11L,gt23L)),detgt); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gtu33 = - kdiv(kmadd(gt11L,gt22L,kmul(kmul(gt12L,gt12L),ToReal(-1.))),detgt); + kdiv(kmsub(gt11L,gt22L,kmul(gt12L,gt12L)),detgt); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Gtl111 = kmul(JacPDstandardNth1gt11,ToReal(0.5)); @@ -1828,7 +1869,7 @@ static void ML_CCZ4_RHS1_Body(cGH const * restrict const cctkGH, int const dir, kmadd(JacPDstandardNth1gt22,ToReal(-0.5),JacPDstandardNth2gt12); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Gtl123 = - kmul(kadd(JacPDstandardNth2gt13,kmadd(JacPDstandardNth1gt23,ToReal(-1.),JacPDstandardNth3gt12)),ToReal(0.5)); + kmul(kadd(JacPDstandardNth2gt13,ksub(JacPDstandardNth3gt12,JacPDstandardNth1gt23)),ToReal(0.5)); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Gtl133 = kmadd(JacPDstandardNth1gt33,ToReal(-0.5),JacPDstandardNth3gt13); @@ -1840,7 +1881,7 @@ static void ML_CCZ4_RHS1_Body(cGH const * restrict const cctkGH, int const dir, kmul(JacPDstandardNth1gt22,ToReal(0.5)); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Gtl213 = - kmul(kadd(JacPDstandardNth1gt23,kmadd(JacPDstandardNth2gt13,ToReal(-1.),JacPDstandardNth3gt12)),ToReal(0.5)); + kmul(kadd(JacPDstandardNth1gt23,ksub(JacPDstandardNth3gt12,JacPDstandardNth2gt13)),ToReal(0.5)); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Gtl222 = kmul(JacPDstandardNth2gt22,ToReal(0.5)); @@ -1855,7 +1896,7 @@ static void ML_CCZ4_RHS1_Body(cGH const * restrict const cctkGH, int const dir, kmadd(JacPDstandardNth3gt11,ToReal(-0.5),JacPDstandardNth1gt13); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Gtl312 = - kmul(kadd(JacPDstandardNth1gt23,kmadd(JacPDstandardNth3gt12,ToReal(-1.),JacPDstandardNth2gt13)),ToReal(0.5)); + kmul(kadd(JacPDstandardNth1gt23,ksub(JacPDstandardNth2gt13,JacPDstandardNth3gt12)),ToReal(0.5)); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Gtl313 = kmul(JacPDstandardNth1gt33,ToReal(0.5)); @@ -2005,16 +2046,16 @@ static void ML_CCZ4_RHS1_Body(cGH const * restrict const cctkGH, int const dir, kmadd(Gtl133,gtu13,kmadd(Gtl233,gtu23,kmul(Gtl333,gtu33))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Xtn1 = - kmadd(Gt111,gtu11,kmadd(Gt122,gtu22,kmadd(Gt133,gtu33,kmul(kmadd(Gt112,gtu12,kmadd(Gt113,gtu13,kmul(Gt123,gtu23))),ToReal(2.))))); + kmadd(Gt111,gtu11,kmadd(Gt122,gtu22,kmadd(Gt133,gtu33,kmul(kmadd(Gt112,gtu12,kmadd(Gt113,gtu13,kmul(Gt123,gtu23))),ToReal(2))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Xtn2 = - kmadd(Gt211,gtu11,kmadd(Gt222,gtu22,kmadd(Gt233,gtu33,kmul(kmadd(Gt212,gtu12,kmadd(Gt213,gtu13,kmul(Gt223,gtu23))),ToReal(2.))))); + kmadd(Gt211,gtu11,kmadd(Gt222,gtu22,kmadd(Gt233,gtu33,kmul(kmadd(Gt212,gtu12,kmadd(Gt213,gtu13,kmul(Gt223,gtu23))),ToReal(2))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Xtn3 = - kmadd(Gt311,gtu11,kmadd(Gt322,gtu22,kmadd(Gt333,gtu33,kmul(kmadd(Gt312,gtu12,kmadd(Gt313,gtu13,kmul(Gt323,gtu23))),ToReal(2.))))); + kmadd(Gt311,gtu11,kmadd(Gt322,gtu22,kmadd(Gt333,gtu33,kmul(kmadd(Gt312,gtu12,kmadd(Gt313,gtu13,kmul(Gt323,gtu23))),ToReal(2))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED e4phi = IfThen(conformalMethod == - 1.,kdiv(ToReal(1),kmul(phiL,phiL)),kexp(kmul(phiL,ToReal(4.)))); + 1,kdiv(ToReal(1),kmul(phiL,phiL)),kexp(kmul(phiL,ToReal(4)))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED em4phi = kdiv(ToReal(1),e4phi); @@ -2043,34 +2084,34 @@ static void ML_CCZ4_RHS1_Body(cGH const * restrict const cctkGH, int const dir, CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gu33 = kmul(em4phi,gtu33); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Z1 = - kmul(kmadd(gu11,kmadd(gtu11,JacPDstandardNth1gt11,kmadd(gtu12,kadd(JacPDstandardNth1gt12,JacPDstandardNth2gt11),kmadd(gtu22,JacPDstandardNth2gt12,kmadd(gtu13,kadd(JacPDstandardNth1gt13,JacPDstandardNth3gt11),kmadd(gtu23,kadd(JacPDstandardNth2gt13,JacPDstandardNth3gt12),kmadd(gtu33,JacPDstandardNth3gt13,kmul(kmadd(gt11L,Xt1L,kmadd(gt12L,Xt2L,kmul(gt13L,Xt3L))),ToReal(-1.)))))))),kmadd(gu12,kmadd(gtu11,JacPDstandardNth1gt12,kmadd(gtu12,kadd(JacPDstandardNth1gt22,JacPDstandardNth2gt12),kmadd(gtu22,JacPDstandardNth2gt22,kmadd(gtu13,kadd(JacPDstandardNth1gt23,JacPDstandardNth3gt12),kmadd(gtu23,kadd(JacPDstandardNth2gt23,JacPDstandardNth3gt22),kmadd(gtu33,JacPDstandardNth3gt23,kmul(kmadd(gt12L,Xt1L,kmadd(gt22L,Xt2L,kmul(gt23L,Xt3L))),ToReal(-1.)))))))),kmul(gu13,kmadd(gtu11,JacPDstandardNth1gt13,kmadd(gtu12,kadd(JacPDstandardNth1gt23,JacPDstandardNth2gt13),kmadd(gtu22,JacPDstandardNth2gt23,kmadd(gtu13,kadd(JacPDstandardNth1gt33,JacPDstandardNth3gt13),kmadd(gtu23,kadd(JacPDstandardNth2gt33,JacPDstandardNth3gt23),kmadd(gtu33,JacPDstandardNth3gt33,kmul(kmadd(gt13L,Xt1L,kmadd(gt23L,Xt2L,kmul(gt33L,Xt3L))),ToReal(-1.))))))))))),ToReal(-0.5)); + kneg(kmul(kmadd(gu11,kmadd(gtu11,JacPDstandardNth1gt11,kmadd(gtu13,JacPDstandardNth1gt13,kmadd(gtu12,kadd(JacPDstandardNth1gt12,JacPDstandardNth2gt11),kmadd(gtu22,JacPDstandardNth2gt12,kmadd(gtu23,JacPDstandardNth2gt13,kmadd(gtu13,JacPDstandardNth3gt11,kmadd(gtu23,JacPDstandardNth3gt12,kmsub(gtu33,JacPDstandardNth3gt13,kmadd(gt11L,Xt1L,kmadd(gt13L,Xt3L,kmul(gt12L,Xt2L))))))))))),kmadd(gu13,kmadd(gtu11,JacPDstandardNth1gt13,kmadd(gtu13,JacPDstandardNth1gt33,kmadd(gtu12,kadd(JacPDstandardNth1gt23,JacPDstandardNth2gt13),kmadd(gtu22,JacPDstandardNth2gt23,kmadd(gtu23,JacPDstandardNth2gt33,kmadd(gtu13,JacPDstandardNth3gt13,kmadd(gtu23,JacPDstandardNth3gt23,kmsub(gtu33,JacPDstandardNth3gt33,kmadd(gt13L,Xt1L,kmadd(gt33L,Xt3L,kmul(gt23L,Xt2L))))))))))),kmul(gu12,kmadd(gtu11,JacPDstandardNth1gt12,kmadd(gtu13,JacPDstandardNth1gt23,kmadd(gtu12,kadd(JacPDstandardNth1gt22,JacPDstandardNth2gt12),kmadd(gtu22,JacPDstandardNth2gt22,kmadd(gtu23,JacPDstandardNth2gt23,kmadd(gtu13,JacPDstandardNth3gt12,kmadd(gtu23,JacPDstandardNth3gt22,kmsub(gtu33,JacPDstandardNth3gt23,kmadd(gt12L,Xt1L,kmadd(gt23L,Xt3L,kmul(gt22L,Xt2L)))))))))))))),ToReal(0.5))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Z2 = - kmul(kmadd(gu12,kmadd(gtu11,JacPDstandardNth1gt11,kmadd(gtu12,kadd(JacPDstandardNth1gt12,JacPDstandardNth2gt11),kmadd(gtu22,JacPDstandardNth2gt12,kmadd(gtu13,kadd(JacPDstandardNth1gt13,JacPDstandardNth3gt11),kmadd(gtu23,kadd(JacPDstandardNth2gt13,JacPDstandardNth3gt12),kmadd(gtu33,JacPDstandardNth3gt13,kmul(kmadd(gt11L,Xt1L,kmadd(gt12L,Xt2L,kmul(gt13L,Xt3L))),ToReal(-1.)))))))),kmadd(gu22,kmadd(gtu11,JacPDstandardNth1gt12,kmadd(gtu12,kadd(JacPDstandardNth1gt22,JacPDstandardNth2gt12),kmadd(gtu22,JacPDstandardNth2gt22,kmadd(gtu13,kadd(JacPDstandardNth1gt23,JacPDstandardNth3gt12),kmadd(gtu23,kadd(JacPDstandardNth2gt23,JacPDstandardNth3gt22),kmadd(gtu33,JacPDstandardNth3gt23,kmul(kmadd(gt12L,Xt1L,kmadd(gt22L,Xt2L,kmul(gt23L,Xt3L))),ToReal(-1.)))))))),kmul(gu23,kmadd(gtu11,JacPDstandardNth1gt13,kmadd(gtu12,kadd(JacPDstandardNth1gt23,JacPDstandardNth2gt13),kmadd(gtu22,JacPDstandardNth2gt23,kmadd(gtu13,kadd(JacPDstandardNth1gt33,JacPDstandardNth3gt13),kmadd(gtu23,kadd(JacPDstandardNth2gt33,JacPDstandardNth3gt23),kmadd(gtu33,JacPDstandardNth3gt33,kmul(kmadd(gt13L,Xt1L,kmadd(gt23L,Xt2L,kmul(gt33L,Xt3L))),ToReal(-1.))))))))))),ToReal(-0.5)); + kneg(kmul(kmadd(gu12,kmadd(gtu11,JacPDstandardNth1gt11,kmadd(gtu13,JacPDstandardNth1gt13,kmadd(gtu12,kadd(JacPDstandardNth1gt12,JacPDstandardNth2gt11),kmadd(gtu22,JacPDstandardNth2gt12,kmadd(gtu23,JacPDstandardNth2gt13,kmadd(gtu13,JacPDstandardNth3gt11,kmadd(gtu23,JacPDstandardNth3gt12,kmsub(gtu33,JacPDstandardNth3gt13,kmadd(gt11L,Xt1L,kmadd(gt13L,Xt3L,kmul(gt12L,Xt2L))))))))))),kmadd(gu23,kmadd(gtu11,JacPDstandardNth1gt13,kmadd(gtu13,JacPDstandardNth1gt33,kmadd(gtu12,kadd(JacPDstandardNth1gt23,JacPDstandardNth2gt13),kmadd(gtu22,JacPDstandardNth2gt23,kmadd(gtu23,JacPDstandardNth2gt33,kmadd(gtu13,JacPDstandardNth3gt13,kmadd(gtu23,JacPDstandardNth3gt23,kmsub(gtu33,JacPDstandardNth3gt33,kmadd(gt13L,Xt1L,kmadd(gt33L,Xt3L,kmul(gt23L,Xt2L))))))))))),kmul(gu22,kmadd(gtu11,JacPDstandardNth1gt12,kmadd(gtu13,JacPDstandardNth1gt23,kmadd(gtu12,kadd(JacPDstandardNth1gt22,JacPDstandardNth2gt12),kmadd(gtu22,JacPDstandardNth2gt22,kmadd(gtu23,JacPDstandardNth2gt23,kmadd(gtu13,JacPDstandardNth3gt12,kmadd(gtu23,JacPDstandardNth3gt22,kmsub(gtu33,JacPDstandardNth3gt23,kmadd(gt12L,Xt1L,kmadd(gt23L,Xt3L,kmul(gt22L,Xt2L)))))))))))))),ToReal(0.5))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Z3 = - kmul(kmadd(gu13,kmadd(gtu11,JacPDstandardNth1gt11,kmadd(gtu12,kadd(JacPDstandardNth1gt12,JacPDstandardNth2gt11),kmadd(gtu22,JacPDstandardNth2gt12,kmadd(gtu13,kadd(JacPDstandardNth1gt13,JacPDstandardNth3gt11),kmadd(gtu23,kadd(JacPDstandardNth2gt13,JacPDstandardNth3gt12),kmadd(gtu33,JacPDstandardNth3gt13,kmul(kmadd(gt11L,Xt1L,kmadd(gt12L,Xt2L,kmul(gt13L,Xt3L))),ToReal(-1.)))))))),kmadd(gu23,kmadd(gtu11,JacPDstandardNth1gt12,kmadd(gtu12,kadd(JacPDstandardNth1gt22,JacPDstandardNth2gt12),kmadd(gtu22,JacPDstandardNth2gt22,kmadd(gtu13,kadd(JacPDstandardNth1gt23,JacPDstandardNth3gt12),kmadd(gtu23,kadd(JacPDstandardNth2gt23,JacPDstandardNth3gt22),kmadd(gtu33,JacPDstandardNth3gt23,kmul(kmadd(gt12L,Xt1L,kmadd(gt22L,Xt2L,kmul(gt23L,Xt3L))),ToReal(-1.)))))))),kmul(gu33,kmadd(gtu11,JacPDstandardNth1gt13,kmadd(gtu12,kadd(JacPDstandardNth1gt23,JacPDstandardNth2gt13),kmadd(gtu22,JacPDstandardNth2gt23,kmadd(gtu13,kadd(JacPDstandardNth1gt33,JacPDstandardNth3gt13),kmadd(gtu23,kadd(JacPDstandardNth2gt33,JacPDstandardNth3gt23),kmadd(gtu33,JacPDstandardNth3gt33,kmul(kmadd(gt13L,Xt1L,kmadd(gt23L,Xt2L,kmul(gt33L,Xt3L))),ToReal(-1.))))))))))),ToReal(-0.5)); + kneg(kmul(kmadd(gu13,kmadd(gtu11,JacPDstandardNth1gt11,kmadd(gtu13,JacPDstandardNth1gt13,kmadd(gtu12,kadd(JacPDstandardNth1gt12,JacPDstandardNth2gt11),kmadd(gtu22,JacPDstandardNth2gt12,kmadd(gtu23,JacPDstandardNth2gt13,kmadd(gtu13,JacPDstandardNth3gt11,kmadd(gtu23,JacPDstandardNth3gt12,kmsub(gtu33,JacPDstandardNth3gt13,kmadd(gt11L,Xt1L,kmadd(gt13L,Xt3L,kmul(gt12L,Xt2L))))))))))),kmadd(gu33,kmadd(gtu11,JacPDstandardNth1gt13,kmadd(gtu13,JacPDstandardNth1gt33,kmadd(gtu12,kadd(JacPDstandardNth1gt23,JacPDstandardNth2gt13),kmadd(gtu22,JacPDstandardNth2gt23,kmadd(gtu23,JacPDstandardNth2gt33,kmadd(gtu13,JacPDstandardNth3gt13,kmadd(gtu23,JacPDstandardNth3gt23,kmsub(gtu33,JacPDstandardNth3gt33,kmadd(gt13L,Xt1L,kmadd(gt33L,Xt3L,kmul(gt23L,Xt2L))))))))))),kmul(gu23,kmadd(gtu11,JacPDstandardNth1gt12,kmadd(gtu13,JacPDstandardNth1gt23,kmadd(gtu12,kadd(JacPDstandardNth1gt22,JacPDstandardNth2gt12),kmadd(gtu22,JacPDstandardNth2gt22,kmadd(gtu23,JacPDstandardNth2gt23,kmadd(gtu13,JacPDstandardNth3gt12,kmadd(gtu23,JacPDstandardNth3gt22,kmsub(gtu33,JacPDstandardNth3gt23,kmadd(gt12L,Xt1L,kmadd(gt23L,Xt3L,kmul(gt22L,Xt2L)))))))))))))),ToReal(0.5))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Rt11 = - kmadd(Gt211,Gtlu211,kmadd(Gt212,Gtlu212,kmadd(Gt213,Gtlu213,kmadd(Gt311,Gtlu311,kmadd(Gt312,Gtlu312,kmadd(Gt313,Gtlu313,kmadd(gt11L,JacPDstandardNth1Xt1,kmadd(gt12L,JacPDstandardNth1Xt2,kmadd(gt13L,JacPDstandardNth1Xt3,kmadd(Gtl111,Xtn1,kmadd(Gtl112,Xtn2,kmadd(Gtl113,Xtn3,kmadd(kmadd(gtu11,JacPDstandardNth11gt11,kmadd(gtu12,kadd(JacPDstandardNth12gt11,JacPDstandardNth21gt11),kmadd(gtu22,JacPDstandardNth22gt11,kmadd(gtu13,kadd(JacPDstandardNth13gt11,JacPDstandardNth31gt11),kmadd(gtu23,kadd(JacPDstandardNth23gt11,JacPDstandardNth32gt11),kmul(gtu33,JacPDstandardNth33gt11)))))),ToReal(-0.5),kmadd(kmadd(Gt211,Gtlu121,kmadd(Gt212,Gtlu122,kmadd(Gt213,Gtlu123,kmadd(Gt311,Gtlu131,kmadd(Gt312,Gtlu132,kmul(Gt313,Gtlu133)))))),ToReal(2.),kmul(kmadd(Gt111,Gtlu111,kmadd(Gt112,Gtlu112,kmul(Gt113,Gtlu113))),ToReal(3.)))))))))))))))); + kmadd(Gt211,Gtlu211,kmadd(Gt212,Gtlu212,kmadd(Gt213,Gtlu213,kmadd(Gt311,Gtlu311,kmadd(Gt312,Gtlu312,kmadd(Gt313,Gtlu313,kmadd(gt11L,JacPDstandardNth1Xt1,kmadd(gt12L,JacPDstandardNth1Xt2,kmadd(gt13L,JacPDstandardNth1Xt3,kmadd(Gtl111,Xtn1,kmadd(Gtl112,Xtn2,kmadd(Gtl113,Xtn3,knmsub(kmadd(gtu11,JacPDstandardNth11gt11,kmadd(gtu12,kadd(JacPDstandardNth12gt11,JacPDstandardNth21gt11),kmadd(gtu22,JacPDstandardNth22gt11,kmadd(gtu33,JacPDstandardNth33gt11,kmadd(gtu23,kadd(JacPDstandardNth32gt11,JacPDstandardNth23gt11),kmul(gtu13,kadd(JacPDstandardNth31gt11,JacPDstandardNth13gt11))))))),ToReal(0.5),kmadd(kmadd(Gt211,Gtlu121,kmadd(Gt212,Gtlu122,kmadd(Gt213,Gtlu123,kmadd(Gt311,Gtlu131,kmadd(Gt312,Gtlu132,kmul(Gt313,Gtlu133)))))),ToReal(2),kmul(kmadd(Gt111,Gtlu111,kmadd(Gt112,Gtlu112,kmul(Gt113,Gtlu113))),ToReal(3)))))))))))))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Rt12 = - kmul(ToReal(0.5),kmadd(gt22L,JacPDstandardNth1Xt2,kmadd(gt23L,JacPDstandardNth1Xt3,kmadd(gt11L,JacPDstandardNth2Xt1,kmadd(gt12L,kadd(JacPDstandardNth1Xt1,JacPDstandardNth2Xt2),kmadd(gt13L,JacPDstandardNth2Xt3,kmadd(kadd(Gtl112,Gtl211),Xtn1,kmadd(kadd(Gtl122,Gtl212),Xtn2,kmadd(kadd(Gtl123,Gtl213),Xtn3,kmadd(kmadd(gtu11,JacPDstandardNth11gt12,kmadd(gtu12,kadd(JacPDstandardNth12gt12,JacPDstandardNth21gt12),kmadd(gtu22,JacPDstandardNth22gt12,kmadd(gtu13,kadd(JacPDstandardNth13gt12,JacPDstandardNth31gt12),kmadd(gtu23,kadd(JacPDstandardNth23gt12,JacPDstandardNth32gt12),kmul(gtu33,JacPDstandardNth33gt12)))))),ToReal(-1.),kmadd(kmadd(Gt122,Gtlu112,kmadd(Gt123,Gtlu113,kmadd(kadd(Gt111,Gt212),Gtlu121,kmadd(Gt222,Gtlu122,kmadd(kadd(Gt113,Gt223),Gtlu123,kmadd(Gt322,Gtlu132,kmadd(Gt323,Gtlu133,kmadd(Gt111,Gtlu211,kmadd(Gt112,kadd(Gtlu111,kadd(Gtlu122,Gtlu212)),kmadd(Gt113,Gtlu213,kmadd(Gt311,kadd(Gtlu231,Gtlu321),kmadd(Gt312,kadd(Gtlu131,kadd(Gtlu232,Gtlu322)),kmul(Gt313,kadd(Gtlu233,Gtlu323)))))))))))))),ToReal(2.),kmul(kmadd(Gt211,Gtlu221,kmadd(Gt212,Gtlu222,kmul(Gt213,Gtlu223))),ToReal(4.))))))))))))); + kmul(ToReal(0.5),kmadd(gt12L,JacPDstandardNth1Xt1,kmadd(gt22L,JacPDstandardNth1Xt2,kmadd(gt23L,JacPDstandardNth1Xt3,kmadd(gt11L,JacPDstandardNth2Xt1,kmadd(gt12L,JacPDstandardNth2Xt2,kmadd(gt13L,JacPDstandardNth2Xt3,kmadd(Gtl112,Xtn1,kmadd(Gtl211,Xtn1,kmadd(Gtl122,Xtn2,kmadd(Gtl212,Xtn2,kmadd(Gtl123,Xtn3,kmadd(Gtl213,Xtn3,knmsub(gtu11,JacPDstandardNth11gt12,knmsub(gtu22,JacPDstandardNth22gt12,knmsub(gtu33,JacPDstandardNth33gt12,knmsub(gtu12,kadd(JacPDstandardNth21gt12,JacPDstandardNth12gt12),knmsub(gtu13,kadd(JacPDstandardNth31gt12,JacPDstandardNth13gt12),knmsub(gtu23,kadd(JacPDstandardNth32gt12,JacPDstandardNth23gt12),kmadd(kmadd(Gt122,Gtlu112,kmadd(Gt123,Gtlu113,kmadd(Gt111,Gtlu121,kmadd(Gt212,Gtlu121,kmadd(Gt222,Gtlu122,kmadd(Gt113,Gtlu123,kmadd(Gt223,Gtlu123,kmadd(Gt312,Gtlu131,kmadd(Gt322,Gtlu132,kmadd(Gt323,Gtlu133,kmadd(Gt111,Gtlu211,kmadd(Gt112,kadd(Gtlu111,kadd(Gtlu122,Gtlu212)),kmadd(Gt113,Gtlu213,kmadd(Gt311,Gtlu231,kmadd(Gt312,Gtlu232,kmadd(Gt313,Gtlu233,kmadd(Gt311,Gtlu321,kmadd(Gt312,Gtlu322,kmul(Gt313,Gtlu323))))))))))))))))))),ToReal(2),kmul(kmadd(Gt211,Gtlu221,kmadd(Gt212,Gtlu222,kmul(Gt213,Gtlu223))),ToReal(4)))))))))))))))))))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Rt13 = - kmul(ToReal(0.5),kmadd(gt23L,JacPDstandardNth1Xt2,kmadd(gt33L,JacPDstandardNth1Xt3,kmadd(gt11L,JacPDstandardNth3Xt1,kmadd(gt12L,JacPDstandardNth3Xt2,kmadd(gt13L,kadd(JacPDstandardNth1Xt1,JacPDstandardNth3Xt3),kmadd(kadd(Gtl113,Gtl311),Xtn1,kmadd(kadd(Gtl123,Gtl312),Xtn2,kmadd(kadd(Gtl133,Gtl313),Xtn3,kmadd(kmadd(gtu11,JacPDstandardNth11gt13,kmadd(gtu12,kadd(JacPDstandardNth12gt13,JacPDstandardNth21gt13),kmadd(gtu22,JacPDstandardNth22gt13,kmadd(gtu13,kadd(JacPDstandardNth13gt13,JacPDstandardNth31gt13),kmadd(gtu23,kadd(JacPDstandardNth23gt13,JacPDstandardNth32gt13),kmul(gtu33,JacPDstandardNth33gt13)))))),ToReal(-1.),kmadd(kmadd(Gt123,Gtlu112,kmadd(Gt133,Gtlu113,kmadd(Gt223,Gtlu122,kmadd(Gt233,Gtlu123,kmadd(kadd(Gt111,Gt313),Gtlu131,kmadd(kadd(Gt112,Gt323),Gtlu132,kmadd(Gt333,Gtlu133,kmadd(Gt111,Gtlu311,kmadd(Gt112,Gtlu312,kmadd(Gt113,kadd(Gtlu111,kadd(Gtlu133,Gtlu313)),kmadd(Gt211,kadd(Gtlu231,Gtlu321),kmadd(Gt212,kadd(Gtlu232,Gtlu322),kmul(Gt213,kadd(Gtlu121,kadd(Gtlu233,Gtlu323))))))))))))))),ToReal(2.),kmul(kmadd(Gt311,Gtlu331,kmadd(Gt312,Gtlu332,kmul(Gt313,Gtlu333))),ToReal(4.))))))))))))); + kmul(ToReal(0.5),kmadd(gt13L,JacPDstandardNth1Xt1,kmadd(gt23L,JacPDstandardNth1Xt2,kmadd(gt33L,JacPDstandardNth1Xt3,kmadd(gt11L,JacPDstandardNth3Xt1,kmadd(gt12L,JacPDstandardNth3Xt2,kmadd(gt13L,JacPDstandardNth3Xt3,kmadd(Gtl113,Xtn1,kmadd(Gtl311,Xtn1,kmadd(Gtl123,Xtn2,kmadd(Gtl312,Xtn2,kmadd(Gtl133,Xtn3,kmadd(Gtl313,Xtn3,knmsub(gtu11,JacPDstandardNth11gt13,knmsub(gtu22,JacPDstandardNth22gt13,knmsub(gtu33,JacPDstandardNth33gt13,knmsub(gtu12,kadd(JacPDstandardNth21gt13,JacPDstandardNth12gt13),knmsub(gtu13,kadd(JacPDstandardNth31gt13,JacPDstandardNth13gt13),knmsub(gtu23,kadd(JacPDstandardNth32gt13,JacPDstandardNth23gt13),kmadd(kmadd(Gt123,Gtlu112,kmadd(Gt133,Gtlu113,kmadd(Gt213,Gtlu121,kmadd(Gt223,Gtlu122,kmadd(Gt233,Gtlu123,kmadd(Gt111,Gtlu131,kmadd(Gt313,Gtlu131,kmadd(Gt112,Gtlu132,kmadd(Gt323,Gtlu132,kmadd(Gt333,Gtlu133,kmadd(Gt211,Gtlu231,kmadd(Gt212,Gtlu232,kmadd(Gt213,Gtlu233,kmadd(Gt111,Gtlu311,kmadd(Gt112,Gtlu312,kmadd(Gt113,kadd(Gtlu111,kadd(Gtlu133,Gtlu313)),kmadd(Gt211,Gtlu321,kmadd(Gt212,Gtlu322,kmul(Gt213,Gtlu323))))))))))))))))))),ToReal(2),kmul(kmadd(Gt311,Gtlu331,kmadd(Gt312,Gtlu332,kmul(Gt313,Gtlu333))),ToReal(4)))))))))))))))))))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Rt22 = - kmadd(Gt312,Gtlu321,kmadd(Gt322,Gtlu322,kmadd(Gt323,Gtlu323,kmadd(gt12L,JacPDstandardNth2Xt1,kmadd(gt22L,JacPDstandardNth2Xt2,kmadd(gt23L,JacPDstandardNth2Xt3,kmadd(Gtl212,Xtn1,kmadd(Gtl222,Xtn2,kmadd(Gtl223,Xtn3,kmadd(kmadd(gtu11,JacPDstandardNth11gt22,kmadd(gtu12,kadd(JacPDstandardNth12gt22,JacPDstandardNth21gt22),kmadd(gtu22,JacPDstandardNth22gt22,kmadd(gtu13,kadd(JacPDstandardNth13gt22,JacPDstandardNth31gt22),kmadd(gtu23,kadd(JacPDstandardNth23gt22,JacPDstandardNth32gt22),kmul(gtu33,JacPDstandardNth33gt22)))))),ToReal(-0.5),kmadd(kmadd(Gt312,Gtlu231,kmadd(Gt322,Gtlu232,kmul(Gt323,Gtlu233))),ToReal(2.),kmadd(Gt112,kmadd(Gtlu211,ToReal(2.),Gtlu121),kmadd(Gt122,kmadd(Gtlu212,ToReal(2.),Gtlu122),kmadd(Gt123,kmadd(Gtlu213,ToReal(2.),Gtlu123),kmul(kmadd(Gt212,Gtlu221,kmadd(Gt222,Gtlu222,kmul(Gt223,Gtlu223))),ToReal(3.)))))))))))))))); + kmadd(Gt312,Gtlu321,kmadd(Gt322,Gtlu322,kmadd(Gt323,Gtlu323,kmadd(gt12L,JacPDstandardNth2Xt1,kmadd(gt22L,JacPDstandardNth2Xt2,kmadd(gt23L,JacPDstandardNth2Xt3,kmadd(Gtl212,Xtn1,kmadd(Gtl222,Xtn2,kmadd(Gtl223,Xtn3,knmsub(kmadd(gtu11,JacPDstandardNth11gt22,kmadd(gtu12,kadd(JacPDstandardNth12gt22,JacPDstandardNth21gt22),kmadd(gtu22,JacPDstandardNth22gt22,kmadd(gtu33,JacPDstandardNth33gt22,kmadd(gtu23,kadd(JacPDstandardNth32gt22,JacPDstandardNth23gt22),kmul(gtu13,kadd(JacPDstandardNth31gt22,JacPDstandardNth13gt22))))))),ToReal(0.5),kmadd(kmadd(Gt312,Gtlu231,kmadd(Gt322,Gtlu232,kmul(Gt323,Gtlu233))),ToReal(2),kmadd(Gt112,kmadd(Gtlu211,ToReal(2),Gtlu121),kmadd(Gt122,kmadd(Gtlu212,ToReal(2),Gtlu122),kmadd(Gt123,kmadd(Gtlu213,ToReal(2),Gtlu123),kmul(kmadd(Gt212,Gtlu221,kmadd(Gt222,Gtlu222,kmul(Gt223,Gtlu223))),ToReal(3)))))))))))))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Rt23 = - kmul(ToReal(0.5),kmadd(gt13L,JacPDstandardNth2Xt1,kmadd(gt33L,JacPDstandardNth2Xt3,kmadd(gt12L,JacPDstandardNth3Xt1,kmadd(gt22L,JacPDstandardNth3Xt2,kmadd(gt23L,kadd(JacPDstandardNth2Xt2,JacPDstandardNth3Xt3),kmadd(kadd(Gtl213,Gtl312),Xtn1,kmadd(kadd(Gtl223,Gtl322),Xtn2,kmadd(kadd(Gtl233,Gtl323),Xtn3,kmadd(kmadd(gtu11,JacPDstandardNth11gt23,kmadd(gtu12,kadd(JacPDstandardNth12gt23,JacPDstandardNth21gt23),kmadd(gtu22,JacPDstandardNth22gt23,kmadd(gtu13,kadd(JacPDstandardNth13gt23,JacPDstandardNth31gt23),kmadd(gtu23,kadd(JacPDstandardNth23gt23,JacPDstandardNth32gt23),kmul(gtu33,JacPDstandardNth33gt23)))))),ToReal(-1.),kmadd(kmadd(Gt113,Gtlu211,kmadd(Gt133,Gtlu213,kmadd(Gt213,Gtlu221,kmadd(Gt233,Gtlu223,kmadd(kadd(Gt212,Gt313),Gtlu231,kmadd(kadd(Gt222,Gt323),Gtlu232,kmadd(Gt333,Gtlu233,kmadd(Gt112,kadd(Gtlu131,Gtlu311),kmadd(Gt122,kadd(Gtlu132,Gtlu312),kmadd(Gt123,kadd(Gtlu133,kadd(Gtlu212,Gtlu313)),kmadd(Gt212,Gtlu321,kmadd(Gt222,Gtlu322,kmul(Gt223,kadd(Gtlu222,kadd(Gtlu233,Gtlu323))))))))))))))),ToReal(2.),kmul(kmadd(Gt312,Gtlu331,kmadd(Gt322,Gtlu332,kmul(Gt323,Gtlu333))),ToReal(4.))))))))))))); + kmul(ToReal(0.5),kmadd(gt13L,JacPDstandardNth2Xt1,kmadd(gt23L,JacPDstandardNth2Xt2,kmadd(gt33L,JacPDstandardNth2Xt3,kmadd(gt12L,JacPDstandardNth3Xt1,kmadd(gt22L,JacPDstandardNth3Xt2,kmadd(gt23L,JacPDstandardNth3Xt3,kmadd(Gtl213,Xtn1,kmadd(Gtl312,Xtn1,kmadd(Gtl223,Xtn2,kmadd(Gtl322,Xtn2,kmadd(Gtl233,Xtn3,kmadd(Gtl323,Xtn3,knmsub(gtu11,JacPDstandardNth11gt23,knmsub(gtu22,JacPDstandardNth22gt23,knmsub(gtu33,JacPDstandardNth33gt23,knmsub(gtu12,kadd(JacPDstandardNth21gt23,JacPDstandardNth12gt23),knmsub(gtu13,kadd(JacPDstandardNth31gt23,JacPDstandardNth13gt23),knmsub(gtu23,kadd(JacPDstandardNth32gt23,JacPDstandardNth23gt23),kmadd(kmadd(Gt123,Gtlu133,kmadd(Gt113,Gtlu211,kmadd(Gt123,Gtlu212,kmadd(Gt133,Gtlu213,kmadd(Gt213,Gtlu221,kmadd(Gt223,Gtlu222,kmadd(Gt233,Gtlu223,kmadd(Gt212,Gtlu231,kmadd(Gt313,Gtlu231,kmadd(Gt222,Gtlu232,kmadd(Gt323,Gtlu232,kmadd(Gt223,Gtlu233,kmadd(Gt333,Gtlu233,kmadd(Gt112,kadd(Gtlu131,Gtlu311),kmadd(Gt122,kadd(Gtlu132,Gtlu312),kmadd(Gt123,Gtlu313,kmadd(Gt212,Gtlu321,kmadd(Gt222,Gtlu322,kmul(Gt223,Gtlu323))))))))))))))))))),ToReal(2),kmul(kmadd(Gt312,Gtlu331,kmadd(Gt322,Gtlu332,kmul(Gt323,Gtlu333))),ToReal(4)))))))))))))))))))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Rt33 = - kmadd(gt13L,JacPDstandardNth3Xt1,kmadd(gt23L,JacPDstandardNth3Xt2,kmadd(gt33L,JacPDstandardNth3Xt3,kmadd(Gtl313,Xtn1,kmadd(Gtl323,Xtn2,kmadd(Gtl333,Xtn3,kmadd(kmadd(gtu11,JacPDstandardNth11gt33,kmadd(gtu12,kadd(JacPDstandardNth12gt33,JacPDstandardNth21gt33),kmadd(gtu22,JacPDstandardNth22gt33,kmadd(gtu13,kadd(JacPDstandardNth13gt33,JacPDstandardNth31gt33),kmadd(gtu23,kadd(JacPDstandardNth23gt33,JacPDstandardNth32gt33),kmul(gtu33,JacPDstandardNth33gt33)))))),ToReal(-0.5),kmadd(Gt113,kmadd(Gtlu311,ToReal(2.),Gtlu131),kmadd(Gt123,kmadd(Gtlu312,ToReal(2.),Gtlu132),kmadd(Gt133,kmadd(Gtlu313,ToReal(2.),Gtlu133),kmadd(Gt213,kmadd(Gtlu321,ToReal(2.),Gtlu231),kmadd(Gt223,kmadd(Gtlu322,ToReal(2.),Gtlu232),kmadd(Gt233,kmadd(Gtlu323,ToReal(2.),Gtlu233),kmul(kmadd(Gt313,Gtlu331,kmadd(Gt323,Gtlu332,kmul(Gt333,Gtlu333))),ToReal(3.))))))))))))))); + kmadd(gt13L,JacPDstandardNth3Xt1,kmadd(gt23L,JacPDstandardNth3Xt2,kmadd(gt33L,JacPDstandardNth3Xt3,kmadd(Gtl313,Xtn1,kmadd(Gtl323,Xtn2,kmadd(Gtl333,Xtn3,knmsub(kmadd(gtu11,JacPDstandardNth11gt33,kmadd(gtu12,kadd(JacPDstandardNth12gt33,JacPDstandardNth21gt33),kmadd(gtu22,JacPDstandardNth22gt33,kmadd(gtu33,JacPDstandardNth33gt33,kmadd(gtu23,kadd(JacPDstandardNth32gt33,JacPDstandardNth23gt33),kmul(gtu13,kadd(JacPDstandardNth31gt33,JacPDstandardNth13gt33))))))),ToReal(0.5),kmadd(Gt113,kmadd(Gtlu311,ToReal(2),Gtlu131),kmadd(Gt123,kmadd(Gtlu312,ToReal(2),Gtlu132),kmadd(Gt133,kmadd(Gtlu313,ToReal(2),Gtlu133),kmadd(Gt213,kmadd(Gtlu321,ToReal(2),Gtlu231),kmadd(Gt223,kmadd(Gtlu322,ToReal(2),Gtlu232),kmadd(Gt233,kmadd(Gtlu323,ToReal(2),Gtlu233),kmul(kmadd(Gt313,Gtlu331,kmadd(Gt323,Gtlu332,kmul(Gt333,Gtlu333))),ToReal(3))))))))))))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED fac1 = IfThen(conformalMethod == - 1.,kdiv(ToReal(-0.5),phiL),ToReal(1.)); + 1,kdiv(ToReal(-0.5),phiL),ToReal(1)); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED cdphi1 = kmul(fac1,JacPDstandardNth1phi); @@ -2082,43 +2123,43 @@ static void ML_CCZ4_RHS1_Body(cGH const * restrict const cctkGH, int const dir, kmul(fac1,JacPDstandardNth3phi); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED fac2 = IfThen(conformalMethod == - 1.,kdiv(ToReal(0.5),kmul(phiL,phiL)),ToReal(0.)); + 1,kdiv(ToReal(0.5),kmul(phiL,phiL)),ToReal(0)); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED cdphi211 = - kmadd(fac2,kmul(JacPDstandardNth1phi,JacPDstandardNth1phi),kmul(fac1,kmadd(kmadd(Gt111,JacPDstandardNth1phi,kmadd(Gt211,JacPDstandardNth2phi,kmul(Gt311,JacPDstandardNth3phi))),ToReal(-1.),JacPDstandardNth11phi))); + kmadd(fac2,kmul(JacPDstandardNth1phi,JacPDstandardNth1phi),kmul(fac1,ksub(JacPDstandardNth11phi,kmadd(Gt111,JacPDstandardNth1phi,kmadd(Gt311,JacPDstandardNth3phi,kmul(Gt211,JacPDstandardNth2phi)))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED cdphi212 = - kmadd(fac2,kmul(JacPDstandardNth1phi,JacPDstandardNth2phi),kmul(fac1,kmadd(kmadd(Gt112,JacPDstandardNth1phi,kmadd(Gt212,JacPDstandardNth2phi,kmul(Gt312,JacPDstandardNth3phi))),ToReal(-1.),JacPDstandardNth12phi))); + kmadd(fac2,kmul(JacPDstandardNth1phi,JacPDstandardNth2phi),kmul(fac1,ksub(JacPDstandardNth12phi,kmadd(Gt112,JacPDstandardNth1phi,kmadd(Gt312,JacPDstandardNth3phi,kmul(Gt212,JacPDstandardNth2phi)))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED cdphi213 = - kmadd(fac2,kmul(JacPDstandardNth1phi,JacPDstandardNth3phi),kmul(fac1,kmadd(kmadd(Gt113,JacPDstandardNth1phi,kmadd(Gt213,JacPDstandardNth2phi,kmul(Gt313,JacPDstandardNth3phi))),ToReal(-1.),JacPDstandardNth13phi))); + kmadd(fac2,kmul(JacPDstandardNth1phi,JacPDstandardNth3phi),kmul(fac1,ksub(JacPDstandardNth13phi,kmadd(Gt113,JacPDstandardNth1phi,kmadd(Gt313,JacPDstandardNth3phi,kmul(Gt213,JacPDstandardNth2phi)))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED cdphi222 = - kmadd(fac2,kmul(JacPDstandardNth2phi,JacPDstandardNth2phi),kmul(fac1,kmul(ToReal(-1.),kmadd(Gt122,JacPDstandardNth1phi,kmadd(Gt222,JacPDstandardNth2phi,kmadd(Gt322,JacPDstandardNth3phi,kmul(JacPDstandardNth22phi,ToReal(-1.)))))))); + kmsub(fac2,kmul(JacPDstandardNth2phi,JacPDstandardNth2phi),kmul(fac1,kmadd(Gt122,JacPDstandardNth1phi,kmadd(Gt222,JacPDstandardNth2phi,kmsub(Gt322,JacPDstandardNth3phi,JacPDstandardNth22phi))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED cdphi223 = - kmadd(fac2,kmul(JacPDstandardNth2phi,JacPDstandardNth3phi),kmul(fac1,kmul(ToReal(-1.),kmadd(Gt123,JacPDstandardNth1phi,kmadd(Gt223,JacPDstandardNth2phi,kmadd(Gt323,JacPDstandardNth3phi,kmul(JacPDstandardNth23phi,ToReal(-1.)))))))); + kmsub(fac2,kmul(JacPDstandardNth2phi,JacPDstandardNth3phi),kmul(fac1,kmadd(Gt123,JacPDstandardNth1phi,kmadd(Gt223,JacPDstandardNth2phi,kmsub(Gt323,JacPDstandardNth3phi,JacPDstandardNth23phi))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED cdphi233 = - kmadd(fac2,kmul(JacPDstandardNth3phi,JacPDstandardNth3phi),kmul(fac1,kmul(ToReal(-1.),kmadd(Gt133,JacPDstandardNth1phi,kmadd(Gt233,JacPDstandardNth2phi,kmadd(Gt333,JacPDstandardNth3phi,kmul(JacPDstandardNth33phi,ToReal(-1.)))))))); + kmsub(fac2,kmul(JacPDstandardNth3phi,JacPDstandardNth3phi),kmul(fac1,kmadd(Gt133,JacPDstandardNth1phi,kmadd(Gt233,JacPDstandardNth2phi,kmsub(Gt333,JacPDstandardNth3phi,JacPDstandardNth33phi))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Rphi11 = - kmul(ToReal(-2.),kadd(cdphi211,kmadd(kmul(cdphi1,cdphi1),kmul(kmadd(gt11L,gtu11,ToReal(-1.)),ToReal(2.)),kmul(gt11L,kmadd(cdphi211,gtu11,kmadd(cdphi233,gtu33,kmadd(kmadd(cdphi212,gtu12,kmadd(cdphi213,gtu13,kmadd(cdphi223,gtu23,kmul(gtu33,kmul(cdphi3,cdphi3))))),ToReal(2.),kmadd(gtu22,kmadd(kmul(cdphi2,cdphi2),ToReal(2.),cdphi222),kmul(kmadd(cdphi1,kmadd(cdphi2,gtu12,kmul(cdphi3,gtu13)),kmul(cdphi2,kmul(cdphi3,gtu23))),ToReal(4.)))))))))); + kmul(ToReal(-2),kadd(cdphi211,kmadd(kmul(cdphi1,cdphi1),kmul(kmadd(gt11L,gtu11,ToReal(-1)),ToReal(2)),kmul(gt11L,kmadd(cdphi211,gtu11,kmadd(cdphi233,gtu33,kmadd(kmadd(cdphi212,gtu12,kmadd(cdphi213,gtu13,kmadd(cdphi223,gtu23,kmul(gtu33,kmul(cdphi3,cdphi3))))),ToReal(2),kmadd(gtu22,kmadd(kmul(cdphi2,cdphi2),ToReal(2),cdphi222),kmul(kmadd(cdphi1,kmadd(cdphi2,gtu12,kmul(cdphi3,gtu13)),kmul(cdphi2,kmul(cdphi3,gtu23))),ToReal(4)))))))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Rphi12 = - kmul(ToReal(-2.),kadd(cdphi212,kmadd(gt12L,kmadd(cdphi211,gtu11,kmadd(kmadd(cdphi212,gtu12,kmadd(cdphi213,gtu13,kmadd(cdphi223,gtu23,kmul(gtu11,kmul(cdphi1,cdphi1))))),ToReal(2.),kmadd(gtu22,kmadd(kmul(cdphi2,cdphi2),ToReal(2.),cdphi222),kmadd(gtu33,kmadd(kmul(cdphi3,cdphi3),ToReal(2.),cdphi233),kmul(cdphi2,kmul(cdphi3,kmul(gtu23,ToReal(4.)))))))),kmul(cdphi1,kmadd(gt12L,kmul(cdphi3,kmul(gtu13,ToReal(4.))),kmul(cdphi2,kmadd(gt12L,kmul(gtu12,ToReal(4.)),ToReal(-2.)))))))); + kmul(ToReal(-2),kadd(cdphi212,kmadd(gt12L,kmadd(cdphi211,gtu11,kmadd(kmadd(cdphi212,gtu12,kmadd(cdphi213,gtu13,kmadd(cdphi223,gtu23,kmul(gtu11,kmul(cdphi1,cdphi1))))),ToReal(2),kmadd(gtu22,kmadd(kmul(cdphi2,cdphi2),ToReal(2),cdphi222),kmadd(gtu33,kmadd(kmul(cdphi3,cdphi3),ToReal(2),cdphi233),kmul(cdphi2,kmul(cdphi3,kmul(gtu23,ToReal(4)))))))),kmul(cdphi1,kmadd(gt12L,kmul(cdphi3,kmul(gtu13,ToReal(4))),kmul(cdphi2,kmadd(gt12L,kmul(gtu12,ToReal(4)),ToReal(-2)))))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Rphi13 = - kmul(ToReal(-2.),kadd(cdphi213,kmadd(gt13L,kmadd(cdphi211,gtu11,kmadd(kmadd(cdphi212,gtu12,kmadd(cdphi213,gtu13,kmadd(cdphi223,gtu23,kmul(gtu11,kmul(cdphi1,cdphi1))))),ToReal(2.),kmadd(gtu22,kmadd(kmul(cdphi2,cdphi2),ToReal(2.),cdphi222),kmadd(gtu33,kmadd(kmul(cdphi3,cdphi3),ToReal(2.),cdphi233),kmul(cdphi2,kmul(cdphi3,kmul(gtu23,ToReal(4.)))))))),kmul(cdphi1,kmadd(gt13L,kmul(cdphi2,kmul(gtu12,ToReal(4.))),kmul(cdphi3,kmadd(gt13L,kmul(gtu13,ToReal(4.)),ToReal(-2.)))))))); + kmul(ToReal(-2),kadd(cdphi213,kmadd(gt13L,kmadd(cdphi211,gtu11,kmadd(kmadd(cdphi212,gtu12,kmadd(cdphi213,gtu13,kmadd(cdphi223,gtu23,kmul(gtu11,kmul(cdphi1,cdphi1))))),ToReal(2),kmadd(gtu22,kmadd(kmul(cdphi2,cdphi2),ToReal(2),cdphi222),kmadd(gtu33,kmadd(kmul(cdphi3,cdphi3),ToReal(2),cdphi233),kmul(cdphi2,kmul(cdphi3,kmul(gtu23,ToReal(4)))))))),kmul(cdphi1,kmadd(gt13L,kmul(cdphi2,kmul(gtu12,ToReal(4))),kmul(cdphi3,kmadd(gt13L,kmul(gtu13,ToReal(4)),ToReal(-2)))))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Rphi22 = - kmul(ToReal(-2.),kadd(cdphi222,kmadd(kmul(cdphi2,cdphi2),kmul(kmadd(gt22L,gtu22,ToReal(-1.)),ToReal(2.)),kmul(gt22L,kmadd(cdphi222,gtu22,kmadd(cdphi233,gtu33,kmadd(kmadd(cdphi212,gtu12,kmadd(cdphi213,gtu13,kmadd(cdphi223,gtu23,kmul(gtu33,kmul(cdphi3,cdphi3))))),ToReal(2.),kmadd(gtu11,kmadd(kmul(cdphi1,cdphi1),ToReal(2.),cdphi211),kmul(kmadd(cdphi1,kmul(cdphi3,gtu13),kmul(cdphi2,kmadd(cdphi1,gtu12,kmul(cdphi3,gtu23)))),ToReal(4.)))))))))); + kmul(ToReal(-2),kadd(cdphi222,kmadd(kmul(cdphi2,cdphi2),kmul(kmadd(gt22L,gtu22,ToReal(-1)),ToReal(2)),kmul(gt22L,kmadd(cdphi222,gtu22,kmadd(cdphi233,gtu33,kmadd(kmadd(cdphi212,gtu12,kmadd(cdphi213,gtu13,kmadd(cdphi223,gtu23,kmul(gtu33,kmul(cdphi3,cdphi3))))),ToReal(2),kmadd(gtu11,kmadd(kmul(cdphi1,cdphi1),ToReal(2),cdphi211),kmul(kmadd(cdphi1,kmul(cdphi3,gtu13),kmul(cdphi2,kmadd(cdphi1,gtu12,kmul(cdphi3,gtu23)))),ToReal(4)))))))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Rphi23 = - kmul(ToReal(-2.),kadd(cdphi223,kmadd(gt23L,kmadd(cdphi222,gtu22,kmadd(kmadd(cdphi212,gtu12,kmadd(cdphi213,gtu13,kmadd(cdphi223,gtu23,kmul(gtu22,kmul(cdphi2,cdphi2))))),ToReal(2.),kmadd(gtu11,kmadd(kmul(cdphi1,cdphi1),ToReal(2.),cdphi211),kmadd(gtu33,kmadd(kmul(cdphi3,cdphi3),ToReal(2.),cdphi233),kmul(cdphi1,kmul(cdphi3,kmul(gtu13,ToReal(4.)))))))),kmul(cdphi2,kmadd(gt23L,kmul(cdphi1,kmul(gtu12,ToReal(4.))),kmul(cdphi3,kmadd(gt23L,kmul(gtu23,ToReal(4.)),ToReal(-2.)))))))); + kmul(ToReal(-2),kadd(cdphi223,kmadd(gt23L,kmadd(cdphi222,gtu22,kmadd(kmadd(cdphi212,gtu12,kmadd(cdphi213,gtu13,kmadd(cdphi223,gtu23,kmul(gtu22,kmul(cdphi2,cdphi2))))),ToReal(2),kmadd(gtu11,kmadd(kmul(cdphi1,cdphi1),ToReal(2),cdphi211),kmadd(gtu33,kmadd(kmul(cdphi3,cdphi3),ToReal(2),cdphi233),kmul(cdphi1,kmul(cdphi3,kmul(gtu13,ToReal(4)))))))),kmul(cdphi2,kmadd(gt23L,kmul(cdphi1,kmul(gtu12,ToReal(4))),kmul(cdphi3,kmadd(gt23L,kmul(gtu23,ToReal(4)),ToReal(-2)))))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Rphi33 = - kmul(ToReal(-2.),kadd(cdphi233,kmadd(kmul(cdphi3,cdphi3),kmul(kmadd(gt33L,gtu33,ToReal(-1.)),ToReal(2.)),kmul(gt33L,kmadd(cdphi233,gtu33,kmadd(kmadd(cdphi213,gtu13,kmul(cdphi223,gtu23)),ToReal(2.),kmadd(gtu11,kmadd(kmul(cdphi1,cdphi1),ToReal(2.),cdphi211),kmadd(gtu22,kmadd(kmul(cdphi2,cdphi2),ToReal(2.),cdphi222),kmadd(cdphi3,kmul(kmadd(cdphi1,gtu13,kmul(cdphi2,gtu23)),ToReal(4.)),kmul(gtu12,kmadd(cdphi212,ToReal(2.),kmul(cdphi1,kmul(cdphi2,ToReal(4.)))))))))))))); + kmul(ToReal(-2),kadd(cdphi233,kmadd(kmul(cdphi3,cdphi3),kmul(kmadd(gt33L,gtu33,ToReal(-1)),ToReal(2)),kmul(gt33L,kmadd(cdphi233,gtu33,kmadd(kmadd(cdphi213,gtu13,kmul(cdphi223,gtu23)),ToReal(2),kmadd(gtu11,kmadd(kmul(cdphi1,cdphi1),ToReal(2),cdphi211),kmadd(gtu22,kmadd(kmul(cdphi2,cdphi2),ToReal(2),cdphi222),kmadd(cdphi3,kmul(kmadd(cdphi1,gtu13,kmul(cdphi2,gtu23)),ToReal(4)),kmul(gtu12,kmadd(cdphi212,ToReal(2),kmul(cdphi1,kmul(cdphi2,ToReal(4)))))))))))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Atm11 = kmadd(At11L,gtu11,kmadd(At12L,gtu12,kmul(At13L,gtu13))); @@ -2178,68 +2219,68 @@ static void ML_CCZ4_RHS1_Body(cGH const * restrict const cctkGH, int const dir, CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED R33 = kadd(Rphi33,Rt33); R11 = - kadd(R11,kmadd(e4phi,kmadd(JacPDstandardNth1gt11,Z1,kmadd(JacPDstandardNth2gt11,Z2,kmul(JacPDstandardNth3gt11,Z3))),kdiv(kmadd(g11,kmul(kmadd(JacPDstandardNth2phi,Z2,kmul(JacPDstandardNth3phi,Z3)),ToReal(-2.)),kmul(JacPDstandardNth1phi,kmadd(g11,kmul(Z1,ToReal(2.)),kmul(kmadd(g12,Z2,kmul(g13,Z3)),ToReal(4.))))),phiL))); + kadd(R11,kmadd(e4phi,kmadd(JacPDstandardNth1gt11,Z1,kmadd(JacPDstandardNth2gt11,Z2,kmul(JacPDstandardNth3gt11,Z3))),kdiv(kmadd(g11,kmul(kmadd(JacPDstandardNth2phi,Z2,kmul(JacPDstandardNth3phi,Z3)),ToReal(-2)),kmul(JacPDstandardNth1phi,kmadd(g11,kmul(Z1,ToReal(2)),kmul(kmadd(g12,Z2,kmul(g13,Z3)),ToReal(4))))),phiL))); R12 = - kdiv(kmadd(phiL,kmadd(e4phi,kmadd(JacPDstandardNth1gt12,Z1,kmadd(JacPDstandardNth2gt12,Z2,kmul(JacPDstandardNth3gt12,Z3))),R12),kmul(kmadd(JacPDstandardNth2phi,kmadd(g11,Z1,kmul(g13,Z3)),kmadd(JacPDstandardNth1phi,kmadd(g22,Z2,kmul(g23,Z3)),kmul(g12,kmul(JacPDstandardNth3phi,kmul(Z3,ToReal(-1.)))))),ToReal(2.))),phiL); + kdiv(kmadd(phiL,kmadd(e4phi,kmadd(JacPDstandardNth1gt12,Z1,kmadd(JacPDstandardNth2gt12,Z2,kmul(JacPDstandardNth3gt12,Z3))),R12),kmul(kmadd(JacPDstandardNth2phi,kmadd(g11,Z1,kmul(g13,Z3)),kmsub(JacPDstandardNth1phi,kmadd(g22,Z2,kmul(g23,Z3)),kmul(g12,kmul(JacPDstandardNth3phi,Z3)))),ToReal(2))),phiL); R13 = - kdiv(kmadd(phiL,kmadd(e4phi,kmadd(JacPDstandardNth1gt13,Z1,kmadd(JacPDstandardNth2gt13,Z2,kmul(JacPDstandardNth3gt13,Z3))),R13),kmul(kmadd(JacPDstandardNth3phi,kmadd(g11,Z1,kmul(g12,Z2)),kmadd(g33,kmul(JacPDstandardNth1phi,Z3),kmul(Z2,kmadd(g23,JacPDstandardNth1phi,kmul(g13,kmul(JacPDstandardNth2phi,ToReal(-1.))))))),ToReal(2.))),phiL); + kdiv(kmadd(phiL,kmadd(e4phi,kmadd(JacPDstandardNth1gt13,Z1,kmadd(JacPDstandardNth2gt13,Z2,kmul(JacPDstandardNth3gt13,Z3))),R13),kmul(kmadd(JacPDstandardNth3phi,kmadd(g11,Z1,kmul(g12,Z2)),kmadd(g33,kmul(JacPDstandardNth1phi,Z3),kmul(Z2,kmsub(g23,JacPDstandardNth1phi,kmul(g13,JacPDstandardNth2phi))))),ToReal(2))),phiL); R22 = - kadd(R22,kmadd(e4phi,kmadd(JacPDstandardNth1gt22,Z1,kmadd(JacPDstandardNth2gt22,Z2,kmul(JacPDstandardNth3gt22,Z3))),kdiv(kmadd(g22,kmul(ToReal(-2.),kmadd(JacPDstandardNth1phi,Z1,kmadd(JacPDstandardNth3phi,Z3,kmul(JacPDstandardNth2phi,kmul(Z2,ToReal(-1.)))))),kmul(JacPDstandardNth2phi,kmul(kmadd(g12,Z1,kmul(g23,Z3)),ToReal(4.)))),phiL))); + kadd(R22,kmadd(e4phi,kmadd(JacPDstandardNth1gt22,Z1,kmadd(JacPDstandardNth2gt22,Z2,kmul(JacPDstandardNth3gt22,Z3))),kdiv(kmadd(g22,kmul(ToReal(-2),kmadd(JacPDstandardNth1phi,Z1,kmsub(JacPDstandardNth3phi,Z3,kmul(JacPDstandardNth2phi,Z2)))),kmul(JacPDstandardNth2phi,kmul(kmadd(g12,Z1,kmul(g23,Z3)),ToReal(4)))),phiL))); R23 = - kdiv(kmadd(phiL,kmadd(e4phi,kmadd(JacPDstandardNth1gt23,Z1,kmadd(JacPDstandardNth2gt23,Z2,kmul(JacPDstandardNth3gt23,Z3))),R23),kmul(kmadd(g22,kmul(JacPDstandardNth3phi,Z2),kmadd(g33,kmul(JacPDstandardNth2phi,Z3),kmul(Z1,kmadd(g13,JacPDstandardNth2phi,kmadd(g12,JacPDstandardNth3phi,kmul(g23,kmul(JacPDstandardNth1phi,ToReal(-1.)))))))),ToReal(2.))),phiL); + kdiv(kmadd(phiL,kmadd(e4phi,kmadd(JacPDstandardNth1gt23,Z1,kmadd(JacPDstandardNth2gt23,Z2,kmul(JacPDstandardNth3gt23,Z3))),R23),kmul(kmadd(g22,kmul(JacPDstandardNth3phi,Z2),kmadd(g33,kmul(JacPDstandardNth2phi,Z3),kmul(Z1,kmadd(g13,JacPDstandardNth2phi,kmsub(g12,JacPDstandardNth3phi,kmul(g23,JacPDstandardNth1phi)))))),ToReal(2))),phiL); R33 = - kadd(R33,kmadd(e4phi,kmadd(JacPDstandardNth1gt33,Z1,kmadd(JacPDstandardNth2gt33,Z2,kmul(JacPDstandardNth3gt33,Z3))),kdiv(kmadd(g33,kmul(ToReal(-2.),kmadd(JacPDstandardNth1phi,Z1,kmadd(JacPDstandardNth2phi,Z2,kmul(JacPDstandardNth3phi,kmul(Z3,ToReal(-1.)))))),kmul(JacPDstandardNth3phi,kmul(kmadd(g13,Z1,kmul(g23,Z2)),ToReal(4.)))),phiL))); + kadd(R33,kmadd(e4phi,kmadd(JacPDstandardNth1gt33,Z1,kmadd(JacPDstandardNth2gt33,Z2,kmul(JacPDstandardNth3gt33,Z3))),kdiv(kmadd(g33,kmul(ToReal(-2),kmadd(JacPDstandardNth1phi,Z1,kmsub(JacPDstandardNth2phi,Z2,kmul(JacPDstandardNth3phi,Z3)))),kmul(JacPDstandardNth3phi,kmul(kmadd(g13,Z1,kmul(g23,Z2)),ToReal(4)))),phiL))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED rho = - kdiv(kadd(eTttL,kmadd(eTxxL,kmul(beta1L,beta1L),kmadd(eTyyL,kmul(beta2L,beta2L),kmadd(eTzzL,kmul(beta3L,beta3L),kmadd(kmadd(beta2L,eTtyL,kmul(beta3L,eTtzL)),ToReal(-2.),kmul(kmadd(beta2L,kmul(beta3L,eTyzL),kmul(beta1L,kmadd(beta2L,eTxyL,kmadd(beta3L,eTxzL,kmul(eTtxL,ToReal(-1.)))))),ToReal(2.))))))),kmul(alphaL,alphaL)); + kdiv(kadd(eTttL,kmadd(eTxxL,kmul(beta1L,beta1L),kmadd(eTyyL,kmul(beta2L,beta2L),kmadd(eTzzL,kmul(beta3L,beta3L),kmadd(kmadd(beta2L,eTtyL,kmul(beta3L,eTtzL)),ToReal(-2),kmul(kmadd(beta2L,kmul(beta3L,eTyzL),kmul(beta1L,kmadd(beta2L,eTxyL,kmsub(beta3L,eTxzL,eTtxL)))),ToReal(2))))))),kmul(alphaL,alphaL)); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED S1 = - kdiv(kmadd(beta1L,eTxxL,kmadd(beta2L,eTxyL,kmadd(beta3L,eTxzL,kmul(eTtxL,ToReal(-1.))))),alphaL); + kdiv(kmadd(beta1L,eTxxL,kmadd(beta2L,eTxyL,kmsub(beta3L,eTxzL,eTtxL))),alphaL); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED S2 = - kdiv(kmadd(beta1L,eTxyL,kmadd(beta2L,eTyyL,kmadd(beta3L,eTyzL,kmul(eTtyL,ToReal(-1.))))),alphaL); + kdiv(kmadd(beta1L,eTxyL,kmadd(beta2L,eTyyL,kmsub(beta3L,eTyzL,eTtyL))),alphaL); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED S3 = - kdiv(kmadd(beta1L,eTxzL,kmadd(beta2L,eTyzL,kmadd(beta3L,eTzzL,kmul(eTtzL,ToReal(-1.))))),alphaL); + kdiv(kmadd(beta1L,eTxzL,kmadd(beta2L,eTyzL,kmsub(beta3L,eTzzL,eTtzL))),alphaL); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED trS = - kmul(em4phi,kmadd(eTxxL,gtu11,kmadd(eTyyL,gtu22,kmadd(eTzzL,gtu33,kmul(kmadd(eTxyL,gtu12,kmadd(eTxzL,gtu13,kmul(eTyzL,gtu23))),ToReal(2.)))))); + kmul(em4phi,kmadd(eTxxL,gtu11,kmadd(eTyyL,gtu22,kmadd(eTzzL,gtu33,kmul(kmadd(eTxyL,gtu12,kmadd(eTxzL,gtu13,kmul(eTyzL,gtu23))),ToReal(2)))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED phirhsL = - kmul(IfThen(conformalMethod == - 1.,kmul(phiL,ToReal(0.333333333333333333333333333333)),ToReal(-0.166666666666666666666666666667)),kmul(ToReal(-1.),kadd(JacPDstandardNth1beta1,kadd(JacPDstandardNth2beta2,kmadd(alphaL,kmul(trKL,ToReal(-1.)),JacPDstandardNth3beta3))))); + kneg(kmul(IfThen(conformalMethod == + 1,kmul(phiL,ToReal(0.333333333333333333333333333333)),ToReal(-0.166666666666666666666666666667)),kadd(JacPDstandardNth1beta1,kadd(JacPDstandardNth2beta2,knmsub(alphaL,trKL,JacPDstandardNth3beta3))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gt11rhsL = - kmadd(gt11L,kmul(kadd(JacPDstandardNth1beta1,kadd(JacPDstandardNth2beta2,JacPDstandardNth3beta3)),ToReal(-0.666666666666666666666666666667)),kmadd(kmadd(gt11L,JacPDstandardNth1beta1,kmadd(gt12L,JacPDstandardNth1beta2,kmul(gt13L,JacPDstandardNth1beta3))),ToReal(2.),kmul(alphaL,kmul(ToReal(-2.),kmadd(gt11L,kmul(ToReal(-0.333333333333333333333333333333),kmadd(At11L,gtu11,kmadd(At22L,gtu22,kmadd(At33L,gtu33,kmul(kmadd(At12L,gtu12,kmadd(At13L,gtu13,kmul(At23L,gtu23))),ToReal(2.)))))),At11L))))); + kmadd(gt11L,kmul(kadd(JacPDstandardNth1beta1,kadd(JacPDstandardNth2beta2,JacPDstandardNth3beta3)),ToReal(-0.666666666666666666666666666667)),kmadd(kmadd(gt11L,JacPDstandardNth1beta1,kmadd(gt12L,JacPDstandardNth1beta2,kmul(gt13L,JacPDstandardNth1beta3))),ToReal(2),kmul(alphaL,kmul(ToReal(-2),kmadd(gt11L,kmul(ToReal(-0.333333333333333333333333333333),kmadd(At11L,gtu11,kmadd(At22L,gtu22,kmadd(At33L,gtu33,kmul(kmadd(At12L,gtu12,kmadd(At13L,gtu13,kmul(At23L,gtu23))),ToReal(2)))))),At11L))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gt12rhsL = - kmadd(gt22L,JacPDstandardNth1beta2,kmadd(gt23L,JacPDstandardNth1beta3,kmadd(gt11L,JacPDstandardNth2beta1,kmadd(gt13L,JacPDstandardNth2beta3,kmadd(gt12L,kadd(JacPDstandardNth1beta1,kmadd(kadd(JacPDstandardNth1beta1,kadd(JacPDstandardNth2beta2,JacPDstandardNth3beta3)),ToReal(-0.666666666666666666666666666667),JacPDstandardNth2beta2)),kmul(alphaL,kmul(ToReal(-2.),kmadd(gt12L,kmul(ToReal(-0.333333333333333333333333333333),kmadd(At11L,gtu11,kmadd(At22L,gtu22,kmadd(At33L,gtu33,kmul(kmadd(At12L,gtu12,kmadd(At13L,gtu13,kmul(At23L,gtu23))),ToReal(2.)))))),At12L)))))))); + kmadd(gt22L,JacPDstandardNth1beta2,kmadd(gt23L,JacPDstandardNth1beta3,kmadd(gt11L,JacPDstandardNth2beta1,kmadd(gt13L,JacPDstandardNth2beta3,kmadd(gt12L,kadd(JacPDstandardNth1beta1,kmadd(kadd(JacPDstandardNth1beta1,kadd(JacPDstandardNth2beta2,JacPDstandardNth3beta3)),ToReal(-0.666666666666666666666666666667),JacPDstandardNth2beta2)),kmul(alphaL,kmul(ToReal(-2),kmadd(gt12L,kmul(ToReal(-0.333333333333333333333333333333),kmadd(At11L,gtu11,kmadd(At22L,gtu22,kmadd(At33L,gtu33,kmul(kmadd(At12L,gtu12,kmadd(At13L,gtu13,kmul(At23L,gtu23))),ToReal(2)))))),At12L)))))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gt13rhsL = - kmadd(gt23L,JacPDstandardNth1beta2,kmadd(gt33L,JacPDstandardNth1beta3,kmadd(gt11L,JacPDstandardNth3beta1,kmadd(gt12L,JacPDstandardNth3beta2,kmadd(gt13L,kadd(JacPDstandardNth1beta1,kmadd(kadd(JacPDstandardNth1beta1,kadd(JacPDstandardNth2beta2,JacPDstandardNth3beta3)),ToReal(-0.666666666666666666666666666667),JacPDstandardNth3beta3)),kmul(alphaL,kmul(ToReal(-2.),kmadd(gt13L,kmul(ToReal(-0.333333333333333333333333333333),kmadd(At11L,gtu11,kmadd(At22L,gtu22,kmadd(At33L,gtu33,kmul(kmadd(At12L,gtu12,kmadd(At13L,gtu13,kmul(At23L,gtu23))),ToReal(2.)))))),At13L)))))))); + kmadd(gt23L,JacPDstandardNth1beta2,kmadd(gt33L,JacPDstandardNth1beta3,kmadd(gt11L,JacPDstandardNth3beta1,kmadd(gt12L,JacPDstandardNth3beta2,kmadd(gt13L,kadd(JacPDstandardNth1beta1,kmadd(kadd(JacPDstandardNth1beta1,kadd(JacPDstandardNth2beta2,JacPDstandardNth3beta3)),ToReal(-0.666666666666666666666666666667),JacPDstandardNth3beta3)),kmul(alphaL,kmul(ToReal(-2),kmadd(gt13L,kmul(ToReal(-0.333333333333333333333333333333),kmadd(At11L,gtu11,kmadd(At22L,gtu22,kmadd(At33L,gtu33,kmul(kmadd(At12L,gtu12,kmadd(At13L,gtu13,kmul(At23L,gtu23))),ToReal(2)))))),At13L)))))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gt22rhsL = - kmadd(gt22L,kmul(kadd(JacPDstandardNth1beta1,kadd(JacPDstandardNth2beta2,JacPDstandardNth3beta3)),ToReal(-0.666666666666666666666666666667)),kmadd(kmadd(gt12L,JacPDstandardNth2beta1,kmadd(gt22L,JacPDstandardNth2beta2,kmul(gt23L,JacPDstandardNth2beta3))),ToReal(2.),kmul(alphaL,kmul(ToReal(-2.),kmadd(gt22L,kmul(ToReal(-0.333333333333333333333333333333),kmadd(At11L,gtu11,kmadd(At22L,gtu22,kmadd(At33L,gtu33,kmul(kmadd(At12L,gtu12,kmadd(At13L,gtu13,kmul(At23L,gtu23))),ToReal(2.)))))),At22L))))); + kmadd(gt22L,kmul(kadd(JacPDstandardNth1beta1,kadd(JacPDstandardNth2beta2,JacPDstandardNth3beta3)),ToReal(-0.666666666666666666666666666667)),kmadd(kmadd(gt12L,JacPDstandardNth2beta1,kmadd(gt22L,JacPDstandardNth2beta2,kmul(gt23L,JacPDstandardNth2beta3))),ToReal(2),kmul(alphaL,kmul(ToReal(-2),kmadd(gt22L,kmul(ToReal(-0.333333333333333333333333333333),kmadd(At11L,gtu11,kmadd(At22L,gtu22,kmadd(At33L,gtu33,kmul(kmadd(At12L,gtu12,kmadd(At13L,gtu13,kmul(At23L,gtu23))),ToReal(2)))))),At22L))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gt23rhsL = - kmadd(gt13L,JacPDstandardNth2beta1,kmadd(gt33L,JacPDstandardNth2beta3,kmadd(gt12L,JacPDstandardNth3beta1,kmadd(gt22L,JacPDstandardNth3beta2,kmadd(gt23L,kadd(JacPDstandardNth2beta2,kmadd(kadd(JacPDstandardNth1beta1,kadd(JacPDstandardNth2beta2,JacPDstandardNth3beta3)),ToReal(-0.666666666666666666666666666667),JacPDstandardNth3beta3)),kmul(alphaL,kmul(ToReal(-2.),kmadd(gt23L,kmul(ToReal(-0.333333333333333333333333333333),kmadd(At11L,gtu11,kmadd(At22L,gtu22,kmadd(At33L,gtu33,kmul(kmadd(At12L,gtu12,kmadd(At13L,gtu13,kmul(At23L,gtu23))),ToReal(2.)))))),At23L)))))))); + kmadd(gt13L,JacPDstandardNth2beta1,kmadd(gt33L,JacPDstandardNth2beta3,kmadd(gt12L,JacPDstandardNth3beta1,kmadd(gt22L,JacPDstandardNth3beta2,kmadd(gt23L,kadd(JacPDstandardNth2beta2,kmadd(kadd(JacPDstandardNth1beta1,kadd(JacPDstandardNth2beta2,JacPDstandardNth3beta3)),ToReal(-0.666666666666666666666666666667),JacPDstandardNth3beta3)),kmul(alphaL,kmul(ToReal(-2),kmadd(gt23L,kmul(ToReal(-0.333333333333333333333333333333),kmadd(At11L,gtu11,kmadd(At22L,gtu22,kmadd(At33L,gtu33,kmul(kmadd(At12L,gtu12,kmadd(At13L,gtu13,kmul(At23L,gtu23))),ToReal(2)))))),At23L)))))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gt33rhsL = - kmadd(gt33L,kmul(kadd(JacPDstandardNth1beta1,kadd(JacPDstandardNth2beta2,JacPDstandardNth3beta3)),ToReal(-0.666666666666666666666666666667)),kmadd(kmadd(gt13L,JacPDstandardNth3beta1,kmadd(gt23L,JacPDstandardNth3beta2,kmul(gt33L,JacPDstandardNth3beta3))),ToReal(2.),kmul(alphaL,kmul(ToReal(-2.),kmadd(gt33L,kmul(ToReal(-0.333333333333333333333333333333),kmadd(At11L,gtu11,kmadd(At22L,gtu22,kmadd(At33L,gtu33,kmul(kmadd(At12L,gtu12,kmadd(At13L,gtu13,kmul(At23L,gtu23))),ToReal(2.)))))),At33L))))); + kmadd(gt33L,kmul(kadd(JacPDstandardNth1beta1,kadd(JacPDstandardNth2beta2,JacPDstandardNth3beta3)),ToReal(-0.666666666666666666666666666667)),kmadd(kmadd(gt13L,JacPDstandardNth3beta1,kmadd(gt23L,JacPDstandardNth3beta2,kmul(gt33L,JacPDstandardNth3beta3))),ToReal(2),kmul(alphaL,kmul(ToReal(-2),kmadd(gt33L,kmul(ToReal(-0.333333333333333333333333333333),kmadd(At11L,gtu11,kmadd(At22L,gtu22,kmadd(At33L,gtu33,kmul(kmadd(At12L,gtu12,kmadd(At13L,gtu13,kmul(At23L,gtu23))),ToReal(2)))))),At33L))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED dotXt1 = - kmadd(gtu11,JacPDstandardNth11beta1,kmadd(gtu12,kadd(JacPDstandardNth12beta1,JacPDstandardNth21beta1),kmadd(gtu22,JacPDstandardNth22beta1,kmadd(gtu13,kadd(JacPDstandardNth13beta1,JacPDstandardNth31beta1),kmadd(gtu23,kadd(JacPDstandardNth23beta1,JacPDstandardNth32beta1),kmadd(gtu33,JacPDstandardNth33beta1,kmadd(alphaL,kmadd(kmadd(gtu11,S1,kmadd(gtu12,S2,kmul(gtu13,S3))),ToReal(-50.26548245743669),kmul(trKL,kmul(e4phi,kmul(Z1,ToReal(-1.33333333333333333333333333333))))),kmadd(kmadd(JacPDstandardNth2beta1,Xtn2,kmul(JacPDstandardNth3beta1,Xtn3)),ToReal(-1.),kmadd(kmadd(gtu11,kadd(JacPDstandardNth11beta1,kadd(JacPDstandardNth12beta2,JacPDstandardNth13beta3)),kmadd(gtu12,kadd(JacPDstandardNth21beta1,kadd(JacPDstandardNth22beta2,JacPDstandardNth23beta3)),kmul(gtu13,kadd(JacPDstandardNth31beta1,kadd(JacPDstandardNth32beta2,JacPDstandardNth33beta3))))),ToReal(0.333333333333333333333333333333),kmadd(Xtn1,kmadd(JacPDstandardNth1beta1,ToReal(-1.),kmul(kadd(JacPDstandardNth1beta1,kadd(JacPDstandardNth2beta2,JacPDstandardNth3beta3)),ToReal(0.666666666666666666666666666667))),kmadd(ToReal(2.),kmadd(ThetaL,kmul(kmadd(gtu11,JacPDstandardNth1alpha,kmadd(gtu12,JacPDstandardNth2alpha,kmul(gtu13,JacPDstandardNth3alpha))),ToReal(-1.)),kmul(alphaL,kmadd(Atu11,Gt111,kmadd(Atu22,Gt122,kmadd(Atu33,Gt133,kmadd(gtu11,JacPDstandardNth1Theta,kmadd(gtu12,JacPDstandardNth2Theta,kmadd(gtu13,JacPDstandardNth3Theta,kmadd(kmadd(gtu11,JacPDstandardNth1trK,kmadd(gtu12,JacPDstandardNth2trK,kmul(gtu13,JacPDstandardNth3trK))),ToReal(-0.666666666666666666666666666667),kmadd(kmadd(Atu12,Gt112,kmadd(Atu13,Gt113,kmul(Atu23,Gt123))),ToReal(2.),kmul(kmadd(Atu11,cdphi1,kmadd(Atu12,cdphi2,kmul(Atu13,cdphi3))),ToReal(6.)))))))))))),kmadd(ToReal(-2.),kmadd(Atu11,JacPDstandardNth1alpha,kmadd(Atu12,JacPDstandardNth2alpha,kmadd(Atu13,JacPDstandardNth3alpha,kmul(alphaL,kmul(e4phi,kmul(Z1,ToReal(dampk1))))))),kmul(e4phi,kmul(ToReal(-0.666666666666666666666666666667),kmul(kmadd(Z1,kmadd(kadd(JacPDstandardNth2beta2,JacPDstandardNth3beta3),ToReal(-2.),JacPDstandardNth1beta1),kmul(kmadd(JacPDstandardNth2beta1,Z2,kmul(JacPDstandardNth3beta1,Z3)),ToReal(3.))),ToReal(GammaShift)))))))))))))))); + kmadd(gtu11,JacPDstandardNth11beta1,kmadd(gtu12,kadd(JacPDstandardNth12beta1,JacPDstandardNth21beta1),kmadd(gtu22,JacPDstandardNth22beta1,kmadd(gtu13,kadd(JacPDstandardNth13beta1,JacPDstandardNth31beta1),kmadd(gtu23,kadd(JacPDstandardNth23beta1,JacPDstandardNth32beta1),kmadd(gtu33,JacPDstandardNth33beta1,knmsub(JacPDstandardNth2beta1,Xtn2,knmsub(JacPDstandardNth3beta1,Xtn3,kmadd(kmadd(gtu11,kadd(JacPDstandardNth11beta1,kadd(JacPDstandardNth12beta2,JacPDstandardNth13beta3)),kmadd(gtu12,kadd(JacPDstandardNth21beta1,kadd(JacPDstandardNth22beta2,JacPDstandardNth23beta3)),kmul(gtu13,kadd(JacPDstandardNth31beta1,kadd(JacPDstandardNth32beta2,JacPDstandardNth33beta3))))),ToReal(0.333333333333333333333333333333),kmadd(Xtn1,kmsub(kadd(JacPDstandardNth1beta1,kadd(JacPDstandardNth2beta2,JacPDstandardNth3beta3)),ToReal(0.666666666666666666666666666667),JacPDstandardNth1beta1),kmadd(ToReal(2),kmadd(alphaL,kmadd(gtu11,JacPDstandardNth1Theta,kmadd(gtu12,JacPDstandardNth2Theta,kmul(gtu13,JacPDstandardNth3Theta))),kmsub(alphaL,kmadd(Atu11,Gt111,kmadd(Atu22,Gt122,kmadd(Atu33,Gt133,kmadd(kmadd(gtu11,JacPDstandardNth1trK,kmadd(gtu12,JacPDstandardNth2trK,kmul(gtu13,JacPDstandardNth3trK))),ToReal(-0.666666666666666666666666666667),kmadd(Atu12,kmul(Gt112,ToReal(2)),kmadd(Atu13,kmul(Gt113,ToReal(2)),kmadd(Atu23,kmul(Gt123,ToReal(2)),kmul(kmadd(Atu11,cdphi1,kmadd(Atu12,cdphi2,kmul(Atu13,cdphi3))),ToReal(6))))))))),kmul(ThetaL,kmadd(gtu11,JacPDstandardNth1alpha,kmadd(gtu12,JacPDstandardNth2alpha,kmul(gtu13,JacPDstandardNth3alpha)))))),kmadd(ToReal(-2),kmadd(Atu11,JacPDstandardNth1alpha,kmadd(Atu12,JacPDstandardNth2alpha,kmadd(Atu13,JacPDstandardNth3alpha,kmul(alphaL,kmul(e4phi,kmul(Z1,ToReal(dampk1))))))),kmadd(e4phi,kmul(ToReal(-0.666666666666666666666666666667),kmul(kmadd(JacPDstandardNth1beta1,Z1,kmadd(JacPDstandardNth2beta2,kmul(Z1,ToReal(-2)),kmadd(JacPDstandardNth3beta3,kmul(Z1,ToReal(-2)),kmadd(JacPDstandardNth2beta1,kmul(Z2,ToReal(3)),kmul(JacPDstandardNth3beta1,kmul(Z3,ToReal(3))))))),ToReal(GammaShift))),kmul(alphaL,kmadd(trKL,kmul(e4phi,kmul(Z1,ToReal(-1.33333333333333333333333333333))),kmul(kmadd(gtu11,S1,kmadd(gtu12,S2,kmul(gtu13,S3))),ToReal(-50.2654824574366918154022941325))))))))))))))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED dotXt2 = - kmadd(gtu11,JacPDstandardNth11beta2,kmadd(gtu12,kadd(JacPDstandardNth12beta2,JacPDstandardNth21beta2),kmadd(gtu22,JacPDstandardNth22beta2,kmadd(gtu13,kadd(JacPDstandardNth13beta2,JacPDstandardNth31beta2),kmadd(gtu23,kadd(JacPDstandardNth23beta2,JacPDstandardNth32beta2),kmadd(gtu33,JacPDstandardNth33beta2,kmadd(alphaL,kmadd(kmadd(gtu12,S1,kmadd(gtu22,S2,kmul(gtu23,S3))),ToReal(-50.26548245743669),kmul(trKL,kmul(e4phi,kmul(Z2,ToReal(-1.33333333333333333333333333333))))),kmadd(kmadd(JacPDstandardNth1beta2,Xtn1,kmadd(JacPDstandardNth2beta2,Xtn2,kmul(JacPDstandardNth3beta2,Xtn3))),ToReal(-1.),kmadd(kmadd(gtu12,kadd(JacPDstandardNth11beta1,kadd(JacPDstandardNth12beta2,JacPDstandardNth13beta3)),kmadd(gtu22,kadd(JacPDstandardNth21beta1,kadd(JacPDstandardNth22beta2,JacPDstandardNth23beta3)),kmul(gtu23,kadd(JacPDstandardNth31beta1,kadd(JacPDstandardNth32beta2,JacPDstandardNth33beta3))))),ToReal(0.333333333333333333333333333333),kmadd(kadd(JacPDstandardNth1beta1,kadd(JacPDstandardNth2beta2,JacPDstandardNth3beta3)),kmul(Xtn2,ToReal(0.666666666666666666666666666667)),kmadd(ToReal(2.),kmadd(ThetaL,kmul(kmadd(gtu12,JacPDstandardNth1alpha,kmadd(gtu22,JacPDstandardNth2alpha,kmul(gtu23,JacPDstandardNth3alpha))),ToReal(-1.)),kmul(alphaL,kmadd(Atu11,Gt211,kmadd(Atu22,Gt222,kmadd(Atu33,Gt233,kmadd(gtu12,JacPDstandardNth1Theta,kmadd(gtu22,JacPDstandardNth2Theta,kmadd(gtu23,JacPDstandardNth3Theta,kmadd(kmadd(gtu12,JacPDstandardNth1trK,kmadd(gtu22,JacPDstandardNth2trK,kmul(gtu23,JacPDstandardNth3trK))),ToReal(-0.666666666666666666666666666667),kmadd(kmadd(Atu12,Gt212,kmadd(Atu13,Gt213,kmul(Atu23,Gt223))),ToReal(2.),kmul(kmadd(Atu12,cdphi1,kmadd(Atu22,cdphi2,kmul(Atu23,cdphi3))),ToReal(6.)))))))))))),kmadd(ToReal(-2.),kmadd(Atu12,JacPDstandardNth1alpha,kmadd(Atu22,JacPDstandardNth2alpha,kmadd(Atu23,JacPDstandardNth3alpha,kmul(alphaL,kmul(e4phi,kmul(Z2,ToReal(dampk1))))))),kmul(e4phi,kmul(ToReal(-0.666666666666666666666666666667),kmul(kmadd(Z2,kmadd(kadd(JacPDstandardNth1beta1,JacPDstandardNth3beta3),ToReal(-2.),JacPDstandardNth2beta2),kmul(kmadd(JacPDstandardNth1beta2,Z1,kmul(JacPDstandardNth3beta2,Z3)),ToReal(3.))),ToReal(GammaShift)))))))))))))))); + kmadd(gtu11,JacPDstandardNth11beta2,kmadd(gtu12,kadd(JacPDstandardNth12beta2,JacPDstandardNth21beta2),kmadd(gtu22,JacPDstandardNth22beta2,kmadd(gtu13,kadd(JacPDstandardNth13beta2,JacPDstandardNth31beta2),kmadd(gtu23,kadd(JacPDstandardNth23beta2,JacPDstandardNth32beta2),kmadd(gtu33,JacPDstandardNth33beta2,knmsub(JacPDstandardNth1beta2,Xtn1,knmsub(JacPDstandardNth3beta2,Xtn3,kmadd(kmadd(gtu12,kadd(JacPDstandardNth11beta1,kadd(JacPDstandardNth12beta2,JacPDstandardNth13beta3)),kmadd(gtu22,kadd(JacPDstandardNth21beta1,kadd(JacPDstandardNth22beta2,JacPDstandardNth23beta3)),kmul(gtu23,kadd(JacPDstandardNth31beta1,kadd(JacPDstandardNth32beta2,JacPDstandardNth33beta3))))),ToReal(0.333333333333333333333333333333),kmadd(Xtn2,kmsub(kadd(JacPDstandardNth1beta1,kadd(JacPDstandardNth2beta2,JacPDstandardNth3beta3)),ToReal(0.666666666666666666666666666667),JacPDstandardNth2beta2),kmadd(ToReal(2),kmadd(alphaL,kmadd(gtu12,JacPDstandardNth1Theta,kmadd(gtu22,JacPDstandardNth2Theta,kmul(gtu23,JacPDstandardNth3Theta))),kmsub(alphaL,kmadd(Atu11,Gt211,kmadd(Atu22,Gt222,kmadd(Atu33,Gt233,kmadd(kmadd(gtu12,JacPDstandardNth1trK,kmadd(gtu22,JacPDstandardNth2trK,kmul(gtu23,JacPDstandardNth3trK))),ToReal(-0.666666666666666666666666666667),kmadd(Atu12,kmul(Gt212,ToReal(2)),kmadd(Atu13,kmul(Gt213,ToReal(2)),kmadd(Atu23,kmul(Gt223,ToReal(2)),kmul(kmadd(Atu12,cdphi1,kmadd(Atu22,cdphi2,kmul(Atu23,cdphi3))),ToReal(6))))))))),kmul(ThetaL,kmadd(gtu12,JacPDstandardNth1alpha,kmadd(gtu22,JacPDstandardNth2alpha,kmul(gtu23,JacPDstandardNth3alpha)))))),kmadd(ToReal(-2),kmadd(Atu12,JacPDstandardNth1alpha,kmadd(Atu22,JacPDstandardNth2alpha,kmadd(Atu23,JacPDstandardNth3alpha,kmul(alphaL,kmul(e4phi,kmul(Z2,ToReal(dampk1))))))),kmadd(e4phi,kmul(ToReal(-0.666666666666666666666666666667),kmul(kmadd(JacPDstandardNth2beta2,Z2,kmadd(JacPDstandardNth1beta1,kmul(Z2,ToReal(-2)),kmadd(JacPDstandardNth3beta3,kmul(Z2,ToReal(-2)),kmadd(JacPDstandardNth1beta2,kmul(Z1,ToReal(3)),kmul(JacPDstandardNth3beta2,kmul(Z3,ToReal(3))))))),ToReal(GammaShift))),kmul(alphaL,kmadd(trKL,kmul(e4phi,kmul(Z2,ToReal(-1.33333333333333333333333333333))),kmul(kmadd(gtu12,S1,kmadd(gtu22,S2,kmul(gtu23,S3))),ToReal(-50.2654824574366918154022941325))))))))))))))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED dotXt3 = - kmadd(gtu11,JacPDstandardNth11beta3,kmadd(gtu12,kadd(JacPDstandardNth12beta3,JacPDstandardNth21beta3),kmadd(gtu22,JacPDstandardNth22beta3,kmadd(gtu13,kadd(JacPDstandardNth13beta3,JacPDstandardNth31beta3),kmadd(gtu23,kadd(JacPDstandardNth23beta3,JacPDstandardNth32beta3),kmadd(gtu33,JacPDstandardNth33beta3,kmadd(alphaL,kmadd(kmadd(gtu13,S1,kmadd(gtu23,S2,kmul(gtu33,S3))),ToReal(-50.26548245743669),kmul(trKL,kmul(e4phi,kmul(Z3,ToReal(-1.33333333333333333333333333333))))),kmadd(kmadd(JacPDstandardNth1beta3,Xtn1,kmadd(JacPDstandardNth2beta3,Xtn2,kmul(JacPDstandardNth3beta3,Xtn3))),ToReal(-1.),kmadd(kmadd(gtu13,kadd(JacPDstandardNth11beta1,kadd(JacPDstandardNth12beta2,JacPDstandardNth13beta3)),kmadd(gtu23,kadd(JacPDstandardNth21beta1,kadd(JacPDstandardNth22beta2,JacPDstandardNth23beta3)),kmul(gtu33,kadd(JacPDstandardNth31beta1,kadd(JacPDstandardNth32beta2,JacPDstandardNth33beta3))))),ToReal(0.333333333333333333333333333333),kmadd(kadd(JacPDstandardNth1beta1,kadd(JacPDstandardNth2beta2,JacPDstandardNth3beta3)),kmul(Xtn3,ToReal(0.666666666666666666666666666667)),kmadd(ToReal(2.),kmadd(ThetaL,kmul(kmadd(gtu13,JacPDstandardNth1alpha,kmadd(gtu23,JacPDstandardNth2alpha,kmul(gtu33,JacPDstandardNth3alpha))),ToReal(-1.)),kmul(alphaL,kmadd(Atu11,Gt311,kmadd(Atu22,Gt322,kmadd(Atu33,Gt333,kmadd(gtu13,JacPDstandardNth1Theta,kmadd(gtu23,JacPDstandardNth2Theta,kmadd(gtu33,JacPDstandardNth3Theta,kmadd(kmadd(gtu13,JacPDstandardNth1trK,kmadd(gtu23,JacPDstandardNth2trK,kmul(gtu33,JacPDstandardNth3trK))),ToReal(-0.666666666666666666666666666667),kmadd(kmadd(Atu12,Gt312,kmadd(Atu13,Gt313,kmul(Atu23,Gt323))),ToReal(2.),kmul(kmadd(Atu13,cdphi1,kmadd(Atu23,cdphi2,kmul(Atu33,cdphi3))),ToReal(6.)))))))))))),kmadd(ToReal(-2.),kmadd(Atu13,JacPDstandardNth1alpha,kmadd(Atu23,JacPDstandardNth2alpha,kmadd(Atu33,JacPDstandardNth3alpha,kmul(alphaL,kmul(e4phi,kmul(Z3,ToReal(dampk1))))))),kmul(e4phi,kmul(ToReal(-0.666666666666666666666666666667),kmul(kmadd(Z3,kmadd(kadd(JacPDstandardNth1beta1,JacPDstandardNth2beta2),ToReal(-2.),JacPDstandardNth3beta3),kmul(kmadd(JacPDstandardNth1beta3,Z1,kmul(JacPDstandardNth2beta3,Z2)),ToReal(3.))),ToReal(GammaShift)))))))))))))))); + kmadd(gtu11,JacPDstandardNth11beta3,kmadd(gtu12,kadd(JacPDstandardNth12beta3,JacPDstandardNth21beta3),kmadd(gtu22,JacPDstandardNth22beta3,kmadd(gtu13,kadd(JacPDstandardNth13beta3,JacPDstandardNth31beta3),kmadd(gtu23,kadd(JacPDstandardNth23beta3,JacPDstandardNth32beta3),kmadd(gtu33,JacPDstandardNth33beta3,knmsub(JacPDstandardNth1beta3,Xtn1,knmsub(JacPDstandardNth2beta3,Xtn2,kmadd(kmadd(gtu13,kadd(JacPDstandardNth11beta1,kadd(JacPDstandardNth12beta2,JacPDstandardNth13beta3)),kmadd(gtu23,kadd(JacPDstandardNth21beta1,kadd(JacPDstandardNth22beta2,JacPDstandardNth23beta3)),kmul(gtu33,kadd(JacPDstandardNth31beta1,kadd(JacPDstandardNth32beta2,JacPDstandardNth33beta3))))),ToReal(0.333333333333333333333333333333),kmadd(Xtn3,kmsub(kadd(JacPDstandardNth1beta1,kadd(JacPDstandardNth2beta2,JacPDstandardNth3beta3)),ToReal(0.666666666666666666666666666667),JacPDstandardNth3beta3),kmadd(ToReal(2),kmadd(alphaL,kmadd(gtu13,JacPDstandardNth1Theta,kmadd(gtu23,JacPDstandardNth2Theta,kmul(gtu33,JacPDstandardNth3Theta))),kmsub(alphaL,kmadd(Atu11,Gt311,kmadd(Atu22,Gt322,kmadd(Atu33,Gt333,kmadd(kmadd(gtu13,JacPDstandardNth1trK,kmadd(gtu23,JacPDstandardNth2trK,kmul(gtu33,JacPDstandardNth3trK))),ToReal(-0.666666666666666666666666666667),kmadd(Atu12,kmul(Gt312,ToReal(2)),kmadd(Atu13,kmul(Gt313,ToReal(2)),kmadd(Atu23,kmul(Gt323,ToReal(2)),kmul(kmadd(Atu13,cdphi1,kmadd(Atu23,cdphi2,kmul(Atu33,cdphi3))),ToReal(6))))))))),kmul(ThetaL,kmadd(gtu13,JacPDstandardNth1alpha,kmadd(gtu23,JacPDstandardNth2alpha,kmul(gtu33,JacPDstandardNth3alpha)))))),kmadd(ToReal(-2),kmadd(Atu13,JacPDstandardNth1alpha,kmadd(Atu23,JacPDstandardNth2alpha,kmadd(Atu33,JacPDstandardNth3alpha,kmul(alphaL,kmul(e4phi,kmul(Z3,ToReal(dampk1))))))),kmadd(e4phi,kmul(ToReal(-0.666666666666666666666666666667),kmul(kmadd(Z3,kadd(JacPDstandardNth3beta3,kmadd(JacPDstandardNth1beta1,ToReal(-2),kmul(JacPDstandardNth2beta2,ToReal(-2)))),kmadd(JacPDstandardNth1beta3,kmul(Z1,ToReal(3)),kmul(JacPDstandardNth2beta3,kmul(Z2,ToReal(3))))),ToReal(GammaShift))),kmul(alphaL,kmadd(trKL,kmul(e4phi,kmul(Z3,ToReal(-1.33333333333333333333333333333))),kmul(kmadd(gtu13,S1,kmadd(gtu23,S2,kmul(gtu33,S3))),ToReal(-50.2654824574366918154022941325))))))))))))))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Xt1rhsL = dotXt1; @@ -2248,98 +2289,99 @@ static void ML_CCZ4_RHS1_Body(cGH const * restrict const cctkGH, int const dir, CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Xt3rhsL = dotXt3; CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED dotTheta = - kmadd(alphaL,kmadd(rho,ToReal(-25.132741228718345),kmul(ToReal(0.5),kmadd(gu11,R11,kmadd(gu22,R22,kmadd(gu33,R33,kmadd(kmadd(ThetaL,trKL,kmadd(Atm12,Atm21,kmadd(Atm13,Atm31,kmul(Atm23,Atm32)))),ToReal(-2.),kmadd(kmadd(Atm11,Atm11,kmadd(Atm22,Atm22,kmul(Atm33,Atm33))),ToReal(-1.),kmadd(kmul(trKL,trKL),ToReal(0.666666666666666666666666666667),kmul(kmadd(gu12,R12,kmadd(gu13,R13,kmul(gu23,R23))),ToReal(2.)))))))))),kmul(ToReal(-1.),kmadd(JacPDstandardNth1alpha,Z1,kmadd(JacPDstandardNth2alpha,Z2,kmadd(JacPDstandardNth3alpha,Z3,kmul(alphaL,kmul(ThetaL,ToReal(dampk1*(2. - + dampk2))))))))); + knmsub(JacPDstandardNth1alpha,Z1,knmsub(JacPDstandardNth2alpha,Z2,kmsub(alphaL,kmadd(ToReal(0.5),kmadd(gu11,R11,kmadd(gu22,R22,kmadd(gu33,R33,kmadd(ThetaL,kmul(trKL,ToReal(-2)),kmadd(Atm12,kmul(Atm21,ToReal(-2)),kmadd(Atm13,kmul(Atm31,ToReal(-2)),kmadd(Atm23,kmul(Atm32,ToReal(-2)),knmsub(Atm11,Atm11,knmsub(Atm22,Atm22,knmsub(Atm33,Atm33,kmadd(kmul(trKL,trKL),ToReal(0.666666666666666666666666666667),kmadd(gu12,kmul(R12,ToReal(2)),kmadd(gu13,kmul(R13,ToReal(2)),kmul(gu23,kmul(R23,ToReal(2)))))))))))))))),kmsub(rho,ToReal(-25.1327412287183459077011470662),kmul(ThetaL,ToReal(dampk1*(2 + + dampk2))))),kmul(JacPDstandardNth3alpha,Z3)))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED ThetarhsL = dotTheta; CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED dottrK = - kmadd(kadd(dotTheta,kmadd(JacPDstandardNth1alpha,Z1,kmadd(JacPDstandardNth2alpha,Z2,kmul(JacPDstandardNth3alpha,Z3)))),ToReal(2.),kmadd(alphaL,kmadd(Atm11,Atm11,kmadd(Atm22,Atm22,kmadd(Atm33,Atm33,kmadd(kmul(trKL,trKL),ToReal(0.333333333333333333333333333333),kmadd(kmadd(Atm12,Atm21,kmadd(Atm13,Atm31,kmul(Atm23,Atm32))),ToReal(2.),kmul(kadd(rho,trS),ToReal(12.566370614359172))))))),kmul(ToReal(-1.),kmadd(em4phi,kmadd(kmadd(JacPDstandardNth1alpha,Xtn1,kmadd(JacPDstandardNth2alpha,Xtn2,kmul(JacPDstandardNth3alpha,Xtn3))),ToReal(-1.),kmadd(gtu11,kmadd(cdphi1,kmul(JacPDstandardNth1alpha,ToReal(2.)),JacPDstandardNth11alpha),kmadd(gtu22,kmadd(cdphi2,kmul(JacPDstandardNth2alpha,ToReal(2.)),JacPDstandardNth22alpha),kmadd(gtu12,kadd(JacPDstandardNth12alpha,kmadd(kmadd(cdphi2,JacPDstandardNth1alpha,kmul(cdphi1,JacPDstandardNth2alpha)),ToReal(2.),JacPDstandardNth21alpha)),kmadd(gtu33,kmadd(cdphi3,kmul(JacPDstandardNth3alpha,ToReal(2.)),JacPDstandardNth33alpha),kmadd(gtu13,kadd(JacPDstandardNth13alpha,kmadd(kmadd(cdphi3,JacPDstandardNth1alpha,kmul(cdphi1,JacPDstandardNth3alpha)),ToReal(2.),JacPDstandardNth31alpha)),kmul(gtu23,kadd(JacPDstandardNth23alpha,kmadd(kmadd(cdphi3,JacPDstandardNth2alpha,kmul(cdphi2,JacPDstandardNth3alpha)),ToReal(2.),JacPDstandardNth32alpha))))))))),kmul(alphaL,kmul(ThetaL,ToReal(dampk1*(-1. - + dampk2)))))))); + kmadd(kadd(dotTheta,kmadd(JacPDstandardNth1alpha,Z1,kmadd(JacPDstandardNth2alpha,Z2,kmul(JacPDstandardNth3alpha,Z3)))),ToReal(2),kmsub(alphaL,kmadd(Atm11,Atm11,kmadd(Atm22,Atm22,kmadd(Atm33,Atm33,kmadd(kmul(trKL,trKL),ToReal(0.333333333333333333333333333333),kmadd(Atm12,kmul(Atm21,ToReal(2)),kmadd(Atm13,kmul(Atm31,ToReal(2)),kmadd(Atm23,kmul(Atm32,ToReal(2)),kmsub(kadd(rho,trS),ToReal(12.5663706143591729538505735331),kmul(ThetaL,ToReal(dampk1*(-1 + + + dampk2))))))))))),kmul(em4phi,kmadd(gtu13,JacPDstandardNth13alpha,kmadd(gtu22,JacPDstandardNth22alpha,kmadd(gtu23,JacPDstandardNth23alpha,kmadd(gtu13,JacPDstandardNth31alpha,kmadd(gtu23,JacPDstandardNth32alpha,kmadd(gtu33,JacPDstandardNth33alpha,kmadd(cdphi3,kmul(gtu23,kmul(JacPDstandardNth2alpha,ToReal(2))),kmadd(cdphi2,kmul(gtu23,kmul(JacPDstandardNth3alpha,ToReal(2))),kmadd(cdphi3,kmul(gtu33,kmul(JacPDstandardNth3alpha,ToReal(2))),kmadd(JacPDstandardNth3alpha,kmsub(cdphi1,kmul(gtu13,ToReal(2)),Xtn3),kmadd(JacPDstandardNth1alpha,kmsub(cdphi3,kmul(gtu13,ToReal(2)),Xtn1),kmadd(JacPDstandardNth2alpha,kmsub(cdphi2,kmul(gtu22,ToReal(2)),Xtn2),kmadd(gtu11,kmadd(cdphi1,kmul(JacPDstandardNth1alpha,ToReal(2)),JacPDstandardNth11alpha),kmul(gtu12,kadd(JacPDstandardNth12alpha,kadd(JacPDstandardNth21alpha,kmadd(cdphi2,kmul(JacPDstandardNth1alpha,ToReal(2)),kmul(cdphi1,kmul(JacPDstandardNth2alpha,ToReal(2))))))))))))))))))))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED trKrhsL = dottrK; CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED alpharhsL = - kmul(kpow(alphaL,harmonicN),kmul(ToReal(-1.),kmul(ToReal(harmonicF),kmadd(AL,ToReal(LapseACoeff),kmul(kadd(trKL,kmadd(ThetaL,ToReal(-2.),kmul(kadd(alphaL,ToReal(-1.)),ToReal(AlphaDriver)))),ToReal(1. - - 1.*LapseACoeff)))))); + kneg(kmul(kpow(alphaL,harmonicN),kmul(ToReal(harmonicF),kmadd(AL,ToReal(LapseACoeff),kmul(kadd(trKL,kmadd(ThetaL,ToReal(-2),kmul(kadd(alphaL,ToReal(-1)),ToReal(AlphaDriver)))),ToReal(1 + - LapseACoeff)))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED ArhsL = - kmul(kadd(dottrK,kmadd(dotTheta,ToReal(-2.),kmul(AL,ToReal(-1.*AlphaDriver)))),ToReal(LapseACoeff)); + kmul(kadd(dottrK,kmsub(dotTheta,ToReal(-2),kmul(AL,ToReal(AlphaDriver)))),ToReal(LapseACoeff)); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED eta = kdiv(ToReal(SpatialBetaDriverRadius),kfmax(rL,ToReal(SpatialBetaDriverRadius))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED theta = - kfmin(ToReal(1.),kexp(kmadd(kmul(rL,ToReal(-1.)),ToReal(ScalarINV(SpatialShiftGammaCoeffRadius)),ToReal(1.)))); + kfmin(ToReal(1),kexp(knmsub(rL,ToReal(ScalarINV(SpatialShiftGammaCoeffRadius)),ToReal(1)))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Ddetgt1 = - kmadd(gtu11,JacPDstandardNth1gt11,kmadd(gtu22,JacPDstandardNth1gt22,kmadd(gtu33,JacPDstandardNth1gt33,kmul(kmadd(gtu12,JacPDstandardNth1gt12,kmadd(gtu13,JacPDstandardNth1gt13,kmul(gtu23,JacPDstandardNth1gt23))),ToReal(2.))))); + kmadd(gtu11,JacPDstandardNth1gt11,kmadd(gtu22,JacPDstandardNth1gt22,kmadd(gtu33,JacPDstandardNth1gt33,kmul(kmadd(gtu12,JacPDstandardNth1gt12,kmadd(gtu13,JacPDstandardNth1gt13,kmul(gtu23,JacPDstandardNth1gt23))),ToReal(2))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Ddetgt2 = - kmadd(gtu11,JacPDstandardNth2gt11,kmadd(gtu22,JacPDstandardNth2gt22,kmadd(gtu33,JacPDstandardNth2gt33,kmul(kmadd(gtu12,JacPDstandardNth2gt12,kmadd(gtu13,JacPDstandardNth2gt13,kmul(gtu23,JacPDstandardNth2gt23))),ToReal(2.))))); + kmadd(gtu11,JacPDstandardNth2gt11,kmadd(gtu22,JacPDstandardNth2gt22,kmadd(gtu33,JacPDstandardNth2gt33,kmul(kmadd(gtu12,JacPDstandardNth2gt12,kmadd(gtu13,JacPDstandardNth2gt13,kmul(gtu23,JacPDstandardNth2gt23))),ToReal(2))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Ddetgt3 = - kmadd(gtu11,JacPDstandardNth3gt11,kmadd(gtu22,JacPDstandardNth3gt22,kmadd(gtu33,JacPDstandardNth3gt33,kmul(kmadd(gtu12,JacPDstandardNth3gt12,kmadd(gtu13,JacPDstandardNth3gt13,kmul(gtu23,JacPDstandardNth3gt23))),ToReal(2.))))); + kmadd(gtu11,JacPDstandardNth3gt11,kmadd(gtu22,JacPDstandardNth3gt22,kmadd(gtu33,JacPDstandardNth3gt33,kmul(kmadd(gtu12,JacPDstandardNth3gt12,kmadd(gtu13,JacPDstandardNth3gt13,kmul(gtu23,JacPDstandardNth3gt23))),ToReal(2))))); - CCTK_REAL_VEC beta1rhsL CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC beta2rhsL CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC beta3rhsL CCTK_ATTRIBUTE_UNUSED ; + CCTK_REAL_VEC beta1rhsL CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC beta2rhsL CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC beta3rhsL CCTK_ATTRIBUTE_UNUSED; if (harmonicShift) { beta1rhsL = kmul(alphaL,kmul(em4phi,kmul(ToReal(-0.5),kmadd(gtu11,kmadd(alphaL,kmadd(kmadd(gtu11,JacPDstandardNth1gt11,kmadd(gtu12,kadd(JacPDstandardNth1gt12,JacPDstandardNth2gt11),kmadd(gtu22,JacPDstandardNth2gt12,kmadd(gtu13,kadd(JacPDstandardNth1gt13,JacPDstandardNth3gt11),kmadd(gtu23,kadd(JacPDstandardNth2gt13,JacPDstandardNth3gt12),kmadd(gtu33,JacPDstandardNth3gt13,kmul(JacPDstandardNth1phi,IfThen(conformalMethod == - 1.,kdiv(ToReal(1),phiL),ToReal(-2.))))))))),ToReal(-2.),Ddetgt1),kmul(JacPDstandardNth1alpha,ToReal(2.))),kmadd(gtu12,kmadd(alphaL,kmadd(kmadd(gtu11,JacPDstandardNth1gt12,kmadd(gtu12,kadd(JacPDstandardNth1gt22,JacPDstandardNth2gt12),kmadd(gtu22,JacPDstandardNth2gt22,kmadd(gtu13,kadd(JacPDstandardNth1gt23,JacPDstandardNth3gt12),kmadd(gtu23,kadd(JacPDstandardNth2gt23,JacPDstandardNth3gt22),kmadd(gtu33,JacPDstandardNth3gt23,kmul(JacPDstandardNth2phi,IfThen(conformalMethod + 1,kdiv(ToReal(1),phiL),ToReal(-2))))))))),ToReal(-2),Ddetgt1),kmul(JacPDstandardNth1alpha,ToReal(2))),kmadd(gtu12,kmadd(alphaL,kmadd(kmadd(gtu11,JacPDstandardNth1gt12,kmadd(gtu12,kadd(JacPDstandardNth1gt22,JacPDstandardNth2gt12),kmadd(gtu22,JacPDstandardNth2gt22,kmadd(gtu13,kadd(JacPDstandardNth1gt23,JacPDstandardNth3gt12),kmadd(gtu23,kadd(JacPDstandardNth2gt23,JacPDstandardNth3gt22),kmadd(gtu33,JacPDstandardNth3gt23,kmul(JacPDstandardNth2phi,IfThen(conformalMethod == - 1.,kdiv(ToReal(1),phiL),ToReal(-2.))))))))),ToReal(-2.),Ddetgt2),kmul(JacPDstandardNth2alpha,ToReal(2.))),kmul(gtu13,kmadd(alphaL,kmadd(kmadd(gtu11,JacPDstandardNth1gt13,kmadd(gtu12,kadd(JacPDstandardNth1gt23,JacPDstandardNth2gt13),kmadd(gtu22,JacPDstandardNth2gt23,kmadd(gtu13,kadd(JacPDstandardNth1gt33,JacPDstandardNth3gt13),kmadd(gtu23,kadd(JacPDstandardNth2gt33,JacPDstandardNth3gt23),kmadd(gtu33,JacPDstandardNth3gt33,kmul(JacPDstandardNth3phi,IfThen(conformalMethod + 1,kdiv(ToReal(1),phiL),ToReal(-2))))))))),ToReal(-2),Ddetgt2),kmul(JacPDstandardNth2alpha,ToReal(2))),kmul(gtu13,kmadd(alphaL,kmadd(kmadd(gtu11,JacPDstandardNth1gt13,kmadd(gtu12,kadd(JacPDstandardNth1gt23,JacPDstandardNth2gt13),kmadd(gtu22,JacPDstandardNth2gt23,kmadd(gtu13,kadd(JacPDstandardNth1gt33,JacPDstandardNth3gt13),kmadd(gtu23,kadd(JacPDstandardNth2gt33,JacPDstandardNth3gt23),kmadd(gtu33,JacPDstandardNth3gt33,kmul(JacPDstandardNth3phi,IfThen(conformalMethod == - 1.,kdiv(ToReal(1),phiL),ToReal(-2.))))))))),ToReal(-2.),Ddetgt3),kmul(JacPDstandardNth3alpha,ToReal(2.))))))))); + 1,kdiv(ToReal(1),phiL),ToReal(-2))))))))),ToReal(-2),Ddetgt3),kmul(JacPDstandardNth3alpha,ToReal(2))))))))); beta2rhsL = kmul(alphaL,kmul(em4phi,kmul(ToReal(-0.5),kmadd(gtu12,kmadd(alphaL,kmadd(kmadd(gtu11,JacPDstandardNth1gt11,kmadd(gtu12,kadd(JacPDstandardNth1gt12,JacPDstandardNth2gt11),kmadd(gtu22,JacPDstandardNth2gt12,kmadd(gtu13,kadd(JacPDstandardNth1gt13,JacPDstandardNth3gt11),kmadd(gtu23,kadd(JacPDstandardNth2gt13,JacPDstandardNth3gt12),kmadd(gtu33,JacPDstandardNth3gt13,kmul(JacPDstandardNth1phi,IfThen(conformalMethod == - 1.,kdiv(ToReal(1),phiL),ToReal(-2.))))))))),ToReal(-2.),Ddetgt1),kmul(JacPDstandardNth1alpha,ToReal(2.))),kmadd(gtu22,kmadd(alphaL,kmadd(kmadd(gtu11,JacPDstandardNth1gt12,kmadd(gtu12,kadd(JacPDstandardNth1gt22,JacPDstandardNth2gt12),kmadd(gtu22,JacPDstandardNth2gt22,kmadd(gtu13,kadd(JacPDstandardNth1gt23,JacPDstandardNth3gt12),kmadd(gtu23,kadd(JacPDstandardNth2gt23,JacPDstandardNth3gt22),kmadd(gtu33,JacPDstandardNth3gt23,kmul(JacPDstandardNth2phi,IfThen(conformalMethod + 1,kdiv(ToReal(1),phiL),ToReal(-2))))))))),ToReal(-2),Ddetgt1),kmul(JacPDstandardNth1alpha,ToReal(2))),kmadd(gtu22,kmadd(alphaL,kmadd(kmadd(gtu11,JacPDstandardNth1gt12,kmadd(gtu12,kadd(JacPDstandardNth1gt22,JacPDstandardNth2gt12),kmadd(gtu22,JacPDstandardNth2gt22,kmadd(gtu13,kadd(JacPDstandardNth1gt23,JacPDstandardNth3gt12),kmadd(gtu23,kadd(JacPDstandardNth2gt23,JacPDstandardNth3gt22),kmadd(gtu33,JacPDstandardNth3gt23,kmul(JacPDstandardNth2phi,IfThen(conformalMethod == - 1.,kdiv(ToReal(1),phiL),ToReal(-2.))))))))),ToReal(-2.),Ddetgt2),kmul(JacPDstandardNth2alpha,ToReal(2.))),kmul(gtu23,kmadd(alphaL,kmadd(kmadd(gtu11,JacPDstandardNth1gt13,kmadd(gtu12,kadd(JacPDstandardNth1gt23,JacPDstandardNth2gt13),kmadd(gtu22,JacPDstandardNth2gt23,kmadd(gtu13,kadd(JacPDstandardNth1gt33,JacPDstandardNth3gt13),kmadd(gtu23,kadd(JacPDstandardNth2gt33,JacPDstandardNth3gt23),kmadd(gtu33,JacPDstandardNth3gt33,kmul(JacPDstandardNth3phi,IfThen(conformalMethod + 1,kdiv(ToReal(1),phiL),ToReal(-2))))))))),ToReal(-2),Ddetgt2),kmul(JacPDstandardNth2alpha,ToReal(2))),kmul(gtu23,kmadd(alphaL,kmadd(kmadd(gtu11,JacPDstandardNth1gt13,kmadd(gtu12,kadd(JacPDstandardNth1gt23,JacPDstandardNth2gt13),kmadd(gtu22,JacPDstandardNth2gt23,kmadd(gtu13,kadd(JacPDstandardNth1gt33,JacPDstandardNth3gt13),kmadd(gtu23,kadd(JacPDstandardNth2gt33,JacPDstandardNth3gt23),kmadd(gtu33,JacPDstandardNth3gt33,kmul(JacPDstandardNth3phi,IfThen(conformalMethod == - 1.,kdiv(ToReal(1),phiL),ToReal(-2.))))))))),ToReal(-2.),Ddetgt3),kmul(JacPDstandardNth3alpha,ToReal(2.))))))))); + 1,kdiv(ToReal(1),phiL),ToReal(-2))))))))),ToReal(-2),Ddetgt3),kmul(JacPDstandardNth3alpha,ToReal(2))))))))); beta3rhsL = kmul(alphaL,kmul(em4phi,kmul(ToReal(-0.5),kmadd(gtu13,kmadd(alphaL,kmadd(kmadd(gtu11,JacPDstandardNth1gt11,kmadd(gtu12,kadd(JacPDstandardNth1gt12,JacPDstandardNth2gt11),kmadd(gtu22,JacPDstandardNth2gt12,kmadd(gtu13,kadd(JacPDstandardNth1gt13,JacPDstandardNth3gt11),kmadd(gtu23,kadd(JacPDstandardNth2gt13,JacPDstandardNth3gt12),kmadd(gtu33,JacPDstandardNth3gt13,kmul(JacPDstandardNth1phi,IfThen(conformalMethod == - 1.,kdiv(ToReal(1),phiL),ToReal(-2.))))))))),ToReal(-2.),Ddetgt1),kmul(JacPDstandardNth1alpha,ToReal(2.))),kmadd(gtu23,kmadd(alphaL,kmadd(kmadd(gtu11,JacPDstandardNth1gt12,kmadd(gtu12,kadd(JacPDstandardNth1gt22,JacPDstandardNth2gt12),kmadd(gtu22,JacPDstandardNth2gt22,kmadd(gtu13,kadd(JacPDstandardNth1gt23,JacPDstandardNth3gt12),kmadd(gtu23,kadd(JacPDstandardNth2gt23,JacPDstandardNth3gt22),kmadd(gtu33,JacPDstandardNth3gt23,kmul(JacPDstandardNth2phi,IfThen(conformalMethod + 1,kdiv(ToReal(1),phiL),ToReal(-2))))))))),ToReal(-2),Ddetgt1),kmul(JacPDstandardNth1alpha,ToReal(2))),kmadd(gtu23,kmadd(alphaL,kmadd(kmadd(gtu11,JacPDstandardNth1gt12,kmadd(gtu12,kadd(JacPDstandardNth1gt22,JacPDstandardNth2gt12),kmadd(gtu22,JacPDstandardNth2gt22,kmadd(gtu13,kadd(JacPDstandardNth1gt23,JacPDstandardNth3gt12),kmadd(gtu23,kadd(JacPDstandardNth2gt23,JacPDstandardNth3gt22),kmadd(gtu33,JacPDstandardNth3gt23,kmul(JacPDstandardNth2phi,IfThen(conformalMethod == - 1.,kdiv(ToReal(1),phiL),ToReal(-2.))))))))),ToReal(-2.),Ddetgt2),kmul(JacPDstandardNth2alpha,ToReal(2.))),kmul(gtu33,kmadd(alphaL,kmadd(kmadd(gtu11,JacPDstandardNth1gt13,kmadd(gtu12,kadd(JacPDstandardNth1gt23,JacPDstandardNth2gt13),kmadd(gtu22,JacPDstandardNth2gt23,kmadd(gtu13,kadd(JacPDstandardNth1gt33,JacPDstandardNth3gt13),kmadd(gtu23,kadd(JacPDstandardNth2gt33,JacPDstandardNth3gt23),kmadd(gtu33,JacPDstandardNth3gt33,kmul(JacPDstandardNth3phi,IfThen(conformalMethod + 1,kdiv(ToReal(1),phiL),ToReal(-2))))))))),ToReal(-2),Ddetgt2),kmul(JacPDstandardNth2alpha,ToReal(2))),kmul(gtu33,kmadd(alphaL,kmadd(kmadd(gtu11,JacPDstandardNth1gt13,kmadd(gtu12,kadd(JacPDstandardNth1gt23,JacPDstandardNth2gt13),kmadd(gtu22,JacPDstandardNth2gt23,kmadd(gtu13,kadd(JacPDstandardNth1gt33,JacPDstandardNth3gt13),kmadd(gtu23,kadd(JacPDstandardNth2gt33,JacPDstandardNth3gt23),kmadd(gtu33,JacPDstandardNth3gt33,kmul(JacPDstandardNth3phi,IfThen(conformalMethod == - 1.,kdiv(ToReal(1),phiL),ToReal(-2.))))))))),ToReal(-2.),Ddetgt3),kmul(JacPDstandardNth3alpha,ToReal(2.))))))))); + 1,kdiv(ToReal(1),phiL),ToReal(-2))))))))),ToReal(-2),Ddetgt3),kmul(JacPDstandardNth3alpha,ToReal(2))))))))); } else { beta1rhsL = - kmul(theta,kmul(kadd(Xt1L,kmadd(kmadd(Xt1L,ToReal(-1.),B1L),ToReal(ShiftBCoeff),kmul(beta1L,kmul(eta,ToReal(BetaDriver*(-1. + kmul(theta,kmul(kadd(Xt1L,kmadd(ksub(B1L,Xt1L),ToReal(ShiftBCoeff),kmul(beta1L,kmul(eta,ToReal(BetaDriver*(-1 + ShiftBCoeff)))))),ToReal(ShiftGammaCoeff))); beta2rhsL = - kmul(theta,kmul(kadd(Xt2L,kmadd(kmadd(Xt2L,ToReal(-1.),B2L),ToReal(ShiftBCoeff),kmul(beta2L,kmul(eta,ToReal(BetaDriver*(-1. + kmul(theta,kmul(kadd(Xt2L,kmadd(ksub(B2L,Xt2L),ToReal(ShiftBCoeff),kmul(beta2L,kmul(eta,ToReal(BetaDriver*(-1 + ShiftBCoeff)))))),ToReal(ShiftGammaCoeff))); beta3rhsL = - kmul(theta,kmul(kadd(Xt3L,kmadd(kmadd(Xt3L,ToReal(-1.),B3L),ToReal(ShiftBCoeff),kmul(beta3L,kmul(eta,ToReal(BetaDriver*(-1. + kmul(theta,kmul(kadd(Xt3L,kmadd(ksub(B3L,Xt3L),ToReal(ShiftBCoeff),kmul(beta3L,kmul(eta,ToReal(BetaDriver*(-1 + ShiftBCoeff)))))),ToReal(ShiftGammaCoeff))); } CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED B1rhsL = - kmul(kmadd(B1L,kmul(eta,ToReal(-1.*BetaDriver)),dotXt1),ToReal(ShiftBCoeff)); + kmul(knmsub(B1L,kmul(eta,ToReal(BetaDriver)),dotXt1),ToReal(ShiftBCoeff)); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED B2rhsL = - kmul(kmadd(B2L,kmul(eta,ToReal(-1.*BetaDriver)),dotXt2),ToReal(ShiftBCoeff)); + kmul(knmsub(B2L,kmul(eta,ToReal(BetaDriver)),dotXt2),ToReal(ShiftBCoeff)); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED B3rhsL = - kmul(kmadd(B3L,kmul(eta,ToReal(-1.*BetaDriver)),dotXt3),ToReal(ShiftBCoeff)); + kmul(knmsub(B3L,kmul(eta,ToReal(BetaDriver)),dotXt3),ToReal(ShiftBCoeff)); /* 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(Arhs[index],ArhsL); vec_store_nta_partial(B1rhs[index],B1rhsL); @@ -2380,7 +2422,7 @@ extern "C" void ML_CCZ4_RHS1(CCTK_ARGUMENTS) return; } - const char *const groups[] = { + const char* const groups[] = { "grid::coordinates", "ML_CCZ4::ML_curv", "ML_CCZ4::ML_dtlapse", @@ -2403,23 +2445,33 @@ extern "C" void ML_CCZ4_RHS1(CCTK_ARGUMENTS) "ML_CCZ4::ML_trace_curvrhs"}; GenericFD_AssertGroupStorage(cctkGH, "ML_CCZ4_RHS1", 20, groups); - switch(fdOrder) + switch (fdOrder) { case 2: + { GenericFD_EnsureStencilFits(cctkGH, "ML_CCZ4_RHS1", 1, 1, 1); break; + } case 4: + { GenericFD_EnsureStencilFits(cctkGH, "ML_CCZ4_RHS1", 2, 2, 2); break; + } case 6: + { GenericFD_EnsureStencilFits(cctkGH, "ML_CCZ4_RHS1", 3, 3, 3); break; + } case 8: + { GenericFD_EnsureStencilFits(cctkGH, "ML_CCZ4_RHS1", 4, 4, 4); break; + } + default: + CCTK_BUILTIN_UNREACHABLE(); } GenericFD_LoopOverInterior(cctkGH, ML_CCZ4_RHS1_Body); diff --git a/ML_CCZ4/src/ML_CCZ4_RHS2.cc b/ML_CCZ4/src/ML_CCZ4_RHS2.cc index a3929e2..59c72ad 100644 --- a/ML_CCZ4/src/ML_CCZ4_RHS2.cc +++ b/ML_CCZ4/src/ML_CCZ4_RHS2.cc @@ -32,14 +32,16 @@ extern "C" void ML_CCZ4_RHS2_SelectBCs(CCTK_ARGUMENTS) DECLARE_CCTK_ARGUMENTS; DECLARE_CCTK_PARAMETERS; - CCTK_INT ierr CCTK_ATTRIBUTE_UNUSED = 0; + if (cctk_iteration % ML_CCZ4_RHS2_calc_every != ML_CCZ4_RHS2_calc_offset) + return; + CCTK_INT ierr CCTK_ATTRIBUTE_UNUSED = 0; ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_CCZ4::ML_curvrhs","flat"); if (ierr < 0) CCTK_WARN(1, "Failed to register flat BC for ML_CCZ4::ML_curvrhs."); return; } -static void ML_CCZ4_RHS2_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_CCZ4_RHS2_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; @@ -48,153 +50,175 @@ static void ML_CCZ4_RHS2_Body(cGH const * restrict const cctkGH, int const dir, /* Include user-supplied include files */ /* Initialise finite differencing variables */ - ptrdiff_t /*const*/ di CCTK_ATTRIBUTE_UNUSED = 1; - ptrdiff_t /*const*/ dj CCTK_ATTRIBUTE_UNUSED = CCTK_GFINDEX3D(cctkGH,0,1,0) - CCTK_GFINDEX3D(cctkGH,0,0,0); - ptrdiff_t /*const*/ dk CCTK_ATTRIBUTE_UNUSED = CCTK_GFINDEX3D(cctkGH,0,0,1) - CCTK_GFINDEX3D(cctkGH,0,0,0); - ptrdiff_t /*const*/ cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * di; - ptrdiff_t /*const*/ cdj CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * dj; - ptrdiff_t /*const*/ cdk CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * dk; - CCTK_REAL_VEC /*const*/ dx CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(0)); - CCTK_REAL_VEC /*const*/ dy CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(1)); - CCTK_REAL_VEC /*const*/ dz CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(2)); - CCTK_REAL_VEC /*const*/ dt CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_TIME); - CCTK_REAL_VEC /*const*/ t CCTK_ATTRIBUTE_UNUSED = ToReal(cctk_time); - CCTK_REAL_VEC /*const*/ dxi CCTK_ATTRIBUTE_UNUSED = INV(dx); - CCTK_REAL_VEC /*const*/ dyi CCTK_ATTRIBUTE_UNUSED = INV(dy); - CCTK_REAL_VEC /*const*/ dzi CCTK_ATTRIBUTE_UNUSED = INV(dz); - CCTK_REAL_VEC /*const*/ khalf CCTK_ATTRIBUTE_UNUSED = ToReal(0.5); - CCTK_REAL_VEC /*const*/ kthird CCTK_ATTRIBUTE_UNUSED = ToReal(1.0/3.0); - CCTK_REAL_VEC /*const*/ ktwothird CCTK_ATTRIBUTE_UNUSED = ToReal(2.0/3.0); - CCTK_REAL_VEC /*const*/ kfourthird CCTK_ATTRIBUTE_UNUSED = ToReal(4.0/3.0); - CCTK_REAL_VEC /*const*/ keightthird CCTK_ATTRIBUTE_UNUSED = ToReal(8.0/3.0); - CCTK_REAL_VEC /*const*/ hdxi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dxi); - CCTK_REAL_VEC /*const*/ hdyi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dyi); - CCTK_REAL_VEC /*const*/ hdzi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dzi); + const ptrdiff_t di CCTK_ATTRIBUTE_UNUSED = 1; + const ptrdiff_t dj CCTK_ATTRIBUTE_UNUSED = CCTK_GFINDEX3D(cctkGH,0,1,0) - CCTK_GFINDEX3D(cctkGH,0,0,0); + const ptrdiff_t dk CCTK_ATTRIBUTE_UNUSED = CCTK_GFINDEX3D(cctkGH,0,0,1) - CCTK_GFINDEX3D(cctkGH,0,0,0); + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * di; + const ptrdiff_t cdj CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * dj; + const ptrdiff_t cdk CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * dk; + const CCTK_REAL_VEC dx CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(0)); + const CCTK_REAL_VEC dy CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(1)); + const CCTK_REAL_VEC dz CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(2)); + const CCTK_REAL_VEC dt CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_TIME); + const CCTK_REAL_VEC t CCTK_ATTRIBUTE_UNUSED = ToReal(cctk_time); + const CCTK_REAL_VEC dxi CCTK_ATTRIBUTE_UNUSED = INV(dx); + const CCTK_REAL_VEC dyi CCTK_ATTRIBUTE_UNUSED = INV(dy); + const CCTK_REAL_VEC dzi CCTK_ATTRIBUTE_UNUSED = INV(dz); + const CCTK_REAL_VEC khalf CCTK_ATTRIBUTE_UNUSED = ToReal(0.5); + const CCTK_REAL_VEC kthird CCTK_ATTRIBUTE_UNUSED = ToReal(1.0/3.0); + const CCTK_REAL_VEC ktwothird CCTK_ATTRIBUTE_UNUSED = ToReal(2.0/3.0); + const CCTK_REAL_VEC kfourthird CCTK_ATTRIBUTE_UNUSED = ToReal(4.0/3.0); + const CCTK_REAL_VEC keightthird CCTK_ATTRIBUTE_UNUSED = ToReal(8.0/3.0); + const CCTK_REAL_VEC hdxi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dxi); + const CCTK_REAL_VEC hdyi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dyi); + const CCTK_REAL_VEC hdzi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dzi); /* Initialize predefined quantities */ - CCTK_REAL_VEC /*const*/ p1o1024dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dx); - CCTK_REAL_VEC /*const*/ p1o1024dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dy); - CCTK_REAL_VEC /*const*/ p1o1024dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dz); - CCTK_REAL_VEC /*const*/ p1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dx); - CCTK_REAL_VEC /*const*/ p1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dy); - CCTK_REAL_VEC /*const*/ p1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dz); - CCTK_REAL_VEC /*const*/ p1o12dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dx); - CCTK_REAL_VEC /*const*/ p1o12dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dy); - CCTK_REAL_VEC /*const*/ p1o12dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dz); - CCTK_REAL_VEC /*const*/ p1o144dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o144dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o144dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o1680dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dx); - CCTK_REAL_VEC /*const*/ p1o1680dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dy); - CCTK_REAL_VEC /*const*/ p1o1680dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dz); - CCTK_REAL_VEC /*const*/ p1o180dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ p1o180dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ p1o180dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ p1o24dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dx); - CCTK_REAL_VEC /*const*/ p1o24dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dy); - CCTK_REAL_VEC /*const*/ p1o24dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dz); - CCTK_REAL_VEC /*const*/ p1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dx); - CCTK_REAL_VEC /*const*/ p1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dy); - CCTK_REAL_VEC /*const*/ p1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dz); - CCTK_REAL_VEC /*const*/ p1o3600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o3600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o3600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dx); - CCTK_REAL_VEC /*const*/ p1o4dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o4dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dy); - CCTK_REAL_VEC /*const*/ p1o4dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dz); - CCTK_REAL_VEC /*const*/ p1o5040dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ p1o5040dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ p1o5040dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ p1o560dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dx); - CCTK_REAL_VEC /*const*/ p1o560dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dy); - CCTK_REAL_VEC /*const*/ p1o560dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dz); - CCTK_REAL_VEC /*const*/ p1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dx); - CCTK_REAL_VEC /*const*/ p1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dy); - CCTK_REAL_VEC /*const*/ p1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dz); - CCTK_REAL_VEC /*const*/ p1o64dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dx); - CCTK_REAL_VEC /*const*/ p1o64dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dy); - CCTK_REAL_VEC /*const*/ p1o64dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dz); - CCTK_REAL_VEC /*const*/ p1o705600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o705600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o705600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o840dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dx); - CCTK_REAL_VEC /*const*/ p1o840dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dy); - CCTK_REAL_VEC /*const*/ p1o840dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dz); - CCTK_REAL_VEC /*const*/ p1odx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dx); - CCTK_REAL_VEC /*const*/ p1odx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ p1ody CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dy); - CCTK_REAL_VEC /*const*/ p1ody2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ p1odz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dz); - CCTK_REAL_VEC /*const*/ p1odz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ pm1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dx); - CCTK_REAL_VEC /*const*/ pm1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dy); - CCTK_REAL_VEC /*const*/ pm1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dz); - CCTK_REAL_VEC /*const*/ pm1o12dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ pm1o12dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ pm1o12dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ pm1o16dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dx); - CCTK_REAL_VEC /*const*/ pm1o16dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dy); - CCTK_REAL_VEC /*const*/ pm1o16dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dz); - CCTK_REAL_VEC /*const*/ pm1o256dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dx); - CCTK_REAL_VEC /*const*/ pm1o256dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dy); - CCTK_REAL_VEC /*const*/ pm1o256dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dz); - CCTK_REAL_VEC /*const*/ pm1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dx); - CCTK_REAL_VEC /*const*/ pm1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dy); - CCTK_REAL_VEC /*const*/ pm1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dz); - CCTK_REAL_VEC /*const*/ pm1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dx); - CCTK_REAL_VEC /*const*/ pm1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dy); - CCTK_REAL_VEC /*const*/ pm1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dz); - CCTK_REAL_VEC /*const*/ pm1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dx); - CCTK_REAL_VEC /*const*/ pm1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dy); - CCTK_REAL_VEC /*const*/ pm1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dz); + const CCTK_REAL_VEC p1o1024dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dx); + const CCTK_REAL_VEC p1o1024dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dy); + const CCTK_REAL_VEC p1o1024dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dz); + const CCTK_REAL_VEC p1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dx); + const CCTK_REAL_VEC p1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dy); + const CCTK_REAL_VEC p1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dz); + const CCTK_REAL_VEC p1o12dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dx); + const CCTK_REAL_VEC p1o12dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dy); + const CCTK_REAL_VEC p1o12dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dz); + const CCTK_REAL_VEC p1o144dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dy,dx)); + const CCTK_REAL_VEC p1o144dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dx)); + const CCTK_REAL_VEC p1o144dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dy)); + const CCTK_REAL_VEC p1o1680dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dx); + const CCTK_REAL_VEC p1o1680dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dy); + const CCTK_REAL_VEC p1o1680dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dz); + const CCTK_REAL_VEC p1o180dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dx,dx)); + const CCTK_REAL_VEC p1o180dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dy,dy)); + const CCTK_REAL_VEC p1o180dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dz,dz)); + const CCTK_REAL_VEC p1o24dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dx); + const CCTK_REAL_VEC p1o24dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dy); + const CCTK_REAL_VEC p1o24dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dz); + const CCTK_REAL_VEC p1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dx); + const CCTK_REAL_VEC p1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dy); + const CCTK_REAL_VEC p1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dz); + const CCTK_REAL_VEC p1o3600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dy,dx)); + const CCTK_REAL_VEC p1o3600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dx)); + const CCTK_REAL_VEC p1o3600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dy)); + const CCTK_REAL_VEC p1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dx); + const CCTK_REAL_VEC p1o4dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dy,dx)); + const CCTK_REAL_VEC p1o4dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dx)); + const CCTK_REAL_VEC p1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dy); + const CCTK_REAL_VEC p1o4dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dy)); + const CCTK_REAL_VEC p1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dz); + const CCTK_REAL_VEC p1o5040dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dx,dx)); + const CCTK_REAL_VEC p1o5040dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dy,dy)); + const CCTK_REAL_VEC p1o5040dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dz,dz)); + const CCTK_REAL_VEC p1o560dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dx); + const CCTK_REAL_VEC p1o560dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dy); + const CCTK_REAL_VEC p1o560dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dz); + const CCTK_REAL_VEC p1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dx); + const CCTK_REAL_VEC p1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dy); + const CCTK_REAL_VEC p1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dz); + const CCTK_REAL_VEC p1o64dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dx); + const CCTK_REAL_VEC p1o64dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dy); + const CCTK_REAL_VEC p1o64dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dz); + const CCTK_REAL_VEC p1o705600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dy,dx)); + const CCTK_REAL_VEC p1o705600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dx)); + const CCTK_REAL_VEC p1o705600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dy)); + const CCTK_REAL_VEC p1o840dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dx); + const CCTK_REAL_VEC p1o840dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dy); + const CCTK_REAL_VEC p1o840dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dz); + const CCTK_REAL_VEC p1odx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dx); + const CCTK_REAL_VEC p1odx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dx,dx)); + const CCTK_REAL_VEC p1ody CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dy); + const CCTK_REAL_VEC p1ody2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dy,dy)); + const CCTK_REAL_VEC p1odz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dz); + const CCTK_REAL_VEC p1odz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dz,dz)); + const CCTK_REAL_VEC pm1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dx); + const CCTK_REAL_VEC pm1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dy); + const CCTK_REAL_VEC pm1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dz); + const CCTK_REAL_VEC pm1o12dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dx,dx)); + const CCTK_REAL_VEC pm1o12dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dy,dy)); + const CCTK_REAL_VEC pm1o12dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dz,dz)); + const CCTK_REAL_VEC pm1o16dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dx); + const CCTK_REAL_VEC pm1o16dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dy); + const CCTK_REAL_VEC pm1o16dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dz); + const CCTK_REAL_VEC pm1o256dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dx); + const CCTK_REAL_VEC pm1o256dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dy); + const CCTK_REAL_VEC pm1o256dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dz); + const CCTK_REAL_VEC pm1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dx); + const CCTK_REAL_VEC pm1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dy); + const CCTK_REAL_VEC pm1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dz); + const CCTK_REAL_VEC pm1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dx); + const CCTK_REAL_VEC pm1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dy); + const CCTK_REAL_VEC pm1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dz); + const CCTK_REAL_VEC pm1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dx); + const CCTK_REAL_VEC pm1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dy); + const CCTK_REAL_VEC pm1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dz); /* Jacobian variable pointers */ - bool const use_jacobian CCTK_ATTRIBUTE_UNUSED = (!CCTK_IsFunctionAliased("MultiPatch_GetMap") || MultiPatch_GetMap(cctkGH) != jacobian_identity_map) - && strlen(jacobian_group) > 0; - if (use_jacobian && strlen(jacobian_derivative_group) == 0) + const bool use_jacobian1 = (!CCTK_IsFunctionAliased("MultiPatch_GetMap") || MultiPatch_GetMap(cctkGH) != jacobian_identity_map) + && strlen(jacobian_group) > 0; + const bool use_jacobian = assume_use_jacobian>=0 ? assume_use_jacobian : use_jacobian1; + const bool usejacobian CCTK_ATTRIBUTE_UNUSED = use_jacobian; + if (use_jacobian && (strlen(jacobian_determinant_group) == 0 || strlen(jacobian_inverse_group) == 0 || strlen(jacobian_derivative_group) == 0)) { - CCTK_WARN (1, "GenericFD::jacobian_group and GenericFD::jacobian_derivative_group must both be set to valid group names"); + CCTK_WARN(1, "GenericFD::jacobian_group, GenericFD::jacobian_determinant_group, GenericFD::jacobian_inverse_group, and GenericFD::jacobian_derivative_group must all be set to valid group names"); } - CCTK_REAL const *restrict jacobian_ptrs[9]; + const CCTK_REAL* restrict jacobian_ptrs[9]; if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_group, 9, jacobian_ptrs); - CCTK_REAL const *restrict const J11 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[0] : 0; - CCTK_REAL const *restrict const J12 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[1] : 0; - CCTK_REAL const *restrict const J13 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[2] : 0; - CCTK_REAL const *restrict const J21 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[3] : 0; - CCTK_REAL const *restrict const J22 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[4] : 0; - CCTK_REAL const *restrict const J23 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[5] : 0; - CCTK_REAL const *restrict const J31 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[6] : 0; - CCTK_REAL const *restrict const J32 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[7] : 0; - CCTK_REAL const *restrict const J33 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[8] : 0; + const CCTK_REAL* restrict const J11 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[0] : 0; + const CCTK_REAL* restrict const J12 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[1] : 0; + const CCTK_REAL* restrict const J13 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[2] : 0; + const CCTK_REAL* restrict const J21 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[3] : 0; + const CCTK_REAL* restrict const J22 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[4] : 0; + const CCTK_REAL* restrict const J23 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[5] : 0; + const CCTK_REAL* restrict const J31 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[6] : 0; + const CCTK_REAL* restrict const J32 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[7] : 0; + const CCTK_REAL* restrict const J33 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[8] : 0; + + const CCTK_REAL* restrict jacobian_determinant_ptrs[1] CCTK_ATTRIBUTE_UNUSED; + if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_determinant_group, + 1, jacobian_determinant_ptrs); + + const CCTK_REAL* restrict const detJ CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[0] : 0; - CCTK_REAL const *restrict jacobian_derivative_ptrs[18] CCTK_ATTRIBUTE_UNUSED; + const CCTK_REAL* restrict jacobian_inverse_ptrs[9] CCTK_ATTRIBUTE_UNUSED; + if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_inverse_group, + 9, jacobian_inverse_ptrs); + + const CCTK_REAL* restrict const iJ11 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[0] : 0; + const CCTK_REAL* restrict const iJ12 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[1] : 0; + const CCTK_REAL* restrict const iJ13 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[2] : 0; + const CCTK_REAL* restrict const iJ21 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[3] : 0; + const CCTK_REAL* restrict const iJ22 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[4] : 0; + const CCTK_REAL* restrict const iJ23 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[5] : 0; + const CCTK_REAL* restrict const iJ31 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[6] : 0; + const CCTK_REAL* restrict const iJ32 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[7] : 0; + const CCTK_REAL* restrict const iJ33 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[8] : 0; + + const CCTK_REAL* restrict jacobian_derivative_ptrs[18] CCTK_ATTRIBUTE_UNUSED; if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_derivative_group, 18, jacobian_derivative_ptrs); - CCTK_REAL const *restrict const dJ111 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[0] : 0; - CCTK_REAL const *restrict const dJ112 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[1] : 0; - CCTK_REAL const *restrict const dJ113 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[2] : 0; - CCTK_REAL const *restrict const dJ122 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[3] : 0; - CCTK_REAL const *restrict const dJ123 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[4] : 0; - CCTK_REAL const *restrict const dJ133 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[5] : 0; - CCTK_REAL const *restrict const dJ211 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[6] : 0; - CCTK_REAL const *restrict const dJ212 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[7] : 0; - CCTK_REAL const *restrict const dJ213 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[8] : 0; - CCTK_REAL const *restrict const dJ222 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[9] : 0; - CCTK_REAL const *restrict const dJ223 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[10] : 0; - CCTK_REAL const *restrict const dJ233 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[11] : 0; - CCTK_REAL const *restrict const dJ311 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[12] : 0; - CCTK_REAL const *restrict const dJ312 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[13] : 0; - CCTK_REAL const *restrict const dJ313 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[14] : 0; - CCTK_REAL const *restrict const dJ322 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[15] : 0; - CCTK_REAL const *restrict const dJ323 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[16] : 0; - CCTK_REAL const *restrict const dJ333 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[17] : 0; + const CCTK_REAL* restrict const dJ111 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[0] : 0; + const CCTK_REAL* restrict const dJ112 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[1] : 0; + const CCTK_REAL* restrict const dJ113 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[2] : 0; + const CCTK_REAL* restrict const dJ122 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[3] : 0; + const CCTK_REAL* restrict const dJ123 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[4] : 0; + const CCTK_REAL* restrict const dJ133 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[5] : 0; + const CCTK_REAL* restrict const dJ211 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[6] : 0; + const CCTK_REAL* restrict const dJ212 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[7] : 0; + const CCTK_REAL* restrict const dJ213 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[8] : 0; + const CCTK_REAL* restrict const dJ222 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[9] : 0; + const CCTK_REAL* restrict const dJ223 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[10] : 0; + const CCTK_REAL* restrict const dJ233 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[11] : 0; + const CCTK_REAL* restrict const dJ311 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[12] : 0; + const CCTK_REAL* restrict const dJ312 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[13] : 0; + const CCTK_REAL* restrict const dJ313 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[14] : 0; + const CCTK_REAL* restrict const dJ322 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[15] : 0; + const CCTK_REAL* restrict const dJ323 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[16] : 0; + const CCTK_REAL* restrict const dJ333 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[17] : 0; /* Assign local copies of arrays functions */ @@ -205,13 +229,20 @@ static void ML_CCZ4_RHS2_Body(cGH const * restrict const cctkGH, int const dir, /* 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_CCZ4_RHS2, - 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 */ @@ -240,7 +271,7 @@ static void ML_CCZ4_RHS2_Body(cGH const * restrict const cctkGH, int const dir, CCTK_REAL_VEC eTxxL, eTxyL, eTxzL, eTyyL, eTyzL, eTzzL CCTK_ATTRIBUTE_UNUSED ; - if (*stress_energy_state) + if (assume_stress_energy_state>=0 ? assume_stress_energy_state : *stress_energy_state) { eTxxL = vec_load(eTxx[index]); eTxyL = vec_load(eTxy[index]); @@ -295,100 +326,101 @@ static void ML_CCZ4_RHS2_Body(cGH const * restrict const cctkGH, int const dir, /* 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 PDstandardNth1gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth2gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth3gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth11gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth22gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth33gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth12gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth13gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth23gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth1gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth2gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth3gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth11gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth22gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth33gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth12gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth13gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth23gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth1gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth2gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth3gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth11gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth22gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth33gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth12gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth13gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth23gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth1gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth2gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth3gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth11gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth22gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth33gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth12gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth13gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth23gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth1gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth2gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth3gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth11gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth22gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth33gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth12gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth13gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth23gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth1gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth2gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth3gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth11gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth22gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth33gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth12gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth13gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth23gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth1phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth2phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth3phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth11phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth22phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth33phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth12phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth13phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth23phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth1Xt1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth2Xt1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth3Xt1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth1Xt2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth2Xt2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth3Xt2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth1Xt3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth2Xt3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth3Xt3 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 PDstandardNth1gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth11gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth22gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth33gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth12gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth13gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth23gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth11gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth22gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth33gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth12gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth13gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth23gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth11gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth22gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth33gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth12gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth13gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth23gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth11gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth22gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth33gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth12gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth13gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth23gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth11gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth22gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth33gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth12gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth13gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth23gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth11gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth22gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth33gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth12gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth13gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth23gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth11phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth22phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth33phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth12phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth13phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth23phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1Xt1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2Xt1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3Xt1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1Xt2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2Xt2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3Xt2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1Xt3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2Xt3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3Xt3 CCTK_ATTRIBUTE_UNUSED; + + switch (fdOrder) { case 2: + { PDstandardNth1alpha = PDstandardNthfdOrder21(&alpha[index]); PDstandardNth2alpha = PDstandardNthfdOrder22(&alpha[index]); PDstandardNth3alpha = PDstandardNthfdOrder23(&alpha[index]); @@ -480,8 +512,10 @@ static void ML_CCZ4_RHS2_Body(cGH const * restrict const cctkGH, int const dir, PDstandardNth2Xt3 = PDstandardNthfdOrder22(&Xt3[index]); PDstandardNth3Xt3 = PDstandardNthfdOrder23(&Xt3[index]); break; + } case 4: + { PDstandardNth1alpha = PDstandardNthfdOrder41(&alpha[index]); PDstandardNth2alpha = PDstandardNthfdOrder42(&alpha[index]); PDstandardNth3alpha = PDstandardNthfdOrder43(&alpha[index]); @@ -573,8 +607,10 @@ static void ML_CCZ4_RHS2_Body(cGH const * restrict const cctkGH, int const dir, PDstandardNth2Xt3 = PDstandardNthfdOrder42(&Xt3[index]); PDstandardNth3Xt3 = PDstandardNthfdOrder43(&Xt3[index]); break; + } case 6: + { PDstandardNth1alpha = PDstandardNthfdOrder61(&alpha[index]); PDstandardNth2alpha = PDstandardNthfdOrder62(&alpha[index]); PDstandardNth3alpha = PDstandardNthfdOrder63(&alpha[index]); @@ -666,8 +702,10 @@ static void ML_CCZ4_RHS2_Body(cGH const * restrict const cctkGH, int const dir, PDstandardNth2Xt3 = PDstandardNthfdOrder62(&Xt3[index]); PDstandardNth3Xt3 = PDstandardNthfdOrder63(&Xt3[index]); break; + } case 8: + { PDstandardNth1alpha = PDstandardNthfdOrder81(&alpha[index]); PDstandardNth2alpha = PDstandardNthfdOrder82(&alpha[index]); PDstandardNth3alpha = PDstandardNthfdOrder83(&alpha[index]); @@ -759,6 +797,9 @@ static void ML_CCZ4_RHS2_Body(cGH const * restrict const cctkGH, int const dir, PDstandardNth2Xt3 = PDstandardNthfdOrder82(&Xt3[index]); PDstandardNth3Xt3 = PDstandardNthfdOrder83(&Xt3[index]); break; + } + default: + CCTK_BUILTIN_UNREACHABLE(); } /* Calculate temporaries and grid functions */ @@ -768,114 +809,114 @@ static void ML_CCZ4_RHS2_Body(cGH const * restrict const cctkGH, int const dir, ptrdiff_t CCTK_ATTRIBUTE_UNUSED dir3 = kisgn(beta3L); - CCTK_REAL_VEC JacPDstandardNth11alpha CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth11gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth11gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth11gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth11gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth11gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth11gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth11phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth12alpha CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth12gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth12gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth12gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth12gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth12gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth12gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth12phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth13alpha CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth13gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth13gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth13gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth13gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth13gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth13gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth13phi 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 JacPDstandardNth1gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth1gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth1gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth1gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth1gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth1gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth1phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth1Xt1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth1Xt2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth1Xt3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth21gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth21gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth21gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth21gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth21gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth21gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth22alpha CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth22gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth22gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth22gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth22gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth22gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth22gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth22phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth23alpha CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth23gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth23gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth23gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth23gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth23gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth23gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth23phi 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 JacPDstandardNth2gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth2gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth2gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth2gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth2gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth2gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth2phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth2Xt1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth2Xt2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth2Xt3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth31gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth31gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth31gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth31gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth31gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth31gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth32gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth32gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth32gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth32gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth32gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth32gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth33alpha CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth33gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth33gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth33gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth33gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth33gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth33gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth33phi 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 JacPDstandardNth3gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth3gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth3gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth3gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth3gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth3gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth3phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth3Xt1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth3Xt2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth3Xt3 CCTK_ATTRIBUTE_UNUSED ; + CCTK_REAL_VEC JacPDstandardNth11alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth11gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth11gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth11gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth11gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth11gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth11gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth11phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth12alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth12gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth12gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth12gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth12gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth12gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth12gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth12phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth13alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth13gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth13gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth13gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth13gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth13gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth13gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth13phi 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 JacPDstandardNth1gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1Xt1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1Xt2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1Xt3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth21gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth21gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth21gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth21gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth21gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth21gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth22alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth22gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth22gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth22gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth22gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth22gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth22gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth22phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth23alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth23gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth23gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth23gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth23gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth23gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth23gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth23phi 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 JacPDstandardNth2gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2Xt1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2Xt2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2Xt3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth31gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth31gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth31gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth31gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth31gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth31gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth32gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth32gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth32gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth32gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth32gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth32gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth33alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth33gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth33gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth33gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth33gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth33gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth33gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth33phi 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 JacPDstandardNth3gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3Xt1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3Xt2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3Xt3 CCTK_ATTRIBUTE_UNUSED; if (use_jacobian) { @@ -1006,76 +1047,76 @@ static void ML_CCZ4_RHS2_Body(cGH const * restrict const cctkGH, int const dir, kmadd(J13L,PDstandardNth1Xt3,kmadd(J23L,PDstandardNth2Xt3,kmul(J33L,PDstandardNth3Xt3))); JacPDstandardNth11alpha = - kmadd(dJ111L,PDstandardNth1alpha,kmadd(dJ211L,PDstandardNth2alpha,kmadd(dJ311L,PDstandardNth3alpha,kmadd(PDstandardNth11alpha,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)))))))); JacPDstandardNth11gt11 = - kmadd(dJ111L,PDstandardNth1gt11,kmadd(dJ211L,PDstandardNth2gt11,kmadd(dJ311L,PDstandardNth3gt11,kmadd(PDstandardNth11gt11,kmul(J11L,J11L),kmadd(PDstandardNth22gt11,kmul(J21L,J21L),kmadd(PDstandardNth33gt11,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12gt11,kmul(J31L,PDstandardNth13gt11)),kmul(J21L,kmul(J31L,PDstandardNth23gt11))),ToReal(2.)))))))); + kmadd(dJ111L,PDstandardNth1gt11,kmadd(dJ211L,PDstandardNth2gt11,kmadd(dJ311L,PDstandardNth3gt11,kmadd(PDstandardNth11gt11,kmul(J11L,J11L),kmadd(PDstandardNth22gt11,kmul(J21L,J21L),kmadd(PDstandardNth33gt11,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12gt11,kmul(J31L,PDstandardNth13gt11)),kmul(J21L,kmul(J31L,PDstandardNth23gt11))),ToReal(2)))))))); JacPDstandardNth11gt12 = - kmadd(dJ111L,PDstandardNth1gt12,kmadd(dJ211L,PDstandardNth2gt12,kmadd(dJ311L,PDstandardNth3gt12,kmadd(PDstandardNth11gt12,kmul(J11L,J11L),kmadd(PDstandardNth22gt12,kmul(J21L,J21L),kmadd(PDstandardNth33gt12,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12gt12,kmul(J31L,PDstandardNth13gt12)),kmul(J21L,kmul(J31L,PDstandardNth23gt12))),ToReal(2.)))))))); + kmadd(dJ111L,PDstandardNth1gt12,kmadd(dJ211L,PDstandardNth2gt12,kmadd(dJ311L,PDstandardNth3gt12,kmadd(PDstandardNth11gt12,kmul(J11L,J11L),kmadd(PDstandardNth22gt12,kmul(J21L,J21L),kmadd(PDstandardNth33gt12,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12gt12,kmul(J31L,PDstandardNth13gt12)),kmul(J21L,kmul(J31L,PDstandardNth23gt12))),ToReal(2)))))))); JacPDstandardNth11gt13 = - kmadd(dJ111L,PDstandardNth1gt13,kmadd(dJ211L,PDstandardNth2gt13,kmadd(dJ311L,PDstandardNth3gt13,kmadd(PDstandardNth11gt13,kmul(J11L,J11L),kmadd(PDstandardNth22gt13,kmul(J21L,J21L),kmadd(PDstandardNth33gt13,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12gt13,kmul(J31L,PDstandardNth13gt13)),kmul(J21L,kmul(J31L,PDstandardNth23gt13))),ToReal(2.)))))))); + kmadd(dJ111L,PDstandardNth1gt13,kmadd(dJ211L,PDstandardNth2gt13,kmadd(dJ311L,PDstandardNth3gt13,kmadd(PDstandardNth11gt13,kmul(J11L,J11L),kmadd(PDstandardNth22gt13,kmul(J21L,J21L),kmadd(PDstandardNth33gt13,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12gt13,kmul(J31L,PDstandardNth13gt13)),kmul(J21L,kmul(J31L,PDstandardNth23gt13))),ToReal(2)))))))); JacPDstandardNth11gt22 = - kmadd(dJ111L,PDstandardNth1gt22,kmadd(dJ211L,PDstandardNth2gt22,kmadd(dJ311L,PDstandardNth3gt22,kmadd(PDstandardNth11gt22,kmul(J11L,J11L),kmadd(PDstandardNth22gt22,kmul(J21L,J21L),kmadd(PDstandardNth33gt22,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12gt22,kmul(J31L,PDstandardNth13gt22)),kmul(J21L,kmul(J31L,PDstandardNth23gt22))),ToReal(2.)))))))); + kmadd(dJ111L,PDstandardNth1gt22,kmadd(dJ211L,PDstandardNth2gt22,kmadd(dJ311L,PDstandardNth3gt22,kmadd(PDstandardNth11gt22,kmul(J11L,J11L),kmadd(PDstandardNth22gt22,kmul(J21L,J21L),kmadd(PDstandardNth33gt22,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12gt22,kmul(J31L,PDstandardNth13gt22)),kmul(J21L,kmul(J31L,PDstandardNth23gt22))),ToReal(2)))))))); JacPDstandardNth11gt23 = - kmadd(dJ111L,PDstandardNth1gt23,kmadd(dJ211L,PDstandardNth2gt23,kmadd(dJ311L,PDstandardNth3gt23,kmadd(PDstandardNth11gt23,kmul(J11L,J11L),kmadd(PDstandardNth22gt23,kmul(J21L,J21L),kmadd(PDstandardNth33gt23,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12gt23,kmul(J31L,PDstandardNth13gt23)),kmul(J21L,kmul(J31L,PDstandardNth23gt23))),ToReal(2.)))))))); + kmadd(dJ111L,PDstandardNth1gt23,kmadd(dJ211L,PDstandardNth2gt23,kmadd(dJ311L,PDstandardNth3gt23,kmadd(PDstandardNth11gt23,kmul(J11L,J11L),kmadd(PDstandardNth22gt23,kmul(J21L,J21L),kmadd(PDstandardNth33gt23,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12gt23,kmul(J31L,PDstandardNth13gt23)),kmul(J21L,kmul(J31L,PDstandardNth23gt23))),ToReal(2)))))))); JacPDstandardNth11gt33 = - kmadd(dJ111L,PDstandardNth1gt33,kmadd(dJ211L,PDstandardNth2gt33,kmadd(dJ311L,PDstandardNth3gt33,kmadd(PDstandardNth11gt33,kmul(J11L,J11L),kmadd(PDstandardNth22gt33,kmul(J21L,J21L),kmadd(PDstandardNth33gt33,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12gt33,kmul(J31L,PDstandardNth13gt33)),kmul(J21L,kmul(J31L,PDstandardNth23gt33))),ToReal(2.)))))))); + kmadd(dJ111L,PDstandardNth1gt33,kmadd(dJ211L,PDstandardNth2gt33,kmadd(dJ311L,PDstandardNth3gt33,kmadd(PDstandardNth11gt33,kmul(J11L,J11L),kmadd(PDstandardNth22gt33,kmul(J21L,J21L),kmadd(PDstandardNth33gt33,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12gt33,kmul(J31L,PDstandardNth13gt33)),kmul(J21L,kmul(J31L,PDstandardNth23gt33))),ToReal(2)))))))); JacPDstandardNth11phi = - kmadd(dJ111L,PDstandardNth1phi,kmadd(dJ211L,PDstandardNth2phi,kmadd(dJ311L,PDstandardNth3phi,kmadd(PDstandardNth11phi,kmul(J11L,J11L),kmadd(PDstandardNth22phi,kmul(J21L,J21L),kmadd(PDstandardNth33phi,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12phi,kmul(J31L,PDstandardNth13phi)),kmul(J21L,kmul(J31L,PDstandardNth23phi))),ToReal(2.)))))))); + kmadd(dJ111L,PDstandardNth1phi,kmadd(dJ211L,PDstandardNth2phi,kmadd(dJ311L,PDstandardNth3phi,kmadd(PDstandardNth11phi,kmul(J11L,J11L),kmadd(PDstandardNth22phi,kmul(J21L,J21L),kmadd(PDstandardNth33phi,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12phi,kmul(J31L,PDstandardNth13phi)),kmul(J21L,kmul(J31L,PDstandardNth23phi))),ToReal(2)))))))); JacPDstandardNth22alpha = - kmadd(dJ122L,PDstandardNth1alpha,kmadd(dJ222L,PDstandardNth2alpha,kmadd(dJ322L,PDstandardNth3alpha,kmadd(PDstandardNth11alpha,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)))))))); JacPDstandardNth22gt11 = - kmadd(dJ122L,PDstandardNth1gt11,kmadd(dJ222L,PDstandardNth2gt11,kmadd(dJ322L,PDstandardNth3gt11,kmadd(PDstandardNth11gt11,kmul(J12L,J12L),kmadd(PDstandardNth22gt11,kmul(J22L,J22L),kmadd(PDstandardNth33gt11,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12gt11,kmul(J32L,PDstandardNth13gt11)),kmul(J22L,kmul(J32L,PDstandardNth23gt11))),ToReal(2.)))))))); + kmadd(dJ122L,PDstandardNth1gt11,kmadd(dJ222L,PDstandardNth2gt11,kmadd(dJ322L,PDstandardNth3gt11,kmadd(PDstandardNth11gt11,kmul(J12L,J12L),kmadd(PDstandardNth22gt11,kmul(J22L,J22L),kmadd(PDstandardNth33gt11,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12gt11,kmul(J32L,PDstandardNth13gt11)),kmul(J22L,kmul(J32L,PDstandardNth23gt11))),ToReal(2)))))))); JacPDstandardNth22gt12 = - kmadd(dJ122L,PDstandardNth1gt12,kmadd(dJ222L,PDstandardNth2gt12,kmadd(dJ322L,PDstandardNth3gt12,kmadd(PDstandardNth11gt12,kmul(J12L,J12L),kmadd(PDstandardNth22gt12,kmul(J22L,J22L),kmadd(PDstandardNth33gt12,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12gt12,kmul(J32L,PDstandardNth13gt12)),kmul(J22L,kmul(J32L,PDstandardNth23gt12))),ToReal(2.)))))))); + kmadd(dJ122L,PDstandardNth1gt12,kmadd(dJ222L,PDstandardNth2gt12,kmadd(dJ322L,PDstandardNth3gt12,kmadd(PDstandardNth11gt12,kmul(J12L,J12L),kmadd(PDstandardNth22gt12,kmul(J22L,J22L),kmadd(PDstandardNth33gt12,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12gt12,kmul(J32L,PDstandardNth13gt12)),kmul(J22L,kmul(J32L,PDstandardNth23gt12))),ToReal(2)))))))); JacPDstandardNth22gt13 = - kmadd(dJ122L,PDstandardNth1gt13,kmadd(dJ222L,PDstandardNth2gt13,kmadd(dJ322L,PDstandardNth3gt13,kmadd(PDstandardNth11gt13,kmul(J12L,J12L),kmadd(PDstandardNth22gt13,kmul(J22L,J22L),kmadd(PDstandardNth33gt13,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12gt13,kmul(J32L,PDstandardNth13gt13)),kmul(J22L,kmul(J32L,PDstandardNth23gt13))),ToReal(2.)))))))); + kmadd(dJ122L,PDstandardNth1gt13,kmadd(dJ222L,PDstandardNth2gt13,kmadd(dJ322L,PDstandardNth3gt13,kmadd(PDstandardNth11gt13,kmul(J12L,J12L),kmadd(PDstandardNth22gt13,kmul(J22L,J22L),kmadd(PDstandardNth33gt13,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12gt13,kmul(J32L,PDstandardNth13gt13)),kmul(J22L,kmul(J32L,PDstandardNth23gt13))),ToReal(2)))))))); JacPDstandardNth22gt22 = - kmadd(dJ122L,PDstandardNth1gt22,kmadd(dJ222L,PDstandardNth2gt22,kmadd(dJ322L,PDstandardNth3gt22,kmadd(PDstandardNth11gt22,kmul(J12L,J12L),kmadd(PDstandardNth22gt22,kmul(J22L,J22L),kmadd(PDstandardNth33gt22,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12gt22,kmul(J32L,PDstandardNth13gt22)),kmul(J22L,kmul(J32L,PDstandardNth23gt22))),ToReal(2.)))))))); + kmadd(dJ122L,PDstandardNth1gt22,kmadd(dJ222L,PDstandardNth2gt22,kmadd(dJ322L,PDstandardNth3gt22,kmadd(PDstandardNth11gt22,kmul(J12L,J12L),kmadd(PDstandardNth22gt22,kmul(J22L,J22L),kmadd(PDstandardNth33gt22,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12gt22,kmul(J32L,PDstandardNth13gt22)),kmul(J22L,kmul(J32L,PDstandardNth23gt22))),ToReal(2)))))))); JacPDstandardNth22gt23 = - kmadd(dJ122L,PDstandardNth1gt23,kmadd(dJ222L,PDstandardNth2gt23,kmadd(dJ322L,PDstandardNth3gt23,kmadd(PDstandardNth11gt23,kmul(J12L,J12L),kmadd(PDstandardNth22gt23,kmul(J22L,J22L),kmadd(PDstandardNth33gt23,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12gt23,kmul(J32L,PDstandardNth13gt23)),kmul(J22L,kmul(J32L,PDstandardNth23gt23))),ToReal(2.)))))))); + kmadd(dJ122L,PDstandardNth1gt23,kmadd(dJ222L,PDstandardNth2gt23,kmadd(dJ322L,PDstandardNth3gt23,kmadd(PDstandardNth11gt23,kmul(J12L,J12L),kmadd(PDstandardNth22gt23,kmul(J22L,J22L),kmadd(PDstandardNth33gt23,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12gt23,kmul(J32L,PDstandardNth13gt23)),kmul(J22L,kmul(J32L,PDstandardNth23gt23))),ToReal(2)))))))); JacPDstandardNth22gt33 = - kmadd(dJ122L,PDstandardNth1gt33,kmadd(dJ222L,PDstandardNth2gt33,kmadd(dJ322L,PDstandardNth3gt33,kmadd(PDstandardNth11gt33,kmul(J12L,J12L),kmadd(PDstandardNth22gt33,kmul(J22L,J22L),kmadd(PDstandardNth33gt33,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12gt33,kmul(J32L,PDstandardNth13gt33)),kmul(J22L,kmul(J32L,PDstandardNth23gt33))),ToReal(2.)))))))); + kmadd(dJ122L,PDstandardNth1gt33,kmadd(dJ222L,PDstandardNth2gt33,kmadd(dJ322L,PDstandardNth3gt33,kmadd(PDstandardNth11gt33,kmul(J12L,J12L),kmadd(PDstandardNth22gt33,kmul(J22L,J22L),kmadd(PDstandardNth33gt33,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12gt33,kmul(J32L,PDstandardNth13gt33)),kmul(J22L,kmul(J32L,PDstandardNth23gt33))),ToReal(2)))))))); JacPDstandardNth22phi = - kmadd(dJ122L,PDstandardNth1phi,kmadd(dJ222L,PDstandardNth2phi,kmadd(dJ322L,PDstandardNth3phi,kmadd(PDstandardNth11phi,kmul(J12L,J12L),kmadd(PDstandardNth22phi,kmul(J22L,J22L),kmadd(PDstandardNth33phi,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12phi,kmul(J32L,PDstandardNth13phi)),kmul(J22L,kmul(J32L,PDstandardNth23phi))),ToReal(2.)))))))); + kmadd(dJ122L,PDstandardNth1phi,kmadd(dJ222L,PDstandardNth2phi,kmadd(dJ322L,PDstandardNth3phi,kmadd(PDstandardNth11phi,kmul(J12L,J12L),kmadd(PDstandardNth22phi,kmul(J22L,J22L),kmadd(PDstandardNth33phi,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12phi,kmul(J32L,PDstandardNth13phi)),kmul(J22L,kmul(J32L,PDstandardNth23phi))),ToReal(2)))))))); JacPDstandardNth33alpha = - kmadd(dJ133L,PDstandardNth1alpha,kmadd(dJ233L,PDstandardNth2alpha,kmadd(dJ333L,PDstandardNth3alpha,kmadd(PDstandardNth11alpha,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)))))))); JacPDstandardNth33gt11 = - kmadd(dJ133L,PDstandardNth1gt11,kmadd(dJ233L,PDstandardNth2gt11,kmadd(dJ333L,PDstandardNth3gt11,kmadd(PDstandardNth11gt11,kmul(J13L,J13L),kmadd(PDstandardNth22gt11,kmul(J23L,J23L),kmadd(PDstandardNth33gt11,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12gt11,kmul(J33L,PDstandardNth13gt11)),kmul(J23L,kmul(J33L,PDstandardNth23gt11))),ToReal(2.)))))))); + kmadd(dJ133L,PDstandardNth1gt11,kmadd(dJ233L,PDstandardNth2gt11,kmadd(dJ333L,PDstandardNth3gt11,kmadd(PDstandardNth11gt11,kmul(J13L,J13L),kmadd(PDstandardNth22gt11,kmul(J23L,J23L),kmadd(PDstandardNth33gt11,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12gt11,kmul(J33L,PDstandardNth13gt11)),kmul(J23L,kmul(J33L,PDstandardNth23gt11))),ToReal(2)))))))); JacPDstandardNth33gt12 = - kmadd(dJ133L,PDstandardNth1gt12,kmadd(dJ233L,PDstandardNth2gt12,kmadd(dJ333L,PDstandardNth3gt12,kmadd(PDstandardNth11gt12,kmul(J13L,J13L),kmadd(PDstandardNth22gt12,kmul(J23L,J23L),kmadd(PDstandardNth33gt12,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12gt12,kmul(J33L,PDstandardNth13gt12)),kmul(J23L,kmul(J33L,PDstandardNth23gt12))),ToReal(2.)))))))); + kmadd(dJ133L,PDstandardNth1gt12,kmadd(dJ233L,PDstandardNth2gt12,kmadd(dJ333L,PDstandardNth3gt12,kmadd(PDstandardNth11gt12,kmul(J13L,J13L),kmadd(PDstandardNth22gt12,kmul(J23L,J23L),kmadd(PDstandardNth33gt12,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12gt12,kmul(J33L,PDstandardNth13gt12)),kmul(J23L,kmul(J33L,PDstandardNth23gt12))),ToReal(2)))))))); JacPDstandardNth33gt13 = - kmadd(dJ133L,PDstandardNth1gt13,kmadd(dJ233L,PDstandardNth2gt13,kmadd(dJ333L,PDstandardNth3gt13,kmadd(PDstandardNth11gt13,kmul(J13L,J13L),kmadd(PDstandardNth22gt13,kmul(J23L,J23L),kmadd(PDstandardNth33gt13,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12gt13,kmul(J33L,PDstandardNth13gt13)),kmul(J23L,kmul(J33L,PDstandardNth23gt13))),ToReal(2.)))))))); + kmadd(dJ133L,PDstandardNth1gt13,kmadd(dJ233L,PDstandardNth2gt13,kmadd(dJ333L,PDstandardNth3gt13,kmadd(PDstandardNth11gt13,kmul(J13L,J13L),kmadd(PDstandardNth22gt13,kmul(J23L,J23L),kmadd(PDstandardNth33gt13,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12gt13,kmul(J33L,PDstandardNth13gt13)),kmul(J23L,kmul(J33L,PDstandardNth23gt13))),ToReal(2)))))))); JacPDstandardNth33gt22 = - kmadd(dJ133L,PDstandardNth1gt22,kmadd(dJ233L,PDstandardNth2gt22,kmadd(dJ333L,PDstandardNth3gt22,kmadd(PDstandardNth11gt22,kmul(J13L,J13L),kmadd(PDstandardNth22gt22,kmul(J23L,J23L),kmadd(PDstandardNth33gt22,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12gt22,kmul(J33L,PDstandardNth13gt22)),kmul(J23L,kmul(J33L,PDstandardNth23gt22))),ToReal(2.)))))))); + kmadd(dJ133L,PDstandardNth1gt22,kmadd(dJ233L,PDstandardNth2gt22,kmadd(dJ333L,PDstandardNth3gt22,kmadd(PDstandardNth11gt22,kmul(J13L,J13L),kmadd(PDstandardNth22gt22,kmul(J23L,J23L),kmadd(PDstandardNth33gt22,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12gt22,kmul(J33L,PDstandardNth13gt22)),kmul(J23L,kmul(J33L,PDstandardNth23gt22))),ToReal(2)))))))); JacPDstandardNth33gt23 = - kmadd(dJ133L,PDstandardNth1gt23,kmadd(dJ233L,PDstandardNth2gt23,kmadd(dJ333L,PDstandardNth3gt23,kmadd(PDstandardNth11gt23,kmul(J13L,J13L),kmadd(PDstandardNth22gt23,kmul(J23L,J23L),kmadd(PDstandardNth33gt23,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12gt23,kmul(J33L,PDstandardNth13gt23)),kmul(J23L,kmul(J33L,PDstandardNth23gt23))),ToReal(2.)))))))); + kmadd(dJ133L,PDstandardNth1gt23,kmadd(dJ233L,PDstandardNth2gt23,kmadd(dJ333L,PDstandardNth3gt23,kmadd(PDstandardNth11gt23,kmul(J13L,J13L),kmadd(PDstandardNth22gt23,kmul(J23L,J23L),kmadd(PDstandardNth33gt23,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12gt23,kmul(J33L,PDstandardNth13gt23)),kmul(J23L,kmul(J33L,PDstandardNth23gt23))),ToReal(2)))))))); JacPDstandardNth33gt33 = - kmadd(dJ133L,PDstandardNth1gt33,kmadd(dJ233L,PDstandardNth2gt33,kmadd(dJ333L,PDstandardNth3gt33,kmadd(PDstandardNth11gt33,kmul(J13L,J13L),kmadd(PDstandardNth22gt33,kmul(J23L,J23L),kmadd(PDstandardNth33gt33,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12gt33,kmul(J33L,PDstandardNth13gt33)),kmul(J23L,kmul(J33L,PDstandardNth23gt33))),ToReal(2.)))))))); + kmadd(dJ133L,PDstandardNth1gt33,kmadd(dJ233L,PDstandardNth2gt33,kmadd(dJ333L,PDstandardNth3gt33,kmadd(PDstandardNth11gt33,kmul(J13L,J13L),kmadd(PDstandardNth22gt33,kmul(J23L,J23L),kmadd(PDstandardNth33gt33,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12gt33,kmul(J33L,PDstandardNth13gt33)),kmul(J23L,kmul(J33L,PDstandardNth23gt33))),ToReal(2)))))))); JacPDstandardNth33phi = - kmadd(dJ133L,PDstandardNth1phi,kmadd(dJ233L,PDstandardNth2phi,kmadd(dJ333L,PDstandardNth3phi,kmadd(PDstandardNth11phi,kmul(J13L,J13L),kmadd(PDstandardNth22phi,kmul(J23L,J23L),kmadd(PDstandardNth33phi,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12phi,kmul(J33L,PDstandardNth13phi)),kmul(J23L,kmul(J33L,PDstandardNth23phi))),ToReal(2.)))))))); + kmadd(dJ133L,PDstandardNth1phi,kmadd(dJ233L,PDstandardNth2phi,kmadd(dJ333L,PDstandardNth3phi,kmadd(PDstandardNth11phi,kmul(J13L,J13L),kmadd(PDstandardNth22phi,kmul(J23L,J23L),kmadd(PDstandardNth33phi,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12phi,kmul(J33L,PDstandardNth13phi)),kmul(J23L,kmul(J33L,PDstandardNth23phi))),ToReal(2)))))))); JacPDstandardNth12alpha = kmadd(J12L,kmadd(J11L,PDstandardNth11alpha,kmadd(J21L,PDstandardNth12alpha,kmul(J31L,PDstandardNth13alpha))),kmadd(J11L,kmadd(J22L,PDstandardNth12alpha,kmul(J32L,PDstandardNth13alpha)),kmadd(dJ112L,PDstandardNth1alpha,kmadd(J22L,kmadd(J21L,PDstandardNth22alpha,kmul(J31L,PDstandardNth23alpha)),kmadd(dJ212L,PDstandardNth2alpha,kmadd(J32L,kmadd(J21L,PDstandardNth23alpha,kmul(J31L,PDstandardNth33alpha)),kmul(dJ312L,PDstandardNth3alpha))))))); @@ -1422,25 +1463,25 @@ static void ML_CCZ4_RHS2_Body(cGH const * restrict const cctkGH, int const dir, JacPDstandardNth32gt33 = PDstandardNth23gt33; } - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED detgt = ToReal(1.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED detgt = ToReal(1); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gtu11 = - kdiv(kmadd(gt22L,gt33L,kmul(kmul(gt23L,gt23L),ToReal(-1.))),detgt); + kdiv(kmsub(gt22L,gt33L,kmul(gt23L,gt23L)),detgt); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gtu12 = - kdiv(kmadd(gt13L,gt23L,kmul(gt12L,kmul(gt33L,ToReal(-1.)))),detgt); + kdiv(kmsub(gt13L,gt23L,kmul(gt12L,gt33L)),detgt); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gtu13 = - kdiv(kmadd(gt12L,gt23L,kmul(gt13L,kmul(gt22L,ToReal(-1.)))),detgt); + kdiv(kmsub(gt12L,gt23L,kmul(gt13L,gt22L)),detgt); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gtu22 = - kdiv(kmadd(gt11L,gt33L,kmul(kmul(gt13L,gt13L),ToReal(-1.))),detgt); + kdiv(kmsub(gt11L,gt33L,kmul(gt13L,gt13L)),detgt); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gtu23 = - kdiv(kmadd(gt12L,gt13L,kmul(gt11L,kmul(gt23L,ToReal(-1.)))),detgt); + kdiv(kmsub(gt12L,gt13L,kmul(gt11L,gt23L)),detgt); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gtu33 = - kdiv(kmadd(gt11L,gt22L,kmul(kmul(gt12L,gt12L),ToReal(-1.))),detgt); + kdiv(kmsub(gt11L,gt22L,kmul(gt12L,gt12L)),detgt); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Gtl111 = kmul(JacPDstandardNth1gt11,ToReal(0.5)); @@ -1455,7 +1496,7 @@ static void ML_CCZ4_RHS2_Body(cGH const * restrict const cctkGH, int const dir, kmadd(JacPDstandardNth1gt22,ToReal(-0.5),JacPDstandardNth2gt12); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Gtl123 = - kmul(kadd(JacPDstandardNth2gt13,kmadd(JacPDstandardNth1gt23,ToReal(-1.),JacPDstandardNth3gt12)),ToReal(0.5)); + kmul(kadd(JacPDstandardNth2gt13,ksub(JacPDstandardNth3gt12,JacPDstandardNth1gt23)),ToReal(0.5)); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Gtl133 = kmadd(JacPDstandardNth1gt33,ToReal(-0.5),JacPDstandardNth3gt13); @@ -1467,7 +1508,7 @@ static void ML_CCZ4_RHS2_Body(cGH const * restrict const cctkGH, int const dir, kmul(JacPDstandardNth1gt22,ToReal(0.5)); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Gtl213 = - kmul(kadd(JacPDstandardNth1gt23,kmadd(JacPDstandardNth2gt13,ToReal(-1.),JacPDstandardNth3gt12)),ToReal(0.5)); + kmul(kadd(JacPDstandardNth1gt23,ksub(JacPDstandardNth3gt12,JacPDstandardNth2gt13)),ToReal(0.5)); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Gtl222 = kmul(JacPDstandardNth2gt22,ToReal(0.5)); @@ -1482,7 +1523,7 @@ static void ML_CCZ4_RHS2_Body(cGH const * restrict const cctkGH, int const dir, kmadd(JacPDstandardNth3gt11,ToReal(-0.5),JacPDstandardNth1gt13); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Gtl312 = - kmul(kadd(JacPDstandardNth1gt23,kmadd(JacPDstandardNth3gt12,ToReal(-1.),JacPDstandardNth2gt13)),ToReal(0.5)); + kmul(kadd(JacPDstandardNth1gt23,ksub(JacPDstandardNth2gt13,JacPDstandardNth3gt12)),ToReal(0.5)); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Gtl313 = kmul(JacPDstandardNth1gt33,ToReal(0.5)); @@ -1632,16 +1673,16 @@ static void ML_CCZ4_RHS2_Body(cGH const * restrict const cctkGH, int const dir, kmadd(Gtl133,gtu13,kmadd(Gtl233,gtu23,kmul(Gtl333,gtu33))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Xtn1 = - kmadd(Gt111,gtu11,kmadd(Gt122,gtu22,kmadd(Gt133,gtu33,kmul(kmadd(Gt112,gtu12,kmadd(Gt113,gtu13,kmul(Gt123,gtu23))),ToReal(2.))))); + kmadd(Gt111,gtu11,kmadd(Gt122,gtu22,kmadd(Gt133,gtu33,kmul(kmadd(Gt112,gtu12,kmadd(Gt113,gtu13,kmul(Gt123,gtu23))),ToReal(2))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Xtn2 = - kmadd(Gt211,gtu11,kmadd(Gt222,gtu22,kmadd(Gt233,gtu33,kmul(kmadd(Gt212,gtu12,kmadd(Gt213,gtu13,kmul(Gt223,gtu23))),ToReal(2.))))); + kmadd(Gt211,gtu11,kmadd(Gt222,gtu22,kmadd(Gt233,gtu33,kmul(kmadd(Gt212,gtu12,kmadd(Gt213,gtu13,kmul(Gt223,gtu23))),ToReal(2))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Xtn3 = - kmadd(Gt311,gtu11,kmadd(Gt322,gtu22,kmadd(Gt333,gtu33,kmul(kmadd(Gt312,gtu12,kmadd(Gt313,gtu13,kmul(Gt323,gtu23))),ToReal(2.))))); + kmadd(Gt311,gtu11,kmadd(Gt322,gtu22,kmadd(Gt333,gtu33,kmul(kmadd(Gt312,gtu12,kmadd(Gt313,gtu13,kmul(Gt323,gtu23))),ToReal(2))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED e4phi = IfThen(conformalMethod == - 1.,kdiv(ToReal(1),kmul(phiL,phiL)),kexp(kmul(phiL,ToReal(4.)))); + 1,kdiv(ToReal(1),kmul(phiL,phiL)),kexp(kmul(phiL,ToReal(4)))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED em4phi = kdiv(ToReal(1),e4phi); @@ -1670,34 +1711,34 @@ static void ML_CCZ4_RHS2_Body(cGH const * restrict const cctkGH, int const dir, CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gu33 = kmul(em4phi,gtu33); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Z1 = - kmul(kmadd(gu11,kmadd(gtu11,JacPDstandardNth1gt11,kmadd(gtu12,kadd(JacPDstandardNth1gt12,JacPDstandardNth2gt11),kmadd(gtu22,JacPDstandardNth2gt12,kmadd(gtu13,kadd(JacPDstandardNth1gt13,JacPDstandardNth3gt11),kmadd(gtu23,kadd(JacPDstandardNth2gt13,JacPDstandardNth3gt12),kmadd(gtu33,JacPDstandardNth3gt13,kmul(kmadd(gt11L,Xt1L,kmadd(gt12L,Xt2L,kmul(gt13L,Xt3L))),ToReal(-1.)))))))),kmadd(gu12,kmadd(gtu11,JacPDstandardNth1gt12,kmadd(gtu12,kadd(JacPDstandardNth1gt22,JacPDstandardNth2gt12),kmadd(gtu22,JacPDstandardNth2gt22,kmadd(gtu13,kadd(JacPDstandardNth1gt23,JacPDstandardNth3gt12),kmadd(gtu23,kadd(JacPDstandardNth2gt23,JacPDstandardNth3gt22),kmadd(gtu33,JacPDstandardNth3gt23,kmul(kmadd(gt12L,Xt1L,kmadd(gt22L,Xt2L,kmul(gt23L,Xt3L))),ToReal(-1.)))))))),kmul(gu13,kmadd(gtu11,JacPDstandardNth1gt13,kmadd(gtu12,kadd(JacPDstandardNth1gt23,JacPDstandardNth2gt13),kmadd(gtu22,JacPDstandardNth2gt23,kmadd(gtu13,kadd(JacPDstandardNth1gt33,JacPDstandardNth3gt13),kmadd(gtu23,kadd(JacPDstandardNth2gt33,JacPDstandardNth3gt23),kmadd(gtu33,JacPDstandardNth3gt33,kmul(kmadd(gt13L,Xt1L,kmadd(gt23L,Xt2L,kmul(gt33L,Xt3L))),ToReal(-1.))))))))))),ToReal(-0.5)); + kneg(kmul(kmadd(gu11,kmadd(gtu11,JacPDstandardNth1gt11,kmadd(gtu13,JacPDstandardNth1gt13,kmadd(gtu12,kadd(JacPDstandardNth1gt12,JacPDstandardNth2gt11),kmadd(gtu22,JacPDstandardNth2gt12,kmadd(gtu23,JacPDstandardNth2gt13,kmadd(gtu13,JacPDstandardNth3gt11,kmadd(gtu23,JacPDstandardNth3gt12,kmsub(gtu33,JacPDstandardNth3gt13,kmadd(gt11L,Xt1L,kmadd(gt13L,Xt3L,kmul(gt12L,Xt2L))))))))))),kmadd(gu13,kmadd(gtu11,JacPDstandardNth1gt13,kmadd(gtu13,JacPDstandardNth1gt33,kmadd(gtu12,kadd(JacPDstandardNth1gt23,JacPDstandardNth2gt13),kmadd(gtu22,JacPDstandardNth2gt23,kmadd(gtu23,JacPDstandardNth2gt33,kmadd(gtu13,JacPDstandardNth3gt13,kmadd(gtu23,JacPDstandardNth3gt23,kmsub(gtu33,JacPDstandardNth3gt33,kmadd(gt13L,Xt1L,kmadd(gt33L,Xt3L,kmul(gt23L,Xt2L))))))))))),kmul(gu12,kmadd(gtu11,JacPDstandardNth1gt12,kmadd(gtu13,JacPDstandardNth1gt23,kmadd(gtu12,kadd(JacPDstandardNth1gt22,JacPDstandardNth2gt12),kmadd(gtu22,JacPDstandardNth2gt22,kmadd(gtu23,JacPDstandardNth2gt23,kmadd(gtu13,JacPDstandardNth3gt12,kmadd(gtu23,JacPDstandardNth3gt22,kmsub(gtu33,JacPDstandardNth3gt23,kmadd(gt12L,Xt1L,kmadd(gt23L,Xt3L,kmul(gt22L,Xt2L)))))))))))))),ToReal(0.5))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Z2 = - kmul(kmadd(gu12,kmadd(gtu11,JacPDstandardNth1gt11,kmadd(gtu12,kadd(JacPDstandardNth1gt12,JacPDstandardNth2gt11),kmadd(gtu22,JacPDstandardNth2gt12,kmadd(gtu13,kadd(JacPDstandardNth1gt13,JacPDstandardNth3gt11),kmadd(gtu23,kadd(JacPDstandardNth2gt13,JacPDstandardNth3gt12),kmadd(gtu33,JacPDstandardNth3gt13,kmul(kmadd(gt11L,Xt1L,kmadd(gt12L,Xt2L,kmul(gt13L,Xt3L))),ToReal(-1.)))))))),kmadd(gu22,kmadd(gtu11,JacPDstandardNth1gt12,kmadd(gtu12,kadd(JacPDstandardNth1gt22,JacPDstandardNth2gt12),kmadd(gtu22,JacPDstandardNth2gt22,kmadd(gtu13,kadd(JacPDstandardNth1gt23,JacPDstandardNth3gt12),kmadd(gtu23,kadd(JacPDstandardNth2gt23,JacPDstandardNth3gt22),kmadd(gtu33,JacPDstandardNth3gt23,kmul(kmadd(gt12L,Xt1L,kmadd(gt22L,Xt2L,kmul(gt23L,Xt3L))),ToReal(-1.)))))))),kmul(gu23,kmadd(gtu11,JacPDstandardNth1gt13,kmadd(gtu12,kadd(JacPDstandardNth1gt23,JacPDstandardNth2gt13),kmadd(gtu22,JacPDstandardNth2gt23,kmadd(gtu13,kadd(JacPDstandardNth1gt33,JacPDstandardNth3gt13),kmadd(gtu23,kadd(JacPDstandardNth2gt33,JacPDstandardNth3gt23),kmadd(gtu33,JacPDstandardNth3gt33,kmul(kmadd(gt13L,Xt1L,kmadd(gt23L,Xt2L,kmul(gt33L,Xt3L))),ToReal(-1.))))))))))),ToReal(-0.5)); + kneg(kmul(kmadd(gu12,kmadd(gtu11,JacPDstandardNth1gt11,kmadd(gtu13,JacPDstandardNth1gt13,kmadd(gtu12,kadd(JacPDstandardNth1gt12,JacPDstandardNth2gt11),kmadd(gtu22,JacPDstandardNth2gt12,kmadd(gtu23,JacPDstandardNth2gt13,kmadd(gtu13,JacPDstandardNth3gt11,kmadd(gtu23,JacPDstandardNth3gt12,kmsub(gtu33,JacPDstandardNth3gt13,kmadd(gt11L,Xt1L,kmadd(gt13L,Xt3L,kmul(gt12L,Xt2L))))))))))),kmadd(gu23,kmadd(gtu11,JacPDstandardNth1gt13,kmadd(gtu13,JacPDstandardNth1gt33,kmadd(gtu12,kadd(JacPDstandardNth1gt23,JacPDstandardNth2gt13),kmadd(gtu22,JacPDstandardNth2gt23,kmadd(gtu23,JacPDstandardNth2gt33,kmadd(gtu13,JacPDstandardNth3gt13,kmadd(gtu23,JacPDstandardNth3gt23,kmsub(gtu33,JacPDstandardNth3gt33,kmadd(gt13L,Xt1L,kmadd(gt33L,Xt3L,kmul(gt23L,Xt2L))))))))))),kmul(gu22,kmadd(gtu11,JacPDstandardNth1gt12,kmadd(gtu13,JacPDstandardNth1gt23,kmadd(gtu12,kadd(JacPDstandardNth1gt22,JacPDstandardNth2gt12),kmadd(gtu22,JacPDstandardNth2gt22,kmadd(gtu23,JacPDstandardNth2gt23,kmadd(gtu13,JacPDstandardNth3gt12,kmadd(gtu23,JacPDstandardNth3gt22,kmsub(gtu33,JacPDstandardNth3gt23,kmadd(gt12L,Xt1L,kmadd(gt23L,Xt3L,kmul(gt22L,Xt2L)))))))))))))),ToReal(0.5))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Z3 = - kmul(kmadd(gu13,kmadd(gtu11,JacPDstandardNth1gt11,kmadd(gtu12,kadd(JacPDstandardNth1gt12,JacPDstandardNth2gt11),kmadd(gtu22,JacPDstandardNth2gt12,kmadd(gtu13,kadd(JacPDstandardNth1gt13,JacPDstandardNth3gt11),kmadd(gtu23,kadd(JacPDstandardNth2gt13,JacPDstandardNth3gt12),kmadd(gtu33,JacPDstandardNth3gt13,kmul(kmadd(gt11L,Xt1L,kmadd(gt12L,Xt2L,kmul(gt13L,Xt3L))),ToReal(-1.)))))))),kmadd(gu23,kmadd(gtu11,JacPDstandardNth1gt12,kmadd(gtu12,kadd(JacPDstandardNth1gt22,JacPDstandardNth2gt12),kmadd(gtu22,JacPDstandardNth2gt22,kmadd(gtu13,kadd(JacPDstandardNth1gt23,JacPDstandardNth3gt12),kmadd(gtu23,kadd(JacPDstandardNth2gt23,JacPDstandardNth3gt22),kmadd(gtu33,JacPDstandardNth3gt23,kmul(kmadd(gt12L,Xt1L,kmadd(gt22L,Xt2L,kmul(gt23L,Xt3L))),ToReal(-1.)))))))),kmul(gu33,kmadd(gtu11,JacPDstandardNth1gt13,kmadd(gtu12,kadd(JacPDstandardNth1gt23,JacPDstandardNth2gt13),kmadd(gtu22,JacPDstandardNth2gt23,kmadd(gtu13,kadd(JacPDstandardNth1gt33,JacPDstandardNth3gt13),kmadd(gtu23,kadd(JacPDstandardNth2gt33,JacPDstandardNth3gt23),kmadd(gtu33,JacPDstandardNth3gt33,kmul(kmadd(gt13L,Xt1L,kmadd(gt23L,Xt2L,kmul(gt33L,Xt3L))),ToReal(-1.))))))))))),ToReal(-0.5)); + kneg(kmul(kmadd(gu13,kmadd(gtu11,JacPDstandardNth1gt11,kmadd(gtu13,JacPDstandardNth1gt13,kmadd(gtu12,kadd(JacPDstandardNth1gt12,JacPDstandardNth2gt11),kmadd(gtu22,JacPDstandardNth2gt12,kmadd(gtu23,JacPDstandardNth2gt13,kmadd(gtu13,JacPDstandardNth3gt11,kmadd(gtu23,JacPDstandardNth3gt12,kmsub(gtu33,JacPDstandardNth3gt13,kmadd(gt11L,Xt1L,kmadd(gt13L,Xt3L,kmul(gt12L,Xt2L))))))))))),kmadd(gu33,kmadd(gtu11,JacPDstandardNth1gt13,kmadd(gtu13,JacPDstandardNth1gt33,kmadd(gtu12,kadd(JacPDstandardNth1gt23,JacPDstandardNth2gt13),kmadd(gtu22,JacPDstandardNth2gt23,kmadd(gtu23,JacPDstandardNth2gt33,kmadd(gtu13,JacPDstandardNth3gt13,kmadd(gtu23,JacPDstandardNth3gt23,kmsub(gtu33,JacPDstandardNth3gt33,kmadd(gt13L,Xt1L,kmadd(gt33L,Xt3L,kmul(gt23L,Xt2L))))))))))),kmul(gu23,kmadd(gtu11,JacPDstandardNth1gt12,kmadd(gtu13,JacPDstandardNth1gt23,kmadd(gtu12,kadd(JacPDstandardNth1gt22,JacPDstandardNth2gt12),kmadd(gtu22,JacPDstandardNth2gt22,kmadd(gtu23,JacPDstandardNth2gt23,kmadd(gtu13,JacPDstandardNth3gt12,kmadd(gtu23,JacPDstandardNth3gt22,kmsub(gtu33,JacPDstandardNth3gt23,kmadd(gt12L,Xt1L,kmadd(gt23L,Xt3L,kmul(gt22L,Xt2L)))))))))))))),ToReal(0.5))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Rt11 = - kmadd(Gt211,Gtlu211,kmadd(Gt212,Gtlu212,kmadd(Gt213,Gtlu213,kmadd(Gt311,Gtlu311,kmadd(Gt312,Gtlu312,kmadd(Gt313,Gtlu313,kmadd(gt11L,JacPDstandardNth1Xt1,kmadd(gt12L,JacPDstandardNth1Xt2,kmadd(gt13L,JacPDstandardNth1Xt3,kmadd(Gtl111,Xtn1,kmadd(Gtl112,Xtn2,kmadd(Gtl113,Xtn3,kmadd(kmadd(gtu11,JacPDstandardNth11gt11,kmadd(gtu12,kadd(JacPDstandardNth12gt11,JacPDstandardNth21gt11),kmadd(gtu22,JacPDstandardNth22gt11,kmadd(gtu13,kadd(JacPDstandardNth13gt11,JacPDstandardNth31gt11),kmadd(gtu23,kadd(JacPDstandardNth23gt11,JacPDstandardNth32gt11),kmul(gtu33,JacPDstandardNth33gt11)))))),ToReal(-0.5),kmadd(kmadd(Gt211,Gtlu121,kmadd(Gt212,Gtlu122,kmadd(Gt213,Gtlu123,kmadd(Gt311,Gtlu131,kmadd(Gt312,Gtlu132,kmul(Gt313,Gtlu133)))))),ToReal(2.),kmul(kmadd(Gt111,Gtlu111,kmadd(Gt112,Gtlu112,kmul(Gt113,Gtlu113))),ToReal(3.)))))))))))))))); + kmadd(Gt211,Gtlu211,kmadd(Gt212,Gtlu212,kmadd(Gt213,Gtlu213,kmadd(Gt311,Gtlu311,kmadd(Gt312,Gtlu312,kmadd(Gt313,Gtlu313,kmadd(gt11L,JacPDstandardNth1Xt1,kmadd(gt12L,JacPDstandardNth1Xt2,kmadd(gt13L,JacPDstandardNth1Xt3,kmadd(Gtl111,Xtn1,kmadd(Gtl112,Xtn2,kmadd(Gtl113,Xtn3,knmsub(kmadd(gtu11,JacPDstandardNth11gt11,kmadd(gtu12,kadd(JacPDstandardNth12gt11,JacPDstandardNth21gt11),kmadd(gtu22,JacPDstandardNth22gt11,kmadd(gtu33,JacPDstandardNth33gt11,kmadd(gtu23,kadd(JacPDstandardNth32gt11,JacPDstandardNth23gt11),kmul(gtu13,kadd(JacPDstandardNth31gt11,JacPDstandardNth13gt11))))))),ToReal(0.5),kmadd(kmadd(Gt211,Gtlu121,kmadd(Gt212,Gtlu122,kmadd(Gt213,Gtlu123,kmadd(Gt311,Gtlu131,kmadd(Gt312,Gtlu132,kmul(Gt313,Gtlu133)))))),ToReal(2),kmul(kmadd(Gt111,Gtlu111,kmadd(Gt112,Gtlu112,kmul(Gt113,Gtlu113))),ToReal(3)))))))))))))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Rt12 = - kmul(ToReal(0.5),kmadd(gt22L,JacPDstandardNth1Xt2,kmadd(gt23L,JacPDstandardNth1Xt3,kmadd(gt11L,JacPDstandardNth2Xt1,kmadd(gt12L,kadd(JacPDstandardNth1Xt1,JacPDstandardNth2Xt2),kmadd(gt13L,JacPDstandardNth2Xt3,kmadd(kadd(Gtl112,Gtl211),Xtn1,kmadd(kadd(Gtl122,Gtl212),Xtn2,kmadd(kadd(Gtl123,Gtl213),Xtn3,kmadd(kmadd(gtu11,JacPDstandardNth11gt12,kmadd(gtu12,kadd(JacPDstandardNth12gt12,JacPDstandardNth21gt12),kmadd(gtu22,JacPDstandardNth22gt12,kmadd(gtu13,kadd(JacPDstandardNth13gt12,JacPDstandardNth31gt12),kmadd(gtu23,kadd(JacPDstandardNth23gt12,JacPDstandardNth32gt12),kmul(gtu33,JacPDstandardNth33gt12)))))),ToReal(-1.),kmadd(kmadd(Gt122,Gtlu112,kmadd(Gt123,Gtlu113,kmadd(kadd(Gt111,Gt212),Gtlu121,kmadd(Gt222,Gtlu122,kmadd(kadd(Gt113,Gt223),Gtlu123,kmadd(Gt322,Gtlu132,kmadd(Gt323,Gtlu133,kmadd(Gt111,Gtlu211,kmadd(Gt112,kadd(Gtlu111,kadd(Gtlu122,Gtlu212)),kmadd(Gt113,Gtlu213,kmadd(Gt311,kadd(Gtlu231,Gtlu321),kmadd(Gt312,kadd(Gtlu131,kadd(Gtlu232,Gtlu322)),kmul(Gt313,kadd(Gtlu233,Gtlu323)))))))))))))),ToReal(2.),kmul(kmadd(Gt211,Gtlu221,kmadd(Gt212,Gtlu222,kmul(Gt213,Gtlu223))),ToReal(4.))))))))))))); + kmul(ToReal(0.5),kmadd(gt12L,JacPDstandardNth1Xt1,kmadd(gt22L,JacPDstandardNth1Xt2,kmadd(gt23L,JacPDstandardNth1Xt3,kmadd(gt11L,JacPDstandardNth2Xt1,kmadd(gt12L,JacPDstandardNth2Xt2,kmadd(gt13L,JacPDstandardNth2Xt3,kmadd(Gtl112,Xtn1,kmadd(Gtl211,Xtn1,kmadd(Gtl122,Xtn2,kmadd(Gtl212,Xtn2,kmadd(Gtl123,Xtn3,kmadd(Gtl213,Xtn3,knmsub(gtu11,JacPDstandardNth11gt12,knmsub(gtu22,JacPDstandardNth22gt12,knmsub(gtu33,JacPDstandardNth33gt12,knmsub(gtu12,kadd(JacPDstandardNth21gt12,JacPDstandardNth12gt12),knmsub(gtu13,kadd(JacPDstandardNth31gt12,JacPDstandardNth13gt12),knmsub(gtu23,kadd(JacPDstandardNth32gt12,JacPDstandardNth23gt12),kmadd(kmadd(Gt122,Gtlu112,kmadd(Gt123,Gtlu113,kmadd(Gt111,Gtlu121,kmadd(Gt212,Gtlu121,kmadd(Gt222,Gtlu122,kmadd(Gt113,Gtlu123,kmadd(Gt223,Gtlu123,kmadd(Gt312,Gtlu131,kmadd(Gt322,Gtlu132,kmadd(Gt323,Gtlu133,kmadd(Gt111,Gtlu211,kmadd(Gt112,kadd(Gtlu111,kadd(Gtlu122,Gtlu212)),kmadd(Gt113,Gtlu213,kmadd(Gt311,Gtlu231,kmadd(Gt312,Gtlu232,kmadd(Gt313,Gtlu233,kmadd(Gt311,Gtlu321,kmadd(Gt312,Gtlu322,kmul(Gt313,Gtlu323))))))))))))))))))),ToReal(2),kmul(kmadd(Gt211,Gtlu221,kmadd(Gt212,Gtlu222,kmul(Gt213,Gtlu223))),ToReal(4)))))))))))))))))))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Rt13 = - kmul(ToReal(0.5),kmadd(gt23L,JacPDstandardNth1Xt2,kmadd(gt33L,JacPDstandardNth1Xt3,kmadd(gt11L,JacPDstandardNth3Xt1,kmadd(gt12L,JacPDstandardNth3Xt2,kmadd(gt13L,kadd(JacPDstandardNth1Xt1,JacPDstandardNth3Xt3),kmadd(kadd(Gtl113,Gtl311),Xtn1,kmadd(kadd(Gtl123,Gtl312),Xtn2,kmadd(kadd(Gtl133,Gtl313),Xtn3,kmadd(kmadd(gtu11,JacPDstandardNth11gt13,kmadd(gtu12,kadd(JacPDstandardNth12gt13,JacPDstandardNth21gt13),kmadd(gtu22,JacPDstandardNth22gt13,kmadd(gtu13,kadd(JacPDstandardNth13gt13,JacPDstandardNth31gt13),kmadd(gtu23,kadd(JacPDstandardNth23gt13,JacPDstandardNth32gt13),kmul(gtu33,JacPDstandardNth33gt13)))))),ToReal(-1.),kmadd(kmadd(Gt123,Gtlu112,kmadd(Gt133,Gtlu113,kmadd(Gt223,Gtlu122,kmadd(Gt233,Gtlu123,kmadd(kadd(Gt111,Gt313),Gtlu131,kmadd(kadd(Gt112,Gt323),Gtlu132,kmadd(Gt333,Gtlu133,kmadd(Gt111,Gtlu311,kmadd(Gt112,Gtlu312,kmadd(Gt113,kadd(Gtlu111,kadd(Gtlu133,Gtlu313)),kmadd(Gt211,kadd(Gtlu231,Gtlu321),kmadd(Gt212,kadd(Gtlu232,Gtlu322),kmul(Gt213,kadd(Gtlu121,kadd(Gtlu233,Gtlu323))))))))))))))),ToReal(2.),kmul(kmadd(Gt311,Gtlu331,kmadd(Gt312,Gtlu332,kmul(Gt313,Gtlu333))),ToReal(4.))))))))))))); + kmul(ToReal(0.5),kmadd(gt13L,JacPDstandardNth1Xt1,kmadd(gt23L,JacPDstandardNth1Xt2,kmadd(gt33L,JacPDstandardNth1Xt3,kmadd(gt11L,JacPDstandardNth3Xt1,kmadd(gt12L,JacPDstandardNth3Xt2,kmadd(gt13L,JacPDstandardNth3Xt3,kmadd(Gtl113,Xtn1,kmadd(Gtl311,Xtn1,kmadd(Gtl123,Xtn2,kmadd(Gtl312,Xtn2,kmadd(Gtl133,Xtn3,kmadd(Gtl313,Xtn3,knmsub(gtu11,JacPDstandardNth11gt13,knmsub(gtu22,JacPDstandardNth22gt13,knmsub(gtu33,JacPDstandardNth33gt13,knmsub(gtu12,kadd(JacPDstandardNth21gt13,JacPDstandardNth12gt13),knmsub(gtu13,kadd(JacPDstandardNth31gt13,JacPDstandardNth13gt13),knmsub(gtu23,kadd(JacPDstandardNth32gt13,JacPDstandardNth23gt13),kmadd(kmadd(Gt123,Gtlu112,kmadd(Gt133,Gtlu113,kmadd(Gt213,Gtlu121,kmadd(Gt223,Gtlu122,kmadd(Gt233,Gtlu123,kmadd(Gt111,Gtlu131,kmadd(Gt313,Gtlu131,kmadd(Gt112,Gtlu132,kmadd(Gt323,Gtlu132,kmadd(Gt333,Gtlu133,kmadd(Gt211,Gtlu231,kmadd(Gt212,Gtlu232,kmadd(Gt213,Gtlu233,kmadd(Gt111,Gtlu311,kmadd(Gt112,Gtlu312,kmadd(Gt113,kadd(Gtlu111,kadd(Gtlu133,Gtlu313)),kmadd(Gt211,Gtlu321,kmadd(Gt212,Gtlu322,kmul(Gt213,Gtlu323))))))))))))))))))),ToReal(2),kmul(kmadd(Gt311,Gtlu331,kmadd(Gt312,Gtlu332,kmul(Gt313,Gtlu333))),ToReal(4)))))))))))))))))))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Rt22 = - kmadd(Gt312,Gtlu321,kmadd(Gt322,Gtlu322,kmadd(Gt323,Gtlu323,kmadd(gt12L,JacPDstandardNth2Xt1,kmadd(gt22L,JacPDstandardNth2Xt2,kmadd(gt23L,JacPDstandardNth2Xt3,kmadd(Gtl212,Xtn1,kmadd(Gtl222,Xtn2,kmadd(Gtl223,Xtn3,kmadd(kmadd(gtu11,JacPDstandardNth11gt22,kmadd(gtu12,kadd(JacPDstandardNth12gt22,JacPDstandardNth21gt22),kmadd(gtu22,JacPDstandardNth22gt22,kmadd(gtu13,kadd(JacPDstandardNth13gt22,JacPDstandardNth31gt22),kmadd(gtu23,kadd(JacPDstandardNth23gt22,JacPDstandardNth32gt22),kmul(gtu33,JacPDstandardNth33gt22)))))),ToReal(-0.5),kmadd(kmadd(Gt312,Gtlu231,kmadd(Gt322,Gtlu232,kmul(Gt323,Gtlu233))),ToReal(2.),kmadd(Gt112,kmadd(Gtlu211,ToReal(2.),Gtlu121),kmadd(Gt122,kmadd(Gtlu212,ToReal(2.),Gtlu122),kmadd(Gt123,kmadd(Gtlu213,ToReal(2.),Gtlu123),kmul(kmadd(Gt212,Gtlu221,kmadd(Gt222,Gtlu222,kmul(Gt223,Gtlu223))),ToReal(3.)))))))))))))))); + kmadd(Gt312,Gtlu321,kmadd(Gt322,Gtlu322,kmadd(Gt323,Gtlu323,kmadd(gt12L,JacPDstandardNth2Xt1,kmadd(gt22L,JacPDstandardNth2Xt2,kmadd(gt23L,JacPDstandardNth2Xt3,kmadd(Gtl212,Xtn1,kmadd(Gtl222,Xtn2,kmadd(Gtl223,Xtn3,knmsub(kmadd(gtu11,JacPDstandardNth11gt22,kmadd(gtu12,kadd(JacPDstandardNth12gt22,JacPDstandardNth21gt22),kmadd(gtu22,JacPDstandardNth22gt22,kmadd(gtu33,JacPDstandardNth33gt22,kmadd(gtu23,kadd(JacPDstandardNth32gt22,JacPDstandardNth23gt22),kmul(gtu13,kadd(JacPDstandardNth31gt22,JacPDstandardNth13gt22))))))),ToReal(0.5),kmadd(kmadd(Gt312,Gtlu231,kmadd(Gt322,Gtlu232,kmul(Gt323,Gtlu233))),ToReal(2),kmadd(Gt112,kmadd(Gtlu211,ToReal(2),Gtlu121),kmadd(Gt122,kmadd(Gtlu212,ToReal(2),Gtlu122),kmadd(Gt123,kmadd(Gtlu213,ToReal(2),Gtlu123),kmul(kmadd(Gt212,Gtlu221,kmadd(Gt222,Gtlu222,kmul(Gt223,Gtlu223))),ToReal(3)))))))))))))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Rt23 = - kmul(ToReal(0.5),kmadd(gt13L,JacPDstandardNth2Xt1,kmadd(gt33L,JacPDstandardNth2Xt3,kmadd(gt12L,JacPDstandardNth3Xt1,kmadd(gt22L,JacPDstandardNth3Xt2,kmadd(gt23L,kadd(JacPDstandardNth2Xt2,JacPDstandardNth3Xt3),kmadd(kadd(Gtl213,Gtl312),Xtn1,kmadd(kadd(Gtl223,Gtl322),Xtn2,kmadd(kadd(Gtl233,Gtl323),Xtn3,kmadd(kmadd(gtu11,JacPDstandardNth11gt23,kmadd(gtu12,kadd(JacPDstandardNth12gt23,JacPDstandardNth21gt23),kmadd(gtu22,JacPDstandardNth22gt23,kmadd(gtu13,kadd(JacPDstandardNth13gt23,JacPDstandardNth31gt23),kmadd(gtu23,kadd(JacPDstandardNth23gt23,JacPDstandardNth32gt23),kmul(gtu33,JacPDstandardNth33gt23)))))),ToReal(-1.),kmadd(kmadd(Gt113,Gtlu211,kmadd(Gt133,Gtlu213,kmadd(Gt213,Gtlu221,kmadd(Gt233,Gtlu223,kmadd(kadd(Gt212,Gt313),Gtlu231,kmadd(kadd(Gt222,Gt323),Gtlu232,kmadd(Gt333,Gtlu233,kmadd(Gt112,kadd(Gtlu131,Gtlu311),kmadd(Gt122,kadd(Gtlu132,Gtlu312),kmadd(Gt123,kadd(Gtlu133,kadd(Gtlu212,Gtlu313)),kmadd(Gt212,Gtlu321,kmadd(Gt222,Gtlu322,kmul(Gt223,kadd(Gtlu222,kadd(Gtlu233,Gtlu323))))))))))))))),ToReal(2.),kmul(kmadd(Gt312,Gtlu331,kmadd(Gt322,Gtlu332,kmul(Gt323,Gtlu333))),ToReal(4.))))))))))))); + kmul(ToReal(0.5),kmadd(gt13L,JacPDstandardNth2Xt1,kmadd(gt23L,JacPDstandardNth2Xt2,kmadd(gt33L,JacPDstandardNth2Xt3,kmadd(gt12L,JacPDstandardNth3Xt1,kmadd(gt22L,JacPDstandardNth3Xt2,kmadd(gt23L,JacPDstandardNth3Xt3,kmadd(Gtl213,Xtn1,kmadd(Gtl312,Xtn1,kmadd(Gtl223,Xtn2,kmadd(Gtl322,Xtn2,kmadd(Gtl233,Xtn3,kmadd(Gtl323,Xtn3,knmsub(gtu11,JacPDstandardNth11gt23,knmsub(gtu22,JacPDstandardNth22gt23,knmsub(gtu33,JacPDstandardNth33gt23,knmsub(gtu12,kadd(JacPDstandardNth21gt23,JacPDstandardNth12gt23),knmsub(gtu13,kadd(JacPDstandardNth31gt23,JacPDstandardNth13gt23),knmsub(gtu23,kadd(JacPDstandardNth32gt23,JacPDstandardNth23gt23),kmadd(kmadd(Gt123,Gtlu133,kmadd(Gt113,Gtlu211,kmadd(Gt123,Gtlu212,kmadd(Gt133,Gtlu213,kmadd(Gt213,Gtlu221,kmadd(Gt223,Gtlu222,kmadd(Gt233,Gtlu223,kmadd(Gt212,Gtlu231,kmadd(Gt313,Gtlu231,kmadd(Gt222,Gtlu232,kmadd(Gt323,Gtlu232,kmadd(Gt223,Gtlu233,kmadd(Gt333,Gtlu233,kmadd(Gt112,kadd(Gtlu131,Gtlu311),kmadd(Gt122,kadd(Gtlu132,Gtlu312),kmadd(Gt123,Gtlu313,kmadd(Gt212,Gtlu321,kmadd(Gt222,Gtlu322,kmul(Gt223,Gtlu323))))))))))))))))))),ToReal(2),kmul(kmadd(Gt312,Gtlu331,kmadd(Gt322,Gtlu332,kmul(Gt323,Gtlu333))),ToReal(4)))))))))))))))))))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Rt33 = - kmadd(gt13L,JacPDstandardNth3Xt1,kmadd(gt23L,JacPDstandardNth3Xt2,kmadd(gt33L,JacPDstandardNth3Xt3,kmadd(Gtl313,Xtn1,kmadd(Gtl323,Xtn2,kmadd(Gtl333,Xtn3,kmadd(kmadd(gtu11,JacPDstandardNth11gt33,kmadd(gtu12,kadd(JacPDstandardNth12gt33,JacPDstandardNth21gt33),kmadd(gtu22,JacPDstandardNth22gt33,kmadd(gtu13,kadd(JacPDstandardNth13gt33,JacPDstandardNth31gt33),kmadd(gtu23,kadd(JacPDstandardNth23gt33,JacPDstandardNth32gt33),kmul(gtu33,JacPDstandardNth33gt33)))))),ToReal(-0.5),kmadd(Gt113,kmadd(Gtlu311,ToReal(2.),Gtlu131),kmadd(Gt123,kmadd(Gtlu312,ToReal(2.),Gtlu132),kmadd(Gt133,kmadd(Gtlu313,ToReal(2.),Gtlu133),kmadd(Gt213,kmadd(Gtlu321,ToReal(2.),Gtlu231),kmadd(Gt223,kmadd(Gtlu322,ToReal(2.),Gtlu232),kmadd(Gt233,kmadd(Gtlu323,ToReal(2.),Gtlu233),kmul(kmadd(Gt313,Gtlu331,kmadd(Gt323,Gtlu332,kmul(Gt333,Gtlu333))),ToReal(3.))))))))))))))); + kmadd(gt13L,JacPDstandardNth3Xt1,kmadd(gt23L,JacPDstandardNth3Xt2,kmadd(gt33L,JacPDstandardNth3Xt3,kmadd(Gtl313,Xtn1,kmadd(Gtl323,Xtn2,kmadd(Gtl333,Xtn3,knmsub(kmadd(gtu11,JacPDstandardNth11gt33,kmadd(gtu12,kadd(JacPDstandardNth12gt33,JacPDstandardNth21gt33),kmadd(gtu22,JacPDstandardNth22gt33,kmadd(gtu33,JacPDstandardNth33gt33,kmadd(gtu23,kadd(JacPDstandardNth32gt33,JacPDstandardNth23gt33),kmul(gtu13,kadd(JacPDstandardNth31gt33,JacPDstandardNth13gt33))))))),ToReal(0.5),kmadd(Gt113,kmadd(Gtlu311,ToReal(2),Gtlu131),kmadd(Gt123,kmadd(Gtlu312,ToReal(2),Gtlu132),kmadd(Gt133,kmadd(Gtlu313,ToReal(2),Gtlu133),kmadd(Gt213,kmadd(Gtlu321,ToReal(2),Gtlu231),kmadd(Gt223,kmadd(Gtlu322,ToReal(2),Gtlu232),kmadd(Gt233,kmadd(Gtlu323,ToReal(2),Gtlu233),kmul(kmadd(Gt313,Gtlu331,kmadd(Gt323,Gtlu332,kmul(Gt333,Gtlu333))),ToReal(3))))))))))))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED fac1 = IfThen(conformalMethod == - 1.,kdiv(ToReal(-0.5),phiL),ToReal(1.)); + 1,kdiv(ToReal(-0.5),phiL),ToReal(1)); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED cdphi1 = kmul(fac1,JacPDstandardNth1phi); @@ -1709,43 +1750,43 @@ static void ML_CCZ4_RHS2_Body(cGH const * restrict const cctkGH, int const dir, kmul(fac1,JacPDstandardNth3phi); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED fac2 = IfThen(conformalMethod == - 1.,kdiv(ToReal(0.5),kmul(phiL,phiL)),ToReal(0.)); + 1,kdiv(ToReal(0.5),kmul(phiL,phiL)),ToReal(0)); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED cdphi211 = - kmadd(fac2,kmul(JacPDstandardNth1phi,JacPDstandardNth1phi),kmul(fac1,kmadd(kmadd(Gt111,JacPDstandardNth1phi,kmadd(Gt211,JacPDstandardNth2phi,kmul(Gt311,JacPDstandardNth3phi))),ToReal(-1.),JacPDstandardNth11phi))); + kmadd(fac2,kmul(JacPDstandardNth1phi,JacPDstandardNth1phi),kmul(fac1,ksub(JacPDstandardNth11phi,kmadd(Gt111,JacPDstandardNth1phi,kmadd(Gt311,JacPDstandardNth3phi,kmul(Gt211,JacPDstandardNth2phi)))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED cdphi212 = - kmadd(fac2,kmul(JacPDstandardNth1phi,JacPDstandardNth2phi),kmul(fac1,kmadd(kmadd(Gt112,JacPDstandardNth1phi,kmadd(Gt212,JacPDstandardNth2phi,kmul(Gt312,JacPDstandardNth3phi))),ToReal(-1.),JacPDstandardNth12phi))); + kmadd(fac2,kmul(JacPDstandardNth1phi,JacPDstandardNth2phi),kmul(fac1,ksub(JacPDstandardNth12phi,kmadd(Gt112,JacPDstandardNth1phi,kmadd(Gt312,JacPDstandardNth3phi,kmul(Gt212,JacPDstandardNth2phi)))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED cdphi213 = - kmadd(fac2,kmul(JacPDstandardNth1phi,JacPDstandardNth3phi),kmul(fac1,kmadd(kmadd(Gt113,JacPDstandardNth1phi,kmadd(Gt213,JacPDstandardNth2phi,kmul(Gt313,JacPDstandardNth3phi))),ToReal(-1.),JacPDstandardNth13phi))); + kmadd(fac2,kmul(JacPDstandardNth1phi,JacPDstandardNth3phi),kmul(fac1,ksub(JacPDstandardNth13phi,kmadd(Gt113,JacPDstandardNth1phi,kmadd(Gt313,JacPDstandardNth3phi,kmul(Gt213,JacPDstandardNth2phi)))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED cdphi222 = - kmadd(fac2,kmul(JacPDstandardNth2phi,JacPDstandardNth2phi),kmul(fac1,kmul(ToReal(-1.),kmadd(Gt122,JacPDstandardNth1phi,kmadd(Gt222,JacPDstandardNth2phi,kmadd(Gt322,JacPDstandardNth3phi,kmul(JacPDstandardNth22phi,ToReal(-1.)))))))); + kmsub(fac2,kmul(JacPDstandardNth2phi,JacPDstandardNth2phi),kmul(fac1,kmadd(Gt122,JacPDstandardNth1phi,kmadd(Gt222,JacPDstandardNth2phi,kmsub(Gt322,JacPDstandardNth3phi,JacPDstandardNth22phi))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED cdphi223 = - kmadd(fac2,kmul(JacPDstandardNth2phi,JacPDstandardNth3phi),kmul(fac1,kmul(ToReal(-1.),kmadd(Gt123,JacPDstandardNth1phi,kmadd(Gt223,JacPDstandardNth2phi,kmadd(Gt323,JacPDstandardNth3phi,kmul(JacPDstandardNth23phi,ToReal(-1.)))))))); + kmsub(fac2,kmul(JacPDstandardNth2phi,JacPDstandardNth3phi),kmul(fac1,kmadd(Gt123,JacPDstandardNth1phi,kmadd(Gt223,JacPDstandardNth2phi,kmsub(Gt323,JacPDstandardNth3phi,JacPDstandardNth23phi))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED cdphi233 = - kmadd(fac2,kmul(JacPDstandardNth3phi,JacPDstandardNth3phi),kmul(fac1,kmul(ToReal(-1.),kmadd(Gt133,JacPDstandardNth1phi,kmadd(Gt233,JacPDstandardNth2phi,kmadd(Gt333,JacPDstandardNth3phi,kmul(JacPDstandardNth33phi,ToReal(-1.)))))))); + kmsub(fac2,kmul(JacPDstandardNth3phi,JacPDstandardNth3phi),kmul(fac1,kmadd(Gt133,JacPDstandardNth1phi,kmadd(Gt233,JacPDstandardNth2phi,kmsub(Gt333,JacPDstandardNth3phi,JacPDstandardNth33phi))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Rphi11 = - kmul(ToReal(-2.),kadd(cdphi211,kmadd(kmul(cdphi1,cdphi1),kmul(kmadd(gt11L,gtu11,ToReal(-1.)),ToReal(2.)),kmul(gt11L,kmadd(cdphi211,gtu11,kmadd(cdphi233,gtu33,kmadd(kmadd(cdphi212,gtu12,kmadd(cdphi213,gtu13,kmadd(cdphi223,gtu23,kmul(gtu33,kmul(cdphi3,cdphi3))))),ToReal(2.),kmadd(gtu22,kmadd(kmul(cdphi2,cdphi2),ToReal(2.),cdphi222),kmul(kmadd(cdphi1,kmadd(cdphi2,gtu12,kmul(cdphi3,gtu13)),kmul(cdphi2,kmul(cdphi3,gtu23))),ToReal(4.)))))))))); + kmul(ToReal(-2),kadd(cdphi211,kmadd(kmul(cdphi1,cdphi1),kmul(kmadd(gt11L,gtu11,ToReal(-1)),ToReal(2)),kmul(gt11L,kmadd(cdphi211,gtu11,kmadd(cdphi233,gtu33,kmadd(kmadd(cdphi212,gtu12,kmadd(cdphi213,gtu13,kmadd(cdphi223,gtu23,kmul(gtu33,kmul(cdphi3,cdphi3))))),ToReal(2),kmadd(gtu22,kmadd(kmul(cdphi2,cdphi2),ToReal(2),cdphi222),kmul(kmadd(cdphi1,kmadd(cdphi2,gtu12,kmul(cdphi3,gtu13)),kmul(cdphi2,kmul(cdphi3,gtu23))),ToReal(4)))))))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Rphi12 = - kmul(ToReal(-2.),kadd(cdphi212,kmadd(gt12L,kmadd(cdphi211,gtu11,kmadd(kmadd(cdphi212,gtu12,kmadd(cdphi213,gtu13,kmadd(cdphi223,gtu23,kmul(gtu11,kmul(cdphi1,cdphi1))))),ToReal(2.),kmadd(gtu22,kmadd(kmul(cdphi2,cdphi2),ToReal(2.),cdphi222),kmadd(gtu33,kmadd(kmul(cdphi3,cdphi3),ToReal(2.),cdphi233),kmul(cdphi2,kmul(cdphi3,kmul(gtu23,ToReal(4.)))))))),kmul(cdphi1,kmadd(gt12L,kmul(cdphi3,kmul(gtu13,ToReal(4.))),kmul(cdphi2,kmadd(gt12L,kmul(gtu12,ToReal(4.)),ToReal(-2.)))))))); + kmul(ToReal(-2),kadd(cdphi212,kmadd(gt12L,kmadd(cdphi211,gtu11,kmadd(kmadd(cdphi212,gtu12,kmadd(cdphi213,gtu13,kmadd(cdphi223,gtu23,kmul(gtu11,kmul(cdphi1,cdphi1))))),ToReal(2),kmadd(gtu22,kmadd(kmul(cdphi2,cdphi2),ToReal(2),cdphi222),kmadd(gtu33,kmadd(kmul(cdphi3,cdphi3),ToReal(2),cdphi233),kmul(cdphi2,kmul(cdphi3,kmul(gtu23,ToReal(4)))))))),kmul(cdphi1,kmadd(gt12L,kmul(cdphi3,kmul(gtu13,ToReal(4))),kmul(cdphi2,kmadd(gt12L,kmul(gtu12,ToReal(4)),ToReal(-2)))))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Rphi13 = - kmul(ToReal(-2.),kadd(cdphi213,kmadd(gt13L,kmadd(cdphi211,gtu11,kmadd(kmadd(cdphi212,gtu12,kmadd(cdphi213,gtu13,kmadd(cdphi223,gtu23,kmul(gtu11,kmul(cdphi1,cdphi1))))),ToReal(2.),kmadd(gtu22,kmadd(kmul(cdphi2,cdphi2),ToReal(2.),cdphi222),kmadd(gtu33,kmadd(kmul(cdphi3,cdphi3),ToReal(2.),cdphi233),kmul(cdphi2,kmul(cdphi3,kmul(gtu23,ToReal(4.)))))))),kmul(cdphi1,kmadd(gt13L,kmul(cdphi2,kmul(gtu12,ToReal(4.))),kmul(cdphi3,kmadd(gt13L,kmul(gtu13,ToReal(4.)),ToReal(-2.)))))))); + kmul(ToReal(-2),kadd(cdphi213,kmadd(gt13L,kmadd(cdphi211,gtu11,kmadd(kmadd(cdphi212,gtu12,kmadd(cdphi213,gtu13,kmadd(cdphi223,gtu23,kmul(gtu11,kmul(cdphi1,cdphi1))))),ToReal(2),kmadd(gtu22,kmadd(kmul(cdphi2,cdphi2),ToReal(2),cdphi222),kmadd(gtu33,kmadd(kmul(cdphi3,cdphi3),ToReal(2),cdphi233),kmul(cdphi2,kmul(cdphi3,kmul(gtu23,ToReal(4)))))))),kmul(cdphi1,kmadd(gt13L,kmul(cdphi2,kmul(gtu12,ToReal(4))),kmul(cdphi3,kmadd(gt13L,kmul(gtu13,ToReal(4)),ToReal(-2)))))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Rphi22 = - kmul(ToReal(-2.),kadd(cdphi222,kmadd(kmul(cdphi2,cdphi2),kmul(kmadd(gt22L,gtu22,ToReal(-1.)),ToReal(2.)),kmul(gt22L,kmadd(cdphi222,gtu22,kmadd(cdphi233,gtu33,kmadd(kmadd(cdphi212,gtu12,kmadd(cdphi213,gtu13,kmadd(cdphi223,gtu23,kmul(gtu33,kmul(cdphi3,cdphi3))))),ToReal(2.),kmadd(gtu11,kmadd(kmul(cdphi1,cdphi1),ToReal(2.),cdphi211),kmul(kmadd(cdphi1,kmul(cdphi3,gtu13),kmul(cdphi2,kmadd(cdphi1,gtu12,kmul(cdphi3,gtu23)))),ToReal(4.)))))))))); + kmul(ToReal(-2),kadd(cdphi222,kmadd(kmul(cdphi2,cdphi2),kmul(kmadd(gt22L,gtu22,ToReal(-1)),ToReal(2)),kmul(gt22L,kmadd(cdphi222,gtu22,kmadd(cdphi233,gtu33,kmadd(kmadd(cdphi212,gtu12,kmadd(cdphi213,gtu13,kmadd(cdphi223,gtu23,kmul(gtu33,kmul(cdphi3,cdphi3))))),ToReal(2),kmadd(gtu11,kmadd(kmul(cdphi1,cdphi1),ToReal(2),cdphi211),kmul(kmadd(cdphi1,kmul(cdphi3,gtu13),kmul(cdphi2,kmadd(cdphi1,gtu12,kmul(cdphi3,gtu23)))),ToReal(4)))))))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Rphi23 = - kmul(ToReal(-2.),kadd(cdphi223,kmadd(gt23L,kmadd(cdphi222,gtu22,kmadd(kmadd(cdphi212,gtu12,kmadd(cdphi213,gtu13,kmadd(cdphi223,gtu23,kmul(gtu22,kmul(cdphi2,cdphi2))))),ToReal(2.),kmadd(gtu11,kmadd(kmul(cdphi1,cdphi1),ToReal(2.),cdphi211),kmadd(gtu33,kmadd(kmul(cdphi3,cdphi3),ToReal(2.),cdphi233),kmul(cdphi1,kmul(cdphi3,kmul(gtu13,ToReal(4.)))))))),kmul(cdphi2,kmadd(gt23L,kmul(cdphi1,kmul(gtu12,ToReal(4.))),kmul(cdphi3,kmadd(gt23L,kmul(gtu23,ToReal(4.)),ToReal(-2.)))))))); + kmul(ToReal(-2),kadd(cdphi223,kmadd(gt23L,kmadd(cdphi222,gtu22,kmadd(kmadd(cdphi212,gtu12,kmadd(cdphi213,gtu13,kmadd(cdphi223,gtu23,kmul(gtu22,kmul(cdphi2,cdphi2))))),ToReal(2),kmadd(gtu11,kmadd(kmul(cdphi1,cdphi1),ToReal(2),cdphi211),kmadd(gtu33,kmadd(kmul(cdphi3,cdphi3),ToReal(2),cdphi233),kmul(cdphi1,kmul(cdphi3,kmul(gtu13,ToReal(4)))))))),kmul(cdphi2,kmadd(gt23L,kmul(cdphi1,kmul(gtu12,ToReal(4))),kmul(cdphi3,kmadd(gt23L,kmul(gtu23,ToReal(4)),ToReal(-2)))))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Rphi33 = - kmul(ToReal(-2.),kadd(cdphi233,kmadd(kmul(cdphi3,cdphi3),kmul(kmadd(gt33L,gtu33,ToReal(-1.)),ToReal(2.)),kmul(gt33L,kmadd(cdphi233,gtu33,kmadd(kmadd(cdphi213,gtu13,kmul(cdphi223,gtu23)),ToReal(2.),kmadd(gtu11,kmadd(kmul(cdphi1,cdphi1),ToReal(2.),cdphi211),kmadd(gtu22,kmadd(kmul(cdphi2,cdphi2),ToReal(2.),cdphi222),kmadd(cdphi3,kmul(kmadd(cdphi1,gtu13,kmul(cdphi2,gtu23)),ToReal(4.)),kmul(gtu12,kmadd(cdphi212,ToReal(2.),kmul(cdphi1,kmul(cdphi2,ToReal(4.)))))))))))))); + kmul(ToReal(-2),kadd(cdphi233,kmadd(kmul(cdphi3,cdphi3),kmul(kmadd(gt33L,gtu33,ToReal(-1)),ToReal(2)),kmul(gt33L,kmadd(cdphi233,gtu33,kmadd(kmadd(cdphi213,gtu13,kmul(cdphi223,gtu23)),ToReal(2),kmadd(gtu11,kmadd(kmul(cdphi1,cdphi1),ToReal(2),cdphi211),kmadd(gtu22,kmadd(kmul(cdphi2,cdphi2),ToReal(2),cdphi222),kmadd(cdphi3,kmul(kmadd(cdphi1,gtu13,kmul(cdphi2,gtu23)),ToReal(4)),kmul(gtu12,kmadd(cdphi212,ToReal(2),kmul(cdphi1,kmul(cdphi2,ToReal(4)))))))))))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Atm11 = kmadd(At11L,gtu11,kmadd(At12L,gtu12,kmul(At13L,gtu13))); @@ -1787,67 +1828,67 @@ static void ML_CCZ4_RHS2_Body(cGH const * restrict const cctkGH, int const dir, CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED R33 = kadd(Rphi33,Rt33); R11 = - kadd(R11,kmadd(e4phi,kmadd(JacPDstandardNth1gt11,Z1,kmadd(JacPDstandardNth2gt11,Z2,kmul(JacPDstandardNth3gt11,Z3))),kdiv(kmadd(g11,kmul(kmadd(JacPDstandardNth2phi,Z2,kmul(JacPDstandardNth3phi,Z3)),ToReal(-2.)),kmul(JacPDstandardNth1phi,kmadd(g11,kmul(Z1,ToReal(2.)),kmul(kmadd(g12,Z2,kmul(g13,Z3)),ToReal(4.))))),phiL))); + kadd(R11,kmadd(e4phi,kmadd(JacPDstandardNth1gt11,Z1,kmadd(JacPDstandardNth2gt11,Z2,kmul(JacPDstandardNth3gt11,Z3))),kdiv(kmadd(g11,kmul(kmadd(JacPDstandardNth2phi,Z2,kmul(JacPDstandardNth3phi,Z3)),ToReal(-2)),kmul(JacPDstandardNth1phi,kmadd(g11,kmul(Z1,ToReal(2)),kmul(kmadd(g12,Z2,kmul(g13,Z3)),ToReal(4))))),phiL))); R12 = - kdiv(kmadd(phiL,kmadd(e4phi,kmadd(JacPDstandardNth1gt12,Z1,kmadd(JacPDstandardNth2gt12,Z2,kmul(JacPDstandardNth3gt12,Z3))),R12),kmul(kmadd(JacPDstandardNth2phi,kmadd(g11,Z1,kmul(g13,Z3)),kmadd(JacPDstandardNth1phi,kmadd(g22,Z2,kmul(g23,Z3)),kmul(g12,kmul(JacPDstandardNth3phi,kmul(Z3,ToReal(-1.)))))),ToReal(2.))),phiL); + kdiv(kmadd(phiL,kmadd(e4phi,kmadd(JacPDstandardNth1gt12,Z1,kmadd(JacPDstandardNth2gt12,Z2,kmul(JacPDstandardNth3gt12,Z3))),R12),kmul(kmadd(JacPDstandardNth2phi,kmadd(g11,Z1,kmul(g13,Z3)),kmsub(JacPDstandardNth1phi,kmadd(g22,Z2,kmul(g23,Z3)),kmul(g12,kmul(JacPDstandardNth3phi,Z3)))),ToReal(2))),phiL); R13 = - kdiv(kmadd(phiL,kmadd(e4phi,kmadd(JacPDstandardNth1gt13,Z1,kmadd(JacPDstandardNth2gt13,Z2,kmul(JacPDstandardNth3gt13,Z3))),R13),kmul(kmadd(JacPDstandardNth3phi,kmadd(g11,Z1,kmul(g12,Z2)),kmadd(g33,kmul(JacPDstandardNth1phi,Z3),kmul(Z2,kmadd(g23,JacPDstandardNth1phi,kmul(g13,kmul(JacPDstandardNth2phi,ToReal(-1.))))))),ToReal(2.))),phiL); + kdiv(kmadd(phiL,kmadd(e4phi,kmadd(JacPDstandardNth1gt13,Z1,kmadd(JacPDstandardNth2gt13,Z2,kmul(JacPDstandardNth3gt13,Z3))),R13),kmul(kmadd(JacPDstandardNth3phi,kmadd(g11,Z1,kmul(g12,Z2)),kmadd(g33,kmul(JacPDstandardNth1phi,Z3),kmul(Z2,kmsub(g23,JacPDstandardNth1phi,kmul(g13,JacPDstandardNth2phi))))),ToReal(2))),phiL); R22 = - kadd(R22,kmadd(e4phi,kmadd(JacPDstandardNth1gt22,Z1,kmadd(JacPDstandardNth2gt22,Z2,kmul(JacPDstandardNth3gt22,Z3))),kdiv(kmadd(g22,kmul(ToReal(-2.),kmadd(JacPDstandardNth1phi,Z1,kmadd(JacPDstandardNth3phi,Z3,kmul(JacPDstandardNth2phi,kmul(Z2,ToReal(-1.)))))),kmul(JacPDstandardNth2phi,kmul(kmadd(g12,Z1,kmul(g23,Z3)),ToReal(4.)))),phiL))); + kadd(R22,kmadd(e4phi,kmadd(JacPDstandardNth1gt22,Z1,kmadd(JacPDstandardNth2gt22,Z2,kmul(JacPDstandardNth3gt22,Z3))),kdiv(kmadd(g22,kmul(ToReal(-2),kmadd(JacPDstandardNth1phi,Z1,kmsub(JacPDstandardNth3phi,Z3,kmul(JacPDstandardNth2phi,Z2)))),kmul(JacPDstandardNth2phi,kmul(kmadd(g12,Z1,kmul(g23,Z3)),ToReal(4)))),phiL))); R23 = - kdiv(kmadd(phiL,kmadd(e4phi,kmadd(JacPDstandardNth1gt23,Z1,kmadd(JacPDstandardNth2gt23,Z2,kmul(JacPDstandardNth3gt23,Z3))),R23),kmul(kmadd(g22,kmul(JacPDstandardNth3phi,Z2),kmadd(g33,kmul(JacPDstandardNth2phi,Z3),kmul(Z1,kmadd(g13,JacPDstandardNth2phi,kmadd(g12,JacPDstandardNth3phi,kmul(g23,kmul(JacPDstandardNth1phi,ToReal(-1.)))))))),ToReal(2.))),phiL); + kdiv(kmadd(phiL,kmadd(e4phi,kmadd(JacPDstandardNth1gt23,Z1,kmadd(JacPDstandardNth2gt23,Z2,kmul(JacPDstandardNth3gt23,Z3))),R23),kmul(kmadd(g22,kmul(JacPDstandardNth3phi,Z2),kmadd(g33,kmul(JacPDstandardNth2phi,Z3),kmul(Z1,kmadd(g13,JacPDstandardNth2phi,kmsub(g12,JacPDstandardNth3phi,kmul(g23,JacPDstandardNth1phi)))))),ToReal(2))),phiL); R33 = - kadd(R33,kmadd(e4phi,kmadd(JacPDstandardNth1gt33,Z1,kmadd(JacPDstandardNth2gt33,Z2,kmul(JacPDstandardNth3gt33,Z3))),kdiv(kmadd(g33,kmul(ToReal(-2.),kmadd(JacPDstandardNth1phi,Z1,kmadd(JacPDstandardNth2phi,Z2,kmul(JacPDstandardNth3phi,kmul(Z3,ToReal(-1.)))))),kmul(JacPDstandardNth3phi,kmul(kmadd(g13,Z1,kmul(g23,Z2)),ToReal(4.)))),phiL))); + kadd(R33,kmadd(e4phi,kmadd(JacPDstandardNth1gt33,Z1,kmadd(JacPDstandardNth2gt33,Z2,kmul(JacPDstandardNth3gt33,Z3))),kdiv(kmadd(g33,kmul(ToReal(-2),kmadd(JacPDstandardNth1phi,Z1,kmsub(JacPDstandardNth2phi,Z2,kmul(JacPDstandardNth3phi,Z3)))),kmul(JacPDstandardNth3phi,kmul(kmadd(g13,Z1,kmul(g23,Z2)),ToReal(4)))),phiL))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED trS = - kmul(em4phi,kmadd(eTxxL,gtu11,kmadd(eTyyL,gtu22,kmadd(eTzzL,gtu33,kmul(kmadd(eTxyL,gtu12,kmadd(eTxzL,gtu13,kmul(eTyzL,gtu23))),ToReal(2.)))))); + kmul(em4phi,kmadd(eTxxL,gtu11,kmadd(eTyyL,gtu22,kmadd(eTzzL,gtu33,kmul(kmadd(eTxyL,gtu12,kmadd(eTxzL,gtu13,kmul(eTyzL,gtu23))),ToReal(2)))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Ats11 = - kmadd(Gt211,JacPDstandardNth2alpha,kmadd(Gt311,JacPDstandardNth3alpha,kmadd(alphaL,R11,kmadd(JacPDstandardNth11alpha,ToReal(-1.),kmul(JacPDstandardNth1alpha,kmadd(cdphi1,ToReal(4.),Gt111)))))); + kmadd(Gt211,JacPDstandardNth2alpha,kmadd(Gt311,JacPDstandardNth3alpha,kmadd(alphaL,R11,kmsub(JacPDstandardNth1alpha,kmadd(cdphi1,ToReal(4),Gt111),JacPDstandardNth11alpha)))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Ats12 = - kmadd(Gt312,JacPDstandardNth3alpha,kmadd(alphaL,R12,kmadd(JacPDstandardNth12alpha,ToReal(-1.),kmadd(JacPDstandardNth2alpha,kmadd(cdphi1,ToReal(2.),Gt212),kmul(JacPDstandardNth1alpha,kmadd(cdphi2,ToReal(2.),Gt112)))))); + kmadd(Gt312,JacPDstandardNth3alpha,kmadd(alphaL,R12,ksub(kmadd(JacPDstandardNth2alpha,kmadd(cdphi1,ToReal(2),Gt212),kmul(JacPDstandardNth1alpha,kmadd(cdphi2,ToReal(2),Gt112))),JacPDstandardNth12alpha))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Ats13 = - kmadd(Gt213,JacPDstandardNth2alpha,kmadd(alphaL,R13,kmadd(JacPDstandardNth13alpha,ToReal(-1.),kmadd(JacPDstandardNth3alpha,kmadd(cdphi1,ToReal(2.),Gt313),kmul(JacPDstandardNth1alpha,kmadd(cdphi3,ToReal(2.),Gt113)))))); + kmadd(Gt213,JacPDstandardNth2alpha,kmadd(alphaL,R13,ksub(kmadd(JacPDstandardNth3alpha,kmadd(cdphi1,ToReal(2),Gt313),kmul(JacPDstandardNth1alpha,kmadd(cdphi3,ToReal(2),Gt113))),JacPDstandardNth13alpha))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Ats22 = - kmadd(Gt122,JacPDstandardNth1alpha,kmadd(Gt322,JacPDstandardNth3alpha,kmadd(alphaL,R22,kmadd(JacPDstandardNth22alpha,ToReal(-1.),kmul(JacPDstandardNth2alpha,kmadd(cdphi2,ToReal(4.),Gt222)))))); + kmadd(Gt122,JacPDstandardNth1alpha,kmadd(Gt322,JacPDstandardNth3alpha,kmadd(alphaL,R22,kmsub(JacPDstandardNth2alpha,kmadd(cdphi2,ToReal(4),Gt222),JacPDstandardNth22alpha)))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Ats23 = - kmadd(Gt123,JacPDstandardNth1alpha,kmadd(alphaL,R23,kmadd(JacPDstandardNth23alpha,ToReal(-1.),kmadd(JacPDstandardNth3alpha,kmadd(cdphi2,ToReal(2.),Gt323),kmul(JacPDstandardNth2alpha,kmadd(cdphi3,ToReal(2.),Gt223)))))); + kmadd(Gt123,JacPDstandardNth1alpha,kmadd(alphaL,R23,ksub(kmadd(JacPDstandardNth3alpha,kmadd(cdphi2,ToReal(2),Gt323),kmul(JacPDstandardNth2alpha,kmadd(cdphi3,ToReal(2),Gt223))),JacPDstandardNth23alpha))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Ats33 = - kmadd(Gt133,JacPDstandardNth1alpha,kmadd(Gt233,JacPDstandardNth2alpha,kmadd(alphaL,R33,kmadd(JacPDstandardNth33alpha,ToReal(-1.),kmul(JacPDstandardNth3alpha,kmadd(cdphi3,ToReal(4.),Gt333)))))); + kmadd(Gt133,JacPDstandardNth1alpha,kmadd(Gt233,JacPDstandardNth2alpha,kmadd(alphaL,R33,kmsub(JacPDstandardNth3alpha,kmadd(cdphi3,ToReal(4),Gt333),JacPDstandardNth33alpha)))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED trAts = - kmadd(Ats11,gu11,kmadd(Ats22,gu22,kmadd(Ats33,gu33,kmul(kmadd(Ats12,gu12,kmadd(Ats13,gu13,kmul(Ats23,gu23))),ToReal(2.))))); + kmadd(Ats11,gu11,kmadd(Ats22,gu22,kmadd(Ats33,gu33,kmul(kmadd(Ats12,gu12,kmadd(Ats13,gu13,kmul(Ats23,gu23))),ToReal(2))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED At11rhsL = - kmadd(At11L,kmul(kadd(JacPDstandardNth1beta1,kadd(JacPDstandardNth2beta2,JacPDstandardNth3beta3)),ToReal(-0.666666666666666666666666666667)),kmadd(em4phi,kmadd(g11,kmul(trAts,ToReal(-0.333333333333333333333333333333)),Ats11),kmadd(alphaL,kmadd(kmadd(At11L,Atm11,kmadd(At12L,Atm21,kmul(At13L,Atm31))),ToReal(-2.),kmadd(At11L,kmadd(ThetaL,ToReal(-2.),trKL),kmul(em4phi,kmul(ToReal(-25.132741228718345),kmadd(g11,kmul(trS,ToReal(-0.333333333333333333333333333333)),eTxxL))))),kmul(kmadd(At11L,JacPDstandardNth1beta1,kmadd(At12L,JacPDstandardNth1beta2,kmul(At13L,JacPDstandardNth1beta3))),ToReal(2.))))); + kmadd(At11L,kmul(kadd(JacPDstandardNth1beta1,kadd(JacPDstandardNth2beta2,JacPDstandardNth3beta3)),ToReal(-0.666666666666666666666666666667)),kmadd(em4phi,kmadd(g11,kmul(trAts,ToReal(-0.333333333333333333333333333333)),Ats11),kmadd(kmadd(At11L,JacPDstandardNth1beta1,kmadd(At12L,JacPDstandardNth1beta2,kmul(At13L,JacPDstandardNth1beta3))),ToReal(2),kmul(alphaL,kmadd(kmadd(At11L,Atm11,kmadd(At12L,Atm21,kmul(At13L,Atm31))),ToReal(-2),kmadd(At11L,kmadd(ThetaL,ToReal(-2),trKL),kmul(em4phi,kmul(ToReal(-8),kmul(kmadd(g11,kmul(trS,ToReal(-0.333333333333333333333333333333)),eTxxL),ToReal(3.14159265358979323846264338328)))))))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED At12rhsL = - kmadd(At22L,JacPDstandardNth1beta2,kmadd(At23L,JacPDstandardNth1beta3,kmadd(At11L,JacPDstandardNth2beta1,kmadd(At13L,JacPDstandardNth2beta3,kmadd(At12L,kadd(JacPDstandardNth1beta1,kmadd(kadd(JacPDstandardNth1beta1,kadd(JacPDstandardNth2beta2,JacPDstandardNth3beta3)),ToReal(-0.666666666666666666666666666667),JacPDstandardNth2beta2)),kmadd(em4phi,kmadd(g12,kmul(trAts,ToReal(-0.333333333333333333333333333333)),Ats12),kmul(alphaL,kmadd(kmadd(At11L,Atm12,kmadd(At12L,Atm22,kmul(At13L,Atm32))),ToReal(-2.),kmadd(At12L,kmadd(ThetaL,ToReal(-2.),trKL),kmul(em4phi,kmul(ToReal(-25.132741228718345),kmadd(g12,kmul(trS,ToReal(-0.333333333333333333333333333333)),eTxyL)))))))))))); + kmadd(At22L,JacPDstandardNth1beta2,kmadd(At23L,JacPDstandardNth1beta3,kmadd(At11L,JacPDstandardNth2beta1,kmadd(At13L,JacPDstandardNth2beta3,kmadd(At12L,kadd(JacPDstandardNth1beta1,kmadd(kadd(JacPDstandardNth1beta1,kadd(JacPDstandardNth2beta2,JacPDstandardNth3beta3)),ToReal(-0.666666666666666666666666666667),JacPDstandardNth2beta2)),kmadd(em4phi,kmadd(g12,kmul(trAts,ToReal(-0.333333333333333333333333333333)),Ats12),kmul(alphaL,kmadd(kmadd(At11L,Atm12,kmadd(At12L,Atm22,kmul(At13L,Atm32))),ToReal(-2),kmadd(At12L,kmadd(ThetaL,ToReal(-2),trKL),kmul(em4phi,kmul(ToReal(-8),kmul(kmadd(g12,kmul(trS,ToReal(-0.333333333333333333333333333333)),eTxyL),ToReal(3.14159265358979323846264338328))))))))))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED At13rhsL = - kmadd(At23L,JacPDstandardNth1beta2,kmadd(At33L,JacPDstandardNth1beta3,kmadd(At11L,JacPDstandardNth3beta1,kmadd(At12L,JacPDstandardNth3beta2,kmadd(At13L,kadd(JacPDstandardNth1beta1,kmadd(kadd(JacPDstandardNth1beta1,kadd(JacPDstandardNth2beta2,JacPDstandardNth3beta3)),ToReal(-0.666666666666666666666666666667),JacPDstandardNth3beta3)),kmadd(em4phi,kmadd(g13,kmul(trAts,ToReal(-0.333333333333333333333333333333)),Ats13),kmul(alphaL,kmadd(kmadd(At11L,Atm13,kmadd(At12L,Atm23,kmul(At13L,Atm33))),ToReal(-2.),kmadd(At13L,kmadd(ThetaL,ToReal(-2.),trKL),kmul(em4phi,kmul(ToReal(-25.132741228718345),kmadd(g13,kmul(trS,ToReal(-0.333333333333333333333333333333)),eTxzL)))))))))))); + kmadd(At23L,JacPDstandardNth1beta2,kmadd(At33L,JacPDstandardNth1beta3,kmadd(At11L,JacPDstandardNth3beta1,kmadd(At12L,JacPDstandardNth3beta2,kmadd(At13L,kadd(JacPDstandardNth1beta1,kmadd(kadd(JacPDstandardNth1beta1,kadd(JacPDstandardNth2beta2,JacPDstandardNth3beta3)),ToReal(-0.666666666666666666666666666667),JacPDstandardNth3beta3)),kmadd(em4phi,kmadd(g13,kmul(trAts,ToReal(-0.333333333333333333333333333333)),Ats13),kmul(alphaL,kmadd(kmadd(At11L,Atm13,kmadd(At12L,Atm23,kmul(At13L,Atm33))),ToReal(-2),kmadd(At13L,kmadd(ThetaL,ToReal(-2),trKL),kmul(em4phi,kmul(ToReal(-8),kmul(kmadd(g13,kmul(trS,ToReal(-0.333333333333333333333333333333)),eTxzL),ToReal(3.14159265358979323846264338328))))))))))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED At22rhsL = - kmadd(At22L,kmul(kadd(JacPDstandardNth1beta1,kadd(JacPDstandardNth2beta2,JacPDstandardNth3beta3)),ToReal(-0.666666666666666666666666666667)),kmadd(em4phi,kmadd(g22,kmul(trAts,ToReal(-0.333333333333333333333333333333)),Ats22),kmadd(alphaL,kmadd(kmadd(At12L,Atm12,kmadd(At22L,Atm22,kmul(At23L,Atm32))),ToReal(-2.),kmadd(At22L,kmadd(ThetaL,ToReal(-2.),trKL),kmul(em4phi,kmul(ToReal(-25.132741228718345),kmadd(g22,kmul(trS,ToReal(-0.333333333333333333333333333333)),eTyyL))))),kmul(kmadd(At12L,JacPDstandardNth2beta1,kmadd(At22L,JacPDstandardNth2beta2,kmul(At23L,JacPDstandardNth2beta3))),ToReal(2.))))); + kmadd(At22L,kmul(kadd(JacPDstandardNth1beta1,kadd(JacPDstandardNth2beta2,JacPDstandardNth3beta3)),ToReal(-0.666666666666666666666666666667)),kmadd(em4phi,kmadd(g22,kmul(trAts,ToReal(-0.333333333333333333333333333333)),Ats22),kmadd(kmadd(At12L,JacPDstandardNth2beta1,kmadd(At22L,JacPDstandardNth2beta2,kmul(At23L,JacPDstandardNth2beta3))),ToReal(2),kmul(alphaL,kmadd(kmadd(At12L,Atm12,kmadd(At22L,Atm22,kmul(At23L,Atm32))),ToReal(-2),kmadd(At22L,kmadd(ThetaL,ToReal(-2),trKL),kmul(em4phi,kmul(ToReal(-8),kmul(kmadd(g22,kmul(trS,ToReal(-0.333333333333333333333333333333)),eTyyL),ToReal(3.14159265358979323846264338328)))))))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED At23rhsL = - kmadd(At13L,JacPDstandardNth2beta1,kmadd(At33L,JacPDstandardNth2beta3,kmadd(At12L,JacPDstandardNth3beta1,kmadd(At22L,JacPDstandardNth3beta2,kmadd(At23L,kadd(JacPDstandardNth2beta2,kmadd(kadd(JacPDstandardNth1beta1,kadd(JacPDstandardNth2beta2,JacPDstandardNth3beta3)),ToReal(-0.666666666666666666666666666667),JacPDstandardNth3beta3)),kmadd(em4phi,kmadd(g23,kmul(trAts,ToReal(-0.333333333333333333333333333333)),Ats23),kmul(alphaL,kmadd(kmadd(At12L,Atm13,kmadd(At22L,Atm23,kmul(At23L,Atm33))),ToReal(-2.),kmadd(At23L,kmadd(ThetaL,ToReal(-2.),trKL),kmul(em4phi,kmul(ToReal(-25.132741228718345),kmadd(g23,kmul(trS,ToReal(-0.333333333333333333333333333333)),eTyzL)))))))))))); + kmadd(At13L,JacPDstandardNth2beta1,kmadd(At33L,JacPDstandardNth2beta3,kmadd(At12L,JacPDstandardNth3beta1,kmadd(At22L,JacPDstandardNth3beta2,kmadd(At23L,kadd(JacPDstandardNth2beta2,kmadd(kadd(JacPDstandardNth1beta1,kadd(JacPDstandardNth2beta2,JacPDstandardNth3beta3)),ToReal(-0.666666666666666666666666666667),JacPDstandardNth3beta3)),kmadd(em4phi,kmadd(g23,kmul(trAts,ToReal(-0.333333333333333333333333333333)),Ats23),kmul(alphaL,kmadd(kmadd(At12L,Atm13,kmadd(At22L,Atm23,kmul(At23L,Atm33))),ToReal(-2),kmadd(At23L,kmadd(ThetaL,ToReal(-2),trKL),kmul(em4phi,kmul(ToReal(-8),kmul(kmadd(g23,kmul(trS,ToReal(-0.333333333333333333333333333333)),eTyzL),ToReal(3.14159265358979323846264338328))))))))))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED At33rhsL = - kmadd(At33L,kmul(kadd(JacPDstandardNth1beta1,kadd(JacPDstandardNth2beta2,JacPDstandardNth3beta3)),ToReal(-0.666666666666666666666666666667)),kmadd(em4phi,kmadd(g33,kmul(trAts,ToReal(-0.333333333333333333333333333333)),Ats33),kmadd(alphaL,kmadd(kmadd(At13L,Atm13,kmadd(At23L,Atm23,kmul(At33L,Atm33))),ToReal(-2.),kmadd(At33L,kmadd(ThetaL,ToReal(-2.),trKL),kmul(em4phi,kmul(ToReal(-25.132741228718345),kmadd(g33,kmul(trS,ToReal(-0.333333333333333333333333333333)),eTzzL))))),kmul(kmadd(At13L,JacPDstandardNth3beta1,kmadd(At23L,JacPDstandardNth3beta2,kmul(At33L,JacPDstandardNth3beta3))),ToReal(2.))))); + kmadd(At33L,kmul(kadd(JacPDstandardNth1beta1,kadd(JacPDstandardNth2beta2,JacPDstandardNth3beta3)),ToReal(-0.666666666666666666666666666667)),kmadd(em4phi,kmadd(g33,kmul(trAts,ToReal(-0.333333333333333333333333333333)),Ats33),kmadd(kmadd(At13L,JacPDstandardNth3beta1,kmadd(At23L,JacPDstandardNth3beta2,kmul(At33L,JacPDstandardNth3beta3))),ToReal(2),kmul(alphaL,kmadd(kmadd(At13L,Atm13,kmadd(At23L,Atm23,kmul(At33L,Atm33))),ToReal(-2),kmadd(At33L,kmadd(ThetaL,ToReal(-2),trKL),kmul(em4phi,kmul(ToReal(-8),kmul(kmadd(g33,kmul(trS,ToReal(-0.333333333333333333333333333333)),eTzzL),ToReal(3.14159265358979323846264338328)))))))))); /* 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(At11rhs[index],At11rhsL); vec_store_nta_partial(At12rhs[index],At12rhsL); vec_store_nta_partial(At13rhs[index],At13rhsL); @@ -1874,7 +1915,7 @@ extern "C" void ML_CCZ4_RHS2(CCTK_ARGUMENTS) return; } - const char *const groups[] = { + const char* const groups[] = { "ML_CCZ4::ML_curv", "ML_CCZ4::ML_curvrhs", "ML_CCZ4::ML_Gamma", @@ -1886,23 +1927,33 @@ extern "C" void ML_CCZ4_RHS2(CCTK_ARGUMENTS) "ML_CCZ4::ML_trace_curv"}; GenericFD_AssertGroupStorage(cctkGH, "ML_CCZ4_RHS2", 9, groups); - switch(fdOrder) + switch (fdOrder) { case 2: + { GenericFD_EnsureStencilFits(cctkGH, "ML_CCZ4_RHS2", 1, 1, 1); break; + } case 4: + { GenericFD_EnsureStencilFits(cctkGH, "ML_CCZ4_RHS2", 2, 2, 2); break; + } case 6: + { GenericFD_EnsureStencilFits(cctkGH, "ML_CCZ4_RHS2", 3, 3, 3); break; + } case 8: + { GenericFD_EnsureStencilFits(cctkGH, "ML_CCZ4_RHS2", 4, 4, 4); break; + } + default: + CCTK_BUILTIN_UNREACHABLE(); } GenericFD_LoopOverInterior(cctkGH, ML_CCZ4_RHS2_Body); diff --git a/ML_CCZ4/src/ML_CCZ4_RHSStaticBoundary.cc b/ML_CCZ4/src/ML_CCZ4_RHSStaticBoundary.cc index 2ec9134..e5d99d1 100644 --- a/ML_CCZ4/src/ML_CCZ4_RHSStaticBoundary.cc +++ b/ML_CCZ4/src/ML_CCZ4_RHSStaticBoundary.cc @@ -32,7 +32,9 @@ extern "C" void ML_CCZ4_RHSStaticBoundary_SelectBCs(CCTK_ARGUMENTS) DECLARE_CCTK_ARGUMENTS; DECLARE_CCTK_PARAMETERS; - CCTK_INT ierr CCTK_ATTRIBUTE_UNUSED = 0; + if (cctk_iteration % ML_CCZ4_RHSStaticBoundary_calc_every != ML_CCZ4_RHSStaticBoundary_calc_offset) + return; + CCTK_INT ierr CCTK_ATTRIBUTE_UNUSED = 0; ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_CCZ4::ML_curvrhs","flat"); if (ierr < 0) CCTK_WARN(1, "Failed to register flat BC for ML_CCZ4::ML_curvrhs."); @@ -66,7 +68,7 @@ extern "C" void ML_CCZ4_RHSStaticBoundary_SelectBCs(CCTK_ARGUMENTS) return; } -static void ML_CCZ4_RHSStaticBoundary_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_CCZ4_RHSStaticBoundary_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; @@ -75,153 +77,175 @@ static void ML_CCZ4_RHSStaticBoundary_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*/ p1o1024dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dx); - CCTK_REAL_VEC /*const*/ p1o1024dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dy); - CCTK_REAL_VEC /*const*/ p1o1024dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dz); - CCTK_REAL_VEC /*const*/ p1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dx); - CCTK_REAL_VEC /*const*/ p1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dy); - CCTK_REAL_VEC /*const*/ p1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dz); - CCTK_REAL_VEC /*const*/ p1o12dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dx); - CCTK_REAL_VEC /*const*/ p1o12dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dy); - CCTK_REAL_VEC /*const*/ p1o12dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dz); - CCTK_REAL_VEC /*const*/ p1o144dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o144dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o144dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o1680dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dx); - CCTK_REAL_VEC /*const*/ p1o1680dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dy); - CCTK_REAL_VEC /*const*/ p1o1680dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dz); - CCTK_REAL_VEC /*const*/ p1o180dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ p1o180dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ p1o180dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ p1o24dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dx); - CCTK_REAL_VEC /*const*/ p1o24dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dy); - CCTK_REAL_VEC /*const*/ p1o24dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dz); - CCTK_REAL_VEC /*const*/ p1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dx); - CCTK_REAL_VEC /*const*/ p1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dy); - CCTK_REAL_VEC /*const*/ p1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dz); - CCTK_REAL_VEC /*const*/ p1o3600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o3600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o3600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dx); - CCTK_REAL_VEC /*const*/ p1o4dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o4dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dy); - CCTK_REAL_VEC /*const*/ p1o4dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dz); - CCTK_REAL_VEC /*const*/ p1o5040dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ p1o5040dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ p1o5040dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ p1o560dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dx); - CCTK_REAL_VEC /*const*/ p1o560dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dy); - CCTK_REAL_VEC /*const*/ p1o560dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dz); - CCTK_REAL_VEC /*const*/ p1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dx); - CCTK_REAL_VEC /*const*/ p1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dy); - CCTK_REAL_VEC /*const*/ p1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dz); - CCTK_REAL_VEC /*const*/ p1o64dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dx); - CCTK_REAL_VEC /*const*/ p1o64dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dy); - CCTK_REAL_VEC /*const*/ p1o64dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dz); - CCTK_REAL_VEC /*const*/ p1o705600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o705600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o705600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o840dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dx); - CCTK_REAL_VEC /*const*/ p1o840dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dy); - CCTK_REAL_VEC /*const*/ p1o840dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dz); - CCTK_REAL_VEC /*const*/ p1odx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dx); - CCTK_REAL_VEC /*const*/ p1odx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ p1ody CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dy); - CCTK_REAL_VEC /*const*/ p1ody2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ p1odz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dz); - CCTK_REAL_VEC /*const*/ p1odz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ pm1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dx); - CCTK_REAL_VEC /*const*/ pm1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dy); - CCTK_REAL_VEC /*const*/ pm1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dz); - CCTK_REAL_VEC /*const*/ pm1o12dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ pm1o12dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ pm1o12dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ pm1o16dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dx); - CCTK_REAL_VEC /*const*/ pm1o16dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dy); - CCTK_REAL_VEC /*const*/ pm1o16dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dz); - CCTK_REAL_VEC /*const*/ pm1o256dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dx); - CCTK_REAL_VEC /*const*/ pm1o256dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dy); - CCTK_REAL_VEC /*const*/ pm1o256dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dz); - CCTK_REAL_VEC /*const*/ pm1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dx); - CCTK_REAL_VEC /*const*/ pm1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dy); - CCTK_REAL_VEC /*const*/ pm1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dz); - CCTK_REAL_VEC /*const*/ pm1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dx); - CCTK_REAL_VEC /*const*/ pm1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dy); - CCTK_REAL_VEC /*const*/ pm1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dz); - CCTK_REAL_VEC /*const*/ pm1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dx); - CCTK_REAL_VEC /*const*/ pm1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dy); - CCTK_REAL_VEC /*const*/ pm1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dz); + const CCTK_REAL_VEC p1o1024dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dx); + const CCTK_REAL_VEC p1o1024dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dy); + const CCTK_REAL_VEC p1o1024dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dz); + const CCTK_REAL_VEC p1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dx); + const CCTK_REAL_VEC p1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dy); + const CCTK_REAL_VEC p1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dz); + const CCTK_REAL_VEC p1o12dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dx); + const CCTK_REAL_VEC p1o12dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dy); + const CCTK_REAL_VEC p1o12dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dz); + const CCTK_REAL_VEC p1o144dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dy,dx)); + const CCTK_REAL_VEC p1o144dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dx)); + const CCTK_REAL_VEC p1o144dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dy)); + const CCTK_REAL_VEC p1o1680dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dx); + const CCTK_REAL_VEC p1o1680dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dy); + const CCTK_REAL_VEC p1o1680dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dz); + const CCTK_REAL_VEC p1o180dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dx,dx)); + const CCTK_REAL_VEC p1o180dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dy,dy)); + const CCTK_REAL_VEC p1o180dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dz,dz)); + const CCTK_REAL_VEC p1o24dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dx); + const CCTK_REAL_VEC p1o24dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dy); + const CCTK_REAL_VEC p1o24dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dz); + const CCTK_REAL_VEC p1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dx); + const CCTK_REAL_VEC p1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dy); + const CCTK_REAL_VEC p1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dz); + const CCTK_REAL_VEC p1o3600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dy,dx)); + const CCTK_REAL_VEC p1o3600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dx)); + const CCTK_REAL_VEC p1o3600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dy)); + const CCTK_REAL_VEC p1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dx); + const CCTK_REAL_VEC p1o4dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dy,dx)); + const CCTK_REAL_VEC p1o4dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dx)); + const CCTK_REAL_VEC p1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dy); + const CCTK_REAL_VEC p1o4dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dy)); + const CCTK_REAL_VEC p1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dz); + const CCTK_REAL_VEC p1o5040dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dx,dx)); + const CCTK_REAL_VEC p1o5040dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dy,dy)); + const CCTK_REAL_VEC p1o5040dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dz,dz)); + const CCTK_REAL_VEC p1o560dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dx); + const CCTK_REAL_VEC p1o560dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dy); + const CCTK_REAL_VEC p1o560dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dz); + const CCTK_REAL_VEC p1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dx); + const CCTK_REAL_VEC p1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dy); + const CCTK_REAL_VEC p1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dz); + const CCTK_REAL_VEC p1o64dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dx); + const CCTK_REAL_VEC p1o64dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dy); + const CCTK_REAL_VEC p1o64dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dz); + const CCTK_REAL_VEC p1o705600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dy,dx)); + const CCTK_REAL_VEC p1o705600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dx)); + const CCTK_REAL_VEC p1o705600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dy)); + const CCTK_REAL_VEC p1o840dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dx); + const CCTK_REAL_VEC p1o840dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dy); + const CCTK_REAL_VEC p1o840dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dz); + const CCTK_REAL_VEC p1odx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dx); + const CCTK_REAL_VEC p1odx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dx,dx)); + const CCTK_REAL_VEC p1ody CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dy); + const CCTK_REAL_VEC p1ody2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dy,dy)); + const CCTK_REAL_VEC p1odz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dz); + const CCTK_REAL_VEC p1odz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dz,dz)); + const CCTK_REAL_VEC pm1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dx); + const CCTK_REAL_VEC pm1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dy); + const CCTK_REAL_VEC pm1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dz); + const CCTK_REAL_VEC pm1o12dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dx,dx)); + const CCTK_REAL_VEC pm1o12dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dy,dy)); + const CCTK_REAL_VEC pm1o12dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dz,dz)); + const CCTK_REAL_VEC pm1o16dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dx); + const CCTK_REAL_VEC pm1o16dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dy); + const CCTK_REAL_VEC pm1o16dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dz); + const CCTK_REAL_VEC pm1o256dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dx); + const CCTK_REAL_VEC pm1o256dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dy); + const CCTK_REAL_VEC pm1o256dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dz); + const CCTK_REAL_VEC pm1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dx); + const CCTK_REAL_VEC pm1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dy); + const CCTK_REAL_VEC pm1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dz); + const CCTK_REAL_VEC pm1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dx); + const CCTK_REAL_VEC pm1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dy); + const CCTK_REAL_VEC pm1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dz); + const CCTK_REAL_VEC pm1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dx); + const CCTK_REAL_VEC pm1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dy); + const CCTK_REAL_VEC pm1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dz); /* Jacobian variable pointers */ - bool const use_jacobian CCTK_ATTRIBUTE_UNUSED = (!CCTK_IsFunctionAliased("MultiPatch_GetMap") || MultiPatch_GetMap(cctkGH) != jacobian_identity_map) - && strlen(jacobian_group) > 0; - if (use_jacobian && strlen(jacobian_derivative_group) == 0) + const bool use_jacobian1 = (!CCTK_IsFunctionAliased("MultiPatch_GetMap") || MultiPatch_GetMap(cctkGH) != jacobian_identity_map) + && strlen(jacobian_group) > 0; + const bool use_jacobian = assume_use_jacobian>=0 ? assume_use_jacobian : use_jacobian1; + const bool usejacobian CCTK_ATTRIBUTE_UNUSED = use_jacobian; + if (use_jacobian && (strlen(jacobian_determinant_group) == 0 || strlen(jacobian_inverse_group) == 0 || strlen(jacobian_derivative_group) == 0)) { - CCTK_WARN (1, "GenericFD::jacobian_group and GenericFD::jacobian_derivative_group must both be set to valid group names"); + CCTK_WARN(1, "GenericFD::jacobian_group, GenericFD::jacobian_determinant_group, GenericFD::jacobian_inverse_group, and GenericFD::jacobian_derivative_group must all be set to valid group names"); } - CCTK_REAL const *restrict jacobian_ptrs[9]; + const CCTK_REAL* restrict jacobian_ptrs[9]; if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_group, 9, jacobian_ptrs); - CCTK_REAL const *restrict const J11 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[0] : 0; - CCTK_REAL const *restrict const J12 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[1] : 0; - CCTK_REAL const *restrict const J13 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[2] : 0; - CCTK_REAL const *restrict const J21 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[3] : 0; - CCTK_REAL const *restrict const J22 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[4] : 0; - CCTK_REAL const *restrict const J23 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[5] : 0; - CCTK_REAL const *restrict const J31 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[6] : 0; - CCTK_REAL const *restrict const J32 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[7] : 0; - CCTK_REAL const *restrict const J33 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[8] : 0; + const CCTK_REAL* restrict const J11 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[0] : 0; + const CCTK_REAL* restrict const J12 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[1] : 0; + const CCTK_REAL* restrict const J13 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[2] : 0; + const CCTK_REAL* restrict const J21 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[3] : 0; + const CCTK_REAL* restrict const J22 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[4] : 0; + const CCTK_REAL* restrict const J23 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[5] : 0; + const CCTK_REAL* restrict const J31 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[6] : 0; + const CCTK_REAL* restrict const J32 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[7] : 0; + const CCTK_REAL* restrict const J33 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[8] : 0; + + const CCTK_REAL* restrict jacobian_determinant_ptrs[1] CCTK_ATTRIBUTE_UNUSED; + if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_determinant_group, + 1, jacobian_determinant_ptrs); + + const CCTK_REAL* restrict const detJ CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[0] : 0; - CCTK_REAL const *restrict jacobian_derivative_ptrs[18] CCTK_ATTRIBUTE_UNUSED; + const CCTK_REAL* restrict jacobian_inverse_ptrs[9] CCTK_ATTRIBUTE_UNUSED; + if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_inverse_group, + 9, jacobian_inverse_ptrs); + + const CCTK_REAL* restrict const iJ11 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[0] : 0; + const CCTK_REAL* restrict const iJ12 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[1] : 0; + const CCTK_REAL* restrict const iJ13 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[2] : 0; + const CCTK_REAL* restrict const iJ21 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[3] : 0; + const CCTK_REAL* restrict const iJ22 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[4] : 0; + const CCTK_REAL* restrict const iJ23 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[5] : 0; + const CCTK_REAL* restrict const iJ31 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[6] : 0; + const CCTK_REAL* restrict const iJ32 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[7] : 0; + const CCTK_REAL* restrict const iJ33 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[8] : 0; + + const CCTK_REAL* restrict jacobian_derivative_ptrs[18] CCTK_ATTRIBUTE_UNUSED; if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_derivative_group, 18, jacobian_derivative_ptrs); - CCTK_REAL const *restrict const dJ111 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[0] : 0; - CCTK_REAL const *restrict const dJ112 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[1] : 0; - CCTK_REAL const *restrict const dJ113 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[2] : 0; - CCTK_REAL const *restrict const dJ122 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[3] : 0; - CCTK_REAL const *restrict const dJ123 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[4] : 0; - CCTK_REAL const *restrict const dJ133 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[5] : 0; - CCTK_REAL const *restrict const dJ211 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[6] : 0; - CCTK_REAL const *restrict const dJ212 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[7] : 0; - CCTK_REAL const *restrict const dJ213 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[8] : 0; - CCTK_REAL const *restrict const dJ222 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[9] : 0; - CCTK_REAL const *restrict const dJ223 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[10] : 0; - CCTK_REAL const *restrict const dJ233 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[11] : 0; - CCTK_REAL const *restrict const dJ311 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[12] : 0; - CCTK_REAL const *restrict const dJ312 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[13] : 0; - CCTK_REAL const *restrict const dJ313 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[14] : 0; - CCTK_REAL const *restrict const dJ322 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[15] : 0; - CCTK_REAL const *restrict const dJ323 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[16] : 0; - CCTK_REAL const *restrict const dJ333 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[17] : 0; + const CCTK_REAL* restrict const dJ111 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[0] : 0; + const CCTK_REAL* restrict const dJ112 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[1] : 0; + const CCTK_REAL* restrict const dJ113 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[2] : 0; + const CCTK_REAL* restrict const dJ122 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[3] : 0; + const CCTK_REAL* restrict const dJ123 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[4] : 0; + const CCTK_REAL* restrict const dJ133 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[5] : 0; + const CCTK_REAL* restrict const dJ211 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[6] : 0; + const CCTK_REAL* restrict const dJ212 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[7] : 0; + const CCTK_REAL* restrict const dJ213 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[8] : 0; + const CCTK_REAL* restrict const dJ222 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[9] : 0; + const CCTK_REAL* restrict const dJ223 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[10] : 0; + const CCTK_REAL* restrict const dJ233 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[11] : 0; + const CCTK_REAL* restrict const dJ311 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[12] : 0; + const CCTK_REAL* restrict const dJ312 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[13] : 0; + const CCTK_REAL* restrict const dJ313 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[14] : 0; + const CCTK_REAL* restrict const dJ322 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[15] : 0; + const CCTK_REAL* restrict const dJ323 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[16] : 0; + const CCTK_REAL* restrict const dJ333 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[17] : 0; /* Assign local copies of arrays functions */ @@ -232,13 +256,20 @@ static void ML_CCZ4_RHSStaticBoundary_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_CCZ4_RHSStaticBoundary, - 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 */ @@ -249,76 +280,86 @@ static void ML_CCZ4_RHSStaticBoundary_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 */ - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED phirhsL = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED phirhsL = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gt11rhsL = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gt11rhsL = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gt12rhsL = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gt12rhsL = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gt13rhsL = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gt13rhsL = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gt22rhsL = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gt22rhsL = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gt23rhsL = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gt23rhsL = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gt33rhsL = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gt33rhsL = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED trKrhsL = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED trKrhsL = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED At11rhsL = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED At11rhsL = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED At12rhsL = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED At12rhsL = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED At13rhsL = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED At13rhsL = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED At22rhsL = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED At22rhsL = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED At23rhsL = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED At23rhsL = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED At33rhsL = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED At33rhsL = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Xt1rhsL = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Xt1rhsL = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Xt2rhsL = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Xt2rhsL = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Xt3rhsL = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Xt3rhsL = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED alpharhsL = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED alpharhsL = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED ArhsL = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED ArhsL = 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); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED B1rhsL = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED B1rhsL = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED B2rhsL = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED B2rhsL = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED B3rhsL = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED B3rhsL = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED ThetarhsL = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED ThetarhsL = 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(Arhs[index],ArhsL); vec_store_nta_partial(At11rhs[index],At11rhsL); @@ -365,7 +406,7 @@ extern "C" void ML_CCZ4_RHSStaticBoundary(CCTK_ARGUMENTS) return; } - const char *const groups[] = { + const char* const groups[] = { "ML_CCZ4::ML_curvrhs", "ML_CCZ4::ML_dtlapserhs", "ML_CCZ4::ML_dtshiftrhs", @@ -378,19 +419,29 @@ extern "C" void ML_CCZ4_RHSStaticBoundary(CCTK_ARGUMENTS) "ML_CCZ4::ML_trace_curvrhs"}; GenericFD_AssertGroupStorage(cctkGH, "ML_CCZ4_RHSStaticBoundary", 10, groups); - switch(fdOrder) + switch (fdOrder) { case 2: + { break; + } case 4: + { break; + } case 6: + { break; + } case 8: + { break; + } + default: + CCTK_BUILTIN_UNREACHABLE(); } GenericFD_LoopOverBoundary(cctkGH, ML_CCZ4_RHSStaticBoundary_Body); diff --git a/ML_CCZ4/src/ML_CCZ4_boundary.cc b/ML_CCZ4/src/ML_CCZ4_boundary.cc index 6534970..c87d554 100644 --- a/ML_CCZ4/src/ML_CCZ4_boundary.cc +++ b/ML_CCZ4/src/ML_CCZ4_boundary.cc @@ -32,7 +32,9 @@ extern "C" void ML_CCZ4_boundary_SelectBCs(CCTK_ARGUMENTS) DECLARE_CCTK_ARGUMENTS; DECLARE_CCTK_PARAMETERS; - CCTK_INT ierr CCTK_ATTRIBUTE_UNUSED = 0; + if (cctk_iteration % ML_CCZ4_boundary_calc_every != ML_CCZ4_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_CCZ4::ML_curv","flat"); if (ierr < 0) CCTK_WARN(1, "Failed to register flat BC for ML_CCZ4::ML_curv."); @@ -66,7 +68,7 @@ extern "C" void ML_CCZ4_boundary_SelectBCs(CCTK_ARGUMENTS) return; } -static void ML_CCZ4_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_CCZ4_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; @@ -75,153 +77,175 @@ static void ML_CCZ4_boundary_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*/ p1o1024dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dx); - CCTK_REAL_VEC /*const*/ p1o1024dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dy); - CCTK_REAL_VEC /*const*/ p1o1024dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dz); - CCTK_REAL_VEC /*const*/ p1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dx); - CCTK_REAL_VEC /*const*/ p1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dy); - CCTK_REAL_VEC /*const*/ p1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dz); - CCTK_REAL_VEC /*const*/ p1o12dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dx); - CCTK_REAL_VEC /*const*/ p1o12dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dy); - CCTK_REAL_VEC /*const*/ p1o12dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dz); - CCTK_REAL_VEC /*const*/ p1o144dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o144dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o144dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o1680dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dx); - CCTK_REAL_VEC /*const*/ p1o1680dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dy); - CCTK_REAL_VEC /*const*/ p1o1680dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dz); - CCTK_REAL_VEC /*const*/ p1o180dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ p1o180dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ p1o180dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ p1o24dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dx); - CCTK_REAL_VEC /*const*/ p1o24dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dy); - CCTK_REAL_VEC /*const*/ p1o24dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dz); - CCTK_REAL_VEC /*const*/ p1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dx); - CCTK_REAL_VEC /*const*/ p1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dy); - CCTK_REAL_VEC /*const*/ p1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dz); - CCTK_REAL_VEC /*const*/ p1o3600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o3600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o3600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dx); - CCTK_REAL_VEC /*const*/ p1o4dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o4dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dy); - CCTK_REAL_VEC /*const*/ p1o4dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dz); - CCTK_REAL_VEC /*const*/ p1o5040dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ p1o5040dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ p1o5040dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ p1o560dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dx); - CCTK_REAL_VEC /*const*/ p1o560dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dy); - CCTK_REAL_VEC /*const*/ p1o560dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dz); - CCTK_REAL_VEC /*const*/ p1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dx); - CCTK_REAL_VEC /*const*/ p1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dy); - CCTK_REAL_VEC /*const*/ p1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dz); - CCTK_REAL_VEC /*const*/ p1o64dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dx); - CCTK_REAL_VEC /*const*/ p1o64dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dy); - CCTK_REAL_VEC /*const*/ p1o64dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dz); - CCTK_REAL_VEC /*const*/ p1o705600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o705600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o705600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o840dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dx); - CCTK_REAL_VEC /*const*/ p1o840dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dy); - CCTK_REAL_VEC /*const*/ p1o840dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dz); - CCTK_REAL_VEC /*const*/ p1odx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dx); - CCTK_REAL_VEC /*const*/ p1odx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ p1ody CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dy); - CCTK_REAL_VEC /*const*/ p1ody2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ p1odz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dz); - CCTK_REAL_VEC /*const*/ p1odz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ pm1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dx); - CCTK_REAL_VEC /*const*/ pm1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dy); - CCTK_REAL_VEC /*const*/ pm1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dz); - CCTK_REAL_VEC /*const*/ pm1o12dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ pm1o12dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ pm1o12dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ pm1o16dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dx); - CCTK_REAL_VEC /*const*/ pm1o16dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dy); - CCTK_REAL_VEC /*const*/ pm1o16dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dz); - CCTK_REAL_VEC /*const*/ pm1o256dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dx); - CCTK_REAL_VEC /*const*/ pm1o256dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dy); - CCTK_REAL_VEC /*const*/ pm1o256dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dz); - CCTK_REAL_VEC /*const*/ pm1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dx); - CCTK_REAL_VEC /*const*/ pm1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dy); - CCTK_REAL_VEC /*const*/ pm1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dz); - CCTK_REAL_VEC /*const*/ pm1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dx); - CCTK_REAL_VEC /*const*/ pm1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dy); - CCTK_REAL_VEC /*const*/ pm1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dz); - CCTK_REAL_VEC /*const*/ pm1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dx); - CCTK_REAL_VEC /*const*/ pm1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dy); - CCTK_REAL_VEC /*const*/ pm1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dz); + const CCTK_REAL_VEC p1o1024dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dx); + const CCTK_REAL_VEC p1o1024dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dy); + const CCTK_REAL_VEC p1o1024dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dz); + const CCTK_REAL_VEC p1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dx); + const CCTK_REAL_VEC p1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dy); + const CCTK_REAL_VEC p1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dz); + const CCTK_REAL_VEC p1o12dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dx); + const CCTK_REAL_VEC p1o12dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dy); + const CCTK_REAL_VEC p1o12dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dz); + const CCTK_REAL_VEC p1o144dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dy,dx)); + const CCTK_REAL_VEC p1o144dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dx)); + const CCTK_REAL_VEC p1o144dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dy)); + const CCTK_REAL_VEC p1o1680dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dx); + const CCTK_REAL_VEC p1o1680dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dy); + const CCTK_REAL_VEC p1o1680dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dz); + const CCTK_REAL_VEC p1o180dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dx,dx)); + const CCTK_REAL_VEC p1o180dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dy,dy)); + const CCTK_REAL_VEC p1o180dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dz,dz)); + const CCTK_REAL_VEC p1o24dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dx); + const CCTK_REAL_VEC p1o24dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dy); + const CCTK_REAL_VEC p1o24dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dz); + const CCTK_REAL_VEC p1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dx); + const CCTK_REAL_VEC p1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dy); + const CCTK_REAL_VEC p1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dz); + const CCTK_REAL_VEC p1o3600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dy,dx)); + const CCTK_REAL_VEC p1o3600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dx)); + const CCTK_REAL_VEC p1o3600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dy)); + const CCTK_REAL_VEC p1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dx); + const CCTK_REAL_VEC p1o4dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dy,dx)); + const CCTK_REAL_VEC p1o4dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dx)); + const CCTK_REAL_VEC p1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dy); + const CCTK_REAL_VEC p1o4dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dy)); + const CCTK_REAL_VEC p1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dz); + const CCTK_REAL_VEC p1o5040dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dx,dx)); + const CCTK_REAL_VEC p1o5040dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dy,dy)); + const CCTK_REAL_VEC p1o5040dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dz,dz)); + const CCTK_REAL_VEC p1o560dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dx); + const CCTK_REAL_VEC p1o560dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dy); + const CCTK_REAL_VEC p1o560dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dz); + const CCTK_REAL_VEC p1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dx); + const CCTK_REAL_VEC p1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dy); + const CCTK_REAL_VEC p1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dz); + const CCTK_REAL_VEC p1o64dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dx); + const CCTK_REAL_VEC p1o64dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dy); + const CCTK_REAL_VEC p1o64dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dz); + const CCTK_REAL_VEC p1o705600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dy,dx)); + const CCTK_REAL_VEC p1o705600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dx)); + const CCTK_REAL_VEC p1o705600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dy)); + const CCTK_REAL_VEC p1o840dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dx); + const CCTK_REAL_VEC p1o840dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dy); + const CCTK_REAL_VEC p1o840dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dz); + const CCTK_REAL_VEC p1odx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dx); + const CCTK_REAL_VEC p1odx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dx,dx)); + const CCTK_REAL_VEC p1ody CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dy); + const CCTK_REAL_VEC p1ody2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dy,dy)); + const CCTK_REAL_VEC p1odz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dz); + const CCTK_REAL_VEC p1odz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dz,dz)); + const CCTK_REAL_VEC pm1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dx); + const CCTK_REAL_VEC pm1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dy); + const CCTK_REAL_VEC pm1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dz); + const CCTK_REAL_VEC pm1o12dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dx,dx)); + const CCTK_REAL_VEC pm1o12dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dy,dy)); + const CCTK_REAL_VEC pm1o12dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dz,dz)); + const CCTK_REAL_VEC pm1o16dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dx); + const CCTK_REAL_VEC pm1o16dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dy); + const CCTK_REAL_VEC pm1o16dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dz); + const CCTK_REAL_VEC pm1o256dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dx); + const CCTK_REAL_VEC pm1o256dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dy); + const CCTK_REAL_VEC pm1o256dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dz); + const CCTK_REAL_VEC pm1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dx); + const CCTK_REAL_VEC pm1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dy); + const CCTK_REAL_VEC pm1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dz); + const CCTK_REAL_VEC pm1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dx); + const CCTK_REAL_VEC pm1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dy); + const CCTK_REAL_VEC pm1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dz); + const CCTK_REAL_VEC pm1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dx); + const CCTK_REAL_VEC pm1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dy); + const CCTK_REAL_VEC pm1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dz); /* Jacobian variable pointers */ - bool const use_jacobian CCTK_ATTRIBUTE_UNUSED = (!CCTK_IsFunctionAliased("MultiPatch_GetMap") || MultiPatch_GetMap(cctkGH) != jacobian_identity_map) - && strlen(jacobian_group) > 0; - if (use_jacobian && strlen(jacobian_derivative_group) == 0) + const bool use_jacobian1 = (!CCTK_IsFunctionAliased("MultiPatch_GetMap") || MultiPatch_GetMap(cctkGH) != jacobian_identity_map) + && strlen(jacobian_group) > 0; + const bool use_jacobian = assume_use_jacobian>=0 ? assume_use_jacobian : use_jacobian1; + const bool usejacobian CCTK_ATTRIBUTE_UNUSED = use_jacobian; + if (use_jacobian && (strlen(jacobian_determinant_group) == 0 || strlen(jacobian_inverse_group) == 0 || strlen(jacobian_derivative_group) == 0)) { - CCTK_WARN (1, "GenericFD::jacobian_group and GenericFD::jacobian_derivative_group must both be set to valid group names"); + CCTK_WARN(1, "GenericFD::jacobian_group, GenericFD::jacobian_determinant_group, GenericFD::jacobian_inverse_group, and GenericFD::jacobian_derivative_group must all be set to valid group names"); } - CCTK_REAL const *restrict jacobian_ptrs[9]; + const CCTK_REAL* restrict jacobian_ptrs[9]; if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_group, 9, jacobian_ptrs); - CCTK_REAL const *restrict const J11 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[0] : 0; - CCTK_REAL const *restrict const J12 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[1] : 0; - CCTK_REAL const *restrict const J13 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[2] : 0; - CCTK_REAL const *restrict const J21 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[3] : 0; - CCTK_REAL const *restrict const J22 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[4] : 0; - CCTK_REAL const *restrict const J23 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[5] : 0; - CCTK_REAL const *restrict const J31 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[6] : 0; - CCTK_REAL const *restrict const J32 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[7] : 0; - CCTK_REAL const *restrict const J33 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[8] : 0; + const CCTK_REAL* restrict const J11 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[0] : 0; + const CCTK_REAL* restrict const J12 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[1] : 0; + const CCTK_REAL* restrict const J13 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[2] : 0; + const CCTK_REAL* restrict const J21 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[3] : 0; + const CCTK_REAL* restrict const J22 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[4] : 0; + const CCTK_REAL* restrict const J23 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[5] : 0; + const CCTK_REAL* restrict const J31 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[6] : 0; + const CCTK_REAL* restrict const J32 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[7] : 0; + const CCTK_REAL* restrict const J33 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[8] : 0; + + const CCTK_REAL* restrict jacobian_determinant_ptrs[1] CCTK_ATTRIBUTE_UNUSED; + if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_determinant_group, + 1, jacobian_determinant_ptrs); + + const CCTK_REAL* restrict const detJ CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[0] : 0; - CCTK_REAL const *restrict jacobian_derivative_ptrs[18] CCTK_ATTRIBUTE_UNUSED; + const CCTK_REAL* restrict jacobian_inverse_ptrs[9] CCTK_ATTRIBUTE_UNUSED; + if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_inverse_group, + 9, jacobian_inverse_ptrs); + + const CCTK_REAL* restrict const iJ11 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[0] : 0; + const CCTK_REAL* restrict const iJ12 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[1] : 0; + const CCTK_REAL* restrict const iJ13 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[2] : 0; + const CCTK_REAL* restrict const iJ21 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[3] : 0; + const CCTK_REAL* restrict const iJ22 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[4] : 0; + const CCTK_REAL* restrict const iJ23 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[5] : 0; + const CCTK_REAL* restrict const iJ31 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[6] : 0; + const CCTK_REAL* restrict const iJ32 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[7] : 0; + const CCTK_REAL* restrict const iJ33 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[8] : 0; + + const CCTK_REAL* restrict jacobian_derivative_ptrs[18] CCTK_ATTRIBUTE_UNUSED; if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_derivative_group, 18, jacobian_derivative_ptrs); - CCTK_REAL const *restrict const dJ111 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[0] : 0; - CCTK_REAL const *restrict const dJ112 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[1] : 0; - CCTK_REAL const *restrict const dJ113 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[2] : 0; - CCTK_REAL const *restrict const dJ122 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[3] : 0; - CCTK_REAL const *restrict const dJ123 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[4] : 0; - CCTK_REAL const *restrict const dJ133 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[5] : 0; - CCTK_REAL const *restrict const dJ211 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[6] : 0; - CCTK_REAL const *restrict const dJ212 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[7] : 0; - CCTK_REAL const *restrict const dJ213 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[8] : 0; - CCTK_REAL const *restrict const dJ222 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[9] : 0; - CCTK_REAL const *restrict const dJ223 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[10] : 0; - CCTK_REAL const *restrict const dJ233 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[11] : 0; - CCTK_REAL const *restrict const dJ311 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[12] : 0; - CCTK_REAL const *restrict const dJ312 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[13] : 0; - CCTK_REAL const *restrict const dJ313 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[14] : 0; - CCTK_REAL const *restrict const dJ322 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[15] : 0; - CCTK_REAL const *restrict const dJ323 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[16] : 0; - CCTK_REAL const *restrict const dJ333 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[17] : 0; + const CCTK_REAL* restrict const dJ111 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[0] : 0; + const CCTK_REAL* restrict const dJ112 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[1] : 0; + const CCTK_REAL* restrict const dJ113 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[2] : 0; + const CCTK_REAL* restrict const dJ122 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[3] : 0; + const CCTK_REAL* restrict const dJ123 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[4] : 0; + const CCTK_REAL* restrict const dJ133 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[5] : 0; + const CCTK_REAL* restrict const dJ211 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[6] : 0; + const CCTK_REAL* restrict const dJ212 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[7] : 0; + const CCTK_REAL* restrict const dJ213 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[8] : 0; + const CCTK_REAL* restrict const dJ222 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[9] : 0; + const CCTK_REAL* restrict const dJ223 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[10] : 0; + const CCTK_REAL* restrict const dJ233 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[11] : 0; + const CCTK_REAL* restrict const dJ311 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[12] : 0; + const CCTK_REAL* restrict const dJ312 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[13] : 0; + const CCTK_REAL* restrict const dJ313 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[14] : 0; + const CCTK_REAL* restrict const dJ322 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[15] : 0; + const CCTK_REAL* restrict const dJ323 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[16] : 0; + const CCTK_REAL* restrict const dJ333 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[17] : 0; /* Assign local copies of arrays functions */ @@ -232,13 +256,20 @@ static void ML_CCZ4_boundary_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_CCZ4_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 */ @@ -249,77 +280,87 @@ static void ML_CCZ4_boundary_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 phiL = IfThen(conformalMethod == - 1.,ToReal(1.),ToReal(0.)); + 1,ToReal(1),ToReal(0)); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gt11L = ToReal(1.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gt11L = ToReal(1); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gt12L = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gt12L = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gt13L = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gt13L = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gt22L = ToReal(1.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gt22L = ToReal(1); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gt23L = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gt23L = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gt33L = ToReal(1.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gt33L = ToReal(1); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED trKL = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED trKL = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED At11L = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED At11L = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED At12L = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED At12L = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED At13L = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED At13L = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED At22L = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED At22L = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED At23L = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED At23L = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED At33L = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED At33L = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Xt1L = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Xt1L = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Xt2L = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Xt2L = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Xt3L = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Xt3L = 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 AL = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED AL = ToReal(0); - 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); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED B1L = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED B1L = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED B2L = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED B2L = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED B3L = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED B3L = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED ThetaL = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED ThetaL = 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(A[index],AL); vec_store_nta_partial(alpha[index],alphaL); vec_store_nta_partial(At11[index],At11L); @@ -366,7 +407,7 @@ extern "C" void ML_CCZ4_boundary(CCTK_ARGUMENTS) return; } - const char *const groups[] = { + const char* const groups[] = { "ML_CCZ4::ML_curv", "ML_CCZ4::ML_dtlapse", "ML_CCZ4::ML_dtshift", @@ -379,19 +420,29 @@ extern "C" void ML_CCZ4_boundary(CCTK_ARGUMENTS) "ML_CCZ4::ML_trace_curv"}; GenericFD_AssertGroupStorage(cctkGH, "ML_CCZ4_boundary", 10, 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_CCZ4_boundary_Body); diff --git a/ML_CCZ4/src/ML_CCZ4_constraints1.cc b/ML_CCZ4/src/ML_CCZ4_constraints1.cc index 4723ef6..817d4fe 100644 --- a/ML_CCZ4/src/ML_CCZ4_constraints1.cc +++ b/ML_CCZ4/src/ML_CCZ4_constraints1.cc @@ -32,14 +32,16 @@ extern "C" void ML_CCZ4_constraints1_SelectBCs(CCTK_ARGUMENTS) DECLARE_CCTK_ARGUMENTS; DECLARE_CCTK_PARAMETERS; - CCTK_INT ierr CCTK_ATTRIBUTE_UNUSED = 0; + if (cctk_iteration % ML_CCZ4_constraints1_calc_every != ML_CCZ4_constraints1_calc_offset) + return; + CCTK_INT ierr CCTK_ATTRIBUTE_UNUSED = 0; ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_CCZ4::ML_Ham","flat"); if (ierr < 0) CCTK_WARN(1, "Failed to register flat BC for ML_CCZ4::ML_Ham."); return; } -static void ML_CCZ4_constraints1_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_CCZ4_constraints1_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; @@ -48,153 +50,175 @@ static void ML_CCZ4_constraints1_Body(cGH const * restrict const cctkGH, int con /* Include user-supplied include files */ /* Initialise finite differencing variables */ - ptrdiff_t /*const*/ di CCTK_ATTRIBUTE_UNUSED = 1; - ptrdiff_t /*const*/ dj CCTK_ATTRIBUTE_UNUSED = CCTK_GFINDEX3D(cctkGH,0,1,0) - CCTK_GFINDEX3D(cctkGH,0,0,0); - ptrdiff_t /*const*/ dk CCTK_ATTRIBUTE_UNUSED = CCTK_GFINDEX3D(cctkGH,0,0,1) - CCTK_GFINDEX3D(cctkGH,0,0,0); - ptrdiff_t /*const*/ cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * di; - ptrdiff_t /*const*/ cdj CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * dj; - ptrdiff_t /*const*/ cdk CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * dk; - CCTK_REAL_VEC /*const*/ dx CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(0)); - CCTK_REAL_VEC /*const*/ dy CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(1)); - CCTK_REAL_VEC /*const*/ dz CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(2)); - CCTK_REAL_VEC /*const*/ dt CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_TIME); - CCTK_REAL_VEC /*const*/ t CCTK_ATTRIBUTE_UNUSED = ToReal(cctk_time); - CCTK_REAL_VEC /*const*/ dxi CCTK_ATTRIBUTE_UNUSED = INV(dx); - CCTK_REAL_VEC /*const*/ dyi CCTK_ATTRIBUTE_UNUSED = INV(dy); - CCTK_REAL_VEC /*const*/ dzi CCTK_ATTRIBUTE_UNUSED = INV(dz); - CCTK_REAL_VEC /*const*/ khalf CCTK_ATTRIBUTE_UNUSED = ToReal(0.5); - CCTK_REAL_VEC /*const*/ kthird CCTK_ATTRIBUTE_UNUSED = ToReal(1.0/3.0); - CCTK_REAL_VEC /*const*/ ktwothird CCTK_ATTRIBUTE_UNUSED = ToReal(2.0/3.0); - CCTK_REAL_VEC /*const*/ kfourthird CCTK_ATTRIBUTE_UNUSED = ToReal(4.0/3.0); - CCTK_REAL_VEC /*const*/ keightthird CCTK_ATTRIBUTE_UNUSED = ToReal(8.0/3.0); - CCTK_REAL_VEC /*const*/ hdxi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dxi); - CCTK_REAL_VEC /*const*/ hdyi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dyi); - CCTK_REAL_VEC /*const*/ hdzi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dzi); + const ptrdiff_t di CCTK_ATTRIBUTE_UNUSED = 1; + const ptrdiff_t dj CCTK_ATTRIBUTE_UNUSED = CCTK_GFINDEX3D(cctkGH,0,1,0) - CCTK_GFINDEX3D(cctkGH,0,0,0); + const ptrdiff_t dk CCTK_ATTRIBUTE_UNUSED = CCTK_GFINDEX3D(cctkGH,0,0,1) - CCTK_GFINDEX3D(cctkGH,0,0,0); + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * di; + const ptrdiff_t cdj CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * dj; + const ptrdiff_t cdk CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * dk; + const CCTK_REAL_VEC dx CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(0)); + const CCTK_REAL_VEC dy CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(1)); + const CCTK_REAL_VEC dz CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(2)); + const CCTK_REAL_VEC dt CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_TIME); + const CCTK_REAL_VEC t CCTK_ATTRIBUTE_UNUSED = ToReal(cctk_time); + const CCTK_REAL_VEC dxi CCTK_ATTRIBUTE_UNUSED = INV(dx); + const CCTK_REAL_VEC dyi CCTK_ATTRIBUTE_UNUSED = INV(dy); + const CCTK_REAL_VEC dzi CCTK_ATTRIBUTE_UNUSED = INV(dz); + const CCTK_REAL_VEC khalf CCTK_ATTRIBUTE_UNUSED = ToReal(0.5); + const CCTK_REAL_VEC kthird CCTK_ATTRIBUTE_UNUSED = ToReal(1.0/3.0); + const CCTK_REAL_VEC ktwothird CCTK_ATTRIBUTE_UNUSED = ToReal(2.0/3.0); + const CCTK_REAL_VEC kfourthird CCTK_ATTRIBUTE_UNUSED = ToReal(4.0/3.0); + const CCTK_REAL_VEC keightthird CCTK_ATTRIBUTE_UNUSED = ToReal(8.0/3.0); + const CCTK_REAL_VEC hdxi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dxi); + const CCTK_REAL_VEC hdyi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dyi); + const CCTK_REAL_VEC hdzi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dzi); /* Initialize predefined quantities */ - CCTK_REAL_VEC /*const*/ p1o1024dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dx); - CCTK_REAL_VEC /*const*/ p1o1024dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dy); - CCTK_REAL_VEC /*const*/ p1o1024dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dz); - CCTK_REAL_VEC /*const*/ p1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dx); - CCTK_REAL_VEC /*const*/ p1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dy); - CCTK_REAL_VEC /*const*/ p1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dz); - CCTK_REAL_VEC /*const*/ p1o12dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dx); - CCTK_REAL_VEC /*const*/ p1o12dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dy); - CCTK_REAL_VEC /*const*/ p1o12dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dz); - CCTK_REAL_VEC /*const*/ p1o144dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o144dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o144dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o1680dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dx); - CCTK_REAL_VEC /*const*/ p1o1680dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dy); - CCTK_REAL_VEC /*const*/ p1o1680dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dz); - CCTK_REAL_VEC /*const*/ p1o180dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ p1o180dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ p1o180dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ p1o24dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dx); - CCTK_REAL_VEC /*const*/ p1o24dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dy); - CCTK_REAL_VEC /*const*/ p1o24dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dz); - CCTK_REAL_VEC /*const*/ p1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dx); - CCTK_REAL_VEC /*const*/ p1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dy); - CCTK_REAL_VEC /*const*/ p1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dz); - CCTK_REAL_VEC /*const*/ p1o3600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o3600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o3600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dx); - CCTK_REAL_VEC /*const*/ p1o4dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o4dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dy); - CCTK_REAL_VEC /*const*/ p1o4dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dz); - CCTK_REAL_VEC /*const*/ p1o5040dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ p1o5040dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ p1o5040dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ p1o560dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dx); - CCTK_REAL_VEC /*const*/ p1o560dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dy); - CCTK_REAL_VEC /*const*/ p1o560dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dz); - CCTK_REAL_VEC /*const*/ p1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dx); - CCTK_REAL_VEC /*const*/ p1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dy); - CCTK_REAL_VEC /*const*/ p1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dz); - CCTK_REAL_VEC /*const*/ p1o64dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dx); - CCTK_REAL_VEC /*const*/ p1o64dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dy); - CCTK_REAL_VEC /*const*/ p1o64dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dz); - CCTK_REAL_VEC /*const*/ p1o705600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o705600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o705600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o840dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dx); - CCTK_REAL_VEC /*const*/ p1o840dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dy); - CCTK_REAL_VEC /*const*/ p1o840dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dz); - CCTK_REAL_VEC /*const*/ p1odx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dx); - CCTK_REAL_VEC /*const*/ p1odx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ p1ody CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dy); - CCTK_REAL_VEC /*const*/ p1ody2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ p1odz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dz); - CCTK_REAL_VEC /*const*/ p1odz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ pm1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dx); - CCTK_REAL_VEC /*const*/ pm1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dy); - CCTK_REAL_VEC /*const*/ pm1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dz); - CCTK_REAL_VEC /*const*/ pm1o12dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ pm1o12dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ pm1o12dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ pm1o16dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dx); - CCTK_REAL_VEC /*const*/ pm1o16dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dy); - CCTK_REAL_VEC /*const*/ pm1o16dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dz); - CCTK_REAL_VEC /*const*/ pm1o256dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dx); - CCTK_REAL_VEC /*const*/ pm1o256dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dy); - CCTK_REAL_VEC /*const*/ pm1o256dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dz); - CCTK_REAL_VEC /*const*/ pm1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dx); - CCTK_REAL_VEC /*const*/ pm1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dy); - CCTK_REAL_VEC /*const*/ pm1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dz); - CCTK_REAL_VEC /*const*/ pm1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dx); - CCTK_REAL_VEC /*const*/ pm1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dy); - CCTK_REAL_VEC /*const*/ pm1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dz); - CCTK_REAL_VEC /*const*/ pm1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dx); - CCTK_REAL_VEC /*const*/ pm1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dy); - CCTK_REAL_VEC /*const*/ pm1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dz); + const CCTK_REAL_VEC p1o1024dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dx); + const CCTK_REAL_VEC p1o1024dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dy); + const CCTK_REAL_VEC p1o1024dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dz); + const CCTK_REAL_VEC p1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dx); + const CCTK_REAL_VEC p1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dy); + const CCTK_REAL_VEC p1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dz); + const CCTK_REAL_VEC p1o12dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dx); + const CCTK_REAL_VEC p1o12dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dy); + const CCTK_REAL_VEC p1o12dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dz); + const CCTK_REAL_VEC p1o144dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dy,dx)); + const CCTK_REAL_VEC p1o144dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dx)); + const CCTK_REAL_VEC p1o144dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dy)); + const CCTK_REAL_VEC p1o1680dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dx); + const CCTK_REAL_VEC p1o1680dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dy); + const CCTK_REAL_VEC p1o1680dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dz); + const CCTK_REAL_VEC p1o180dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dx,dx)); + const CCTK_REAL_VEC p1o180dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dy,dy)); + const CCTK_REAL_VEC p1o180dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dz,dz)); + const CCTK_REAL_VEC p1o24dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dx); + const CCTK_REAL_VEC p1o24dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dy); + const CCTK_REAL_VEC p1o24dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dz); + const CCTK_REAL_VEC p1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dx); + const CCTK_REAL_VEC p1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dy); + const CCTK_REAL_VEC p1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dz); + const CCTK_REAL_VEC p1o3600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dy,dx)); + const CCTK_REAL_VEC p1o3600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dx)); + const CCTK_REAL_VEC p1o3600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dy)); + const CCTK_REAL_VEC p1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dx); + const CCTK_REAL_VEC p1o4dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dy,dx)); + const CCTK_REAL_VEC p1o4dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dx)); + const CCTK_REAL_VEC p1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dy); + const CCTK_REAL_VEC p1o4dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dy)); + const CCTK_REAL_VEC p1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dz); + const CCTK_REAL_VEC p1o5040dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dx,dx)); + const CCTK_REAL_VEC p1o5040dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dy,dy)); + const CCTK_REAL_VEC p1o5040dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dz,dz)); + const CCTK_REAL_VEC p1o560dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dx); + const CCTK_REAL_VEC p1o560dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dy); + const CCTK_REAL_VEC p1o560dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dz); + const CCTK_REAL_VEC p1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dx); + const CCTK_REAL_VEC p1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dy); + const CCTK_REAL_VEC p1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dz); + const CCTK_REAL_VEC p1o64dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dx); + const CCTK_REAL_VEC p1o64dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dy); + const CCTK_REAL_VEC p1o64dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dz); + const CCTK_REAL_VEC p1o705600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dy,dx)); + const CCTK_REAL_VEC p1o705600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dx)); + const CCTK_REAL_VEC p1o705600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dy)); + const CCTK_REAL_VEC p1o840dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dx); + const CCTK_REAL_VEC p1o840dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dy); + const CCTK_REAL_VEC p1o840dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dz); + const CCTK_REAL_VEC p1odx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dx); + const CCTK_REAL_VEC p1odx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dx,dx)); + const CCTK_REAL_VEC p1ody CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dy); + const CCTK_REAL_VEC p1ody2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dy,dy)); + const CCTK_REAL_VEC p1odz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dz); + const CCTK_REAL_VEC p1odz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dz,dz)); + const CCTK_REAL_VEC pm1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dx); + const CCTK_REAL_VEC pm1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dy); + const CCTK_REAL_VEC pm1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dz); + const CCTK_REAL_VEC pm1o12dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dx,dx)); + const CCTK_REAL_VEC pm1o12dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dy,dy)); + const CCTK_REAL_VEC pm1o12dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dz,dz)); + const CCTK_REAL_VEC pm1o16dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dx); + const CCTK_REAL_VEC pm1o16dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dy); + const CCTK_REAL_VEC pm1o16dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dz); + const CCTK_REAL_VEC pm1o256dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dx); + const CCTK_REAL_VEC pm1o256dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dy); + const CCTK_REAL_VEC pm1o256dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dz); + const CCTK_REAL_VEC pm1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dx); + const CCTK_REAL_VEC pm1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dy); + const CCTK_REAL_VEC pm1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dz); + const CCTK_REAL_VEC pm1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dx); + const CCTK_REAL_VEC pm1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dy); + const CCTK_REAL_VEC pm1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dz); + const CCTK_REAL_VEC pm1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dx); + const CCTK_REAL_VEC pm1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dy); + const CCTK_REAL_VEC pm1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dz); /* Jacobian variable pointers */ - bool const use_jacobian CCTK_ATTRIBUTE_UNUSED = (!CCTK_IsFunctionAliased("MultiPatch_GetMap") || MultiPatch_GetMap(cctkGH) != jacobian_identity_map) - && strlen(jacobian_group) > 0; - if (use_jacobian && strlen(jacobian_derivative_group) == 0) + const bool use_jacobian1 = (!CCTK_IsFunctionAliased("MultiPatch_GetMap") || MultiPatch_GetMap(cctkGH) != jacobian_identity_map) + && strlen(jacobian_group) > 0; + const bool use_jacobian = assume_use_jacobian>=0 ? assume_use_jacobian : use_jacobian1; + const bool usejacobian CCTK_ATTRIBUTE_UNUSED = use_jacobian; + if (use_jacobian && (strlen(jacobian_determinant_group) == 0 || strlen(jacobian_inverse_group) == 0 || strlen(jacobian_derivative_group) == 0)) { - CCTK_WARN (1, "GenericFD::jacobian_group and GenericFD::jacobian_derivative_group must both be set to valid group names"); + CCTK_WARN(1, "GenericFD::jacobian_group, GenericFD::jacobian_determinant_group, GenericFD::jacobian_inverse_group, and GenericFD::jacobian_derivative_group must all be set to valid group names"); } - CCTK_REAL const *restrict jacobian_ptrs[9]; + const CCTK_REAL* restrict jacobian_ptrs[9]; if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_group, 9, jacobian_ptrs); - CCTK_REAL const *restrict const J11 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[0] : 0; - CCTK_REAL const *restrict const J12 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[1] : 0; - CCTK_REAL const *restrict const J13 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[2] : 0; - CCTK_REAL const *restrict const J21 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[3] : 0; - CCTK_REAL const *restrict const J22 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[4] : 0; - CCTK_REAL const *restrict const J23 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[5] : 0; - CCTK_REAL const *restrict const J31 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[6] : 0; - CCTK_REAL const *restrict const J32 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[7] : 0; - CCTK_REAL const *restrict const J33 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[8] : 0; + const CCTK_REAL* restrict const J11 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[0] : 0; + const CCTK_REAL* restrict const J12 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[1] : 0; + const CCTK_REAL* restrict const J13 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[2] : 0; + const CCTK_REAL* restrict const J21 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[3] : 0; + const CCTK_REAL* restrict const J22 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[4] : 0; + const CCTK_REAL* restrict const J23 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[5] : 0; + const CCTK_REAL* restrict const J31 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[6] : 0; + const CCTK_REAL* restrict const J32 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[7] : 0; + const CCTK_REAL* restrict const J33 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[8] : 0; + + const CCTK_REAL* restrict jacobian_determinant_ptrs[1] CCTK_ATTRIBUTE_UNUSED; + if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_determinant_group, + 1, jacobian_determinant_ptrs); + + const CCTK_REAL* restrict const detJ CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[0] : 0; - CCTK_REAL const *restrict jacobian_derivative_ptrs[18] CCTK_ATTRIBUTE_UNUSED; + const CCTK_REAL* restrict jacobian_inverse_ptrs[9] CCTK_ATTRIBUTE_UNUSED; + if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_inverse_group, + 9, jacobian_inverse_ptrs); + + const CCTK_REAL* restrict const iJ11 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[0] : 0; + const CCTK_REAL* restrict const iJ12 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[1] : 0; + const CCTK_REAL* restrict const iJ13 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[2] : 0; + const CCTK_REAL* restrict const iJ21 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[3] : 0; + const CCTK_REAL* restrict const iJ22 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[4] : 0; + const CCTK_REAL* restrict const iJ23 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[5] : 0; + const CCTK_REAL* restrict const iJ31 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[6] : 0; + const CCTK_REAL* restrict const iJ32 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[7] : 0; + const CCTK_REAL* restrict const iJ33 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[8] : 0; + + const CCTK_REAL* restrict jacobian_derivative_ptrs[18] CCTK_ATTRIBUTE_UNUSED; if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_derivative_group, 18, jacobian_derivative_ptrs); - CCTK_REAL const *restrict const dJ111 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[0] : 0; - CCTK_REAL const *restrict const dJ112 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[1] : 0; - CCTK_REAL const *restrict const dJ113 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[2] : 0; - CCTK_REAL const *restrict const dJ122 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[3] : 0; - CCTK_REAL const *restrict const dJ123 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[4] : 0; - CCTK_REAL const *restrict const dJ133 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[5] : 0; - CCTK_REAL const *restrict const dJ211 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[6] : 0; - CCTK_REAL const *restrict const dJ212 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[7] : 0; - CCTK_REAL const *restrict const dJ213 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[8] : 0; - CCTK_REAL const *restrict const dJ222 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[9] : 0; - CCTK_REAL const *restrict const dJ223 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[10] : 0; - CCTK_REAL const *restrict const dJ233 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[11] : 0; - CCTK_REAL const *restrict const dJ311 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[12] : 0; - CCTK_REAL const *restrict const dJ312 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[13] : 0; - CCTK_REAL const *restrict const dJ313 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[14] : 0; - CCTK_REAL const *restrict const dJ322 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[15] : 0; - CCTK_REAL const *restrict const dJ323 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[16] : 0; - CCTK_REAL const *restrict const dJ333 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[17] : 0; + const CCTK_REAL* restrict const dJ111 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[0] : 0; + const CCTK_REAL* restrict const dJ112 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[1] : 0; + const CCTK_REAL* restrict const dJ113 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[2] : 0; + const CCTK_REAL* restrict const dJ122 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[3] : 0; + const CCTK_REAL* restrict const dJ123 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[4] : 0; + const CCTK_REAL* restrict const dJ133 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[5] : 0; + const CCTK_REAL* restrict const dJ211 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[6] : 0; + const CCTK_REAL* restrict const dJ212 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[7] : 0; + const CCTK_REAL* restrict const dJ213 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[8] : 0; + const CCTK_REAL* restrict const dJ222 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[9] : 0; + const CCTK_REAL* restrict const dJ223 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[10] : 0; + const CCTK_REAL* restrict const dJ233 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[11] : 0; + const CCTK_REAL* restrict const dJ311 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[12] : 0; + const CCTK_REAL* restrict const dJ312 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[13] : 0; + const CCTK_REAL* restrict const dJ313 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[14] : 0; + const CCTK_REAL* restrict const dJ322 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[15] : 0; + const CCTK_REAL* restrict const dJ323 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[16] : 0; + const CCTK_REAL* restrict const dJ333 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[17] : 0; /* Assign local copies of arrays functions */ @@ -205,13 +229,20 @@ static void ML_CCZ4_constraints1_Body(cGH const * restrict const cctkGH, int con /* Copy local copies back to grid functions */ /* Loop over the grid points */ - #pragma omp parallel + const int imin0=imin[0]; + const int imin1=imin[1]; + const int imin2=imin[2]; + const int imax0=imax[0]; + const int imax1=imax[1]; + const int imax2=imax[2]; + #pragma omp parallel // reduction(+: vec_iter_counter, vec_op_counter, vec_mem_counter) CCTK_LOOP3STR(ML_CCZ4_constraints1, - 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 */ @@ -239,7 +270,7 @@ static void ML_CCZ4_constraints1_Body(cGH const * restrict const cctkGH, int con CCTK_REAL_VEC eTttL, eTtxL, eTtyL, eTtzL, eTxxL, eTxyL, eTxzL, eTyyL, eTyzL, eTzzL CCTK_ATTRIBUTE_UNUSED ; - if (*stress_energy_state) + if (assume_stress_energy_state>=0 ? assume_stress_energy_state : *stress_energy_state) { eTttL = vec_load(eTtt[index]); eTtxL = vec_load(eTtx[index]); @@ -302,82 +333,83 @@ static void ML_CCZ4_constraints1_Body(cGH const * restrict const cctkGH, int con /* Include user supplied include files */ /* Precompute derivatives */ - CCTK_REAL_VEC PDstandardNth1gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth2gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth3gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth11gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth22gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth33gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth12gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth13gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth23gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth1gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth2gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth3gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth11gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth22gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth33gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth12gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth13gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth23gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth1gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth2gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth3gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth11gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth22gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth33gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth12gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth13gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth23gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth1gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth2gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth3gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth11gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth22gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth33gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth12gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth13gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth23gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth1gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth2gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth3gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth11gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth22gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth33gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth12gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth13gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth23gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth1gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth2gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth3gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth11gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth22gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth33gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth12gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth13gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth23gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth1phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth2phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth3phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth11phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth22phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth33phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth12phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth13phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth23phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth1Xt1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth2Xt1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth3Xt1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth1Xt2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth2Xt2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth3Xt2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth1Xt3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth2Xt3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth3Xt3 CCTK_ATTRIBUTE_UNUSED ; - - switch(fdOrder) + CCTK_REAL_VEC PDstandardNth1gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth11gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth22gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth33gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth12gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth13gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth23gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth11gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth22gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth33gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth12gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth13gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth23gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth11gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth22gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth33gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth12gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth13gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth23gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth11gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth22gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth33gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth12gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth13gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth23gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth11gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth22gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth33gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth12gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth13gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth23gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth11gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth22gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth33gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth12gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth13gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth23gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth11phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth22phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth33phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth12phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth13phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth23phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1Xt1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2Xt1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3Xt1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1Xt2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2Xt2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3Xt2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1Xt3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2Xt3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3Xt3 CCTK_ATTRIBUTE_UNUSED; + + switch (fdOrder) { case 2: + { PDstandardNth1gt11 = PDstandardNthfdOrder21(>11[index]); PDstandardNth2gt11 = PDstandardNthfdOrder22(>11[index]); PDstandardNth3gt11 = PDstandardNthfdOrder23(>11[index]); @@ -451,8 +483,10 @@ static void ML_CCZ4_constraints1_Body(cGH const * restrict const cctkGH, int con PDstandardNth2Xt3 = PDstandardNthfdOrder22(&Xt3[index]); PDstandardNth3Xt3 = PDstandardNthfdOrder23(&Xt3[index]); break; + } case 4: + { PDstandardNth1gt11 = PDstandardNthfdOrder41(>11[index]); PDstandardNth2gt11 = PDstandardNthfdOrder42(>11[index]); PDstandardNth3gt11 = PDstandardNthfdOrder43(>11[index]); @@ -526,8 +560,10 @@ static void ML_CCZ4_constraints1_Body(cGH const * restrict const cctkGH, int con PDstandardNth2Xt3 = PDstandardNthfdOrder42(&Xt3[index]); PDstandardNth3Xt3 = PDstandardNthfdOrder43(&Xt3[index]); break; + } case 6: + { PDstandardNth1gt11 = PDstandardNthfdOrder61(>11[index]); PDstandardNth2gt11 = PDstandardNthfdOrder62(>11[index]); PDstandardNth3gt11 = PDstandardNthfdOrder63(>11[index]); @@ -601,8 +637,10 @@ static void ML_CCZ4_constraints1_Body(cGH const * restrict const cctkGH, int con PDstandardNth2Xt3 = PDstandardNthfdOrder62(&Xt3[index]); PDstandardNth3Xt3 = PDstandardNthfdOrder63(&Xt3[index]); break; + } case 8: + { PDstandardNth1gt11 = PDstandardNthfdOrder81(>11[index]); PDstandardNth2gt11 = PDstandardNthfdOrder82(>11[index]); PDstandardNth3gt11 = PDstandardNthfdOrder83(>11[index]); @@ -676,99 +714,102 @@ static void ML_CCZ4_constraints1_Body(cGH const * restrict const cctkGH, int con PDstandardNth2Xt3 = PDstandardNthfdOrder82(&Xt3[index]); PDstandardNth3Xt3 = PDstandardNthfdOrder83(&Xt3[index]); break; + } + default: + CCTK_BUILTIN_UNREACHABLE(); } /* Calculate temporaries and grid functions */ - CCTK_REAL_VEC JacPDstandardNth11gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth11gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth11gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth11gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth11gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth11gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth11phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth12gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth12gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth12gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth12gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth12gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth12gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth12phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth13gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth13gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth13gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth13gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth13gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth13gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth13phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth1gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth1gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth1gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth1gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth1gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth1gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth1phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth1Xt1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth1Xt2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth1Xt3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth21gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth21gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth21gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth21gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth21gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth21gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth22gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth22gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth22gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth22gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth22gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth22gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth22phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth23gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth23gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth23gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth23gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth23gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth23gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth23phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth2gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth2gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth2gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth2gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth2gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth2gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth2phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth2Xt1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth2Xt2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth2Xt3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth31gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth31gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth31gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth31gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth31gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth31gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth32gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth32gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth32gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth32gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth32gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth32gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth33gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth33gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth33gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth33gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth33gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth33gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth33phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth3gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth3gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth3gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth3gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth3gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth3gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth3phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth3Xt1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth3Xt2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth3Xt3 CCTK_ATTRIBUTE_UNUSED ; + CCTK_REAL_VEC JacPDstandardNth11gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth11gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth11gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth11gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth11gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth11gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth11phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth12gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth12gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth12gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth12gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth12gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth12gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth12phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth13gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth13gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth13gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth13gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth13gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth13gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth13phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1Xt1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1Xt2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1Xt3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth21gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth21gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth21gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth21gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth21gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth21gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth22gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth22gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth22gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth22gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth22gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth22gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth22phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth23gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth23gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth23gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth23gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth23gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth23gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth23phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2Xt1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2Xt2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2Xt3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth31gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth31gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth31gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth31gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth31gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth31gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth32gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth32gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth32gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth32gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth32gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth32gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth33gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth33gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth33gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth33gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth33gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth33gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth33phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3Xt1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3Xt2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3Xt3 CCTK_ATTRIBUTE_UNUSED; if (use_jacobian) { @@ -863,67 +904,67 @@ static void ML_CCZ4_constraints1_Body(cGH const * restrict const cctkGH, int con kmadd(J13L,PDstandardNth1Xt3,kmadd(J23L,PDstandardNth2Xt3,kmul(J33L,PDstandardNth3Xt3))); JacPDstandardNth11gt11 = - kmadd(dJ111L,PDstandardNth1gt11,kmadd(dJ211L,PDstandardNth2gt11,kmadd(dJ311L,PDstandardNth3gt11,kmadd(PDstandardNth11gt11,kmul(J11L,J11L),kmadd(PDstandardNth22gt11,kmul(J21L,J21L),kmadd(PDstandardNth33gt11,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12gt11,kmul(J31L,PDstandardNth13gt11)),kmul(J21L,kmul(J31L,PDstandardNth23gt11))),ToReal(2.)))))))); + kmadd(dJ111L,PDstandardNth1gt11,kmadd(dJ211L,PDstandardNth2gt11,kmadd(dJ311L,PDstandardNth3gt11,kmadd(PDstandardNth11gt11,kmul(J11L,J11L),kmadd(PDstandardNth22gt11,kmul(J21L,J21L),kmadd(PDstandardNth33gt11,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12gt11,kmul(J31L,PDstandardNth13gt11)),kmul(J21L,kmul(J31L,PDstandardNth23gt11))),ToReal(2)))))))); JacPDstandardNth11gt12 = - kmadd(dJ111L,PDstandardNth1gt12,kmadd(dJ211L,PDstandardNth2gt12,kmadd(dJ311L,PDstandardNth3gt12,kmadd(PDstandardNth11gt12,kmul(J11L,J11L),kmadd(PDstandardNth22gt12,kmul(J21L,J21L),kmadd(PDstandardNth33gt12,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12gt12,kmul(J31L,PDstandardNth13gt12)),kmul(J21L,kmul(J31L,PDstandardNth23gt12))),ToReal(2.)))))))); + kmadd(dJ111L,PDstandardNth1gt12,kmadd(dJ211L,PDstandardNth2gt12,kmadd(dJ311L,PDstandardNth3gt12,kmadd(PDstandardNth11gt12,kmul(J11L,J11L),kmadd(PDstandardNth22gt12,kmul(J21L,J21L),kmadd(PDstandardNth33gt12,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12gt12,kmul(J31L,PDstandardNth13gt12)),kmul(J21L,kmul(J31L,PDstandardNth23gt12))),ToReal(2)))))))); JacPDstandardNth11gt13 = - kmadd(dJ111L,PDstandardNth1gt13,kmadd(dJ211L,PDstandardNth2gt13,kmadd(dJ311L,PDstandardNth3gt13,kmadd(PDstandardNth11gt13,kmul(J11L,J11L),kmadd(PDstandardNth22gt13,kmul(J21L,J21L),kmadd(PDstandardNth33gt13,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12gt13,kmul(J31L,PDstandardNth13gt13)),kmul(J21L,kmul(J31L,PDstandardNth23gt13))),ToReal(2.)))))))); + kmadd(dJ111L,PDstandardNth1gt13,kmadd(dJ211L,PDstandardNth2gt13,kmadd(dJ311L,PDstandardNth3gt13,kmadd(PDstandardNth11gt13,kmul(J11L,J11L),kmadd(PDstandardNth22gt13,kmul(J21L,J21L),kmadd(PDstandardNth33gt13,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12gt13,kmul(J31L,PDstandardNth13gt13)),kmul(J21L,kmul(J31L,PDstandardNth23gt13))),ToReal(2)))))))); JacPDstandardNth11gt22 = - kmadd(dJ111L,PDstandardNth1gt22,kmadd(dJ211L,PDstandardNth2gt22,kmadd(dJ311L,PDstandardNth3gt22,kmadd(PDstandardNth11gt22,kmul(J11L,J11L),kmadd(PDstandardNth22gt22,kmul(J21L,J21L),kmadd(PDstandardNth33gt22,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12gt22,kmul(J31L,PDstandardNth13gt22)),kmul(J21L,kmul(J31L,PDstandardNth23gt22))),ToReal(2.)))))))); + kmadd(dJ111L,PDstandardNth1gt22,kmadd(dJ211L,PDstandardNth2gt22,kmadd(dJ311L,PDstandardNth3gt22,kmadd(PDstandardNth11gt22,kmul(J11L,J11L),kmadd(PDstandardNth22gt22,kmul(J21L,J21L),kmadd(PDstandardNth33gt22,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12gt22,kmul(J31L,PDstandardNth13gt22)),kmul(J21L,kmul(J31L,PDstandardNth23gt22))),ToReal(2)))))))); JacPDstandardNth11gt23 = - kmadd(dJ111L,PDstandardNth1gt23,kmadd(dJ211L,PDstandardNth2gt23,kmadd(dJ311L,PDstandardNth3gt23,kmadd(PDstandardNth11gt23,kmul(J11L,J11L),kmadd(PDstandardNth22gt23,kmul(J21L,J21L),kmadd(PDstandardNth33gt23,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12gt23,kmul(J31L,PDstandardNth13gt23)),kmul(J21L,kmul(J31L,PDstandardNth23gt23))),ToReal(2.)))))))); + kmadd(dJ111L,PDstandardNth1gt23,kmadd(dJ211L,PDstandardNth2gt23,kmadd(dJ311L,PDstandardNth3gt23,kmadd(PDstandardNth11gt23,kmul(J11L,J11L),kmadd(PDstandardNth22gt23,kmul(J21L,J21L),kmadd(PDstandardNth33gt23,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12gt23,kmul(J31L,PDstandardNth13gt23)),kmul(J21L,kmul(J31L,PDstandardNth23gt23))),ToReal(2)))))))); JacPDstandardNth11gt33 = - kmadd(dJ111L,PDstandardNth1gt33,kmadd(dJ211L,PDstandardNth2gt33,kmadd(dJ311L,PDstandardNth3gt33,kmadd(PDstandardNth11gt33,kmul(J11L,J11L),kmadd(PDstandardNth22gt33,kmul(J21L,J21L),kmadd(PDstandardNth33gt33,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12gt33,kmul(J31L,PDstandardNth13gt33)),kmul(J21L,kmul(J31L,PDstandardNth23gt33))),ToReal(2.)))))))); + kmadd(dJ111L,PDstandardNth1gt33,kmadd(dJ211L,PDstandardNth2gt33,kmadd(dJ311L,PDstandardNth3gt33,kmadd(PDstandardNth11gt33,kmul(J11L,J11L),kmadd(PDstandardNth22gt33,kmul(J21L,J21L),kmadd(PDstandardNth33gt33,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12gt33,kmul(J31L,PDstandardNth13gt33)),kmul(J21L,kmul(J31L,PDstandardNth23gt33))),ToReal(2)))))))); JacPDstandardNth11phi = - kmadd(dJ111L,PDstandardNth1phi,kmadd(dJ211L,PDstandardNth2phi,kmadd(dJ311L,PDstandardNth3phi,kmadd(PDstandardNth11phi,kmul(J11L,J11L),kmadd(PDstandardNth22phi,kmul(J21L,J21L),kmadd(PDstandardNth33phi,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12phi,kmul(J31L,PDstandardNth13phi)),kmul(J21L,kmul(J31L,PDstandardNth23phi))),ToReal(2.)))))))); + kmadd(dJ111L,PDstandardNth1phi,kmadd(dJ211L,PDstandardNth2phi,kmadd(dJ311L,PDstandardNth3phi,kmadd(PDstandardNth11phi,kmul(J11L,J11L),kmadd(PDstandardNth22phi,kmul(J21L,J21L),kmadd(PDstandardNth33phi,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12phi,kmul(J31L,PDstandardNth13phi)),kmul(J21L,kmul(J31L,PDstandardNth23phi))),ToReal(2)))))))); JacPDstandardNth22gt11 = - kmadd(dJ122L,PDstandardNth1gt11,kmadd(dJ222L,PDstandardNth2gt11,kmadd(dJ322L,PDstandardNth3gt11,kmadd(PDstandardNth11gt11,kmul(J12L,J12L),kmadd(PDstandardNth22gt11,kmul(J22L,J22L),kmadd(PDstandardNth33gt11,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12gt11,kmul(J32L,PDstandardNth13gt11)),kmul(J22L,kmul(J32L,PDstandardNth23gt11))),ToReal(2.)))))))); + kmadd(dJ122L,PDstandardNth1gt11,kmadd(dJ222L,PDstandardNth2gt11,kmadd(dJ322L,PDstandardNth3gt11,kmadd(PDstandardNth11gt11,kmul(J12L,J12L),kmadd(PDstandardNth22gt11,kmul(J22L,J22L),kmadd(PDstandardNth33gt11,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12gt11,kmul(J32L,PDstandardNth13gt11)),kmul(J22L,kmul(J32L,PDstandardNth23gt11))),ToReal(2)))))))); JacPDstandardNth22gt12 = - kmadd(dJ122L,PDstandardNth1gt12,kmadd(dJ222L,PDstandardNth2gt12,kmadd(dJ322L,PDstandardNth3gt12,kmadd(PDstandardNth11gt12,kmul(J12L,J12L),kmadd(PDstandardNth22gt12,kmul(J22L,J22L),kmadd(PDstandardNth33gt12,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12gt12,kmul(J32L,PDstandardNth13gt12)),kmul(J22L,kmul(J32L,PDstandardNth23gt12))),ToReal(2.)))))))); + kmadd(dJ122L,PDstandardNth1gt12,kmadd(dJ222L,PDstandardNth2gt12,kmadd(dJ322L,PDstandardNth3gt12,kmadd(PDstandardNth11gt12,kmul(J12L,J12L),kmadd(PDstandardNth22gt12,kmul(J22L,J22L),kmadd(PDstandardNth33gt12,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12gt12,kmul(J32L,PDstandardNth13gt12)),kmul(J22L,kmul(J32L,PDstandardNth23gt12))),ToReal(2)))))))); JacPDstandardNth22gt13 = - kmadd(dJ122L,PDstandardNth1gt13,kmadd(dJ222L,PDstandardNth2gt13,kmadd(dJ322L,PDstandardNth3gt13,kmadd(PDstandardNth11gt13,kmul(J12L,J12L),kmadd(PDstandardNth22gt13,kmul(J22L,J22L),kmadd(PDstandardNth33gt13,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12gt13,kmul(J32L,PDstandardNth13gt13)),kmul(J22L,kmul(J32L,PDstandardNth23gt13))),ToReal(2.)))))))); + kmadd(dJ122L,PDstandardNth1gt13,kmadd(dJ222L,PDstandardNth2gt13,kmadd(dJ322L,PDstandardNth3gt13,kmadd(PDstandardNth11gt13,kmul(J12L,J12L),kmadd(PDstandardNth22gt13,kmul(J22L,J22L),kmadd(PDstandardNth33gt13,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12gt13,kmul(J32L,PDstandardNth13gt13)),kmul(J22L,kmul(J32L,PDstandardNth23gt13))),ToReal(2)))))))); JacPDstandardNth22gt22 = - kmadd(dJ122L,PDstandardNth1gt22,kmadd(dJ222L,PDstandardNth2gt22,kmadd(dJ322L,PDstandardNth3gt22,kmadd(PDstandardNth11gt22,kmul(J12L,J12L),kmadd(PDstandardNth22gt22,kmul(J22L,J22L),kmadd(PDstandardNth33gt22,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12gt22,kmul(J32L,PDstandardNth13gt22)),kmul(J22L,kmul(J32L,PDstandardNth23gt22))),ToReal(2.)))))))); + kmadd(dJ122L,PDstandardNth1gt22,kmadd(dJ222L,PDstandardNth2gt22,kmadd(dJ322L,PDstandardNth3gt22,kmadd(PDstandardNth11gt22,kmul(J12L,J12L),kmadd(PDstandardNth22gt22,kmul(J22L,J22L),kmadd(PDstandardNth33gt22,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12gt22,kmul(J32L,PDstandardNth13gt22)),kmul(J22L,kmul(J32L,PDstandardNth23gt22))),ToReal(2)))))))); JacPDstandardNth22gt23 = - kmadd(dJ122L,PDstandardNth1gt23,kmadd(dJ222L,PDstandardNth2gt23,kmadd(dJ322L,PDstandardNth3gt23,kmadd(PDstandardNth11gt23,kmul(J12L,J12L),kmadd(PDstandardNth22gt23,kmul(J22L,J22L),kmadd(PDstandardNth33gt23,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12gt23,kmul(J32L,PDstandardNth13gt23)),kmul(J22L,kmul(J32L,PDstandardNth23gt23))),ToReal(2.)))))))); + kmadd(dJ122L,PDstandardNth1gt23,kmadd(dJ222L,PDstandardNth2gt23,kmadd(dJ322L,PDstandardNth3gt23,kmadd(PDstandardNth11gt23,kmul(J12L,J12L),kmadd(PDstandardNth22gt23,kmul(J22L,J22L),kmadd(PDstandardNth33gt23,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12gt23,kmul(J32L,PDstandardNth13gt23)),kmul(J22L,kmul(J32L,PDstandardNth23gt23))),ToReal(2)))))))); JacPDstandardNth22gt33 = - kmadd(dJ122L,PDstandardNth1gt33,kmadd(dJ222L,PDstandardNth2gt33,kmadd(dJ322L,PDstandardNth3gt33,kmadd(PDstandardNth11gt33,kmul(J12L,J12L),kmadd(PDstandardNth22gt33,kmul(J22L,J22L),kmadd(PDstandardNth33gt33,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12gt33,kmul(J32L,PDstandardNth13gt33)),kmul(J22L,kmul(J32L,PDstandardNth23gt33))),ToReal(2.)))))))); + kmadd(dJ122L,PDstandardNth1gt33,kmadd(dJ222L,PDstandardNth2gt33,kmadd(dJ322L,PDstandardNth3gt33,kmadd(PDstandardNth11gt33,kmul(J12L,J12L),kmadd(PDstandardNth22gt33,kmul(J22L,J22L),kmadd(PDstandardNth33gt33,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12gt33,kmul(J32L,PDstandardNth13gt33)),kmul(J22L,kmul(J32L,PDstandardNth23gt33))),ToReal(2)))))))); JacPDstandardNth22phi = - kmadd(dJ122L,PDstandardNth1phi,kmadd(dJ222L,PDstandardNth2phi,kmadd(dJ322L,PDstandardNth3phi,kmadd(PDstandardNth11phi,kmul(J12L,J12L),kmadd(PDstandardNth22phi,kmul(J22L,J22L),kmadd(PDstandardNth33phi,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12phi,kmul(J32L,PDstandardNth13phi)),kmul(J22L,kmul(J32L,PDstandardNth23phi))),ToReal(2.)))))))); + kmadd(dJ122L,PDstandardNth1phi,kmadd(dJ222L,PDstandardNth2phi,kmadd(dJ322L,PDstandardNth3phi,kmadd(PDstandardNth11phi,kmul(J12L,J12L),kmadd(PDstandardNth22phi,kmul(J22L,J22L),kmadd(PDstandardNth33phi,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12phi,kmul(J32L,PDstandardNth13phi)),kmul(J22L,kmul(J32L,PDstandardNth23phi))),ToReal(2)))))))); JacPDstandardNth33gt11 = - kmadd(dJ133L,PDstandardNth1gt11,kmadd(dJ233L,PDstandardNth2gt11,kmadd(dJ333L,PDstandardNth3gt11,kmadd(PDstandardNth11gt11,kmul(J13L,J13L),kmadd(PDstandardNth22gt11,kmul(J23L,J23L),kmadd(PDstandardNth33gt11,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12gt11,kmul(J33L,PDstandardNth13gt11)),kmul(J23L,kmul(J33L,PDstandardNth23gt11))),ToReal(2.)))))))); + kmadd(dJ133L,PDstandardNth1gt11,kmadd(dJ233L,PDstandardNth2gt11,kmadd(dJ333L,PDstandardNth3gt11,kmadd(PDstandardNth11gt11,kmul(J13L,J13L),kmadd(PDstandardNth22gt11,kmul(J23L,J23L),kmadd(PDstandardNth33gt11,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12gt11,kmul(J33L,PDstandardNth13gt11)),kmul(J23L,kmul(J33L,PDstandardNth23gt11))),ToReal(2)))))))); JacPDstandardNth33gt12 = - kmadd(dJ133L,PDstandardNth1gt12,kmadd(dJ233L,PDstandardNth2gt12,kmadd(dJ333L,PDstandardNth3gt12,kmadd(PDstandardNth11gt12,kmul(J13L,J13L),kmadd(PDstandardNth22gt12,kmul(J23L,J23L),kmadd(PDstandardNth33gt12,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12gt12,kmul(J33L,PDstandardNth13gt12)),kmul(J23L,kmul(J33L,PDstandardNth23gt12))),ToReal(2.)))))))); + kmadd(dJ133L,PDstandardNth1gt12,kmadd(dJ233L,PDstandardNth2gt12,kmadd(dJ333L,PDstandardNth3gt12,kmadd(PDstandardNth11gt12,kmul(J13L,J13L),kmadd(PDstandardNth22gt12,kmul(J23L,J23L),kmadd(PDstandardNth33gt12,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12gt12,kmul(J33L,PDstandardNth13gt12)),kmul(J23L,kmul(J33L,PDstandardNth23gt12))),ToReal(2)))))))); JacPDstandardNth33gt13 = - kmadd(dJ133L,PDstandardNth1gt13,kmadd(dJ233L,PDstandardNth2gt13,kmadd(dJ333L,PDstandardNth3gt13,kmadd(PDstandardNth11gt13,kmul(J13L,J13L),kmadd(PDstandardNth22gt13,kmul(J23L,J23L),kmadd(PDstandardNth33gt13,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12gt13,kmul(J33L,PDstandardNth13gt13)),kmul(J23L,kmul(J33L,PDstandardNth23gt13))),ToReal(2.)))))))); + kmadd(dJ133L,PDstandardNth1gt13,kmadd(dJ233L,PDstandardNth2gt13,kmadd(dJ333L,PDstandardNth3gt13,kmadd(PDstandardNth11gt13,kmul(J13L,J13L),kmadd(PDstandardNth22gt13,kmul(J23L,J23L),kmadd(PDstandardNth33gt13,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12gt13,kmul(J33L,PDstandardNth13gt13)),kmul(J23L,kmul(J33L,PDstandardNth23gt13))),ToReal(2)))))))); JacPDstandardNth33gt22 = - kmadd(dJ133L,PDstandardNth1gt22,kmadd(dJ233L,PDstandardNth2gt22,kmadd(dJ333L,PDstandardNth3gt22,kmadd(PDstandardNth11gt22,kmul(J13L,J13L),kmadd(PDstandardNth22gt22,kmul(J23L,J23L),kmadd(PDstandardNth33gt22,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12gt22,kmul(J33L,PDstandardNth13gt22)),kmul(J23L,kmul(J33L,PDstandardNth23gt22))),ToReal(2.)))))))); + kmadd(dJ133L,PDstandardNth1gt22,kmadd(dJ233L,PDstandardNth2gt22,kmadd(dJ333L,PDstandardNth3gt22,kmadd(PDstandardNth11gt22,kmul(J13L,J13L),kmadd(PDstandardNth22gt22,kmul(J23L,J23L),kmadd(PDstandardNth33gt22,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12gt22,kmul(J33L,PDstandardNth13gt22)),kmul(J23L,kmul(J33L,PDstandardNth23gt22))),ToReal(2)))))))); JacPDstandardNth33gt23 = - kmadd(dJ133L,PDstandardNth1gt23,kmadd(dJ233L,PDstandardNth2gt23,kmadd(dJ333L,PDstandardNth3gt23,kmadd(PDstandardNth11gt23,kmul(J13L,J13L),kmadd(PDstandardNth22gt23,kmul(J23L,J23L),kmadd(PDstandardNth33gt23,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12gt23,kmul(J33L,PDstandardNth13gt23)),kmul(J23L,kmul(J33L,PDstandardNth23gt23))),ToReal(2.)))))))); + kmadd(dJ133L,PDstandardNth1gt23,kmadd(dJ233L,PDstandardNth2gt23,kmadd(dJ333L,PDstandardNth3gt23,kmadd(PDstandardNth11gt23,kmul(J13L,J13L),kmadd(PDstandardNth22gt23,kmul(J23L,J23L),kmadd(PDstandardNth33gt23,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12gt23,kmul(J33L,PDstandardNth13gt23)),kmul(J23L,kmul(J33L,PDstandardNth23gt23))),ToReal(2)))))))); JacPDstandardNth33gt33 = - kmadd(dJ133L,PDstandardNth1gt33,kmadd(dJ233L,PDstandardNth2gt33,kmadd(dJ333L,PDstandardNth3gt33,kmadd(PDstandardNth11gt33,kmul(J13L,J13L),kmadd(PDstandardNth22gt33,kmul(J23L,J23L),kmadd(PDstandardNth33gt33,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12gt33,kmul(J33L,PDstandardNth13gt33)),kmul(J23L,kmul(J33L,PDstandardNth23gt33))),ToReal(2.)))))))); + kmadd(dJ133L,PDstandardNth1gt33,kmadd(dJ233L,PDstandardNth2gt33,kmadd(dJ333L,PDstandardNth3gt33,kmadd(PDstandardNth11gt33,kmul(J13L,J13L),kmadd(PDstandardNth22gt33,kmul(J23L,J23L),kmadd(PDstandardNth33gt33,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12gt33,kmul(J33L,PDstandardNth13gt33)),kmul(J23L,kmul(J33L,PDstandardNth23gt33))),ToReal(2)))))))); JacPDstandardNth33phi = - kmadd(dJ133L,PDstandardNth1phi,kmadd(dJ233L,PDstandardNth2phi,kmadd(dJ333L,PDstandardNth3phi,kmadd(PDstandardNth11phi,kmul(J13L,J13L),kmadd(PDstandardNth22phi,kmul(J23L,J23L),kmadd(PDstandardNth33phi,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12phi,kmul(J33L,PDstandardNth13phi)),kmul(J23L,kmul(J33L,PDstandardNth23phi))),ToReal(2.)))))))); + kmadd(dJ133L,PDstandardNth1phi,kmadd(dJ233L,PDstandardNth2phi,kmadd(dJ333L,PDstandardNth3phi,kmadd(PDstandardNth11phi,kmul(J13L,J13L),kmadd(PDstandardNth22phi,kmul(J23L,J23L),kmadd(PDstandardNth33phi,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12phi,kmul(J33L,PDstandardNth13phi)),kmul(J23L,kmul(J33L,PDstandardNth23phi))),ToReal(2)))))))); JacPDstandardNth12gt11 = kmadd(J12L,kmadd(J11L,PDstandardNth11gt11,kmadd(J21L,PDstandardNth12gt11,kmul(J31L,PDstandardNth13gt11))),kmadd(J11L,kmadd(J22L,PDstandardNth12gt11,kmul(J32L,PDstandardNth13gt11)),kmadd(dJ112L,PDstandardNth1gt11,kmadd(J22L,kmadd(J21L,PDstandardNth22gt11,kmul(J31L,PDstandardNth23gt11)),kmadd(dJ212L,PDstandardNth2gt11,kmadd(J32L,kmadd(J21L,PDstandardNth23gt11,kmul(J31L,PDstandardNth33gt11)),kmul(dJ312L,PDstandardNth3gt11))))))); @@ -1225,25 +1266,25 @@ static void ML_CCZ4_constraints1_Body(cGH const * restrict const cctkGH, int con JacPDstandardNth32gt33 = PDstandardNth23gt33; } - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED detgt = ToReal(1.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED detgt = ToReal(1); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gtu11 = - kdiv(kmadd(gt22L,gt33L,kmul(kmul(gt23L,gt23L),ToReal(-1.))),detgt); + kdiv(kmsub(gt22L,gt33L,kmul(gt23L,gt23L)),detgt); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gtu12 = - kdiv(kmadd(gt13L,gt23L,kmul(gt12L,kmul(gt33L,ToReal(-1.)))),detgt); + kdiv(kmsub(gt13L,gt23L,kmul(gt12L,gt33L)),detgt); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gtu13 = - kdiv(kmadd(gt12L,gt23L,kmul(gt13L,kmul(gt22L,ToReal(-1.)))),detgt); + kdiv(kmsub(gt12L,gt23L,kmul(gt13L,gt22L)),detgt); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gtu22 = - kdiv(kmadd(gt11L,gt33L,kmul(kmul(gt13L,gt13L),ToReal(-1.))),detgt); + kdiv(kmsub(gt11L,gt33L,kmul(gt13L,gt13L)),detgt); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gtu23 = - kdiv(kmadd(gt12L,gt13L,kmul(gt11L,kmul(gt23L,ToReal(-1.)))),detgt); + kdiv(kmsub(gt12L,gt13L,kmul(gt11L,gt23L)),detgt); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gtu33 = - kdiv(kmadd(gt11L,gt22L,kmul(kmul(gt12L,gt12L),ToReal(-1.))),detgt); + kdiv(kmsub(gt11L,gt22L,kmul(gt12L,gt12L)),detgt); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Gtl111 = kmul(JacPDstandardNth1gt11,ToReal(0.5)); @@ -1258,7 +1299,7 @@ static void ML_CCZ4_constraints1_Body(cGH const * restrict const cctkGH, int con kmadd(JacPDstandardNth1gt22,ToReal(-0.5),JacPDstandardNth2gt12); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Gtl123 = - kmul(kadd(JacPDstandardNth2gt13,kmadd(JacPDstandardNth1gt23,ToReal(-1.),JacPDstandardNth3gt12)),ToReal(0.5)); + kmul(kadd(JacPDstandardNth2gt13,ksub(JacPDstandardNth3gt12,JacPDstandardNth1gt23)),ToReal(0.5)); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Gtl133 = kmadd(JacPDstandardNth1gt33,ToReal(-0.5),JacPDstandardNth3gt13); @@ -1270,7 +1311,7 @@ static void ML_CCZ4_constraints1_Body(cGH const * restrict const cctkGH, int con kmul(JacPDstandardNth1gt22,ToReal(0.5)); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Gtl213 = - kmul(kadd(JacPDstandardNth1gt23,kmadd(JacPDstandardNth2gt13,ToReal(-1.),JacPDstandardNth3gt12)),ToReal(0.5)); + kmul(kadd(JacPDstandardNth1gt23,ksub(JacPDstandardNth3gt12,JacPDstandardNth2gt13)),ToReal(0.5)); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Gtl222 = kmul(JacPDstandardNth2gt22,ToReal(0.5)); @@ -1285,7 +1326,7 @@ static void ML_CCZ4_constraints1_Body(cGH const * restrict const cctkGH, int con kmadd(JacPDstandardNth3gt11,ToReal(-0.5),JacPDstandardNth1gt13); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Gtl312 = - kmul(kadd(JacPDstandardNth1gt23,kmadd(JacPDstandardNth3gt12,ToReal(-1.),JacPDstandardNth2gt13)),ToReal(0.5)); + kmul(kadd(JacPDstandardNth1gt23,ksub(JacPDstandardNth2gt13,JacPDstandardNth3gt12)),ToReal(0.5)); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Gtl313 = kmul(JacPDstandardNth1gt33,ToReal(0.5)); @@ -1435,16 +1476,16 @@ static void ML_CCZ4_constraints1_Body(cGH const * restrict const cctkGH, int con kmadd(Gtl133,gtu13,kmadd(Gtl233,gtu23,kmul(Gtl333,gtu33))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Xtn1 = - kmadd(Gt111,gtu11,kmadd(Gt122,gtu22,kmadd(Gt133,gtu33,kmul(kmadd(Gt112,gtu12,kmadd(Gt113,gtu13,kmul(Gt123,gtu23))),ToReal(2.))))); + kmadd(Gt111,gtu11,kmadd(Gt122,gtu22,kmadd(Gt133,gtu33,kmul(kmadd(Gt112,gtu12,kmadd(Gt113,gtu13,kmul(Gt123,gtu23))),ToReal(2))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Xtn2 = - kmadd(Gt211,gtu11,kmadd(Gt222,gtu22,kmadd(Gt233,gtu33,kmul(kmadd(Gt212,gtu12,kmadd(Gt213,gtu13,kmul(Gt223,gtu23))),ToReal(2.))))); + kmadd(Gt211,gtu11,kmadd(Gt222,gtu22,kmadd(Gt233,gtu33,kmul(kmadd(Gt212,gtu12,kmadd(Gt213,gtu13,kmul(Gt223,gtu23))),ToReal(2))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Xtn3 = - kmadd(Gt311,gtu11,kmadd(Gt322,gtu22,kmadd(Gt333,gtu33,kmul(kmadd(Gt312,gtu12,kmadd(Gt313,gtu13,kmul(Gt323,gtu23))),ToReal(2.))))); + kmadd(Gt311,gtu11,kmadd(Gt322,gtu22,kmadd(Gt333,gtu33,kmul(kmadd(Gt312,gtu12,kmadd(Gt313,gtu13,kmul(Gt323,gtu23))),ToReal(2))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED e4phi = IfThen(conformalMethod == - 1.,kdiv(ToReal(1),kmul(phiL,phiL)),kexp(kmul(phiL,ToReal(4.)))); + 1,kdiv(ToReal(1),kmul(phiL,phiL)),kexp(kmul(phiL,ToReal(4)))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED em4phi = kdiv(ToReal(1),e4phi); @@ -1473,34 +1514,34 @@ static void ML_CCZ4_constraints1_Body(cGH const * restrict const cctkGH, int con CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gu33 = kmul(em4phi,gtu33); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Z1 = - kmul(kmadd(gu11,kmadd(gtu11,JacPDstandardNth1gt11,kmadd(gtu12,kadd(JacPDstandardNth1gt12,JacPDstandardNth2gt11),kmadd(gtu22,JacPDstandardNth2gt12,kmadd(gtu13,kadd(JacPDstandardNth1gt13,JacPDstandardNth3gt11),kmadd(gtu23,kadd(JacPDstandardNth2gt13,JacPDstandardNth3gt12),kmadd(gtu33,JacPDstandardNth3gt13,kmul(kmadd(gt11L,Xt1L,kmadd(gt12L,Xt2L,kmul(gt13L,Xt3L))),ToReal(-1.)))))))),kmadd(gu12,kmadd(gtu11,JacPDstandardNth1gt12,kmadd(gtu12,kadd(JacPDstandardNth1gt22,JacPDstandardNth2gt12),kmadd(gtu22,JacPDstandardNth2gt22,kmadd(gtu13,kadd(JacPDstandardNth1gt23,JacPDstandardNth3gt12),kmadd(gtu23,kadd(JacPDstandardNth2gt23,JacPDstandardNth3gt22),kmadd(gtu33,JacPDstandardNth3gt23,kmul(kmadd(gt12L,Xt1L,kmadd(gt22L,Xt2L,kmul(gt23L,Xt3L))),ToReal(-1.)))))))),kmul(gu13,kmadd(gtu11,JacPDstandardNth1gt13,kmadd(gtu12,kadd(JacPDstandardNth1gt23,JacPDstandardNth2gt13),kmadd(gtu22,JacPDstandardNth2gt23,kmadd(gtu13,kadd(JacPDstandardNth1gt33,JacPDstandardNth3gt13),kmadd(gtu23,kadd(JacPDstandardNth2gt33,JacPDstandardNth3gt23),kmadd(gtu33,JacPDstandardNth3gt33,kmul(kmadd(gt13L,Xt1L,kmadd(gt23L,Xt2L,kmul(gt33L,Xt3L))),ToReal(-1.))))))))))),ToReal(-0.5)); + kneg(kmul(kmadd(gu11,kmadd(gtu11,JacPDstandardNth1gt11,kmadd(gtu13,JacPDstandardNth1gt13,kmadd(gtu12,kadd(JacPDstandardNth1gt12,JacPDstandardNth2gt11),kmadd(gtu22,JacPDstandardNth2gt12,kmadd(gtu23,JacPDstandardNth2gt13,kmadd(gtu13,JacPDstandardNth3gt11,kmadd(gtu23,JacPDstandardNth3gt12,kmsub(gtu33,JacPDstandardNth3gt13,kmadd(gt11L,Xt1L,kmadd(gt13L,Xt3L,kmul(gt12L,Xt2L))))))))))),kmadd(gu13,kmadd(gtu11,JacPDstandardNth1gt13,kmadd(gtu13,JacPDstandardNth1gt33,kmadd(gtu12,kadd(JacPDstandardNth1gt23,JacPDstandardNth2gt13),kmadd(gtu22,JacPDstandardNth2gt23,kmadd(gtu23,JacPDstandardNth2gt33,kmadd(gtu13,JacPDstandardNth3gt13,kmadd(gtu23,JacPDstandardNth3gt23,kmsub(gtu33,JacPDstandardNth3gt33,kmadd(gt13L,Xt1L,kmadd(gt33L,Xt3L,kmul(gt23L,Xt2L))))))))))),kmul(gu12,kmadd(gtu11,JacPDstandardNth1gt12,kmadd(gtu13,JacPDstandardNth1gt23,kmadd(gtu12,kadd(JacPDstandardNth1gt22,JacPDstandardNth2gt12),kmadd(gtu22,JacPDstandardNth2gt22,kmadd(gtu23,JacPDstandardNth2gt23,kmadd(gtu13,JacPDstandardNth3gt12,kmadd(gtu23,JacPDstandardNth3gt22,kmsub(gtu33,JacPDstandardNth3gt23,kmadd(gt12L,Xt1L,kmadd(gt23L,Xt3L,kmul(gt22L,Xt2L)))))))))))))),ToReal(0.5))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Z2 = - kmul(kmadd(gu12,kmadd(gtu11,JacPDstandardNth1gt11,kmadd(gtu12,kadd(JacPDstandardNth1gt12,JacPDstandardNth2gt11),kmadd(gtu22,JacPDstandardNth2gt12,kmadd(gtu13,kadd(JacPDstandardNth1gt13,JacPDstandardNth3gt11),kmadd(gtu23,kadd(JacPDstandardNth2gt13,JacPDstandardNth3gt12),kmadd(gtu33,JacPDstandardNth3gt13,kmul(kmadd(gt11L,Xt1L,kmadd(gt12L,Xt2L,kmul(gt13L,Xt3L))),ToReal(-1.)))))))),kmadd(gu22,kmadd(gtu11,JacPDstandardNth1gt12,kmadd(gtu12,kadd(JacPDstandardNth1gt22,JacPDstandardNth2gt12),kmadd(gtu22,JacPDstandardNth2gt22,kmadd(gtu13,kadd(JacPDstandardNth1gt23,JacPDstandardNth3gt12),kmadd(gtu23,kadd(JacPDstandardNth2gt23,JacPDstandardNth3gt22),kmadd(gtu33,JacPDstandardNth3gt23,kmul(kmadd(gt12L,Xt1L,kmadd(gt22L,Xt2L,kmul(gt23L,Xt3L))),ToReal(-1.)))))))),kmul(gu23,kmadd(gtu11,JacPDstandardNth1gt13,kmadd(gtu12,kadd(JacPDstandardNth1gt23,JacPDstandardNth2gt13),kmadd(gtu22,JacPDstandardNth2gt23,kmadd(gtu13,kadd(JacPDstandardNth1gt33,JacPDstandardNth3gt13),kmadd(gtu23,kadd(JacPDstandardNth2gt33,JacPDstandardNth3gt23),kmadd(gtu33,JacPDstandardNth3gt33,kmul(kmadd(gt13L,Xt1L,kmadd(gt23L,Xt2L,kmul(gt33L,Xt3L))),ToReal(-1.))))))))))),ToReal(-0.5)); + kneg(kmul(kmadd(gu12,kmadd(gtu11,JacPDstandardNth1gt11,kmadd(gtu13,JacPDstandardNth1gt13,kmadd(gtu12,kadd(JacPDstandardNth1gt12,JacPDstandardNth2gt11),kmadd(gtu22,JacPDstandardNth2gt12,kmadd(gtu23,JacPDstandardNth2gt13,kmadd(gtu13,JacPDstandardNth3gt11,kmadd(gtu23,JacPDstandardNth3gt12,kmsub(gtu33,JacPDstandardNth3gt13,kmadd(gt11L,Xt1L,kmadd(gt13L,Xt3L,kmul(gt12L,Xt2L))))))))))),kmadd(gu23,kmadd(gtu11,JacPDstandardNth1gt13,kmadd(gtu13,JacPDstandardNth1gt33,kmadd(gtu12,kadd(JacPDstandardNth1gt23,JacPDstandardNth2gt13),kmadd(gtu22,JacPDstandardNth2gt23,kmadd(gtu23,JacPDstandardNth2gt33,kmadd(gtu13,JacPDstandardNth3gt13,kmadd(gtu23,JacPDstandardNth3gt23,kmsub(gtu33,JacPDstandardNth3gt33,kmadd(gt13L,Xt1L,kmadd(gt33L,Xt3L,kmul(gt23L,Xt2L))))))))))),kmul(gu22,kmadd(gtu11,JacPDstandardNth1gt12,kmadd(gtu13,JacPDstandardNth1gt23,kmadd(gtu12,kadd(JacPDstandardNth1gt22,JacPDstandardNth2gt12),kmadd(gtu22,JacPDstandardNth2gt22,kmadd(gtu23,JacPDstandardNth2gt23,kmadd(gtu13,JacPDstandardNth3gt12,kmadd(gtu23,JacPDstandardNth3gt22,kmsub(gtu33,JacPDstandardNth3gt23,kmadd(gt12L,Xt1L,kmadd(gt23L,Xt3L,kmul(gt22L,Xt2L)))))))))))))),ToReal(0.5))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Z3 = - kmul(kmadd(gu13,kmadd(gtu11,JacPDstandardNth1gt11,kmadd(gtu12,kadd(JacPDstandardNth1gt12,JacPDstandardNth2gt11),kmadd(gtu22,JacPDstandardNth2gt12,kmadd(gtu13,kadd(JacPDstandardNth1gt13,JacPDstandardNth3gt11),kmadd(gtu23,kadd(JacPDstandardNth2gt13,JacPDstandardNth3gt12),kmadd(gtu33,JacPDstandardNth3gt13,kmul(kmadd(gt11L,Xt1L,kmadd(gt12L,Xt2L,kmul(gt13L,Xt3L))),ToReal(-1.)))))))),kmadd(gu23,kmadd(gtu11,JacPDstandardNth1gt12,kmadd(gtu12,kadd(JacPDstandardNth1gt22,JacPDstandardNth2gt12),kmadd(gtu22,JacPDstandardNth2gt22,kmadd(gtu13,kadd(JacPDstandardNth1gt23,JacPDstandardNth3gt12),kmadd(gtu23,kadd(JacPDstandardNth2gt23,JacPDstandardNth3gt22),kmadd(gtu33,JacPDstandardNth3gt23,kmul(kmadd(gt12L,Xt1L,kmadd(gt22L,Xt2L,kmul(gt23L,Xt3L))),ToReal(-1.)))))))),kmul(gu33,kmadd(gtu11,JacPDstandardNth1gt13,kmadd(gtu12,kadd(JacPDstandardNth1gt23,JacPDstandardNth2gt13),kmadd(gtu22,JacPDstandardNth2gt23,kmadd(gtu13,kadd(JacPDstandardNth1gt33,JacPDstandardNth3gt13),kmadd(gtu23,kadd(JacPDstandardNth2gt33,JacPDstandardNth3gt23),kmadd(gtu33,JacPDstandardNth3gt33,kmul(kmadd(gt13L,Xt1L,kmadd(gt23L,Xt2L,kmul(gt33L,Xt3L))),ToReal(-1.))))))))))),ToReal(-0.5)); + kneg(kmul(kmadd(gu13,kmadd(gtu11,JacPDstandardNth1gt11,kmadd(gtu13,JacPDstandardNth1gt13,kmadd(gtu12,kadd(JacPDstandardNth1gt12,JacPDstandardNth2gt11),kmadd(gtu22,JacPDstandardNth2gt12,kmadd(gtu23,JacPDstandardNth2gt13,kmadd(gtu13,JacPDstandardNth3gt11,kmadd(gtu23,JacPDstandardNth3gt12,kmsub(gtu33,JacPDstandardNth3gt13,kmadd(gt11L,Xt1L,kmadd(gt13L,Xt3L,kmul(gt12L,Xt2L))))))))))),kmadd(gu33,kmadd(gtu11,JacPDstandardNth1gt13,kmadd(gtu13,JacPDstandardNth1gt33,kmadd(gtu12,kadd(JacPDstandardNth1gt23,JacPDstandardNth2gt13),kmadd(gtu22,JacPDstandardNth2gt23,kmadd(gtu23,JacPDstandardNth2gt33,kmadd(gtu13,JacPDstandardNth3gt13,kmadd(gtu23,JacPDstandardNth3gt23,kmsub(gtu33,JacPDstandardNth3gt33,kmadd(gt13L,Xt1L,kmadd(gt33L,Xt3L,kmul(gt23L,Xt2L))))))))))),kmul(gu23,kmadd(gtu11,JacPDstandardNth1gt12,kmadd(gtu13,JacPDstandardNth1gt23,kmadd(gtu12,kadd(JacPDstandardNth1gt22,JacPDstandardNth2gt12),kmadd(gtu22,JacPDstandardNth2gt22,kmadd(gtu23,JacPDstandardNth2gt23,kmadd(gtu13,JacPDstandardNth3gt12,kmadd(gtu23,JacPDstandardNth3gt22,kmsub(gtu33,JacPDstandardNth3gt23,kmadd(gt12L,Xt1L,kmadd(gt23L,Xt3L,kmul(gt22L,Xt2L)))))))))))))),ToReal(0.5))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Rt11 = - kmadd(Gt211,Gtlu211,kmadd(Gt212,Gtlu212,kmadd(Gt213,Gtlu213,kmadd(Gt311,Gtlu311,kmadd(Gt312,Gtlu312,kmadd(Gt313,Gtlu313,kmadd(gt11L,JacPDstandardNth1Xt1,kmadd(gt12L,JacPDstandardNth1Xt2,kmadd(gt13L,JacPDstandardNth1Xt3,kmadd(Gtl111,Xtn1,kmadd(Gtl112,Xtn2,kmadd(Gtl113,Xtn3,kmadd(kmadd(gtu11,JacPDstandardNth11gt11,kmadd(gtu12,kadd(JacPDstandardNth12gt11,JacPDstandardNth21gt11),kmadd(gtu22,JacPDstandardNth22gt11,kmadd(gtu13,kadd(JacPDstandardNth13gt11,JacPDstandardNth31gt11),kmadd(gtu23,kadd(JacPDstandardNth23gt11,JacPDstandardNth32gt11),kmul(gtu33,JacPDstandardNth33gt11)))))),ToReal(-0.5),kmadd(kmadd(Gt211,Gtlu121,kmadd(Gt212,Gtlu122,kmadd(Gt213,Gtlu123,kmadd(Gt311,Gtlu131,kmadd(Gt312,Gtlu132,kmul(Gt313,Gtlu133)))))),ToReal(2.),kmul(kmadd(Gt111,Gtlu111,kmadd(Gt112,Gtlu112,kmul(Gt113,Gtlu113))),ToReal(3.)))))))))))))))); + kmadd(Gt211,Gtlu211,kmadd(Gt212,Gtlu212,kmadd(Gt213,Gtlu213,kmadd(Gt311,Gtlu311,kmadd(Gt312,Gtlu312,kmadd(Gt313,Gtlu313,kmadd(gt11L,JacPDstandardNth1Xt1,kmadd(gt12L,JacPDstandardNth1Xt2,kmadd(gt13L,JacPDstandardNth1Xt3,kmadd(Gtl111,Xtn1,kmadd(Gtl112,Xtn2,kmadd(Gtl113,Xtn3,knmsub(kmadd(gtu11,JacPDstandardNth11gt11,kmadd(gtu12,kadd(JacPDstandardNth12gt11,JacPDstandardNth21gt11),kmadd(gtu22,JacPDstandardNth22gt11,kmadd(gtu33,JacPDstandardNth33gt11,kmadd(gtu23,kadd(JacPDstandardNth32gt11,JacPDstandardNth23gt11),kmul(gtu13,kadd(JacPDstandardNth31gt11,JacPDstandardNth13gt11))))))),ToReal(0.5),kmadd(kmadd(Gt211,Gtlu121,kmadd(Gt212,Gtlu122,kmadd(Gt213,Gtlu123,kmadd(Gt311,Gtlu131,kmadd(Gt312,Gtlu132,kmul(Gt313,Gtlu133)))))),ToReal(2),kmul(kmadd(Gt111,Gtlu111,kmadd(Gt112,Gtlu112,kmul(Gt113,Gtlu113))),ToReal(3)))))))))))))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Rt12 = - kmul(ToReal(0.5),kmadd(gt22L,JacPDstandardNth1Xt2,kmadd(gt23L,JacPDstandardNth1Xt3,kmadd(gt11L,JacPDstandardNth2Xt1,kmadd(gt12L,kadd(JacPDstandardNth1Xt1,JacPDstandardNth2Xt2),kmadd(gt13L,JacPDstandardNth2Xt3,kmadd(kadd(Gtl112,Gtl211),Xtn1,kmadd(kadd(Gtl122,Gtl212),Xtn2,kmadd(kadd(Gtl123,Gtl213),Xtn3,kmadd(kmadd(gtu11,JacPDstandardNth11gt12,kmadd(gtu12,kadd(JacPDstandardNth12gt12,JacPDstandardNth21gt12),kmadd(gtu22,JacPDstandardNth22gt12,kmadd(gtu13,kadd(JacPDstandardNth13gt12,JacPDstandardNth31gt12),kmadd(gtu23,kadd(JacPDstandardNth23gt12,JacPDstandardNth32gt12),kmul(gtu33,JacPDstandardNth33gt12)))))),ToReal(-1.),kmadd(kmadd(Gt122,Gtlu112,kmadd(Gt123,Gtlu113,kmadd(kadd(Gt111,Gt212),Gtlu121,kmadd(Gt222,Gtlu122,kmadd(kadd(Gt113,Gt223),Gtlu123,kmadd(Gt322,Gtlu132,kmadd(Gt323,Gtlu133,kmadd(Gt111,Gtlu211,kmadd(Gt112,kadd(Gtlu111,kadd(Gtlu122,Gtlu212)),kmadd(Gt113,Gtlu213,kmadd(Gt311,kadd(Gtlu231,Gtlu321),kmadd(Gt312,kadd(Gtlu131,kadd(Gtlu232,Gtlu322)),kmul(Gt313,kadd(Gtlu233,Gtlu323)))))))))))))),ToReal(2.),kmul(kmadd(Gt211,Gtlu221,kmadd(Gt212,Gtlu222,kmul(Gt213,Gtlu223))),ToReal(4.))))))))))))); + kmul(ToReal(0.5),kmadd(gt12L,JacPDstandardNth1Xt1,kmadd(gt22L,JacPDstandardNth1Xt2,kmadd(gt23L,JacPDstandardNth1Xt3,kmadd(gt11L,JacPDstandardNth2Xt1,kmadd(gt12L,JacPDstandardNth2Xt2,kmadd(gt13L,JacPDstandardNth2Xt3,kmadd(Gtl112,Xtn1,kmadd(Gtl211,Xtn1,kmadd(Gtl122,Xtn2,kmadd(Gtl212,Xtn2,kmadd(Gtl123,Xtn3,kmadd(Gtl213,Xtn3,knmsub(gtu11,JacPDstandardNth11gt12,knmsub(gtu22,JacPDstandardNth22gt12,knmsub(gtu33,JacPDstandardNth33gt12,knmsub(gtu12,kadd(JacPDstandardNth21gt12,JacPDstandardNth12gt12),knmsub(gtu13,kadd(JacPDstandardNth31gt12,JacPDstandardNth13gt12),knmsub(gtu23,kadd(JacPDstandardNth32gt12,JacPDstandardNth23gt12),kmadd(kmadd(Gt122,Gtlu112,kmadd(Gt123,Gtlu113,kmadd(Gt111,Gtlu121,kmadd(Gt212,Gtlu121,kmadd(Gt222,Gtlu122,kmadd(Gt113,Gtlu123,kmadd(Gt223,Gtlu123,kmadd(Gt312,Gtlu131,kmadd(Gt322,Gtlu132,kmadd(Gt323,Gtlu133,kmadd(Gt111,Gtlu211,kmadd(Gt112,kadd(Gtlu111,kadd(Gtlu122,Gtlu212)),kmadd(Gt113,Gtlu213,kmadd(Gt311,Gtlu231,kmadd(Gt312,Gtlu232,kmadd(Gt313,Gtlu233,kmadd(Gt311,Gtlu321,kmadd(Gt312,Gtlu322,kmul(Gt313,Gtlu323))))))))))))))))))),ToReal(2),kmul(kmadd(Gt211,Gtlu221,kmadd(Gt212,Gtlu222,kmul(Gt213,Gtlu223))),ToReal(4)))))))))))))))))))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Rt13 = - kmul(ToReal(0.5),kmadd(gt23L,JacPDstandardNth1Xt2,kmadd(gt33L,JacPDstandardNth1Xt3,kmadd(gt11L,JacPDstandardNth3Xt1,kmadd(gt12L,JacPDstandardNth3Xt2,kmadd(gt13L,kadd(JacPDstandardNth1Xt1,JacPDstandardNth3Xt3),kmadd(kadd(Gtl113,Gtl311),Xtn1,kmadd(kadd(Gtl123,Gtl312),Xtn2,kmadd(kadd(Gtl133,Gtl313),Xtn3,kmadd(kmadd(gtu11,JacPDstandardNth11gt13,kmadd(gtu12,kadd(JacPDstandardNth12gt13,JacPDstandardNth21gt13),kmadd(gtu22,JacPDstandardNth22gt13,kmadd(gtu13,kadd(JacPDstandardNth13gt13,JacPDstandardNth31gt13),kmadd(gtu23,kadd(JacPDstandardNth23gt13,JacPDstandardNth32gt13),kmul(gtu33,JacPDstandardNth33gt13)))))),ToReal(-1.),kmadd(kmadd(Gt123,Gtlu112,kmadd(Gt133,Gtlu113,kmadd(Gt223,Gtlu122,kmadd(Gt233,Gtlu123,kmadd(kadd(Gt111,Gt313),Gtlu131,kmadd(kadd(Gt112,Gt323),Gtlu132,kmadd(Gt333,Gtlu133,kmadd(Gt111,Gtlu311,kmadd(Gt112,Gtlu312,kmadd(Gt113,kadd(Gtlu111,kadd(Gtlu133,Gtlu313)),kmadd(Gt211,kadd(Gtlu231,Gtlu321),kmadd(Gt212,kadd(Gtlu232,Gtlu322),kmul(Gt213,kadd(Gtlu121,kadd(Gtlu233,Gtlu323))))))))))))))),ToReal(2.),kmul(kmadd(Gt311,Gtlu331,kmadd(Gt312,Gtlu332,kmul(Gt313,Gtlu333))),ToReal(4.))))))))))))); + kmul(ToReal(0.5),kmadd(gt13L,JacPDstandardNth1Xt1,kmadd(gt23L,JacPDstandardNth1Xt2,kmadd(gt33L,JacPDstandardNth1Xt3,kmadd(gt11L,JacPDstandardNth3Xt1,kmadd(gt12L,JacPDstandardNth3Xt2,kmadd(gt13L,JacPDstandardNth3Xt3,kmadd(Gtl113,Xtn1,kmadd(Gtl311,Xtn1,kmadd(Gtl123,Xtn2,kmadd(Gtl312,Xtn2,kmadd(Gtl133,Xtn3,kmadd(Gtl313,Xtn3,knmsub(gtu11,JacPDstandardNth11gt13,knmsub(gtu22,JacPDstandardNth22gt13,knmsub(gtu33,JacPDstandardNth33gt13,knmsub(gtu12,kadd(JacPDstandardNth21gt13,JacPDstandardNth12gt13),knmsub(gtu13,kadd(JacPDstandardNth31gt13,JacPDstandardNth13gt13),knmsub(gtu23,kadd(JacPDstandardNth32gt13,JacPDstandardNth23gt13),kmadd(kmadd(Gt123,Gtlu112,kmadd(Gt133,Gtlu113,kmadd(Gt213,Gtlu121,kmadd(Gt223,Gtlu122,kmadd(Gt233,Gtlu123,kmadd(Gt111,Gtlu131,kmadd(Gt313,Gtlu131,kmadd(Gt112,Gtlu132,kmadd(Gt323,Gtlu132,kmadd(Gt333,Gtlu133,kmadd(Gt211,Gtlu231,kmadd(Gt212,Gtlu232,kmadd(Gt213,Gtlu233,kmadd(Gt111,Gtlu311,kmadd(Gt112,Gtlu312,kmadd(Gt113,kadd(Gtlu111,kadd(Gtlu133,Gtlu313)),kmadd(Gt211,Gtlu321,kmadd(Gt212,Gtlu322,kmul(Gt213,Gtlu323))))))))))))))))))),ToReal(2),kmul(kmadd(Gt311,Gtlu331,kmadd(Gt312,Gtlu332,kmul(Gt313,Gtlu333))),ToReal(4)))))))))))))))))))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Rt22 = - kmadd(Gt312,Gtlu321,kmadd(Gt322,Gtlu322,kmadd(Gt323,Gtlu323,kmadd(gt12L,JacPDstandardNth2Xt1,kmadd(gt22L,JacPDstandardNth2Xt2,kmadd(gt23L,JacPDstandardNth2Xt3,kmadd(Gtl212,Xtn1,kmadd(Gtl222,Xtn2,kmadd(Gtl223,Xtn3,kmadd(kmadd(gtu11,JacPDstandardNth11gt22,kmadd(gtu12,kadd(JacPDstandardNth12gt22,JacPDstandardNth21gt22),kmadd(gtu22,JacPDstandardNth22gt22,kmadd(gtu13,kadd(JacPDstandardNth13gt22,JacPDstandardNth31gt22),kmadd(gtu23,kadd(JacPDstandardNth23gt22,JacPDstandardNth32gt22),kmul(gtu33,JacPDstandardNth33gt22)))))),ToReal(-0.5),kmadd(kmadd(Gt312,Gtlu231,kmadd(Gt322,Gtlu232,kmul(Gt323,Gtlu233))),ToReal(2.),kmadd(Gt112,kmadd(Gtlu211,ToReal(2.),Gtlu121),kmadd(Gt122,kmadd(Gtlu212,ToReal(2.),Gtlu122),kmadd(Gt123,kmadd(Gtlu213,ToReal(2.),Gtlu123),kmul(kmadd(Gt212,Gtlu221,kmadd(Gt222,Gtlu222,kmul(Gt223,Gtlu223))),ToReal(3.)))))))))))))))); + kmadd(Gt312,Gtlu321,kmadd(Gt322,Gtlu322,kmadd(Gt323,Gtlu323,kmadd(gt12L,JacPDstandardNth2Xt1,kmadd(gt22L,JacPDstandardNth2Xt2,kmadd(gt23L,JacPDstandardNth2Xt3,kmadd(Gtl212,Xtn1,kmadd(Gtl222,Xtn2,kmadd(Gtl223,Xtn3,knmsub(kmadd(gtu11,JacPDstandardNth11gt22,kmadd(gtu12,kadd(JacPDstandardNth12gt22,JacPDstandardNth21gt22),kmadd(gtu22,JacPDstandardNth22gt22,kmadd(gtu33,JacPDstandardNth33gt22,kmadd(gtu23,kadd(JacPDstandardNth32gt22,JacPDstandardNth23gt22),kmul(gtu13,kadd(JacPDstandardNth31gt22,JacPDstandardNth13gt22))))))),ToReal(0.5),kmadd(kmadd(Gt312,Gtlu231,kmadd(Gt322,Gtlu232,kmul(Gt323,Gtlu233))),ToReal(2),kmadd(Gt112,kmadd(Gtlu211,ToReal(2),Gtlu121),kmadd(Gt122,kmadd(Gtlu212,ToReal(2),Gtlu122),kmadd(Gt123,kmadd(Gtlu213,ToReal(2),Gtlu123),kmul(kmadd(Gt212,Gtlu221,kmadd(Gt222,Gtlu222,kmul(Gt223,Gtlu223))),ToReal(3)))))))))))))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Rt23 = - kmul(ToReal(0.5),kmadd(gt13L,JacPDstandardNth2Xt1,kmadd(gt33L,JacPDstandardNth2Xt3,kmadd(gt12L,JacPDstandardNth3Xt1,kmadd(gt22L,JacPDstandardNth3Xt2,kmadd(gt23L,kadd(JacPDstandardNth2Xt2,JacPDstandardNth3Xt3),kmadd(kadd(Gtl213,Gtl312),Xtn1,kmadd(kadd(Gtl223,Gtl322),Xtn2,kmadd(kadd(Gtl233,Gtl323),Xtn3,kmadd(kmadd(gtu11,JacPDstandardNth11gt23,kmadd(gtu12,kadd(JacPDstandardNth12gt23,JacPDstandardNth21gt23),kmadd(gtu22,JacPDstandardNth22gt23,kmadd(gtu13,kadd(JacPDstandardNth13gt23,JacPDstandardNth31gt23),kmadd(gtu23,kadd(JacPDstandardNth23gt23,JacPDstandardNth32gt23),kmul(gtu33,JacPDstandardNth33gt23)))))),ToReal(-1.),kmadd(kmadd(Gt113,Gtlu211,kmadd(Gt133,Gtlu213,kmadd(Gt213,Gtlu221,kmadd(Gt233,Gtlu223,kmadd(kadd(Gt212,Gt313),Gtlu231,kmadd(kadd(Gt222,Gt323),Gtlu232,kmadd(Gt333,Gtlu233,kmadd(Gt112,kadd(Gtlu131,Gtlu311),kmadd(Gt122,kadd(Gtlu132,Gtlu312),kmadd(Gt123,kadd(Gtlu133,kadd(Gtlu212,Gtlu313)),kmadd(Gt212,Gtlu321,kmadd(Gt222,Gtlu322,kmul(Gt223,kadd(Gtlu222,kadd(Gtlu233,Gtlu323))))))))))))))),ToReal(2.),kmul(kmadd(Gt312,Gtlu331,kmadd(Gt322,Gtlu332,kmul(Gt323,Gtlu333))),ToReal(4.))))))))))))); + kmul(ToReal(0.5),kmadd(gt13L,JacPDstandardNth2Xt1,kmadd(gt23L,JacPDstandardNth2Xt2,kmadd(gt33L,JacPDstandardNth2Xt3,kmadd(gt12L,JacPDstandardNth3Xt1,kmadd(gt22L,JacPDstandardNth3Xt2,kmadd(gt23L,JacPDstandardNth3Xt3,kmadd(Gtl213,Xtn1,kmadd(Gtl312,Xtn1,kmadd(Gtl223,Xtn2,kmadd(Gtl322,Xtn2,kmadd(Gtl233,Xtn3,kmadd(Gtl323,Xtn3,knmsub(gtu11,JacPDstandardNth11gt23,knmsub(gtu22,JacPDstandardNth22gt23,knmsub(gtu33,JacPDstandardNth33gt23,knmsub(gtu12,kadd(JacPDstandardNth21gt23,JacPDstandardNth12gt23),knmsub(gtu13,kadd(JacPDstandardNth31gt23,JacPDstandardNth13gt23),knmsub(gtu23,kadd(JacPDstandardNth32gt23,JacPDstandardNth23gt23),kmadd(kmadd(Gt123,Gtlu133,kmadd(Gt113,Gtlu211,kmadd(Gt123,Gtlu212,kmadd(Gt133,Gtlu213,kmadd(Gt213,Gtlu221,kmadd(Gt223,Gtlu222,kmadd(Gt233,Gtlu223,kmadd(Gt212,Gtlu231,kmadd(Gt313,Gtlu231,kmadd(Gt222,Gtlu232,kmadd(Gt323,Gtlu232,kmadd(Gt223,Gtlu233,kmadd(Gt333,Gtlu233,kmadd(Gt112,kadd(Gtlu131,Gtlu311),kmadd(Gt122,kadd(Gtlu132,Gtlu312),kmadd(Gt123,Gtlu313,kmadd(Gt212,Gtlu321,kmadd(Gt222,Gtlu322,kmul(Gt223,Gtlu323))))))))))))))))))),ToReal(2),kmul(kmadd(Gt312,Gtlu331,kmadd(Gt322,Gtlu332,kmul(Gt323,Gtlu333))),ToReal(4)))))))))))))))))))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Rt33 = - kmadd(gt13L,JacPDstandardNth3Xt1,kmadd(gt23L,JacPDstandardNth3Xt2,kmadd(gt33L,JacPDstandardNth3Xt3,kmadd(Gtl313,Xtn1,kmadd(Gtl323,Xtn2,kmadd(Gtl333,Xtn3,kmadd(kmadd(gtu11,JacPDstandardNth11gt33,kmadd(gtu12,kadd(JacPDstandardNth12gt33,JacPDstandardNth21gt33),kmadd(gtu22,JacPDstandardNth22gt33,kmadd(gtu13,kadd(JacPDstandardNth13gt33,JacPDstandardNth31gt33),kmadd(gtu23,kadd(JacPDstandardNth23gt33,JacPDstandardNth32gt33),kmul(gtu33,JacPDstandardNth33gt33)))))),ToReal(-0.5),kmadd(Gt113,kmadd(Gtlu311,ToReal(2.),Gtlu131),kmadd(Gt123,kmadd(Gtlu312,ToReal(2.),Gtlu132),kmadd(Gt133,kmadd(Gtlu313,ToReal(2.),Gtlu133),kmadd(Gt213,kmadd(Gtlu321,ToReal(2.),Gtlu231),kmadd(Gt223,kmadd(Gtlu322,ToReal(2.),Gtlu232),kmadd(Gt233,kmadd(Gtlu323,ToReal(2.),Gtlu233),kmul(kmadd(Gt313,Gtlu331,kmadd(Gt323,Gtlu332,kmul(Gt333,Gtlu333))),ToReal(3.))))))))))))))); + kmadd(gt13L,JacPDstandardNth3Xt1,kmadd(gt23L,JacPDstandardNth3Xt2,kmadd(gt33L,JacPDstandardNth3Xt3,kmadd(Gtl313,Xtn1,kmadd(Gtl323,Xtn2,kmadd(Gtl333,Xtn3,knmsub(kmadd(gtu11,JacPDstandardNth11gt33,kmadd(gtu12,kadd(JacPDstandardNth12gt33,JacPDstandardNth21gt33),kmadd(gtu22,JacPDstandardNth22gt33,kmadd(gtu33,JacPDstandardNth33gt33,kmadd(gtu23,kadd(JacPDstandardNth32gt33,JacPDstandardNth23gt33),kmul(gtu13,kadd(JacPDstandardNth31gt33,JacPDstandardNth13gt33))))))),ToReal(0.5),kmadd(Gt113,kmadd(Gtlu311,ToReal(2),Gtlu131),kmadd(Gt123,kmadd(Gtlu312,ToReal(2),Gtlu132),kmadd(Gt133,kmadd(Gtlu313,ToReal(2),Gtlu133),kmadd(Gt213,kmadd(Gtlu321,ToReal(2),Gtlu231),kmadd(Gt223,kmadd(Gtlu322,ToReal(2),Gtlu232),kmadd(Gt233,kmadd(Gtlu323,ToReal(2),Gtlu233),kmul(kmadd(Gt313,Gtlu331,kmadd(Gt323,Gtlu332,kmul(Gt333,Gtlu333))),ToReal(3))))))))))))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED fac1 = IfThen(conformalMethod == - 1.,kdiv(ToReal(-0.5),phiL),ToReal(1.)); + 1,kdiv(ToReal(-0.5),phiL),ToReal(1)); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED cdphi1 = kmul(fac1,JacPDstandardNth1phi); @@ -1512,43 +1553,43 @@ static void ML_CCZ4_constraints1_Body(cGH const * restrict const cctkGH, int con kmul(fac1,JacPDstandardNth3phi); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED fac2 = IfThen(conformalMethod == - 1.,kdiv(ToReal(0.5),kmul(phiL,phiL)),ToReal(0.)); + 1,kdiv(ToReal(0.5),kmul(phiL,phiL)),ToReal(0)); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED cdphi211 = - kmadd(fac2,kmul(JacPDstandardNth1phi,JacPDstandardNth1phi),kmul(fac1,kmadd(kmadd(Gt111,JacPDstandardNth1phi,kmadd(Gt211,JacPDstandardNth2phi,kmul(Gt311,JacPDstandardNth3phi))),ToReal(-1.),JacPDstandardNth11phi))); + kmadd(fac2,kmul(JacPDstandardNth1phi,JacPDstandardNth1phi),kmul(fac1,ksub(JacPDstandardNth11phi,kmadd(Gt111,JacPDstandardNth1phi,kmadd(Gt311,JacPDstandardNth3phi,kmul(Gt211,JacPDstandardNth2phi)))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED cdphi212 = - kmadd(fac2,kmul(JacPDstandardNth1phi,JacPDstandardNth2phi),kmul(fac1,kmadd(kmadd(Gt112,JacPDstandardNth1phi,kmadd(Gt212,JacPDstandardNth2phi,kmul(Gt312,JacPDstandardNth3phi))),ToReal(-1.),JacPDstandardNth12phi))); + kmadd(fac2,kmul(JacPDstandardNth1phi,JacPDstandardNth2phi),kmul(fac1,ksub(JacPDstandardNth12phi,kmadd(Gt112,JacPDstandardNth1phi,kmadd(Gt312,JacPDstandardNth3phi,kmul(Gt212,JacPDstandardNth2phi)))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED cdphi213 = - kmadd(fac2,kmul(JacPDstandardNth1phi,JacPDstandardNth3phi),kmul(fac1,kmadd(kmadd(Gt113,JacPDstandardNth1phi,kmadd(Gt213,JacPDstandardNth2phi,kmul(Gt313,JacPDstandardNth3phi))),ToReal(-1.),JacPDstandardNth13phi))); + kmadd(fac2,kmul(JacPDstandardNth1phi,JacPDstandardNth3phi),kmul(fac1,ksub(JacPDstandardNth13phi,kmadd(Gt113,JacPDstandardNth1phi,kmadd(Gt313,JacPDstandardNth3phi,kmul(Gt213,JacPDstandardNth2phi)))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED cdphi222 = - kmadd(fac2,kmul(JacPDstandardNth2phi,JacPDstandardNth2phi),kmul(fac1,kmul(ToReal(-1.),kmadd(Gt122,JacPDstandardNth1phi,kmadd(Gt222,JacPDstandardNth2phi,kmadd(Gt322,JacPDstandardNth3phi,kmul(JacPDstandardNth22phi,ToReal(-1.)))))))); + kmsub(fac2,kmul(JacPDstandardNth2phi,JacPDstandardNth2phi),kmul(fac1,kmadd(Gt122,JacPDstandardNth1phi,kmadd(Gt222,JacPDstandardNth2phi,kmsub(Gt322,JacPDstandardNth3phi,JacPDstandardNth22phi))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED cdphi223 = - kmadd(fac2,kmul(JacPDstandardNth2phi,JacPDstandardNth3phi),kmul(fac1,kmul(ToReal(-1.),kmadd(Gt123,JacPDstandardNth1phi,kmadd(Gt223,JacPDstandardNth2phi,kmadd(Gt323,JacPDstandardNth3phi,kmul(JacPDstandardNth23phi,ToReal(-1.)))))))); + kmsub(fac2,kmul(JacPDstandardNth2phi,JacPDstandardNth3phi),kmul(fac1,kmadd(Gt123,JacPDstandardNth1phi,kmadd(Gt223,JacPDstandardNth2phi,kmsub(Gt323,JacPDstandardNth3phi,JacPDstandardNth23phi))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED cdphi233 = - kmadd(fac2,kmul(JacPDstandardNth3phi,JacPDstandardNth3phi),kmul(fac1,kmul(ToReal(-1.),kmadd(Gt133,JacPDstandardNth1phi,kmadd(Gt233,JacPDstandardNth2phi,kmadd(Gt333,JacPDstandardNth3phi,kmul(JacPDstandardNth33phi,ToReal(-1.)))))))); + kmsub(fac2,kmul(JacPDstandardNth3phi,JacPDstandardNth3phi),kmul(fac1,kmadd(Gt133,JacPDstandardNth1phi,kmadd(Gt233,JacPDstandardNth2phi,kmsub(Gt333,JacPDstandardNth3phi,JacPDstandardNth33phi))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Rphi11 = - kmul(ToReal(-2.),kadd(cdphi211,kmadd(kmul(cdphi1,cdphi1),kmul(kmadd(gt11L,gtu11,ToReal(-1.)),ToReal(2.)),kmul(gt11L,kmadd(cdphi211,gtu11,kmadd(cdphi233,gtu33,kmadd(kmadd(cdphi212,gtu12,kmadd(cdphi213,gtu13,kmadd(cdphi223,gtu23,kmul(gtu33,kmul(cdphi3,cdphi3))))),ToReal(2.),kmadd(gtu22,kmadd(kmul(cdphi2,cdphi2),ToReal(2.),cdphi222),kmul(kmadd(cdphi1,kmadd(cdphi2,gtu12,kmul(cdphi3,gtu13)),kmul(cdphi2,kmul(cdphi3,gtu23))),ToReal(4.)))))))))); + kmul(ToReal(-2),kadd(cdphi211,kmadd(kmul(cdphi1,cdphi1),kmul(kmadd(gt11L,gtu11,ToReal(-1)),ToReal(2)),kmul(gt11L,kmadd(cdphi211,gtu11,kmadd(cdphi233,gtu33,kmadd(kmadd(cdphi212,gtu12,kmadd(cdphi213,gtu13,kmadd(cdphi223,gtu23,kmul(gtu33,kmul(cdphi3,cdphi3))))),ToReal(2),kmadd(gtu22,kmadd(kmul(cdphi2,cdphi2),ToReal(2),cdphi222),kmul(kmadd(cdphi1,kmadd(cdphi2,gtu12,kmul(cdphi3,gtu13)),kmul(cdphi2,kmul(cdphi3,gtu23))),ToReal(4)))))))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Rphi12 = - kmul(ToReal(-2.),kadd(cdphi212,kmadd(gt12L,kmadd(cdphi211,gtu11,kmadd(kmadd(cdphi212,gtu12,kmadd(cdphi213,gtu13,kmadd(cdphi223,gtu23,kmul(gtu11,kmul(cdphi1,cdphi1))))),ToReal(2.),kmadd(gtu22,kmadd(kmul(cdphi2,cdphi2),ToReal(2.),cdphi222),kmadd(gtu33,kmadd(kmul(cdphi3,cdphi3),ToReal(2.),cdphi233),kmul(cdphi2,kmul(cdphi3,kmul(gtu23,ToReal(4.)))))))),kmul(cdphi1,kmadd(gt12L,kmul(cdphi3,kmul(gtu13,ToReal(4.))),kmul(cdphi2,kmadd(gt12L,kmul(gtu12,ToReal(4.)),ToReal(-2.)))))))); + kmul(ToReal(-2),kadd(cdphi212,kmadd(gt12L,kmadd(cdphi211,gtu11,kmadd(kmadd(cdphi212,gtu12,kmadd(cdphi213,gtu13,kmadd(cdphi223,gtu23,kmul(gtu11,kmul(cdphi1,cdphi1))))),ToReal(2),kmadd(gtu22,kmadd(kmul(cdphi2,cdphi2),ToReal(2),cdphi222),kmadd(gtu33,kmadd(kmul(cdphi3,cdphi3),ToReal(2),cdphi233),kmul(cdphi2,kmul(cdphi3,kmul(gtu23,ToReal(4)))))))),kmul(cdphi1,kmadd(gt12L,kmul(cdphi3,kmul(gtu13,ToReal(4))),kmul(cdphi2,kmadd(gt12L,kmul(gtu12,ToReal(4)),ToReal(-2)))))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Rphi13 = - kmul(ToReal(-2.),kadd(cdphi213,kmadd(gt13L,kmadd(cdphi211,gtu11,kmadd(kmadd(cdphi212,gtu12,kmadd(cdphi213,gtu13,kmadd(cdphi223,gtu23,kmul(gtu11,kmul(cdphi1,cdphi1))))),ToReal(2.),kmadd(gtu22,kmadd(kmul(cdphi2,cdphi2),ToReal(2.),cdphi222),kmadd(gtu33,kmadd(kmul(cdphi3,cdphi3),ToReal(2.),cdphi233),kmul(cdphi2,kmul(cdphi3,kmul(gtu23,ToReal(4.)))))))),kmul(cdphi1,kmadd(gt13L,kmul(cdphi2,kmul(gtu12,ToReal(4.))),kmul(cdphi3,kmadd(gt13L,kmul(gtu13,ToReal(4.)),ToReal(-2.)))))))); + kmul(ToReal(-2),kadd(cdphi213,kmadd(gt13L,kmadd(cdphi211,gtu11,kmadd(kmadd(cdphi212,gtu12,kmadd(cdphi213,gtu13,kmadd(cdphi223,gtu23,kmul(gtu11,kmul(cdphi1,cdphi1))))),ToReal(2),kmadd(gtu22,kmadd(kmul(cdphi2,cdphi2),ToReal(2),cdphi222),kmadd(gtu33,kmadd(kmul(cdphi3,cdphi3),ToReal(2),cdphi233),kmul(cdphi2,kmul(cdphi3,kmul(gtu23,ToReal(4)))))))),kmul(cdphi1,kmadd(gt13L,kmul(cdphi2,kmul(gtu12,ToReal(4))),kmul(cdphi3,kmadd(gt13L,kmul(gtu13,ToReal(4)),ToReal(-2)))))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Rphi22 = - kmul(ToReal(-2.),kadd(cdphi222,kmadd(kmul(cdphi2,cdphi2),kmul(kmadd(gt22L,gtu22,ToReal(-1.)),ToReal(2.)),kmul(gt22L,kmadd(cdphi222,gtu22,kmadd(cdphi233,gtu33,kmadd(kmadd(cdphi212,gtu12,kmadd(cdphi213,gtu13,kmadd(cdphi223,gtu23,kmul(gtu33,kmul(cdphi3,cdphi3))))),ToReal(2.),kmadd(gtu11,kmadd(kmul(cdphi1,cdphi1),ToReal(2.),cdphi211),kmul(kmadd(cdphi1,kmul(cdphi3,gtu13),kmul(cdphi2,kmadd(cdphi1,gtu12,kmul(cdphi3,gtu23)))),ToReal(4.)))))))))); + kmul(ToReal(-2),kadd(cdphi222,kmadd(kmul(cdphi2,cdphi2),kmul(kmadd(gt22L,gtu22,ToReal(-1)),ToReal(2)),kmul(gt22L,kmadd(cdphi222,gtu22,kmadd(cdphi233,gtu33,kmadd(kmadd(cdphi212,gtu12,kmadd(cdphi213,gtu13,kmadd(cdphi223,gtu23,kmul(gtu33,kmul(cdphi3,cdphi3))))),ToReal(2),kmadd(gtu11,kmadd(kmul(cdphi1,cdphi1),ToReal(2),cdphi211),kmul(kmadd(cdphi1,kmul(cdphi3,gtu13),kmul(cdphi2,kmadd(cdphi1,gtu12,kmul(cdphi3,gtu23)))),ToReal(4)))))))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Rphi23 = - kmul(ToReal(-2.),kadd(cdphi223,kmadd(gt23L,kmadd(cdphi222,gtu22,kmadd(kmadd(cdphi212,gtu12,kmadd(cdphi213,gtu13,kmadd(cdphi223,gtu23,kmul(gtu22,kmul(cdphi2,cdphi2))))),ToReal(2.),kmadd(gtu11,kmadd(kmul(cdphi1,cdphi1),ToReal(2.),cdphi211),kmadd(gtu33,kmadd(kmul(cdphi3,cdphi3),ToReal(2.),cdphi233),kmul(cdphi1,kmul(cdphi3,kmul(gtu13,ToReal(4.)))))))),kmul(cdphi2,kmadd(gt23L,kmul(cdphi1,kmul(gtu12,ToReal(4.))),kmul(cdphi3,kmadd(gt23L,kmul(gtu23,ToReal(4.)),ToReal(-2.)))))))); + kmul(ToReal(-2),kadd(cdphi223,kmadd(gt23L,kmadd(cdphi222,gtu22,kmadd(kmadd(cdphi212,gtu12,kmadd(cdphi213,gtu13,kmadd(cdphi223,gtu23,kmul(gtu22,kmul(cdphi2,cdphi2))))),ToReal(2),kmadd(gtu11,kmadd(kmul(cdphi1,cdphi1),ToReal(2),cdphi211),kmadd(gtu33,kmadd(kmul(cdphi3,cdphi3),ToReal(2),cdphi233),kmul(cdphi1,kmul(cdphi3,kmul(gtu13,ToReal(4)))))))),kmul(cdphi2,kmadd(gt23L,kmul(cdphi1,kmul(gtu12,ToReal(4))),kmul(cdphi3,kmadd(gt23L,kmul(gtu23,ToReal(4)),ToReal(-2)))))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Rphi33 = - kmul(ToReal(-2.),kadd(cdphi233,kmadd(kmul(cdphi3,cdphi3),kmul(kmadd(gt33L,gtu33,ToReal(-1.)),ToReal(2.)),kmul(gt33L,kmadd(cdphi233,gtu33,kmadd(kmadd(cdphi213,gtu13,kmul(cdphi223,gtu23)),ToReal(2.),kmadd(gtu11,kmadd(kmul(cdphi1,cdphi1),ToReal(2.),cdphi211),kmadd(gtu22,kmadd(kmul(cdphi2,cdphi2),ToReal(2.),cdphi222),kmadd(cdphi3,kmul(kmadd(cdphi1,gtu13,kmul(cdphi2,gtu23)),ToReal(4.)),kmul(gtu12,kmadd(cdphi212,ToReal(2.),kmul(cdphi1,kmul(cdphi2,ToReal(4.)))))))))))))); + kmul(ToReal(-2),kadd(cdphi233,kmadd(kmul(cdphi3,cdphi3),kmul(kmadd(gt33L,gtu33,ToReal(-1)),ToReal(2)),kmul(gt33L,kmadd(cdphi233,gtu33,kmadd(kmadd(cdphi213,gtu13,kmul(cdphi223,gtu23)),ToReal(2),kmadd(gtu11,kmadd(kmul(cdphi1,cdphi1),ToReal(2),cdphi211),kmadd(gtu22,kmadd(kmul(cdphi2,cdphi2),ToReal(2),cdphi222),kmadd(cdphi3,kmul(kmadd(cdphi1,gtu13,kmul(cdphi2,gtu23)),ToReal(4)),kmul(gtu12,kmadd(cdphi212,ToReal(2),kmul(cdphi1,kmul(cdphi2,ToReal(4)))))))))))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED R11 = kadd(Rphi11,Rt11); @@ -1563,25 +1604,25 @@ static void ML_CCZ4_constraints1_Body(cGH const * restrict const cctkGH, int con CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED R33 = kadd(Rphi33,Rt33); R11 = - kadd(R11,kmadd(e4phi,kmadd(JacPDstandardNth1gt11,Z1,kmadd(JacPDstandardNth2gt11,Z2,kmul(JacPDstandardNth3gt11,Z3))),kdiv(kmadd(g11,kmul(kmadd(JacPDstandardNth2phi,Z2,kmul(JacPDstandardNth3phi,Z3)),ToReal(-2.)),kmul(JacPDstandardNth1phi,kmadd(g11,kmul(Z1,ToReal(2.)),kmul(kmadd(g12,Z2,kmul(g13,Z3)),ToReal(4.))))),phiL))); + kadd(R11,kmadd(e4phi,kmadd(JacPDstandardNth1gt11,Z1,kmadd(JacPDstandardNth2gt11,Z2,kmul(JacPDstandardNth3gt11,Z3))),kdiv(kmadd(g11,kmul(kmadd(JacPDstandardNth2phi,Z2,kmul(JacPDstandardNth3phi,Z3)),ToReal(-2)),kmul(JacPDstandardNth1phi,kmadd(g11,kmul(Z1,ToReal(2)),kmul(kmadd(g12,Z2,kmul(g13,Z3)),ToReal(4))))),phiL))); R12 = - kdiv(kmadd(phiL,kmadd(e4phi,kmadd(JacPDstandardNth1gt12,Z1,kmadd(JacPDstandardNth2gt12,Z2,kmul(JacPDstandardNth3gt12,Z3))),R12),kmul(kmadd(JacPDstandardNth2phi,kmadd(g11,Z1,kmul(g13,Z3)),kmadd(JacPDstandardNth1phi,kmadd(g22,Z2,kmul(g23,Z3)),kmul(g12,kmul(JacPDstandardNth3phi,kmul(Z3,ToReal(-1.)))))),ToReal(2.))),phiL); + kdiv(kmadd(phiL,kmadd(e4phi,kmadd(JacPDstandardNth1gt12,Z1,kmadd(JacPDstandardNth2gt12,Z2,kmul(JacPDstandardNth3gt12,Z3))),R12),kmul(kmadd(JacPDstandardNth2phi,kmadd(g11,Z1,kmul(g13,Z3)),kmsub(JacPDstandardNth1phi,kmadd(g22,Z2,kmul(g23,Z3)),kmul(g12,kmul(JacPDstandardNth3phi,Z3)))),ToReal(2))),phiL); R13 = - kdiv(kmadd(phiL,kmadd(e4phi,kmadd(JacPDstandardNth1gt13,Z1,kmadd(JacPDstandardNth2gt13,Z2,kmul(JacPDstandardNth3gt13,Z3))),R13),kmul(kmadd(JacPDstandardNth3phi,kmadd(g11,Z1,kmul(g12,Z2)),kmadd(g33,kmul(JacPDstandardNth1phi,Z3),kmul(Z2,kmadd(g23,JacPDstandardNth1phi,kmul(g13,kmul(JacPDstandardNth2phi,ToReal(-1.))))))),ToReal(2.))),phiL); + kdiv(kmadd(phiL,kmadd(e4phi,kmadd(JacPDstandardNth1gt13,Z1,kmadd(JacPDstandardNth2gt13,Z2,kmul(JacPDstandardNth3gt13,Z3))),R13),kmul(kmadd(JacPDstandardNth3phi,kmadd(g11,Z1,kmul(g12,Z2)),kmadd(g33,kmul(JacPDstandardNth1phi,Z3),kmul(Z2,kmsub(g23,JacPDstandardNth1phi,kmul(g13,JacPDstandardNth2phi))))),ToReal(2))),phiL); R22 = - kadd(R22,kmadd(e4phi,kmadd(JacPDstandardNth1gt22,Z1,kmadd(JacPDstandardNth2gt22,Z2,kmul(JacPDstandardNth3gt22,Z3))),kdiv(kmadd(g22,kmul(ToReal(-2.),kmadd(JacPDstandardNth1phi,Z1,kmadd(JacPDstandardNth3phi,Z3,kmul(JacPDstandardNth2phi,kmul(Z2,ToReal(-1.)))))),kmul(JacPDstandardNth2phi,kmul(kmadd(g12,Z1,kmul(g23,Z3)),ToReal(4.)))),phiL))); + kadd(R22,kmadd(e4phi,kmadd(JacPDstandardNth1gt22,Z1,kmadd(JacPDstandardNth2gt22,Z2,kmul(JacPDstandardNth3gt22,Z3))),kdiv(kmadd(g22,kmul(ToReal(-2),kmadd(JacPDstandardNth1phi,Z1,kmsub(JacPDstandardNth3phi,Z3,kmul(JacPDstandardNth2phi,Z2)))),kmul(JacPDstandardNth2phi,kmul(kmadd(g12,Z1,kmul(g23,Z3)),ToReal(4)))),phiL))); R23 = - kdiv(kmadd(phiL,kmadd(e4phi,kmadd(JacPDstandardNth1gt23,Z1,kmadd(JacPDstandardNth2gt23,Z2,kmul(JacPDstandardNth3gt23,Z3))),R23),kmul(kmadd(g22,kmul(JacPDstandardNth3phi,Z2),kmadd(g33,kmul(JacPDstandardNth2phi,Z3),kmul(Z1,kmadd(g13,JacPDstandardNth2phi,kmadd(g12,JacPDstandardNth3phi,kmul(g23,kmul(JacPDstandardNth1phi,ToReal(-1.)))))))),ToReal(2.))),phiL); + kdiv(kmadd(phiL,kmadd(e4phi,kmadd(JacPDstandardNth1gt23,Z1,kmadd(JacPDstandardNth2gt23,Z2,kmul(JacPDstandardNth3gt23,Z3))),R23),kmul(kmadd(g22,kmul(JacPDstandardNth3phi,Z2),kmadd(g33,kmul(JacPDstandardNth2phi,Z3),kmul(Z1,kmadd(g13,JacPDstandardNth2phi,kmsub(g12,JacPDstandardNth3phi,kmul(g23,JacPDstandardNth1phi)))))),ToReal(2))),phiL); R33 = - kadd(R33,kmadd(e4phi,kmadd(JacPDstandardNth1gt33,Z1,kmadd(JacPDstandardNth2gt33,Z2,kmul(JacPDstandardNth3gt33,Z3))),kdiv(kmadd(g33,kmul(ToReal(-2.),kmadd(JacPDstandardNth1phi,Z1,kmadd(JacPDstandardNth2phi,Z2,kmul(JacPDstandardNth3phi,kmul(Z3,ToReal(-1.)))))),kmul(JacPDstandardNth3phi,kmul(kmadd(g13,Z1,kmul(g23,Z2)),ToReal(4.)))),phiL))); + kadd(R33,kmadd(e4phi,kmadd(JacPDstandardNth1gt33,Z1,kmadd(JacPDstandardNth2gt33,Z2,kmul(JacPDstandardNth3gt33,Z3))),kdiv(kmadd(g33,kmul(ToReal(-2),kmadd(JacPDstandardNth1phi,Z1,kmsub(JacPDstandardNth2phi,Z2,kmul(JacPDstandardNth3phi,Z3)))),kmul(JacPDstandardNth3phi,kmul(kmadd(g13,Z1,kmul(g23,Z2)),ToReal(4)))),phiL))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED trR = - kmadd(gu11,R11,kmadd(gu22,R22,kmadd(gu33,R33,kmul(kmadd(gu12,R12,kmadd(gu13,R13,kmul(gu23,R23))),ToReal(2.))))); + kmadd(gu11,R11,kmadd(gu22,R22,kmadd(gu33,R33,kmul(kmadd(gu12,R12,kmadd(gu13,R13,kmul(gu23,R23))),ToReal(2))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Atm11 = kmadd(At11L,gtu11,kmadd(At12L,gtu12,kmul(At13L,gtu13))); @@ -1611,13 +1652,13 @@ static void ML_CCZ4_constraints1_Body(cGH const * restrict const cctkGH, int con kmadd(At13L,gtu13,kmadd(At23L,gtu23,kmul(At33L,gtu33))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED rho = - kdiv(kadd(eTttL,kmadd(eTxxL,kmul(beta1L,beta1L),kmadd(eTyyL,kmul(beta2L,beta2L),kmadd(eTzzL,kmul(beta3L,beta3L),kmadd(kmadd(beta2L,eTtyL,kmul(beta3L,eTtzL)),ToReal(-2.),kmul(kmadd(beta2L,kmul(beta3L,eTyzL),kmul(beta1L,kmadd(beta2L,eTxyL,kmadd(beta3L,eTxzL,kmul(eTtxL,ToReal(-1.)))))),ToReal(2.))))))),kmul(alphaL,alphaL)); + kdiv(kadd(eTttL,kmadd(eTxxL,kmul(beta1L,beta1L),kmadd(eTyyL,kmul(beta2L,beta2L),kmadd(eTzzL,kmul(beta3L,beta3L),kmadd(kmadd(beta2L,eTtyL,kmul(beta3L,eTtzL)),ToReal(-2),kmul(kmadd(beta2L,kmul(beta3L,eTyzL),kmul(beta1L,kmadd(beta2L,eTxyL,kmsub(beta3L,eTxzL,eTtxL)))),ToReal(2))))))),kmul(alphaL,alphaL)); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED HL = - kadd(trR,kmadd(rho,ToReal(-50.26548245743669),kmadd(kmadd(Atm12,Atm21,kmadd(Atm13,Atm31,kmul(Atm23,Atm32))),ToReal(-2.),kmadd(kmadd(Atm11,Atm11,kmadd(Atm22,Atm22,kmul(Atm33,Atm33))),ToReal(-1.),kmul(kmul(trKL,trKL),ToReal(0.666666666666666666666666666667)))))); + kadd(trR,kmadd(kmadd(Atm12,Atm21,kmadd(Atm13,Atm31,kmul(Atm23,Atm32))),ToReal(-2),knmsub(Atm11,Atm11,knmsub(Atm22,Atm22,knmsub(Atm33,Atm33,kmadd(kmul(trKL,trKL),ToReal(0.666666666666666666666666666667),kmul(rho,ToReal(-50.2654824574366918154022941325)))))))); /* 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); } CCTK_ENDLOOP3STR(ML_CCZ4_constraints1); @@ -1639,7 +1680,7 @@ extern "C" void ML_CCZ4_constraints1(CCTK_ARGUMENTS) return; } - const char *const groups[] = { + const char* const groups[] = { "ML_CCZ4::ML_curv", "ML_CCZ4::ML_Gamma", "ML_CCZ4::ML_Ham", @@ -1650,23 +1691,33 @@ extern "C" void ML_CCZ4_constraints1(CCTK_ARGUMENTS) "ML_CCZ4::ML_trace_curv"}; GenericFD_AssertGroupStorage(cctkGH, "ML_CCZ4_constraints1", 8, groups); - switch(fdOrder) + switch (fdOrder) { case 2: + { GenericFD_EnsureStencilFits(cctkGH, "ML_CCZ4_constraints1", 1, 1, 1); break; + } case 4: + { GenericFD_EnsureStencilFits(cctkGH, "ML_CCZ4_constraints1", 2, 2, 2); break; + } case 6: + { GenericFD_EnsureStencilFits(cctkGH, "ML_CCZ4_constraints1", 3, 3, 3); break; + } case 8: + { GenericFD_EnsureStencilFits(cctkGH, "ML_CCZ4_constraints1", 4, 4, 4); break; + } + default: + CCTK_BUILTIN_UNREACHABLE(); } GenericFD_LoopOverInterior(cctkGH, ML_CCZ4_constraints1_Body); diff --git a/ML_CCZ4/src/ML_CCZ4_constraints2.cc b/ML_CCZ4/src/ML_CCZ4_constraints2.cc index 1f2961d..9246661 100644 --- a/ML_CCZ4/src/ML_CCZ4_constraints2.cc +++ b/ML_CCZ4/src/ML_CCZ4_constraints2.cc @@ -32,7 +32,9 @@ extern "C" void ML_CCZ4_constraints2_SelectBCs(CCTK_ARGUMENTS) DECLARE_CCTK_ARGUMENTS; DECLARE_CCTK_PARAMETERS; - CCTK_INT ierr CCTK_ATTRIBUTE_UNUSED = 0; + if (cctk_iteration % ML_CCZ4_constraints2_calc_every != ML_CCZ4_constraints2_calc_offset) + return; + CCTK_INT ierr CCTK_ATTRIBUTE_UNUSED = 0; ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_CCZ4::ML_cons_detg","flat"); if (ierr < 0) CCTK_WARN(1, "Failed to register flat BC for ML_CCZ4::ML_cons_detg."); @@ -48,7 +50,7 @@ extern "C" void ML_CCZ4_constraints2_SelectBCs(CCTK_ARGUMENTS) return; } -static void ML_CCZ4_constraints2_Body(cGH const * restrict const cctkGH, int const dir, int const face, CCTK_REAL const normal[3], CCTK_REAL const tangentA[3], CCTK_REAL const tangentB[3], int const imin[3], int const imax[3], int const n_subblock_gfs, CCTK_REAL * restrict const subblock_gfs[]) +static void ML_CCZ4_constraints2_Body(const cGH* restrict const cctkGH, const int dir, const int face, const CCTK_REAL normal[3], const CCTK_REAL tangentA[3], const CCTK_REAL tangentB[3], const int imin[3], const int imax[3], const int n_subblock_gfs, CCTK_REAL* restrict const subblock_gfs[]) { DECLARE_CCTK_ARGUMENTS; DECLARE_CCTK_PARAMETERS; @@ -57,153 +59,175 @@ static void ML_CCZ4_constraints2_Body(cGH const * restrict const cctkGH, int con /* Include user-supplied include files */ /* Initialise finite differencing variables */ - ptrdiff_t /*const*/ di CCTK_ATTRIBUTE_UNUSED = 1; - ptrdiff_t /*const*/ dj CCTK_ATTRIBUTE_UNUSED = CCTK_GFINDEX3D(cctkGH,0,1,0) - CCTK_GFINDEX3D(cctkGH,0,0,0); - ptrdiff_t /*const*/ dk CCTK_ATTRIBUTE_UNUSED = CCTK_GFINDEX3D(cctkGH,0,0,1) - CCTK_GFINDEX3D(cctkGH,0,0,0); - ptrdiff_t /*const*/ cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * di; - ptrdiff_t /*const*/ cdj CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * dj; - ptrdiff_t /*const*/ cdk CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * dk; - CCTK_REAL_VEC /*const*/ dx CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(0)); - CCTK_REAL_VEC /*const*/ dy CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(1)); - CCTK_REAL_VEC /*const*/ dz CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(2)); - CCTK_REAL_VEC /*const*/ dt CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_TIME); - CCTK_REAL_VEC /*const*/ t CCTK_ATTRIBUTE_UNUSED = ToReal(cctk_time); - CCTK_REAL_VEC /*const*/ dxi CCTK_ATTRIBUTE_UNUSED = INV(dx); - CCTK_REAL_VEC /*const*/ dyi CCTK_ATTRIBUTE_UNUSED = INV(dy); - CCTK_REAL_VEC /*const*/ dzi CCTK_ATTRIBUTE_UNUSED = INV(dz); - CCTK_REAL_VEC /*const*/ khalf CCTK_ATTRIBUTE_UNUSED = ToReal(0.5); - CCTK_REAL_VEC /*const*/ kthird CCTK_ATTRIBUTE_UNUSED = ToReal(1.0/3.0); - CCTK_REAL_VEC /*const*/ ktwothird CCTK_ATTRIBUTE_UNUSED = ToReal(2.0/3.0); - CCTK_REAL_VEC /*const*/ kfourthird CCTK_ATTRIBUTE_UNUSED = ToReal(4.0/3.0); - CCTK_REAL_VEC /*const*/ keightthird CCTK_ATTRIBUTE_UNUSED = ToReal(8.0/3.0); - CCTK_REAL_VEC /*const*/ hdxi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dxi); - CCTK_REAL_VEC /*const*/ hdyi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dyi); - CCTK_REAL_VEC /*const*/ hdzi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dzi); + const ptrdiff_t di CCTK_ATTRIBUTE_UNUSED = 1; + const ptrdiff_t dj CCTK_ATTRIBUTE_UNUSED = CCTK_GFINDEX3D(cctkGH,0,1,0) - CCTK_GFINDEX3D(cctkGH,0,0,0); + const ptrdiff_t dk CCTK_ATTRIBUTE_UNUSED = CCTK_GFINDEX3D(cctkGH,0,0,1) - CCTK_GFINDEX3D(cctkGH,0,0,0); + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * di; + const ptrdiff_t cdj CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * dj; + const ptrdiff_t cdk CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * dk; + const CCTK_REAL_VEC dx CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(0)); + const CCTK_REAL_VEC dy CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(1)); + const CCTK_REAL_VEC dz CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(2)); + const CCTK_REAL_VEC dt CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_TIME); + const CCTK_REAL_VEC t CCTK_ATTRIBUTE_UNUSED = ToReal(cctk_time); + const CCTK_REAL_VEC dxi CCTK_ATTRIBUTE_UNUSED = INV(dx); + const CCTK_REAL_VEC dyi CCTK_ATTRIBUTE_UNUSED = INV(dy); + const CCTK_REAL_VEC dzi CCTK_ATTRIBUTE_UNUSED = INV(dz); + const CCTK_REAL_VEC khalf CCTK_ATTRIBUTE_UNUSED = ToReal(0.5); + const CCTK_REAL_VEC kthird CCTK_ATTRIBUTE_UNUSED = ToReal(1.0/3.0); + const CCTK_REAL_VEC ktwothird CCTK_ATTRIBUTE_UNUSED = ToReal(2.0/3.0); + const CCTK_REAL_VEC kfourthird CCTK_ATTRIBUTE_UNUSED = ToReal(4.0/3.0); + const CCTK_REAL_VEC keightthird CCTK_ATTRIBUTE_UNUSED = ToReal(8.0/3.0); + const CCTK_REAL_VEC hdxi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dxi); + const CCTK_REAL_VEC hdyi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dyi); + const CCTK_REAL_VEC hdzi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dzi); /* Initialize predefined quantities */ - CCTK_REAL_VEC /*const*/ p1o1024dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dx); - CCTK_REAL_VEC /*const*/ p1o1024dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dy); - CCTK_REAL_VEC /*const*/ p1o1024dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dz); - CCTK_REAL_VEC /*const*/ p1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dx); - CCTK_REAL_VEC /*const*/ p1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dy); - CCTK_REAL_VEC /*const*/ p1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dz); - CCTK_REAL_VEC /*const*/ p1o12dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dx); - CCTK_REAL_VEC /*const*/ p1o12dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dy); - CCTK_REAL_VEC /*const*/ p1o12dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dz); - CCTK_REAL_VEC /*const*/ p1o144dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o144dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o144dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o1680dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dx); - CCTK_REAL_VEC /*const*/ p1o1680dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dy); - CCTK_REAL_VEC /*const*/ p1o1680dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dz); - CCTK_REAL_VEC /*const*/ p1o180dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ p1o180dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ p1o180dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ p1o24dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dx); - CCTK_REAL_VEC /*const*/ p1o24dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dy); - CCTK_REAL_VEC /*const*/ p1o24dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dz); - CCTK_REAL_VEC /*const*/ p1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dx); - CCTK_REAL_VEC /*const*/ p1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dy); - CCTK_REAL_VEC /*const*/ p1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dz); - CCTK_REAL_VEC /*const*/ p1o3600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o3600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o3600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dx); - CCTK_REAL_VEC /*const*/ p1o4dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o4dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dy); - CCTK_REAL_VEC /*const*/ p1o4dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dz); - CCTK_REAL_VEC /*const*/ p1o5040dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ p1o5040dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ p1o5040dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ p1o560dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dx); - CCTK_REAL_VEC /*const*/ p1o560dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dy); - CCTK_REAL_VEC /*const*/ p1o560dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dz); - CCTK_REAL_VEC /*const*/ p1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dx); - CCTK_REAL_VEC /*const*/ p1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dy); - CCTK_REAL_VEC /*const*/ p1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dz); - CCTK_REAL_VEC /*const*/ p1o64dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dx); - CCTK_REAL_VEC /*const*/ p1o64dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dy); - CCTK_REAL_VEC /*const*/ p1o64dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dz); - CCTK_REAL_VEC /*const*/ p1o705600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o705600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o705600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o840dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dx); - CCTK_REAL_VEC /*const*/ p1o840dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dy); - CCTK_REAL_VEC /*const*/ p1o840dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dz); - CCTK_REAL_VEC /*const*/ p1odx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dx); - CCTK_REAL_VEC /*const*/ p1odx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ p1ody CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dy); - CCTK_REAL_VEC /*const*/ p1ody2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ p1odz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dz); - CCTK_REAL_VEC /*const*/ p1odz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ pm1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dx); - CCTK_REAL_VEC /*const*/ pm1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dy); - CCTK_REAL_VEC /*const*/ pm1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dz); - CCTK_REAL_VEC /*const*/ pm1o12dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ pm1o12dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ pm1o12dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ pm1o16dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dx); - CCTK_REAL_VEC /*const*/ pm1o16dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dy); - CCTK_REAL_VEC /*const*/ pm1o16dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dz); - CCTK_REAL_VEC /*const*/ pm1o256dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dx); - CCTK_REAL_VEC /*const*/ pm1o256dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dy); - CCTK_REAL_VEC /*const*/ pm1o256dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dz); - CCTK_REAL_VEC /*const*/ pm1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dx); - CCTK_REAL_VEC /*const*/ pm1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dy); - CCTK_REAL_VEC /*const*/ pm1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dz); - CCTK_REAL_VEC /*const*/ pm1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dx); - CCTK_REAL_VEC /*const*/ pm1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dy); - CCTK_REAL_VEC /*const*/ pm1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dz); - CCTK_REAL_VEC /*const*/ pm1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dx); - CCTK_REAL_VEC /*const*/ pm1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dy); - CCTK_REAL_VEC /*const*/ pm1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dz); + const CCTK_REAL_VEC p1o1024dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dx); + const CCTK_REAL_VEC p1o1024dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dy); + const CCTK_REAL_VEC p1o1024dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dz); + const CCTK_REAL_VEC p1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dx); + const CCTK_REAL_VEC p1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dy); + const CCTK_REAL_VEC p1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dz); + const CCTK_REAL_VEC p1o12dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dx); + const CCTK_REAL_VEC p1o12dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dy); + const CCTK_REAL_VEC p1o12dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dz); + const CCTK_REAL_VEC p1o144dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dy,dx)); + const CCTK_REAL_VEC p1o144dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dx)); + const CCTK_REAL_VEC p1o144dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dy)); + const CCTK_REAL_VEC p1o1680dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dx); + const CCTK_REAL_VEC p1o1680dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dy); + const CCTK_REAL_VEC p1o1680dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dz); + const CCTK_REAL_VEC p1o180dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dx,dx)); + const CCTK_REAL_VEC p1o180dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dy,dy)); + const CCTK_REAL_VEC p1o180dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dz,dz)); + const CCTK_REAL_VEC p1o24dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dx); + const CCTK_REAL_VEC p1o24dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dy); + const CCTK_REAL_VEC p1o24dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dz); + const CCTK_REAL_VEC p1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dx); + const CCTK_REAL_VEC p1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dy); + const CCTK_REAL_VEC p1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dz); + const CCTK_REAL_VEC p1o3600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dy,dx)); + const CCTK_REAL_VEC p1o3600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dx)); + const CCTK_REAL_VEC p1o3600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dy)); + const CCTK_REAL_VEC p1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dx); + const CCTK_REAL_VEC p1o4dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dy,dx)); + const CCTK_REAL_VEC p1o4dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dx)); + const CCTK_REAL_VEC p1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dy); + const CCTK_REAL_VEC p1o4dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dy)); + const CCTK_REAL_VEC p1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dz); + const CCTK_REAL_VEC p1o5040dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dx,dx)); + const CCTK_REAL_VEC p1o5040dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dy,dy)); + const CCTK_REAL_VEC p1o5040dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dz,dz)); + const CCTK_REAL_VEC p1o560dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dx); + const CCTK_REAL_VEC p1o560dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dy); + const CCTK_REAL_VEC p1o560dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dz); + const CCTK_REAL_VEC p1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dx); + const CCTK_REAL_VEC p1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dy); + const CCTK_REAL_VEC p1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dz); + const CCTK_REAL_VEC p1o64dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dx); + const CCTK_REAL_VEC p1o64dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dy); + const CCTK_REAL_VEC p1o64dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dz); + const CCTK_REAL_VEC p1o705600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dy,dx)); + const CCTK_REAL_VEC p1o705600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dx)); + const CCTK_REAL_VEC p1o705600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dy)); + const CCTK_REAL_VEC p1o840dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dx); + const CCTK_REAL_VEC p1o840dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dy); + const CCTK_REAL_VEC p1o840dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dz); + const CCTK_REAL_VEC p1odx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dx); + const CCTK_REAL_VEC p1odx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dx,dx)); + const CCTK_REAL_VEC p1ody CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dy); + const CCTK_REAL_VEC p1ody2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dy,dy)); + const CCTK_REAL_VEC p1odz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dz); + const CCTK_REAL_VEC p1odz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dz,dz)); + const CCTK_REAL_VEC pm1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dx); + const CCTK_REAL_VEC pm1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dy); + const CCTK_REAL_VEC pm1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dz); + const CCTK_REAL_VEC pm1o12dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dx,dx)); + const CCTK_REAL_VEC pm1o12dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dy,dy)); + const CCTK_REAL_VEC pm1o12dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dz,dz)); + const CCTK_REAL_VEC pm1o16dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dx); + const CCTK_REAL_VEC pm1o16dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dy); + const CCTK_REAL_VEC pm1o16dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dz); + const CCTK_REAL_VEC pm1o256dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dx); + const CCTK_REAL_VEC pm1o256dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dy); + const CCTK_REAL_VEC pm1o256dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dz); + const CCTK_REAL_VEC pm1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dx); + const CCTK_REAL_VEC pm1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dy); + const CCTK_REAL_VEC pm1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dz); + const CCTK_REAL_VEC pm1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dx); + const CCTK_REAL_VEC pm1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dy); + const CCTK_REAL_VEC pm1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dz); + const CCTK_REAL_VEC pm1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dx); + const CCTK_REAL_VEC pm1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dy); + const CCTK_REAL_VEC pm1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dz); /* Jacobian variable pointers */ - bool const use_jacobian CCTK_ATTRIBUTE_UNUSED = (!CCTK_IsFunctionAliased("MultiPatch_GetMap") || MultiPatch_GetMap(cctkGH) != jacobian_identity_map) - && strlen(jacobian_group) > 0; - if (use_jacobian && strlen(jacobian_derivative_group) == 0) + const bool use_jacobian1 = (!CCTK_IsFunctionAliased("MultiPatch_GetMap") || MultiPatch_GetMap(cctkGH) != jacobian_identity_map) + && strlen(jacobian_group) > 0; + const bool use_jacobian = assume_use_jacobian>=0 ? assume_use_jacobian : use_jacobian1; + const bool usejacobian CCTK_ATTRIBUTE_UNUSED = use_jacobian; + if (use_jacobian && (strlen(jacobian_determinant_group) == 0 || strlen(jacobian_inverse_group) == 0 || strlen(jacobian_derivative_group) == 0)) { - CCTK_WARN (1, "GenericFD::jacobian_group and GenericFD::jacobian_derivative_group must both be set to valid group names"); + CCTK_WARN(1, "GenericFD::jacobian_group, GenericFD::jacobian_determinant_group, GenericFD::jacobian_inverse_group, and GenericFD::jacobian_derivative_group must all be set to valid group names"); } - CCTK_REAL const *restrict jacobian_ptrs[9]; + const CCTK_REAL* restrict jacobian_ptrs[9]; if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_group, 9, jacobian_ptrs); - CCTK_REAL const *restrict const J11 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[0] : 0; - CCTK_REAL const *restrict const J12 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[1] : 0; - CCTK_REAL const *restrict const J13 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[2] : 0; - CCTK_REAL const *restrict const J21 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[3] : 0; - CCTK_REAL const *restrict const J22 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[4] : 0; - CCTK_REAL const *restrict const J23 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[5] : 0; - CCTK_REAL const *restrict const J31 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[6] : 0; - CCTK_REAL const *restrict const J32 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[7] : 0; - CCTK_REAL const *restrict const J33 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[8] : 0; + const CCTK_REAL* restrict const J11 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[0] : 0; + const CCTK_REAL* restrict const J12 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[1] : 0; + const CCTK_REAL* restrict const J13 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[2] : 0; + const CCTK_REAL* restrict const J21 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[3] : 0; + const CCTK_REAL* restrict const J22 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[4] : 0; + const CCTK_REAL* restrict const J23 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[5] : 0; + const CCTK_REAL* restrict const J31 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[6] : 0; + const CCTK_REAL* restrict const J32 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[7] : 0; + const CCTK_REAL* restrict const J33 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[8] : 0; + + const CCTK_REAL* restrict jacobian_determinant_ptrs[1] CCTK_ATTRIBUTE_UNUSED; + if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_determinant_group, + 1, jacobian_determinant_ptrs); + + const CCTK_REAL* restrict const detJ CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[0] : 0; - CCTK_REAL const *restrict jacobian_derivative_ptrs[18] CCTK_ATTRIBUTE_UNUSED; + const CCTK_REAL* restrict jacobian_inverse_ptrs[9] CCTK_ATTRIBUTE_UNUSED; + if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_inverse_group, + 9, jacobian_inverse_ptrs); + + const CCTK_REAL* restrict const iJ11 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[0] : 0; + const CCTK_REAL* restrict const iJ12 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[1] : 0; + const CCTK_REAL* restrict const iJ13 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[2] : 0; + const CCTK_REAL* restrict const iJ21 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[3] : 0; + const CCTK_REAL* restrict const iJ22 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[4] : 0; + const CCTK_REAL* restrict const iJ23 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[5] : 0; + const CCTK_REAL* restrict const iJ31 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[6] : 0; + const CCTK_REAL* restrict const iJ32 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[7] : 0; + const CCTK_REAL* restrict const iJ33 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[8] : 0; + + const CCTK_REAL* restrict jacobian_derivative_ptrs[18] CCTK_ATTRIBUTE_UNUSED; if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_derivative_group, 18, jacobian_derivative_ptrs); - CCTK_REAL const *restrict const dJ111 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[0] : 0; - CCTK_REAL const *restrict const dJ112 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[1] : 0; - CCTK_REAL const *restrict const dJ113 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[2] : 0; - CCTK_REAL const *restrict const dJ122 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[3] : 0; - CCTK_REAL const *restrict const dJ123 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[4] : 0; - CCTK_REAL const *restrict const dJ133 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[5] : 0; - CCTK_REAL const *restrict const dJ211 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[6] : 0; - CCTK_REAL const *restrict const dJ212 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[7] : 0; - CCTK_REAL const *restrict const dJ213 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[8] : 0; - CCTK_REAL const *restrict const dJ222 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[9] : 0; - CCTK_REAL const *restrict const dJ223 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[10] : 0; - CCTK_REAL const *restrict const dJ233 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[11] : 0; - CCTK_REAL const *restrict const dJ311 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[12] : 0; - CCTK_REAL const *restrict const dJ312 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[13] : 0; - CCTK_REAL const *restrict const dJ313 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[14] : 0; - CCTK_REAL const *restrict const dJ322 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[15] : 0; - CCTK_REAL const *restrict const dJ323 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[16] : 0; - CCTK_REAL const *restrict const dJ333 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[17] : 0; + const CCTK_REAL* restrict const dJ111 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[0] : 0; + const CCTK_REAL* restrict const dJ112 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[1] : 0; + const CCTK_REAL* restrict const dJ113 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[2] : 0; + const CCTK_REAL* restrict const dJ122 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[3] : 0; + const CCTK_REAL* restrict const dJ123 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[4] : 0; + const CCTK_REAL* restrict const dJ133 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[5] : 0; + const CCTK_REAL* restrict const dJ211 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[6] : 0; + const CCTK_REAL* restrict const dJ212 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[7] : 0; + const CCTK_REAL* restrict const dJ213 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[8] : 0; + const CCTK_REAL* restrict const dJ222 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[9] : 0; + const CCTK_REAL* restrict const dJ223 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[10] : 0; + const CCTK_REAL* restrict const dJ233 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[11] : 0; + const CCTK_REAL* restrict const dJ311 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[12] : 0; + const CCTK_REAL* restrict const dJ312 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[13] : 0; + const CCTK_REAL* restrict const dJ313 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[14] : 0; + const CCTK_REAL* restrict const dJ322 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[15] : 0; + const CCTK_REAL* restrict const dJ323 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[16] : 0; + const CCTK_REAL* restrict const dJ333 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[17] : 0; /* Assign local copies of arrays functions */ @@ -214,13 +238,20 @@ static void ML_CCZ4_constraints2_Body(cGH const * restrict const cctkGH, int con /* Copy local copies back to grid functions */ /* Loop over the grid points */ - #pragma omp parallel + const int imin0=imin[0]; + const int imin1=imin[1]; + const int imin2=imin[2]; + const int imax0=imax[0]; + const int imax1=imax[1]; + const int imax2=imax[2]; + #pragma omp parallel // reduction(+: vec_iter_counter, vec_op_counter, vec_mem_counter) CCTK_LOOP3STR(ML_CCZ4_constraints2, - i,j,k, imin[0],imin[1],imin[2], imax[0],imax[1],imax[2], + i,j,k, imin0,imin1,imin2, imax0,imax1,imax2, cctk_ash[0],cctk_ash[1],cctk_ash[2], - kimin,kimax, CCTK_REAL_VEC_SIZE) + vecimin,vecimax, CCTK_REAL_VEC_SIZE) { - ptrdiff_t /*const*/ index CCTK_ATTRIBUTE_UNUSED = di*i + dj*j + dk*k; + const ptrdiff_t index CCTK_ATTRIBUTE_UNUSED = di*i + dj*j + dk*k; + // vec_iter_counter+=CCTK_REAL_VEC_SIZE; /* Assign local copies of grid functions */ @@ -248,7 +279,7 @@ static void ML_CCZ4_constraints2_Body(cGH const * restrict const cctkGH, int con CCTK_REAL_VEC eTtxL, eTtyL, eTtzL, eTxxL, eTxyL, eTxzL, eTyyL, eTyzL, eTzzL CCTK_ATTRIBUTE_UNUSED ; - if (*stress_energy_state) + if (assume_stress_energy_state>=0 ? assume_stress_energy_state : *stress_energy_state) { eTtxL = vec_load(eTtx[index]); eTtyL = vec_load(eTty[index]); @@ -309,103 +340,104 @@ static void ML_CCZ4_constraints2_Body(cGH const * restrict const cctkGH, int con /* Include user supplied include files */ /* Precompute derivatives */ - CCTK_REAL_VEC PDstandardNth1At11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth2At11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth3At11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth1At12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth2At12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth3At12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth1At13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth2At13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth3At13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth1At22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth2At22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth3At22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth1At23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth2At23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth3At23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth1At33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth2At33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth3At33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth1gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth2gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth3gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth11gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth22gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth33gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth12gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth13gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth23gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth1gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth2gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth3gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth11gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth22gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth33gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth12gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth13gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth23gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth1gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth2gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth3gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth11gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth22gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth33gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth12gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth13gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth23gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth1gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth2gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth3gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth11gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth22gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth33gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth12gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth13gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth23gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth1gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth2gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth3gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth11gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth22gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth33gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth12gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth13gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth23gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth1gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth2gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth3gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth11gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth22gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth33gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth12gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth13gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth23gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth1phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth2phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth3phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth11phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth22phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth33phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth12phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth13phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth23phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth1trK CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth2trK CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth3trK CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth1Xt1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth2Xt1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth3Xt1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth1Xt2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth2Xt2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth3Xt2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth1Xt3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth2Xt3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth3Xt3 CCTK_ATTRIBUTE_UNUSED ; - - switch(fdOrder) + CCTK_REAL_VEC PDstandardNth1At11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2At11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3At11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1At12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2At12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3At12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1At13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2At13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3At13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1At22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2At22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3At22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1At23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2At23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3At23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1At33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2At33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3At33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth11gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth22gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth33gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth12gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth13gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth23gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth11gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth22gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth33gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth12gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth13gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth23gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth11gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth22gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth33gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth12gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth13gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth23gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth11gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth22gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth33gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth12gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth13gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth23gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth11gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth22gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth33gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth12gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth13gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth23gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth11gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth22gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth33gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth12gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth13gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth23gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth11phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth22phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth33phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth12phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth13phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth23phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1trK CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2trK CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3trK CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1Xt1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2Xt1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3Xt1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1Xt2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2Xt2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3Xt2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1Xt3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2Xt3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3Xt3 CCTK_ATTRIBUTE_UNUSED; + + switch (fdOrder) { case 2: + { PDstandardNth1At11 = PDstandardNthfdOrder21(&At11[index]); PDstandardNth2At11 = PDstandardNthfdOrder22(&At11[index]); PDstandardNth3At11 = PDstandardNthfdOrder23(&At11[index]); @@ -500,8 +532,10 @@ static void ML_CCZ4_constraints2_Body(cGH const * restrict const cctkGH, int con PDstandardNth2Xt3 = PDstandardNthfdOrder22(&Xt3[index]); PDstandardNth3Xt3 = PDstandardNthfdOrder23(&Xt3[index]); break; + } case 4: + { PDstandardNth1At11 = PDstandardNthfdOrder41(&At11[index]); PDstandardNth2At11 = PDstandardNthfdOrder42(&At11[index]); PDstandardNth3At11 = PDstandardNthfdOrder43(&At11[index]); @@ -596,8 +630,10 @@ static void ML_CCZ4_constraints2_Body(cGH const * restrict const cctkGH, int con PDstandardNth2Xt3 = PDstandardNthfdOrder42(&Xt3[index]); PDstandardNth3Xt3 = PDstandardNthfdOrder43(&Xt3[index]); break; + } case 6: + { PDstandardNth1At11 = PDstandardNthfdOrder61(&At11[index]); PDstandardNth2At11 = PDstandardNthfdOrder62(&At11[index]); PDstandardNth3At11 = PDstandardNthfdOrder63(&At11[index]); @@ -692,8 +728,10 @@ static void ML_CCZ4_constraints2_Body(cGH const * restrict const cctkGH, int con PDstandardNth2Xt3 = PDstandardNthfdOrder62(&Xt3[index]); PDstandardNth3Xt3 = PDstandardNthfdOrder63(&Xt3[index]); break; + } case 8: + { PDstandardNth1At11 = PDstandardNthfdOrder81(&At11[index]); PDstandardNth2At11 = PDstandardNthfdOrder82(&At11[index]); PDstandardNth3At11 = PDstandardNthfdOrder83(&At11[index]); @@ -788,120 +826,123 @@ static void ML_CCZ4_constraints2_Body(cGH const * restrict const cctkGH, int con PDstandardNth2Xt3 = PDstandardNthfdOrder82(&Xt3[index]); PDstandardNth3Xt3 = PDstandardNthfdOrder83(&Xt3[index]); break; + } + default: + CCTK_BUILTIN_UNREACHABLE(); } /* Calculate temporaries and grid functions */ - CCTK_REAL_VEC JacPDstandardNth11gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth11gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth11gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth11gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth11gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth11gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth11phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth12gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth12gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth12gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth12gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth12gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth12gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth12phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth13gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth13gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth13gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth13gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth13gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth13gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth13phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth1At11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth1At12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth1At13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth1At22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth1At23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth1At33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth1gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth1gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth1gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth1gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth1gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth1gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth1phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth1trK CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth1Xt1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth1Xt2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth1Xt3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth21gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth21gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth21gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth21gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth21gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth21gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth22gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth22gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth22gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth22gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth22gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth22gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth22phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth23gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth23gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth23gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth23gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth23gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth23gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth23phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth2At11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth2At12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth2At13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth2At22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth2At23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth2At33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth2gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth2gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth2gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth2gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth2gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth2gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth2phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth2trK CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth2Xt1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth2Xt2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth2Xt3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth31gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth31gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth31gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth31gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth31gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth31gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth32gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth32gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth32gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth32gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth32gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth32gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth33gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth33gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth33gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth33gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth33gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth33gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth33phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth3At11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth3At12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth3At13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth3At22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth3At23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth3At33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth3gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth3gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth3gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth3gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth3gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth3gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth3phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth3trK CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth3Xt1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth3Xt2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth3Xt3 CCTK_ATTRIBUTE_UNUSED ; + CCTK_REAL_VEC JacPDstandardNth11gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth11gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth11gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth11gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth11gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth11gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth11phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth12gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth12gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth12gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth12gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth12gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth12gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth12phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth13gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth13gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth13gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth13gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth13gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth13gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth13phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1At11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1At12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1At13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1At22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1At23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1At33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1trK CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1Xt1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1Xt2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1Xt3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth21gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth21gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth21gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth21gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth21gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth21gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth22gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth22gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth22gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth22gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth22gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth22gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth22phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth23gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth23gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth23gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth23gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth23gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth23gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth23phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2At11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2At12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2At13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2At22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2At23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2At33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2trK CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2Xt1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2Xt2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2Xt3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth31gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth31gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth31gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth31gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth31gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth31gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth32gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth32gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth32gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth32gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth32gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth32gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth33gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth33gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth33gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth33gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth33gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth33gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth33phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3At11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3At12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3At13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3At22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3At23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3At33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3trK CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3Xt1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3Xt2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3Xt3 CCTK_ATTRIBUTE_UNUSED; if (use_jacobian) { @@ -1059,67 +1100,67 @@ static void ML_CCZ4_constraints2_Body(cGH const * restrict const cctkGH, int con kmadd(J13L,PDstandardNth1Xt3,kmadd(J23L,PDstandardNth2Xt3,kmul(J33L,PDstandardNth3Xt3))); JacPDstandardNth11gt11 = - kmadd(dJ111L,PDstandardNth1gt11,kmadd(dJ211L,PDstandardNth2gt11,kmadd(dJ311L,PDstandardNth3gt11,kmadd(PDstandardNth11gt11,kmul(J11L,J11L),kmadd(PDstandardNth22gt11,kmul(J21L,J21L),kmadd(PDstandardNth33gt11,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12gt11,kmul(J31L,PDstandardNth13gt11)),kmul(J21L,kmul(J31L,PDstandardNth23gt11))),ToReal(2.)))))))); + kmadd(dJ111L,PDstandardNth1gt11,kmadd(dJ211L,PDstandardNth2gt11,kmadd(dJ311L,PDstandardNth3gt11,kmadd(PDstandardNth11gt11,kmul(J11L,J11L),kmadd(PDstandardNth22gt11,kmul(J21L,J21L),kmadd(PDstandardNth33gt11,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12gt11,kmul(J31L,PDstandardNth13gt11)),kmul(J21L,kmul(J31L,PDstandardNth23gt11))),ToReal(2)))))))); JacPDstandardNth11gt12 = - kmadd(dJ111L,PDstandardNth1gt12,kmadd(dJ211L,PDstandardNth2gt12,kmadd(dJ311L,PDstandardNth3gt12,kmadd(PDstandardNth11gt12,kmul(J11L,J11L),kmadd(PDstandardNth22gt12,kmul(J21L,J21L),kmadd(PDstandardNth33gt12,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12gt12,kmul(J31L,PDstandardNth13gt12)),kmul(J21L,kmul(J31L,PDstandardNth23gt12))),ToReal(2.)))))))); + kmadd(dJ111L,PDstandardNth1gt12,kmadd(dJ211L,PDstandardNth2gt12,kmadd(dJ311L,PDstandardNth3gt12,kmadd(PDstandardNth11gt12,kmul(J11L,J11L),kmadd(PDstandardNth22gt12,kmul(J21L,J21L),kmadd(PDstandardNth33gt12,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12gt12,kmul(J31L,PDstandardNth13gt12)),kmul(J21L,kmul(J31L,PDstandardNth23gt12))),ToReal(2)))))))); JacPDstandardNth11gt13 = - kmadd(dJ111L,PDstandardNth1gt13,kmadd(dJ211L,PDstandardNth2gt13,kmadd(dJ311L,PDstandardNth3gt13,kmadd(PDstandardNth11gt13,kmul(J11L,J11L),kmadd(PDstandardNth22gt13,kmul(J21L,J21L),kmadd(PDstandardNth33gt13,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12gt13,kmul(J31L,PDstandardNth13gt13)),kmul(J21L,kmul(J31L,PDstandardNth23gt13))),ToReal(2.)))))))); + kmadd(dJ111L,PDstandardNth1gt13,kmadd(dJ211L,PDstandardNth2gt13,kmadd(dJ311L,PDstandardNth3gt13,kmadd(PDstandardNth11gt13,kmul(J11L,J11L),kmadd(PDstandardNth22gt13,kmul(J21L,J21L),kmadd(PDstandardNth33gt13,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12gt13,kmul(J31L,PDstandardNth13gt13)),kmul(J21L,kmul(J31L,PDstandardNth23gt13))),ToReal(2)))))))); JacPDstandardNth11gt22 = - kmadd(dJ111L,PDstandardNth1gt22,kmadd(dJ211L,PDstandardNth2gt22,kmadd(dJ311L,PDstandardNth3gt22,kmadd(PDstandardNth11gt22,kmul(J11L,J11L),kmadd(PDstandardNth22gt22,kmul(J21L,J21L),kmadd(PDstandardNth33gt22,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12gt22,kmul(J31L,PDstandardNth13gt22)),kmul(J21L,kmul(J31L,PDstandardNth23gt22))),ToReal(2.)))))))); + kmadd(dJ111L,PDstandardNth1gt22,kmadd(dJ211L,PDstandardNth2gt22,kmadd(dJ311L,PDstandardNth3gt22,kmadd(PDstandardNth11gt22,kmul(J11L,J11L),kmadd(PDstandardNth22gt22,kmul(J21L,J21L),kmadd(PDstandardNth33gt22,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12gt22,kmul(J31L,PDstandardNth13gt22)),kmul(J21L,kmul(J31L,PDstandardNth23gt22))),ToReal(2)))))))); JacPDstandardNth11gt23 = - kmadd(dJ111L,PDstandardNth1gt23,kmadd(dJ211L,PDstandardNth2gt23,kmadd(dJ311L,PDstandardNth3gt23,kmadd(PDstandardNth11gt23,kmul(J11L,J11L),kmadd(PDstandardNth22gt23,kmul(J21L,J21L),kmadd(PDstandardNth33gt23,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12gt23,kmul(J31L,PDstandardNth13gt23)),kmul(J21L,kmul(J31L,PDstandardNth23gt23))),ToReal(2.)))))))); + kmadd(dJ111L,PDstandardNth1gt23,kmadd(dJ211L,PDstandardNth2gt23,kmadd(dJ311L,PDstandardNth3gt23,kmadd(PDstandardNth11gt23,kmul(J11L,J11L),kmadd(PDstandardNth22gt23,kmul(J21L,J21L),kmadd(PDstandardNth33gt23,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12gt23,kmul(J31L,PDstandardNth13gt23)),kmul(J21L,kmul(J31L,PDstandardNth23gt23))),ToReal(2)))))))); JacPDstandardNth11gt33 = - kmadd(dJ111L,PDstandardNth1gt33,kmadd(dJ211L,PDstandardNth2gt33,kmadd(dJ311L,PDstandardNth3gt33,kmadd(PDstandardNth11gt33,kmul(J11L,J11L),kmadd(PDstandardNth22gt33,kmul(J21L,J21L),kmadd(PDstandardNth33gt33,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12gt33,kmul(J31L,PDstandardNth13gt33)),kmul(J21L,kmul(J31L,PDstandardNth23gt33))),ToReal(2.)))))))); + kmadd(dJ111L,PDstandardNth1gt33,kmadd(dJ211L,PDstandardNth2gt33,kmadd(dJ311L,PDstandardNth3gt33,kmadd(PDstandardNth11gt33,kmul(J11L,J11L),kmadd(PDstandardNth22gt33,kmul(J21L,J21L),kmadd(PDstandardNth33gt33,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12gt33,kmul(J31L,PDstandardNth13gt33)),kmul(J21L,kmul(J31L,PDstandardNth23gt33))),ToReal(2)))))))); JacPDstandardNth11phi = - kmadd(dJ111L,PDstandardNth1phi,kmadd(dJ211L,PDstandardNth2phi,kmadd(dJ311L,PDstandardNth3phi,kmadd(PDstandardNth11phi,kmul(J11L,J11L),kmadd(PDstandardNth22phi,kmul(J21L,J21L),kmadd(PDstandardNth33phi,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12phi,kmul(J31L,PDstandardNth13phi)),kmul(J21L,kmul(J31L,PDstandardNth23phi))),ToReal(2.)))))))); + kmadd(dJ111L,PDstandardNth1phi,kmadd(dJ211L,PDstandardNth2phi,kmadd(dJ311L,PDstandardNth3phi,kmadd(PDstandardNth11phi,kmul(J11L,J11L),kmadd(PDstandardNth22phi,kmul(J21L,J21L),kmadd(PDstandardNth33phi,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12phi,kmul(J31L,PDstandardNth13phi)),kmul(J21L,kmul(J31L,PDstandardNth23phi))),ToReal(2)))))))); JacPDstandardNth22gt11 = - kmadd(dJ122L,PDstandardNth1gt11,kmadd(dJ222L,PDstandardNth2gt11,kmadd(dJ322L,PDstandardNth3gt11,kmadd(PDstandardNth11gt11,kmul(J12L,J12L),kmadd(PDstandardNth22gt11,kmul(J22L,J22L),kmadd(PDstandardNth33gt11,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12gt11,kmul(J32L,PDstandardNth13gt11)),kmul(J22L,kmul(J32L,PDstandardNth23gt11))),ToReal(2.)))))))); + kmadd(dJ122L,PDstandardNth1gt11,kmadd(dJ222L,PDstandardNth2gt11,kmadd(dJ322L,PDstandardNth3gt11,kmadd(PDstandardNth11gt11,kmul(J12L,J12L),kmadd(PDstandardNth22gt11,kmul(J22L,J22L),kmadd(PDstandardNth33gt11,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12gt11,kmul(J32L,PDstandardNth13gt11)),kmul(J22L,kmul(J32L,PDstandardNth23gt11))),ToReal(2)))))))); JacPDstandardNth22gt12 = - kmadd(dJ122L,PDstandardNth1gt12,kmadd(dJ222L,PDstandardNth2gt12,kmadd(dJ322L,PDstandardNth3gt12,kmadd(PDstandardNth11gt12,kmul(J12L,J12L),kmadd(PDstandardNth22gt12,kmul(J22L,J22L),kmadd(PDstandardNth33gt12,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12gt12,kmul(J32L,PDstandardNth13gt12)),kmul(J22L,kmul(J32L,PDstandardNth23gt12))),ToReal(2.)))))))); + kmadd(dJ122L,PDstandardNth1gt12,kmadd(dJ222L,PDstandardNth2gt12,kmadd(dJ322L,PDstandardNth3gt12,kmadd(PDstandardNth11gt12,kmul(J12L,J12L),kmadd(PDstandardNth22gt12,kmul(J22L,J22L),kmadd(PDstandardNth33gt12,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12gt12,kmul(J32L,PDstandardNth13gt12)),kmul(J22L,kmul(J32L,PDstandardNth23gt12))),ToReal(2)))))))); JacPDstandardNth22gt13 = - kmadd(dJ122L,PDstandardNth1gt13,kmadd(dJ222L,PDstandardNth2gt13,kmadd(dJ322L,PDstandardNth3gt13,kmadd(PDstandardNth11gt13,kmul(J12L,J12L),kmadd(PDstandardNth22gt13,kmul(J22L,J22L),kmadd(PDstandardNth33gt13,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12gt13,kmul(J32L,PDstandardNth13gt13)),kmul(J22L,kmul(J32L,PDstandardNth23gt13))),ToReal(2.)))))))); + kmadd(dJ122L,PDstandardNth1gt13,kmadd(dJ222L,PDstandardNth2gt13,kmadd(dJ322L,PDstandardNth3gt13,kmadd(PDstandardNth11gt13,kmul(J12L,J12L),kmadd(PDstandardNth22gt13,kmul(J22L,J22L),kmadd(PDstandardNth33gt13,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12gt13,kmul(J32L,PDstandardNth13gt13)),kmul(J22L,kmul(J32L,PDstandardNth23gt13))),ToReal(2)))))))); JacPDstandardNth22gt22 = - kmadd(dJ122L,PDstandardNth1gt22,kmadd(dJ222L,PDstandardNth2gt22,kmadd(dJ322L,PDstandardNth3gt22,kmadd(PDstandardNth11gt22,kmul(J12L,J12L),kmadd(PDstandardNth22gt22,kmul(J22L,J22L),kmadd(PDstandardNth33gt22,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12gt22,kmul(J32L,PDstandardNth13gt22)),kmul(J22L,kmul(J32L,PDstandardNth23gt22))),ToReal(2.)))))))); + kmadd(dJ122L,PDstandardNth1gt22,kmadd(dJ222L,PDstandardNth2gt22,kmadd(dJ322L,PDstandardNth3gt22,kmadd(PDstandardNth11gt22,kmul(J12L,J12L),kmadd(PDstandardNth22gt22,kmul(J22L,J22L),kmadd(PDstandardNth33gt22,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12gt22,kmul(J32L,PDstandardNth13gt22)),kmul(J22L,kmul(J32L,PDstandardNth23gt22))),ToReal(2)))))))); JacPDstandardNth22gt23 = - kmadd(dJ122L,PDstandardNth1gt23,kmadd(dJ222L,PDstandardNth2gt23,kmadd(dJ322L,PDstandardNth3gt23,kmadd(PDstandardNth11gt23,kmul(J12L,J12L),kmadd(PDstandardNth22gt23,kmul(J22L,J22L),kmadd(PDstandardNth33gt23,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12gt23,kmul(J32L,PDstandardNth13gt23)),kmul(J22L,kmul(J32L,PDstandardNth23gt23))),ToReal(2.)))))))); + kmadd(dJ122L,PDstandardNth1gt23,kmadd(dJ222L,PDstandardNth2gt23,kmadd(dJ322L,PDstandardNth3gt23,kmadd(PDstandardNth11gt23,kmul(J12L,J12L),kmadd(PDstandardNth22gt23,kmul(J22L,J22L),kmadd(PDstandardNth33gt23,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12gt23,kmul(J32L,PDstandardNth13gt23)),kmul(J22L,kmul(J32L,PDstandardNth23gt23))),ToReal(2)))))))); JacPDstandardNth22gt33 = - kmadd(dJ122L,PDstandardNth1gt33,kmadd(dJ222L,PDstandardNth2gt33,kmadd(dJ322L,PDstandardNth3gt33,kmadd(PDstandardNth11gt33,kmul(J12L,J12L),kmadd(PDstandardNth22gt33,kmul(J22L,J22L),kmadd(PDstandardNth33gt33,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12gt33,kmul(J32L,PDstandardNth13gt33)),kmul(J22L,kmul(J32L,PDstandardNth23gt33))),ToReal(2.)))))))); + kmadd(dJ122L,PDstandardNth1gt33,kmadd(dJ222L,PDstandardNth2gt33,kmadd(dJ322L,PDstandardNth3gt33,kmadd(PDstandardNth11gt33,kmul(J12L,J12L),kmadd(PDstandardNth22gt33,kmul(J22L,J22L),kmadd(PDstandardNth33gt33,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12gt33,kmul(J32L,PDstandardNth13gt33)),kmul(J22L,kmul(J32L,PDstandardNth23gt33))),ToReal(2)))))))); JacPDstandardNth22phi = - kmadd(dJ122L,PDstandardNth1phi,kmadd(dJ222L,PDstandardNth2phi,kmadd(dJ322L,PDstandardNth3phi,kmadd(PDstandardNth11phi,kmul(J12L,J12L),kmadd(PDstandardNth22phi,kmul(J22L,J22L),kmadd(PDstandardNth33phi,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12phi,kmul(J32L,PDstandardNth13phi)),kmul(J22L,kmul(J32L,PDstandardNth23phi))),ToReal(2.)))))))); + kmadd(dJ122L,PDstandardNth1phi,kmadd(dJ222L,PDstandardNth2phi,kmadd(dJ322L,PDstandardNth3phi,kmadd(PDstandardNth11phi,kmul(J12L,J12L),kmadd(PDstandardNth22phi,kmul(J22L,J22L),kmadd(PDstandardNth33phi,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12phi,kmul(J32L,PDstandardNth13phi)),kmul(J22L,kmul(J32L,PDstandardNth23phi))),ToReal(2)))))))); JacPDstandardNth33gt11 = - kmadd(dJ133L,PDstandardNth1gt11,kmadd(dJ233L,PDstandardNth2gt11,kmadd(dJ333L,PDstandardNth3gt11,kmadd(PDstandardNth11gt11,kmul(J13L,J13L),kmadd(PDstandardNth22gt11,kmul(J23L,J23L),kmadd(PDstandardNth33gt11,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12gt11,kmul(J33L,PDstandardNth13gt11)),kmul(J23L,kmul(J33L,PDstandardNth23gt11))),ToReal(2.)))))))); + kmadd(dJ133L,PDstandardNth1gt11,kmadd(dJ233L,PDstandardNth2gt11,kmadd(dJ333L,PDstandardNth3gt11,kmadd(PDstandardNth11gt11,kmul(J13L,J13L),kmadd(PDstandardNth22gt11,kmul(J23L,J23L),kmadd(PDstandardNth33gt11,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12gt11,kmul(J33L,PDstandardNth13gt11)),kmul(J23L,kmul(J33L,PDstandardNth23gt11))),ToReal(2)))))))); JacPDstandardNth33gt12 = - kmadd(dJ133L,PDstandardNth1gt12,kmadd(dJ233L,PDstandardNth2gt12,kmadd(dJ333L,PDstandardNth3gt12,kmadd(PDstandardNth11gt12,kmul(J13L,J13L),kmadd(PDstandardNth22gt12,kmul(J23L,J23L),kmadd(PDstandardNth33gt12,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12gt12,kmul(J33L,PDstandardNth13gt12)),kmul(J23L,kmul(J33L,PDstandardNth23gt12))),ToReal(2.)))))))); + kmadd(dJ133L,PDstandardNth1gt12,kmadd(dJ233L,PDstandardNth2gt12,kmadd(dJ333L,PDstandardNth3gt12,kmadd(PDstandardNth11gt12,kmul(J13L,J13L),kmadd(PDstandardNth22gt12,kmul(J23L,J23L),kmadd(PDstandardNth33gt12,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12gt12,kmul(J33L,PDstandardNth13gt12)),kmul(J23L,kmul(J33L,PDstandardNth23gt12))),ToReal(2)))))))); JacPDstandardNth33gt13 = - kmadd(dJ133L,PDstandardNth1gt13,kmadd(dJ233L,PDstandardNth2gt13,kmadd(dJ333L,PDstandardNth3gt13,kmadd(PDstandardNth11gt13,kmul(J13L,J13L),kmadd(PDstandardNth22gt13,kmul(J23L,J23L),kmadd(PDstandardNth33gt13,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12gt13,kmul(J33L,PDstandardNth13gt13)),kmul(J23L,kmul(J33L,PDstandardNth23gt13))),ToReal(2.)))))))); + kmadd(dJ133L,PDstandardNth1gt13,kmadd(dJ233L,PDstandardNth2gt13,kmadd(dJ333L,PDstandardNth3gt13,kmadd(PDstandardNth11gt13,kmul(J13L,J13L),kmadd(PDstandardNth22gt13,kmul(J23L,J23L),kmadd(PDstandardNth33gt13,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12gt13,kmul(J33L,PDstandardNth13gt13)),kmul(J23L,kmul(J33L,PDstandardNth23gt13))),ToReal(2)))))))); JacPDstandardNth33gt22 = - kmadd(dJ133L,PDstandardNth1gt22,kmadd(dJ233L,PDstandardNth2gt22,kmadd(dJ333L,PDstandardNth3gt22,kmadd(PDstandardNth11gt22,kmul(J13L,J13L),kmadd(PDstandardNth22gt22,kmul(J23L,J23L),kmadd(PDstandardNth33gt22,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12gt22,kmul(J33L,PDstandardNth13gt22)),kmul(J23L,kmul(J33L,PDstandardNth23gt22))),ToReal(2.)))))))); + kmadd(dJ133L,PDstandardNth1gt22,kmadd(dJ233L,PDstandardNth2gt22,kmadd(dJ333L,PDstandardNth3gt22,kmadd(PDstandardNth11gt22,kmul(J13L,J13L),kmadd(PDstandardNth22gt22,kmul(J23L,J23L),kmadd(PDstandardNth33gt22,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12gt22,kmul(J33L,PDstandardNth13gt22)),kmul(J23L,kmul(J33L,PDstandardNth23gt22))),ToReal(2)))))))); JacPDstandardNth33gt23 = - kmadd(dJ133L,PDstandardNth1gt23,kmadd(dJ233L,PDstandardNth2gt23,kmadd(dJ333L,PDstandardNth3gt23,kmadd(PDstandardNth11gt23,kmul(J13L,J13L),kmadd(PDstandardNth22gt23,kmul(J23L,J23L),kmadd(PDstandardNth33gt23,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12gt23,kmul(J33L,PDstandardNth13gt23)),kmul(J23L,kmul(J33L,PDstandardNth23gt23))),ToReal(2.)))))))); + kmadd(dJ133L,PDstandardNth1gt23,kmadd(dJ233L,PDstandardNth2gt23,kmadd(dJ333L,PDstandardNth3gt23,kmadd(PDstandardNth11gt23,kmul(J13L,J13L),kmadd(PDstandardNth22gt23,kmul(J23L,J23L),kmadd(PDstandardNth33gt23,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12gt23,kmul(J33L,PDstandardNth13gt23)),kmul(J23L,kmul(J33L,PDstandardNth23gt23))),ToReal(2)))))))); JacPDstandardNth33gt33 = - kmadd(dJ133L,PDstandardNth1gt33,kmadd(dJ233L,PDstandardNth2gt33,kmadd(dJ333L,PDstandardNth3gt33,kmadd(PDstandardNth11gt33,kmul(J13L,J13L),kmadd(PDstandardNth22gt33,kmul(J23L,J23L),kmadd(PDstandardNth33gt33,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12gt33,kmul(J33L,PDstandardNth13gt33)),kmul(J23L,kmul(J33L,PDstandardNth23gt33))),ToReal(2.)))))))); + kmadd(dJ133L,PDstandardNth1gt33,kmadd(dJ233L,PDstandardNth2gt33,kmadd(dJ333L,PDstandardNth3gt33,kmadd(PDstandardNth11gt33,kmul(J13L,J13L),kmadd(PDstandardNth22gt33,kmul(J23L,J23L),kmadd(PDstandardNth33gt33,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12gt33,kmul(J33L,PDstandardNth13gt33)),kmul(J23L,kmul(J33L,PDstandardNth23gt33))),ToReal(2)))))))); JacPDstandardNth33phi = - kmadd(dJ133L,PDstandardNth1phi,kmadd(dJ233L,PDstandardNth2phi,kmadd(dJ333L,PDstandardNth3phi,kmadd(PDstandardNth11phi,kmul(J13L,J13L),kmadd(PDstandardNth22phi,kmul(J23L,J23L),kmadd(PDstandardNth33phi,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12phi,kmul(J33L,PDstandardNth13phi)),kmul(J23L,kmul(J33L,PDstandardNth23phi))),ToReal(2.)))))))); + kmadd(dJ133L,PDstandardNth1phi,kmadd(dJ233L,PDstandardNth2phi,kmadd(dJ333L,PDstandardNth3phi,kmadd(PDstandardNth11phi,kmul(J13L,J13L),kmadd(PDstandardNth22phi,kmul(J23L,J23L),kmadd(PDstandardNth33phi,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12phi,kmul(J33L,PDstandardNth13phi)),kmul(J23L,kmul(J33L,PDstandardNth23phi))),ToReal(2)))))))); JacPDstandardNth12gt11 = kmadd(J12L,kmadd(J11L,PDstandardNth11gt11,kmadd(J21L,PDstandardNth12gt11,kmul(J31L,PDstandardNth13gt11))),kmadd(J11L,kmadd(J22L,PDstandardNth12gt11,kmul(J32L,PDstandardNth13gt11)),kmadd(dJ112L,PDstandardNth1gt11,kmadd(J22L,kmadd(J21L,PDstandardNth22gt11,kmul(J31L,PDstandardNth23gt11)),kmadd(dJ212L,PDstandardNth2gt11,kmadd(J32L,kmadd(J21L,PDstandardNth23gt11,kmul(J31L,PDstandardNth33gt11)),kmul(dJ312L,PDstandardNth3gt11))))))); @@ -1463,25 +1504,25 @@ static void ML_CCZ4_constraints2_Body(cGH const * restrict const cctkGH, int con JacPDstandardNth32gt33 = PDstandardNth23gt33; } - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED detgt = ToReal(1.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED detgt = ToReal(1); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gtu11 = - kdiv(kmadd(gt22L,gt33L,kmul(kmul(gt23L,gt23L),ToReal(-1.))),detgt); + kdiv(kmsub(gt22L,gt33L,kmul(gt23L,gt23L)),detgt); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gtu12 = - kdiv(kmadd(gt13L,gt23L,kmul(gt12L,kmul(gt33L,ToReal(-1.)))),detgt); + kdiv(kmsub(gt13L,gt23L,kmul(gt12L,gt33L)),detgt); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gtu13 = - kdiv(kmadd(gt12L,gt23L,kmul(gt13L,kmul(gt22L,ToReal(-1.)))),detgt); + kdiv(kmsub(gt12L,gt23L,kmul(gt13L,gt22L)),detgt); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gtu22 = - kdiv(kmadd(gt11L,gt33L,kmul(kmul(gt13L,gt13L),ToReal(-1.))),detgt); + kdiv(kmsub(gt11L,gt33L,kmul(gt13L,gt13L)),detgt); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gtu23 = - kdiv(kmadd(gt12L,gt13L,kmul(gt11L,kmul(gt23L,ToReal(-1.)))),detgt); + kdiv(kmsub(gt12L,gt13L,kmul(gt11L,gt23L)),detgt); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gtu33 = - kdiv(kmadd(gt11L,gt22L,kmul(kmul(gt12L,gt12L),ToReal(-1.))),detgt); + kdiv(kmsub(gt11L,gt22L,kmul(gt12L,gt12L)),detgt); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Gtl111 = kmul(JacPDstandardNth1gt11,ToReal(0.5)); @@ -1496,7 +1537,7 @@ static void ML_CCZ4_constraints2_Body(cGH const * restrict const cctkGH, int con kmadd(JacPDstandardNth1gt22,ToReal(-0.5),JacPDstandardNth2gt12); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Gtl123 = - kmul(kadd(JacPDstandardNth2gt13,kmadd(JacPDstandardNth1gt23,ToReal(-1.),JacPDstandardNth3gt12)),ToReal(0.5)); + kmul(kadd(JacPDstandardNth2gt13,ksub(JacPDstandardNth3gt12,JacPDstandardNth1gt23)),ToReal(0.5)); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Gtl133 = kmadd(JacPDstandardNth1gt33,ToReal(-0.5),JacPDstandardNth3gt13); @@ -1508,7 +1549,7 @@ static void ML_CCZ4_constraints2_Body(cGH const * restrict const cctkGH, int con kmul(JacPDstandardNth1gt22,ToReal(0.5)); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Gtl213 = - kmul(kadd(JacPDstandardNth1gt23,kmadd(JacPDstandardNth2gt13,ToReal(-1.),JacPDstandardNth3gt12)),ToReal(0.5)); + kmul(kadd(JacPDstandardNth1gt23,ksub(JacPDstandardNth3gt12,JacPDstandardNth2gt13)),ToReal(0.5)); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Gtl222 = kmul(JacPDstandardNth2gt22,ToReal(0.5)); @@ -1523,7 +1564,7 @@ static void ML_CCZ4_constraints2_Body(cGH const * restrict const cctkGH, int con kmadd(JacPDstandardNth3gt11,ToReal(-0.5),JacPDstandardNth1gt13); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Gtl312 = - kmul(kadd(JacPDstandardNth1gt23,kmadd(JacPDstandardNth3gt12,ToReal(-1.),JacPDstandardNth2gt13)),ToReal(0.5)); + kmul(kadd(JacPDstandardNth1gt23,ksub(JacPDstandardNth2gt13,JacPDstandardNth3gt12)),ToReal(0.5)); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Gtl313 = kmul(JacPDstandardNth1gt33,ToReal(0.5)); @@ -1673,16 +1714,16 @@ static void ML_CCZ4_constraints2_Body(cGH const * restrict const cctkGH, int con kmadd(Gtl133,gtu13,kmadd(Gtl233,gtu23,kmul(Gtl333,gtu33))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Xtn1 = - kmadd(Gt111,gtu11,kmadd(Gt122,gtu22,kmadd(Gt133,gtu33,kmul(kmadd(Gt112,gtu12,kmadd(Gt113,gtu13,kmul(Gt123,gtu23))),ToReal(2.))))); + kmadd(Gt111,gtu11,kmadd(Gt122,gtu22,kmadd(Gt133,gtu33,kmul(kmadd(Gt112,gtu12,kmadd(Gt113,gtu13,kmul(Gt123,gtu23))),ToReal(2))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Xtn2 = - kmadd(Gt211,gtu11,kmadd(Gt222,gtu22,kmadd(Gt233,gtu33,kmul(kmadd(Gt212,gtu12,kmadd(Gt213,gtu13,kmul(Gt223,gtu23))),ToReal(2.))))); + kmadd(Gt211,gtu11,kmadd(Gt222,gtu22,kmadd(Gt233,gtu33,kmul(kmadd(Gt212,gtu12,kmadd(Gt213,gtu13,kmul(Gt223,gtu23))),ToReal(2))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Xtn3 = - kmadd(Gt311,gtu11,kmadd(Gt322,gtu22,kmadd(Gt333,gtu33,kmul(kmadd(Gt312,gtu12,kmadd(Gt313,gtu13,kmul(Gt323,gtu23))),ToReal(2.))))); + kmadd(Gt311,gtu11,kmadd(Gt322,gtu22,kmadd(Gt333,gtu33,kmul(kmadd(Gt312,gtu12,kmadd(Gt313,gtu13,kmul(Gt323,gtu23))),ToReal(2))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED e4phi = IfThen(conformalMethod == - 1.,kdiv(ToReal(1),kmul(phiL,phiL)),kexp(kmul(phiL,ToReal(4.)))); + 1,kdiv(ToReal(1),kmul(phiL,phiL)),kexp(kmul(phiL,ToReal(4)))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED em4phi = kdiv(ToReal(1),e4phi); @@ -1711,34 +1752,34 @@ static void ML_CCZ4_constraints2_Body(cGH const * restrict const cctkGH, int con CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gu33 = kmul(em4phi,gtu33); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Z1 = - kmul(kmadd(gu11,kmadd(gtu11,JacPDstandardNth1gt11,kmadd(gtu12,kadd(JacPDstandardNth1gt12,JacPDstandardNth2gt11),kmadd(gtu22,JacPDstandardNth2gt12,kmadd(gtu13,kadd(JacPDstandardNth1gt13,JacPDstandardNth3gt11),kmadd(gtu23,kadd(JacPDstandardNth2gt13,JacPDstandardNth3gt12),kmadd(gtu33,JacPDstandardNth3gt13,kmul(kmadd(gt11L,Xt1L,kmadd(gt12L,Xt2L,kmul(gt13L,Xt3L))),ToReal(-1.)))))))),kmadd(gu12,kmadd(gtu11,JacPDstandardNth1gt12,kmadd(gtu12,kadd(JacPDstandardNth1gt22,JacPDstandardNth2gt12),kmadd(gtu22,JacPDstandardNth2gt22,kmadd(gtu13,kadd(JacPDstandardNth1gt23,JacPDstandardNth3gt12),kmadd(gtu23,kadd(JacPDstandardNth2gt23,JacPDstandardNth3gt22),kmadd(gtu33,JacPDstandardNth3gt23,kmul(kmadd(gt12L,Xt1L,kmadd(gt22L,Xt2L,kmul(gt23L,Xt3L))),ToReal(-1.)))))))),kmul(gu13,kmadd(gtu11,JacPDstandardNth1gt13,kmadd(gtu12,kadd(JacPDstandardNth1gt23,JacPDstandardNth2gt13),kmadd(gtu22,JacPDstandardNth2gt23,kmadd(gtu13,kadd(JacPDstandardNth1gt33,JacPDstandardNth3gt13),kmadd(gtu23,kadd(JacPDstandardNth2gt33,JacPDstandardNth3gt23),kmadd(gtu33,JacPDstandardNth3gt33,kmul(kmadd(gt13L,Xt1L,kmadd(gt23L,Xt2L,kmul(gt33L,Xt3L))),ToReal(-1.))))))))))),ToReal(-0.5)); + kneg(kmul(kmadd(gu11,kmadd(gtu11,JacPDstandardNth1gt11,kmadd(gtu13,JacPDstandardNth1gt13,kmadd(gtu12,kadd(JacPDstandardNth1gt12,JacPDstandardNth2gt11),kmadd(gtu22,JacPDstandardNth2gt12,kmadd(gtu23,JacPDstandardNth2gt13,kmadd(gtu13,JacPDstandardNth3gt11,kmadd(gtu23,JacPDstandardNth3gt12,kmsub(gtu33,JacPDstandardNth3gt13,kmadd(gt11L,Xt1L,kmadd(gt13L,Xt3L,kmul(gt12L,Xt2L))))))))))),kmadd(gu13,kmadd(gtu11,JacPDstandardNth1gt13,kmadd(gtu13,JacPDstandardNth1gt33,kmadd(gtu12,kadd(JacPDstandardNth1gt23,JacPDstandardNth2gt13),kmadd(gtu22,JacPDstandardNth2gt23,kmadd(gtu23,JacPDstandardNth2gt33,kmadd(gtu13,JacPDstandardNth3gt13,kmadd(gtu23,JacPDstandardNth3gt23,kmsub(gtu33,JacPDstandardNth3gt33,kmadd(gt13L,Xt1L,kmadd(gt33L,Xt3L,kmul(gt23L,Xt2L))))))))))),kmul(gu12,kmadd(gtu11,JacPDstandardNth1gt12,kmadd(gtu13,JacPDstandardNth1gt23,kmadd(gtu12,kadd(JacPDstandardNth1gt22,JacPDstandardNth2gt12),kmadd(gtu22,JacPDstandardNth2gt22,kmadd(gtu23,JacPDstandardNth2gt23,kmadd(gtu13,JacPDstandardNth3gt12,kmadd(gtu23,JacPDstandardNth3gt22,kmsub(gtu33,JacPDstandardNth3gt23,kmadd(gt12L,Xt1L,kmadd(gt23L,Xt3L,kmul(gt22L,Xt2L)))))))))))))),ToReal(0.5))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Z2 = - kmul(kmadd(gu12,kmadd(gtu11,JacPDstandardNth1gt11,kmadd(gtu12,kadd(JacPDstandardNth1gt12,JacPDstandardNth2gt11),kmadd(gtu22,JacPDstandardNth2gt12,kmadd(gtu13,kadd(JacPDstandardNth1gt13,JacPDstandardNth3gt11),kmadd(gtu23,kadd(JacPDstandardNth2gt13,JacPDstandardNth3gt12),kmadd(gtu33,JacPDstandardNth3gt13,kmul(kmadd(gt11L,Xt1L,kmadd(gt12L,Xt2L,kmul(gt13L,Xt3L))),ToReal(-1.)))))))),kmadd(gu22,kmadd(gtu11,JacPDstandardNth1gt12,kmadd(gtu12,kadd(JacPDstandardNth1gt22,JacPDstandardNth2gt12),kmadd(gtu22,JacPDstandardNth2gt22,kmadd(gtu13,kadd(JacPDstandardNth1gt23,JacPDstandardNth3gt12),kmadd(gtu23,kadd(JacPDstandardNth2gt23,JacPDstandardNth3gt22),kmadd(gtu33,JacPDstandardNth3gt23,kmul(kmadd(gt12L,Xt1L,kmadd(gt22L,Xt2L,kmul(gt23L,Xt3L))),ToReal(-1.)))))))),kmul(gu23,kmadd(gtu11,JacPDstandardNth1gt13,kmadd(gtu12,kadd(JacPDstandardNth1gt23,JacPDstandardNth2gt13),kmadd(gtu22,JacPDstandardNth2gt23,kmadd(gtu13,kadd(JacPDstandardNth1gt33,JacPDstandardNth3gt13),kmadd(gtu23,kadd(JacPDstandardNth2gt33,JacPDstandardNth3gt23),kmadd(gtu33,JacPDstandardNth3gt33,kmul(kmadd(gt13L,Xt1L,kmadd(gt23L,Xt2L,kmul(gt33L,Xt3L))),ToReal(-1.))))))))))),ToReal(-0.5)); + kneg(kmul(kmadd(gu12,kmadd(gtu11,JacPDstandardNth1gt11,kmadd(gtu13,JacPDstandardNth1gt13,kmadd(gtu12,kadd(JacPDstandardNth1gt12,JacPDstandardNth2gt11),kmadd(gtu22,JacPDstandardNth2gt12,kmadd(gtu23,JacPDstandardNth2gt13,kmadd(gtu13,JacPDstandardNth3gt11,kmadd(gtu23,JacPDstandardNth3gt12,kmsub(gtu33,JacPDstandardNth3gt13,kmadd(gt11L,Xt1L,kmadd(gt13L,Xt3L,kmul(gt12L,Xt2L))))))))))),kmadd(gu23,kmadd(gtu11,JacPDstandardNth1gt13,kmadd(gtu13,JacPDstandardNth1gt33,kmadd(gtu12,kadd(JacPDstandardNth1gt23,JacPDstandardNth2gt13),kmadd(gtu22,JacPDstandardNth2gt23,kmadd(gtu23,JacPDstandardNth2gt33,kmadd(gtu13,JacPDstandardNth3gt13,kmadd(gtu23,JacPDstandardNth3gt23,kmsub(gtu33,JacPDstandardNth3gt33,kmadd(gt13L,Xt1L,kmadd(gt33L,Xt3L,kmul(gt23L,Xt2L))))))))))),kmul(gu22,kmadd(gtu11,JacPDstandardNth1gt12,kmadd(gtu13,JacPDstandardNth1gt23,kmadd(gtu12,kadd(JacPDstandardNth1gt22,JacPDstandardNth2gt12),kmadd(gtu22,JacPDstandardNth2gt22,kmadd(gtu23,JacPDstandardNth2gt23,kmadd(gtu13,JacPDstandardNth3gt12,kmadd(gtu23,JacPDstandardNth3gt22,kmsub(gtu33,JacPDstandardNth3gt23,kmadd(gt12L,Xt1L,kmadd(gt23L,Xt3L,kmul(gt22L,Xt2L)))))))))))))),ToReal(0.5))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Z3 = - kmul(kmadd(gu13,kmadd(gtu11,JacPDstandardNth1gt11,kmadd(gtu12,kadd(JacPDstandardNth1gt12,JacPDstandardNth2gt11),kmadd(gtu22,JacPDstandardNth2gt12,kmadd(gtu13,kadd(JacPDstandardNth1gt13,JacPDstandardNth3gt11),kmadd(gtu23,kadd(JacPDstandardNth2gt13,JacPDstandardNth3gt12),kmadd(gtu33,JacPDstandardNth3gt13,kmul(kmadd(gt11L,Xt1L,kmadd(gt12L,Xt2L,kmul(gt13L,Xt3L))),ToReal(-1.)))))))),kmadd(gu23,kmadd(gtu11,JacPDstandardNth1gt12,kmadd(gtu12,kadd(JacPDstandardNth1gt22,JacPDstandardNth2gt12),kmadd(gtu22,JacPDstandardNth2gt22,kmadd(gtu13,kadd(JacPDstandardNth1gt23,JacPDstandardNth3gt12),kmadd(gtu23,kadd(JacPDstandardNth2gt23,JacPDstandardNth3gt22),kmadd(gtu33,JacPDstandardNth3gt23,kmul(kmadd(gt12L,Xt1L,kmadd(gt22L,Xt2L,kmul(gt23L,Xt3L))),ToReal(-1.)))))))),kmul(gu33,kmadd(gtu11,JacPDstandardNth1gt13,kmadd(gtu12,kadd(JacPDstandardNth1gt23,JacPDstandardNth2gt13),kmadd(gtu22,JacPDstandardNth2gt23,kmadd(gtu13,kadd(JacPDstandardNth1gt33,JacPDstandardNth3gt13),kmadd(gtu23,kadd(JacPDstandardNth2gt33,JacPDstandardNth3gt23),kmadd(gtu33,JacPDstandardNth3gt33,kmul(kmadd(gt13L,Xt1L,kmadd(gt23L,Xt2L,kmul(gt33L,Xt3L))),ToReal(-1.))))))))))),ToReal(-0.5)); + kneg(kmul(kmadd(gu13,kmadd(gtu11,JacPDstandardNth1gt11,kmadd(gtu13,JacPDstandardNth1gt13,kmadd(gtu12,kadd(JacPDstandardNth1gt12,JacPDstandardNth2gt11),kmadd(gtu22,JacPDstandardNth2gt12,kmadd(gtu23,JacPDstandardNth2gt13,kmadd(gtu13,JacPDstandardNth3gt11,kmadd(gtu23,JacPDstandardNth3gt12,kmsub(gtu33,JacPDstandardNth3gt13,kmadd(gt11L,Xt1L,kmadd(gt13L,Xt3L,kmul(gt12L,Xt2L))))))))))),kmadd(gu33,kmadd(gtu11,JacPDstandardNth1gt13,kmadd(gtu13,JacPDstandardNth1gt33,kmadd(gtu12,kadd(JacPDstandardNth1gt23,JacPDstandardNth2gt13),kmadd(gtu22,JacPDstandardNth2gt23,kmadd(gtu23,JacPDstandardNth2gt33,kmadd(gtu13,JacPDstandardNth3gt13,kmadd(gtu23,JacPDstandardNth3gt23,kmsub(gtu33,JacPDstandardNth3gt33,kmadd(gt13L,Xt1L,kmadd(gt33L,Xt3L,kmul(gt23L,Xt2L))))))))))),kmul(gu23,kmadd(gtu11,JacPDstandardNth1gt12,kmadd(gtu13,JacPDstandardNth1gt23,kmadd(gtu12,kadd(JacPDstandardNth1gt22,JacPDstandardNth2gt12),kmadd(gtu22,JacPDstandardNth2gt22,kmadd(gtu23,JacPDstandardNth2gt23,kmadd(gtu13,JacPDstandardNth3gt12,kmadd(gtu23,JacPDstandardNth3gt22,kmsub(gtu33,JacPDstandardNth3gt23,kmadd(gt12L,Xt1L,kmadd(gt23L,Xt3L,kmul(gt22L,Xt2L)))))))))))))),ToReal(0.5))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Rt11 = - kmadd(Gt211,Gtlu211,kmadd(Gt212,Gtlu212,kmadd(Gt213,Gtlu213,kmadd(Gt311,Gtlu311,kmadd(Gt312,Gtlu312,kmadd(Gt313,Gtlu313,kmadd(gt11L,JacPDstandardNth1Xt1,kmadd(gt12L,JacPDstandardNth1Xt2,kmadd(gt13L,JacPDstandardNth1Xt3,kmadd(Gtl111,Xtn1,kmadd(Gtl112,Xtn2,kmadd(Gtl113,Xtn3,kmadd(kmadd(gtu11,JacPDstandardNth11gt11,kmadd(gtu12,kadd(JacPDstandardNth12gt11,JacPDstandardNth21gt11),kmadd(gtu22,JacPDstandardNth22gt11,kmadd(gtu13,kadd(JacPDstandardNth13gt11,JacPDstandardNth31gt11),kmadd(gtu23,kadd(JacPDstandardNth23gt11,JacPDstandardNth32gt11),kmul(gtu33,JacPDstandardNth33gt11)))))),ToReal(-0.5),kmadd(kmadd(Gt211,Gtlu121,kmadd(Gt212,Gtlu122,kmadd(Gt213,Gtlu123,kmadd(Gt311,Gtlu131,kmadd(Gt312,Gtlu132,kmul(Gt313,Gtlu133)))))),ToReal(2.),kmul(kmadd(Gt111,Gtlu111,kmadd(Gt112,Gtlu112,kmul(Gt113,Gtlu113))),ToReal(3.)))))))))))))))); + kmadd(Gt211,Gtlu211,kmadd(Gt212,Gtlu212,kmadd(Gt213,Gtlu213,kmadd(Gt311,Gtlu311,kmadd(Gt312,Gtlu312,kmadd(Gt313,Gtlu313,kmadd(gt11L,JacPDstandardNth1Xt1,kmadd(gt12L,JacPDstandardNth1Xt2,kmadd(gt13L,JacPDstandardNth1Xt3,kmadd(Gtl111,Xtn1,kmadd(Gtl112,Xtn2,kmadd(Gtl113,Xtn3,knmsub(kmadd(gtu11,JacPDstandardNth11gt11,kmadd(gtu12,kadd(JacPDstandardNth12gt11,JacPDstandardNth21gt11),kmadd(gtu22,JacPDstandardNth22gt11,kmadd(gtu33,JacPDstandardNth33gt11,kmadd(gtu23,kadd(JacPDstandardNth32gt11,JacPDstandardNth23gt11),kmul(gtu13,kadd(JacPDstandardNth31gt11,JacPDstandardNth13gt11))))))),ToReal(0.5),kmadd(kmadd(Gt211,Gtlu121,kmadd(Gt212,Gtlu122,kmadd(Gt213,Gtlu123,kmadd(Gt311,Gtlu131,kmadd(Gt312,Gtlu132,kmul(Gt313,Gtlu133)))))),ToReal(2),kmul(kmadd(Gt111,Gtlu111,kmadd(Gt112,Gtlu112,kmul(Gt113,Gtlu113))),ToReal(3)))))))))))))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Rt12 = - kmul(ToReal(0.5),kmadd(gt22L,JacPDstandardNth1Xt2,kmadd(gt23L,JacPDstandardNth1Xt3,kmadd(gt11L,JacPDstandardNth2Xt1,kmadd(gt12L,kadd(JacPDstandardNth1Xt1,JacPDstandardNth2Xt2),kmadd(gt13L,JacPDstandardNth2Xt3,kmadd(kadd(Gtl112,Gtl211),Xtn1,kmadd(kadd(Gtl122,Gtl212),Xtn2,kmadd(kadd(Gtl123,Gtl213),Xtn3,kmadd(kmadd(gtu11,JacPDstandardNth11gt12,kmadd(gtu12,kadd(JacPDstandardNth12gt12,JacPDstandardNth21gt12),kmadd(gtu22,JacPDstandardNth22gt12,kmadd(gtu13,kadd(JacPDstandardNth13gt12,JacPDstandardNth31gt12),kmadd(gtu23,kadd(JacPDstandardNth23gt12,JacPDstandardNth32gt12),kmul(gtu33,JacPDstandardNth33gt12)))))),ToReal(-1.),kmadd(kmadd(Gt122,Gtlu112,kmadd(Gt123,Gtlu113,kmadd(kadd(Gt111,Gt212),Gtlu121,kmadd(Gt222,Gtlu122,kmadd(kadd(Gt113,Gt223),Gtlu123,kmadd(Gt322,Gtlu132,kmadd(Gt323,Gtlu133,kmadd(Gt111,Gtlu211,kmadd(Gt112,kadd(Gtlu111,kadd(Gtlu122,Gtlu212)),kmadd(Gt113,Gtlu213,kmadd(Gt311,kadd(Gtlu231,Gtlu321),kmadd(Gt312,kadd(Gtlu131,kadd(Gtlu232,Gtlu322)),kmul(Gt313,kadd(Gtlu233,Gtlu323)))))))))))))),ToReal(2.),kmul(kmadd(Gt211,Gtlu221,kmadd(Gt212,Gtlu222,kmul(Gt213,Gtlu223))),ToReal(4.))))))))))))); + kmul(ToReal(0.5),kmadd(gt12L,JacPDstandardNth1Xt1,kmadd(gt22L,JacPDstandardNth1Xt2,kmadd(gt23L,JacPDstandardNth1Xt3,kmadd(gt11L,JacPDstandardNth2Xt1,kmadd(gt12L,JacPDstandardNth2Xt2,kmadd(gt13L,JacPDstandardNth2Xt3,kmadd(Gtl112,Xtn1,kmadd(Gtl211,Xtn1,kmadd(Gtl122,Xtn2,kmadd(Gtl212,Xtn2,kmadd(Gtl123,Xtn3,kmadd(Gtl213,Xtn3,knmsub(gtu11,JacPDstandardNth11gt12,knmsub(gtu22,JacPDstandardNth22gt12,knmsub(gtu33,JacPDstandardNth33gt12,knmsub(gtu12,kadd(JacPDstandardNth21gt12,JacPDstandardNth12gt12),knmsub(gtu13,kadd(JacPDstandardNth31gt12,JacPDstandardNth13gt12),knmsub(gtu23,kadd(JacPDstandardNth32gt12,JacPDstandardNth23gt12),kmadd(kmadd(Gt122,Gtlu112,kmadd(Gt123,Gtlu113,kmadd(Gt111,Gtlu121,kmadd(Gt212,Gtlu121,kmadd(Gt222,Gtlu122,kmadd(Gt113,Gtlu123,kmadd(Gt223,Gtlu123,kmadd(Gt312,Gtlu131,kmadd(Gt322,Gtlu132,kmadd(Gt323,Gtlu133,kmadd(Gt111,Gtlu211,kmadd(Gt112,kadd(Gtlu111,kadd(Gtlu122,Gtlu212)),kmadd(Gt113,Gtlu213,kmadd(Gt311,Gtlu231,kmadd(Gt312,Gtlu232,kmadd(Gt313,Gtlu233,kmadd(Gt311,Gtlu321,kmadd(Gt312,Gtlu322,kmul(Gt313,Gtlu323))))))))))))))))))),ToReal(2),kmul(kmadd(Gt211,Gtlu221,kmadd(Gt212,Gtlu222,kmul(Gt213,Gtlu223))),ToReal(4)))))))))))))))))))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Rt13 = - kmul(ToReal(0.5),kmadd(gt23L,JacPDstandardNth1Xt2,kmadd(gt33L,JacPDstandardNth1Xt3,kmadd(gt11L,JacPDstandardNth3Xt1,kmadd(gt12L,JacPDstandardNth3Xt2,kmadd(gt13L,kadd(JacPDstandardNth1Xt1,JacPDstandardNth3Xt3),kmadd(kadd(Gtl113,Gtl311),Xtn1,kmadd(kadd(Gtl123,Gtl312),Xtn2,kmadd(kadd(Gtl133,Gtl313),Xtn3,kmadd(kmadd(gtu11,JacPDstandardNth11gt13,kmadd(gtu12,kadd(JacPDstandardNth12gt13,JacPDstandardNth21gt13),kmadd(gtu22,JacPDstandardNth22gt13,kmadd(gtu13,kadd(JacPDstandardNth13gt13,JacPDstandardNth31gt13),kmadd(gtu23,kadd(JacPDstandardNth23gt13,JacPDstandardNth32gt13),kmul(gtu33,JacPDstandardNth33gt13)))))),ToReal(-1.),kmadd(kmadd(Gt123,Gtlu112,kmadd(Gt133,Gtlu113,kmadd(Gt223,Gtlu122,kmadd(Gt233,Gtlu123,kmadd(kadd(Gt111,Gt313),Gtlu131,kmadd(kadd(Gt112,Gt323),Gtlu132,kmadd(Gt333,Gtlu133,kmadd(Gt111,Gtlu311,kmadd(Gt112,Gtlu312,kmadd(Gt113,kadd(Gtlu111,kadd(Gtlu133,Gtlu313)),kmadd(Gt211,kadd(Gtlu231,Gtlu321),kmadd(Gt212,kadd(Gtlu232,Gtlu322),kmul(Gt213,kadd(Gtlu121,kadd(Gtlu233,Gtlu323))))))))))))))),ToReal(2.),kmul(kmadd(Gt311,Gtlu331,kmadd(Gt312,Gtlu332,kmul(Gt313,Gtlu333))),ToReal(4.))))))))))))); + kmul(ToReal(0.5),kmadd(gt13L,JacPDstandardNth1Xt1,kmadd(gt23L,JacPDstandardNth1Xt2,kmadd(gt33L,JacPDstandardNth1Xt3,kmadd(gt11L,JacPDstandardNth3Xt1,kmadd(gt12L,JacPDstandardNth3Xt2,kmadd(gt13L,JacPDstandardNth3Xt3,kmadd(Gtl113,Xtn1,kmadd(Gtl311,Xtn1,kmadd(Gtl123,Xtn2,kmadd(Gtl312,Xtn2,kmadd(Gtl133,Xtn3,kmadd(Gtl313,Xtn3,knmsub(gtu11,JacPDstandardNth11gt13,knmsub(gtu22,JacPDstandardNth22gt13,knmsub(gtu33,JacPDstandardNth33gt13,knmsub(gtu12,kadd(JacPDstandardNth21gt13,JacPDstandardNth12gt13),knmsub(gtu13,kadd(JacPDstandardNth31gt13,JacPDstandardNth13gt13),knmsub(gtu23,kadd(JacPDstandardNth32gt13,JacPDstandardNth23gt13),kmadd(kmadd(Gt123,Gtlu112,kmadd(Gt133,Gtlu113,kmadd(Gt213,Gtlu121,kmadd(Gt223,Gtlu122,kmadd(Gt233,Gtlu123,kmadd(Gt111,Gtlu131,kmadd(Gt313,Gtlu131,kmadd(Gt112,Gtlu132,kmadd(Gt323,Gtlu132,kmadd(Gt333,Gtlu133,kmadd(Gt211,Gtlu231,kmadd(Gt212,Gtlu232,kmadd(Gt213,Gtlu233,kmadd(Gt111,Gtlu311,kmadd(Gt112,Gtlu312,kmadd(Gt113,kadd(Gtlu111,kadd(Gtlu133,Gtlu313)),kmadd(Gt211,Gtlu321,kmadd(Gt212,Gtlu322,kmul(Gt213,Gtlu323))))))))))))))))))),ToReal(2),kmul(kmadd(Gt311,Gtlu331,kmadd(Gt312,Gtlu332,kmul(Gt313,Gtlu333))),ToReal(4)))))))))))))))))))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Rt22 = - kmadd(Gt312,Gtlu321,kmadd(Gt322,Gtlu322,kmadd(Gt323,Gtlu323,kmadd(gt12L,JacPDstandardNth2Xt1,kmadd(gt22L,JacPDstandardNth2Xt2,kmadd(gt23L,JacPDstandardNth2Xt3,kmadd(Gtl212,Xtn1,kmadd(Gtl222,Xtn2,kmadd(Gtl223,Xtn3,kmadd(kmadd(gtu11,JacPDstandardNth11gt22,kmadd(gtu12,kadd(JacPDstandardNth12gt22,JacPDstandardNth21gt22),kmadd(gtu22,JacPDstandardNth22gt22,kmadd(gtu13,kadd(JacPDstandardNth13gt22,JacPDstandardNth31gt22),kmadd(gtu23,kadd(JacPDstandardNth23gt22,JacPDstandardNth32gt22),kmul(gtu33,JacPDstandardNth33gt22)))))),ToReal(-0.5),kmadd(kmadd(Gt312,Gtlu231,kmadd(Gt322,Gtlu232,kmul(Gt323,Gtlu233))),ToReal(2.),kmadd(Gt112,kmadd(Gtlu211,ToReal(2.),Gtlu121),kmadd(Gt122,kmadd(Gtlu212,ToReal(2.),Gtlu122),kmadd(Gt123,kmadd(Gtlu213,ToReal(2.),Gtlu123),kmul(kmadd(Gt212,Gtlu221,kmadd(Gt222,Gtlu222,kmul(Gt223,Gtlu223))),ToReal(3.)))))))))))))))); + kmadd(Gt312,Gtlu321,kmadd(Gt322,Gtlu322,kmadd(Gt323,Gtlu323,kmadd(gt12L,JacPDstandardNth2Xt1,kmadd(gt22L,JacPDstandardNth2Xt2,kmadd(gt23L,JacPDstandardNth2Xt3,kmadd(Gtl212,Xtn1,kmadd(Gtl222,Xtn2,kmadd(Gtl223,Xtn3,knmsub(kmadd(gtu11,JacPDstandardNth11gt22,kmadd(gtu12,kadd(JacPDstandardNth12gt22,JacPDstandardNth21gt22),kmadd(gtu22,JacPDstandardNth22gt22,kmadd(gtu33,JacPDstandardNth33gt22,kmadd(gtu23,kadd(JacPDstandardNth32gt22,JacPDstandardNth23gt22),kmul(gtu13,kadd(JacPDstandardNth31gt22,JacPDstandardNth13gt22))))))),ToReal(0.5),kmadd(kmadd(Gt312,Gtlu231,kmadd(Gt322,Gtlu232,kmul(Gt323,Gtlu233))),ToReal(2),kmadd(Gt112,kmadd(Gtlu211,ToReal(2),Gtlu121),kmadd(Gt122,kmadd(Gtlu212,ToReal(2),Gtlu122),kmadd(Gt123,kmadd(Gtlu213,ToReal(2),Gtlu123),kmul(kmadd(Gt212,Gtlu221,kmadd(Gt222,Gtlu222,kmul(Gt223,Gtlu223))),ToReal(3)))))))))))))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Rt23 = - kmul(ToReal(0.5),kmadd(gt13L,JacPDstandardNth2Xt1,kmadd(gt33L,JacPDstandardNth2Xt3,kmadd(gt12L,JacPDstandardNth3Xt1,kmadd(gt22L,JacPDstandardNth3Xt2,kmadd(gt23L,kadd(JacPDstandardNth2Xt2,JacPDstandardNth3Xt3),kmadd(kadd(Gtl213,Gtl312),Xtn1,kmadd(kadd(Gtl223,Gtl322),Xtn2,kmadd(kadd(Gtl233,Gtl323),Xtn3,kmadd(kmadd(gtu11,JacPDstandardNth11gt23,kmadd(gtu12,kadd(JacPDstandardNth12gt23,JacPDstandardNth21gt23),kmadd(gtu22,JacPDstandardNth22gt23,kmadd(gtu13,kadd(JacPDstandardNth13gt23,JacPDstandardNth31gt23),kmadd(gtu23,kadd(JacPDstandardNth23gt23,JacPDstandardNth32gt23),kmul(gtu33,JacPDstandardNth33gt23)))))),ToReal(-1.),kmadd(kmadd(Gt113,Gtlu211,kmadd(Gt133,Gtlu213,kmadd(Gt213,Gtlu221,kmadd(Gt233,Gtlu223,kmadd(kadd(Gt212,Gt313),Gtlu231,kmadd(kadd(Gt222,Gt323),Gtlu232,kmadd(Gt333,Gtlu233,kmadd(Gt112,kadd(Gtlu131,Gtlu311),kmadd(Gt122,kadd(Gtlu132,Gtlu312),kmadd(Gt123,kadd(Gtlu133,kadd(Gtlu212,Gtlu313)),kmadd(Gt212,Gtlu321,kmadd(Gt222,Gtlu322,kmul(Gt223,kadd(Gtlu222,kadd(Gtlu233,Gtlu323))))))))))))))),ToReal(2.),kmul(kmadd(Gt312,Gtlu331,kmadd(Gt322,Gtlu332,kmul(Gt323,Gtlu333))),ToReal(4.))))))))))))); + kmul(ToReal(0.5),kmadd(gt13L,JacPDstandardNth2Xt1,kmadd(gt23L,JacPDstandardNth2Xt2,kmadd(gt33L,JacPDstandardNth2Xt3,kmadd(gt12L,JacPDstandardNth3Xt1,kmadd(gt22L,JacPDstandardNth3Xt2,kmadd(gt23L,JacPDstandardNth3Xt3,kmadd(Gtl213,Xtn1,kmadd(Gtl312,Xtn1,kmadd(Gtl223,Xtn2,kmadd(Gtl322,Xtn2,kmadd(Gtl233,Xtn3,kmadd(Gtl323,Xtn3,knmsub(gtu11,JacPDstandardNth11gt23,knmsub(gtu22,JacPDstandardNth22gt23,knmsub(gtu33,JacPDstandardNth33gt23,knmsub(gtu12,kadd(JacPDstandardNth21gt23,JacPDstandardNth12gt23),knmsub(gtu13,kadd(JacPDstandardNth31gt23,JacPDstandardNth13gt23),knmsub(gtu23,kadd(JacPDstandardNth32gt23,JacPDstandardNth23gt23),kmadd(kmadd(Gt123,Gtlu133,kmadd(Gt113,Gtlu211,kmadd(Gt123,Gtlu212,kmadd(Gt133,Gtlu213,kmadd(Gt213,Gtlu221,kmadd(Gt223,Gtlu222,kmadd(Gt233,Gtlu223,kmadd(Gt212,Gtlu231,kmadd(Gt313,Gtlu231,kmadd(Gt222,Gtlu232,kmadd(Gt323,Gtlu232,kmadd(Gt223,Gtlu233,kmadd(Gt333,Gtlu233,kmadd(Gt112,kadd(Gtlu131,Gtlu311),kmadd(Gt122,kadd(Gtlu132,Gtlu312),kmadd(Gt123,Gtlu313,kmadd(Gt212,Gtlu321,kmadd(Gt222,Gtlu322,kmul(Gt223,Gtlu323))))))))))))))))))),ToReal(2),kmul(kmadd(Gt312,Gtlu331,kmadd(Gt322,Gtlu332,kmul(Gt323,Gtlu333))),ToReal(4)))))))))))))))))))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Rt33 = - kmadd(gt13L,JacPDstandardNth3Xt1,kmadd(gt23L,JacPDstandardNth3Xt2,kmadd(gt33L,JacPDstandardNth3Xt3,kmadd(Gtl313,Xtn1,kmadd(Gtl323,Xtn2,kmadd(Gtl333,Xtn3,kmadd(kmadd(gtu11,JacPDstandardNth11gt33,kmadd(gtu12,kadd(JacPDstandardNth12gt33,JacPDstandardNth21gt33),kmadd(gtu22,JacPDstandardNth22gt33,kmadd(gtu13,kadd(JacPDstandardNth13gt33,JacPDstandardNth31gt33),kmadd(gtu23,kadd(JacPDstandardNth23gt33,JacPDstandardNth32gt33),kmul(gtu33,JacPDstandardNth33gt33)))))),ToReal(-0.5),kmadd(Gt113,kmadd(Gtlu311,ToReal(2.),Gtlu131),kmadd(Gt123,kmadd(Gtlu312,ToReal(2.),Gtlu132),kmadd(Gt133,kmadd(Gtlu313,ToReal(2.),Gtlu133),kmadd(Gt213,kmadd(Gtlu321,ToReal(2.),Gtlu231),kmadd(Gt223,kmadd(Gtlu322,ToReal(2.),Gtlu232),kmadd(Gt233,kmadd(Gtlu323,ToReal(2.),Gtlu233),kmul(kmadd(Gt313,Gtlu331,kmadd(Gt323,Gtlu332,kmul(Gt333,Gtlu333))),ToReal(3.))))))))))))))); + kmadd(gt13L,JacPDstandardNth3Xt1,kmadd(gt23L,JacPDstandardNth3Xt2,kmadd(gt33L,JacPDstandardNth3Xt3,kmadd(Gtl313,Xtn1,kmadd(Gtl323,Xtn2,kmadd(Gtl333,Xtn3,knmsub(kmadd(gtu11,JacPDstandardNth11gt33,kmadd(gtu12,kadd(JacPDstandardNth12gt33,JacPDstandardNth21gt33),kmadd(gtu22,JacPDstandardNth22gt33,kmadd(gtu33,JacPDstandardNth33gt33,kmadd(gtu23,kadd(JacPDstandardNth32gt33,JacPDstandardNth23gt33),kmul(gtu13,kadd(JacPDstandardNth31gt33,JacPDstandardNth13gt33))))))),ToReal(0.5),kmadd(Gt113,kmadd(Gtlu311,ToReal(2),Gtlu131),kmadd(Gt123,kmadd(Gtlu312,ToReal(2),Gtlu132),kmadd(Gt133,kmadd(Gtlu313,ToReal(2),Gtlu133),kmadd(Gt213,kmadd(Gtlu321,ToReal(2),Gtlu231),kmadd(Gt223,kmadd(Gtlu322,ToReal(2),Gtlu232),kmadd(Gt233,kmadd(Gtlu323,ToReal(2),Gtlu233),kmul(kmadd(Gt313,Gtlu331,kmadd(Gt323,Gtlu332,kmul(Gt333,Gtlu333))),ToReal(3))))))))))))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED fac1 = IfThen(conformalMethod == - 1.,kdiv(ToReal(-0.5),phiL),ToReal(1.)); + 1,kdiv(ToReal(-0.5),phiL),ToReal(1)); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED cdphi1 = kmul(fac1,JacPDstandardNth1phi); @@ -1750,43 +1791,43 @@ static void ML_CCZ4_constraints2_Body(cGH const * restrict const cctkGH, int con kmul(fac1,JacPDstandardNth3phi); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED fac2 = IfThen(conformalMethod == - 1.,kdiv(ToReal(0.5),kmul(phiL,phiL)),ToReal(0.)); + 1,kdiv(ToReal(0.5),kmul(phiL,phiL)),ToReal(0)); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED cdphi211 = - kmadd(fac2,kmul(JacPDstandardNth1phi,JacPDstandardNth1phi),kmul(fac1,kmadd(kmadd(Gt111,JacPDstandardNth1phi,kmadd(Gt211,JacPDstandardNth2phi,kmul(Gt311,JacPDstandardNth3phi))),ToReal(-1.),JacPDstandardNth11phi))); + kmadd(fac2,kmul(JacPDstandardNth1phi,JacPDstandardNth1phi),kmul(fac1,ksub(JacPDstandardNth11phi,kmadd(Gt111,JacPDstandardNth1phi,kmadd(Gt311,JacPDstandardNth3phi,kmul(Gt211,JacPDstandardNth2phi)))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED cdphi212 = - kmadd(fac2,kmul(JacPDstandardNth1phi,JacPDstandardNth2phi),kmul(fac1,kmadd(kmadd(Gt112,JacPDstandardNth1phi,kmadd(Gt212,JacPDstandardNth2phi,kmul(Gt312,JacPDstandardNth3phi))),ToReal(-1.),JacPDstandardNth12phi))); + kmadd(fac2,kmul(JacPDstandardNth1phi,JacPDstandardNth2phi),kmul(fac1,ksub(JacPDstandardNth12phi,kmadd(Gt112,JacPDstandardNth1phi,kmadd(Gt312,JacPDstandardNth3phi,kmul(Gt212,JacPDstandardNth2phi)))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED cdphi213 = - kmadd(fac2,kmul(JacPDstandardNth1phi,JacPDstandardNth3phi),kmul(fac1,kmadd(kmadd(Gt113,JacPDstandardNth1phi,kmadd(Gt213,JacPDstandardNth2phi,kmul(Gt313,JacPDstandardNth3phi))),ToReal(-1.),JacPDstandardNth13phi))); + kmadd(fac2,kmul(JacPDstandardNth1phi,JacPDstandardNth3phi),kmul(fac1,ksub(JacPDstandardNth13phi,kmadd(Gt113,JacPDstandardNth1phi,kmadd(Gt313,JacPDstandardNth3phi,kmul(Gt213,JacPDstandardNth2phi)))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED cdphi222 = - kmadd(fac2,kmul(JacPDstandardNth2phi,JacPDstandardNth2phi),kmul(fac1,kmul(ToReal(-1.),kmadd(Gt122,JacPDstandardNth1phi,kmadd(Gt222,JacPDstandardNth2phi,kmadd(Gt322,JacPDstandardNth3phi,kmul(JacPDstandardNth22phi,ToReal(-1.)))))))); + kmsub(fac2,kmul(JacPDstandardNth2phi,JacPDstandardNth2phi),kmul(fac1,kmadd(Gt122,JacPDstandardNth1phi,kmadd(Gt222,JacPDstandardNth2phi,kmsub(Gt322,JacPDstandardNth3phi,JacPDstandardNth22phi))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED cdphi223 = - kmadd(fac2,kmul(JacPDstandardNth2phi,JacPDstandardNth3phi),kmul(fac1,kmul(ToReal(-1.),kmadd(Gt123,JacPDstandardNth1phi,kmadd(Gt223,JacPDstandardNth2phi,kmadd(Gt323,JacPDstandardNth3phi,kmul(JacPDstandardNth23phi,ToReal(-1.)))))))); + kmsub(fac2,kmul(JacPDstandardNth2phi,JacPDstandardNth3phi),kmul(fac1,kmadd(Gt123,JacPDstandardNth1phi,kmadd(Gt223,JacPDstandardNth2phi,kmsub(Gt323,JacPDstandardNth3phi,JacPDstandardNth23phi))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED cdphi233 = - kmadd(fac2,kmul(JacPDstandardNth3phi,JacPDstandardNth3phi),kmul(fac1,kmul(ToReal(-1.),kmadd(Gt133,JacPDstandardNth1phi,kmadd(Gt233,JacPDstandardNth2phi,kmadd(Gt333,JacPDstandardNth3phi,kmul(JacPDstandardNth33phi,ToReal(-1.)))))))); + kmsub(fac2,kmul(JacPDstandardNth3phi,JacPDstandardNth3phi),kmul(fac1,kmadd(Gt133,JacPDstandardNth1phi,kmadd(Gt233,JacPDstandardNth2phi,kmsub(Gt333,JacPDstandardNth3phi,JacPDstandardNth33phi))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Rphi11 = - kmul(ToReal(-2.),kadd(cdphi211,kmadd(kmul(cdphi1,cdphi1),kmul(kmadd(gt11L,gtu11,ToReal(-1.)),ToReal(2.)),kmul(gt11L,kmadd(cdphi211,gtu11,kmadd(cdphi233,gtu33,kmadd(kmadd(cdphi212,gtu12,kmadd(cdphi213,gtu13,kmadd(cdphi223,gtu23,kmul(gtu33,kmul(cdphi3,cdphi3))))),ToReal(2.),kmadd(gtu22,kmadd(kmul(cdphi2,cdphi2),ToReal(2.),cdphi222),kmul(kmadd(cdphi1,kmadd(cdphi2,gtu12,kmul(cdphi3,gtu13)),kmul(cdphi2,kmul(cdphi3,gtu23))),ToReal(4.)))))))))); + kmul(ToReal(-2),kadd(cdphi211,kmadd(kmul(cdphi1,cdphi1),kmul(kmadd(gt11L,gtu11,ToReal(-1)),ToReal(2)),kmul(gt11L,kmadd(cdphi211,gtu11,kmadd(cdphi233,gtu33,kmadd(kmadd(cdphi212,gtu12,kmadd(cdphi213,gtu13,kmadd(cdphi223,gtu23,kmul(gtu33,kmul(cdphi3,cdphi3))))),ToReal(2),kmadd(gtu22,kmadd(kmul(cdphi2,cdphi2),ToReal(2),cdphi222),kmul(kmadd(cdphi1,kmadd(cdphi2,gtu12,kmul(cdphi3,gtu13)),kmul(cdphi2,kmul(cdphi3,gtu23))),ToReal(4)))))))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Rphi12 = - kmul(ToReal(-2.),kadd(cdphi212,kmadd(gt12L,kmadd(cdphi211,gtu11,kmadd(kmadd(cdphi212,gtu12,kmadd(cdphi213,gtu13,kmadd(cdphi223,gtu23,kmul(gtu11,kmul(cdphi1,cdphi1))))),ToReal(2.),kmadd(gtu22,kmadd(kmul(cdphi2,cdphi2),ToReal(2.),cdphi222),kmadd(gtu33,kmadd(kmul(cdphi3,cdphi3),ToReal(2.),cdphi233),kmul(cdphi2,kmul(cdphi3,kmul(gtu23,ToReal(4.)))))))),kmul(cdphi1,kmadd(gt12L,kmul(cdphi3,kmul(gtu13,ToReal(4.))),kmul(cdphi2,kmadd(gt12L,kmul(gtu12,ToReal(4.)),ToReal(-2.)))))))); + kmul(ToReal(-2),kadd(cdphi212,kmadd(gt12L,kmadd(cdphi211,gtu11,kmadd(kmadd(cdphi212,gtu12,kmadd(cdphi213,gtu13,kmadd(cdphi223,gtu23,kmul(gtu11,kmul(cdphi1,cdphi1))))),ToReal(2),kmadd(gtu22,kmadd(kmul(cdphi2,cdphi2),ToReal(2),cdphi222),kmadd(gtu33,kmadd(kmul(cdphi3,cdphi3),ToReal(2),cdphi233),kmul(cdphi2,kmul(cdphi3,kmul(gtu23,ToReal(4)))))))),kmul(cdphi1,kmadd(gt12L,kmul(cdphi3,kmul(gtu13,ToReal(4))),kmul(cdphi2,kmadd(gt12L,kmul(gtu12,ToReal(4)),ToReal(-2)))))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Rphi13 = - kmul(ToReal(-2.),kadd(cdphi213,kmadd(gt13L,kmadd(cdphi211,gtu11,kmadd(kmadd(cdphi212,gtu12,kmadd(cdphi213,gtu13,kmadd(cdphi223,gtu23,kmul(gtu11,kmul(cdphi1,cdphi1))))),ToReal(2.),kmadd(gtu22,kmadd(kmul(cdphi2,cdphi2),ToReal(2.),cdphi222),kmadd(gtu33,kmadd(kmul(cdphi3,cdphi3),ToReal(2.),cdphi233),kmul(cdphi2,kmul(cdphi3,kmul(gtu23,ToReal(4.)))))))),kmul(cdphi1,kmadd(gt13L,kmul(cdphi2,kmul(gtu12,ToReal(4.))),kmul(cdphi3,kmadd(gt13L,kmul(gtu13,ToReal(4.)),ToReal(-2.)))))))); + kmul(ToReal(-2),kadd(cdphi213,kmadd(gt13L,kmadd(cdphi211,gtu11,kmadd(kmadd(cdphi212,gtu12,kmadd(cdphi213,gtu13,kmadd(cdphi223,gtu23,kmul(gtu11,kmul(cdphi1,cdphi1))))),ToReal(2),kmadd(gtu22,kmadd(kmul(cdphi2,cdphi2),ToReal(2),cdphi222),kmadd(gtu33,kmadd(kmul(cdphi3,cdphi3),ToReal(2),cdphi233),kmul(cdphi2,kmul(cdphi3,kmul(gtu23,ToReal(4)))))))),kmul(cdphi1,kmadd(gt13L,kmul(cdphi2,kmul(gtu12,ToReal(4))),kmul(cdphi3,kmadd(gt13L,kmul(gtu13,ToReal(4)),ToReal(-2)))))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Rphi22 = - kmul(ToReal(-2.),kadd(cdphi222,kmadd(kmul(cdphi2,cdphi2),kmul(kmadd(gt22L,gtu22,ToReal(-1.)),ToReal(2.)),kmul(gt22L,kmadd(cdphi222,gtu22,kmadd(cdphi233,gtu33,kmadd(kmadd(cdphi212,gtu12,kmadd(cdphi213,gtu13,kmadd(cdphi223,gtu23,kmul(gtu33,kmul(cdphi3,cdphi3))))),ToReal(2.),kmadd(gtu11,kmadd(kmul(cdphi1,cdphi1),ToReal(2.),cdphi211),kmul(kmadd(cdphi1,kmul(cdphi3,gtu13),kmul(cdphi2,kmadd(cdphi1,gtu12,kmul(cdphi3,gtu23)))),ToReal(4.)))))))))); + kmul(ToReal(-2),kadd(cdphi222,kmadd(kmul(cdphi2,cdphi2),kmul(kmadd(gt22L,gtu22,ToReal(-1)),ToReal(2)),kmul(gt22L,kmadd(cdphi222,gtu22,kmadd(cdphi233,gtu33,kmadd(kmadd(cdphi212,gtu12,kmadd(cdphi213,gtu13,kmadd(cdphi223,gtu23,kmul(gtu33,kmul(cdphi3,cdphi3))))),ToReal(2),kmadd(gtu11,kmadd(kmul(cdphi1,cdphi1),ToReal(2),cdphi211),kmul(kmadd(cdphi1,kmul(cdphi3,gtu13),kmul(cdphi2,kmadd(cdphi1,gtu12,kmul(cdphi3,gtu23)))),ToReal(4)))))))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Rphi23 = - kmul(ToReal(-2.),kadd(cdphi223,kmadd(gt23L,kmadd(cdphi222,gtu22,kmadd(kmadd(cdphi212,gtu12,kmadd(cdphi213,gtu13,kmadd(cdphi223,gtu23,kmul(gtu22,kmul(cdphi2,cdphi2))))),ToReal(2.),kmadd(gtu11,kmadd(kmul(cdphi1,cdphi1),ToReal(2.),cdphi211),kmadd(gtu33,kmadd(kmul(cdphi3,cdphi3),ToReal(2.),cdphi233),kmul(cdphi1,kmul(cdphi3,kmul(gtu13,ToReal(4.)))))))),kmul(cdphi2,kmadd(gt23L,kmul(cdphi1,kmul(gtu12,ToReal(4.))),kmul(cdphi3,kmadd(gt23L,kmul(gtu23,ToReal(4.)),ToReal(-2.)))))))); + kmul(ToReal(-2),kadd(cdphi223,kmadd(gt23L,kmadd(cdphi222,gtu22,kmadd(kmadd(cdphi212,gtu12,kmadd(cdphi213,gtu13,kmadd(cdphi223,gtu23,kmul(gtu22,kmul(cdphi2,cdphi2))))),ToReal(2),kmadd(gtu11,kmadd(kmul(cdphi1,cdphi1),ToReal(2),cdphi211),kmadd(gtu33,kmadd(kmul(cdphi3,cdphi3),ToReal(2),cdphi233),kmul(cdphi1,kmul(cdphi3,kmul(gtu13,ToReal(4)))))))),kmul(cdphi2,kmadd(gt23L,kmul(cdphi1,kmul(gtu12,ToReal(4))),kmul(cdphi3,kmadd(gt23L,kmul(gtu23,ToReal(4)),ToReal(-2)))))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Rphi33 = - kmul(ToReal(-2.),kadd(cdphi233,kmadd(kmul(cdphi3,cdphi3),kmul(kmadd(gt33L,gtu33,ToReal(-1.)),ToReal(2.)),kmul(gt33L,kmadd(cdphi233,gtu33,kmadd(kmadd(cdphi213,gtu13,kmul(cdphi223,gtu23)),ToReal(2.),kmadd(gtu11,kmadd(kmul(cdphi1,cdphi1),ToReal(2.),cdphi211),kmadd(gtu22,kmadd(kmul(cdphi2,cdphi2),ToReal(2.),cdphi222),kmadd(cdphi3,kmul(kmadd(cdphi1,gtu13,kmul(cdphi2,gtu23)),ToReal(4.)),kmul(gtu12,kmadd(cdphi212,ToReal(2.),kmul(cdphi1,kmul(cdphi2,ToReal(4.)))))))))))))); + kmul(ToReal(-2),kadd(cdphi233,kmadd(kmul(cdphi3,cdphi3),kmul(kmadd(gt33L,gtu33,ToReal(-1)),ToReal(2)),kmul(gt33L,kmadd(cdphi233,gtu33,kmadd(kmadd(cdphi213,gtu13,kmul(cdphi223,gtu23)),ToReal(2),kmadd(gtu11,kmadd(kmul(cdphi1,cdphi1),ToReal(2),cdphi211),kmadd(gtu22,kmadd(kmul(cdphi2,cdphi2),ToReal(2),cdphi222),kmadd(cdphi3,kmul(kmadd(cdphi1,gtu13,kmul(cdphi2,gtu23)),ToReal(4)),kmul(gtu12,kmadd(cdphi212,ToReal(2),kmul(cdphi1,kmul(cdphi2,ToReal(4)))))))))))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED R11 = kadd(Rphi11,Rt11); @@ -1801,57 +1842,57 @@ static void ML_CCZ4_constraints2_Body(cGH const * restrict const cctkGH, int con CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED R33 = kadd(Rphi33,Rt33); R11 = - kadd(R11,kmadd(e4phi,kmadd(JacPDstandardNth1gt11,Z1,kmadd(JacPDstandardNth2gt11,Z2,kmul(JacPDstandardNth3gt11,Z3))),kdiv(kmadd(g11,kmul(kmadd(JacPDstandardNth2phi,Z2,kmul(JacPDstandardNth3phi,Z3)),ToReal(-2.)),kmul(JacPDstandardNth1phi,kmadd(g11,kmul(Z1,ToReal(2.)),kmul(kmadd(g12,Z2,kmul(g13,Z3)),ToReal(4.))))),phiL))); + kadd(R11,kmadd(e4phi,kmadd(JacPDstandardNth1gt11,Z1,kmadd(JacPDstandardNth2gt11,Z2,kmul(JacPDstandardNth3gt11,Z3))),kdiv(kmadd(g11,kmul(kmadd(JacPDstandardNth2phi,Z2,kmul(JacPDstandardNth3phi,Z3)),ToReal(-2)),kmul(JacPDstandardNth1phi,kmadd(g11,kmul(Z1,ToReal(2)),kmul(kmadd(g12,Z2,kmul(g13,Z3)),ToReal(4))))),phiL))); R12 = - kdiv(kmadd(phiL,kmadd(e4phi,kmadd(JacPDstandardNth1gt12,Z1,kmadd(JacPDstandardNth2gt12,Z2,kmul(JacPDstandardNth3gt12,Z3))),R12),kmul(kmadd(JacPDstandardNth2phi,kmadd(g11,Z1,kmul(g13,Z3)),kmadd(JacPDstandardNth1phi,kmadd(g22,Z2,kmul(g23,Z3)),kmul(g12,kmul(JacPDstandardNth3phi,kmul(Z3,ToReal(-1.)))))),ToReal(2.))),phiL); + kdiv(kmadd(phiL,kmadd(e4phi,kmadd(JacPDstandardNth1gt12,Z1,kmadd(JacPDstandardNth2gt12,Z2,kmul(JacPDstandardNth3gt12,Z3))),R12),kmul(kmadd(JacPDstandardNth2phi,kmadd(g11,Z1,kmul(g13,Z3)),kmsub(JacPDstandardNth1phi,kmadd(g22,Z2,kmul(g23,Z3)),kmul(g12,kmul(JacPDstandardNth3phi,Z3)))),ToReal(2))),phiL); R13 = - kdiv(kmadd(phiL,kmadd(e4phi,kmadd(JacPDstandardNth1gt13,Z1,kmadd(JacPDstandardNth2gt13,Z2,kmul(JacPDstandardNth3gt13,Z3))),R13),kmul(kmadd(JacPDstandardNth3phi,kmadd(g11,Z1,kmul(g12,Z2)),kmadd(g33,kmul(JacPDstandardNth1phi,Z3),kmul(Z2,kmadd(g23,JacPDstandardNth1phi,kmul(g13,kmul(JacPDstandardNth2phi,ToReal(-1.))))))),ToReal(2.))),phiL); + kdiv(kmadd(phiL,kmadd(e4phi,kmadd(JacPDstandardNth1gt13,Z1,kmadd(JacPDstandardNth2gt13,Z2,kmul(JacPDstandardNth3gt13,Z3))),R13),kmul(kmadd(JacPDstandardNth3phi,kmadd(g11,Z1,kmul(g12,Z2)),kmadd(g33,kmul(JacPDstandardNth1phi,Z3),kmul(Z2,kmsub(g23,JacPDstandardNth1phi,kmul(g13,JacPDstandardNth2phi))))),ToReal(2))),phiL); R22 = - kadd(R22,kmadd(e4phi,kmadd(JacPDstandardNth1gt22,Z1,kmadd(JacPDstandardNth2gt22,Z2,kmul(JacPDstandardNth3gt22,Z3))),kdiv(kmadd(g22,kmul(ToReal(-2.),kmadd(JacPDstandardNth1phi,Z1,kmadd(JacPDstandardNth3phi,Z3,kmul(JacPDstandardNth2phi,kmul(Z2,ToReal(-1.)))))),kmul(JacPDstandardNth2phi,kmul(kmadd(g12,Z1,kmul(g23,Z3)),ToReal(4.)))),phiL))); + kadd(R22,kmadd(e4phi,kmadd(JacPDstandardNth1gt22,Z1,kmadd(JacPDstandardNth2gt22,Z2,kmul(JacPDstandardNth3gt22,Z3))),kdiv(kmadd(g22,kmul(ToReal(-2),kmadd(JacPDstandardNth1phi,Z1,kmsub(JacPDstandardNth3phi,Z3,kmul(JacPDstandardNth2phi,Z2)))),kmul(JacPDstandardNth2phi,kmul(kmadd(g12,Z1,kmul(g23,Z3)),ToReal(4)))),phiL))); R23 = - kdiv(kmadd(phiL,kmadd(e4phi,kmadd(JacPDstandardNth1gt23,Z1,kmadd(JacPDstandardNth2gt23,Z2,kmul(JacPDstandardNth3gt23,Z3))),R23),kmul(kmadd(g22,kmul(JacPDstandardNth3phi,Z2),kmadd(g33,kmul(JacPDstandardNth2phi,Z3),kmul(Z1,kmadd(g13,JacPDstandardNth2phi,kmadd(g12,JacPDstandardNth3phi,kmul(g23,kmul(JacPDstandardNth1phi,ToReal(-1.)))))))),ToReal(2.))),phiL); + kdiv(kmadd(phiL,kmadd(e4phi,kmadd(JacPDstandardNth1gt23,Z1,kmadd(JacPDstandardNth2gt23,Z2,kmul(JacPDstandardNth3gt23,Z3))),R23),kmul(kmadd(g22,kmul(JacPDstandardNth3phi,Z2),kmadd(g33,kmul(JacPDstandardNth2phi,Z3),kmul(Z1,kmadd(g13,JacPDstandardNth2phi,kmsub(g12,JacPDstandardNth3phi,kmul(g23,JacPDstandardNth1phi)))))),ToReal(2))),phiL); R33 = - kadd(R33,kmadd(e4phi,kmadd(JacPDstandardNth1gt33,Z1,kmadd(JacPDstandardNth2gt33,Z2,kmul(JacPDstandardNth3gt33,Z3))),kdiv(kmadd(g33,kmul(ToReal(-2.),kmadd(JacPDstandardNth1phi,Z1,kmadd(JacPDstandardNth2phi,Z2,kmul(JacPDstandardNth3phi,kmul(Z3,ToReal(-1.)))))),kmul(JacPDstandardNth3phi,kmul(kmadd(g13,Z1,kmul(g23,Z2)),ToReal(4.)))),phiL))); + kadd(R33,kmadd(e4phi,kmadd(JacPDstandardNth1gt33,Z1,kmadd(JacPDstandardNth2gt33,Z2,kmul(JacPDstandardNth3gt33,Z3))),kdiv(kmadd(g33,kmul(ToReal(-2),kmadd(JacPDstandardNth1phi,Z1,kmsub(JacPDstandardNth2phi,Z2,kmul(JacPDstandardNth3phi,Z3)))),kmul(JacPDstandardNth3phi,kmul(kmadd(g13,Z1,kmul(g23,Z2)),ToReal(4)))),phiL))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED S1 = - kdiv(kmadd(beta1L,eTxxL,kmadd(beta2L,eTxyL,kmadd(beta3L,eTxzL,kmul(eTtxL,ToReal(-1.))))),alphaL); + kdiv(kmadd(beta1L,eTxxL,kmadd(beta2L,eTxyL,kmsub(beta3L,eTxzL,eTtxL))),alphaL); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED S2 = - kdiv(kmadd(beta1L,eTxyL,kmadd(beta2L,eTyyL,kmadd(beta3L,eTyzL,kmul(eTtyL,ToReal(-1.))))),alphaL); + kdiv(kmadd(beta1L,eTxyL,kmadd(beta2L,eTyyL,kmsub(beta3L,eTyzL,eTtyL))),alphaL); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED S3 = - kdiv(kmadd(beta1L,eTxzL,kmadd(beta2L,eTyzL,kmadd(beta3L,eTzzL,kmul(eTtzL,ToReal(-1.))))),alphaL); + kdiv(kmadd(beta1L,eTxzL,kmadd(beta2L,eTyzL,kmsub(beta3L,eTzzL,eTtzL))),alphaL); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED M1L = - kmadd(gtu11,JacPDstandardNth1At11,kmadd(gtu22,JacPDstandardNth2At12,kmadd(gtu23,kadd(JacPDstandardNth2At13,JacPDstandardNth3At12),kmadd(gtu33,JacPDstandardNth3At13,kmadd(S1,ToReal(-25.132741228718345),kmadd(gtu12,kadd(JacPDstandardNth1At12,kadd(JacPDstandardNth2At11,kmadd(At13L,kmul(Gt312,ToReal(-3.)),kmul(At22L,kmul(Gt211,ToReal(-1.)))))),kmadd(gtu13,kadd(JacPDstandardNth1At13,kadd(JacPDstandardNth3At11,kmadd(At13L,kmul(Gt313,ToReal(-3.)),kmul(At23L,kmul(Gt211,ToReal(-1.)))))),kmadd(Gt311,kmadd(At13L,kmul(gtu11,ToReal(-2.)),kmul(kmadd(At23L,gtu12,kmul(At33L,gtu13)),ToReal(-1.))),kmadd(JacPDstandardNth1trK,ToReal(-0.666666666666666666666666666667),kmadd(ToReal(-1.),kmadd(kmadd(At22L,Gt212,kmul(At23L,Gt312)),gtu22,kmadd(kmadd(At13L,Gt112,kmadd(At22L,Gt213,kmadd(At33L,Gt312,kmul(At23L,kadd(Gt212,Gt313))))),gtu23,kmadd(kmadd(At13L,Gt113,kmadd(At23L,Gt213,kmul(At33L,Gt313))),gtu33,kmul(At12L,kmadd(Gt233,gtu33,kmadd(gtu22,kadd(Gt112,kmadd(cdphi2,ToReal(-6.),Gt222)),kmadd(gtu23,kmadd(cdphi3,ToReal(-6.),Gt113),kmadd(kmadd(Gt211,gtu11,kmul(Gt223,gtu23)),ToReal(2.),kmadd(Gt213,kmul(gtu13,ToReal(3.)),kmul(gtu12,kadd(Gt111,kmadd(cdphi1,ToReal(-6.),kmul(Gt212,ToReal(3.)))))))))))))),kmadd(At13L,kmadd(kmadd(Gt322,gtu22,kmul(Gt333,gtu33)),ToReal(-1.),kmadd(cdphi3,kmul(gtu33,ToReal(6.)),kmadd(gtu13,kmadd(Gt111,ToReal(-1.),kmul(cdphi1,ToReal(6.))),kmul(gtu23,kmadd(Gt323,ToReal(-2.),kmul(cdphi2,ToReal(6.))))))),kmul(At11L,kmadd(Gt123,kmul(gtu23,ToReal(-2.)),kmadd(kmadd(Gt122,gtu22,kmul(Gt133,gtu33)),ToReal(-1.),kmadd(gtu11,kmadd(Gt111,ToReal(-2.),kmul(cdphi1,ToReal(6.))),kmadd(gtu12,kmadd(Gt112,ToReal(-3.),kmul(cdphi2,ToReal(6.))),kmul(gtu13,kmadd(Gt113,ToReal(-3.),kmul(cdphi3,ToReal(6.)))))))))))))))))))); + kmadd(gtu11,JacPDstandardNth1At11,kmadd(gtu12,JacPDstandardNth2At11,kmadd(gtu22,JacPDstandardNth2At12,kmadd(gtu23,JacPDstandardNth2At13,kmadd(gtu13,JacPDstandardNth3At11,kmadd(gtu23,JacPDstandardNth3At12,kmadd(gtu33,JacPDstandardNth3At13,kmadd(gtu12,kadd(JacPDstandardNth1At12,kmsub(At13L,kmul(Gt312,ToReal(-3)),kmul(At22L,Gt211))),kmadd(gtu13,kadd(JacPDstandardNth1At13,kmsub(At13L,kmul(Gt313,ToReal(-3)),kmul(At23L,Gt211))),knmsub(gtu22,kmadd(At23L,Gt312,kmul(At22L,Gt212)),kmadd(Gt311,kmsub(At13L,kmul(gtu11,ToReal(-2)),kmadd(At33L,gtu13,kmul(At23L,gtu12))),kmadd(At13L,kmsub(Gt323,kmul(gtu23,ToReal(-2)),kmul(Gt113,gtu33)),kmadd(JacPDstandardNth1trK,ToReal(-0.666666666666666666666666666667),knmsub(At12L,kmadd(Gt111,gtu12,kmadd(Gt112,gtu22,kmadd(Gt222,gtu22,kmadd(Gt113,gtu23,kmadd(Gt233,gtu33,kmadd(cdphi1,kmul(gtu12,ToReal(-6)),kmadd(cdphi2,kmul(gtu22,ToReal(-6)),kmadd(cdphi3,kmul(gtu23,ToReal(-6)),kmadd(Gt211,kmul(gtu11,ToReal(2)),kmadd(Gt223,kmul(gtu23,ToReal(2)),kmadd(Gt212,kmul(gtu12,ToReal(3)),kmul(Gt213,kmul(gtu13,ToReal(3)))))))))))))),kmadd(gtu23,knmsub(At22L,Gt213,knmsub(At33L,Gt312,kmsub(At13L,kmul(cdphi2,ToReal(6)),kmul(At23L,kadd(Gt313,Gt212))))),kmadd(gtu33,knmsub(At23L,Gt213,kmsub(At13L,kmul(cdphi3,ToReal(6)),kmul(At33L,Gt313))),kmadd(At11L,kmadd(Gt112,kmul(gtu12,ToReal(-3)),kmadd(Gt113,kmul(gtu13,ToReal(-3)),kmadd(Gt111,kmul(gtu11,ToReal(-2)),kmadd(Gt123,kmul(gtu23,ToReal(-2)),knmsub(Gt122,gtu22,knmsub(Gt133,gtu33,kmadd(cdphi1,kmul(gtu11,ToReal(6)),kmadd(cdphi2,kmul(gtu12,ToReal(6)),kmul(cdphi3,kmul(gtu13,ToReal(6))))))))))),kmadd(At13L,knmsub(Gt322,gtu22,knmsub(Gt112,gtu23,kmsub(gtu13,kmsub(cdphi1,ToReal(6),Gt111),kmul(Gt333,gtu33)))),kmul(S1,ToReal(-25.1327412287183459077011470662)))))))))))))))))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED M2L = - kmadd(gtu11,JacPDstandardNth1At12,kmadd(gtu12,kadd(JacPDstandardNth1At22,JacPDstandardNth2At12),kmadd(gtu22,JacPDstandardNth2At22,kmadd(gtu33,JacPDstandardNth3At23,kmadd(S2,ToReal(-25.132741228718345),kmadd(kmadd(kmadd(At22L,Gt211,kmadd(At23L,Gt311,kmul(At13L,Gt312))),gtu11,kmadd(kmadd(At23L,Gt212,kmul(At33L,Gt312)),gtu13,kmadd(At11L,kmadd(Gt112,gtu11,kmadd(Gt122,gtu12,kmul(Gt123,gtu13))),kmadd(kmadd(At23L,Gt223,kmul(At33L,Gt323)),gtu33,kmul(At13L,kmadd(Gt322,gtu12,kmadd(Gt112,gtu13,kmadd(Gt122,gtu23,kmul(Gt123,gtu33))))))))),ToReal(-1.),kmadd(gtu23,kadd(JacPDstandardNth2At23,kadd(JacPDstandardNth3At22,kmadd(kmadd(At22L,Gt223,kmul(At23L,Gt323)),ToReal(-3.),kmul(kmadd(At23L,Gt222,kmul(At33L,Gt322)),ToReal(-1.))))),kmadd(gtu13,kadd(JacPDstandardNth1At23,kadd(JacPDstandardNth3At12,kmadd(At23L,kmul(Gt313,ToReal(-2.)),kmul(At13L,kmul(Gt323,ToReal(-1.)))))),kmadd(JacPDstandardNth2trK,ToReal(-0.666666666666666666666666666667),kmadd(At23L,kmadd(Gt312,kmul(gtu12,ToReal(-3.)),kmadd(Gt322,kmul(gtu22,ToReal(-2.)),kmadd(Gt333,kmul(gtu33,ToReal(-1.)),kmul(kmadd(cdphi1,gtu13,kmadd(cdphi2,gtu23,kmul(cdphi3,gtu33))),ToReal(6.))))),kmadd(At22L,kmadd(kmadd(Gt213,gtu13,kmul(Gt222,gtu22)),ToReal(-2.),kmadd(Gt233,kmul(gtu33,ToReal(-1.)),kmadd(kmadd(cdphi2,gtu22,kmul(cdphi3,gtu23)),ToReal(6.),kmul(gtu12,kmadd(Gt212,ToReal(-3.),kmul(cdphi1,ToReal(6.))))))),kmul(At12L,kmadd(Gt123,kmul(gtu23,ToReal(-3.)),kmadd(Gt122,kmul(gtu22,ToReal(-2.)),kmadd(Gt133,kmul(gtu33,ToReal(-1.)),kmadd(gtu11,kmadd(kadd(Gt111,Gt212),ToReal(-1.),kmul(cdphi1,ToReal(6.))),kmadd(gtu12,kmadd(Gt112,ToReal(-3.),kmadd(Gt222,ToReal(-1.),kmul(cdphi2,ToReal(6.)))),kmul(gtu13,kmadd(Gt113,ToReal(-2.),kmadd(Gt223,ToReal(-1.),kmul(cdphi3,ToReal(6.)))))))))))))))))))))); + kmadd(gtu11,JacPDstandardNth1At12,kmadd(gtu12,JacPDstandardNth1At22,kmadd(gtu13,JacPDstandardNth1At23,kmadd(gtu12,JacPDstandardNth2At12,kmadd(gtu22,JacPDstandardNth2At22,kmadd(gtu23,JacPDstandardNth2At23,kmadd(gtu13,JacPDstandardNth3At12,kmadd(gtu23,JacPDstandardNth3At22,kmadd(gtu33,JacPDstandardNth3At23,kmadd(At22L,kmul(Gt222,kmul(gtu22,ToReal(-2))),knmsub(At11L,kmadd(Gt112,gtu11,kmadd(Gt122,gtu12,kmul(Gt123,gtu13))),knmsub(gtu11,kmadd(At22L,Gt211,kmadd(At13L,Gt312,kmul(At23L,Gt311))),kmadd(Gt212,kmsub(At22L,kmul(gtu12,ToReal(-3)),kmul(At23L,gtu13)),kmadd(Gt312,kmsub(At23L,kmul(gtu12,ToReal(-3)),kmul(At33L,gtu13)),kmadd(Gt322,kmsub(At23L,kmul(gtu22,ToReal(-2)),kmul(At33L,gtu23)),kmadd(Gt223,kmsub(At22L,kmul(gtu23,ToReal(-3)),kmul(At23L,gtu33)),kmadd(Gt323,kmsub(At23L,kmul(gtu23,ToReal(-3)),kmul(At33L,gtu33)),kmadd(At22L,kmsub(Gt213,kmul(gtu13,ToReal(-2)),kmul(Gt233,gtu33)),kmadd(At23L,kmsub(Gt313,kmul(gtu13,ToReal(-2)),kmadd(Gt333,gtu33,kmul(Gt222,gtu23))),kmadd(JacPDstandardNth2trK,ToReal(-0.666666666666666666666666666667),kmadd(At22L,kmul(cdphi2,kmul(gtu22,ToReal(6))),kmadd(At22L,kmul(cdphi3,kmul(gtu23,ToReal(6))),kmadd(gtu12,kmsub(At22L,kmul(cdphi1,ToReal(6)),kmul(At13L,Gt322)),kmadd(gtu13,kmsub(At23L,kmul(cdphi1,ToReal(6)),kmul(At13L,kadd(Gt323,Gt112))),kmadd(gtu23,kmsub(At23L,kmul(cdphi2,ToReal(6)),kmul(At13L,Gt122)),kmadd(gtu33,kmsub(At23L,kmul(cdphi3,ToReal(6)),kmul(At13L,Gt123)),kmadd(At12L,kmadd(Gt112,kmul(gtu12,ToReal(-3)),kmadd(Gt123,kmul(gtu23,ToReal(-3)),kmadd(Gt113,kmul(gtu13,ToReal(-2)),kmadd(Gt122,kmul(gtu22,ToReal(-2)),knmsub(Gt133,gtu33,kmadd(gtu11,ksub(kmsub(cdphi1,ToReal(6),Gt212),Gt111),kmadd(gtu12,kmsub(cdphi2,ToReal(6),Gt222),kmul(gtu13,kmsub(cdphi3,ToReal(6),Gt223))))))))),kmul(S2,ToReal(-25.1327412287183459077011470662))))))))))))))))))))))))))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED M3L = - kmadd(gtu11,JacPDstandardNth1At13,kmadd(gtu22,JacPDstandardNth2At23,kmadd(gtu13,kadd(JacPDstandardNth1At33,JacPDstandardNth3At13),kmadd(gtu33,JacPDstandardNth3At33,kmadd(S3,ToReal(-25.132741228718345),kmadd(kmadd(kmadd(At23L,Gt211,kmadd(At12L,Gt213,kmul(At33L,Gt311))),gtu11,kmadd(kmadd(At22L,Gt213,kmul(At12L,kadd(Gt113,Gt223))),gtu12,kmadd(At11L,kmadd(Gt113,gtu11,kmadd(Gt123,gtu12,kmul(Gt133,gtu13))),kmadd(kmadd(At23L,Gt222,kmul(At22L,Gt223)),gtu22,kmul(At12L,kmadd(Gt233,gtu13,kmadd(Gt123,gtu22,kmul(Gt133,gtu23)))))))),ToReal(-1.),kmadd(gtu12,kadd(JacPDstandardNth1At23,kadd(JacPDstandardNth2At13,kmadd(At33L,kmul(Gt312,ToReal(-2.)),kmul(At23L,kmul(Gt313,ToReal(-1.)))))),kmadd(gtu23,kadd(JacPDstandardNth2At33,kadd(JacPDstandardNth3At23,kmadd(kmadd(At23L,Gt223,kmul(At33L,Gt323)),ToReal(-3.),kmul(kmadd(At22L,Gt233,kmul(At23L,Gt333)),ToReal(-1.))))),kmadd(JacPDstandardNth3trK,ToReal(-0.666666666666666666666666666667),kmadd(At33L,kmadd(Gt333,kmul(gtu33,ToReal(-2.)),kmadd(Gt322,kmul(gtu22,ToReal(-1.)),kmadd(kmadd(cdphi2,gtu23,kmul(cdphi3,gtu33)),ToReal(6.),kmul(gtu13,kmadd(Gt313,ToReal(-3.),kmul(cdphi1,ToReal(6.))))))),kmadd(At23L,kmadd(Gt213,kmul(gtu13,ToReal(-3.)),kmadd(Gt233,kmul(gtu33,ToReal(-2.)),kmadd(cdphi3,kmul(gtu23,ToReal(6.)),kmadd(gtu12,kmadd(Gt212,ToReal(-2.),kmul(cdphi1,ToReal(6.))),kmul(gtu22,kmadd(Gt323,ToReal(-1.),kmul(cdphi2,ToReal(6.)))))))),kmul(At13L,kmadd(Gt123,kmul(gtu23,ToReal(-3.)),kmadd(Gt133,kmul(gtu33,ToReal(-2.)),kmadd(Gt122,kmul(gtu22,ToReal(-1.)),kmadd(gtu11,kmadd(kadd(Gt111,Gt313),ToReal(-1.),kmul(cdphi1,ToReal(6.))),kmadd(gtu12,kmadd(Gt112,ToReal(-2.),kmadd(Gt323,ToReal(-1.),kmul(cdphi2,ToReal(6.)))),kmul(gtu13,kmadd(Gt113,ToReal(-3.),kmadd(Gt333,ToReal(-1.),kmul(cdphi3,ToReal(6.)))))))))))))))))))))); + kmadd(gtu11,JacPDstandardNth1At13,kmadd(gtu12,JacPDstandardNth1At23,kmadd(gtu13,JacPDstandardNth1At33,kmadd(gtu12,JacPDstandardNth2At13,kmadd(gtu22,JacPDstandardNth2At23,kmadd(gtu23,JacPDstandardNth2At33,kmadd(gtu13,JacPDstandardNth3At13,kmadd(gtu23,JacPDstandardNth3At23,kmadd(gtu33,JacPDstandardNth3At33,kmadd(At33L,kmul(Gt313,kmul(gtu13,ToReal(-3))),kmadd(At23L,kmul(Gt223,kmul(gtu23,ToReal(-3))),kmadd(At33L,kmul(Gt323,kmul(gtu23,ToReal(-3))),kmadd(At23L,kmul(Gt233,kmul(gtu33,ToReal(-2))),kmadd(At33L,kmul(Gt333,kmul(gtu33,ToReal(-2))),knmsub(At11L,kmadd(Gt113,gtu11,kmadd(Gt123,gtu12,kmul(Gt133,gtu13))),kmadd(gtu12,kmsub(At23L,kmul(Gt212,ToReal(-2)),kmul(At12L,Gt223)),knmsub(gtu11,kmadd(At23L,Gt211,kmadd(At33L,Gt311,kmul(At12L,Gt213))),kmadd(At33L,kmsub(Gt312,kmul(gtu12,ToReal(-2)),kmul(Gt322,gtu22)),kmadd(At23L,kmsub(Gt213,kmul(gtu13,ToReal(-3)),kmadd(Gt333,gtu23,kmul(Gt222,gtu22))),kmadd(JacPDstandardNth3trK,ToReal(-0.666666666666666666666666666667),kmadd(At33L,kmul(cdphi3,kmul(gtu33,ToReal(6))),kmadd(gtu13,kmsub(At33L,kmul(cdphi1,ToReal(6)),kmul(At12L,Gt233)),kmadd(gtu23,kmsub(At33L,kmul(cdphi2,ToReal(6)),kmul(At12L,Gt133)),kmadd(gtu23,kmsub(At23L,kmul(cdphi3,ToReal(6)),kmul(At22L,Gt233)),kmadd(gtu12,knmsub(At12L,Gt113,kmsub(At23L,kmsub(cdphi1,ToReal(6),Gt313),kmul(At22L,Gt213))),kmadd(gtu22,knmsub(At12L,Gt123,kmsub(At23L,kmsub(cdphi2,ToReal(6),Gt323),kmul(At22L,Gt223))),kmadd(At13L,kmadd(Gt113,kmul(gtu13,ToReal(-3)),kmadd(Gt123,kmul(gtu23,ToReal(-3)),kmadd(Gt112,kmul(gtu12,ToReal(-2)),kmadd(Gt133,kmul(gtu33,ToReal(-2)),knmsub(Gt122,gtu22,kmadd(gtu11,ksub(kmsub(cdphi1,ToReal(6),Gt313),Gt111),kmadd(gtu12,kmsub(cdphi2,ToReal(6),Gt323),kmul(gtu13,kmsub(cdphi3,ToReal(6),Gt333))))))))),kmul(S3,ToReal(-25.1327412287183459077011470662))))))))))))))))))))))))))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED cSL = klog(detgt); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED cXt1L = - kmadd(Gt111,gtu11,kmadd(Gt122,gtu22,kmadd(Gt133,gtu33,kmadd(Xt1L,ToReal(-1.),kmul(kmadd(Gt112,gtu12,kmadd(Gt113,gtu13,kmul(Gt123,gtu23))),ToReal(2.)))))); + kmadd(Gt111,gtu11,kmadd(Gt122,gtu22,kmadd(Gt133,gtu33,kmsub(kmadd(Gt112,gtu12,kmadd(Gt113,gtu13,kmul(Gt123,gtu23))),ToReal(2),Xt1L)))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED cXt2L = - kmadd(Gt211,gtu11,kmadd(Gt222,gtu22,kmadd(Gt233,gtu33,kmadd(Xt2L,ToReal(-1.),kmul(kmadd(Gt212,gtu12,kmadd(Gt213,gtu13,kmul(Gt223,gtu23))),ToReal(2.)))))); + kmadd(Gt211,gtu11,kmadd(Gt222,gtu22,kmadd(Gt233,gtu33,kmsub(kmadd(Gt212,gtu12,kmadd(Gt213,gtu13,kmul(Gt223,gtu23))),ToReal(2),Xt2L)))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED cXt3L = - kmadd(Gt311,gtu11,kmadd(Gt322,gtu22,kmadd(Gt333,gtu33,kmadd(Xt3L,ToReal(-1.),kmul(kmadd(Gt312,gtu12,kmadd(Gt313,gtu13,kmul(Gt323,gtu23))),ToReal(2.)))))); + kmadd(Gt311,gtu11,kmadd(Gt322,gtu22,kmadd(Gt333,gtu33,kmsub(kmadd(Gt312,gtu12,kmadd(Gt313,gtu13,kmul(Gt323,gtu23))),ToReal(2),Xt3L)))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED cAL = - kmadd(At11L,gtu11,kmadd(At22L,gtu22,kmadd(At33L,gtu33,kmul(kmadd(At12L,gtu12,kmadd(At13L,gtu13,kmul(At23L,gtu23))),ToReal(2.))))); + kmadd(At11L,gtu11,kmadd(At22L,gtu22,kmadd(At33L,gtu33,kmul(kmadd(At12L,gtu12,kmadd(At13L,gtu13,kmul(At23L,gtu23))),ToReal(2))))); /* Copy local copies back to grid functions */ - vec_store_partial_prepare(i,kimin,kimax); + vec_store_partial_prepare(i,vecimin,vecimax); vec_store_nta_partial(cA[index],cAL); vec_store_nta_partial(cS[index],cSL); vec_store_nta_partial(cXt1[index],cXt1L); @@ -1880,7 +1921,7 @@ extern "C" void ML_CCZ4_constraints2(CCTK_ARGUMENTS) return; } - const char *const groups[] = { + const char* const groups[] = { "ML_CCZ4::ML_cons_detg", "ML_CCZ4::ML_cons_Gamma", "ML_CCZ4::ML_cons_traceA", @@ -1894,23 +1935,33 @@ extern "C" void ML_CCZ4_constraints2(CCTK_ARGUMENTS) "ML_CCZ4::ML_trace_curv"}; GenericFD_AssertGroupStorage(cctkGH, "ML_CCZ4_constraints2", 11, groups); - switch(fdOrder) + switch (fdOrder) { case 2: + { GenericFD_EnsureStencilFits(cctkGH, "ML_CCZ4_constraints2", 1, 1, 1); break; + } case 4: + { GenericFD_EnsureStencilFits(cctkGH, "ML_CCZ4_constraints2", 2, 2, 2); break; + } case 6: + { GenericFD_EnsureStencilFits(cctkGH, "ML_CCZ4_constraints2", 3, 3, 3); break; + } case 8: + { GenericFD_EnsureStencilFits(cctkGH, "ML_CCZ4_constraints2", 4, 4, 4); break; + } + default: + CCTK_BUILTIN_UNREACHABLE(); } GenericFD_LoopOverInterior(cctkGH, ML_CCZ4_constraints2_Body); diff --git a/ML_CCZ4/src/ML_CCZ4_convertFromADMBase.cc b/ML_CCZ4/src/ML_CCZ4_convertFromADMBase.cc index ad6bca9..3f02ea3 100644 --- a/ML_CCZ4/src/ML_CCZ4_convertFromADMBase.cc +++ b/ML_CCZ4/src/ML_CCZ4_convertFromADMBase.cc @@ -27,7 +27,7 @@ #define CUB(x) (kmul(x,SQR(x))) #define QAD(x) (SQR(SQR(x))) -static void ML_CCZ4_convertFromADMBase_Body(cGH const * restrict const cctkGH, int const dir, int const face, CCTK_REAL const normal[3], CCTK_REAL const tangentA[3], CCTK_REAL const tangentB[3], int const imin[3], int const imax[3], int const n_subblock_gfs, CCTK_REAL * restrict const subblock_gfs[]) +static void ML_CCZ4_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,153 +36,175 @@ static void ML_CCZ4_convertFromADMBase_Body(cGH const * restrict const cctkGH, i /* Include user-supplied include files */ /* Initialise finite differencing variables */ - ptrdiff_t /*const*/ di CCTK_ATTRIBUTE_UNUSED = 1; - ptrdiff_t /*const*/ dj CCTK_ATTRIBUTE_UNUSED = CCTK_GFINDEX3D(cctkGH,0,1,0) - CCTK_GFINDEX3D(cctkGH,0,0,0); - ptrdiff_t /*const*/ dk CCTK_ATTRIBUTE_UNUSED = CCTK_GFINDEX3D(cctkGH,0,0,1) - CCTK_GFINDEX3D(cctkGH,0,0,0); - ptrdiff_t /*const*/ cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * di; - ptrdiff_t /*const*/ cdj CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * dj; - ptrdiff_t /*const*/ cdk CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * dk; - CCTK_REAL_VEC /*const*/ dx CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(0)); - CCTK_REAL_VEC /*const*/ dy CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(1)); - CCTK_REAL_VEC /*const*/ dz CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(2)); - CCTK_REAL_VEC /*const*/ dt CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_TIME); - CCTK_REAL_VEC /*const*/ t CCTK_ATTRIBUTE_UNUSED = ToReal(cctk_time); - CCTK_REAL_VEC /*const*/ dxi CCTK_ATTRIBUTE_UNUSED = INV(dx); - CCTK_REAL_VEC /*const*/ dyi CCTK_ATTRIBUTE_UNUSED = INV(dy); - CCTK_REAL_VEC /*const*/ dzi CCTK_ATTRIBUTE_UNUSED = INV(dz); - CCTK_REAL_VEC /*const*/ khalf CCTK_ATTRIBUTE_UNUSED = ToReal(0.5); - CCTK_REAL_VEC /*const*/ kthird CCTK_ATTRIBUTE_UNUSED = ToReal(1.0/3.0); - CCTK_REAL_VEC /*const*/ ktwothird CCTK_ATTRIBUTE_UNUSED = ToReal(2.0/3.0); - CCTK_REAL_VEC /*const*/ kfourthird CCTK_ATTRIBUTE_UNUSED = ToReal(4.0/3.0); - CCTK_REAL_VEC /*const*/ keightthird CCTK_ATTRIBUTE_UNUSED = ToReal(8.0/3.0); - CCTK_REAL_VEC /*const*/ hdxi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dxi); - CCTK_REAL_VEC /*const*/ hdyi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dyi); - CCTK_REAL_VEC /*const*/ hdzi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dzi); + const ptrdiff_t di CCTK_ATTRIBUTE_UNUSED = 1; + const ptrdiff_t dj CCTK_ATTRIBUTE_UNUSED = CCTK_GFINDEX3D(cctkGH,0,1,0) - CCTK_GFINDEX3D(cctkGH,0,0,0); + const ptrdiff_t dk CCTK_ATTRIBUTE_UNUSED = CCTK_GFINDEX3D(cctkGH,0,0,1) - CCTK_GFINDEX3D(cctkGH,0,0,0); + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * di; + const ptrdiff_t cdj CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * dj; + const ptrdiff_t cdk CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * dk; + const CCTK_REAL_VEC dx CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(0)); + const CCTK_REAL_VEC dy CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(1)); + const CCTK_REAL_VEC dz CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(2)); + const CCTK_REAL_VEC dt CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_TIME); + const CCTK_REAL_VEC t CCTK_ATTRIBUTE_UNUSED = ToReal(cctk_time); + const CCTK_REAL_VEC dxi CCTK_ATTRIBUTE_UNUSED = INV(dx); + const CCTK_REAL_VEC dyi CCTK_ATTRIBUTE_UNUSED = INV(dy); + const CCTK_REAL_VEC dzi CCTK_ATTRIBUTE_UNUSED = INV(dz); + const CCTK_REAL_VEC khalf CCTK_ATTRIBUTE_UNUSED = ToReal(0.5); + const CCTK_REAL_VEC kthird CCTK_ATTRIBUTE_UNUSED = ToReal(1.0/3.0); + const CCTK_REAL_VEC ktwothird CCTK_ATTRIBUTE_UNUSED = ToReal(2.0/3.0); + const CCTK_REAL_VEC kfourthird CCTK_ATTRIBUTE_UNUSED = ToReal(4.0/3.0); + const CCTK_REAL_VEC keightthird CCTK_ATTRIBUTE_UNUSED = ToReal(8.0/3.0); + const CCTK_REAL_VEC hdxi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dxi); + const CCTK_REAL_VEC hdyi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dyi); + const CCTK_REAL_VEC hdzi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dzi); /* Initialize predefined quantities */ - CCTK_REAL_VEC /*const*/ p1o1024dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dx); - CCTK_REAL_VEC /*const*/ p1o1024dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dy); - CCTK_REAL_VEC /*const*/ p1o1024dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dz); - CCTK_REAL_VEC /*const*/ p1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dx); - CCTK_REAL_VEC /*const*/ p1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dy); - CCTK_REAL_VEC /*const*/ p1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dz); - CCTK_REAL_VEC /*const*/ p1o12dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dx); - CCTK_REAL_VEC /*const*/ p1o12dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dy); - CCTK_REAL_VEC /*const*/ p1o12dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dz); - CCTK_REAL_VEC /*const*/ p1o144dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o144dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o144dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o1680dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dx); - CCTK_REAL_VEC /*const*/ p1o1680dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dy); - CCTK_REAL_VEC /*const*/ p1o1680dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dz); - CCTK_REAL_VEC /*const*/ p1o180dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ p1o180dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ p1o180dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ p1o24dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dx); - CCTK_REAL_VEC /*const*/ p1o24dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dy); - CCTK_REAL_VEC /*const*/ p1o24dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dz); - CCTK_REAL_VEC /*const*/ p1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dx); - CCTK_REAL_VEC /*const*/ p1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dy); - CCTK_REAL_VEC /*const*/ p1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dz); - CCTK_REAL_VEC /*const*/ p1o3600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o3600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o3600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dx); - CCTK_REAL_VEC /*const*/ p1o4dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o4dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dy); - CCTK_REAL_VEC /*const*/ p1o4dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dz); - CCTK_REAL_VEC /*const*/ p1o5040dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ p1o5040dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ p1o5040dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ p1o560dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dx); - CCTK_REAL_VEC /*const*/ p1o560dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dy); - CCTK_REAL_VEC /*const*/ p1o560dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dz); - CCTK_REAL_VEC /*const*/ p1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dx); - CCTK_REAL_VEC /*const*/ p1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dy); - CCTK_REAL_VEC /*const*/ p1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dz); - CCTK_REAL_VEC /*const*/ p1o64dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dx); - CCTK_REAL_VEC /*const*/ p1o64dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dy); - CCTK_REAL_VEC /*const*/ p1o64dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dz); - CCTK_REAL_VEC /*const*/ p1o705600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o705600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o705600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o840dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dx); - CCTK_REAL_VEC /*const*/ p1o840dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dy); - CCTK_REAL_VEC /*const*/ p1o840dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dz); - CCTK_REAL_VEC /*const*/ p1odx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dx); - CCTK_REAL_VEC /*const*/ p1odx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ p1ody CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dy); - CCTK_REAL_VEC /*const*/ p1ody2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ p1odz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dz); - CCTK_REAL_VEC /*const*/ p1odz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ pm1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dx); - CCTK_REAL_VEC /*const*/ pm1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dy); - CCTK_REAL_VEC /*const*/ pm1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dz); - CCTK_REAL_VEC /*const*/ pm1o12dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ pm1o12dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ pm1o12dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ pm1o16dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dx); - CCTK_REAL_VEC /*const*/ pm1o16dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dy); - CCTK_REAL_VEC /*const*/ pm1o16dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dz); - CCTK_REAL_VEC /*const*/ pm1o256dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dx); - CCTK_REAL_VEC /*const*/ pm1o256dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dy); - CCTK_REAL_VEC /*const*/ pm1o256dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dz); - CCTK_REAL_VEC /*const*/ pm1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dx); - CCTK_REAL_VEC /*const*/ pm1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dy); - CCTK_REAL_VEC /*const*/ pm1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dz); - CCTK_REAL_VEC /*const*/ pm1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dx); - CCTK_REAL_VEC /*const*/ pm1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dy); - CCTK_REAL_VEC /*const*/ pm1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dz); - CCTK_REAL_VEC /*const*/ pm1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dx); - CCTK_REAL_VEC /*const*/ pm1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dy); - CCTK_REAL_VEC /*const*/ pm1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dz); + const CCTK_REAL_VEC p1o1024dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dx); + const CCTK_REAL_VEC p1o1024dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dy); + const CCTK_REAL_VEC p1o1024dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dz); + const CCTK_REAL_VEC p1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dx); + const CCTK_REAL_VEC p1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dy); + const CCTK_REAL_VEC p1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dz); + const CCTK_REAL_VEC p1o12dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dx); + const CCTK_REAL_VEC p1o12dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dy); + const CCTK_REAL_VEC p1o12dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dz); + const CCTK_REAL_VEC p1o144dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dy,dx)); + const CCTK_REAL_VEC p1o144dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dx)); + const CCTK_REAL_VEC p1o144dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dy)); + const CCTK_REAL_VEC p1o1680dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dx); + const CCTK_REAL_VEC p1o1680dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dy); + const CCTK_REAL_VEC p1o1680dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dz); + const CCTK_REAL_VEC p1o180dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dx,dx)); + const CCTK_REAL_VEC p1o180dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dy,dy)); + const CCTK_REAL_VEC p1o180dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dz,dz)); + const CCTK_REAL_VEC p1o24dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dx); + const CCTK_REAL_VEC p1o24dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dy); + const CCTK_REAL_VEC p1o24dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dz); + const CCTK_REAL_VEC p1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dx); + const CCTK_REAL_VEC p1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dy); + const CCTK_REAL_VEC p1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dz); + const CCTK_REAL_VEC p1o3600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dy,dx)); + const CCTK_REAL_VEC p1o3600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dx)); + const CCTK_REAL_VEC p1o3600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dy)); + const CCTK_REAL_VEC p1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dx); + const CCTK_REAL_VEC p1o4dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dy,dx)); + const CCTK_REAL_VEC p1o4dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dx)); + const CCTK_REAL_VEC p1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dy); + const CCTK_REAL_VEC p1o4dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dy)); + const CCTK_REAL_VEC p1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dz); + const CCTK_REAL_VEC p1o5040dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dx,dx)); + const CCTK_REAL_VEC p1o5040dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dy,dy)); + const CCTK_REAL_VEC p1o5040dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dz,dz)); + const CCTK_REAL_VEC p1o560dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dx); + const CCTK_REAL_VEC p1o560dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dy); + const CCTK_REAL_VEC p1o560dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dz); + const CCTK_REAL_VEC p1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dx); + const CCTK_REAL_VEC p1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dy); + const CCTK_REAL_VEC p1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dz); + const CCTK_REAL_VEC p1o64dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dx); + const CCTK_REAL_VEC p1o64dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dy); + const CCTK_REAL_VEC p1o64dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dz); + const CCTK_REAL_VEC p1o705600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dy,dx)); + const CCTK_REAL_VEC p1o705600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dx)); + const CCTK_REAL_VEC p1o705600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dy)); + const CCTK_REAL_VEC p1o840dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dx); + const CCTK_REAL_VEC p1o840dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dy); + const CCTK_REAL_VEC p1o840dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dz); + const CCTK_REAL_VEC p1odx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dx); + const CCTK_REAL_VEC p1odx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dx,dx)); + const CCTK_REAL_VEC p1ody CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dy); + const CCTK_REAL_VEC p1ody2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dy,dy)); + const CCTK_REAL_VEC p1odz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dz); + const CCTK_REAL_VEC p1odz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dz,dz)); + const CCTK_REAL_VEC pm1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dx); + const CCTK_REAL_VEC pm1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dy); + const CCTK_REAL_VEC pm1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dz); + const CCTK_REAL_VEC pm1o12dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dx,dx)); + const CCTK_REAL_VEC pm1o12dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dy,dy)); + const CCTK_REAL_VEC pm1o12dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dz,dz)); + const CCTK_REAL_VEC pm1o16dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dx); + const CCTK_REAL_VEC pm1o16dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dy); + const CCTK_REAL_VEC pm1o16dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dz); + const CCTK_REAL_VEC pm1o256dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dx); + const CCTK_REAL_VEC pm1o256dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dy); + const CCTK_REAL_VEC pm1o256dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dz); + const CCTK_REAL_VEC pm1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dx); + const CCTK_REAL_VEC pm1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dy); + const CCTK_REAL_VEC pm1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dz); + const CCTK_REAL_VEC pm1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dx); + const CCTK_REAL_VEC pm1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dy); + const CCTK_REAL_VEC pm1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dz); + const CCTK_REAL_VEC pm1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dx); + const CCTK_REAL_VEC pm1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dy); + const CCTK_REAL_VEC pm1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dz); /* Jacobian variable pointers */ - bool const use_jacobian CCTK_ATTRIBUTE_UNUSED = (!CCTK_IsFunctionAliased("MultiPatch_GetMap") || MultiPatch_GetMap(cctkGH) != jacobian_identity_map) - && strlen(jacobian_group) > 0; - if (use_jacobian && strlen(jacobian_derivative_group) == 0) + const bool use_jacobian1 = (!CCTK_IsFunctionAliased("MultiPatch_GetMap") || MultiPatch_GetMap(cctkGH) != jacobian_identity_map) + && strlen(jacobian_group) > 0; + const bool use_jacobian = assume_use_jacobian>=0 ? assume_use_jacobian : use_jacobian1; + const bool usejacobian CCTK_ATTRIBUTE_UNUSED = use_jacobian; + if (use_jacobian && (strlen(jacobian_determinant_group) == 0 || strlen(jacobian_inverse_group) == 0 || strlen(jacobian_derivative_group) == 0)) { - CCTK_WARN (1, "GenericFD::jacobian_group and GenericFD::jacobian_derivative_group must both be set to valid group names"); + CCTK_WARN(1, "GenericFD::jacobian_group, GenericFD::jacobian_determinant_group, GenericFD::jacobian_inverse_group, and GenericFD::jacobian_derivative_group must all be set to valid group names"); } - CCTK_REAL const *restrict jacobian_ptrs[9]; + const CCTK_REAL* restrict jacobian_ptrs[9]; if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_group, 9, jacobian_ptrs); - CCTK_REAL const *restrict const J11 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[0] : 0; - CCTK_REAL const *restrict const J12 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[1] : 0; - CCTK_REAL const *restrict const J13 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[2] : 0; - CCTK_REAL const *restrict const J21 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[3] : 0; - CCTK_REAL const *restrict const J22 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[4] : 0; - CCTK_REAL const *restrict const J23 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[5] : 0; - CCTK_REAL const *restrict const J31 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[6] : 0; - CCTK_REAL const *restrict const J32 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[7] : 0; - CCTK_REAL const *restrict const J33 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[8] : 0; + const CCTK_REAL* restrict const J11 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[0] : 0; + const CCTK_REAL* restrict const J12 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[1] : 0; + const CCTK_REAL* restrict const J13 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[2] : 0; + const CCTK_REAL* restrict const J21 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[3] : 0; + const CCTK_REAL* restrict const J22 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[4] : 0; + const CCTK_REAL* restrict const J23 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[5] : 0; + const CCTK_REAL* restrict const J31 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[6] : 0; + const CCTK_REAL* restrict const J32 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[7] : 0; + const CCTK_REAL* restrict const J33 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[8] : 0; - 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 */ @@ -193,13 +215,20 @@ static void ML_CCZ4_convertFromADMBase_Body(cGH const * restrict const cctkGH, i /* 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_CCZ4_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 */ @@ -228,19 +257,29 @@ static void ML_CCZ4_convertFromADMBase_Body(cGH const * restrict const cctkGH, i /* 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 */ @@ -257,29 +296,29 @@ static void ML_CCZ4_convertFromADMBase_Body(cGH const * restrict const cctkGH, i CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED g33 = gzzL; CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED detg = - kmadd(kmadd(g22,kmul(g13,g13),kmul(g11,kmul(g23,g23))),ToReal(-1.),kmadd(g33,kmadd(g11,g22,kmul(kmul(g12,g12),ToReal(-1.))),kmul(g12,kmul(g13,kmul(g23,ToReal(2.)))))); + knmsub(g22,kmul(g13,g13),knmsub(g11,kmul(g23,g23),kmadd(g33,kmsub(g11,g22,kmul(g12,g12)),kmul(g12,kmul(g13,kmul(g23,ToReal(2))))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gu11 = - kdiv(kmadd(g22,g33,kmul(kmul(g23,g23),ToReal(-1.))),detg); + kdiv(kmsub(g22,g33,kmul(g23,g23)),detg); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gu12 = - kdiv(kmadd(g13,g23,kmul(g12,kmul(g33,ToReal(-1.)))),detg); + kdiv(kmsub(g13,g23,kmul(g12,g33)),detg); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gu13 = - kdiv(kmadd(g12,g23,kmul(g13,kmul(g22,ToReal(-1.)))),detg); + kdiv(kmsub(g12,g23,kmul(g13,g22)),detg); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gu22 = - kdiv(kmadd(g11,g33,kmul(kmul(g13,g13),ToReal(-1.))),detg); + kdiv(kmsub(g11,g33,kmul(g13,g13)),detg); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gu23 = - kdiv(kmadd(g12,g13,kmul(g11,kmul(g23,ToReal(-1.)))),detg); + kdiv(kmsub(g12,g13,kmul(g11,g23)),detg); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gu33 = - kdiv(kmadd(g11,g22,kmul(kmul(g12,g12),ToReal(-1.))),detg); + kdiv(kmsub(g11,g22,kmul(g12,g12)),detg); - CCTK_REAL_VEC em4phi CCTK_ATTRIBUTE_UNUSED ; + CCTK_REAL_VEC em4phi CCTK_ATTRIBUTE_UNUSED; - if (conformalMethod == 1.) + if (conformalMethod == 1) { phiL = kpow(detg,-0.166666666666666666666666666667); @@ -289,7 +328,7 @@ static void ML_CCZ4_convertFromADMBase_Body(cGH const * restrict const cctkGH, i { phiL = kmul(klog(detg),ToReal(0.0833333333333333333333333333333)); - em4phi = kexp(kmul(phiL,ToReal(-4.))); + em4phi = kexp(kmul(phiL,ToReal(-4))); } CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gt11L = kmul(em4phi,g11); @@ -305,7 +344,7 @@ static void ML_CCZ4_convertFromADMBase_Body(cGH const * restrict const cctkGH, i CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gt33L = kmul(em4phi,g33); trKL = - kmadd(kxxL,gu11,kmadd(kyyL,gu22,kmadd(kzzL,gu33,kmul(kmadd(kxyL,gu12,kmadd(kxzL,gu13,kmul(kyzL,gu23))),ToReal(2.))))); + kmadd(kxxL,gu11,kmadd(kyyL,gu22,kmadd(kzzL,gu33,kmul(kmadd(kxyL,gu12,kmadd(kxzL,gu13,kmul(kyzL,gu23))),ToReal(2))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED At11L = kmul(em4phi,kmadd(trKL,kmul(g11,ToReal(-0.333333333333333333333333333333)),kxxL)); @@ -333,10 +372,10 @@ static void ML_CCZ4_convertFromADMBase_Body(cGH const * restrict const cctkGH, i CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED beta3L = betazL; - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED ThetaL = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED ThetaL = 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(At11[index],At11L); vec_store_nta_partial(At12[index],At12L); @@ -376,7 +415,7 @@ extern "C" void ML_CCZ4_convertFromADMBase(CCTK_ARGUMENTS) return; } - const char *const groups[] = { + const char* const groups[] = { "ADMBase::curv", "ADMBase::lapse", "ADMBase::metric", @@ -390,19 +429,29 @@ extern "C" void ML_CCZ4_convertFromADMBase(CCTK_ARGUMENTS) "ML_CCZ4::ML_trace_curv"}; GenericFD_AssertGroupStorage(cctkGH, "ML_CCZ4_convertFromADMBase", 11, 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_CCZ4_convertFromADMBase_Body); diff --git a/ML_CCZ4/src/ML_CCZ4_convertFromADMBaseGamma.cc b/ML_CCZ4/src/ML_CCZ4_convertFromADMBaseGamma.cc index e4a91e0..a2d6a0f 100644 --- a/ML_CCZ4/src/ML_CCZ4_convertFromADMBaseGamma.cc +++ b/ML_CCZ4/src/ML_CCZ4_convertFromADMBaseGamma.cc @@ -32,7 +32,9 @@ extern "C" void ML_CCZ4_convertFromADMBaseGamma_SelectBCs(CCTK_ARGUMENTS) DECLARE_CCTK_ARGUMENTS; DECLARE_CCTK_PARAMETERS; - CCTK_INT ierr CCTK_ATTRIBUTE_UNUSED = 0; + if (cctk_iteration % ML_CCZ4_convertFromADMBaseGamma_calc_every != ML_CCZ4_convertFromADMBaseGamma_calc_offset) + return; + CCTK_INT ierr CCTK_ATTRIBUTE_UNUSED = 0; ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_CCZ4::ML_dtlapse","flat"); if (ierr < 0) CCTK_WARN(1, "Failed to register flat BC for ML_CCZ4::ML_dtlapse."); @@ -45,7 +47,7 @@ extern "C" void ML_CCZ4_convertFromADMBaseGamma_SelectBCs(CCTK_ARGUMENTS) return; } -static void ML_CCZ4_convertFromADMBaseGamma_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_CCZ4_convertFromADMBaseGamma_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; @@ -54,153 +56,175 @@ static void ML_CCZ4_convertFromADMBaseGamma_Body(cGH const * restrict const cctk /* Include user-supplied include files */ /* Initialise finite differencing variables */ - ptrdiff_t /*const*/ di CCTK_ATTRIBUTE_UNUSED = 1; - ptrdiff_t /*const*/ dj CCTK_ATTRIBUTE_UNUSED = CCTK_GFINDEX3D(cctkGH,0,1,0) - CCTK_GFINDEX3D(cctkGH,0,0,0); - ptrdiff_t /*const*/ dk CCTK_ATTRIBUTE_UNUSED = CCTK_GFINDEX3D(cctkGH,0,0,1) - CCTK_GFINDEX3D(cctkGH,0,0,0); - ptrdiff_t /*const*/ cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * di; - ptrdiff_t /*const*/ cdj CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * dj; - ptrdiff_t /*const*/ cdk CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * dk; - CCTK_REAL_VEC /*const*/ dx CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(0)); - CCTK_REAL_VEC /*const*/ dy CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(1)); - CCTK_REAL_VEC /*const*/ dz CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(2)); - CCTK_REAL_VEC /*const*/ dt CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_TIME); - CCTK_REAL_VEC /*const*/ t CCTK_ATTRIBUTE_UNUSED = ToReal(cctk_time); - CCTK_REAL_VEC /*const*/ dxi CCTK_ATTRIBUTE_UNUSED = INV(dx); - CCTK_REAL_VEC /*const*/ dyi CCTK_ATTRIBUTE_UNUSED = INV(dy); - CCTK_REAL_VEC /*const*/ dzi CCTK_ATTRIBUTE_UNUSED = INV(dz); - CCTK_REAL_VEC /*const*/ khalf CCTK_ATTRIBUTE_UNUSED = ToReal(0.5); - CCTK_REAL_VEC /*const*/ kthird CCTK_ATTRIBUTE_UNUSED = ToReal(1.0/3.0); - CCTK_REAL_VEC /*const*/ ktwothird CCTK_ATTRIBUTE_UNUSED = ToReal(2.0/3.0); - CCTK_REAL_VEC /*const*/ kfourthird CCTK_ATTRIBUTE_UNUSED = ToReal(4.0/3.0); - CCTK_REAL_VEC /*const*/ keightthird CCTK_ATTRIBUTE_UNUSED = ToReal(8.0/3.0); - CCTK_REAL_VEC /*const*/ hdxi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dxi); - CCTK_REAL_VEC /*const*/ hdyi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dyi); - CCTK_REAL_VEC /*const*/ hdzi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dzi); + const ptrdiff_t di CCTK_ATTRIBUTE_UNUSED = 1; + const ptrdiff_t dj CCTK_ATTRIBUTE_UNUSED = CCTK_GFINDEX3D(cctkGH,0,1,0) - CCTK_GFINDEX3D(cctkGH,0,0,0); + const ptrdiff_t dk CCTK_ATTRIBUTE_UNUSED = CCTK_GFINDEX3D(cctkGH,0,0,1) - CCTK_GFINDEX3D(cctkGH,0,0,0); + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * di; + const ptrdiff_t cdj CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * dj; + const ptrdiff_t cdk CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * dk; + const CCTK_REAL_VEC dx CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(0)); + const CCTK_REAL_VEC dy CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(1)); + const CCTK_REAL_VEC dz CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(2)); + const CCTK_REAL_VEC dt CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_TIME); + const CCTK_REAL_VEC t CCTK_ATTRIBUTE_UNUSED = ToReal(cctk_time); + const CCTK_REAL_VEC dxi CCTK_ATTRIBUTE_UNUSED = INV(dx); + const CCTK_REAL_VEC dyi CCTK_ATTRIBUTE_UNUSED = INV(dy); + const CCTK_REAL_VEC dzi CCTK_ATTRIBUTE_UNUSED = INV(dz); + const CCTK_REAL_VEC khalf CCTK_ATTRIBUTE_UNUSED = ToReal(0.5); + const CCTK_REAL_VEC kthird CCTK_ATTRIBUTE_UNUSED = ToReal(1.0/3.0); + const CCTK_REAL_VEC ktwothird CCTK_ATTRIBUTE_UNUSED = ToReal(2.0/3.0); + const CCTK_REAL_VEC kfourthird CCTK_ATTRIBUTE_UNUSED = ToReal(4.0/3.0); + const CCTK_REAL_VEC keightthird CCTK_ATTRIBUTE_UNUSED = ToReal(8.0/3.0); + const CCTK_REAL_VEC hdxi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dxi); + const CCTK_REAL_VEC hdyi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dyi); + const CCTK_REAL_VEC hdzi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dzi); /* Initialize predefined quantities */ - CCTK_REAL_VEC /*const*/ p1o1024dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dx); - CCTK_REAL_VEC /*const*/ p1o1024dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dy); - CCTK_REAL_VEC /*const*/ p1o1024dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dz); - CCTK_REAL_VEC /*const*/ p1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dx); - CCTK_REAL_VEC /*const*/ p1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dy); - CCTK_REAL_VEC /*const*/ p1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dz); - CCTK_REAL_VEC /*const*/ p1o12dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dx); - CCTK_REAL_VEC /*const*/ p1o12dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dy); - CCTK_REAL_VEC /*const*/ p1o12dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dz); - CCTK_REAL_VEC /*const*/ p1o144dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o144dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o144dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o1680dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dx); - CCTK_REAL_VEC /*const*/ p1o1680dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dy); - CCTK_REAL_VEC /*const*/ p1o1680dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dz); - CCTK_REAL_VEC /*const*/ p1o180dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ p1o180dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ p1o180dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ p1o24dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dx); - CCTK_REAL_VEC /*const*/ p1o24dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dy); - CCTK_REAL_VEC /*const*/ p1o24dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dz); - CCTK_REAL_VEC /*const*/ p1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dx); - CCTK_REAL_VEC /*const*/ p1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dy); - CCTK_REAL_VEC /*const*/ p1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dz); - CCTK_REAL_VEC /*const*/ p1o3600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o3600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o3600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dx); - CCTK_REAL_VEC /*const*/ p1o4dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o4dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dy); - CCTK_REAL_VEC /*const*/ p1o4dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dz); - CCTK_REAL_VEC /*const*/ p1o5040dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ p1o5040dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ p1o5040dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ p1o560dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dx); - CCTK_REAL_VEC /*const*/ p1o560dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dy); - CCTK_REAL_VEC /*const*/ p1o560dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dz); - CCTK_REAL_VEC /*const*/ p1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dx); - CCTK_REAL_VEC /*const*/ p1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dy); - CCTK_REAL_VEC /*const*/ p1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dz); - CCTK_REAL_VEC /*const*/ p1o64dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dx); - CCTK_REAL_VEC /*const*/ p1o64dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dy); - CCTK_REAL_VEC /*const*/ p1o64dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dz); - CCTK_REAL_VEC /*const*/ p1o705600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o705600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o705600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o840dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dx); - CCTK_REAL_VEC /*const*/ p1o840dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dy); - CCTK_REAL_VEC /*const*/ p1o840dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dz); - CCTK_REAL_VEC /*const*/ p1odx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dx); - CCTK_REAL_VEC /*const*/ p1odx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ p1ody CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dy); - CCTK_REAL_VEC /*const*/ p1ody2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ p1odz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dz); - CCTK_REAL_VEC /*const*/ p1odz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ pm1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dx); - CCTK_REAL_VEC /*const*/ pm1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dy); - CCTK_REAL_VEC /*const*/ pm1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dz); - CCTK_REAL_VEC /*const*/ pm1o12dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ pm1o12dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ pm1o12dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ pm1o16dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dx); - CCTK_REAL_VEC /*const*/ pm1o16dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dy); - CCTK_REAL_VEC /*const*/ pm1o16dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dz); - CCTK_REAL_VEC /*const*/ pm1o256dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dx); - CCTK_REAL_VEC /*const*/ pm1o256dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dy); - CCTK_REAL_VEC /*const*/ pm1o256dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dz); - CCTK_REAL_VEC /*const*/ pm1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dx); - CCTK_REAL_VEC /*const*/ pm1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dy); - CCTK_REAL_VEC /*const*/ pm1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dz); - CCTK_REAL_VEC /*const*/ pm1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dx); - CCTK_REAL_VEC /*const*/ pm1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dy); - CCTK_REAL_VEC /*const*/ pm1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dz); - CCTK_REAL_VEC /*const*/ pm1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dx); - CCTK_REAL_VEC /*const*/ pm1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dy); - CCTK_REAL_VEC /*const*/ pm1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dz); + const CCTK_REAL_VEC p1o1024dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dx); + const CCTK_REAL_VEC p1o1024dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dy); + const CCTK_REAL_VEC p1o1024dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dz); + const CCTK_REAL_VEC p1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dx); + const CCTK_REAL_VEC p1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dy); + const CCTK_REAL_VEC p1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dz); + const CCTK_REAL_VEC p1o12dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dx); + const CCTK_REAL_VEC p1o12dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dy); + const CCTK_REAL_VEC p1o12dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dz); + const CCTK_REAL_VEC p1o144dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dy,dx)); + const CCTK_REAL_VEC p1o144dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dx)); + const CCTK_REAL_VEC p1o144dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dy)); + const CCTK_REAL_VEC p1o1680dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dx); + const CCTK_REAL_VEC p1o1680dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dy); + const CCTK_REAL_VEC p1o1680dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dz); + const CCTK_REAL_VEC p1o180dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dx,dx)); + const CCTK_REAL_VEC p1o180dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dy,dy)); + const CCTK_REAL_VEC p1o180dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dz,dz)); + const CCTK_REAL_VEC p1o24dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dx); + const CCTK_REAL_VEC p1o24dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dy); + const CCTK_REAL_VEC p1o24dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dz); + const CCTK_REAL_VEC p1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dx); + const CCTK_REAL_VEC p1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dy); + const CCTK_REAL_VEC p1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dz); + const CCTK_REAL_VEC p1o3600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dy,dx)); + const CCTK_REAL_VEC p1o3600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dx)); + const CCTK_REAL_VEC p1o3600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dy)); + const CCTK_REAL_VEC p1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dx); + const CCTK_REAL_VEC p1o4dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dy,dx)); + const CCTK_REAL_VEC p1o4dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dx)); + const CCTK_REAL_VEC p1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dy); + const CCTK_REAL_VEC p1o4dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dy)); + const CCTK_REAL_VEC p1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dz); + const CCTK_REAL_VEC p1o5040dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dx,dx)); + const CCTK_REAL_VEC p1o5040dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dy,dy)); + const CCTK_REAL_VEC p1o5040dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dz,dz)); + const CCTK_REAL_VEC p1o560dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dx); + const CCTK_REAL_VEC p1o560dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dy); + const CCTK_REAL_VEC p1o560dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dz); + const CCTK_REAL_VEC p1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dx); + const CCTK_REAL_VEC p1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dy); + const CCTK_REAL_VEC p1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dz); + const CCTK_REAL_VEC p1o64dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dx); + const CCTK_REAL_VEC p1o64dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dy); + const CCTK_REAL_VEC p1o64dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dz); + const CCTK_REAL_VEC p1o705600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dy,dx)); + const CCTK_REAL_VEC p1o705600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dx)); + const CCTK_REAL_VEC p1o705600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dy)); + const CCTK_REAL_VEC p1o840dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dx); + const CCTK_REAL_VEC p1o840dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dy); + const CCTK_REAL_VEC p1o840dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dz); + const CCTK_REAL_VEC p1odx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dx); + const CCTK_REAL_VEC p1odx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dx,dx)); + const CCTK_REAL_VEC p1ody CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dy); + const CCTK_REAL_VEC p1ody2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dy,dy)); + const CCTK_REAL_VEC p1odz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dz); + const CCTK_REAL_VEC p1odz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dz,dz)); + const CCTK_REAL_VEC pm1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dx); + const CCTK_REAL_VEC pm1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dy); + const CCTK_REAL_VEC pm1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dz); + const CCTK_REAL_VEC pm1o12dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dx,dx)); + const CCTK_REAL_VEC pm1o12dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dy,dy)); + const CCTK_REAL_VEC pm1o12dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dz,dz)); + const CCTK_REAL_VEC pm1o16dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dx); + const CCTK_REAL_VEC pm1o16dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dy); + const CCTK_REAL_VEC pm1o16dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dz); + const CCTK_REAL_VEC pm1o256dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dx); + const CCTK_REAL_VEC pm1o256dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dy); + const CCTK_REAL_VEC pm1o256dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dz); + const CCTK_REAL_VEC pm1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dx); + const CCTK_REAL_VEC pm1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dy); + const CCTK_REAL_VEC pm1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dz); + const CCTK_REAL_VEC pm1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dx); + const CCTK_REAL_VEC pm1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dy); + const CCTK_REAL_VEC pm1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dz); + const CCTK_REAL_VEC pm1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dx); + const CCTK_REAL_VEC pm1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dy); + const CCTK_REAL_VEC pm1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dz); /* Jacobian variable pointers */ - bool const use_jacobian CCTK_ATTRIBUTE_UNUSED = (!CCTK_IsFunctionAliased("MultiPatch_GetMap") || MultiPatch_GetMap(cctkGH) != jacobian_identity_map) - && strlen(jacobian_group) > 0; - if (use_jacobian && strlen(jacobian_derivative_group) == 0) + const bool use_jacobian1 = (!CCTK_IsFunctionAliased("MultiPatch_GetMap") || MultiPatch_GetMap(cctkGH) != jacobian_identity_map) + && strlen(jacobian_group) > 0; + const bool use_jacobian = assume_use_jacobian>=0 ? assume_use_jacobian : use_jacobian1; + const bool usejacobian CCTK_ATTRIBUTE_UNUSED = use_jacobian; + if (use_jacobian && (strlen(jacobian_determinant_group) == 0 || strlen(jacobian_inverse_group) == 0 || strlen(jacobian_derivative_group) == 0)) { - CCTK_WARN (1, "GenericFD::jacobian_group and GenericFD::jacobian_derivative_group must both be set to valid group names"); + CCTK_WARN(1, "GenericFD::jacobian_group, GenericFD::jacobian_determinant_group, GenericFD::jacobian_inverse_group, and GenericFD::jacobian_derivative_group must all be set to valid group names"); } - CCTK_REAL const *restrict jacobian_ptrs[9]; + const CCTK_REAL* restrict jacobian_ptrs[9]; if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_group, 9, jacobian_ptrs); - CCTK_REAL const *restrict const J11 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[0] : 0; - CCTK_REAL const *restrict const J12 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[1] : 0; - CCTK_REAL const *restrict const J13 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[2] : 0; - CCTK_REAL const *restrict const J21 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[3] : 0; - CCTK_REAL const *restrict const J22 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[4] : 0; - CCTK_REAL const *restrict const J23 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[5] : 0; - CCTK_REAL const *restrict const J31 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[6] : 0; - CCTK_REAL const *restrict const J32 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[7] : 0; - CCTK_REAL const *restrict const J33 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[8] : 0; + const CCTK_REAL* restrict const J11 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[0] : 0; + const CCTK_REAL* restrict const J12 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[1] : 0; + const CCTK_REAL* restrict const J13 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[2] : 0; + const CCTK_REAL* restrict const J21 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[3] : 0; + const CCTK_REAL* restrict const J22 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[4] : 0; + const CCTK_REAL* restrict const J23 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[5] : 0; + const CCTK_REAL* restrict const J31 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[6] : 0; + const CCTK_REAL* restrict const J32 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[7] : 0; + const CCTK_REAL* restrict const J33 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[8] : 0; + + const CCTK_REAL* restrict jacobian_determinant_ptrs[1] CCTK_ATTRIBUTE_UNUSED; + if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_determinant_group, + 1, jacobian_determinant_ptrs); + + const CCTK_REAL* restrict const detJ CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[0] : 0; - CCTK_REAL const *restrict jacobian_derivative_ptrs[18] CCTK_ATTRIBUTE_UNUSED; + const CCTK_REAL* restrict jacobian_inverse_ptrs[9] CCTK_ATTRIBUTE_UNUSED; + if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_inverse_group, + 9, jacobian_inverse_ptrs); + + const CCTK_REAL* restrict const iJ11 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[0] : 0; + const CCTK_REAL* restrict const iJ12 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[1] : 0; + const CCTK_REAL* restrict const iJ13 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[2] : 0; + const CCTK_REAL* restrict const iJ21 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[3] : 0; + const CCTK_REAL* restrict const iJ22 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[4] : 0; + const CCTK_REAL* restrict const iJ23 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[5] : 0; + const CCTK_REAL* restrict const iJ31 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[6] : 0; + const CCTK_REAL* restrict const iJ32 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[7] : 0; + const CCTK_REAL* restrict const iJ33 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[8] : 0; + + const CCTK_REAL* restrict jacobian_derivative_ptrs[18] CCTK_ATTRIBUTE_UNUSED; if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_derivative_group, 18, jacobian_derivative_ptrs); - CCTK_REAL const *restrict const dJ111 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[0] : 0; - CCTK_REAL const *restrict const dJ112 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[1] : 0; - CCTK_REAL const *restrict const dJ113 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[2] : 0; - CCTK_REAL const *restrict const dJ122 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[3] : 0; - CCTK_REAL const *restrict const dJ123 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[4] : 0; - CCTK_REAL const *restrict const dJ133 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[5] : 0; - CCTK_REAL const *restrict const dJ211 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[6] : 0; - CCTK_REAL const *restrict const dJ212 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[7] : 0; - CCTK_REAL const *restrict const dJ213 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[8] : 0; - CCTK_REAL const *restrict const dJ222 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[9] : 0; - CCTK_REAL const *restrict const dJ223 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[10] : 0; - CCTK_REAL const *restrict const dJ233 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[11] : 0; - CCTK_REAL const *restrict const dJ311 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[12] : 0; - CCTK_REAL const *restrict const dJ312 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[13] : 0; - CCTK_REAL const *restrict const dJ313 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[14] : 0; - CCTK_REAL const *restrict const dJ322 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[15] : 0; - CCTK_REAL const *restrict const dJ323 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[16] : 0; - CCTK_REAL const *restrict const dJ333 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[17] : 0; + const CCTK_REAL* restrict const dJ111 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[0] : 0; + const CCTK_REAL* restrict const dJ112 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[1] : 0; + const CCTK_REAL* restrict const dJ113 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[2] : 0; + const CCTK_REAL* restrict const dJ122 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[3] : 0; + const CCTK_REAL* restrict const dJ123 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[4] : 0; + const CCTK_REAL* restrict const dJ133 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[5] : 0; + const CCTK_REAL* restrict const dJ211 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[6] : 0; + const CCTK_REAL* restrict const dJ212 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[7] : 0; + const CCTK_REAL* restrict const dJ213 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[8] : 0; + const CCTK_REAL* restrict const dJ222 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[9] : 0; + const CCTK_REAL* restrict const dJ223 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[10] : 0; + const CCTK_REAL* restrict const dJ233 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[11] : 0; + const CCTK_REAL* restrict const dJ311 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[12] : 0; + const CCTK_REAL* restrict const dJ312 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[13] : 0; + const CCTK_REAL* restrict const dJ313 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[14] : 0; + const CCTK_REAL* restrict const dJ322 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[15] : 0; + const CCTK_REAL* restrict const dJ323 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[16] : 0; + const CCTK_REAL* restrict const dJ333 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[17] : 0; /* Assign local copies of arrays functions */ @@ -211,13 +235,20 @@ static void ML_CCZ4_convertFromADMBaseGamma_Body(cGH const * restrict const cctk /* 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_CCZ4_convertFromADMBaseGamma, - 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 */ @@ -256,52 +287,53 @@ static void ML_CCZ4_convertFromADMBaseGamma_Body(cGH const * restrict const cctk /* Include user supplied include files */ /* Precompute derivatives */ - CCTK_REAL_VEC PDupwindNthAnti1alpha CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm1alpha CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti2alpha CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm2alpha CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti3alpha CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm3alpha CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti1beta1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm1beta1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti2beta1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm2beta1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti3beta1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm3beta1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti1beta2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm1beta2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti2beta2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm2beta2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti3beta2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm3beta2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti1beta3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm1beta3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti2beta3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm2beta3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti3beta3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm3beta3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth1gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth2gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth3gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth1gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth2gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth3gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth1gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth2gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth3gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth1gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth2gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth3gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth1gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth2gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth3gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth1gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth2gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth3gt33 CCTK_ATTRIBUTE_UNUSED ; - - switch(fdOrder) + CCTK_REAL_VEC PDupwindNthAnti1alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm1alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti2alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm2alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti3alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm3alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti1beta1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm1beta1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti2beta1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm2beta1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti3beta1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm3beta1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti1beta2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm1beta2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti2beta2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm2beta2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti3beta2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm3beta2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti1beta3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm1beta3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti2beta3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm2beta3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti3beta3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm3beta3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3gt33 CCTK_ATTRIBUTE_UNUSED; + + switch (fdOrder) { case 2: + { PDupwindNthAnti1alpha = PDupwindNthAntifdOrder21(&alpha[index]); PDupwindNthSymm1alpha = PDupwindNthSymmfdOrder21(&alpha[index]); PDupwindNthAnti2alpha = PDupwindNthAntifdOrder22(&alpha[index]); @@ -345,8 +377,10 @@ static void ML_CCZ4_convertFromADMBaseGamma_Body(cGH const * restrict const cctk PDstandardNth2gt33 = PDstandardNthfdOrder22(>33[index]); PDstandardNth3gt33 = PDstandardNthfdOrder23(>33[index]); break; + } case 4: + { PDupwindNthAnti1alpha = PDupwindNthAntifdOrder41(&alpha[index]); PDupwindNthSymm1alpha = PDupwindNthSymmfdOrder41(&alpha[index]); PDupwindNthAnti2alpha = PDupwindNthAntifdOrder42(&alpha[index]); @@ -390,8 +424,10 @@ static void ML_CCZ4_convertFromADMBaseGamma_Body(cGH const * restrict const cctk PDstandardNth2gt33 = PDstandardNthfdOrder42(>33[index]); PDstandardNth3gt33 = PDstandardNthfdOrder43(>33[index]); break; + } case 6: + { PDupwindNthAnti1alpha = PDupwindNthAntifdOrder61(&alpha[index]); PDupwindNthSymm1alpha = PDupwindNthSymmfdOrder61(&alpha[index]); PDupwindNthAnti2alpha = PDupwindNthAntifdOrder62(&alpha[index]); @@ -435,8 +471,10 @@ static void ML_CCZ4_convertFromADMBaseGamma_Body(cGH const * restrict const cctk PDstandardNth2gt33 = PDstandardNthfdOrder62(>33[index]); PDstandardNth3gt33 = PDstandardNthfdOrder63(>33[index]); break; + } case 8: + { PDupwindNthAnti1alpha = PDupwindNthAntifdOrder81(&alpha[index]); PDupwindNthSymm1alpha = PDupwindNthSymmfdOrder81(&alpha[index]); PDupwindNthAnti2alpha = PDupwindNthAntifdOrder82(&alpha[index]); @@ -480,6 +518,9 @@ static void ML_CCZ4_convertFromADMBaseGamma_Body(cGH const * restrict const cctk PDstandardNth2gt33 = PDstandardNthfdOrder82(>33[index]); PDstandardNth3gt33 = PDstandardNthfdOrder83(>33[index]); break; + } + default: + CCTK_BUILTIN_UNREACHABLE(); } /* Calculate temporaries and grid functions */ @@ -489,48 +530,48 @@ static void ML_CCZ4_convertFromADMBaseGamma_Body(cGH const * restrict const cctk ptrdiff_t CCTK_ATTRIBUTE_UNUSED dir3 = kisgn(beta3L); - CCTK_REAL_VEC JacPDstandardNth1gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth1gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth1gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth1gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth1gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth1gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth2gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth2gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth2gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth2gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth2gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth2gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth3gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth3gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth3gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth3gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth3gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth3gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti1alpha CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti1beta1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti1beta2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti1beta3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti2alpha CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti2beta1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti2beta2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti2beta3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti3alpha CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti3beta1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti3beta2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti3beta3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm1alpha CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm1beta1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm1beta2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm1beta3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm2alpha CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm2beta1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm2beta2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm2beta3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm3alpha CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm3beta1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm3beta2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm3beta3 CCTK_ATTRIBUTE_UNUSED ; + CCTK_REAL_VEC JacPDstandardNth1gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti1alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti1beta1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti1beta2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti1beta3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti2alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti2beta1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti2beta2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti2beta3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti3alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti3beta1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti3beta2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti3beta3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm1alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm1beta1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm1beta2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm1beta3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm2alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm2beta1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm2beta2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm2beta3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm3alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm3beta1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm3beta2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm3beta3 CCTK_ATTRIBUTE_UNUSED; if (use_jacobian) { @@ -747,121 +788,121 @@ static void ML_CCZ4_convertFromADMBaseGamma_Body(cGH const * restrict const cctk JacPDupwindNthSymm3beta3 = PDupwindNthSymm3beta3; } - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED detgt = ToReal(1.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED detgt = ToReal(1); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gtu11 = - kdiv(kmadd(gt22L,gt33L,kmul(kmul(gt23L,gt23L),ToReal(-1.))),detgt); + kdiv(kmsub(gt22L,gt33L,kmul(gt23L,gt23L)),detgt); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gtu12 = - kdiv(kmadd(gt13L,gt23L,kmul(gt12L,kmul(gt33L,ToReal(-1.)))),detgt); + kdiv(kmsub(gt13L,gt23L,kmul(gt12L,gt33L)),detgt); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gtu13 = - kdiv(kmadd(gt12L,gt23L,kmul(gt13L,kmul(gt22L,ToReal(-1.)))),detgt); + kdiv(kmsub(gt12L,gt23L,kmul(gt13L,gt22L)),detgt); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gtu22 = - kdiv(kmadd(gt11L,gt33L,kmul(kmul(gt13L,gt13L),ToReal(-1.))),detgt); + kdiv(kmsub(gt11L,gt33L,kmul(gt13L,gt13L)),detgt); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gtu23 = - kdiv(kmadd(gt12L,gt13L,kmul(gt11L,kmul(gt23L,ToReal(-1.)))),detgt); + kdiv(kmsub(gt12L,gt13L,kmul(gt11L,gt23L)),detgt); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gtu33 = - kdiv(kmadd(gt11L,gt22L,kmul(kmul(gt12L,gt12L),ToReal(-1.))),detgt); + kdiv(kmsub(gt11L,gt22L,kmul(gt12L,gt12L)),detgt); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Gt111 = - kmul(ToReal(0.5),kmadd(gtu11,JacPDstandardNth1gt11,kmadd(kmadd(gtu12,JacPDstandardNth2gt11,kmul(gtu13,JacPDstandardNth3gt11)),ToReal(-1.),kmul(kmadd(gtu12,JacPDstandardNth1gt12,kmul(gtu13,JacPDstandardNth1gt13)),ToReal(2.))))); + kmul(ToReal(0.5),kmadd(gtu11,JacPDstandardNth1gt11,knmsub(gtu12,JacPDstandardNth2gt11,kmsub(kmadd(gtu12,JacPDstandardNth1gt12,kmul(gtu13,JacPDstandardNth1gt13)),ToReal(2),kmul(gtu13,JacPDstandardNth3gt11))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Gt211 = - kmul(ToReal(0.5),kmadd(gtu12,JacPDstandardNth1gt11,kmadd(kmadd(gtu22,JacPDstandardNth2gt11,kmul(gtu23,JacPDstandardNth3gt11)),ToReal(-1.),kmul(kmadd(gtu22,JacPDstandardNth1gt12,kmul(gtu23,JacPDstandardNth1gt13)),ToReal(2.))))); + kmul(ToReal(0.5),kmadd(gtu12,JacPDstandardNth1gt11,knmsub(gtu22,JacPDstandardNth2gt11,kmsub(kmadd(gtu22,JacPDstandardNth1gt12,kmul(gtu23,JacPDstandardNth1gt13)),ToReal(2),kmul(gtu23,JacPDstandardNth3gt11))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Gt311 = - kmul(ToReal(0.5),kmadd(gtu13,JacPDstandardNth1gt11,kmadd(kmadd(gtu23,JacPDstandardNth2gt11,kmul(gtu33,JacPDstandardNth3gt11)),ToReal(-1.),kmul(kmadd(gtu23,JacPDstandardNth1gt12,kmul(gtu33,JacPDstandardNth1gt13)),ToReal(2.))))); + kmul(ToReal(0.5),kmadd(gtu13,JacPDstandardNth1gt11,knmsub(gtu23,JacPDstandardNth2gt11,kmsub(kmadd(gtu23,JacPDstandardNth1gt12,kmul(gtu33,JacPDstandardNth1gt13)),ToReal(2),kmul(gtu33,JacPDstandardNth3gt11))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Gt112 = - kmul(kmadd(gtu12,JacPDstandardNth1gt22,kmadd(gtu11,JacPDstandardNth2gt11,kmul(gtu13,kadd(JacPDstandardNth1gt23,kmadd(JacPDstandardNth3gt12,ToReal(-1.),JacPDstandardNth2gt13))))),ToReal(0.5)); + kmul(kmadd(gtu12,JacPDstandardNth1gt22,kmadd(gtu11,JacPDstandardNth2gt11,kmul(gtu13,kadd(JacPDstandardNth1gt23,ksub(JacPDstandardNth2gt13,JacPDstandardNth3gt12))))),ToReal(0.5)); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Gt212 = - kmul(kmadd(gtu22,JacPDstandardNth1gt22,kmadd(gtu12,JacPDstandardNth2gt11,kmul(gtu23,kadd(JacPDstandardNth1gt23,kmadd(JacPDstandardNth3gt12,ToReal(-1.),JacPDstandardNth2gt13))))),ToReal(0.5)); + kmul(kmadd(gtu22,JacPDstandardNth1gt22,kmadd(gtu12,JacPDstandardNth2gt11,kmul(gtu23,kadd(JacPDstandardNth1gt23,ksub(JacPDstandardNth2gt13,JacPDstandardNth3gt12))))),ToReal(0.5)); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Gt312 = - kmul(kmadd(gtu23,JacPDstandardNth1gt22,kmadd(gtu13,JacPDstandardNth2gt11,kmul(gtu33,kadd(JacPDstandardNth1gt23,kmadd(JacPDstandardNth3gt12,ToReal(-1.),JacPDstandardNth2gt13))))),ToReal(0.5)); + kmul(kmadd(gtu23,JacPDstandardNth1gt22,kmadd(gtu13,JacPDstandardNth2gt11,kmul(gtu33,kadd(JacPDstandardNth1gt23,ksub(JacPDstandardNth2gt13,JacPDstandardNth3gt12))))),ToReal(0.5)); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Gt113 = - kmul(kmadd(gtu13,JacPDstandardNth1gt33,kmadd(gtu11,JacPDstandardNth3gt11,kmul(gtu12,kadd(JacPDstandardNth1gt23,kmadd(JacPDstandardNth2gt13,ToReal(-1.),JacPDstandardNth3gt12))))),ToReal(0.5)); + kmul(kmadd(gtu13,JacPDstandardNth1gt33,kmadd(gtu11,JacPDstandardNth3gt11,kmul(gtu12,kadd(JacPDstandardNth1gt23,ksub(JacPDstandardNth3gt12,JacPDstandardNth2gt13))))),ToReal(0.5)); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Gt213 = - kmul(kmadd(gtu23,JacPDstandardNth1gt33,kmadd(gtu12,JacPDstandardNth3gt11,kmul(gtu22,kadd(JacPDstandardNth1gt23,kmadd(JacPDstandardNth2gt13,ToReal(-1.),JacPDstandardNth3gt12))))),ToReal(0.5)); + kmul(kmadd(gtu23,JacPDstandardNth1gt33,kmadd(gtu12,JacPDstandardNth3gt11,kmul(gtu22,kadd(JacPDstandardNth1gt23,ksub(JacPDstandardNth3gt12,JacPDstandardNth2gt13))))),ToReal(0.5)); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Gt313 = - kmul(kmadd(gtu33,JacPDstandardNth1gt33,kmadd(gtu13,JacPDstandardNth3gt11,kmul(gtu23,kadd(JacPDstandardNth1gt23,kmadd(JacPDstandardNth2gt13,ToReal(-1.),JacPDstandardNth3gt12))))),ToReal(0.5)); + kmul(kmadd(gtu33,JacPDstandardNth1gt33,kmadd(gtu13,JacPDstandardNth3gt11,kmul(gtu23,kadd(JacPDstandardNth1gt23,ksub(JacPDstandardNth3gt12,JacPDstandardNth2gt13))))),ToReal(0.5)); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Gt122 = - kmul(ToReal(0.5),kmadd(gtu12,JacPDstandardNth2gt22,kmadd(gtu11,kmadd(JacPDstandardNth1gt22,ToReal(-1.),kmul(JacPDstandardNth2gt12,ToReal(2.))),kmul(gtu13,kmadd(JacPDstandardNth3gt22,ToReal(-1.),kmul(JacPDstandardNth2gt23,ToReal(2.))))))); + kmul(ToReal(0.5),kmadd(gtu12,JacPDstandardNth2gt22,kmadd(gtu11,kmsub(JacPDstandardNth2gt12,ToReal(2),JacPDstandardNth1gt22),kmul(gtu13,kmsub(JacPDstandardNth2gt23,ToReal(2),JacPDstandardNth3gt22))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Gt222 = - kmul(ToReal(0.5),kmadd(gtu22,JacPDstandardNth2gt22,kmadd(gtu12,kmadd(JacPDstandardNth1gt22,ToReal(-1.),kmul(JacPDstandardNth2gt12,ToReal(2.))),kmul(gtu23,kmadd(JacPDstandardNth3gt22,ToReal(-1.),kmul(JacPDstandardNth2gt23,ToReal(2.))))))); + kmul(ToReal(0.5),kmadd(gtu22,JacPDstandardNth2gt22,kmadd(gtu12,kmsub(JacPDstandardNth2gt12,ToReal(2),JacPDstandardNth1gt22),kmul(gtu23,kmsub(JacPDstandardNth2gt23,ToReal(2),JacPDstandardNth3gt22))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Gt322 = - kmul(ToReal(0.5),kmadd(gtu23,JacPDstandardNth2gt22,kmadd(gtu13,kmadd(JacPDstandardNth1gt22,ToReal(-1.),kmul(JacPDstandardNth2gt12,ToReal(2.))),kmul(gtu33,kmadd(JacPDstandardNth3gt22,ToReal(-1.),kmul(JacPDstandardNth2gt23,ToReal(2.))))))); + kmul(ToReal(0.5),kmadd(gtu23,JacPDstandardNth2gt22,kmadd(gtu13,kmsub(JacPDstandardNth2gt12,ToReal(2),JacPDstandardNth1gt22),kmul(gtu33,kmsub(JacPDstandardNth2gt23,ToReal(2),JacPDstandardNth3gt22))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Gt123 = - kmul(kmadd(gtu13,JacPDstandardNth2gt33,kmadd(gtu12,JacPDstandardNth3gt22,kmul(gtu11,kadd(JacPDstandardNth2gt13,kmadd(JacPDstandardNth1gt23,ToReal(-1.),JacPDstandardNth3gt12))))),ToReal(0.5)); + kmul(kmadd(gtu13,JacPDstandardNth2gt33,kmadd(gtu12,JacPDstandardNth3gt22,kmul(gtu11,kadd(JacPDstandardNth2gt13,ksub(JacPDstandardNth3gt12,JacPDstandardNth1gt23))))),ToReal(0.5)); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Gt223 = - kmul(kmadd(gtu23,JacPDstandardNth2gt33,kmadd(gtu22,JacPDstandardNth3gt22,kmul(gtu12,kadd(JacPDstandardNth2gt13,kmadd(JacPDstandardNth1gt23,ToReal(-1.),JacPDstandardNth3gt12))))),ToReal(0.5)); + kmul(kmadd(gtu23,JacPDstandardNth2gt33,kmadd(gtu22,JacPDstandardNth3gt22,kmul(gtu12,kadd(JacPDstandardNth2gt13,ksub(JacPDstandardNth3gt12,JacPDstandardNth1gt23))))),ToReal(0.5)); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Gt323 = - kmul(kmadd(gtu33,JacPDstandardNth2gt33,kmadd(gtu23,JacPDstandardNth3gt22,kmul(gtu13,kadd(JacPDstandardNth2gt13,kmadd(JacPDstandardNth1gt23,ToReal(-1.),JacPDstandardNth3gt12))))),ToReal(0.5)); + kmul(kmadd(gtu33,JacPDstandardNth2gt33,kmadd(gtu23,JacPDstandardNth3gt22,kmul(gtu13,kadd(JacPDstandardNth2gt13,ksub(JacPDstandardNth3gt12,JacPDstandardNth1gt23))))),ToReal(0.5)); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Gt133 = - kmul(ToReal(0.5),kmadd(gtu13,JacPDstandardNth3gt33,kmadd(kmadd(gtu11,JacPDstandardNth1gt33,kmul(gtu12,JacPDstandardNth2gt33)),ToReal(-1.),kmul(kmadd(gtu11,JacPDstandardNth3gt13,kmul(gtu12,JacPDstandardNth3gt23)),ToReal(2.))))); + kmul(ToReal(0.5),kmadd(gtu13,JacPDstandardNth3gt33,kmadd(gtu11,kmsub(JacPDstandardNth3gt13,ToReal(2),JacPDstandardNth1gt33),kmul(gtu12,kmsub(JacPDstandardNth3gt23,ToReal(2),JacPDstandardNth2gt33))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Gt233 = - kmul(ToReal(0.5),kmadd(gtu23,JacPDstandardNth3gt33,kmadd(kmadd(gtu12,JacPDstandardNth1gt33,kmul(gtu22,JacPDstandardNth2gt33)),ToReal(-1.),kmul(kmadd(gtu12,JacPDstandardNth3gt13,kmul(gtu22,JacPDstandardNth3gt23)),ToReal(2.))))); + kmul(ToReal(0.5),kmadd(gtu23,JacPDstandardNth3gt33,kmadd(gtu12,kmsub(JacPDstandardNth3gt13,ToReal(2),JacPDstandardNth1gt33),kmul(gtu22,kmsub(JacPDstandardNth3gt23,ToReal(2),JacPDstandardNth2gt33))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Gt333 = - kmul(ToReal(0.5),kmadd(gtu33,JacPDstandardNth3gt33,kmadd(kmadd(gtu13,JacPDstandardNth1gt33,kmul(gtu23,JacPDstandardNth2gt33)),ToReal(-1.),kmul(kmadd(gtu13,JacPDstandardNth3gt13,kmul(gtu23,JacPDstandardNth3gt23)),ToReal(2.))))); + kmul(ToReal(0.5),kmadd(gtu33,JacPDstandardNth3gt33,kmadd(gtu13,kmsub(JacPDstandardNth3gt13,ToReal(2),JacPDstandardNth1gt33),kmul(gtu23,kmsub(JacPDstandardNth3gt23,ToReal(2),JacPDstandardNth2gt33))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Xt1L = - kmadd(Gt111,gtu11,kmadd(Gt122,gtu22,kmadd(Gt133,gtu33,kmul(kmadd(Gt112,gtu12,kmadd(Gt113,gtu13,kmul(Gt123,gtu23))),ToReal(2.))))); + kmadd(Gt111,gtu11,kmadd(Gt122,gtu22,kmadd(Gt133,gtu33,kmul(kmadd(Gt112,gtu12,kmadd(Gt113,gtu13,kmul(Gt123,gtu23))),ToReal(2))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Xt2L = - kmadd(Gt211,gtu11,kmadd(Gt222,gtu22,kmadd(Gt233,gtu33,kmul(kmadd(Gt212,gtu12,kmadd(Gt213,gtu13,kmul(Gt223,gtu23))),ToReal(2.))))); + kmadd(Gt211,gtu11,kmadd(Gt222,gtu22,kmadd(Gt233,gtu33,kmul(kmadd(Gt212,gtu12,kmadd(Gt213,gtu13,kmul(Gt223,gtu23))),ToReal(2))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Xt3L = - kmadd(Gt311,gtu11,kmadd(Gt322,gtu22,kmadd(Gt333,gtu33,kmul(kmadd(Gt312,gtu12,kmadd(Gt313,gtu13,kmul(Gt323,gtu23))),ToReal(2.))))); + kmadd(Gt311,gtu11,kmadd(Gt322,gtu22,kmadd(Gt333,gtu33,kmul(kmadd(Gt312,gtu12,kmadd(Gt313,gtu13,kmul(Gt323,gtu23))),ToReal(2))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED AL = IfThen(LapseACoeff != - 0.,kmul(kmul(kpow(alphaL,-1.*harmonicN),kmul(ToReal(-1.),kmadd(kmadd(beta1L,JacPDupwindNthAnti1alpha,kmadd(beta2L,JacPDupwindNthAnti2alpha,kmadd(beta3L,JacPDupwindNthAnti3alpha,kmadd(JacPDupwindNthSymm1alpha,kfabs(beta1L),kmadd(JacPDupwindNthSymm2alpha,kfabs(beta2L),kmul(JacPDupwindNthSymm3alpha,kfabs(beta3L))))))),ToReal(-1.*LapseAdvectionCoeff),dtalpL))),ToReal(ScalarINV(harmonicF))),ToReal(0.)); + 0,kneg(kmul(kmul(kpow(alphaL,-harmonicN),knmsub(kmadd(beta1L,JacPDupwindNthAnti1alpha,kmadd(beta2L,JacPDupwindNthAnti2alpha,kmadd(beta3L,JacPDupwindNthAnti3alpha,kmadd(JacPDupwindNthSymm1alpha,kfabs(beta1L),kmadd(JacPDupwindNthSymm2alpha,kfabs(beta2L),kmul(JacPDupwindNthSymm3alpha,kfabs(beta3L))))))),ToReal(LapseAdvectionCoeff),dtalpL)),ToReal(ScalarINV(harmonicF)))),ToReal(0)); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED theta = - kfmin(ToReal(1.),kexp(kmadd(kmul(rL,ToReal(-1.)),ToReal(ScalarINV(SpatialShiftGammaCoeffRadius)),ToReal(1.)))); + kfmin(ToReal(1),kexp(knmsub(rL,ToReal(ScalarINV(SpatialShiftGammaCoeffRadius)),ToReal(1)))); - CCTK_REAL_VEC B1L CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC B2L CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC B3L CCTK_ATTRIBUTE_UNUSED ; + CCTK_REAL_VEC B1L CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC B2L CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC B3L CCTK_ATTRIBUTE_UNUSED; - if (ShiftBCoeff*ShiftGammaCoeff != 0.) + if (ShiftBCoeff*ShiftGammaCoeff != 0) { B1L = - kdiv(kmadd(kmadd(beta1L,JacPDupwindNthAnti1beta1,kmadd(beta2L,JacPDupwindNthAnti2beta1,kmadd(beta3L,JacPDupwindNthAnti3beta1,kmadd(JacPDupwindNthSymm1beta1,kfabs(beta1L),kmadd(JacPDupwindNthSymm2beta1,kfabs(beta2L),kmul(JacPDupwindNthSymm3beta1,kfabs(beta3L))))))),ToReal(-1.*ShiftAdvectionCoeff),dtbetaxL),kmul(ToReal(ShiftGammaCoeff),theta)); + kdiv(knmsub(kmadd(beta1L,JacPDupwindNthAnti1beta1,kmadd(beta2L,JacPDupwindNthAnti2beta1,kmadd(beta3L,JacPDupwindNthAnti3beta1,kmadd(JacPDupwindNthSymm1beta1,kfabs(beta1L),kmadd(JacPDupwindNthSymm2beta1,kfabs(beta2L),kmul(JacPDupwindNthSymm3beta1,kfabs(beta3L))))))),ToReal(ShiftAdvectionCoeff),dtbetaxL),kmul(ToReal(ShiftGammaCoeff),theta)); B2L = - kdiv(kmadd(kmadd(beta1L,JacPDupwindNthAnti1beta2,kmadd(beta2L,JacPDupwindNthAnti2beta2,kmadd(beta3L,JacPDupwindNthAnti3beta2,kmadd(JacPDupwindNthSymm1beta2,kfabs(beta1L),kmadd(JacPDupwindNthSymm2beta2,kfabs(beta2L),kmul(JacPDupwindNthSymm3beta2,kfabs(beta3L))))))),ToReal(-1.*ShiftAdvectionCoeff),dtbetayL),kmul(ToReal(ShiftGammaCoeff),theta)); + kdiv(knmsub(kmadd(beta1L,JacPDupwindNthAnti1beta2,kmadd(beta2L,JacPDupwindNthAnti2beta2,kmadd(beta3L,JacPDupwindNthAnti3beta2,kmadd(JacPDupwindNthSymm1beta2,kfabs(beta1L),kmadd(JacPDupwindNthSymm2beta2,kfabs(beta2L),kmul(JacPDupwindNthSymm3beta2,kfabs(beta3L))))))),ToReal(ShiftAdvectionCoeff),dtbetayL),kmul(ToReal(ShiftGammaCoeff),theta)); B3L = - kdiv(kmadd(kmadd(beta1L,JacPDupwindNthAnti1beta3,kmadd(beta2L,JacPDupwindNthAnti2beta3,kmadd(beta3L,JacPDupwindNthAnti3beta3,kmadd(JacPDupwindNthSymm1beta3,kfabs(beta1L),kmadd(JacPDupwindNthSymm2beta3,kfabs(beta2L),kmul(JacPDupwindNthSymm3beta3,kfabs(beta3L))))))),ToReal(-1.*ShiftAdvectionCoeff),dtbetazL),kmul(ToReal(ShiftGammaCoeff),theta)); + kdiv(knmsub(kmadd(beta1L,JacPDupwindNthAnti1beta3,kmadd(beta2L,JacPDupwindNthAnti2beta3,kmadd(beta3L,JacPDupwindNthAnti3beta3,kmadd(JacPDupwindNthSymm1beta3,kfabs(beta1L),kmadd(JacPDupwindNthSymm2beta3,kfabs(beta2L),kmul(JacPDupwindNthSymm3beta3,kfabs(beta3L))))))),ToReal(ShiftAdvectionCoeff),dtbetazL),kmul(ToReal(ShiftGammaCoeff),theta)); } else { - B1L = ToReal(0.); + B1L = ToReal(0); - B2L = ToReal(0.); + B2L = ToReal(0); - B3L = ToReal(0.); + B3L = 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(A[index],AL); vec_store_nta_partial(B1[index],B1L); vec_store_nta_partial(B2[index],B2L); @@ -889,7 +930,7 @@ extern "C" void ML_CCZ4_convertFromADMBaseGamma(CCTK_ARGUMENTS) return; } - const char *const groups[] = { + const char* const groups[] = { "ADMBase::dtlapse", "ADMBase::dtshift", "grid::coordinates", @@ -901,23 +942,33 @@ extern "C" void ML_CCZ4_convertFromADMBaseGamma(CCTK_ARGUMENTS) "ML_CCZ4::ML_shift"}; GenericFD_AssertGroupStorage(cctkGH, "ML_CCZ4_convertFromADMBaseGamma", 9, groups); - switch(fdOrder) + switch (fdOrder) { case 2: + { GenericFD_EnsureStencilFits(cctkGH, "ML_CCZ4_convertFromADMBaseGamma", 2, 2, 2); break; + } case 4: + { GenericFD_EnsureStencilFits(cctkGH, "ML_CCZ4_convertFromADMBaseGamma", 3, 3, 3); break; + } case 6: + { GenericFD_EnsureStencilFits(cctkGH, "ML_CCZ4_convertFromADMBaseGamma", 4, 4, 4); break; + } case 8: + { GenericFD_EnsureStencilFits(cctkGH, "ML_CCZ4_convertFromADMBaseGamma", 5, 5, 5); break; + } + default: + CCTK_BUILTIN_UNREACHABLE(); } GenericFD_LoopOverInterior(cctkGH, ML_CCZ4_convertFromADMBaseGamma_Body); diff --git a/ML_CCZ4/src/ML_CCZ4_convertToADMBase.cc b/ML_CCZ4/src/ML_CCZ4_convertToADMBase.cc index 36f4c34..9a438cf 100644 --- a/ML_CCZ4/src/ML_CCZ4_convertToADMBase.cc +++ b/ML_CCZ4/src/ML_CCZ4_convertToADMBase.cc @@ -27,7 +27,7 @@ #define CUB(x) (kmul(x,SQR(x))) #define QAD(x) (SQR(SQR(x))) -static void ML_CCZ4_convertToADMBase_Body(cGH const * restrict const cctkGH, int const dir, int const face, CCTK_REAL const normal[3], CCTK_REAL const tangentA[3], CCTK_REAL const tangentB[3], int const imin[3], int const imax[3], int const n_subblock_gfs, CCTK_REAL * restrict const subblock_gfs[]) +static void ML_CCZ4_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,153 +36,175 @@ static void ML_CCZ4_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*/ p1o1024dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dx); - CCTK_REAL_VEC /*const*/ p1o1024dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dy); - CCTK_REAL_VEC /*const*/ p1o1024dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dz); - CCTK_REAL_VEC /*const*/ p1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dx); - CCTK_REAL_VEC /*const*/ p1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dy); - CCTK_REAL_VEC /*const*/ p1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dz); - CCTK_REAL_VEC /*const*/ p1o12dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dx); - CCTK_REAL_VEC /*const*/ p1o12dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dy); - CCTK_REAL_VEC /*const*/ p1o12dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dz); - CCTK_REAL_VEC /*const*/ p1o144dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o144dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o144dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o1680dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dx); - CCTK_REAL_VEC /*const*/ p1o1680dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dy); - CCTK_REAL_VEC /*const*/ p1o1680dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dz); - CCTK_REAL_VEC /*const*/ p1o180dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ p1o180dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ p1o180dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ p1o24dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dx); - CCTK_REAL_VEC /*const*/ p1o24dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dy); - CCTK_REAL_VEC /*const*/ p1o24dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dz); - CCTK_REAL_VEC /*const*/ p1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dx); - CCTK_REAL_VEC /*const*/ p1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dy); - CCTK_REAL_VEC /*const*/ p1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dz); - CCTK_REAL_VEC /*const*/ p1o3600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o3600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o3600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dx); - CCTK_REAL_VEC /*const*/ p1o4dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o4dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dy); - CCTK_REAL_VEC /*const*/ p1o4dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dz); - CCTK_REAL_VEC /*const*/ p1o5040dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ p1o5040dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ p1o5040dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ p1o560dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dx); - CCTK_REAL_VEC /*const*/ p1o560dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dy); - CCTK_REAL_VEC /*const*/ p1o560dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dz); - CCTK_REAL_VEC /*const*/ p1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dx); - CCTK_REAL_VEC /*const*/ p1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dy); - CCTK_REAL_VEC /*const*/ p1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dz); - CCTK_REAL_VEC /*const*/ p1o64dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dx); - CCTK_REAL_VEC /*const*/ p1o64dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dy); - CCTK_REAL_VEC /*const*/ p1o64dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dz); - CCTK_REAL_VEC /*const*/ p1o705600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o705600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o705600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o840dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dx); - CCTK_REAL_VEC /*const*/ p1o840dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dy); - CCTK_REAL_VEC /*const*/ p1o840dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dz); - CCTK_REAL_VEC /*const*/ p1odx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dx); - CCTK_REAL_VEC /*const*/ p1odx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ p1ody CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dy); - CCTK_REAL_VEC /*const*/ p1ody2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ p1odz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dz); - CCTK_REAL_VEC /*const*/ p1odz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ pm1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dx); - CCTK_REAL_VEC /*const*/ pm1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dy); - CCTK_REAL_VEC /*const*/ pm1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dz); - CCTK_REAL_VEC /*const*/ pm1o12dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ pm1o12dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ pm1o12dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ pm1o16dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dx); - CCTK_REAL_VEC /*const*/ pm1o16dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dy); - CCTK_REAL_VEC /*const*/ pm1o16dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dz); - CCTK_REAL_VEC /*const*/ pm1o256dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dx); - CCTK_REAL_VEC /*const*/ pm1o256dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dy); - CCTK_REAL_VEC /*const*/ pm1o256dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dz); - CCTK_REAL_VEC /*const*/ pm1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dx); - CCTK_REAL_VEC /*const*/ pm1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dy); - CCTK_REAL_VEC /*const*/ pm1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dz); - CCTK_REAL_VEC /*const*/ pm1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dx); - CCTK_REAL_VEC /*const*/ pm1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dy); - CCTK_REAL_VEC /*const*/ pm1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dz); - CCTK_REAL_VEC /*const*/ pm1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dx); - CCTK_REAL_VEC /*const*/ pm1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dy); - CCTK_REAL_VEC /*const*/ pm1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dz); + const CCTK_REAL_VEC p1o1024dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dx); + const CCTK_REAL_VEC p1o1024dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dy); + const CCTK_REAL_VEC p1o1024dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dz); + const CCTK_REAL_VEC p1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dx); + const CCTK_REAL_VEC p1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dy); + const CCTK_REAL_VEC p1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dz); + const CCTK_REAL_VEC p1o12dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dx); + const CCTK_REAL_VEC p1o12dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dy); + const CCTK_REAL_VEC p1o12dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dz); + const CCTK_REAL_VEC p1o144dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dy,dx)); + const CCTK_REAL_VEC p1o144dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dx)); + const CCTK_REAL_VEC p1o144dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dy)); + const CCTK_REAL_VEC p1o1680dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dx); + const CCTK_REAL_VEC p1o1680dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dy); + const CCTK_REAL_VEC p1o1680dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dz); + const CCTK_REAL_VEC p1o180dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dx,dx)); + const CCTK_REAL_VEC p1o180dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dy,dy)); + const CCTK_REAL_VEC p1o180dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dz,dz)); + const CCTK_REAL_VEC p1o24dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dx); + const CCTK_REAL_VEC p1o24dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dy); + const CCTK_REAL_VEC p1o24dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dz); + const CCTK_REAL_VEC p1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dx); + const CCTK_REAL_VEC p1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dy); + const CCTK_REAL_VEC p1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dz); + const CCTK_REAL_VEC p1o3600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dy,dx)); + const CCTK_REAL_VEC p1o3600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dx)); + const CCTK_REAL_VEC p1o3600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dy)); + const CCTK_REAL_VEC p1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dx); + const CCTK_REAL_VEC p1o4dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dy,dx)); + const CCTK_REAL_VEC p1o4dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dx)); + const CCTK_REAL_VEC p1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dy); + const CCTK_REAL_VEC p1o4dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dy)); + const CCTK_REAL_VEC p1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dz); + const CCTK_REAL_VEC p1o5040dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dx,dx)); + const CCTK_REAL_VEC p1o5040dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dy,dy)); + const CCTK_REAL_VEC p1o5040dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dz,dz)); + const CCTK_REAL_VEC p1o560dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dx); + const CCTK_REAL_VEC p1o560dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dy); + const CCTK_REAL_VEC p1o560dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dz); + const CCTK_REAL_VEC p1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dx); + const CCTK_REAL_VEC p1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dy); + const CCTK_REAL_VEC p1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dz); + const CCTK_REAL_VEC p1o64dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dx); + const CCTK_REAL_VEC p1o64dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dy); + const CCTK_REAL_VEC p1o64dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dz); + const CCTK_REAL_VEC p1o705600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dy,dx)); + const CCTK_REAL_VEC p1o705600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dx)); + const CCTK_REAL_VEC p1o705600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dy)); + const CCTK_REAL_VEC p1o840dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dx); + const CCTK_REAL_VEC p1o840dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dy); + const CCTK_REAL_VEC p1o840dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dz); + const CCTK_REAL_VEC p1odx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dx); + const CCTK_REAL_VEC p1odx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dx,dx)); + const CCTK_REAL_VEC p1ody CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dy); + const CCTK_REAL_VEC p1ody2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dy,dy)); + const CCTK_REAL_VEC p1odz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dz); + const CCTK_REAL_VEC p1odz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dz,dz)); + const CCTK_REAL_VEC pm1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dx); + const CCTK_REAL_VEC pm1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dy); + const CCTK_REAL_VEC pm1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dz); + const CCTK_REAL_VEC pm1o12dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dx,dx)); + const CCTK_REAL_VEC pm1o12dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dy,dy)); + const CCTK_REAL_VEC pm1o12dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dz,dz)); + const CCTK_REAL_VEC pm1o16dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dx); + const CCTK_REAL_VEC pm1o16dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dy); + const CCTK_REAL_VEC pm1o16dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dz); + const CCTK_REAL_VEC pm1o256dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dx); + const CCTK_REAL_VEC pm1o256dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dy); + const CCTK_REAL_VEC pm1o256dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dz); + const CCTK_REAL_VEC pm1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dx); + const CCTK_REAL_VEC pm1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dy); + const CCTK_REAL_VEC pm1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dz); + const CCTK_REAL_VEC pm1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dx); + const CCTK_REAL_VEC pm1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dy); + const CCTK_REAL_VEC pm1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dz); + const CCTK_REAL_VEC pm1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dx); + const CCTK_REAL_VEC pm1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dy); + const CCTK_REAL_VEC pm1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dz); /* Jacobian variable pointers */ - bool const use_jacobian CCTK_ATTRIBUTE_UNUSED = (!CCTK_IsFunctionAliased("MultiPatch_GetMap") || MultiPatch_GetMap(cctkGH) != jacobian_identity_map) - && strlen(jacobian_group) > 0; - if (use_jacobian && strlen(jacobian_derivative_group) == 0) + const bool use_jacobian1 = (!CCTK_IsFunctionAliased("MultiPatch_GetMap") || MultiPatch_GetMap(cctkGH) != jacobian_identity_map) + && strlen(jacobian_group) > 0; + const bool use_jacobian = assume_use_jacobian>=0 ? assume_use_jacobian : use_jacobian1; + const bool usejacobian CCTK_ATTRIBUTE_UNUSED = use_jacobian; + if (use_jacobian && (strlen(jacobian_determinant_group) == 0 || strlen(jacobian_inverse_group) == 0 || strlen(jacobian_derivative_group) == 0)) { - CCTK_WARN (1, "GenericFD::jacobian_group and GenericFD::jacobian_derivative_group must both be set to valid group names"); + CCTK_WARN(1, "GenericFD::jacobian_group, GenericFD::jacobian_determinant_group, GenericFD::jacobian_inverse_group, and GenericFD::jacobian_derivative_group must all be set to valid group names"); } - CCTK_REAL const *restrict jacobian_ptrs[9]; + const CCTK_REAL* restrict jacobian_ptrs[9]; if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_group, 9, jacobian_ptrs); - CCTK_REAL const *restrict const J11 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[0] : 0; - CCTK_REAL const *restrict const J12 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[1] : 0; - CCTK_REAL const *restrict const J13 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[2] : 0; - CCTK_REAL const *restrict const J21 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[3] : 0; - CCTK_REAL const *restrict const J22 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[4] : 0; - CCTK_REAL const *restrict const J23 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[5] : 0; - CCTK_REAL const *restrict const J31 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[6] : 0; - CCTK_REAL const *restrict const J32 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[7] : 0; - CCTK_REAL const *restrict const J33 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[8] : 0; + const CCTK_REAL* restrict const J11 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[0] : 0; + const CCTK_REAL* restrict const J12 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[1] : 0; + const CCTK_REAL* restrict const J13 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[2] : 0; + const CCTK_REAL* restrict const J21 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[3] : 0; + const CCTK_REAL* restrict const J22 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[4] : 0; + const CCTK_REAL* restrict const J23 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[5] : 0; + const CCTK_REAL* restrict const J31 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[6] : 0; + const CCTK_REAL* restrict const J32 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[7] : 0; + const CCTK_REAL* restrict const J33 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[8] : 0; - 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 */ @@ -193,13 +215,20 @@ static void ML_CCZ4_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_CCZ4_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 */ @@ -234,24 +263,34 @@ static void ML_CCZ4_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 */ CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED e4phi = IfThen(conformalMethod == - 1.,kdiv(ToReal(1),kmul(phiL,phiL)),kexp(kmul(phiL,ToReal(4.)))); + 1,kdiv(ToReal(1),kmul(phiL,phiL)),kexp(kmul(phiL,ToReal(4)))); gxxL = kmul(gt11L,e4phi); @@ -292,7 +331,7 @@ static void ML_CCZ4_convertToADMBase_Body(cGH const * restrict const cctkGH, int CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED betazL = beta3L; /* 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); @@ -329,7 +368,7 @@ extern "C" void ML_CCZ4_convertToADMBase(CCTK_ARGUMENTS) return; } - const char *const groups[] = { + const char* const groups[] = { "ADMBase::curv", "ADMBase::lapse", "ADMBase::metric", @@ -342,19 +381,29 @@ extern "C" void ML_CCZ4_convertToADMBase(CCTK_ARGUMENTS) "ML_CCZ4::ML_trace_curv"}; GenericFD_AssertGroupStorage(cctkGH, "ML_CCZ4_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_CCZ4_convertToADMBase_Body); diff --git a/ML_CCZ4/src/ML_CCZ4_convertToADMBaseDtLapseShift.cc b/ML_CCZ4/src/ML_CCZ4_convertToADMBaseDtLapseShift.cc index aa24a0c..e81660e 100644 --- a/ML_CCZ4/src/ML_CCZ4_convertToADMBaseDtLapseShift.cc +++ b/ML_CCZ4/src/ML_CCZ4_convertToADMBaseDtLapseShift.cc @@ -32,7 +32,9 @@ extern "C" void ML_CCZ4_convertToADMBaseDtLapseShift_SelectBCs(CCTK_ARGUMENTS) DECLARE_CCTK_ARGUMENTS; DECLARE_CCTK_PARAMETERS; - CCTK_INT ierr CCTK_ATTRIBUTE_UNUSED = 0; + if (cctk_iteration % ML_CCZ4_convertToADMBaseDtLapseShift_calc_every != ML_CCZ4_convertToADMBaseDtLapseShift_calc_offset) + return; + CCTK_INT ierr CCTK_ATTRIBUTE_UNUSED = 0; ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ADMBase::dtlapse","flat"); if (ierr < 0) CCTK_WARN(1, "Failed to register flat BC for ADMBase::dtlapse."); @@ -42,7 +44,7 @@ extern "C" void ML_CCZ4_convertToADMBaseDtLapseShift_SelectBCs(CCTK_ARGUMENTS) return; } -static void ML_CCZ4_convertToADMBaseDtLapseShift_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_CCZ4_convertToADMBaseDtLapseShift_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,153 +53,175 @@ static void ML_CCZ4_convertToADMBaseDtLapseShift_Body(cGH const * restrict 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*/ p1o1024dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dx); - CCTK_REAL_VEC /*const*/ p1o1024dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dy); - CCTK_REAL_VEC /*const*/ p1o1024dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dz); - CCTK_REAL_VEC /*const*/ p1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dx); - CCTK_REAL_VEC /*const*/ p1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dy); - CCTK_REAL_VEC /*const*/ p1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dz); - CCTK_REAL_VEC /*const*/ p1o12dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dx); - CCTK_REAL_VEC /*const*/ p1o12dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dy); - CCTK_REAL_VEC /*const*/ p1o12dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dz); - CCTK_REAL_VEC /*const*/ p1o144dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o144dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o144dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o1680dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dx); - CCTK_REAL_VEC /*const*/ p1o1680dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dy); - CCTK_REAL_VEC /*const*/ p1o1680dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dz); - CCTK_REAL_VEC /*const*/ p1o180dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ p1o180dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ p1o180dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ p1o24dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dx); - CCTK_REAL_VEC /*const*/ p1o24dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dy); - CCTK_REAL_VEC /*const*/ p1o24dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dz); - CCTK_REAL_VEC /*const*/ p1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dx); - CCTK_REAL_VEC /*const*/ p1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dy); - CCTK_REAL_VEC /*const*/ p1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dz); - CCTK_REAL_VEC /*const*/ p1o3600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o3600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o3600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dx); - CCTK_REAL_VEC /*const*/ p1o4dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o4dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dy); - CCTK_REAL_VEC /*const*/ p1o4dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dz); - CCTK_REAL_VEC /*const*/ p1o5040dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ p1o5040dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ p1o5040dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ p1o560dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dx); - CCTK_REAL_VEC /*const*/ p1o560dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dy); - CCTK_REAL_VEC /*const*/ p1o560dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dz); - CCTK_REAL_VEC /*const*/ p1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dx); - CCTK_REAL_VEC /*const*/ p1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dy); - CCTK_REAL_VEC /*const*/ p1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dz); - CCTK_REAL_VEC /*const*/ p1o64dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dx); - CCTK_REAL_VEC /*const*/ p1o64dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dy); - CCTK_REAL_VEC /*const*/ p1o64dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dz); - CCTK_REAL_VEC /*const*/ p1o705600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o705600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o705600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o840dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dx); - CCTK_REAL_VEC /*const*/ p1o840dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dy); - CCTK_REAL_VEC /*const*/ p1o840dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dz); - CCTK_REAL_VEC /*const*/ p1odx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dx); - CCTK_REAL_VEC /*const*/ p1odx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ p1ody CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dy); - CCTK_REAL_VEC /*const*/ p1ody2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ p1odz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dz); - CCTK_REAL_VEC /*const*/ p1odz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ pm1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dx); - CCTK_REAL_VEC /*const*/ pm1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dy); - CCTK_REAL_VEC /*const*/ pm1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dz); - CCTK_REAL_VEC /*const*/ pm1o12dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ pm1o12dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ pm1o12dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ pm1o16dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dx); - CCTK_REAL_VEC /*const*/ pm1o16dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dy); - CCTK_REAL_VEC /*const*/ pm1o16dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dz); - CCTK_REAL_VEC /*const*/ pm1o256dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dx); - CCTK_REAL_VEC /*const*/ pm1o256dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dy); - CCTK_REAL_VEC /*const*/ pm1o256dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dz); - CCTK_REAL_VEC /*const*/ pm1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dx); - CCTK_REAL_VEC /*const*/ pm1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dy); - CCTK_REAL_VEC /*const*/ pm1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dz); - CCTK_REAL_VEC /*const*/ pm1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dx); - CCTK_REAL_VEC /*const*/ pm1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dy); - CCTK_REAL_VEC /*const*/ pm1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dz); - CCTK_REAL_VEC /*const*/ pm1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dx); - CCTK_REAL_VEC /*const*/ pm1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dy); - CCTK_REAL_VEC /*const*/ pm1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dz); + const CCTK_REAL_VEC p1o1024dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dx); + const CCTK_REAL_VEC p1o1024dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dy); + const CCTK_REAL_VEC p1o1024dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dz); + const CCTK_REAL_VEC p1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dx); + const CCTK_REAL_VEC p1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dy); + const CCTK_REAL_VEC p1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dz); + const CCTK_REAL_VEC p1o12dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dx); + const CCTK_REAL_VEC p1o12dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dy); + const CCTK_REAL_VEC p1o12dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dz); + const CCTK_REAL_VEC p1o144dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dy,dx)); + const CCTK_REAL_VEC p1o144dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dx)); + const CCTK_REAL_VEC p1o144dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dy)); + const CCTK_REAL_VEC p1o1680dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dx); + const CCTK_REAL_VEC p1o1680dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dy); + const CCTK_REAL_VEC p1o1680dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dz); + const CCTK_REAL_VEC p1o180dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dx,dx)); + const CCTK_REAL_VEC p1o180dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dy,dy)); + const CCTK_REAL_VEC p1o180dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dz,dz)); + const CCTK_REAL_VEC p1o24dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dx); + const CCTK_REAL_VEC p1o24dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dy); + const CCTK_REAL_VEC p1o24dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dz); + const CCTK_REAL_VEC p1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dx); + const CCTK_REAL_VEC p1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dy); + const CCTK_REAL_VEC p1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dz); + const CCTK_REAL_VEC p1o3600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dy,dx)); + const CCTK_REAL_VEC p1o3600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dx)); + const CCTK_REAL_VEC p1o3600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dy)); + const CCTK_REAL_VEC p1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dx); + const CCTK_REAL_VEC p1o4dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dy,dx)); + const CCTK_REAL_VEC p1o4dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dx)); + const CCTK_REAL_VEC p1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dy); + const CCTK_REAL_VEC p1o4dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dy)); + const CCTK_REAL_VEC p1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dz); + const CCTK_REAL_VEC p1o5040dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dx,dx)); + const CCTK_REAL_VEC p1o5040dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dy,dy)); + const CCTK_REAL_VEC p1o5040dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dz,dz)); + const CCTK_REAL_VEC p1o560dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dx); + const CCTK_REAL_VEC p1o560dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dy); + const CCTK_REAL_VEC p1o560dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dz); + const CCTK_REAL_VEC p1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dx); + const CCTK_REAL_VEC p1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dy); + const CCTK_REAL_VEC p1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dz); + const CCTK_REAL_VEC p1o64dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dx); + const CCTK_REAL_VEC p1o64dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dy); + const CCTK_REAL_VEC p1o64dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dz); + const CCTK_REAL_VEC p1o705600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dy,dx)); + const CCTK_REAL_VEC p1o705600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dx)); + const CCTK_REAL_VEC p1o705600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dy)); + const CCTK_REAL_VEC p1o840dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dx); + const CCTK_REAL_VEC p1o840dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dy); + const CCTK_REAL_VEC p1o840dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dz); + const CCTK_REAL_VEC p1odx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dx); + const CCTK_REAL_VEC p1odx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dx,dx)); + const CCTK_REAL_VEC p1ody CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dy); + const CCTK_REAL_VEC p1ody2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dy,dy)); + const CCTK_REAL_VEC p1odz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dz); + const CCTK_REAL_VEC p1odz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dz,dz)); + const CCTK_REAL_VEC pm1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dx); + const CCTK_REAL_VEC pm1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dy); + const CCTK_REAL_VEC pm1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dz); + const CCTK_REAL_VEC pm1o12dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dx,dx)); + const CCTK_REAL_VEC pm1o12dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dy,dy)); + const CCTK_REAL_VEC pm1o12dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dz,dz)); + const CCTK_REAL_VEC pm1o16dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dx); + const CCTK_REAL_VEC pm1o16dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dy); + const CCTK_REAL_VEC pm1o16dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dz); + const CCTK_REAL_VEC pm1o256dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dx); + const CCTK_REAL_VEC pm1o256dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dy); + const CCTK_REAL_VEC pm1o256dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dz); + const CCTK_REAL_VEC pm1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dx); + const CCTK_REAL_VEC pm1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dy); + const CCTK_REAL_VEC pm1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dz); + const CCTK_REAL_VEC pm1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dx); + const CCTK_REAL_VEC pm1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dy); + const CCTK_REAL_VEC pm1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dz); + const CCTK_REAL_VEC pm1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dx); + const CCTK_REAL_VEC pm1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dy); + const CCTK_REAL_VEC pm1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dz); /* Jacobian variable pointers */ - bool const use_jacobian CCTK_ATTRIBUTE_UNUSED = (!CCTK_IsFunctionAliased("MultiPatch_GetMap") || MultiPatch_GetMap(cctkGH) != jacobian_identity_map) - && strlen(jacobian_group) > 0; - if (use_jacobian && strlen(jacobian_derivative_group) == 0) + const bool use_jacobian1 = (!CCTK_IsFunctionAliased("MultiPatch_GetMap") || MultiPatch_GetMap(cctkGH) != jacobian_identity_map) + && strlen(jacobian_group) > 0; + const bool use_jacobian = assume_use_jacobian>=0 ? assume_use_jacobian : use_jacobian1; + const bool usejacobian CCTK_ATTRIBUTE_UNUSED = use_jacobian; + if (use_jacobian && (strlen(jacobian_determinant_group) == 0 || strlen(jacobian_inverse_group) == 0 || strlen(jacobian_derivative_group) == 0)) { - CCTK_WARN (1, "GenericFD::jacobian_group and GenericFD::jacobian_derivative_group must both be set to valid group names"); + CCTK_WARN(1, "GenericFD::jacobian_group, GenericFD::jacobian_determinant_group, GenericFD::jacobian_inverse_group, and GenericFD::jacobian_derivative_group must all be set to valid group names"); } - CCTK_REAL const *restrict jacobian_ptrs[9]; + const CCTK_REAL* restrict jacobian_ptrs[9]; if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_group, 9, jacobian_ptrs); - CCTK_REAL const *restrict const J11 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[0] : 0; - CCTK_REAL const *restrict const J12 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[1] : 0; - CCTK_REAL const *restrict const J13 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[2] : 0; - CCTK_REAL const *restrict const J21 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[3] : 0; - CCTK_REAL const *restrict const J22 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[4] : 0; - CCTK_REAL const *restrict const J23 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[5] : 0; - CCTK_REAL const *restrict const J31 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[6] : 0; - CCTK_REAL const *restrict const J32 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[7] : 0; - CCTK_REAL const *restrict const J33 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[8] : 0; + const CCTK_REAL* restrict const J11 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[0] : 0; + const CCTK_REAL* restrict const J12 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[1] : 0; + const CCTK_REAL* restrict const J13 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[2] : 0; + const CCTK_REAL* restrict const J21 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[3] : 0; + const CCTK_REAL* restrict const J22 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[4] : 0; + const CCTK_REAL* restrict const J23 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[5] : 0; + const CCTK_REAL* restrict const J31 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[6] : 0; + const CCTK_REAL* restrict const J32 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[7] : 0; + const CCTK_REAL* restrict const J33 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[8] : 0; + + const CCTK_REAL* restrict jacobian_determinant_ptrs[1] CCTK_ATTRIBUTE_UNUSED; + if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_determinant_group, + 1, jacobian_determinant_ptrs); + + const CCTK_REAL* restrict const detJ CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[0] : 0; - CCTK_REAL const *restrict jacobian_derivative_ptrs[18] CCTK_ATTRIBUTE_UNUSED; + const CCTK_REAL* restrict jacobian_inverse_ptrs[9] CCTK_ATTRIBUTE_UNUSED; + if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_inverse_group, + 9, jacobian_inverse_ptrs); + + const CCTK_REAL* restrict const iJ11 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[0] : 0; + const CCTK_REAL* restrict const iJ12 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[1] : 0; + const CCTK_REAL* restrict const iJ13 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[2] : 0; + const CCTK_REAL* restrict const iJ21 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[3] : 0; + const CCTK_REAL* restrict const iJ22 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[4] : 0; + const CCTK_REAL* restrict const iJ23 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[5] : 0; + const CCTK_REAL* restrict const iJ31 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[6] : 0; + const CCTK_REAL* restrict const iJ32 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[7] : 0; + const CCTK_REAL* restrict const iJ33 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[8] : 0; + + const CCTK_REAL* restrict jacobian_derivative_ptrs[18] CCTK_ATTRIBUTE_UNUSED; if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_derivative_group, 18, jacobian_derivative_ptrs); - CCTK_REAL const *restrict const dJ111 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[0] : 0; - CCTK_REAL const *restrict const dJ112 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[1] : 0; - CCTK_REAL const *restrict const dJ113 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[2] : 0; - CCTK_REAL const *restrict const dJ122 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[3] : 0; - CCTK_REAL const *restrict const dJ123 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[4] : 0; - CCTK_REAL const *restrict const dJ133 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[5] : 0; - CCTK_REAL const *restrict const dJ211 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[6] : 0; - CCTK_REAL const *restrict const dJ212 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[7] : 0; - CCTK_REAL const *restrict const dJ213 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[8] : 0; - CCTK_REAL const *restrict const dJ222 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[9] : 0; - CCTK_REAL const *restrict const dJ223 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[10] : 0; - CCTK_REAL const *restrict const dJ233 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[11] : 0; - CCTK_REAL const *restrict const dJ311 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[12] : 0; - CCTK_REAL const *restrict const dJ312 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[13] : 0; - CCTK_REAL const *restrict const dJ313 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[14] : 0; - CCTK_REAL const *restrict const dJ322 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[15] : 0; - CCTK_REAL const *restrict const dJ323 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[16] : 0; - CCTK_REAL const *restrict const dJ333 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[17] : 0; + const CCTK_REAL* restrict const dJ111 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[0] : 0; + const CCTK_REAL* restrict const dJ112 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[1] : 0; + const CCTK_REAL* restrict const dJ113 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[2] : 0; + const CCTK_REAL* restrict const dJ122 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[3] : 0; + const CCTK_REAL* restrict const dJ123 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[4] : 0; + const CCTK_REAL* restrict const dJ133 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[5] : 0; + const CCTK_REAL* restrict const dJ211 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[6] : 0; + const CCTK_REAL* restrict const dJ212 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[7] : 0; + const CCTK_REAL* restrict const dJ213 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[8] : 0; + const CCTK_REAL* restrict const dJ222 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[9] : 0; + const CCTK_REAL* restrict const dJ223 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[10] : 0; + const CCTK_REAL* restrict const dJ233 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[11] : 0; + const CCTK_REAL* restrict const dJ311 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[12] : 0; + const CCTK_REAL* restrict const dJ312 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[13] : 0; + const CCTK_REAL* restrict const dJ313 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[14] : 0; + const CCTK_REAL* restrict const dJ322 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[15] : 0; + const CCTK_REAL* restrict const dJ323 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[16] : 0; + const CCTK_REAL* restrict const dJ333 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[17] : 0; /* Assign local copies of arrays functions */ @@ -208,13 +232,20 @@ static void ML_CCZ4_convertToADMBaseDtLapseShift_Body(cGH const * restrict 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_CCZ4_convertToADMBaseDtLapseShift, - 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 */ @@ -259,58 +290,59 @@ static void ML_CCZ4_convertToADMBaseDtLapseShift_Body(cGH const * restrict const /* 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 PDupwindNthAnti1alpha CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm1alpha CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti2alpha CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm2alpha CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti3alpha CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm3alpha CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti1beta1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm1beta1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti2beta1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm2beta1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti3beta1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm3beta1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti1beta2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm1beta2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti2beta2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm2beta2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti3beta2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm3beta2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti1beta3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm1beta3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti2beta3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm2beta3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthAnti3beta3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDupwindNthSymm3beta3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth1gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth2gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth3gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth1gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth2gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth3gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth1gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth2gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth3gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth1gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth2gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth3gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth1gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth2gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth3gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth1gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth2gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth3gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth1phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth2phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC PDstandardNth3phi CCTK_ATTRIBUTE_UNUSED ; - - 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 PDupwindNthAnti1alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm1alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti2alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm2alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti3alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm3alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti1beta1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm1beta1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti2beta1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm2beta1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti3beta1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm3beta1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti1beta2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm1beta2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti2beta2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm2beta2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti3beta2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm3beta2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti1beta3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm1beta3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti2beta3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm2beta3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthAnti3beta3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDupwindNthSymm3beta3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3phi CCTK_ATTRIBUTE_UNUSED; + + switch (fdOrder) { case 2: + { PDstandardNth1alpha = PDstandardNthfdOrder21(&alpha[index]); PDstandardNth2alpha = PDstandardNthfdOrder22(&alpha[index]); PDstandardNth3alpha = PDstandardNthfdOrder23(&alpha[index]); @@ -360,8 +392,10 @@ static void ML_CCZ4_convertToADMBaseDtLapseShift_Body(cGH const * restrict const PDstandardNth2phi = PDstandardNthfdOrder22(&phi[index]); PDstandardNth3phi = PDstandardNthfdOrder23(&phi[index]); break; + } case 4: + { PDstandardNth1alpha = PDstandardNthfdOrder41(&alpha[index]); PDstandardNth2alpha = PDstandardNthfdOrder42(&alpha[index]); PDstandardNth3alpha = PDstandardNthfdOrder43(&alpha[index]); @@ -411,8 +445,10 @@ static void ML_CCZ4_convertToADMBaseDtLapseShift_Body(cGH const * restrict const PDstandardNth2phi = PDstandardNthfdOrder42(&phi[index]); PDstandardNth3phi = PDstandardNthfdOrder43(&phi[index]); break; + } case 6: + { PDstandardNth1alpha = PDstandardNthfdOrder61(&alpha[index]); PDstandardNth2alpha = PDstandardNthfdOrder62(&alpha[index]); PDstandardNth3alpha = PDstandardNthfdOrder63(&alpha[index]); @@ -462,8 +498,10 @@ static void ML_CCZ4_convertToADMBaseDtLapseShift_Body(cGH const * restrict const PDstandardNth2phi = PDstandardNthfdOrder62(&phi[index]); PDstandardNth3phi = PDstandardNthfdOrder63(&phi[index]); break; + } case 8: + { PDstandardNth1alpha = PDstandardNthfdOrder81(&alpha[index]); PDstandardNth2alpha = PDstandardNthfdOrder82(&alpha[index]); PDstandardNth3alpha = PDstandardNthfdOrder83(&alpha[index]); @@ -513,6 +551,9 @@ static void ML_CCZ4_convertToADMBaseDtLapseShift_Body(cGH const * restrict const PDstandardNth2phi = PDstandardNthfdOrder82(&phi[index]); PDstandardNth3phi = PDstandardNthfdOrder83(&phi[index]); break; + } + default: + CCTK_BUILTIN_UNREACHABLE(); } /* Calculate temporaries and grid functions */ @@ -522,54 +563,54 @@ static void ML_CCZ4_convertToADMBaseDtLapseShift_Body(cGH const * restrict const ptrdiff_t CCTK_ATTRIBUTE_UNUSED dir3 = kisgn(beta3L); - CCTK_REAL_VEC JacPDstandardNth1alpha CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth1gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth1gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth1gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth1gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth1gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth1gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth1phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth2alpha CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth2gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth2gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth2gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth2gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth2gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth2gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth2phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth3alpha CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth3gt11 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth3gt12 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth3gt13 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth3gt22 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth3gt23 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth3gt33 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDstandardNth3phi CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti1alpha CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti1beta1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti1beta2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti1beta3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti2alpha CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti2beta1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti2beta2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti2beta3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti3alpha CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti3beta1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti3beta2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthAnti3beta3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm1alpha CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm1beta1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm1beta2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm1beta3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm2alpha CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm2beta1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm2beta2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm2beta3 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm3alpha CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm3beta1 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm3beta2 CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC JacPDupwindNthSymm3beta3 CCTK_ATTRIBUTE_UNUSED ; + CCTK_REAL_VEC JacPDstandardNth1alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti1alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti1beta1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti1beta2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti1beta3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti2alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti2beta1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti2beta2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti2beta3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti3alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti3beta1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti3beta2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthAnti3beta3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm1alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm1beta1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm1beta2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm1beta3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm2alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm2beta1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm2beta2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm2beta3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm3alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm3beta1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm3beta2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDupwindNthSymm3beta3 CCTK_ATTRIBUTE_UNUSED; if (use_jacobian) { @@ -816,81 +857,80 @@ static void ML_CCZ4_convertToADMBaseDtLapseShift_Body(cGH const * restrict const JacPDupwindNthSymm3beta3 = PDupwindNthSymm3beta3; } - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED detgt = ToReal(1.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED detgt = ToReal(1); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gtu11 = - kdiv(kmadd(gt22L,gt33L,kmul(kmul(gt23L,gt23L),ToReal(-1.))),detgt); + kdiv(kmsub(gt22L,gt33L,kmul(gt23L,gt23L)),detgt); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gtu12 = - kdiv(kmadd(gt13L,gt23L,kmul(gt12L,kmul(gt33L,ToReal(-1.)))),detgt); + kdiv(kmsub(gt13L,gt23L,kmul(gt12L,gt33L)),detgt); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gtu13 = - kdiv(kmadd(gt12L,gt23L,kmul(gt13L,kmul(gt22L,ToReal(-1.)))),detgt); + kdiv(kmsub(gt12L,gt23L,kmul(gt13L,gt22L)),detgt); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gtu22 = - kdiv(kmadd(gt11L,gt33L,kmul(kmul(gt13L,gt13L),ToReal(-1.))),detgt); + kdiv(kmsub(gt11L,gt33L,kmul(gt13L,gt13L)),detgt); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gtu23 = - kdiv(kmadd(gt12L,gt13L,kmul(gt11L,kmul(gt23L,ToReal(-1.)))),detgt); + kdiv(kmsub(gt12L,gt13L,kmul(gt11L,gt23L)),detgt); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gtu33 = - kdiv(kmadd(gt11L,gt22L,kmul(kmul(gt12L,gt12L),ToReal(-1.))),detgt); + kdiv(kmsub(gt11L,gt22L,kmul(gt12L,gt12L)),detgt); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED em4phi = IfThen(conformalMethod == - 1.,kmul(phiL,phiL),kexp(kmul(phiL,ToReal(-4.)))); + 1,kmul(phiL,phiL),kexp(kmul(phiL,ToReal(-4)))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED eta = kdiv(ToReal(SpatialBetaDriverRadius),kfmax(rL,ToReal(SpatialBetaDriverRadius))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED theta = - kfmin(ToReal(1.),kexp(kmadd(kmul(rL,ToReal(-1.)),ToReal(ScalarINV(SpatialShiftGammaCoeffRadius)),ToReal(1.)))); + kfmin(ToReal(1),kexp(knmsub(rL,ToReal(ScalarINV(SpatialShiftGammaCoeffRadius)),ToReal(1)))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Ddetgt1 = - kmadd(gtu11,JacPDstandardNth1gt11,kmadd(gtu22,JacPDstandardNth1gt22,kmadd(gtu33,JacPDstandardNth1gt33,kmul(kmadd(gtu12,JacPDstandardNth1gt12,kmadd(gtu13,JacPDstandardNth1gt13,kmul(gtu23,JacPDstandardNth1gt23))),ToReal(2.))))); + kmadd(gtu11,JacPDstandardNth1gt11,kmadd(gtu22,JacPDstandardNth1gt22,kmadd(gtu33,JacPDstandardNth1gt33,kmul(kmadd(gtu12,JacPDstandardNth1gt12,kmadd(gtu13,JacPDstandardNth1gt13,kmul(gtu23,JacPDstandardNth1gt23))),ToReal(2))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Ddetgt2 = - kmadd(gtu11,JacPDstandardNth2gt11,kmadd(gtu22,JacPDstandardNth2gt22,kmadd(gtu33,JacPDstandardNth2gt33,kmul(kmadd(gtu12,JacPDstandardNth2gt12,kmadd(gtu13,JacPDstandardNth2gt13,kmul(gtu23,JacPDstandardNth2gt23))),ToReal(2.))))); + kmadd(gtu11,JacPDstandardNth2gt11,kmadd(gtu22,JacPDstandardNth2gt22,kmadd(gtu33,JacPDstandardNth2gt33,kmul(kmadd(gtu12,JacPDstandardNth2gt12,kmadd(gtu13,JacPDstandardNth2gt13,kmul(gtu23,JacPDstandardNth2gt23))),ToReal(2))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED Ddetgt3 = - kmadd(gtu11,JacPDstandardNth3gt11,kmadd(gtu22,JacPDstandardNth3gt22,kmadd(gtu33,JacPDstandardNth3gt33,kmul(kmadd(gtu12,JacPDstandardNth3gt12,kmadd(gtu13,JacPDstandardNth3gt13,kmul(gtu23,JacPDstandardNth3gt23))),ToReal(2.))))); + kmadd(gtu11,JacPDstandardNth3gt11,kmadd(gtu22,JacPDstandardNth3gt22,kmadd(gtu33,JacPDstandardNth3gt33,kmul(kmadd(gtu12,JacPDstandardNth3gt12,kmadd(gtu13,JacPDstandardNth3gt13,kmul(gtu23,JacPDstandardNth3gt23))),ToReal(2))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED dtalpL = - kmadd(kpow(alphaL,harmonicN),kmul(ToReal(-1.),kmul(ToReal(harmonicF),kmadd(AL,ToReal(LapseACoeff),kmul(kmadd(trKL,ToReal(-1.),kmul(ThetaL,ToReal(2.))),ToReal(-1. - + - LapseACoeff))))),kmul(kmadd(beta1L,JacPDupwindNthAnti1alpha,kmadd(beta2L,JacPDupwindNthAnti2alpha,kmadd(beta3L,JacPDupwindNthAnti3alpha,kmadd(JacPDupwindNthSymm1alpha,kfabs(beta1L),kmadd(JacPDupwindNthSymm2alpha,kfabs(beta2L),kmul(JacPDupwindNthSymm3alpha,kfabs(beta3L))))))),ToReal(LapseAdvectionCoeff))); + kmsub(kmadd(beta1L,JacPDupwindNthAnti1alpha,kmadd(beta2L,JacPDupwindNthAnti2alpha,kmadd(beta3L,JacPDupwindNthAnti3alpha,kmadd(JacPDupwindNthSymm1alpha,kfabs(beta1L),kmadd(JacPDupwindNthSymm2alpha,kfabs(beta2L),kmul(JacPDupwindNthSymm3alpha,kfabs(beta3L))))))),ToReal(LapseAdvectionCoeff),kmul(kpow(alphaL,harmonicN),kmul(ToReal(harmonicF),kmadd(AL,ToReal(LapseACoeff),kmul(kmsub(ThetaL,ToReal(2),trKL),ToReal(-1 + + LapseACoeff)))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED dtbetaxL = kmadd(kmadd(beta1L,JacPDupwindNthAnti1beta1,kmadd(beta2L,JacPDupwindNthAnti2beta1,kmadd(beta3L,JacPDupwindNthAnti3beta1,kmadd(JacPDupwindNthSymm1beta1,kfabs(beta1L),kmadd(JacPDupwindNthSymm2beta1,kfabs(beta2L),kmul(JacPDupwindNthSymm3beta1,kfabs(beta3L))))))),ToReal(ShiftAdvectionCoeff),IfThen(harmonicShift,kmul(alphaL,kmul(em4phi,kmul(ToReal(-0.5),kmadd(gtu11,kmadd(alphaL,kmadd(kmadd(gtu11,JacPDstandardNth1gt11,kmadd(gtu12,kadd(JacPDstandardNth1gt12,JacPDstandardNth2gt11),kmadd(gtu22,JacPDstandardNth2gt12,kmadd(gtu13,kadd(JacPDstandardNth1gt13,JacPDstandardNth3gt11),kmadd(gtu23,kadd(JacPDstandardNth2gt13,JacPDstandardNth3gt12),kmadd(gtu33,JacPDstandardNth3gt13,kmul(JacPDstandardNth1phi,IfThen(conformalMethod == - 1.,kdiv(ToReal(1),phiL),ToReal(-2.))))))))),ToReal(-2.),Ddetgt1),kmul(JacPDstandardNth1alpha,ToReal(2.))),kmadd(gtu12,kmadd(alphaL,kmadd(kmadd(gtu11,JacPDstandardNth1gt12,kmadd(gtu12,kadd(JacPDstandardNth1gt22,JacPDstandardNth2gt12),kmadd(gtu22,JacPDstandardNth2gt22,kmadd(gtu13,kadd(JacPDstandardNth1gt23,JacPDstandardNth3gt12),kmadd(gtu23,kadd(JacPDstandardNth2gt23,JacPDstandardNth3gt22),kmadd(gtu33,JacPDstandardNth3gt23,kmul(JacPDstandardNth2phi,IfThen(conformalMethod + 1,kdiv(ToReal(1),phiL),ToReal(-2))))))))),ToReal(-2),Ddetgt1),kmul(JacPDstandardNth1alpha,ToReal(2))),kmadd(gtu12,kmadd(alphaL,kmadd(kmadd(gtu11,JacPDstandardNth1gt12,kmadd(gtu12,kadd(JacPDstandardNth1gt22,JacPDstandardNth2gt12),kmadd(gtu22,JacPDstandardNth2gt22,kmadd(gtu13,kadd(JacPDstandardNth1gt23,JacPDstandardNth3gt12),kmadd(gtu23,kadd(JacPDstandardNth2gt23,JacPDstandardNth3gt22),kmadd(gtu33,JacPDstandardNth3gt23,kmul(JacPDstandardNth2phi,IfThen(conformalMethod == - 1.,kdiv(ToReal(1),phiL),ToReal(-2.))))))))),ToReal(-2.),Ddetgt2),kmul(JacPDstandardNth2alpha,ToReal(2.))),kmul(gtu13,kmadd(alphaL,kmadd(kmadd(gtu11,JacPDstandardNth1gt13,kmadd(gtu12,kadd(JacPDstandardNth1gt23,JacPDstandardNth2gt13),kmadd(gtu22,JacPDstandardNth2gt23,kmadd(gtu13,kadd(JacPDstandardNth1gt33,JacPDstandardNth3gt13),kmadd(gtu23,kadd(JacPDstandardNth2gt33,JacPDstandardNth3gt23),kmadd(gtu33,JacPDstandardNth3gt33,kmul(JacPDstandardNth3phi,IfThen(conformalMethod + 1,kdiv(ToReal(1),phiL),ToReal(-2))))))))),ToReal(-2),Ddetgt2),kmul(JacPDstandardNth2alpha,ToReal(2))),kmul(gtu13,kmadd(alphaL,kmadd(kmadd(gtu11,JacPDstandardNth1gt13,kmadd(gtu12,kadd(JacPDstandardNth1gt23,JacPDstandardNth2gt13),kmadd(gtu22,JacPDstandardNth2gt23,kmadd(gtu13,kadd(JacPDstandardNth1gt33,JacPDstandardNth3gt13),kmadd(gtu23,kadd(JacPDstandardNth2gt33,JacPDstandardNth3gt23),kmadd(gtu33,JacPDstandardNth3gt33,kmul(JacPDstandardNth3phi,IfThen(conformalMethod == - 1.,kdiv(ToReal(1),phiL),ToReal(-2.))))))))),ToReal(-2.),Ddetgt3),kmul(JacPDstandardNth3alpha,ToReal(2.))))))))),kmul(theta,kmul(kadd(Xt1L,kmadd(kmadd(Xt1L,ToReal(-1.),B1L),ToReal(ShiftBCoeff),kmul(beta1L,kmul(eta,ToReal(BetaDriver*(-1. + 1,kdiv(ToReal(1),phiL),ToReal(-2))))))))),ToReal(-2),Ddetgt3),kmul(JacPDstandardNth3alpha,ToReal(2))))))))),kmul(theta,kmul(kadd(Xt1L,kmadd(ksub(B1L,Xt1L),ToReal(ShiftBCoeff),kmul(beta1L,kmul(eta,ToReal(BetaDriver*(-1 + ShiftBCoeff)))))),ToReal(ShiftGammaCoeff))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED dtbetayL = kmadd(kmadd(beta1L,JacPDupwindNthAnti1beta2,kmadd(beta2L,JacPDupwindNthAnti2beta2,kmadd(beta3L,JacPDupwindNthAnti3beta2,kmadd(JacPDupwindNthSymm1beta2,kfabs(beta1L),kmadd(JacPDupwindNthSymm2beta2,kfabs(beta2L),kmul(JacPDupwindNthSymm3beta2,kfabs(beta3L))))))),ToReal(ShiftAdvectionCoeff),IfThen(harmonicShift,kmul(alphaL,kmul(em4phi,kmul(ToReal(-0.5),kmadd(gtu12,kmadd(alphaL,kmadd(kmadd(gtu11,JacPDstandardNth1gt11,kmadd(gtu12,kadd(JacPDstandardNth1gt12,JacPDstandardNth2gt11),kmadd(gtu22,JacPDstandardNth2gt12,kmadd(gtu13,kadd(JacPDstandardNth1gt13,JacPDstandardNth3gt11),kmadd(gtu23,kadd(JacPDstandardNth2gt13,JacPDstandardNth3gt12),kmadd(gtu33,JacPDstandardNth3gt13,kmul(JacPDstandardNth1phi,IfThen(conformalMethod == - 1.,kdiv(ToReal(1),phiL),ToReal(-2.))))))))),ToReal(-2.),Ddetgt1),kmul(JacPDstandardNth1alpha,ToReal(2.))),kmadd(gtu22,kmadd(alphaL,kmadd(kmadd(gtu11,JacPDstandardNth1gt12,kmadd(gtu12,kadd(JacPDstandardNth1gt22,JacPDstandardNth2gt12),kmadd(gtu22,JacPDstandardNth2gt22,kmadd(gtu13,kadd(JacPDstandardNth1gt23,JacPDstandardNth3gt12),kmadd(gtu23,kadd(JacPDstandardNth2gt23,JacPDstandardNth3gt22),kmadd(gtu33,JacPDstandardNth3gt23,kmul(JacPDstandardNth2phi,IfThen(conformalMethod + 1,kdiv(ToReal(1),phiL),ToReal(-2))))))))),ToReal(-2),Ddetgt1),kmul(JacPDstandardNth1alpha,ToReal(2))),kmadd(gtu22,kmadd(alphaL,kmadd(kmadd(gtu11,JacPDstandardNth1gt12,kmadd(gtu12,kadd(JacPDstandardNth1gt22,JacPDstandardNth2gt12),kmadd(gtu22,JacPDstandardNth2gt22,kmadd(gtu13,kadd(JacPDstandardNth1gt23,JacPDstandardNth3gt12),kmadd(gtu23,kadd(JacPDstandardNth2gt23,JacPDstandardNth3gt22),kmadd(gtu33,JacPDstandardNth3gt23,kmul(JacPDstandardNth2phi,IfThen(conformalMethod == - 1.,kdiv(ToReal(1),phiL),ToReal(-2.))))))))),ToReal(-2.),Ddetgt2),kmul(JacPDstandardNth2alpha,ToReal(2.))),kmul(gtu23,kmadd(alphaL,kmadd(kmadd(gtu11,JacPDstandardNth1gt13,kmadd(gtu12,kadd(JacPDstandardNth1gt23,JacPDstandardNth2gt13),kmadd(gtu22,JacPDstandardNth2gt23,kmadd(gtu13,kadd(JacPDstandardNth1gt33,JacPDstandardNth3gt13),kmadd(gtu23,kadd(JacPDstandardNth2gt33,JacPDstandardNth3gt23),kmadd(gtu33,JacPDstandardNth3gt33,kmul(JacPDstandardNth3phi,IfThen(conformalMethod + 1,kdiv(ToReal(1),phiL),ToReal(-2))))))))),ToReal(-2),Ddetgt2),kmul(JacPDstandardNth2alpha,ToReal(2))),kmul(gtu23,kmadd(alphaL,kmadd(kmadd(gtu11,JacPDstandardNth1gt13,kmadd(gtu12,kadd(JacPDstandardNth1gt23,JacPDstandardNth2gt13),kmadd(gtu22,JacPDstandardNth2gt23,kmadd(gtu13,kadd(JacPDstandardNth1gt33,JacPDstandardNth3gt13),kmadd(gtu23,kadd(JacPDstandardNth2gt33,JacPDstandardNth3gt23),kmadd(gtu33,JacPDstandardNth3gt33,kmul(JacPDstandardNth3phi,IfThen(conformalMethod == - 1.,kdiv(ToReal(1),phiL),ToReal(-2.))))))))),ToReal(-2.),Ddetgt3),kmul(JacPDstandardNth3alpha,ToReal(2.))))))))),kmul(theta,kmul(kadd(Xt2L,kmadd(kmadd(Xt2L,ToReal(-1.),B2L),ToReal(ShiftBCoeff),kmul(beta2L,kmul(eta,ToReal(BetaDriver*(-1. + 1,kdiv(ToReal(1),phiL),ToReal(-2))))))))),ToReal(-2),Ddetgt3),kmul(JacPDstandardNth3alpha,ToReal(2))))))))),kmul(theta,kmul(kadd(Xt2L,kmadd(ksub(B2L,Xt2L),ToReal(ShiftBCoeff),kmul(beta2L,kmul(eta,ToReal(BetaDriver*(-1 + ShiftBCoeff)))))),ToReal(ShiftGammaCoeff))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED dtbetazL = kmadd(kmadd(beta1L,JacPDupwindNthAnti1beta3,kmadd(beta2L,JacPDupwindNthAnti2beta3,kmadd(beta3L,JacPDupwindNthAnti3beta3,kmadd(JacPDupwindNthSymm1beta3,kfabs(beta1L),kmadd(JacPDupwindNthSymm2beta3,kfabs(beta2L),kmul(JacPDupwindNthSymm3beta3,kfabs(beta3L))))))),ToReal(ShiftAdvectionCoeff),IfThen(harmonicShift,kmul(alphaL,kmul(em4phi,kmul(ToReal(-0.5),kmadd(gtu13,kmadd(alphaL,kmadd(kmadd(gtu11,JacPDstandardNth1gt11,kmadd(gtu12,kadd(JacPDstandardNth1gt12,JacPDstandardNth2gt11),kmadd(gtu22,JacPDstandardNth2gt12,kmadd(gtu13,kadd(JacPDstandardNth1gt13,JacPDstandardNth3gt11),kmadd(gtu23,kadd(JacPDstandardNth2gt13,JacPDstandardNth3gt12),kmadd(gtu33,JacPDstandardNth3gt13,kmul(JacPDstandardNth1phi,IfThen(conformalMethod == - 1.,kdiv(ToReal(1),phiL),ToReal(-2.))))))))),ToReal(-2.),Ddetgt1),kmul(JacPDstandardNth1alpha,ToReal(2.))),kmadd(gtu23,kmadd(alphaL,kmadd(kmadd(gtu11,JacPDstandardNth1gt12,kmadd(gtu12,kadd(JacPDstandardNth1gt22,JacPDstandardNth2gt12),kmadd(gtu22,JacPDstandardNth2gt22,kmadd(gtu13,kadd(JacPDstandardNth1gt23,JacPDstandardNth3gt12),kmadd(gtu23,kadd(JacPDstandardNth2gt23,JacPDstandardNth3gt22),kmadd(gtu33,JacPDstandardNth3gt23,kmul(JacPDstandardNth2phi,IfThen(conformalMethod + 1,kdiv(ToReal(1),phiL),ToReal(-2))))))))),ToReal(-2),Ddetgt1),kmul(JacPDstandardNth1alpha,ToReal(2))),kmadd(gtu23,kmadd(alphaL,kmadd(kmadd(gtu11,JacPDstandardNth1gt12,kmadd(gtu12,kadd(JacPDstandardNth1gt22,JacPDstandardNth2gt12),kmadd(gtu22,JacPDstandardNth2gt22,kmadd(gtu13,kadd(JacPDstandardNth1gt23,JacPDstandardNth3gt12),kmadd(gtu23,kadd(JacPDstandardNth2gt23,JacPDstandardNth3gt22),kmadd(gtu33,JacPDstandardNth3gt23,kmul(JacPDstandardNth2phi,IfThen(conformalMethod == - 1.,kdiv(ToReal(1),phiL),ToReal(-2.))))))))),ToReal(-2.),Ddetgt2),kmul(JacPDstandardNth2alpha,ToReal(2.))),kmul(gtu33,kmadd(alphaL,kmadd(kmadd(gtu11,JacPDstandardNth1gt13,kmadd(gtu12,kadd(JacPDstandardNth1gt23,JacPDstandardNth2gt13),kmadd(gtu22,JacPDstandardNth2gt23,kmadd(gtu13,kadd(JacPDstandardNth1gt33,JacPDstandardNth3gt13),kmadd(gtu23,kadd(JacPDstandardNth2gt33,JacPDstandardNth3gt23),kmadd(gtu33,JacPDstandardNth3gt33,kmul(JacPDstandardNth3phi,IfThen(conformalMethod + 1,kdiv(ToReal(1),phiL),ToReal(-2))))))))),ToReal(-2),Ddetgt2),kmul(JacPDstandardNth2alpha,ToReal(2))),kmul(gtu33,kmadd(alphaL,kmadd(kmadd(gtu11,JacPDstandardNth1gt13,kmadd(gtu12,kadd(JacPDstandardNth1gt23,JacPDstandardNth2gt13),kmadd(gtu22,JacPDstandardNth2gt23,kmadd(gtu13,kadd(JacPDstandardNth1gt33,JacPDstandardNth3gt13),kmadd(gtu23,kadd(JacPDstandardNth2gt33,JacPDstandardNth3gt23),kmadd(gtu33,JacPDstandardNth3gt33,kmul(JacPDstandardNth3phi,IfThen(conformalMethod == - 1.,kdiv(ToReal(1),phiL),ToReal(-2.))))))))),ToReal(-2.),Ddetgt3),kmul(JacPDstandardNth3alpha,ToReal(2.))))))))),kmul(theta,kmul(kadd(Xt3L,kmadd(kmadd(Xt3L,ToReal(-1.),B3L),ToReal(ShiftBCoeff),kmul(beta3L,kmul(eta,ToReal(BetaDriver*(-1. + 1,kdiv(ToReal(1),phiL),ToReal(-2))))))))),ToReal(-2),Ddetgt3),kmul(JacPDstandardNth3alpha,ToReal(2))))))))),kmul(theta,kmul(kadd(Xt3L,kmadd(ksub(B3L,Xt3L),ToReal(ShiftBCoeff),kmul(beta3L,kmul(eta,ToReal(BetaDriver*(-1 + ShiftBCoeff)))))),ToReal(ShiftGammaCoeff))))); /* Copy local copies back to grid functions */ - vec_store_partial_prepare(i,kimin,kimax); + vec_store_partial_prepare(i,vecimin,vecimax); vec_store_nta_partial(dtalp[index],dtalpL); vec_store_nta_partial(dtbetax[index],dtbetaxL); vec_store_nta_partial(dtbetay[index],dtbetayL); @@ -915,7 +955,7 @@ extern "C" void ML_CCZ4_convertToADMBaseDtLapseShift(CCTK_ARGUMENTS) return; } - const char *const groups[] = { + const char* const groups[] = { "ADMBase::dtlapse", "ADMBase::dtshift", "grid::coordinates", @@ -930,23 +970,33 @@ extern "C" void ML_CCZ4_convertToADMBaseDtLapseShift(CCTK_ARGUMENTS) "ML_CCZ4::ML_trace_curv"}; GenericFD_AssertGroupStorage(cctkGH, "ML_CCZ4_convertToADMBaseDtLapseShift", 12, groups); - switch(fdOrder) + switch (fdOrder) { case 2: + { GenericFD_EnsureStencilFits(cctkGH, "ML_CCZ4_convertToADMBaseDtLapseShift", 2, 2, 2); break; + } case 4: + { GenericFD_EnsureStencilFits(cctkGH, "ML_CCZ4_convertToADMBaseDtLapseShift", 3, 3, 3); break; + } case 6: + { GenericFD_EnsureStencilFits(cctkGH, "ML_CCZ4_convertToADMBaseDtLapseShift", 4, 4, 4); break; + } case 8: + { GenericFD_EnsureStencilFits(cctkGH, "ML_CCZ4_convertToADMBaseDtLapseShift", 5, 5, 5); break; + } + default: + CCTK_BUILTIN_UNREACHABLE(); } GenericFD_LoopOverInterior(cctkGH, ML_CCZ4_convertToADMBaseDtLapseShift_Body); diff --git a/ML_CCZ4/src/ML_CCZ4_convertToADMBaseDtLapseShiftBoundary.cc b/ML_CCZ4/src/ML_CCZ4_convertToADMBaseDtLapseShiftBoundary.cc index abb0098..219af3f 100644 --- a/ML_CCZ4/src/ML_CCZ4_convertToADMBaseDtLapseShiftBoundary.cc +++ b/ML_CCZ4/src/ML_CCZ4_convertToADMBaseDtLapseShiftBoundary.cc @@ -32,7 +32,9 @@ extern "C" void ML_CCZ4_convertToADMBaseDtLapseShiftBoundary_SelectBCs(CCTK_ARGU DECLARE_CCTK_ARGUMENTS; DECLARE_CCTK_PARAMETERS; - CCTK_INT ierr CCTK_ATTRIBUTE_UNUSED = 0; + if (cctk_iteration % ML_CCZ4_convertToADMBaseDtLapseShiftBoundary_calc_every != ML_CCZ4_convertToADMBaseDtLapseShiftBoundary_calc_offset) + return; + CCTK_INT ierr CCTK_ATTRIBUTE_UNUSED = 0; ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ADMBase::dtlapse","flat"); if (ierr < 0) CCTK_WARN(1, "Failed to register flat BC for ADMBase::dtlapse."); @@ -42,7 +44,7 @@ extern "C" void ML_CCZ4_convertToADMBaseDtLapseShiftBoundary_SelectBCs(CCTK_ARGU return; } -static void ML_CCZ4_convertToADMBaseDtLapseShiftBoundary_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_CCZ4_convertToADMBaseDtLapseShiftBoundary_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,153 +53,175 @@ static void ML_CCZ4_convertToADMBaseDtLapseShiftBoundary_Body(cGH const * restri /* Include user-supplied include files */ /* Initialise finite differencing variables */ - ptrdiff_t /*const*/ di CCTK_ATTRIBUTE_UNUSED = 1; - ptrdiff_t /*const*/ dj CCTK_ATTRIBUTE_UNUSED = CCTK_GFINDEX3D(cctkGH,0,1,0) - CCTK_GFINDEX3D(cctkGH,0,0,0); - ptrdiff_t /*const*/ dk CCTK_ATTRIBUTE_UNUSED = CCTK_GFINDEX3D(cctkGH,0,0,1) - CCTK_GFINDEX3D(cctkGH,0,0,0); - ptrdiff_t /*const*/ cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * di; - ptrdiff_t /*const*/ cdj CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * dj; - ptrdiff_t /*const*/ cdk CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * dk; - CCTK_REAL_VEC /*const*/ dx CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(0)); - CCTK_REAL_VEC /*const*/ dy CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(1)); - CCTK_REAL_VEC /*const*/ dz CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(2)); - CCTK_REAL_VEC /*const*/ dt CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_TIME); - CCTK_REAL_VEC /*const*/ t CCTK_ATTRIBUTE_UNUSED = ToReal(cctk_time); - CCTK_REAL_VEC /*const*/ dxi CCTK_ATTRIBUTE_UNUSED = INV(dx); - CCTK_REAL_VEC /*const*/ dyi CCTK_ATTRIBUTE_UNUSED = INV(dy); - CCTK_REAL_VEC /*const*/ dzi CCTK_ATTRIBUTE_UNUSED = INV(dz); - CCTK_REAL_VEC /*const*/ khalf CCTK_ATTRIBUTE_UNUSED = ToReal(0.5); - CCTK_REAL_VEC /*const*/ kthird CCTK_ATTRIBUTE_UNUSED = ToReal(1.0/3.0); - CCTK_REAL_VEC /*const*/ ktwothird CCTK_ATTRIBUTE_UNUSED = ToReal(2.0/3.0); - CCTK_REAL_VEC /*const*/ kfourthird CCTK_ATTRIBUTE_UNUSED = ToReal(4.0/3.0); - CCTK_REAL_VEC /*const*/ keightthird CCTK_ATTRIBUTE_UNUSED = ToReal(8.0/3.0); - CCTK_REAL_VEC /*const*/ hdxi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dxi); - CCTK_REAL_VEC /*const*/ hdyi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dyi); - CCTK_REAL_VEC /*const*/ hdzi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dzi); + const ptrdiff_t di CCTK_ATTRIBUTE_UNUSED = 1; + const ptrdiff_t dj CCTK_ATTRIBUTE_UNUSED = CCTK_GFINDEX3D(cctkGH,0,1,0) - CCTK_GFINDEX3D(cctkGH,0,0,0); + const ptrdiff_t dk CCTK_ATTRIBUTE_UNUSED = CCTK_GFINDEX3D(cctkGH,0,0,1) - CCTK_GFINDEX3D(cctkGH,0,0,0); + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * di; + const ptrdiff_t cdj CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * dj; + const ptrdiff_t cdk CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * dk; + const CCTK_REAL_VEC dx CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(0)); + const CCTK_REAL_VEC dy CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(1)); + const CCTK_REAL_VEC dz CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(2)); + const CCTK_REAL_VEC dt CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_TIME); + const CCTK_REAL_VEC t CCTK_ATTRIBUTE_UNUSED = ToReal(cctk_time); + const CCTK_REAL_VEC dxi CCTK_ATTRIBUTE_UNUSED = INV(dx); + const CCTK_REAL_VEC dyi CCTK_ATTRIBUTE_UNUSED = INV(dy); + const CCTK_REAL_VEC dzi CCTK_ATTRIBUTE_UNUSED = INV(dz); + const CCTK_REAL_VEC khalf CCTK_ATTRIBUTE_UNUSED = ToReal(0.5); + const CCTK_REAL_VEC kthird CCTK_ATTRIBUTE_UNUSED = ToReal(1.0/3.0); + const CCTK_REAL_VEC ktwothird CCTK_ATTRIBUTE_UNUSED = ToReal(2.0/3.0); + const CCTK_REAL_VEC kfourthird CCTK_ATTRIBUTE_UNUSED = ToReal(4.0/3.0); + const CCTK_REAL_VEC keightthird CCTK_ATTRIBUTE_UNUSED = ToReal(8.0/3.0); + const CCTK_REAL_VEC hdxi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dxi); + const CCTK_REAL_VEC hdyi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dyi); + const CCTK_REAL_VEC hdzi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dzi); /* Initialize predefined quantities */ - CCTK_REAL_VEC /*const*/ p1o1024dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dx); - CCTK_REAL_VEC /*const*/ p1o1024dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dy); - CCTK_REAL_VEC /*const*/ p1o1024dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dz); - CCTK_REAL_VEC /*const*/ p1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dx); - CCTK_REAL_VEC /*const*/ p1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dy); - CCTK_REAL_VEC /*const*/ p1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dz); - CCTK_REAL_VEC /*const*/ p1o12dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dx); - CCTK_REAL_VEC /*const*/ p1o12dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dy); - CCTK_REAL_VEC /*const*/ p1o12dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dz); - CCTK_REAL_VEC /*const*/ p1o144dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o144dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o144dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o1680dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dx); - CCTK_REAL_VEC /*const*/ p1o1680dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dy); - CCTK_REAL_VEC /*const*/ p1o1680dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dz); - CCTK_REAL_VEC /*const*/ p1o180dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ p1o180dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ p1o180dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ p1o24dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dx); - CCTK_REAL_VEC /*const*/ p1o24dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dy); - CCTK_REAL_VEC /*const*/ p1o24dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dz); - CCTK_REAL_VEC /*const*/ p1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dx); - CCTK_REAL_VEC /*const*/ p1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dy); - CCTK_REAL_VEC /*const*/ p1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dz); - CCTK_REAL_VEC /*const*/ p1o3600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o3600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o3600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dx); - CCTK_REAL_VEC /*const*/ p1o4dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o4dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dy); - CCTK_REAL_VEC /*const*/ p1o4dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dz); - CCTK_REAL_VEC /*const*/ p1o5040dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ p1o5040dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ p1o5040dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ p1o560dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dx); - CCTK_REAL_VEC /*const*/ p1o560dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dy); - CCTK_REAL_VEC /*const*/ p1o560dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dz); - CCTK_REAL_VEC /*const*/ p1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dx); - CCTK_REAL_VEC /*const*/ p1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dy); - CCTK_REAL_VEC /*const*/ p1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dz); - CCTK_REAL_VEC /*const*/ p1o64dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dx); - CCTK_REAL_VEC /*const*/ p1o64dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dy); - CCTK_REAL_VEC /*const*/ p1o64dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dz); - CCTK_REAL_VEC /*const*/ p1o705600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o705600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o705600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o840dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dx); - CCTK_REAL_VEC /*const*/ p1o840dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dy); - CCTK_REAL_VEC /*const*/ p1o840dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dz); - CCTK_REAL_VEC /*const*/ p1odx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dx); - CCTK_REAL_VEC /*const*/ p1odx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ p1ody CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dy); - CCTK_REAL_VEC /*const*/ p1ody2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ p1odz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dz); - CCTK_REAL_VEC /*const*/ p1odz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ pm1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dx); - CCTK_REAL_VEC /*const*/ pm1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dy); - CCTK_REAL_VEC /*const*/ pm1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dz); - CCTK_REAL_VEC /*const*/ pm1o12dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ pm1o12dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ pm1o12dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ pm1o16dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dx); - CCTK_REAL_VEC /*const*/ pm1o16dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dy); - CCTK_REAL_VEC /*const*/ pm1o16dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dz); - CCTK_REAL_VEC /*const*/ pm1o256dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dx); - CCTK_REAL_VEC /*const*/ pm1o256dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dy); - CCTK_REAL_VEC /*const*/ pm1o256dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dz); - CCTK_REAL_VEC /*const*/ pm1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dx); - CCTK_REAL_VEC /*const*/ pm1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dy); - CCTK_REAL_VEC /*const*/ pm1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dz); - CCTK_REAL_VEC /*const*/ pm1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dx); - CCTK_REAL_VEC /*const*/ pm1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dy); - CCTK_REAL_VEC /*const*/ pm1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dz); - CCTK_REAL_VEC /*const*/ pm1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dx); - CCTK_REAL_VEC /*const*/ pm1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dy); - CCTK_REAL_VEC /*const*/ pm1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dz); + const CCTK_REAL_VEC p1o1024dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dx); + const CCTK_REAL_VEC p1o1024dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dy); + const CCTK_REAL_VEC p1o1024dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dz); + const CCTK_REAL_VEC p1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dx); + const CCTK_REAL_VEC p1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dy); + const CCTK_REAL_VEC p1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dz); + const CCTK_REAL_VEC p1o12dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dx); + const CCTK_REAL_VEC p1o12dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dy); + const CCTK_REAL_VEC p1o12dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dz); + const CCTK_REAL_VEC p1o144dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dy,dx)); + const CCTK_REAL_VEC p1o144dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dx)); + const CCTK_REAL_VEC p1o144dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dy)); + const CCTK_REAL_VEC p1o1680dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dx); + const CCTK_REAL_VEC p1o1680dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dy); + const CCTK_REAL_VEC p1o1680dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dz); + const CCTK_REAL_VEC p1o180dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dx,dx)); + const CCTK_REAL_VEC p1o180dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dy,dy)); + const CCTK_REAL_VEC p1o180dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dz,dz)); + const CCTK_REAL_VEC p1o24dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dx); + const CCTK_REAL_VEC p1o24dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dy); + const CCTK_REAL_VEC p1o24dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dz); + const CCTK_REAL_VEC p1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dx); + const CCTK_REAL_VEC p1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dy); + const CCTK_REAL_VEC p1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dz); + const CCTK_REAL_VEC p1o3600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dy,dx)); + const CCTK_REAL_VEC p1o3600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dx)); + const CCTK_REAL_VEC p1o3600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dy)); + const CCTK_REAL_VEC p1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dx); + const CCTK_REAL_VEC p1o4dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dy,dx)); + const CCTK_REAL_VEC p1o4dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dx)); + const CCTK_REAL_VEC p1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dy); + const CCTK_REAL_VEC p1o4dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dy)); + const CCTK_REAL_VEC p1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dz); + const CCTK_REAL_VEC p1o5040dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dx,dx)); + const CCTK_REAL_VEC p1o5040dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dy,dy)); + const CCTK_REAL_VEC p1o5040dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dz,dz)); + const CCTK_REAL_VEC p1o560dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dx); + const CCTK_REAL_VEC p1o560dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dy); + const CCTK_REAL_VEC p1o560dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dz); + const CCTK_REAL_VEC p1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dx); + const CCTK_REAL_VEC p1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dy); + const CCTK_REAL_VEC p1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dz); + const CCTK_REAL_VEC p1o64dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dx); + const CCTK_REAL_VEC p1o64dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dy); + const CCTK_REAL_VEC p1o64dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dz); + const CCTK_REAL_VEC p1o705600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dy,dx)); + const CCTK_REAL_VEC p1o705600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dx)); + const CCTK_REAL_VEC p1o705600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dy)); + const CCTK_REAL_VEC p1o840dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dx); + const CCTK_REAL_VEC p1o840dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dy); + const CCTK_REAL_VEC p1o840dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dz); + const CCTK_REAL_VEC p1odx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dx); + const CCTK_REAL_VEC p1odx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dx,dx)); + const CCTK_REAL_VEC p1ody CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dy); + const CCTK_REAL_VEC p1ody2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dy,dy)); + const CCTK_REAL_VEC p1odz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dz); + const CCTK_REAL_VEC p1odz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dz,dz)); + const CCTK_REAL_VEC pm1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dx); + const CCTK_REAL_VEC pm1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dy); + const CCTK_REAL_VEC pm1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dz); + const CCTK_REAL_VEC pm1o12dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dx,dx)); + const CCTK_REAL_VEC pm1o12dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dy,dy)); + const CCTK_REAL_VEC pm1o12dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dz,dz)); + const CCTK_REAL_VEC pm1o16dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dx); + const CCTK_REAL_VEC pm1o16dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dy); + const CCTK_REAL_VEC pm1o16dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dz); + const CCTK_REAL_VEC pm1o256dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dx); + const CCTK_REAL_VEC pm1o256dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dy); + const CCTK_REAL_VEC pm1o256dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dz); + const CCTK_REAL_VEC pm1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dx); + const CCTK_REAL_VEC pm1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dy); + const CCTK_REAL_VEC pm1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dz); + const CCTK_REAL_VEC pm1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dx); + const CCTK_REAL_VEC pm1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dy); + const CCTK_REAL_VEC pm1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dz); + const CCTK_REAL_VEC pm1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dx); + const CCTK_REAL_VEC pm1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dy); + const CCTK_REAL_VEC pm1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dz); /* Jacobian variable pointers */ - bool const use_jacobian CCTK_ATTRIBUTE_UNUSED = (!CCTK_IsFunctionAliased("MultiPatch_GetMap") || MultiPatch_GetMap(cctkGH) != jacobian_identity_map) - && strlen(jacobian_group) > 0; - if (use_jacobian && strlen(jacobian_derivative_group) == 0) + const bool use_jacobian1 = (!CCTK_IsFunctionAliased("MultiPatch_GetMap") || MultiPatch_GetMap(cctkGH) != jacobian_identity_map) + && strlen(jacobian_group) > 0; + const bool use_jacobian = assume_use_jacobian>=0 ? assume_use_jacobian : use_jacobian1; + const bool usejacobian CCTK_ATTRIBUTE_UNUSED = use_jacobian; + if (use_jacobian && (strlen(jacobian_determinant_group) == 0 || strlen(jacobian_inverse_group) == 0 || strlen(jacobian_derivative_group) == 0)) { - CCTK_WARN (1, "GenericFD::jacobian_group and GenericFD::jacobian_derivative_group must both be set to valid group names"); + CCTK_WARN(1, "GenericFD::jacobian_group, GenericFD::jacobian_determinant_group, GenericFD::jacobian_inverse_group, and GenericFD::jacobian_derivative_group must all be set to valid group names"); } - CCTK_REAL const *restrict jacobian_ptrs[9]; + const CCTK_REAL* restrict jacobian_ptrs[9]; if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_group, 9, jacobian_ptrs); - CCTK_REAL const *restrict const J11 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[0] : 0; - CCTK_REAL const *restrict const J12 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[1] : 0; - CCTK_REAL const *restrict const J13 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[2] : 0; - CCTK_REAL const *restrict const J21 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[3] : 0; - CCTK_REAL const *restrict const J22 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[4] : 0; - CCTK_REAL const *restrict const J23 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[5] : 0; - CCTK_REAL const *restrict const J31 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[6] : 0; - CCTK_REAL const *restrict const J32 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[7] : 0; - CCTK_REAL const *restrict const J33 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[8] : 0; + const CCTK_REAL* restrict const J11 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[0] : 0; + const CCTK_REAL* restrict const J12 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[1] : 0; + const CCTK_REAL* restrict const J13 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[2] : 0; + const CCTK_REAL* restrict const J21 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[3] : 0; + const CCTK_REAL* restrict const J22 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[4] : 0; + const CCTK_REAL* restrict const J23 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[5] : 0; + const CCTK_REAL* restrict const J31 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[6] : 0; + const CCTK_REAL* restrict const J32 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[7] : 0; + const CCTK_REAL* restrict const J33 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[8] : 0; + + const CCTK_REAL* restrict jacobian_determinant_ptrs[1] CCTK_ATTRIBUTE_UNUSED; + if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_determinant_group, + 1, jacobian_determinant_ptrs); + + const CCTK_REAL* restrict const detJ CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[0] : 0; - CCTK_REAL const *restrict jacobian_derivative_ptrs[18] CCTK_ATTRIBUTE_UNUSED; + const CCTK_REAL* restrict jacobian_inverse_ptrs[9] CCTK_ATTRIBUTE_UNUSED; + if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_inverse_group, + 9, jacobian_inverse_ptrs); + + const CCTK_REAL* restrict const iJ11 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[0] : 0; + const CCTK_REAL* restrict const iJ12 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[1] : 0; + const CCTK_REAL* restrict const iJ13 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[2] : 0; + const CCTK_REAL* restrict const iJ21 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[3] : 0; + const CCTK_REAL* restrict const iJ22 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[4] : 0; + const CCTK_REAL* restrict const iJ23 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[5] : 0; + const CCTK_REAL* restrict const iJ31 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[6] : 0; + const CCTK_REAL* restrict const iJ32 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[7] : 0; + const CCTK_REAL* restrict const iJ33 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_inverse_ptrs[8] : 0; + + const CCTK_REAL* restrict jacobian_derivative_ptrs[18] CCTK_ATTRIBUTE_UNUSED; if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_derivative_group, 18, jacobian_derivative_ptrs); - CCTK_REAL const *restrict const dJ111 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[0] : 0; - CCTK_REAL const *restrict const dJ112 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[1] : 0; - CCTK_REAL const *restrict const dJ113 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[2] : 0; - CCTK_REAL const *restrict const dJ122 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[3] : 0; - CCTK_REAL const *restrict const dJ123 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[4] : 0; - CCTK_REAL const *restrict const dJ133 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[5] : 0; - CCTK_REAL const *restrict const dJ211 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[6] : 0; - CCTK_REAL const *restrict const dJ212 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[7] : 0; - CCTK_REAL const *restrict const dJ213 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[8] : 0; - CCTK_REAL const *restrict const dJ222 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[9] : 0; - CCTK_REAL const *restrict const dJ223 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[10] : 0; - CCTK_REAL const *restrict const dJ233 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[11] : 0; - CCTK_REAL const *restrict const dJ311 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[12] : 0; - CCTK_REAL const *restrict const dJ312 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[13] : 0; - CCTK_REAL const *restrict const dJ313 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[14] : 0; - CCTK_REAL const *restrict const dJ322 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[15] : 0; - CCTK_REAL const *restrict const dJ323 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[16] : 0; - CCTK_REAL const *restrict const dJ333 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[17] : 0; + const CCTK_REAL* restrict const dJ111 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[0] : 0; + const CCTK_REAL* restrict const dJ112 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[1] : 0; + const CCTK_REAL* restrict const dJ113 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[2] : 0; + const CCTK_REAL* restrict const dJ122 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[3] : 0; + const CCTK_REAL* restrict const dJ123 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[4] : 0; + const CCTK_REAL* restrict const dJ133 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[5] : 0; + const CCTK_REAL* restrict const dJ211 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[6] : 0; + const CCTK_REAL* restrict const dJ212 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[7] : 0; + const CCTK_REAL* restrict const dJ213 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[8] : 0; + const CCTK_REAL* restrict const dJ222 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[9] : 0; + const CCTK_REAL* restrict const dJ223 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[10] : 0; + const CCTK_REAL* restrict const dJ233 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[11] : 0; + const CCTK_REAL* restrict const dJ311 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[12] : 0; + const CCTK_REAL* restrict const dJ312 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[13] : 0; + const CCTK_REAL* restrict const dJ313 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[14] : 0; + const CCTK_REAL* restrict const dJ322 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[15] : 0; + const CCTK_REAL* restrict const dJ323 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[16] : 0; + const CCTK_REAL* restrict const dJ333 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[17] : 0; /* Assign local copies of arrays functions */ @@ -208,13 +232,20 @@ static void ML_CCZ4_convertToADMBaseDtLapseShiftBoundary_Body(cGH const * restri /* 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_CCZ4_convertToADMBaseDtLapseShiftBoundary, - 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 */ @@ -239,19 +270,29 @@ static void ML_CCZ4_convertToADMBaseDtLapseShiftBoundary_Body(cGH const * restri /* 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 */ @@ -259,41 +300,41 @@ static void ML_CCZ4_convertToADMBaseDtLapseShiftBoundary_Body(cGH const * restri kdiv(ToReal(SpatialBetaDriverRadius),kfmax(rL,ToReal(SpatialBetaDriverRadius))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED theta = - kfmin(ToReal(1.),kexp(kmadd(kmul(rL,ToReal(-1.)),ToReal(ScalarINV(SpatialShiftGammaCoeffRadius)),ToReal(1.)))); + kfmin(ToReal(1),kexp(knmsub(rL,ToReal(ScalarINV(SpatialShiftGammaCoeffRadius)),ToReal(1)))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED dtalpL = - kmul(kpow(alphaL,harmonicN),kmul(ToReal(-1.),kmul(ToReal(harmonicF),kmadd(AL,ToReal(LapseACoeff),kmul(kmadd(trKL,ToReal(-1.),kmul(ThetaL,ToReal(2.))),ToReal(-1. + kneg(kmul(kpow(alphaL,harmonicN),kmul(ToReal(harmonicF),kmadd(AL,ToReal(LapseACoeff),kmul(kmsub(ThetaL,ToReal(2),trKL),ToReal(-1 + LapseACoeff)))))); - CCTK_REAL_VEC dtbetaxL CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC dtbetayL CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC dtbetazL CCTK_ATTRIBUTE_UNUSED ; + CCTK_REAL_VEC dtbetaxL CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC dtbetayL CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC dtbetazL CCTK_ATTRIBUTE_UNUSED; if (harmonicShift) { - dtbetaxL = ToReal(0.); + dtbetaxL = ToReal(0); - dtbetayL = ToReal(0.); + dtbetayL = ToReal(0); - dtbetazL = ToReal(0.); + dtbetazL = ToReal(0); } else { dtbetaxL = - kmul(theta,kmul(kadd(Xt1L,kmadd(kmadd(Xt1L,ToReal(-1.),B1L),ToReal(ShiftBCoeff),kmul(beta1L,kmul(eta,ToReal(BetaDriver*(-1. + kmul(theta,kmul(kadd(Xt1L,kmadd(ksub(B1L,Xt1L),ToReal(ShiftBCoeff),kmul(beta1L,kmul(eta,ToReal(BetaDriver*(-1 + ShiftBCoeff)))))),ToReal(ShiftGammaCoeff))); dtbetayL = - kmul(theta,kmul(kadd(Xt2L,kmadd(kmadd(Xt2L,ToReal(-1.),B2L),ToReal(ShiftBCoeff),kmul(beta2L,kmul(eta,ToReal(BetaDriver*(-1. + kmul(theta,kmul(kadd(Xt2L,kmadd(ksub(B2L,Xt2L),ToReal(ShiftBCoeff),kmul(beta2L,kmul(eta,ToReal(BetaDriver*(-1 + ShiftBCoeff)))))),ToReal(ShiftGammaCoeff))); dtbetazL = - kmul(theta,kmul(kadd(Xt3L,kmadd(kmadd(Xt3L,ToReal(-1.),B3L),ToReal(ShiftBCoeff),kmul(beta3L,kmul(eta,ToReal(BetaDriver*(-1. + kmul(theta,kmul(kadd(Xt3L,kmadd(ksub(B3L,Xt3L),ToReal(ShiftBCoeff),kmul(beta3L,kmul(eta,ToReal(BetaDriver*(-1 + ShiftBCoeff)))))),ToReal(ShiftGammaCoeff))); } /* Copy local copies back to grid functions */ - vec_store_partial_prepare(i,kimin,kimax); + vec_store_partial_prepare(i,vecimin,vecimax); vec_store_nta_partial(dtalp[index],dtalpL); vec_store_nta_partial(dtbetax[index],dtbetaxL); vec_store_nta_partial(dtbetay[index],dtbetayL); @@ -318,7 +359,7 @@ extern "C" void ML_CCZ4_convertToADMBaseDtLapseShiftBoundary(CCTK_ARGUMENTS) return; } - const char *const groups[] = { + const char* const groups[] = { "ADMBase::dtlapse", "ADMBase::dtshift", "grid::coordinates", @@ -331,19 +372,29 @@ extern "C" void ML_CCZ4_convertToADMBaseDtLapseShiftBoundary(CCTK_ARGUMENTS) "ML_CCZ4::ML_trace_curv"}; GenericFD_AssertGroupStorage(cctkGH, "ML_CCZ4_convertToADMBaseDtLapseShiftBoundary", 10, 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_CCZ4_convertToADMBaseDtLapseShiftBoundary_Body); diff --git a/ML_CCZ4/src/ML_CCZ4_convertToADMBaseFakeDtLapseShift.cc b/ML_CCZ4/src/ML_CCZ4_convertToADMBaseFakeDtLapseShift.cc index ca07050..10b1afa 100644 --- a/ML_CCZ4/src/ML_CCZ4_convertToADMBaseFakeDtLapseShift.cc +++ b/ML_CCZ4/src/ML_CCZ4_convertToADMBaseFakeDtLapseShift.cc @@ -27,7 +27,7 @@ #define CUB(x) (kmul(x,SQR(x))) #define QAD(x) (SQR(SQR(x))) -static void ML_CCZ4_convertToADMBaseFakeDtLapseShift_Body(cGH const * restrict const cctkGH, int const dir, int const face, CCTK_REAL const normal[3], CCTK_REAL const tangentA[3], CCTK_REAL const tangentB[3], int const imin[3], int const imax[3], int const n_subblock_gfs, CCTK_REAL * restrict const subblock_gfs[]) +static void ML_CCZ4_convertToADMBaseFakeDtLapseShift_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,153 +36,175 @@ static void ML_CCZ4_convertToADMBaseFakeDtLapseShift_Body(cGH const * restrict c /* Include user-supplied include files */ /* Initialise finite differencing variables */ - ptrdiff_t /*const*/ di CCTK_ATTRIBUTE_UNUSED = 1; - ptrdiff_t /*const*/ dj CCTK_ATTRIBUTE_UNUSED = CCTK_GFINDEX3D(cctkGH,0,1,0) - CCTK_GFINDEX3D(cctkGH,0,0,0); - ptrdiff_t /*const*/ dk CCTK_ATTRIBUTE_UNUSED = CCTK_GFINDEX3D(cctkGH,0,0,1) - CCTK_GFINDEX3D(cctkGH,0,0,0); - ptrdiff_t /*const*/ cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * di; - ptrdiff_t /*const*/ cdj CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * dj; - ptrdiff_t /*const*/ cdk CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * dk; - CCTK_REAL_VEC /*const*/ dx CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(0)); - CCTK_REAL_VEC /*const*/ dy CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(1)); - CCTK_REAL_VEC /*const*/ dz CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(2)); - CCTK_REAL_VEC /*const*/ dt CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_TIME); - CCTK_REAL_VEC /*const*/ t CCTK_ATTRIBUTE_UNUSED = ToReal(cctk_time); - CCTK_REAL_VEC /*const*/ dxi CCTK_ATTRIBUTE_UNUSED = INV(dx); - CCTK_REAL_VEC /*const*/ dyi CCTK_ATTRIBUTE_UNUSED = INV(dy); - CCTK_REAL_VEC /*const*/ dzi CCTK_ATTRIBUTE_UNUSED = INV(dz); - CCTK_REAL_VEC /*const*/ khalf CCTK_ATTRIBUTE_UNUSED = ToReal(0.5); - CCTK_REAL_VEC /*const*/ kthird CCTK_ATTRIBUTE_UNUSED = ToReal(1.0/3.0); - CCTK_REAL_VEC /*const*/ ktwothird CCTK_ATTRIBUTE_UNUSED = ToReal(2.0/3.0); - CCTK_REAL_VEC /*const*/ kfourthird CCTK_ATTRIBUTE_UNUSED = ToReal(4.0/3.0); - CCTK_REAL_VEC /*const*/ keightthird CCTK_ATTRIBUTE_UNUSED = ToReal(8.0/3.0); - CCTK_REAL_VEC /*const*/ hdxi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dxi); - CCTK_REAL_VEC /*const*/ hdyi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dyi); - CCTK_REAL_VEC /*const*/ hdzi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dzi); + const ptrdiff_t di CCTK_ATTRIBUTE_UNUSED = 1; + const ptrdiff_t dj CCTK_ATTRIBUTE_UNUSED = CCTK_GFINDEX3D(cctkGH,0,1,0) - CCTK_GFINDEX3D(cctkGH,0,0,0); + const ptrdiff_t dk CCTK_ATTRIBUTE_UNUSED = CCTK_GFINDEX3D(cctkGH,0,0,1) - CCTK_GFINDEX3D(cctkGH,0,0,0); + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * di; + const ptrdiff_t cdj CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * dj; + const ptrdiff_t cdk CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * dk; + const CCTK_REAL_VEC dx CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(0)); + const CCTK_REAL_VEC dy CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(1)); + const CCTK_REAL_VEC dz CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(2)); + const CCTK_REAL_VEC dt CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_TIME); + const CCTK_REAL_VEC t CCTK_ATTRIBUTE_UNUSED = ToReal(cctk_time); + const CCTK_REAL_VEC dxi CCTK_ATTRIBUTE_UNUSED = INV(dx); + const CCTK_REAL_VEC dyi CCTK_ATTRIBUTE_UNUSED = INV(dy); + const CCTK_REAL_VEC dzi CCTK_ATTRIBUTE_UNUSED = INV(dz); + const CCTK_REAL_VEC khalf CCTK_ATTRIBUTE_UNUSED = ToReal(0.5); + const CCTK_REAL_VEC kthird CCTK_ATTRIBUTE_UNUSED = ToReal(1.0/3.0); + const CCTK_REAL_VEC ktwothird CCTK_ATTRIBUTE_UNUSED = ToReal(2.0/3.0); + const CCTK_REAL_VEC kfourthird CCTK_ATTRIBUTE_UNUSED = ToReal(4.0/3.0); + const CCTK_REAL_VEC keightthird CCTK_ATTRIBUTE_UNUSED = ToReal(8.0/3.0); + const CCTK_REAL_VEC hdxi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dxi); + const CCTK_REAL_VEC hdyi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dyi); + const CCTK_REAL_VEC hdzi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dzi); /* Initialize predefined quantities */ - CCTK_REAL_VEC /*const*/ p1o1024dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dx); - CCTK_REAL_VEC /*const*/ p1o1024dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dy); - CCTK_REAL_VEC /*const*/ p1o1024dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dz); - CCTK_REAL_VEC /*const*/ p1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dx); - CCTK_REAL_VEC /*const*/ p1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dy); - CCTK_REAL_VEC /*const*/ p1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dz); - CCTK_REAL_VEC /*const*/ p1o12dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dx); - CCTK_REAL_VEC /*const*/ p1o12dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dy); - CCTK_REAL_VEC /*const*/ p1o12dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dz); - CCTK_REAL_VEC /*const*/ p1o144dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o144dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o144dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o1680dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dx); - CCTK_REAL_VEC /*const*/ p1o1680dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dy); - CCTK_REAL_VEC /*const*/ p1o1680dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dz); - CCTK_REAL_VEC /*const*/ p1o180dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ p1o180dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ p1o180dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ p1o24dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dx); - CCTK_REAL_VEC /*const*/ p1o24dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dy); - CCTK_REAL_VEC /*const*/ p1o24dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dz); - CCTK_REAL_VEC /*const*/ p1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dx); - CCTK_REAL_VEC /*const*/ p1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dy); - CCTK_REAL_VEC /*const*/ p1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dz); - CCTK_REAL_VEC /*const*/ p1o3600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o3600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o3600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dx); - CCTK_REAL_VEC /*const*/ p1o4dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o4dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dy); - CCTK_REAL_VEC /*const*/ p1o4dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dz); - CCTK_REAL_VEC /*const*/ p1o5040dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ p1o5040dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ p1o5040dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ p1o560dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dx); - CCTK_REAL_VEC /*const*/ p1o560dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dy); - CCTK_REAL_VEC /*const*/ p1o560dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dz); - CCTK_REAL_VEC /*const*/ p1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dx); - CCTK_REAL_VEC /*const*/ p1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dy); - CCTK_REAL_VEC /*const*/ p1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dz); - CCTK_REAL_VEC /*const*/ p1o64dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dx); - CCTK_REAL_VEC /*const*/ p1o64dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dy); - CCTK_REAL_VEC /*const*/ p1o64dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dz); - CCTK_REAL_VEC /*const*/ p1o705600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o705600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o705600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o840dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dx); - CCTK_REAL_VEC /*const*/ p1o840dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dy); - CCTK_REAL_VEC /*const*/ p1o840dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dz); - CCTK_REAL_VEC /*const*/ p1odx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dx); - CCTK_REAL_VEC /*const*/ p1odx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ p1ody CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dy); - CCTK_REAL_VEC /*const*/ p1ody2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ p1odz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dz); - CCTK_REAL_VEC /*const*/ p1odz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ pm1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dx); - CCTK_REAL_VEC /*const*/ pm1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dy); - CCTK_REAL_VEC /*const*/ pm1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dz); - CCTK_REAL_VEC /*const*/ pm1o12dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ pm1o12dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ pm1o12dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ pm1o16dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dx); - CCTK_REAL_VEC /*const*/ pm1o16dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dy); - CCTK_REAL_VEC /*const*/ pm1o16dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dz); - CCTK_REAL_VEC /*const*/ pm1o256dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dx); - CCTK_REAL_VEC /*const*/ pm1o256dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dy); - CCTK_REAL_VEC /*const*/ pm1o256dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dz); - CCTK_REAL_VEC /*const*/ pm1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dx); - CCTK_REAL_VEC /*const*/ pm1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dy); - CCTK_REAL_VEC /*const*/ pm1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dz); - CCTK_REAL_VEC /*const*/ pm1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dx); - CCTK_REAL_VEC /*const*/ pm1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dy); - CCTK_REAL_VEC /*const*/ pm1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dz); - CCTK_REAL_VEC /*const*/ pm1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dx); - CCTK_REAL_VEC /*const*/ pm1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dy); - CCTK_REAL_VEC /*const*/ pm1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dz); + const CCTK_REAL_VEC p1o1024dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dx); + const CCTK_REAL_VEC p1o1024dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dy); + const CCTK_REAL_VEC p1o1024dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dz); + const CCTK_REAL_VEC p1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dx); + const CCTK_REAL_VEC p1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dy); + const CCTK_REAL_VEC p1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dz); + const CCTK_REAL_VEC p1o12dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dx); + const CCTK_REAL_VEC p1o12dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dy); + const CCTK_REAL_VEC p1o12dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dz); + const CCTK_REAL_VEC p1o144dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dy,dx)); + const CCTK_REAL_VEC p1o144dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dx)); + const CCTK_REAL_VEC p1o144dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dy)); + const CCTK_REAL_VEC p1o1680dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dx); + const CCTK_REAL_VEC p1o1680dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dy); + const CCTK_REAL_VEC p1o1680dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dz); + const CCTK_REAL_VEC p1o180dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dx,dx)); + const CCTK_REAL_VEC p1o180dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dy,dy)); + const CCTK_REAL_VEC p1o180dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dz,dz)); + const CCTK_REAL_VEC p1o24dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dx); + const CCTK_REAL_VEC p1o24dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dy); + const CCTK_REAL_VEC p1o24dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dz); + const CCTK_REAL_VEC p1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dx); + const CCTK_REAL_VEC p1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dy); + const CCTK_REAL_VEC p1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dz); + const CCTK_REAL_VEC p1o3600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dy,dx)); + const CCTK_REAL_VEC p1o3600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dx)); + const CCTK_REAL_VEC p1o3600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dy)); + const CCTK_REAL_VEC p1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dx); + const CCTK_REAL_VEC p1o4dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dy,dx)); + const CCTK_REAL_VEC p1o4dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dx)); + const CCTK_REAL_VEC p1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dy); + const CCTK_REAL_VEC p1o4dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dy)); + const CCTK_REAL_VEC p1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dz); + const CCTK_REAL_VEC p1o5040dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dx,dx)); + const CCTK_REAL_VEC p1o5040dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dy,dy)); + const CCTK_REAL_VEC p1o5040dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dz,dz)); + const CCTK_REAL_VEC p1o560dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dx); + const CCTK_REAL_VEC p1o560dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dy); + const CCTK_REAL_VEC p1o560dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dz); + const CCTK_REAL_VEC p1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dx); + const CCTK_REAL_VEC p1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dy); + const CCTK_REAL_VEC p1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dz); + const CCTK_REAL_VEC p1o64dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dx); + const CCTK_REAL_VEC p1o64dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dy); + const CCTK_REAL_VEC p1o64dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dz); + const CCTK_REAL_VEC p1o705600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dy,dx)); + const CCTK_REAL_VEC p1o705600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dx)); + const CCTK_REAL_VEC p1o705600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dy)); + const CCTK_REAL_VEC p1o840dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dx); + const CCTK_REAL_VEC p1o840dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dy); + const CCTK_REAL_VEC p1o840dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dz); + const CCTK_REAL_VEC p1odx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dx); + const CCTK_REAL_VEC p1odx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dx,dx)); + const CCTK_REAL_VEC p1ody CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dy); + const CCTK_REAL_VEC p1ody2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dy,dy)); + const CCTK_REAL_VEC p1odz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dz); + const CCTK_REAL_VEC p1odz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dz,dz)); + const CCTK_REAL_VEC pm1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dx); + const CCTK_REAL_VEC pm1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dy); + const CCTK_REAL_VEC pm1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dz); + const CCTK_REAL_VEC pm1o12dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dx,dx)); + const CCTK_REAL_VEC pm1o12dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dy,dy)); + const CCTK_REAL_VEC pm1o12dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dz,dz)); + const CCTK_REAL_VEC pm1o16dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dx); + const CCTK_REAL_VEC pm1o16dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dy); + const CCTK_REAL_VEC pm1o16dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dz); + const CCTK_REAL_VEC pm1o256dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dx); + const CCTK_REAL_VEC pm1o256dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dy); + const CCTK_REAL_VEC pm1o256dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dz); + const CCTK_REAL_VEC pm1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dx); + const CCTK_REAL_VEC pm1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dy); + const CCTK_REAL_VEC pm1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dz); + const CCTK_REAL_VEC pm1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dx); + const CCTK_REAL_VEC pm1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dy); + const CCTK_REAL_VEC pm1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dz); + const CCTK_REAL_VEC pm1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dx); + const CCTK_REAL_VEC pm1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dy); + const CCTK_REAL_VEC pm1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dz); /* Jacobian variable pointers */ - bool const use_jacobian CCTK_ATTRIBUTE_UNUSED = (!CCTK_IsFunctionAliased("MultiPatch_GetMap") || MultiPatch_GetMap(cctkGH) != jacobian_identity_map) - && strlen(jacobian_group) > 0; - if (use_jacobian && strlen(jacobian_derivative_group) == 0) + const bool use_jacobian1 = (!CCTK_IsFunctionAliased("MultiPatch_GetMap") || MultiPatch_GetMap(cctkGH) != jacobian_identity_map) + && strlen(jacobian_group) > 0; + const bool use_jacobian = assume_use_jacobian>=0 ? assume_use_jacobian : use_jacobian1; + const bool usejacobian CCTK_ATTRIBUTE_UNUSED = use_jacobian; + if (use_jacobian && (strlen(jacobian_determinant_group) == 0 || strlen(jacobian_inverse_group) == 0 || strlen(jacobian_derivative_group) == 0)) { - CCTK_WARN (1, "GenericFD::jacobian_group and GenericFD::jacobian_derivative_group must both be set to valid group names"); + CCTK_WARN(1, "GenericFD::jacobian_group, GenericFD::jacobian_determinant_group, GenericFD::jacobian_inverse_group, and GenericFD::jacobian_derivative_group must all be set to valid group names"); } - CCTK_REAL const *restrict jacobian_ptrs[9]; + const CCTK_REAL* restrict jacobian_ptrs[9]; if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_group, 9, jacobian_ptrs); - CCTK_REAL const *restrict const J11 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[0] : 0; - CCTK_REAL const *restrict const J12 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[1] : 0; - CCTK_REAL const *restrict const J13 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[2] : 0; - CCTK_REAL const *restrict const J21 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[3] : 0; - CCTK_REAL const *restrict const J22 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[4] : 0; - CCTK_REAL const *restrict const J23 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[5] : 0; - CCTK_REAL const *restrict const J31 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[6] : 0; - CCTK_REAL const *restrict const J32 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[7] : 0; - CCTK_REAL const *restrict const J33 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[8] : 0; + const CCTK_REAL* restrict const J11 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[0] : 0; + const CCTK_REAL* restrict const J12 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[1] : 0; + const CCTK_REAL* restrict const J13 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[2] : 0; + const CCTK_REAL* restrict const J21 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[3] : 0; + const CCTK_REAL* restrict const J22 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[4] : 0; + const CCTK_REAL* restrict const J23 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[5] : 0; + const CCTK_REAL* restrict const J31 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[6] : 0; + const CCTK_REAL* restrict const J32 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[7] : 0; + const CCTK_REAL* restrict const J33 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[8] : 0; - 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 */ @@ -193,13 +215,20 @@ static void ML_CCZ4_convertToADMBaseFakeDtLapseShift_Body(cGH const * restrict c /* 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_CCZ4_convertToADMBaseFakeDtLapseShift, - 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 */ @@ -224,19 +253,29 @@ static void ML_CCZ4_convertToADMBaseFakeDtLapseShift_Body(cGH const * restrict c /* 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 */ @@ -244,41 +283,41 @@ static void ML_CCZ4_convertToADMBaseFakeDtLapseShift_Body(cGH const * restrict c kdiv(ToReal(SpatialBetaDriverRadius),kfmax(rL,ToReal(SpatialBetaDriverRadius))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED theta = - kfmin(ToReal(1.),kexp(kmadd(kmul(rL,ToReal(-1.)),ToReal(ScalarINV(SpatialShiftGammaCoeffRadius)),ToReal(1.)))); + kfmin(ToReal(1),kexp(knmsub(rL,ToReal(ScalarINV(SpatialShiftGammaCoeffRadius)),ToReal(1)))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED dtalpL = - kmul(kpow(alphaL,harmonicN),kmul(ToReal(-1.),kmul(ToReal(harmonicF),kmadd(AL,ToReal(LapseACoeff),kmul(kmadd(trKL,ToReal(-1.),kmul(ThetaL,ToReal(2.))),ToReal(-1. + kneg(kmul(kpow(alphaL,harmonicN),kmul(ToReal(harmonicF),kmadd(AL,ToReal(LapseACoeff),kmul(kmsub(ThetaL,ToReal(2),trKL),ToReal(-1 + LapseACoeff)))))); - CCTK_REAL_VEC dtbetaxL CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC dtbetayL CCTK_ATTRIBUTE_UNUSED ; - CCTK_REAL_VEC dtbetazL CCTK_ATTRIBUTE_UNUSED ; + CCTK_REAL_VEC dtbetaxL CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC dtbetayL CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC dtbetazL CCTK_ATTRIBUTE_UNUSED; if (harmonicShift) { - dtbetaxL = ToReal(0.); + dtbetaxL = ToReal(0); - dtbetayL = ToReal(0.); + dtbetayL = ToReal(0); - dtbetazL = ToReal(0.); + dtbetazL = ToReal(0); } else { dtbetaxL = - kmul(theta,kmul(kadd(Xt1L,kmadd(kmadd(Xt1L,ToReal(-1.),B1L),ToReal(ShiftBCoeff),kmul(beta1L,kmul(eta,ToReal(BetaDriver*(-1. + kmul(theta,kmul(kadd(Xt1L,kmadd(ksub(B1L,Xt1L),ToReal(ShiftBCoeff),kmul(beta1L,kmul(eta,ToReal(BetaDriver*(-1 + ShiftBCoeff)))))),ToReal(ShiftGammaCoeff))); dtbetayL = - kmul(theta,kmul(kadd(Xt2L,kmadd(kmadd(Xt2L,ToReal(-1.),B2L),ToReal(ShiftBCoeff),kmul(beta2L,kmul(eta,ToReal(BetaDriver*(-1. + kmul(theta,kmul(kadd(Xt2L,kmadd(ksub(B2L,Xt2L),ToReal(ShiftBCoeff),kmul(beta2L,kmul(eta,ToReal(BetaDriver*(-1 + ShiftBCoeff)))))),ToReal(ShiftGammaCoeff))); dtbetazL = - kmul(theta,kmul(kadd(Xt3L,kmadd(kmadd(Xt3L,ToReal(-1.),B3L),ToReal(ShiftBCoeff),kmul(beta3L,kmul(eta,ToReal(BetaDriver*(-1. + kmul(theta,kmul(kadd(Xt3L,kmadd(ksub(B3L,Xt3L),ToReal(ShiftBCoeff),kmul(beta3L,kmul(eta,ToReal(BetaDriver*(-1 + ShiftBCoeff)))))),ToReal(ShiftGammaCoeff))); } /* Copy local copies back to grid functions */ - vec_store_partial_prepare(i,kimin,kimax); + vec_store_partial_prepare(i,vecimin,vecimax); vec_store_nta_partial(dtalp[index],dtalpL); vec_store_nta_partial(dtbetax[index],dtbetaxL); vec_store_nta_partial(dtbetay[index],dtbetayL); @@ -303,7 +342,7 @@ extern "C" void ML_CCZ4_convertToADMBaseFakeDtLapseShift(CCTK_ARGUMENTS) return; } - const char *const groups[] = { + const char* const groups[] = { "ADMBase::dtlapse", "ADMBase::dtshift", "grid::coordinates", @@ -316,19 +355,29 @@ extern "C" void ML_CCZ4_convertToADMBaseFakeDtLapseShift(CCTK_ARGUMENTS) "ML_CCZ4::ML_trace_curv"}; GenericFD_AssertGroupStorage(cctkGH, "ML_CCZ4_convertToADMBaseFakeDtLapseShift", 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_CCZ4_convertToADMBaseFakeDtLapseShift_Body); diff --git a/ML_CCZ4/src/ML_CCZ4_enforce.cc b/ML_CCZ4/src/ML_CCZ4_enforce.cc index 9c02c5e..e2fca0b 100644 --- a/ML_CCZ4/src/ML_CCZ4_enforce.cc +++ b/ML_CCZ4/src/ML_CCZ4_enforce.cc @@ -27,7 +27,7 @@ #define CUB(x) (kmul(x,SQR(x))) #define QAD(x) (SQR(SQR(x))) -static void ML_CCZ4_enforce_Body(cGH const * restrict const cctkGH, int const dir, int const face, CCTK_REAL const normal[3], CCTK_REAL const tangentA[3], CCTK_REAL const tangentB[3], int const imin[3], int const imax[3], int const n_subblock_gfs, CCTK_REAL * restrict const subblock_gfs[]) +static void ML_CCZ4_enforce_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,153 +36,175 @@ static void ML_CCZ4_enforce_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*/ p1o1024dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dx); - CCTK_REAL_VEC /*const*/ p1o1024dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dy); - CCTK_REAL_VEC /*const*/ p1o1024dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dz); - CCTK_REAL_VEC /*const*/ p1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dx); - CCTK_REAL_VEC /*const*/ p1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dy); - CCTK_REAL_VEC /*const*/ p1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dz); - CCTK_REAL_VEC /*const*/ p1o12dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dx); - CCTK_REAL_VEC /*const*/ p1o12dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dy); - CCTK_REAL_VEC /*const*/ p1o12dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dz); - CCTK_REAL_VEC /*const*/ p1o144dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o144dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o144dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o1680dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dx); - CCTK_REAL_VEC /*const*/ p1o1680dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dy); - CCTK_REAL_VEC /*const*/ p1o1680dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dz); - CCTK_REAL_VEC /*const*/ p1o180dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ p1o180dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ p1o180dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ p1o24dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dx); - CCTK_REAL_VEC /*const*/ p1o24dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dy); - CCTK_REAL_VEC /*const*/ p1o24dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dz); - CCTK_REAL_VEC /*const*/ p1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dx); - CCTK_REAL_VEC /*const*/ p1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dy); - CCTK_REAL_VEC /*const*/ p1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dz); - CCTK_REAL_VEC /*const*/ p1o3600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o3600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o3600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dx); - CCTK_REAL_VEC /*const*/ p1o4dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o4dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dy); - CCTK_REAL_VEC /*const*/ p1o4dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dz); - CCTK_REAL_VEC /*const*/ p1o5040dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ p1o5040dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ p1o5040dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ p1o560dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dx); - CCTK_REAL_VEC /*const*/ p1o560dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dy); - CCTK_REAL_VEC /*const*/ p1o560dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dz); - CCTK_REAL_VEC /*const*/ p1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dx); - CCTK_REAL_VEC /*const*/ p1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dy); - CCTK_REAL_VEC /*const*/ p1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dz); - CCTK_REAL_VEC /*const*/ p1o64dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dx); - CCTK_REAL_VEC /*const*/ p1o64dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dy); - CCTK_REAL_VEC /*const*/ p1o64dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dz); - CCTK_REAL_VEC /*const*/ p1o705600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dy,dx)); - CCTK_REAL_VEC /*const*/ p1o705600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dx)); - CCTK_REAL_VEC /*const*/ p1o705600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dy)); - CCTK_REAL_VEC /*const*/ p1o840dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dx); - CCTK_REAL_VEC /*const*/ p1o840dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dy); - CCTK_REAL_VEC /*const*/ p1o840dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dz); - CCTK_REAL_VEC /*const*/ p1odx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dx); - CCTK_REAL_VEC /*const*/ p1odx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ p1ody CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dy); - CCTK_REAL_VEC /*const*/ p1ody2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ p1odz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dz); - CCTK_REAL_VEC /*const*/ p1odz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ pm1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dx); - CCTK_REAL_VEC /*const*/ pm1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dy); - CCTK_REAL_VEC /*const*/ pm1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dz); - CCTK_REAL_VEC /*const*/ pm1o12dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dx,dx)); - CCTK_REAL_VEC /*const*/ pm1o12dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dy,dy)); - CCTK_REAL_VEC /*const*/ pm1o12dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dz,dz)); - CCTK_REAL_VEC /*const*/ pm1o16dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dx); - CCTK_REAL_VEC /*const*/ pm1o16dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dy); - CCTK_REAL_VEC /*const*/ pm1o16dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dz); - CCTK_REAL_VEC /*const*/ pm1o256dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dx); - CCTK_REAL_VEC /*const*/ pm1o256dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dy); - CCTK_REAL_VEC /*const*/ pm1o256dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dz); - CCTK_REAL_VEC /*const*/ pm1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dx); - CCTK_REAL_VEC /*const*/ pm1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dy); - CCTK_REAL_VEC /*const*/ pm1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dz); - CCTK_REAL_VEC /*const*/ pm1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dx); - CCTK_REAL_VEC /*const*/ pm1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dy); - CCTK_REAL_VEC /*const*/ pm1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dz); - CCTK_REAL_VEC /*const*/ pm1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dx); - CCTK_REAL_VEC /*const*/ pm1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dy); - CCTK_REAL_VEC /*const*/ pm1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dz); + const CCTK_REAL_VEC p1o1024dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dx); + const CCTK_REAL_VEC p1o1024dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dy); + const CCTK_REAL_VEC p1o1024dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dz); + const CCTK_REAL_VEC p1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dx); + const CCTK_REAL_VEC p1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dy); + const CCTK_REAL_VEC p1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dz); + const CCTK_REAL_VEC p1o12dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dx); + const CCTK_REAL_VEC p1o12dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dy); + const CCTK_REAL_VEC p1o12dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dz); + const CCTK_REAL_VEC p1o144dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dy,dx)); + const CCTK_REAL_VEC p1o144dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dx)); + const CCTK_REAL_VEC p1o144dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dy)); + const CCTK_REAL_VEC p1o1680dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dx); + const CCTK_REAL_VEC p1o1680dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dy); + const CCTK_REAL_VEC p1o1680dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dz); + const CCTK_REAL_VEC p1o180dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dx,dx)); + const CCTK_REAL_VEC p1o180dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dy,dy)); + const CCTK_REAL_VEC p1o180dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dz,dz)); + const CCTK_REAL_VEC p1o24dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dx); + const CCTK_REAL_VEC p1o24dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dy); + const CCTK_REAL_VEC p1o24dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dz); + const CCTK_REAL_VEC p1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dx); + const CCTK_REAL_VEC p1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dy); + const CCTK_REAL_VEC p1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dz); + const CCTK_REAL_VEC p1o3600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dy,dx)); + const CCTK_REAL_VEC p1o3600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dx)); + const CCTK_REAL_VEC p1o3600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dy)); + const CCTK_REAL_VEC p1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dx); + const CCTK_REAL_VEC p1o4dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dy,dx)); + const CCTK_REAL_VEC p1o4dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dx)); + const CCTK_REAL_VEC p1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dy); + const CCTK_REAL_VEC p1o4dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dy)); + const CCTK_REAL_VEC p1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dz); + const CCTK_REAL_VEC p1o5040dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dx,dx)); + const CCTK_REAL_VEC p1o5040dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dy,dy)); + const CCTK_REAL_VEC p1o5040dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dz,dz)); + const CCTK_REAL_VEC p1o560dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dx); + const CCTK_REAL_VEC p1o560dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dy); + const CCTK_REAL_VEC p1o560dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dz); + const CCTK_REAL_VEC p1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dx); + const CCTK_REAL_VEC p1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dy); + const CCTK_REAL_VEC p1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dz); + const CCTK_REAL_VEC p1o64dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dx); + const CCTK_REAL_VEC p1o64dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dy); + const CCTK_REAL_VEC p1o64dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dz); + const CCTK_REAL_VEC p1o705600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dy,dx)); + const CCTK_REAL_VEC p1o705600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dx)); + const CCTK_REAL_VEC p1o705600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dy)); + const CCTK_REAL_VEC p1o840dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dx); + const CCTK_REAL_VEC p1o840dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dy); + const CCTK_REAL_VEC p1o840dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dz); + const CCTK_REAL_VEC p1odx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dx); + const CCTK_REAL_VEC p1odx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dx,dx)); + const CCTK_REAL_VEC p1ody CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dy); + const CCTK_REAL_VEC p1ody2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dy,dy)); + const CCTK_REAL_VEC p1odz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dz); + const CCTK_REAL_VEC p1odz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dz,dz)); + const CCTK_REAL_VEC pm1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dx); + const CCTK_REAL_VEC pm1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dy); + const CCTK_REAL_VEC pm1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dz); + const CCTK_REAL_VEC pm1o12dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dx,dx)); + const CCTK_REAL_VEC pm1o12dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dy,dy)); + const CCTK_REAL_VEC pm1o12dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dz,dz)); + const CCTK_REAL_VEC pm1o16dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dx); + const CCTK_REAL_VEC pm1o16dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dy); + const CCTK_REAL_VEC pm1o16dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dz); + const CCTK_REAL_VEC pm1o256dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dx); + const CCTK_REAL_VEC pm1o256dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dy); + const CCTK_REAL_VEC pm1o256dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dz); + const CCTK_REAL_VEC pm1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dx); + const CCTK_REAL_VEC pm1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dy); + const CCTK_REAL_VEC pm1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dz); + const CCTK_REAL_VEC pm1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dx); + const CCTK_REAL_VEC pm1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dy); + const CCTK_REAL_VEC pm1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dz); + const CCTK_REAL_VEC pm1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dx); + const CCTK_REAL_VEC pm1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dy); + const CCTK_REAL_VEC pm1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dz); /* Jacobian variable pointers */ - bool const use_jacobian CCTK_ATTRIBUTE_UNUSED = (!CCTK_IsFunctionAliased("MultiPatch_GetMap") || MultiPatch_GetMap(cctkGH) != jacobian_identity_map) - && strlen(jacobian_group) > 0; - if (use_jacobian && strlen(jacobian_derivative_group) == 0) + const bool use_jacobian1 = (!CCTK_IsFunctionAliased("MultiPatch_GetMap") || MultiPatch_GetMap(cctkGH) != jacobian_identity_map) + && strlen(jacobian_group) > 0; + const bool use_jacobian = assume_use_jacobian>=0 ? assume_use_jacobian : use_jacobian1; + const bool usejacobian CCTK_ATTRIBUTE_UNUSED = use_jacobian; + if (use_jacobian && (strlen(jacobian_determinant_group) == 0 || strlen(jacobian_inverse_group) == 0 || strlen(jacobian_derivative_group) == 0)) { - CCTK_WARN (1, "GenericFD::jacobian_group and GenericFD::jacobian_derivative_group must both be set to valid group names"); + CCTK_WARN(1, "GenericFD::jacobian_group, GenericFD::jacobian_determinant_group, GenericFD::jacobian_inverse_group, and GenericFD::jacobian_derivative_group must all be set to valid group names"); } - CCTK_REAL const *restrict jacobian_ptrs[9]; + const CCTK_REAL* restrict jacobian_ptrs[9]; if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_group, 9, jacobian_ptrs); - CCTK_REAL const *restrict const J11 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[0] : 0; - CCTK_REAL const *restrict const J12 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[1] : 0; - CCTK_REAL const *restrict const J13 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[2] : 0; - CCTK_REAL const *restrict const J21 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[3] : 0; - CCTK_REAL const *restrict const J22 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[4] : 0; - CCTK_REAL const *restrict const J23 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[5] : 0; - CCTK_REAL const *restrict const J31 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[6] : 0; - CCTK_REAL const *restrict const J32 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[7] : 0; - CCTK_REAL const *restrict const J33 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[8] : 0; + const CCTK_REAL* restrict const J11 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[0] : 0; + const CCTK_REAL* restrict const J12 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[1] : 0; + const CCTK_REAL* restrict const J13 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[2] : 0; + const CCTK_REAL* restrict const J21 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[3] : 0; + const CCTK_REAL* restrict const J22 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[4] : 0; + const CCTK_REAL* restrict const J23 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[5] : 0; + const CCTK_REAL* restrict const J31 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[6] : 0; + const CCTK_REAL* restrict const J32 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[7] : 0; + const CCTK_REAL* restrict const J33 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[8] : 0; - 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 */ @@ -193,13 +215,20 @@ static void ML_CCZ4_enforce_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_CCZ4_enforce, - 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 */ @@ -223,44 +252,54 @@ static void ML_CCZ4_enforce_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 detgt = ToReal(1.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED detgt = ToReal(1); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gtu11 = - kdiv(kmadd(gt22L,gt33L,kmul(kmul(gt23L,gt23L),ToReal(-1.))),detgt); + kdiv(kmsub(gt22L,gt33L,kmul(gt23L,gt23L)),detgt); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gtu12 = - kdiv(kmadd(gt13L,gt23L,kmul(gt12L,kmul(gt33L,ToReal(-1.)))),detgt); + kdiv(kmsub(gt13L,gt23L,kmul(gt12L,gt33L)),detgt); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gtu13 = - kdiv(kmadd(gt12L,gt23L,kmul(gt13L,kmul(gt22L,ToReal(-1.)))),detgt); + kdiv(kmsub(gt12L,gt23L,kmul(gt13L,gt22L)),detgt); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gtu22 = - kdiv(kmadd(gt11L,gt33L,kmul(kmul(gt13L,gt13L),ToReal(-1.))),detgt); + kdiv(kmsub(gt11L,gt33L,kmul(gt13L,gt13L)),detgt); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gtu23 = - kdiv(kmadd(gt12L,gt13L,kmul(gt11L,kmul(gt23L,ToReal(-1.)))),detgt); + kdiv(kmsub(gt12L,gt13L,kmul(gt11L,gt23L)),detgt); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED gtu33 = - kdiv(kmadd(gt11L,gt22L,kmul(kmul(gt12L,gt12L),ToReal(-1.))),detgt); + kdiv(kmsub(gt11L,gt22L,kmul(gt12L,gt12L)),detgt); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED trAt = - kmadd(At11L,gtu11,kmadd(At22L,gtu22,kmadd(At33L,gtu33,kmul(kmadd(At12L,gtu12,kmadd(At13L,gtu13,kmul(At23L,gtu23))),ToReal(2.))))); + kmadd(At11L,gtu11,kmadd(At22L,gtu22,kmadd(At33L,gtu33,kmul(kmadd(At12L,gtu12,kmadd(At13L,gtu13,kmul(At23L,gtu23))),ToReal(2))))); At11L = kmadd(gt11L,kmul(trAt,ToReal(-0.333333333333333333333333333333)),At11L); @@ -283,7 +322,7 @@ static void ML_CCZ4_enforce_Body(cGH const * restrict const cctkGH, int const di alphaL = kfmax(alphaL,ToReal(MinimumLapse)); /* 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(At11[index],At11L); vec_store_nta_partial(At12[index],At12L); @@ -311,25 +350,35 @@ extern "C" void ML_CCZ4_enforce(CCTK_ARGUMENTS) return; } - const char *const groups[] = { + const char* const groups[] = { "ML_CCZ4::ML_curv", "ML_CCZ4::ML_lapse", "ML_CCZ4::ML_metric"}; GenericFD_AssertGroupStorage(cctkGH, "ML_CCZ4_enforce", 3, 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_CCZ4_enforce_Body); diff --git a/ML_CCZ4/src/RegisterMoL.cc b/ML_CCZ4/src/RegisterMoL.cc index 6977934..a22a9d0 100644 --- a/ML_CCZ4/src/RegisterMoL.cc +++ b/ML_CCZ4/src/RegisterMoL.cc @@ -9,7 +9,7 @@ extern "C" void ML_CCZ4_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_CCZ4::At11"), CCTK_VarIndex("ML_CCZ4::At11rhs")); diff --git a/ML_CCZ4/src/Startup.cc b/ML_CCZ4/src/Startup.cc index d377180..cccc2cf 100644 --- a/ML_CCZ4/src/Startup.cc +++ b/ML_CCZ4/src/Startup.cc @@ -4,7 +4,7 @@ extern "C" int ML_CCZ4_Startup(void) { - const char * banner CCTK_ATTRIBUTE_UNUSED = "ML_CCZ4"; + const char* banner CCTK_ATTRIBUTE_UNUSED = "ML_CCZ4"; CCTK_RegisterBanner(banner); return 0; } diff --git a/ML_WaveToy/param.ccl b/ML_WaveToy/param.ccl index e020967..566093e 100644 --- a/ML_WaveToy/param.ccl +++ b/ML_WaveToy/param.ccl @@ -3,6 +3,7 @@ shares: GenericFD +USES CCTK_INT assume_stress_energy_state shares: MethodOfLines diff --git a/ML_WaveToy/schedule.ccl b/ML_WaveToy/schedule.ccl index 5ab96e0..c2004e5 100644 --- a/ML_WaveToy/schedule.ccl +++ b/ML_WaveToy/schedule.ccl @@ -1,46 +1,15 @@ # File produced by Kranc -if (other_timelevels == 1) -{ - STORAGE: WT_eps[1] -} +STORAGE: WT_eps[other_timelevels] -if (timelevels == 1) -{ - STORAGE: WT_rho[1] -} -if (timelevels == 2) -{ - STORAGE: WT_rho[2] -} +STORAGE: WT_rho[timelevels] -if (timelevels == 1) -{ - STORAGE: WT_u[1] -} -if (timelevels == 2) -{ - STORAGE: WT_u[2] -} +STORAGE: WT_u[timelevels] -if (rhs_timelevels == 1) -{ - STORAGE: WT_rhorhs[1] -} -if (rhs_timelevels == 2) -{ - STORAGE: WT_rhorhs[2] -} +STORAGE: WT_rhorhs[rhs_timelevels] -if (rhs_timelevels == 1) -{ - STORAGE: WT_urhs[1] -} -if (rhs_timelevels == 2) -{ - STORAGE: WT_urhs[2] -} +STORAGE: WT_urhs[rhs_timelevels] schedule ML_WaveToy_Startup at STARTUP { @@ -60,9 +29,9 @@ if (CCTK_EQUALS(initial_data, "Gaussian")) schedule WT_Gaussian AT initial { LANG: C - READS: grid::r(Everywhere) - WRITES: ML_WaveToy::rho(Everywhere) - WRITES: ML_WaveToy::u(Everywhere) + READS: grid::r(Everywhere) + WRITES: ML_WaveToy::rho(Everywhere) + WRITES: ML_WaveToy::u(Everywhere) } "WT_Gaussian" } @@ -72,28 +41,28 @@ if (CCTK_EQUALS(initial_data, "Standing")) schedule WT_Standing AT initial { LANG: C - READS: grid::x(Everywhere) - READS: grid::y(Everywhere) - READS: grid::z(Everywhere) - WRITES: ML_WaveToy::rho(Everywhere) - WRITES: ML_WaveToy::u(Everywhere) + READS: grid::x(Everywhere) + READS: grid::y(Everywhere) + READS: grid::z(Everywhere) + WRITES: ML_WaveToy::rho(Everywhere) + WRITES: ML_WaveToy::u(Everywhere) } "WT_Standing" } schedule WT_RHS IN MoL_CalcRHS { LANG: C - READS: ML_WaveToy::rho(Everywhere) - READS: ML_WaveToy::u(Everywhere) - WRITES: ML_WaveToy::rhorhs(Interior) - WRITES: ML_WaveToy::urhs(Interior) + READS: ML_WaveToy::rho(Everywhere) + READS: ML_WaveToy::u(Everywhere) + WRITES: ML_WaveToy::rhorhs(Interior) + WRITES: ML_WaveToy::urhs(Interior) } "WT_RHS" schedule WT_Dirichlet IN MoL_CalcRHS { LANG: C - WRITES: ML_WaveToy::rhorhs(Boundary) - WRITES: ML_WaveToy::urhs(Boundary) + WRITES: ML_WaveToy::rhorhs(Boundary) + WRITES: ML_WaveToy::urhs(Boundary) } "WT_Dirichlet" schedule WT_Dirichlet AT analysis @@ -101,24 +70,24 @@ schedule WT_Dirichlet AT analysis LANG: C SYNC: WT_rhorhs SYNC: WT_urhs - WRITES: ML_WaveToy::rhorhs(Boundary) - WRITES: ML_WaveToy::urhs(Boundary) + WRITES: ML_WaveToy::rhorhs(Boundary) + WRITES: ML_WaveToy::urhs(Boundary) } "WT_Dirichlet" schedule WT_Energy AT analysis { LANG: C SYNC: WT_eps - READS: ML_WaveToy::rho(Everywhere) - READS: ML_WaveToy::u(Everywhere) - WRITES: ML_WaveToy::eps(Interior) + READS: ML_WaveToy::rho(Everywhere) + READS: ML_WaveToy::u(Everywhere) + WRITES: ML_WaveToy::eps(Interior) } "WT_Energy" schedule WT_EnergyBoundary AT analysis { LANG: C SYNC: WT_eps - WRITES: ML_WaveToy::eps(Boundary) + WRITES: ML_WaveToy::eps(Boundary) } "WT_EnergyBoundary" schedule ML_WaveToy_SelectBoundConds in MoL_PostStep diff --git a/ML_WaveToy/src/Boundaries.cc b/ML_WaveToy/src/Boundaries.cc index 97cc0ff..ee5de54 100644 --- a/ML_WaveToy/src/Boundaries.cc +++ b/ML_WaveToy/src/Boundaries.cc @@ -30,7 +30,7 @@ extern "C" void ML_WaveToy_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(WT_rho_bound, "none" ) || CCTK_EQUALS(WT_rho_bound, "static") || @@ -79,7 +79,7 @@ extern "C" void ML_WaveToy_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(WT_rho_bound, "radiative")) { /* select radiation boundary condition */ - static CCTK_INT handle_WT_rho_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_WT_rho_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_WT_rho_bound < 0) handle_WT_rho_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_WT_rho_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_WT_rho_bound , WT_rho_bound_limit, "LIMIT") < 0) @@ -98,7 +98,7 @@ extern "C" void ML_WaveToy_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(WT_u_bound, "radiative")) { /* select radiation boundary condition */ - static CCTK_INT handle_WT_u_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_WT_u_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_WT_u_bound < 0) handle_WT_u_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_WT_u_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_WT_u_bound , WT_u_bound_limit, "LIMIT") < 0) @@ -117,7 +117,7 @@ extern "C" void ML_WaveToy_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(rho_bound, "radiative")) { /* select radiation boundary condition */ - static CCTK_INT handle_rho_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_rho_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_rho_bound < 0) handle_rho_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_rho_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_rho_bound , rho_bound_limit, "LIMIT") < 0) @@ -136,7 +136,7 @@ extern "C" void ML_WaveToy_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(u_bound, "radiative")) { /* select radiation boundary condition */ - static CCTK_INT handle_u_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_u_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_u_bound < 0) handle_u_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_u_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_u_bound , u_bound_limit, "LIMIT") < 0) @@ -155,7 +155,7 @@ extern "C" void ML_WaveToy_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(WT_rho_bound, "scalar")) { /* select scalar boundary condition */ - static CCTK_INT handle_WT_rho_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_WT_rho_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_WT_rho_bound < 0) handle_WT_rho_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_WT_rho_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_WT_rho_bound ,WT_rho_bound_scalar, "SCALAR") < 0) @@ -172,7 +172,7 @@ extern "C" void ML_WaveToy_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(WT_u_bound, "scalar")) { /* select scalar boundary condition */ - static CCTK_INT handle_WT_u_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_WT_u_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_WT_u_bound < 0) handle_WT_u_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_WT_u_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_WT_u_bound ,WT_u_bound_scalar, "SCALAR") < 0) @@ -189,7 +189,7 @@ extern "C" void ML_WaveToy_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(rho_bound, "scalar")) { /* select scalar boundary condition */ - static CCTK_INT handle_rho_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_rho_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_rho_bound < 0) handle_rho_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_rho_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_rho_bound ,rho_bound_scalar, "SCALAR") < 0) @@ -206,7 +206,7 @@ extern "C" void ML_WaveToy_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(u_bound, "scalar")) { /* select scalar boundary condition */ - static CCTK_INT handle_u_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_u_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_u_bound < 0) handle_u_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_u_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_u_bound ,u_bound_scalar, "SCALAR") < 0) diff --git a/ML_WaveToy/src/Differencing.h b/ML_WaveToy/src/Differencing.h index b280ac8..d3372a6 100644 --- a/ML_WaveToy/src/Differencing.h +++ b/ML_WaveToy/src/Differencing.h @@ -2,146 +2,146 @@ #include "vectors.h" #ifndef KRANC_DIFF_FUNCTIONS -# define PDstandardNth1(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 PDstandardNth1(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 PDstandardNth1(u) (PDstandardNth1_impl(u,p1o12dx,cdj,cdk)) -static CCTK_REAL_VEC PDstandardNth1_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 PDstandardNth1_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o12dx, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDstandardNth1_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 PDstandardNth1_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 PDstandardNth2(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 PDstandardNth2(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 PDstandardNth2(u) (PDstandardNth2_impl(u,p1o12dy,cdj,cdk)) -static CCTK_REAL_VEC PDstandardNth2_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 PDstandardNth2_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o12dy, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDstandardNth2_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 PDstandardNth2_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 PDstandardNth3(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 PDstandardNth3(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 PDstandardNth3(u) (PDstandardNth3_impl(u,p1o12dz,cdj,cdk)) -static CCTK_REAL_VEC PDstandardNth3_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 PDstandardNth3_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o12dz, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDstandardNth3_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 PDstandardNth3_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 PDstandardNth2_impl(u, p1o12dz, cdk, cdj); } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDstandardNth11(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 PDstandardNth11(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 PDstandardNth11(u) (PDstandardNth11_impl(u,pm1o12dx2,cdj,cdk)) -static CCTK_REAL_VEC PDstandardNth11_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 PDstandardNth11_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ pm1o12dx2, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDstandardNth11_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 PDstandardNth11_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 PDstandardNth22(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 PDstandardNth22(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 PDstandardNth22(u) (PDstandardNth22_impl(u,pm1o12dy2,cdj,cdk)) -static CCTK_REAL_VEC PDstandardNth22_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 PDstandardNth22_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ pm1o12dy2, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDstandardNth22_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 PDstandardNth22_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 PDstandardNth33(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 PDstandardNth33(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 PDstandardNth33(u) (PDstandardNth33_impl(u,pm1o12dz2,cdj,cdk)) -static CCTK_REAL_VEC PDstandardNth33_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 PDstandardNth33_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ pm1o12dz2, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDstandardNth33_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 PDstandardNth33_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 PDstandardNth22_impl(u, pm1o12dz2, cdk, cdj); } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDstandardNth12(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 PDstandardNth12(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 PDstandardNth12(u) (PDstandardNth12_impl(u,p1o144dxdy,cdj,cdk)) -static CCTK_REAL_VEC PDstandardNth12_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 PDstandardNth12_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o144dxdy, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDstandardNth12_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 PDstandardNth12_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 PDstandardNth13(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 PDstandardNth13(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 PDstandardNth13(u) (PDstandardNth13_impl(u,p1o144dxdz,cdj,cdk)) -static CCTK_REAL_VEC PDstandardNth13_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 PDstandardNth13_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o144dxdz, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDstandardNth13_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 PDstandardNth13_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 PDstandardNth12_impl(u, p1o144dxdz, cdk, cdj); } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDstandardNth21(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 PDstandardNth21(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 PDstandardNth21(u) (PDstandardNth21_impl(u,p1o144dxdy,cdj,cdk)) -static CCTK_REAL_VEC PDstandardNth21_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 PDstandardNth21_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o144dxdy, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDstandardNth21_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 PDstandardNth21_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 PDstandardNth12_impl(u, p1o144dxdy, cdj, cdk); } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDstandardNth23(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 PDstandardNth23(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 PDstandardNth23(u) (PDstandardNth23_impl(u,p1o144dydz,cdj,cdk)) -static CCTK_REAL_VEC PDstandardNth23_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 PDstandardNth23_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o144dydz, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDstandardNth23_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 PDstandardNth23_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 PDstandardNth31(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 PDstandardNth31(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 PDstandardNth31(u) (PDstandardNth31_impl(u,p1o144dxdz,cdj,cdk)) -static CCTK_REAL_VEC PDstandardNth31_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 PDstandardNth31_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o144dxdz, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDstandardNth31_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 PDstandardNth31_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 PDstandardNth12_impl(u, p1o144dxdz, cdk, cdj); } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define PDstandardNth32(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 PDstandardNth32(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 PDstandardNth32(u) (PDstandardNth32_impl(u,p1o144dydz,cdj,cdk)) -static CCTK_REAL_VEC PDstandardNth32_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 PDstandardNth32_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o144dydz, ptrdiff_t const cdj, ptrdiff_t const cdk) +static CCTK_REAL_VEC PDstandardNth32_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 PDstandardNth32_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 PDstandardNth23_impl(u, p1o144dydz, cdj, cdk); } #endif diff --git a/ML_WaveToy/src/RegisterMoL.cc b/ML_WaveToy/src/RegisterMoL.cc index b81354f..41b9277 100644 --- a/ML_WaveToy/src/RegisterMoL.cc +++ b/ML_WaveToy/src/RegisterMoL.cc @@ -9,7 +9,7 @@ extern "C" void ML_WaveToy_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_WaveToy::rho"), CCTK_VarIndex("ML_WaveToy::rhorhs")); diff --git a/ML_WaveToy/src/Startup.cc b/ML_WaveToy/src/Startup.cc index 04fd1e1..504527a 100644 --- a/ML_WaveToy/src/Startup.cc +++ b/ML_WaveToy/src/Startup.cc @@ -4,7 +4,7 @@ extern "C" int ML_WaveToy_Startup(void) { - const char * banner CCTK_ATTRIBUTE_UNUSED = "ML_WaveToy"; + const char* banner CCTK_ATTRIBUTE_UNUSED = "ML_WaveToy"; CCTK_RegisterBanner(banner); return 0; } diff --git a/ML_WaveToy/src/WT_Dirichlet.cc b/ML_WaveToy/src/WT_Dirichlet.cc index a39eb69..90db8c0 100644 --- a/ML_WaveToy/src/WT_Dirichlet.cc +++ b/ML_WaveToy/src/WT_Dirichlet.cc @@ -32,7 +32,9 @@ extern "C" void WT_Dirichlet_SelectBCs(CCTK_ARGUMENTS) DECLARE_CCTK_ARGUMENTS; DECLARE_CCTK_PARAMETERS; - CCTK_INT ierr CCTK_ATTRIBUTE_UNUSED = 0; + if (cctk_iteration % WT_Dirichlet_calc_every != WT_Dirichlet_calc_offset) + return; + CCTK_INT ierr CCTK_ATTRIBUTE_UNUSED = 0; ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_WaveToy::WT_rhorhs","flat"); if (ierr < 0) CCTK_WARN(1, "Failed to register flat BC for ML_WaveToy::WT_rhorhs."); @@ -42,7 +44,7 @@ extern "C" void WT_Dirichlet_SelectBCs(CCTK_ARGUMENTS) return; } -static void WT_Dirichlet_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 WT_Dirichlet_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,39 +53,39 @@ static void WT_Dirichlet_Body(cGH const * restrict const cctkGH, int const dir, /* 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*/ 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 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)); /* Assign local copies of arrays functions */ @@ -94,13 +96,20 @@ static void WT_Dirichlet_Body(cGH const * restrict const cctkGH, int const dir, /* 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(WT_Dirichlet, - 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 */ @@ -111,12 +120,12 @@ static void WT_Dirichlet_Body(cGH const * restrict const cctkGH, int const dir, /* Precompute derivatives */ /* Calculate temporaries and grid functions */ - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED urhsL = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED urhsL = ToReal(0); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED rhorhsL = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED rhorhsL = 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(rhorhs[index],rhorhsL); vec_store_nta_partial(urhs[index],urhsL); } @@ -139,7 +148,7 @@ extern "C" void WT_Dirichlet(CCTK_ARGUMENTS) return; } - const char *const groups[] = { + const char* const groups[] = { "ML_WaveToy::WT_rhorhs", "ML_WaveToy::WT_urhs"}; GenericFD_AssertGroupStorage(cctkGH, "WT_Dirichlet", 2, groups); diff --git a/ML_WaveToy/src/WT_Energy.cc b/ML_WaveToy/src/WT_Energy.cc index 5a6d55d..3c876ff 100644 --- a/ML_WaveToy/src/WT_Energy.cc +++ b/ML_WaveToy/src/WT_Energy.cc @@ -32,14 +32,16 @@ extern "C" void WT_Energy_SelectBCs(CCTK_ARGUMENTS) DECLARE_CCTK_ARGUMENTS; DECLARE_CCTK_PARAMETERS; - CCTK_INT ierr CCTK_ATTRIBUTE_UNUSED = 0; + if (cctk_iteration % WT_Energy_calc_every != WT_Energy_calc_offset) + return; + CCTK_INT ierr CCTK_ATTRIBUTE_UNUSED = 0; ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_WaveToy::WT_eps","flat"); if (ierr < 0) CCTK_WARN(1, "Failed to register flat BC for ML_WaveToy::WT_eps."); return; } -static void WT_Energy_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 WT_Energy_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; @@ -48,39 +50,39 @@ static void WT_Energy_Body(cGH const * restrict const cctkGH, int const dir, 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*/ 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 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)); /* Assign local copies of arrays functions */ @@ -91,13 +93,20 @@ static void WT_Energy_Body(cGH const * restrict const cctkGH, int const dir, 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(WT_Energy, - 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 */ @@ -108,16 +117,16 @@ static void WT_Energy_Body(cGH const * restrict const cctkGH, int const dir, int /* Include user supplied include files */ /* Precompute derivatives */ - CCTK_REAL_VEC /*const*/ PDstandardNth1u CCTK_ATTRIBUTE_UNUSED = PDstandardNth1(&u[index]); - CCTK_REAL_VEC /*const*/ PDstandardNth2u CCTK_ATTRIBUTE_UNUSED = PDstandardNth2(&u[index]); - CCTK_REAL_VEC /*const*/ PDstandardNth3u CCTK_ATTRIBUTE_UNUSED = PDstandardNth3(&u[index]); + const CCTK_REAL_VEC PDstandardNth1u CCTK_ATTRIBUTE_UNUSED = PDstandardNth1(&u[index]); + const CCTK_REAL_VEC PDstandardNth2u CCTK_ATTRIBUTE_UNUSED = PDstandardNth2(&u[index]); + const CCTK_REAL_VEC PDstandardNth3u CCTK_ATTRIBUTE_UNUSED = PDstandardNth3(&u[index]); /* Calculate temporaries and grid functions */ CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED epsL = kmul(kmadd(rhoL,rhoL,kmadd(PDstandardNth1u,PDstandardNth1u,kmadd(PDstandardNth2u,PDstandardNth2u,kmul(PDstandardNth3u,PDstandardNth3u)))),ToReal(0.5)); /* 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(eps[index],epsL); } CCTK_ENDLOOP3STR(WT_Energy); @@ -139,7 +148,7 @@ extern "C" void WT_Energy(CCTK_ARGUMENTS) return; } - const char *const groups[] = { + const char* const groups[] = { "ML_WaveToy::WT_eps", "ML_WaveToy::WT_rho", "ML_WaveToy::WT_u"}; diff --git a/ML_WaveToy/src/WT_EnergyBoundary.cc b/ML_WaveToy/src/WT_EnergyBoundary.cc index 08569ca..d1153dd 100644 --- a/ML_WaveToy/src/WT_EnergyBoundary.cc +++ b/ML_WaveToy/src/WT_EnergyBoundary.cc @@ -32,14 +32,16 @@ extern "C" void WT_EnergyBoundary_SelectBCs(CCTK_ARGUMENTS) DECLARE_CCTK_ARGUMENTS; DECLARE_CCTK_PARAMETERS; - CCTK_INT ierr CCTK_ATTRIBUTE_UNUSED = 0; + if (cctk_iteration % WT_EnergyBoundary_calc_every != WT_EnergyBoundary_calc_offset) + return; + CCTK_INT ierr CCTK_ATTRIBUTE_UNUSED = 0; ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_WaveToy::WT_eps","flat"); if (ierr < 0) CCTK_WARN(1, "Failed to register flat BC for ML_WaveToy::WT_eps."); return; } -static void WT_EnergyBoundary_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 WT_EnergyBoundary_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; @@ -48,39 +50,39 @@ static void WT_EnergyBoundary_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*/ 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 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)); /* Assign local copies of arrays functions */ @@ -91,13 +93,20 @@ static void WT_EnergyBoundary_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(WT_EnergyBoundary, - 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 */ @@ -108,10 +117,10 @@ static void WT_EnergyBoundary_Body(cGH const * restrict const cctkGH, int const /* Precompute derivatives */ /* Calculate temporaries and grid functions */ - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED epsL = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED epsL = 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(eps[index],epsL); } CCTK_ENDLOOP3STR(WT_EnergyBoundary); @@ -133,7 +142,7 @@ extern "C" void WT_EnergyBoundary(CCTK_ARGUMENTS) return; } - const char *const groups[] = { + const char* const groups[] = { "ML_WaveToy::WT_eps"}; GenericFD_AssertGroupStorage(cctkGH, "WT_EnergyBoundary", 1, groups); diff --git a/ML_WaveToy/src/WT_Gaussian.cc b/ML_WaveToy/src/WT_Gaussian.cc index 6d6b9b1..d1a38cf 100644 --- a/ML_WaveToy/src/WT_Gaussian.cc +++ b/ML_WaveToy/src/WT_Gaussian.cc @@ -27,7 +27,7 @@ #define CUB(x) (kmul(x,SQR(x))) #define QAD(x) (SQR(SQR(x))) -static void WT_Gaussian_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 WT_Gaussian_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,39 +36,39 @@ static void WT_Gaussian_Body(cGH const * restrict const cctkGH, int const dir, i /* 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*/ 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 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)); /* Assign local copies of arrays functions */ @@ -79,13 +79,20 @@ static void WT_Gaussian_Body(cGH const * restrict const cctkGH, int const dir, i /* 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(WT_Gaussian, - 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 */ @@ -100,10 +107,10 @@ static void WT_Gaussian_Body(cGH const * restrict const cctkGH, int const dir, i CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED uL = kmul(kexp(kmul(kmul(kmul(rL,rL),ToReal(-0.5)),ToReal(ScalarINV(ScalarSQR(width))))),ToReal(amplitude)); - CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED rhoL = ToReal(0.); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED rhoL = 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(rho[index],rhoL); vec_store_nta_partial(u[index],uL); } @@ -126,7 +133,7 @@ extern "C" void WT_Gaussian(CCTK_ARGUMENTS) return; } - const char *const groups[] = { + const char* const groups[] = { "grid::coordinates", "ML_WaveToy::WT_rho", "ML_WaveToy::WT_u"}; diff --git a/ML_WaveToy/src/WT_RHS.cc b/ML_WaveToy/src/WT_RHS.cc index d84954b..7fb1ac8 100644 --- a/ML_WaveToy/src/WT_RHS.cc +++ b/ML_WaveToy/src/WT_RHS.cc @@ -32,7 +32,9 @@ extern "C" void WT_RHS_SelectBCs(CCTK_ARGUMENTS) DECLARE_CCTK_ARGUMENTS; DECLARE_CCTK_PARAMETERS; - CCTK_INT ierr CCTK_ATTRIBUTE_UNUSED = 0; + if (cctk_iteration % WT_RHS_calc_every != WT_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_WaveToy::WT_rhorhs","flat"); if (ierr < 0) CCTK_WARN(1, "Failed to register flat BC for ML_WaveToy::WT_rhorhs."); @@ -42,7 +44,7 @@ extern "C" void WT_RHS_SelectBCs(CCTK_ARGUMENTS) return; } -static void WT_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 WT_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; @@ -51,39 +53,39 @@ static void WT_RHS_Body(cGH const * restrict const cctkGH, int const dir, int co /* 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*/ 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 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)); /* Assign local copies of arrays functions */ @@ -94,13 +96,20 @@ static void WT_RHS_Body(cGH const * restrict const cctkGH, int const dir, int co /* 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(WT_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 */ @@ -111,9 +120,9 @@ static void WT_RHS_Body(cGH const * restrict const cctkGH, int const dir, int co /* Include user supplied include files */ /* Precompute derivatives */ - CCTK_REAL_VEC /*const*/ PDstandardNth11u CCTK_ATTRIBUTE_UNUSED = PDstandardNth11(&u[index]); - CCTK_REAL_VEC /*const*/ PDstandardNth22u CCTK_ATTRIBUTE_UNUSED = PDstandardNth22(&u[index]); - CCTK_REAL_VEC /*const*/ PDstandardNth33u CCTK_ATTRIBUTE_UNUSED = PDstandardNth33(&u[index]); + const CCTK_REAL_VEC PDstandardNth11u CCTK_ATTRIBUTE_UNUSED = PDstandardNth11(&u[index]); + const CCTK_REAL_VEC PDstandardNth22u CCTK_ATTRIBUTE_UNUSED = PDstandardNth22(&u[index]); + const CCTK_REAL_VEC PDstandardNth33u CCTK_ATTRIBUTE_UNUSED = PDstandardNth33(&u[index]); /* Calculate temporaries and grid functions */ CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED urhsL = rhoL; @@ -122,7 +131,7 @@ static void WT_RHS_Body(cGH const * restrict const cctkGH, int const dir, int co kadd(PDstandardNth11u,kadd(PDstandardNth22u,PDstandardNth33u)); /* 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(rhorhs[index],rhorhsL); vec_store_nta_partial(urhs[index],urhsL); } @@ -145,7 +154,7 @@ extern "C" void WT_RHS(CCTK_ARGUMENTS) return; } - const char *const groups[] = { + const char* const groups[] = { "ML_WaveToy::WT_rho", "ML_WaveToy::WT_rhorhs", "ML_WaveToy::WT_u", diff --git a/ML_WaveToy/src/WT_Standing.cc b/ML_WaveToy/src/WT_Standing.cc index 2d631f7..68edf00 100644 --- a/ML_WaveToy/src/WT_Standing.cc +++ b/ML_WaveToy/src/WT_Standing.cc @@ -27,7 +27,7 @@ #define CUB(x) (kmul(x,SQR(x))) #define QAD(x) (SQR(SQR(x))) -static void WT_Standing_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 WT_Standing_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,39 +36,39 @@ static void WT_Standing_Body(cGH const * restrict const cctkGH, int const dir, i /* 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*/ 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 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)); /* Assign local copies of arrays functions */ @@ -79,13 +79,20 @@ static void WT_Standing_Body(cGH const * restrict const cctkGH, int const dir, i /* 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(WT_Standing, - 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 */ @@ -103,16 +110,16 @@ static void WT_Standing_Body(cGH const * restrict const cctkGH, int const dir, i ToReal(3.14159265358979323846264338328*ScalarINV(width)); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED omega = - ksqrt(kmul(kmul(kvec,kvec),ToReal(3.))); + ksqrt(kmul(kmul(kvec,kvec),ToReal(3))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED uL = kmul(kcos(kmul(xL,kvec)),kmul(kcos(kmul(yL,kvec)),kmul(kcos(kmul(zL,kvec)),kmul(kcos(kmul(omega,t)),ToReal(amplitude))))); CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED rhoL = - kmul(omega,kmul(kcos(kmul(xL,kvec)),kmul(kcos(kmul(yL,kvec)),kmul(kcos(kmul(zL,kvec)),kmul(ksin(kmul(omega,t)),ToReal(-1.*amplitude)))))); + kneg(kmul(omega,kmul(kcos(kmul(xL,kvec)),kmul(kcos(kmul(yL,kvec)),kmul(kcos(kmul(zL,kvec)),kmul(ksin(kmul(omega,t)),ToReal(amplitude))))))); /* 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(rho[index],rhoL); vec_store_nta_partial(u[index],uL); } @@ -135,7 +142,7 @@ extern "C" void WT_Standing(CCTK_ARGUMENTS) return; } - const char *const groups[] = { + const char* const groups[] = { "grid::coordinates", "ML_WaveToy::WT_rho", "ML_WaveToy::WT_u"}; diff --git a/ML_WaveToy_CL/param.ccl b/ML_WaveToy_CL/param.ccl index 15d28f0..616b192 100644 --- a/ML_WaveToy_CL/param.ccl +++ b/ML_WaveToy_CL/param.ccl @@ -3,6 +3,7 @@ shares: GenericFD +USES CCTK_INT assume_stress_energy_state shares: MethodOfLines diff --git a/ML_WaveToy_CL/schedule.ccl b/ML_WaveToy_CL/schedule.ccl index 4f466bd..03ca58f 100644 --- a/ML_WaveToy_CL/schedule.ccl +++ b/ML_WaveToy_CL/schedule.ccl @@ -1,46 +1,15 @@ # File produced by Kranc -if (other_timelevels == 1) -{ - STORAGE: WT_eps[1] -} +STORAGE: WT_eps[other_timelevels] -if (timelevels == 1) -{ - STORAGE: WT_rho[1] -} -if (timelevels == 2) -{ - STORAGE: WT_rho[2] -} +STORAGE: WT_rho[timelevels] -if (timelevels == 1) -{ - STORAGE: WT_u[1] -} -if (timelevels == 2) -{ - STORAGE: WT_u[2] -} +STORAGE: WT_u[timelevels] -if (rhs_timelevels == 1) -{ - STORAGE: WT_rhorhs[1] -} -if (rhs_timelevels == 2) -{ - STORAGE: WT_rhorhs[2] -} +STORAGE: WT_rhorhs[rhs_timelevels] -if (rhs_timelevels == 1) -{ - STORAGE: WT_urhs[1] -} -if (rhs_timelevels == 2) -{ - STORAGE: WT_urhs[2] -} +STORAGE: WT_urhs[rhs_timelevels] schedule ML_WaveToy_CL_Startup at STARTUP { @@ -61,9 +30,9 @@ if (CCTK_EQUALS(initial_data, "Gaussian")) { LANG: C TAGS: Device=1 - READS: grid::r(Everywhere) - WRITES: ML_WaveToy_CL::rho(Everywhere) - WRITES: ML_WaveToy_CL::u(Everywhere) + READS: grid::r(Everywhere) + WRITES: ML_WaveToy_CL::rho(Everywhere) + WRITES: ML_WaveToy_CL::u(Everywhere) } "WT_CL_Gaussian" } @@ -74,11 +43,11 @@ if (CCTK_EQUALS(initial_data, "Standing")) { LANG: C TAGS: Device=1 - READS: grid::x(Everywhere) - READS: grid::y(Everywhere) - READS: grid::z(Everywhere) - WRITES: ML_WaveToy_CL::rho(Everywhere) - WRITES: ML_WaveToy_CL::u(Everywhere) + READS: grid::x(Everywhere) + READS: grid::y(Everywhere) + READS: grid::z(Everywhere) + WRITES: ML_WaveToy_CL::rho(Everywhere) + WRITES: ML_WaveToy_CL::u(Everywhere) } "WT_CL_Standing" } @@ -86,18 +55,18 @@ schedule WT_CL_RHS IN MoL_CalcRHS { LANG: C TAGS: Device=1 - READS: ML_WaveToy_CL::rho(Everywhere) - READS: ML_WaveToy_CL::u(Everywhere) - WRITES: ML_WaveToy_CL::rhorhs(Interior) - WRITES: ML_WaveToy_CL::urhs(Interior) + READS: ML_WaveToy_CL::rho(Everywhere) + READS: ML_WaveToy_CL::u(Everywhere) + WRITES: ML_WaveToy_CL::rhorhs(Interior) + WRITES: ML_WaveToy_CL::urhs(Interior) } "WT_CL_RHS" schedule WT_CL_Dirichlet IN MoL_CalcRHS { LANG: C TAGS: Device=1 - WRITES: ML_WaveToy_CL::rhorhs(Boundary) - WRITES: ML_WaveToy_CL::urhs(Boundary) + WRITES: ML_WaveToy_CL::rhorhs(Boundary) + WRITES: ML_WaveToy_CL::urhs(Boundary) } "WT_CL_Dirichlet" schedule WT_CL_Dirichlet AT analysis @@ -106,8 +75,8 @@ schedule WT_CL_Dirichlet AT analysis SYNC: WT_rhorhs SYNC: WT_urhs TAGS: Device=1 - WRITES: ML_WaveToy_CL::rhorhs(Boundary) - WRITES: ML_WaveToy_CL::urhs(Boundary) + WRITES: ML_WaveToy_CL::rhorhs(Boundary) + WRITES: ML_WaveToy_CL::urhs(Boundary) } "WT_CL_Dirichlet" schedule WT_CL_Energy AT analysis @@ -115,9 +84,9 @@ schedule WT_CL_Energy AT analysis LANG: C SYNC: WT_eps TAGS: Device=1 - READS: ML_WaveToy_CL::rho(Everywhere) - READS: ML_WaveToy_CL::u(Everywhere) - WRITES: ML_WaveToy_CL::eps(Interior) + READS: ML_WaveToy_CL::rho(Everywhere) + READS: ML_WaveToy_CL::u(Everywhere) + WRITES: ML_WaveToy_CL::eps(Interior) } "WT_CL_Energy" schedule WT_CL_EnergyBoundary AT analysis @@ -125,7 +94,7 @@ schedule WT_CL_EnergyBoundary AT analysis LANG: C SYNC: WT_eps TAGS: Device=1 - WRITES: ML_WaveToy_CL::eps(Boundary) + WRITES: ML_WaveToy_CL::eps(Boundary) } "WT_CL_EnergyBoundary" schedule ML_WaveToy_CL_SelectBoundConds in MoL_PostStep diff --git a/ML_WaveToy_CL/src/Boundaries.cc b/ML_WaveToy_CL/src/Boundaries.cc index 274144c..6f346a7 100644 --- a/ML_WaveToy_CL/src/Boundaries.cc +++ b/ML_WaveToy_CL/src/Boundaries.cc @@ -30,7 +30,7 @@ extern "C" void ML_WaveToy_CL_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(WT_rho_bound, "none" ) || CCTK_EQUALS(WT_rho_bound, "static") || @@ -79,7 +79,7 @@ extern "C" void ML_WaveToy_CL_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(WT_rho_bound, "radiative")) { /* select radiation boundary condition */ - static CCTK_INT handle_WT_rho_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_WT_rho_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_WT_rho_bound < 0) handle_WT_rho_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_WT_rho_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_WT_rho_bound , WT_rho_bound_limit, "LIMIT") < 0) @@ -98,7 +98,7 @@ extern "C" void ML_WaveToy_CL_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(WT_u_bound, "radiative")) { /* select radiation boundary condition */ - static CCTK_INT handle_WT_u_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_WT_u_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_WT_u_bound < 0) handle_WT_u_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_WT_u_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_WT_u_bound , WT_u_bound_limit, "LIMIT") < 0) @@ -117,7 +117,7 @@ extern "C" void ML_WaveToy_CL_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(rho_bound, "radiative")) { /* select radiation boundary condition */ - static CCTK_INT handle_rho_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_rho_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_rho_bound < 0) handle_rho_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_rho_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_rho_bound , rho_bound_limit, "LIMIT") < 0) @@ -136,7 +136,7 @@ extern "C" void ML_WaveToy_CL_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(u_bound, "radiative")) { /* select radiation boundary condition */ - static CCTK_INT handle_u_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_u_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_u_bound < 0) handle_u_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_u_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_u_bound , u_bound_limit, "LIMIT") < 0) @@ -155,7 +155,7 @@ extern "C" void ML_WaveToy_CL_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(WT_rho_bound, "scalar")) { /* select scalar boundary condition */ - static CCTK_INT handle_WT_rho_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_WT_rho_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_WT_rho_bound < 0) handle_WT_rho_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_WT_rho_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_WT_rho_bound ,WT_rho_bound_scalar, "SCALAR") < 0) @@ -172,7 +172,7 @@ extern "C" void ML_WaveToy_CL_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(WT_u_bound, "scalar")) { /* select scalar boundary condition */ - static CCTK_INT handle_WT_u_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_WT_u_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_WT_u_bound < 0) handle_WT_u_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_WT_u_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_WT_u_bound ,WT_u_bound_scalar, "SCALAR") < 0) @@ -189,7 +189,7 @@ extern "C" void ML_WaveToy_CL_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(rho_bound, "scalar")) { /* select scalar boundary condition */ - static CCTK_INT handle_rho_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_rho_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_rho_bound < 0) handle_rho_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_rho_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_rho_bound ,rho_bound_scalar, "SCALAR") < 0) @@ -206,7 +206,7 @@ extern "C" void ML_WaveToy_CL_SelectBoundConds(CCTK_ARGUMENTS) if (CCTK_EQUALS(u_bound, "scalar")) { /* select scalar boundary condition */ - static CCTK_INT handle_u_bound CCTK_ATTRIBUTE_UNUSED = -1; + static CCTK_INT handle_u_bound CCTK_ATTRIBUTE_UNUSED = -1; if (handle_u_bound < 0) handle_u_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); if (handle_u_bound < 0) CCTK_WARN(0, "could not create table!"); if (Util_TableSetReal(handle_u_bound ,u_bound_scalar, "SCALAR") < 0) diff --git a/ML_WaveToy_CL/src/Differencing.h b/ML_WaveToy_CL/src/Differencing.h index 9a5e0c6..e992787 100644 --- a/ML_WaveToy_CL/src/Differencing.h +++ b/ML_WaveToy_CL/src/Differencing.h @@ -1,145 +1,145 @@ -static char const *const differencing = +static const char* const differencing = "#ifndef KRANC_DIFF_FUNCTIONS\n" -"# define PDstandardNth1(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.)))))))\n" +"# define PDstandardNth1(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))))))\n" "#else\n" "# define PDstandardNth1(u) (PDstandardNth1_impl(u,p1o12dx,cdj,cdk))\n" -"static CCTK_REAL_VEC PDstandardNth1_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;\n" -"static CCTK_REAL_VEC PDstandardNth1_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o12dx, ptrdiff_t const cdj, ptrdiff_t const cdk)\n" +"static CCTK_REAL_VEC PDstandardNth1_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;\n" +"static CCTK_REAL_VEC PDstandardNth1_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o12dx, const ptrdiff_t cdj, const ptrdiff_t cdk)\n" "{\n" -" ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL);\n" -" 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.))))));\n" +" const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL);\n" +" 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)))));\n" "}\n" "#endif\n" "\n" "#ifndef KRANC_DIFF_FUNCTIONS\n" -"# define PDstandardNth2(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.)))))))\n" +"# define PDstandardNth2(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))))))\n" "#else\n" "# define PDstandardNth2(u) (PDstandardNth2_impl(u,p1o12dy,cdj,cdk))\n" -"static CCTK_REAL_VEC PDstandardNth2_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;\n" -"static CCTK_REAL_VEC PDstandardNth2_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o12dy, ptrdiff_t const cdj, ptrdiff_t const cdk)\n" +"static CCTK_REAL_VEC PDstandardNth2_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;\n" +"static CCTK_REAL_VEC PDstandardNth2_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o12dy, const ptrdiff_t cdj, const ptrdiff_t cdk)\n" "{\n" -" ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL);\n" -" 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.))))));\n" +" const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL);\n" +" 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)))));\n" "}\n" "#endif\n" "\n" "#ifndef KRANC_DIFF_FUNCTIONS\n" -"# define PDstandardNth3(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.)))))))\n" +"# define PDstandardNth3(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))))))\n" "#else\n" "# define PDstandardNth3(u) (PDstandardNth3_impl(u,p1o12dz,cdj,cdk))\n" -"static CCTK_REAL_VEC PDstandardNth3_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;\n" -"static CCTK_REAL_VEC PDstandardNth3_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o12dz, ptrdiff_t const cdj, ptrdiff_t const cdk)\n" +"static CCTK_REAL_VEC PDstandardNth3_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;\n" +"static CCTK_REAL_VEC PDstandardNth3_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o12dz, const ptrdiff_t cdj, const ptrdiff_t cdk)\n" "{\n" -" ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL);\n" -" 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.))))));\n" +" const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL);\n" +" return PDstandardNth2_impl(u, p1o12dz, cdk, cdj);\n" "}\n" "#endif\n" "\n" "#ifndef KRANC_DIFF_FUNCTIONS\n" -"# define PDstandardNth11(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.)))))))\n" +"# define PDstandardNth11(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)))))))\n" "#else\n" "# define PDstandardNth11(u) (PDstandardNth11_impl(u,pm1o12dx2,cdj,cdk))\n" -"static CCTK_REAL_VEC PDstandardNth11_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;\n" -"static CCTK_REAL_VEC PDstandardNth11_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ pm1o12dx2, ptrdiff_t const cdj, ptrdiff_t const cdk)\n" +"static CCTK_REAL_VEC PDstandardNth11_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;\n" +"static CCTK_REAL_VEC PDstandardNth11_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC pm1o12dx2, const ptrdiff_t cdj, const ptrdiff_t cdk)\n" "{\n" -" ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL);\n" -" 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.))))));\n" +" const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL);\n" +" 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))))));\n" "}\n" "#endif\n" "\n" "#ifndef KRANC_DIFF_FUNCTIONS\n" -"# define PDstandardNth22(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.)))))))\n" +"# define PDstandardNth22(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)))))))\n" "#else\n" "# define PDstandardNth22(u) (PDstandardNth22_impl(u,pm1o12dy2,cdj,cdk))\n" -"static CCTK_REAL_VEC PDstandardNth22_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;\n" -"static CCTK_REAL_VEC PDstandardNth22_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ pm1o12dy2, ptrdiff_t const cdj, ptrdiff_t const cdk)\n" +"static CCTK_REAL_VEC PDstandardNth22_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;\n" +"static CCTK_REAL_VEC PDstandardNth22_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC pm1o12dy2, const ptrdiff_t cdj, const ptrdiff_t cdk)\n" "{\n" -" ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL);\n" -" 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.))))));\n" +" const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL);\n" +" 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))))));\n" "}\n" "#endif\n" "\n" "#ifndef KRANC_DIFF_FUNCTIONS\n" -"# define PDstandardNth33(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.)))))))\n" +"# define PDstandardNth33(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)))))))\n" "#else\n" "# define PDstandardNth33(u) (PDstandardNth33_impl(u,pm1o12dz2,cdj,cdk))\n" -"static CCTK_REAL_VEC PDstandardNth33_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;\n" -"static CCTK_REAL_VEC PDstandardNth33_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ pm1o12dz2, ptrdiff_t const cdj, ptrdiff_t const cdk)\n" +"static CCTK_REAL_VEC PDstandardNth33_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;\n" +"static CCTK_REAL_VEC PDstandardNth33_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC pm1o12dz2, const ptrdiff_t cdj, const ptrdiff_t cdk)\n" "{\n" -" ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL);\n" -" 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.))))));\n" +" const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL);\n" +" return PDstandardNth22_impl(u, pm1o12dz2, cdk, cdj);\n" "}\n" "#endif\n" "\n" "#ifndef KRANC_DIFF_FUNCTIONS\n" -"# define PDstandardNth12(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.))))))))))\n" +"# define PDstandardNth12(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))))))))\n" "#else\n" "# define PDstandardNth12(u) (PDstandardNth12_impl(u,p1o144dxdy,cdj,cdk))\n" -"static CCTK_REAL_VEC PDstandardNth12_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;\n" -"static CCTK_REAL_VEC PDstandardNth12_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o144dxdy, ptrdiff_t const cdj, ptrdiff_t const cdk)\n" +"static CCTK_REAL_VEC PDstandardNth12_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;\n" +"static CCTK_REAL_VEC PDstandardNth12_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o144dxdy, const ptrdiff_t cdj, const ptrdiff_t cdk)\n" "{\n" -" ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL);\n" -" 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.)))))))));\n" +" const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL);\n" +" 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)))))));\n" "}\n" "#endif\n" "\n" "#ifndef KRANC_DIFF_FUNCTIONS\n" -"# define PDstandardNth13(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.))))))))))\n" +"# define PDstandardNth13(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))))))))\n" "#else\n" "# define PDstandardNth13(u) (PDstandardNth13_impl(u,p1o144dxdz,cdj,cdk))\n" -"static CCTK_REAL_VEC PDstandardNth13_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;\n" -"static CCTK_REAL_VEC PDstandardNth13_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o144dxdz, ptrdiff_t const cdj, ptrdiff_t const cdk)\n" +"static CCTK_REAL_VEC PDstandardNth13_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;\n" +"static CCTK_REAL_VEC PDstandardNth13_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o144dxdz, const ptrdiff_t cdj, const ptrdiff_t cdk)\n" "{\n" -" ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL);\n" -" 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.)))))))));\n" +" const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL);\n" +" return PDstandardNth12_impl(u, p1o144dxdz, cdk, cdj);\n" "}\n" "#endif\n" "\n" "#ifndef KRANC_DIFF_FUNCTIONS\n" -"# define PDstandardNth21(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.))))))))))\n" +"# define PDstandardNth21(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))))))))\n" "#else\n" "# define PDstandardNth21(u) (PDstandardNth21_impl(u,p1o144dxdy,cdj,cdk))\n" -"static CCTK_REAL_VEC PDstandardNth21_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;\n" -"static CCTK_REAL_VEC PDstandardNth21_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o144dxdy, ptrdiff_t const cdj, ptrdiff_t const cdk)\n" +"static CCTK_REAL_VEC PDstandardNth21_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;\n" +"static CCTK_REAL_VEC PDstandardNth21_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o144dxdy, const ptrdiff_t cdj, const ptrdiff_t cdk)\n" "{\n" -" ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL);\n" -" 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.)))))))));\n" +" const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL);\n" +" return PDstandardNth12_impl(u, p1o144dxdy, cdj, cdk);\n" "}\n" "#endif\n" "\n" "#ifndef KRANC_DIFF_FUNCTIONS\n" -"# define PDstandardNth23(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.))))))))))\n" +"# define PDstandardNth23(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))))))))\n" "#else\n" "# define PDstandardNth23(u) (PDstandardNth23_impl(u,p1o144dydz,cdj,cdk))\n" -"static CCTK_REAL_VEC PDstandardNth23_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;\n" -"static CCTK_REAL_VEC PDstandardNth23_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o144dydz, ptrdiff_t const cdj, ptrdiff_t const cdk)\n" +"static CCTK_REAL_VEC PDstandardNth23_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;\n" +"static CCTK_REAL_VEC PDstandardNth23_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o144dydz, const ptrdiff_t cdj, const ptrdiff_t cdk)\n" "{\n" -" ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL);\n" -" 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.)))))))));\n" +" const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL);\n" +" 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)))))));\n" "}\n" "#endif\n" "\n" "#ifndef KRANC_DIFF_FUNCTIONS\n" -"# define PDstandardNth31(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.))))))))))\n" +"# define PDstandardNth31(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))))))))\n" "#else\n" "# define PDstandardNth31(u) (PDstandardNth31_impl(u,p1o144dxdz,cdj,cdk))\n" -"static CCTK_REAL_VEC PDstandardNth31_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;\n" -"static CCTK_REAL_VEC PDstandardNth31_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o144dxdz, ptrdiff_t const cdj, ptrdiff_t const cdk)\n" +"static CCTK_REAL_VEC PDstandardNth31_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;\n" +"static CCTK_REAL_VEC PDstandardNth31_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o144dxdz, const ptrdiff_t cdj, const ptrdiff_t cdk)\n" "{\n" -" ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL);\n" -" 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.)))))))));\n" +" const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL);\n" +" return PDstandardNth12_impl(u, p1o144dxdz, cdk, cdj);\n" "}\n" "#endif\n" "\n" "#ifndef KRANC_DIFF_FUNCTIONS\n" -"# define PDstandardNth32(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.))))))))))\n" +"# define PDstandardNth32(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))))))))\n" "#else\n" "# define PDstandardNth32(u) (PDstandardNth32_impl(u,p1o144dydz,cdj,cdk))\n" -"static CCTK_REAL_VEC PDstandardNth32_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;\n" -"static CCTK_REAL_VEC PDstandardNth32_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC /*const*/ p1o144dydz, ptrdiff_t const cdj, ptrdiff_t const cdk)\n" +"static CCTK_REAL_VEC PDstandardNth32_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;\n" +"static CCTK_REAL_VEC PDstandardNth32_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o144dydz, const ptrdiff_t cdj, const ptrdiff_t cdk)\n" "{\n" -" ptrdiff_t const cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL);\n" -" 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.)))))))));\n" +" const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL);\n" +" return PDstandardNth23_impl(u, p1o144dydz, cdj, cdk);\n" "}\n" "#endif\n" "\n" diff --git a/ML_WaveToy_CL/src/RegisterMoL.cc b/ML_WaveToy_CL/src/RegisterMoL.cc index 472f9f7..c507ddc 100644 --- a/ML_WaveToy_CL/src/RegisterMoL.cc +++ b/ML_WaveToy_CL/src/RegisterMoL.cc @@ -9,7 +9,7 @@ extern "C" void ML_WaveToy_CL_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_WaveToy_CL::rho"), CCTK_VarIndex("ML_WaveToy_CL::rhorhs")); diff --git a/ML_WaveToy_CL/src/Startup.cc b/ML_WaveToy_CL/src/Startup.cc index 5d1cd87..5a9e1cf 100644 --- a/ML_WaveToy_CL/src/Startup.cc +++ b/ML_WaveToy_CL/src/Startup.cc @@ -4,7 +4,7 @@ extern "C" int ML_WaveToy_CL_Startup(void) { - const char * banner CCTK_ATTRIBUTE_UNUSED = "ML_WaveToy_CL"; + const char* banner CCTK_ATTRIBUTE_UNUSED = "ML_WaveToy_CL"; CCTK_RegisterBanner(banner); return 0; } diff --git a/ML_WaveToy_CL/src/WT_CL_Dirichlet.cc b/ML_WaveToy_CL/src/WT_CL_Dirichlet.cc index 1974909..d83016a 100644 --- a/ML_WaveToy_CL/src/WT_CL_Dirichlet.cc +++ b/ML_WaveToy_CL/src/WT_CL_Dirichlet.cc @@ -33,7 +33,9 @@ extern "C" void WT_CL_Dirichlet_SelectBCs(CCTK_ARGUMENTS) DECLARE_CCTK_ARGUMENTS; DECLARE_CCTK_PARAMETERS; - CCTK_INT ierr CCTK_ATTRIBUTE_UNUSED = 0; + if (cctk_iteration % WT_CL_Dirichlet_calc_every != WT_CL_Dirichlet_calc_offset) + return; + CCTK_INT ierr CCTK_ATTRIBUTE_UNUSED = 0; ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_WaveToy_CL::WT_rhorhs","flat"); if (ierr < 0) CCTK_WARN(1, "Failed to register flat BC for ML_WaveToy_CL::WT_rhorhs."); @@ -43,49 +45,49 @@ extern "C" void WT_CL_Dirichlet_SelectBCs(CCTK_ARGUMENTS) return; } -static void WT_CL_Dirichlet_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 WT_CL_Dirichlet_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; - char const *const source = + const char* const source = "\n" "/* Include user-supplied include files */\n" "\n" "/* Initialise finite differencing variables */\n" - "ptrdiff_t /*const*/ di CCTK_ATTRIBUTE_UNUSED = 1;\n" - "ptrdiff_t /*const*/ dj CCTK_ATTRIBUTE_UNUSED = CCTK_GFINDEX3D(cctkGH,0,1,0) - CCTK_GFINDEX3D(cctkGH,0,0,0);\n" - "ptrdiff_t /*const*/ dk CCTK_ATTRIBUTE_UNUSED = CCTK_GFINDEX3D(cctkGH,0,0,1) - CCTK_GFINDEX3D(cctkGH,0,0,0);\n" - "ptrdiff_t /*const*/ cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * di;\n" - "ptrdiff_t /*const*/ cdj CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * dj;\n" - "ptrdiff_t /*const*/ cdk CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * dk;\n" - "CCTK_REAL_VEC /*const*/ dx CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(0));\n" - "CCTK_REAL_VEC /*const*/ dy CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(1));\n" - "CCTK_REAL_VEC /*const*/ dz CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(2));\n" - "CCTK_REAL_VEC /*const*/ dt CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_TIME);\n" - "CCTK_REAL_VEC /*const*/ t CCTK_ATTRIBUTE_UNUSED = ToReal(cctk_time);\n" - "CCTK_REAL_VEC /*const*/ dxi CCTK_ATTRIBUTE_UNUSED = INV(dx);\n" - "CCTK_REAL_VEC /*const*/ dyi CCTK_ATTRIBUTE_UNUSED = INV(dy);\n" - "CCTK_REAL_VEC /*const*/ dzi CCTK_ATTRIBUTE_UNUSED = INV(dz);\n" - "CCTK_REAL_VEC /*const*/ khalf CCTK_ATTRIBUTE_UNUSED = ToReal(0.5);\n" - "CCTK_REAL_VEC /*const*/ kthird CCTK_ATTRIBUTE_UNUSED = ToReal(1.0/3.0);\n" - "CCTK_REAL_VEC /*const*/ ktwothird CCTK_ATTRIBUTE_UNUSED = ToReal(2.0/3.0);\n" - "CCTK_REAL_VEC /*const*/ kfourthird CCTK_ATTRIBUTE_UNUSED = ToReal(4.0/3.0);\n" - "CCTK_REAL_VEC /*const*/ keightthird CCTK_ATTRIBUTE_UNUSED = ToReal(8.0/3.0);\n" - "CCTK_REAL_VEC /*const*/ hdxi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dxi);\n" - "CCTK_REAL_VEC /*const*/ hdyi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dyi);\n" - "CCTK_REAL_VEC /*const*/ hdzi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dzi);\n" + "const ptrdiff_t di CCTK_ATTRIBUTE_UNUSED = 1;\n" + "const ptrdiff_t dj CCTK_ATTRIBUTE_UNUSED = CCTK_GFINDEX3D(cctkGH,0,1,0) - CCTK_GFINDEX3D(cctkGH,0,0,0);\n" + "const ptrdiff_t dk CCTK_ATTRIBUTE_UNUSED = CCTK_GFINDEX3D(cctkGH,0,0,1) - CCTK_GFINDEX3D(cctkGH,0,0,0);\n" + "const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * di;\n" + "const ptrdiff_t cdj CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * dj;\n" + "const ptrdiff_t cdk CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * dk;\n" + "const CCTK_REAL_VEC dx CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(0));\n" + "const CCTK_REAL_VEC dy CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(1));\n" + "const CCTK_REAL_VEC dz CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(2));\n" + "const CCTK_REAL_VEC dt CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_TIME);\n" + "const CCTK_REAL_VEC t CCTK_ATTRIBUTE_UNUSED = ToReal(cctk_time);\n" + "const CCTK_REAL_VEC dxi CCTK_ATTRIBUTE_UNUSED = INV(dx);\n" + "const CCTK_REAL_VEC dyi CCTK_ATTRIBUTE_UNUSED = INV(dy);\n" + "const CCTK_REAL_VEC dzi CCTK_ATTRIBUTE_UNUSED = INV(dz);\n" + "const CCTK_REAL_VEC khalf CCTK_ATTRIBUTE_UNUSED = ToReal(0.5);\n" + "const CCTK_REAL_VEC kthird CCTK_ATTRIBUTE_UNUSED = ToReal(1.0/3.0);\n" + "const CCTK_REAL_VEC ktwothird CCTK_ATTRIBUTE_UNUSED = ToReal(2.0/3.0);\n" + "const CCTK_REAL_VEC kfourthird CCTK_ATTRIBUTE_UNUSED = ToReal(4.0/3.0);\n" + "const CCTK_REAL_VEC keightthird CCTK_ATTRIBUTE_UNUSED = ToReal(8.0/3.0);\n" + "const CCTK_REAL_VEC hdxi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dxi);\n" + "const CCTK_REAL_VEC hdyi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dyi);\n" + "const CCTK_REAL_VEC hdzi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dzi);\n" "\n" "/* Initialize predefined quantities */\n" - "CCTK_REAL_VEC /*const*/ p1o12dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dx);\n" - "CCTK_REAL_VEC /*const*/ p1o12dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dy);\n" - "CCTK_REAL_VEC /*const*/ p1o12dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dz);\n" - "CCTK_REAL_VEC /*const*/ p1o144dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dy,dx));\n" - "CCTK_REAL_VEC /*const*/ p1o144dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dx));\n" - "CCTK_REAL_VEC /*const*/ p1o144dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dy));\n" - "CCTK_REAL_VEC /*const*/ pm1o12dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dx,dx));\n" - "CCTK_REAL_VEC /*const*/ pm1o12dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dy,dy));\n" - "CCTK_REAL_VEC /*const*/ pm1o12dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dz,dz));\n" + "const CCTK_REAL_VEC p1o12dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dx);\n" + "const CCTK_REAL_VEC p1o12dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dy);\n" + "const CCTK_REAL_VEC p1o12dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dz);\n" + "const CCTK_REAL_VEC p1o144dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dy,dx));\n" + "const CCTK_REAL_VEC p1o144dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dx));\n" + "const CCTK_REAL_VEC p1o144dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dy));\n" + "const CCTK_REAL_VEC pm1o12dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dx,dx));\n" + "const CCTK_REAL_VEC pm1o12dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dy,dy));\n" + "const CCTK_REAL_VEC pm1o12dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dz,dz));\n" "\n" "/* Assign local copies of arrays functions */\n" "\n" @@ -96,13 +98,20 @@ static void WT_CL_Dirichlet_Body(cGH const * restrict const cctkGH, int const di "/* Copy local copies back to grid functions */\n" "\n" "/* Loop over the grid points */\n" - "#pragma omp parallel\n" + "const int imin0=imin[0];\n" + "const int imin1=imin[1];\n" + "const int imin2=imin[2];\n" + "const int imax0=imax[0];\n" + "const int imax1=imax[1];\n" + "const int imax2=imax[2];\n" + "#pragma omp parallel // reduction(+: vec_iter_counter, vec_op_counter, vec_mem_counter)\n" "CCTK_LOOP3STR(WT_CL_Dirichlet,\n" - " i,j,k, imin[0],imin[1],imin[2], imax[0],imax[1],imax[2],\n" + " i,j,k, imin0,imin1,imin2, imax0,imax1,imax2,\n" " cctk_ash[0],cctk_ash[1],cctk_ash[2],\n" - " kimin,kimax, CCTK_REAL_VEC_SIZE)\n" + " vecimin,vecimax, CCTK_REAL_VEC_SIZE)\n" "{\n" - " ptrdiff_t /*const*/ index CCTK_ATTRIBUTE_UNUSED = di*i + dj*j + dk*k;\n" + " const ptrdiff_t index CCTK_ATTRIBUTE_UNUSED = di*i + dj*j + dk*k;\n" + " // vec_iter_counter+=CCTK_REAL_VEC_SIZE;\n" " \n" " /* Assign local copies of grid functions */\n" " \n" @@ -113,9 +122,9 @@ static void WT_CL_Dirichlet_Body(cGH const * restrict const cctkGH, int const di " /* Precompute derivatives */\n" " \n" " /* Calculate temporaries and grid functions */\n" - " CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED urhsL = ToReal(0.);\n" + " CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED urhsL = ToReal(0);\n" " \n" - " CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED rhorhsL = ToReal(0.);\n" + " CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED rhorhsL = ToReal(0);\n" " \n" " /* Copy local copies back to grid functions */\n" " vec_store_partial_prepare(i,lc_imin,lc_imax);\n" @@ -126,13 +135,13 @@ static void WT_CL_Dirichlet_Body(cGH const * restrict const cctkGH, int const di "" ; - char const *const groups[] = { + const char* const groups[] = { "ML_WaveToy_CL::WT_rhorhs", "ML_WaveToy_CL::WT_urhs", NULL}; static struct OpenCLKernel *kernel = NULL; - char const *const sources[] = {differencing, source, NULL}; + const char* const sources[] = {differencing, source, NULL}; OpenCLRunTime_CallKernel(cctkGH, CCTK_THORNSTRING, "WT_CL_Dirichlet", sources, groups, NULL, NULL, NULL, -1, imin, imax, &kernel); @@ -155,7 +164,7 @@ extern "C" void WT_CL_Dirichlet(CCTK_ARGUMENTS) return; } - const char *const groups[] = { + const char* const groups[] = { "ML_WaveToy_CL::WT_rhorhs", "ML_WaveToy_CL::WT_urhs"}; GenericFD_AssertGroupStorage(cctkGH, "WT_CL_Dirichlet", 2, groups); diff --git a/ML_WaveToy_CL/src/WT_CL_Energy.cc b/ML_WaveToy_CL/src/WT_CL_Energy.cc index 89b8524..4ed7d60 100644 --- a/ML_WaveToy_CL/src/WT_CL_Energy.cc +++ b/ML_WaveToy_CL/src/WT_CL_Energy.cc @@ -33,56 +33,58 @@ extern "C" void WT_CL_Energy_SelectBCs(CCTK_ARGUMENTS) DECLARE_CCTK_ARGUMENTS; DECLARE_CCTK_PARAMETERS; - CCTK_INT ierr CCTK_ATTRIBUTE_UNUSED = 0; + if (cctk_iteration % WT_CL_Energy_calc_every != WT_CL_Energy_calc_offset) + return; + CCTK_INT ierr CCTK_ATTRIBUTE_UNUSED = 0; ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_WaveToy_CL::WT_eps","flat"); if (ierr < 0) CCTK_WARN(1, "Failed to register flat BC for ML_WaveToy_CL::WT_eps."); return; } -static void WT_CL_Energy_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 WT_CL_Energy_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; - char const *const source = + const char* const source = "\n" "/* Include user-supplied include files */\n" "\n" "/* Initialise finite differencing variables */\n" - "ptrdiff_t /*const*/ di CCTK_ATTRIBUTE_UNUSED = 1;\n" - "ptrdiff_t /*const*/ dj CCTK_ATTRIBUTE_UNUSED = CCTK_GFINDEX3D(cctkGH,0,1,0) - CCTK_GFINDEX3D(cctkGH,0,0,0);\n" - "ptrdiff_t /*const*/ dk CCTK_ATTRIBUTE_UNUSED = CCTK_GFINDEX3D(cctkGH,0,0,1) - CCTK_GFINDEX3D(cctkGH,0,0,0);\n" - "ptrdiff_t /*const*/ cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * di;\n" - "ptrdiff_t /*const*/ cdj CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * dj;\n" - "ptrdiff_t /*const*/ cdk CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * dk;\n" - "CCTK_REAL_VEC /*const*/ dx CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(0));\n" - "CCTK_REAL_VEC /*const*/ dy CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(1));\n" - "CCTK_REAL_VEC /*const*/ dz CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(2));\n" - "CCTK_REAL_VEC /*const*/ dt CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_TIME);\n" - "CCTK_REAL_VEC /*const*/ t CCTK_ATTRIBUTE_UNUSED = ToReal(cctk_time);\n" - "CCTK_REAL_VEC /*const*/ dxi CCTK_ATTRIBUTE_UNUSED = INV(dx);\n" - "CCTK_REAL_VEC /*const*/ dyi CCTK_ATTRIBUTE_UNUSED = INV(dy);\n" - "CCTK_REAL_VEC /*const*/ dzi CCTK_ATTRIBUTE_UNUSED = INV(dz);\n" - "CCTK_REAL_VEC /*const*/ khalf CCTK_ATTRIBUTE_UNUSED = ToReal(0.5);\n" - "CCTK_REAL_VEC /*const*/ kthird CCTK_ATTRIBUTE_UNUSED = ToReal(1.0/3.0);\n" - "CCTK_REAL_VEC /*const*/ ktwothird CCTK_ATTRIBUTE_UNUSED = ToReal(2.0/3.0);\n" - "CCTK_REAL_VEC /*const*/ kfourthird CCTK_ATTRIBUTE_UNUSED = ToReal(4.0/3.0);\n" - "CCTK_REAL_VEC /*const*/ keightthird CCTK_ATTRIBUTE_UNUSED = ToReal(8.0/3.0);\n" - "CCTK_REAL_VEC /*const*/ hdxi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dxi);\n" - "CCTK_REAL_VEC /*const*/ hdyi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dyi);\n" - "CCTK_REAL_VEC /*const*/ hdzi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dzi);\n" + "const ptrdiff_t di CCTK_ATTRIBUTE_UNUSED = 1;\n" + "const ptrdiff_t dj CCTK_ATTRIBUTE_UNUSED = CCTK_GFINDEX3D(cctkGH,0,1,0) - CCTK_GFINDEX3D(cctkGH,0,0,0);\n" + "const ptrdiff_t dk CCTK_ATTRIBUTE_UNUSED = CCTK_GFINDEX3D(cctkGH,0,0,1) - CCTK_GFINDEX3D(cctkGH,0,0,0);\n" + "const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * di;\n" + "const ptrdiff_t cdj CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * dj;\n" + "const ptrdiff_t cdk CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * dk;\n" + "const CCTK_REAL_VEC dx CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(0));\n" + "const CCTK_REAL_VEC dy CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(1));\n" + "const CCTK_REAL_VEC dz CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(2));\n" + "const CCTK_REAL_VEC dt CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_TIME);\n" + "const CCTK_REAL_VEC t CCTK_ATTRIBUTE_UNUSED = ToReal(cctk_time);\n" + "const CCTK_REAL_VEC dxi CCTK_ATTRIBUTE_UNUSED = INV(dx);\n" + "const CCTK_REAL_VEC dyi CCTK_ATTRIBUTE_UNUSED = INV(dy);\n" + "const CCTK_REAL_VEC dzi CCTK_ATTRIBUTE_UNUSED = INV(dz);\n" + "const CCTK_REAL_VEC khalf CCTK_ATTRIBUTE_UNUSED = ToReal(0.5);\n" + "const CCTK_REAL_VEC kthird CCTK_ATTRIBUTE_UNUSED = ToReal(1.0/3.0);\n" + "const CCTK_REAL_VEC ktwothird CCTK_ATTRIBUTE_UNUSED = ToReal(2.0/3.0);\n" + "const CCTK_REAL_VEC kfourthird CCTK_ATTRIBUTE_UNUSED = ToReal(4.0/3.0);\n" + "const CCTK_REAL_VEC keightthird CCTK_ATTRIBUTE_UNUSED = ToReal(8.0/3.0);\n" + "const CCTK_REAL_VEC hdxi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dxi);\n" + "const CCTK_REAL_VEC hdyi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dyi);\n" + "const CCTK_REAL_VEC hdzi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dzi);\n" "\n" "/* Initialize predefined quantities */\n" - "CCTK_REAL_VEC /*const*/ p1o12dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dx);\n" - "CCTK_REAL_VEC /*const*/ p1o12dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dy);\n" - "CCTK_REAL_VEC /*const*/ p1o12dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dz);\n" - "CCTK_REAL_VEC /*const*/ p1o144dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dy,dx));\n" - "CCTK_REAL_VEC /*const*/ p1o144dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dx));\n" - "CCTK_REAL_VEC /*const*/ p1o144dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dy));\n" - "CCTK_REAL_VEC /*const*/ pm1o12dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dx,dx));\n" - "CCTK_REAL_VEC /*const*/ pm1o12dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dy,dy));\n" - "CCTK_REAL_VEC /*const*/ pm1o12dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dz,dz));\n" + "const CCTK_REAL_VEC p1o12dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dx);\n" + "const CCTK_REAL_VEC p1o12dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dy);\n" + "const CCTK_REAL_VEC p1o12dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dz);\n" + "const CCTK_REAL_VEC p1o144dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dy,dx));\n" + "const CCTK_REAL_VEC p1o144dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dx));\n" + "const CCTK_REAL_VEC p1o144dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dy));\n" + "const CCTK_REAL_VEC pm1o12dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dx,dx));\n" + "const CCTK_REAL_VEC pm1o12dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dy,dy));\n" + "const CCTK_REAL_VEC pm1o12dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dz,dz));\n" "\n" "/* Assign local copies of arrays functions */\n" "\n" @@ -93,13 +95,20 @@ static void WT_CL_Energy_Body(cGH const * restrict const cctkGH, int const dir, "/* Copy local copies back to grid functions */\n" "\n" "/* Loop over the grid points */\n" - "#pragma omp parallel\n" + "const int imin0=imin[0];\n" + "const int imin1=imin[1];\n" + "const int imin2=imin[2];\n" + "const int imax0=imax[0];\n" + "const int imax1=imax[1];\n" + "const int imax2=imax[2];\n" + "#pragma omp parallel // reduction(+: vec_iter_counter, vec_op_counter, vec_mem_counter)\n" "CCTK_LOOP3STR(WT_CL_Energy,\n" - " i,j,k, imin[0],imin[1],imin[2], imax[0],imax[1],imax[2],\n" + " i,j,k, imin0,imin1,imin2, imax0,imax1,imax2,\n" " cctk_ash[0],cctk_ash[1],cctk_ash[2],\n" - " kimin,kimax, CCTK_REAL_VEC_SIZE)\n" + " vecimin,vecimax, CCTK_REAL_VEC_SIZE)\n" "{\n" - " ptrdiff_t /*const*/ index CCTK_ATTRIBUTE_UNUSED = di*i + dj*j + dk*k;\n" + " const ptrdiff_t index CCTK_ATTRIBUTE_UNUSED = di*i + dj*j + dk*k;\n" + " // vec_iter_counter+=CCTK_REAL_VEC_SIZE;\n" " \n" " /* Assign local copies of grid functions */\n" " \n" @@ -110,9 +119,9 @@ static void WT_CL_Energy_Body(cGH const * restrict const cctkGH, int const dir, " /* Include user supplied include files */\n" " \n" " /* Precompute derivatives */\n" - " CCTK_REAL_VEC /*const*/ PDstandardNth1u CCTK_ATTRIBUTE_UNUSED = PDstandardNth1(&u[index]);\n" - " CCTK_REAL_VEC /*const*/ PDstandardNth2u CCTK_ATTRIBUTE_UNUSED = PDstandardNth2(&u[index]);\n" - " CCTK_REAL_VEC /*const*/ PDstandardNth3u CCTK_ATTRIBUTE_UNUSED = PDstandardNth3(&u[index]);\n" + " const CCTK_REAL_VEC PDstandardNth1u CCTK_ATTRIBUTE_UNUSED = PDstandardNth1(&u[index]);\n" + " const CCTK_REAL_VEC PDstandardNth2u CCTK_ATTRIBUTE_UNUSED = PDstandardNth2(&u[index]);\n" + " const CCTK_REAL_VEC PDstandardNth3u CCTK_ATTRIBUTE_UNUSED = PDstandardNth3(&u[index]);\n" " \n" " /* Calculate temporaries and grid functions */\n" " CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED epsL = \n" @@ -126,14 +135,14 @@ static void WT_CL_Energy_Body(cGH const * restrict const cctkGH, int const dir, "" ; - char const *const groups[] = { + const char* const groups[] = { "ML_WaveToy_CL::WT_eps", "ML_WaveToy_CL::WT_rho", "ML_WaveToy_CL::WT_u", NULL}; static struct OpenCLKernel *kernel = NULL; - char const *const sources[] = {differencing, source, NULL}; + const char* const sources[] = {differencing, source, NULL}; OpenCLRunTime_CallKernel(cctkGH, CCTK_THORNSTRING, "WT_CL_Energy", sources, groups, NULL, NULL, NULL, -1, imin, imax, &kernel); @@ -156,7 +165,7 @@ extern "C" void WT_CL_Energy(CCTK_ARGUMENTS) return; } - const char *const groups[] = { + const char* const groups[] = { "ML_WaveToy_CL::WT_eps", "ML_WaveToy_CL::WT_rho", "ML_WaveToy_CL::WT_u"}; diff --git a/ML_WaveToy_CL/src/WT_CL_EnergyBoundary.cc b/ML_WaveToy_CL/src/WT_CL_EnergyBoundary.cc index 592d29e..8161612 100644 --- a/ML_WaveToy_CL/src/WT_CL_EnergyBoundary.cc +++ b/ML_WaveToy_CL/src/WT_CL_EnergyBoundary.cc @@ -33,56 +33,58 @@ extern "C" void WT_CL_EnergyBoundary_SelectBCs(CCTK_ARGUMENTS) DECLARE_CCTK_ARGUMENTS; DECLARE_CCTK_PARAMETERS; - CCTK_INT ierr CCTK_ATTRIBUTE_UNUSED = 0; + if (cctk_iteration % WT_CL_EnergyBoundary_calc_every != WT_CL_EnergyBoundary_calc_offset) + return; + CCTK_INT ierr CCTK_ATTRIBUTE_UNUSED = 0; ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_WaveToy_CL::WT_eps","flat"); if (ierr < 0) CCTK_WARN(1, "Failed to register flat BC for ML_WaveToy_CL::WT_eps."); return; } -static void WT_CL_EnergyBoundary_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 WT_CL_EnergyBoundary_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; - char const *const source = + const char* const source = "\n" "/* Include user-supplied include files */\n" "\n" "/* Initialise finite differencing variables */\n" - "ptrdiff_t /*const*/ di CCTK_ATTRIBUTE_UNUSED = 1;\n" - "ptrdiff_t /*const*/ dj CCTK_ATTRIBUTE_UNUSED = CCTK_GFINDEX3D(cctkGH,0,1,0) - CCTK_GFINDEX3D(cctkGH,0,0,0);\n" - "ptrdiff_t /*const*/ dk CCTK_ATTRIBUTE_UNUSED = CCTK_GFINDEX3D(cctkGH,0,0,1) - CCTK_GFINDEX3D(cctkGH,0,0,0);\n" - "ptrdiff_t /*const*/ cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * di;\n" - "ptrdiff_t /*const*/ cdj CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * dj;\n" - "ptrdiff_t /*const*/ cdk CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * dk;\n" - "CCTK_REAL_VEC /*const*/ dx CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(0));\n" - "CCTK_REAL_VEC /*const*/ dy CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(1));\n" - "CCTK_REAL_VEC /*const*/ dz CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(2));\n" - "CCTK_REAL_VEC /*const*/ dt CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_TIME);\n" - "CCTK_REAL_VEC /*const*/ t CCTK_ATTRIBUTE_UNUSED = ToReal(cctk_time);\n" - "CCTK_REAL_VEC /*const*/ dxi CCTK_ATTRIBUTE_UNUSED = INV(dx);\n" - "CCTK_REAL_VEC /*const*/ dyi CCTK_ATTRIBUTE_UNUSED = INV(dy);\n" - "CCTK_REAL_VEC /*const*/ dzi CCTK_ATTRIBUTE_UNUSED = INV(dz);\n" - "CCTK_REAL_VEC /*const*/ khalf CCTK_ATTRIBUTE_UNUSED = ToReal(0.5);\n" - "CCTK_REAL_VEC /*const*/ kthird CCTK_ATTRIBUTE_UNUSED = ToReal(1.0/3.0);\n" - "CCTK_REAL_VEC /*const*/ ktwothird CCTK_ATTRIBUTE_UNUSED = ToReal(2.0/3.0);\n" - "CCTK_REAL_VEC /*const*/ kfourthird CCTK_ATTRIBUTE_UNUSED = ToReal(4.0/3.0);\n" - "CCTK_REAL_VEC /*const*/ keightthird CCTK_ATTRIBUTE_UNUSED = ToReal(8.0/3.0);\n" - "CCTK_REAL_VEC /*const*/ hdxi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dxi);\n" - "CCTK_REAL_VEC /*const*/ hdyi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dyi);\n" - "CCTK_REAL_VEC /*const*/ hdzi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dzi);\n" + "const ptrdiff_t di CCTK_ATTRIBUTE_UNUSED = 1;\n" + "const ptrdiff_t dj CCTK_ATTRIBUTE_UNUSED = CCTK_GFINDEX3D(cctkGH,0,1,0) - CCTK_GFINDEX3D(cctkGH,0,0,0);\n" + "const ptrdiff_t dk CCTK_ATTRIBUTE_UNUSED = CCTK_GFINDEX3D(cctkGH,0,0,1) - CCTK_GFINDEX3D(cctkGH,0,0,0);\n" + "const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * di;\n" + "const ptrdiff_t cdj CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * dj;\n" + "const ptrdiff_t cdk CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * dk;\n" + "const CCTK_REAL_VEC dx CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(0));\n" + "const CCTK_REAL_VEC dy CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(1));\n" + "const CCTK_REAL_VEC dz CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(2));\n" + "const CCTK_REAL_VEC dt CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_TIME);\n" + "const CCTK_REAL_VEC t CCTK_ATTRIBUTE_UNUSED = ToReal(cctk_time);\n" + "const CCTK_REAL_VEC dxi CCTK_ATTRIBUTE_UNUSED = INV(dx);\n" + "const CCTK_REAL_VEC dyi CCTK_ATTRIBUTE_UNUSED = INV(dy);\n" + "const CCTK_REAL_VEC dzi CCTK_ATTRIBUTE_UNUSED = INV(dz);\n" + "const CCTK_REAL_VEC khalf CCTK_ATTRIBUTE_UNUSED = ToReal(0.5);\n" + "const CCTK_REAL_VEC kthird CCTK_ATTRIBUTE_UNUSED = ToReal(1.0/3.0);\n" + "const CCTK_REAL_VEC ktwothird CCTK_ATTRIBUTE_UNUSED = ToReal(2.0/3.0);\n" + "const CCTK_REAL_VEC kfourthird CCTK_ATTRIBUTE_UNUSED = ToReal(4.0/3.0);\n" + "const CCTK_REAL_VEC keightthird CCTK_ATTRIBUTE_UNUSED = ToReal(8.0/3.0);\n" + "const CCTK_REAL_VEC hdxi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dxi);\n" + "const CCTK_REAL_VEC hdyi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dyi);\n" + "const CCTK_REAL_VEC hdzi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dzi);\n" "\n" "/* Initialize predefined quantities */\n" - "CCTK_REAL_VEC /*const*/ p1o12dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dx);\n" - "CCTK_REAL_VEC /*const*/ p1o12dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dy);\n" - "CCTK_REAL_VEC /*const*/ p1o12dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dz);\n" - "CCTK_REAL_VEC /*const*/ p1o144dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dy,dx));\n" - "CCTK_REAL_VEC /*const*/ p1o144dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dx));\n" - "CCTK_REAL_VEC /*const*/ p1o144dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dy));\n" - "CCTK_REAL_VEC /*const*/ pm1o12dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dx,dx));\n" - "CCTK_REAL_VEC /*const*/ pm1o12dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dy,dy));\n" - "CCTK_REAL_VEC /*const*/ pm1o12dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dz,dz));\n" + "const CCTK_REAL_VEC p1o12dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dx);\n" + "const CCTK_REAL_VEC p1o12dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dy);\n" + "const CCTK_REAL_VEC p1o12dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dz);\n" + "const CCTK_REAL_VEC p1o144dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dy,dx));\n" + "const CCTK_REAL_VEC p1o144dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dx));\n" + "const CCTK_REAL_VEC p1o144dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dy));\n" + "const CCTK_REAL_VEC pm1o12dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dx,dx));\n" + "const CCTK_REAL_VEC pm1o12dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dy,dy));\n" + "const CCTK_REAL_VEC pm1o12dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dz,dz));\n" "\n" "/* Assign local copies of arrays functions */\n" "\n" @@ -93,13 +95,20 @@ static void WT_CL_EnergyBoundary_Body(cGH const * restrict const cctkGH, int con "/* Copy local copies back to grid functions */\n" "\n" "/* Loop over the grid points */\n" - "#pragma omp parallel\n" + "const int imin0=imin[0];\n" + "const int imin1=imin[1];\n" + "const int imin2=imin[2];\n" + "const int imax0=imax[0];\n" + "const int imax1=imax[1];\n" + "const int imax2=imax[2];\n" + "#pragma omp parallel // reduction(+: vec_iter_counter, vec_op_counter, vec_mem_counter)\n" "CCTK_LOOP3STR(WT_CL_EnergyBoundary,\n" - " i,j,k, imin[0],imin[1],imin[2], imax[0],imax[1],imax[2],\n" + " i,j,k, imin0,imin1,imin2, imax0,imax1,imax2,\n" " cctk_ash[0],cctk_ash[1],cctk_ash[2],\n" - " kimin,kimax, CCTK_REAL_VEC_SIZE)\n" + " vecimin,vecimax, CCTK_REAL_VEC_SIZE)\n" "{\n" - " ptrdiff_t /*const*/ index CCTK_ATTRIBUTE_UNUSED = di*i + dj*j + dk*k;\n" + " const ptrdiff_t index CCTK_ATTRIBUTE_UNUSED = di*i + dj*j + dk*k;\n" + " // vec_iter_counter+=CCTK_REAL_VEC_SIZE;\n" " \n" " /* Assign local copies of grid functions */\n" " \n" @@ -110,7 +119,7 @@ static void WT_CL_EnergyBoundary_Body(cGH const * restrict const cctkGH, int con " /* Precompute derivatives */\n" " \n" " /* Calculate temporaries and grid functions */\n" - " CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED epsL = ToReal(0.);\n" + " CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED epsL = ToReal(0);\n" " \n" " /* Copy local copies back to grid functions */\n" " vec_store_partial_prepare(i,lc_imin,lc_imax);\n" @@ -120,12 +129,12 @@ static void WT_CL_EnergyBoundary_Body(cGH const * restrict const cctkGH, int con "" ; - char const *const groups[] = { + const char* const groups[] = { "ML_WaveToy_CL::WT_eps", NULL}; static struct OpenCLKernel *kernel = NULL; - char const *const sources[] = {differencing, source, NULL}; + const char* const sources[] = {differencing, source, NULL}; OpenCLRunTime_CallKernel(cctkGH, CCTK_THORNSTRING, "WT_CL_EnergyBoundary", sources, groups, NULL, NULL, NULL, -1, imin, imax, &kernel); @@ -148,7 +157,7 @@ extern "C" void WT_CL_EnergyBoundary(CCTK_ARGUMENTS) return; } - const char *const groups[] = { + const char* const groups[] = { "ML_WaveToy_CL::WT_eps"}; GenericFD_AssertGroupStorage(cctkGH, "WT_CL_EnergyBoundary", 1, groups); diff --git a/ML_WaveToy_CL/src/WT_CL_Gaussian.cc b/ML_WaveToy_CL/src/WT_CL_Gaussian.cc index fde5721..9cfe036 100644 --- a/ML_WaveToy_CL/src/WT_CL_Gaussian.cc +++ b/ML_WaveToy_CL/src/WT_CL_Gaussian.cc @@ -28,49 +28,49 @@ #define CUB(x) (kmul(x,SQR(x))) #define QAD(x) (SQR(SQR(x))) -static void WT_CL_Gaussian_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 WT_CL_Gaussian_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; - char const *const source = + const char* const source = "\n" "/* Include user-supplied include files */\n" "\n" "/* Initialise finite differencing variables */\n" - "ptrdiff_t /*const*/ di CCTK_ATTRIBUTE_UNUSED = 1;\n" - "ptrdiff_t /*const*/ dj CCTK_ATTRIBUTE_UNUSED = CCTK_GFINDEX3D(cctkGH,0,1,0) - CCTK_GFINDEX3D(cctkGH,0,0,0);\n" - "ptrdiff_t /*const*/ dk CCTK_ATTRIBUTE_UNUSED = CCTK_GFINDEX3D(cctkGH,0,0,1) - CCTK_GFINDEX3D(cctkGH,0,0,0);\n" - "ptrdiff_t /*const*/ cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * di;\n" - "ptrdiff_t /*const*/ cdj CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * dj;\n" - "ptrdiff_t /*const*/ cdk CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * dk;\n" - "CCTK_REAL_VEC /*const*/ dx CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(0));\n" - "CCTK_REAL_VEC /*const*/ dy CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(1));\n" - "CCTK_REAL_VEC /*const*/ dz CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(2));\n" - "CCTK_REAL_VEC /*const*/ dt CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_TIME);\n" - "CCTK_REAL_VEC /*const*/ t CCTK_ATTRIBUTE_UNUSED = ToReal(cctk_time);\n" - "CCTK_REAL_VEC /*const*/ dxi CCTK_ATTRIBUTE_UNUSED = INV(dx);\n" - "CCTK_REAL_VEC /*const*/ dyi CCTK_ATTRIBUTE_UNUSED = INV(dy);\n" - "CCTK_REAL_VEC /*const*/ dzi CCTK_ATTRIBUTE_UNUSED = INV(dz);\n" - "CCTK_REAL_VEC /*const*/ khalf CCTK_ATTRIBUTE_UNUSED = ToReal(0.5);\n" - "CCTK_REAL_VEC /*const*/ kthird CCTK_ATTRIBUTE_UNUSED = ToReal(1.0/3.0);\n" - "CCTK_REAL_VEC /*const*/ ktwothird CCTK_ATTRIBUTE_UNUSED = ToReal(2.0/3.0);\n" - "CCTK_REAL_VEC /*const*/ kfourthird CCTK_ATTRIBUTE_UNUSED = ToReal(4.0/3.0);\n" - "CCTK_REAL_VEC /*const*/ keightthird CCTK_ATTRIBUTE_UNUSED = ToReal(8.0/3.0);\n" - "CCTK_REAL_VEC /*const*/ hdxi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dxi);\n" - "CCTK_REAL_VEC /*const*/ hdyi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dyi);\n" - "CCTK_REAL_VEC /*const*/ hdzi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dzi);\n" + "const ptrdiff_t di CCTK_ATTRIBUTE_UNUSED = 1;\n" + "const ptrdiff_t dj CCTK_ATTRIBUTE_UNUSED = CCTK_GFINDEX3D(cctkGH,0,1,0) - CCTK_GFINDEX3D(cctkGH,0,0,0);\n" + "const ptrdiff_t dk CCTK_ATTRIBUTE_UNUSED = CCTK_GFINDEX3D(cctkGH,0,0,1) - CCTK_GFINDEX3D(cctkGH,0,0,0);\n" + "const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * di;\n" + "const ptrdiff_t cdj CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * dj;\n" + "const ptrdiff_t cdk CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * dk;\n" + "const CCTK_REAL_VEC dx CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(0));\n" + "const CCTK_REAL_VEC dy CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(1));\n" + "const CCTK_REAL_VEC dz CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(2));\n" + "const CCTK_REAL_VEC dt CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_TIME);\n" + "const CCTK_REAL_VEC t CCTK_ATTRIBUTE_UNUSED = ToReal(cctk_time);\n" + "const CCTK_REAL_VEC dxi CCTK_ATTRIBUTE_UNUSED = INV(dx);\n" + "const CCTK_REAL_VEC dyi CCTK_ATTRIBUTE_UNUSED = INV(dy);\n" + "const CCTK_REAL_VEC dzi CCTK_ATTRIBUTE_UNUSED = INV(dz);\n" + "const CCTK_REAL_VEC khalf CCTK_ATTRIBUTE_UNUSED = ToReal(0.5);\n" + "const CCTK_REAL_VEC kthird CCTK_ATTRIBUTE_UNUSED = ToReal(1.0/3.0);\n" + "const CCTK_REAL_VEC ktwothird CCTK_ATTRIBUTE_UNUSED = ToReal(2.0/3.0);\n" + "const CCTK_REAL_VEC kfourthird CCTK_ATTRIBUTE_UNUSED = ToReal(4.0/3.0);\n" + "const CCTK_REAL_VEC keightthird CCTK_ATTRIBUTE_UNUSED = ToReal(8.0/3.0);\n" + "const CCTK_REAL_VEC hdxi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dxi);\n" + "const CCTK_REAL_VEC hdyi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dyi);\n" + "const CCTK_REAL_VEC hdzi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dzi);\n" "\n" "/* Initialize predefined quantities */\n" - "CCTK_REAL_VEC /*const*/ p1o12dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dx);\n" - "CCTK_REAL_VEC /*const*/ p1o12dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dy);\n" - "CCTK_REAL_VEC /*const*/ p1o12dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dz);\n" - "CCTK_REAL_VEC /*const*/ p1o144dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dy,dx));\n" - "CCTK_REAL_VEC /*const*/ p1o144dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dx));\n" - "CCTK_REAL_VEC /*const*/ p1o144dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dy));\n" - "CCTK_REAL_VEC /*const*/ pm1o12dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dx,dx));\n" - "CCTK_REAL_VEC /*const*/ pm1o12dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dy,dy));\n" - "CCTK_REAL_VEC /*const*/ pm1o12dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dz,dz));\n" + "const CCTK_REAL_VEC p1o12dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dx);\n" + "const CCTK_REAL_VEC p1o12dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dy);\n" + "const CCTK_REAL_VEC p1o12dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dz);\n" + "const CCTK_REAL_VEC p1o144dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dy,dx));\n" + "const CCTK_REAL_VEC p1o144dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dx));\n" + "const CCTK_REAL_VEC p1o144dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dy));\n" + "const CCTK_REAL_VEC pm1o12dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dx,dx));\n" + "const CCTK_REAL_VEC pm1o12dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dy,dy));\n" + "const CCTK_REAL_VEC pm1o12dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dz,dz));\n" "\n" "/* Assign local copies of arrays functions */\n" "\n" @@ -81,13 +81,20 @@ static void WT_CL_Gaussian_Body(cGH const * restrict const cctkGH, int const dir "/* Copy local copies back to grid functions */\n" "\n" "/* Loop over the grid points */\n" - "#pragma omp parallel\n" + "const int imin0=imin[0];\n" + "const int imin1=imin[1];\n" + "const int imin2=imin[2];\n" + "const int imax0=imax[0];\n" + "const int imax1=imax[1];\n" + "const int imax2=imax[2];\n" + "#pragma omp parallel // reduction(+: vec_iter_counter, vec_op_counter, vec_mem_counter)\n" "CCTK_LOOP3STR(WT_CL_Gaussian,\n" - " i,j,k, imin[0],imin[1],imin[2], imax[0],imax[1],imax[2],\n" + " i,j,k, imin0,imin1,imin2, imax0,imax1,imax2,\n" " cctk_ash[0],cctk_ash[1],cctk_ash[2],\n" - " kimin,kimax, CCTK_REAL_VEC_SIZE)\n" + " vecimin,vecimax, CCTK_REAL_VEC_SIZE)\n" "{\n" - " ptrdiff_t /*const*/ index CCTK_ATTRIBUTE_UNUSED = di*i + dj*j + dk*k;\n" + " const ptrdiff_t index CCTK_ATTRIBUTE_UNUSED = di*i + dj*j + dk*k;\n" + " // vec_iter_counter+=CCTK_REAL_VEC_SIZE;\n" " \n" " /* Assign local copies of grid functions */\n" " \n" @@ -102,7 +109,7 @@ static void WT_CL_Gaussian_Body(cGH const * restrict const cctkGH, int const dir " CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED uL = \n" " kmul(kexp(kmul(kmul(kmul(rL,rL),ToReal(-0.5)),ToReal(ScalarINV(ScalarSQR(width))))),ToReal(amplitude));\n" " \n" - " CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED rhoL = ToReal(0.);\n" + " CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED rhoL = ToReal(0);\n" " \n" " /* Copy local copies back to grid functions */\n" " vec_store_partial_prepare(i,lc_imin,lc_imax);\n" @@ -113,14 +120,14 @@ static void WT_CL_Gaussian_Body(cGH const * restrict const cctkGH, int const dir "" ; - char const *const groups[] = { + const char* const groups[] = { "grid::coordinates", "ML_WaveToy_CL::WT_rho", "ML_WaveToy_CL::WT_u", NULL}; static struct OpenCLKernel *kernel = NULL; - char const *const sources[] = {differencing, source, NULL}; + const char* const sources[] = {differencing, source, NULL}; OpenCLRunTime_CallKernel(cctkGH, CCTK_THORNSTRING, "WT_CL_Gaussian", sources, groups, NULL, NULL, NULL, -1, imin, imax, &kernel); @@ -143,7 +150,7 @@ extern "C" void WT_CL_Gaussian(CCTK_ARGUMENTS) return; } - const char *const groups[] = { + const char* const groups[] = { "grid::coordinates", "ML_WaveToy_CL::WT_rho", "ML_WaveToy_CL::WT_u"}; diff --git a/ML_WaveToy_CL/src/WT_CL_RHS.cc b/ML_WaveToy_CL/src/WT_CL_RHS.cc index a8212f6..128496a 100644 --- a/ML_WaveToy_CL/src/WT_CL_RHS.cc +++ b/ML_WaveToy_CL/src/WT_CL_RHS.cc @@ -33,7 +33,9 @@ extern "C" void WT_CL_RHS_SelectBCs(CCTK_ARGUMENTS) DECLARE_CCTK_ARGUMENTS; DECLARE_CCTK_PARAMETERS; - CCTK_INT ierr CCTK_ATTRIBUTE_UNUSED = 0; + if (cctk_iteration % WT_CL_RHS_calc_every != WT_CL_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_WaveToy_CL::WT_rhorhs","flat"); if (ierr < 0) CCTK_WARN(1, "Failed to register flat BC for ML_WaveToy_CL::WT_rhorhs."); @@ -43,49 +45,49 @@ extern "C" void WT_CL_RHS_SelectBCs(CCTK_ARGUMENTS) return; } -static void WT_CL_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 WT_CL_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; - char const *const source = + const char* const source = "\n" "/* Include user-supplied include files */\n" "\n" "/* Initialise finite differencing variables */\n" - "ptrdiff_t /*const*/ di CCTK_ATTRIBUTE_UNUSED = 1;\n" - "ptrdiff_t /*const*/ dj CCTK_ATTRIBUTE_UNUSED = CCTK_GFINDEX3D(cctkGH,0,1,0) - CCTK_GFINDEX3D(cctkGH,0,0,0);\n" - "ptrdiff_t /*const*/ dk CCTK_ATTRIBUTE_UNUSED = CCTK_GFINDEX3D(cctkGH,0,0,1) - CCTK_GFINDEX3D(cctkGH,0,0,0);\n" - "ptrdiff_t /*const*/ cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * di;\n" - "ptrdiff_t /*const*/ cdj CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * dj;\n" - "ptrdiff_t /*const*/ cdk CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * dk;\n" - "CCTK_REAL_VEC /*const*/ dx CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(0));\n" - "CCTK_REAL_VEC /*const*/ dy CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(1));\n" - "CCTK_REAL_VEC /*const*/ dz CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(2));\n" - "CCTK_REAL_VEC /*const*/ dt CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_TIME);\n" - "CCTK_REAL_VEC /*const*/ t CCTK_ATTRIBUTE_UNUSED = ToReal(cctk_time);\n" - "CCTK_REAL_VEC /*const*/ dxi CCTK_ATTRIBUTE_UNUSED = INV(dx);\n" - "CCTK_REAL_VEC /*const*/ dyi CCTK_ATTRIBUTE_UNUSED = INV(dy);\n" - "CCTK_REAL_VEC /*const*/ dzi CCTK_ATTRIBUTE_UNUSED = INV(dz);\n" - "CCTK_REAL_VEC /*const*/ khalf CCTK_ATTRIBUTE_UNUSED = ToReal(0.5);\n" - "CCTK_REAL_VEC /*const*/ kthird CCTK_ATTRIBUTE_UNUSED = ToReal(1.0/3.0);\n" - "CCTK_REAL_VEC /*const*/ ktwothird CCTK_ATTRIBUTE_UNUSED = ToReal(2.0/3.0);\n" - "CCTK_REAL_VEC /*const*/ kfourthird CCTK_ATTRIBUTE_UNUSED = ToReal(4.0/3.0);\n" - "CCTK_REAL_VEC /*const*/ keightthird CCTK_ATTRIBUTE_UNUSED = ToReal(8.0/3.0);\n" - "CCTK_REAL_VEC /*const*/ hdxi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dxi);\n" - "CCTK_REAL_VEC /*const*/ hdyi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dyi);\n" - "CCTK_REAL_VEC /*const*/ hdzi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dzi);\n" + "const ptrdiff_t di CCTK_ATTRIBUTE_UNUSED = 1;\n" + "const ptrdiff_t dj CCTK_ATTRIBUTE_UNUSED = CCTK_GFINDEX3D(cctkGH,0,1,0) - CCTK_GFINDEX3D(cctkGH,0,0,0);\n" + "const ptrdiff_t dk CCTK_ATTRIBUTE_UNUSED = CCTK_GFINDEX3D(cctkGH,0,0,1) - CCTK_GFINDEX3D(cctkGH,0,0,0);\n" + "const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * di;\n" + "const ptrdiff_t cdj CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * dj;\n" + "const ptrdiff_t cdk CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * dk;\n" + "const CCTK_REAL_VEC dx CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(0));\n" + "const CCTK_REAL_VEC dy CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(1));\n" + "const CCTK_REAL_VEC dz CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(2));\n" + "const CCTK_REAL_VEC dt CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_TIME);\n" + "const CCTK_REAL_VEC t CCTK_ATTRIBUTE_UNUSED = ToReal(cctk_time);\n" + "const CCTK_REAL_VEC dxi CCTK_ATTRIBUTE_UNUSED = INV(dx);\n" + "const CCTK_REAL_VEC dyi CCTK_ATTRIBUTE_UNUSED = INV(dy);\n" + "const CCTK_REAL_VEC dzi CCTK_ATTRIBUTE_UNUSED = INV(dz);\n" + "const CCTK_REAL_VEC khalf CCTK_ATTRIBUTE_UNUSED = ToReal(0.5);\n" + "const CCTK_REAL_VEC kthird CCTK_ATTRIBUTE_UNUSED = ToReal(1.0/3.0);\n" + "const CCTK_REAL_VEC ktwothird CCTK_ATTRIBUTE_UNUSED = ToReal(2.0/3.0);\n" + "const CCTK_REAL_VEC kfourthird CCTK_ATTRIBUTE_UNUSED = ToReal(4.0/3.0);\n" + "const CCTK_REAL_VEC keightthird CCTK_ATTRIBUTE_UNUSED = ToReal(8.0/3.0);\n" + "const CCTK_REAL_VEC hdxi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dxi);\n" + "const CCTK_REAL_VEC hdyi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dyi);\n" + "const CCTK_REAL_VEC hdzi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dzi);\n" "\n" "/* Initialize predefined quantities */\n" - "CCTK_REAL_VEC /*const*/ p1o12dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dx);\n" - "CCTK_REAL_VEC /*const*/ p1o12dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dy);\n" - "CCTK_REAL_VEC /*const*/ p1o12dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dz);\n" - "CCTK_REAL_VEC /*const*/ p1o144dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dy,dx));\n" - "CCTK_REAL_VEC /*const*/ p1o144dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dx));\n" - "CCTK_REAL_VEC /*const*/ p1o144dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dy));\n" - "CCTK_REAL_VEC /*const*/ pm1o12dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dx,dx));\n" - "CCTK_REAL_VEC /*const*/ pm1o12dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dy,dy));\n" - "CCTK_REAL_VEC /*const*/ pm1o12dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dz,dz));\n" + "const CCTK_REAL_VEC p1o12dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dx);\n" + "const CCTK_REAL_VEC p1o12dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dy);\n" + "const CCTK_REAL_VEC p1o12dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dz);\n" + "const CCTK_REAL_VEC p1o144dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dy,dx));\n" + "const CCTK_REAL_VEC p1o144dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dx));\n" + "const CCTK_REAL_VEC p1o144dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dy));\n" + "const CCTK_REAL_VEC pm1o12dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dx,dx));\n" + "const CCTK_REAL_VEC pm1o12dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dy,dy));\n" + "const CCTK_REAL_VEC pm1o12dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dz,dz));\n" "\n" "/* Assign local copies of arrays functions */\n" "\n" @@ -96,13 +98,20 @@ static void WT_CL_RHS_Body(cGH const * restrict const cctkGH, int const dir, int "/* Copy local copies back to grid functions */\n" "\n" "/* Loop over the grid points */\n" - "#pragma omp parallel\n" + "const int imin0=imin[0];\n" + "const int imin1=imin[1];\n" + "const int imin2=imin[2];\n" + "const int imax0=imax[0];\n" + "const int imax1=imax[1];\n" + "const int imax2=imax[2];\n" + "#pragma omp parallel // reduction(+: vec_iter_counter, vec_op_counter, vec_mem_counter)\n" "CCTK_LOOP3STR(WT_CL_RHS,\n" - " i,j,k, imin[0],imin[1],imin[2], imax[0],imax[1],imax[2],\n" + " i,j,k, imin0,imin1,imin2, imax0,imax1,imax2,\n" " cctk_ash[0],cctk_ash[1],cctk_ash[2],\n" - " kimin,kimax, CCTK_REAL_VEC_SIZE)\n" + " vecimin,vecimax, CCTK_REAL_VEC_SIZE)\n" "{\n" - " ptrdiff_t /*const*/ index CCTK_ATTRIBUTE_UNUSED = di*i + dj*j + dk*k;\n" + " const ptrdiff_t index CCTK_ATTRIBUTE_UNUSED = di*i + dj*j + dk*k;\n" + " // vec_iter_counter+=CCTK_REAL_VEC_SIZE;\n" " \n" " /* Assign local copies of grid functions */\n" " \n" @@ -113,9 +122,9 @@ static void WT_CL_RHS_Body(cGH const * restrict const cctkGH, int const dir, int " /* Include user supplied include files */\n" " \n" " /* Precompute derivatives */\n" - " CCTK_REAL_VEC /*const*/ PDstandardNth11u CCTK_ATTRIBUTE_UNUSED = PDstandardNth11(&u[index]);\n" - " CCTK_REAL_VEC /*const*/ PDstandardNth22u CCTK_ATTRIBUTE_UNUSED = PDstandardNth22(&u[index]);\n" - " CCTK_REAL_VEC /*const*/ PDstandardNth33u CCTK_ATTRIBUTE_UNUSED = PDstandardNth33(&u[index]);\n" + " const CCTK_REAL_VEC PDstandardNth11u CCTK_ATTRIBUTE_UNUSED = PDstandardNth11(&u[index]);\n" + " const CCTK_REAL_VEC PDstandardNth22u CCTK_ATTRIBUTE_UNUSED = PDstandardNth22(&u[index]);\n" + " const CCTK_REAL_VEC PDstandardNth33u CCTK_ATTRIBUTE_UNUSED = PDstandardNth33(&u[index]);\n" " \n" " /* Calculate temporaries and grid functions */\n" " CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED urhsL = rhoL;\n" @@ -132,7 +141,7 @@ static void WT_CL_RHS_Body(cGH const * restrict const cctkGH, int const dir, int "" ; - char const *const groups[] = { + const char* const groups[] = { "ML_WaveToy_CL::WT_rho", "ML_WaveToy_CL::WT_rhorhs", "ML_WaveToy_CL::WT_u", @@ -140,7 +149,7 @@ static void WT_CL_RHS_Body(cGH const * restrict const cctkGH, int const dir, int NULL}; static struct OpenCLKernel *kernel = NULL; - char const *const sources[] = {differencing, source, NULL}; + const char* const sources[] = {differencing, source, NULL}; OpenCLRunTime_CallKernel(cctkGH, CCTK_THORNSTRING, "WT_CL_RHS", sources, groups, NULL, NULL, NULL, -1, imin, imax, &kernel); @@ -163,7 +172,7 @@ extern "C" void WT_CL_RHS(CCTK_ARGUMENTS) return; } - const char *const groups[] = { + const char* const groups[] = { "ML_WaveToy_CL::WT_rho", "ML_WaveToy_CL::WT_rhorhs", "ML_WaveToy_CL::WT_u", diff --git a/ML_WaveToy_CL/src/WT_CL_Standing.cc b/ML_WaveToy_CL/src/WT_CL_Standing.cc index 3f79b33..6d590b8 100644 --- a/ML_WaveToy_CL/src/WT_CL_Standing.cc +++ b/ML_WaveToy_CL/src/WT_CL_Standing.cc @@ -28,49 +28,49 @@ #define CUB(x) (kmul(x,SQR(x))) #define QAD(x) (SQR(SQR(x))) -static void WT_CL_Standing_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 WT_CL_Standing_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; - char const *const source = + const char* const source = "\n" "/* Include user-supplied include files */\n" "\n" "/* Initialise finite differencing variables */\n" - "ptrdiff_t /*const*/ di CCTK_ATTRIBUTE_UNUSED = 1;\n" - "ptrdiff_t /*const*/ dj CCTK_ATTRIBUTE_UNUSED = CCTK_GFINDEX3D(cctkGH,0,1,0) - CCTK_GFINDEX3D(cctkGH,0,0,0);\n" - "ptrdiff_t /*const*/ dk CCTK_ATTRIBUTE_UNUSED = CCTK_GFINDEX3D(cctkGH,0,0,1) - CCTK_GFINDEX3D(cctkGH,0,0,0);\n" - "ptrdiff_t /*const*/ cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * di;\n" - "ptrdiff_t /*const*/ cdj CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * dj;\n" - "ptrdiff_t /*const*/ cdk CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * dk;\n" - "CCTK_REAL_VEC /*const*/ dx CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(0));\n" - "CCTK_REAL_VEC /*const*/ dy CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(1));\n" - "CCTK_REAL_VEC /*const*/ dz CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(2));\n" - "CCTK_REAL_VEC /*const*/ dt CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_TIME);\n" - "CCTK_REAL_VEC /*const*/ t CCTK_ATTRIBUTE_UNUSED = ToReal(cctk_time);\n" - "CCTK_REAL_VEC /*const*/ dxi CCTK_ATTRIBUTE_UNUSED = INV(dx);\n" - "CCTK_REAL_VEC /*const*/ dyi CCTK_ATTRIBUTE_UNUSED = INV(dy);\n" - "CCTK_REAL_VEC /*const*/ dzi CCTK_ATTRIBUTE_UNUSED = INV(dz);\n" - "CCTK_REAL_VEC /*const*/ khalf CCTK_ATTRIBUTE_UNUSED = ToReal(0.5);\n" - "CCTK_REAL_VEC /*const*/ kthird CCTK_ATTRIBUTE_UNUSED = ToReal(1.0/3.0);\n" - "CCTK_REAL_VEC /*const*/ ktwothird CCTK_ATTRIBUTE_UNUSED = ToReal(2.0/3.0);\n" - "CCTK_REAL_VEC /*const*/ kfourthird CCTK_ATTRIBUTE_UNUSED = ToReal(4.0/3.0);\n" - "CCTK_REAL_VEC /*const*/ keightthird CCTK_ATTRIBUTE_UNUSED = ToReal(8.0/3.0);\n" - "CCTK_REAL_VEC /*const*/ hdxi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dxi);\n" - "CCTK_REAL_VEC /*const*/ hdyi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dyi);\n" - "CCTK_REAL_VEC /*const*/ hdzi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dzi);\n" + "const ptrdiff_t di CCTK_ATTRIBUTE_UNUSED = 1;\n" + "const ptrdiff_t dj CCTK_ATTRIBUTE_UNUSED = CCTK_GFINDEX3D(cctkGH,0,1,0) - CCTK_GFINDEX3D(cctkGH,0,0,0);\n" + "const ptrdiff_t dk CCTK_ATTRIBUTE_UNUSED = CCTK_GFINDEX3D(cctkGH,0,0,1) - CCTK_GFINDEX3D(cctkGH,0,0,0);\n" + "const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * di;\n" + "const ptrdiff_t cdj CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * dj;\n" + "const ptrdiff_t cdk CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * dk;\n" + "const CCTK_REAL_VEC dx CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(0));\n" + "const CCTK_REAL_VEC dy CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(1));\n" + "const CCTK_REAL_VEC dz CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(2));\n" + "const CCTK_REAL_VEC dt CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_TIME);\n" + "const CCTK_REAL_VEC t CCTK_ATTRIBUTE_UNUSED = ToReal(cctk_time);\n" + "const CCTK_REAL_VEC dxi CCTK_ATTRIBUTE_UNUSED = INV(dx);\n" + "const CCTK_REAL_VEC dyi CCTK_ATTRIBUTE_UNUSED = INV(dy);\n" + "const CCTK_REAL_VEC dzi CCTK_ATTRIBUTE_UNUSED = INV(dz);\n" + "const CCTK_REAL_VEC khalf CCTK_ATTRIBUTE_UNUSED = ToReal(0.5);\n" + "const CCTK_REAL_VEC kthird CCTK_ATTRIBUTE_UNUSED = ToReal(1.0/3.0);\n" + "const CCTK_REAL_VEC ktwothird CCTK_ATTRIBUTE_UNUSED = ToReal(2.0/3.0);\n" + "const CCTK_REAL_VEC kfourthird CCTK_ATTRIBUTE_UNUSED = ToReal(4.0/3.0);\n" + "const CCTK_REAL_VEC keightthird CCTK_ATTRIBUTE_UNUSED = ToReal(8.0/3.0);\n" + "const CCTK_REAL_VEC hdxi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dxi);\n" + "const CCTK_REAL_VEC hdyi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dyi);\n" + "const CCTK_REAL_VEC hdzi CCTK_ATTRIBUTE_UNUSED = kmul(ToReal(0.5), dzi);\n" "\n" "/* Initialize predefined quantities */\n" - "CCTK_REAL_VEC /*const*/ p1o12dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dx);\n" - "CCTK_REAL_VEC /*const*/ p1o12dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dy);\n" - "CCTK_REAL_VEC /*const*/ p1o12dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dz);\n" - "CCTK_REAL_VEC /*const*/ p1o144dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dy,dx));\n" - "CCTK_REAL_VEC /*const*/ p1o144dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dx));\n" - "CCTK_REAL_VEC /*const*/ p1o144dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dy));\n" - "CCTK_REAL_VEC /*const*/ pm1o12dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dx,dx));\n" - "CCTK_REAL_VEC /*const*/ pm1o12dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dy,dy));\n" - "CCTK_REAL_VEC /*const*/ pm1o12dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dz,dz));\n" + "const CCTK_REAL_VEC p1o12dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dx);\n" + "const CCTK_REAL_VEC p1o12dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dy);\n" + "const CCTK_REAL_VEC p1o12dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dz);\n" + "const CCTK_REAL_VEC p1o144dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dy,dx));\n" + "const CCTK_REAL_VEC p1o144dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dx));\n" + "const CCTK_REAL_VEC p1o144dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dy));\n" + "const CCTK_REAL_VEC pm1o12dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dx,dx));\n" + "const CCTK_REAL_VEC pm1o12dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dy,dy));\n" + "const CCTK_REAL_VEC pm1o12dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dz,dz));\n" "\n" "/* Assign local copies of arrays functions */\n" "\n" @@ -81,13 +81,20 @@ static void WT_CL_Standing_Body(cGH const * restrict const cctkGH, int const dir "/* Copy local copies back to grid functions */\n" "\n" "/* Loop over the grid points */\n" - "#pragma omp parallel\n" + "const int imin0=imin[0];\n" + "const int imin1=imin[1];\n" + "const int imin2=imin[2];\n" + "const int imax0=imax[0];\n" + "const int imax1=imax[1];\n" + "const int imax2=imax[2];\n" + "#pragma omp parallel // reduction(+: vec_iter_counter, vec_op_counter, vec_mem_counter)\n" "CCTK_LOOP3STR(WT_CL_Standing,\n" - " i,j,k, imin[0],imin[1],imin[2], imax[0],imax[1],imax[2],\n" + " i,j,k, imin0,imin1,imin2, imax0,imax1,imax2,\n" " cctk_ash[0],cctk_ash[1],cctk_ash[2],\n" - " kimin,kimax, CCTK_REAL_VEC_SIZE)\n" + " vecimin,vecimax, CCTK_REAL_VEC_SIZE)\n" "{\n" - " ptrdiff_t /*const*/ index CCTK_ATTRIBUTE_UNUSED = di*i + dj*j + dk*k;\n" + " const ptrdiff_t index CCTK_ATTRIBUTE_UNUSED = di*i + dj*j + dk*k;\n" + " // vec_iter_counter+=CCTK_REAL_VEC_SIZE;\n" " \n" " /* Assign local copies of grid functions */\n" " \n" @@ -105,13 +112,13 @@ static void WT_CL_Standing_Body(cGH const * restrict const cctkGH, int const dir " ToReal(3.14159265358979323846264338328*ScalarINV(width));\n" " \n" " CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED omega = \n" - " ksqrt(kmul(kmul(kvec,kvec),ToReal(3.)));\n" + " ksqrt(kmul(kmul(kvec,kvec),ToReal(3)));\n" " \n" " CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED uL = \n" " kmul(kcos(kmul(xL,kvec)),kmul(kcos(kmul(yL,kvec)),kmul(kcos(kmul(zL,kvec)),kmul(kcos(kmul(omega,t)),ToReal(amplitude)))));\n" " \n" " CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED rhoL = \n" - " kmul(omega,kmul(kcos(kmul(xL,kvec)),kmul(kcos(kmul(yL,kvec)),kmul(kcos(kmul(zL,kvec)),kmul(ksin(kmul(omega,t)),ToReal(-1.*amplitude))))));\n" + " kneg(kmul(omega,kmul(kcos(kmul(xL,kvec)),kmul(kcos(kmul(yL,kvec)),kmul(kcos(kmul(zL,kvec)),kmul(ksin(kmul(omega,t)),ToReal(amplitude)))))));\n" " \n" " /* Copy local copies back to grid functions */\n" " vec_store_partial_prepare(i,lc_imin,lc_imax);\n" @@ -122,14 +129,14 @@ static void WT_CL_Standing_Body(cGH const * restrict const cctkGH, int const dir "" ; - char const *const groups[] = { + const char* const groups[] = { "grid::coordinates", "ML_WaveToy_CL::WT_rho", "ML_WaveToy_CL::WT_u", NULL}; static struct OpenCLKernel *kernel = NULL; - char const *const sources[] = {differencing, source, NULL}; + const char* const sources[] = {differencing, source, NULL}; OpenCLRunTime_CallKernel(cctkGH, CCTK_THORNSTRING, "WT_CL_Standing", sources, groups, NULL, NULL, NULL, -1, imin, imax, &kernel); @@ -152,7 +159,7 @@ extern "C" void WT_CL_Standing(CCTK_ARGUMENTS) return; } - const char *const groups[] = { + const char* const groups[] = { "grid::coordinates", "ML_WaveToy_CL::WT_rho", "ML_WaveToy_CL::WT_u"}; -- cgit v1.2.3