aboutsummaryrefslogtreecommitdiff
path: root/ML_WaveToy_CL/src/WT_CL_Dirichlet.cc
diff options
context:
space:
mode:
Diffstat (limited to 'ML_WaveToy_CL/src/WT_CL_Dirichlet.cc')
-rw-r--r--ML_WaveToy_CL/src/WT_CL_Dirichlet.cc26
1 files changed, 15 insertions, 11 deletions
diff --git a/ML_WaveToy_CL/src/WT_CL_Dirichlet.cc b/ML_WaveToy_CL/src/WT_CL_Dirichlet.cc
index 91ff705..9697f7e 100644
--- a/ML_WaveToy_CL/src/WT_CL_Dirichlet.cc
+++ b/ML_WaveToy_CL/src/WT_CL_Dirichlet.cc
@@ -19,10 +19,14 @@
/* Define macros used in calculations */
#define INITVALUE (42)
-#define QAD(x) (SQR(SQR(x)))
+#define ScalarINV(x) ((CCTK_REAL)1.0 / (x))
+#define ScalarSQR(x) ((x) * (x))
+#define ScalarCUB(x) ((x) * ScalarSQR(x))
+#define ScalarQAD(x) (ScalarSQR(ScalarSQR(x)))
#define INV(x) (kdiv(ToReal(1.0),x))
#define SQR(x) (kmul(x,x))
#define CUB(x) (kmul(x,SQR(x)))
+#define QAD(x) (SQR(SQR(x)))
extern "C" void WT_CL_Dirichlet_SelectBCs(CCTK_ARGUMENTS)
{
@@ -73,15 +77,15 @@ static void WT_CL_Dirichlet_Body(cGH const * restrict const cctkGH, int const di
"CCTK_REAL_VEC const hdzi = kmul(ToReal(0.5), dzi);\n"
"\n"
"/* Initialize predefined quantities */\n"
- "CCTK_REAL_VEC const p1o12dx = kmul(INV(dx),ToReal(0.0833333333333333333333333333333));\n"
- "CCTK_REAL_VEC const p1o12dy = kmul(INV(dy),ToReal(0.0833333333333333333333333333333));\n"
- "CCTK_REAL_VEC const p1o12dz = kmul(INV(dz),ToReal(0.0833333333333333333333333333333));\n"
- "CCTK_REAL_VEC const p1o144dxdy = kmul(INV(kmul(dx,dy)),ToReal(0.00694444444444444444444444444444));\n"
- "CCTK_REAL_VEC const p1o144dxdz = kmul(INV(kmul(dx,dz)),ToReal(0.00694444444444444444444444444444));\n"
- "CCTK_REAL_VEC const p1o144dydz = kmul(INV(kmul(dy,dz)),ToReal(0.00694444444444444444444444444444));\n"
- "CCTK_REAL_VEC const pm1o12dx2 = kmul(INV(SQR(dx)),ToReal(-0.0833333333333333333333333333333));\n"
- "CCTK_REAL_VEC const pm1o12dy2 = kmul(INV(SQR(dy)),ToReal(-0.0833333333333333333333333333333));\n"
- "CCTK_REAL_VEC const pm1o12dz2 = kmul(INV(SQR(dz)),ToReal(-0.0833333333333333333333333333333));\n"
+ "CCTK_REAL_VEC const p1o12dx = kdiv(ToReal(0.0833333333333333333333333333333),dx);\n"
+ "CCTK_REAL_VEC const p1o12dy = kdiv(ToReal(0.0833333333333333333333333333333),dy);\n"
+ "CCTK_REAL_VEC const p1o12dz = kdiv(ToReal(0.0833333333333333333333333333333),dz);\n"
+ "CCTK_REAL_VEC const p1o144dxdy = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dy,dx));\n"
+ "CCTK_REAL_VEC const p1o144dxdz = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dx));\n"
+ "CCTK_REAL_VEC const p1o144dydz = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dy));\n"
+ "CCTK_REAL_VEC const pm1o12dx2 = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dx,dx));\n"
+ "CCTK_REAL_VEC const pm1o12dy2 = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dy,dy));\n"
+ "CCTK_REAL_VEC const pm1o12dz2 = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dz,dz));\n"
"\n"
"/* Assign local copies of arrays functions */\n"
"\n"
@@ -95,7 +99,7 @@ static void WT_CL_Dirichlet_Body(cGH const * restrict const cctkGH, int const di
"#pragma omp parallel\n"
"LC_LOOP3VEC(WT_CL_Dirichlet,\n"
" i,j,k, imin[0],imin[1],imin[2], imax[0],imax[1],imax[2],\n"
- " cctk_lsh[0],cctk_lsh[1],cctk_lsh[2],\n"
+ " cctk_ash[0],cctk_ash[1],cctk_ash[2],\n"
" CCTK_REAL_VEC_SIZE)\n"
"{\n"
" ptrdiff_t const index = di*i + dj*j + dk*k;\n"