openfoam/tutorials/incompressible/pimpleFoam/LES/periodicHill/transient/system/blockMeshDict
2021-06-22 22:41:41 +00:00

188 lines
4.3 KiB
C++

/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: v2012 |
| \\ / A nd | Website: www.openfoam.com |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object blockMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
scale 0.001;
vertices
(
( 0 28 0) // 0
(252 28 0) // 1
(252 85 0) // 2
( 0 85 0) // 3
( 0 28 126) // 4
(252 28 126) // 5
(252 85 126) // 6
( 0 85 126) // 7
);
blocks
(
hex (0 1 2 3 4 5 6 7) (200 160 80)
simpleGrading (1 ((0.5 0.5 100)(0.5 0.5 0.01)) 1)
);
edges #codeStream
{
codeInclude
#{
#include "pointField.H"
#include "mathematicalConstants.H"
#};
code
#{
const scalar xMin = 0;
const scalar xMax = 252;
const label nPoints = 1000;
const scalar dx = (xMax - xMin)/scalar(nPoints - 1);
os << "(" << nl << "spline 0 1" << nl;
pointField profile(nPoints);
for (label i = 0; i < nPoints; ++i)
{
scalar x = xMin + i*dx;
profile[i].x() = x;
if (x > 198) x = 252 - x;
if (x >= 0 && x < 9)
{
profile[i].y() =
28
+ 6.775070969851E-03*x*x
- 2.124527775800E-03*x*x*x;
}
else if (x >= 9 && x < 14)
{
profile[i].y() =
25.07355893131
+ 0.9754803562315*x
- 1.016116352781E-01*x*x
+ 1.889794677828E-03*x*x*x;
}
else if (x >= 14 && x < 20)
{
profile[i].y() =
2.579601052357E+01
+ 8.206693007457E-01*x
- 9.055370274339E-02*x*x
+ 1.626510569859E-03*x*x*x;
}
else if (x >= 20 && x < 30)
{
profile[i].y() =
4.046435022819E+01
- 1.379581654948E+00*x
+ 1.945884504128E-02*x*x
- 2.070318932190E-04*x*x*x;
}
else if (x >= 30 && x < 40)
{
profile[i].y() =
1.792461334664E+01
+ 8.743920332081E-01*x
- 5.567361123058E-02*x*x
+ 6.277731764683E-04*x*x*x;
}
else if (x >= 40 && x < 54)
{
profile[i].y() =
max
(
0,
5.639011190988E+01
- 2.010520359035E+00*x
+ 1.644919857549E-02*x*x
+ 2.674976141766E-05*x*x*x
);
}
profile[i].z() = 0;
}
os << profile << nl;
os << "spline 4 5" << nl;
profile.replace(2, 126);
os << profile << nl;
os << ");" << nl;
#};
};
boundary
(
inlet
{
type cyclic;
neighbourPatch outlet;
faces
(
(0 4 7 3)
);
}
outlet
{
type cyclic;
neighbourPatch inlet;
faces
(
(1 2 6 5)
);
}
top
{
type wall;
faces
(
(3 7 6 2)
);
}
hills
{
type wall;
faces
(
(1 5 4 0)
);
}
front
{
type cyclic;
neighbourPatch back;
faces
(
(0 3 2 1)
);
}
back
{
type cyclic;
neighbourPatch front;
faces
(
(4 5 6 7)
);
}
);
mergePatchPairs
(
);
// ************************************************************************* //