From 1fea5461c93294a10d108d10bc4dff01aaf30b37 Mon Sep 17 00:00:00 2001 From: MarkoRamius Date: Tue, 16 Jan 2018 10:33:16 +1100 Subject: [PATCH] Demo case for using rStatAnalysis as post-processing tool. This case is a simple bubble column, which is run by reactingTwoPhaseEulerFoam. Upon completion, rStatAnalysis can be run to compute the recurrence statistics of the bubble column. This demo case must be run in parallel, as rStatAnalysis apparently does not run as a single, serial process. --- .../oscillatingBubbleColumn/.gitignore | 22 ++ .../oscillatingBubbleColumn/0.org/T.air | 43 +++ .../oscillatingBubbleColumn/0.org/T.water | 43 +++ .../oscillatingBubbleColumn/0.org/U.air | 41 +++ .../oscillatingBubbleColumn/0.org/U.water | 41 +++ .../oscillatingBubbleColumn/0.org/alpha.air | 43 +++ .../oscillatingBubbleColumn/0.org/alphat.air | 48 ++++ .../0.org/alphat.water | 48 ++++ .../oscillatingBubbleColumn/0.org/epsilon.air | 44 +++ .../0.org/epsilon.water | 44 +++ .../oscillatingBubbleColumn/0.org/k.air | 44 +++ .../oscillatingBubbleColumn/0.org/k.water | 44 +++ .../oscillatingBubbleColumn/0.org/nut.air | 42 +++ .../oscillatingBubbleColumn/0.org/nut.water | 42 +++ .../oscillatingBubbleColumn/0.org/p | 44 +++ .../oscillatingBubbleColumn/0.org/p_rgh | 41 +++ .../oscillatingBubbleColumn/Allclean | 15 ++ .../oscillatingBubbleColumn/Allrun | 28 ++ .../oscillatingBubbleColumn/ReadMe.md | 20 ++ .../oscillatingBubbleColumn/constant/g | 22 ++ .../constant/phaseProperties | 163 +++++++++++ .../constant/recProperties | 80 ++++++ .../constant/thermophysicalProperties.air | 49 ++++ .../constant/thermophysicalProperties.water | 54 ++++ .../constant/turbulenceProperties.air | 21 ++ .../constant/turbulenceProperties.water | 33 +++ .../oscillatingBubbleColumn/recMat/clean.sh | 7 + .../recMat/getRecMat.m | 75 ++++++ .../recMat/makePlot.tex | 7 + .../oscillatingBubbleColumn/recMat/plot.sh | 4 + .../recMat/plotDistMat.gnu | 47 ++++ .../system/blockMeshDict | 252 ++++++++++++++++++ .../system/controlDict | 59 ++++ .../system/decomposeParDict | 28 ++ .../oscillatingBubbleColumn/system/fvSchemes | 75 ++++++ .../oscillatingBubbleColumn/system/fvSolution | 91 +++++++ 36 files changed, 1804 insertions(+) create mode 100644 tutorials/rStatAnalysis/oscillatingBubbleColumn/.gitignore create mode 100644 tutorials/rStatAnalysis/oscillatingBubbleColumn/0.org/T.air create mode 100644 tutorials/rStatAnalysis/oscillatingBubbleColumn/0.org/T.water create mode 100644 tutorials/rStatAnalysis/oscillatingBubbleColumn/0.org/U.air create mode 100644 tutorials/rStatAnalysis/oscillatingBubbleColumn/0.org/U.water create mode 100644 tutorials/rStatAnalysis/oscillatingBubbleColumn/0.org/alpha.air create mode 100644 tutorials/rStatAnalysis/oscillatingBubbleColumn/0.org/alphat.air create mode 100644 tutorials/rStatAnalysis/oscillatingBubbleColumn/0.org/alphat.water create mode 100644 tutorials/rStatAnalysis/oscillatingBubbleColumn/0.org/epsilon.air create mode 100644 tutorials/rStatAnalysis/oscillatingBubbleColumn/0.org/epsilon.water create mode 100644 tutorials/rStatAnalysis/oscillatingBubbleColumn/0.org/k.air create mode 100644 tutorials/rStatAnalysis/oscillatingBubbleColumn/0.org/k.water create mode 100644 tutorials/rStatAnalysis/oscillatingBubbleColumn/0.org/nut.air create mode 100644 tutorials/rStatAnalysis/oscillatingBubbleColumn/0.org/nut.water create mode 100644 tutorials/rStatAnalysis/oscillatingBubbleColumn/0.org/p create mode 100644 tutorials/rStatAnalysis/oscillatingBubbleColumn/0.org/p_rgh create mode 100755 tutorials/rStatAnalysis/oscillatingBubbleColumn/Allclean create mode 100755 tutorials/rStatAnalysis/oscillatingBubbleColumn/Allrun create mode 100644 tutorials/rStatAnalysis/oscillatingBubbleColumn/ReadMe.md create mode 100644 tutorials/rStatAnalysis/oscillatingBubbleColumn/constant/g create mode 100644 tutorials/rStatAnalysis/oscillatingBubbleColumn/constant/phaseProperties create mode 100644 tutorials/rStatAnalysis/oscillatingBubbleColumn/constant/recProperties create mode 100644 tutorials/rStatAnalysis/oscillatingBubbleColumn/constant/thermophysicalProperties.air create mode 100644 tutorials/rStatAnalysis/oscillatingBubbleColumn/constant/thermophysicalProperties.water create mode 100644 tutorials/rStatAnalysis/oscillatingBubbleColumn/constant/turbulenceProperties.air create mode 100644 tutorials/rStatAnalysis/oscillatingBubbleColumn/constant/turbulenceProperties.water create mode 100755 tutorials/rStatAnalysis/oscillatingBubbleColumn/recMat/clean.sh create mode 100644 tutorials/rStatAnalysis/oscillatingBubbleColumn/recMat/getRecMat.m create mode 100644 tutorials/rStatAnalysis/oscillatingBubbleColumn/recMat/makePlot.tex create mode 100755 tutorials/rStatAnalysis/oscillatingBubbleColumn/recMat/plot.sh create mode 100644 tutorials/rStatAnalysis/oscillatingBubbleColumn/recMat/plotDistMat.gnu create mode 100644 tutorials/rStatAnalysis/oscillatingBubbleColumn/system/blockMeshDict create mode 100644 tutorials/rStatAnalysis/oscillatingBubbleColumn/system/controlDict create mode 100644 tutorials/rStatAnalysis/oscillatingBubbleColumn/system/decomposeParDict create mode 100644 tutorials/rStatAnalysis/oscillatingBubbleColumn/system/fvSchemes create mode 100644 tutorials/rStatAnalysis/oscillatingBubbleColumn/system/fvSolution diff --git a/tutorials/rStatAnalysis/oscillatingBubbleColumn/.gitignore b/tutorials/rStatAnalysis/oscillatingBubbleColumn/.gitignore new file mode 100644 index 00000000..e50857cf --- /dev/null +++ b/tutorials/rStatAnalysis/oscillatingBubbleColumn/.gitignore @@ -0,0 +1,22 @@ +# ignore log files +log.* +*.log + +# ignore mesh +polyMesh/ + +# ignore time steps +[0-9] +[1-9]* +[0-9].[0-9]* + +# ignore latex-related files +*.aux +*.pdf +myDistMatrix.tex + +# ignore recurrence data +recurrenceMatrix +recurrencePath +rec_jump.dat +myMatrix.txt diff --git a/tutorials/rStatAnalysis/oscillatingBubbleColumn/0.org/T.air b/tutorials/rStatAnalysis/oscillatingBubbleColumn/0.org/T.air new file mode 100644 index 00000000..ff8583ee --- /dev/null +++ b/tutorials/rStatAnalysis/oscillatingBubbleColumn/0.org/T.air @@ -0,0 +1,43 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 2.3.x | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format binary; + class volScalarField; + location "0"; + object T.air; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 0 0 1 0 0 0]; + +internalField uniform 300; + +boundaryField +{ + inlet + { + type fixedValue; + value uniform 300; + } + outlet + { + type inletOutlet; + phi phi.air; + inletValue uniform 300; + value uniform 300; + } + walls + { + type zeroGradient; + } +} + + +// ************************************************************************* // diff --git a/tutorials/rStatAnalysis/oscillatingBubbleColumn/0.org/T.water b/tutorials/rStatAnalysis/oscillatingBubbleColumn/0.org/T.water new file mode 100644 index 00000000..76c0b405 --- /dev/null +++ b/tutorials/rStatAnalysis/oscillatingBubbleColumn/0.org/T.water @@ -0,0 +1,43 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 2.3.x | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format binary; + class volScalarField; + location "0"; + object T.water; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 0 0 1 0 0 0]; + +internalField uniform 300; + +boundaryField +{ + inlet + { + type fixedValue; + value uniform 300; + } + outlet + { + type inletOutlet; + phi phi.water; + inletValue uniform 300; + value uniform 300; + } + walls + { + type zeroGradient; + } +} + + +// ************************************************************************* // diff --git a/tutorials/rStatAnalysis/oscillatingBubbleColumn/0.org/U.air b/tutorials/rStatAnalysis/oscillatingBubbleColumn/0.org/U.air new file mode 100644 index 00000000..b4066702 --- /dev/null +++ b/tutorials/rStatAnalysis/oscillatingBubbleColumn/0.org/U.air @@ -0,0 +1,41 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 2.3.x | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format binary; + class volVectorField; + location "0"; + object U.air; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 1 -1 0 0 0 0]; + +internalField uniform (0 0 0); + +boundaryField +{ + inlet + { + type fixedValue; + value uniform (0 0 0.25744); + } + outlet + { + type zeroGradient; + } + walls + { + type fixedValue; + value uniform (0 0 0); + } +} + + +// ************************************************************************* // diff --git a/tutorials/rStatAnalysis/oscillatingBubbleColumn/0.org/U.water b/tutorials/rStatAnalysis/oscillatingBubbleColumn/0.org/U.water new file mode 100644 index 00000000..a61d21fc --- /dev/null +++ b/tutorials/rStatAnalysis/oscillatingBubbleColumn/0.org/U.water @@ -0,0 +1,41 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 2.3.x | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format binary; + class volVectorField; + location "0"; + object U.water; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 1 -1 0 0 0 0]; + +internalField uniform (0 0 0); + +boundaryField +{ + inlet + { + type fixedValue; + value uniform (0 0 0); + } + outlet + { + type slip; + } + walls + { + type fixedValue; + value uniform (0 0 0); + } +} + + +// ************************************************************************* // diff --git a/tutorials/rStatAnalysis/oscillatingBubbleColumn/0.org/alpha.air b/tutorials/rStatAnalysis/oscillatingBubbleColumn/0.org/alpha.air new file mode 100644 index 00000000..16506ec5 --- /dev/null +++ b/tutorials/rStatAnalysis/oscillatingBubbleColumn/0.org/alpha.air @@ -0,0 +1,43 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 2.3.x | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format binary; + class volScalarField; + location "0"; + object alpha.air; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 0 0 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + inlet + { + type fixedValue; + value uniform 0.6; + } + outlet + { + type inletOutlet; + phi phi.air; + inletValue uniform 0; + value uniform 0; + } + walls + { + type zeroGradient; + } +} + + +// ************************************************************************* // diff --git a/tutorials/rStatAnalysis/oscillatingBubbleColumn/0.org/alphat.air b/tutorials/rStatAnalysis/oscillatingBubbleColumn/0.org/alphat.air new file mode 100644 index 00000000..0f46e985 --- /dev/null +++ b/tutorials/rStatAnalysis/oscillatingBubbleColumn/0.org/alphat.air @@ -0,0 +1,48 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 4.0 | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object alphat.air; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [1 -1 -1 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + inlet + { + type calculated; + value $internalField; + } + + outlet + { + type calculated; + value $internalField; + } + + walls + { + type compressible::alphatWallFunction; + Prt 0.85; + value $internalField; + } + + defaultFaces + { + type empty; + } +} + +// ************************************************************************* // diff --git a/tutorials/rStatAnalysis/oscillatingBubbleColumn/0.org/alphat.water b/tutorials/rStatAnalysis/oscillatingBubbleColumn/0.org/alphat.water new file mode 100644 index 00000000..8546cf7e --- /dev/null +++ b/tutorials/rStatAnalysis/oscillatingBubbleColumn/0.org/alphat.water @@ -0,0 +1,48 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 4.0 | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object alphat.water; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [1 -1 -1 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + inlet + { + type calculated; + value $internalField; + } + + outlet + { + type calculated; + value $internalField; + } + + walls + { + type compressible::alphatWallFunction; + Prt 0.85; + value $internalField; + } + + defaultFaces + { + type empty; + } +} + +// ************************************************************************* // diff --git a/tutorials/rStatAnalysis/oscillatingBubbleColumn/0.org/epsilon.air b/tutorials/rStatAnalysis/oscillatingBubbleColumn/0.org/epsilon.air new file mode 100644 index 00000000..1bdf7b47 --- /dev/null +++ b/tutorials/rStatAnalysis/oscillatingBubbleColumn/0.org/epsilon.air @@ -0,0 +1,44 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 2.3.x | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format binary; + class volScalarField; + location "0"; + object epsilon.air; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -3 0 0 0 0]; + +internalField uniform 0.000248; + +boundaryField +{ + inlet + { + type fixedValue; + value uniform 0.000248; + } + outlet + { + type inletOutlet; + phi phi.air; + inletValue uniform 0.000248; + value uniform 0.000248; + } + walls + { + type epsilonWallFunction; + value uniform 0.000248; + } +} + + +// ************************************************************************* // diff --git a/tutorials/rStatAnalysis/oscillatingBubbleColumn/0.org/epsilon.water b/tutorials/rStatAnalysis/oscillatingBubbleColumn/0.org/epsilon.water new file mode 100644 index 00000000..2417f2ea --- /dev/null +++ b/tutorials/rStatAnalysis/oscillatingBubbleColumn/0.org/epsilon.water @@ -0,0 +1,44 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 2.3.x | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format binary; + class volScalarField; + location "0"; + object epsilon.water; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -3 0 0 0 0]; + +internalField uniform 0.000248; + +boundaryField +{ + inlet + { + type fixedValue; + value uniform 0.000248; + } + outlet + { + type inletOutlet; + phi phi.water; + inletValue uniform 0.000248; + value uniform 0.000248; + } + walls + { + type epsilonWallFunction; + value uniform 0.000248; + } +} + + +// ************************************************************************* // diff --git a/tutorials/rStatAnalysis/oscillatingBubbleColumn/0.org/k.air b/tutorials/rStatAnalysis/oscillatingBubbleColumn/0.org/k.air new file mode 100644 index 00000000..6b7317ee --- /dev/null +++ b/tutorials/rStatAnalysis/oscillatingBubbleColumn/0.org/k.air @@ -0,0 +1,44 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 2.3.x | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format binary; + class volScalarField; + location "0"; + object k.air; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -2 0 0 0 0]; + +internalField uniform 0.000216; + +boundaryField +{ + inlet + { + type fixedValue; + value uniform 0.000216; + } + outlet + { + type inletOutlet; + phi phi.air; + inletValue uniform 0.000216; + value uniform 0.000216; + } + walls + { + type kqRWallFunction; + value uniform 0.000216; + } +} + + +// ************************************************************************* // diff --git a/tutorials/rStatAnalysis/oscillatingBubbleColumn/0.org/k.water b/tutorials/rStatAnalysis/oscillatingBubbleColumn/0.org/k.water new file mode 100644 index 00000000..e6464b09 --- /dev/null +++ b/tutorials/rStatAnalysis/oscillatingBubbleColumn/0.org/k.water @@ -0,0 +1,44 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 2.3.x | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format binary; + class volScalarField; + location "0"; + object k.water; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -2 0 0 0 0]; + +internalField uniform 0.000216; + +boundaryField +{ + inlet + { + type fixedValue; + value uniform 0.000216; + } + outlet + { + type inletOutlet; + phi phi.water; + inletValue uniform 0.000216; + value uniform 0.000216; + } + walls + { + type kqRWallFunction; + value uniform 0.000216; + } +} + + +// ************************************************************************* // diff --git a/tutorials/rStatAnalysis/oscillatingBubbleColumn/0.org/nut.air b/tutorials/rStatAnalysis/oscillatingBubbleColumn/0.org/nut.air new file mode 100644 index 00000000..c05a8f8a --- /dev/null +++ b/tutorials/rStatAnalysis/oscillatingBubbleColumn/0.org/nut.air @@ -0,0 +1,42 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 2.3.x | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format binary; + class volScalarField; + location "0"; + object nut.air; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -1 0 0 0 0]; + +internalField uniform 1e-08; + +boundaryField +{ + inlet + { + type calculated; + value uniform 1e-08; + } + outlet + { + type calculated; + value uniform 1e-08; + } + walls + { + type nutkWallFunction; + value uniform 1e-08; + } +} + + +// ************************************************************************* // diff --git a/tutorials/rStatAnalysis/oscillatingBubbleColumn/0.org/nut.water b/tutorials/rStatAnalysis/oscillatingBubbleColumn/0.org/nut.water new file mode 100644 index 00000000..5236e3aa --- /dev/null +++ b/tutorials/rStatAnalysis/oscillatingBubbleColumn/0.org/nut.water @@ -0,0 +1,42 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 2.3.x | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format binary; + class volScalarField; + location "0"; + object nut.water; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -1 0 0 0 0]; + +internalField uniform 1e-08; + +boundaryField +{ + inlet + { + type calculated; + value uniform 1e-08; + } + outlet + { + type calculated; + value uniform 1e-08; + } + walls + { + type nutkWallFunction; + value uniform 1e-08; + } +} + + +// ************************************************************************* // diff --git a/tutorials/rStatAnalysis/oscillatingBubbleColumn/0.org/p b/tutorials/rStatAnalysis/oscillatingBubbleColumn/0.org/p new file mode 100644 index 00000000..95052ed8 --- /dev/null +++ b/tutorials/rStatAnalysis/oscillatingBubbleColumn/0.org/p @@ -0,0 +1,44 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 2.3.x | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format binary; + class volScalarField; + location "0"; + object p; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [1 -1 -2 0 0 0 0]; + +internalField uniform 100000; + +boundaryField +{ + inlet + { + type fixedFluxPressure; + gradient uniform 0; + value uniform 100000; + } + outlet + { + type fixedValue; + value uniform 100000; + } + walls + { + type fixedFluxPressure; + gradient uniform 0; + value uniform 100000; + } +} + + +// ************************************************************************* // diff --git a/tutorials/rStatAnalysis/oscillatingBubbleColumn/0.org/p_rgh b/tutorials/rStatAnalysis/oscillatingBubbleColumn/0.org/p_rgh new file mode 100644 index 00000000..4a774142 --- /dev/null +++ b/tutorials/rStatAnalysis/oscillatingBubbleColumn/0.org/p_rgh @@ -0,0 +1,41 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 4.0 | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object p_rgh; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [1 -1 -2 0 0 0 0]; + +internalField uniform 1e5; + +boundaryField +{ + inlet + { + type fixedFluxPressure; + value $internalField; + } + outlet + { + type prghPressure; + p $internalField; + value $internalField; + } + walls + { + type fixedFluxPressure; + value $internalField; + } +} + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/tutorials/rStatAnalysis/oscillatingBubbleColumn/Allclean b/tutorials/rStatAnalysis/oscillatingBubbleColumn/Allclean new file mode 100755 index 00000000..c51df48f --- /dev/null +++ b/tutorials/rStatAnalysis/oscillatingBubbleColumn/Allclean @@ -0,0 +1,15 @@ +#!/bin/sh +cd ${0%/*} || exit 1 # Run from this directory + +# Source tutorial clean functions +. $WM_PROJECT_DIR/bin/tools/CleanFunctions + +cleanCase + +rm -rf 0 + +cd recMat + +./clean.sh + +#------------------------------------------------------------------------------ diff --git a/tutorials/rStatAnalysis/oscillatingBubbleColumn/Allrun b/tutorials/rStatAnalysis/oscillatingBubbleColumn/Allrun new file mode 100755 index 00000000..cceb2bc2 --- /dev/null +++ b/tutorials/rStatAnalysis/oscillatingBubbleColumn/Allrun @@ -0,0 +1,28 @@ +#!/bin/sh +cd ${0%/*} || exit 1 # Run from this directory + +# Source tutorial run functions +. $WM_PROJECT_DIR/bin/tools/RunFunctions + +# Set application name +application=`getApplication` + + +rm -rf 0 +cp -r 0.org 0 + +runApplication blockMesh + +runApplication renumberMesh -overwrite + +runApplication decomposePar + +runParallel $application + +runParallel rStatAnalysis + +cd recMat + +./plot.sh + +#------------------------------------------------------------------------------ diff --git a/tutorials/rStatAnalysis/oscillatingBubbleColumn/ReadMe.md b/tutorials/rStatAnalysis/oscillatingBubbleColumn/ReadMe.md new file mode 100644 index 00000000..b5e804ab --- /dev/null +++ b/tutorials/rStatAnalysis/oscillatingBubbleColumn/ReadMe.md @@ -0,0 +1,20 @@ +# oscillatingBubbleColumn + +## Case description + +This case demonstrates the use of the utility `rStatAnalysis` to create the recurrence +statistics and create a plot of the recurrence matrix. The underlying simulation case +is a plain, quasi 2D bubble column, which is computed by `reactingTwoPhaseEulerFoam`. + +After the two-fluid solver has finished, `rStatAnalysis` is run to create the +recurrence statistics. A slight modification to the class `standardRecModel`, now +allows to specify an alternative path to the recurrence data base, which defaults +to a sub-directory of the case-directory named *dataBase*. In this case, however, +we specify the case-directory to act as the data base, as be use `rStatAnalysis` +purely as a post-processing tool for the current case. + +## Tested + +This case has been tested with: + +* OpenFOAM-4.1 diff --git a/tutorials/rStatAnalysis/oscillatingBubbleColumn/constant/g b/tutorials/rStatAnalysis/oscillatingBubbleColumn/constant/g new file mode 100644 index 00000000..0081c358 --- /dev/null +++ b/tutorials/rStatAnalysis/oscillatingBubbleColumn/constant/g @@ -0,0 +1,22 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 2.3.x | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class uniformDimensionedVectorField; + location "constant"; + object g; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 1 -2 0 0 0 0]; +value (0 0 -9.81); + + +// ************************************************************************* // diff --git a/tutorials/rStatAnalysis/oscillatingBubbleColumn/constant/phaseProperties b/tutorials/rStatAnalysis/oscillatingBubbleColumn/constant/phaseProperties new file mode 100644 index 00000000..83349424 --- /dev/null +++ b/tutorials/rStatAnalysis/oscillatingBubbleColumn/constant/phaseProperties @@ -0,0 +1,163 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 4.0 | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "constant"; + object phaseProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +type heatAndMomentumTransferTwoPhaseSystem; + +phases (air water); + +air +{ + type purePhaseModel; + diameterModel isothermal; + isothermalCoeffs + { + d0 3e-3; + p0 1e5; + } + + residualAlpha 1e-6; +} + +water +{ + type purePhaseModel; + diameterModel constant; + constantCoeffs + { + d 1e-4; + } + + residualAlpha 1e-6; +} + +blending +{ + default + { + type linear; + minFullyContinuousAlpha.air 0.7; + minPartlyContinuousAlpha.air 0.5; + minFullyContinuousAlpha.water 0.7; + minPartlyContinuousAlpha.water 0.5; + } +} + +surfaceTension +( + (air and water) + { + type constant; + sigma 0.07; + } +); + +aspectRatio +( + (air in water) + { + type constant; + E0 1.0; + } + + (water in air) + { + type constant; + E0 1.0; + } +); + +drag +( + (air in water) + { + type SchillerNaumann; + residualRe 1e-3; + swarmCorrection + { + type none; + } + } + + (water in air) + { + type SchillerNaumann; + residualRe 1e-3; + swarmCorrection + { + type none; + } + } + + (air and water) + { + type segregated; + m 0.5; + n 8; + swarmCorrection + { + type none; + } + } +); + +virtualMass +( + (air in water) + { + type constantCoefficient; + Cvm 0.5; + } + + (water in air) + { + type constantCoefficient; + Cvm 0.5; + } +); + +heatTransfer +( + (air in water) + { + type RanzMarshall; + residualAlpha 1e-4; + } + + (water in air) + { + type RanzMarshall; + residualAlpha 1e-4; + } +); + +lift +( +); + +wallLubrication +( +); + +turbulentDispersion +( +); + +// Minimum allowable pressure +pMin 10000; + + +// ************************************************************************* // diff --git a/tutorials/rStatAnalysis/oscillatingBubbleColumn/constant/recProperties b/tutorials/rStatAnalysis/oscillatingBubbleColumn/constant/recProperties new file mode 100644 index 00000000..b66a3080 --- /dev/null +++ b/tutorials/rStatAnalysis/oscillatingBubbleColumn/constant/recProperties @@ -0,0 +1,80 @@ +/*---------------------------------------------------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.4 | +| \\ / A nd | Web: http://www.openfoam.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ + + +FoamFile +{ + version 2.0; + format ascii; + + root ""; + case ""; + instance ""; + local ""; + + class dictionary; + object recProperties; +} + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +//===========================================================================// +// sub-models & settings + + +recModel standardRecModel; + +//verbose true; + +recNorm sqrDiffNorm; + +recPath simpleRandomPath; + +//recStatAnalysis off;//standardRecStatAnalysis; + +volScalarFields +( + alpha.air +); + +volVectorFields +( + U.water +); + +surfaceScalarFields +( +); + + + + +//===========================================================================// +// sub-model properties + +standardRecModelProps +{ + dataBase "."; +} + +sqrDiffNormProps +{ + normConstant -1.0; + fieldType "volScalarField"; + fieldName "alpha.air"; +} + +simpleRandomPathProps +{ +} + +noRecStatAnalysis +{ +} + +// ************************************************************************* // diff --git a/tutorials/rStatAnalysis/oscillatingBubbleColumn/constant/thermophysicalProperties.air b/tutorials/rStatAnalysis/oscillatingBubbleColumn/constant/thermophysicalProperties.air new file mode 100644 index 00000000..43c5a218 --- /dev/null +++ b/tutorials/rStatAnalysis/oscillatingBubbleColumn/constant/thermophysicalProperties.air @@ -0,0 +1,49 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 2.3.x | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "constant"; + object thermophysicalProperties.air; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +thermoType +{ + type heRhoThermo; + mixture pureMixture; + transport const; + thermo hConst; + equationOfState perfectGas; + specie specie; + energy sensibleInternalEnergy; +} + +mixture +{ + specie + { + nMoles 1; + molWeight 28.9; + } + thermodynamics + { + Cp 1007; + Hf 0; + } + transport + { + mu 1.84e-05; + Pr 0.7; + } +} + + +// ************************************************************************* // diff --git a/tutorials/rStatAnalysis/oscillatingBubbleColumn/constant/thermophysicalProperties.water b/tutorials/rStatAnalysis/oscillatingBubbleColumn/constant/thermophysicalProperties.water new file mode 100644 index 00000000..b78aaa28 --- /dev/null +++ b/tutorials/rStatAnalysis/oscillatingBubbleColumn/constant/thermophysicalProperties.water @@ -0,0 +1,54 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 2.3.x | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "constant"; + object thermophysicalProperties.water; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +thermoType +{ + type heRhoThermo; + mixture pureMixture; + transport const; + thermo hConst; + equationOfState perfectFluid; + specie specie; + energy sensibleInternalEnergy; +} + +mixture +{ + specie + { + nMoles 1; + molWeight 18; + } + equationOfState + { + R 3000; + rho0 1027; + } + thermodynamics + { + Cp 4195; + Hf 0; + } + transport + { + mu 3.645e-4; + Pr 2.289; + } +} + + +// ************************************************************************* // diff --git a/tutorials/rStatAnalysis/oscillatingBubbleColumn/constant/turbulenceProperties.air b/tutorials/rStatAnalysis/oscillatingBubbleColumn/constant/turbulenceProperties.air new file mode 100644 index 00000000..7ed574c0 --- /dev/null +++ b/tutorials/rStatAnalysis/oscillatingBubbleColumn/constant/turbulenceProperties.air @@ -0,0 +1,21 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 2.3.x | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "constant"; + object turbulenceProperties.air; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +simulationType laminar; + + +// ************************************************************************* // diff --git a/tutorials/rStatAnalysis/oscillatingBubbleColumn/constant/turbulenceProperties.water b/tutorials/rStatAnalysis/oscillatingBubbleColumn/constant/turbulenceProperties.water new file mode 100644 index 00000000..9c367bfc --- /dev/null +++ b/tutorials/rStatAnalysis/oscillatingBubbleColumn/constant/turbulenceProperties.water @@ -0,0 +1,33 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 2.3.x | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "constant"; + object turbulenceProperties.water; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +simulationType LES; + +LES +{ + LESModel Smagorinsky; + + turbulence on; + printCoeffs on; + + delta cubeRootVol; + cubeRootVolCoeffs + { + } +} + +// ************************************************************************* // diff --git a/tutorials/rStatAnalysis/oscillatingBubbleColumn/recMat/clean.sh b/tutorials/rStatAnalysis/oscillatingBubbleColumn/recMat/clean.sh new file mode 100755 index 00000000..329ae153 --- /dev/null +++ b/tutorials/rStatAnalysis/oscillatingBubbleColumn/recMat/clean.sh @@ -0,0 +1,7 @@ +#!/bin/bash + +rm -f *.log +rm -f *.aux +rm -f *.txt +rm -f *.pdf +rm -f myDistMatrix.tex diff --git a/tutorials/rStatAnalysis/oscillatingBubbleColumn/recMat/getRecMat.m b/tutorials/rStatAnalysis/oscillatingBubbleColumn/recMat/getRecMat.m new file mode 100644 index 00000000..4aaafb69 --- /dev/null +++ b/tutorials/rStatAnalysis/oscillatingBubbleColumn/recMat/getRecMat.m @@ -0,0 +1,75 @@ +% open files +fid1 = fopen('../recurrenceMatrix'); + +% read dimensions +A1 = fscanf(fid1, '%g %g'); + +% skip the first two lines +tline = fgetl(fid1); +tline = fgetl(fid1); + +% get dimensions +N1 = A1(1) +M1 = A1(2) + +% allocate space +B0 = zeros(M1,N1); + +% read data +for i=1:N1 + B0(:,i) = fscanf(fid1, '%g', inf); + tline = fgetl(fid1); + tline = fgetl(fid1); +end + +% close files +fclose(fid1); + + +% skip this many leading entries +sle = 0; + +B1 = zeros(M1-sle,N1-sle); + +B1 = B0(1+sle:M1,1+sle:N1); + +maxval=0.0; +%for i=1:M1 +% for j=1:N1 +% if(B1(i,j)>maxval) +% maxval=B1(i,j); +% endif +% end +%end + +maxval = 1.0; +for i=1:M1-sle + for j=1:N1-sle + B1(i,j)=1-B1(i,j)/maxval; + % B1(i,j)=B1(i,j)/maxval; + end +end + + + +% write full matrix to simple text file +dlmwrite('myMatrix.txt',B1,'delimiter','\t','precision',3) + + + +%plot(C1) +%saveas(gcf,'Plot','png') + +%B1=B1*1; + + +%hold on + + +%colormap(jet(50)) +%imagesc(B1) +%colorbar + +%saveas(gcf,'Figure','png') + + diff --git a/tutorials/rStatAnalysis/oscillatingBubbleColumn/recMat/makePlot.tex b/tutorials/rStatAnalysis/oscillatingBubbleColumn/recMat/makePlot.tex new file mode 100644 index 00000000..d84ba48f --- /dev/null +++ b/tutorials/rStatAnalysis/oscillatingBubbleColumn/recMat/makePlot.tex @@ -0,0 +1,7 @@ +\documentclass[preview]{standalone} +\usepackage{graphicx} +\begin{document} +\begin{figure} + \input{myDistMatrix} +\end{figure} +\end{document} diff --git a/tutorials/rStatAnalysis/oscillatingBubbleColumn/recMat/plot.sh b/tutorials/rStatAnalysis/oscillatingBubbleColumn/recMat/plot.sh new file mode 100755 index 00000000..9d709524 --- /dev/null +++ b/tutorials/rStatAnalysis/oscillatingBubbleColumn/recMat/plot.sh @@ -0,0 +1,4 @@ +octave getRecMat.m +gnuplot plotDistMat.gnu +pdflatex makePlot.tex +pdfcrop makePlot.pdf distMatrix.pdf diff --git a/tutorials/rStatAnalysis/oscillatingBubbleColumn/recMat/plotDistMat.gnu b/tutorials/rStatAnalysis/oscillatingBubbleColumn/recMat/plotDistMat.gnu new file mode 100644 index 00000000..84ea52ed --- /dev/null +++ b/tutorials/rStatAnalysis/oscillatingBubbleColumn/recMat/plotDistMat.gnu @@ -0,0 +1,47 @@ +reset +clear + +set terminal cairolatex pdf dash dl 1 + +set pm3d map +set contour surface +set cntrparam levels discr 10 +set samples 50 +set isosamples 50 + +set palette maxcolors 8 +set palette defined(\ +0 0.2314 0.2980 0.7529,\ +0.125000 0.384300 0.509800 0.917600,\ +0.250000 0.552900 0.690200 0.996100,\ +0.375000 0.721600 0.815700 0.976500,\ +0.500000 0.866700 0.866700 0.866700,\ +0.625000 0.960800 0.768600 0.678400,\ +0.750000 0.956900 0.603900 0.482400,\ +0.875000 0.870600 0.376500 0.302000,\ +1 0.7059 0.0157 0.1490\ +) + +set cbtics 0.6 +set mcbtics 8 +#set cblabel 'distance' +#unset cbtics +set cbrange [0:0.6] +set format cb "%.1f" + +#set xrange[0:3] +#set yrange[0:3] + +set xlabel 't [s]' +set ylabel 't [s]' + +#set xtics 2 +#set ytics 2 +#set mxtics 2 +#set mytics 2 + +set size square + + +set out 'myDistMatrix.tex' +splot 'myMatrix.txt' matrix using ($1):($2):(1-$3) with image notitle diff --git a/tutorials/rStatAnalysis/oscillatingBubbleColumn/system/blockMeshDict b/tutorials/rStatAnalysis/oscillatingBubbleColumn/system/blockMeshDict new file mode 100644 index 00000000..b76e1b62 --- /dev/null +++ b/tutorials/rStatAnalysis/oscillatingBubbleColumn/system/blockMeshDict @@ -0,0 +1,252 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 2.1.x | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object blockMeshDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +convertToMeters 1; + +// # this blockMeshDict was generated by m4 + +// # vertex coordinates were generated using pre-defined symbols +vertices +( + // first row - 17 + (0 0 0) // 0 + (0.085 0 0) // 1 + (0.115 0 0) // 2 + (0.20 0 0) // 3 + + (0 0.02 0) // 4 + (0.085 0.02 0) // 5 + (0.115 0.02 0) // 6 + (0.20 0.02 0) // 7 + + (0 0.03 0) // 8 + (0.085 0.03 0) // 9 + (0.115 0.03 0) // 10 + (0.20 0.03 0) // 11 + + (0 0.05 0) // 12 + (0.085 0.05 0) // 13 + (0.115 0.05 0) // 14 + (0.20 0.05 0) // 15 + + // second row + (0 0 0.10) // 16 + (0.085 0 0.10) // 17 + (0.115 0 0.10) // 18 + (0.20 0 0.10) // 19 + + (0 0.02 0.10) // 20 + (0.085 0.02 0.10) // 21 + (0.115 0.02 0.10) // 22 + (0.20 0.02 0.10) // 23 + + (0 0.03 0.10) // 24 + (0.085 0.03 0.10) // 25 + (0.115 0.03 0.10) // 26 + (0.20 0.03 0.10) // 27 + + (0 0.05 0.10) // 28 + (0.085 0.05 0.10) // 29 + (0.115 0.05 0.10) // 30 + (0.20 0.05 0.10) // 31 + + // third row + (0 0 0.30) // 32 + (0.085 0 0.30) // 33 + (0.115 0 0.30) // 34 + (0.20 0 0.30) // 35 + + (0 0.02 0.30) // 36 + (0.085 0.02 0.30) // 37 + (0.115 0.02 0.30) // 38 + (0.20 0.02 0.30) // 39 + + (0 0.03 0.30) // 40 + (0.085 0.03 0.30) // 41 + (0.115 0.03 0.30) // 42 + (0.20 0.03 0.30) // 43 + + (0 0.05 0.30) // 44 + (0.085 0.05 0.30) // 45 + (0.115 0.05 0.30) // 46 + (0.20 0.05 0.30) // 47 + + // forth row + (0 0 0.45) // 48 + (0.085 0 0.45) // 49 + (0.115 0 0.45) // 50 + (0.20 0 0.45) // 51 + + (0 0.02 0.45) // 52 + (0.085 0.02 0.45) // 53 + (0.115 0.02 0.45) // 54 + (0.20 0.02 0.45) // 55 + + (0 0.03 0.45) // 56 + (0.085 0.03 0.45) // 57 + (0.115 0.03 0.45) // 58 + (0.20 0.03 0.45) // 59 + + (0 0.05 0.45) // 60 + (0.085 0.05 0.45) // 61 + (0.115 0.05 0.45) // 62 + (0.20 0.05 0.45) // 63 + +); + +// # mesh size was calculated +blocks +( + // first row + hex (0 1 5 4 16 17 21 20) (17 4 20) simpleGrading (1 1 1) // 1 + hex (1 2 6 5 17 18 22 21) (6 4 20) simpleGrading (1 1 1) // 2 + hex (2 3 7 6 18 19 23 22) (17 4 20) simpleGrading (1 1 1) // 3 + hex (4 5 9 8 20 21 25 24) (17 2 20) simpleGrading (1 1 1) // 4 + hex (5 6 10 9 21 22 26 25) (6 2 20) simpleGrading (1 1 1) // 5 + hex (6 7 11 10 22 23 27 26) (17 2 20) simpleGrading (1 1 1) // 6 + hex (8 9 13 12 24 25 29 28) (17 4 20) simpleGrading (1 1 1) // 7 + hex (9 10 14 13 25 26 30 29) (6 4 20) simpleGrading (1 1 1) // 8 + hex (10 11 15 14 26 27 31 30) (17 4 20) simpleGrading (1 1 1) // 9 + + // second row + hex (16 17 21 20 32 33 37 36) (17 4 40) simpleGrading (1 1 1) // 10 + hex (17 18 22 21 33 34 38 37) (6 4 40) simpleGrading (1 1 1) // 11 + hex (18 19 23 22 34 35 39 38) (17 4 40) simpleGrading (1 1 1) // 12 + hex (20 21 25 24 36 37 41 40) (17 2 40) simpleGrading (1 1 1) // 13 + hex (21 22 26 25 37 38 42 41) (6 2 40) simpleGrading (1 1 1) // 14 + hex (22 23 27 26 38 39 43 42) (17 2 40) simpleGrading (1 1 1) // 15 + hex (24 25 29 28 40 41 45 44) (17 4 40) simpleGrading (1 1 1) // 16 + hex (25 26 30 29 41 42 46 45) (6 4 40) simpleGrading (1 1 1) // 17 + hex (26 27 31 30 42 43 47 46) (17 4 40) simpleGrading (1 1 1) // 18 + + // third row + hex (32 33 37 36 48 49 53 52) (17 4 30) simpleGrading (1 1 1) // 19 + hex (33 34 38 37 49 50 54 53) (6 4 30) simpleGrading (1 1 1) // 20 + hex (34 35 39 38 50 51 55 54) (17 4 30) simpleGrading (1 1 1) // 21 + hex (36 37 41 40 52 53 57 56) (17 2 30) simpleGrading (1 1 1) // 22 + hex (37 38 42 41 53 54 58 57) (6 2 30) simpleGrading (1 1 1) // 23 + hex (38 39 43 42 54 55 59 58) (17 2 30) simpleGrading (1 1 1) // 24 + hex (40 41 45 44 56 57 61 60) (17 4 30) simpleGrading (1 1 1) // 25 + hex (41 42 46 45 57 58 62 61) (6 4 30) simpleGrading (1 1 1) // 26 + hex (42 43 47 46 58 59 63 62) (17 4 30) simpleGrading (1 1 1) // 27 + +); + +edges +( +); + +boundary +( + inlet + { + type patch; + faces + ( + (9 10 6 5) + ); + } + outlet + { + type patch; + faces + ( + (48 49 53 52) + (49 50 54 53) + (50 51 55 54) + (52 53 57 56) + (53 54 58 57) + (54 55 59 58) + (56 57 61 60) + (57 58 62 61) + (58 59 63 62) + ); + } + walls + { + type wall; + faces + ( + // bottom + (4 5 1 0) + (5 6 2 1) + (6 7 3 2) + (8 9 5 4) + + (10 11 7 6) + (12 13 9 8) + (13 14 10 9) + (14 15 11 10) + + // walls - first row + (0 1 17 16) + (1 2 18 17) + (2 3 19 18) + // + (3 7 23 19) + (7 11 27 23) + (11 15 31 27) + // + (15 14 30 31) + (14 13 29 30) + (13 12 28 29) + // + (12 8 24 28) + (8 4 20 24) + (4 0 16 20) + + // walls - second row + (16 17 33 32) + (17 18 34 33) + (18 19 35 34) + // + (19 23 39 35) + (23 27 43 39) + (27 31 47 43) + // + (31 30 46 47) + (30 29 45 46) + (29 28 44 45) + // + (28 24 40 44) + (24 20 36 40) + (20 16 32 36) + + // walls - third row + (32 33 49 48) + (33 34 50 49) + (34 35 51 50) + // + (35 39 55 51) + (39 43 59 55) + (43 47 63 59) + // + (47 46 62 63) + (46 45 61 62) + (45 44 60 61) + // + (44 40 56 60) + (40 36 52 56) + (36 32 48 52) + ); + } +); + +mergePatchPairs +( +); + +// ************************************************************************* // diff --git a/tutorials/rStatAnalysis/oscillatingBubbleColumn/system/controlDict b/tutorials/rStatAnalysis/oscillatingBubbleColumn/system/controlDict new file mode 100644 index 00000000..c35a4915 --- /dev/null +++ b/tutorials/rStatAnalysis/oscillatingBubbleColumn/system/controlDict @@ -0,0 +1,59 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 2.3.x | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "system"; + object controlDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +application reactingTwoPhaseEulerFoam; + +startFrom latestTime; + +startTime 0; + +stopAt endTime; + +endTime 50; + +deltaT 0.0001; + +writeControl adjustableRunTime; + +writeInterval 0.1; + +purgeWrite 0; + +writeFormat binary; + +writePrecision 6; + +writeCompression uncompressed; + +timeFormat general; + +timePrecision 6; + +runTimeModifiable yes; + +adjustTimeStep yes; + +maxCo 0.35; + +maxDeltaT 1; + + +functions +{ +} + +// ************************************************************************* // diff --git a/tutorials/rStatAnalysis/oscillatingBubbleColumn/system/decomposeParDict b/tutorials/rStatAnalysis/oscillatingBubbleColumn/system/decomposeParDict new file mode 100644 index 00000000..a37fc598 --- /dev/null +++ b/tutorials/rStatAnalysis/oscillatingBubbleColumn/system/decomposeParDict @@ -0,0 +1,28 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 4.0 | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + note "mesh decomposition control dictionary"; + object decomposeParDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +numberOfSubdomains 2; + + +method scotch; + +scotchCoeffs +{ +} + + +// ************************************************************************* // diff --git a/tutorials/rStatAnalysis/oscillatingBubbleColumn/system/fvSchemes b/tutorials/rStatAnalysis/oscillatingBubbleColumn/system/fvSchemes new file mode 100644 index 00000000..f671df05 --- /dev/null +++ b/tutorials/rStatAnalysis/oscillatingBubbleColumn/system/fvSchemes @@ -0,0 +1,75 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 2.3.x | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "system"; + object fvSchemes; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +ddtSchemes +{ + default Euler; +} + +gradSchemes +{ + default Gauss linear; +} + +divSchemes +{ + default none; + + div(phi,alpha.air) Gauss vanLeer01; + div(phir,alpha.air) Gauss vanLeer01; + + "div\((alphaRhoPhi|alphaPhi|phi).*,U.*\)" Gauss limitedLinearV 1; + + "div\((alphaRhoPhi|alphaPhi).*,(h|e).*\)" Gauss limitedLinear 1; + "div\((alphaRhoPhi|alphaPhi).*,K.*\)" Gauss limitedLinear 1; + "div\(alphaPhi.*,p\)" Gauss limitedLinear 1; + + "div\(phim,(k|epsilon)m\)" Gauss limitedLinear 1; + "div\((alphaRhoPhi|alphaPhi).*,(k|epsilon).*\)" Gauss limitedLinear 1; + + div(((alpha.air*nuEff)*dev2(T(grad(U.air))))) Gauss linear; + div(((alpha.air*nuEff.air)*dev2(T(grad(U.air))))) Gauss linear; + div(((alpha.water*nuEff.water)*dev2(T(grad(U.water))))) Gauss linear; + div(alphaPhi.air,thermo:rho.air) Gauss linear; + div(alphaPhi.water,thermo:rho.water) Gauss linear; + + "div\(\(\(\(alpha.**thermo:rho.*\)*nuEff.*\)*dev2\(T\(grad\(U.*\)\)\)\)\)" Gauss linear; +} + +laplacianSchemes +{ + default Gauss linear uncorrected; +} + +interpolationSchemes +{ + default linear; +} + +snGradSchemes +{ + default uncorrected; +} + +fluxRequired +{ + default no; + p ; +} + + +// ************************************************************************* // diff --git a/tutorials/rStatAnalysis/oscillatingBubbleColumn/system/fvSolution b/tutorials/rStatAnalysis/oscillatingBubbleColumn/system/fvSolution new file mode 100644 index 00000000..758e47db --- /dev/null +++ b/tutorials/rStatAnalysis/oscillatingBubbleColumn/system/fvSolution @@ -0,0 +1,91 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 2.3.x | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "system"; + object fvSolution; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +solvers +{ + alpha.air + { + nAlphaCorr 1; + nAlphaSubCycles 2; + } + + p_rgh + { + solver GAMG; + smoother DIC; + nPreSweeps 0; + nPostSweeps 2; + nFinestSweeps 2; + cacheAgglomeration true; + nCellsInCoarsestLevel 330; + agglomerator faceAreaPair; + mergeLevels 1; + tolerance 1e-8; + relTol 0.01; + } + + p_rghFinal + { + $p_rgh; + relTol 0; + } + + "U.*" + { + solver smoothSolver; + smoother symGaussSeidel; + tolerance 1e-7; + relTol 0; + minIter 1; + } + + "e.*" + { + solver PBiCG; + preconditioner DILU; + tolerance 1e-8; + relTol 0; + minIter 1; + } + + "(k|epsilon|Theta).*" + { + solver PBiCG; + preconditioner DILU; + tolerance 1e-8; + relTol 0; + minIter 1; + } +} + +PIMPLE +{ + nOuterCorrectors 3; + nCorrectors 1; + nNonOrthogonalCorrectors 0; +} + +relaxationFactors +{ + equations + { + ".*" 1; + } +} + + +// ************************************************************************* //