solvers::multiphaseEuler: New solver module for Euler-Euler multiphase simulations

executed with foamRun for single region simulations of foamMultiRun for
multi-region simulations.  Replaces multiphaseEulerFoam and all the
corresponding tutorials have been updated and moved to
tutorials/modules/multiphaseEuler.

Class
    Foam::solvers::multiphaseEuler

Description
    Solver module for a system of any number of compressible fluid phases with a
    common pressure, but otherwise separate properties. The type of phase model
    is run time selectable and can optionally represent multiple species and
    in-phase reactions. The phase system is also run time selectable and can
    optionally represent different types of momentum, heat and mass transfer.

    Uses the flexible PIMPLE (PISO-SIMPLE) solution for time-resolved and
    pseudo-transient and steady simulations.

    Optional fvModels and fvConstraints are provided to enhance the simulation
    in many ways including adding various sources, Lagrangian
    particles, surface film etc. and constraining or limiting the solution.

SourceFiles
    multiphaseEuler.C

See also
    Foam::solvers::compressibleVoF
    Foam::solvers::fluidSolver
    Foam::solvers::incompressibleFluid
This commit is contained in:
Henry Weller
2022-11-03 14:49:56 +00:00
parent 879f852b80
commit cec0359871
1621 changed files with 127852 additions and 0 deletions

View File

@ -0,0 +1,80 @@
#!/bin/sh
if ! which gnuplot > /dev/null 2>&1
then
echo 'gnuplot not found - skipping graph creation' >&2
exit 1
fi
graphFile=$(foamListTimes -latestTime)/line.xy
surfaceFile=$(cd postProcessing/inflow && ls -1tr */* | tail -n 1)
gnuplot<<EOF
set terminal postscript eps size 8,9 color enhanced font "Helvetica,20"
set output "./validation/$(basename "$PWD").eps"
set multiplot layout 3,2
set decimalsign '.'
set grid
A = 0.000586423
q = 73890
set key at graph 0.65,0.95
set xlabel 'Radial coordinate, r/R (-)'
set xrange [0:1]
set ylabel 'Void fraction (-)'
plot \
"postProcessing/graph/$graphFile" \
u (\$1/0.0096):2 w lp lt 1 t 'Simulation', \
'./validation/exptData/vof_deb1.txt' \
u 1:2 w p lt rgb "black" pt 4 t 'Experiment'
set ylabel 'Liquid temperature (K)'
plot \
"postProcessing/graph/$graphFile" \
u (\$1/0.0096):3 w lp lt 1 t 'Simulation', \
'./validation/exptData/T_deb1.txt' \
u 1:2 w p lt rgb "black" pt 4 t 'Experiment'
set ylabel 'Sauter mean diameter (mm)'
plot \
"postProcessing/graph/$graphFile" \
u (\$1/0.0096):(\$5*1000) w lp lt 1 t 'Simulation', \
'./validation/exptData/d_deb1.txt' \
u 1:(\$2*1000) w p lt rgb "black" pt 4 t 'Experiment'
set key at graph 0.99,0.95
set xlabel 'Time (s)'
set xrange [0.5:4]
set ylabel 'Mass in- and outflow (kg/s)'
set yrange [0.5:0.8]
plot \
'./postProcessing/inflow/$surfaceFile' \
every ::4::10000 u 1:(-1*360*\$3) w l lt 1 t 'liquid inflow', \
'./postProcessing/outflow/$surfaceFile' \
every ::4::10000 u 1:(360*\$3) w l lt 3 t 'liquid outflow', \
'./postProcessing/outflow/$surfaceFile' \
every ::4::10000 u 1:(360*\$2+360*\$3) w l lt 4 t 'liquid + vapor outflow'
set ylabel 'Enthalpy in- and outflow (J/s)'
set yrange [1.5e5:2.0e5]
plot \
'./postProcessing/inletLiquid/$surfaceFile' \
every ::4::10000 u 1:(-1*360*\$2) w l lt 1 t 'liquid inflow', \
'./postProcessing/inletLiquid/$surfaceFile' \
every ::4::10000 u 1:(-1*360*\$2+360*A*q) w l lt 8 t 'liquid inflow + wall heat flux', \
'./postProcessing/outletLiquid/$surfaceFile' \
every ::4::10000 u 1:(360*\$2) w l lt 3 t 'liquid outflow', \
"<paste \
./postProcessing/outletLiquid/$surfaceFile \
./postProcessing/outletGas/$surfaceFile" \
every ::4::10000 u 1:(360*\$2+360*\$4) w l lt 4 t 'liquid + vapor outflow'
unset multiplot
EOF
#------------------------------------------------------------------------------