From 598c49fe8ada201aa8e423632d2cc19480e897e6 Mon Sep 17 00:00:00 2001 From: Andrew Heather <a.heather@opencfd.co.uk> Date: Fri, 22 Jun 2018 15:25:06 +0100 Subject: [PATCH] TUT: Added new tutorial cases --- .../LES/surfaceMountedCube/Allclean | 6 + .../pimpleFoam/LES/surfaceMountedCube/Allrun | 11 + .../pimpleFoam/LES/surfaceMountedCube/README | 17 ++ .../LES/surfaceMountedCube/fullCase/0/U | 55 ++++ .../LES/surfaceMountedCube/fullCase/0/k | 52 ++++ .../LES/surfaceMountedCube/fullCase/0/nuTilda | 52 ++++ .../LES/surfaceMountedCube/fullCase/0/nut | 49 ++++ .../LES/surfaceMountedCube/fullCase/0/p | 47 ++++ .../LES/surfaceMountedCube/fullCase/Allclean | 9 + .../LES/surfaceMountedCube/fullCase/Allrun | 29 +++ .../fullCase/constant/transportProperties | 23 ++ .../fullCase/constant/turbulenceProperties | 40 +++ .../LES/surfaceMountedCube/fullCase/plot | 52 ++++ .../fullCase/system/blockMeshDict | 240 ++++++++++++++++++ .../fullCase/system/controlDict | 115 +++++++++ .../fullCase/system/decomposeParDict | 31 +++ .../fullCase/system/fvSchemes | 70 +++++ .../fullCase/system/fvSolution | 61 +++++ .../surfaceMountedCube/fullCase/system/sample | 125 +++++++++ .../LES/surfaceMountedCube/initChannel/0/U | 47 ++++ .../surfaceMountedCube/initChannel/0/epsilon | 49 ++++ .../LES/surfaceMountedCube/initChannel/0/k | 49 ++++ .../surfaceMountedCube/initChannel/0/nuTilda | 49 ++++ .../LES/surfaceMountedCube/initChannel/0/nut | 55 ++++ .../surfaceMountedCube/initChannel/Allclean | 8 + .../LES/surfaceMountedCube/initChannel/Allrun | 9 + .../initChannel/constant/transportProperties | 25 ++ .../initChannel/constant/turbulenceProperties | 30 +++ .../initChannel/system/blockMeshDict | 104 ++++++++ .../initChannel/system/controlDict | 85 +++++++ .../initChannel/system/fvSchemes | 59 +++++ .../initChannel/system/fvSolution | 56 ++++ .../simpleFoam/backwardFacingStep2D/0/U | 50 ++++ .../simpleFoam/backwardFacingStep2D/0/epsilon | 53 ++++ .../simpleFoam/backwardFacingStep2D/0/k | 53 ++++ .../simpleFoam/backwardFacingStep2D/0/nuTilda | 50 ++++ .../simpleFoam/backwardFacingStep2D/0/nut | 54 ++++ .../simpleFoam/backwardFacingStep2D/0/omega | 53 ++++ .../simpleFoam/backwardFacingStep2D/0/p | 50 ++++ .../simpleFoam/backwardFacingStep2D/Allclean | 10 + .../simpleFoam/backwardFacingStep2D/Allrun | 100 ++++++++ .../simpleFoam/backwardFacingStep2D/README | 22 ++ .../constant/transportProperties | 22 ++ .../constant/turbulenceProperties | 30 +++ .../backwardFacingStep2D/system/blockMeshDict | 202 +++++++++++++++ .../backwardFacingStep2D/system/controlDict | 58 +++++ .../backwardFacingStep2D/system/fvSchemes | 59 +++++ .../backwardFacingStep2D/system/fvSolution | 60 +++++ .../system/pressureCoefficient | 14 + .../backwardFacingStep2D/system/sample | 61 +++++ .../backwardFacingStep2D/system/sampleCp | 7 + .../system/stressComponents | 6 + .../turbulentFlatPlate/0.kEpsilon/U | 56 ++++ .../turbulentFlatPlate/0.kEpsilon/epsilon | 57 +++++ .../turbulentFlatPlate/0.kEpsilon/k | 59 +++++ .../turbulentFlatPlate/0.kEpsilon/nut | 60 +++++ .../turbulentFlatPlate/0.kEpsilon/p | 66 +++++ .../turbulentFlatPlate/0.kOmegaSST/U | 56 ++++ .../turbulentFlatPlate/0.kOmegaSST/k | 59 +++++ .../turbulentFlatPlate/0.kOmegaSST/nut | 60 +++++ .../turbulentFlatPlate/0.kOmegaSST/omega | 60 +++++ .../turbulentFlatPlate/0.kOmegaSST/p | 66 +++++ .../simpleFoam/turbulentFlatPlate/Allclean | 11 + .../simpleFoam/turbulentFlatPlate/Allrun | 85 +++++++ .../simpleFoam/turbulentFlatPlate/README | 17 ++ .../constant/transportProperties | 22 ++ .../constant/turbulenceProperties-kEpsilon | 30 +++ .../constant/turbulenceProperties-kOmegaSST | 30 +++ .../constant/turbulenceProperties.orig | 28 ++ .../simpleFoam/turbulentFlatPlate/plot | 26 ++ .../turbulentFlatPlate/system/blockMeshDict | 133 ++++++++++ .../system/blockMeshDict.template | 133 ++++++++++ .../turbulentFlatPlate/system/controlDict | 68 +++++ .../system/decomposeParDict | 51 ++++ .../turbulentFlatPlate/system/fvSchemes | 60 +++++ .../turbulentFlatPlate/system/fvSolution | 84 ++++++ 76 files changed, 4100 insertions(+) create mode 100755 tutorials/incompressible/pimpleFoam/LES/surfaceMountedCube/Allclean create mode 100755 tutorials/incompressible/pimpleFoam/LES/surfaceMountedCube/Allrun create mode 100644 tutorials/incompressible/pimpleFoam/LES/surfaceMountedCube/README create mode 100644 tutorials/incompressible/pimpleFoam/LES/surfaceMountedCube/fullCase/0/U create mode 100644 tutorials/incompressible/pimpleFoam/LES/surfaceMountedCube/fullCase/0/k create mode 100644 tutorials/incompressible/pimpleFoam/LES/surfaceMountedCube/fullCase/0/nuTilda create mode 100644 tutorials/incompressible/pimpleFoam/LES/surfaceMountedCube/fullCase/0/nut create mode 100644 tutorials/incompressible/pimpleFoam/LES/surfaceMountedCube/fullCase/0/p create mode 100755 tutorials/incompressible/pimpleFoam/LES/surfaceMountedCube/fullCase/Allclean create mode 100755 tutorials/incompressible/pimpleFoam/LES/surfaceMountedCube/fullCase/Allrun create mode 100644 tutorials/incompressible/pimpleFoam/LES/surfaceMountedCube/fullCase/constant/transportProperties create mode 100644 tutorials/incompressible/pimpleFoam/LES/surfaceMountedCube/fullCase/constant/turbulenceProperties create mode 100755 tutorials/incompressible/pimpleFoam/LES/surfaceMountedCube/fullCase/plot create mode 100644 tutorials/incompressible/pimpleFoam/LES/surfaceMountedCube/fullCase/system/blockMeshDict create mode 100644 tutorials/incompressible/pimpleFoam/LES/surfaceMountedCube/fullCase/system/controlDict create mode 100644 tutorials/incompressible/pimpleFoam/LES/surfaceMountedCube/fullCase/system/decomposeParDict create mode 100644 tutorials/incompressible/pimpleFoam/LES/surfaceMountedCube/fullCase/system/fvSchemes create mode 100644 tutorials/incompressible/pimpleFoam/LES/surfaceMountedCube/fullCase/system/fvSolution create mode 100644 tutorials/incompressible/pimpleFoam/LES/surfaceMountedCube/fullCase/system/sample create mode 100644 tutorials/incompressible/pimpleFoam/LES/surfaceMountedCube/initChannel/0/U create mode 100644 tutorials/incompressible/pimpleFoam/LES/surfaceMountedCube/initChannel/0/epsilon create mode 100644 tutorials/incompressible/pimpleFoam/LES/surfaceMountedCube/initChannel/0/k create mode 100644 tutorials/incompressible/pimpleFoam/LES/surfaceMountedCube/initChannel/0/nuTilda create mode 100644 tutorials/incompressible/pimpleFoam/LES/surfaceMountedCube/initChannel/0/nut create mode 100755 tutorials/incompressible/pimpleFoam/LES/surfaceMountedCube/initChannel/Allclean create mode 100755 tutorials/incompressible/pimpleFoam/LES/surfaceMountedCube/initChannel/Allrun create mode 100644 tutorials/incompressible/pimpleFoam/LES/surfaceMountedCube/initChannel/constant/transportProperties create mode 100644 tutorials/incompressible/pimpleFoam/LES/surfaceMountedCube/initChannel/constant/turbulenceProperties create mode 100644 tutorials/incompressible/pimpleFoam/LES/surfaceMountedCube/initChannel/system/blockMeshDict create mode 100644 tutorials/incompressible/pimpleFoam/LES/surfaceMountedCube/initChannel/system/controlDict create mode 100644 tutorials/incompressible/pimpleFoam/LES/surfaceMountedCube/initChannel/system/fvSchemes create mode 100644 tutorials/incompressible/pimpleFoam/LES/surfaceMountedCube/initChannel/system/fvSolution create mode 100644 tutorials/incompressible/simpleFoam/backwardFacingStep2D/0/U create mode 100644 tutorials/incompressible/simpleFoam/backwardFacingStep2D/0/epsilon create mode 100644 tutorials/incompressible/simpleFoam/backwardFacingStep2D/0/k create mode 100644 tutorials/incompressible/simpleFoam/backwardFacingStep2D/0/nuTilda create mode 100644 tutorials/incompressible/simpleFoam/backwardFacingStep2D/0/nut create mode 100644 tutorials/incompressible/simpleFoam/backwardFacingStep2D/0/omega create mode 100644 tutorials/incompressible/simpleFoam/backwardFacingStep2D/0/p create mode 100755 tutorials/incompressible/simpleFoam/backwardFacingStep2D/Allclean create mode 100755 tutorials/incompressible/simpleFoam/backwardFacingStep2D/Allrun create mode 100644 tutorials/incompressible/simpleFoam/backwardFacingStep2D/README create mode 100644 tutorials/incompressible/simpleFoam/backwardFacingStep2D/constant/transportProperties create mode 100644 tutorials/incompressible/simpleFoam/backwardFacingStep2D/constant/turbulenceProperties create mode 100644 tutorials/incompressible/simpleFoam/backwardFacingStep2D/system/blockMeshDict create mode 100644 tutorials/incompressible/simpleFoam/backwardFacingStep2D/system/controlDict create mode 100644 tutorials/incompressible/simpleFoam/backwardFacingStep2D/system/fvSchemes create mode 100644 tutorials/incompressible/simpleFoam/backwardFacingStep2D/system/fvSolution create mode 100644 tutorials/incompressible/simpleFoam/backwardFacingStep2D/system/pressureCoefficient create mode 100644 tutorials/incompressible/simpleFoam/backwardFacingStep2D/system/sample create mode 100644 tutorials/incompressible/simpleFoam/backwardFacingStep2D/system/sampleCp create mode 100644 tutorials/incompressible/simpleFoam/backwardFacingStep2D/system/stressComponents create mode 100644 tutorials/incompressible/simpleFoam/turbulentFlatPlate/0.kEpsilon/U create mode 100644 tutorials/incompressible/simpleFoam/turbulentFlatPlate/0.kEpsilon/epsilon create mode 100644 tutorials/incompressible/simpleFoam/turbulentFlatPlate/0.kEpsilon/k create mode 100644 tutorials/incompressible/simpleFoam/turbulentFlatPlate/0.kEpsilon/nut create mode 100644 tutorials/incompressible/simpleFoam/turbulentFlatPlate/0.kEpsilon/p create mode 100644 tutorials/incompressible/simpleFoam/turbulentFlatPlate/0.kOmegaSST/U create mode 100644 tutorials/incompressible/simpleFoam/turbulentFlatPlate/0.kOmegaSST/k create mode 100644 tutorials/incompressible/simpleFoam/turbulentFlatPlate/0.kOmegaSST/nut create mode 100644 tutorials/incompressible/simpleFoam/turbulentFlatPlate/0.kOmegaSST/omega create mode 100644 tutorials/incompressible/simpleFoam/turbulentFlatPlate/0.kOmegaSST/p create mode 100755 tutorials/incompressible/simpleFoam/turbulentFlatPlate/Allclean create mode 100755 tutorials/incompressible/simpleFoam/turbulentFlatPlate/Allrun create mode 100644 tutorials/incompressible/simpleFoam/turbulentFlatPlate/README create mode 100644 tutorials/incompressible/simpleFoam/turbulentFlatPlate/constant/transportProperties create mode 100644 tutorials/incompressible/simpleFoam/turbulentFlatPlate/constant/turbulenceProperties-kEpsilon create mode 100644 tutorials/incompressible/simpleFoam/turbulentFlatPlate/constant/turbulenceProperties-kOmegaSST create mode 100644 tutorials/incompressible/simpleFoam/turbulentFlatPlate/constant/turbulenceProperties.orig create mode 100755 tutorials/incompressible/simpleFoam/turbulentFlatPlate/plot create mode 100644 tutorials/incompressible/simpleFoam/turbulentFlatPlate/system/blockMeshDict create mode 100644 tutorials/incompressible/simpleFoam/turbulentFlatPlate/system/blockMeshDict.template create mode 100644 tutorials/incompressible/simpleFoam/turbulentFlatPlate/system/controlDict create mode 100644 tutorials/incompressible/simpleFoam/turbulentFlatPlate/system/decomposeParDict create mode 100644 tutorials/incompressible/simpleFoam/turbulentFlatPlate/system/fvSchemes create mode 100644 tutorials/incompressible/simpleFoam/turbulentFlatPlate/system/fvSolution diff --git a/tutorials/incompressible/pimpleFoam/LES/surfaceMountedCube/Allclean b/tutorials/incompressible/pimpleFoam/LES/surfaceMountedCube/Allclean new file mode 100755 index 00000000000..77dcff4e4cd --- /dev/null +++ b/tutorials/incompressible/pimpleFoam/LES/surfaceMountedCube/Allclean @@ -0,0 +1,6 @@ +#!/bin/sh +cd ${0%/*} || exit 1 # run from this directory + +(cd initChannel && ./Allclean) +(cd fullCase && ./Allclean) + diff --git a/tutorials/incompressible/pimpleFoam/LES/surfaceMountedCube/Allrun b/tutorials/incompressible/pimpleFoam/LES/surfaceMountedCube/Allrun new file mode 100755 index 00000000000..915160a56a3 --- /dev/null +++ b/tutorials/incompressible/pimpleFoam/LES/surfaceMountedCube/Allrun @@ -0,0 +1,11 @@ +#!/bin/sh +cd ${0%/*} || exit 1 # run from this directory + +# Run a precursor channel flow to create a fully developed flow profile for the +# main case +(cd initChannel && ./Allrun) + +# Run the main case +(cd fullCase && ./Allrun) + + diff --git a/tutorials/incompressible/pimpleFoam/LES/surfaceMountedCube/README b/tutorials/incompressible/pimpleFoam/LES/surfaceMountedCube/README new file mode 100644 index 00000000000..f2d6bff7c51 --- /dev/null +++ b/tutorials/incompressible/pimpleFoam/LES/surfaceMountedCube/README @@ -0,0 +1,17 @@ +Unsteady flow over a surface mounted cube + +The set-up is based on the description given by Martinuzzi and Tropea: + + R. Martinuzzi and C. Tropea. The Flow Around Surface-Mounted, Prismatic + Obstacles Placed in a Fully Developed Channel Flow. Journal of Fluids + Engineering, 115(1):85-92, 1993. + +where the Reynolds number based on the cube height is Re_h 40000. + +Turbulence is modelled using the Spalart-Allmaras Improved Delayed Detached +Eddy Simulation (IDDES) model + +For further details please visit: + + openfoam.com/documentation/cpp-guide/html/verification-validation-turbulent-surface-mounted-cube.html + diff --git a/tutorials/incompressible/pimpleFoam/LES/surfaceMountedCube/fullCase/0/U b/tutorials/incompressible/pimpleFoam/LES/surfaceMountedCube/fullCase/0/U new file mode 100644 index 00000000000..34b401fcb8a --- /dev/null +++ b/tutorials/incompressible/pimpleFoam/LES/surfaceMountedCube/fullCase/0/U @@ -0,0 +1,55 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: plus | +| \\ / A nd | Web: www.OpenFOAM.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volVectorField; + location "0"; + object U; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 1 -1 0 0 0 0]; + +internalField uniform (0 0 0); + +boundaryField +{ + inlet + { +// type timeVaryingMappedFixedValue; +// offset (0 0 0); +// setAverage off; + type turbulentDFSEMInlet; + delta 1; + nCellPerEddy 3; + mapMethod nearestCell; + value $internalField; + } + + outlet + { + type inletOutlet; + inletValue uniform (0 0 0); + value uniform (0 0 0); + } + + sides + { + type slip; + } + + "(cube|topAndBottom)" + { + type noSlip; + } +} + + +// ************************************************************************* // diff --git a/tutorials/incompressible/pimpleFoam/LES/surfaceMountedCube/fullCase/0/k b/tutorials/incompressible/pimpleFoam/LES/surfaceMountedCube/fullCase/0/k new file mode 100644 index 00000000000..b0fd21471df --- /dev/null +++ b/tutorials/incompressible/pimpleFoam/LES/surfaceMountedCube/fullCase/0/k @@ -0,0 +1,52 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: plus | +| \\ / A nd | Web: www.OpenFOAM.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + location "0"; + object k; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -2 0 0 0 0]; + +internalField uniform 1e-5; + +boundaryField +{ + inlet + { + type timeVaryingMappedFixedValue; + offset 0; + setAverage off; + mapMethod nearest; +// type fixedValue; + value $internalField; + } + + outlet + { + type zeroGradient; + } + + sides + { + type zeroGradient; + } + + "(cube|topAndBottom)" + { + type fixedValue; + value uniform 0; + } +} + + +// ************************************************************************* // diff --git a/tutorials/incompressible/pimpleFoam/LES/surfaceMountedCube/fullCase/0/nuTilda b/tutorials/incompressible/pimpleFoam/LES/surfaceMountedCube/fullCase/0/nuTilda new file mode 100644 index 00000000000..5b78f737aa3 --- /dev/null +++ b/tutorials/incompressible/pimpleFoam/LES/surfaceMountedCube/fullCase/0/nuTilda @@ -0,0 +1,52 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: plus | +| \\ / A nd | Web: www.OpenFOAM.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + location "0"; + object nuTilda; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -1 0 0 0 0]; + +internalField uniform 7.5e-5; + +boundaryField +{ + inlet + { + type timeVaryingMappedFixedValue; + offset 0; + setAverage off; + mapMethod nearest; +// type fixedValue; + value $internalField; + } + + outlet + { + type zeroGradient; + } + + sides + { + type zeroGradient; + } + + "(cube|topAndBottom)" + { + type fixedValue; + value uniform 0; + } +} + + +// ************************************************************************* // diff --git a/tutorials/incompressible/pimpleFoam/LES/surfaceMountedCube/fullCase/0/nut b/tutorials/incompressible/pimpleFoam/LES/surfaceMountedCube/fullCase/0/nut new file mode 100644 index 00000000000..3e2ffcc311c --- /dev/null +++ b/tutorials/incompressible/pimpleFoam/LES/surfaceMountedCube/fullCase/0/nut @@ -0,0 +1,49 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: plus | +| \\ / A nd | Web: www.OpenFOAM.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + location "0"; + object nut; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -1 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + inlet + { + type calculated; + value $internalField; + } + + outlet + { + type calculated; + value $internalField; + } + + sides + { + type zeroGradient; + } + + "(cube|topAndBottom)" + { + type nutUSpaldingWallFunction; + value $internalField; + } +} + + +// ************************************************************************* // diff --git a/tutorials/incompressible/pimpleFoam/LES/surfaceMountedCube/fullCase/0/p b/tutorials/incompressible/pimpleFoam/LES/surfaceMountedCube/fullCase/0/p new file mode 100644 index 00000000000..71430cf2377 --- /dev/null +++ b/tutorials/incompressible/pimpleFoam/LES/surfaceMountedCube/fullCase/0/p @@ -0,0 +1,47 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: plus | +| \\ / A nd | Web: www.OpenFOAM.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + location "0"; + object p; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -2 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + inlet + { + type zeroGradient; + } + + outlet + { + type fixedValue; + value uniform 0; + } + + sides + { + type zeroGradient; + } + + "(cube|topAndBottom)" + { + type zeroGradient; + } +} + + +// ************************************************************************* // diff --git a/tutorials/incompressible/pimpleFoam/LES/surfaceMountedCube/fullCase/Allclean b/tutorials/incompressible/pimpleFoam/LES/surfaceMountedCube/fullCase/Allclean new file mode 100755 index 00000000000..34abc6a364d --- /dev/null +++ b/tutorials/incompressible/pimpleFoam/LES/surfaceMountedCube/fullCase/Allclean @@ -0,0 +1,9 @@ +#!/bin/sh +cd ${0%/*} || exit 1 # run from this directory + +# Source tutorial clean functions +. $WM_PROJECT_DIR/bin/tools/CleanFunctions + +cleanCase +\rm -rf constant/boundaryData *.png + diff --git a/tutorials/incompressible/pimpleFoam/LES/surfaceMountedCube/fullCase/Allrun b/tutorials/incompressible/pimpleFoam/LES/surfaceMountedCube/fullCase/Allrun new file mode 100755 index 00000000000..3f0efd48867 --- /dev/null +++ b/tutorials/incompressible/pimpleFoam/LES/surfaceMountedCube/fullCase/Allrun @@ -0,0 +1,29 @@ +#!/bin/sh +cd ${0%/*} || exit 1 # run from this directory + +# Source tutorial run functions +. $WM_PROJECT_DIR/bin/tools/RunFunctions + +channelCase=../initChannel +channelDataDir=$channelCase/postProcessing/surfaces/inlet + +[ -d $channelDataDir ] || { + echo "Unable to locate precursor channel case - exiting" + exit 1 +} + +# Copy the channel data +# Note: this is mapped using a timeVaryingMapped condition on the inlet patch +mkdir -p constant/boundaryData/inlet/0 +channelTimeDir=$(foamListTimes -case $channelCase -latestTime) + +\cp -rf $channelDataDir/points constant/boundaryData/inlet +\cp -rf $channelDataDir/$channelTimeDir/turbulenceProperties:R constant/boundaryData/inlet/0/R +\cp -rf $channelDataDir/$channelTimeDir/turbulenceProperties:L constant/boundaryData/inlet/0/L +\cp -rf $channelDataDir/$channelTimeDir/turbulenceProperties:nuTilda constant/boundaryData/inlet/0/nuTilda +\cp -rf $channelDataDir/$channelTimeDir/U constant/boundaryData/inlet/0/U + +runApplication blockMesh +runApplication decomposePar +runParallel $(getApplication) + diff --git a/tutorials/incompressible/pimpleFoam/LES/surfaceMountedCube/fullCase/constant/transportProperties b/tutorials/incompressible/pimpleFoam/LES/surfaceMountedCube/fullCase/constant/transportProperties new file mode 100644 index 00000000000..a5d64f2d655 --- /dev/null +++ b/tutorials/incompressible/pimpleFoam/LES/surfaceMountedCube/fullCase/constant/transportProperties @@ -0,0 +1,23 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: plus | +| \\ / A nd | Web: www.OpenFOAM.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "constant"; + object transportProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +transportModel Newtonian; + +nu 2.5e-05; + + +// ************************************************************************* // diff --git a/tutorials/incompressible/pimpleFoam/LES/surfaceMountedCube/fullCase/constant/turbulenceProperties b/tutorials/incompressible/pimpleFoam/LES/surfaceMountedCube/fullCase/constant/turbulenceProperties new file mode 100644 index 00000000000..152018ed959 --- /dev/null +++ b/tutorials/incompressible/pimpleFoam/LES/surfaceMountedCube/fullCase/constant/turbulenceProperties @@ -0,0 +1,40 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: plus | +| \\ / A nd | Web: www.OpenFOAM.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object RASProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +simulationType LES; + +LES +{ + turbulence on; + + LESModel SpalartAllmarasIDDES; + + + printCoeffs on; + + delta IDDESDelta; + + IDDESDeltaCoeffs + { + hmax maxDeltaxyzCubeRoot; + maxDeltaxyzCubeRootCoeffs + { + } + } +} + + +// ************************************************************************* // diff --git a/tutorials/incompressible/pimpleFoam/LES/surfaceMountedCube/fullCase/plot b/tutorials/incompressible/pimpleFoam/LES/surfaceMountedCube/fullCase/plot new file mode 100755 index 00000000000..63f008e3c1b --- /dev/null +++ b/tutorials/incompressible/pimpleFoam/LES/surfaceMountedCube/fullCase/plot @@ -0,0 +1,52 @@ +#!/bin/sh +cd ${0%/*} || exit 1 # run from this directory + +time=$1 +gnuplot<<EOF + set terminal pngcairo font "arial,16" size 600,600 + set xlabel "U/U_b" + set ylabel "y/H" + set grid + set key right top + set xrange [-0.5:1.5] + set yrange [0:2] + Ub=1.10763 + set output "U_at_x_by_hm10.png" + plot \ + "postProcessing/sample/$time/xm10_U_UMean.xy" u (\$5/Ub):1 title "X/h = -1" w lines lc "black" lw 2 + set output "U_at_x_by_hm05.png" + plot \ + "postProcessing/sample/$time/xm05_U_UMean.xy" u (\$5/Ub):1 title "X/h = -0.5" w lines lc "black" lw 2 + set output "U_at_x_by_00.png" + plot \ + "postProcessing/sample/$time/x00_U_UMean.xy" u (\$5/Ub):1 title "X/h = 0" w lines lc "black" lw 2 + set output "U_at_x_by_05.png" + plot \ + "postProcessing/sample/$time/x05_U_UMean.xy" u (\$5/Ub):1 title "X/h = 0.5" w lines lc "black" lw 2 + set output "U_at_x_by_10.png" + plot \ + "postProcessing/sample/$time/x10_U_UMean.xy" u (\$5/Ub):1 title "X/h = 1" w lines lc "black" lw 2 + set output "U_at_x_by_15.png" + plot \ + "postProcessing/sample/$time/x15_U_UMean.xy" u (\$5/Ub):1 title "X/h = 1.5" w lines lc "black" lw 2 + set output "U_at_x_by_20.png" + plot \ + "postProcessing/sample/$time/x20_U_UMean.xy" u (\$5/Ub):1 title "X/h = 2" w lines lc "black" lw 2 + + set output "U_at_x_by_25.png" + plot \ + "postProcessing/sample/$time/x25_U_UMean.xy" u (\$5/Ub):1 title "X/h = 2.5" w lines lc "black" lw 2 + + set output "U_at_x_by_30.png" + plot \ + "postProcessing/sample/$time/x30_U_UMean.xy" u (\$5/Ub):1 title "X/h = 3" w lines lc "black" lw 2 + + set output "U_at_x_by_35.png" + plot \ + "postProcessing/sample/$time/x35_U_UMean.xy" u (\$5/Ub):1 title "X/h = 3.5" w lines lc "black" lw 2 + + set output "U_at_x_by_40.png" + plot \ + "postProcessing/sample/$time/x40_U_UMean.xy" u (\$5/Ub):1 title "X/h = 4" w lines lc "black" lw 2 + +EOF diff --git a/tutorials/incompressible/pimpleFoam/LES/surfaceMountedCube/fullCase/system/blockMeshDict b/tutorials/incompressible/pimpleFoam/LES/surfaceMountedCube/fullCase/system/blockMeshDict new file mode 100644 index 00000000000..a88b13b4edb --- /dev/null +++ b/tutorials/incompressible/pimpleFoam/LES/surfaceMountedCube/fullCase/system/blockMeshDict @@ -0,0 +1,240 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: plus | +| \\ / A nd | Web: www.OpenFOAM.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object blockMeshDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +scale 1; + +x_up 3.5; +x_down 10; +y_pad 4; +z_pad 1; + +x0 0; +x1 $x_up; +x2 #calc "$x1 + 1"; +x3 #calc "$x2 + $x_down"; + +y0 0; +y1 $y_pad; +y2 #calc "$y1 + 1"; +y3 #calc "$y2 + $y_pad"; + +z0 0; +z1 1; +z2 #calc "$z1 + $z_pad"; + +nx1 40; +nx2 40; +nx3 80; +ny1 30; +ny2 $nx2; +ny3 $ny1; +nz1 $nx2; +nz2 40; + +vertices +( + ($x0 $y0 $z0) // 0 + ($x1 $y0 $z0) // 1 + ($x2 $y0 $z0) // 2 + ($x3 $y0 $z0) // 3 + ($x0 $y0 $z1) // 4 + ($x1 $y0 $z1) // 5 + ($x2 $y0 $z1) // 6 + ($x3 $y0 $z1) // 7 + ($x0 $y0 $z2) // 8 + ($x1 $y0 $z2) // 9 + ($x2 $y0 $z2) // 10 + ($x3 $y0 $z2) // 11 + + ($x0 $y1 $z0) // 12 + ($x1 $y1 $z0) // 13 + ($x2 $y1 $z0) // 14 + ($x3 $y1 $z0) // 15 + ($x0 $y1 $z1) // 16 + ($x1 $y1 $z1) // 17 + ($x2 $y1 $z1) // 18 + ($x3 $y1 $z1) // 19 + ($x0 $y1 $z2) // 20 + ($x1 $y1 $z2) // 21 + ($x2 $y1 $z2) // 22 + ($x3 $y1 $z2) // 23 + + ($x0 $y2 $z0) // 24 + ($x1 $y2 $z0) // 25 + ($x2 $y2 $z0) // 26 + ($x3 $y2 $z0) // 27 + ($x0 $y2 $z1) // 28 + ($x1 $y2 $z1) // 29 + ($x2 $y2 $z1) // 30 + ($x3 $y2 $z1) // 31 + ($x0 $y2 $z2) // 32 + ($x1 $y2 $z2) // 33 + ($x2 $y2 $z2) // 34 + ($x3 $y2 $z2) // 35 + + ($x0 $y3 $z0) // 36 + ($x1 $y3 $z0) // 37 + ($x2 $y3 $z0) // 38 + ($x3 $y3 $z0) // 39 + ($x0 $y3 $z1) // 40 + ($x1 $y3 $z1) // 41 + ($x2 $y3 $z1) // 42 + ($x3 $y3 $z1) // 43 + ($x0 $y3 $z2) // 44 + ($x1 $y3 $z2) // 45 + ($x2 $y3 $z2) // 46 + ($x3 $y3 $z2) // 47 +); + +edges +( +); + +//x_up ((0.4 0.3 0.5)(0.6 0.7 1)); +//x_down ((0.4 0.75 1)(0.6 0.25 10)); +//z_top ((0.3 0.4 1)(0.7 0.6 2)); +//y_side1 ((0.6 0.4 0.25)(0.4 0.6 1)); +//y_side2 ((0.4 0.6 1)(0.6 0.4 4)); + +x_up ((0.4 0.25 0.5)(0.3 0.25 0.75)(0.3 0.5 0.2)); +x_down ((0.15 0.45 3)(0.25 0.35 1.5)(0.6 0.2 5)); +z_top ((0.2 0.25 4)(0.6 0.5 1)(0.2 0.25 0.25)); +z_bottom ((0.2 0.25 4)(0.6 0.5 1)(0.2 0.25 0.25)); +y_side1 ((0.4 0.1 0.5)(0.4 0.2 0.5)(0.3 0.7 0.1)); +y_side2 ((0.3 0.7 10)(0.4 0.2 2)(0.4 0.1 2)); + +blocks +( + hex ( 0 1 13 12 4 5 17 16) ($nx1 $ny1 $nz1) simpleGrading ( $x_up $y_side1 $z_bottom) + hex ( 1 2 14 13 5 6 18 17) ($nx2 $ny1 $nz1) simpleGrading ( 1 $y_side1 $z_bottom) + hex ( 2 3 15 14 6 7 19 18) ($nx3 $ny1 $nz1) simpleGrading ($x_down $y_side1 $z_bottom) + hex ( 4 5 17 16 8 9 21 20) ($nx1 $ny1 $nz2) simpleGrading ( $x_up $y_side1 $z_top) + hex ( 5 6 18 17 9 10 22 21) ($nx2 $ny1 $nz2) simpleGrading ( 1 $y_side1 $z_top) + hex ( 6 7 19 18 10 11 23 22) ($nx3 $ny1 $nz2) simpleGrading ($x_down $y_side1 $z_top) + + hex (12 13 25 24 16 17 29 28) ($nx1 $ny2 $nz1) simpleGrading ($x_up 1 $z_bottom) + //hex (13 14 26 25 17 18 30 29) ($nx2 $ny2 $nz1) simpleGrading (1 1 $z_bottom) + hex (14 15 27 26 18 19 31 30) ($nx3 $ny2 $nz1) simpleGrading ($x_down 1 $z_bottom) + hex (16 17 29 28 20 21 33 32) ($nx1 $ny2 $nz2) simpleGrading ($x_up 1 $z_top) + hex (17 18 30 29 21 22 34 33) ($nx2 $ny2 $nz2) simpleGrading (1 1 $z_top) + hex (18 19 31 30 22 23 35 34) ($nx3 $ny2 $nz2) simpleGrading ($x_down 1 $z_top) + + hex (24 25 37 36 28 29 41 40) ($nx1 $ny3 $nz1) simpleGrading ($x_up $y_side2 $z_bottom) + hex (25 26 38 37 29 30 42 41) ($nx2 $ny3 $nz1) simpleGrading (1 $y_side2 $z_bottom) + hex (26 27 39 38 30 31 43 42) ($nx3 $ny3 $nz1) simpleGrading ($x_down $y_side2 $z_bottom) + hex (28 29 41 40 32 33 45 44) ($nx1 $ny3 $nz2) simpleGrading ($x_up $y_side2 $z_top) + hex (29 30 42 41 33 34 46 45) ($nx2 $ny3 $nz2) simpleGrading (1 $y_side2 $z_top) + hex (30 31 43 42 34 35 47 46) ($nx3 $ny3 $nz2) simpleGrading ($x_down $y_side2 $z_top) +); + +boundary +( + cube + { + type wall; + faces + ( + (13 17 18 14) + (14 18 30 26) + (25 29 30 26) + (13 25 29 17) + (17 29 30 18) + ); + } + topAndBottom + { + type wall; + faces + ( + // floor + ( 0 12 13 1) + ( 1 13 14 2) + ( 2 14 15 3) + (12 24 25 13) + (14 26 27 15) + (24 36 37 25) + (25 37 38 26) + (26 38 39 27) + + // top + ( 8 9 21 20) + ( 9 10 22 21) + (10 11 23 22) + (20 21 33 32) + (21 22 34 33) + (22 23 35 34) + (32 33 45 44) + (33 34 46 45) + (34 35 47 46) + ); + } + + sides + { + type patch; + faces + ( + // minY + ( 0 1 5 4) + ( 1 2 6 5) + ( 2 3 7 6) + ( 4 5 9 8) + ( 5 6 10 9) + ( 6 7 11 10) + + // maxY + (36 40 41 37) + (37 41 42 38) + (38 42 43 39) + (40 44 45 41) + (41 45 46 42) + (42 46 47 43) + ); + } + + inlet + { + type patch; + faces + ( + ( 0 4 16 12) + (12 16 28 24) + (24 28 40 36) + ( 4 8 20 16) + (16 20 32 28) + (28 32 44 40) + ); + } + + outlet + { + type patch; + faces + ( + ( 3 15 19 7) + (15 27 31 19) + (27 39 43 31) + ( 7 19 23 11) + (19 31 35 23) + (31 43 47 35) + ); + } +); + +mergePatchPairs +( +); + diff --git a/tutorials/incompressible/pimpleFoam/LES/surfaceMountedCube/fullCase/system/controlDict b/tutorials/incompressible/pimpleFoam/LES/surfaceMountedCube/fullCase/system/controlDict new file mode 100644 index 00000000000..13f27af8ab5 --- /dev/null +++ b/tutorials/incompressible/pimpleFoam/LES/surfaceMountedCube/fullCase/system/controlDict @@ -0,0 +1,115 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: plus | +| \\ / A nd | Web: www.OpenFOAM.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object controlDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +libs ("libturbulenceModelSchemes.so"); + +application pimpleFoam; + +startFrom startTime; + +startTime 0; + +stopAt endTime; + +endTime 100; + +deltaT 0.002; + +writeControl timeStep; + +writeInterval 100; + +purgeWrite 3; + +writeFormat binary; + +writePrecision 6; + +writeCompression off; + +timeFormat general; + +timePrecision 6; + +runTimeModifiable true; + +functions +{ + minMax + { + type fieldMinMax; + libs ("libfieldFunctionObjects.so"); + fields (U p); + } + DESField + { + type DESModelRegions; + libs ("libfieldFunctionObjects.so"); + //region "region0"; + writeControl writeTime; + } + Q1 + { + type Q; + libs ("libfieldFunctionObjects.so"); + writeControl writeTime; + } + vorticity1 + { + type vorticity; + libs ("libfieldFunctionObjects.so"); + writeControl writeTime; + } + yPlus + { + type yPlus; + libs ("libfieldFunctionObjects.so"); + writeControl writeTime; + } + fieldAverage1 + { + type fieldAverage; + libs ("libfieldFunctionObjects.so"); + writeControl writeTime; + timeStart 10; + + fields + ( + U + { + mean on; + prime2Mean on; + base time; + } + + p + { + mean on; + prime2Mean on; + base time; + } + ); + } + + sample1 + { + #include "sample" + } +} + + + +// ************************************************************************* // diff --git a/tutorials/incompressible/pimpleFoam/LES/surfaceMountedCube/fullCase/system/decomposeParDict b/tutorials/incompressible/pimpleFoam/LES/surfaceMountedCube/fullCase/system/decomposeParDict new file mode 100644 index 00000000000..6b91697e177 --- /dev/null +++ b/tutorials/incompressible/pimpleFoam/LES/surfaceMountedCube/fullCase/system/decomposeParDict @@ -0,0 +1,31 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: plus | +| \\ / A nd | Web: www.OpenFOAM.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + note "mesh decomposition control dictionary"; + object decomposeParDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +numberOfSubdomains 8; + +method hierarchical; + + +hierarchicalCoeffs +{ + n (8 1 1); + // delta 0.001; //< default value = 0.001 + // order xyz; //< default order = xyz +} + + +// ************************************************************************* // diff --git a/tutorials/incompressible/pimpleFoam/LES/surfaceMountedCube/fullCase/system/fvSchemes b/tutorials/incompressible/pimpleFoam/LES/surfaceMountedCube/fullCase/system/fvSchemes new file mode 100644 index 00000000000..db0d08b83e0 --- /dev/null +++ b/tutorials/incompressible/pimpleFoam/LES/surfaceMountedCube/fullCase/system/fvSchemes @@ -0,0 +1,70 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: plus | +| \\ / A nd | Web: www.OpenFOAM.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object fvSchemes; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +ddtSchemes +{ + default backward; +} + +gradSchemes +{ + default leastSquares; // Gauss linear; +} + +divSchemes +{ + default none; + div(phi,U) Gauss DEShybrid + linear // scheme 1 + linearUpwind grad(U) // scheme 2 + hmax + 0.65 // DES coefficient, typically = 0.65 + 1 // Reference velocity scale + 1 // Reference length scale + 0 // Minimum sigma limit (0-1) + 1 // Maximum sigma limit (0-1) + 1; // 1.0e-03; // Limiter of B function, typically 1e-03 +// div(phi,U) Gauss LUST grad(U);// linear; + div(phi,k) Gauss limitedLinear 0.1; + div(phi,B) Gauss limitedLinear 0.1; + div(B) Gauss linear; + div(phi,nuTilda) Gauss limitedLinear 0.1; + div((nuEff*dev2(T(grad(U))))) Gauss linear; +} + +laplacianSchemes +{ + default Gauss linear orthogonal; +} + +interpolationSchemes +{ + default linear; +} + +snGradSchemes +{ + default orthogonal; +} + +wallDist +{ + method meshWave; + nRequired yes; +} + + +// ************************************************************************* // diff --git a/tutorials/incompressible/pimpleFoam/LES/surfaceMountedCube/fullCase/system/fvSolution b/tutorials/incompressible/pimpleFoam/LES/surfaceMountedCube/fullCase/system/fvSolution new file mode 100644 index 00000000000..169f32d22bb --- /dev/null +++ b/tutorials/incompressible/pimpleFoam/LES/surfaceMountedCube/fullCase/system/fvSolution @@ -0,0 +1,61 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: plus | +| \\ / A nd | Web: www.OpenFOAM.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "system"; + object fvSolution; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +solvers +{ + p + { + solver GAMG; + tolerance 0; + relTol 0.01; + + smoother DICGaussSeidel; + + } + + pFinal + { + $p; + tolerance 1e-6; + relTol 0; + } + + "(U|k|nuTilda)" + { + solver PBiCGStab; + preconditioner DILU; + tolerance 1e-8; + relTol 0.1; + } + + "(U|k|nuTilda)Final" + { + $U; + tolerance 1e-06; + relTol 0; + } +} + +PIMPLE +{ + nOuterCorrectors 3; + nCOrrectors 1; + nNonOrthogonalCorrectors 0; +} + + +// ************************************************************************* // diff --git a/tutorials/incompressible/pimpleFoam/LES/surfaceMountedCube/fullCase/system/sample b/tutorials/incompressible/pimpleFoam/LES/surfaceMountedCube/fullCase/system/sample new file mode 100644 index 00000000000..c931230007a --- /dev/null +++ b/tutorials/incompressible/pimpleFoam/LES/surfaceMountedCube/fullCase/system/sample @@ -0,0 +1,125 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: plus | +| \\ / A nd | Web: www.OpenFOAM.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "system"; + object sample; +} + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +type sets; +libs ("libsampling.so"); +writeControl writeTime; + +interpolationScheme cellPoint; + +setFormat raw; + +sets +( + xm10 + { + type face; + axis z; + start (2.5 4.5 0); + end (2.5 4.5 2); + } + xm05 + { + type face; + axis z; + start (3 4.5 0); + end (3 4.5 2); + } + x00 + { + type face; + axis z; + start (3.5 4.5 1); + end (3.5 4.5 2); + } + x05 + { + type face; + axis z; + start (4 4.5 1); + end (4 4.5 2); + } + x10 + { + type face; + axis z; + start (4.5 4.5 1); + end (4.5 4.5 2); + } + x15 + { + type face; + axis z; + start (5 4.5 0); + end (5 4.5 2); + } + x20 + { + type face; + axis z; + start (5.5 4.5 0); + end (5.5 4.5 2); + } + x25 + { + type face; + axis z; + start (6 4.5 0); + end (6 4.5 2); + } + x30 + { + type face; + axis z; + start (6.5 4.5 0); + end (6.5 4.5 2); + } + x35 + { + type face; + axis z; + start (7 4.5 0); + end (7 4.5 2); + } + x40 + { + type face; + axis z; + start (7.5 4.5 0); + end (7.5 4.5 2); + } + x45 + { + type face; + axis z; + start (8 4.5 0); + end (8 4.5 2); + } + x50 + { + type face; + axis z; + start (8.5 4.5 0); + end (8.5 4.5 2); + } +); + +fields (U UMean); + + +// ************************************************************************* // diff --git a/tutorials/incompressible/pimpleFoam/LES/surfaceMountedCube/initChannel/0/U b/tutorials/incompressible/pimpleFoam/LES/surfaceMountedCube/initChannel/0/U new file mode 100644 index 00000000000..42b47748f34 --- /dev/null +++ b/tutorials/incompressible/pimpleFoam/LES/surfaceMountedCube/initChannel/0/U @@ -0,0 +1,47 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: plus | +| \\ / A nd | Web: www.OpenFOAM.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volVectorField; + location "0"; + object U; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 1 -1 0 0 0 0]; + +internalField uniform (1 0 0); + +boundaryField +{ + lowerWall + { + type noSlip; + } + upperWall + { + type noSlip; + } + inlet + { + type cyclic; + } + outlet + { + type cyclic; + } + frontAndBack + { + type empty; + } +} + + +// ************************************************************************* // diff --git a/tutorials/incompressible/pimpleFoam/LES/surfaceMountedCube/initChannel/0/epsilon b/tutorials/incompressible/pimpleFoam/LES/surfaceMountedCube/initChannel/0/epsilon new file mode 100644 index 00000000000..fbf9122b877 --- /dev/null +++ b/tutorials/incompressible/pimpleFoam/LES/surfaceMountedCube/initChannel/0/epsilon @@ -0,0 +1,49 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: plus | +| \\ / A nd | Web: www.OpenFOAM.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + location "0"; + object epsilon; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -3 0 0 0 0]; + +internalField uniform 180.18; // 10; + +boundaryField +{ + lowerWall + { + type fixedValue; + value uniform 1e-08; + } + upperWall + { + type fixedValue; + value uniform 1e-08; + } + inlet + { + type cyclic; + } + outlet + { + type cyclic; + } + frontAndBack + { + type empty; + } +} + + +// ************************************************************************* // diff --git a/tutorials/incompressible/pimpleFoam/LES/surfaceMountedCube/initChannel/0/k b/tutorials/incompressible/pimpleFoam/LES/surfaceMountedCube/initChannel/0/k new file mode 100644 index 00000000000..aa744945e57 --- /dev/null +++ b/tutorials/incompressible/pimpleFoam/LES/surfaceMountedCube/initChannel/0/k @@ -0,0 +1,49 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: plus | +| \\ / A nd | Web: www.OpenFOAM.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + location "0"; + object k; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -2 0 0 0 0]; + +internalField uniform 18.06; // 0.1; + +boundaryField +{ + lowerWall + { + type fixedValue; + value uniform 1e-10; + } + upperWall + { + type fixedValue; + value uniform 1e-10; + } + inlet + { + type cyclic; + } + outlet + { + type cyclic; + } + frontAndBack + { + type empty; + } +} + + +// ************************************************************************* // diff --git a/tutorials/incompressible/pimpleFoam/LES/surfaceMountedCube/initChannel/0/nuTilda b/tutorials/incompressible/pimpleFoam/LES/surfaceMountedCube/initChannel/0/nuTilda new file mode 100644 index 00000000000..f3befa054b1 --- /dev/null +++ b/tutorials/incompressible/pimpleFoam/LES/surfaceMountedCube/initChannel/0/nuTilda @@ -0,0 +1,49 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: plus | +| \\ / A nd | Web: www.OpenFOAM.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + location "0"; + object nuTilda; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -1 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + lowerWall + { + type fixedValue; + value uniform 0; + } + upperWall + { + type fixedValue; + value uniform 0; + } + inlet + { + type cyclic; + } + outlet + { + type cyclic; + } + frontAndBack + { + type empty; + } +} + + +// ************************************************************************* // diff --git a/tutorials/incompressible/pimpleFoam/LES/surfaceMountedCube/initChannel/0/nut b/tutorials/incompressible/pimpleFoam/LES/surfaceMountedCube/initChannel/0/nut new file mode 100644 index 00000000000..cca03bdd199 --- /dev/null +++ b/tutorials/incompressible/pimpleFoam/LES/surfaceMountedCube/initChannel/0/nut @@ -0,0 +1,55 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: plus | +| \\ / A nd | Web: www.OpenFOAM.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + location "0"; + object nut; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -1 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + lowerWall + { + type nutLowReWallFunction; + Cmu 0.09; + kappa 0.41; + E 9.8; + value uniform 0; + } + upperWall + { + type nutLowReWallFunction; + Cmu 0.09; + kappa 0.41; + E 9.8; + value uniform 0; + } + inlet + { + type cyclic; + } + outlet + { + type cyclic; + } + frontAndBack + { + type empty; + } +} + + +// ************************************************************************* // diff --git a/tutorials/incompressible/pimpleFoam/LES/surfaceMountedCube/initChannel/Allclean b/tutorials/incompressible/pimpleFoam/LES/surfaceMountedCube/initChannel/Allclean new file mode 100755 index 00000000000..e1c00032702 --- /dev/null +++ b/tutorials/incompressible/pimpleFoam/LES/surfaceMountedCube/initChannel/Allclean @@ -0,0 +1,8 @@ +#!/bin/sh +cd ${0%/*} || exit 1 # run from this directory + +# Source tutorial clean functions +. $WM_PROJECT_DIR/bin/tools/CleanFunctions + +cleanCase + diff --git a/tutorials/incompressible/pimpleFoam/LES/surfaceMountedCube/initChannel/Allrun b/tutorials/incompressible/pimpleFoam/LES/surfaceMountedCube/initChannel/Allrun new file mode 100755 index 00000000000..5d65a383e2c --- /dev/null +++ b/tutorials/incompressible/pimpleFoam/LES/surfaceMountedCube/initChannel/Allrun @@ -0,0 +1,9 @@ +#!/bin/sh +cd ${0%/*} || exit 1 # run from this directory + +# Source tutorial run functions +. $WM_PROJECT_DIR/bin/tools/RunFunctions + +runApplication blockMesh +runApplication $(getApplication) + diff --git a/tutorials/incompressible/pimpleFoam/LES/surfaceMountedCube/initChannel/constant/transportProperties b/tutorials/incompressible/pimpleFoam/LES/surfaceMountedCube/initChannel/constant/transportProperties new file mode 100644 index 00000000000..534a609d88d --- /dev/null +++ b/tutorials/incompressible/pimpleFoam/LES/surfaceMountedCube/initChannel/constant/transportProperties @@ -0,0 +1,25 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: plus | +| \\ / A nd | Web: www.OpenFOAM.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "constant"; + object transportProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +Ubar (1 0 0); + +transportModel Newtonian; + +nu 2.5e-05; + + +// ************************************************************************* // diff --git a/tutorials/incompressible/pimpleFoam/LES/surfaceMountedCube/initChannel/constant/turbulenceProperties b/tutorials/incompressible/pimpleFoam/LES/surfaceMountedCube/initChannel/constant/turbulenceProperties new file mode 100644 index 00000000000..5c0df177925 --- /dev/null +++ b/tutorials/incompressible/pimpleFoam/LES/surfaceMountedCube/initChannel/constant/turbulenceProperties @@ -0,0 +1,30 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: plus | +| \\ / A nd | Web: www.OpenFOAM.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "constant"; + object turbulenceProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +simulationType RAS; + +RAS +{ + RASModel LaunderSharmaKE; + + turbulence on; + + printCoeffs on; +} + + +// ************************************************************************* // diff --git a/tutorials/incompressible/pimpleFoam/LES/surfaceMountedCube/initChannel/system/blockMeshDict b/tutorials/incompressible/pimpleFoam/LES/surfaceMountedCube/initChannel/system/blockMeshDict new file mode 100644 index 00000000000..33d97b456f2 --- /dev/null +++ b/tutorials/incompressible/pimpleFoam/LES/surfaceMountedCube/initChannel/system/blockMeshDict @@ -0,0 +1,104 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: plus | +| \\ / A nd | Web: www.OpenFOAM.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object blockMeshDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +scale 1; + +vertices +( + (0 0 0) + (1 0 0) + (1 1 0) + (0 1 0) + (0 0 1) + (1 0 1) + (1 1 1) + (0 1 1) + (0 0 2) + (1 0 2) + (1 1 2) + (0 1 2) +); + +blocks +( + hex (0 1 2 3 4 5 6 7) (1 1 50) simpleGrading (1 1 100) + hex (4 5 6 7 8 9 10 11) (1 1 50) simpleGrading (1 1 0.01) +); + +edges +( +); + +boundary +( + lowerWall + { + type wall; + faces + ( + (0 3 2 1) + ); + } + + upperWall + { + type wall; + faces + ( + (8 9 10 11) + ); + } + + inlet + { + type cyclic; + neighbourPatch outlet; + faces + ( + (0 4 7 3) + (4 8 11 7) + ); + } + + outlet + { + type cyclic; + neighbourPatch inlet; + faces + ( + (1 2 6 5) + (5 6 10 9) + ); + } + + frontAndBack + { + type empty; + faces + ( + (0 1 5 4) + (4 5 9 8) + (3 7 6 2) + (7 11 10 6) + ); + } +); + +mergePatchPairs +( +); + +// ************************************************************************* // diff --git a/tutorials/incompressible/pimpleFoam/LES/surfaceMountedCube/initChannel/system/controlDict b/tutorials/incompressible/pimpleFoam/LES/surfaceMountedCube/initChannel/system/controlDict new file mode 100644 index 00000000000..e560ca3279e --- /dev/null +++ b/tutorials/incompressible/pimpleFoam/LES/surfaceMountedCube/initChannel/system/controlDict @@ -0,0 +1,85 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: plus | +| \\ / A nd | Web: www.OpenFOAM.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "system"; + object controlDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +application boundaryFoam; + +startFrom startTime; + +startTime 0; + +stopAt endTime; + +endTime 2000; + +deltaT 1; + +writeControl timeStep; + +writeInterval 200; + +purgeWrite 1; + +writeFormat ascii; + +writePrecision 6; + +writeCompression off; + +timeFormat general; + +timePrecision 6; + +runTimeModifiable true; + +graphFormat raw; + +functions +{ + turbulenceFields + { + type turbulenceFields; + libs ("libfieldFunctionObjects.so"); + writeControl writeTime; + fields (R nuTilda k epsilon omega L); + } + + surfaces + { + type surfaces; + surfaceFormat boundaryData; + writeControl writeTime; + interpolationScheme cell; + fields + ( + U + turbulenceProperties:R + turbulenceProperties:nuTilda + turbulenceProperties:L + ); + surfaces + ( + inlet + { + type patch; + patches (inlet); + interpolate false; + } + ); + } +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/pimpleFoam/LES/surfaceMountedCube/initChannel/system/fvSchemes b/tutorials/incompressible/pimpleFoam/LES/surfaceMountedCube/initChannel/system/fvSchemes new file mode 100644 index 00000000000..8f391e5a790 --- /dev/null +++ b/tutorials/incompressible/pimpleFoam/LES/surfaceMountedCube/initChannel/system/fvSchemes @@ -0,0 +1,59 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: plus | +| \\ / A nd | Web: www.OpenFOAM.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "system"; + object fvSchemes; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +ddtSchemes +{ + default steadyState; +} + +gradSchemes +{ + default Gauss linear; +} + +divSchemes +{ + default none; + div(phi,k) bounded Gauss linear; + div(phi,epsilon) bounded Gauss linear; + div(phi,R) bounded Gauss linear; + div(phi,nuTilda) bounded Gauss linear; + div((nuEff*dev2(T(grad(U))))) Gauss linear; +} + +laplacianSchemes +{ + default none; + laplacian(nuEff,U) Gauss linear corrected; + laplacian(DkEff,k) Gauss linear corrected; + laplacian(DepsilonEff,epsilon) Gauss linear corrected; + laplacian(DREff,R) Gauss linear corrected; + laplacian(DnuTildaEff,nuTilda) Gauss linear corrected; +} + +interpolationSchemes +{ + default linear; +} + +snGradSchemes +{ + default corrected; +} + + +// ************************************************************************* // diff --git a/tutorials/incompressible/pimpleFoam/LES/surfaceMountedCube/initChannel/system/fvSolution b/tutorials/incompressible/pimpleFoam/LES/surfaceMountedCube/initChannel/system/fvSolution new file mode 100644 index 00000000000..b02316f6d7a --- /dev/null +++ b/tutorials/incompressible/pimpleFoam/LES/surfaceMountedCube/initChannel/system/fvSolution @@ -0,0 +1,56 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: plus | +| \\ / A nd | Web: www.OpenFOAM.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "system"; + object fvSolution; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +solvers +{ + U + { + solver PCG; + preconditioner DIC; + tolerance 1e-06; + relTol 0; + } + + "(k|epsilon|R|nuTilda)" + { + solver smoothSolver; + smoother symGaussSeidel; + tolerance 1e-06; + relTol 0; + } +} + +PISO +{ + nCorrectors 2; + nNonOrthogonalCorrectors 0; +} + +relaxationFactors +{ + equations + { + U 0.5; + k 0.7; + epsilon 0.7; + R 0.7; + nuTilda 0.7; + } +} + + +// ************************************************************************* // diff --git a/tutorials/incompressible/simpleFoam/backwardFacingStep2D/0/U b/tutorials/incompressible/simpleFoam/backwardFacingStep2D/0/U new file mode 100644 index 00000000000..39625411d45 --- /dev/null +++ b/tutorials/incompressible/simpleFoam/backwardFacingStep2D/0/U @@ -0,0 +1,50 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: plus | +| \\ / A nd | Web: 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 (1e-8 0 0); + +boundaryField +{ + inlet + { + type fixedValue; + value uniform (44.2 0 0); + } + + outlet + { + type zeroGradient; + } + + "(lowerWallStartup|upperWallStartup)" + { + type symmetryPlane; + } + + "(upperWall|lowerWall)" + { + type noSlip; + } + + "(front|back)" + { + type empty; + } +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/simpleFoam/backwardFacingStep2D/0/epsilon b/tutorials/incompressible/simpleFoam/backwardFacingStep2D/0/epsilon new file mode 100644 index 00000000000..4b4727722a9 --- /dev/null +++ b/tutorials/incompressible/simpleFoam/backwardFacingStep2D/0/epsilon @@ -0,0 +1,53 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: plus | +| \\ / A nd | Web: www.OpenFOAM.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + location "0"; + object epsilon; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -3 0 0 0 0]; + +internalField uniform 17.83; + +boundaryField +{ + inlet + { + type fixedValue; + value $internalField; + } + + outlet + { + type zeroGradient; + } + + "(lowerWallStartup|upperWallStartup)" + { + type symmetryPlane; + } + + "(upperWall|lowerWall)" + { + type epsilonWallFunction; + value $internalField; + } + + "(front|back)" + { + type empty; + } +} + + +// ************************************************************************* // diff --git a/tutorials/incompressible/simpleFoam/backwardFacingStep2D/0/k b/tutorials/incompressible/simpleFoam/backwardFacingStep2D/0/k new file mode 100644 index 00000000000..193a7911528 --- /dev/null +++ b/tutorials/incompressible/simpleFoam/backwardFacingStep2D/0/k @@ -0,0 +1,53 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: plus | +| \\ / A nd | Web: www.OpenFOAM.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + location "0"; + object k; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -2 0 0 0 0]; + +internalField uniform 1.09e-3; // 0.061% + +boundaryField +{ + inlet + { + type fixedValue; + value $internalField; + } + + outlet + { + type zeroGradient; + } + + "(lowerWallStartup|upperWallStartup)" + { + type symmetryPlane; + } + + "(upperWall|lowerWall)" + { + type kqRWallFunction; + value $internalField; + } + + "(front|back)" + { + type empty; + } +} + + +// ************************************************************************* // diff --git a/tutorials/incompressible/simpleFoam/backwardFacingStep2D/0/nuTilda b/tutorials/incompressible/simpleFoam/backwardFacingStep2D/0/nuTilda new file mode 100644 index 00000000000..70089cdc187 --- /dev/null +++ b/tutorials/incompressible/simpleFoam/backwardFacingStep2D/0/nuTilda @@ -0,0 +1,50 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: plus | +| \\ / A nd | Web: www.OpenFOAM.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object nuTilda; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -1 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + inlet + { + type fixedValue; + value $internalField; + } + + outlet + { + type zeroGradient; + } + + "(lowerWallStartup|upperWallStartup)" + { + type symmetryPlane; + } + + "(upperWall|lowerWall)" + { + type zeroGradient; + } + + "(front|back)" + { + type empty; + } +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/simpleFoam/backwardFacingStep2D/0/nut b/tutorials/incompressible/simpleFoam/backwardFacingStep2D/0/nut new file mode 100644 index 00000000000..e27074faa3e --- /dev/null +++ b/tutorials/incompressible/simpleFoam/backwardFacingStep2D/0/nut @@ -0,0 +1,54 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: plus | +| \\ / A nd | Web: www.OpenFOAM.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + location "0"; + object nut; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -1 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + inlet + { + type calculated; + value uniform 0; + } + + outlet + { + type calculated; + value uniform 0; + } + + "(lowerWallStartup|upperWallStartup)" + { + type symmetryPlane; + } + + "(upperWall|lowerWall)" + { + type nutUBlendedWallFunction; + value uniform 0; + } + + "(front|back)" + { + type empty; + } +} + + +// ************************************************************************* // diff --git a/tutorials/incompressible/simpleFoam/backwardFacingStep2D/0/omega b/tutorials/incompressible/simpleFoam/backwardFacingStep2D/0/omega new file mode 100644 index 00000000000..d6150e3cc44 --- /dev/null +++ b/tutorials/incompressible/simpleFoam/backwardFacingStep2D/0/omega @@ -0,0 +1,53 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: plus | +| \\ / A nd | Web: www.OpenFOAM.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + location "0"; + object omega; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 0 -1 0 0 0 0]; + +internalField uniform 181728; + +boundaryField +{ + inlet + { + type fixedValue; + value $internalField; + } + + outlet + { + type zeroGradient; + } + + "(lowerWallStartup|upperWallStartup)" + { + type symmetryPlane; + } + + "(upperWall|lowerWall)" + { + type omegaWallFunction; + value $internalField; + } + + "(front|back)" + { + type empty; + } +} + + +// ************************************************************************* // diff --git a/tutorials/incompressible/simpleFoam/backwardFacingStep2D/0/p b/tutorials/incompressible/simpleFoam/backwardFacingStep2D/0/p new file mode 100644 index 00000000000..e5aabf7898e --- /dev/null +++ b/tutorials/incompressible/simpleFoam/backwardFacingStep2D/0/p @@ -0,0 +1,50 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: plus | +| \\ / A nd | Web: 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 +{ + inlet + { + type zeroGradient; + } + + outlet + { + type fixedValue; + value uniform 0; + } + + "(lowerWallStartup|upperWallStartup)" + { + type symmetryPlane; + } + + "(upperWall|lowerWall)" + { + type zeroGradient; + } + + "(front|back)" + { + type empty; + } +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/simpleFoam/backwardFacingStep2D/Allclean b/tutorials/incompressible/simpleFoam/backwardFacingStep2D/Allclean new file mode 100755 index 00000000000..71f48f6a4e8 --- /dev/null +++ b/tutorials/incompressible/simpleFoam/backwardFacingStep2D/Allclean @@ -0,0 +1,10 @@ +#!/bin/sh +cd ${0%/*} || exit 1 # run from this directory + +# Source tutorial clean functions +. $WM_PROJECT_DIR/bin/tools/CleanFunctions + +cleanCase + +\rm -rf *.dat *.png + diff --git a/tutorials/incompressible/simpleFoam/backwardFacingStep2D/Allrun b/tutorials/incompressible/simpleFoam/backwardFacingStep2D/Allrun new file mode 100755 index 00000000000..fb5696959da --- /dev/null +++ b/tutorials/incompressible/simpleFoam/backwardFacingStep2D/Allrun @@ -0,0 +1,100 @@ +#!/bin/sh +cd ${0%/*} || exit 1 # run from this directory + +# Source tutorial run functions +. $WM_PROJECT_DIR/bin/tools/RunFunctions + +runApplication blockMesh +runApplication simpleFoam + +if notTest $@ +then + # Create validation plots + + # Test if gnuplot exists on the system + command -v gnuplot >/dev/null 2>&1 || { + echo "gnuplot not found - skipping graph creation" 1>&2 + exit 1 + } + + # Copy results to the validation directory + timeDir=$(foamListTimes -latestTime) + sampleDir=postProcessing/sample/$timeDir + + [ -d $sampleDir ] || { + echo "results directory not found - skipping graph creation" 1>&2 + exit 1 + } + + # Test if awk exists on the system + command -v awk >/dev/null 2>&1 || { + echo "awk not found - skipping graph creation" 1>&2 + exit 1 + } + + Uref=$(awk '{print $2}' $sampleDir/Uref_U.xy) + + graphNameU="backwardStep2D_U.png" + + echo "Creating U profiles graph to $graphNameU" + gnuplot<<EOF1 + set terminal pngcairo font "helvetica,20" size 1000, 1000 + + set xrange [-0.4:1.2] + set yrange [0:3] + set xlabel "U/U_0" + set ylabel "y/h" + set grid + set output "$graphNameU" + + href = 0.0127 + Uref = $Uref + + set lmargin 7.5 + set rmargin 1.5 + set tmargin 0.1 + set bmargin 3.2 + set key top left + + set format x "%.1f" + set format y "%.1f" + + plot \ + "$sampleDir/x_by_h_01_U.xy" u (\$2/Uref):(\$1/href) w lines lw 2 lc rgb "red" t "x/h = 1", \ + "$sampleDir/x_by_h_04_U.xy" u (\$2/Uref):(\$1/href) w lines lw 2 lc rgb "green" t "x/h = 4", \ + "$sampleDir/x_by_h_06_U.xy" u (\$2/Uref):(\$1/href) w lines lw 2 lc rgb "blue" t "x/h = 6", \ + "$sampleDir/x_by_h_10_U.xy" u (\$2/Uref):(\$1/href) w lines lw 2 lc rgb "black" t "x/h = 10" +EOF1 + + echo "# ccx tau_xx tau_yy tau_zz" > tauw.dat + foamDictionary -entry boundaryField.lowerWall.value -value $timeDir/Cx | \ + sed -n '/(/,/)/p' | sed -e 's/[()]//g;/^\s*$/d' > Cx.$$ + foamDictionary -entry boundaryField.lowerWall.value -value $timeDir/wallShearStress | \ + sed -n '/(/,/)/p' | sed -e 's/[()]//g;/^\s*$/d' > tau.$$ + paste -d ' ' Cx.$$ tau.$$ >> tauw.dat + \rm -f Cx.$$ tau.$$ + + graphNameTau="backwardStep2D_tau.png" + echo "Creating wallshear stress graph to $graphNameTau" + gnuplot<<EOF2 + set terminal pngcairo font "helvetica,20" size 1000, 1000 + set xrange [-5:30] + set yrange [-0.002:0.004] + set grid + set key bottom right + set xlabel "x/h" + set ylabel "c_f" + set output "$graphNameTau" + + Uref = $Uref + href = 0.0127 + + set lmargin 10 + set rmargin 1.5 + set tmargin 0.1 + set bmargin 3.2 + + plot "tauw.dat" u (\$1/href):(-\$2/(0.5*Uref*Uref)) t "simpleFoam" w l lw 2 lc rgb "black" +EOF2 +fi + diff --git a/tutorials/incompressible/simpleFoam/backwardFacingStep2D/README b/tutorials/incompressible/simpleFoam/backwardFacingStep2D/README new file mode 100644 index 00000000000..8971d4754cd --- /dev/null +++ b/tutorials/incompressible/simpleFoam/backwardFacingStep2D/README @@ -0,0 +1,22 @@ +Steady flow over a 2D backward facing step + +This canonical case is based on the description by Driver and Seegmiller + + D.M. Driver and H.L. Seegmiller. Features of a reattaching turbulent shear + layer in divergent channel flow. AIAA Journal, 23(2):163–171, 1985. + +where the mesh is based on the Langley Research Center Turbulence Modeling +Resource set-up provided at: + + https://turbmodels.larc.nasa.gov/backstep_val.html + +The Reynolds number based on the step height is Reh 36000 for which the +stated reattachment length is at 6.26 +/- 0.1 x/h + +The Allrun script will run the case and generate graphs showing the wall +shear stress and velocity profiles at various cross-sections. + +For further information please visit: + + openfoam.com/documentation/cpp-guide/html/verification-validation-turbulent-backward-facing-step.html + diff --git a/tutorials/incompressible/simpleFoam/backwardFacingStep2D/constant/transportProperties b/tutorials/incompressible/simpleFoam/backwardFacingStep2D/constant/transportProperties new file mode 100644 index 00000000000..dd9ace28826 --- /dev/null +++ b/tutorials/incompressible/simpleFoam/backwardFacingStep2D/constant/transportProperties @@ -0,0 +1,22 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: plus | +| \\ / A nd | Web: www.OpenFOAM.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "constant"; + object transportProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +transportModel Newtonian; + +nu 1.56e-05; + +// ************************************************************************* // diff --git a/tutorials/incompressible/simpleFoam/backwardFacingStep2D/constant/turbulenceProperties b/tutorials/incompressible/simpleFoam/backwardFacingStep2D/constant/turbulenceProperties new file mode 100644 index 00000000000..2b5ce67ef68 --- /dev/null +++ b/tutorials/incompressible/simpleFoam/backwardFacingStep2D/constant/turbulenceProperties @@ -0,0 +1,30 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: plus | +| \\ / A nd | Web: www.OpenFOAM.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "constant"; + object turbulenceProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +simulationType RAS; + +RAS +{ + RASModel kOmegaSST; // kEpsilon; + + turbulence on; + + printCoeffs on; +} + + +// ************************************************************************* // diff --git a/tutorials/incompressible/simpleFoam/backwardFacingStep2D/system/blockMeshDict b/tutorials/incompressible/simpleFoam/backwardFacingStep2D/system/blockMeshDict new file mode 100644 index 00000000000..aad6d42bfc2 --- /dev/null +++ b/tutorials/incompressible/simpleFoam/backwardFacingStep2D/system/blockMeshDict @@ -0,0 +1,202 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: plus | +| \\ / A nd | Web: www.OpenFOAM.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object blockMeshDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +scale 0.0127; + +vertices +( + ( -130 1 1) // 0 + ( -110 1 1) // 1 + ( 0 1 1) // 2 + ( 0 0 1) // 3 + ( 8 0 1) // 4 + ( 50 0 1) // 5 + ( 8 1 1) // 6 + ( 50 3.125 1) // 7 + ( 50 9 1) // 8 + ( 8 9 1) // 9 + ( 0 9 1) // 10 + ( -110 9 1) // 11 + ( -130 9 1) // 12 + + ( -130 1 0) // 13 + ( -110 1 0) // 14 + ( 0 1 0) // 15 + ( 0 0 0) // 16 + ( 8 0 0) // 17 + ( 50 0 0) // 18 + ( 8 1 0) // 19 + ( 50 3.125 0) // 20 + ( 50 9 0) // 21 + ( 8 9 0) // 22 + ( 0 9 0) // 23 + ( -110 9 0) // 24 + ( -130 9 0) // 25 +); + + +ySpacing ((0.3 0.47 250)(0.2 0.06 1)(0.3 0.47 0.004)); +ySpacing2 ((0.75 0.3 1)(0.25 0.7 0.004)); +yWall ((0.5 0.5 100)(0.5 0.5 0.03)); + +yLower1 ((0.4 0.7 50)(0.6 0.3 1)); +yLower2 ((1 1 50)); + +//yUpper1 ((0.1 0.15 2)(0.75 0.35 4)(0.25 0.5 0.005)); +yUpper1 ((0.1 0.2 2)(0.75 0.35 5)(0.25 0.45 0.005)); + +blocks +( + // Coarse + + // Block 0 + hex (13 14 24 25 0 1 11 12) + (2 65 1) + simpleGrading (0.3 $ySpacing 1) + + // Block 1 + hex (14 15 23 24 1 2 10 11) + (88 65 1) + simpleGrading (((106 63 0.1)(4 25 0.3)) $ySpacing 1) + + // Block 2 + hex (16 17 19 15 3 4 6 2) + (97 48 1) +// simpleGrading (1 1 1) + edgeGrading (1 1 1 1 $yWall $yLower1 $yLower1 $yWall 1 1 1 1) + + // Block 3 + hex (17 18 20 19 4 5 7 6) + (33 48 1) +// simpleGrading (100 1 1) + edgeGrading (80 80 80 80 $yLower1 $yLower2 $yLower2 $yLower1 1 1 1 1) + + // Block 4 + hex (15 19 22 23 2 6 9 10) + (97 65 1) +// simpleGrading (1 $ySpacing 1) + edgeGrading (1 1 1 1 $ySpacing $yUpper1 $yUpper1 $ySpacing 1 1 1 1) + + // Block 5 + hex (19 20 21 22 6 7 8 9) + (33 65 1) +// simpleGrading (100 $ySpacing 1) + edgeGrading (80 80 80 80 $yUpper1 $ySpacing2 $ySpacing2 $yUpper1 1 1 1 1) +/* + // fine + hex (0 1 9 8 7 6 14 15) + (800 1 100) + simpleGrading (1 1 200) + + hex (2 3 11 10 1 4 12 9) + (400 1 150) + simpleGrading (((1 10 5)(1 1 10)) 1 ((1 1 10 )(1 1 0.1))) + + hex (1 4 12 9 6 5 13 14) + (400 1 100) + simpleGrading (((1 10 5)(1 1 10)) 1 200) +*/ +); + +edges +( +); + +boundary +( + inlet + { + type patch; + faces + ( + (13 0 12 25) + ); + } + outlet + { + type patch; + faces + ( + (18 20 7 5) + (20 21 8 7) + ); + } + lowerWallStartup + { + type symmetryPlane; + faces + ( + (13 14 1 0) + ); + } + upperWallStartup + { + type symmetryPlane; + faces + ( + (25 12 11 24) + ); + } + upperWall + { + type wall; + faces + ( + (24 11 10 23) + (23 10 9 22) + (22 9 8 21) + ); + } + lowerWall + { + type wall; + faces + ( + (14 15 2 1) + (15 2 3 16) + (16 17 4 3) + (17 18 5 4) + ); + } + front + { + type empty; + faces + ( + (0 1 11 12) + (1 2 10 11) + (3 4 6 2) + (4 5 7 6) + (2 6 9 10) + (6 7 8 9) + ); + } + back + { + type empty; + faces + ( + (13 25 24 14) + (14 24 23 15) + (16 15 19 17) + (17 19 20 18) + (15 23 22 19) + (19 22 21 20) + ); + } +); + +// ************************************************************************* // diff --git a/tutorials/incompressible/simpleFoam/backwardFacingStep2D/system/controlDict b/tutorials/incompressible/simpleFoam/backwardFacingStep2D/system/controlDict new file mode 100644 index 00000000000..4c98c5c9aca --- /dev/null +++ b/tutorials/incompressible/simpleFoam/backwardFacingStep2D/system/controlDict @@ -0,0 +1,58 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: plus | +| \\ / A nd | Web: www.OpenFOAM.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "system"; + object controlDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +application simpleFoam; + +startFrom startTime; + +startTime 0; + +stopAt endTime; + +endTime 2000; + +deltaT 1; + +writeControl timeStep; + +writeInterval 100; + +purgeWrite 5; + +writeFormat ascii; + +writePrecision 6; + +writeCompression off; + +timeFormat general; + +timePrecision 6; + +runTimeModifiable true; + +functions +{ + #includeFunc "stressComponents" + #includeFunc "pressureCoefficient" + #includeFunc "sample" + #includeFunc "sampleCp" + #includeFunc "writeCellCentres" + #includeFunc "wallShearStress" +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/simpleFoam/backwardFacingStep2D/system/fvSchemes b/tutorials/incompressible/simpleFoam/backwardFacingStep2D/system/fvSchemes new file mode 100644 index 00000000000..831cd1cfd1c --- /dev/null +++ b/tutorials/incompressible/simpleFoam/backwardFacingStep2D/system/fvSchemes @@ -0,0 +1,59 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: plus | +| \\ / A nd | Web: www.OpenFOAM.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "system"; + object fvSchemes; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +ddtSchemes +{ + default steadyState; +} + +gradSchemes +{ + default Gauss linear; +} + +divSchemes +{ + default none; + div(phi,U) bounded Gauss LUST grad(U); + div(phi,k) bounded Gauss limitedLinear 1; + div(phi,epsilon) bounded Gauss limitedLinear 1; + div(phi,omega) bounded Gauss limitedLinear 1; + div((nuEff*dev2(T(grad(U))))) Gauss linear; +} + +laplacianSchemes +{ + default Gauss linear corrected; +} + +interpolationSchemes +{ + default linear; +} + +snGradSchemes +{ + default corrected; +} + +wallDist +{ + method meshWave; +} + + +// ************************************************************************* // diff --git a/tutorials/incompressible/simpleFoam/backwardFacingStep2D/system/fvSolution b/tutorials/incompressible/simpleFoam/backwardFacingStep2D/system/fvSolution new file mode 100644 index 00000000000..ab10d99b045 --- /dev/null +++ b/tutorials/incompressible/simpleFoam/backwardFacingStep2D/system/fvSolution @@ -0,0 +1,60 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: plus | +| \\ / A nd | Web: www.OpenFOAM.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "system"; + object fvSolution; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +solvers +{ + p + { + solver GAMG; + tolerance 1e-10; + relTol 0.1; + smoother DICGaussSeidel; + } + + "(U|k|epsilon|omega)" + { + solver smoothSolver; + smoother symGaussSeidel; + tolerance 1e-10; + relTol 0.1; + } +} + +SIMPLE +{ + nNonOrthogonalCorrectors 0; + consistent yes; + + residualControl + { + p 1e-4; + U 1e-6; + "(k|epsilon|omega|f|v2)" 1e-5; + } +} + +relaxationFactors +{ + equations + { + U 0.9; + ".*" 0.8; + } +} + + +// ************************************************************************* // diff --git a/tutorials/incompressible/simpleFoam/backwardFacingStep2D/system/pressureCoefficient b/tutorials/incompressible/simpleFoam/backwardFacingStep2D/system/pressureCoefficient new file mode 100644 index 00000000000..5a24f95419d --- /dev/null +++ b/tutorials/incompressible/simpleFoam/backwardFacingStep2D/system/pressureCoefficient @@ -0,0 +1,14 @@ +type pressure; +libs ("libfieldFunctionObjects.so"); + +writeControl writeTime; + +calcCoeff yes; +calcTotal no; + +result cp; + +rho rhoInf; +rhoInf 1; +pInf 0; +UInf (44.2 0 0); diff --git a/tutorials/incompressible/simpleFoam/backwardFacingStep2D/system/sample b/tutorials/incompressible/simpleFoam/backwardFacingStep2D/system/sample new file mode 100644 index 00000000000..08690f754fc --- /dev/null +++ b/tutorials/incompressible/simpleFoam/backwardFacingStep2D/system/sample @@ -0,0 +1,61 @@ +type sets; +libs ("libsampling.so"); + +writeControl writeTime; + +interpolationScheme cellPoint; + +setFormat raw; + +sets +( + Uref + { + type cloud; + axis y; + points ((-0.0508 0.0508 0.01)); + } + + x_by_h_m04 + { + type face; + axis y; + start (-0.0508 -0.0127 0); + end (-0.0508 0.1016 0); + nPoints 100; + } + x_by_h_01 + { + type face; + axis y; + start (0.0127 -0.0127 0); + end (0.0127 0.1016 0); + nPoints 100; + } + x_by_h_04 + { + type face; + axis y; + start (0.0508 -0.0127 0); + end (0.0508 0.1016 0); + nPoints 100; + } + x_by_h_06 + { + type face; + axis y; + start (0.0762 -0.0127 0); + end (0.0762 0.1016 0); + nPoints 100; + } + x_by_h_10 + { + type face; + axis y; + start (0.127 -0.0127 0); + end (0.127 0.1016 0); + nPoints 100; + } +); + +fields (p U turbulenceProperties:devReff); diff --git a/tutorials/incompressible/simpleFoam/backwardFacingStep2D/system/sampleCp b/tutorials/incompressible/simpleFoam/backwardFacingStep2D/system/sampleCp new file mode 100644 index 00000000000..6d29221fce0 --- /dev/null +++ b/tutorials/incompressible/simpleFoam/backwardFacingStep2D/system/sampleCp @@ -0,0 +1,7 @@ +type patchProbes; +libs ("libsampling.so"); +writeControl writeTime; + +patch lowerWall; +probeLocations (); +fields (cp); diff --git a/tutorials/incompressible/simpleFoam/backwardFacingStep2D/system/stressComponents b/tutorials/incompressible/simpleFoam/backwardFacingStep2D/system/stressComponents new file mode 100644 index 00000000000..1c83aaa3c99 --- /dev/null +++ b/tutorials/incompressible/simpleFoam/backwardFacingStep2D/system/stressComponents @@ -0,0 +1,6 @@ +type turbulenceFields; +libs ("libfieldFunctionObjects.so"); + +writeControl writeTime; + +fields (devReff); diff --git a/tutorials/incompressible/simpleFoam/turbulentFlatPlate/0.kEpsilon/U b/tutorials/incompressible/simpleFoam/turbulentFlatPlate/0.kEpsilon/U new file mode 100644 index 00000000000..495d5b8ffca --- /dev/null +++ b/tutorials/incompressible/simpleFoam/turbulentFlatPlate/0.kEpsilon/U @@ -0,0 +1,56 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: plus | +| \\ / A nd | Web: 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 (69.4 0 0); + +boundaryField +{ + inlet + { + type fixedValue; + value $internalField; + } + + outlet + { + type zeroGradient; + } + + topWall + { + type slip; + } + + bottomWall + { + type fixedValue; + value uniform (0 0 0); + } + + symmetry + { + type symmetryPlane; + } + + frontAndBack + { + type empty; + } +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/simpleFoam/turbulentFlatPlate/0.kEpsilon/epsilon b/tutorials/incompressible/simpleFoam/turbulentFlatPlate/0.kEpsilon/epsilon new file mode 100644 index 00000000000..790f83fc64d --- /dev/null +++ b/tutorials/incompressible/simpleFoam/turbulentFlatPlate/0.kEpsilon/epsilon @@ -0,0 +1,57 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: plus | +| \\ / A nd | Web: 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 0.84321; // from kOmega model epsilon=omega*k*Cmu + +boundaryField +{ + inlet + { + type fixedValue; + value $internalField; + } + + outlet + { + type zeroGradient; + } + + topWall + { + type zeroGradient; + } + + bottomWall + { + type epsilonWallFunction; + lowReCorrection on; + value $internalField; + } + + symmetry + { + type symmetryPlane; + } + + frontAndBack + { + type empty; + } +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/simpleFoam/turbulentFlatPlate/0.kEpsilon/k b/tutorials/incompressible/simpleFoam/turbulentFlatPlate/0.kEpsilon/k new file mode 100644 index 00000000000..5f2ea6da438 --- /dev/null +++ b/tutorials/incompressible/simpleFoam/turbulentFlatPlate/0.kEpsilon/k @@ -0,0 +1,59 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: plus | +| \\ / A nd | Web: 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 1.08e-3; // 1.08e-3 = 1.125*(69.4)^2/5e6 // 11=3.9% 18.1=5%; + +boundaryField +{ + inlet + { + type fixedValue; + +// type turbulentIntensityKineticEnergyInlet; +// intensity 0.05; // 5% turbulence + value $internalField; + } + + outlet + { + type zeroGradient; + } + + topWall + { + type zeroGradient; + } + + bottomWall + { + type kqRWallFunction; + value $internalField; + } + + symmetry + { + type symmetryPlane; + } + + frontAndBack + { + type empty; + } +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/simpleFoam/turbulentFlatPlate/0.kEpsilon/nut b/tutorials/incompressible/simpleFoam/turbulentFlatPlate/0.kEpsilon/nut new file mode 100644 index 00000000000..b296d6eeaef --- /dev/null +++ b/tutorials/incompressible/simpleFoam/turbulentFlatPlate/0.kEpsilon/nut @@ -0,0 +1,60 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: plus | +| \\ / A nd | Web: www.OpenFOAM.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + location "0"; + object nut; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -1 0 0 0 0]; + +internalField uniform 1.25e-7; + +boundaryField +{ + inlet + { + type calculated; + value $internalField; + } + + outlet + { + type calculated; + value $internalField; + } + + topWall + { + type calculated; + value $internalField; + } + + bottomWall + { + type nutkWallFunction; + value $internalField; + } + + symmetry + { + type symmetryPlane; + } + + frontAndBack + { + type empty; + } +} + + +// ************************************************************************* // diff --git a/tutorials/incompressible/simpleFoam/turbulentFlatPlate/0.kEpsilon/p b/tutorials/incompressible/simpleFoam/turbulentFlatPlate/0.kEpsilon/p new file mode 100644 index 00000000000..7f43b34e0c1 --- /dev/null +++ b/tutorials/incompressible/simpleFoam/turbulentFlatPlate/0.kEpsilon/p @@ -0,0 +1,66 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: plus | +| \\ / A nd | Web: 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 +{ + inlet + { + type zeroGradient; +/* + type totalPressure; + rho none; + psi none; + p0 uniform 1.02828; + value uniform 1.02828; +*/ + } + + outlet + { + type fixedValue; + value uniform 0; +/* + type fixedValue; + value uniform 1; +*/ + } + + topWall + { + type zeroGradient; + } + + bottomWall + { + type zeroGradient; + } + + symmetry + { + type symmetryPlane; + } + + frontAndBack + { + type empty; + } +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/simpleFoam/turbulentFlatPlate/0.kOmegaSST/U b/tutorials/incompressible/simpleFoam/turbulentFlatPlate/0.kOmegaSST/U new file mode 100644 index 00000000000..495d5b8ffca --- /dev/null +++ b/tutorials/incompressible/simpleFoam/turbulentFlatPlate/0.kOmegaSST/U @@ -0,0 +1,56 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: plus | +| \\ / A nd | Web: 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 (69.4 0 0); + +boundaryField +{ + inlet + { + type fixedValue; + value $internalField; + } + + outlet + { + type zeroGradient; + } + + topWall + { + type slip; + } + + bottomWall + { + type fixedValue; + value uniform (0 0 0); + } + + symmetry + { + type symmetryPlane; + } + + frontAndBack + { + type empty; + } +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/simpleFoam/turbulentFlatPlate/0.kOmegaSST/k b/tutorials/incompressible/simpleFoam/turbulentFlatPlate/0.kOmegaSST/k new file mode 100644 index 00000000000..5f2ea6da438 --- /dev/null +++ b/tutorials/incompressible/simpleFoam/turbulentFlatPlate/0.kOmegaSST/k @@ -0,0 +1,59 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: plus | +| \\ / A nd | Web: 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 1.08e-3; // 1.08e-3 = 1.125*(69.4)^2/5e6 // 11=3.9% 18.1=5%; + +boundaryField +{ + inlet + { + type fixedValue; + +// type turbulentIntensityKineticEnergyInlet; +// intensity 0.05; // 5% turbulence + value $internalField; + } + + outlet + { + type zeroGradient; + } + + topWall + { + type zeroGradient; + } + + bottomWall + { + type kqRWallFunction; + value $internalField; + } + + symmetry + { + type symmetryPlane; + } + + frontAndBack + { + type empty; + } +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/simpleFoam/turbulentFlatPlate/0.kOmegaSST/nut b/tutorials/incompressible/simpleFoam/turbulentFlatPlate/0.kOmegaSST/nut new file mode 100644 index 00000000000..bbe63243e24 --- /dev/null +++ b/tutorials/incompressible/simpleFoam/turbulentFlatPlate/0.kOmegaSST/nut @@ -0,0 +1,60 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: plus | +| \\ / A nd | Web: www.OpenFOAM.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + location "0"; + object nut; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -1 0 0 0 0]; + +internalField uniform 1.25e-7; + +boundaryField +{ + inlet + { + type calculated; + value $internalField; + } + + outlet + { + type calculated; + value $internalField; + } + + topWall + { + type calculated; + value $internalField; + } + + bottomWall + { + type nutUSpaldingWallFunction; + value $internalField; + } + + symmetry + { + type symmetryPlane; + } + + frontAndBack + { + type empty; + } +} + + +// ************************************************************************* // diff --git a/tutorials/incompressible/simpleFoam/turbulentFlatPlate/0.kOmegaSST/omega b/tutorials/incompressible/simpleFoam/turbulentFlatPlate/0.kOmegaSST/omega new file mode 100644 index 00000000000..80b827502ae --- /dev/null +++ b/tutorials/incompressible/simpleFoam/turbulentFlatPlate/0.kOmegaSST/omega @@ -0,0 +1,60 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: plus | +| \\ / A nd | Web: 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 8675; // 8675=125*69.4/1 ; // 0.011; + +boundaryField +{ + inlet + { + type fixedValue; + +// type turbulentMixingLengthFrequencyInlet; +// mixingLength 1; + value $internalField; + } + + outlet + { + type zeroGradient; + } + + topWall + { + type zeroGradient; + } + + bottomWall + { + type omegaWallFunction; + blended true; + value $internalField; + } + + symmetry + { + type symmetryPlane; + } + + frontAndBack + { + type empty; + } +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/simpleFoam/turbulentFlatPlate/0.kOmegaSST/p b/tutorials/incompressible/simpleFoam/turbulentFlatPlate/0.kOmegaSST/p new file mode 100644 index 00000000000..7f43b34e0c1 --- /dev/null +++ b/tutorials/incompressible/simpleFoam/turbulentFlatPlate/0.kOmegaSST/p @@ -0,0 +1,66 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: plus | +| \\ / A nd | Web: 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 +{ + inlet + { + type zeroGradient; +/* + type totalPressure; + rho none; + psi none; + p0 uniform 1.02828; + value uniform 1.02828; +*/ + } + + outlet + { + type fixedValue; + value uniform 0; +/* + type fixedValue; + value uniform 1; +*/ + } + + topWall + { + type zeroGradient; + } + + bottomWall + { + type zeroGradient; + } + + symmetry + { + type symmetryPlane; + } + + frontAndBack + { + type empty; + } +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/simpleFoam/turbulentFlatPlate/Allclean b/tutorials/incompressible/simpleFoam/turbulentFlatPlate/Allclean new file mode 100755 index 00000000000..447b72d0f30 --- /dev/null +++ b/tutorials/incompressible/simpleFoam/turbulentFlatPlate/Allclean @@ -0,0 +1,11 @@ +#!/bin/bash +#set -x + +cd ${0%/*} || exit 1 + +. $WM_PROJECT_DIR/bin/tools/CleanFunctions + +cleanCase + +\rm -rf 0 postProcessing-* +\rm -f *.dat *.png constant/turbulenceProperties diff --git a/tutorials/incompressible/simpleFoam/turbulentFlatPlate/Allrun b/tutorials/incompressible/simpleFoam/turbulentFlatPlate/Allrun new file mode 100755 index 00000000000..e9ff1929802 --- /dev/null +++ b/tutorials/incompressible/simpleFoam/turbulentFlatPlate/Allrun @@ -0,0 +1,85 @@ +#!/bin/sh +cd ${0%/*} || exit 1 + +# Source tutorial run functions +. $WM_PROJECT_DIR/bin/tools/RunFunctions + +if notTest $@ +then + models=" + kOmegaSST + kEpsilon + " + + declare -A grading_vs_yp + #level 5 gradings + grading_vs_yp[0.05]=50000 + grading_vs_yp[1]=2200 + grading_vs_yp[2]=950 + grading_vs_yp[5]=300 + grading_vs_yp[10]=130 + grading_vs_yp[30]=30 + grading_vs_yp[50]=15 + grading_vs_yp[100]=5 + + # level 3 gradings + #grading_vs_yp[1]=9300 + #grading_vs_yp[2]=4300 + #grading_vs_yp[5]=1500 + #grading_vs_yp[10]=650 + #grading_vs_yp[30]=175 + #grading_vs_yp[50]=90 + #grading_vs_yp[100]=35 + + \cp constant/turbulenceProperties.orig constant/turbulenceProperties + + for model in $models + do + echo "Processing model: $model" + + runApplication -s $model foamDictionary -entry RAS.RASModel -set $model constant/turbulenceProperties + + for i in "${!grading_vs_yp[@]}" + do + yp=$i + grading=${grading_vs_yp[$yp]} + + echo "Mesh: y+ $yp" + + \rm -rf 0 [1-9]* + \cp -rf 0.${model} 0 + + sed "s/GRADING/$grading/g" system/blockMeshDict.template > system/blockMeshDict + + runApplication -s ${model}_${yp} blockMesh + + runApplication -s ${model}_${yp} simpleFoam + + UInf=$(foamDictionary -entry internalField 0/U | sed 's/^.*(\s*\([^ ]*\).*/\1/g') + nuInf=$(foamDictionary -entry nu constant/transportProperties | sed 's/^.*\s\(.*\);/\1/g') + + timeDir=$(foamListTimes -latestTime) + + echo "UInf = $UInf" + + foamDictionary -entry boundaryField.bottomWall.value -value $timeDir/Cx | \ + sed -n '/(/,/)/p' | sed -e 's/[()]//g;/^\s*$/d' > Cx.$$ + foamDictionary -entry boundaryField.bottomWall.value -value $timeDir/wallShearStress | \ + sed -n '/(/,/)/p' | sed -e 's/[()]//g;/^\s*$/d' > tau.$$ + foamDictionary -entry boundaryField.bottomWall.value -value $timeDir/yPlus | \ + sed -n '/(/,/)/p' | sed -e 's/[()]//g;/^\s*$/d' > yp.$$ + + echo "# ccx tau_xx tau_yy tau_zz" > tauw_${model}_${yp}.dat + paste -d ' ' Cx.$$ tau.$$ >> tauw_${model}_${yp}.dat + echo "# ccx y+" > yplus_${model}_${yp}.dat + paste -d ' ' Cx.$$ yp.$$ >> yplus_${model}_${yp}.dat + \rm -f Cx.$$ tau.$$ yp.$$ + + ./plot $UInf $nuInf $model $yp + + # Optionally store the results + #mv $timeDir ${model}_${yp}.${timeDir} + done + mv postProcessing postProcessing-${model} + done +fi diff --git a/tutorials/incompressible/simpleFoam/turbulentFlatPlate/README b/tutorials/incompressible/simpleFoam/turbulentFlatPlate/README new file mode 100644 index 00000000000..2d89236ab3c --- /dev/null +++ b/tutorials/incompressible/simpleFoam/turbulentFlatPlate/README @@ -0,0 +1,17 @@ +Steady flow over a 2D flat plate + +This case is based on the zero pressure gradient flat plate test described +by the Langley Research Center Turbulence Modeling Resource provided at: + + https://turbmodels.larc.nasa.gov/flatplate.html + +The Reynolds number based on the plate length is of Re_L = 5×10^6 + +The Allrun script applies a selection of tubulence models to a range of y+ +meshes which for which graphs are created that compare the predictions +against the data from Weighardt. + +For further information please visit: + + openfoam.com/documentation/cpp-guide/html/verification-validation-turbulent-flat-plate-zpg.html + diff --git a/tutorials/incompressible/simpleFoam/turbulentFlatPlate/constant/transportProperties b/tutorials/incompressible/simpleFoam/turbulentFlatPlate/constant/transportProperties new file mode 100644 index 00000000000..73759f9481c --- /dev/null +++ b/tutorials/incompressible/simpleFoam/turbulentFlatPlate/constant/transportProperties @@ -0,0 +1,22 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: plus | +| \\ / A nd | Web: www.OpenFOAM.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "constant"; + object transportProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +transportModel Newtonian; + +nu 1.388e-05; + +// ************************************************************************* // diff --git a/tutorials/incompressible/simpleFoam/turbulentFlatPlate/constant/turbulenceProperties-kEpsilon b/tutorials/incompressible/simpleFoam/turbulentFlatPlate/constant/turbulenceProperties-kEpsilon new file mode 100644 index 00000000000..8fe9b5ed38d --- /dev/null +++ b/tutorials/incompressible/simpleFoam/turbulentFlatPlate/constant/turbulenceProperties-kEpsilon @@ -0,0 +1,30 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: plus | +| \\ / A nd | Web: www.OpenFOAM.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "constant"; + object turbulenceProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +simulationType RAS; + +RAS +{ + RASModel kEpsilon; + + turbulence on; + + printCoeffs on; +} + + +// ************************************************************************* // diff --git a/tutorials/incompressible/simpleFoam/turbulentFlatPlate/constant/turbulenceProperties-kOmegaSST b/tutorials/incompressible/simpleFoam/turbulentFlatPlate/constant/turbulenceProperties-kOmegaSST new file mode 100644 index 00000000000..8b2ee153c16 --- /dev/null +++ b/tutorials/incompressible/simpleFoam/turbulentFlatPlate/constant/turbulenceProperties-kOmegaSST @@ -0,0 +1,30 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: plus | +| \\ / A nd | Web: www.OpenFOAM.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "constant"; + object turbulenceProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +simulationType RAS; + +RAS +{ + RASModel kOmegaSST; + + turbulence on; + + printCoeffs on; +} + + +// ************************************************************************* // diff --git a/tutorials/incompressible/simpleFoam/turbulentFlatPlate/constant/turbulenceProperties.orig b/tutorials/incompressible/simpleFoam/turbulentFlatPlate/constant/turbulenceProperties.orig new file mode 100644 index 00000000000..6558e655e64 --- /dev/null +++ b/tutorials/incompressible/simpleFoam/turbulentFlatPlate/constant/turbulenceProperties.orig @@ -0,0 +1,28 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: plus | +| \\ / A nd | Web: www.OpenFOAM.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2; + format ascii; + class dictionary; + location "constant"; + object turbulenceProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +simulationType RAS; + +RAS +{ + RASModel xxx; + turbulence on; + printCoeffs on; +} + + +// ************************************************************************* // diff --git a/tutorials/incompressible/simpleFoam/turbulentFlatPlate/plot b/tutorials/incompressible/simpleFoam/turbulentFlatPlate/plot new file mode 100755 index 00000000000..63e451a6d99 --- /dev/null +++ b/tutorials/incompressible/simpleFoam/turbulentFlatPlate/plot @@ -0,0 +1,26 @@ +#!/bin/sh +cd ${0%/*} || exit 1 # run from this directory + +Uinf=$1 +nuInf=$2 +model=$3 +yp=$4 +gnuplot<<EOF + set terminal pngcairo font "arial,16" size 800,600 + set output "OF_${model}_YP${yp}.png" + set xlabel "Re_x" + set ylabel "Cf" + set grid + set key right top + set xrange [0:1e7] + set yrange [0:0.006] + UInf = $Uinf + nuInf = $nuInf + X0 = 0 # Location of start of plate + laminar(x) = 0.664/(sqrt(x)) # Blasius - laminar + weighardt(x) = 0.288*(log10(x))**(-2.45) # turbulent + plot \ + weighardt(x) t "Weighardt" w lines lc "red" lw 2, \ + "tauw_${model}_${yp}.dat" u (\$1 - X0)*UInf/nuInf:(sqrt(\$2*\$2 + \$3*\$3 + \$4*\$4)/(0.5*UInf*UInf)) title "$model y^+ ${yp}" w lines lc "black" lw 2 + +EOF diff --git a/tutorials/incompressible/simpleFoam/turbulentFlatPlate/system/blockMeshDict b/tutorials/incompressible/simpleFoam/turbulentFlatPlate/system/blockMeshDict new file mode 100644 index 00000000000..bccda42cfdb --- /dev/null +++ b/tutorials/incompressible/simpleFoam/turbulentFlatPlate/system/blockMeshDict @@ -0,0 +1,133 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: plus | +| \\ / A nd | Web: www.OpenFOAM.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object blockMeshDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +scale 0.333333333333333; + +vertices +( + (-1 0 0.3) + (0 0 0.3) + (6 0 0.3) + (6 3 0.3) + (0 3 0.3) + (-1 3 0.3) + + (-1 0 0) + (0 0 0) + (6 0 0) + (6 3 0) + (0 3 0) + (-1 3 0) +); + +blocks +( +// //5 patch bottomWall y+ : min = 0.045097146, max = 0.13949865, average = 0.052922426 + hex (6 7 10 11 0 1 4 5) ( 96 385 1) simpleGrading (((1 9 0.15)(0.1 3 0.9)) 950 1) + hex (7 8 9 10 1 2 3 4) (449 385 1) simpleGrading (((0.1 22 1.5)(0.35 23 7)(0.515 12 1)) 950 1) + +// 3 +// hex (6 7 10 11 0 1 4 5) ( 24 97 1) simpleGrading (((1 9 0.15)(0.1 3 0.9)) 950 1) +// hex (7 8 9 10 1 2 3 4) (113 97 1) simpleGrading (((0.1 22 1.5)(0.35 23 7)(0.515 12 1)) 950 1) + +//------------------------------------------------------------------- +// +// // 1 min = 0.60914299, max = 1.0197701, average = 0.71020364 +// hex (6 7 10 11 0 1 4 5) (6 25 1) simpleGrading (((1 9 0.15)(0.1 3 0.9)) 50000 1) +// hex (7 8 9 10 1 2 3 4) (29 25 1) simpleGrading (((0.1 22 1.5)(0.35 23 7)(0.515 12 1)) 50000 1) +// +// // 2 +// hex (6 7 10 11 0 1 4 5) (12 49 1) simpleGrading (((1 9 0.15)(0.1 3 0.9)) 50000 1) +// hex (7 8 9 10 1 2 3 4) (57 49 1) simpleGrading (((0.1 22 1.5)(0.35 23 7)(0.515 12 1)) 50000 1) +// +// // 3 patch bottomWall y+ : min = 0.18489745, max = 0.38018561, average = 0.21587743 +// hex (6 7 10 11 0 1 4 5) ( 24 97 1) simpleGrading (((1 9 0.15)(0.1 3 0.9)) 50000 1) +// hex (7 8 9 10 1 2 3 4) (113 97 1) simpleGrading (((0.1 22 1.5)(0.35 23 7)(0.515 12 1)) 50000 1) +// +// // 4 +// hex (6 7 10 11 0 1 4 5) ( 48 193 1) simpleGrading (((1 9 0.15)(0.1 3 0.9)) 50000 1) +// hex (7 8 9 10 1 2 3 4) (225 193 1) simpleGrading (((0.1 22 1.5)(0.35 23 7)(0.515 12 1)) 50000 1) + +// //5 patch bottomWall y+ : min = 0.045097146, max = 0.13949865, average = 0.052922426 +// hex (6 7 10 11 0 1 4 5) ( 96 385 1) simpleGrading (((1 9 0.15)(0.1 3 0.9)) 50000 1) +// hex (7 8 9 10 1 2 3 4) (449 385 1) simpleGrading (((0.1 22 1.5)(0.35 23 7)(0.515 12 1)) 50000 1) +); + +edges +( +); + +boundary +( + inlet + { + type patch; + faces + ( + (6 0 5 11) + ); + } + outlet + { + type patch; + faces + ( + (8 9 3 2) + ); + } + topWall + { + type wall; + faces + ( + (11 5 4 10) + (10 4 3 9) + ); + } + bottomWall + { + type wall; + faces + ( + (7 8 2 1) + ); + } + symmetry + { + type symmetryPlane; + faces + ( + (6 7 1 0) + ); + } + frontAndBack + { + type empty; + faces + ( + (0 1 4 5) + (1 2 3 4) + (6 11 10 7) + (7 10 9 8) + ); + } +); + +mergePatchPairs +( +); + +// ************************************************************************* // diff --git a/tutorials/incompressible/simpleFoam/turbulentFlatPlate/system/blockMeshDict.template b/tutorials/incompressible/simpleFoam/turbulentFlatPlate/system/blockMeshDict.template new file mode 100644 index 00000000000..de443042acc --- /dev/null +++ b/tutorials/incompressible/simpleFoam/turbulentFlatPlate/system/blockMeshDict.template @@ -0,0 +1,133 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: plus | +| \\ / A nd | Web: www.OpenFOAM.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object blockMeshDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +scale 0.333333333333333; + +vertices +( + (-1 0 0.3) + (0 0 0.3) + (6 0 0.3) + (6 3 0.3) + (0 3 0.3) + (-1 3 0.3) + + (-1 0 0) + (0 0 0) + (6 0 0) + (6 3 0) + (0 3 0) + (-1 3 0) +); + +blocks +( +// //5 patch bottomWall y+ : min = 0.045097146, max = 0.13949865, average = 0.052922426 + hex (6 7 10 11 0 1 4 5) ( 96 385 1) simpleGrading (((1 9 0.15)(0.1 3 0.9)) GRADING 1) + hex (7 8 9 10 1 2 3 4) (449 385 1) simpleGrading (((0.1 22 1.5)(0.35 23 7)(0.515 12 1)) GRADING 1) + +// 3 +// hex (6 7 10 11 0 1 4 5) ( 24 97 1) simpleGrading (((1 9 0.15)(0.1 3 0.9)) GRADING 1) +// hex (7 8 9 10 1 2 3 4) (113 97 1) simpleGrading (((0.1 22 1.5)(0.35 23 7)(0.515 12 1)) GRADING 1) + +//------------------------------------------------------------------- +// +// // 1 min = 0.60914299, max = 1.0197701, average = 0.71020364 +// hex (6 7 10 11 0 1 4 5) (6 25 1) simpleGrading (((1 9 0.15)(0.1 3 0.9)) 50000 1) +// hex (7 8 9 10 1 2 3 4) (29 25 1) simpleGrading (((0.1 22 1.5)(0.35 23 7)(0.515 12 1)) 50000 1) +// +// // 2 +// hex (6 7 10 11 0 1 4 5) (12 49 1) simpleGrading (((1 9 0.15)(0.1 3 0.9)) 50000 1) +// hex (7 8 9 10 1 2 3 4) (57 49 1) simpleGrading (((0.1 22 1.5)(0.35 23 7)(0.515 12 1)) 50000 1) +// +// // 3 patch bottomWall y+ : min = 0.18489745, max = 0.38018561, average = 0.21587743 +// hex (6 7 10 11 0 1 4 5) ( 24 97 1) simpleGrading (((1 9 0.15)(0.1 3 0.9)) 50000 1) +// hex (7 8 9 10 1 2 3 4) (113 97 1) simpleGrading (((0.1 22 1.5)(0.35 23 7)(0.515 12 1)) 50000 1) +// +// // 4 +// hex (6 7 10 11 0 1 4 5) ( 48 193 1) simpleGrading (((1 9 0.15)(0.1 3 0.9)) 50000 1) +// hex (7 8 9 10 1 2 3 4) (225 193 1) simpleGrading (((0.1 22 1.5)(0.35 23 7)(0.515 12 1)) 50000 1) + +// //5 patch bottomWall y+ : min = 0.045097146, max = 0.13949865, average = 0.052922426 +// hex (6 7 10 11 0 1 4 5) ( 96 385 1) simpleGrading (((1 9 0.15)(0.1 3 0.9)) 50000 1) +// hex (7 8 9 10 1 2 3 4) (449 385 1) simpleGrading (((0.1 22 1.5)(0.35 23 7)(0.515 12 1)) 50000 1) +); + +edges +( +); + +boundary +( + inlet + { + type patch; + faces + ( + (6 0 5 11) + ); + } + outlet + { + type patch; + faces + ( + (8 9 3 2) + ); + } + topWall + { + type wall; + faces + ( + (11 5 4 10) + (10 4 3 9) + ); + } + bottomWall + { + type wall; + faces + ( + (7 8 2 1) + ); + } + symmetry + { + type symmetryPlane; + faces + ( + (6 7 1 0) + ); + } + frontAndBack + { + type empty; + faces + ( + (0 1 4 5) + (1 2 3 4) + (6 11 10 7) + (7 10 9 8) + ); + } +); + +mergePatchPairs +( +); + +// ************************************************************************* // diff --git a/tutorials/incompressible/simpleFoam/turbulentFlatPlate/system/controlDict b/tutorials/incompressible/simpleFoam/turbulentFlatPlate/system/controlDict new file mode 100644 index 00000000000..8aa23db77a4 --- /dev/null +++ b/tutorials/incompressible/simpleFoam/turbulentFlatPlate/system/controlDict @@ -0,0 +1,68 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: plus | +| \\ / A nd | Web: www.OpenFOAM.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "system"; + object controlDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +application simpleFoam; + +startFrom startTime; + +startTime 0; + +stopAt endTime; + +endTime 5000; + +deltaT 1; + +writeControl timeStep; + +writeInterval 100; + +purgeWrite 1; + +writeFormat ascii; + +writePrecision 8; + +writeCompression off; + +timeFormat general; + +timePrecision 8; + +runTimeModifiable true; + +functions +{ + minMax + { + type fieldMinMax; + libs ("libfieldFunctionObjects.so"); + writeControl timeStep; //writeTime; + fields (U); + } + yPlus + { + type yPlus; + libs ("libfieldFunctionObjects.so"); + patches (fixedWall); + writeControl writeTime; + } + #includeFunc "writeCellCentres" + #includeFunc "wallShearStress" +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/simpleFoam/turbulentFlatPlate/system/decomposeParDict b/tutorials/incompressible/simpleFoam/turbulentFlatPlate/system/decomposeParDict new file mode 100644 index 00000000000..152544e2724 --- /dev/null +++ b/tutorials/incompressible/simpleFoam/turbulentFlatPlate/system/decomposeParDict @@ -0,0 +1,51 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: plus | +| \\ / A nd | Web: www.OpenFOAM.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ + +FoamFile +{ + version 2.3; + format ascii; + class dictionary; + object decomposeParDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + + +numberOfSubdomains 8 ; +method hierarchical ; +simpleCoeffs +{ + n (8 1 1); + delta 0.001; +} +hierarchicalCoeffs +{ + n (8 1 1); + delta 0.001; + order xyz; +} +scotchCoeffs +{ + processorWeights + ( + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + ); +} +manualCoeffs +{ + dataFile ("" ); +} +distributed no ; +roots (); diff --git a/tutorials/incompressible/simpleFoam/turbulentFlatPlate/system/fvSchemes b/tutorials/incompressible/simpleFoam/turbulentFlatPlate/system/fvSchemes new file mode 100644 index 00000000000..1d97d6c0f85 --- /dev/null +++ b/tutorials/incompressible/simpleFoam/turbulentFlatPlate/system/fvSchemes @@ -0,0 +1,60 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: plus | +| \\ / A nd | Web: www.OpenFOAM.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "system"; + object fvSchemes; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +ddtSchemes +{ + default steadyState; +} + +gradSchemes +{ + default Gauss linear; +} + +divSchemes +{ + default none; + div(phi,U) bounded Gauss linearUpwind grad(U); + div(phi,k) bounded Gauss limitedLinear 1; + div(phi,epsilon) bounded Gauss limitedLinear 1; + div(phi,omega) bounded Gauss limitedLinear 1; + div((nuEff*dev2(T(grad(U))))) Gauss linear; +} + +laplacianSchemes +{ + default Gauss linear uncorrected; + laplacian(DomegaEff,omega) Gauss linear uncorrected; +} + +interpolationSchemes +{ + default linear; +} + +snGradSchemes +{ + default uncorrected; +} + +wallDist +{ + method meshWave; +} + + +// ************************************************************************* // diff --git a/tutorials/incompressible/simpleFoam/turbulentFlatPlate/system/fvSolution b/tutorials/incompressible/simpleFoam/turbulentFlatPlate/system/fvSolution new file mode 100644 index 00000000000..bce8d118470 --- /dev/null +++ b/tutorials/incompressible/simpleFoam/turbulentFlatPlate/system/fvSolution @@ -0,0 +1,84 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: plus | +| \\ / A nd | Web: www.OpenFOAM.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "system"; + object fvSolution; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +solvers +{ + p + { + solver GAMG; + tolerance 1e-10; + relTol 0.1; + smoother DICGaussSeidel; + nPreSweeps 0; + nPostSweeps 2; + cacheAgglomeration on; + agglomerator faceAreaPair; + nCellsInCoarsestLevel 10; + mergeLevels 1; + } + + "(U|k|epsilon|R|nuTilda)" + { + solver smoothSolver; + smoother symGaussSeidel; + tolerance 1e-10; + relTol 0.1; + } + omega + { + solver PBiCGStab; + preconditioner DILU; + tolerance 1e-10; + relTol 0.1; + } +} + +SIMPLE +{ + nNonOrthogonalCorrectors 0; + +/* + residualControl + { + p 1e-6; + U 1e-6; + "(k|epsilon|omega)" 1e-6; + } +*/ + + consistent yes; +} + +relaxationFactors +{ + equations + { + U 0.9; + k 0.8; + epsilon 0.7; + nuTilda 0.8; + omega 0.8; + } +} + + +cache +{ + grad(U); +} + +// ************************************************************************* // -- GitLab