Blame demo/cerf.dem

Packit 0986c0
#
Packit 0986c0
# Exercise the special functions in external library libcerf.
Packit 0986c0
# These are only present if libcerf was found during configuration/build
Packit 0986c0
# of the current gnuplot executable.
Packit 0986c0
#
Packit 0986c0
if (!strstrt(GPVAL_COMPILE_OPTIONS,"+LIBCERF")) {
Packit 0986c0
	print  "This copy of gnuplot was not linked against libcerf"
Packit 0986c0
	exit;
Packit 0986c0
}
Packit 0986c0
Packit 0986c0
save_encoding = GPVAL_ENCODING
Packit 0986c0
set encoding utf8
Packit 0986c0
Packit 0986c0
set title "Voigt Profile VP(x,σ,γ)"
Packit 0986c0
set xrange [-10:10]
Packit 0986c0
set yrange [0.0:0.3]
Packit 0986c0
set xtics out nomirror
Packit 0986c0
set ytics in mirror format "%.2f"
Packit 0986c0
set mxtics
Packit 0986c0
set mytics
Packit 0986c0
set sample 200
Packit 0986c0
Packit 0986c0
plot VP(x,1.53,0.0) title "σ=1.53 γ=0.00", \
Packit 0986c0
     VP(x,1.30,0.5) title "σ=1.30 γ=0.50", \
Packit 0986c0
     VP(x,1.00,1.0) title "σ=1.00 γ=1.00", \
Packit 0986c0
     VP(x,0.00,1.8) title "σ=0.00 γ=1.80"
Packit 0986c0
Packit 0986c0
pause -1 "<cr> to continue"
Packit 0986c0
Packit 0986c0
set yrange [-1:1]
Packit 0986c0
set title "Faddeeva/Voigt Function"
Packit 0986c0
set key samplen 0.5
Packit 0986c0
Packit 0986c0
plot real( faddeeva(x) ) lw 2, \
Packit 0986c0
     imag( faddeeva(x) ) lw 2, \
Packit 0986c0
     real(cdawson(x)) lt -1 lw 0.5 title "Dawson's Integral"
Packit 0986c0
Packit 0986c0
pause -1 "<cr> to continue"
Packit 0986c0
Packit 0986c0
reset
Packit 0986c0
unset key
Packit 0986c0
set view map
Packit 0986c0
set bmargin at screen 0.1
Packit 0986c0
set sample 200
Packit 0986c0
set isosamples 200, 200
Packit 0986c0
set size ratio 1 1,1
Packit 0986c0
set cbtics   ("0" -pi, "2π" pi)
Packit 0986c0
set title "Complex error function cerf( x + iy )" 
Packit 0986c0
set auto xy
Packit 0986c0
set urange [ -3 : 3 ]
Packit 0986c0
set vrange [ -3 : 3 ]
Packit 0986c0
set tics scale 0
Packit 0986c0
set cblabel "Phase Angle" 
Packit 0986c0
set cblabel  offset character -2, 0, 0 font "" textcolor lt -1 rotate by -270
Packit 0986c0
set cbrange [ -pi : pi ] noreverse nowriteback
Packit 0986c0
Packit 0986c0
set contour
Packit 0986c0
set cntrparam levels discrete 0.1, 0.2, 0.5,  1, 2, 5,  10, 20, 50,  100, 200, 500
Packit 0986c0
set cntrlabel onecolor
Packit 0986c0
Packit 0986c0
set palette positive nops_allcF maxcolors 0 gamma 1.5 color model HSV 
Packit 0986c0
set palette defined ( 0 0 1 1, 1 1 1 1 )
Packit 0986c0
Packit 0986c0
Hue(x,y) = (pi + atan2(-y,-x)) / (2*pi)
Packit 0986c0
phase(x,y) = hsv2rgb( Hue(x,y), sqrt(x**2+y**2), 1. )
Packit 0986c0
rp(x,y) = real(f(x,y))
Packit 0986c0
ip(x,y) = imag(f(x,y))
Packit 0986c0
color(x,y) = hsv2rgb( Hue( rp(x,y), ip(x,y) ), abs(f(x,y)), 1. )
Packit 0986c0
f(x,y) = cerf(x+y*{0,1})
Packit 0986c0
Packit 0986c0
splot '++' using 1:2:(color($1,$2)) with pm3d lc rgb variable nocontour, \
Packit 0986c0
      '++' using 1:2:(abs(cerf($1+$2*{0,1}))) with lines nosurf lt -1
Packit 0986c0
Packit 0986c0
pause -1 "<cr> to continue"
Packit 0986c0
reset
Packit 0986c0
set encoding save_encoding