89 lines
2.3 KiB
Bash
Executable File
89 lines
2.3 KiB
Bash
Executable File
#!/bin/bash
|
|
cd "${0%/*}" || exit # Run from this directory
|
|
. ${WM_PROJECT_DIR:?}/bin/tools/RunFunctions # Tutorial run functions
|
|
#------------------------------------------------------------------------------
|
|
|
|
# Plot temperature, heat flux vs analytical
|
|
|
|
graphDir="postProcessing/singleGraph"
|
|
|
|
#------------------------------------------------------------------------------
|
|
|
|
plotTemperature() {
|
|
graphName="Tprofile.png"
|
|
echo "Creating temperature profile graph to $graphName"
|
|
gnuplot<<GNUPLOT
|
|
set terminal pngcairo font "Helvetica,12" size 800,600
|
|
set title "Temperature profile" font "Helvetica,12"
|
|
|
|
set key bottom right
|
|
set xlabel "z" font "Helvetica,12"
|
|
set ylabel "Temperature" font "Helvetica,16"
|
|
set output "$graphName"
|
|
|
|
set logscale y
|
|
set format y "10^{%L}"
|
|
set key font ",12"
|
|
|
|
set lmargin 10
|
|
set rmargin 1.5
|
|
set bmargin 3.2
|
|
|
|
s1=1
|
|
s2=1e6
|
|
|
|
fo(x)=s1/(s1+s2)+s2*x/(s1+s2)
|
|
fu(x)=s1/(s1+s2)+s1*x/(s1+s2)
|
|
|
|
plot \
|
|
(x<=0)?fu(x):fo(x) w l lc 0 t 'analytical solution', \
|
|
"$graphDir/1/line_T.xy" u 1:2 w p pt 2 ps 2 lt rgb "red" t 'linear interpolation', \
|
|
"$graphDir/2/line_T.xy" u 1:2 w p pt 6 ps 2 lt rgb "green" t 'harmonic interpolation'
|
|
|
|
GNUPLOT
|
|
}
|
|
|
|
|
|
plotHeatFlux() {
|
|
graphName="heatFlux.png"
|
|
echo "Creating heat-flux graph to $graphName"
|
|
gnuplot<<GNUPLOT
|
|
set terminal pngcairo font "Helvetica,12" size 800,600
|
|
set title "Heat Flux" font "Helvetica,16"
|
|
|
|
set key top right
|
|
set xlabel "z" font "Helvetica,12"
|
|
set output "$graphName"
|
|
|
|
set logscale y
|
|
set format y "10^{%L}"
|
|
set key font ",12"
|
|
|
|
set lmargin 10
|
|
set rmargin 1.5
|
|
set bmargin 3.2
|
|
|
|
plot \
|
|
"$graphDir/1/line_flux.xy" u 1:4 w p pt 6 ps 2 lt rgb "red" t 'laplacian: linear, grad: linear', \
|
|
"$graphDir/2/line_flux.xy" u 1:4 w p pt 2 ps 2 lt rgb "blue" t 'laplacian: harmonic, grad: linear', \
|
|
"$graphDir/3/line_flux.xy" u 1:4 w l lt rgb "green" t 'laplacian: harmonic, grad: weightedFlux'
|
|
GNUPLOT
|
|
}
|
|
|
|
|
|
if notTest "$@"
|
|
then
|
|
# Create validation plots
|
|
|
|
# Require gnuplot
|
|
command -v gnuplot >/dev/null || {
|
|
echo "gnuplot not found - skipping graph creation" 1>&2
|
|
exit 1
|
|
}
|
|
|
|
plotTemperature
|
|
plotHeatFlux
|
|
fi
|
|
|
|
# ------------------------------------------------------------------------------
|