diff --git a/tutorials/incompressible/porousSimpleFoam/beaverJoseph/0/T b/tutorials/incompressible/porousSimpleFoam/beaverJoseph/0/T new file mode 100644 index 000000000..ad52ae85f --- /dev/null +++ b/tutorials/incompressible/porousSimpleFoam/beaverJoseph/0/T @@ -0,0 +1,52 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.4.1 | +| \\ / A nd | Web: http://www.openfoam.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ + +FoamFile +{ + version 2.0; + format ascii; + + root "/home2/mnordlun/OpenFOAM/mnordlun-1.4.1/run/pmiCases"; + case "SMAR_MD2_Puffing"; + instance "0"; + local ""; + + class volScalarField; + object T; +} + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 0 0 1 0 0 0]; + +internalField uniform 298.15; + +boundaryField +{ + inlet + { + type fixedValue; + value $internalField; + } + outlet + { + type inletOutlet; + inletValue $internalField; + } + lowerWall + { + type zeroGradient; + } + upperWall + { + type zeroGradient; + } +} + + +// ************************************************************************* // diff --git a/tutorials/incompressible/porousSimpleFoam/beaverJoseph/0/U b/tutorials/incompressible/porousSimpleFoam/beaverJoseph/0/U new file mode 100644 index 000000000..fb174acb4 --- /dev/null +++ b/tutorials/incompressible/porousSimpleFoam/beaverJoseph/0/U @@ -0,0 +1,59 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.4.1 | +| \\ / A nd | Web: http://www.openfoam.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ + +FoamFile +{ + version 2.0; + format ascii; + + root "/home2/mnordlun/OpenFOAM/mnordlun-1.4.1/run/pmiCases"; + case "SMAR_MD2_Puffing"; + instance "0"; + local ""; + + class volVectorField; + object U; +} + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 1 -1 0 0 0 0]; + +// Re = 1 = rho=(rho U H)/mu; rho=1.144, mu=1.861e-5; H=0.01 +internalField uniform (1.62589e-4 0 0); + +boundaryField +{ + inlet + { + // type groovyBC; + type fixedValue; + variables "relax=0.7;UTarget=1.62589e-4;Uout@outlet=sum((pos().y) > 0.1 ? mag(U)*mag(Sf()) : 0.)/sum(pos().y > 0.1 ? mag(Sf()) : 0);Uold=mag(U);Uo=(Uout>1e-7 ? Uout : 1e-7);Unew=Uold*((1-relax)+relax*(UTarget/Uo));Unew2=(Unew > UTarget ? UTarget : Unew);"; + valueExpression "vector(1,0,0)*Unew2"; + value $internalField; + } + outlet + { + type inletOutlet; + inletValue uniform (0 0 0); + value uniform (0 0 0); + } + upperWall + { + type fixedValue; + value uniform (0 0 0); + } + lowerWall + { + type fixedValue; + value uniform (0 0 0); + } +} + + +// ************************************************************************* // diff --git a/tutorials/incompressible/porousSimpleFoam/beaverJoseph/0/p b/tutorials/incompressible/porousSimpleFoam/beaverJoseph/0/p new file mode 100644 index 000000000..e6c81ed64 --- /dev/null +++ b/tutorials/incompressible/porousSimpleFoam/beaverJoseph/0/p @@ -0,0 +1,51 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.4.1 | +| \\ / A nd | Web: http://www.openfoam.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ + +FoamFile +{ + version 2.0; + format ascii; + + root "/home2/mnordlun/OpenFOAM/mnordlun-1.4.1/run/pmiCases"; + case "SMAR_MD2_Puffing"; + instance "0"; + local ""; + + class volScalarField; + object p; +} + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -2 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + inlet + { + type zeroGradient; + } + upperWall + { + type zeroGradient; + } + lowerWall + { + type zeroGradient; + } + outlet + { + type fixedValue; + value $internalField; + } +} + + +// ************************************************************************* // diff --git a/tutorials/incompressible/porousSimpleFoam/beaverJoseph/constant/RASProperties b/tutorials/incompressible/porousSimpleFoam/beaverJoseph/constant/RASProperties new file mode 100644 index 000000000..a323c956c --- /dev/null +++ b/tutorials/incompressible/porousSimpleFoam/beaverJoseph/constant/RASProperties @@ -0,0 +1,26 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.7.1 | +| \\ / A nd | Web: www.OpenFOAM.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format binary; + class dictionary; + location "constant"; + object RASProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +// RASModel kEpsilon; +RASModel laminar; + +turbulence off; + +printCoeffs on; + + +// ************************************************************************* // diff --git a/tutorials/incompressible/porousSimpleFoam/beaverJoseph/constant/polyMesh/blockMeshDict b/tutorials/incompressible/porousSimpleFoam/beaverJoseph/constant/polyMesh/blockMeshDict new file mode 100644 index 000000000..a1df2eb62 --- /dev/null +++ b/tutorials/incompressible/porousSimpleFoam/beaverJoseph/constant/polyMesh/blockMeshDict @@ -0,0 +1,78 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.5 | +| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object blockMeshDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +convertToMeters 0.1; + +vertices +( + (0 0 -0.1) + (8 0 -0.1) + (8 1 -0.1) + (0 1 -0.1) + (0 0 0.1) + (8 0 0.1) + (8 1 0.1) + (0 1 0.1) + (0 2 -0.1) + (8 2 -0.1) + (0 2 0.1) + (8 2 0.1) +); + +blocks +( + hex (0 1 2 3 4 5 6 7) poro (100 20 1) simpleGrading (1 1 1) + hex (3 2 9 8 7 6 11 10) air (100 20 1) simpleGrading (1 1 1) +); + +edges +( +); + +patches +( + patch inlet + ( + (0 4 7 3) + (3 7 10 8) + ) + patch outlet + ( + (2 6 5 1) + (6 2 9 11) + ) + wall upperWall + ( + (8 9 11 10) + ) + wall lowerWall + ( + (1 5 4 0) + ) + empty frontAndBack + ( + (2 3 8 9) + (6 7 10 11) + (0 3 2 1) + (4 5 6 7) + ) +); + +mergePatchPairs +( +); + +// ************************************************************************* // diff --git a/tutorials/incompressible/porousSimpleFoam/beaverJoseph/constant/polyMesh/boundary b/tutorials/incompressible/porousSimpleFoam/beaverJoseph/constant/polyMesh/boundary new file mode 100644 index 000000000..9288263f7 --- /dev/null +++ b/tutorials/incompressible/porousSimpleFoam/beaverJoseph/constant/polyMesh/boundary @@ -0,0 +1,52 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM Extend Project: Open source CFD | +| \\ / O peration | Version: 1.6-ext | +| \\ / A nd | Web: www.extend-project.de | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class polyBoundaryMesh; + location "constant/polyMesh"; + object boundary; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +5 +( + inlet + { + type patch; + nFaces 40; + startFace 7860; + } + outlet + { + type patch; + nFaces 40; + startFace 7900; + } + upperWall + { + type wall; + nFaces 100; + startFace 7940; + } + lowerWall + { + type wall; + nFaces 100; + startFace 8040; + } + frontAndBack + { + type empty; + nFaces 8000; + startFace 8140; + } +) + +// ************************************************************************* // diff --git a/tutorials/incompressible/porousSimpleFoam/beaverJoseph/constant/porousZones b/tutorials/incompressible/porousSimpleFoam/beaverJoseph/constant/porousZones new file mode 100644 index 000000000..522c18d6d --- /dev/null +++ b/tutorials/incompressible/porousSimpleFoam/beaverJoseph/constant/porousZones @@ -0,0 +1,41 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.7.1 | +| \\ / A nd | Web: www.OpenFOAM.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "constant"; + object porousZones; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +1 +( + poro + { + coordinateSystem + { + e1 (1 0 0); + e2 (0 1 0); + } + + // Da =0.01 = K/H² = K/0.1^2 -> K=1e-4 + // Da =0.001 = K/H² = K/0.1^2 -> K=1e-5 + // ce = 0.2439 -> sqrt(1/K) * ce (24.39 bzw 77.12) + Darcy + { + // d d [0 -2 0 0 0 0 0] (1e5 1e5 1e5); + // f f [0 -1 0 0 0 0 0] (77.12 77.12 77.12); + d d [0 -2 0 0 0 0 0] (1e4 1e4 1e4); + f f [0 -1 0 0 0 0 0] (24.39 24.39 24.39); + } + } +) + +// ************************************************************************* // diff --git a/tutorials/incompressible/porousSimpleFoam/beaverJoseph/constant/thermophysicalProperties b/tutorials/incompressible/porousSimpleFoam/beaverJoseph/constant/thermophysicalProperties new file mode 100644 index 000000000..dbf8c8431 --- /dev/null +++ b/tutorials/incompressible/porousSimpleFoam/beaverJoseph/constant/thermophysicalProperties @@ -0,0 +1,23 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.7.1 | +| \\ / A nd | Web: www.OpenFOAM.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format binary; + class dictionary; + location "constant"; + object thermophysicalProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +thermoType hPsiThermo>>>>; + +mixture air 1 28.9 1007 0 1.4792e-06 116; + + +// ************************************************************************* // diff --git a/tutorials/incompressible/porousSimpleFoam/beaverJoseph/constant/transportProperties b/tutorials/incompressible/porousSimpleFoam/beaverJoseph/constant/transportProperties new file mode 100644 index 000000000..7f3bedaae --- /dev/null +++ b/tutorials/incompressible/porousSimpleFoam/beaverJoseph/constant/transportProperties @@ -0,0 +1,21 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.6 | +| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object transportProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +transportModel Newtonian; + +nu nu [0 2 -1 0 0 0 0] 1.5e-05; + +// ************************************************************************* // diff --git a/tutorials/incompressible/porousSimpleFoam/beaverJoseph/system/controlDict b/tutorials/incompressible/porousSimpleFoam/beaverJoseph/system/controlDict new file mode 100644 index 000000000..42e6bd9d7 --- /dev/null +++ b/tutorials/incompressible/porousSimpleFoam/beaverJoseph/system/controlDict @@ -0,0 +1,54 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.7.1 | +| \\ / A nd | Web: www.OpenFOAM.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format binary; + class dictionary; + location "system"; + object controlDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +application rhoPorousSimpleFoam; + +startFrom startTime; + +startTime 0; + +stopAt endTime; + +endTime 100; + +deltaT 1; + +writeControl timeStep; + +writeInterval 10; + +purgeWrite 0; + +writeFormat ascii; + +writePrecision 6; + +writeCompression uncompressed; + +timeFormat general; + +timePrecision 6; + +graphFormat raw; + +runTimeModifiable yes; + +// libs ( +// "libgroovyBC.so" +// ); + +// ************************************************************************* // diff --git a/tutorials/incompressible/porousSimpleFoam/beaverJoseph/system/fvSchemes b/tutorials/incompressible/porousSimpleFoam/beaverJoseph/system/fvSchemes new file mode 100644 index 000000000..a70c35e1b --- /dev/null +++ b/tutorials/incompressible/porousSimpleFoam/beaverJoseph/system/fvSchemes @@ -0,0 +1,64 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.6 | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format binary; + class dictionary; + location "system"; + object fvSchemes; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +ddtSchemes +{ + default steadyState; +} + +gradSchemes +{ + default Gauss linear; + grad(U) Gauss linear; + grad(p) Gauss linear; +} + +divSchemes +{ + div(phi,U) Gauss upwind; + div((nuEff*dev(grad(U).T()))) Gauss linear; + div(phi,epsilon) Gauss upwind; + div(phi,k) Gauss upwind; +} + +laplacianSchemes +{ + laplacian(nuEff,U) Gauss linear corrected; + laplacian(rAU,p) Gauss linear corrected; + laplacian(DepsilonEff,epsilon) Gauss linear corrected; + laplacian(DkEff,k) Gauss linear corrected; + laplacian(1,p) Gauss linear corrected; +} + +interpolationSchemes +{ + default linear; +} + +snGradSchemes +{ + default corrected; +} + +fluxRequired +{ + default no; + p ; +} + + +// ************************************************************************* // diff --git a/tutorials/incompressible/porousSimpleFoam/beaverJoseph/system/fvSolution b/tutorials/incompressible/porousSimpleFoam/beaverJoseph/system/fvSolution new file mode 100644 index 000000000..c74c4c442 --- /dev/null +++ b/tutorials/incompressible/porousSimpleFoam/beaverJoseph/system/fvSolution @@ -0,0 +1,88 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.7.1 | +| \\ / A nd | Web: www.OpenFOAM.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format binary; + class dictionary; + location "system"; + object fvSolution; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +solvers +{ + p + { + // solver GAMG; + solver PCG; + tolerance 1e-08; + relTol 0.05; + smoother GaussSeidel; + cacheAgglomeration off; + nCellsInCoarsestLevel 20; + agglomerator faceAreaPair; + mergeLevels 1; + preconditioner DIC; + } + + U + { + solver smoothSolver; + smoother GaussSeidel; + nSweeps 2; + tolerance 1e-06; + relTol 0.1; + } + + h + { + solver PBiCG; + preconditioner DILU; + tolerance 1e-06; + relTol 0.1; + } + + k + { + solver smoothSolver; + smoother GaussSeidel; + nSweeps 2; + tolerance 1e-07; + relTol 0.1; + } + + epsilon + { + solver smoothSolver; + smoother GaussSeidel; + nSweeps 2; + tolerance 1e-07; + relTol 0.1; + } +} + +SIMPLE +{ + nUCorrectors 2; + nNonOrthogonalCorrectors 0; + pMin pMin [ 1 -1 -2 0 0 0 0 ] 100; +} + +relaxationFactors +{ + p 0.3; + rho 0.9; + U 0.7; + k 0.9; + epsilon 0.9; + h 0.9; +} + + +// ************************************************************************* // diff --git a/tutorials/incompressible/porousSimpleFoam/beaverJoseph/system/sampleDict b/tutorials/incompressible/porousSimpleFoam/beaverJoseph/system/sampleDict new file mode 100644 index 000000000..83a3a457a --- /dev/null +++ b/tutorials/incompressible/porousSimpleFoam/beaverJoseph/system/sampleDict @@ -0,0 +1,128 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.7.1 | +| \\ / A nd | Web: www.OpenFOAM.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ + +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location system; + object sampleDict; +} + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +// Set output format : choice of +// xmgr +// jplot +// gnuplot +// raw +setFormat raw; + +// Surface output format. Choice of +// null : suppress output +// foamFile : separate points, faces and values file +// dx : DX scalar or vector format +// vtk : VTK ascii format +// raw : x y z value format for use with e.g. gnuplot 'splot'. +// +// Note: +// other formats such as obj, stl, etc can also be written (by proxy) +// but without any values! +surfaceFormat vtk; + +// interpolationScheme. choice of +// cell : use cell-centre value only; constant over cells (default) +// cellPoint : use cell-centre and vertex values +// cellPointFace : use cell-centre, vertex and face values. +// 1] vertex values determined from neighbouring cell-centre values +// 2] face values determined using the current face interpolation scheme +// for the field (linear, gamma, etc.) +interpolationScheme cellPoint; + +// Fields to sample. +fields +( + p + U + mu + rhoFluid +); + + +// Set sampling definition: choice of +// uniform evenly distributed points on line +// face one point per face intersection +// midPoint one point per cell, inbetween two face intersections +// midPointAndFace combination of face and midPoint +// +// curve specified points, not nessecary on line, uses +// tracking +// cloud specified points, uses findCell +// +// axis: how to write point coordinate. Choice of +// - x/y/z: x/y/z coordinate only +// - xyz: three columns +// (probably does not make sense for anything but raw) +// - distance: distance from start of sampling line (if uses line) or +// distance from first specified sampling point +// +// type specific: +// uniform, face, midPoint, midPointAndFace : start and end coordinate +// uniform: extra number of sampling points +// curve, cloud: list of coordinates +sets +( + middle + { + type uniform; + axis distance; + + //- cavity. Slightly perturbed so not to align with face or edge. + start (0.201 -0.0001 0.00001); + end (0.201 0.2001 0.00001); + nPoints 100; + } + end + { + type uniform; + axis distance; + + //- cavity. Slightly perturbed so not to align with face or edge. + start (0.39 -0.0001 0.00001); + end (0.39 0.2001 0.00001); + nPoints 100; + } + start + { + type uniform; + axis distance; + + //- cavity. Slightly perturbed so not to align with face or edge. + start (0.009 -0.0001 0.00001); + end (0.009 0.2001 0.00001); + nPoints 100; + } + +); + + +// Surface sampling definition: choice of +// plane : values on plane defined by point, normal. +// patch : values on patch. +// +// 1] patches are not triangulated by default +// 2] planes are always triangulated +// 3] iso-surfaces are always triangulated +surfaces +( + +); + + +// *********************************************************************** // diff --git a/tutorials/incompressible/porousSimpleFoam/porousPlug/0/T b/tutorials/incompressible/porousSimpleFoam/porousPlug/0/T new file mode 100644 index 000000000..ad52ae85f --- /dev/null +++ b/tutorials/incompressible/porousSimpleFoam/porousPlug/0/T @@ -0,0 +1,52 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.4.1 | +| \\ / A nd | Web: http://www.openfoam.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ + +FoamFile +{ + version 2.0; + format ascii; + + root "/home2/mnordlun/OpenFOAM/mnordlun-1.4.1/run/pmiCases"; + case "SMAR_MD2_Puffing"; + instance "0"; + local ""; + + class volScalarField; + object T; +} + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 0 0 1 0 0 0]; + +internalField uniform 298.15; + +boundaryField +{ + inlet + { + type fixedValue; + value $internalField; + } + outlet + { + type inletOutlet; + inletValue $internalField; + } + lowerWall + { + type zeroGradient; + } + upperWall + { + type zeroGradient; + } +} + + +// ************************************************************************* // diff --git a/tutorials/incompressible/porousSimpleFoam/porousPlug/0/U b/tutorials/incompressible/porousSimpleFoam/porousPlug/0/U new file mode 100644 index 000000000..58476aa24 --- /dev/null +++ b/tutorials/incompressible/porousSimpleFoam/porousPlug/0/U @@ -0,0 +1,57 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.4.1 | +| \\ / A nd | Web: http://www.openfoam.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ + +FoamFile +{ + version 2.0; + format ascii; + + root "/home2/mnordlun/OpenFOAM/mnordlun-1.4.1/run/pmiCases"; + case "SMAR_MD2_Puffing"; + instance "0"; + local ""; + + class volVectorField; + object U; +} + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 1 -1 0 0 0 0]; + +// Re = 1 = rho=(rho U H)/mu; rho=1.144, mu=1.861e-5; H=0.01 +internalField uniform (1.62589e-4 0 0); + +boundaryField +{ + inlet + { + // type groovyBC; + type fixedValue; + variables "UTarget=1.62589e-4;yMax=max(pts().y);"; + valueExpression "vector(1,0,0)*6*UTarget*pos().y/yMax*(1-pos().y/yMax)"; + value $internalField; + } + outlet + { + type zeroGradient; + } + upperWall + { + type fixedValue; + value uniform (0 0 0); + } + lowerWall + { + type fixedValue; + value uniform (0 0 0); + } +} + + +// ************************************************************************* // diff --git a/tutorials/incompressible/porousSimpleFoam/porousPlug/0/p b/tutorials/incompressible/porousSimpleFoam/porousPlug/0/p new file mode 100644 index 000000000..e6c81ed64 --- /dev/null +++ b/tutorials/incompressible/porousSimpleFoam/porousPlug/0/p @@ -0,0 +1,51 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.4.1 | +| \\ / A nd | Web: http://www.openfoam.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ + +FoamFile +{ + version 2.0; + format ascii; + + root "/home2/mnordlun/OpenFOAM/mnordlun-1.4.1/run/pmiCases"; + case "SMAR_MD2_Puffing"; + instance "0"; + local ""; + + class volScalarField; + object p; +} + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -2 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + inlet + { + type zeroGradient; + } + upperWall + { + type zeroGradient; + } + lowerWall + { + type zeroGradient; + } + outlet + { + type fixedValue; + value $internalField; + } +} + + +// ************************************************************************* // diff --git a/tutorials/incompressible/porousSimpleFoam/porousPlug/constant/RASProperties b/tutorials/incompressible/porousSimpleFoam/porousPlug/constant/RASProperties new file mode 100644 index 000000000..a323c956c --- /dev/null +++ b/tutorials/incompressible/porousSimpleFoam/porousPlug/constant/RASProperties @@ -0,0 +1,26 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.7.1 | +| \\ / A nd | Web: www.OpenFOAM.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format binary; + class dictionary; + location "constant"; + object RASProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +// RASModel kEpsilon; +RASModel laminar; + +turbulence off; + +printCoeffs on; + + +// ************************************************************************* // diff --git a/tutorials/incompressible/porousSimpleFoam/porousPlug/constant/polyMesh/blockMeshDict b/tutorials/incompressible/porousSimpleFoam/porousPlug/constant/polyMesh/blockMeshDict new file mode 100644 index 000000000..3585b5889 --- /dev/null +++ b/tutorials/incompressible/porousSimpleFoam/porousPlug/constant/polyMesh/blockMeshDict @@ -0,0 +1,78 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.5 | +| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object blockMeshDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +convertToMeters 0.1; + +vertices +( + (0 0 -0.1) + (3 0 -0.1) + (3 1 -0.1) + (0 1 -0.1) + (0 0 0.1) + (3 0 0.1) + (3 1 0.1) + (0 1 0.1) // 7 + (5 0 -0.1) + (5 1 -0.1) + (5 0 0.1) // 10 + (5 1 0.1) + (8 0 -0.1) + (8 1 -0.1) + (8 0 0.1) + (8 1 0.1) //15 +); + +blocks +( + hex (0 1 2 3 4 5 6 7) air (60 20 1) simpleGrading (1 1 1) + hex (1 8 9 2 5 10 11 6) poro (40 20 1) simpleGrading (1 1 1) + hex (8 12 13 9 10 14 15 11) air (60 20 1) simpleGrading (1 1 1) +); + +edges +( +); + +patches +( + patch inlet + ( + (0 4 7 3) + ) + patch outlet + ( + (12 14 15 13) + ) + wall upperWall + ( + (2 3 7 6) + (2 6 11 9) + (9 11 15 13) + ) + wall lowerWall + ( + (1 5 4 0) + (1 5 10 8) + (10 8 12 14) + ) +); + +mergePatchPairs +( +); + +// ************************************************************************* // diff --git a/tutorials/incompressible/porousSimpleFoam/porousPlug/constant/polyMesh/boundary b/tutorials/incompressible/porousSimpleFoam/porousPlug/constant/polyMesh/boundary new file mode 100644 index 000000000..441a8c595 --- /dev/null +++ b/tutorials/incompressible/porousSimpleFoam/porousPlug/constant/polyMesh/boundary @@ -0,0 +1,52 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM Extend Project: Open source CFD | +| \\ / O peration | Version: 1.6-ext | +| \\ / A nd | Web: www.extend-project.de | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class polyBoundaryMesh; + location "constant/polyMesh"; + object boundary; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +5 +( + inlet + { + type patch; + nFaces 20; + startFace 6220; + } + outlet + { + type patch; + nFaces 20; + startFace 6240; + } + upperWall + { + type wall; + nFaces 160; + startFace 6260; + } + lowerWall + { + type wall; + nFaces 160; + startFace 6420; + } + defaultFaces + { + type empty; + nFaces 6400; + startFace 6580; + } +) + +// ************************************************************************* // diff --git a/tutorials/incompressible/porousSimpleFoam/porousPlug/constant/porousZones b/tutorials/incompressible/porousSimpleFoam/porousPlug/constant/porousZones new file mode 100644 index 000000000..303fd4b7c --- /dev/null +++ b/tutorials/incompressible/porousSimpleFoam/porousPlug/constant/porousZones @@ -0,0 +1,41 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.7.1 | +| \\ / A nd | Web: www.OpenFOAM.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "constant"; + object porousZones; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +1 +( + poro + { + coordinateSystem + { + e1 (1 0 0); + e2 (0 1 0); + } + + // Da =0.01 = K/H² = K/0.1^2 -> K=1e-4 + // Da =0.001 = K/H² = K/0.1^2 -> K=1e-5 + // ce = 0.2439 -> sqrt(1/K) * ce (24.39 bzw 77.12) + Darcy + { + d d [0 -2 0 0 0 0 0] (1e5 1e5 1e5); + f f [0 -1 0 0 0 0 0] (77.12 77.12 77.12); + // d d [0 -2 0 0 0 0 0] (1e4 1e4 1e4); + // f f [0 -1 0 0 0 0 0] (24.39 24.39 24.39); + } + } +) + +// ************************************************************************* // diff --git a/tutorials/incompressible/porousSimpleFoam/porousPlug/constant/transportProperties b/tutorials/incompressible/porousSimpleFoam/porousPlug/constant/transportProperties new file mode 100644 index 000000000..7f3bedaae --- /dev/null +++ b/tutorials/incompressible/porousSimpleFoam/porousPlug/constant/transportProperties @@ -0,0 +1,21 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.6 | +| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object transportProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +transportModel Newtonian; + +nu nu [0 2 -1 0 0 0 0] 1.5e-05; + +// ************************************************************************* // diff --git a/tutorials/incompressible/porousSimpleFoam/porousPlug/system/controlDict b/tutorials/incompressible/porousSimpleFoam/porousPlug/system/controlDict new file mode 100644 index 000000000..42e6bd9d7 --- /dev/null +++ b/tutorials/incompressible/porousSimpleFoam/porousPlug/system/controlDict @@ -0,0 +1,54 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.7.1 | +| \\ / A nd | Web: www.OpenFOAM.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format binary; + class dictionary; + location "system"; + object controlDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +application rhoPorousSimpleFoam; + +startFrom startTime; + +startTime 0; + +stopAt endTime; + +endTime 100; + +deltaT 1; + +writeControl timeStep; + +writeInterval 10; + +purgeWrite 0; + +writeFormat ascii; + +writePrecision 6; + +writeCompression uncompressed; + +timeFormat general; + +timePrecision 6; + +graphFormat raw; + +runTimeModifiable yes; + +// libs ( +// "libgroovyBC.so" +// ); + +// ************************************************************************* // diff --git a/tutorials/incompressible/porousSimpleFoam/porousPlug/system/fvSchemes b/tutorials/incompressible/porousSimpleFoam/porousPlug/system/fvSchemes new file mode 100644 index 000000000..a70c35e1b --- /dev/null +++ b/tutorials/incompressible/porousSimpleFoam/porousPlug/system/fvSchemes @@ -0,0 +1,64 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.6 | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format binary; + class dictionary; + location "system"; + object fvSchemes; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +ddtSchemes +{ + default steadyState; +} + +gradSchemes +{ + default Gauss linear; + grad(U) Gauss linear; + grad(p) Gauss linear; +} + +divSchemes +{ + div(phi,U) Gauss upwind; + div((nuEff*dev(grad(U).T()))) Gauss linear; + div(phi,epsilon) Gauss upwind; + div(phi,k) Gauss upwind; +} + +laplacianSchemes +{ + laplacian(nuEff,U) Gauss linear corrected; + laplacian(rAU,p) Gauss linear corrected; + laplacian(DepsilonEff,epsilon) Gauss linear corrected; + laplacian(DkEff,k) Gauss linear corrected; + laplacian(1,p) Gauss linear corrected; +} + +interpolationSchemes +{ + default linear; +} + +snGradSchemes +{ + default corrected; +} + +fluxRequired +{ + default no; + p ; +} + + +// ************************************************************************* // diff --git a/tutorials/incompressible/porousSimpleFoam/porousPlug/system/fvSolution b/tutorials/incompressible/porousSimpleFoam/porousPlug/system/fvSolution new file mode 100644 index 000000000..630f30b83 --- /dev/null +++ b/tutorials/incompressible/porousSimpleFoam/porousPlug/system/fvSolution @@ -0,0 +1,88 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.7.1 | +| \\ / A nd | Web: www.OpenFOAM.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format binary; + class dictionary; + location "system"; + object fvSolution; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +solvers +{ + p + { + // solver GAMG; + solver PCG; + tolerance 1e-08; + relTol 0.05; + smoother GaussSeidel; + cacheAgglomeration off; + nCellsInCoarsestLevel 20; + agglomerator faceAreaPair; + mergeLevels 1; + preconditioner DIC; + } + + U + { + solver smoothSolver; + smoother GaussSeidel; + nSweeps 2; + tolerance 1e-06; + relTol 0.1; + } + + h + { + solver PBiCG; + preconditioner DILU; + tolerance 1e-06; + relTol 0.1; + } + + k + { + solver smoothSolver; + smoother GaussSeidel; + nSweeps 2; + tolerance 1e-07; + relTol 0.1; + } + + epsilon + { + solver smoothSolver; + smoother GaussSeidel; + nSweeps 2; + tolerance 1e-07; + relTol 0.1; + } +} + +SIMPLE +{ + nUCorrectors 2; + nNonOrthogonalCorrectors 0; + pMin pMin [ 1 -1 -2 0 0 0 0 ] 100; +} + +relaxationFactors +{ + p 0.3; + rho 0.05; + U 0.7; + k 0.9; + epsilon 0.9; + h 0.9; +} + + +// ************************************************************************* // diff --git a/tutorials/incompressible/porousSimpleFoam/porousPlug/system/sampleDict b/tutorials/incompressible/porousSimpleFoam/porousPlug/system/sampleDict new file mode 100644 index 000000000..f6a09a10b --- /dev/null +++ b/tutorials/incompressible/porousSimpleFoam/porousPlug/system/sampleDict @@ -0,0 +1,105 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.7.1 | +| \\ / A nd | Web: www.OpenFOAM.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ + +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location system; + object sampleDict; +} + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +// Set output format : choice of +// xmgr +// jplot +// gnuplot +// raw +setFormat raw; + +// Surface output format. Choice of +// null : suppress output +// foamFile : separate points, faces and values file +// dx : DX scalar or vector format +// vtk : VTK ascii format +// raw : x y z value format for use with e.g. gnuplot 'splot'. +// +// Note: +// other formats such as obj, stl, etc can also be written (by proxy) +// but without any values! +surfaceFormat vtk; + +// interpolationScheme. choice of +// cell : use cell-centre value only; constant over cells (default) +// cellPoint : use cell-centre and vertex values +// cellPointFace : use cell-centre, vertex and face values. +// 1] vertex values determined from neighbouring cell-centre values +// 2] face values determined using the current face interpolation scheme +// for the field (linear, gamma, etc.) +interpolationScheme cell; + +// Fields to sample. +fields +( + p + U +); + + +// Set sampling definition: choice of +// uniform evenly distributed points on line +// face one point per face intersection +// midPoint one point per cell, inbetween two face intersections +// midPointAndFace combination of face and midPoint +// +// curve specified points, not nessecary on line, uses +// tracking +// cloud specified points, uses findCell +// +// axis: how to write point coordinate. Choice of +// - x/y/z: x/y/z coordinate only +// - xyz: three columns +// (probably does not make sense for anything but raw) +// - distance: distance from start of sampling line (if uses line) or +// distance from first specified sampling point +// +// type specific: +// uniform, face, midPoint, midPointAndFace : start and end coordinate +// uniform: extra number of sampling points +// curve, cloud: list of coordinates +sets +( + centerline + { + type uniform; + axis distance; + + //- cavity. Slightly perturbed so not to align with face or edge. + start (-0.0001 0.0501 0.00001); + end (0.801 0.05001 0.00001); + nPoints 200; + } +); + + +// Surface sampling definition: choice of +// plane : values on plane defined by point, normal. +// patch : values on patch. +// +// 1] patches are not triangulated by default +// 2] planes are always triangulated +// 3] iso-surfaces are always triangulated +surfaces +( + +); + + +// *********************************************************************** //