From cda73baf0fbca06d75e51ad28ed708d7a087a849 Mon Sep 17 00:00:00 2001 From: Ian Hinder Date: Wed, 14 Nov 2012 19:53:02 +0100 Subject: Regenerate examples --- Examples/Wave/param.ccl | 6 -- Examples/Wave/schedule.ccl | 57 +++++++++++++-- Examples/Wave/src/Differencing.h | 116 ++----------------------------- Examples/Wave/src/make.code.defn | 2 +- Examples/Wave/src/wave_boundary.cc | 42 +++++------ Examples/Wave/src/wave_calc_errors.cc | 36 +++++----- Examples/Wave/src/wave_calc_norm.cc | 36 +++++----- Examples/Wave/src/wave_evolve.cc | 35 +++++----- Examples/Wave/src/wave_exact_gaussian.cc | 55 +++++++-------- Examples/Wave/src/wave_exact_sine.cc | 39 +++++------ Examples/Wave/src/wave_import_exact.cc | 35 +++++----- 11 files changed, 193 insertions(+), 266 deletions(-) (limited to 'Examples/Wave') diff --git a/Examples/Wave/param.ccl b/Examples/Wave/param.ccl index ae83072..ff10447 100644 --- a/Examples/Wave/param.ccl +++ b/Examples/Wave/param.ccl @@ -76,12 +76,6 @@ CCTK_REAL diss "diss" "*:*" :: "" } 0 -restricted: -CCTK_REAL hlleAlpha "hlleAlpha" -{ - "*:*" :: "" -} 0 - restricted: CCTK_INT fdOrder "fdOrder" { diff --git a/Examples/Wave/schedule.ccl b/Examples/Wave/schedule.ccl index e9e28e0..719d86f 100644 --- a/Examples/Wave/schedule.ccl +++ b/Examples/Wave/schedule.ccl @@ -72,12 +72,6 @@ schedule Wave_Startup at STARTUP OPTIONS: meta } "create banner" -schedule Wave_RegisterVars in MoL_Register -{ - LANG: C - OPTIONS: meta -} "Register Variables for MoL" - schedule Wave_RegisterSymmetries in SymmetryRegister { LANG: C @@ -90,6 +84,11 @@ if (CCTK_EQUALS(initial_data, "sine")) schedule wave_exact_sine AT INITIAL before import_exact before import_exact { LANG: C + READS: grid::x + READS: grid::y + READS: grid::z + WRITES: Wave::phiExact + WRITES: Wave::piExact } "wave_exact_sine" } @@ -99,6 +98,11 @@ if (CCTK_EQUALS(initial_data, "sine")) schedule wave_exact_sine AT POSTSTEP before calc_errors before import_exact { LANG: C + READS: grid::x + READS: grid::y + READS: grid::z + WRITES: Wave::phiExact + WRITES: Wave::piExact } "wave_exact_sine" } @@ -108,6 +112,9 @@ if (CCTK_EQUALS(initial_data, "gaussian")) schedule wave_exact_gaussian AT INITIAL before import_exact before import_exact { LANG: C + READS: grid::r + WRITES: Wave::phiExact + WRITES: Wave::piExact } "wave_exact_gaussian" } @@ -117,28 +124,52 @@ if (CCTK_EQUALS(initial_data, "gaussian")) schedule wave_exact_gaussian AT POSTSTEP before calc_errors before import_exact { LANG: C + READS: grid::r + WRITES: Wave::phiExact + WRITES: Wave::piExact } "wave_exact_gaussian" } schedule wave_import_exact at INITIAL as import_exact { LANG: C + READS: Wave::phiExact + READS: Wave::piExact + WRITES: Wave::phi + WRITES: Wave::pi } "wave_import_exact" schedule wave_evolve in MoL_CalcRHS as evolve { LANG: C + READS: Wave::phi + READS: Wave::pi + WRITES: Wave::phirhs + WRITES: Wave::pirhs } "wave_evolve" schedule wave_calc_errors at ANALYSIS as calc_errors { LANG: C + READS: Wave::phi + READS: Wave::phiExact + READS: Wave::pi + READS: Wave::piExact + WRITES: Wave::phiError + WRITES: Wave::piError } "wave_calc_errors" schedule wave_calc_norm at ANALYSIS as calc_norm { LANG: C SYNC: norms + READS: Wave::phi + READS: Wave::phiError + READS: Wave::pi + READS: Wave::piError + WRITES: Wave::EL2 + WRITES: Wave::VDP + WRITES: Wave::VL2 } "wave_calc_norm" @@ -147,6 +178,14 @@ if (CCTK_EQUALS(boundary_condition, "radiative")) schedule wave_boundary in MoL_RHSBoundaries { LANG: C + READS: Wave::phi + READS: Wave::pi + READS: grid::r + READS: grid::x + READS: grid::y + READS: grid::z + WRITES: Wave::phirhs + WRITES: Wave::pirhs } "wave_boundary" } @@ -163,6 +202,12 @@ schedule Wave_CheckBoundaries at BASEGRID OPTIONS: meta } "check boundaries treatment" +schedule Wave_RegisterVars in MoL_Register +{ + LANG: C + OPTIONS: meta +} "Register Variables for MoL" + schedule group ApplyBCs as Wave_ApplyBCs in MoL_PostStep after Wave_SelectBoundConds { # no language specified diff --git a/Examples/Wave/src/Differencing.h b/Examples/Wave/src/Differencing.h index c809b72..28eb5d5 100644 --- a/Examples/Wave/src/Differencing.h +++ b/Examples/Wave/src/Differencing.h @@ -323,26 +323,26 @@ static CCTK_REAL PDonesided2nd3_impl(CCTK_REAL const* restrict const u, CCTK_REA #endif #ifndef KRANC_DIFF_FUNCTIONS -# define DissfdOrder2(u) (-(p1odxdydz*diss*((6*KRANC_GFOFFSET3D(u,0,0,0) - 4*(KRANC_GFOFFSET3D(u,0,0,-1) + KRANC_GFOFFSET3D(u,0,0,1)) + KRANC_GFOFFSET3D(u,0,0,-2) + KRANC_GFOFFSET3D(u,0,0,2))*INV(dxi)*INV(dyi) + ((6*KRANC_GFOFFSET3D(u,0,0,0) - 4*(KRANC_GFOFFSET3D(u,0,-1,0) + KRANC_GFOFFSET3D(u,0,1,0)) + KRANC_GFOFFSET3D(u,0,-2,0) + KRANC_GFOFFSET3D(u,0,2,0))*INV(dxi) + (6*KRANC_GFOFFSET3D(u,0,0,0) - 4*(KRANC_GFOFFSET3D(u,-1,0,0) + KRANC_GFOFFSET3D(u,1,0,0)) + KRANC_GFOFFSET3D(u,-2,0,0) + KRANC_GFOFFSET3D(u,2,0,0))*INV(dyi))*INV(dzi)))) +# define DissfdOrder2(u) (-(p1odxdydz*diss*((6*KRANC_GFOFFSET3D(u,0,0,0) - 4*(KRANC_GFOFFSET3D(u,0,0,-1) + KRANC_GFOFFSET3D(u,0,0,1)) + KRANC_GFOFFSET3D(u,0,0,-2) + KRANC_GFOFFSET3D(u,0,0,2))*INV(dxi*dyi) + ((6*KRANC_GFOFFSET3D(u,0,0,0) - 4*(KRANC_GFOFFSET3D(u,0,-1,0) + KRANC_GFOFFSET3D(u,0,1,0)) + KRANC_GFOFFSET3D(u,0,-2,0) + KRANC_GFOFFSET3D(u,0,2,0))*INV(dxi) + (6*KRANC_GFOFFSET3D(u,0,0,0) - 4*(KRANC_GFOFFSET3D(u,-1,0,0) + KRANC_GFOFFSET3D(u,1,0,0)) + KRANC_GFOFFSET3D(u,-2,0,0) + KRANC_GFOFFSET3D(u,2,0,0))*INV(dyi))*INV(dzi)))) #else # define DissfdOrder2(u) (DissfdOrder2_impl(u,p1odxdydz,cdj,cdk)) static CCTK_REAL DissfdOrder2_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1odxdydz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; static CCTK_REAL DissfdOrder2_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1odxdydz, ptrdiff_t const cdj, ptrdiff_t const cdk) { ptrdiff_t const cdi=sizeof(CCTK_REAL); - return -(p1odxdydz*diss*((6*KRANC_GFOFFSET3D(u,0,0,0) - 4*(KRANC_GFOFFSET3D(u,0,0,-1) + KRANC_GFOFFSET3D(u,0,0,1)) + KRANC_GFOFFSET3D(u,0,0,-2) + KRANC_GFOFFSET3D(u,0,0,2))*INV(dxi)*INV(dyi) + ((6*KRANC_GFOFFSET3D(u,0,0,0) - 4*(KRANC_GFOFFSET3D(u,0,-1,0) + KRANC_GFOFFSET3D(u,0,1,0)) + KRANC_GFOFFSET3D(u,0,-2,0) + KRANC_GFOFFSET3D(u,0,2,0))*INV(dxi) + (6*KRANC_GFOFFSET3D(u,0,0,0) - 4*(KRANC_GFOFFSET3D(u,-1,0,0) + KRANC_GFOFFSET3D(u,1,0,0)) + KRANC_GFOFFSET3D(u,-2,0,0) + KRANC_GFOFFSET3D(u,2,0,0))*INV(dyi))*INV(dzi))); + return -(p1odxdydz*diss*((6*KRANC_GFOFFSET3D(u,0,0,0) - 4*(KRANC_GFOFFSET3D(u,0,0,-1) + KRANC_GFOFFSET3D(u,0,0,1)) + KRANC_GFOFFSET3D(u,0,0,-2) + KRANC_GFOFFSET3D(u,0,0,2))*INV(dxi*dyi) + ((6*KRANC_GFOFFSET3D(u,0,0,0) - 4*(KRANC_GFOFFSET3D(u,0,-1,0) + KRANC_GFOFFSET3D(u,0,1,0)) + KRANC_GFOFFSET3D(u,0,-2,0) + KRANC_GFOFFSET3D(u,0,2,0))*INV(dxi) + (6*KRANC_GFOFFSET3D(u,0,0,0) - 4*(KRANC_GFOFFSET3D(u,-1,0,0) + KRANC_GFOFFSET3D(u,1,0,0)) + KRANC_GFOFFSET3D(u,-2,0,0) + KRANC_GFOFFSET3D(u,2,0,0))*INV(dyi))*INV(dzi))); } #endif #ifndef KRANC_DIFF_FUNCTIONS -# define DissfdOrder4(u) (p1odxdydz*diss*((-20*KRANC_GFOFFSET3D(u,0,0,0) + 15*(KRANC_GFOFFSET3D(u,0,0,-1) + KRANC_GFOFFSET3D(u,0,0,1)) - 6*(KRANC_GFOFFSET3D(u,0,0,-2) + KRANC_GFOFFSET3D(u,0,0,2)) + KRANC_GFOFFSET3D(u,0,0,-3) + KRANC_GFOFFSET3D(u,0,0,3))*INV(dxi)*INV(dyi) + ((15*(KRANC_GFOFFSET3D(u,0,-1,0) + KRANC_GFOFFSET3D(u,0,1,0)) - 6*(KRANC_GFOFFSET3D(u,0,-2,0) + KRANC_GFOFFSET3D(u,0,2,0)) + KRANC_GFOFFSET3D(u,0,-3,0) + KRANC_GFOFFSET3D(u,0,3,0))*INV(dxi) + (15*(KRANC_GFOFFSET3D(u,-1,0,0) + KRANC_GFOFFSET3D(u,1,0,0)) - 6*(KRANC_GFOFFSET3D(u,-2,0,0) + KRANC_GFOFFSET3D(u,2,0,0)) + KRANC_GFOFFSET3D(u,-3,0,0) + KRANC_GFOFFSET3D(u,3,0,0))*INV(dyi) - 20*KRANC_GFOFFSET3D(u,0,0,0)*(INV(dxi) + INV(dyi)))*INV(dzi))) +# define DissfdOrder4(u) (p1odxdydz*diss*((-20*KRANC_GFOFFSET3D(u,0,0,0) + 15*(KRANC_GFOFFSET3D(u,0,0,-1) + KRANC_GFOFFSET3D(u,0,0,1)) - 6*(KRANC_GFOFFSET3D(u,0,0,-2) + KRANC_GFOFFSET3D(u,0,0,2)) + KRANC_GFOFFSET3D(u,0,0,-3) + KRANC_GFOFFSET3D(u,0,0,3))*INV(dxi*dyi) + ((15*(KRANC_GFOFFSET3D(u,0,-1,0) + KRANC_GFOFFSET3D(u,0,1,0)) - 6*(KRANC_GFOFFSET3D(u,0,-2,0) + KRANC_GFOFFSET3D(u,0,2,0)) + KRANC_GFOFFSET3D(u,0,-3,0) + KRANC_GFOFFSET3D(u,0,3,0))*INV(dxi) + (15*(KRANC_GFOFFSET3D(u,-1,0,0) + KRANC_GFOFFSET3D(u,1,0,0)) - 6*(KRANC_GFOFFSET3D(u,-2,0,0) + KRANC_GFOFFSET3D(u,2,0,0)) + KRANC_GFOFFSET3D(u,-3,0,0) + KRANC_GFOFFSET3D(u,3,0,0))*INV(dyi) - 20*KRANC_GFOFFSET3D(u,0,0,0)*(INV(dxi) + INV(dyi)))*INV(dzi))) #else # define DissfdOrder4(u) (DissfdOrder4_impl(u,p1odxdydz,cdj,cdk)) static CCTK_REAL DissfdOrder4_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1odxdydz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; static CCTK_REAL DissfdOrder4_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1odxdydz, ptrdiff_t const cdj, ptrdiff_t const cdk) { ptrdiff_t const cdi=sizeof(CCTK_REAL); - return p1odxdydz*diss*((-20*KRANC_GFOFFSET3D(u,0,0,0) + 15*(KRANC_GFOFFSET3D(u,0,0,-1) + KRANC_GFOFFSET3D(u,0,0,1)) - 6*(KRANC_GFOFFSET3D(u,0,0,-2) + KRANC_GFOFFSET3D(u,0,0,2)) + KRANC_GFOFFSET3D(u,0,0,-3) + KRANC_GFOFFSET3D(u,0,0,3))*INV(dxi)*INV(dyi) + ((15*(KRANC_GFOFFSET3D(u,0,-1,0) + KRANC_GFOFFSET3D(u,0,1,0)) - 6*(KRANC_GFOFFSET3D(u,0,-2,0) + KRANC_GFOFFSET3D(u,0,2,0)) + KRANC_GFOFFSET3D(u,0,-3,0) + KRANC_GFOFFSET3D(u,0,3,0))*INV(dxi) + (15*(KRANC_GFOFFSET3D(u,-1,0,0) + KRANC_GFOFFSET3D(u,1,0,0)) - 6*(KRANC_GFOFFSET3D(u,-2,0,0) + KRANC_GFOFFSET3D(u,2,0,0)) + KRANC_GFOFFSET3D(u,-3,0,0) + KRANC_GFOFFSET3D(u,3,0,0))*INV(dyi) - 20*KRANC_GFOFFSET3D(u,0,0,0)*(INV(dxi) + INV(dyi)))*INV(dzi)); + return p1odxdydz*diss*((-20*KRANC_GFOFFSET3D(u,0,0,0) + 15*(KRANC_GFOFFSET3D(u,0,0,-1) + KRANC_GFOFFSET3D(u,0,0,1)) - 6*(KRANC_GFOFFSET3D(u,0,0,-2) + KRANC_GFOFFSET3D(u,0,0,2)) + KRANC_GFOFFSET3D(u,0,0,-3) + KRANC_GFOFFSET3D(u,0,0,3))*INV(dxi*dyi) + ((15*(KRANC_GFOFFSET3D(u,0,-1,0) + KRANC_GFOFFSET3D(u,0,1,0)) - 6*(KRANC_GFOFFSET3D(u,0,-2,0) + KRANC_GFOFFSET3D(u,0,2,0)) + KRANC_GFOFFSET3D(u,0,-3,0) + KRANC_GFOFFSET3D(u,0,3,0))*INV(dxi) + (15*(KRANC_GFOFFSET3D(u,-1,0,0) + KRANC_GFOFFSET3D(u,1,0,0)) - 6*(KRANC_GFOFFSET3D(u,-2,0,0) + KRANC_GFOFFSET3D(u,2,0,0)) + KRANC_GFOFFSET3D(u,-3,0,0) + KRANC_GFOFFSET3D(u,3,0,0))*INV(dyi) - 20*KRANC_GFOFFSET3D(u,0,0,0)*(INV(dxi) + INV(dyi)))*INV(dzi)); } #endif @@ -526,111 +526,3 @@ static CCTK_REAL PDplus3_impl(CCTK_REAL const* restrict const u, CCTK_REAL const } #endif -#ifndef KRANC_DIFF_FUNCTIONS -# define DiffPlus1(u) ((-KRANC_GFOFFSET3D(u,0,0,0) + KRANC_GFOFFSET3D(u,1,0,0))*p1o1) -#else -# define DiffPlus1(u) (DiffPlus1_impl(u,p1o1,cdj,cdk)) -static CCTK_REAL DiffPlus1_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o1, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL DiffPlus1_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o1, ptrdiff_t const cdj, ptrdiff_t const cdk) -{ - ptrdiff_t const cdi=sizeof(CCTK_REAL); - return (-KRANC_GFOFFSET3D(u,0,0,0) + KRANC_GFOFFSET3D(u,1,0,0))*p1o1; -} -#endif - -#ifndef KRANC_DIFF_FUNCTIONS -# define DiffPlus2(u) ((-KRANC_GFOFFSET3D(u,0,0,0) + KRANC_GFOFFSET3D(u,0,1,0))*p1o1) -#else -# define DiffPlus2(u) (DiffPlus2_impl(u,p1o1,cdj,cdk)) -static CCTK_REAL DiffPlus2_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o1, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL DiffPlus2_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o1, ptrdiff_t const cdj, ptrdiff_t const cdk) -{ - ptrdiff_t const cdi=sizeof(CCTK_REAL); - return (-KRANC_GFOFFSET3D(u,0,0,0) + KRANC_GFOFFSET3D(u,0,1,0))*p1o1; -} -#endif - -#ifndef KRANC_DIFF_FUNCTIONS -# define DiffPlus3(u) ((-KRANC_GFOFFSET3D(u,0,0,0) + KRANC_GFOFFSET3D(u,0,0,1))*p1o1) -#else -# define DiffPlus3(u) (DiffPlus3_impl(u,p1o1,cdj,cdk)) -static CCTK_REAL DiffPlus3_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o1, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL DiffPlus3_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o1, ptrdiff_t const cdj, ptrdiff_t const cdk) -{ - ptrdiff_t const cdi=sizeof(CCTK_REAL); - return (-KRANC_GFOFFSET3D(u,0,0,0) + KRANC_GFOFFSET3D(u,0,0,1))*p1o1; -} -#endif - -#ifndef KRANC_DIFF_FUNCTIONS -# define DiffMinus1(u) ((KRANC_GFOFFSET3D(u,0,0,0) - KRANC_GFOFFSET3D(u,-1,0,0))*p1o1) -#else -# define DiffMinus1(u) (DiffMinus1_impl(u,p1o1,cdj,cdk)) -static CCTK_REAL DiffMinus1_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o1, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL DiffMinus1_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o1, ptrdiff_t const cdj, ptrdiff_t const cdk) -{ - ptrdiff_t const cdi=sizeof(CCTK_REAL); - return (KRANC_GFOFFSET3D(u,0,0,0) - KRANC_GFOFFSET3D(u,-1,0,0))*p1o1; -} -#endif - -#ifndef KRANC_DIFF_FUNCTIONS -# define DiffMinus2(u) ((KRANC_GFOFFSET3D(u,0,0,0) - KRANC_GFOFFSET3D(u,0,-1,0))*p1o1) -#else -# define DiffMinus2(u) (DiffMinus2_impl(u,p1o1,cdj,cdk)) -static CCTK_REAL DiffMinus2_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o1, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL DiffMinus2_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o1, ptrdiff_t const cdj, ptrdiff_t const cdk) -{ - ptrdiff_t const cdi=sizeof(CCTK_REAL); - return (KRANC_GFOFFSET3D(u,0,0,0) - KRANC_GFOFFSET3D(u,0,-1,0))*p1o1; -} -#endif - -#ifndef KRANC_DIFF_FUNCTIONS -# define DiffMinus3(u) ((KRANC_GFOFFSET3D(u,0,0,0) - KRANC_GFOFFSET3D(u,0,0,-1))*p1o1) -#else -# define DiffMinus3(u) (DiffMinus3_impl(u,p1o1,cdj,cdk)) -static CCTK_REAL DiffMinus3_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o1, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL DiffMinus3_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o1, ptrdiff_t const cdj, ptrdiff_t const cdk) -{ - ptrdiff_t const cdi=sizeof(CCTK_REAL); - return (KRANC_GFOFFSET3D(u,0,0,0) - KRANC_GFOFFSET3D(u,0,0,-1))*p1o1; -} -#endif - -#ifndef KRANC_DIFF_FUNCTIONS -# define ShiftMinus1(u) (KRANC_GFOFFSET3D(u,-1,0,0)*p1o1) -#else -# define ShiftMinus1(u) (ShiftMinus1_impl(u,p1o1,cdj,cdk)) -static CCTK_REAL ShiftMinus1_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o1, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL ShiftMinus1_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o1, ptrdiff_t const cdj, ptrdiff_t const cdk) -{ - ptrdiff_t const cdi=sizeof(CCTK_REAL); - return KRANC_GFOFFSET3D(u,-1,0,0)*p1o1; -} -#endif - -#ifndef KRANC_DIFF_FUNCTIONS -# define ShiftMinus2(u) (KRANC_GFOFFSET3D(u,0,-1,0)*p1o1) -#else -# define ShiftMinus2(u) (ShiftMinus2_impl(u,p1o1,cdj,cdk)) -static CCTK_REAL ShiftMinus2_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o1, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL ShiftMinus2_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o1, ptrdiff_t const cdj, ptrdiff_t const cdk) -{ - ptrdiff_t const cdi=sizeof(CCTK_REAL); - return KRANC_GFOFFSET3D(u,0,-1,0)*p1o1; -} -#endif - -#ifndef KRANC_DIFF_FUNCTIONS -# define ShiftMinus3(u) (KRANC_GFOFFSET3D(u,0,0,-1)*p1o1) -#else -# define ShiftMinus3(u) (ShiftMinus3_impl(u,p1o1,cdj,cdk)) -static CCTK_REAL ShiftMinus3_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o1, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; -static CCTK_REAL ShiftMinus3_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o1, ptrdiff_t const cdj, ptrdiff_t const cdk) -{ - ptrdiff_t const cdi=sizeof(CCTK_REAL); - return KRANC_GFOFFSET3D(u,0,0,-1)*p1o1; -} -#endif - diff --git a/Examples/Wave/src/make.code.defn b/Examples/Wave/src/make.code.defn index 4dcd739..48fb287 100644 --- a/Examples/Wave/src/make.code.defn +++ b/Examples/Wave/src/make.code.defn @@ -1,3 +1,3 @@ # File produced by Kranc -SRCS = Startup.cc RegisterMoL.cc RegisterSymmetries.cc wave_exact_sine.cc wave_exact_gaussian.cc wave_import_exact.cc wave_evolve.cc wave_calc_errors.cc wave_calc_norm.cc wave_boundary.cc Boundaries.cc +SRCS = Startup.cc RegisterSymmetries.cc RegisterMoL.cc wave_exact_sine.cc wave_exact_gaussian.cc wave_import_exact.cc wave_evolve.cc wave_calc_errors.cc wave_calc_norm.cc wave_boundary.cc Boundaries.cc diff --git a/Examples/Wave/src/wave_boundary.cc b/Examples/Wave/src/wave_boundary.cc index 2ec1e2c..3ff86ec 100644 --- a/Examples/Wave/src/wave_boundary.cc +++ b/Examples/Wave/src/wave_boundary.cc @@ -17,10 +17,10 @@ /* Define macros used in calculations */ #define INITVALUE (42) -#define QAD(x) (SQR(SQR(x))) -#define INV(x) ((1.0) / (x)) +#define INV(x) ((CCTK_REAL)1.0 / (x)) #define SQR(x) ((x) * (x)) -#define CUB(x) ((x) * (x) * (x)) +#define CUB(x) ((x) * SQR(x)) +#define QAD(x) (SQR(SQR(x))) extern "C" void wave_boundary_SelectBCs(CCTK_ARGUMENTS) { @@ -40,8 +40,6 @@ static void wave_boundary_Body(cGH const * restrict const cctkGH, int const dir, DECLARE_CCTK_PARAMETERS; - /* Declare finite differencing variables */ - /* Include user-supplied include files */ /* Initialise finite differencing variables */ @@ -69,25 +67,24 @@ static void wave_boundary_Body(cGH const * restrict const cctkGH, int const dir, CCTK_REAL const hdzi = 0.5 * dzi; /* Initialize predefined quantities */ - CCTK_REAL const p1o1 = 1; CCTK_REAL const p1o12dx = 0.0833333333333333333333333333333*INV(dx); CCTK_REAL const p1o12dy = 0.0833333333333333333333333333333*INV(dy); CCTK_REAL const p1o12dz = 0.0833333333333333333333333333333*INV(dz); - CCTK_REAL const p1o144dxdy = 0.00694444444444444444444444444444*INV(dx)*INV(dy); - CCTK_REAL const p1o144dxdz = 0.00694444444444444444444444444444*INV(dx)*INV(dz); - CCTK_REAL const p1o144dydz = 0.00694444444444444444444444444444*INV(dy)*INV(dz); + CCTK_REAL const p1o144dxdy = 0.00694444444444444444444444444444*INV(dx*dy); + CCTK_REAL const p1o144dxdz = 0.00694444444444444444444444444444*INV(dx*dz); + CCTK_REAL const p1o144dydz = 0.00694444444444444444444444444444*INV(dy*dz); CCTK_REAL const p1o2dx = 0.5*INV(dx); CCTK_REAL const p1o2dy = 0.5*INV(dy); CCTK_REAL const p1o2dz = 0.5*INV(dz); CCTK_REAL const p1o4dx2 = 0.25*INV(SQR(dx)); - CCTK_REAL const p1o4dxdy = 0.25*INV(dx)*INV(dy); - CCTK_REAL const p1o4dxdz = 0.25*INV(dx)*INV(dz); + CCTK_REAL const p1o4dxdy = 0.25*INV(dx*dy); + CCTK_REAL const p1o4dxdz = 0.25*INV(dx*dz); CCTK_REAL const p1o4dy2 = 0.25*INV(SQR(dy)); - CCTK_REAL const p1o4dydz = 0.25*INV(dy)*INV(dz); + CCTK_REAL const p1o4dydz = 0.25*INV(dy*dz); CCTK_REAL const p1o4dz2 = 0.25*INV(SQR(dz)); CCTK_REAL const p1odx = INV(dx); CCTK_REAL const p1odx2 = INV(SQR(dx)); - CCTK_REAL const p1odxdydz = INV(dx)*INV(dy)*INV(dz); + CCTK_REAL const p1odxdydz = INV(dx*dy*dz); CCTK_REAL const p1ody = INV(dy); CCTK_REAL const p1ody2 = INV(SQR(dy)); CCTK_REAL const p1odz = INV(dz); @@ -109,9 +106,9 @@ static void wave_boundary_Body(cGH const * restrict const cctkGH, int const dir, /* Loop over the grid points */ #pragma omp parallel - CCTK_LOOP3 (wave_boundary, + CCTK_LOOP3(wave_boundary, i,j,k, imin[0],imin[1],imin[2], imax[0],imax[1],imax[2], - cctk_lsh[0],cctk_lsh[1],cctk_lsh[2]) + cctk_ash[0],cctk_ash[1],cctk_ash[2]) { ptrdiff_t const index = di*i + dj*j + dk*k; @@ -145,11 +142,11 @@ static void wave_boundary_Body(cGH const * restrict const cctkGH, int const dir, CCTK_REAL norm3 = -(zL*INV(rL)); - ptrdiff_t dir1 = Sign(norm1); + ptrdiff_t dir1 = isgn(norm1); - ptrdiff_t dir2 = Sign(norm2); + ptrdiff_t dir2 = isgn(norm2); - ptrdiff_t dir3 = Sign(norm3); + ptrdiff_t dir3 = isgn(norm3); CCTK_REAL phirhsL = PDonesided2nd1(&phi[index])*norm1 + PDonesided2nd2(&phi[index])*norm2 + @@ -163,7 +160,7 @@ static void wave_boundary_Body(cGH const * restrict const cctkGH, int const dir, phirhs[index] = phirhsL; pirhs[index] = pirhsL; } - CCTK_ENDLOOP3 (wave_boundary); + CCTK_ENDLOOP3(wave_boundary); } extern "C" void wave_boundary(CCTK_ARGUMENTS) @@ -182,7 +179,10 @@ extern "C" void wave_boundary(CCTK_ARGUMENTS) return; } - const char *groups[] = {"Wave::evolved","Wave::evolvedrhs","grid::coordinates"}; + const char *const groups[] = { + "Wave::evolved", + "Wave::evolvedrhs", + "grid::coordinates"}; GenericFD_AssertGroupStorage(cctkGH, "wave_boundary", 3, groups); switch(fdOrder) @@ -196,7 +196,7 @@ extern "C" void wave_boundary(CCTK_ARGUMENTS) break; } - GenericFD_LoopOverBoundary(cctkGH, &wave_boundary_Body); + GenericFD_LoopOverBoundary(cctkGH, wave_boundary_Body); if (verbose > 1) { diff --git a/Examples/Wave/src/wave_calc_errors.cc b/Examples/Wave/src/wave_calc_errors.cc index a133c1a..1547953 100644 --- a/Examples/Wave/src/wave_calc_errors.cc +++ b/Examples/Wave/src/wave_calc_errors.cc @@ -17,10 +17,10 @@ /* Define macros used in calculations */ #define INITVALUE (42) -#define QAD(x) (SQR(SQR(x))) -#define INV(x) ((1.0) / (x)) +#define INV(x) ((CCTK_REAL)1.0 / (x)) #define SQR(x) ((x) * (x)) -#define CUB(x) ((x) * (x) * (x)) +#define CUB(x) ((x) * SQR(x)) +#define QAD(x) (SQR(SQR(x))) static void wave_calc_errors_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[]) { @@ -28,8 +28,6 @@ static void wave_calc_errors_Body(cGH const * restrict const cctkGH, int const d DECLARE_CCTK_PARAMETERS; - /* Declare finite differencing variables */ - /* Include user-supplied include files */ /* Initialise finite differencing variables */ @@ -57,25 +55,24 @@ static void wave_calc_errors_Body(cGH const * restrict const cctkGH, int const d CCTK_REAL const hdzi = 0.5 * dzi; /* Initialize predefined quantities */ - CCTK_REAL const p1o1 = 1; CCTK_REAL const p1o12dx = 0.0833333333333333333333333333333*INV(dx); CCTK_REAL const p1o12dy = 0.0833333333333333333333333333333*INV(dy); CCTK_REAL const p1o12dz = 0.0833333333333333333333333333333*INV(dz); - CCTK_REAL const p1o144dxdy = 0.00694444444444444444444444444444*INV(dx)*INV(dy); - CCTK_REAL const p1o144dxdz = 0.00694444444444444444444444444444*INV(dx)*INV(dz); - CCTK_REAL const p1o144dydz = 0.00694444444444444444444444444444*INV(dy)*INV(dz); + CCTK_REAL const p1o144dxdy = 0.00694444444444444444444444444444*INV(dx*dy); + CCTK_REAL const p1o144dxdz = 0.00694444444444444444444444444444*INV(dx*dz); + CCTK_REAL const p1o144dydz = 0.00694444444444444444444444444444*INV(dy*dz); CCTK_REAL const p1o2dx = 0.5*INV(dx); CCTK_REAL const p1o2dy = 0.5*INV(dy); CCTK_REAL const p1o2dz = 0.5*INV(dz); CCTK_REAL const p1o4dx2 = 0.25*INV(SQR(dx)); - CCTK_REAL const p1o4dxdy = 0.25*INV(dx)*INV(dy); - CCTK_REAL const p1o4dxdz = 0.25*INV(dx)*INV(dz); + CCTK_REAL const p1o4dxdy = 0.25*INV(dx*dy); + CCTK_REAL const p1o4dxdz = 0.25*INV(dx*dz); CCTK_REAL const p1o4dy2 = 0.25*INV(SQR(dy)); - CCTK_REAL const p1o4dydz = 0.25*INV(dy)*INV(dz); + CCTK_REAL const p1o4dydz = 0.25*INV(dy*dz); CCTK_REAL const p1o4dz2 = 0.25*INV(SQR(dz)); CCTK_REAL const p1odx = INV(dx); CCTK_REAL const p1odx2 = INV(SQR(dx)); - CCTK_REAL const p1odxdydz = INV(dx)*INV(dy)*INV(dz); + CCTK_REAL const p1odxdydz = INV(dx*dy*dz); CCTK_REAL const p1ody = INV(dy); CCTK_REAL const p1ody2 = INV(SQR(dy)); CCTK_REAL const p1odz = INV(dz); @@ -97,9 +94,9 @@ static void wave_calc_errors_Body(cGH const * restrict const cctkGH, int const d /* Loop over the grid points */ #pragma omp parallel - CCTK_LOOP3 (wave_calc_errors, + CCTK_LOOP3(wave_calc_errors, i,j,k, imin[0],imin[1],imin[2], imax[0],imax[1],imax[2], - cctk_lsh[0],cctk_lsh[1],cctk_lsh[2]) + cctk_ash[0],cctk_ash[1],cctk_ash[2]) { ptrdiff_t const index = di*i + dj*j + dk*k; @@ -133,7 +130,7 @@ static void wave_calc_errors_Body(cGH const * restrict const cctkGH, int const d phiError[index] = phiErrorL; piError[index] = piErrorL; } - CCTK_ENDLOOP3 (wave_calc_errors); + CCTK_ENDLOOP3(wave_calc_errors); } extern "C" void wave_calc_errors(CCTK_ARGUMENTS) @@ -152,7 +149,10 @@ extern "C" void wave_calc_errors(CCTK_ARGUMENTS) return; } - const char *groups[] = {"Wave::errors","Wave::evolved","Wave::exact"}; + const char *const groups[] = { + "Wave::errors", + "Wave::evolved", + "Wave::exact"}; GenericFD_AssertGroupStorage(cctkGH, "wave_calc_errors", 3, groups); switch(fdOrder) @@ -164,7 +164,7 @@ extern "C" void wave_calc_errors(CCTK_ARGUMENTS) break; } - GenericFD_LoopOverEverything(cctkGH, &wave_calc_errors_Body); + GenericFD_LoopOverEverything(cctkGH, wave_calc_errors_Body); if (verbose > 1) { diff --git a/Examples/Wave/src/wave_calc_norm.cc b/Examples/Wave/src/wave_calc_norm.cc index 7e15d73..58d8de3 100644 --- a/Examples/Wave/src/wave_calc_norm.cc +++ b/Examples/Wave/src/wave_calc_norm.cc @@ -17,10 +17,10 @@ /* Define macros used in calculations */ #define INITVALUE (42) -#define QAD(x) (SQR(SQR(x))) -#define INV(x) ((1.0) / (x)) +#define INV(x) ((CCTK_REAL)1.0 / (x)) #define SQR(x) ((x) * (x)) -#define CUB(x) ((x) * (x) * (x)) +#define CUB(x) ((x) * SQR(x)) +#define QAD(x) (SQR(SQR(x))) extern "C" void wave_calc_norm_SelectBCs(CCTK_ARGUMENTS) { @@ -40,8 +40,6 @@ static void wave_calc_norm_Body(cGH const * restrict const cctkGH, int const dir DECLARE_CCTK_PARAMETERS; - /* Declare finite differencing variables */ - /* Include user-supplied include files */ /* Initialise finite differencing variables */ @@ -69,25 +67,24 @@ static void wave_calc_norm_Body(cGH const * restrict const cctkGH, int const dir CCTK_REAL const hdzi = 0.5 * dzi; /* Initialize predefined quantities */ - CCTK_REAL const p1o1 = 1; CCTK_REAL const p1o12dx = 0.0833333333333333333333333333333*INV(dx); CCTK_REAL const p1o12dy = 0.0833333333333333333333333333333*INV(dy); CCTK_REAL const p1o12dz = 0.0833333333333333333333333333333*INV(dz); - CCTK_REAL const p1o144dxdy = 0.00694444444444444444444444444444*INV(dx)*INV(dy); - CCTK_REAL const p1o144dxdz = 0.00694444444444444444444444444444*INV(dx)*INV(dz); - CCTK_REAL const p1o144dydz = 0.00694444444444444444444444444444*INV(dy)*INV(dz); + CCTK_REAL const p1o144dxdy = 0.00694444444444444444444444444444*INV(dx*dy); + CCTK_REAL const p1o144dxdz = 0.00694444444444444444444444444444*INV(dx*dz); + CCTK_REAL const p1o144dydz = 0.00694444444444444444444444444444*INV(dy*dz); CCTK_REAL const p1o2dx = 0.5*INV(dx); CCTK_REAL const p1o2dy = 0.5*INV(dy); CCTK_REAL const p1o2dz = 0.5*INV(dz); CCTK_REAL const p1o4dx2 = 0.25*INV(SQR(dx)); - CCTK_REAL const p1o4dxdy = 0.25*INV(dx)*INV(dy); - CCTK_REAL const p1o4dxdz = 0.25*INV(dx)*INV(dz); + CCTK_REAL const p1o4dxdy = 0.25*INV(dx*dy); + CCTK_REAL const p1o4dxdz = 0.25*INV(dx*dz); CCTK_REAL const p1o4dy2 = 0.25*INV(SQR(dy)); - CCTK_REAL const p1o4dydz = 0.25*INV(dy)*INV(dz); + CCTK_REAL const p1o4dydz = 0.25*INV(dy*dz); CCTK_REAL const p1o4dz2 = 0.25*INV(SQR(dz)); CCTK_REAL const p1odx = INV(dx); CCTK_REAL const p1odx2 = INV(SQR(dx)); - CCTK_REAL const p1odxdydz = INV(dx)*INV(dy)*INV(dz); + CCTK_REAL const p1odxdydz = INV(dx*dy*dz); CCTK_REAL const p1ody = INV(dy); CCTK_REAL const p1ody2 = INV(SQR(dy)); CCTK_REAL const p1odz = INV(dz); @@ -109,9 +106,9 @@ static void wave_calc_norm_Body(cGH const * restrict const cctkGH, int const dir /* Loop over the grid points */ #pragma omp parallel - CCTK_LOOP3 (wave_calc_norm, + CCTK_LOOP3(wave_calc_norm, i,j,k, imin[0],imin[1],imin[2], imax[0],imax[1],imax[2], - cctk_lsh[0],cctk_lsh[1],cctk_lsh[2]) + cctk_ash[0],cctk_ash[1],cctk_ash[2]) { ptrdiff_t const index = di*i + dj*j + dk*k; @@ -164,7 +161,7 @@ static void wave_calc_norm_Body(cGH const * restrict const cctkGH, int const dir VDP[index] = VDPL; VL2[index] = VL2L; } - CCTK_ENDLOOP3 (wave_calc_norm); + CCTK_ENDLOOP3(wave_calc_norm); } extern "C" void wave_calc_norm(CCTK_ARGUMENTS) @@ -183,7 +180,10 @@ extern "C" void wave_calc_norm(CCTK_ARGUMENTS) return; } - const char *groups[] = {"Wave::errors","Wave::evolved","Wave::norms"}; + const char *const groups[] = { + "Wave::errors", + "Wave::evolved", + "Wave::norms"}; GenericFD_AssertGroupStorage(cctkGH, "wave_calc_norm", 3, groups); switch(fdOrder) @@ -197,7 +197,7 @@ extern "C" void wave_calc_norm(CCTK_ARGUMENTS) break; } - GenericFD_LoopOverInterior(cctkGH, &wave_calc_norm_Body); + GenericFD_LoopOverInterior(cctkGH, wave_calc_norm_Body); if (verbose > 1) { diff --git a/Examples/Wave/src/wave_evolve.cc b/Examples/Wave/src/wave_evolve.cc index 5c6314d..5cee251 100644 --- a/Examples/Wave/src/wave_evolve.cc +++ b/Examples/Wave/src/wave_evolve.cc @@ -17,10 +17,10 @@ /* Define macros used in calculations */ #define INITVALUE (42) -#define QAD(x) (SQR(SQR(x))) -#define INV(x) ((1.0) / (x)) +#define INV(x) ((CCTK_REAL)1.0 / (x)) #define SQR(x) ((x) * (x)) -#define CUB(x) ((x) * (x) * (x)) +#define CUB(x) ((x) * SQR(x)) +#define QAD(x) (SQR(SQR(x))) extern "C" void wave_evolve_SelectBCs(CCTK_ARGUMENTS) { @@ -40,8 +40,6 @@ static void wave_evolve_Body(cGH const * restrict const cctkGH, int const dir, i DECLARE_CCTK_PARAMETERS; - /* Declare finite differencing variables */ - /* Include user-supplied include files */ /* Initialise finite differencing variables */ @@ -69,25 +67,24 @@ static void wave_evolve_Body(cGH const * restrict const cctkGH, int const dir, i CCTK_REAL const hdzi = 0.5 * dzi; /* Initialize predefined quantities */ - CCTK_REAL const p1o1 = 1; CCTK_REAL const p1o12dx = 0.0833333333333333333333333333333*INV(dx); CCTK_REAL const p1o12dy = 0.0833333333333333333333333333333*INV(dy); CCTK_REAL const p1o12dz = 0.0833333333333333333333333333333*INV(dz); - CCTK_REAL const p1o144dxdy = 0.00694444444444444444444444444444*INV(dx)*INV(dy); - CCTK_REAL const p1o144dxdz = 0.00694444444444444444444444444444*INV(dx)*INV(dz); - CCTK_REAL const p1o144dydz = 0.00694444444444444444444444444444*INV(dy)*INV(dz); + CCTK_REAL const p1o144dxdy = 0.00694444444444444444444444444444*INV(dx*dy); + CCTK_REAL const p1o144dxdz = 0.00694444444444444444444444444444*INV(dx*dz); + CCTK_REAL const p1o144dydz = 0.00694444444444444444444444444444*INV(dy*dz); CCTK_REAL const p1o2dx = 0.5*INV(dx); CCTK_REAL const p1o2dy = 0.5*INV(dy); CCTK_REAL const p1o2dz = 0.5*INV(dz); CCTK_REAL const p1o4dx2 = 0.25*INV(SQR(dx)); - CCTK_REAL const p1o4dxdy = 0.25*INV(dx)*INV(dy); - CCTK_REAL const p1o4dxdz = 0.25*INV(dx)*INV(dz); + CCTK_REAL const p1o4dxdy = 0.25*INV(dx*dy); + CCTK_REAL const p1o4dxdz = 0.25*INV(dx*dz); CCTK_REAL const p1o4dy2 = 0.25*INV(SQR(dy)); - CCTK_REAL const p1o4dydz = 0.25*INV(dy)*INV(dz); + CCTK_REAL const p1o4dydz = 0.25*INV(dy*dz); CCTK_REAL const p1o4dz2 = 0.25*INV(SQR(dz)); CCTK_REAL const p1odx = INV(dx); CCTK_REAL const p1odx2 = INV(SQR(dx)); - CCTK_REAL const p1odxdydz = INV(dx)*INV(dy)*INV(dz); + CCTK_REAL const p1odxdydz = INV(dx*dy*dz); CCTK_REAL const p1ody = INV(dy); CCTK_REAL const p1ody2 = INV(SQR(dy)); CCTK_REAL const p1odz = INV(dz); @@ -109,9 +106,9 @@ static void wave_evolve_Body(cGH const * restrict const cctkGH, int const dir, i /* Loop over the grid points */ #pragma omp parallel - CCTK_LOOP3 (wave_evolve, + CCTK_LOOP3(wave_evolve, i,j,k, imin[0],imin[1],imin[2], imax[0],imax[1],imax[2], - cctk_lsh[0],cctk_lsh[1],cctk_lsh[2]) + cctk_ash[0],cctk_ash[1],cctk_ash[2]) { ptrdiff_t const index = di*i + dj*j + dk*k; @@ -153,7 +150,7 @@ static void wave_evolve_Body(cGH const * restrict const cctkGH, int const dir, i phirhs[index] = phirhsL; pirhs[index] = pirhsL; } - CCTK_ENDLOOP3 (wave_evolve); + CCTK_ENDLOOP3(wave_evolve); } extern "C" void wave_evolve(CCTK_ARGUMENTS) @@ -172,7 +169,9 @@ extern "C" void wave_evolve(CCTK_ARGUMENTS) return; } - const char *groups[] = {"Wave::evolved","Wave::evolvedrhs"}; + const char *const groups[] = { + "Wave::evolved", + "Wave::evolvedrhs"}; GenericFD_AssertGroupStorage(cctkGH, "wave_evolve", 2, groups); switch(fdOrder) @@ -186,7 +185,7 @@ extern "C" void wave_evolve(CCTK_ARGUMENTS) break; } - GenericFD_LoopOverInterior(cctkGH, &wave_evolve_Body); + GenericFD_LoopOverInterior(cctkGH, wave_evolve_Body); if (verbose > 1) { diff --git a/Examples/Wave/src/wave_exact_gaussian.cc b/Examples/Wave/src/wave_exact_gaussian.cc index ed37143..82c1bc7 100644 --- a/Examples/Wave/src/wave_exact_gaussian.cc +++ b/Examples/Wave/src/wave_exact_gaussian.cc @@ -17,10 +17,10 @@ /* Define macros used in calculations */ #define INITVALUE (42) -#define QAD(x) (SQR(SQR(x))) -#define INV(x) ((1.0) / (x)) +#define INV(x) ((CCTK_REAL)1.0 / (x)) #define SQR(x) ((x) * (x)) -#define CUB(x) ((x) * (x) * (x)) +#define CUB(x) ((x) * SQR(x)) +#define QAD(x) (SQR(SQR(x))) static void wave_exact_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[]) { @@ -28,8 +28,6 @@ static void wave_exact_gaussian_Body(cGH const * restrict const cctkGH, int cons DECLARE_CCTK_PARAMETERS; - /* Declare finite differencing variables */ - /* Include user-supplied include files */ /* Initialise finite differencing variables */ @@ -57,25 +55,24 @@ static void wave_exact_gaussian_Body(cGH const * restrict const cctkGH, int cons CCTK_REAL const hdzi = 0.5 * dzi; /* Initialize predefined quantities */ - CCTK_REAL const p1o1 = 1; CCTK_REAL const p1o12dx = 0.0833333333333333333333333333333*INV(dx); CCTK_REAL const p1o12dy = 0.0833333333333333333333333333333*INV(dy); CCTK_REAL const p1o12dz = 0.0833333333333333333333333333333*INV(dz); - CCTK_REAL const p1o144dxdy = 0.00694444444444444444444444444444*INV(dx)*INV(dy); - CCTK_REAL const p1o144dxdz = 0.00694444444444444444444444444444*INV(dx)*INV(dz); - CCTK_REAL const p1o144dydz = 0.00694444444444444444444444444444*INV(dy)*INV(dz); + CCTK_REAL const p1o144dxdy = 0.00694444444444444444444444444444*INV(dx*dy); + CCTK_REAL const p1o144dxdz = 0.00694444444444444444444444444444*INV(dx*dz); + CCTK_REAL const p1o144dydz = 0.00694444444444444444444444444444*INV(dy*dz); CCTK_REAL const p1o2dx = 0.5*INV(dx); CCTK_REAL const p1o2dy = 0.5*INV(dy); CCTK_REAL const p1o2dz = 0.5*INV(dz); CCTK_REAL const p1o4dx2 = 0.25*INV(SQR(dx)); - CCTK_REAL const p1o4dxdy = 0.25*INV(dx)*INV(dy); - CCTK_REAL const p1o4dxdz = 0.25*INV(dx)*INV(dz); + CCTK_REAL const p1o4dxdy = 0.25*INV(dx*dy); + CCTK_REAL const p1o4dxdz = 0.25*INV(dx*dz); CCTK_REAL const p1o4dy2 = 0.25*INV(SQR(dy)); - CCTK_REAL const p1o4dydz = 0.25*INV(dy)*INV(dz); + CCTK_REAL const p1o4dydz = 0.25*INV(dy*dz); CCTK_REAL const p1o4dz2 = 0.25*INV(SQR(dz)); CCTK_REAL const p1odx = INV(dx); CCTK_REAL const p1odx2 = INV(SQR(dx)); - CCTK_REAL const p1odxdydz = INV(dx)*INV(dy)*INV(dz); + CCTK_REAL const p1odxdydz = INV(dx*dy*dz); CCTK_REAL const p1ody = INV(dy); CCTK_REAL const p1ody2 = INV(SQR(dy)); CCTK_REAL const p1odz = INV(dz); @@ -97,9 +94,9 @@ static void wave_exact_gaussian_Body(cGH const * restrict const cctkGH, int cons /* Loop over the grid points */ #pragma omp parallel - CCTK_LOOP3 (wave_exact_gaussian, + CCTK_LOOP3(wave_exact_gaussian, i,j,k, imin[0],imin[1],imin[2], imax[0],imax[1],imax[2], - cctk_lsh[0],cctk_lsh[1],cctk_lsh[2]) + cctk_ash[0],cctk_ash[1],cctk_ash[2]) { ptrdiff_t const index = di*i + dj*j + dk*k; @@ -124,26 +121,26 @@ static void wave_exact_gaussian_Body(cGH const * restrict const cctkGH, int cons /* Calculate temporaries and grid functions */ CCTK_REAL rEps = pow(1.e-24 + QAD(rL),0.25); - CCTK_REAL phiExactL = (-(CUB(-rL + cctk_time + - ToReal(t0))*exp(-(INV(SQR(ToReal(nSigma)))*SQR(-rL + cctk_time + - ToReal(t0))))) + CUB(rL + cctk_time + - ToReal(t0))*exp(-(INV(SQR(ToReal(nSigma)))*SQR(rL + cctk_time + + CCTK_REAL phiExactL = (-(CUB(-rL + t + + ToReal(t0))*exp(-(INV(SQR(ToReal(nSigma)))*SQR(-rL + t + + ToReal(t0))))) + CUB(rL + t + + ToReal(t0))*exp(-(INV(SQR(ToReal(nSigma)))*SQR(rL + t + ToReal(t0)))))*INV(rEps); CCTK_REAL piExactL = INV(rEps)*(INV(SQR(ToReal(nSigma)))*(2*exp(-(INV(SQR(ToReal(nSigma)))*SQR(-rL - + cctk_time + ToReal(t0))))*QAD(-rL + cctk_time + ToReal(t0)) - - 2*exp(-(INV(SQR(ToReal(nSigma)))*SQR(rL + cctk_time + ToReal(t0))))*QAD(rL - + cctk_time + ToReal(t0))) - 3*exp(-(INV(SQR(ToReal(nSigma)))*SQR(-rL + cctk_time + - ToReal(t0))))*SQR(-rL + cctk_time + ToReal(t0)) + - 3*exp(-(INV(SQR(ToReal(nSigma)))*SQR(rL + cctk_time + ToReal(t0))))*SQR(rL - + cctk_time + ToReal(t0))); + + t + ToReal(t0))))*QAD(-rL + t + ToReal(t0)) - + 2*exp(-(INV(SQR(ToReal(nSigma)))*SQR(rL + t + ToReal(t0))))*QAD(rL + + t + ToReal(t0))) - 3*exp(-(INV(SQR(ToReal(nSigma)))*SQR(-rL + t + + ToReal(t0))))*SQR(-rL + t + ToReal(t0)) + + 3*exp(-(INV(SQR(ToReal(nSigma)))*SQR(rL + t + ToReal(t0))))*SQR(rL + + t + ToReal(t0))); /* Copy local copies back to grid functions */ phiExact[index] = phiExactL; piExact[index] = piExactL; } - CCTK_ENDLOOP3 (wave_exact_gaussian); + CCTK_ENDLOOP3(wave_exact_gaussian); } extern "C" void wave_exact_gaussian(CCTK_ARGUMENTS) @@ -162,7 +159,9 @@ extern "C" void wave_exact_gaussian(CCTK_ARGUMENTS) return; } - const char *groups[] = {"Wave::exact","grid::coordinates"}; + const char *const groups[] = { + "Wave::exact", + "grid::coordinates"}; GenericFD_AssertGroupStorage(cctkGH, "wave_exact_gaussian", 2, groups); switch(fdOrder) @@ -174,7 +173,7 @@ extern "C" void wave_exact_gaussian(CCTK_ARGUMENTS) break; } - GenericFD_LoopOverEverything(cctkGH, &wave_exact_gaussian_Body); + GenericFD_LoopOverEverything(cctkGH, wave_exact_gaussian_Body); if (verbose > 1) { diff --git a/Examples/Wave/src/wave_exact_sine.cc b/Examples/Wave/src/wave_exact_sine.cc index 78c4251..3f6dc52 100644 --- a/Examples/Wave/src/wave_exact_sine.cc +++ b/Examples/Wave/src/wave_exact_sine.cc @@ -17,10 +17,10 @@ /* Define macros used in calculations */ #define INITVALUE (42) -#define QAD(x) (SQR(SQR(x))) -#define INV(x) ((1.0) / (x)) +#define INV(x) ((CCTK_REAL)1.0 / (x)) #define SQR(x) ((x) * (x)) -#define CUB(x) ((x) * (x) * (x)) +#define CUB(x) ((x) * SQR(x)) +#define QAD(x) (SQR(SQR(x))) static void wave_exact_sine_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[]) { @@ -28,8 +28,6 @@ static void wave_exact_sine_Body(cGH const * restrict const cctkGH, int const di DECLARE_CCTK_PARAMETERS; - /* Declare finite differencing variables */ - /* Include user-supplied include files */ /* Initialise finite differencing variables */ @@ -57,25 +55,24 @@ static void wave_exact_sine_Body(cGH const * restrict const cctkGH, int const di CCTK_REAL const hdzi = 0.5 * dzi; /* Initialize predefined quantities */ - CCTK_REAL const p1o1 = 1; CCTK_REAL const p1o12dx = 0.0833333333333333333333333333333*INV(dx); CCTK_REAL const p1o12dy = 0.0833333333333333333333333333333*INV(dy); CCTK_REAL const p1o12dz = 0.0833333333333333333333333333333*INV(dz); - CCTK_REAL const p1o144dxdy = 0.00694444444444444444444444444444*INV(dx)*INV(dy); - CCTK_REAL const p1o144dxdz = 0.00694444444444444444444444444444*INV(dx)*INV(dz); - CCTK_REAL const p1o144dydz = 0.00694444444444444444444444444444*INV(dy)*INV(dz); + CCTK_REAL const p1o144dxdy = 0.00694444444444444444444444444444*INV(dx*dy); + CCTK_REAL const p1o144dxdz = 0.00694444444444444444444444444444*INV(dx*dz); + CCTK_REAL const p1o144dydz = 0.00694444444444444444444444444444*INV(dy*dz); CCTK_REAL const p1o2dx = 0.5*INV(dx); CCTK_REAL const p1o2dy = 0.5*INV(dy); CCTK_REAL const p1o2dz = 0.5*INV(dz); CCTK_REAL const p1o4dx2 = 0.25*INV(SQR(dx)); - CCTK_REAL const p1o4dxdy = 0.25*INV(dx)*INV(dy); - CCTK_REAL const p1o4dxdz = 0.25*INV(dx)*INV(dz); + CCTK_REAL const p1o4dxdy = 0.25*INV(dx*dy); + CCTK_REAL const p1o4dxdz = 0.25*INV(dx*dz); CCTK_REAL const p1o4dy2 = 0.25*INV(SQR(dy)); - CCTK_REAL const p1o4dydz = 0.25*INV(dy)*INV(dz); + CCTK_REAL const p1o4dydz = 0.25*INV(dy*dz); CCTK_REAL const p1o4dz2 = 0.25*INV(SQR(dz)); CCTK_REAL const p1odx = INV(dx); CCTK_REAL const p1odx2 = INV(SQR(dx)); - CCTK_REAL const p1odxdydz = INV(dx)*INV(dy)*INV(dz); + CCTK_REAL const p1odxdydz = INV(dx*dy*dz); CCTK_REAL const p1ody = INV(dy); CCTK_REAL const p1ody2 = INV(SQR(dy)); CCTK_REAL const p1odz = INV(dz); @@ -97,9 +94,9 @@ static void wave_exact_sine_Body(cGH const * restrict const cctkGH, int const di /* Loop over the grid points */ #pragma omp parallel - CCTK_LOOP3 (wave_exact_sine, + CCTK_LOOP3(wave_exact_sine, i,j,k, imin[0],imin[1],imin[2], imax[0],imax[1],imax[2], - cctk_lsh[0],cctk_lsh[1],cctk_lsh[2]) + cctk_ash[0],cctk_ash[1],cctk_ash[2]) { ptrdiff_t const index = di*i + dj*j + dk*k; @@ -127,12 +124,12 @@ static void wave_exact_sine_Body(cGH const * restrict const cctkGH, int const di CCTK_REAL piconst = 3.1415926535897932385; CCTK_REAL phiExactL = - Sin(2*piconst*INV(ToReal(periodicity))*(-(cctk_time*sqrt(SQR(ToReal(n1)) + + sin(2*piconst*INV(ToReal(periodicity))*(-(t*sqrt(SQR(ToReal(n1)) + SQR(ToReal(n2)) + SQR(ToReal(n3)))) + xL*ToReal(n1) + yL*ToReal(n2) + zL*ToReal(n3)))*ToReal(amplitude); CCTK_REAL piExactL = - -2*piconst*Cos(2*piconst*INV(ToReal(periodicity))*(-(cctk_time*sqrt(SQR(ToReal(n1)) + -2*piconst*cos(2*piconst*INV(ToReal(periodicity))*(-(t*sqrt(SQR(ToReal(n1)) + SQR(ToReal(n2)) + SQR(ToReal(n3)))) + xL*ToReal(n1) + yL*ToReal(n2) + zL*ToReal(n3)))*INV(ToReal(periodicity))*sqrt(SQR(ToReal(n1)) + @@ -142,7 +139,7 @@ static void wave_exact_sine_Body(cGH const * restrict const cctkGH, int const di phiExact[index] = phiExactL; piExact[index] = piExactL; } - CCTK_ENDLOOP3 (wave_exact_sine); + CCTK_ENDLOOP3(wave_exact_sine); } extern "C" void wave_exact_sine(CCTK_ARGUMENTS) @@ -161,7 +158,9 @@ extern "C" void wave_exact_sine(CCTK_ARGUMENTS) return; } - const char *groups[] = {"Wave::exact","grid::coordinates"}; + const char *const groups[] = { + "Wave::exact", + "grid::coordinates"}; GenericFD_AssertGroupStorage(cctkGH, "wave_exact_sine", 2, groups); switch(fdOrder) @@ -173,7 +172,7 @@ extern "C" void wave_exact_sine(CCTK_ARGUMENTS) break; } - GenericFD_LoopOverEverything(cctkGH, &wave_exact_sine_Body); + GenericFD_LoopOverEverything(cctkGH, wave_exact_sine_Body); if (verbose > 1) { diff --git a/Examples/Wave/src/wave_import_exact.cc b/Examples/Wave/src/wave_import_exact.cc index 840eef7..8f8b0f8 100644 --- a/Examples/Wave/src/wave_import_exact.cc +++ b/Examples/Wave/src/wave_import_exact.cc @@ -17,10 +17,10 @@ /* Define macros used in calculations */ #define INITVALUE (42) -#define QAD(x) (SQR(SQR(x))) -#define INV(x) ((1.0) / (x)) +#define INV(x) ((CCTK_REAL)1.0 / (x)) #define SQR(x) ((x) * (x)) -#define CUB(x) ((x) * (x) * (x)) +#define CUB(x) ((x) * SQR(x)) +#define QAD(x) (SQR(SQR(x))) static void wave_import_exact_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[]) { @@ -28,8 +28,6 @@ static void wave_import_exact_Body(cGH const * restrict const cctkGH, int const DECLARE_CCTK_PARAMETERS; - /* Declare finite differencing variables */ - /* Include user-supplied include files */ /* Initialise finite differencing variables */ @@ -57,25 +55,24 @@ static void wave_import_exact_Body(cGH const * restrict const cctkGH, int const CCTK_REAL const hdzi = 0.5 * dzi; /* Initialize predefined quantities */ - CCTK_REAL const p1o1 = 1; CCTK_REAL const p1o12dx = 0.0833333333333333333333333333333*INV(dx); CCTK_REAL const p1o12dy = 0.0833333333333333333333333333333*INV(dy); CCTK_REAL const p1o12dz = 0.0833333333333333333333333333333*INV(dz); - CCTK_REAL const p1o144dxdy = 0.00694444444444444444444444444444*INV(dx)*INV(dy); - CCTK_REAL const p1o144dxdz = 0.00694444444444444444444444444444*INV(dx)*INV(dz); - CCTK_REAL const p1o144dydz = 0.00694444444444444444444444444444*INV(dy)*INV(dz); + CCTK_REAL const p1o144dxdy = 0.00694444444444444444444444444444*INV(dx*dy); + CCTK_REAL const p1o144dxdz = 0.00694444444444444444444444444444*INV(dx*dz); + CCTK_REAL const p1o144dydz = 0.00694444444444444444444444444444*INV(dy*dz); CCTK_REAL const p1o2dx = 0.5*INV(dx); CCTK_REAL const p1o2dy = 0.5*INV(dy); CCTK_REAL const p1o2dz = 0.5*INV(dz); CCTK_REAL const p1o4dx2 = 0.25*INV(SQR(dx)); - CCTK_REAL const p1o4dxdy = 0.25*INV(dx)*INV(dy); - CCTK_REAL const p1o4dxdz = 0.25*INV(dx)*INV(dz); + CCTK_REAL const p1o4dxdy = 0.25*INV(dx*dy); + CCTK_REAL const p1o4dxdz = 0.25*INV(dx*dz); CCTK_REAL const p1o4dy2 = 0.25*INV(SQR(dy)); - CCTK_REAL const p1o4dydz = 0.25*INV(dy)*INV(dz); + CCTK_REAL const p1o4dydz = 0.25*INV(dy*dz); CCTK_REAL const p1o4dz2 = 0.25*INV(SQR(dz)); CCTK_REAL const p1odx = INV(dx); CCTK_REAL const p1odx2 = INV(SQR(dx)); - CCTK_REAL const p1odxdydz = INV(dx)*INV(dy)*INV(dz); + CCTK_REAL const p1odxdydz = INV(dx*dy*dz); CCTK_REAL const p1ody = INV(dy); CCTK_REAL const p1ody2 = INV(SQR(dy)); CCTK_REAL const p1odz = INV(dz); @@ -97,9 +94,9 @@ static void wave_import_exact_Body(cGH const * restrict const cctkGH, int const /* Loop over the grid points */ #pragma omp parallel - CCTK_LOOP3 (wave_import_exact, + CCTK_LOOP3(wave_import_exact, i,j,k, imin[0],imin[1],imin[2], imax[0],imax[1],imax[2], - cctk_lsh[0],cctk_lsh[1],cctk_lsh[2]) + cctk_ash[0],cctk_ash[1],cctk_ash[2]) { ptrdiff_t const index = di*i + dj*j + dk*k; @@ -131,7 +128,7 @@ static void wave_import_exact_Body(cGH const * restrict const cctkGH, int const phi[index] = phiL; pi[index] = piL; } - CCTK_ENDLOOP3 (wave_import_exact); + CCTK_ENDLOOP3(wave_import_exact); } extern "C" void wave_import_exact(CCTK_ARGUMENTS) @@ -150,7 +147,9 @@ extern "C" void wave_import_exact(CCTK_ARGUMENTS) return; } - const char *groups[] = {"Wave::evolved","Wave::exact"}; + const char *const groups[] = { + "Wave::evolved", + "Wave::exact"}; GenericFD_AssertGroupStorage(cctkGH, "wave_import_exact", 2, groups); switch(fdOrder) @@ -162,7 +161,7 @@ extern "C" void wave_import_exact(CCTK_ARGUMENTS) break; } - GenericFD_LoopOverEverything(cctkGH, &wave_import_exact_Body); + GenericFD_LoopOverEverything(cctkGH, wave_import_exact_Body); if (verbose > 1) { -- cgit v1.2.3