--- Begin Message ---
Package: gnuplot
Version: 4.2.2-1.2
Severity: minor
It need more then 1G of ram in order to trace a mathieu function plot.
mathieu4.out is generated by the c program compile with c99.
out file is about 12M. mathieuplot4p1.dat is about 35M do not know why it is so
memory hungry.
Thanks
--
"ROUCARIÈS Bastien"
[email protected]
-------------------------------------------------------------------------------
DO NOT WRITE TO [email protected] OR BE BLACKLISTED
#include<stdio.h>
#include<math.h>
#include<complex.h>
int
main ()
{
FILE *fp; // Prepare to print to file
fp = fopen ("mathieu4.out", "w");
int m, i, j;
double complex e[201], d[101], alpha, beta, alpha1, mu;
double q, a, ah;
double pi = 3.141592653589;
a = 0;
q = 0;
for (q = 0; q <= 1;)
{
if(q <= 1e-6)
q += 1e-7;
else if (q <= 1e-5)
q += 1e-6;
else if (q <= 1e-4)
q+= 1e-5;
else if (q <1e-3)
q+= 1e-4;
else if (q<1e-2)
q+= 1e-3;
else
q+=1e-2;
//Loop over the desired
printf ("%f\n", q);
for (ah = 0; ah < 1;)
{
if(ah < 0.15 || ah > 0.85)
ah = ah + 0.005;
else
{
//a-q region
if (fabs (2 * ah - round (2 * ah)) < 0.1)
{
if (fabs (2 * ah - round (2 * ah)) < 0.01)
if (fabs (2 * ah - round (2 * ah)) < 0.001)
ah = ah + 0.000001;
else
ah = ah + 0.00001;
else
ah = ah + 0.0001;
}
else
ah = ah + 0.005;
}
a = 4 * ah * ah;
//printf("%f ",a);
for (m = 0; m <= 248; m += 2)
{
e[m] = q / ((m * m * 1.0) - a);
} //Set all components
//The first seed determinants, from Maple worksheet
d[3] =
-2 * e[2] * e[2] * e[0] * e[4] * e[4] * e[6] +
e[2] * e[2] * e[4] * e[4] -
2 * e[4] * e[4] * e[2] * e[0] * e[6] * e[6] +
2 * e[2] * e[4] * e[4] * e[6] + e[4] * e[4] * e[6] * e[6] +
2 * e[2] * e[2] * e[0] * e[4] + 4 * e[2] * e[0] * e[6] * e[4] -
2 * e[2] * e[4] - 2 * e[6] * e[4] - 2 * e[2] * e[0] + 1;
d[2] =
1 - 2 * e[2] * e[4] - 2 * e[2] * e[0] +
2 * e[2] * e[2] * e[0] * e[4] + e[2] * e[2] * e[4] * e[4];
d[1] = 1 - 2 * e[2] * e[0];
d[0] = 1;
for (m = 4; m <= 100; m++)
{ //Here goes Strang's interation method
alpha = e[2 * m] * e[2 * (m - 1)];
beta = 1 - alpha;
alpha1 = e[2 * (m - 1)] * e[2 * (m - 2)];
d[m] =
beta * d[m - 1] - alpha * beta * d[m - 2] +
alpha * alpha1 * alpha1 * d[m - 3];
}
//Find mu, make seperate case for -a situation
if (a >= 0)
{
mu = cacos (1 - (d[100]) * (1 - cos (pi * sqrt (a)))) / (pi);
}
if (a < 0)
{
mu =
cacos (1 -
(d[100]) * (1 - cosh (pi * sqrt (fabs (a))))) / (pi);
}
if (mu != mu)
{
mu = 0.000000;
} //If mu=nan then make it zero
fprintf (fp, "%f %f %f \n", q, ah, cimag (mu));
}
fprintf (fp, "\n");
}
}
#set data style lines
#set contour base
#set cntrparam levels discrete 0.001
#set nosurface
#set view 0,0
#splot 'mathieu.out'
# For the inner contours:
set xlabel 'q'
set ylabel 'p'
set yrange [0:1]
set xrange [0:1]
set xtics 10
set ytics 1e-3
set data style lines
set cntrparam bspline
set cntrparam points 7
set cntrparam levels 300
set contour
set nosurface
#set key off
set view 0,0
set table 'mathieuplot4p1.dat'
splot 'mathieu4.out'
#quit
set contour base
unset cntrparam
set cntrparam bspline
set cntrparam points 7
set cntrparam levels discrete -0.0001
set table 'mathieuplot4p2.dat'
splot 'mathieu4.out'
#set terminal epslatex color solid
#set output 'mathieuplotmode4.tex'
set terminal postscript color solid
set output 'mathieuplotmode4.ps'
set parametric
unset xtics
set logscale x
set xrange [500:30000]
set grid
set yrange [0:1e-4]
#set mxtics 5
set ytics 1e-5
xi(i) = i < 2 ? 3.8320 : i < 3 ? 7.0156 : i < 4 ? 10.1730 : i < 5 ? 13.3518 : i
< 6 ? 16.4934 : i < 7 ? 19.6350 : i < 8 ? 22.7765 : i < 9 ? 25.9181 : i < 10 ?
29.0597 : i < 11 ? 32.2013 : i < 12 ? 35.3429 : i < 13 ? 38.4845 : i < 14 ?
41.6261 : i < 15 ? 44.7677 : i < 16 ? 47.9093 : i < 17 ? 51.0509 : i < 18 ?
54.1925 : i < 19 ? 57.3341 : i < 20 ? 60.4757 : 63.6173
h=5e-3
R=1e-3
g=9.81
sigma=0.0728
rho=1000
p(t,ximn)=4*ximn*tanh(ximn*h)/(R*t**2)*(g+ximn**2*sigma/rho)
q(t,Z0,ximn)=2*ximn*Z0*tanh(ximn*h)/R
om(t)=2*pi*t
k(i)=xi(i)/R
omegamn(i)=sqrt((g+sigma*k(i)**2/rho)*k(i)*tanh(k(i)*h))
f(i)=omegamn(i)/(2*pi)
nz(i)=2*k(i)*tanh(k(i)*h)
print f(1), f(2), f(3), f(4), f(5), f(6), f(7), f(8), f(9), f(10), f(11), f(12)
set trange [10:200]
# plot 'mathieuplot4p1.dat' using ($2)*4*f(1):($1)/nz(1) notitle lt rgb "red"
,\
# 'mathieuplot4p1.dat' using ($2)*4*f(2):($1)/nz(2) notitle lt rgb "blue"
,\
# 'mathieuplot4p1.dat' using ($2)*4*f(3):($1)/nz(3) notitle lt rgb "green"
,\
# 'mathieuplot4p1.dat' using ($2)*4*f(4):($1)/nz(4) notitle lt rgb
"yellow" ,\
# 'mathieuplot4p1.dat' using ($2)*4*f(5):($1)/nz(5) notitle lt rgb "cyan"
,\
# 'mathieuplot4p1.dat' using ($2)*4*f(6):($1)/nz(6) notitle lt rgb
"purple" ,\
# 'mathieuplot4p1.dat' using ($2)*4*f(7):($1)/nz(7) notitle lt rgb "red"
,\
# 'mathieuplot4p1.dat' using ($2)*4*f(8):($1)/nz(8) notitle lt rgb "blue"
,\
# 'mathieuplot4p1.dat' using ($2)*4*f(9):($1)/nz(9) notitle lt rgb "green"
,\
# 'mathieuplot4p1.dat' using ($2)*4*f(10):($1)/nz(10) notitle lt rgb
"yellow" ,\
# 'mathieuplot4p1.dat' using ($2)*4*f(11):($1)/nz(11) notitle lt rgb
"cyan" ,\
# 'mathieuplot4p1.dat' using ($2)*4*f(12):($1)/nz(12) notitle lt rgb
"purple"
plot 'mathieuplot4p1.dat' using ($2)*4*f(1):($1)/nz(1) notitle lt rgb "red" ,\
'mathieuplot4p2.dat' using ($2)*4*f(1):($1)/nz(1) notitle lt rgb "red",\
'mathieuplot4p1.dat' using ($2)*4*f(2):($1)/nz(2) notitle lt rgb "blue" ,\
'mathieuplot4p2.dat' using ($2)*4*f(2):($1)/nz(2) notitle lt rgb "blue", \
'mathieuplot4p1.dat' using ($2)*4*f(3):($1)/nz(3) notitle lt rgb "green"
,\
'mathieuplot4p2.dat' using ($2)*4*f(3):($1)/nz(3) notitle lt rgb "green", \
'mathieuplot4p1.dat' using ($2)*4*f(4):($1)/nz(4) notitle lt rgb "yellow"
,\
'mathieuplot4p2.dat' using ($2)*4*f(4):($1)/nz(4) notitle lt rgb "yellow",
\
'mathieuplot4p1.dat' using ($2)*4*f(5):($1)/nz(5) notitle lt rgb "cyan" ,\
'mathieuplot4p2.dat' using ($2)*4*f(5):($1)/nz(5) notitle lt rgb "cyan",\
'mathieuplot4p1.dat' using ($2)*4*f(6):($1)/nz(6) notitle lt rgb "purple"
,\
'mathieuplot4p2.dat' using ($2)*4*f(6):($1)/nz(6) notitle lt rgb "purple",
\
'mathieuplot4p1.dat' using ($2)*4*f(7):($1)/nz(7) notitle lt rgb "red" ,\
'mathieuplot4p2.dat' using ($2)*4*f(7):($1)/nz(7) notitle lt rgb "red",\
'mathieuplot4p1.dat' using ($2)*4*f(8):($1)/nz(8) notitle lt rgb "blue" ,\
'mathieuplot4p2.dat' using ($2)*4*f(8):($1)/nz(8) notitle lt rgb "blue", \
'mathieuplot4p1.dat' using ($2)*4*f(9):($1)/nz(9) notitle lt rgb "green"
,\
'mathieuplot4p2.dat' using ($2)*4*f(9):($1)/nz(9) notitle lt rgb "green", \
'mathieuplot4p1.dat' using ($2)*4*f(10):($1)/nz(10) notitle lt rgb
"yellow" ,\
'mathieuplot4p2.dat' using ($2)*4*f(10):($1)/nz(10) notitle lt rgb
"yellow", \
'mathieuplot4p1.dat' using ($2)*4*f(11):($1)/nz(11) notitle lt rgb "cyan"
,\
'mathieuplot4p2.dat' using ($2)*4*f(11):($1)/nz(11) notitle lt rgb "cyan"
# 'mathieuplot4p1.dat' using ($2)*4*f(12):($1)/nz(12) notitle lt rgb
"purple", \
# 'mathieuplot4p2.dat' using ($2)*4*f(12):($1)/nz(12) notitle lt rgb
"purple",\
# 'mathieuplot4p1.dat' using ($2)*4*f(13):($1)/nz(13) notitle lt rgb "red"
,\
# 'mathieuplot4p2.dat' using ($2)*4*f(13):($1)/nz(13) notitle lt rgb
"red",\
# 'mathieuplot4p1.dat' using ($2)*4*f(14):($1)/nz(14) notitle lt rgb
"blue" ,\
# 'mathieuplot4p2.dat' using ($2)*4*f(14):($1)/nz(14) notitle lt rgb
"blue", \
# 'mathieuplot4p1.dat' using ($2)*4*f(15):($1)/nz(15) notitle lt rgb
"green" ,\
# 'mathieuplot4p2.dat' using ($2)*4*f(15):($1)/nz(15) notitle lt rgb
"green", \
# 'mathieuplot4p1.dat' using ($2)*4*f(16):($1)/nz(16) notitle lt rgb
"yellow" ,\
# 'mathieuplot4p2.dat' using ($2)*4*f(16):($1)/nz(16) notitle lt rgb
"yellow", \
# 'mathieuplot4p1.dat' using ($2)*4*f(17):($1)/nz(17) notitle lt rgb
"cyan" ,\
# 'mathieuplot4p2.dat' using ($2)*4*f(17):($1)/nz(17) notitle lt rgb
"cyan",\
# 'mathieuplot4p1.dat' using ($2)*4*f(18):($1)/nz(18) notitle lt rgb
"purple" ,\
# 'mathieuplot4p2.dat' using ($2)*4*f(18):($1)/nz(18) notitle lt rgb
"purple"
#'mathieuplot4p1.dat' using ($2)*4*f(2):($1)/nz(2) notitle lt rgb "green"
,'mathieuplot4p2.dat' using ($2)*4*f(2):($1)/nz(2) notitle lt rgb "green",
'mathieuplot4p1.dat' using ($2)*4*f(3):($1)/nz(3) notitle lt rgb "blue"
,'mathieuplot4p2.dat' using ($2)*4*f(3):($1)/nz(3) notitle lt rgb "blue"
#pause -1
--- End Message ---