aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorgoodale <goodale@50555cc7-fb31-491a-85db-9a2874240742>1999-10-11 11:15:26 +0000
committergoodale <goodale@50555cc7-fb31-491a-85db-9a2874240742>1999-10-11 11:15:26 +0000
commit381802dcf45ca575c0a2465fa87dd316461132b8 (patch)
tree11dad1b6c2724c7882bd3a1cc649f0f7aeab456b
parent02617407d19e1d0a3f6fb3a9f63f0e0f28f0768e (diff)
Brought into sync with the other wavetoys and added a test suite.
Tom git-svn-id: http://svn.cactuscode.org/arrangements/CactusWave/WaveToyCXX/trunk@3 50555cc7-fb31-491a-85db-9a2874240742
-rw-r--r--interface.ccl8
-rw-r--r--param.ccl2
-rw-r--r--schedule.ccl2
-rw-r--r--src/WaveToy.cc183
-rw-r--r--test/test_rad.par44
-rw-r--r--test/test_rad/phi.xl198
-rw-r--r--test/test_rad/phi_max.tl12
-rw-r--r--test/test_rad/phi_min.tl12
-rw-r--r--test/test_rad/phi_nm1.tl12
-rw-r--r--test/test_rad/phi_nm2.tl12
-rw-r--r--test/test_wavetoycxx.par30
-rw-r--r--test/test_wavetoycxx/phi.dl138
-rw-r--r--test/test_wavetoycxx/phi.xl138
-rw-r--r--test/test_wavetoycxx/phi.yl138
-rw-r--r--test/test_wavetoycxx/phi_max.tl7
-rw-r--r--test/test_wavetoycxx/phi_min.tl7
-rw-r--r--test/test_wavetoycxx/phi_nm1.tl7
-rw-r--r--test/test_wavetoycxx/phi_nm2.tl7
18 files changed, 859 insertions, 98 deletions
diff --git a/interface.ccl b/interface.ccl
index 0de03c3..679343c 100644
--- a/interface.ccl
+++ b/interface.ccl
@@ -8,12 +8,8 @@ public:
cctk_real scalarevolve type = GF
{
phi
-} "The evolved scalar field"
-
-cctk_real scalarold type = GF
-{
phi_old
-} "The scalar field at the last timestep"
+} "The evolved scalar field"
private:
@@ -21,7 +17,5 @@ cctk_real scalartmps type = GF
{
phi_new
} "Temporary GF for WaveToy"
-
-
diff --git a/param.ccl b/param.ccl
index b22e27d..964d5ec 100644
--- a/param.ccl
+++ b/param.ccl
@@ -1,4 +1,4 @@
-# Parameter definitions for thorn WaveToyC
+# Parameter definitions for thorn WaveToyCXX
# $Header$
private:
diff --git a/schedule.ccl b/schedule.ccl
index 7d4444e..4653305 100644
--- a/schedule.ccl
+++ b/schedule.ccl
@@ -1,7 +1,7 @@
# Schedule definitions for thorn WaveToyC
# $Header$
-STORAGE: scalarevolve,scalarold
+STORAGE: scalarevolve
schedule WaveToyCXX_Startup at STARTUP
{
diff --git a/src/WaveToy.cc b/src/WaveToy.cc
index b9621e7..45d4eac 100644
--- a/src/WaveToy.cc
+++ b/src/WaveToy.cc
@@ -20,54 +20,11 @@
#include "CactusBase/Boundary/src/Boundary.h"
#include "CactusBase/CartGrid3D/src/Symmetry.h"
-
- /*@@
- @routine WaveToyC_Boundaries
- @date
- @author Tom Goodale
- @desc
- Boundary conditions for the wave equation
- @enddesc
- @calls ApplySymmetry,ApplyFlatBC,ApplyRadiativeBC
- @calledby
- @history
-
- @endhistory
-
-@@*/
-
-static void WaveToyC_Boundaries(CCTK_CARGUMENTS)
-{
- DECLARE_CCTK_CARGUMENTS
- DECLARE_CCTK_PARAMETERS
-
-int ierr;
-int sw[3];
-
- /* Set the stencil width */
- sw[0]=1;
- sw[1]=1;
- sw[2]=1;
-
- ApplySymmetry(cctkGH,"wavetoycxx::scalartmps");
-
- if (CCTK_EQUALS(bound,"flat"))
- {
- ierr = ApplyFlatBC(cctkGH,sw,"wavetoycxx::phi_new");
- }
- else if (CCTK_Equals(bound,"radiation"))
- {
- ierr = ApplyRadiativeBC(cctkGH,0,1,sw,"wavetoycxx::phi_new","wavetoy::phi");
- }
-
- if (ierr < 0)
- {
- CCTK_WARN(0,"Boundary conditions not applied - giving up!");
- }
-}
+static char *rcsid = "$Header$";
#define val(gridfunc,i,j,k) gridfunc[CCTK_GFINDEX3D(cctkGH,i,j,k)]
+static void WaveToyC_Boundaries(CCTK_CARGUMENTS);
/*@@
@routine WaveToyC_Evolution
@@ -87,69 +44,117 @@ int sw[3];
extern "C" void WaveToyCXX_Evolution(CCTK_CARGUMENTS)
{
- DECLARE_CCTK_CARGUMENTS
+ DECLARE_CCTK_CARGUMENTS
- // Set up shorthands
+ // Set up shorthands
-CCTK_REAL
- dx = CCTK_DELTA_SPACE(0),
- dy = CCTK_DELTA_SPACE(1),
- dz = CCTK_DELTA_SPACE(2),
- dt = CCTK_DELTA_TIME,
+ CCTK_REAL dx = CCTK_DELTA_SPACE(0),
+ dy = CCTK_DELTA_SPACE(1),
+ dz = CCTK_DELTA_SPACE(2),
+ dt = CCTK_DELTA_TIME,
- dx2=dx*dx,
- dy2=dy*dy,
- dz2=dz*dz,
- dt2=dt*dt,
-
- factor = 2*(1 - (dt2)*(1/dx2 + 1/dy2 + 1/dz2));
-
-int iend = cctk_lsh[0]-1,
- jend = cctk_lsh[1]-1,
- kend = cctk_lsh[2]-1;
-
- //
- // Do the evolution
- //
-
- for (int k=1; k<kend; k++)
- for (int j=1; j<jend; j++)
- for (int i=1; i<iend; i++)
- {
- val(phi_new, i,j,k) =
+ dx2=dx*dx,
+ dy2=dy*dy,
+ dz2=dz*dz,
+ dt2=dt*dt,
+
+ factor = 2*(1 - (dt2)*(1/dx2 + 1/dy2 + 1/dz2));
+
+ int iend = cctk_lsh[0]-1,
+ jend = cctk_lsh[1]-1,
+ kend = cctk_lsh[2]-1;
+
+ //
+ // Do the evolution
+ //
+
+ for (int k=1; k<kend; k++)
+ for (int j=1; j<jend; j++)
+ for (int i=1; i<iend; i++)
+ {
+ val(phi_new, i,j,k) =
factor* val( phi,i,j,k ) - val( phi_old,i,j,k)
+ dt2 *
( ( val( phi, i+1,j ,k ) + val( phi, i-1,j ,k) )/dx2
+( val( phi, i ,j+1,k ) + val( phi, i ,j-1,k) )/dy2
+( val( phi, i ,j ,k+1) + val( phi, i ,j, k-1) )/dz2
);
- }
+ }
- //
- // Synchronize before applying boundary conditions
- //
- CCTK_SyncGroup(cctkGH,"wavetoycxx::scalartmps");
+ //
+ // Synchronize before applying boundary conditions
+ //
+ CCTK_SyncGroup(cctkGH,"wavetoycxx::scalartmps");
- //
- // Apply boundary conditions
- //
- WaveToyC_Boundaries(CCTK_PASS_CTOC);
+ //
+ // Apply boundary conditions
+ //
+ WaveToyC_Boundaries(CCTK_PASS_CTOC);
- //
- // Update timeslices
- //
- { for (int k=0; k<cctk_lsh[2]; k++)
- for (int j=0; j<cctk_lsh[1]; j++)
+ //
+ // Update timeslices
+ //
+ {
+ for (int k=0; k<cctk_lsh[2]; k++)
+ for (int j=0; j<cctk_lsh[1]; j++)
for (int i=0; i<cctk_lsh[0]; i++)
{
- int index = CCTK_GFINDEX3D(cctkGH,i,j,k);
- phi_old[index] = phi[index];
- phi[index] = phi_new[index];
+ int index = CCTK_GFINDEX3D(cctkGH,i,j,k);
+ phi_old[index] = phi[index];
+ phi[index] = phi_new[index];
}
}
}
+ /*@@
+ @routine WaveToyC_Boundaries
+ @date
+ @author Tom Goodale
+ @desc
+ Boundary conditions for the wave equation
+ @enddesc
+ @calls ApplySymmetry,ApplyFlatBC,ApplyRadiativeBC
+ @calledby
+ @history
+
+ @endhistory
+
+@@*/
+
+static void WaveToyC_Boundaries(CCTK_CARGUMENTS)
+{
+ DECLARE_CCTK_CARGUMENTS
+ DECLARE_CCTK_PARAMETERS
+
+ int ierr;
+ int sw[3];
+
+ /* Set the stencil width */
+ sw[0]=1;
+ sw[1]=1;
+ sw[2]=1;
+
+ ierr = CartSymBCGroup(cctkGH,"wavetoycxx::scalartmps");
+
+ if (CCTK_Equals(bound,"flat"))
+ {
+ ierr = ApplyFlatBC(cctkGH,sw,"wavetoycxx::phi_new");
+ }
+ else if (CCTK_Equals(bound,"radiation"))
+ {
+ ierr = ApplyRadiativeBC(cctkGH,0,1,sw,"wavetoycxx::phi_new","wavetoy::phi");
+ }
+
+ if (ierr < 0)
+ {
+ CCTK_WARN(0,"Boundary conditions not applied - giving up!");
+ }
+}
+
+
+
+
diff --git a/test/test_rad.par b/test/test_rad.par
new file mode 100644
index 0000000..5dff3c3
--- /dev/null
+++ b/test/test_rad.par
@@ -0,0 +1,44 @@
+!DESC "Octant evolution with radiation boundaries"
+
+# $Id$
+#
+# /*@@
+# @file test_rad.par
+# @date Saturday 18th September
+# @author Gabrielle Allen
+# @desc
+# Wavetoy parameter file demonstrating radiation boundaries in Octant
+# @enddesc
+# @@*/
+
+ActiveThorns = "iobasic idscalarwavecxx time wavetoycxx pugh cartgrid3d ioutil ioascii"
+
+time::dtfac = 0.5
+
+idscalarwave::initial_data = "gaussian"
+idscalarwave::sigma = 2.8
+idscalarwave::radius = 5
+
+wavetoycxx::bound = "radiation"
+
+grid::type = "BySpacing"
+grid::domain = "octant"
+grid::dxyz = 0.6
+
+driver::global_nx = 15
+driver::global_ny = 15
+driver::global_nz = 15
+
+cactus::cctk_itlast = 10
+
+IOBasic::outScalar_every = 1
+IOBasic::outScalar_vars = "wavetoy::phi"
+
+IOASCII::out1D_every = 1
+IOASCII::out1D_z = "no"
+IOASCII::out1D_y = "no"
+IOASCII::out1D_d = "no"
+IOASCII::out1D_vars = "wavetoy::phi "
+
+IO::outdir = "test_rad"
+
diff --git a/test/test_rad/phi.xl b/test/test_rad/phi.xl
new file mode 100644
index 0000000..3289eb3
--- /dev/null
+++ b/test/test_rad/phi.xl
@@ -0,0 +1,198 @@
+
+
+"Time = 0.000000
+-0.300000 0.0772707537752
+0.300000 0.0772707537752
+0.900000 0.1292593546971
+1.500000 0.2208214420284
+2.100000 0.3529089299372
+2.700000 0.5192102694005
+3.300000 0.6998161919677
+3.900000 0.8624762718586
+4.500000 0.9710346043534
+5.100000 0.9982370567948
+5.700000 0.9367420144351
+6.300000 0.8022624770949
+6.900000 0.6270073768484
+7.500000 0.4471508970148
+8.100000 0.2909622162579
+
+
+"Time = 0.300000
+-0.300000 0.1393184064019
+0.300000 0.1393184064019
+0.900000 0.1975847110096
+1.500000 0.3062741452991
+2.100000 0.4554646524072
+2.700000 0.6299296619766
+3.300000 0.8021921868134
+3.900000 0.9366725320316
+4.500000 1.0007334088932
+5.100000 0.9771783117087
+5.700000 0.8714871457426
+6.300000 0.7095808925903
+6.900000 0.5273417858140
+7.500000 0.3576688235253
+8.100000 0.4056514703201
+
+
+"Time = 0.600000
+-0.300000 0.2450657874844
+0.300000 0.2450657874844
+0.900000 0.3063938562633
+1.500000 0.4275754994725
+2.100000 0.5875326742492
+2.700000 0.7594519468076
+3.300000 0.9090544974737
+3.900000 1.0007207893735
+4.500000 1.0095375644101
+5.100000 0.9313582488327
+5.700000 0.7847341927681
+6.300000 0.6033335286836
+6.900000 0.4230286782330
+7.500000 0.3164729091787
+8.100000 0.3688224314238
+
+
+"Time = 0.900000
+-0.300000 0.3968092201510
+0.300000 0.3968092201510
+0.900000 0.4612542907489
+1.500000 0.5868097261730
+2.100000 0.7462961828157
+2.700000 0.9011863559196
+3.300000 1.0121890493922
+3.900000 1.0475533118886
+4.500000 0.9938122606057
+5.100000 0.8613525959984
+5.700000 0.6803008397561
+6.300000 0.4885565892616
+6.900000 0.3298778872437
+7.500000 0.3093159503407
+8.100000 0.3194643862378
+
+
+"Time = 1.200000
+-0.300000 0.5968864557660
+0.300000 0.5968864557660
+0.900000 0.6634200568401
+1.500000 0.7832867114987
+2.100000 0.9262870132775
+2.700000 1.0464509311060
+3.300000 1.1026365452681
+3.900000 1.0708606286750
+4.500000 0.9516509078131
+5.100000 0.7695373165573
+5.700000 0.5631271680828
+6.300000 0.3733607640958
+6.900000 0.2646768441670
+7.500000 0.3042741459498
+8.100000 0.2985904139956
+
+
+"Time = 1.500000
+-0.300000 0.8468638921866
+0.300000 0.8468638921866
+0.900000 0.9096824905158
+1.500000 1.0118902155622
+2.100000 1.1191797723429
+2.700000 1.1850521641053
+3.300000 1.1715777583589
+3.900000 1.0658428285460
+4.500000 0.8831617240967
+5.100000 0.6598679115944
+5.700000 0.4394941203286
+6.300000 0.2702381613842
+6.900000 0.2305879299107
+7.500000 0.2823771591228
+8.100000 0.2945518023220
+
+
+"Time = 1.800000
+-0.300000 1.1439552773541
+0.300000 1.1439552773541
+0.900000 1.1928303039108
+1.500000 1.2623590177638
+2.100000 1.3137084038740
+2.700000 1.3061063451054
+3.300000 1.2112923140727
+3.900000 1.0298141343834
+4.500000 0.7905117480480
+5.100000 0.5376561030314
+5.700000 0.3179991588455
+6.300000 0.1920175476677
+6.900000 0.2137804389116
+7.500000 0.2451913224103
+8.100000 0.2846392839016
+
+
+"Time = 2.100000
+-0.300000 1.4777029324391
+0.300000 1.4777029324391
+0.900000 1.5007144586172
+1.500000 1.5197917554214
+2.100000 1.4960135325299
+2.700000 1.3989571738336
+3.300000 1.2160435134256
+3.900000 0.9625645974774
+4.500000 0.6777629948704
+5.100000 0.4096910832064
+5.700000 0.2097192375672
+6.300000 0.1439266896346
+6.900000 0.1939713841434
+7.500000 0.2049466941312
+8.100000 0.2590132157317
+
+
+"Time = 2.400000
+-0.300000 1.8287092321577
+0.300000 1.8287092321577
+0.900000 1.8146817721101
+1.500000 1.7655652525217
+2.100000 1.6506551991274
+2.700000 1.4540918571554
+3.300000 1.1827266218174
+3.900000 0.8664271594561
+4.500000 0.5506710041608
+5.100000 0.2846305324622
+5.700000 0.1255209253476
+6.300000 0.1185029029684
+6.900000 0.1591056400564
+7.500000 0.1707872255917
+8.100000 0.2233538039083
+
+
+"Time = 2.700000
+-0.300000 2.1691949368406
+0.300000 2.1691949368406
+0.900000 2.1093269062751
+1.500000 1.9782272412690
+2.100000 1.7620671001176
+2.700000 1.4640042823334
+3.300000 1.1111608790632
+3.900000 0.7460809101689
+4.500000 0.4166384492980
+5.100000 0.1727348795036
+5.700000 0.0707183446983
+6.300000 0.0989920048448
+6.900000 0.1119737653124
+7.500000 0.1424880579888
+8.100000 0.1884467757646
+
+
+"Time = 3.000000
+-0.300000 2.4647796185994
+0.300000 2.4647796185994
+0.900000 2.3541828216963
+1.500000 2.1347782118799
+2.100000 1.8160434930701
+2.700000 1.4238960014253
+3.300000 1.0039991040679
+3.900000 0.6082179395041
+4.500000 0.2847201194241
+5.100000 0.0837362794307
+5.700000 0.0406070302546
+6.300000 0.0698724518537
+6.900000 0.0646120372763
+7.500000 0.1139375181146
+8.100000 0.1595748375786
diff --git a/test/test_rad/phi_max.tl b/test/test_rad/phi_max.tl
new file mode 100644
index 0000000..7f2f952
--- /dev/null
+++ b/test/test_rad/phi_max.tl
@@ -0,0 +1,12 @@
+"phi max v time
+0.000000 0.9999198827161
+0.300000 1.0032036387356
+0.600000 1.0165679308821
+0.900000 1.0475533118886
+1.200000 1.1036047450756
+1.500000 1.1902041732567
+1.800000 1.3188502049547
+2.100000 1.5204576862657
+2.400000 1.8287092321577
+2.700000 2.1691949368406
+3.000000 2.4647796185994
diff --git a/test/test_rad/phi_min.tl b/test/test_rad/phi_min.tl
new file mode 100644
index 0000000..cbfc2bf
--- /dev/null
+++ b/test/test_rad/phi_min.tl
@@ -0,0 +1,12 @@
+"phi min v time
+0.000000 0.0000304406955
+0.300000 0.0000587880473
+0.600000 0.0001066220773
+0.900000 0.0001528733824
+1.200000 -0.0013007895418
+1.500000 -0.0114373299182
+1.800000 -0.0351282211240
+2.100000 -0.0714935979610
+2.400000 -0.1141742235382
+2.700000 -0.1588348486246
+3.000000 -0.2022833272751
diff --git a/test/test_rad/phi_nm1.tl b/test/test_rad/phi_nm1.tl
new file mode 100644
index 0000000..bc32803
--- /dev/null
+++ b/test/test_rad/phi_nm1.tl
@@ -0,0 +1,12 @@
+"phi norm1 v time
+0.000000 0.3981503311756
+0.300000 0.3752018026277
+0.600000 0.3435276039045
+0.900000 0.3126496420779
+1.200000 0.2838333296070
+1.500000 0.2563863030009
+1.800000 0.2319741194982
+2.100000 0.2118209125547
+2.400000 0.1954829734317
+2.700000 0.1828967131275
+3.000000 0.1733128464220
diff --git a/test/test_rad/phi_nm2.tl b/test/test_rad/phi_nm2.tl
new file mode 100644
index 0000000..f363a7d
--- /dev/null
+++ b/test/test_rad/phi_nm2.tl
@@ -0,0 +1,12 @@
+"phi norm2 v time
+0.000000 0.5254444636163
+0.300000 0.5037530928451
+0.600000 0.4799071761854
+0.900000 0.4590512493988
+1.200000 0.4432820729590
+1.500000 0.4330548472628
+1.800000 0.4281580299168
+2.100000 0.4276503193089
+2.400000 0.4296880249513
+2.700000 0.4314929499377
+3.000000 0.4295647147745
diff --git a/test/test_wavetoycxx.par b/test/test_wavetoycxx.par
new file mode 100644
index 0000000..05533db
--- /dev/null
+++ b/test/test_wavetoycxx.par
@@ -0,0 +1,30 @@
+!DESC "Octant evolution with no boundary condition"
+
+ActiveThorns = "iobasic time wavetoycxx idscalarwavecxx pugh cartgrid3d ioutil ioascii"
+
+grid::type = "box"
+
+time::dtfac = 0.5
+
+idscalarwave::initial_data = "gaussian"
+idscalarwave::sigma = 0.1
+idscalarwave::radius = 0
+
+driver::global_nx = 20
+driver::global_ny = 20
+driver::global_nz = 20
+
+cactus::cctk_itlast = 10
+
+IOASCII::out1D_every = 2
+IOASCII::out1D_vars = "wavetoy::phi "
+IOASCII::out1D_z = "no"
+
+IOBasic::outScalar_every = 2
+IOBasic::outScalar_vars = "wavetoy::phi "
+
+IOBasic::outInfo_every = 2
+IOBasic::outInfo_vars = "wavetoy::phi "
+
+IO::outdir = "test_wavetoycxx"
+
diff --git a/test/test_wavetoycxx/phi.dl b/test/test_wavetoycxx/phi.dl
new file mode 100644
index 0000000..16493b0
--- /dev/null
+++ b/test/test_wavetoycxx/phi.dl
@@ -0,0 +1,138 @@
+
+
+"Time = 0.000000
+-0.866025 0.0000000000000
+-0.774865 0.0000000000000
+-0.683704 0.0000000000000
+-0.592544 0.0000000000000
+-0.501383 0.0000000000121
+-0.410223 0.0000000491566
+-0.319062 0.0000379191081
+-0.227901 0.0055502860213
+-0.136741 0.1541535501874
+-0.045580 0.8124050503725
+0.045580 0.8124050503725
+0.136741 0.1541535501874
+0.227901 0.0055502860213
+0.319062 0.0000379191081
+0.410223 0.0000000491566
+0.501383 0.0000000000121
+0.592544 0.0000000000000
+0.683704 0.0000000000000
+0.774865 0.0000000000000
+0.866025 0.0000000000000
+
+
+"Time = 0.052632
+-0.866025 0.0000000000000
+-0.774865 0.0000000000000
+-0.683704 0.0000000000000
+-0.592544 0.0000000000000
+-0.501383 -0.0000000000791
+-0.410223 -0.0000002406983
+-0.319062 -0.0000993771711
+-0.227901 -0.0072242068990
+-0.136741 -0.0979217322775
+-0.045580 -0.1950571619856
+0.045580 -0.1950571619856
+0.136741 -0.0979217322775
+0.227901 -0.0072242068990
+0.319062 -0.0000993771711
+0.410223 -0.0000002406983
+0.501383 -0.0000000000791
+0.592544 0.0000000000000
+0.683704 0.0000000000000
+0.774865 0.0000000000000
+0.866025 0.0000000000000
+
+
+"Time = 0.105263
+-0.866025 0.0000000000000
+-0.774865 0.0000000000000
+-0.683704 0.0000000000000
+-0.592544 -0.0000000000000
+-0.501383 -0.0000000070778
+-0.410223 -0.0000069066610
+-0.319062 -0.0010528818637
+-0.227901 -0.0332682845732
+-0.136741 -0.2986866103570
+-0.045580 -1.1290503258507
+0.045580 -1.1290503258507
+0.136741 -0.2986866103570
+0.227901 -0.0332682845732
+0.319062 -0.0010528818637
+0.410223 -0.0000069066610
+0.501383 -0.0000000070778
+0.592544 -0.0000000000000
+0.683704 0.0000000000000
+0.774865 0.0000000000000
+0.866025 0.0000000000000
+
+
+"Time = 0.157895
+-0.866025 0.0000000000000
+-0.774865 0.0000000000000
+-0.683704 0.0000000000000
+-0.592544 -0.0000000001229
+-0.501383 -0.0000003859714
+-0.410223 -0.0001219858026
+-0.319062 -0.0070834276763
+-0.227901 -0.0973584266251
+-0.136741 -0.4576544210254
+-0.045580 -0.9019842677611
+0.045580 -0.9019842677611
+0.136741 -0.4576544210254
+0.227901 -0.0973584266251
+0.319062 -0.0070834276763
+0.410223 -0.0001219858026
+0.501383 -0.0000003859714
+0.592544 -0.0000000001229
+0.683704 0.0000000000000
+0.774865 0.0000000000000
+0.866025 0.0000000000000
+
+
+"Time = 0.210526
+-0.866025 0.0000000000000
+-0.774865 0.0000000000000
+-0.683704 0.0000000000016
+-0.592544 -0.0000000159252
+-0.501383 -0.0000113878002
+-0.410223 -0.0012768875054
+-0.319062 -0.0304556068145
+-0.227901 -0.2006651910238
+-0.136741 -0.4997593550838
+-0.045580 -0.2663944260771
+0.045580 -0.2663944260771
+0.136741 -0.4997593550838
+0.227901 -0.2006651910238
+0.319062 -0.0304556068145
+0.410223 -0.0012768875054
+0.501383 -0.0000113878002
+0.592544 -0.0000000159252
+0.683704 0.0000000000016
+0.774865 0.0000000000000
+0.866025 0.0000000000000
+
+
+"Time = 0.263158
+-0.866025 0.0000000000000
+-0.774865 0.0000000000002
+-0.683704 -0.0000000003848
+-0.592544 -0.0000008256207
+-0.501383 -0.0001851985238
+-0.410223 -0.0080724403496
+-0.319062 -0.0860002778716
+-0.227901 -0.3020549188440
+-0.136741 -0.2694342257320
+-0.045580 -0.0172399268943
+0.045580 -0.0172399268943
+0.136741 -0.2694342257320
+0.227901 -0.3020549188440
+0.319062 -0.0860002778716
+0.410223 -0.0080724403496
+0.501383 -0.0001851985238
+0.592544 -0.0000008256207
+0.683704 -0.0000000003848
+0.774865 0.0000000000002
+0.866025 0.0000000000000
diff --git a/test/test_wavetoycxx/phi.xl b/test/test_wavetoycxx/phi.xl
new file mode 100644
index 0000000..9bef5dd
--- /dev/null
+++ b/test/test_wavetoycxx/phi.xl
@@ -0,0 +1,138 @@
+
+
+"Time = 0.000000
+-0.500000 0.0000000000121
+-0.447368 0.0000000017699
+-0.394737 0.0000001488657
+-0.342105 0.0000071951364
+-0.289474 0.0001998375962
+-0.236842 0.0031894000956
+-0.184211 0.0292505776823
+-0.131579 0.1541535501874
+-0.078947 0.4668380576006
+-0.026316 0.8124050503725
+0.026316 0.8124050503725
+0.078947 0.4668380576006
+0.131579 0.1541535501874
+0.184211 0.0292505776823
+0.236842 0.0031894000956
+0.289474 0.0001998375962
+0.342105 0.0000071951364
+0.394737 0.0000001488657
+0.447368 0.0000000017699
+0.500000 0.0000000000121
+
+
+"Time = 0.052632
+-0.500000 0.0000000000000
+-0.447368 0.0000002442580
+-0.394737 0.0000055185355
+-0.342105 0.0000636892398
+-0.289474 0.0002832523498
+-0.236842 -0.0010800497738
+-0.184211 -0.0182063021811
+-0.131579 -0.0835854975190
+-0.078947 -0.1767183072710
+-0.026316 -0.1950571619856
+0.026316 -0.1950571619856
+0.078947 -0.1767183072710
+0.131579 -0.0835854975190
+0.184211 -0.0182063021811
+0.236842 -0.0010800497738
+0.289474 0.0002832523498
+0.342105 0.0000636892398
+0.394737 0.0000055185355
+0.447368 0.0000002442580
+0.500000 0.0000000000000
+
+
+"Time = 0.105263
+-0.500000 0.0000000000000
+-0.447368 0.0000074500351
+-0.394737 0.0000571366688
+-0.342105 0.0000891850929
+-0.289474 -0.0021735254063
+-0.236842 -0.0208336611591
+-0.184211 -0.0974778459232
+-0.131579 -0.2995396203857
+-0.078947 -0.6860436385846
+-0.026316 -1.1290503258507
+0.026316 -1.1290503258507
+0.078947 -0.6860436385846
+0.131579 -0.2995396203857
+0.184211 -0.0974778459232
+0.236842 -0.0208336611591
+0.289474 -0.0021735254063
+0.342105 0.0000891850929
+0.394737 0.0000571366688
+0.447368 0.0000074500351
+0.500000 0.0000000000000
+
+
+"Time = 0.157895
+-0.500000 0.0000000000000
+-0.447368 0.0000404464126
+-0.394737 -0.0000934612273
+-0.342105 -0.0028408356519
+-0.289474 -0.0203343223830
+-0.236842 -0.0840586024960
+-0.184211 -0.2362253936422
+-0.131579 -0.4920251452215
+-0.078947 -0.7713978386790
+-0.026316 -0.9019842677611
+0.026316 -0.9019842677611
+0.078947 -0.7713978386790
+0.131579 -0.4920251452215
+0.184211 -0.2362253936422
+0.236842 -0.0840586024960
+0.289474 -0.0203343223830
+0.342105 -0.0028408356519
+0.394737 -0.0000934612273
+0.447368 0.0000404464126
+0.500000 0.0000000000000
+
+
+"Time = 0.210526
+-0.500000 0.0000000000000
+-0.447368 -0.0002560735304
+-0.394737 -0.0032223677845
+-0.342105 -0.0191504024223
+-0.289474 -0.0718425508255
+-0.236842 -0.1869773941527
+-0.184211 -0.3531984196037
+-0.131579 -0.4762760737732
+-0.078947 -0.4212470397782
+-0.026316 -0.2663944260771
+0.026316 -0.2663944260771
+0.078947 -0.4212470397782
+0.131579 -0.4762760737732
+0.184211 -0.3531984196037
+0.236842 -0.1869773941527
+0.289474 -0.0718425508255
+0.342105 -0.0191504024223
+0.394737 -0.0032223677845
+0.447368 -0.0002560735304
+0.500000 0.0000000000000
+
+
+"Time = 0.263158
+-0.500000 0.0000000000000
+-0.447368 -0.0034053135086
+-0.394737 -0.0177523942899
+-0.342105 -0.0616617809349
+-0.289474 -0.1512610524732
+-0.236842 -0.2676581405563
+-0.184211 -0.3314593226331
+-0.131579 -0.2530697030291
+-0.078947 -0.0930373771551
+-0.026316 -0.0172399268943
+0.026316 -0.0172399268943
+0.078947 -0.0930373771551
+0.131579 -0.2530697030291
+0.184211 -0.3314593226331
+0.236842 -0.2676581405563
+0.289474 -0.1512610524732
+0.342105 -0.0616617809349
+0.394737 -0.0177523942899
+0.447368 -0.0034053135086
+0.500000 0.0000000000000
diff --git a/test/test_wavetoycxx/phi.yl b/test/test_wavetoycxx/phi.yl
new file mode 100644
index 0000000..9bef5dd
--- /dev/null
+++ b/test/test_wavetoycxx/phi.yl
@@ -0,0 +1,138 @@
+
+
+"Time = 0.000000
+-0.500000 0.0000000000121
+-0.447368 0.0000000017699
+-0.394737 0.0000001488657
+-0.342105 0.0000071951364
+-0.289474 0.0001998375962
+-0.236842 0.0031894000956
+-0.184211 0.0292505776823
+-0.131579 0.1541535501874
+-0.078947 0.4668380576006
+-0.026316 0.8124050503725
+0.026316 0.8124050503725
+0.078947 0.4668380576006
+0.131579 0.1541535501874
+0.184211 0.0292505776823
+0.236842 0.0031894000956
+0.289474 0.0001998375962
+0.342105 0.0000071951364
+0.394737 0.0000001488657
+0.447368 0.0000000017699
+0.500000 0.0000000000121
+
+
+"Time = 0.052632
+-0.500000 0.0000000000000
+-0.447368 0.0000002442580
+-0.394737 0.0000055185355
+-0.342105 0.0000636892398
+-0.289474 0.0002832523498
+-0.236842 -0.0010800497738
+-0.184211 -0.0182063021811
+-0.131579 -0.0835854975190
+-0.078947 -0.1767183072710
+-0.026316 -0.1950571619856
+0.026316 -0.1950571619856
+0.078947 -0.1767183072710
+0.131579 -0.0835854975190
+0.184211 -0.0182063021811
+0.236842 -0.0010800497738
+0.289474 0.0002832523498
+0.342105 0.0000636892398
+0.394737 0.0000055185355
+0.447368 0.0000002442580
+0.500000 0.0000000000000
+
+
+"Time = 0.105263
+-0.500000 0.0000000000000
+-0.447368 0.0000074500351
+-0.394737 0.0000571366688
+-0.342105 0.0000891850929
+-0.289474 -0.0021735254063
+-0.236842 -0.0208336611591
+-0.184211 -0.0974778459232
+-0.131579 -0.2995396203857
+-0.078947 -0.6860436385846
+-0.026316 -1.1290503258507
+0.026316 -1.1290503258507
+0.078947 -0.6860436385846
+0.131579 -0.2995396203857
+0.184211 -0.0974778459232
+0.236842 -0.0208336611591
+0.289474 -0.0021735254063
+0.342105 0.0000891850929
+0.394737 0.0000571366688
+0.447368 0.0000074500351
+0.500000 0.0000000000000
+
+
+"Time = 0.157895
+-0.500000 0.0000000000000
+-0.447368 0.0000404464126
+-0.394737 -0.0000934612273
+-0.342105 -0.0028408356519
+-0.289474 -0.0203343223830
+-0.236842 -0.0840586024960
+-0.184211 -0.2362253936422
+-0.131579 -0.4920251452215
+-0.078947 -0.7713978386790
+-0.026316 -0.9019842677611
+0.026316 -0.9019842677611
+0.078947 -0.7713978386790
+0.131579 -0.4920251452215
+0.184211 -0.2362253936422
+0.236842 -0.0840586024960
+0.289474 -0.0203343223830
+0.342105 -0.0028408356519
+0.394737 -0.0000934612273
+0.447368 0.0000404464126
+0.500000 0.0000000000000
+
+
+"Time = 0.210526
+-0.500000 0.0000000000000
+-0.447368 -0.0002560735304
+-0.394737 -0.0032223677845
+-0.342105 -0.0191504024223
+-0.289474 -0.0718425508255
+-0.236842 -0.1869773941527
+-0.184211 -0.3531984196037
+-0.131579 -0.4762760737732
+-0.078947 -0.4212470397782
+-0.026316 -0.2663944260771
+0.026316 -0.2663944260771
+0.078947 -0.4212470397782
+0.131579 -0.4762760737732
+0.184211 -0.3531984196037
+0.236842 -0.1869773941527
+0.289474 -0.0718425508255
+0.342105 -0.0191504024223
+0.394737 -0.0032223677845
+0.447368 -0.0002560735304
+0.500000 0.0000000000000
+
+
+"Time = 0.263158
+-0.500000 0.0000000000000
+-0.447368 -0.0034053135086
+-0.394737 -0.0177523942899
+-0.342105 -0.0616617809349
+-0.289474 -0.1512610524732
+-0.236842 -0.2676581405563
+-0.184211 -0.3314593226331
+-0.131579 -0.2530697030291
+-0.078947 -0.0930373771551
+-0.026316 -0.0172399268943
+0.026316 -0.0172399268943
+0.078947 -0.0930373771551
+0.131579 -0.2530697030291
+0.184211 -0.3314593226331
+0.236842 -0.2676581405563
+0.289474 -0.1512610524732
+0.342105 -0.0616617809349
+0.394737 -0.0177523942899
+0.447368 -0.0034053135086
+0.500000 0.0000000000000
diff --git a/test/test_wavetoycxx/phi_max.tl b/test/test_wavetoycxx/phi_max.tl
new file mode 100644
index 0000000..6355b45
--- /dev/null
+++ b/test/test_wavetoycxx/phi_max.tl
@@ -0,0 +1,7 @@
+"phi max v time
+0.000000 0.8124050503725
+0.052632 0.0002832523498
+0.105263 0.0000891850929
+0.157895 0.0000404464126
+0.210526 0.0000003961843
+0.263158 0.0000001100396
diff --git a/test/test_wavetoycxx/phi_min.tl b/test/test_wavetoycxx/phi_min.tl
new file mode 100644
index 0000000..c002c48
--- /dev/null
+++ b/test/test_wavetoycxx/phi_min.tl
@@ -0,0 +1,7 @@
+"phi min v time
+0.000000 0.0000000000000
+0.052632 -0.1950571619856
+0.105263 -1.1290503258507
+0.157895 -0.9019842677611
+0.210526 -0.4997593550838
+0.263158 -0.3594146186544
diff --git a/test/test_wavetoycxx/phi_nm1.tl b/test/test_wavetoycxx/phi_nm1.tl
new file mode 100644
index 0000000..5ac6c8a
--- /dev/null
+++ b/test/test_wavetoycxx/phi_nm1.tl
@@ -0,0 +1,7 @@
+"phi norm1 v time
+0.000000 0.0047741452163
+0.052632 0.0023586563889
+0.105263 0.0094832901772
+0.157895 0.0166095490057
+0.210526 0.0237365580785
+0.263158 0.0308582835984
diff --git a/test/test_wavetoycxx/phi_nm2.tl b/test/test_wavetoycxx/phi_nm2.tl
new file mode 100644
index 0000000..e9504b4
--- /dev/null
+++ b/test/test_wavetoycxx/phi_nm2.tl
@@ -0,0 +1,7 @@
+"phi norm2 v time
+0.000000 0.0410842432418
+0.052632 0.0158441957039
+0.105263 0.0637392141088
+0.157895 0.0805995803466
+0.210526 0.0821416890830
+0.263158 0.0821638479507