186 lines
4.7 KiB
C++
186 lines
4.7 KiB
C++
/*--------------------------------*- C++ -*----------------------------------*\
|
|
| ========= | |
|
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
|
| \\ / O peration | Version: v2412 |
|
|
| \\ / A nd | Website: www.openfoam.com |
|
|
| \\/ M anipulation | |
|
|
\*---------------------------------------------------------------------------*/
|
|
FoamFile
|
|
{
|
|
version 2.0;
|
|
format ascii;
|
|
class dictionary;
|
|
object blockMeshDict;
|
|
}
|
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
|
|
scale 1;
|
|
|
|
// Geometric parameters
|
|
rInner 0.5;
|
|
rOuter 1;
|
|
xmax 2;
|
|
ymax 2;
|
|
|
|
zmin -0.5; // Back/front locations
|
|
zmax 0.5;
|
|
|
|
// Divisions: Radial, quarter circumference, outer region and z-directions.
|
|
nRadial 10;
|
|
nQuarter 10;
|
|
nxOuter 20;
|
|
nyOuter 20;
|
|
nz 1;
|
|
|
|
// ----------------
|
|
|
|
// Derived quantities
|
|
rInner45 ${{ $rInner * sqrt(0.5) }};
|
|
rOuter45 ${{ $rOuter * sqrt(0.5) }};
|
|
|
|
vertices #codeStream
|
|
{
|
|
codeInclude
|
|
#{
|
|
#include "pointField.H"
|
|
#};
|
|
|
|
code
|
|
#{
|
|
pointField points
|
|
({
|
|
/* 0*/ { $rInner, 0, $zmin },
|
|
/* 1*/ { $rOuter, 0, $zmin },
|
|
/* 2*/ { $xmax, 0, $zmin },
|
|
/* 3*/ { $xmax, $rOuter45, $zmin },
|
|
/* 4*/ { $rOuter45, $rOuter45, $zmin },
|
|
/* 5*/ { $rInner45, $rInner45, $zmin },
|
|
/* 6*/ { $xmax, $ymax, $zmin },
|
|
/* 7*/ { $rOuter45, $ymax, $zmin },
|
|
/* 8*/ { 0, $ymax, $zmin },
|
|
/* 9*/ { 0, $rOuter, $zmin },
|
|
/*10*/ { 0, $rInner, $zmin },
|
|
/*11*/ { -$rInner, 0, $zmin },
|
|
/*12*/ { -$rOuter, 0, $zmin },
|
|
/*13*/ { -$xmax, 0, $zmin },
|
|
/*14*/ { -$xmax, $rOuter45, $zmin },
|
|
/*15*/ { -$rOuter45, $rOuter45, $zmin },
|
|
/*16*/ { -$rInner45, $rInner45, $zmin },
|
|
/*17*/ { -$xmax, $ymax, $zmin },
|
|
/*18*/ { -$rOuter45, $ymax, $zmin }
|
|
});
|
|
|
|
// Duplicate z points for zmax
|
|
const label sz = points.size();
|
|
points.resize(2*sz);
|
|
for (label i = 0; i < sz; ++i)
|
|
{
|
|
const point& pt = points[i];
|
|
points[i + sz] = point(pt.x(), pt.y(), $zmax);
|
|
}
|
|
|
|
os << points;
|
|
#};
|
|
};
|
|
|
|
// Can remove unneeded variables
|
|
#remove ( "r(Inner|Outer).*" "[xy](min|max)" )
|
|
|
|
blocks
|
|
(
|
|
hex (5 4 9 10 24 23 28 29) ($nRadial $nQuarter $nz) grading (1 1 1)
|
|
hex (0 1 4 5 19 20 23 24) ($nRadial $nQuarter $nz) grading (1 1 1)
|
|
hex (1 2 3 4 20 21 22 23) ($nxOuter $nQuarter $nz) grading (1 1 1)
|
|
hex (4 3 6 7 23 22 25 26) ($nxOuter $nyOuter $nz) grading (1 1 1)
|
|
hex (9 4 7 8 28 23 26 27) ($nQuarter $nyOuter $nz) grading (1 1 1)
|
|
hex (15 16 10 9 34 35 29 28) ($nRadial $nQuarter $nz) grading (1 1 1)
|
|
hex (12 11 16 15 31 30 35 34) ($nRadial $nQuarter $nz) grading (1 1 1)
|
|
hex (13 12 15 14 32 31 34 33) ($nxOuter $nQuarter $nz) grading (1 1 1)
|
|
hex (14 15 18 17 33 34 37 36) ($nxOuter $nyOuter $nz) grading (1 1 1)
|
|
hex (15 9 8 18 34 28 27 37) ($nQuarter $nyOuter $nz) grading (1 1 1)
|
|
);
|
|
|
|
edges
|
|
(
|
|
// Inner cylinder
|
|
arc 0 5 origin (0 0 $zmin)
|
|
arc 5 10 origin (0 0 $zmin)
|
|
arc 1 4 origin (0 0 $zmin)
|
|
arc 4 9 origin (0 0 $zmin)
|
|
arc 19 24 origin (0 0 $zmax)
|
|
arc 24 29 origin (0 0 $zmax)
|
|
arc 20 23 origin (0 0 $zmax)
|
|
arc 23 28 origin (0 0 $zmax)
|
|
// Intermediate cylinder
|
|
arc 11 16 origin (0 0 $zmin)
|
|
arc 16 10 origin (0 0 $zmin)
|
|
arc 12 15 origin (0 0 $zmin)
|
|
arc 15 9 origin (0 0 $zmin)
|
|
arc 30 35 origin (0 0 $zmax)
|
|
arc 35 29 origin (0 0 $zmax)
|
|
arc 31 34 origin (0 0 $zmax)
|
|
arc 34 28 origin (0 0 $zmax)
|
|
);
|
|
|
|
boundary
|
|
(
|
|
down
|
|
{
|
|
type symmetryPlane;
|
|
faces
|
|
(
|
|
(0 1 20 19)
|
|
(1 2 21 20)
|
|
(12 11 30 31)
|
|
(13 12 31 32)
|
|
);
|
|
}
|
|
right
|
|
{
|
|
type patch;
|
|
faces
|
|
(
|
|
(2 3 22 21)
|
|
(3 6 25 22)
|
|
);
|
|
}
|
|
up
|
|
{
|
|
type symmetryPlane;
|
|
faces
|
|
(
|
|
(7 8 27 26)
|
|
(6 7 26 25)
|
|
(8 18 37 27)
|
|
(18 17 36 37)
|
|
);
|
|
}
|
|
left
|
|
{
|
|
type patch;
|
|
faces
|
|
(
|
|
(14 13 32 33)
|
|
(17 14 33 36)
|
|
);
|
|
}
|
|
cylinder
|
|
{
|
|
type symmetry;
|
|
faces
|
|
(
|
|
(10 5 24 29)
|
|
(5 0 19 24)
|
|
(16 10 29 35)
|
|
(11 16 35 30)
|
|
);
|
|
}
|
|
);
|
|
|
|
mergePatchPairs
|
|
(
|
|
);
|
|
|
|
|
|
// ************************************************************************* //
|