mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
TUT: generalize (parameterize) blockMeshDict for half-cylinder geometries
- profit from some of the recent modifications to parser expansion TUT: adjust some #eval statements for less clutter
This commit is contained in:
@ -18,66 +18,91 @@ FoamFile
|
||||
|
||||
scale 0.016;
|
||||
|
||||
// Front/back locations
|
||||
zmin 0;
|
||||
zmax 0.5;
|
||||
// Geometric parameters
|
||||
rInner 0.5;
|
||||
rOuter 1;
|
||||
xmax 2;
|
||||
ymax 2;
|
||||
|
||||
zmin 0; // 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) }};
|
||||
xmin ${{ -$xmax }};
|
||||
|
||||
vertices
|
||||
(
|
||||
(0.5 0 $zmin)
|
||||
(1 0 $zmin)
|
||||
(2 0 $zmin)
|
||||
(2 0.707107 $zmin)
|
||||
(0.707107 0.707107 $zmin)
|
||||
(0.353553 0.353553 $zmin)
|
||||
(2 2 $zmin)
|
||||
(0.707107 2 $zmin)
|
||||
(0 2 $zmin)
|
||||
(0 1 $zmin)
|
||||
(0 0.5 $zmin)
|
||||
(-0.5 0 $zmin)
|
||||
(-1 0 $zmin)
|
||||
(-2 0 $zmin)
|
||||
(-2 0.707107 $zmin)
|
||||
(-0.707107 0.707107 $zmin)
|
||||
(-0.353553 0.353553 $zmin)
|
||||
(-2 2 $zmin)
|
||||
(-0.707107 2 $zmin)
|
||||
(0.5 0 $zmax)
|
||||
(1 0 $zmax)
|
||||
(2 0 $zmax)
|
||||
(2 0.707107 $zmax)
|
||||
(0.707107 0.707107 $zmax)
|
||||
(0.353553 0.353553 $zmax)
|
||||
(2 2 $zmax)
|
||||
(0.707107 2 $zmax)
|
||||
(0 2 $zmax)
|
||||
(0 1 $zmax)
|
||||
(0 0.5 $zmax)
|
||||
(-0.5 0 $zmax)
|
||||
(-1 0 $zmax)
|
||||
(-2 0 $zmax)
|
||||
(-2 0.707107 $zmax)
|
||||
(-0.707107 0.707107 $zmax)
|
||||
(-0.353553 0.353553 $zmax)
|
||||
(-2 2 $zmax)
|
||||
(-0.707107 2 $zmax)
|
||||
/* 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 )
|
||||
|
||||
/*19*/ ( $rInner 0 $zmax )
|
||||
/*20*/ ( $rOuter 0 $zmax )
|
||||
/*21*/ ( $xmax 0 $zmax )
|
||||
/*22*/ ( $xmax $rOuter45 $zmax )
|
||||
/*23*/ ( $rOuter45 $rOuter45 $zmax )
|
||||
/*24*/ ( $rInner45 $rInner45 $zmax )
|
||||
/*25*/ ( $xmax $ymax $zmax )
|
||||
/*26*/ ( $rOuter45 $ymax $zmax )
|
||||
/*27*/ ( 0 $ymax $zmax )
|
||||
/*28*/ ( 0 $rOuter $zmax )
|
||||
/*29*/ ( 0 $rInner $zmax )
|
||||
/*30*/ ( -$rInner 0 $zmax )
|
||||
/*31*/ ( -$rOuter 0 $zmax )
|
||||
/*32*/ ( -$xmax 0 $zmax )
|
||||
/*33*/ ( -$xmax $rOuter45 $zmax )
|
||||
/*34*/ ( -$rOuter45 $rOuter45 $zmax )
|
||||
/*35*/ ( -$rInner45 $rInner45 $zmax )
|
||||
/*36*/ ( -$xmax $ymax $zmax )
|
||||
/*37*/ ( -$rOuter45 $ymax $zmax )
|
||||
);
|
||||
|
||||
// Can remove some unneeded variables
|
||||
#remove ( "r(Inner|Outer).*" "[xy](min|max)" )
|
||||
|
||||
|
||||
blocks
|
||||
(
|
||||
hex (5 4 9 10 24 23 28 29) (10 10 1) simpleGrading (1 1 1)
|
||||
hex (0 1 4 5 19 20 23 24) (10 10 1) simpleGrading (1 1 1)
|
||||
hex (1 2 3 4 20 21 22 23) (20 10 1) simpleGrading (1 1 1)
|
||||
hex (4 3 6 7 23 22 25 26) (20 20 1) simpleGrading (1 1 1)
|
||||
hex (9 4 7 8 28 23 26 27) (10 20 1) simpleGrading (1 1 1)
|
||||
hex (15 16 10 9 34 35 29 28) (10 10 1) simpleGrading (1 1 1)
|
||||
hex (12 11 16 15 31 30 35 34) (10 10 1) simpleGrading (1 1 1)
|
||||
hex (13 12 15 14 32 31 34 33) (20 10 1) simpleGrading (1 1 1)
|
||||
hex (14 15 18 17 33 34 37 36) (20 20 1) simpleGrading (1 1 1)
|
||||
hex (15 9 8 18 34 28 27 37) (10 20 1) simpleGrading (1 1 1)
|
||||
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
|
||||
|
||||
@ -0,0 +1,27 @@
|
||||
/*--------------------------------*- 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 decomposeParDict;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
numberOfSubdomains 4;
|
||||
|
||||
method simple;
|
||||
|
||||
coeffs
|
||||
{
|
||||
n ( 2 2 1 );
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
Reference in New Issue
Block a user