Skip to content
Snippets Groups Projects
Commit bd877ccc authored by Ned Coltman's avatar Ned Coltman
Browse files

[freeflow] cleanup convergence script

parent d784a766
No related branches found
No related tags found
1 merge request!1326Freeflow/convergencescript cleanup
#! /bin/bash
if [ $# -ne 3 ]; then
echo "usage: $0 EXECUTABLE_NAME DIMENSION NUM_REFINEMENT_STEPS"
if [ $# -ne 4 ]; then
echo "usage: $0 EXECUTABLE_NAME PARAMS DIMENSION NUM_REFINEMENT_STEPS"
exit
fi
......@@ -11,34 +11,47 @@ LOGFILE=logfile_$1.out
rm $LOGFILE
L2ERRORFILE=l2error_$1.txt
if [ $2 == 1 ]; then
GRIDCELLS="4"
elif [ $2 == 2 ]; then
GRIDCELLS="4 4"
DIM=$3
INITIALCELLS=4
if [ $DIM == 1 ]; then
GRIDCELLS="$INITIALCELLS"
elif [ $DIM == 2 ]; then
GRIDCELLS="$INITIALCELLS $INITIALCELLS"
else
GRIDCELLS="4 4 4"
GRIDCELLS="$INITIALCELLS $INITIALCELLS $INITIALCELLS"
fi
MAX=$3
MAX=$4
MAXCELLS=$INITIALCELLS
for (( i=0; i <= $MAX; ++i )); do
printf "refinement $i / $MAX "
./$1 $1.input -Grid.Cells "$GRIDCELLS" -Grid.Refinement $i -Problem.PrintL2Error true &>> $LOGFILE
((MAXCELLS *=2))
./$1 params.input -Grid.Cells "$GRIDCELLS" -Grid.Refinement $i -Problem.PrintL2Error true &>> $LOGFILE
echo "done."
done
grep "L2 error (abs/rel) for" $LOGFILE | tee $L2ERRORFILE
echo "reset; \
set log x; \
set log y; \
set arrow from graph 0,1 to graph 1,0 nohead lc rgb 'gray'; \
set arrow from graph 0,1 to graph 1,0.5 nohead lc rgb 'gray'" > $1.gp
PLOT="plot '$L2ERRORFILE' u 6:17 w lp t 'pressure', '$L2ERRORFILE' u 6:23 w lp t 'velocity'"
if [ $2 == 2 ]; then
PLOT=$PLOT", '$L2ERRORFILE' u 6:29 w lp t 'velocity'"
elif [ $2 == 3 ]; then
PLOT=$PLOT", '$L2ERRORFILE' u 6:35 w lp t 'velocity'"
echo "reset
set terminal pngcairo size 1000,750
set output 'convergence.png'
set xrange [($INITIALCELLS-1):$MAXCELLS]
set yrange [:1]
set xlabel 'number of cells per dimension'
set ylabel 'l2 error (abs)'
set log x
set log y" > $1.gp
PLOT="plot x**-1 w l lc rgb 'gray40' t 'O_1', \
x**-2 w l lc rgb 'blue20' t 'O_2', \
'$L2ERRORFILE' u (\$6**(1./$DIM.)):17 w lp t 'pressure', \
'$L2ERRORFILE' u (\$6**(1./$DIM.)):23 w lp t 'velocity_x'"
if [ $DIM == 2 ]; then
PLOT=$PLOT", '$L2ERRORFILE' u (\$6**(1./$DIM.)):29 w lp t 'velocity_y'"
elif [ $DIM == 3 ]; then
PLOT=$PLOT", '$L2ERRORFILE' u (\$6**(1./$DIM.)):29 w lp t 'velocity_y', '$L2ERRORFILE' u (\$6**(1./$DIM.)):35 w lp t 'velocity_z'"
fi
echo $PLOT >> $1.gp
gnuplot --persist $1.gp
eog convergence.png
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment