diff options
Diffstat (limited to 'Examples/EM/src/EM_evol.cc')
-rw-r--r-- | Examples/EM/src/EM_evol.cc | 38 |
1 files changed, 18 insertions, 20 deletions
diff --git a/Examples/EM/src/EM_evol.cc b/Examples/EM/src/EM_evol.cc index ad67af3..80c756b 100644 --- a/Examples/EM/src/EM_evol.cc +++ b/Examples/EM/src/EM_evol.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 EM_evol_SelectBCs(CCTK_ARGUMENTS) { @@ -43,8 +43,6 @@ static void EM_evol_Body(cGH const * restrict const cctkGH, int const dir, int c DECLARE_CCTK_PARAMETERS; - /* Declare finite differencing variables */ - /* Include user-supplied include files */ /* Initialise finite differencing variables */ @@ -72,24 +70,20 @@ static void EM_evol_Body(cGH const * restrict const cctkGH, int const dir, int c 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 p1o4dxdy = 0.25*INV(dx)*INV(dy); - CCTK_REAL const p1o4dxdz = 0.25*INV(dx)*INV(dz); - CCTK_REAL const p1o4dydz = 0.25*INV(dy)*INV(dz); - CCTK_REAL const p1odx = INV(dx); + CCTK_REAL const p1o4dxdy = 0.25*INV(dx*dy); + CCTK_REAL const p1o4dxdz = 0.25*INV(dx*dz); + CCTK_REAL const p1o4dydz = 0.25*INV(dy*dz); CCTK_REAL const p1odx2 = INV(SQR(dx)); - CCTK_REAL const p1ody = INV(dy); CCTK_REAL const p1ody2 = INV(SQR(dy)); - CCTK_REAL const p1odz = INV(dz); CCTK_REAL const p1odz2 = INV(SQR(dz)); CCTK_REAL const pm1o12dx2 = -0.0833333333333333333333333333333*INV(SQR(dx)); CCTK_REAL const pm1o12dy2 = -0.0833333333333333333333333333333*INV(SQR(dy)); @@ -105,9 +99,9 @@ static void EM_evol_Body(cGH const * restrict const cctkGH, int const dir, int c /* Loop over the grid points */ #pragma omp parallel - CCTK_LOOP3 (EM_evol, + CCTK_LOOP3(EM_evol, 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; @@ -158,7 +152,7 @@ static void EM_evol_Body(cGH const * restrict const cctkGH, int const dir, int c El2rhs[index] = El2rhsL; El3rhs[index] = El3rhsL; } - CCTK_ENDLOOP3 (EM_evol); + CCTK_ENDLOOP3(EM_evol); } extern "C" void EM_evol(CCTK_ARGUMENTS) @@ -177,12 +171,16 @@ extern "C" void EM_evol(CCTK_ARGUMENTS) return; } - const char *groups[] = {"EM::B_group","EM::B_grouprhs","EM::El_group","EM::El_grouprhs"}; + const char *const groups[] = { + "EM::B_group", + "EM::B_grouprhs", + "EM::El_group", + "EM::El_grouprhs"}; GenericFD_AssertGroupStorage(cctkGH, "EM_evol", 4, groups); GenericFD_EnsureStencilFits(cctkGH, "EM_evol", 1, 1, 1); - GenericFD_LoopOverInterior(cctkGH, &EM_evol_Body); + GenericFD_LoopOverInterior(cctkGH, EM_evol_Body); if (verbose > 1) { |