mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
TUT: planeChannel: new verification case for RANS turbulence models
This commit is contained in:
10
tutorials/verificationAndValidation/turbulenceModels/planeChannel/Allclean
Executable file
10
tutorials/verificationAndValidation/turbulenceModels/planeChannel/Allclean
Executable file
@ -0,0 +1,10 @@
|
||||
#!/bin/sh
|
||||
cd "${0%/*}" || exit # Run from this directory
|
||||
. ${WM_PROJECT_DIR:?}/bin/tools/CleanFunctions # Tutorial clean functions
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
rm -rf setups
|
||||
rm -rf results
|
||||
rm -rf plots
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
171
tutorials/verificationAndValidation/turbulenceModels/planeChannel/Allrun
Executable file
171
tutorials/verificationAndValidation/turbulenceModels/planeChannel/Allrun
Executable file
@ -0,0 +1,171 @@
|
||||
#!/bin/sh
|
||||
cd "${0%/*}" || exit # Run from this directory
|
||||
. ${WM_PROJECT_DIR:?}/bin/tools/RunFunctions # Tutorial run functions
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
# settings
|
||||
|
||||
# operand setups
|
||||
setups="
|
||||
EBRSM
|
||||
kOmegaSST
|
||||
"
|
||||
|
||||
# flag to enable computations
|
||||
run=true
|
||||
|
||||
# flag to enable computations in parallel mode
|
||||
parallel=false
|
||||
|
||||
# flag to enable to use a common mesh
|
||||
common_mesh=true
|
||||
|
||||
# flag to enable to use a common dynamic code
|
||||
common_dynamic_code=true
|
||||
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
#######################################
|
||||
# Create the given setup
|
||||
# Arguments:
|
||||
# $1 = Path to create the setup
|
||||
# Outputs:
|
||||
# Writes info to stdout
|
||||
#######################################
|
||||
dry_run_setup() {
|
||||
|
||||
[ $# -eq 0 ] && { echo "Usage error: $0"; exit 1; }
|
||||
|
||||
setup="$1"
|
||||
dirSetup="setups/$setup"
|
||||
dirSetupOrig="setups.orig/$setup"
|
||||
dirOrig="$dirSetupOrig/0.orig"
|
||||
dirConstant="$dirSetupOrig/constant"
|
||||
dirSystem="$dirSetupOrig/system"
|
||||
|
||||
printf "\n# Create the setup: %s\n" "$setup"
|
||||
|
||||
if [ ! -d "$dirSetup" ]
|
||||
then
|
||||
mkdir -p "$dirSetup"
|
||||
|
||||
cp -aRfL "setups.orig/common/." "$dirSetup"
|
||||
cp -afL "$dirSetupOrig"/All* "$dirSetup" 2>/dev/null || :
|
||||
[ -d "$dirOrig" ] && cp -aRfL "$dirOrig/." "$dirSetup/0.orig"
|
||||
[ -d "$dirConstant" ] && cp -aRfL "$dirConstant/." "$dirSetup/constant"
|
||||
[ -d "$dirSystem" ] && cp -aRfL "$dirSystem/." "$dirSetup/system"
|
||||
else
|
||||
printf "\n # Directory %s already exists\n" "$dirSetup"
|
||||
printf " # Skipping the creation of a new setup\n"
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
#######################################
|
||||
# Run the given setup
|
||||
# Arguments:
|
||||
# $1 = Path to the setup to run
|
||||
# Outputs:
|
||||
# Writes info to stdout
|
||||
#######################################
|
||||
run_setup() {
|
||||
|
||||
[ $# -eq 0 ] && { echo "Usage error: $0"; exit 1; }
|
||||
|
||||
setup="$1"
|
||||
dirSetup="setups/$setup"
|
||||
dirResult="results/$setup"
|
||||
|
||||
dry_run_setup "$setup"
|
||||
[ -d results ] || mkdir -p results
|
||||
|
||||
printf "\n# Run the setup: %s\n\n" "$setup"
|
||||
|
||||
if [ ! -d "$dirResult" ]
|
||||
then
|
||||
cp -Rf "$dirSetup" "$dirResult"
|
||||
|
||||
if [ "$common_mesh" = true ]
|
||||
then
|
||||
if [ -d results/mesh ]
|
||||
then
|
||||
printf "## Copy the common mesh to the setup: %s\n\n" "$setup"
|
||||
cp -Rf results/mesh/polyMesh "$dirResult"/constant/.
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ "$common_dynamic_code" = true ]
|
||||
then
|
||||
if [ -d results/dynamicCode ]
|
||||
then
|
||||
printf "## Copy the common dynamic code to the setup: %s\n\n" "$setup"
|
||||
cp -Rf results/dynamicCode "$dirResult"/.
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
if [ "$parallel" = true ]
|
||||
then
|
||||
( cd "$dirResult" && ./Allrun-parallel )
|
||||
else
|
||||
( cd "$dirResult" && ./Allrun )
|
||||
fi
|
||||
|
||||
|
||||
if [ "$common_mesh" = true ]
|
||||
then
|
||||
if [ ! -d results/mesh ]
|
||||
then
|
||||
printf "\n## Store the mesh of %s as the common mesh\n\n" "$setup"
|
||||
mkdir -p results/mesh
|
||||
cp -Rf "$dirResult"/constant/polyMesh results/mesh/.
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ "$common_dynamic_code" = true ]
|
||||
then
|
||||
if [ ! -d results/dynamicCode ] && [ -d "$dirResult"/dynamicCode ]
|
||||
then
|
||||
printf "\n## Store the dynamic code of %s as the common dynamic code\n\n" "$setup"
|
||||
cp -Rf "$dirResult"/dynamicCode results/.
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
else
|
||||
printf " # Directory %s already exists\n" "$dirResult"
|
||||
printf " # Skipping the computation of the given setup\n"
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
for setup in $setups
|
||||
do
|
||||
dirSetupOrig="setups.orig/$setup"
|
||||
|
||||
if [ ! -d "$dirSetupOrig" ]
|
||||
then
|
||||
echo "Setup directory: $dirSetupOrig" \
|
||||
"could not be found - skipping execution" 1>&2
|
||||
continue
|
||||
fi
|
||||
|
||||
if [ "$run" = true ]
|
||||
then
|
||||
run_setup "$setup"
|
||||
else
|
||||
dry_run_setup "$setup"
|
||||
fi
|
||||
done
|
||||
|
||||
|
||||
if notTest "$@" && [ "$run" = true ]
|
||||
then
|
||||
./plot
|
||||
fi
|
||||
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
707
tutorials/verificationAndValidation/turbulenceModels/planeChannel/plot
Executable file
707
tutorials/verificationAndValidation/turbulenceModels/planeChannel/plot
Executable file
@ -0,0 +1,707 @@
|
||||
#!/bin/bash
|
||||
cd "${0%/*}" || exit # Run from this directory
|
||||
. ${WM_PROJECT_DIR:?}/bin/tools/RunFunctions # Tutorial run functions
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
# settings
|
||||
|
||||
# operand setups
|
||||
setups="
|
||||
EBRSM
|
||||
kOmegaSST
|
||||
"
|
||||
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
plot_initial_iteration_residuals() {
|
||||
|
||||
setup="$1"
|
||||
|
||||
echo "## Plots the initial-iteration residuals"
|
||||
|
||||
sampleFile="results/$setup/logs"
|
||||
image="plots/$setup/initial-iteration-residuals.png"
|
||||
|
||||
gnuplot<<PLT_IRES
|
||||
set terminal pngcairo font "helvetica,20" size 1000, 1000
|
||||
set grid
|
||||
#set xrange [0:200]
|
||||
set yrange [1e-16:1]
|
||||
set logscale y
|
||||
set key right top
|
||||
set key samplen 2
|
||||
set key spacing 0.75
|
||||
set xlabel "Iterations"
|
||||
set ylabel "Initial-iteration residuals"
|
||||
set offset .2, .05
|
||||
set output "$image"
|
||||
set title "Setup: $setup"
|
||||
|
||||
file_exists(file) = system("[ -f '".file."' ] && echo '1' || echo '0'") + 0
|
||||
|
||||
# OpenFOAM
|
||||
Ux="$sampleFile/Ux_0"
|
||||
p="$sampleFile/p_0"
|
||||
k="$sampleFile/k_0"
|
||||
omega="$sampleFile/omega_0"
|
||||
epsilon="$sampleFile/epsilon_0"
|
||||
Rxx="$sampleFile/Rxx_0"
|
||||
Ryy="$sampleFile/Ryy_0"
|
||||
Rzz="$sampleFile/Rzz_0"
|
||||
Rxy="$sampleFile/Rxy_0"
|
||||
nuTilda="$sampleFile/nuTilda_0"
|
||||
gammaInt="$sampleFile/gammaInt_0"
|
||||
ReThetat="$sampleFile/ReThetat_0"
|
||||
|
||||
if ( file_exists(Rxx) ) {
|
||||
plot \
|
||||
Ux u 1:2 t "Ux" w l lw 2 lc rgb "#009E73", \
|
||||
p u 1:2 t "p" w l lw 2 lc rgb "#F0E440", \
|
||||
epsilon u 1:2 t "epsilon" w l lw 2 lc rgb "#D55E00", \
|
||||
Rxx u 1:2 t "Rxx" w l lw 2 lc rgb "#0072B2", \
|
||||
Ryy u 1:2 t "Ryy" w l lw 2 lc rgb "#CC79A7", \
|
||||
Rzz u 1:2 t "Rzz" w l lw 2 lc rgb "#440154", \
|
||||
Rxy u 1:2 t "Rxy" w l lw 2 lc rgb "#4169e1"
|
||||
}
|
||||
|
||||
if ( file_exists(k) ) {
|
||||
if ( ! file_exists(gammaInt) ) {
|
||||
plot \
|
||||
Ux u 1:2 t "Ux" w l lw 2 lc rgb "#009E73", \
|
||||
p u 1:2 t "p" w l lw 2 lc rgb "#F0E440", \
|
||||
k u 1:2 t "k" w l lw 2 lc rgb "#0072B2", \
|
||||
omega u 1:2 t "omega" w l lw 2 lc rgb "#D55E00"
|
||||
} else {
|
||||
plot \
|
||||
Ux u 1:2 t "Ux" w l lw 2 lc rgb "#009E73", \
|
||||
p u 1:2 t "p" w l lw 2 lc rgb "#F0E440", \
|
||||
k u 1:2 t "k" w l lw 2 lc rgb "#0072B2", \
|
||||
omega u 1:2 t "omega" w l lw 2 lc rgb "#D55E00", \
|
||||
gammaInt u 1:2 t "gammaInt" w l lw 2 lc rgb "#CC79A7", \
|
||||
ReThetat u 1:2 t "ReThetat" w l lw 2 lc rgb "#440154"
|
||||
}
|
||||
}
|
||||
|
||||
if ( file_exists(nuTilda) ) {
|
||||
plot \
|
||||
Ux u 1:2 t "Ux" w l lw 2 lc rgb "#009E73", \
|
||||
p u 1:2 t "p" w l lw 2 lc rgb "#F0E440", \
|
||||
nuTilda u 1:2 t "nuTilda" w l lw 2 lc rgb "#0072B2"
|
||||
}
|
||||
PLT_IRES
|
||||
}
|
||||
|
||||
|
||||
plot_final_iteration_residuals() {
|
||||
|
||||
setup="$1"
|
||||
|
||||
echo "## Plots the final-iteration residuals"
|
||||
|
||||
sampleFile="results/$setup/logs"
|
||||
image="plots/$setup/final-iteration-residuals.png"
|
||||
|
||||
gnuplot<<PLT_FRES
|
||||
set terminal pngcairo font "helvetica,20" size 1000, 1000
|
||||
set grid
|
||||
#set xrange [0:200]
|
||||
set yrange [1e-16:1]
|
||||
set logscale y
|
||||
set key right top
|
||||
set key samplen 2
|
||||
set key spacing 0.75
|
||||
set xlabel "Iterations"
|
||||
set ylabel "Final-iteration residuals"
|
||||
set offset .2, .05
|
||||
set output "$image"
|
||||
set title "Setup: $setup"
|
||||
|
||||
file_exists(file) = system("[ -f '".file."' ] && echo '1' || echo '0'") + 0
|
||||
|
||||
# OpenFOAM
|
||||
Ux="$sampleFile/UxFinalRes_0"
|
||||
p="$sampleFile/pFinalRes_0"
|
||||
k="$sampleFile/kFinalRes_0"
|
||||
omega="$sampleFile/omegaFinalRes_0"
|
||||
epsilon="$sampleFile/epsilonFinalRes_0"
|
||||
Rxx="$sampleFile/RxxFinalRes_0"
|
||||
Ryy="$sampleFile/RyyFinalRes_0"
|
||||
Rzz="$sampleFile/RzzFinalRes_0"
|
||||
Rxy="$sampleFile/RxyFinalRes_0"
|
||||
nuTilda="$sampleFile/nuTildaFinalRes_0"
|
||||
gammaInt="$sampleFile/gammaIntFinalRes_0"
|
||||
ReThetat="$sampleFile/ReThetatFinalRes_0"
|
||||
|
||||
if ( file_exists(Rxx) ) {
|
||||
plot \
|
||||
Ux u 1:2 t "Ux" w l lw 2 lc rgb "#009E73", \
|
||||
p u 1:2 t "p" w l lw 2 lc rgb "#F0E440", \
|
||||
epsilon u 1:2 t "epsilon" w l lw 2 lc rgb "#D55E00", \
|
||||
Rxx u 1:2 t "Rxx" w l lw 2 lc rgb "#0072B2", \
|
||||
Ryy u 1:2 t "Ryy" w l lw 2 lc rgb "#CC79A7", \
|
||||
Rzz u 1:2 t "Rzz" w l lw 2 lc rgb "#440154", \
|
||||
Rxy u 1:2 t "Rxy" w l lw 2 lc rgb "#4169e1"
|
||||
}
|
||||
|
||||
if ( file_exists(k) ) {
|
||||
if ( ! file_exists(gammaInt) ) {
|
||||
plot \
|
||||
Ux u 1:2 t "Ux" w l lw 2 lc rgb "#009E73", \
|
||||
p u 1:2 t "p" w l lw 2 lc rgb "#F0E440", \
|
||||
k u 1:2 t "k" w l lw 2 lc rgb "#0072B2", \
|
||||
omega u 1:2 t "omega" w l lw 2 lc rgb "#D55E00"
|
||||
} else {
|
||||
plot \
|
||||
Ux u 1:2 t "Ux" w l lw 2 lc rgb "#009E73", \
|
||||
p u 1:2 t "p" w l lw 2 lc rgb "#F0E440", \
|
||||
k u 1:2 t "k" w l lw 2 lc rgb "#0072B2", \
|
||||
omega u 1:2 t "omega" w l lw 2 lc rgb "#D55E00", \
|
||||
gammaInt u 1:2 t "gammaInt" w l lw 2 lc rgb "#CC79A7", \
|
||||
ReThetat u 1:2 t "ReThetat" w l lw 2 lc rgb "#440154"
|
||||
}
|
||||
}
|
||||
|
||||
if ( file_exists(nuTilda) ) {
|
||||
plot \
|
||||
Ux u 1:2 t "Ux" w l lw 2 lc rgb "#009E73", \
|
||||
p u 1:2 t "p" w l lw 2 lc rgb "#F0E440", \
|
||||
nuTilda u 1:2 t "nuTilda" w l lw 2 lc rgb "#0072B2"
|
||||
}
|
||||
PLT_FRES
|
||||
}
|
||||
|
||||
|
||||
plot_yPlus_vs_uPlus() {
|
||||
|
||||
setup="$1"
|
||||
endTime="$2"
|
||||
nu="$3"
|
||||
uTau="$4"
|
||||
|
||||
benchmarkDir="$FOAM_TUTORIALS/verificationAndValidation/turbulentInflow/oneCellThickPlaneChannel"
|
||||
benchmarkFile="$benchmarkDir/resources/dataset/chan395.means"
|
||||
sampleFile="results/$setup/postProcessing/sampleU/$endTime/y_U.xy"
|
||||
image="plots/$setup/yPlus_vs_uPlus.png"
|
||||
|
||||
gnuplot<<PLT_Y_VS_U
|
||||
set terminal pngcairo font "helvetica,20" size 1000, 1000
|
||||
set grid
|
||||
#set xrange [0:200]
|
||||
#set yrange [0:20]
|
||||
set logscale x
|
||||
set key left top reverse
|
||||
set key samplen 2
|
||||
set key spacing 0.75
|
||||
set xlabel "y^+"
|
||||
set ylabel "u^+"
|
||||
set output "$image"
|
||||
set title "Setup: $setup" noenhanced
|
||||
|
||||
# Benchmark
|
||||
benchmark="$benchmarkFile"
|
||||
|
||||
# OpenFOAM
|
||||
samples="$sampleFile"
|
||||
|
||||
plot \
|
||||
benchmark u 2:3 t "DNS" w p ps 2 pt 7 lc rgb "#ffc020", \
|
||||
samples u (\$1*$uTau/$nu):(\$2/$uTau) t "OpenFOAM" w l lw 2 lc rgb "#4169e1"
|
||||
PLT_Y_VS_U
|
||||
}
|
||||
|
||||
|
||||
plot_yPlus_vs_R() {
|
||||
|
||||
setup="$1"
|
||||
endTime="$2"
|
||||
nu="$3"
|
||||
uTau="$4"
|
||||
|
||||
benchmarkDir="$FOAM_TUTORIALS/verificationAndValidation/turbulentInflow/oneCellThickPlaneChannel"
|
||||
benchmarkFile="$benchmarkDir/resources/dataset/chan395.reystress"
|
||||
sampleFile="results/$setup/postProcessing/sampleR/$endTime/y_turbulenceProperties:R.xy"
|
||||
sampleFileK="results/$setup/postProcessing/sampleK/$endTime/y_turbulenceProperties:k.xy"
|
||||
imageUU="plots/$setup/yPlus_vs_Ruu.png"
|
||||
imageVV="plots/$setup/yPlus_vs_Rvv.png"
|
||||
imageWW="plots/$setup/yPlus_vs_Rww.png"
|
||||
imageUV="plots/$setup/yPlus_vs_Ruv.png"
|
||||
imageK0="plots/$setup/yPlus_vs_kPlus0.png"
|
||||
imageK1="plots/$setup/yPlus_vs_kPlus1.png"
|
||||
|
||||
gnuplot<<PLT_Y_VS_R
|
||||
set terminal pngcairo font "helvetica,20" size 1000, 1000
|
||||
set grid
|
||||
#set xrange [0:200]
|
||||
#set yrange [0:1]
|
||||
set logscale x
|
||||
set key left top reverse
|
||||
set key samplen 2
|
||||
set key spacing 0.75
|
||||
set xlabel "y^+"
|
||||
set ylabel "(uu)^+"
|
||||
set output "$imageUU"
|
||||
set title "Setup: $setup" noenhanced
|
||||
|
||||
# Benchmark
|
||||
benchmark="$benchmarkFile"
|
||||
|
||||
# OpenFOAM
|
||||
samples="$sampleFile"
|
||||
samplesK="$sampleFileK"
|
||||
|
||||
plot \
|
||||
benchmark u 2:3 t "DNS" w p ps 2 pt 7 lc rgb "#ffc020", \
|
||||
samples u (\$1*$uTau/$nu):(\$2/$uTau**2) t "OpenFOAM" w l lw 2 lc rgb "#4169e1"
|
||||
|
||||
set output "$imageVV"
|
||||
set ylabel "(vv)^+"
|
||||
plot \
|
||||
benchmark u 2:4 t "DNS" w p ps 2 pt 7 lc rgb "#ffc020", \
|
||||
samples u (\$1*$uTau/$nu):(\$5/$uTau**2) t "OpenFOAM" w l lw 2 lc rgb "#4169e1"
|
||||
|
||||
set output "$imageWW"
|
||||
set ylabel "(ww)^+"
|
||||
plot \
|
||||
benchmark u 2:5 t "DNS" w p ps 2 pt 7 lc rgb "#ffc020", \
|
||||
samples u (\$1*$uTau/$nu):(\$7/$uTau**2) t "OpenFOAM" w l lw 2 lc rgb "#4169e1"
|
||||
|
||||
set output "$imageUV"
|
||||
set ylabel "(uv)^+"
|
||||
plot \
|
||||
benchmark u 2:(\$6*-1) t "DNS" w p ps 2 pt 7 lc rgb "#ffc020", \
|
||||
samples u (\$1*$uTau/$nu):(-\$3/$uTau**2) t "OpenFOAM" w l lw 2 lc rgb "#4169e1"
|
||||
|
||||
set output "$imageK0"
|
||||
set ylabel "k^+"
|
||||
plot \
|
||||
benchmark u 2:(0.5*(\$3 + \$4 + \$5)) t "DNS" w p ps 2 pt 7 lc rgb "#ffc020", \
|
||||
samples u (\$1*$uTau/$nu):(0.5*(\$2 + \$5 + \$7)/$uTau**2) t "OpenFOAM" w l lw 2 lc rgb "#4169e1"
|
||||
|
||||
set output "$imageK1"
|
||||
set ylabel "k^+"
|
||||
plot \
|
||||
benchmark u 2:(0.5*(\$3 + \$4 + \$5)) t "DNS" w p ps 2 pt 7 lc rgb "#ffc020", \
|
||||
samplesK u (\$1*$uTau/$nu):(\$2/$uTau**2) t "OpenFOAM" w l lw 2 lc rgb "#4169e1"
|
||||
PLT_Y_VS_R
|
||||
}
|
||||
|
||||
|
||||
plot_yPlus_vs_epsilonPlus() {
|
||||
|
||||
setup="$1"
|
||||
endTime="$2"
|
||||
nu="$3"
|
||||
uTau="$4"
|
||||
|
||||
benchmarkDir="$FOAM_TUTORIALS/verificationAndValidation/turbulentInflow/oneCellThickPlaneChannel"
|
||||
benchmarkFile="$benchmarkDir/resources/dataset/chan395.kbal"
|
||||
sampleFile="results/$setup/postProcessing/sampleEpsilon/$endTime/y_turbulenceProperties:epsilon.xy"
|
||||
image="plots/$setup/yPlus_vs_epsilonPlus.png"
|
||||
|
||||
gnuplot<<PLT_Y_VS_EPSILON
|
||||
set terminal pngcairo font "helvetica,20" size 1000, 1000
|
||||
set grid
|
||||
#set xrange [0:200]
|
||||
#set yrange [0:20]
|
||||
set logscale x
|
||||
set key left top reverse
|
||||
set key samplen 2
|
||||
set key spacing 0.75
|
||||
set xlabel "y^+"
|
||||
set ylabel "{/Symbol e}^+"
|
||||
set output "$image"
|
||||
set title "Setup: $setup" noenhanced
|
||||
|
||||
# Benchmark
|
||||
benchmark="$benchmarkFile"
|
||||
|
||||
# OpenFOAM
|
||||
samples="$sampleFile"
|
||||
|
||||
plot \
|
||||
benchmark u 2:(-\$3) t "DNS" w p ps 2 pt 7 lc rgb "#ffc020", \
|
||||
samples u (\$1*$uTau/$nu):(\$2*$nu/$uTau**4) t "OpenFOAM" w l lw 2 lc rgb "#4169e1"
|
||||
PLT_Y_VS_EPSILON
|
||||
}
|
||||
|
||||
|
||||
plot_yPlus_vs_productionRatePlus() {
|
||||
|
||||
setup="$1"
|
||||
endTime="$2"
|
||||
nu="$3"
|
||||
uTau="$4"
|
||||
|
||||
benchmarkDir="$FOAM_TUTORIALS/verificationAndValidation/turbulentInflow/oneCellThickPlaneChannel"
|
||||
benchmarkFile="$benchmarkDir/resources/dataset/chan395.kbal"
|
||||
sampleFile="results/$setup/postProcessing/sampleG/$endTime/y_productionRate.xy"
|
||||
image="plots/$setup/yPlus_vs_productionRatePlus.png"
|
||||
|
||||
gnuplot<<PLT_Y_VS_PRODUCTION_RATE
|
||||
set terminal pngcairo font "helvetica,20" size 1000, 1000
|
||||
set grid
|
||||
#set xrange [0:200]
|
||||
#set yrange [0:20]
|
||||
set logscale x
|
||||
set key left top reverse
|
||||
set key samplen 2
|
||||
set key spacing 0.75
|
||||
set xlabel "y^+"
|
||||
set ylabel "P^+"
|
||||
set output "$image"
|
||||
set title "Setup: $setup" noenhanced
|
||||
|
||||
# Benchmark
|
||||
benchmark="$benchmarkFile"
|
||||
|
||||
# OpenFOAM
|
||||
samples="$sampleFile"
|
||||
|
||||
plot \
|
||||
benchmark u 2:4 t "DNS" w p ps 2 pt 7 lc rgb "#ffc020", \
|
||||
samples u (\$1*$uTau/$nu):(\$2*$nu/$uTau**4) t "OpenFOAM" w l lw 2 lc rgb "#4169e1"
|
||||
PLT_Y_VS_PRODUCTION_RATE
|
||||
}
|
||||
|
||||
|
||||
plot_yPlus_vs_uPlus_all_setups() {
|
||||
|
||||
setups=$@
|
||||
|
||||
benchmarkDir="$FOAM_TUTORIALS/verificationAndValidation/turbulentInflow/oneCellThickPlaneChannel"
|
||||
benchmarkFile="$benchmarkDir/resources/dataset/chan395.means"
|
||||
|
||||
n=0
|
||||
for setup in $setups
|
||||
do
|
||||
# few manipulations
|
||||
endTime=$(foamDictionary results/$setup/system/controlDict -entry endTime -value)
|
||||
nu=$(foamDictionary results/$setup/constant/transportProperties -entry nu | sed 's|^.*\s\(.*\);|\1|g')
|
||||
tau=$(foamDictionary results/$setup/$endTime/wallShearStress -entry boundaryField.bottom.value -value | sed -n '/(/,/)/p' | sed -e 's/[()]//g;/^\s*$/d' | cut -d' ' -f6)
|
||||
uTau=$(awk -v tau="$tau" 'BEGIN { printf "%.16f", sqrt(-1*tau) }')
|
||||
|
||||
sampleFiles[$n]="results/$setup/postProcessing/sampleU/$endTime/y_U.xy"
|
||||
nus[$n]="$nu"
|
||||
uTaus[$n]="$uTau"
|
||||
n=$(($n+1))
|
||||
done
|
||||
|
||||
image="plots/all_setups_yPlus_vs_uPlus.png"
|
||||
|
||||
gnuplot<<PLT_Y_VS_U_ALL_SETUPS
|
||||
set terminal pngcairo font "helvetica,20" size 1000, 1000
|
||||
set grid
|
||||
#set xrange [0:200]
|
||||
#set yrange [0:20]
|
||||
set logscale x
|
||||
set key left top reverse
|
||||
set key samplen 2
|
||||
set key spacing 0.75
|
||||
set xlabel "y^+"
|
||||
set ylabel "u^+"
|
||||
set output "$image"
|
||||
set title "Ground-normal profile" noenhanced
|
||||
|
||||
# Benchmark
|
||||
benchmark="$benchmarkFile"
|
||||
|
||||
# OpenFOAM
|
||||
models="${setups[*]}"
|
||||
samples="${sampleFiles[*]}"
|
||||
nus="${nus[*]}"
|
||||
uTaus="${uTaus[*]}"
|
||||
|
||||
plot \
|
||||
benchmark u 2:3 t "DNS" w p ps 2 pt 7 lc rgb "#ffc020", \
|
||||
for [i=1:words(samples)] word(samples, i) \
|
||||
u (\$1*word(uTaus, i)/word(nus, i)):(\$2/word(uTaus, i)) \
|
||||
t word(models, i) w l lw 2
|
||||
PLT_Y_VS_U_ALL_SETUPS
|
||||
}
|
||||
|
||||
|
||||
plot_yPlus_vs_R_all_setups() {
|
||||
|
||||
setups=$@
|
||||
|
||||
benchmarkDir="$FOAM_TUTORIALS/verificationAndValidation/turbulentInflow/oneCellThickPlaneChannel"
|
||||
benchmarkFile="$benchmarkDir/resources/dataset/chan395.reystress"
|
||||
|
||||
n=0
|
||||
for setup in $setups
|
||||
do
|
||||
# few manipulations
|
||||
endTime=$(foamDictionary results/$setup/system/controlDict -entry endTime -value)
|
||||
nu=$(foamDictionary results/$setup/constant/transportProperties -entry nu | sed 's|^.*\s\(.*\);|\1|g')
|
||||
tau=$(foamDictionary results/$setup/$endTime/wallShearStress -entry boundaryField.bottom.value -value | sed -n '/(/,/)/p' | sed -e 's/[()]//g;/^\s*$/d' | cut -d' ' -f6)
|
||||
uTau=$(awk -v tau="$tau" 'BEGIN { printf "%.16f", sqrt(-1*tau) }')
|
||||
|
||||
sampleFiles[$n]="results/$setup/postProcessing/sampleR/$endTime/y_turbulenceProperties:R.xy"
|
||||
sampleFilesK[$n]="results/$setup/postProcessing/sampleK/$endTime/y_turbulenceProperties:k.xy"
|
||||
nus[$n]="$nu"
|
||||
uTaus[$n]="$uTau"
|
||||
n=$(($n+1))
|
||||
done
|
||||
|
||||
imageUU="plots/all_setups_yPlus_vs_Ruu.png"
|
||||
imageVV="plots/all_setups_yPlus_vs_Rvv.png"
|
||||
imageWW="plots/all_setups_yPlus_vs_Rww.png"
|
||||
imageUV="plots/all_setups_yPlus_vs_Ruv.png"
|
||||
imageK0="plots/all_setups_yPlus_vs_kPlus0.png"
|
||||
imageK1="plots/all_setups_yPlus_vs_kPlus1.png"
|
||||
|
||||
gnuplot<<PLT_Y_VS_R
|
||||
set terminal pngcairo font "helvetica,20" size 1000, 1000
|
||||
set grid
|
||||
#set xrange [0:200]
|
||||
#set yrange [0:1]
|
||||
set logscale x
|
||||
set key left top reverse
|
||||
set key samplen 2
|
||||
set key spacing 0.75
|
||||
set xlabel "y^+"
|
||||
set ylabel "(uu)^+"
|
||||
set output "$imageUU"
|
||||
set title "Ground-normal profile" noenhanced
|
||||
|
||||
# Benchmark
|
||||
benchmark="$benchmarkFile"
|
||||
|
||||
# OpenFOAM
|
||||
models="${setups[*]}"
|
||||
samples="${sampleFiles[*]}"
|
||||
samplesK="${sampleFilesK[*]}"
|
||||
nus="${nus[*]}"
|
||||
uTaus="${uTaus[*]}"
|
||||
|
||||
plot \
|
||||
benchmark u 2:3 t "DNS" w p ps 2 pt 7 lc rgb "#ffc020", \
|
||||
for [i=1:words(samples)] word(samples, i) \
|
||||
u (\$1*word(uTaus, i)/word(nus, i)):(\$2/word(uTaus, i)**2) \
|
||||
t word(models, i) w l lw 2
|
||||
|
||||
set output "$imageVV"
|
||||
set ylabel "(vv)^+"
|
||||
plot \
|
||||
benchmark u 2:4 t "DNS" w p ps 2 pt 7 lc rgb "#ffc020", \
|
||||
for [i=1:words(samples)] word(samples, i) \
|
||||
u (\$1*word(uTaus, i)/word(nus, i)):(\$5/word(uTaus, i)**2) \
|
||||
t word(models, i) w l lw 2
|
||||
|
||||
set output "$imageWW"
|
||||
set ylabel "(ww)^+"
|
||||
plot \
|
||||
benchmark u 2:5 t "DNS" w p ps 2 pt 7 lc rgb "#ffc020", \
|
||||
for [i=1:words(samples)] word(samples, i) \
|
||||
u (\$1*word(uTaus, i)/word(nus, i)):(\$7/word(uTaus, i)**2) \
|
||||
t word(models, i) w l lw 2
|
||||
|
||||
set output "$imageUV"
|
||||
set ylabel "(uv)^+"
|
||||
plot \
|
||||
benchmark u 2:(\$6*-1) t "DNS" w p ps 2 pt 7 lc rgb "#ffc020", \
|
||||
for [i=1:words(samples)] word(samples, i) \
|
||||
u (\$1*word(uTaus, i)/word(nus, i)):(-\$3/word(uTaus, i)**2) \
|
||||
t word(models, i) w l lw 2
|
||||
|
||||
set output "$imageK0"
|
||||
set ylabel "k^+"
|
||||
plot \
|
||||
benchmark u 2:(0.5*(\$3 + \$4 + \$5)) t "DNS" w p ps 2 pt 7 lc rgb "#ffc020", \
|
||||
for [i=1:words(samples)] word(samples, i) \
|
||||
u (\$1*word(uTaus, i)/word(nus, i)):(0.5*(\$2 + \$5 + \$7)/word(uTaus, i)**2) \
|
||||
t word(models, i) w l lw 2
|
||||
|
||||
set output "$imageK1"
|
||||
set ylabel "k^+"
|
||||
plot \
|
||||
benchmark u 2:(0.5*(\$3 + \$4 + \$5)) t "DNS" w p ps 2 pt 7 lc rgb "#ffc020", \
|
||||
for [i=1:words(samplesK)] word(samplesK, i) \
|
||||
u (\$1*word(uTaus, i)/word(nus, i)):(\$2/word(uTaus, i)**2) \
|
||||
t word(models, i) w l lw 2
|
||||
PLT_Y_VS_R
|
||||
}
|
||||
|
||||
|
||||
plot_yPlus_vs_epsilonPlus_all_setups() {
|
||||
|
||||
setups=$@
|
||||
|
||||
benchmarkDir="$FOAM_TUTORIALS/verificationAndValidation/turbulentInflow/oneCellThickPlaneChannel"
|
||||
benchmarkFile="$benchmarkDir/resources/dataset/chan395.kbal"
|
||||
|
||||
n=0
|
||||
for setup in $setups
|
||||
do
|
||||
# few manipulations
|
||||
endTime=$(foamDictionary results/$setup/system/controlDict -entry endTime -value)
|
||||
nu=$(foamDictionary results/$setup/constant/transportProperties -entry nu | sed 's|^.*\s\(.*\);|\1|g')
|
||||
tau=$(foamDictionary results/$setup/$endTime/wallShearStress -entry boundaryField.bottom.value -value | sed -n '/(/,/)/p' | sed -e 's/[()]//g;/^\s*$/d' | cut -d' ' -f6)
|
||||
uTau=$(awk -v tau="$tau" 'BEGIN { printf "%.16f", sqrt(-1*tau) }')
|
||||
|
||||
sampleFiles[$n]="results/$setup/postProcessing/sampleEpsilon/$endTime/y_turbulenceProperties:epsilon.xy"
|
||||
nus[$n]="$nu"
|
||||
uTaus[$n]="$uTau"
|
||||
n=$(($n+1))
|
||||
done
|
||||
|
||||
image="plots/all_setups_yPlus_vs_epsilonPlus.png"
|
||||
|
||||
gnuplot<<PLT_Y_VS_EPSILON_ALL_SETUPS
|
||||
set terminal pngcairo font "helvetica,20" size 1000, 1000
|
||||
set grid
|
||||
#set xrange [0:200]
|
||||
#set yrange [0:20]
|
||||
set logscale x
|
||||
set key left top reverse
|
||||
set key samplen 2
|
||||
set key spacing 0.75
|
||||
set xlabel "y^+"
|
||||
set ylabel "{/Symbol e}^+"
|
||||
set output "$image"
|
||||
set title "Ground-normal profile" noenhanced
|
||||
|
||||
# Benchmark
|
||||
benchmark="$benchmarkFile"
|
||||
|
||||
# OpenFOAM
|
||||
models="${setups[*]}"
|
||||
samples="${sampleFiles[*]}"
|
||||
nus="${nus[*]}"
|
||||
uTaus="${uTaus[*]}"
|
||||
|
||||
plot \
|
||||
benchmark u 2:(-\$3) t "DNS" w p ps 2 pt 7 lc rgb "#ffc020", \
|
||||
for [i=1:words(samples)] word(samples, i) \
|
||||
u (\$1*word(uTaus, i)/word(nus, i)):(\$2*word(nus, i)/word(uTaus, i)**4) \
|
||||
t word(models, i) w l lw 2
|
||||
PLT_Y_VS_EPSILON_ALL_SETUPS
|
||||
}
|
||||
|
||||
|
||||
plot_yPlus_vs_productionRatePlus_all_setups() {
|
||||
|
||||
setups=$@
|
||||
|
||||
benchmarkDir="$FOAM_TUTORIALS/verificationAndValidation/turbulentInflow/oneCellThickPlaneChannel"
|
||||
benchmarkFile="$benchmarkDir/resources/dataset/chan395.kbal"
|
||||
|
||||
n=0
|
||||
for setup in $setups
|
||||
do
|
||||
# few manipulations
|
||||
endTime=$(foamDictionary results/$setup/system/controlDict -entry endTime -value)
|
||||
nu=$(foamDictionary results/$setup/constant/transportProperties -entry nu | sed 's|^.*\s\(.*\);|\1|g')
|
||||
tau=$(foamDictionary results/$setup/$endTime/wallShearStress -entry boundaryField.bottom.value -value | sed -n '/(/,/)/p' | sed -e 's/[()]//g;/^\s*$/d' | cut -d' ' -f6)
|
||||
uTau=$(awk -v tau="$tau" 'BEGIN { printf "%.16f", sqrt(-1*tau) }')
|
||||
|
||||
sampleFiles[$n]="results/$setup/postProcessing/sampleG/$endTime/y_productionRate.xy"
|
||||
nus[$n]="$nu"
|
||||
uTaus[$n]="$uTau"
|
||||
n=$(($n+1))
|
||||
done
|
||||
|
||||
image="plots/all_setups_yPlus_vs_productionRatePlus.png"
|
||||
|
||||
gnuplot<<PLT_Y_VS_PRODUCTION_RATE_ALL_SETUPS
|
||||
set terminal pngcairo font "helvetica,20" size 1000, 1000
|
||||
set grid
|
||||
#set xrange [0:200]
|
||||
#set yrange [0:20]
|
||||
set logscale x
|
||||
set key left top reverse
|
||||
set key samplen 2
|
||||
set key spacing 0.75
|
||||
set xlabel "y^+"
|
||||
set ylabel "P^+"
|
||||
set output "$image"
|
||||
set title "Ground-normal profile" noenhanced
|
||||
|
||||
# Benchmark
|
||||
benchmark="$benchmarkFile"
|
||||
|
||||
# OpenFOAM
|
||||
models="${setups[*]}"
|
||||
samples="${sampleFiles[*]}"
|
||||
nus="${nus[*]}"
|
||||
uTaus="${uTaus[*]}"
|
||||
|
||||
plot \
|
||||
benchmark u 2:4 t "DNS" w p ps 2 pt 7 lc rgb "#ffc020", \
|
||||
for [i=1:words(samples)] word(samples, i) \
|
||||
u (\$1*word(uTaus, i)/word(nus, i)):(\$2*word(nus, i)/word(uTaus, i)**4) \
|
||||
t word(models, i) w l lw 2
|
||||
PLT_Y_VS_PRODUCTION_RATE_ALL_SETUPS
|
||||
}
|
||||
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
# Requires gnuplot
|
||||
command -v gnuplot >/dev/null || {
|
||||
echo "gnuplot not found - skipping graph creation" 1>&2
|
||||
exit 1
|
||||
}
|
||||
|
||||
# Requires awk
|
||||
command -v awk >/dev/null || {
|
||||
echo "awk not found - skipping graph creation" 1>&2
|
||||
exit 1
|
||||
}
|
||||
|
||||
# Check "results" directory
|
||||
[ -d "results" ] || {
|
||||
echo "No results directory found - skipping graph creation" 1>&2
|
||||
exit 1
|
||||
}
|
||||
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
for setup in $setups
|
||||
do
|
||||
|
||||
echo ""
|
||||
echo "# Plots for the setup: $setup"
|
||||
echo ""
|
||||
|
||||
[ -d "results/$setup" ] || {
|
||||
echo "No results/$setup directory found - skipping graph creation" 1>&2
|
||||
continue
|
||||
}
|
||||
|
||||
dirPlots="plots/$setup"
|
||||
[ -d "$dirPlots" ] || mkdir -p "$dirPlots"
|
||||
|
||||
# few manipulations
|
||||
RASModel=$(foamDictionary results/$setup/constant/turbulenceProperties -entry RAS.RASModel -value)
|
||||
endTime=$(foamDictionary results/$setup/system/controlDict -entry endTime -value)
|
||||
nu=$(foamDictionary results/$setup/constant/transportProperties -entry nu | sed 's|^.*\s\(.*\);|\1|g')
|
||||
tau=$(foamDictionary results/$setup/$endTime/wallShearStress -entry boundaryField.bottom.value -value | sed -n '/(/,/)/p' | sed -e 's/[()]//g;/^\s*$/d' | cut -d' ' -f6)
|
||||
uTau=$(awk -v tau="$tau" 'BEGIN { printf "%.16f", sqrt(-1*tau) }')
|
||||
|
||||
plot_initial_iteration_residuals "$setup"
|
||||
|
||||
plot_final_iteration_residuals "$setup"
|
||||
|
||||
plot_yPlus_vs_uPlus "$setup" "$endTime" "$nu" "$uTau"
|
||||
|
||||
plot_yPlus_vs_R "$setup" "$endTime" "$nu" "$uTau"
|
||||
|
||||
plot_yPlus_vs_epsilonPlus "$setup" "$endTime" "$nu" "$uTau"
|
||||
|
||||
plot_yPlus_vs_productionRatePlus "$setup" "$endTime" "$nu" "$uTau"
|
||||
|
||||
done
|
||||
|
||||
plot_yPlus_vs_uPlus_all_setups $setups
|
||||
|
||||
plot_yPlus_vs_R_all_setups $setups
|
||||
|
||||
plot_yPlus_vs_epsilonPlus_all_setups $setups
|
||||
|
||||
plot_yPlus_vs_productionRatePlus_all_setups $setups
|
||||
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
@ -0,0 +1,41 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: v2012 |
|
||||
| \\ / A nd | Website: www.openfoam.com |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class volSymmTensorField;
|
||||
object R;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [ 0 2 -2 0 0 0 0 ];
|
||||
|
||||
internalField uniform (1.718 0 0 1.718 0 1.718); // 2*k/3
|
||||
|
||||
boundaryField
|
||||
{
|
||||
"(bottom|top)"
|
||||
{
|
||||
type fixedValue;
|
||||
value uniform (1e-16 1e-16 1e-16 1e-16 1e-16 1e-16);
|
||||
}
|
||||
|
||||
"(inlet|outlet)"
|
||||
{
|
||||
type cyclic;
|
||||
}
|
||||
|
||||
leftAndRight
|
||||
{
|
||||
type empty;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,42 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: v2012 |
|
||||
| \\ / A nd | Website: www.openfoam.com |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class volScalarField;
|
||||
object epsilon;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [ 0 2 -3 0 0 0 0 ];
|
||||
|
||||
internalField uniform 33.6; // Lardeau14-Coel Eq. 21
|
||||
|
||||
boundaryField
|
||||
{
|
||||
"(bottom|top)"
|
||||
{
|
||||
type epsilonWallFunction;
|
||||
lowReCorrection true;
|
||||
value uniform 0;
|
||||
}
|
||||
|
||||
"(inlet|outlet)"
|
||||
{
|
||||
type cyclic;
|
||||
}
|
||||
|
||||
leftAndRight
|
||||
{
|
||||
type empty;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,41 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: v2012 |
|
||||
| \\ / A nd | Website: www.openfoam.com |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class volScalarField;
|
||||
object f;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [ 0 0 0 0 0 0 0 ];
|
||||
|
||||
internalField uniform 1;
|
||||
|
||||
boundaryField
|
||||
{
|
||||
"(bottom|top)"
|
||||
{
|
||||
type fixedValue;
|
||||
value uniform 0;
|
||||
}
|
||||
|
||||
"(inlet|outlet)"
|
||||
{
|
||||
type cyclic;
|
||||
}
|
||||
|
||||
leftAndRight
|
||||
{
|
||||
type empty;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,41 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: v2012 |
|
||||
| \\ / A nd | Website: www.openfoam.com |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class volScalarField;
|
||||
object k;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 2 -2 0 0 0 0];
|
||||
|
||||
internalField uniform 2.577; // Lardeau14-Coel Eq. 21
|
||||
|
||||
boundaryField
|
||||
{
|
||||
"(bottom|top)"
|
||||
{
|
||||
type fixedValue;
|
||||
value uniform 1e-10;
|
||||
}
|
||||
|
||||
"(inlet|outlet)"
|
||||
{
|
||||
type cyclic;
|
||||
}
|
||||
|
||||
leftAndRight
|
||||
{
|
||||
type empty;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,27 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: v2012 |
|
||||
| \\ / A nd | Website: www.openfoam.com |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class dictionary;
|
||||
object turbulenceProperties;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
simulationType RAS;
|
||||
|
||||
RAS
|
||||
{
|
||||
RASModel EBRSM;
|
||||
turbulence on;
|
||||
printCoeffs on;
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,41 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: v2012 |
|
||||
| \\ / A nd | Website: www.openfoam.com |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class volVectorField;
|
||||
object U;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 1 -1 0 0 0 0];
|
||||
|
||||
internalField uniform (17.54519653746177 0 0);
|
||||
|
||||
boundaryField
|
||||
{
|
||||
"(bottom|top)"
|
||||
{
|
||||
type fixedValue;
|
||||
value uniform (0 0 0);
|
||||
}
|
||||
|
||||
"(inlet|outlet)"
|
||||
{
|
||||
type cyclic;
|
||||
}
|
||||
|
||||
leftAndRight
|
||||
{
|
||||
type empty;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,41 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: v2012 |
|
||||
| \\ / A nd | Website: www.openfoam.com |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class volScalarField;
|
||||
object nut;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 2 -1 0 0 0 0];
|
||||
|
||||
internalField uniform 0;
|
||||
|
||||
boundaryField
|
||||
{
|
||||
"(bottom|top)"
|
||||
{
|
||||
type nutLowReWallFunction;
|
||||
value $internalField;
|
||||
}
|
||||
|
||||
"(inlet|outlet)"
|
||||
{
|
||||
type cyclic;
|
||||
}
|
||||
|
||||
leftAndRight
|
||||
{
|
||||
type empty;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,40 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: v2012 |
|
||||
| \\ / A nd | Website: www.openfoam.com |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class volScalarField;
|
||||
object p;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 2 -2 0 0 0 0];
|
||||
|
||||
internalField uniform 0;
|
||||
|
||||
boundaryField
|
||||
{
|
||||
"(bottom|top)"
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
|
||||
"(inlet|outlet)"
|
||||
{
|
||||
type cyclic;
|
||||
}
|
||||
|
||||
leftAndRight
|
||||
{
|
||||
type empty;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,8 @@
|
||||
#!/bin/sh
|
||||
cd "${0%/*}" || exit # Run from this directory
|
||||
. ${WM_PROJECT_DIR:?}/bin/tools/CleanFunctions # Tutorial clean functions
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
cleanCase0
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
@ -0,0 +1,27 @@
|
||||
#!/bin/sh
|
||||
cd "${0%/*}" || exit # Run from this directory
|
||||
. ${WM_PROJECT_DIR:?}/bin/tools/RunFunctions # Tutorial run functions
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
if [ ! -d constant/polyMesh ]
|
||||
then
|
||||
runApplication blockMesh
|
||||
|
||||
runApplication renumberMesh -overwrite -constant
|
||||
|
||||
runApplication checkMesh -allTopology -allGeometry -constant
|
||||
fi
|
||||
|
||||
restore0Dir
|
||||
|
||||
runApplication $(getApplication)
|
||||
|
||||
|
||||
runApplication -s "U" postProcess -func sampleU -latestTime
|
||||
runApplication -s "k" postProcess -func sampleK -latestTime
|
||||
runApplication -s "epsilon" postProcess -func sampleEpsilon -latestTime
|
||||
runApplication -s "R" postProcess -func sampleR -latestTime
|
||||
runApplication -s "G" postProcess -func sampleG -latestTime
|
||||
runApplication foamLog log."$(getApplication)"
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
@ -0,0 +1,31 @@
|
||||
#!/bin/sh
|
||||
cd "${0%/*}" || exit # Run from this directory
|
||||
. ${WM_PROJECT_DIR:?}/bin/tools/RunFunctions # Tutorial run functions
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
if [ ! -d constant/polyMesh ]
|
||||
then
|
||||
runApplication blockMesh
|
||||
|
||||
runApplication renumberMesh -overwrite -constant
|
||||
|
||||
runApplication checkMesh -allTopology -allGeometry -constant
|
||||
fi
|
||||
|
||||
restore0Dir
|
||||
|
||||
runApplication decomposePar
|
||||
|
||||
runParallel $(getApplication)
|
||||
|
||||
runApplication reconstructPar
|
||||
|
||||
|
||||
runApplication -s "U" postProcess -func sampleU -latestTime
|
||||
runApplication -s "k" postProcess -func sampleK -latestTime
|
||||
runApplication -s "epsilon" postProcess -func sampleEpsilon -latestTime
|
||||
runApplication -s "R" postProcess -func sampleR -latestTime
|
||||
runApplication -s "G" postProcess -func sampleG -latestTime
|
||||
runApplication foamLog log."$(getApplication)"
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
@ -0,0 +1,28 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: v2112 |
|
||||
| \\ / A nd | Website: www.openfoam.com |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class dictionary;
|
||||
object fvOptions;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
momentumSource
|
||||
{
|
||||
type meanVelocityForce;
|
||||
|
||||
selectionMode all;
|
||||
|
||||
fields (U);
|
||||
Ubar (17.54519653746177 0 0);
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,22 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: v2012 |
|
||||
| \\ / A nd | Website: www.openfoam.com |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class dictionary;
|
||||
object transportProperties;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
transportModel Newtonian;
|
||||
|
||||
nu 0.002531645569620253;
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,97 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: v2012 |
|
||||
| \\ / A nd | Website: www.openfoam.com |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class dictionary;
|
||||
object blockMeshDict;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
scale 1;
|
||||
|
||||
nx 10;
|
||||
ny 100;
|
||||
nz 1;
|
||||
xMin 0;
|
||||
xMax 1;
|
||||
yMin 0;
|
||||
yMax 1;
|
||||
yyMax 2;
|
||||
zMin 0;
|
||||
zMax 1;
|
||||
yExpansion 10.09757454;
|
||||
yExpansion2 #eval{ -1*$yExpansion };
|
||||
|
||||
vertices
|
||||
(
|
||||
($xMin $yMin $zMin)
|
||||
($xMax $yMin $zMin)
|
||||
($xMax $yMax $zMin)
|
||||
($xMax $yyMax $zMin)
|
||||
($xMin $yyMax $zMin)
|
||||
($xMin $yMax $zMin)
|
||||
|
||||
($xMin $yMin $zMax)
|
||||
($xMax $yMin $zMax)
|
||||
($xMax $yMax $zMax)
|
||||
($xMax $yyMax $zMax)
|
||||
($xMin $yyMax $zMax)
|
||||
($xMin $yMax $zMax)
|
||||
);
|
||||
|
||||
blocks
|
||||
(
|
||||
hex ( 0 1 2 5 6 7 8 11) ($nx $ny $nz) simpleGrading (1 $yExpansion 1)
|
||||
hex ( 5 2 3 4 11 8 9 10) ($nx $ny $nz) simpleGrading (1 $yExpansion2 1)
|
||||
);
|
||||
|
||||
boundary
|
||||
(
|
||||
bottom
|
||||
{
|
||||
type wall;
|
||||
faces ((0 6 7 1));
|
||||
}
|
||||
|
||||
top
|
||||
{
|
||||
type wall;
|
||||
faces ((4 3 9 10));
|
||||
}
|
||||
|
||||
leftAndRight
|
||||
{
|
||||
type empty;
|
||||
faces
|
||||
(
|
||||
(1 2 5 0)
|
||||
(2 3 4 5)
|
||||
(6 11 8 7)
|
||||
(11 10 9 8)
|
||||
);
|
||||
}
|
||||
|
||||
inlet
|
||||
{
|
||||
type cyclic;
|
||||
neighbourPatch outlet;
|
||||
faces ((0 5 11 6)(5 4 10 11));
|
||||
}
|
||||
|
||||
outlet
|
||||
{
|
||||
type cyclic;
|
||||
neighbourPatch inlet;
|
||||
faces ((1 7 8 2)(2 8 9 3));
|
||||
}
|
||||
);
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,151 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: v2012 |
|
||||
| \\ / A nd | Website: www.openfoam.com |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class dictionary;
|
||||
object controlDict;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
application simpleFoam;
|
||||
|
||||
startFrom latestTime;
|
||||
|
||||
startTime 0;
|
||||
|
||||
stopAt endTime;
|
||||
|
||||
endTime 100000;
|
||||
|
||||
deltaT 1;
|
||||
|
||||
writeControl timeStep;
|
||||
|
||||
writeInterval 10000;
|
||||
|
||||
purgeWrite 1;
|
||||
|
||||
writeFormat ascii;
|
||||
|
||||
writePrecision 16;
|
||||
|
||||
writeCompression off;
|
||||
|
||||
timeFormat general;
|
||||
|
||||
timePrecision 8;
|
||||
|
||||
runTimeModifiable false;
|
||||
|
||||
functions
|
||||
{
|
||||
fieldMinMax1
|
||||
{
|
||||
type fieldMinMax;
|
||||
libs (fieldFunctionObjects);
|
||||
writeToFile no;
|
||||
log yes;
|
||||
location yes;
|
||||
mode magnitude;
|
||||
fields ( p U k omega epsilon );
|
||||
}
|
||||
|
||||
wallShearStress1
|
||||
{
|
||||
type wallShearStress;
|
||||
libs (fieldFunctionObjects);
|
||||
patches ( bottom );
|
||||
executeControl writeTime;
|
||||
writeControl writeTime;
|
||||
}
|
||||
|
||||
yPlus1
|
||||
{
|
||||
type yPlus;
|
||||
libs (fieldFunctionObjects);
|
||||
executeControl writeTime;
|
||||
writeControl writeTime;
|
||||
}
|
||||
|
||||
writeCellCentres1
|
||||
{
|
||||
type writeCellCentres;
|
||||
libs (fieldFunctionObjects);
|
||||
executeControl onEnd;
|
||||
writeControl onEnd;
|
||||
}
|
||||
|
||||
turbulenceFields1
|
||||
{
|
||||
type turbulenceFields;
|
||||
libs (fieldFunctionObjects);
|
||||
fields ( k epsilon R );
|
||||
executeControl writeTime;
|
||||
writeControl writeTime;
|
||||
}
|
||||
|
||||
productionRate1
|
||||
{
|
||||
type coded;
|
||||
libs (utilityFunctionObjects);
|
||||
name productionRate;
|
||||
writeControl writeTime;
|
||||
|
||||
codeExecute
|
||||
#{
|
||||
auto* prodPtr =
|
||||
mesh().getObjectPtr<volScalarField>("productionRate");
|
||||
|
||||
if (!prodPtr)
|
||||
{
|
||||
Info<< "Create production rate field" << nl;
|
||||
prodPtr = new volScalarField
|
||||
(
|
||||
IOobject
|
||||
(
|
||||
"productionRate",
|
||||
mesh().time().timeName(),
|
||||
mesh(),
|
||||
IOobject::NO_READ,
|
||||
IOobject::AUTO_WRITE
|
||||
),
|
||||
mesh(),
|
||||
sqr(dimLength)/pow3(dimTime)
|
||||
);
|
||||
|
||||
regIOobject::store(prodPtr);
|
||||
}
|
||||
auto& prod = *prodPtr;
|
||||
|
||||
Info<< "Computing production rate field\n" << endl;
|
||||
|
||||
const auto& U = mesh().lookupObject<volVectorField>("U");
|
||||
|
||||
auto* RPtr =
|
||||
mesh().getObjectPtr<volSymmTensorField>("R");
|
||||
|
||||
if (!RPtr)
|
||||
{
|
||||
const auto& nut = mesh().lookupObject<volScalarField>("nut");
|
||||
|
||||
prod = 2*nut*(symm(fvc::grad(U)) && symm(fvc::grad(U)));
|
||||
}
|
||||
else
|
||||
{
|
||||
auto& R = *RPtr;
|
||||
|
||||
prod = 0.5*(mag(tr(-twoSymm(R & fvc::grad(U)))));
|
||||
}
|
||||
#};
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,27 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: v2012 |
|
||||
| \\ / A nd | Website: www.openfoam.com |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class dictionary;
|
||||
object decomposeParDict;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
numberOfSubdomains 2;
|
||||
|
||||
method hierarchical;
|
||||
|
||||
coeffs
|
||||
{
|
||||
n (2 1 1);
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,68 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: v2012 |
|
||||
| \\ / A nd | Website: www.openfoam.com |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class dictionary;
|
||||
object fvSchemes;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
ddtSchemes
|
||||
{
|
||||
default steadyState;
|
||||
}
|
||||
|
||||
gradSchemes
|
||||
{
|
||||
default Gauss linear;
|
||||
}
|
||||
|
||||
divSchemes
|
||||
{
|
||||
default none;
|
||||
div(phi,U) bounded Gauss linearUpwind grad(U);
|
||||
|
||||
turbulence bounded Gauss limitedLinear 1;
|
||||
|
||||
div(phi,k) $turbulence;
|
||||
div(phi,omega) $turbulence;
|
||||
div(phi,nuTilda) $turbulence;
|
||||
div(phi,epsilon) $turbulence;
|
||||
div(phi,phit) $turbulence;
|
||||
div(phi,f) $turbulence;
|
||||
div(phi,R) $turbulence;
|
||||
|
||||
div((nuEff*dev2(T(grad(U))))) Gauss linear;
|
||||
div((nu*dev2(T(grad(U))))) Gauss linear;
|
||||
div(R) Gauss linear;
|
||||
}
|
||||
|
||||
laplacianSchemes
|
||||
{
|
||||
default Gauss linear corrected;
|
||||
}
|
||||
|
||||
interpolationSchemes
|
||||
{
|
||||
default linear;
|
||||
}
|
||||
|
||||
snGradSchemes
|
||||
{
|
||||
default corrected;
|
||||
}
|
||||
|
||||
wallDist
|
||||
{
|
||||
method meshWave;
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,97 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: v2012 |
|
||||
| \\ / A nd | Website: www.openfoam.com |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class dictionary;
|
||||
object fvSolution;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
solvers
|
||||
{
|
||||
p
|
||||
{
|
||||
solver GAMG;
|
||||
smoother DICGaussSeidel;
|
||||
tolerance 1e-12;
|
||||
relTol 0;
|
||||
minIter 3;
|
||||
}
|
||||
|
||||
U
|
||||
{
|
||||
solver smoothSolver;
|
||||
smoother symGaussSeidel;
|
||||
tolerance 1e-12;
|
||||
relTol 0;
|
||||
minIter 3;
|
||||
}
|
||||
|
||||
"(k|omega|nuTilda)"
|
||||
{
|
||||
solver smoothSolver;
|
||||
smoother symGaussSeidel;
|
||||
tolerance 1e-12;
|
||||
relTol 0;
|
||||
minIter 3;
|
||||
}
|
||||
|
||||
"(epsilon|phit)"
|
||||
{
|
||||
solver smoothSolver;
|
||||
smoother symGaussSeidel;
|
||||
tolerance 1e-12;
|
||||
relTol 0;
|
||||
minIter 3;
|
||||
}
|
||||
|
||||
f
|
||||
{
|
||||
solver PBiCGStab;
|
||||
preconditioner DIC;
|
||||
tolerance 1e-12;
|
||||
relTol 0;
|
||||
minIter 3;
|
||||
}
|
||||
|
||||
R
|
||||
{
|
||||
solver smoothSolver;
|
||||
smoother symGaussSeidel;
|
||||
tolerance 1e-12;
|
||||
relTol 0;
|
||||
minIter 3;
|
||||
}
|
||||
}
|
||||
|
||||
SIMPLE
|
||||
{
|
||||
nNonOrthogonalCorrectors 0;
|
||||
consistent yes;
|
||||
pRefCell 0;
|
||||
pRefValue 0;
|
||||
}
|
||||
|
||||
relaxationFactors
|
||||
{
|
||||
equations
|
||||
{
|
||||
U 0.7;
|
||||
k 0.5;
|
||||
omega 0.5;
|
||||
nuTilda 0.5;
|
||||
epsilon 0.5;
|
||||
"(phit|f)" 0.5;
|
||||
R 0.4;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,40 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: v2012 |
|
||||
| \\ / A nd | Website: www.openfoam.com |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class dictionary;
|
||||
object sample;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
type sets;
|
||||
libs (sampling);
|
||||
interpolationScheme cellPoint;
|
||||
setFormat raw;
|
||||
executeControl writeTime;
|
||||
writeControl writeTime;
|
||||
fields
|
||||
(
|
||||
turbulenceProperties:epsilon
|
||||
);
|
||||
|
||||
sets
|
||||
(
|
||||
y
|
||||
{
|
||||
type midPoint;
|
||||
axis y;
|
||||
start (0.5 0 0.5);
|
||||
end (0.5 1 0.5);
|
||||
}
|
||||
);
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,40 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: v2012 |
|
||||
| \\ / A nd | Website: www.openfoam.com |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class dictionary;
|
||||
object sample;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
type sets;
|
||||
libs (sampling);
|
||||
interpolationScheme cellPoint;
|
||||
setFormat raw;
|
||||
executeControl writeTime;
|
||||
writeControl writeTime;
|
||||
fields
|
||||
(
|
||||
f
|
||||
);
|
||||
|
||||
sets
|
||||
(
|
||||
y
|
||||
{
|
||||
type midPoint;
|
||||
axis y;
|
||||
start (0.5 0 0.5);
|
||||
end (0.5 1 0.5);
|
||||
}
|
||||
);
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,40 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: v2012 |
|
||||
| \\ / A nd | Website: www.openfoam.com |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class dictionary;
|
||||
object sample;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
type sets;
|
||||
libs (sampling);
|
||||
interpolationScheme cellPoint;
|
||||
setFormat raw;
|
||||
executeControl writeTime;
|
||||
writeControl writeTime;
|
||||
fields
|
||||
(
|
||||
productionRate
|
||||
);
|
||||
|
||||
sets
|
||||
(
|
||||
y
|
||||
{
|
||||
type midPoint;
|
||||
axis y;
|
||||
start (0.5 0 0.5);
|
||||
end (0.5 1 0.5);
|
||||
}
|
||||
);
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,47 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: v2012 |
|
||||
| \\ / A nd | Website: www.openfoam.com |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class dictionary;
|
||||
object sample;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
type sets;
|
||||
libs (sampling);
|
||||
interpolationScheme cellPoint;
|
||||
setFormat raw;
|
||||
executeControl writeTime;
|
||||
writeControl writeTime;
|
||||
fields
|
||||
(
|
||||
turbulenceProperties:k
|
||||
);
|
||||
|
||||
sets
|
||||
(
|
||||
ref_point
|
||||
{
|
||||
type cloud;
|
||||
axis y;
|
||||
points ((0.5 1 0.5));
|
||||
}
|
||||
|
||||
y
|
||||
{
|
||||
type midPoint;
|
||||
axis y;
|
||||
start (0.5 0 0.5);
|
||||
end (0.5 1 0.5);
|
||||
}
|
||||
);
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,47 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: v2012 |
|
||||
| \\ / A nd | Website: www.openfoam.com |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class dictionary;
|
||||
object sample;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
type sets;
|
||||
libs (sampling);
|
||||
interpolationScheme cellPoint;
|
||||
setFormat raw;
|
||||
executeControl writeTime;
|
||||
writeControl writeTime;
|
||||
fields
|
||||
(
|
||||
turbulenceProperties:R
|
||||
);
|
||||
|
||||
sets
|
||||
(
|
||||
ref_point
|
||||
{
|
||||
type cloud;
|
||||
axis y;
|
||||
points ((0.5 1 0.5));
|
||||
}
|
||||
|
||||
y
|
||||
{
|
||||
type midPoint;
|
||||
axis y;
|
||||
start (0.5 0 0.5);
|
||||
end (0.5 1 0.5);
|
||||
}
|
||||
);
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,47 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: v2012 |
|
||||
| \\ / A nd | Website: www.openfoam.com |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class dictionary;
|
||||
object sample;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
type sets;
|
||||
libs (sampling);
|
||||
interpolationScheme cellPoint;
|
||||
setFormat raw;
|
||||
executeControl writeTime;
|
||||
writeControl writeTime;
|
||||
fields
|
||||
(
|
||||
U
|
||||
);
|
||||
|
||||
sets
|
||||
(
|
||||
ref_point
|
||||
{
|
||||
type cloud;
|
||||
axis y;
|
||||
points ((0.5 1 0.5));
|
||||
}
|
||||
|
||||
y
|
||||
{
|
||||
type midPoint;
|
||||
axis y;
|
||||
start (0.5 0 0.5);
|
||||
end (0.5 1 0.5);
|
||||
}
|
||||
);
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,41 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: v2012 |
|
||||
| \\ / A nd | Website: www.openfoam.com |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class volScalarField;
|
||||
object k;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 2 -2 0 0 0 0];
|
||||
|
||||
internalField uniform 2.577; // Lardeau14-Coel Eq. 21
|
||||
|
||||
boundaryField
|
||||
{
|
||||
"(bottom|top)"
|
||||
{
|
||||
type fixedValue;
|
||||
value uniform 1e-10;
|
||||
}
|
||||
|
||||
"(inlet|outlet)"
|
||||
{
|
||||
type cyclic;
|
||||
}
|
||||
|
||||
leftAndRight
|
||||
{
|
||||
type empty;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,41 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: v2012 |
|
||||
| \\ / A nd | Website: www.openfoam.com |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class volScalarField;
|
||||
object omega;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 0 -1 0 0 0 0];
|
||||
|
||||
internalField uniform 144.87; // epsilon/Cmu/k
|
||||
|
||||
boundaryField
|
||||
{
|
||||
"(bottom|top)"
|
||||
{
|
||||
type omegaWallFunction;
|
||||
value $internalField;
|
||||
}
|
||||
|
||||
"(inlet|outlet)"
|
||||
{
|
||||
type cyclic;
|
||||
}
|
||||
|
||||
leftAndRight
|
||||
{
|
||||
type empty;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,27 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: v2012 |
|
||||
| \\ / A nd | Website: www.openfoam.com |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class dictionary;
|
||||
object turbulenceProperties;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
simulationType RAS;
|
||||
|
||||
RAS
|
||||
{
|
||||
RASModel kOmegaSST;
|
||||
turbulence on;
|
||||
printCoeffs on;
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
Reference in New Issue
Block a user