[SCM] Gerris Flow Solver branch, upstream, updated. b3aa46814a06c9cb2912790b23916ffb44f1f203
Stephane Popinet
s.popinet at niwa.co.nz
Fri May 15 02:52:36 UTC 2009
The following commit has been merged in the upstream branch:
commit 69394f445d0e300ca63a7828070718be4d15f837
Author: Stephane Popinet <s.popinet at niwa.co.nz>
Date: Thu Sep 15 14:12:49 2005 +1000
New circular waves shallow-water test case
darcs-hash:20050915041249-fbd8f-4cb8d1708e61d9c06baa61ca86505740f3b4ab9a.gz
diff --git a/test/euler/Makefile.am b/test/euler/Makefile.am
index 65c8c64..da7833c 100644
--- a/test/euler/Makefile.am
+++ b/test/euler/Makefile.am
@@ -1,14 +1,15 @@
## Process this file with automake to produce Makefile.in
TESTDIRS = \
+ poisson \
+ circle \
reynolds \
periodic \
merging \
boundaries \
channel \
spurious \
- poisson \
- circle
+ waves
EXTRA_DIST = \
template.tex \
diff --git a/test/euler/template.tex b/test/euler/template.tex
index 225796d..276e9a3 100644
--- a/test/euler/template.tex
+++ b/test/euler/template.tex
@@ -51,6 +51,10 @@ current stable branch of the version-controlled source code.
\input{spurious/spurious.tex}
+\section{Shallow-water}
+
+\input{waves/waves.tex}
+
\bibliographystyle{plain}
\bibliography{tests}
diff --git a/test/euler/tests.bib b/test/euler/tests.bib
index ea9380d..ea5da9d 100644
--- a/test/euler/tests.bib
+++ b/test/euler/tests.bib
@@ -21,6 +21,13 @@
local_url = {almgren1.ps.gz}
}
+ at Book{lamb,
+ author = {H. Lamb},
+ title = {Hydrodynamics},
+ publisher = {Dover},
+ year = 1932
+}
+
@Article{minion96,
author = {M. L. Minion},
title = {A Projection Method for Locally Refined Grids},
@@ -62,3 +69,11 @@
url = {http://www-xdiv.lanl.gov/XHM/personnel/wjr/Web_papers/proj/proj.ps.Z},
pages= {81-85}
}
+
+ at TechReport{rutgers-waves,
+ author = {E. Curchitser},
+ title = {Waves in a circular basin},
+ institution = {Rutgers University},
+ year = 2005,
+ url = {http://marine.rutgers.edu/po/index.php?model=test-problems&title=circle}
+}
diff --git a/test/euler/waves/correlation.ref b/test/euler/waves/correlation.ref
new file mode 100644
index 0000000..97b81c9
--- /dev/null
+++ b/test/euler/waves/correlation.ref
@@ -0,0 +1,3 @@
+5 2.7 0.9316
+6 0.6 0.9992
+7 0.4 1.001
diff --git a/test/euler/circle/star/solution.gfv b/test/euler/waves/solution.gfv
similarity index 78%
copy from test/euler/circle/star/solution.gfv
copy to test/euler/waves/solution.gfv
index b701aa1..589388d 100644
--- a/test/euler/circle/star/solution.gfv
+++ b/test/euler/waves/solution.gfv
@@ -8,15 +8,17 @@ View {
lc = 0.001
reactivity = 0.1
}
-Boundaries {
- r = 0 g = 0 b = 0
- shading = Constant
- maxlevel = -1
-}
-Solid {
+Squares {
r = 0 g = 0 b = 0
shading = Constant
maxlevel = -1
+} {
+ n.x = 0 n.y = 0 n.z = 1
+ pos = 0
+} P {
+ amin = 1
+ amax = 1
+ cmap = Jet
}
Isoline {
r = 0 g = 0 b = 0
@@ -30,5 +32,5 @@ Isoline {
amax = 1
cmap = Jet
} {
- n = 30
+ n = 16
}
diff --git a/test/euler/waves/waves.gfs b/test/euler/waves/waves.gfs
new file mode 100644
index 0000000..ed13c62
--- /dev/null
+++ b/test/euler/waves/waves.gfs
@@ -0,0 +1,1590 @@
+# Title: Coastally-trapped waves
+#
+# Description:
+#
+# A simulation is initialised with an exact solution found by Lamb
+# \cite{lamb} for inertia-gravity waves in a circular, flat-bottomed
+# basin on an $f$-plane.
+#
+# The waves should rotate unchanged around the basin. This is a good
+# test of the shallow-water solver with Coriolis terms and non-trivial
+# coastlines.
+#
+# Figure \ref{solution} illustrates the solution obtained after three
+# wave periods.
+#
+# Following \cite{rutgers-waves}, Table \ref{correlation} presents the
+# phase error and the maximum correlation between the computed
+# solution and the exact solution. Note that these results are not
+# directly comparable to \cite{rutgers-waves}, because the timestep
+# used is much larger. The time-explicit codes tested in
+# \cite{rutgers-waves} have stronger stability requirements than
+# Gerris.
+#
+# \begin{figure}[htbp]
+# \begin{center}
+# \includegraphics[width=0.6\hsize]{solution.eps}
+# \end{center}
+# \caption{Surface-height after a rotation of 3 wave periods for a
+# resolution of 9.375 km.}
+# \label{solution}
+# \end{figure}
+#
+# \begin{table}[htbp]
+# \begin{center}
+# \input{correlation.tex}
+# \end{center}
+# \caption{Maximum correlation and phase error as functions of resolution.}
+# \label{correlation}
+# \end{table}
+#
+# Author: St\'ephane Popinet
+# Command: sh waves.sh waves.gfs
+# Version: 0.8.0
+# Required files: waves.sh solution.gfv correlation.ref
+# Generated files: correlation correlation.tex solution.eps
+#
+1 0 GfsOcean GfsBox GfsGEdge {} {
+ Time { end = 37.80501984 dtmax = 0.1 }
+ PhysicalParams { g = 5.87060327757e-3 }
+ Init {} {
+ P = {
+ @include <gsl/gsl_sf_bessel.h>
+ @link -lgsl -lgslcblas
+ double theta = atan2(y,x);
+ double r = sqrt (x*x + y*y);
+ double D = 8.83906519983e-2;
+ double k = 3.;
+ double A = 1./2555510.;
+ return A*cos (k*theta)*gsl_sf_bessel_Inu (k, r/D);
+ }
+ U = {
+ @include <gsl/gsl_sf_bessel.h>
+ @link -lgsl -lgslcblas
+ @define Ik(k,r,D) (gsl_sf_bessel_Inu ((k) - 1., (r)/(D))/(D)\
+ - (k)/(r)*gsl_sf_bessel_Inu ((k), (r)/(D)))
+ double theta = atan2(y,x);
+ double r = sqrt (x*x + y*y);
+ double D = 8.83906519983e-2;
+ double k = 3.;
+ double sigma = 0.4986;
+ double A = 1./2555510.;
+ double ur = -A*D*D/5.87060327757e-3*sin (k*theta)*(sigma*Ik (k, r, D) -
+ k/r*gsl_sf_bessel_Inu (k, r/D));
+ double vt = A*D*D/5.87060327757e-3*cos (k*theta)*(Ik (k, r, D) -
+ k*sigma/r*gsl_sf_bessel_Inu (k, r/D));
+ return ur*cos (theta) - vt*sin (theta);
+ }
+ V = {
+ @include <gsl/gsl_sf_bessel.h>
+ @link -lgsl -lgslcblas
+ @define Ik(k,r,D) (gsl_sf_bessel_Inu ((k) - 1., (r)/(D))/(D)\
+ - (k)/(r)*gsl_sf_bessel_Inu ((k), (r)/(D)))
+ double theta = atan2(y,x);
+ double r = sqrt (x*x + y*y);
+ double D = 8.83906519983e-2;
+ double k = 3.;
+ double sigma = 0.4986;
+ double A = 1./2555510.;
+ double ur = -A*D*D/5.87060327757e-3*sin (k*theta)*(sigma*Ik (k, r, D) -
+ k/r*gsl_sf_bessel_Inu (k, r/D));
+ double vt = A*D*D/5.87060327757e-3*cos (k*theta)*(Ik (k, r, D) -
+ k*sigma/r*gsl_sf_bessel_Inu (k, r/D));
+ return ur*sin (theta) + vt*cos (theta);
+ }
+ H = 1
+ }
+ Refine LEVEL
+ GtsSurfaceFile basin.gts
+ AdvectionParams { scheme = none }
+ ApproxProjectionParams { tolerance = 1e-9 weighted = 0 }
+ SourceCoriolis {} 1.
+ EventScript { start = end } { echo -n "-30 " }
+ EventFilter { istep = 1 } U 4
+ EventFilter { istep = 1 } V 4
+ OutputCorrelation { start = end } stdout { v = P } {
+ s = {
+ @include <gsl/gsl_sf_bessel.h>
+ @link -lgsl -lgslcblas
+ double theta = atan2(y,x) + -30*M_PI/180.;
+ double r = sqrt (x*x + y*y);
+ double D = 8.83906519983e-2;
+ double k = 3.;
+ double A = 1./2555510.;
+ return A*cos (k*theta)*gsl_sf_bessel_Inu (k, r/D);
+ }
+ unbiased = 1
+ }
+ EventScript { start = end } { echo -n "-29 " }
+ OutputCorrelation { start = end } stdout { v = P } {
+ s = {
+ @include <gsl/gsl_sf_bessel.h>
+ @link -lgsl -lgslcblas
+ double theta = atan2(y,x) + -29*M_PI/180.;
+ double r = sqrt (x*x + y*y);
+ double D = 8.83906519983e-2;
+ double k = 3.;
+ double A = 1./2555510.;
+ return A*cos (k*theta)*gsl_sf_bessel_Inu (k, r/D);
+ }
+ unbiased = 1
+ }
+ EventScript { start = end } { echo -n "-28 " }
+ OutputCorrelation { start = end } stdout { v = P } {
+ s = {
+ @include <gsl/gsl_sf_bessel.h>
+ @link -lgsl -lgslcblas
+ double theta = atan2(y,x) + -28*M_PI/180.;
+ double r = sqrt (x*x + y*y);
+ double D = 8.83906519983e-2;
+ double k = 3.;
+ double A = 1./2555510.;
+ return A*cos (k*theta)*gsl_sf_bessel_Inu (k, r/D);
+ }
+ unbiased = 1
+ }
+ EventScript { start = end } { echo -n "-27 " }
+ OutputCorrelation { start = end } stdout { v = P } {
+ s = {
+ @include <gsl/gsl_sf_bessel.h>
+ @link -lgsl -lgslcblas
+ double theta = atan2(y,x) + -27*M_PI/180.;
+ double r = sqrt (x*x + y*y);
+ double D = 8.83906519983e-2;
+ double k = 3.;
+ double A = 1./2555510.;
+ return A*cos (k*theta)*gsl_sf_bessel_Inu (k, r/D);
+ }
+ unbiased = 1
+ }
+ EventScript { start = end } { echo -n "-26 " }
+ OutputCorrelation { start = end } stdout { v = P } {
+ s = {
+ @include <gsl/gsl_sf_bessel.h>
+ @link -lgsl -lgslcblas
+ double theta = atan2(y,x) + -26*M_PI/180.;
+ double r = sqrt (x*x + y*y);
+ double D = 8.83906519983e-2;
+ double k = 3.;
+ double A = 1./2555510.;
+ return A*cos (k*theta)*gsl_sf_bessel_Inu (k, r/D);
+ }
+ unbiased = 1
+ }
+ EventScript { start = end } { echo -n "-25 " }
+ OutputCorrelation { start = end } stdout { v = P } {
+ s = {
+ @include <gsl/gsl_sf_bessel.h>
+ @link -lgsl -lgslcblas
+ double theta = atan2(y,x) + -25*M_PI/180.;
+ double r = sqrt (x*x + y*y);
+ double D = 8.83906519983e-2;
+ double k = 3.;
+ double A = 1./2555510.;
+ return A*cos (k*theta)*gsl_sf_bessel_Inu (k, r/D);
+ }
+ unbiased = 1
+ }
+ EventScript { start = end } { echo -n "-24 " }
+ OutputCorrelation { start = end } stdout { v = P } {
+ s = {
+ @include <gsl/gsl_sf_bessel.h>
+ @link -lgsl -lgslcblas
+ double theta = atan2(y,x) + -24*M_PI/180.;
+ double r = sqrt (x*x + y*y);
+ double D = 8.83906519983e-2;
+ double k = 3.;
+ double A = 1./2555510.;
+ return A*cos (k*theta)*gsl_sf_bessel_Inu (k, r/D);
+ }
+ unbiased = 1
+ }
+ EventScript { start = end } { echo -n "-23 " }
+ OutputCorrelation { start = end } stdout { v = P } {
+ s = {
+ @include <gsl/gsl_sf_bessel.h>
+ @link -lgsl -lgslcblas
+ double theta = atan2(y,x) + -23*M_PI/180.;
+ double r = sqrt (x*x + y*y);
+ double D = 8.83906519983e-2;
+ double k = 3.;
+ double A = 1./2555510.;
+ return A*cos (k*theta)*gsl_sf_bessel_Inu (k, r/D);
+ }
+ unbiased = 1
+ }
+ EventScript { start = end } { echo -n "-22 " }
+ OutputCorrelation { start = end } stdout { v = P } {
+ s = {
+ @include <gsl/gsl_sf_bessel.h>
+ @link -lgsl -lgslcblas
+ double theta = atan2(y,x) + -22*M_PI/180.;
+ double r = sqrt (x*x + y*y);
+ double D = 8.83906519983e-2;
+ double k = 3.;
+ double A = 1./2555510.;
+ return A*cos (k*theta)*gsl_sf_bessel_Inu (k, r/D);
+ }
+ unbiased = 1
+ }
+ EventScript { start = end } { echo -n "-21 " }
+ OutputCorrelation { start = end } stdout { v = P } {
+ s = {
+ @include <gsl/gsl_sf_bessel.h>
+ @link -lgsl -lgslcblas
+ double theta = atan2(y,x) + -21*M_PI/180.;
+ double r = sqrt (x*x + y*y);
+ double D = 8.83906519983e-2;
+ double k = 3.;
+ double A = 1./2555510.;
+ return A*cos (k*theta)*gsl_sf_bessel_Inu (k, r/D);
+ }
+ unbiased = 1
+ }
+ EventScript { start = end } { echo -n "-20 " }
+ OutputCorrelation { start = end } stdout { v = P } {
+ s = {
+ @include <gsl/gsl_sf_bessel.h>
+ @link -lgsl -lgslcblas
+ double theta = atan2(y,x) + -20*M_PI/180.;
+ double r = sqrt (x*x + y*y);
+ double D = 8.83906519983e-2;
+ double k = 3.;
+ double A = 1./2555510.;
+ return A*cos (k*theta)*gsl_sf_bessel_Inu (k, r/D);
+ }
+ unbiased = 1
+ }
+ EventScript { start = end } { echo -n "-19 " }
+ OutputCorrelation { start = end } stdout { v = P } {
+ s = {
+ @include <gsl/gsl_sf_bessel.h>
+ @link -lgsl -lgslcblas
+ double theta = atan2(y,x) + -19*M_PI/180.;
+ double r = sqrt (x*x + y*y);
+ double D = 8.83906519983e-2;
+ double k = 3.;
+ double A = 1./2555510.;
+ return A*cos (k*theta)*gsl_sf_bessel_Inu (k, r/D);
+ }
+ unbiased = 1
+ }
+ EventScript { start = end } { echo -n "-18 " }
+ OutputCorrelation { start = end } stdout { v = P } {
+ s = {
+ @include <gsl/gsl_sf_bessel.h>
+ @link -lgsl -lgslcblas
+ double theta = atan2(y,x) + -18*M_PI/180.;
+ double r = sqrt (x*x + y*y);
+ double D = 8.83906519983e-2;
+ double k = 3.;
+ double A = 1./2555510.;
+ return A*cos (k*theta)*gsl_sf_bessel_Inu (k, r/D);
+ }
+ unbiased = 1
+ }
+ EventScript { start = end } { echo -n "-17 " }
+ OutputCorrelation { start = end } stdout { v = P } {
+ s = {
+ @include <gsl/gsl_sf_bessel.h>
+ @link -lgsl -lgslcblas
+ double theta = atan2(y,x) + -17*M_PI/180.;
+ double r = sqrt (x*x + y*y);
+ double D = 8.83906519983e-2;
+ double k = 3.;
+ double A = 1./2555510.;
+ return A*cos (k*theta)*gsl_sf_bessel_Inu (k, r/D);
+ }
+ unbiased = 1
+ }
+ EventScript { start = end } { echo -n "-16 " }
+ OutputCorrelation { start = end } stdout { v = P } {
+ s = {
+ @include <gsl/gsl_sf_bessel.h>
+ @link -lgsl -lgslcblas
+ double theta = atan2(y,x) + -16*M_PI/180.;
+ double r = sqrt (x*x + y*y);
+ double D = 8.83906519983e-2;
+ double k = 3.;
+ double A = 1./2555510.;
+ return A*cos (k*theta)*gsl_sf_bessel_Inu (k, r/D);
+ }
+ unbiased = 1
+ }
+ EventScript { start = end } { echo -n "-15 " }
+ OutputCorrelation { start = end } stdout { v = P } {
+ s = {
+ @include <gsl/gsl_sf_bessel.h>
+ @link -lgsl -lgslcblas
+ double theta = atan2(y,x) + -15*M_PI/180.;
+ double r = sqrt (x*x + y*y);
+ double D = 8.83906519983e-2;
+ double k = 3.;
+ double A = 1./2555510.;
+ return A*cos (k*theta)*gsl_sf_bessel_Inu (k, r/D);
+ }
+ unbiased = 1
+ }
+ EventScript { start = end } { echo -n "-14 " }
+ OutputCorrelation { start = end } stdout { v = P } {
+ s = {
+ @include <gsl/gsl_sf_bessel.h>
+ @link -lgsl -lgslcblas
+ double theta = atan2(y,x) + -14*M_PI/180.;
+ double r = sqrt (x*x + y*y);
+ double D = 8.83906519983e-2;
+ double k = 3.;
+ double A = 1./2555510.;
+ return A*cos (k*theta)*gsl_sf_bessel_Inu (k, r/D);
+ }
+ unbiased = 1
+ }
+ EventScript { start = end } { echo -n "-13 " }
+ OutputCorrelation { start = end } stdout { v = P } {
+ s = {
+ @include <gsl/gsl_sf_bessel.h>
+ @link -lgsl -lgslcblas
+ double theta = atan2(y,x) + -13*M_PI/180.;
+ double r = sqrt (x*x + y*y);
+ double D = 8.83906519983e-2;
+ double k = 3.;
+ double A = 1./2555510.;
+ return A*cos (k*theta)*gsl_sf_bessel_Inu (k, r/D);
+ }
+ unbiased = 1
+ }
+ EventScript { start = end } { echo -n "-12 " }
+ OutputCorrelation { start = end } stdout { v = P } {
+ s = {
+ @include <gsl/gsl_sf_bessel.h>
+ @link -lgsl -lgslcblas
+ double theta = atan2(y,x) + -12*M_PI/180.;
+ double r = sqrt (x*x + y*y);
+ double D = 8.83906519983e-2;
+ double k = 3.;
+ double A = 1./2555510.;
+ return A*cos (k*theta)*gsl_sf_bessel_Inu (k, r/D);
+ }
+ unbiased = 1
+ }
+ EventScript { start = end } { echo -n "-11 " }
+ OutputCorrelation { start = end } stdout { v = P } {
+ s = {
+ @include <gsl/gsl_sf_bessel.h>
+ @link -lgsl -lgslcblas
+ double theta = atan2(y,x) + -11*M_PI/180.;
+ double r = sqrt (x*x + y*y);
+ double D = 8.83906519983e-2;
+ double k = 3.;
+ double A = 1./2555510.;
+ return A*cos (k*theta)*gsl_sf_bessel_Inu (k, r/D);
+ }
+ unbiased = 1
+ }
+ EventScript { start = end } { echo -n "-10 " }
+ OutputCorrelation { start = end } stdout { v = P } {
+ s = {
+ @include <gsl/gsl_sf_bessel.h>
+ @link -lgsl -lgslcblas
+ double theta = atan2(y,x) + -10*M_PI/180.;
+ double r = sqrt (x*x + y*y);
+ double D = 8.83906519983e-2;
+ double k = 3.;
+ double A = 1./2555510.;
+ return A*cos (k*theta)*gsl_sf_bessel_Inu (k, r/D);
+ }
+ unbiased = 1
+ }
+ EventScript { start = end } { echo -n "-9 " }
+ OutputCorrelation { start = end } stdout { v = P } {
+ s = {
+ @include <gsl/gsl_sf_bessel.h>
+ @link -lgsl -lgslcblas
+ double theta = atan2(y,x) + -9*M_PI/180.;
+ double r = sqrt (x*x + y*y);
+ double D = 8.83906519983e-2;
+ double k = 3.;
+ double A = 1./2555510.;
+ return A*cos (k*theta)*gsl_sf_bessel_Inu (k, r/D);
+ }
+ unbiased = 1
+ }
+ EventScript { start = end } { echo -n "-8 " }
+ OutputCorrelation { start = end } stdout { v = P } {
+ s = {
+ @include <gsl/gsl_sf_bessel.h>
+ @link -lgsl -lgslcblas
+ double theta = atan2(y,x) + -8*M_PI/180.;
+ double r = sqrt (x*x + y*y);
+ double D = 8.83906519983e-2;
+ double k = 3.;
+ double A = 1./2555510.;
+ return A*cos (k*theta)*gsl_sf_bessel_Inu (k, r/D);
+ }
+ unbiased = 1
+ }
+ EventScript { start = end } { echo -n "-7 " }
+ OutputCorrelation { start = end } stdout { v = P } {
+ s = {
+ @include <gsl/gsl_sf_bessel.h>
+ @link -lgsl -lgslcblas
+ double theta = atan2(y,x) + -7*M_PI/180.;
+ double r = sqrt (x*x + y*y);
+ double D = 8.83906519983e-2;
+ double k = 3.;
+ double A = 1./2555510.;
+ return A*cos (k*theta)*gsl_sf_bessel_Inu (k, r/D);
+ }
+ unbiased = 1
+ }
+ EventScript { start = end } { echo -n "-6 " }
+ OutputCorrelation { start = end } stdout { v = P } {
+ s = {
+ @include <gsl/gsl_sf_bessel.h>
+ @link -lgsl -lgslcblas
+ double theta = atan2(y,x) + -6*M_PI/180.;
+ double r = sqrt (x*x + y*y);
+ double D = 8.83906519983e-2;
+ double k = 3.;
+ double A = 1./2555510.;
+ return A*cos (k*theta)*gsl_sf_bessel_Inu (k, r/D);
+ }
+ unbiased = 1
+ }
+ EventScript { start = end } { echo -n "-5 " }
+ OutputCorrelation { start = end } stdout { v = P } {
+ s = {
+ @include <gsl/gsl_sf_bessel.h>
+ @link -lgsl -lgslcblas
+ double theta = atan2(y,x) + -5*M_PI/180.;
+ double r = sqrt (x*x + y*y);
+ double D = 8.83906519983e-2;
+ double k = 3.;
+ double A = 1./2555510.;
+ return A*cos (k*theta)*gsl_sf_bessel_Inu (k, r/D);
+ }
+ unbiased = 1
+ }
+ EventScript { start = end } { echo -n "-4 " }
+ OutputCorrelation { start = end } stdout { v = P } {
+ s = {
+ @include <gsl/gsl_sf_bessel.h>
+ @link -lgsl -lgslcblas
+ double theta = atan2(y,x) + -4*M_PI/180.;
+ double r = sqrt (x*x + y*y);
+ double D = 8.83906519983e-2;
+ double k = 3.;
+ double A = 1./2555510.;
+ return A*cos (k*theta)*gsl_sf_bessel_Inu (k, r/D);
+ }
+ unbiased = 1
+ }
+ EventScript { start = end } { echo -n "-3 " }
+ OutputCorrelation { start = end } stdout { v = P } {
+ s = {
+ @include <gsl/gsl_sf_bessel.h>
+ @link -lgsl -lgslcblas
+ double theta = atan2(y,x) + -3*M_PI/180.;
+ double r = sqrt (x*x + y*y);
+ double D = 8.83906519983e-2;
+ double k = 3.;
+ double A = 1./2555510.;
+ return A*cos (k*theta)*gsl_sf_bessel_Inu (k, r/D);
+ }
+ unbiased = 1
+ }
+ EventScript { start = end } { echo -n "-2 " }
+ OutputCorrelation { start = end } stdout { v = P } {
+ s = {
+ @include <gsl/gsl_sf_bessel.h>
+ @link -lgsl -lgslcblas
+ double theta = atan2(y,x) + -2*M_PI/180.;
+ double r = sqrt (x*x + y*y);
+ double D = 8.83906519983e-2;
+ double k = 3.;
+ double A = 1./2555510.;
+ return A*cos (k*theta)*gsl_sf_bessel_Inu (k, r/D);
+ }
+ unbiased = 1
+ }
+ EventScript { start = end } { echo -n "-1 " }
+ OutputCorrelation { start = end } stdout { v = P } {
+ s = {
+ @include <gsl/gsl_sf_bessel.h>
+ @link -lgsl -lgslcblas
+ double theta = atan2(y,x) + -1*M_PI/180.;
+ double r = sqrt (x*x + y*y);
+ double D = 8.83906519983e-2;
+ double k = 3.;
+ double A = 1./2555510.;
+ return A*cos (k*theta)*gsl_sf_bessel_Inu (k, r/D);
+ }
+ unbiased = 1
+ }
+ EventScript { start = end } { echo -n "0 " }
+ OutputCorrelation { start = end } stdout { v = P } {
+ s = {
+ @include <gsl/gsl_sf_bessel.h>
+ @link -lgsl -lgslcblas
+ double theta = atan2(y,x) + 0*M_PI/180.;
+ double r = sqrt (x*x + y*y);
+ double D = 8.83906519983e-2;
+ double k = 3.;
+ double A = 1./2555510.;
+ return A*cos (k*theta)*gsl_sf_bessel_Inu (k, r/D);
+ }
+ unbiased = 1
+ }
+ EventScript { start = end } { echo -n "0.1 " }
+ OutputCorrelation { start = end } stdout { v = P } {
+ s = {
+ @include <gsl/gsl_sf_bessel.h>
+ @link -lgsl -lgslcblas
+ double theta = atan2(y,x) + 0.1*M_PI/180.;
+ double r = sqrt (x*x + y*y);
+ double D = 8.83906519983e-2;
+ double k = 3.;
+ double A = 1./2555510.;
+ return A*cos (k*theta)*gsl_sf_bessel_Inu (k, r/D);
+ }
+ unbiased = 1
+ }
+ EventScript { start = end } { echo -n "0.2 " }
+ OutputCorrelation { start = end } stdout { v = P } {
+ s = {
+ @include <gsl/gsl_sf_bessel.h>
+ @link -lgsl -lgslcblas
+ double theta = atan2(y,x) + 0.2*M_PI/180.;
+ double r = sqrt (x*x + y*y);
+ double D = 8.83906519983e-2;
+ double k = 3.;
+ double A = 1./2555510.;
+ return A*cos (k*theta)*gsl_sf_bessel_Inu (k, r/D);
+ }
+ unbiased = 1
+ }
+ EventScript { start = end } { echo -n "0.3 " }
+ OutputCorrelation { start = end } stdout { v = P } {
+ s = {
+ @include <gsl/gsl_sf_bessel.h>
+ @link -lgsl -lgslcblas
+ double theta = atan2(y,x) + 0.3*M_PI/180.;
+ double r = sqrt (x*x + y*y);
+ double D = 8.83906519983e-2;
+ double k = 3.;
+ double A = 1./2555510.;
+ return A*cos (k*theta)*gsl_sf_bessel_Inu (k, r/D);
+ }
+ unbiased = 1
+ }
+ EventScript { start = end } { echo -n "0.4 " }
+ OutputCorrelation { start = end } stdout { v = P } {
+ s = {
+ @include <gsl/gsl_sf_bessel.h>
+ @link -lgsl -lgslcblas
+ double theta = atan2(y,x) + 0.4*M_PI/180.;
+ double r = sqrt (x*x + y*y);
+ double D = 8.83906519983e-2;
+ double k = 3.;
+ double A = 1./2555510.;
+ return A*cos (k*theta)*gsl_sf_bessel_Inu (k, r/D);
+ }
+ unbiased = 1
+ }
+ EventScript { start = end } { echo -n "0.5 " }
+ OutputCorrelation { start = end } stdout { v = P } {
+ s = {
+ @include <gsl/gsl_sf_bessel.h>
+ @link -lgsl -lgslcblas
+ double theta = atan2(y,x) + 0.5*M_PI/180.;
+ double r = sqrt (x*x + y*y);
+ double D = 8.83906519983e-2;
+ double k = 3.;
+ double A = 1./2555510.;
+ return A*cos (k*theta)*gsl_sf_bessel_Inu (k, r/D);
+ }
+ unbiased = 1
+ }
+ EventScript { start = end } { echo -n "0.6 " }
+ OutputCorrelation { start = end } stdout { v = P } {
+ s = {
+ @include <gsl/gsl_sf_bessel.h>
+ @link -lgsl -lgslcblas
+ double theta = atan2(y,x) + 0.6*M_PI/180.;
+ double r = sqrt (x*x + y*y);
+ double D = 8.83906519983e-2;
+ double k = 3.;
+ double A = 1./2555510.;
+ return A*cos (k*theta)*gsl_sf_bessel_Inu (k, r/D);
+ }
+ unbiased = 1
+ }
+ EventScript { start = end } { echo -n "0.7 " }
+ OutputCorrelation { start = end } stdout { v = P } {
+ s = {
+ @include <gsl/gsl_sf_bessel.h>
+ @link -lgsl -lgslcblas
+ double theta = atan2(y,x) + 0.7*M_PI/180.;
+ double r = sqrt (x*x + y*y);
+ double D = 8.83906519983e-2;
+ double k = 3.;
+ double A = 1./2555510.;
+ return A*cos (k*theta)*gsl_sf_bessel_Inu (k, r/D);
+ }
+ unbiased = 1
+ }
+ EventScript { start = end } { echo -n "0.8 " }
+ OutputCorrelation { start = end } stdout { v = P } {
+ s = {
+ @include <gsl/gsl_sf_bessel.h>
+ @link -lgsl -lgslcblas
+ double theta = atan2(y,x) + 0.8*M_PI/180.;
+ double r = sqrt (x*x + y*y);
+ double D = 8.83906519983e-2;
+ double k = 3.;
+ double A = 1./2555510.;
+ return A*cos (k*theta)*gsl_sf_bessel_Inu (k, r/D);
+ }
+ unbiased = 1
+ }
+ EventScript { start = end } { echo -n "0.9 " }
+ OutputCorrelation { start = end } stdout { v = P } {
+ s = {
+ @include <gsl/gsl_sf_bessel.h>
+ @link -lgsl -lgslcblas
+ double theta = atan2(y,x) + 0.9*M_PI/180.;
+ double r = sqrt (x*x + y*y);
+ double D = 8.83906519983e-2;
+ double k = 3.;
+ double A = 1./2555510.;
+ return A*cos (k*theta)*gsl_sf_bessel_Inu (k, r/D);
+ }
+ unbiased = 1
+ }
+ EventScript { start = end } { echo -n "1 " }
+ OutputCorrelation { start = end } stdout { v = P } {
+ s = {
+ @include <gsl/gsl_sf_bessel.h>
+ @link -lgsl -lgslcblas
+ double theta = atan2(y,x) + 1*M_PI/180.;
+ double r = sqrt (x*x + y*y);
+ double D = 8.83906519983e-2;
+ double k = 3.;
+ double A = 1./2555510.;
+ return A*cos (k*theta)*gsl_sf_bessel_Inu (k, r/D);
+ }
+ unbiased = 1
+ }
+ EventScript { start = end } { echo -n "1.1 " }
+ OutputCorrelation { start = end } stdout { v = P } {
+ s = {
+ @include <gsl/gsl_sf_bessel.h>
+ @link -lgsl -lgslcblas
+ double theta = atan2(y,x) + 1.1*M_PI/180.;
+ double r = sqrt (x*x + y*y);
+ double D = 8.83906519983e-2;
+ double k = 3.;
+ double A = 1./2555510.;
+ return A*cos (k*theta)*gsl_sf_bessel_Inu (k, r/D);
+ }
+ unbiased = 1
+ }
+ EventScript { start = end } { echo -n "1.2 " }
+ OutputCorrelation { start = end } stdout { v = P } {
+ s = {
+ @include <gsl/gsl_sf_bessel.h>
+ @link -lgsl -lgslcblas
+ double theta = atan2(y,x) + 1.2*M_PI/180.;
+ double r = sqrt (x*x + y*y);
+ double D = 8.83906519983e-2;
+ double k = 3.;
+ double A = 1./2555510.;
+ return A*cos (k*theta)*gsl_sf_bessel_Inu (k, r/D);
+ }
+ unbiased = 1
+ }
+ EventScript { start = end } { echo -n "1.3 " }
+ OutputCorrelation { start = end } stdout { v = P } {
+ s = {
+ @include <gsl/gsl_sf_bessel.h>
+ @link -lgsl -lgslcblas
+ double theta = atan2(y,x) + 1.3*M_PI/180.;
+ double r = sqrt (x*x + y*y);
+ double D = 8.83906519983e-2;
+ double k = 3.;
+ double A = 1./2555510.;
+ return A*cos (k*theta)*gsl_sf_bessel_Inu (k, r/D);
+ }
+ unbiased = 1
+ }
+ EventScript { start = end } { echo -n "1.4 " }
+ OutputCorrelation { start = end } stdout { v = P } {
+ s = {
+ @include <gsl/gsl_sf_bessel.h>
+ @link -lgsl -lgslcblas
+ double theta = atan2(y,x) + 1.4*M_PI/180.;
+ double r = sqrt (x*x + y*y);
+ double D = 8.83906519983e-2;
+ double k = 3.;
+ double A = 1./2555510.;
+ return A*cos (k*theta)*gsl_sf_bessel_Inu (k, r/D);
+ }
+ unbiased = 1
+ }
+ EventScript { start = end } { echo -n "1.5 " }
+ OutputCorrelation { start = end } stdout { v = P } {
+ s = {
+ @include <gsl/gsl_sf_bessel.h>
+ @link -lgsl -lgslcblas
+ double theta = atan2(y,x) + 1.5*M_PI/180.;
+ double r = sqrt (x*x + y*y);
+ double D = 8.83906519983e-2;
+ double k = 3.;
+ double A = 1./2555510.;
+ return A*cos (k*theta)*gsl_sf_bessel_Inu (k, r/D);
+ }
+ unbiased = 1
+ }
+ EventScript { start = end } { echo -n "1.6 " }
+ OutputCorrelation { start = end } stdout { v = P } {
+ s = {
+ @include <gsl/gsl_sf_bessel.h>
+ @link -lgsl -lgslcblas
+ double theta = atan2(y,x) + 1.6*M_PI/180.;
+ double r = sqrt (x*x + y*y);
+ double D = 8.83906519983e-2;
+ double k = 3.;
+ double A = 1./2555510.;
+ return A*cos (k*theta)*gsl_sf_bessel_Inu (k, r/D);
+ }
+ unbiased = 1
+ }
+ EventScript { start = end } { echo -n "1.7 " }
+ OutputCorrelation { start = end } stdout { v = P } {
+ s = {
+ @include <gsl/gsl_sf_bessel.h>
+ @link -lgsl -lgslcblas
+ double theta = atan2(y,x) + 1.7*M_PI/180.;
+ double r = sqrt (x*x + y*y);
+ double D = 8.83906519983e-2;
+ double k = 3.;
+ double A = 1./2555510.;
+ return A*cos (k*theta)*gsl_sf_bessel_Inu (k, r/D);
+ }
+ unbiased = 1
+ }
+ EventScript { start = end } { echo -n "1.8 " }
+ OutputCorrelation { start = end } stdout { v = P } {
+ s = {
+ @include <gsl/gsl_sf_bessel.h>
+ @link -lgsl -lgslcblas
+ double theta = atan2(y,x) + 1.8*M_PI/180.;
+ double r = sqrt (x*x + y*y);
+ double D = 8.83906519983e-2;
+ double k = 3.;
+ double A = 1./2555510.;
+ return A*cos (k*theta)*gsl_sf_bessel_Inu (k, r/D);
+ }
+ unbiased = 1
+ }
+ EventScript { start = end } { echo -n "1.9 " }
+ OutputCorrelation { start = end } stdout { v = P } {
+ s = {
+ @include <gsl/gsl_sf_bessel.h>
+ @link -lgsl -lgslcblas
+ double theta = atan2(y,x) + 1.9*M_PI/180.;
+ double r = sqrt (x*x + y*y);
+ double D = 8.83906519983e-2;
+ double k = 3.;
+ double A = 1./2555510.;
+ return A*cos (k*theta)*gsl_sf_bessel_Inu (k, r/D);
+ }
+ unbiased = 1
+ }
+ EventScript { start = end } { echo -n "2 " }
+ OutputCorrelation { start = end } stdout { v = P } {
+ s = {
+ @include <gsl/gsl_sf_bessel.h>
+ @link -lgsl -lgslcblas
+ double theta = atan2(y,x) + 2*M_PI/180.;
+ double r = sqrt (x*x + y*y);
+ double D = 8.83906519983e-2;
+ double k = 3.;
+ double A = 1./2555510.;
+ return A*cos (k*theta)*gsl_sf_bessel_Inu (k, r/D);
+ }
+ unbiased = 1
+ }
+ EventScript { start = end } { echo -n "2.1 " }
+ OutputCorrelation { start = end } stdout { v = P } {
+ s = {
+ @include <gsl/gsl_sf_bessel.h>
+ @link -lgsl -lgslcblas
+ double theta = atan2(y,x) + 2.1*M_PI/180.;
+ double r = sqrt (x*x + y*y);
+ double D = 8.83906519983e-2;
+ double k = 3.;
+ double A = 1./2555510.;
+ return A*cos (k*theta)*gsl_sf_bessel_Inu (k, r/D);
+ }
+ unbiased = 1
+ }
+ EventScript { start = end } { echo -n "2.2 " }
+ OutputCorrelation { start = end } stdout { v = P } {
+ s = {
+ @include <gsl/gsl_sf_bessel.h>
+ @link -lgsl -lgslcblas
+ double theta = atan2(y,x) + 2.2*M_PI/180.;
+ double r = sqrt (x*x + y*y);
+ double D = 8.83906519983e-2;
+ double k = 3.;
+ double A = 1./2555510.;
+ return A*cos (k*theta)*gsl_sf_bessel_Inu (k, r/D);
+ }
+ unbiased = 1
+ }
+ EventScript { start = end } { echo -n "2.3 " }
+ OutputCorrelation { start = end } stdout { v = P } {
+ s = {
+ @include <gsl/gsl_sf_bessel.h>
+ @link -lgsl -lgslcblas
+ double theta = atan2(y,x) + 2.3*M_PI/180.;
+ double r = sqrt (x*x + y*y);
+ double D = 8.83906519983e-2;
+ double k = 3.;
+ double A = 1./2555510.;
+ return A*cos (k*theta)*gsl_sf_bessel_Inu (k, r/D);
+ }
+ unbiased = 1
+ }
+ EventScript { start = end } { echo -n "2.4 " }
+ OutputCorrelation { start = end } stdout { v = P } {
+ s = {
+ @include <gsl/gsl_sf_bessel.h>
+ @link -lgsl -lgslcblas
+ double theta = atan2(y,x) + 2.4*M_PI/180.;
+ double r = sqrt (x*x + y*y);
+ double D = 8.83906519983e-2;
+ double k = 3.;
+ double A = 1./2555510.;
+ return A*cos (k*theta)*gsl_sf_bessel_Inu (k, r/D);
+ }
+ unbiased = 1
+ }
+ EventScript { start = end } { echo -n "2.5 " }
+ OutputCorrelation { start = end } stdout { v = P } {
+ s = {
+ @include <gsl/gsl_sf_bessel.h>
+ @link -lgsl -lgslcblas
+ double theta = atan2(y,x) + 2.5*M_PI/180.;
+ double r = sqrt (x*x + y*y);
+ double D = 8.83906519983e-2;
+ double k = 3.;
+ double A = 1./2555510.;
+ return A*cos (k*theta)*gsl_sf_bessel_Inu (k, r/D);
+ }
+ unbiased = 1
+ }
+ EventScript { start = end } { echo -n "2.6 " }
+ OutputCorrelation { start = end } stdout { v = P } {
+ s = {
+ @include <gsl/gsl_sf_bessel.h>
+ @link -lgsl -lgslcblas
+ double theta = atan2(y,x) + 2.6*M_PI/180.;
+ double r = sqrt (x*x + y*y);
+ double D = 8.83906519983e-2;
+ double k = 3.;
+ double A = 1./2555510.;
+ return A*cos (k*theta)*gsl_sf_bessel_Inu (k, r/D);
+ }
+ unbiased = 1
+ }
+ EventScript { start = end } { echo -n "2.7 " }
+ OutputCorrelation { start = end } stdout { v = P } {
+ s = {
+ @include <gsl/gsl_sf_bessel.h>
+ @link -lgsl -lgslcblas
+ double theta = atan2(y,x) + 2.7*M_PI/180.;
+ double r = sqrt (x*x + y*y);
+ double D = 8.83906519983e-2;
+ double k = 3.;
+ double A = 1./2555510.;
+ return A*cos (k*theta)*gsl_sf_bessel_Inu (k, r/D);
+ }
+ unbiased = 1
+ }
+ EventScript { start = end } { echo -n "2.8 " }
+ OutputCorrelation { start = end } stdout { v = P } {
+ s = {
+ @include <gsl/gsl_sf_bessel.h>
+ @link -lgsl -lgslcblas
+ double theta = atan2(y,x) + 2.8*M_PI/180.;
+ double r = sqrt (x*x + y*y);
+ double D = 8.83906519983e-2;
+ double k = 3.;
+ double A = 1./2555510.;
+ return A*cos (k*theta)*gsl_sf_bessel_Inu (k, r/D);
+ }
+ unbiased = 1
+ }
+ EventScript { start = end } { echo -n "2.9 " }
+ OutputCorrelation { start = end } stdout { v = P } {
+ s = {
+ @include <gsl/gsl_sf_bessel.h>
+ @link -lgsl -lgslcblas
+ double theta = atan2(y,x) + 2.9*M_PI/180.;
+ double r = sqrt (x*x + y*y);
+ double D = 8.83906519983e-2;
+ double k = 3.;
+ double A = 1./2555510.;
+ return A*cos (k*theta)*gsl_sf_bessel_Inu (k, r/D);
+ }
+ unbiased = 1
+ }
+ EventScript { start = end } { echo -n "3 " }
+ OutputCorrelation { start = end } stdout { v = P } {
+ s = {
+ @include <gsl/gsl_sf_bessel.h>
+ @link -lgsl -lgslcblas
+ double theta = atan2(y,x) + 3*M_PI/180.;
+ double r = sqrt (x*x + y*y);
+ double D = 8.83906519983e-2;
+ double k = 3.;
+ double A = 1./2555510.;
+ return A*cos (k*theta)*gsl_sf_bessel_Inu (k, r/D);
+ }
+ unbiased = 1
+ }
+ EventScript { start = end } { echo -n "3.1 " }
+ OutputCorrelation { start = end } stdout { v = P } {
+ s = {
+ @include <gsl/gsl_sf_bessel.h>
+ @link -lgsl -lgslcblas
+ double theta = atan2(y,x) + 3.1*M_PI/180.;
+ double r = sqrt (x*x + y*y);
+ double D = 8.83906519983e-2;
+ double k = 3.;
+ double A = 1./2555510.;
+ return A*cos (k*theta)*gsl_sf_bessel_Inu (k, r/D);
+ }
+ unbiased = 1
+ }
+ EventScript { start = end } { echo -n "3.2 " }
+ OutputCorrelation { start = end } stdout { v = P } {
+ s = {
+ @include <gsl/gsl_sf_bessel.h>
+ @link -lgsl -lgslcblas
+ double theta = atan2(y,x) + 3.2*M_PI/180.;
+ double r = sqrt (x*x + y*y);
+ double D = 8.83906519983e-2;
+ double k = 3.;
+ double A = 1./2555510.;
+ return A*cos (k*theta)*gsl_sf_bessel_Inu (k, r/D);
+ }
+ unbiased = 1
+ }
+ EventScript { start = end } { echo -n "3.3 " }
+ OutputCorrelation { start = end } stdout { v = P } {
+ s = {
+ @include <gsl/gsl_sf_bessel.h>
+ @link -lgsl -lgslcblas
+ double theta = atan2(y,x) + 3.3*M_PI/180.;
+ double r = sqrt (x*x + y*y);
+ double D = 8.83906519983e-2;
+ double k = 3.;
+ double A = 1./2555510.;
+ return A*cos (k*theta)*gsl_sf_bessel_Inu (k, r/D);
+ }
+ unbiased = 1
+ }
+ EventScript { start = end } { echo -n "3.4 " }
+ OutputCorrelation { start = end } stdout { v = P } {
+ s = {
+ @include <gsl/gsl_sf_bessel.h>
+ @link -lgsl -lgslcblas
+ double theta = atan2(y,x) + 3.4*M_PI/180.;
+ double r = sqrt (x*x + y*y);
+ double D = 8.83906519983e-2;
+ double k = 3.;
+ double A = 1./2555510.;
+ return A*cos (k*theta)*gsl_sf_bessel_Inu (k, r/D);
+ }
+ unbiased = 1
+ }
+ EventScript { start = end } { echo -n "3.5 " }
+ OutputCorrelation { start = end } stdout { v = P } {
+ s = {
+ @include <gsl/gsl_sf_bessel.h>
+ @link -lgsl -lgslcblas
+ double theta = atan2(y,x) + 3.5*M_PI/180.;
+ double r = sqrt (x*x + y*y);
+ double D = 8.83906519983e-2;
+ double k = 3.;
+ double A = 1./2555510.;
+ return A*cos (k*theta)*gsl_sf_bessel_Inu (k, r/D);
+ }
+ unbiased = 1
+ }
+ EventScript { start = end } { echo -n "3.6 " }
+ OutputCorrelation { start = end } stdout { v = P } {
+ s = {
+ @include <gsl/gsl_sf_bessel.h>
+ @link -lgsl -lgslcblas
+ double theta = atan2(y,x) + 3.6*M_PI/180.;
+ double r = sqrt (x*x + y*y);
+ double D = 8.83906519983e-2;
+ double k = 3.;
+ double A = 1./2555510.;
+ return A*cos (k*theta)*gsl_sf_bessel_Inu (k, r/D);
+ }
+ unbiased = 1
+ }
+ EventScript { start = end } { echo -n "3.7 " }
+ OutputCorrelation { start = end } stdout { v = P } {
+ s = {
+ @include <gsl/gsl_sf_bessel.h>
+ @link -lgsl -lgslcblas
+ double theta = atan2(y,x) + 3.7*M_PI/180.;
+ double r = sqrt (x*x + y*y);
+ double D = 8.83906519983e-2;
+ double k = 3.;
+ double A = 1./2555510.;
+ return A*cos (k*theta)*gsl_sf_bessel_Inu (k, r/D);
+ }
+ unbiased = 1
+ }
+ EventScript { start = end } { echo -n "3.8 " }
+ OutputCorrelation { start = end } stdout { v = P } {
+ s = {
+ @include <gsl/gsl_sf_bessel.h>
+ @link -lgsl -lgslcblas
+ double theta = atan2(y,x) + 3.8*M_PI/180.;
+ double r = sqrt (x*x + y*y);
+ double D = 8.83906519983e-2;
+ double k = 3.;
+ double A = 1./2555510.;
+ return A*cos (k*theta)*gsl_sf_bessel_Inu (k, r/D);
+ }
+ unbiased = 1
+ }
+ EventScript { start = end } { echo -n "3.9 " }
+ OutputCorrelation { start = end } stdout { v = P } {
+ s = {
+ @include <gsl/gsl_sf_bessel.h>
+ @link -lgsl -lgslcblas
+ double theta = atan2(y,x) + 3.9*M_PI/180.;
+ double r = sqrt (x*x + y*y);
+ double D = 8.83906519983e-2;
+ double k = 3.;
+ double A = 1./2555510.;
+ return A*cos (k*theta)*gsl_sf_bessel_Inu (k, r/D);
+ }
+ unbiased = 1
+ }
+ EventScript { start = end } { echo -n "4 " }
+ OutputCorrelation { start = end } stdout { v = P } {
+ s = {
+ @include <gsl/gsl_sf_bessel.h>
+ @link -lgsl -lgslcblas
+ double theta = atan2(y,x) + 4*M_PI/180.;
+ double r = sqrt (x*x + y*y);
+ double D = 8.83906519983e-2;
+ double k = 3.;
+ double A = 1./2555510.;
+ return A*cos (k*theta)*gsl_sf_bessel_Inu (k, r/D);
+ }
+ unbiased = 1
+ }
+ EventScript { start = end } { echo -n "4.1 " }
+ OutputCorrelation { start = end } stdout { v = P } {
+ s = {
+ @include <gsl/gsl_sf_bessel.h>
+ @link -lgsl -lgslcblas
+ double theta = atan2(y,x) + 4.1*M_PI/180.;
+ double r = sqrt (x*x + y*y);
+ double D = 8.83906519983e-2;
+ double k = 3.;
+ double A = 1./2555510.;
+ return A*cos (k*theta)*gsl_sf_bessel_Inu (k, r/D);
+ }
+ unbiased = 1
+ }
+ EventScript { start = end } { echo -n "4.2 " }
+ OutputCorrelation { start = end } stdout { v = P } {
+ s = {
+ @include <gsl/gsl_sf_bessel.h>
+ @link -lgsl -lgslcblas
+ double theta = atan2(y,x) + 4.2*M_PI/180.;
+ double r = sqrt (x*x + y*y);
+ double D = 8.83906519983e-2;
+ double k = 3.;
+ double A = 1./2555510.;
+ return A*cos (k*theta)*gsl_sf_bessel_Inu (k, r/D);
+ }
+ unbiased = 1
+ }
+ EventScript { start = end } { echo -n "4.3 " }
+ OutputCorrelation { start = end } stdout { v = P } {
+ s = {
+ @include <gsl/gsl_sf_bessel.h>
+ @link -lgsl -lgslcblas
+ double theta = atan2(y,x) + 4.3*M_PI/180.;
+ double r = sqrt (x*x + y*y);
+ double D = 8.83906519983e-2;
+ double k = 3.;
+ double A = 1./2555510.;
+ return A*cos (k*theta)*gsl_sf_bessel_Inu (k, r/D);
+ }
+ unbiased = 1
+ }
+ EventScript { start = end } { echo -n "4.4 " }
+ OutputCorrelation { start = end } stdout { v = P } {
+ s = {
+ @include <gsl/gsl_sf_bessel.h>
+ @link -lgsl -lgslcblas
+ double theta = atan2(y,x) + 4.4*M_PI/180.;
+ double r = sqrt (x*x + y*y);
+ double D = 8.83906519983e-2;
+ double k = 3.;
+ double A = 1./2555510.;
+ return A*cos (k*theta)*gsl_sf_bessel_Inu (k, r/D);
+ }
+ unbiased = 1
+ }
+ EventScript { start = end } { echo -n "4.5 " }
+ OutputCorrelation { start = end } stdout { v = P } {
+ s = {
+ @include <gsl/gsl_sf_bessel.h>
+ @link -lgsl -lgslcblas
+ double theta = atan2(y,x) + 4.5*M_PI/180.;
+ double r = sqrt (x*x + y*y);
+ double D = 8.83906519983e-2;
+ double k = 3.;
+ double A = 1./2555510.;
+ return A*cos (k*theta)*gsl_sf_bessel_Inu (k, r/D);
+ }
+ unbiased = 1
+ }
+ EventScript { start = end } { echo -n "4.6 " }
+ OutputCorrelation { start = end } stdout { v = P } {
+ s = {
+ @include <gsl/gsl_sf_bessel.h>
+ @link -lgsl -lgslcblas
+ double theta = atan2(y,x) + 4.6*M_PI/180.;
+ double r = sqrt (x*x + y*y);
+ double D = 8.83906519983e-2;
+ double k = 3.;
+ double A = 1./2555510.;
+ return A*cos (k*theta)*gsl_sf_bessel_Inu (k, r/D);
+ }
+ unbiased = 1
+ }
+ EventScript { start = end } { echo -n "4.7 " }
+ OutputCorrelation { start = end } stdout { v = P } {
+ s = {
+ @include <gsl/gsl_sf_bessel.h>
+ @link -lgsl -lgslcblas
+ double theta = atan2(y,x) + 4.7*M_PI/180.;
+ double r = sqrt (x*x + y*y);
+ double D = 8.83906519983e-2;
+ double k = 3.;
+ double A = 1./2555510.;
+ return A*cos (k*theta)*gsl_sf_bessel_Inu (k, r/D);
+ }
+ unbiased = 1
+ }
+ EventScript { start = end } { echo -n "4.8 " }
+ OutputCorrelation { start = end } stdout { v = P } {
+ s = {
+ @include <gsl/gsl_sf_bessel.h>
+ @link -lgsl -lgslcblas
+ double theta = atan2(y,x) + 4.8*M_PI/180.;
+ double r = sqrt (x*x + y*y);
+ double D = 8.83906519983e-2;
+ double k = 3.;
+ double A = 1./2555510.;
+ return A*cos (k*theta)*gsl_sf_bessel_Inu (k, r/D);
+ }
+ unbiased = 1
+ }
+ EventScript { start = end } { echo -n "4.9 " }
+ OutputCorrelation { start = end } stdout { v = P } {
+ s = {
+ @include <gsl/gsl_sf_bessel.h>
+ @link -lgsl -lgslcblas
+ double theta = atan2(y,x) + 4.9*M_PI/180.;
+ double r = sqrt (x*x + y*y);
+ double D = 8.83906519983e-2;
+ double k = 3.;
+ double A = 1./2555510.;
+ return A*cos (k*theta)*gsl_sf_bessel_Inu (k, r/D);
+ }
+ unbiased = 1
+ }
+ EventScript { start = end } { echo -n "5 " }
+ OutputCorrelation { start = end } stdout { v = P } {
+ s = {
+ @include <gsl/gsl_sf_bessel.h>
+ @link -lgsl -lgslcblas
+ double theta = atan2(y,x) + 5*M_PI/180.;
+ double r = sqrt (x*x + y*y);
+ double D = 8.83906519983e-2;
+ double k = 3.;
+ double A = 1./2555510.;
+ return A*cos (k*theta)*gsl_sf_bessel_Inu (k, r/D);
+ }
+ unbiased = 1
+ }
+ EventScript { start = end } { echo -n "6 " }
+ OutputCorrelation { start = end } stdout { v = P } {
+ s = {
+ @include <gsl/gsl_sf_bessel.h>
+ @link -lgsl -lgslcblas
+ double theta = atan2(y,x) + 6*M_PI/180.;
+ double r = sqrt (x*x + y*y);
+ double D = 8.83906519983e-2;
+ double k = 3.;
+ double A = 1./2555510.;
+ return A*cos (k*theta)*gsl_sf_bessel_Inu (k, r/D);
+ }
+ unbiased = 1
+ }
+ EventScript { start = end } { echo -n "7 " }
+ OutputCorrelation { start = end } stdout { v = P } {
+ s = {
+ @include <gsl/gsl_sf_bessel.h>
+ @link -lgsl -lgslcblas
+ double theta = atan2(y,x) + 7*M_PI/180.;
+ double r = sqrt (x*x + y*y);
+ double D = 8.83906519983e-2;
+ double k = 3.;
+ double A = 1./2555510.;
+ return A*cos (k*theta)*gsl_sf_bessel_Inu (k, r/D);
+ }
+ unbiased = 1
+ }
+ EventScript { start = end } { echo -n "8 " }
+ OutputCorrelation { start = end } stdout { v = P } {
+ s = {
+ @include <gsl/gsl_sf_bessel.h>
+ @link -lgsl -lgslcblas
+ double theta = atan2(y,x) + 8*M_PI/180.;
+ double r = sqrt (x*x + y*y);
+ double D = 8.83906519983e-2;
+ double k = 3.;
+ double A = 1./2555510.;
+ return A*cos (k*theta)*gsl_sf_bessel_Inu (k, r/D);
+ }
+ unbiased = 1
+ }
+ EventScript { start = end } { echo -n "9 " }
+ OutputCorrelation { start = end } stdout { v = P } {
+ s = {
+ @include <gsl/gsl_sf_bessel.h>
+ @link -lgsl -lgslcblas
+ double theta = atan2(y,x) + 9*M_PI/180.;
+ double r = sqrt (x*x + y*y);
+ double D = 8.83906519983e-2;
+ double k = 3.;
+ double A = 1./2555510.;
+ return A*cos (k*theta)*gsl_sf_bessel_Inu (k, r/D);
+ }
+ unbiased = 1
+ }
+ EventScript { start = end } { echo -n "10 " }
+ OutputCorrelation { start = end } stdout { v = P } {
+ s = {
+ @include <gsl/gsl_sf_bessel.h>
+ @link -lgsl -lgslcblas
+ double theta = atan2(y,x) + 10*M_PI/180.;
+ double r = sqrt (x*x + y*y);
+ double D = 8.83906519983e-2;
+ double k = 3.;
+ double A = 1./2555510.;
+ return A*cos (k*theta)*gsl_sf_bessel_Inu (k, r/D);
+ }
+ unbiased = 1
+ }
+ EventScript { start = end } { echo -n "11 " }
+ OutputCorrelation { start = end } stdout { v = P } {
+ s = {
+ @include <gsl/gsl_sf_bessel.h>
+ @link -lgsl -lgslcblas
+ double theta = atan2(y,x) + 11*M_PI/180.;
+ double r = sqrt (x*x + y*y);
+ double D = 8.83906519983e-2;
+ double k = 3.;
+ double A = 1./2555510.;
+ return A*cos (k*theta)*gsl_sf_bessel_Inu (k, r/D);
+ }
+ unbiased = 1
+ }
+ EventScript { start = end } { echo -n "12 " }
+ OutputCorrelation { start = end } stdout { v = P } {
+ s = {
+ @include <gsl/gsl_sf_bessel.h>
+ @link -lgsl -lgslcblas
+ double theta = atan2(y,x) + 12*M_PI/180.;
+ double r = sqrt (x*x + y*y);
+ double D = 8.83906519983e-2;
+ double k = 3.;
+ double A = 1./2555510.;
+ return A*cos (k*theta)*gsl_sf_bessel_Inu (k, r/D);
+ }
+ unbiased = 1
+ }
+ EventScript { start = end } { echo -n "13 " }
+ OutputCorrelation { start = end } stdout { v = P } {
+ s = {
+ @include <gsl/gsl_sf_bessel.h>
+ @link -lgsl -lgslcblas
+ double theta = atan2(y,x) + 13*M_PI/180.;
+ double r = sqrt (x*x + y*y);
+ double D = 8.83906519983e-2;
+ double k = 3.;
+ double A = 1./2555510.;
+ return A*cos (k*theta)*gsl_sf_bessel_Inu (k, r/D);
+ }
+ unbiased = 1
+ }
+ EventScript { start = end } { echo -n "14 " }
+ OutputCorrelation { start = end } stdout { v = P } {
+ s = {
+ @include <gsl/gsl_sf_bessel.h>
+ @link -lgsl -lgslcblas
+ double theta = atan2(y,x) + 14*M_PI/180.;
+ double r = sqrt (x*x + y*y);
+ double D = 8.83906519983e-2;
+ double k = 3.;
+ double A = 1./2555510.;
+ return A*cos (k*theta)*gsl_sf_bessel_Inu (k, r/D);
+ }
+ unbiased = 1
+ }
+ EventScript { start = end } { echo -n "15 " }
+ OutputCorrelation { start = end } stdout { v = P } {
+ s = {
+ @include <gsl/gsl_sf_bessel.h>
+ @link -lgsl -lgslcblas
+ double theta = atan2(y,x) + 15*M_PI/180.;
+ double r = sqrt (x*x + y*y);
+ double D = 8.83906519983e-2;
+ double k = 3.;
+ double A = 1./2555510.;
+ return A*cos (k*theta)*gsl_sf_bessel_Inu (k, r/D);
+ }
+ unbiased = 1
+ }
+ EventScript { start = end } { echo -n "16 " }
+ OutputCorrelation { start = end } stdout { v = P } {
+ s = {
+ @include <gsl/gsl_sf_bessel.h>
+ @link -lgsl -lgslcblas
+ double theta = atan2(y,x) + 16*M_PI/180.;
+ double r = sqrt (x*x + y*y);
+ double D = 8.83906519983e-2;
+ double k = 3.;
+ double A = 1./2555510.;
+ return A*cos (k*theta)*gsl_sf_bessel_Inu (k, r/D);
+ }
+ unbiased = 1
+ }
+ EventScript { start = end } { echo -n "17 " }
+ OutputCorrelation { start = end } stdout { v = P } {
+ s = {
+ @include <gsl/gsl_sf_bessel.h>
+ @link -lgsl -lgslcblas
+ double theta = atan2(y,x) + 17*M_PI/180.;
+ double r = sqrt (x*x + y*y);
+ double D = 8.83906519983e-2;
+ double k = 3.;
+ double A = 1./2555510.;
+ return A*cos (k*theta)*gsl_sf_bessel_Inu (k, r/D);
+ }
+ unbiased = 1
+ }
+ EventScript { start = end } { echo -n "18 " }
+ OutputCorrelation { start = end } stdout { v = P } {
+ s = {
+ @include <gsl/gsl_sf_bessel.h>
+ @link -lgsl -lgslcblas
+ double theta = atan2(y,x) + 18*M_PI/180.;
+ double r = sqrt (x*x + y*y);
+ double D = 8.83906519983e-2;
+ double k = 3.;
+ double A = 1./2555510.;
+ return A*cos (k*theta)*gsl_sf_bessel_Inu (k, r/D);
+ }
+ unbiased = 1
+ }
+ EventScript { start = end } { echo -n "19 " }
+ OutputCorrelation { start = end } stdout { v = P } {
+ s = {
+ @include <gsl/gsl_sf_bessel.h>
+ @link -lgsl -lgslcblas
+ double theta = atan2(y,x) + 19*M_PI/180.;
+ double r = sqrt (x*x + y*y);
+ double D = 8.83906519983e-2;
+ double k = 3.;
+ double A = 1./2555510.;
+ return A*cos (k*theta)*gsl_sf_bessel_Inu (k, r/D);
+ }
+ unbiased = 1
+ }
+ EventScript { start = end } { echo -n "20 " }
+ OutputCorrelation { start = end } stdout { v = P } {
+ s = {
+ @include <gsl/gsl_sf_bessel.h>
+ @link -lgsl -lgslcblas
+ double theta = atan2(y,x) + 20*M_PI/180.;
+ double r = sqrt (x*x + y*y);
+ double D = 8.83906519983e-2;
+ double k = 3.;
+ double A = 1./2555510.;
+ return A*cos (k*theta)*gsl_sf_bessel_Inu (k, r/D);
+ }
+ unbiased = 1
+ }
+ EventScript { start = end } { echo -n "21 " }
+ OutputCorrelation { start = end } stdout { v = P } {
+ s = {
+ @include <gsl/gsl_sf_bessel.h>
+ @link -lgsl -lgslcblas
+ double theta = atan2(y,x) + 21*M_PI/180.;
+ double r = sqrt (x*x + y*y);
+ double D = 8.83906519983e-2;
+ double k = 3.;
+ double A = 1./2555510.;
+ return A*cos (k*theta)*gsl_sf_bessel_Inu (k, r/D);
+ }
+ unbiased = 1
+ }
+ EventScript { start = end } { echo -n "22 " }
+ OutputCorrelation { start = end } stdout { v = P } {
+ s = {
+ @include <gsl/gsl_sf_bessel.h>
+ @link -lgsl -lgslcblas
+ double theta = atan2(y,x) + 22*M_PI/180.;
+ double r = sqrt (x*x + y*y);
+ double D = 8.83906519983e-2;
+ double k = 3.;
+ double A = 1./2555510.;
+ return A*cos (k*theta)*gsl_sf_bessel_Inu (k, r/D);
+ }
+ unbiased = 1
+ }
+ EventScript { start = end } { echo -n "23 " }
+ OutputCorrelation { start = end } stdout { v = P } {
+ s = {
+ @include <gsl/gsl_sf_bessel.h>
+ @link -lgsl -lgslcblas
+ double theta = atan2(y,x) + 23*M_PI/180.;
+ double r = sqrt (x*x + y*y);
+ double D = 8.83906519983e-2;
+ double k = 3.;
+ double A = 1./2555510.;
+ return A*cos (k*theta)*gsl_sf_bessel_Inu (k, r/D);
+ }
+ unbiased = 1
+ }
+ EventScript { start = end } { echo -n "24 " }
+ OutputCorrelation { start = end } stdout { v = P } {
+ s = {
+ @include <gsl/gsl_sf_bessel.h>
+ @link -lgsl -lgslcblas
+ double theta = atan2(y,x) + 24*M_PI/180.;
+ double r = sqrt (x*x + y*y);
+ double D = 8.83906519983e-2;
+ double k = 3.;
+ double A = 1./2555510.;
+ return A*cos (k*theta)*gsl_sf_bessel_Inu (k, r/D);
+ }
+ unbiased = 1
+ }
+ EventScript { start = end } { echo -n "25 " }
+ OutputCorrelation { start = end } stdout { v = P } {
+ s = {
+ @include <gsl/gsl_sf_bessel.h>
+ @link -lgsl -lgslcblas
+ double theta = atan2(y,x) + 25*M_PI/180.;
+ double r = sqrt (x*x + y*y);
+ double D = 8.83906519983e-2;
+ double k = 3.;
+ double A = 1./2555510.;
+ return A*cos (k*theta)*gsl_sf_bessel_Inu (k, r/D);
+ }
+ unbiased = 1
+ }
+ EventScript { start = end } { echo -n "26 " }
+ OutputCorrelation { start = end } stdout { v = P } {
+ s = {
+ @include <gsl/gsl_sf_bessel.h>
+ @link -lgsl -lgslcblas
+ double theta = atan2(y,x) + 26*M_PI/180.;
+ double r = sqrt (x*x + y*y);
+ double D = 8.83906519983e-2;
+ double k = 3.;
+ double A = 1./2555510.;
+ return A*cos (k*theta)*gsl_sf_bessel_Inu (k, r/D);
+ }
+ unbiased = 1
+ }
+ EventScript { start = end } { echo -n "27 " }
+ OutputCorrelation { start = end } stdout { v = P } {
+ s = {
+ @include <gsl/gsl_sf_bessel.h>
+ @link -lgsl -lgslcblas
+ double theta = atan2(y,x) + 27*M_PI/180.;
+ double r = sqrt (x*x + y*y);
+ double D = 8.83906519983e-2;
+ double k = 3.;
+ double A = 1./2555510.;
+ return A*cos (k*theta)*gsl_sf_bessel_Inu (k, r/D);
+ }
+ unbiased = 1
+ }
+ EventScript { start = end } { echo -n "28 " }
+ OutputCorrelation { start = end } stdout { v = P } {
+ s = {
+ @include <gsl/gsl_sf_bessel.h>
+ @link -lgsl -lgslcblas
+ double theta = atan2(y,x) + 28*M_PI/180.;
+ double r = sqrt (x*x + y*y);
+ double D = 8.83906519983e-2;
+ double k = 3.;
+ double A = 1./2555510.;
+ return A*cos (k*theta)*gsl_sf_bessel_Inu (k, r/D);
+ }
+ unbiased = 1
+ }
+ EventScript { start = end } { echo -n "29 " }
+ OutputCorrelation { start = end } stdout { v = P } {
+ s = {
+ @include <gsl/gsl_sf_bessel.h>
+ @link -lgsl -lgslcblas
+ double theta = atan2(y,x) + 29*M_PI/180.;
+ double r = sqrt (x*x + y*y);
+ double D = 8.83906519983e-2;
+ double k = 3.;
+ double A = 1./2555510.;
+ return A*cos (k*theta)*gsl_sf_bessel_Inu (k, r/D);
+ }
+ unbiased = 1
+ }
+ EventScript { start = end } { echo -n "30 " }
+ OutputCorrelation { start = end } stdout { v = P } {
+ s = {
+ @include <gsl/gsl_sf_bessel.h>
+ @link -lgsl -lgslcblas
+ double theta = atan2(y,x) + 30*M_PI/180.;
+ double r = sqrt (x*x + y*y);
+ double D = 8.83906519983e-2;
+ double k = 3.;
+ double A = 1./2555510.;
+ return A*cos (k*theta)*gsl_sf_bessel_Inu (k, r/D);
+ }
+ unbiased = 1
+ }
+ OutputSimulation { start = end } sim-LEVEL {}
+}
+GfsBox {}
diff --git a/test/euler/waves/waves.sh b/test/euler/waves/waves.sh
new file mode 100644
index 0000000..ddcabed
--- /dev/null
+++ b/test/euler/waves/waves.sh
@@ -0,0 +1,42 @@
+if ! $donotrun; then
+ rm -f correlation res-* sim-*
+ shapes -n 500 ellipse | transform -s 1.999 -i > basin.gts
+ for level in 5 6 7; do
+ if sed "s/LEVEL/$level/g" < $1 | gerris2D - | \
+ awk '{ print $1 " " $5 }' > res-$level && \
+ awk -v l=$level 'BEGIN { min1 = 0. } {
+ if ($2 > min1) {
+ theta = $1;
+ min1 = $2;
+ }
+ } END {
+ printf ("%d\t\t%g\t\t\t%g\n", l, theta, min1);
+ }' < res-$level >> correlation; then :
+ else
+ exit 1
+ fi
+ done
+fi
+
+echo "Save solution.eps { format = EPS }" | gfsview-batch2D -S sim-7 solution.gfv
+
+awk 'BEGIN {
+ print "\\begin{tabular}{|c|c|c|}"
+ print "\\hline Level & Maximum $C$ & Angle of max $C$ \\\\ \\hline"
+}{
+ print $1 " & " $3 " & " $2 " \\\\"
+}END {
+ print "\\hline"
+ print "\\end{tabular}"
+}' < correlation > correlation.tex
+
+if cat <<EOF | python ; then :
+from check import *
+from sys import *
+if (Curve('correlation',1,2) - Curve('correlation.ref',1,2)).max() > 0. or\
+ (Curve('correlation.ref',1,3) - Curve('correlation',1,3)).max() > 0.:
+ exit(1)
+EOF
+else
+ exit 1
+fi
--
Gerris Flow Solver
More information about the debian-science-commits
mailing list