aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorallen <allen@90eea020-d82d-4da5-bf6e-4ee79ff7632f>1999-09-10 13:17:29 +0000
committerallen <allen@90eea020-d82d-4da5-bf6e-4ee79ff7632f>1999-09-10 13:17:29 +0000
commit5424fb9e49a1d37b3e1f13806bf6aa3d81e4874f (patch)
tree81ddca6c9e2f91f058639132c16cadef2595120b
parentf56f298c3b29c36f03bf55e7a44c7a6fc124bc0a (diff)
This commit was generated by cvs2svn to compensate for changes in r2, which
included commits to RCS files with non-trunk default branches. git-svn-id: http://svn.cactuscode.org/arrangements/CactusWave/WaveToyC/trunk@3 90eea020-d82d-4da5-bf6e-4ee79ff7632f
-rw-r--r--README7
-rw-r--r--interface.ccl29
-rw-r--r--par/wavetoy.par18
-rw-r--r--par/wavetoy_flat.par45
-rw-r--r--par/wavetoy_none.par45
-rw-r--r--par/wavetoyc_rad.par45
-rw-r--r--param.ccl13
-rw-r--r--schedule.ccl27
-rw-r--r--src/InitSymBound.c40
-rw-r--r--src/Startup.c18
-rw-r--r--src/WaveToy.c157
-rw-r--r--src/make.code.defn9
-rw-r--r--test/test_wavetoyc.par30
-rw-r--r--test/test_wavetoyc/phi.dl138
-rw-r--r--test/test_wavetoyc/phi.xl138
-rw-r--r--test/test_wavetoyc/phi.yl138
-rw-r--r--test/test_wavetoyc/phi_max.tl7
-rw-r--r--test/test_wavetoyc/phi_min.tl7
-rw-r--r--test/test_wavetoyc/phi_nm1.tl7
-rw-r--r--test/test_wavetoyc/phi_nm2.tl7
20 files changed, 925 insertions, 0 deletions
diff --git a/README b/README
new file mode 100644
index 0000000..9ee0354
--- /dev/null
+++ b/README
@@ -0,0 +1,7 @@
+Cactus Code Thorn WaveToyC
+Authors : ...
+CVS info : $Header$
+--------------------------------------------------------------------------
+
+Purpose of the thorn:
+
diff --git a/interface.ccl b/interface.ccl
new file mode 100644
index 0000000..c267fb6
--- /dev/null
+++ b/interface.ccl
@@ -0,0 +1,29 @@
+# Interface definition for thorn WaveToyC
+# $Header$
+
+implements: wavetoy
+
+public:
+
+cctk_real scalarevolve type = GF
+{
+ phi
+} "The evolved scalar field"
+
+protected:
+
+cctk_real scalarold type = GF
+{
+ phi_old
+} "The scalar field at the last timestep"
+
+private:
+
+cctk_real scalartmps type = GF
+{
+ tmp
+} "Temporary GFs for WaveToy"
+
+
+
+
diff --git a/par/wavetoy.par b/par/wavetoy.par
new file mode 100644
index 0000000..1344d3a
--- /dev/null
+++ b/par/wavetoy.par
@@ -0,0 +1,18 @@
+# wavetoyc.par - minimal wavetoy evolution
+# $Id$
+#
+# /*@@
+# @file wavetoyc.par
+# @date Sunday 24th July
+# @author Gabrielle Allen
+# @desc
+# Wavetoy parameter file demonstrating minimal evolution
+# @enddesc
+# @@*/
+
+ActiveThorns = "idscalarwave time wavetoyc pugh cartgrid3d ioutil ioascii"
+
+time::dtfac = 0.5
+
+IOASCII::out1D_vars = "wavetoy::phi"
+
diff --git a/par/wavetoy_flat.par b/par/wavetoy_flat.par
new file mode 100644
index 0000000..cc3fb77
--- /dev/null
+++ b/par/wavetoy_flat.par
@@ -0,0 +1,45 @@
+# wavetoy_flat.par - wavetoy evolution with flat boundaries
+# $Id$
+#
+# /*@@
+# @file wavetoy_flat.par
+# @date Sunday 24th July
+# @author Gabrielle Allen
+# @desc
+# Wavetoy parameter file demonstrating flat boundaries in Octant
+# @enddesc
+# @@*/
+
+ActiveThorns = "idscalarwave time wavetoyc pugh cartgrid3d ioutil ioascii"
+
+time::dtfac = 0.5
+
+idscalarwave::initial_data = "gaussian"
+idscalarwave::sigma = 2.8
+idscalarwave::radius = 0
+
+wavetoy::bound = "flat"
+
+grid::type = "BySpacing"
+grid::domain = "octant"
+grid::dxyz = 0.3
+
+driver::global_nx = 30
+driver::global_ny = 30
+driver::global_nz = 30
+
+cctk_itlast = 500
+
+IOASCII::out0D_every = 10
+IOASCII::out0D_vars = "wavetoy::phi"
+
+IOASCII::out1D_every = 10
+IOASCII::out1D_z = "no"
+IOASCII::out1D_y = "no"
+IOASCII::out1D_vars = "wavetoy::phi "
+
+IOASCII::outinfo_every = 50
+IOASCII::outinfo_vars = "wavetoy::phi"
+
+IO::outdir = "wavetoy_flat"
+
diff --git a/par/wavetoy_none.par b/par/wavetoy_none.par
new file mode 100644
index 0000000..916d2cf
--- /dev/null
+++ b/par/wavetoy_none.par
@@ -0,0 +1,45 @@
+# wavetoy_none.par - wavetoy evolution with no boundaries
+# $Id$
+#
+# /*@@
+# @file wavetoy_rad.par
+# @date Sunday 24th July
+# @author Gabrielle Allen
+# @desc
+# Wavetoy parameter file demonstrating no boundaries in Octant
+# @enddesc
+# @@*/
+
+ActiveThorns = "idscalarwave time wavetoyc pugh cartgrid3d ioutil ioascii"
+
+time::dtfac = 0.5
+
+idscalarwave::initial_data = "gaussian"
+idscalarwave::sigma = 2.8
+idscalarwave::radius = 0
+
+wavetoyc::bound = "none"
+
+grid::type = "BySpacing"
+grid::domain = "octant"
+grid::dxyz = 0.3
+
+driver::global_nx = 30
+driver::global_ny = 30
+driver::global_nz = 30
+
+cctk_itlast = 500
+
+IOASCII::out0D_every = 10
+IOASCII::out0D_vars = "wavetoy::phi"
+
+IOASCII::out1D_every = 10
+IOASCII::out1D_z = "no"
+IOASCII::out1D_y = "no"
+IOASCII::out1D_vars = "wavetoy::phi "
+
+IOASCII::outinfo_every = 50
+IOASCII::outinfo_vars = "wavetoy::phi"
+
+IO::outdir = "wavetoy_none"
+
diff --git a/par/wavetoyc_rad.par b/par/wavetoyc_rad.par
new file mode 100644
index 0000000..b737374
--- /dev/null
+++ b/par/wavetoyc_rad.par
@@ -0,0 +1,45 @@
+# wavetoyc_rad.par - wavetoy evolution with radiation boundaries
+# $Id$
+#
+# /*@@
+# @file wavetoyc_rad.par
+# @date Sunday 24th July
+# @author Gabrielle Allen
+# @desc
+# Wavetoy parameter file demonstrating radiation boundaries in Octant
+# @enddesc
+# @@*/
+
+ActiveThorns = "idscalarwave time wavetoyc pugh cartgrid3d ioutil ioascii"
+
+time::dtfac = 0.5
+
+idscalarwave::initial_data = "gaussian"
+idscalarwave::sigma = 2.8
+idscalarwave::radius = 0
+
+wavetoyc::bound = "radiation"
+
+grid::type = "BySpacing"
+grid::domain = "octant"
+grid::dxyz = 0.3
+
+driver::global_nx = 30
+driver::global_ny = 30
+driver::global_nz = 30
+
+cctk_itlast = 120
+
+IOASCII::out0D_every = 2
+IOASCII::out0D_vars = "wavetoy::phi"
+
+IOASCII::out1D_every = 2
+#IOASCII::out1D_z = "no"
+#IOASCII::out1D_y = "no"
+IOASCII::out1D_vars = "wavetoy::phi "
+
+IOASCII::outinfo_every = 10
+IOASCII::outinfo_vars = "wavetoy::phi"
+
+IO::outdir = "wavetoy_rad"
+
diff --git a/param.ccl b/param.ccl
new file mode 100644
index 0000000..b22e27d
--- /dev/null
+++ b/param.ccl
@@ -0,0 +1,13 @@
+# Parameter definitions for thorn WaveToyC
+# $Header$
+
+private:
+
+KEYWORD bound "Type of boundary condition to use"
+{
+ "none" :: "No boundary condition"
+ "flat" :: "Flat boundary condition"
+ "radiation" :: "Radiation boundary condition"
+} "none"
+
+
diff --git a/schedule.ccl b/schedule.ccl
new file mode 100644
index 0000000..45df973
--- /dev/null
+++ b/schedule.ccl
@@ -0,0 +1,27 @@
+# Schedule definitions for thorn WaveToyC
+# $Header$
+
+schedule WaveToyC_Startup at CCTK_STARTUP
+{
+ LANG: C
+} "Register banner"
+
+schedule WaveToyC_InitSymBound at CCTK_BASEGRID
+{
+ LANG: C
+} "Schedule symmetries"
+
+# The basic fields always need memory and communication
+# -----------------------------------------------------
+STORAGE: scalarevolve,scalarold
+COMMUNICATION: scalarevolve
+
+# Scalartmps are needed, without communication, during evolution
+# --------------------------------------------------------------
+schedule WaveToyC_Evolution at CCTK_EVOL
+{
+ LANG: C
+ STORAGE: scalartmps
+} "Evolution of 3D wave equation"
+
+
diff --git a/src/InitSymBound.c b/src/InitSymBound.c
new file mode 100644
index 0000000..d075e9a
--- /dev/null
+++ b/src/InitSymBound.c
@@ -0,0 +1,40 @@
+ /*@@
+ @file InitSymBound.c
+ @date
+ @author Gabrielle Allen
+ @desc
+ Sets the symmetries for Wave Toy
+ @enddesc
+ @@*/
+
+#include "cctk.h"
+#include "cctk_arguments.h"
+
+ /*@@
+ @routine WaveToyC_InitSymBound
+ @date
+ @author Gabrielle Allen
+ @desc
+ Sets the symmetries for Wave Toy
+ @enddesc
+ @calls
+ @calledby
+ @history
+
+ @endhistory
+
+@@*/
+
+void WaveToyC_InitSymBound(CCTK_CARGUMENTS)
+{
+ DECLARE_CCTK_CARGUMENTS
+
+ int sym[3];
+
+ sym[0] = 1;
+ sym[1] = 1;
+ sym[2] = 1;
+
+ SetCartSymmetry(cctkGH, sym,"wavetoy::phi");
+
+} \ No newline at end of file
diff --git a/src/Startup.c b/src/Startup.c
new file mode 100644
index 0000000..2886535
--- /dev/null
+++ b/src/Startup.c
@@ -0,0 +1,18 @@
+ /*@@
+ @file Startup.c
+ @date
+ @author Gabrielle Allen
+ @desc
+ Register banner
+ @enddesc
+ @@*/
+
+int WaveToyC_Startup(void)
+{
+
+ const char *banner =
+"WaveToyC: Evolutions of a Scalar Field";
+
+ CCTK_RegisterBanner(banner);
+
+}
diff --git a/src/WaveToy.c b/src/WaveToy.c
new file mode 100644
index 0000000..5635056
--- /dev/null
+++ b/src/WaveToy.c
@@ -0,0 +1,157 @@
+ /*@@
+ @file WaveToy.c
+ @date
+ @author Tom Goodale
+ @desc
+ Evolution routines for the wave equation solver
+ @enddesc
+ @@*/
+
+#include "cctk.h"
+#include "cctk_parameters.h"
+#include "cctk_arguments.h"
+
+#include "cctk_Flesh.h"
+#include "cctk_Misc.h"
+#include "cctk_Comm.h"
+
+#include "CactusBase/Boundary/src/Boundary.h"
+
+ /*@@
+ @routine WaveToyC_Boundaries
+ @date
+ @author Tom Goodale
+ @desc
+ Boundary conditions for the wave equation
+ @enddesc
+ @calls ApplyFlatBC,ApplyRadiativeBC
+ @calledby
+ @history
+
+ @endhistory
+
+@@*/
+
+void WaveToyC_Boundaries(CCTK_CARGUMENTS)
+{
+ DECLARE_CCTK_CARGUMENTS
+ DECLARE_CCTK_PARAMETERS
+
+ int sw[3];
+
+ /* Set the stencil width */
+ sw[0]=1;
+ sw[1]=1;
+ sw[2]=1;
+
+ ApplySymmetry(cctkGH,"wavetoy::scalarevolve");
+
+ if (CCTK_EQUALS(bound,"flat"))
+ {
+ ApplyFlatBC(cctkGH,sw,"wavetoy::phi");
+ }
+ else if (CCTK_Equals(bound,"radiation"))
+ {
+ ApplyRadiativeBC(cctkGH,1,sw,"wavetoy::phi","wavetoy::phi_old");
+ }
+
+}
+
+
+ /*@@
+ @routine WaveToyC_Evolution
+ @date
+ @author Tom Goodale
+ @desc
+ Evolution for the wave equation
+ @enddesc
+ @calls CCTK_SyncGroup, wavetoy_boundaries
+ @calledby
+ @history
+
+ @endhistory
+
+@@*/
+
+void WaveToyC_Evolution(CCTK_CARGUMENTS)
+{
+ DECLARE_CCTK_CARGUMENTS
+ DECLARE_CCTK_PARAMETERS
+
+ int i,j,k;
+ int istart, jstart, kstart, iend, jend, kend;
+ CCTK_REAL dx,dy,dz,dt,dx2,dy2,dz2,dt2;
+
+ /* Set up shorthands */
+ 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;
+
+ istart = 1;
+ jstart = 1;
+ kstart = 1;
+
+ iend = cctk_lsh[0]-1;
+ jend = cctk_lsh[1]-1;
+ kend = cctk_lsh[2]-1;
+
+ /* Do the evolution */
+
+ for (k=kstart; k<kend; k++)
+ {
+ for (j=jstart; j<jend; j++)
+ {
+ for (i=istart; i<iend; i++)
+ {
+ tmp[CCTK_GFINDEX3D(cctkGH,i,j,k)] =
+ 2*(1 - (dt2)*(1/dx2 + 1/dy2 + 1/dz2))*
+ phi[CCTK_GFINDEX3D(cctkGH,i,j,k)] -
+ phi_old[CCTK_GFINDEX3D(cctkGH,i,j,k)]
+ + (dt2) *
+ ( ( phi[CCTK_GFINDEX3D(cctkGH,i+1,j,k)]
+ +phi[CCTK_GFINDEX3D(cctkGH,i-1,j,k)] )/dx2
+ +( phi[CCTK_GFINDEX3D(cctkGH,i,j+1,k)]
+ +phi[CCTK_GFINDEX3D(cctkGH,i,j-1,k)] )/dy2
+ +( phi[CCTK_GFINDEX3D(cctkGH,i,j,k+1)]
+ +phi[CCTK_GFINDEX3D(cctkGH,i,j,k-1)] )/dz2);
+ }
+ }
+ }
+
+ /* Update timeslices */
+ for (k=kstart; k<kend; k++)
+ {
+ for (j=jstart; j<jend; j++)
+ {
+ for (i=istart; i<iend; i++)
+ {
+ phi_old[CCTK_GFINDEX3D(cctkGH,i,j,k)]
+ = phi[CCTK_GFINDEX3D(cctkGH,i,j,k)];
+ phi[CCTK_GFINDEX3D(cctkGH,i,j,k)]
+ = tmp[CCTK_GFINDEX3D(cctkGH,i,j,k)];
+ }
+ }
+ }
+
+ /* Apply boundary conditions */
+ WaveToyC_Boundaries(CCTK_PASS_CTOC);
+
+ /* Synchronize */
+ CCTK_SyncGroup(cctkGH,"wavetoy::scalarevolve");
+
+}
+
+
+
+
+
+
+
+
+
diff --git a/src/make.code.defn b/src/make.code.defn
new file mode 100644
index 0000000..a3c63f2
--- /dev/null
+++ b/src/make.code.defn
@@ -0,0 +1,9 @@
+# Main make.code.defn file for thorn WaveToyC
+# $Header$
+
+# Source files in this directory
+SRCS = WaveToy.c InitSymBound.c Startup.c
+
+# Subdirectories containing source files
+SUBDIRS =
+
diff --git a/test/test_wavetoyc.par b/test/test_wavetoyc.par
new file mode 100644
index 0000000..df54eaa
--- /dev/null
+++ b/test/test_wavetoyc.par
@@ -0,0 +1,30 @@
+# test_wavetoyc.par : WaveToyC
+
+ActiveThorns = "time wavetoyc idscalarwave 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
+
+cctk_itlast = 10
+
+IOASCII::out1D_every = 2
+IOASCII::out1D_vars = "wavetoy::phi "
+IOASCII::out1D_z = "no"
+
+IOASCII::out0D_every = 2
+IOASCII::out0D_vars = "wavetoy::phi "
+
+IOASCII::outinfo_every = 2
+IOASCII::outinfo_vars = "wavetoy::phi "
+
+IO::outdir = "test_wavetoyc"
+
diff --git a/test/test_wavetoyc/phi.dl b/test/test_wavetoyc/phi.dl
new file mode 100644
index 0000000..16493b0
--- /dev/null
+++ b/test/test_wavetoyc/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_wavetoyc/phi.xl b/test/test_wavetoyc/phi.xl
new file mode 100644
index 0000000..16f9fb1
--- /dev/null
+++ b/test/test_wavetoyc/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.0000000000121
+-0.447368 0.0000002442610
+-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.0000002442610
+0.500000 0.0000000000121
+
+
+"Time = 0.105263
+-0.500000 0.0000000000121
+-0.447368 0.0000074500443
+-0.394737 0.0000571366715
+-0.342105 0.0000891850931
+-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.0000891850931
+0.394737 0.0000571366715
+0.447368 0.0000074500443
+0.500000 0.0000000000121
+
+
+"Time = 0.157895
+-0.500000 0.0000000000121
+-0.447368 0.0000404464198
+-0.394737 -0.0000934612207
+-0.342105 -0.0028408356496
+-0.289474 -0.0203343223828
+-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.0203343223828
+0.342105 -0.0028408356496
+0.394737 -0.0000934612207
+0.447368 0.0000404464198
+0.500000 0.0000000000121
+
+
+"Time = 0.210526
+-0.500000 0.0000000000121
+-0.447368 -0.0002560735251
+-0.394737 -0.0032223677798
+-0.342105 -0.0191504024175
+-0.289474 -0.0718425508236
+-0.236842 -0.1869773941523
+-0.184211 -0.3531984196036
+-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.3531984196036
+0.236842 -0.1869773941523
+0.289474 -0.0718425508236
+0.342105 -0.0191504024175
+0.394737 -0.0032223677798
+0.447368 -0.0002560735251
+0.500000 0.0000000000121
+
+
+"Time = 0.263158
+-0.500000 0.0000000000121
+-0.447368 -0.0034053135025
+-0.394737 -0.0177523942876
+-0.342105 -0.0616617809316
+-0.289474 -0.1512610524696
+-0.236842 -0.2676581405547
+-0.184211 -0.3314593226328
+-0.131579 -0.2530697030290
+-0.078947 -0.0930373771550
+-0.026316 -0.0172399268943
+0.026316 -0.0172399268943
+0.078947 -0.0930373771550
+0.131579 -0.2530697030290
+0.184211 -0.3314593226328
+0.236842 -0.2676581405547
+0.289474 -0.1512610524696
+0.342105 -0.0616617809316
+0.394737 -0.0177523942876
+0.447368 -0.0034053135025
+0.500000 0.0000000000121
diff --git a/test/test_wavetoyc/phi.yl b/test/test_wavetoyc/phi.yl
new file mode 100644
index 0000000..16f9fb1
--- /dev/null
+++ b/test/test_wavetoyc/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.0000000000121
+-0.447368 0.0000002442610
+-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.0000002442610
+0.500000 0.0000000000121
+
+
+"Time = 0.105263
+-0.500000 0.0000000000121
+-0.447368 0.0000074500443
+-0.394737 0.0000571366715
+-0.342105 0.0000891850931
+-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.0000891850931
+0.394737 0.0000571366715
+0.447368 0.0000074500443
+0.500000 0.0000000000121
+
+
+"Time = 0.157895
+-0.500000 0.0000000000121
+-0.447368 0.0000404464198
+-0.394737 -0.0000934612207
+-0.342105 -0.0028408356496
+-0.289474 -0.0203343223828
+-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.0203343223828
+0.342105 -0.0028408356496
+0.394737 -0.0000934612207
+0.447368 0.0000404464198
+0.500000 0.0000000000121
+
+
+"Time = 0.210526
+-0.500000 0.0000000000121
+-0.447368 -0.0002560735251
+-0.394737 -0.0032223677798
+-0.342105 -0.0191504024175
+-0.289474 -0.0718425508236
+-0.236842 -0.1869773941523
+-0.184211 -0.3531984196036
+-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.3531984196036
+0.236842 -0.1869773941523
+0.289474 -0.0718425508236
+0.342105 -0.0191504024175
+0.394737 -0.0032223677798
+0.447368 -0.0002560735251
+0.500000 0.0000000000121
+
+
+"Time = 0.263158
+-0.500000 0.0000000000121
+-0.447368 -0.0034053135025
+-0.394737 -0.0177523942876
+-0.342105 -0.0616617809316
+-0.289474 -0.1512610524696
+-0.236842 -0.2676581405547
+-0.184211 -0.3314593226328
+-0.131579 -0.2530697030290
+-0.078947 -0.0930373771550
+-0.026316 -0.0172399268943
+0.026316 -0.0172399268943
+0.078947 -0.0930373771550
+0.131579 -0.2530697030290
+0.184211 -0.3314593226328
+0.236842 -0.2676581405547
+0.289474 -0.1512610524696
+0.342105 -0.0616617809316
+0.394737 -0.0177523942876
+0.447368 -0.0034053135025
+0.500000 0.0000000000121
diff --git a/test/test_wavetoyc/phi_max.tl b/test/test_wavetoyc/phi_max.tl
new file mode 100644
index 0000000..7045ed2
--- /dev/null
+++ b/test/test_wavetoyc/phi_max.tl
@@ -0,0 +1,7 @@
+"phi max v time
+0.000000 0.8124050503725
+0.052632 0.0002832523498
+0.105263 0.0000891850931
+0.157895 0.0000404464198
+0.210526 0.0000003961846
+0.263158 0.0000001100396
diff --git a/test/test_wavetoyc/phi_min.tl b/test/test_wavetoyc/phi_min.tl
new file mode 100644
index 0000000..a1d8579
--- /dev/null
+++ b/test/test_wavetoyc/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.3594146186543
diff --git a/test/test_wavetoyc/phi_nm1.tl b/test/test_wavetoyc/phi_nm1.tl
new file mode 100644
index 0000000..308df3b
--- /dev/null
+++ b/test/test_wavetoyc/phi_nm1.tl
@@ -0,0 +1,7 @@
+"phi norm1 v time
+0.000000 0.0047741452163
+0.052632 0.0023586563891
+0.105263 0.0094832901774
+0.157895 0.0166095490058
+0.210526 0.0237365580782
+0.263158 0.0308582835981
diff --git a/test/test_wavetoyc/phi_nm2.tl b/test/test_wavetoyc/phi_nm2.tl
new file mode 100644
index 0000000..ecafbb3
--- /dev/null
+++ b/test/test_wavetoyc/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.0821416890829
+0.263158 0.0821638479504