diff options
author | Ian Hinder <ian.hinder@aei.mpg.de> | 2012-11-14 19:53:02 +0100 |
---|---|---|
committer | Ian Hinder <ian.hinder@aei.mpg.de> | 2012-11-14 19:53:02 +0100 |
commit | cda73baf0fbca06d75e51ad28ed708d7a087a849 (patch) | |
tree | 4fac3164d827c0713877954ac0730f166714a5ad /Examples/Wave/src/wave_exact_gaussian.cc | |
parent | 72b0c57fbcbbc71f55464dfdf751dbdb0b45fcb8 (diff) |
Regenerate examples
Diffstat (limited to 'Examples/Wave/src/wave_exact_gaussian.cc')
-rw-r--r-- | Examples/Wave/src/wave_exact_gaussian.cc | 55 |
1 files changed, 27 insertions, 28 deletions
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) { |