From a900153f57a7bd7b1589e67bb667f857ed98626a Mon Sep 17 00:00:00 2001 From: Andrew Heather Date: Thu, 29 Jun 2017 14:18:19 +0100 Subject: [PATCH] ENH: Added new vortexShed tutorial to show vortex shedding and use of the Curle function object --- .../pimpleFoam/LES/vortexShed/0.orig/U | 49 ++++ .../pimpleFoam/LES/vortexShed/0.orig/nuTilda | 45 +++ .../pimpleFoam/LES/vortexShed/0.orig/nut | 44 +++ .../pimpleFoam/LES/vortexShed/0.orig/p | 45 +++ .../pimpleFoam/LES/vortexShed/Allclean | 9 + .../pimpleFoam/LES/vortexShed/Allrun | 16 ++ .../vortexShed/constant/transportProperties | 22 ++ .../vortexShed/constant/turbulenceProperties | 37 +++ .../LES/vortexShed/system/blockMeshDict.m4 | 269 ++++++++++++++++++ .../LES/vortexShed/system/controlDict | 140 +++++++++ .../LES/vortexShed/system/decomposeParDict | 29 ++ .../LES/vortexShed/system/fvSchemes | 57 ++++ .../LES/vortexShed/system/fvSolution | 74 +++++ .../LES/vortexShed/system/noiseDict-point | 55 ++++ .../LES/vortexShed/system/noiseDict-surface | 66 +++++ 15 files changed, 957 insertions(+) create mode 100644 tutorials/incompressible/pimpleFoam/LES/vortexShed/0.orig/U create mode 100644 tutorials/incompressible/pimpleFoam/LES/vortexShed/0.orig/nuTilda create mode 100644 tutorials/incompressible/pimpleFoam/LES/vortexShed/0.orig/nut create mode 100644 tutorials/incompressible/pimpleFoam/LES/vortexShed/0.orig/p create mode 100755 tutorials/incompressible/pimpleFoam/LES/vortexShed/Allclean create mode 100755 tutorials/incompressible/pimpleFoam/LES/vortexShed/Allrun create mode 100644 tutorials/incompressible/pimpleFoam/LES/vortexShed/constant/transportProperties create mode 100644 tutorials/incompressible/pimpleFoam/LES/vortexShed/constant/turbulenceProperties create mode 100644 tutorials/incompressible/pimpleFoam/LES/vortexShed/system/blockMeshDict.m4 create mode 100644 tutorials/incompressible/pimpleFoam/LES/vortexShed/system/controlDict create mode 100644 tutorials/incompressible/pimpleFoam/LES/vortexShed/system/decomposeParDict create mode 100644 tutorials/incompressible/pimpleFoam/LES/vortexShed/system/fvSchemes create mode 100644 tutorials/incompressible/pimpleFoam/LES/vortexShed/system/fvSolution create mode 100644 tutorials/incompressible/pimpleFoam/LES/vortexShed/system/noiseDict-point create mode 100644 tutorials/incompressible/pimpleFoam/LES/vortexShed/system/noiseDict-surface diff --git a/tutorials/incompressible/pimpleFoam/LES/vortexShed/0.orig/U b/tutorials/incompressible/pimpleFoam/LES/vortexShed/0.orig/U new file mode 100644 index 0000000000..94f73eb458 --- /dev/null +++ b/tutorials/incompressible/pimpleFoam/LES/vortexShed/0.orig/U @@ -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 volVectorField; + object U; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 1 -1 0 0 0 0]; + +internalField uniform (40 0 0); + +boundaryField +{ + cylinder + { + type noSlip; + } + + inlet + { + type fixedValue; + value $internalField; + } + + outlet + { + type inletOutlet; + value uniform (0 0 0); + inletValue uniform (0 0 0); + } + + "top|bottom" + { + type pressureInletOutletVelocity; + value uniform (0 0 0); + } +} + + +// ************************************************************************* // diff --git a/tutorials/incompressible/pimpleFoam/LES/vortexShed/0.orig/nuTilda b/tutorials/incompressible/pimpleFoam/LES/vortexShed/0.orig/nuTilda new file mode 100644 index 0000000000..0bd2e881c0 --- /dev/null +++ b/tutorials/incompressible/pimpleFoam/LES/vortexShed/0.orig/nuTilda @@ -0,0 +1,45 @@ +/*--------------------------------*- 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 1.51e-05; + +boundaryField +{ + cylinder + { + type zeroGradient; + value $internalField; + } + + inlet + { + type fixedValue; + value $internalField; + } + + "outlet|top|bottom" + { + type inletOutlet; + inletValue $internalField; + value $internalField; + } +} + + +// ************************************************************************* // diff --git a/tutorials/incompressible/pimpleFoam/LES/vortexShed/0.orig/nut b/tutorials/incompressible/pimpleFoam/LES/vortexShed/0.orig/nut new file mode 100644 index 0000000000..5d90f8c401 --- /dev/null +++ b/tutorials/incompressible/pimpleFoam/LES/vortexShed/0.orig/nut @@ -0,0 +1,44 @@ +/*--------------------------------*- 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.0e-05; + +boundaryField +{ + cylinder + { + type nutUSpaldingWallFunction; + value $internalField; + } + + inlet + { + type calculated; + value $internalField; + } + + "outlet|top|bottom" + { + type calculated; + value $internalField; + } +} + + +// ************************************************************************* // diff --git a/tutorials/incompressible/pimpleFoam/LES/vortexShed/0.orig/p b/tutorials/incompressible/pimpleFoam/LES/vortexShed/0.orig/p new file mode 100644 index 0000000000..02a3796773 --- /dev/null +++ b/tutorials/incompressible/pimpleFoam/LES/vortexShed/0.orig/p @@ -0,0 +1,45 @@ +/*--------------------------------*- 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 +{ + cylinder + { + type zeroGradient; + } + + inlet + { + type zeroGradient; + } + + "outlet|top|bottom" + { + type totalPressure; + rho none; + psi none; + p0 $internalField; + gamma 1; + value $internalField; + } +} + + +// ************************************************************************* // diff --git a/tutorials/incompressible/pimpleFoam/LES/vortexShed/Allclean b/tutorials/incompressible/pimpleFoam/LES/vortexShed/Allclean new file mode 100755 index 0000000000..97f2707db8 --- /dev/null +++ b/tutorials/incompressible/pimpleFoam/LES/vortexShed/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 0 diff --git a/tutorials/incompressible/pimpleFoam/LES/vortexShed/Allrun b/tutorials/incompressible/pimpleFoam/LES/vortexShed/Allrun new file mode 100755 index 0000000000..8551f1c715 --- /dev/null +++ b/tutorials/incompressible/pimpleFoam/LES/vortexShed/Allrun @@ -0,0 +1,16 @@ +#!/bin/sh +cd ${0%/*} || exit 1 # run from this directory + +# Source tutorial run functions +. $WM_PROJECT_DIR/bin/tools/RunFunctions + +rm -f system/blockMeshDict +m4 system/blockMeshDict.m4 > system/blockMeshDict + +runApplication blockMesh + +restore0Dir + +runApplication decomposePar + +runParallel $(getApplication) diff --git a/tutorials/incompressible/pimpleFoam/LES/vortexShed/constant/transportProperties b/tutorials/incompressible/pimpleFoam/LES/vortexShed/constant/transportProperties new file mode 100644 index 0000000000..bb2f95e1da --- /dev/null +++ b/tutorials/incompressible/pimpleFoam/LES/vortexShed/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 2e-05; + +// ************************************************************************* // diff --git a/tutorials/incompressible/pimpleFoam/LES/vortexShed/constant/turbulenceProperties b/tutorials/incompressible/pimpleFoam/LES/vortexShed/constant/turbulenceProperties new file mode 100644 index 0000000000..2957f3dbf3 --- /dev/null +++ b/tutorials/incompressible/pimpleFoam/LES/vortexShed/constant/turbulenceProperties @@ -0,0 +1,37 @@ +/*--------------------------------*- 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 LES; + +LES +{ + LESModel SpalartAllmarasDDES; + turbulence on; + printCoeffs on; + delta vanDriest; + vanDriestCoeffs + { + delta cubeRootVol; + cubeRootVolCoeffs + { + deltaCoeff 2.0; + } + } +} + + +// ************************************************************************* // diff --git a/tutorials/incompressible/pimpleFoam/LES/vortexShed/system/blockMeshDict.m4 b/tutorials/incompressible/pimpleFoam/LES/vortexShed/system/blockMeshDict.m4 new file mode 100644 index 0000000000..4d8f014df8 --- /dev/null +++ b/tutorials/incompressible/pimpleFoam/LES/vortexShed/system/blockMeshDict.m4 @@ -0,0 +1,269 @@ +/*--------------------------------*- 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; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // +dnl> ----------------------------------------------------------------- +dnl> +dnl> +changecom(//)changequote([,]) dnl> +define(calc, [esyscmd(perl -e 'print ($1)')]) dnl> +define(VCOUNT, 0) dnl> +define(vlabel, [[// ]pt VCOUNT ($1) define($1, VCOUNT)define([VCOUNT], incr(VCOUNT))]) dnl> +dnl> +dnl> +dnl> ----------------------------------------------------------------- +dnl> +define(r1, 1) dnl> +define(r2, 2) dnl> +define(xr, calc(10*r1)) dnl> +define(h, calc(30*r1)) dnl> +define(l, calc(xr + 30*r1)) dnl> +define(w, 1) dnl> +define(Sin, 0.7071067812) dnl> == sin(45) dnl> +dnl> +define(y0, 0) dnl> +define(y1, calc(h/2 + y0 - r2*Sin)) dnl> +define(y2, calc(h/2 + y0 - r1*Sin)) dnl> +define(y3, calc(h/2 + y0 + r1*Sin)) dnl> +define(y4, calc(h/2 + y0 + r2*Sin)) dnl> +define(y5, calc(y0 + h)) dnl> +dnl> +define(x0, 0) dnl> +define(x1, calc(xr + x0 - r2*Sin)) dnl> +define(x2, calc(xr + x0 - r1*Sin)) dnl> +define(x3, calc(xr + x0 + r1*Sin)) dnl> +define(x4, calc(xr + x0 + r2*Sin)) dnl> +define(x5, calc(x0 + l)) dnl> +dnl> +define(w0, -1) dnl> +define(w1, calc(w0 + w)) dnl> +dnl> +define(N, 20) dnl> +define(hex2D, hex ($1f $2f $3f $4f $1b $2b $3b $4b)) dnl> +dnl> +dnl> +dnl> +define(nScale, 4) +define(nx1, calc(nScale*30)) dnl> +define(nx2, calc(nScale*10)) dnl> +define(nx3, calc(nScale*100)) dnl> +define(ny1, calc(nScale*20)) dnl> +define(ny2, nx2) dnl> +define(ny3, ny1) dnl> +define(nr, calc(nScale*20)) dnl> +define(nz, 1) dnl> +dnl> +dnl> +define(hex2D, hex ($1b $2b $3b $4b $1f $2f $3f $4f)) dnl> +define(quad2D, ($1f $1b $2b $2f)) dnl> +define(frontQuad, ($1f $2f $3f $4f)) dnl> +define(backQuad, ($4b $3b $2b $1b)) dnl> +dnl> +dnl> +dnl> ----------------------------------------------------------------- +dnl> +dnl> + +convertToMeters 0.02; + +vertices +( + (x0 y0 w0) vlabel(p0f) + (x1 y0 w0) vlabel(p1f) + (x4 y0 w0) vlabel(p2f) + (x5 y0 w0) vlabel(p3f) + (x5 y1 w0) vlabel(p4f) + (x5 y4 w0) vlabel(p5f) + (x5 y5 w0) vlabel(p6f) + (x4 y5 w0) vlabel(p7f) + (x1 y5 w0) vlabel(p8f) + (x0 y5 w0) vlabel(p9f) + (x0 y4 w0) vlabel(p10f) + (x0 y1 w0) vlabel(p11f) + (x1 y1 w0) vlabel(p12f) + (x4 y1 w0) vlabel(p13f) + (x4 y4 w0) vlabel(p14f) + (x1 y4 w0) vlabel(p15f) + (x2 y2 w0) vlabel(p16f) + (x3 y2 w0) vlabel(p17f) + (x3 y3 w0) vlabel(p18f) + (x2 y3 w0) vlabel(p19f) + + (x0 y0 w1) vlabel(p0b) + (x1 y0 w1) vlabel(p1b) + (x4 y0 w1) vlabel(p2b) + (x5 y0 w1) vlabel(p3b) + (x5 y1 w1) vlabel(p4b) + (x5 y4 w1) vlabel(p5b) + (x5 y5 w1) vlabel(p6b) + (x4 y5 w1) vlabel(p7b) + (x1 y5 w1) vlabel(p8b) + (x0 y5 w1) vlabel(p9b) + (x0 y4 w1) vlabel(p10b) + (x0 y1 w1) vlabel(p11b) + (x1 y1 w1) vlabel(p12b) + (x4 y1 w1) vlabel(p13b) + (x4 y4 w1) vlabel(p14b) + (x1 y4 w1) vlabel(p15b) + (x2 y2 w1) vlabel(p16b) + (x3 y2 w1) vlabel(p17b) + (x3 y3 w1) vlabel(p18b) + (x2 y3 w1) vlabel(p19b) +); + +blocks +( + // 0 + hex2D(p0, p1, p12, p11) + ( nx1 ny1 nz ) simpleGrading (1 0.2 1) + + // 1 + hex2D(p1, p2, p13, p12) + ( nx2 ny1 nz ) simpleGrading (1 0.2 1) + + // 2 + hex2D(p2, p3, p4, p13) + ( nx3 ny1 nz ) simpleGrading (1 0.2 1) + + // 3 + hex2D(p13, p4, p5, p14) + ( nx3 ny2 nz ) simpleGrading (1 1 1) + + // 4 + hex2D(p14, p5, p6, p7) + ( nx3 ny3 nz ) simpleGrading (1 5 1) + + // 5 + hex2D(p15, p14, p7, p8) + ( nx2 ny3 nz ) simpleGrading (1 5 1) + + // 6 + hex2D(p10, p15, p8, p9) + ( nx1 ny3 nz ) simpleGrading (1 5 1) + + // 7 + hex2D(p11, p12, p15, p10) + ( nx1 ny2 nz ) simpleGrading (1 1 1) + + // 8 + hex2D(p12, p16, p19, p15) + ( nr ny2 nz ) simpleGrading (0.025 1 1) + + // 9 + hex2D(p12, p13, p17, p16) + ( nx2 nr nz ) simpleGrading (1 0.025 1) + + // 10 + hex2D(p17, p13, p14, p18) + ( nr ny2 nz ) simpleGrading (40 1 1) + + // 11 + hex2D(p19, p18, p14, p15) + ( nx2 nr nz ) simpleGrading (1 40 1) +); + +edges +( + // Inner circle + arc 16 17 (calc(xr + x0) calc(h/2 + y0 - r1) w0) + arc 17 18 (calc(xr + x0 + r1) calc(h/2 + y0) w0) + arc 18 19 (calc(xr + x0) calc(h/2 + y0 + r1) w0) + arc 19 16 (calc(xr + x0 - r1) calc(h/2 + y0) w0) + + arc 36 37 (calc(xr + x0) calc(h/2 + y0 - r1) w1) + arc 37 38 (calc(xr + x0 + r1) calc(h/2 + y0) w1) + arc 38 39 (calc(xr + x0) calc(h/2 + y0 + r1) w1) + arc 39 36 (calc(xr + x0 - r1) calc(h/2 + y0) w1) + + // Outer circle + arc 12 13 (calc(xr + x0) calc(h/2 + y0 - r2) w0) + arc 13 14 (calc(xr + x0 + r2) calc(h/2 + y0) w0) + arc 14 15 (calc(xr + x0) calc(h/2 + y0 + r2) w0) + arc 15 12 (calc(xr + x0 - r2) calc(h/2 + y0) w0) + + arc 32 33 (calc(xr + x0) calc(h/2 + y0 - r2) w1) + arc 33 34 (calc(xr + x0 + r2) calc(h/2 + y0) w1) + arc 34 35 (calc(xr + x0) calc(h/2 + y0 + r2) w1) + arc 35 32 (calc(xr + x0 - r2) calc(h/2 + y0) w1) +); + +defaultPatch +{ + name frontAndBack; + type empty; +} + +boundary +( + inlet + { + type patch; + faces + ( + quad2D(p9, p10) + quad2D(p10, p11) + quad2D(p11, p0) + ); + } + outlet + { + type patch; + faces + ( + quad2D(p3, p4) + quad2D(p4, p5) + quad2D(p5, p6) + ); + } + + cylinder + { + type wall; + faces + ( + quad2D(p16, p17) + quad2D(p17, p18) + quad2D(p18, p19) + quad2D(p19, p16) + ); + } + + top + { + type patch; + faces + ( + quad2D(p6, p7) + quad2D(p7, p8) + quad2D(p8, p9) + ); + } + + bottom + { + type patch; + faces + ( + quad2D(p0, p1) + quad2D(p1, p2) + quad2D(p2, p3) + ); + } +); + +mergePatchPairs +( +); + +// ************************************************************************* // diff --git a/tutorials/incompressible/pimpleFoam/LES/vortexShed/system/controlDict b/tutorials/incompressible/pimpleFoam/LES/vortexShed/system/controlDict new file mode 100644 index 0000000000..bb314df849 --- /dev/null +++ b/tutorials/incompressible/pimpleFoam/LES/vortexShed/system/controlDict @@ -0,0 +1,140 @@ +/*--------------------------------*- 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 pimpleFoam; + +startFrom latestTime; + +startTime 0; + +stopAt endTime; + +endTime 0.2; + +deltaT 1e-5; + +writeControl timeStep; + +writeInterval 100; // every 0.001s + +purgeWrite 200; + +writeFormat binary; + +writePrecision 8; + +writeCompression off; + +timeFormat general; + +timePrecision 6; + +runTimeModifiable true; + +functions +{ + minMax1 + { + libs ("libfieldFunctionObjects.so"); + type fieldMinMax; + fields (U p); + } + + curle + { + libs ("libfieldFunctionObjects.so"); + type Curle; + writeControl writeTime; + timeStart 0.1; + + patches (cylinder); + c0 343; + } + + cuttingPlane + { + type surfaces; + libs ("libsampling.so"); + writeControl timeStep; + writeInterval 2; + timeStart 0.1; + + surfaceFormat ensight; + formatOptions + { + ensight + { + format binary; + collateTimes true; + } + } + fields (p Curle); + + interpolationScheme cellPoint; + + surfaces + ( + zNormal + { + type cuttingPlane; + planeType pointAndNormal; + pointAndNormalDict + { + basePoint (0 0 -0.01); + normalVector (0 0 1); + } + interpolate false; + } + ); + } + + forces + { + type forces; + libs ("libforces.so"); + writeControl writeTime; + timeStart 0.1; + + patches (cylinder); + CofR (0.20 0.15 -0.01); + writeFields yes; + + rho rhoInf; + rhoInf 1.205; + } + + probes + { + type patchProbes; + libs ("libsampling.so"); + writeControl timeStep; + timeStart 0.1; + + patch cylinder; + probeLocations + ( + (0.20 0.17 -0.01) // N + (0.22 0.15 -0.01) // E + (0.20 0.13 -0.01) // S + (0.18 0.15 -0.01) // W + ); + fields (p forces:force Curle); + } +} + + +// ************************************************************************* // diff --git a/tutorials/incompressible/pimpleFoam/LES/vortexShed/system/decomposeParDict b/tutorials/incompressible/pimpleFoam/LES/vortexShed/system/decomposeParDict new file mode 100644 index 0000000000..d429acabdf --- /dev/null +++ b/tutorials/incompressible/pimpleFoam/LES/vortexShed/system/decomposeParDict @@ -0,0 +1,29 @@ +/*--------------------------------*- 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 decomposeParDict; +} + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +numberOfSubdomains 4; + +method simple; + +simpleCoeffs +{ + n (2 2 1); + delta 0.001; +} + + +// ************************************************************************* // diff --git a/tutorials/incompressible/pimpleFoam/LES/vortexShed/system/fvSchemes b/tutorials/incompressible/pimpleFoam/LES/vortexShed/system/fvSchemes new file mode 100644 index 0000000000..c04ca81338 --- /dev/null +++ b/tutorials/incompressible/pimpleFoam/LES/vortexShed/system/fvSchemes @@ -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 dictionary; + location "system"; + object fvSchemes; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +ddtSchemes +{ + default backward; +} + +gradSchemes +{ + default Gauss linear; +} + +divSchemes +{ + default none; + div(phi,U) Gauss LUST grad(U); + div(phi,nuTilda) Gauss limitedLinear 1; + div((nuEff*dev2(T(grad(U))))) Gauss linear; +} + +interpolationSchemes +{ + default linear; +} + +laplacianSchemes +{ + default Gauss linear corrected; +} + +snGradSchemes +{ + default corrected; +} + +wallDist +{ + method meshWave; +} + + +// ************************************************************************* // diff --git a/tutorials/incompressible/pimpleFoam/LES/vortexShed/system/fvSolution b/tutorials/incompressible/pimpleFoam/LES/vortexShed/system/fvSolution new file mode 100644 index 0000000000..b5ae817474 --- /dev/null +++ b/tutorials/incompressible/pimpleFoam/LES/vortexShed/system/fvSolution @@ -0,0 +1,74 @@ +/*--------------------------------*- 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; + smoother DICGaussSeidel; +// solver PCG; +// preconditioner DIC; + tolerance 1e-20; + relTol 0.05; + } + + pFinal + { + $p; + tolerance 1e-6; + relTol 0; + }; + + "(U|nuTilda)" + { +// solver PBiCGStab; +// preconditioner DILU; + solver smoothSolver; + smoother symGaussSeidel; + tolerance 0; + relTol 0.1; + } + + "(U|nuTilda)Final" + { + $U; + tolerance 1e-6; + relTol 0; + } +} + +PIMPLE +{ + nOuterCorrectors 5; + nCorrectors 2; + nNonOrthogonalCorrectors 0; + transonic no; + consistent no; +} + +relaxationFactors +{ + nuTilda 0.95; + U 0.95; + p 0.95; + ".*Final" 1.0; +} + + +// ************************************************************************* // diff --git a/tutorials/incompressible/pimpleFoam/LES/vortexShed/system/noiseDict-point b/tutorials/incompressible/pimpleFoam/LES/vortexShed/system/noiseDict-point new file mode 100644 index 0000000000..2f640c98c2 --- /dev/null +++ b/tutorials/incompressible/pimpleFoam/LES/vortexShed/system/noiseDict-point @@ -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 dictionary; + location "system"; + object noiseDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +noiseModel pointNoise; + +pointNoiseCoeffs +{ + windowModel Hanning; + + HanningCoeffs + { + // Window overlap percentage + overlapPercent 50; + symmetric yes; + extended yes; + + // Optional number of windows, default = all available + //nWindow 5; + } + + files + ( + "postProcessing/probes/0/p" + "postProcessing/probes/0.1/Curle" + ); + + nHeaderLine 6; + refColumn 0; + componentColumns (1); + mergeSeparators yes; + separator " "; + + // Number of samples in sampling window + // Must be a power of 2, default = 2^16 (=65536) + N 4096; + + rhoRef 1.205; +} + + +// ************************************************************************* // diff --git a/tutorials/incompressible/pimpleFoam/LES/vortexShed/system/noiseDict-surface b/tutorials/incompressible/pimpleFoam/LES/vortexShed/system/noiseDict-surface new file mode 100644 index 0000000000..7a192df56e --- /dev/null +++ b/tutorials/incompressible/pimpleFoam/LES/vortexShed/system/noiseDict-surface @@ -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 dictionary; + location "system"; + object noiseDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +noiseModel surfaceNoise; + +surfaceNoiseCoeffs +{ + windowModel Hanning; + + HanningCoeffs + { + // Window overlap percentage + overlapPercent 50; + symmetric yes; + extended yes; + + // Optional number of windows, default = all available + //nWindow 5; + } + + + // Input file + file "postProcessing/cuttingPlane/yNormal_0.0/yNormal_0.0.case"; + + // Surface reader + reader ensight; + + // Surface writer + writer ensight; + + // Collate times for ensight output - ensures geometry is only written once + writeOptions + { + ensight + { + collateTimes 1; + format binary; + } + } + + // Pressure field + p Curle; + + // Number of samples in sampling window + // Must be a power of 2, default = 2^16 (=65536) + N 1024; + + rhoRef 1.205; +} + + +// ************************************************************************* //