diff options
Diffstat (limited to 'ML_WaveToy/src/WT_Standing.cc')
-rw-r--r-- | ML_WaveToy/src/WT_Standing.cc | 84 |
1 files changed, 43 insertions, 41 deletions
diff --git a/ML_WaveToy/src/WT_Standing.cc b/ML_WaveToy/src/WT_Standing.cc index a3d0fa6..b1a640a 100644 --- a/ML_WaveToy/src/WT_Standing.cc +++ b/ML_WaveToy/src/WT_Standing.cc @@ -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 = 1; - ptrdiff_t const dj = CCTK_GFINDEX3D(cctkGH,0,1,0) - CCTK_GFINDEX3D(cctkGH,0,0,0); - ptrdiff_t const dk = CCTK_GFINDEX3D(cctkGH,0,0,1) - CCTK_GFINDEX3D(cctkGH,0,0,0); - ptrdiff_t const cdi = sizeof(CCTK_REAL) * di; - ptrdiff_t const cdj = sizeof(CCTK_REAL) * dj; - ptrdiff_t const cdk = sizeof(CCTK_REAL) * dk; - CCTK_REAL_VEC const dx = ToReal(CCTK_DELTA_SPACE(0)); - CCTK_REAL_VEC const dy = ToReal(CCTK_DELTA_SPACE(1)); - CCTK_REAL_VEC const dz = ToReal(CCTK_DELTA_SPACE(2)); - CCTK_REAL_VEC const dt = ToReal(CCTK_DELTA_TIME); - CCTK_REAL_VEC const t = ToReal(cctk_time); - CCTK_REAL_VEC const dxi = INV(dx); - CCTK_REAL_VEC const dyi = INV(dy); - CCTK_REAL_VEC const dzi = INV(dz); - CCTK_REAL_VEC const khalf = ToReal(0.5); - CCTK_REAL_VEC const kthird = ToReal(1.0/3.0); - CCTK_REAL_VEC const ktwothird = ToReal(2.0/3.0); - CCTK_REAL_VEC const kfourthird = ToReal(4.0/3.0); - CCTK_REAL_VEC const keightthird = ToReal(8.0/3.0); - CCTK_REAL_VEC const hdxi = kmul(ToReal(0.5), dxi); - CCTK_REAL_VEC const hdyi = kmul(ToReal(0.5), dyi); - CCTK_REAL_VEC const hdzi = kmul(ToReal(0.5), dzi); + 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); /* Initialize predefined quantities */ - CCTK_REAL_VEC const p1o12dx = kdiv(ToReal(0.0833333333333333333333333333333),dx); - CCTK_REAL_VEC const p1o12dy = kdiv(ToReal(0.0833333333333333333333333333333),dy); - CCTK_REAL_VEC const p1o12dz = kdiv(ToReal(0.0833333333333333333333333333333),dz); - CCTK_REAL_VEC const p1o144dxdy = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dy,dx)); - CCTK_REAL_VEC const p1o144dxdz = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dx)); - CCTK_REAL_VEC const p1o144dydz = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dy)); - CCTK_REAL_VEC const pm1o12dx2 = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dx,dx)); - CCTK_REAL_VEC const pm1o12dy2 = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dy,dy)); - CCTK_REAL_VEC const pm1o12dz2 = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dz,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 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)); /* Assign local copies of arrays functions */ @@ -85,13 +85,13 @@ static void WT_Standing_Body(cGH const * restrict const cctkGH, int const dir, i cctk_ash[0],cctk_ash[1],cctk_ash[2], CCTK_REAL_VEC_SIZE) { - ptrdiff_t const index = di*i + dj*j + dk*k; + ptrdiff_t const index CCTK_ATTRIBUTE_UNUSED = di*i + dj*j + dk*k; /* Assign local copies of grid functions */ - CCTK_REAL_VEC xL = vec_load(x[index]); - CCTK_REAL_VEC yL = vec_load(y[index]); - CCTK_REAL_VEC zL = vec_load(z[index]); + CCTK_REAL_VEC xL CCTK_ATTRIBUTE_UNUSED = vec_load(x[index]); + CCTK_REAL_VEC yL CCTK_ATTRIBUTE_UNUSED = vec_load(y[index]); + CCTK_REAL_VEC zL CCTK_ATTRIBUTE_UNUSED = vec_load(z[index]); /* Include user supplied include files */ @@ -99,15 +99,17 @@ static void WT_Standing_Body(cGH const * restrict const cctkGH, int const dir, i /* Precompute derivatives */ /* Calculate temporaries and grid functions */ - CCTK_REAL_VEC k = ToReal(Pi*ScalarINV(width)); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED kvec = + ToReal(Pi*ScalarINV(width)); - CCTK_REAL_VEC omega = ksqrt(kmul(kmul(k,k),ToReal(3))); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED omega = + ksqrt(kmul(kmul(kvec,kvec),ToReal(3))); - CCTK_REAL_VEC uL = - kmul(kcos(kmul(xL,k)),kmul(kcos(kmul(yL,k)),kmul(kcos(kmul(zL,k)),kmul(kcos(kmul(omega,t)),ToReal(amplitude))))); + 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 rhoL = - kneg(kmul(omega,kmul(kcos(kmul(xL,k)),kmul(kcos(kmul(yL,k)),kmul(kcos(kmul(zL,k)),kmul(ksin(kmul(omega,t)),ToReal(amplitude))))))); + CCTK_REAL_VEC CCTK_ATTRIBUTE_UNUSED rhoL = + 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,lc_imin,lc_imax); |