aboutsummaryrefslogtreecommitdiff
path: root/ML_WaveToyFO
diff options
context:
space:
mode:
authorErik Schnetter <schnetter@cct.lsu.edu>2010-10-11 20:32:55 -0500
committerErik Schnetter <schnetter@cct.lsu.edu>2010-10-11 20:32:55 -0500
commit8e1f20f46f07170786de75fae15ffee82149dfcf (patch)
tree0992b207543c7499241e61b121413f7e7e529ced /ML_WaveToyFO
parent15d57eb888fdcd68b873b02b0468e5508a02c581 (diff)
Regenerate code
Diffstat (limited to 'ML_WaveToyFO')
-rw-r--r--ML_WaveToyFO/interface.ccl15
-rw-r--r--ML_WaveToyFO/src/Differencing.h24
-rw-r--r--ML_WaveToyFO/src/WTFO_Gaussian.c117
-rw-r--r--ML_WaveToyFO/src/WTFO_RHS.c152
-rw-r--r--ML_WaveToyFO/src/WTFO_constraints.c138
-rw-r--r--ML_WaveToyFO/src/make.code.defn2
6 files changed, 427 insertions, 21 deletions
diff --git a/ML_WaveToyFO/interface.ccl b/ML_WaveToyFO/interface.ccl
index cdb6319..5ed9b36 100644
--- a/ML_WaveToyFO/interface.ccl
+++ b/ML_WaveToyFO/interface.ccl
@@ -8,7 +8,6 @@ inherits: Grid GenericFD Boundary
USES INCLUDE: GenericFD.h
USES INCLUDE: Symmetry.h
-USES INCLUDE: Vectors.hh
USES INCLUDE: sbp_calc_coeffs.h
USES INCLUDE: Boundary.h
USES INCLUDE: loopcontrol.h
@@ -26,7 +25,7 @@ CCTK_INT FUNCTION Boundary_SelectVarForBC(CCTK_POINTER_TO_CONST IN GH, CCTK_INT
USES FUNCTION Boundary_SelectVarForBC
public:
-CCTK_REAL WT_w type=GF timelevels=1 tags='tensortypealias="U" tensorweight=1.0000000000000000000'
+CCTK_REAL WT_w type=GF timelevels=1 tags='tensortypealias="U" tensorweight=1'
{
w1,
w2,
@@ -34,19 +33,19 @@ CCTK_REAL WT_w type=GF timelevels=1 tags='tensortypealias="U" tensorweight=1.000
} "WT_w"
public:
-CCTK_REAL WT_rho type=GF timelevels=2 tags='tensortypealias="Scalar" tensorweight=1.0000000000000000000'
+CCTK_REAL WT_rho type=GF timelevels=2 tags='tensortypealias="Scalar" tensorweight=1'
{
rho
} "WT_rho"
public:
-CCTK_REAL WT_u type=GF timelevels=2 tags='tensortypealias="Scalar" tensorweight=1.0000000000000000000'
+CCTK_REAL WT_u type=GF timelevels=2 tags='tensortypealias="Scalar" tensorweight=1'
{
u
} "WT_u"
public:
-CCTK_REAL WT_v type=GF timelevels=2 tags='tensortypealias="D" tensorweight=1.0000000000000000000'
+CCTK_REAL WT_v type=GF timelevels=2 tags='tensortypealias="D" tensorweight=1'
{
v1,
v2,
@@ -54,19 +53,19 @@ CCTK_REAL WT_v type=GF timelevels=2 tags='tensortypealias="D" tensorweight=1.000
} "WT_v"
public:
-CCTK_REAL WT_rhorhs type=GF timelevels=2 tags='tensortypealias="Scalar" tensorweight=1.0000000000000000000'
+CCTK_REAL WT_rhorhs type=GF timelevels=2 tags='tensortypealias="Scalar" tensorweight=1'
{
rhorhs
} "WT_rhorhs"
public:
-CCTK_REAL WT_urhs type=GF timelevels=2 tags='tensortypealias="Scalar" tensorweight=1.0000000000000000000'
+CCTK_REAL WT_urhs type=GF timelevels=2 tags='tensortypealias="Scalar" tensorweight=1'
{
urhs
} "WT_urhs"
public:
-CCTK_REAL WT_vrhs type=GF timelevels=2 tags='tensortypealias="D" tensorweight=1.0000000000000000000'
+CCTK_REAL WT_vrhs type=GF timelevels=2 tags='tensortypealias="D" tensorweight=1'
{
v1rhs,
v2rhs,
diff --git a/ML_WaveToyFO/src/Differencing.h b/ML_WaveToyFO/src/Differencing.h
index 1c7a87f..aa21060 100644
--- a/ML_WaveToyFO/src/Differencing.h
+++ b/ML_WaveToyFO/src/Differencing.h
@@ -1,12 +1,12 @@
-#define PDstandardNth1(u,i,j,k) (p1o12dx*(-8*vec_loadu((u)[index+di*(-1)+dj*(0)+dk*(0)]) + 8*vec_loadu((u)[index+di*(1)+dj*(0)+dk*(0)]) + vec_loadu((u)[index+di*(-2)+dj*(0)+dk*(0)]) - vec_loadu((u)[index+di*(2)+dj*(0)+dk*(0)])))
-#define PDstandardNth2(u,i,j,k) (p1o12dy*(-8*vec_loadu((u)[index+di*(0)+dj*(-1)+dk*(0)]) + 8*vec_loadu((u)[index+di*(0)+dj*(1)+dk*(0)]) + vec_loadu((u)[index+di*(0)+dj*(-2)+dk*(0)]) - vec_loadu((u)[index+di*(0)+dj*(2)+dk*(0)])))
-#define PDstandardNth3(u,i,j,k) (p1o12dz*(-8*vec_loadu((u)[index+di*(0)+dj*(0)+dk*(-1)]) + 8*vec_loadu((u)[index+di*(0)+dj*(0)+dk*(1)]) + vec_loadu((u)[index+di*(0)+dj*(0)+dk*(-2)]) - vec_loadu((u)[index+di*(0)+dj*(0)+dk*(2)])))
-#define PDstandardNth11(u,i,j,k) (pm1o12dx2*(30*vec_loadu((u)[index+di*(0)+dj*(0)+dk*(0)]) - 16*(vec_loadu((u)[index+di*(-1)+dj*(0)+dk*(0)]) + vec_loadu((u)[index+di*(1)+dj*(0)+dk*(0)])) + vec_loadu((u)[index+di*(-2)+dj*(0)+dk*(0)]) + vec_loadu((u)[index+di*(2)+dj*(0)+dk*(0)])))
-#define PDstandardNth22(u,i,j,k) (pm1o12dy2*(30*vec_loadu((u)[index+di*(0)+dj*(0)+dk*(0)]) - 16*(vec_loadu((u)[index+di*(0)+dj*(-1)+dk*(0)]) + vec_loadu((u)[index+di*(0)+dj*(1)+dk*(0)])) + vec_loadu((u)[index+di*(0)+dj*(-2)+dk*(0)]) + vec_loadu((u)[index+di*(0)+dj*(2)+dk*(0)])))
-#define PDstandardNth33(u,i,j,k) (pm1o12dz2*(30*vec_loadu((u)[index+di*(0)+dj*(0)+dk*(0)]) - 16*(vec_loadu((u)[index+di*(0)+dj*(0)+dk*(-1)]) + vec_loadu((u)[index+di*(0)+dj*(0)+dk*(1)])) + vec_loadu((u)[index+di*(0)+dj*(0)+dk*(-2)]) + vec_loadu((u)[index+di*(0)+dj*(0)+dk*(2)])))
-#define PDstandardNth12(u,i,j,k) (p1o144dxdy*(-64*(vec_loadu((u)[index+di*(-1)+dj*(1)+dk*(0)]) + vec_loadu((u)[index+di*(1)+dj*(-1)+dk*(0)])) + 64*(vec_loadu((u)[index+di*(-1)+dj*(-1)+dk*(0)]) + vec_loadu((u)[index+di*(1)+dj*(1)+dk*(0)])) + 8*(vec_loadu((u)[index+di*(-1)+dj*(2)+dk*(0)]) + vec_loadu((u)[index+di*(1)+dj*(-2)+dk*(0)]) + vec_loadu((u)[index+di*(-2)+dj*(1)+dk*(0)]) + vec_loadu((u)[index+di*(2)+dj*(-1)+dk*(0)])) - 8*(vec_loadu((u)[index+di*(-1)+dj*(-2)+dk*(0)]) + vec_loadu((u)[index+di*(1)+dj*(2)+dk*(0)]) + vec_loadu((u)[index+di*(-2)+dj*(-1)+dk*(0)]) + vec_loadu((u)[index+di*(2)+dj*(1)+dk*(0)])) + vec_loadu((u)[index+di*(-2)+dj*(-2)+dk*(0)]) - vec_loadu((u)[index+di*(-2)+dj*(2)+dk*(0)]) - vec_loadu((u)[index+di*(2)+dj*(-2)+dk*(0)]) + vec_loadu((u)[index+di*(2)+dj*(2)+dk*(0)])))
-#define PDstandardNth13(u,i,j,k) (p1o144dxdz*(-64*(vec_loadu((u)[index+di*(-1)+dj*(0)+dk*(1)]) + vec_loadu((u)[index+di*(1)+dj*(0)+dk*(-1)])) + 64*(vec_loadu((u)[index+di*(-1)+dj*(0)+dk*(-1)]) + vec_loadu((u)[index+di*(1)+dj*(0)+dk*(1)])) + 8*(vec_loadu((u)[index+di*(-1)+dj*(0)+dk*(2)]) + vec_loadu((u)[index+di*(1)+dj*(0)+dk*(-2)]) + vec_loadu((u)[index+di*(-2)+dj*(0)+dk*(1)]) + vec_loadu((u)[index+di*(2)+dj*(0)+dk*(-1)])) - 8*(vec_loadu((u)[index+di*(-1)+dj*(0)+dk*(-2)]) + vec_loadu((u)[index+di*(1)+dj*(0)+dk*(2)]) + vec_loadu((u)[index+di*(-2)+dj*(0)+dk*(-1)]) + vec_loadu((u)[index+di*(2)+dj*(0)+dk*(1)])) + vec_loadu((u)[index+di*(-2)+dj*(0)+dk*(-2)]) - vec_loadu((u)[index+di*(-2)+dj*(0)+dk*(2)]) - vec_loadu((u)[index+di*(2)+dj*(0)+dk*(-2)]) + vec_loadu((u)[index+di*(2)+dj*(0)+dk*(2)])))
-#define PDstandardNth21(u,i,j,k) (p1o144dxdy*(-64*(vec_loadu((u)[index+di*(-1)+dj*(1)+dk*(0)]) + vec_loadu((u)[index+di*(1)+dj*(-1)+dk*(0)])) + 64*(vec_loadu((u)[index+di*(-1)+dj*(-1)+dk*(0)]) + vec_loadu((u)[index+di*(1)+dj*(1)+dk*(0)])) + 8*(vec_loadu((u)[index+di*(-1)+dj*(2)+dk*(0)]) + vec_loadu((u)[index+di*(1)+dj*(-2)+dk*(0)]) + vec_loadu((u)[index+di*(-2)+dj*(1)+dk*(0)]) + vec_loadu((u)[index+di*(2)+dj*(-1)+dk*(0)])) - 8*(vec_loadu((u)[index+di*(-1)+dj*(-2)+dk*(0)]) + vec_loadu((u)[index+di*(1)+dj*(2)+dk*(0)]) + vec_loadu((u)[index+di*(-2)+dj*(-1)+dk*(0)]) + vec_loadu((u)[index+di*(2)+dj*(1)+dk*(0)])) + vec_loadu((u)[index+di*(-2)+dj*(-2)+dk*(0)]) - vec_loadu((u)[index+di*(-2)+dj*(2)+dk*(0)]) - vec_loadu((u)[index+di*(2)+dj*(-2)+dk*(0)]) + vec_loadu((u)[index+di*(2)+dj*(2)+dk*(0)])))
-#define PDstandardNth23(u,i,j,k) (p1o144dydz*(-64*(vec_loadu((u)[index+di*(0)+dj*(-1)+dk*(1)]) + vec_loadu((u)[index+di*(0)+dj*(1)+dk*(-1)])) + 64*(vec_loadu((u)[index+di*(0)+dj*(-1)+dk*(-1)]) + vec_loadu((u)[index+di*(0)+dj*(1)+dk*(1)])) + 8*(vec_loadu((u)[index+di*(0)+dj*(-1)+dk*(2)]) + vec_loadu((u)[index+di*(0)+dj*(1)+dk*(-2)]) + vec_loadu((u)[index+di*(0)+dj*(-2)+dk*(1)]) + vec_loadu((u)[index+di*(0)+dj*(2)+dk*(-1)])) - 8*(vec_loadu((u)[index+di*(0)+dj*(-1)+dk*(-2)]) + vec_loadu((u)[index+di*(0)+dj*(1)+dk*(2)]) + vec_loadu((u)[index+di*(0)+dj*(-2)+dk*(-1)]) + vec_loadu((u)[index+di*(0)+dj*(2)+dk*(1)])) + vec_loadu((u)[index+di*(0)+dj*(-2)+dk*(-2)]) - vec_loadu((u)[index+di*(0)+dj*(-2)+dk*(2)]) - vec_loadu((u)[index+di*(0)+dj*(2)+dk*(-2)]) + vec_loadu((u)[index+di*(0)+dj*(2)+dk*(2)])))
-#define PDstandardNth31(u,i,j,k) (p1o144dxdz*(-64*(vec_loadu((u)[index+di*(-1)+dj*(0)+dk*(1)]) + vec_loadu((u)[index+di*(1)+dj*(0)+dk*(-1)])) + 64*(vec_loadu((u)[index+di*(-1)+dj*(0)+dk*(-1)]) + vec_loadu((u)[index+di*(1)+dj*(0)+dk*(1)])) + 8*(vec_loadu((u)[index+di*(-1)+dj*(0)+dk*(2)]) + vec_loadu((u)[index+di*(1)+dj*(0)+dk*(-2)]) + vec_loadu((u)[index+di*(-2)+dj*(0)+dk*(1)]) + vec_loadu((u)[index+di*(2)+dj*(0)+dk*(-1)])) - 8*(vec_loadu((u)[index+di*(-1)+dj*(0)+dk*(-2)]) + vec_loadu((u)[index+di*(1)+dj*(0)+dk*(2)]) + vec_loadu((u)[index+di*(-2)+dj*(0)+dk*(-1)]) + vec_loadu((u)[index+di*(2)+dj*(0)+dk*(1)])) + vec_loadu((u)[index+di*(-2)+dj*(0)+dk*(-2)]) - vec_loadu((u)[index+di*(-2)+dj*(0)+dk*(2)]) - vec_loadu((u)[index+di*(2)+dj*(0)+dk*(-2)]) + vec_loadu((u)[index+di*(2)+dj*(0)+dk*(2)])))
-#define PDstandardNth32(u,i,j,k) (p1o144dydz*(-64*(vec_loadu((u)[index+di*(0)+dj*(-1)+dk*(1)]) + vec_loadu((u)[index+di*(0)+dj*(1)+dk*(-1)])) + 64*(vec_loadu((u)[index+di*(0)+dj*(-1)+dk*(-1)]) + vec_loadu((u)[index+di*(0)+dj*(1)+dk*(1)])) + 8*(vec_loadu((u)[index+di*(0)+dj*(-1)+dk*(2)]) + vec_loadu((u)[index+di*(0)+dj*(1)+dk*(-2)]) + vec_loadu((u)[index+di*(0)+dj*(-2)+dk*(1)]) + vec_loadu((u)[index+di*(0)+dj*(2)+dk*(-1)])) - 8*(vec_loadu((u)[index+di*(0)+dj*(-1)+dk*(-2)]) + vec_loadu((u)[index+di*(0)+dj*(1)+dk*(2)]) + vec_loadu((u)[index+di*(0)+dj*(-2)+dk*(-1)]) + vec_loadu((u)[index+di*(0)+dj*(2)+dk*(1)])) + vec_loadu((u)[index+di*(0)+dj*(-2)+dk*(-2)]) - vec_loadu((u)[index+di*(0)+dj*(-2)+dk*(2)]) - vec_loadu((u)[index+di*(0)+dj*(2)+dk*(-2)]) + vec_loadu((u)[index+di*(0)+dj*(2)+dk*(2)])))
+#define PDstandardNth1(u,i,j,k) (p1o12dx*(-8*(u)[index+di*(-1)+dj*(0)+dk*(0)] + 8*(u)[index+di*(1)+dj*(0)+dk*(0)] + (u)[index+di*(-2)+dj*(0)+dk*(0)] - (u)[index+di*(2)+dj*(0)+dk*(0)]))
+#define PDstandardNth2(u,i,j,k) (p1o12dy*(-8*(u)[index+di*(0)+dj*(-1)+dk*(0)] + 8*(u)[index+di*(0)+dj*(1)+dk*(0)] + (u)[index+di*(0)+dj*(-2)+dk*(0)] - (u)[index+di*(0)+dj*(2)+dk*(0)]))
+#define PDstandardNth3(u,i,j,k) (p1o12dz*(-8*(u)[index+di*(0)+dj*(0)+dk*(-1)] + 8*(u)[index+di*(0)+dj*(0)+dk*(1)] + (u)[index+di*(0)+dj*(0)+dk*(-2)] - (u)[index+di*(0)+dj*(0)+dk*(2)]))
+#define PDstandardNth11(u,i,j,k) (pm1o12dx2*(30*(u)[index+di*(0)+dj*(0)+dk*(0)] - 16*((u)[index+di*(-1)+dj*(0)+dk*(0)] + (u)[index+di*(1)+dj*(0)+dk*(0)]) + (u)[index+di*(-2)+dj*(0)+dk*(0)] + (u)[index+di*(2)+dj*(0)+dk*(0)]))
+#define PDstandardNth22(u,i,j,k) (pm1o12dy2*(30*(u)[index+di*(0)+dj*(0)+dk*(0)] - 16*((u)[index+di*(0)+dj*(-1)+dk*(0)] + (u)[index+di*(0)+dj*(1)+dk*(0)]) + (u)[index+di*(0)+dj*(-2)+dk*(0)] + (u)[index+di*(0)+dj*(2)+dk*(0)]))
+#define PDstandardNth33(u,i,j,k) (pm1o12dz2*(30*(u)[index+di*(0)+dj*(0)+dk*(0)] - 16*((u)[index+di*(0)+dj*(0)+dk*(-1)] + (u)[index+di*(0)+dj*(0)+dk*(1)]) + (u)[index+di*(0)+dj*(0)+dk*(-2)] + (u)[index+di*(0)+dj*(0)+dk*(2)]))
+#define PDstandardNth12(u,i,j,k) (p1o144dxdy*(-64*((u)[index+di*(-1)+dj*(1)+dk*(0)] + (u)[index+di*(1)+dj*(-1)+dk*(0)]) + 64*((u)[index+di*(-1)+dj*(-1)+dk*(0)] + (u)[index+di*(1)+dj*(1)+dk*(0)]) + 8*((u)[index+di*(-1)+dj*(2)+dk*(0)] + (u)[index+di*(1)+dj*(-2)+dk*(0)] + (u)[index+di*(-2)+dj*(1)+dk*(0)] + (u)[index+di*(2)+dj*(-1)+dk*(0)]) - 8*((u)[index+di*(-1)+dj*(-2)+dk*(0)] + (u)[index+di*(1)+dj*(2)+dk*(0)] + (u)[index+di*(-2)+dj*(-1)+dk*(0)] + (u)[index+di*(2)+dj*(1)+dk*(0)]) + (u)[index+di*(-2)+dj*(-2)+dk*(0)] - (u)[index+di*(-2)+dj*(2)+dk*(0)] - (u)[index+di*(2)+dj*(-2)+dk*(0)] + (u)[index+di*(2)+dj*(2)+dk*(0)]))
+#define PDstandardNth13(u,i,j,k) (p1o144dxdz*(-64*((u)[index+di*(-1)+dj*(0)+dk*(1)] + (u)[index+di*(1)+dj*(0)+dk*(-1)]) + 64*((u)[index+di*(-1)+dj*(0)+dk*(-1)] + (u)[index+di*(1)+dj*(0)+dk*(1)]) + 8*((u)[index+di*(-1)+dj*(0)+dk*(2)] + (u)[index+di*(1)+dj*(0)+dk*(-2)] + (u)[index+di*(-2)+dj*(0)+dk*(1)] + (u)[index+di*(2)+dj*(0)+dk*(-1)]) - 8*((u)[index+di*(-1)+dj*(0)+dk*(-2)] + (u)[index+di*(1)+dj*(0)+dk*(2)] + (u)[index+di*(-2)+dj*(0)+dk*(-1)] + (u)[index+di*(2)+dj*(0)+dk*(1)]) + (u)[index+di*(-2)+dj*(0)+dk*(-2)] - (u)[index+di*(-2)+dj*(0)+dk*(2)] - (u)[index+di*(2)+dj*(0)+dk*(-2)] + (u)[index+di*(2)+dj*(0)+dk*(2)]))
+#define PDstandardNth21(u,i,j,k) (p1o144dxdy*(-64*((u)[index+di*(-1)+dj*(1)+dk*(0)] + (u)[index+di*(1)+dj*(-1)+dk*(0)]) + 64*((u)[index+di*(-1)+dj*(-1)+dk*(0)] + (u)[index+di*(1)+dj*(1)+dk*(0)]) + 8*((u)[index+di*(-1)+dj*(2)+dk*(0)] + (u)[index+di*(1)+dj*(-2)+dk*(0)] + (u)[index+di*(-2)+dj*(1)+dk*(0)] + (u)[index+di*(2)+dj*(-1)+dk*(0)]) - 8*((u)[index+di*(-1)+dj*(-2)+dk*(0)] + (u)[index+di*(1)+dj*(2)+dk*(0)] + (u)[index+di*(-2)+dj*(-1)+dk*(0)] + (u)[index+di*(2)+dj*(1)+dk*(0)]) + (u)[index+di*(-2)+dj*(-2)+dk*(0)] - (u)[index+di*(-2)+dj*(2)+dk*(0)] - (u)[index+di*(2)+dj*(-2)+dk*(0)] + (u)[index+di*(2)+dj*(2)+dk*(0)]))
+#define PDstandardNth23(u,i,j,k) (p1o144dydz*(-64*((u)[index+di*(0)+dj*(-1)+dk*(1)] + (u)[index+di*(0)+dj*(1)+dk*(-1)]) + 64*((u)[index+di*(0)+dj*(-1)+dk*(-1)] + (u)[index+di*(0)+dj*(1)+dk*(1)]) + 8*((u)[index+di*(0)+dj*(-1)+dk*(2)] + (u)[index+di*(0)+dj*(1)+dk*(-2)] + (u)[index+di*(0)+dj*(-2)+dk*(1)] + (u)[index+di*(0)+dj*(2)+dk*(-1)]) - 8*((u)[index+di*(0)+dj*(-1)+dk*(-2)] + (u)[index+di*(0)+dj*(1)+dk*(2)] + (u)[index+di*(0)+dj*(-2)+dk*(-1)] + (u)[index+di*(0)+dj*(2)+dk*(1)]) + (u)[index+di*(0)+dj*(-2)+dk*(-2)] - (u)[index+di*(0)+dj*(-2)+dk*(2)] - (u)[index+di*(0)+dj*(2)+dk*(-2)] + (u)[index+di*(0)+dj*(2)+dk*(2)]))
+#define PDstandardNth31(u,i,j,k) (p1o144dxdz*(-64*((u)[index+di*(-1)+dj*(0)+dk*(1)] + (u)[index+di*(1)+dj*(0)+dk*(-1)]) + 64*((u)[index+di*(-1)+dj*(0)+dk*(-1)] + (u)[index+di*(1)+dj*(0)+dk*(1)]) + 8*((u)[index+di*(-1)+dj*(0)+dk*(2)] + (u)[index+di*(1)+dj*(0)+dk*(-2)] + (u)[index+di*(-2)+dj*(0)+dk*(1)] + (u)[index+di*(2)+dj*(0)+dk*(-1)]) - 8*((u)[index+di*(-1)+dj*(0)+dk*(-2)] + (u)[index+di*(1)+dj*(0)+dk*(2)] + (u)[index+di*(-2)+dj*(0)+dk*(-1)] + (u)[index+di*(2)+dj*(0)+dk*(1)]) + (u)[index+di*(-2)+dj*(0)+dk*(-2)] - (u)[index+di*(-2)+dj*(0)+dk*(2)] - (u)[index+di*(2)+dj*(0)+dk*(-2)] + (u)[index+di*(2)+dj*(0)+dk*(2)]))
+#define PDstandardNth32(u,i,j,k) (p1o144dydz*(-64*((u)[index+di*(0)+dj*(-1)+dk*(1)] + (u)[index+di*(0)+dj*(1)+dk*(-1)]) + 64*((u)[index+di*(0)+dj*(-1)+dk*(-1)] + (u)[index+di*(0)+dj*(1)+dk*(1)]) + 8*((u)[index+di*(0)+dj*(-1)+dk*(2)] + (u)[index+di*(0)+dj*(1)+dk*(-2)] + (u)[index+di*(0)+dj*(-2)+dk*(1)] + (u)[index+di*(0)+dj*(2)+dk*(-1)]) - 8*((u)[index+di*(0)+dj*(-1)+dk*(-2)] + (u)[index+di*(0)+dj*(1)+dk*(2)] + (u)[index+di*(0)+dj*(-2)+dk*(-1)] + (u)[index+di*(0)+dj*(2)+dk*(1)]) + (u)[index+di*(0)+dj*(-2)+dk*(-2)] - (u)[index+di*(0)+dj*(-2)+dk*(2)] - (u)[index+di*(0)+dj*(2)+dk*(-2)] + (u)[index+di*(0)+dj*(2)+dk*(2)]))
diff --git a/ML_WaveToyFO/src/WTFO_Gaussian.c b/ML_WaveToyFO/src/WTFO_Gaussian.c
new file mode 100644
index 0000000..44057a7
--- /dev/null
+++ b/ML_WaveToyFO/src/WTFO_Gaussian.c
@@ -0,0 +1,117 @@
+/* File produced by Kranc */
+
+#define KRANC_C
+
+#include <assert.h>
+#include <math.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include "cctk.h"
+#include "cctk_Arguments.h"
+#include "cctk_Parameters.h"
+#include "GenericFD.h"
+#include "Differencing.h"
+#include "loopcontrol.h"
+
+/* Define macros used in calculations */
+#define INITVALUE (42)
+#define INV(x) ((1.0) / (x))
+#define SQR(x) ((x) * (x))
+#define CUB(x) ((x) * (x) * (x))
+#define QAD(x) ((x) * (x) * (x) * (x))
+
+void WTFO_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 min[3], int const max[3], int const n_subblock_gfs, CCTK_REAL * restrict const subblock_gfs[])
+{
+ DECLARE_CCTK_ARGUMENTS;
+ DECLARE_CCTK_PARAMETERS;
+
+
+ /* Declare finite differencing variables */
+
+ if (verbose > 1)
+ {
+ CCTK_VInfo(CCTK_THORNSTRING,"Entering WTFO_Gaussian_Body");
+ }
+
+ if (cctk_iteration % WTFO_Gaussian_calc_every != WTFO_Gaussian_calc_offset)
+ {
+ return;
+ }
+
+ /* Include user-supplied include files */
+
+ /* Initialise finite differencing variables */
+ CCTK_REAL const dx = CCTK_DELTA_SPACE(0);
+ CCTK_REAL const dy = CCTK_DELTA_SPACE(1);
+ CCTK_REAL const dz = CCTK_DELTA_SPACE(2);
+ int const di = 1;
+ int const dj = CCTK_GFINDEX3D(cctkGH,0,1,0) - CCTK_GFINDEX3D(cctkGH,0,0,0);
+ int const dk = CCTK_GFINDEX3D(cctkGH,0,0,1) - CCTK_GFINDEX3D(cctkGH,0,0,0);
+ CCTK_REAL const dxi = 1.0 / dx;
+ CCTK_REAL const dyi = 1.0 / dy;
+ CCTK_REAL const dzi = 1.0 / dz;
+ CCTK_REAL const khalf = 0.5;
+ CCTK_REAL const kthird = 1/3.0;
+ CCTK_REAL const ktwothird = 2.0/3.0;
+ CCTK_REAL const kfourthird = 4.0/3.0;
+ CCTK_REAL const keightthird = 8.0/3.0;
+ CCTK_REAL const hdxi = 0.5 * dxi;
+ CCTK_REAL const hdyi = 0.5 * dyi;
+ CCTK_REAL const hdzi = 0.5 * dzi;
+
+ /* Initialize predefined quantities */
+ CCTK_REAL const p1o12dx = INV(dx)/12.;
+ CCTK_REAL const p1o12dy = INV(dy)/12.;
+ CCTK_REAL const p1o12dz = INV(dz)/12.;
+ CCTK_REAL const p1o144dxdy = (INV(dx)*INV(dy))/144.;
+ CCTK_REAL const p1o144dxdz = (INV(dx)*INV(dz))/144.;
+ CCTK_REAL const p1o144dydz = (INV(dy)*INV(dz))/144.;
+ CCTK_REAL const pm1o12dx2 = -pow(dx,-2)/12.;
+ CCTK_REAL const pm1o12dy2 = -pow(dy,-2)/12.;
+ CCTK_REAL const pm1o12dz2 = -pow(dz,-2)/12.;
+
+ /* Loop over the grid points */
+ #pragma omp parallel
+ LC_LOOP3 (WTFO_Gaussian,
+ i,j,k, min[0],min[1],min[2], max[0],max[1],max[2],
+ cctk_lsh[0],cctk_lsh[1],cctk_lsh[2])
+ {
+ // int index = INITVALUE;
+ int const index = CCTK_GFINDEX3D(cctkGH,i,j,k);
+ /* Declare derivatives */
+
+ /* Assign local copies of grid functions */
+
+ /* Include user supplied include files */
+
+ /* Precompute derivatives */
+
+ /* Calculate temporaries and grid functions */
+ CCTK_REAL uL = 0;
+
+ CCTK_REAL v1L = 0;
+
+ CCTK_REAL v2L = 0;
+
+ CCTK_REAL v3L = 0;
+
+ CCTK_REAL rhoL = 0;
+
+
+ /* Copy local copies back to grid functions */
+ rho[index] = rhoL;
+ u[index] = uL;
+ v1[index] = v1L;
+ v2[index] = v2L;
+ v3[index] = v3L;
+ }
+ LC_ENDLOOP3 (WTFO_Gaussian);
+}
+
+void WTFO_Gaussian(CCTK_ARGUMENTS)
+{
+ DECLARE_CCTK_ARGUMENTS;
+ DECLARE_CCTK_PARAMETERS;
+
+ GenericFD_LoopOverEverything(cctkGH, &WTFO_Gaussian_Body);
+}
diff --git a/ML_WaveToyFO/src/WTFO_RHS.c b/ML_WaveToyFO/src/WTFO_RHS.c
new file mode 100644
index 0000000..2d76002
--- /dev/null
+++ b/ML_WaveToyFO/src/WTFO_RHS.c
@@ -0,0 +1,152 @@
+/* File produced by Kranc */
+
+#define KRANC_C
+
+#include <assert.h>
+#include <math.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include "cctk.h"
+#include "cctk_Arguments.h"
+#include "cctk_Parameters.h"
+#include "GenericFD.h"
+#include "Differencing.h"
+#include "loopcontrol.h"
+
+/* Define macros used in calculations */
+#define INITVALUE (42)
+#define INV(x) ((1.0) / (x))
+#define SQR(x) ((x) * (x))
+#define CUB(x) ((x) * (x) * (x))
+#define QAD(x) ((x) * (x) * (x) * (x))
+
+void WTFO_RHS_SelectBCs(CCTK_ARGUMENTS)
+{
+ DECLARE_CCTK_ARGUMENTS;
+ DECLARE_CCTK_PARAMETERS;
+
+ CCTK_INT ierr = 0;
+ ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_WaveToyFO::WT_rhorhs","flat");
+ if (ierr < 0)
+ CCTK_WARN(0, "Failed to register flat BC for ML_WaveToyFO::WT_rhorhs.");
+ ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_WaveToyFO::WT_urhs","flat");
+ if (ierr < 0)
+ CCTK_WARN(0, "Failed to register flat BC for ML_WaveToyFO::WT_urhs.");
+ ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_WaveToyFO::WT_vrhs","flat");
+ if (ierr < 0)
+ CCTK_WARN(0, "Failed to register flat BC for ML_WaveToyFO::WT_vrhs.");
+ return;
+}
+
+void WTFO_RHS_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 min[3], int const max[3], int const n_subblock_gfs, CCTK_REAL * restrict const subblock_gfs[])
+{
+ DECLARE_CCTK_ARGUMENTS;
+ DECLARE_CCTK_PARAMETERS;
+
+
+ /* Declare finite differencing variables */
+
+ if (verbose > 1)
+ {
+ CCTK_VInfo(CCTK_THORNSTRING,"Entering WTFO_RHS_Body");
+ }
+
+ if (cctk_iteration % WTFO_RHS_calc_every != WTFO_RHS_calc_offset)
+ {
+ return;
+ }
+
+ /* Include user-supplied include files */
+
+ /* Initialise finite differencing variables */
+ CCTK_REAL const dx = CCTK_DELTA_SPACE(0);
+ CCTK_REAL const dy = CCTK_DELTA_SPACE(1);
+ CCTK_REAL const dz = CCTK_DELTA_SPACE(2);
+ int const di = 1;
+ int const dj = CCTK_GFINDEX3D(cctkGH,0,1,0) - CCTK_GFINDEX3D(cctkGH,0,0,0);
+ int const dk = CCTK_GFINDEX3D(cctkGH,0,0,1) - CCTK_GFINDEX3D(cctkGH,0,0,0);
+ CCTK_REAL const dxi = 1.0 / dx;
+ CCTK_REAL const dyi = 1.0 / dy;
+ CCTK_REAL const dzi = 1.0 / dz;
+ CCTK_REAL const khalf = 0.5;
+ CCTK_REAL const kthird = 1/3.0;
+ CCTK_REAL const ktwothird = 2.0/3.0;
+ CCTK_REAL const kfourthird = 4.0/3.0;
+ CCTK_REAL const keightthird = 8.0/3.0;
+ CCTK_REAL const hdxi = 0.5 * dxi;
+ CCTK_REAL const hdyi = 0.5 * dyi;
+ CCTK_REAL const hdzi = 0.5 * dzi;
+
+ /* Initialize predefined quantities */
+ CCTK_REAL const p1o12dx = INV(dx)/12.;
+ CCTK_REAL const p1o12dy = INV(dy)/12.;
+ CCTK_REAL const p1o12dz = INV(dz)/12.;
+ CCTK_REAL const p1o144dxdy = (INV(dx)*INV(dy))/144.;
+ CCTK_REAL const p1o144dxdz = (INV(dx)*INV(dz))/144.;
+ CCTK_REAL const p1o144dydz = (INV(dy)*INV(dz))/144.;
+ CCTK_REAL const pm1o12dx2 = -pow(dx,-2)/12.;
+ CCTK_REAL const pm1o12dy2 = -pow(dy,-2)/12.;
+ CCTK_REAL const pm1o12dz2 = -pow(dz,-2)/12.;
+
+ /* Loop over the grid points */
+ #pragma omp parallel
+ LC_LOOP3 (WTFO_RHS,
+ i,j,k, min[0],min[1],min[2], max[0],max[1],max[2],
+ cctk_lsh[0],cctk_lsh[1],cctk_lsh[2])
+ {
+ // int index = INITVALUE;
+ int const index = CCTK_GFINDEX3D(cctkGH,i,j,k);
+ /* Declare derivatives */
+ // CCTK_REAL PDstandardNth1rho = INITVALUE;
+ // CCTK_REAL PDstandardNth2rho = INITVALUE;
+ // CCTK_REAL PDstandardNth3rho = INITVALUE;
+ // CCTK_REAL PDstandardNth1v1 = INITVALUE;
+ // CCTK_REAL PDstandardNth2v2 = INITVALUE;
+ // CCTK_REAL PDstandardNth3v3 = INITVALUE;
+
+ /* Assign local copies of grid functions */
+ CCTK_REAL rhoL = rho[index];
+ CCTK_REAL v1L = v1[index];
+ CCTK_REAL v2L = v2[index];
+ CCTK_REAL v3L = v3[index];
+
+ /* Include user supplied include files */
+
+ /* Precompute derivatives */
+ CCTK_REAL const PDstandardNth1rho = PDstandardNth1(rho, i, j, k);
+ CCTK_REAL const PDstandardNth2rho = PDstandardNth2(rho, i, j, k);
+ CCTK_REAL const PDstandardNth3rho = PDstandardNth3(rho, i, j, k);
+ CCTK_REAL const PDstandardNth1v1 = PDstandardNth1(v1, i, j, k);
+ CCTK_REAL const PDstandardNth2v2 = PDstandardNth2(v2, i, j, k);
+ CCTK_REAL const PDstandardNth3v3 = PDstandardNth3(v3, i, j, k);
+
+ /* Calculate temporaries and grid functions */
+ CCTK_REAL urhsL = rhoL;
+
+ CCTK_REAL rhorhsL = PDstandardNth1v1 + PDstandardNth2v2 +
+ PDstandardNth3v3;
+
+ CCTK_REAL v1rhsL = PDstandardNth1rho;
+
+ CCTK_REAL v2rhsL = PDstandardNth2rho;
+
+ CCTK_REAL v3rhsL = PDstandardNth3rho;
+
+
+ /* Copy local copies back to grid functions */
+ rhorhs[index] = rhorhsL;
+ urhs[index] = urhsL;
+ v1rhs[index] = v1rhsL;
+ v2rhs[index] = v2rhsL;
+ v3rhs[index] = v3rhsL;
+ }
+ LC_ENDLOOP3 (WTFO_RHS);
+}
+
+void WTFO_RHS(CCTK_ARGUMENTS)
+{
+ DECLARE_CCTK_ARGUMENTS;
+ DECLARE_CCTK_PARAMETERS;
+
+ GenericFD_LoopOverInterior(cctkGH, &WTFO_RHS_Body);
+}
diff --git a/ML_WaveToyFO/src/WTFO_constraints.c b/ML_WaveToyFO/src/WTFO_constraints.c
new file mode 100644
index 0000000..b8ede34
--- /dev/null
+++ b/ML_WaveToyFO/src/WTFO_constraints.c
@@ -0,0 +1,138 @@
+/* File produced by Kranc */
+
+#define KRANC_C
+
+#include <assert.h>
+#include <math.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include "cctk.h"
+#include "cctk_Arguments.h"
+#include "cctk_Parameters.h"
+#include "GenericFD.h"
+#include "Differencing.h"
+#include "loopcontrol.h"
+
+/* Define macros used in calculations */
+#define INITVALUE (42)
+#define INV(x) ((1.0) / (x))
+#define SQR(x) ((x) * (x))
+#define CUB(x) ((x) * (x) * (x))
+#define QAD(x) ((x) * (x) * (x) * (x))
+
+void WTFO_constraints_SelectBCs(CCTK_ARGUMENTS)
+{
+ DECLARE_CCTK_ARGUMENTS;
+ DECLARE_CCTK_PARAMETERS;
+
+ CCTK_INT ierr = 0;
+ ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_WaveToyFO::WT_w","flat");
+ if (ierr < 0)
+ CCTK_WARN(0, "Failed to register flat BC for ML_WaveToyFO::WT_w.");
+ return;
+}
+
+void WTFO_constraints_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 min[3], int const max[3], int const n_subblock_gfs, CCTK_REAL * restrict const subblock_gfs[])
+{
+ DECLARE_CCTK_ARGUMENTS;
+ DECLARE_CCTK_PARAMETERS;
+
+
+ /* Declare finite differencing variables */
+
+ if (verbose > 1)
+ {
+ CCTK_VInfo(CCTK_THORNSTRING,"Entering WTFO_constraints_Body");
+ }
+
+ if (cctk_iteration % WTFO_constraints_calc_every != WTFO_constraints_calc_offset)
+ {
+ return;
+ }
+
+ /* Include user-supplied include files */
+
+ /* Initialise finite differencing variables */
+ CCTK_REAL const dx = CCTK_DELTA_SPACE(0);
+ CCTK_REAL const dy = CCTK_DELTA_SPACE(1);
+ CCTK_REAL const dz = CCTK_DELTA_SPACE(2);
+ int const di = 1;
+ int const dj = CCTK_GFINDEX3D(cctkGH,0,1,0) - CCTK_GFINDEX3D(cctkGH,0,0,0);
+ int const dk = CCTK_GFINDEX3D(cctkGH,0,0,1) - CCTK_GFINDEX3D(cctkGH,0,0,0);
+ CCTK_REAL const dxi = 1.0 / dx;
+ CCTK_REAL const dyi = 1.0 / dy;
+ CCTK_REAL const dzi = 1.0 / dz;
+ CCTK_REAL const khalf = 0.5;
+ CCTK_REAL const kthird = 1/3.0;
+ CCTK_REAL const ktwothird = 2.0/3.0;
+ CCTK_REAL const kfourthird = 4.0/3.0;
+ CCTK_REAL const keightthird = 8.0/3.0;
+ CCTK_REAL const hdxi = 0.5 * dxi;
+ CCTK_REAL const hdyi = 0.5 * dyi;
+ CCTK_REAL const hdzi = 0.5 * dzi;
+
+ /* Initialize predefined quantities */
+ CCTK_REAL const p1o12dx = INV(dx)/12.;
+ CCTK_REAL const p1o12dy = INV(dy)/12.;
+ CCTK_REAL const p1o12dz = INV(dz)/12.;
+ CCTK_REAL const p1o144dxdy = (INV(dx)*INV(dy))/144.;
+ CCTK_REAL const p1o144dxdz = (INV(dx)*INV(dz))/144.;
+ CCTK_REAL const p1o144dydz = (INV(dy)*INV(dz))/144.;
+ CCTK_REAL const pm1o12dx2 = -pow(dx,-2)/12.;
+ CCTK_REAL const pm1o12dy2 = -pow(dy,-2)/12.;
+ CCTK_REAL const pm1o12dz2 = -pow(dz,-2)/12.;
+
+ /* Loop over the grid points */
+ #pragma omp parallel
+ LC_LOOP3 (WTFO_constraints,
+ i,j,k, min[0],min[1],min[2], max[0],max[1],max[2],
+ cctk_lsh[0],cctk_lsh[1],cctk_lsh[2])
+ {
+ // int index = INITVALUE;
+ int const index = CCTK_GFINDEX3D(cctkGH,i,j,k);
+ /* Declare derivatives */
+ // CCTK_REAL PDstandardNth2v1 = INITVALUE;
+ // CCTK_REAL PDstandardNth3v1 = INITVALUE;
+ // CCTK_REAL PDstandardNth1v2 = INITVALUE;
+ // CCTK_REAL PDstandardNth3v2 = INITVALUE;
+ // CCTK_REAL PDstandardNth1v3 = INITVALUE;
+ // CCTK_REAL PDstandardNth2v3 = INITVALUE;
+
+ /* Assign local copies of grid functions */
+ CCTK_REAL v1L = v1[index];
+ CCTK_REAL v2L = v2[index];
+ CCTK_REAL v3L = v3[index];
+
+ /* Include user supplied include files */
+
+ /* Precompute derivatives */
+ CCTK_REAL const PDstandardNth2v1 = PDstandardNth2(v1, i, j, k);
+ CCTK_REAL const PDstandardNth3v1 = PDstandardNth3(v1, i, j, k);
+ CCTK_REAL const PDstandardNth1v2 = PDstandardNth1(v2, i, j, k);
+ CCTK_REAL const PDstandardNth3v2 = PDstandardNth3(v2, i, j, k);
+ CCTK_REAL const PDstandardNth1v3 = PDstandardNth1(v3, i, j, k);
+ CCTK_REAL const PDstandardNth2v3 = PDstandardNth2(v3, i, j, k);
+
+ /* Calculate temporaries and grid functions */
+ CCTK_REAL w1L = -PDstandardNth2v3 + PDstandardNth3v2;
+
+ CCTK_REAL w2L = PDstandardNth1v3 - PDstandardNth3v1;
+
+ CCTK_REAL w3L = -PDstandardNth1v2 + PDstandardNth2v1;
+
+
+ /* Copy local copies back to grid functions */
+ w1[index] = w1L;
+ w2[index] = w2L;
+ w3[index] = w3L;
+ }
+ LC_ENDLOOP3 (WTFO_constraints);
+}
+
+void WTFO_constraints(CCTK_ARGUMENTS)
+{
+ DECLARE_CCTK_ARGUMENTS;
+ DECLARE_CCTK_PARAMETERS;
+
+ GenericFD_LoopOverInterior(cctkGH, &WTFO_constraints_Body);
+}
diff --git a/ML_WaveToyFO/src/make.code.defn b/ML_WaveToyFO/src/make.code.defn
index a51a3f3..a18c783 100644
--- a/ML_WaveToyFO/src/make.code.defn
+++ b/ML_WaveToyFO/src/make.code.defn
@@ -1,3 +1,3 @@
# File produced by Kranc
-SRCS = Startup.c RegisterMoL.c RegisterSymmetries.c WTFO_Gaussian.cc WTFO_RHS.cc WTFO_constraints.cc Boundaries.c
+SRCS = Startup.c RegisterMoL.c RegisterSymmetries.c WTFO_Gaussian.c WTFO_RHS.c WTFO_constraints.c Boundaries.c