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:
Mark Olesen
2021-05-17 14:41:39 +02:00
parent 2dbabb242b
commit ec81436cce
19 changed files with 384 additions and 283 deletions

View File

@ -16,10 +16,28 @@ FoamFile
scale 1; scale 1;
// Front/back locations // Geometric parameters
zmin -0.5; rInner 0.5;
rOuter 1;
xmax 2;
ymax 2;
zmin -0.5; // Back/front locations
zmax 0.5; 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 vertices #codeStream
{ {
codeInclude codeInclude
@ -29,30 +47,27 @@ vertices #codeStream
code code
#{ #{
// sin(45), cos(45)
const scalar sqrt05 = sqrt(0.5);
pointField points pointField points
({ ({
/* 0*/ {0.5, 0, $zmin}, /* 0*/ { $rInner, 0, $zmin },
/* 1*/ {1, 0, $zmin}, /* 1*/ { $rOuter, 0, $zmin },
/* 2*/ {2, 0, $zmin}, /* 2*/ { $xmax, 0, $zmin },
/* 3*/ {2, sqrt05, $zmin}, /* 3*/ { $xmax, $rOuter45, $zmin },
/* 4*/ {sqrt05, sqrt05, $zmin}, /* 4*/ { $rOuter45, $rOuter45, $zmin },
/* 5*/ {sqrt05/2, sqrt05/2, $zmin}, /* 5*/ { $rInner45, $rInner45, $zmin },
/* 6*/ {2, 2, $zmin}, /* 6*/ { $xmax, $ymax, $zmin },
/* 7*/ {sqrt05, 2, $zmin}, /* 7*/ { $rOuter45, $ymax, $zmin },
/* 8*/ {0, 2, $zmin}, /* 8*/ { 0, $ymax, $zmin },
/* 9*/ {0, 1, $zmin}, /* 9*/ { 0, $rOuter, $zmin },
/*10*/ {0, 0.5, $zmin}, /*10*/ { 0, $rInner, $zmin },
/*11*/ {-0.5, 0, $zmin}, /*11*/ { -$rInner, 0, $zmin },
/*12*/ {-1, 0, $zmin}, /*12*/ { -$rOuter, 0, $zmin },
/*13*/ {-2, 0, $zmin}, /*13*/ { -$xmax, 0, $zmin },
/*14*/ {-2, sqrt05, $zmin}, /*14*/ { -$xmax, $rOuter45, $zmin },
/*15*/ {-sqrt05, sqrt05, $zmin}, /*15*/ { -$rOuter45, $rOuter45, $zmin },
/*16*/ {-sqrt05/2, sqrt05/2, $zmin}, /*16*/ { -$rInner45, $rInner45, $zmin },
/*17*/ {-2, 2, $zmin}, /*17*/ { -$xmax, $ymax, $zmin },
/*18*/ {-sqrt05, 2, $zmin} /*18*/ { -$rOuter45, $ymax, $zmin }
}); });
// Duplicate z points for zmax // Duplicate z points for zmax
@ -68,19 +83,21 @@ vertices #codeStream
#}; #};
}; };
// Can remove unneeded variables
#remove ( "r(Inner|Outer).*" "[xy](min|max)" )
blocks blocks
( (
hex (5 4 9 10 24 23 28 29) (10 10 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) (10 10 1) simpleGrading (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) (20 10 1) simpleGrading (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) (20 20 1) simpleGrading (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) (10 20 1) simpleGrading (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) (10 10 1) simpleGrading (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) (10 10 1) simpleGrading (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) (20 10 1) simpleGrading (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) (20 20 1) simpleGrading (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) (10 20 1) simpleGrading (1 1 1) hex (15 9 8 18 34 28 27 37) ($nQuarter $nyOuter $nz) grading (1 1 1)
); );
edges edges

View File

@ -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 );
}
// ************************************************************************* //

View File

@ -40,8 +40,6 @@ nz #eval{ round($nz / 5) };
#endif #endif
zmin #eval{ -$zmax }; zmin #eval{ -$zmax };
mrad0 #eval{ -$rad0 };
mrad1 #eval{ -$rad1 };
vertices vertices
( (
@ -52,10 +50,10 @@ vertices
( 0 $rad1 $zmin) // pt 2 ( 0 $rad1 $zmin) // pt 2
( $xin $rad1 $zmin) // pt 3 ( $xin $rad1 $zmin) // pt 3
// outlet region // outlet region
( $xout $mrad1 $zmin) // pt 4 ( $xout -$rad1 $zmin) // pt 4
( 0 $mrad1 $zmin) // pt 5 ( 0 -$rad1 $zmin) // pt 5
( 0 $mrad0 $zmin) // pt 6 ( 0 -$rad0 $zmin) // pt 6
( $xout $mrad0 $zmin) // pt 7 ( $xout -$rad0 $zmin) // pt 7
// bend mid-points // bend mid-points
( $rad0 0 $zmin) // pt 8 ( $rad0 0 $zmin) // pt 8
( $rad1 0 $zmin) // pt 9 ( $rad1 0 $zmin) // pt 9
@ -66,10 +64,10 @@ vertices
( 0 $rad1 $zmax) // pt 2 + 10 ( 0 $rad1 $zmax) // pt 2 + 10
( $xin $rad1 $zmax) // pt 3 + 10 ( $xin $rad1 $zmax) // pt 3 + 10
// outlet region // outlet region
( $xout $mrad1 $zmax) // pt 4 + 10 ( $xout -$rad1 $zmax) // pt 4 + 10
( 0 $mrad1 $zmax) // pt 5 + 10 ( 0 -$rad1 $zmax) // pt 5 + 10
( 0 $mrad0 $zmax) // pt 6 + 10 ( 0 -$rad0 $zmax) // pt 6 + 10
( $xout $mrad0 $zmax) // pt 7 + 10 ( $xout -$rad0 $zmax) // pt 7 + 10
// bend mid-points // bend mid-points
( $rad0 0 $zmax) // pt 8 + 10 ( $rad0 0 $zmax) // pt 8 + 10
( $rad1 0 $zmax) // pt 9 + 10 ( $rad1 0 $zmax) // pt 9 + 10

View File

@ -40,8 +40,6 @@ nz #eval{ round($nz / 5) };
#endif #endif
zmin #eval{ -$zmax }; zmin #eval{ -$zmax };
mrad0 #eval{ -$rad0 };
mrad1 #eval{ -$rad1 };
vertices vertices
( (
@ -52,10 +50,10 @@ vertices
( 0 $rad1 $zmin) // pt 2 ( 0 $rad1 $zmin) // pt 2
( $xin $rad1 $zmin) // pt 3 ( $xin $rad1 $zmin) // pt 3
// outlet region // outlet region
( $xout $mrad1 $zmin) // pt 4 ( $xout -$rad1 $zmin) // pt 4
( 0 $mrad1 $zmin) // pt 5 ( 0 -$rad1 $zmin) // pt 5
( 0 $mrad0 $zmin) // pt 6 ( 0 -$rad0 $zmin) // pt 6
( $xout $mrad0 $zmin) // pt 7 ( $xout -$rad0 $zmin) // pt 7
// bend mid-points // bend mid-points
( $rad0 0 $zmin) // pt 8 ( $rad0 0 $zmin) // pt 8
( $rad1 0 $zmin) // pt 9 ( $rad1 0 $zmin) // pt 9
@ -66,10 +64,10 @@ vertices
( 0 $rad1 $zmax) // pt 2 + 10 ( 0 $rad1 $zmax) // pt 2 + 10
( $xin $rad1 $zmax) // pt 3 + 10 ( $xin $rad1 $zmax) // pt 3 + 10
// outlet region // outlet region
( $xout $mrad1 $zmax) // pt 4 + 10 ( $xout -$rad1 $zmax) // pt 4 + 10
( 0 $mrad1 $zmax) // pt 5 + 10 ( 0 -$rad1 $zmax) // pt 5 + 10
( 0 $mrad0 $zmax) // pt 6 + 10 ( 0 -$rad0 $zmax) // pt 6 + 10
( $xout $mrad0 $zmax) // pt 7 + 10 ( $xout -$rad0 $zmax) // pt 7 + 10
// bend mid-points // bend mid-points
( $rad0 0 $zmax) // pt 8 + 10 ( $rad0 0 $zmax) // pt 8 + 10
( $rad1 0 $zmax) // pt 9 + 10 ( $rad1 0 $zmax) // pt 9 + 10

View File

@ -40,8 +40,6 @@ nz #eval{ round($nz / 5) };
#endif #endif
zmin #eval{ -$zmax }; zmin #eval{ -$zmax };
mrad0 #eval{ -$rad0 };
mrad1 #eval{ -$rad1 };
vertices vertices
( (
@ -52,10 +50,10 @@ vertices
( 0 $rad1 $zmin) // pt 2 ( 0 $rad1 $zmin) // pt 2
( $xin $rad1 $zmin) // pt 3 ( $xin $rad1 $zmin) // pt 3
// outlet region // outlet region
( $xout $mrad1 $zmin) // pt 4 ( $xout -$rad1 $zmin) // pt 4
( 0 $mrad1 $zmin) // pt 5 ( 0 -$rad1 $zmin) // pt 5
( 0 $mrad0 $zmin) // pt 6 ( 0 -$rad0 $zmin) // pt 6
( $xout $mrad0 $zmin) // pt 7 ( $xout -$rad0 $zmin) // pt 7
// bend mid-points // bend mid-points
( $rad0 0 $zmin) // pt 8 ( $rad0 0 $zmin) // pt 8
( $rad1 0 $zmin) // pt 9 ( $rad1 0 $zmin) // pt 9
@ -66,10 +64,10 @@ vertices
( 0 $rad1 $zmax) // pt 2 + 10 ( 0 $rad1 $zmax) // pt 2 + 10
( $xin $rad1 $zmax) // pt 3 + 10 ( $xin $rad1 $zmax) // pt 3 + 10
// outlet region // outlet region
( $xout $mrad1 $zmax) // pt 4 + 10 ( $xout -$rad1 $zmax) // pt 4 + 10
( 0 $mrad1 $zmax) // pt 5 + 10 ( 0 -$rad1 $zmax) // pt 5 + 10
( 0 $mrad0 $zmax) // pt 6 + 10 ( 0 -$rad0 $zmax) // pt 6 + 10
( $xout $mrad0 $zmax) // pt 7 + 10 ( $xout -$rad0 $zmax) // pt 7 + 10
// bend mid-points // bend mid-points
( $rad0 0 $zmax) // pt 8 + 10 ( $rad0 0 $zmax) // pt 8 + 10
( $rad1 0 $zmax) // pt 9 + 10 ( $rad1 0 $zmax) // pt 9 + 10

View File

@ -18,66 +18,91 @@ FoamFile
scale 0.016; scale 0.016;
// Front/back locations // Geometric parameters
zmin 0; rInner 0.5;
rOuter 1;
xmax 2;
ymax 2;
zmin 0; // Back/front locations
zmax 0.5; 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 vertices
( (
(0.5 0 $zmin) /* 0*/ ( $rInner 0 $zmin )
(1 0 $zmin) /* 1*/ ( $rOuter 0 $zmin )
(2 0 $zmin) /* 2*/ ( $xmax 0 $zmin )
(2 0.707107 $zmin) /* 3*/ ( $xmax $rOuter45 $zmin )
(0.707107 0.707107 $zmin) /* 4*/ ( $rOuter45 $rOuter45 $zmin )
(0.353553 0.353553 $zmin) /* 5*/ ( $rInner45 $rInner45 $zmin )
(2 2 $zmin) /* 6*/ ( $xmax $ymax $zmin )
(0.707107 2 $zmin) /* 7*/ ( $rOuter45 $ymax $zmin )
(0 2 $zmin) /* 8*/ ( 0 $ymax $zmin )
(0 1 $zmin) /* 9*/ ( 0 $rOuter $zmin )
(0 0.5 $zmin) /*10*/ ( 0 $rInner $zmin )
(-0.5 0 $zmin) /*11*/ ( -$rInner 0 $zmin )
(-1 0 $zmin) /*12*/ ( -$rOuter 0 $zmin )
(-2 0 $zmin) /*13*/ ( -$xmax 0 $zmin )
(-2 0.707107 $zmin) /*14*/ ( -$xmax $rOuter45 $zmin )
(-0.707107 0.707107 $zmin) /*15*/ ( -$rOuter45 $rOuter45 $zmin )
(-0.353553 0.353553 $zmin) /*16*/ ( -$rInner45 $rInner45 $zmin )
(-2 2 $zmin) /*17*/ ( -$xmax $ymax $zmin )
(-0.707107 2 $zmin) /*18*/ ( -$rOuter45 $ymax $zmin )
(0.5 0 $zmax)
(1 0 $zmax) /*19*/ ( $rInner 0 $zmax )
(2 0 $zmax) /*20*/ ( $rOuter 0 $zmax )
(2 0.707107 $zmax) /*21*/ ( $xmax 0 $zmax )
(0.707107 0.707107 $zmax) /*22*/ ( $xmax $rOuter45 $zmax )
(0.353553 0.353553 $zmax) /*23*/ ( $rOuter45 $rOuter45 $zmax )
(2 2 $zmax) /*24*/ ( $rInner45 $rInner45 $zmax )
(0.707107 2 $zmax) /*25*/ ( $xmax $ymax $zmax )
(0 2 $zmax) /*26*/ ( $rOuter45 $ymax $zmax )
(0 1 $zmax) /*27*/ ( 0 $ymax $zmax )
(0 0.5 $zmax) /*28*/ ( 0 $rOuter $zmax )
(-0.5 0 $zmax) /*29*/ ( 0 $rInner $zmax )
(-1 0 $zmax) /*30*/ ( -$rInner 0 $zmax )
(-2 0 $zmax) /*31*/ ( -$rOuter 0 $zmax )
(-2 0.707107 $zmax) /*32*/ ( -$xmax 0 $zmax )
(-0.707107 0.707107 $zmax) /*33*/ ( -$xmax $rOuter45 $zmax )
(-0.353553 0.353553 $zmax) /*34*/ ( -$rOuter45 $rOuter45 $zmax )
(-2 2 $zmax) /*35*/ ( -$rInner45 $rInner45 $zmax )
(-0.707107 2 $zmax) /*36*/ ( -$xmax $ymax $zmax )
/*37*/ ( -$rOuter45 $ymax $zmax )
); );
// Can remove some unneeded variables
#remove ( "r(Inner|Outer).*" "[xy](min|max)" )
blocks blocks
( (
hex (5 4 9 10 24 23 28 29) (10 10 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) (10 10 1) simpleGrading (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) (20 10 1) simpleGrading (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) (20 20 1) simpleGrading (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) (10 20 1) simpleGrading (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) (10 10 1) simpleGrading (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) (10 10 1) simpleGrading (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) (20 10 1) simpleGrading (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) (20 20 1) simpleGrading (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) (10 20 1) simpleGrading (1 1 1) hex (15 9 8 18 34 28 27 37) ($nQuarter $nyOuter $nz) grading (1 1 1)
); );
edges edges
( (
// Inner cylinder // Inner cylinder

View File

@ -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 );
}
// ************************************************************************* //

View File

@ -46,7 +46,7 @@ timePrecision 6;
runTimeModifiable true; runTimeModifiable true;
// Allow 10% run-up before calculating mean // Allow 10% run-up before calculating mean
timeStart #eval #{ 0.1 * ${/endTime} #}; timeStart #eval{ 0.1 * ${/endTime} };
functions functions

View File

@ -40,8 +40,6 @@ nz #eval{ round($nz / 5) };
#endif #endif
zmin #eval{ -$zmax }; zmin #eval{ -$zmax };
mrad0 #eval{ -$rad0 };
mrad1 #eval{ -$rad1 };
vertices vertices
( (
@ -52,10 +50,10 @@ vertices
( 0 $rad1 $zmin) // pt 2 ( 0 $rad1 $zmin) // pt 2
( $xin $rad1 $zmin) // pt 3 ( $xin $rad1 $zmin) // pt 3
// outlet region // outlet region
( $xout $mrad1 $zmin) // pt 4 ( $xout -$rad1 $zmin) // pt 4
( 0 $mrad1 $zmin) // pt 5 ( 0 -$rad1 $zmin) // pt 5
( 0 $mrad0 $zmin) // pt 6 ( 0 -$rad0 $zmin) // pt 6
( $xout $mrad0 $zmin) // pt 7 ( $xout -$rad0 $zmin) // pt 7
// bend mid-points // bend mid-points
( $rad0 0 $zmin) // pt 8 ( $rad0 0 $zmin) // pt 8
( $rad1 0 $zmin) // pt 9 ( $rad1 0 $zmin) // pt 9
@ -66,10 +64,10 @@ vertices
( 0 $rad1 $zmax) // pt 2 + 10 ( 0 $rad1 $zmax) // pt 2 + 10
( $xin $rad1 $zmax) // pt 3 + 10 ( $xin $rad1 $zmax) // pt 3 + 10
// outlet region // outlet region
( $xout $mrad1 $zmax) // pt 4 + 10 ( $xout -$rad1 $zmax) // pt 4 + 10
( 0 $mrad1 $zmax) // pt 5 + 10 ( 0 -$rad1 $zmax) // pt 5 + 10
( 0 $mrad0 $zmax) // pt 6 + 10 ( 0 -$rad0 $zmax) // pt 6 + 10
( $xout $mrad0 $zmax) // pt 7 + 10 ( $xout -$rad0 $zmax) // pt 7 + 10
// bend mid-points // bend mid-points
( $rad0 0 $zmax) // pt 8 + 10 ( $rad0 0 $zmax) // pt 8 + 10
( $rad1 0 $zmax) // pt 9 + 10 ( $rad1 0 $zmax) // pt 9 + 10

View File

@ -18,64 +18,87 @@ FoamFile
scale 1; scale 1;
// Front/back locations // Geometric parameters
zmin -0.5; rInner 0.5;
rOuter 1;
xmax 2;
ymax 2;
zmin -0.5; // Back/front locations
zmax 0.5; zmax 0.5;
// Divisions: Radial, quarter circumference, outer region and z-directions.
nRadial 10;
nQuarter 10;
nxOuter 20;
nyOuter 20;
nz 11;
// ----------------
// Derived quantities
rInner45 ${{ $rInner * sqrt(0.5) }};
rOuter45 ${{ $rOuter * sqrt(0.5) }};
vertices vertices
( (
(0.5 0 $zmin) /* 0*/ ( $rInner 0 $zmin )
(1 0 $zmin) /* 1*/ ( $rOuter 0 $zmin )
(2 0 $zmin) /* 2*/ ( $xmax 0 $zmin )
(2 0.707107 $zmin) /* 3*/ ( $xmax $rOuter45 $zmin )
(0.707107 0.707107 $zmin) /* 4*/ ( $rOuter45 $rOuter45 $zmin )
(0.353553 0.353553 $zmin) /* 5*/ ( $rInner45 $rInner45 $zmin )
(2 2 $zmin) /* 6*/ ( $xmax $ymax $zmin )
(0.707107 2 $zmin) /* 7*/ ( $rOuter45 $ymax $zmin )
(0 2 $zmin) /* 8*/ ( 0 $ymax $zmin )
(0 1 $zmin) /* 9*/ ( 0 $rOuter $zmin )
(0 0.5 $zmin) /*10*/ ( 0 $rInner $zmin )
(-0.5 0 $zmin) /*11*/ ( -$rInner 0 $zmin )
(-1 0 $zmin) /*12*/ ( -$rOuter 0 $zmin )
(-2 0 $zmin) /*13*/ ( -$xmax 0 $zmin )
(-2 0.707107 $zmin) /*14*/ ( -$xmax $rOuter45 $zmin )
(-0.707107 0.707107 $zmin) /*15*/ ( -$rOuter45 $rOuter45 $zmin )
(-0.353553 0.353553 $zmin) /*16*/ ( -$rInner45 $rInner45 $zmin )
(-2 2 $zmin) /*17*/ ( -$xmax $ymax $zmin )
(-0.707107 2 $zmin) /*18*/ ( -$rOuter45 $ymax $zmin )
(0.5 0 $zmax)
(1 0 $zmax) /*19*/ ( $rInner 0 $zmax )
(2 0 $zmax) /*20*/ ( $rOuter 0 $zmax )
(2 0.707107 $zmax) /*21*/ ( $xmax 0 $zmax )
(0.707107 0.707107 $zmax) /*22*/ ( $xmax $rOuter45 $zmax )
(0.353553 0.353553 $zmax) /*23*/ ( $rOuter45 $rOuter45 $zmax )
(2 2 $zmax) /*24*/ ( $rInner45 $rInner45 $zmax )
(0.707107 2 $zmax) /*25*/ ( $xmax $ymax $zmax )
(0 2 $zmax) /*26*/ ( $rOuter45 $ymax $zmax )
(0 1 $zmax) /*27*/ ( 0 $ymax $zmax )
(0 0.5 $zmax) /*28*/ ( 0 $rOuter $zmax )
(-0.5 0 $zmax) /*29*/ ( 0 $rInner $zmax )
(-1 0 $zmax) /*30*/ ( -$rInner 0 $zmax )
(-2 0 $zmax) /*31*/ ( -$rOuter 0 $zmax )
(-2 0.707107 $zmax) /*32*/ ( -$xmax 0 $zmax )
(-0.707107 0.707107 $zmax) /*33*/ ( -$xmax $rOuter45 $zmax )
(-0.353553 0.353553 $zmax) /*34*/ ( -$rOuter45 $rOuter45 $zmax )
(-2 2 $zmax) /*35*/ ( -$rInner45 $rInner45 $zmax )
(-0.707107 2 $zmax) /*36*/ ( -$xmax $ymax $zmax )
/*37*/ ( -$rOuter45 $ymax $zmax )
); );
// Can remove some unneeded variables
#remove ( "r(Inner|Outer).*" "[xy](min|max)" )
blocks blocks
( (
hex (5 4 9 10 24 23 28 29) (10 10 11) 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) (10 10 11) simpleGrading (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) (20 10 11) simpleGrading (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) (20 20 11) simpleGrading (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) (10 20 11) simpleGrading (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) (10 10 11) simpleGrading (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) (10 10 11) simpleGrading (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) (20 10 11) simpleGrading (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) (20 20 11) simpleGrading (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) (10 20 11) simpleGrading (1 1 1) hex (15 9 8 18 34 28 27 37) ($nQuarter $nyOuter $nz) grading (1 1 1)
); );
edges edges

View File

@ -34,20 +34,19 @@ geometry
} }
} }
// Box sizes // Box size
vo #eval{ sqrt($outerRadius/3) }; vo #eval{ sqrt($outerRadius/3) };
mvo #eval{ -$vo };
vertices vertices
( (
($mvo $mvo $mvo) (-$vo -$vo -$vo)
( $vo $mvo $mvo) ( $vo -$vo -$vo)
( $vo $vo $mvo) ( $vo $vo -$vo)
($mvo $vo $mvo) (-$vo $vo -$vo)
($mvo $mvo $vo) (-$vo -$vo $vo)
( $vo $mvo $vo) ( $vo -$vo $vo)
( $vo $vo $vo) ( $vo $vo $vo)
($mvo $vo $vo) (-$vo $vo $vo)
); );
blocks blocks

View File

@ -37,35 +37,33 @@ geometry
} }
} }
// Outer box sizes // Outer box size
vo #eval{ sqrt($outerRadius/3) }; vo #eval{ sqrt($outerRadius/3) };
mvo #eval{ -$vo };
// Inner box sizes - % of overall dimension // Inner box size - % of overall dimension
vi #eval{ $vo * $innerRatio }; vi #eval{ $vo * $innerRatio };
mvi #eval{ -$vi };
vertices vertices
( (
// Inner block // Inner block
($mvi $mvi $mvi) (-$vi -$vi -$vi)
( $vi $mvi $mvi) ( $vi -$vi -$vi)
( $vi $vi $mvi) ( $vi $vi -$vi)
($mvi $vi $mvi) (-$vi $vi -$vi)
($mvi $mvi $vi) (-$vi -$vi $vi)
( $vi $mvi $vi) ( $vi -$vi $vi)
( $vi $vi $vi) ( $vi $vi $vi)
($mvi $vi $vi) (-$vi $vi $vi)
// Outer blocks // Outer blocks
($mvo $mvo $mvo) (-$vo -$vo -$vo)
( $vo $mvo $mvo) ( $vo -$vo -$vo)
( $vo $vo $mvo) ( $vo $vo -$vo)
($mvo $vo $mvo) (-$vo $vo -$vo)
($mvo $mvo $vo) (-$vo -$vo $vo)
( $vo $mvo $vo) ( $vo -$vo $vo)
( $vo $vo $vo) ( $vo $vo $vo)
($mvo $vo $vo) (-$vo $vo $vo)
); );
blocks blocks

View File

@ -44,35 +44,33 @@ geometry
} }
// Outer box sizes (approximate) // Outer box size (approximate)
vo #eval{ sqrt($outerRadius/3) }; vo #eval{ sqrt($outerRadius/3) };
mvo #eval{ -$vo };
// Inner box sizes - % of overall dimension // Inner box size - % of overall dimension
vi #eval{ $vo * $innerRatio }; vi #eval{ $vo * $innerRatio };
mvi #eval{ -$vi };
vertices vertices
( (
// Inner block points // Inner block points
project ($mvi $mvi $mvi) (innerSphere) project (-$vi -$vi -$vi) (innerSphere)
project ( $vi $mvi $mvi) (innerSphere) project ( $vi -$vi -$vi) (innerSphere)
project ( $vi $vi $mvi) (innerSphere) project ( $vi $vi -$vi) (innerSphere)
project ($mvi $vi $mvi) (innerSphere) project (-$vi $vi -$vi) (innerSphere)
project ($mvi $mvi $vi) (innerSphere) project (-$vi -$vi $vi) (innerSphere)
project ( $vi $mvi $vi) (innerSphere) project ( $vi -$vi $vi) (innerSphere)
project ( $vi $vi $vi) (innerSphere) project ( $vi $vi $vi) (innerSphere)
project ($mvi $vi $vi) (innerSphere) project (-$vi $vi $vi) (innerSphere)
// Outer block points // Outer block points
project ($mvo $mvo $mvo) (sphere) project (-$vo -$vo -$vo) (sphere)
project ( $vo $mvo $mvo) (sphere) project ( $vo -$vo -$vo) (sphere)
project ( $vo $vo $mvo) (sphere) project ( $vo $vo -$vo) (sphere)
project ($mvo $vo $mvo) (sphere) project (-$vo $vo -$vo) (sphere)
project ($mvo $mvo $vo) (sphere) project (-$vo -$vo $vo) (sphere)
project ( $vo $mvo $vo) (sphere) project ( $vo -$vo $vo) (sphere)
project ( $vo $vo $vo) (sphere) project ( $vo $vo $vo) (sphere)
project ($mvo $vo $vo) (sphere) project (-$vo $vo $vo) (sphere)
); );
blocks blocks

View File

@ -44,47 +44,42 @@ geometry
innerSphere innerSphere
{ {
$sphere $sphere
radius radius #eval{ $innerRatio*$[(vector) ../sphere/radius] };
(
#eval{ $rxo * $innerRatio }
#eval{ $ryo * $innerRatio }
#eval{ $rzo * $innerRatio }
);
} }
} }
// Outer box sizes (approximate) // Outer box sizes (approximate)
vxo #eval{ sqrt(1.0/3.0) * $rxo }; mvxo #eval{ -$vxo }; vxo #eval{ sqrt(1.0/3.0) * $rxo };
vyo #eval{ sqrt(1.0/3.0) * $ryo }; mvyo #eval{ -$vyo }; vyo #eval{ sqrt(1.0/3.0) * $ryo };
vzo #eval{ sqrt(1.0/3.0) * $rzo }; mvzo #eval{ -$vzo }; vzo #eval{ sqrt(1.0/3.0) * $rzo };
// Inner box sizes - % of overall dimension // Inner box sizes - % of overall dimension
vxi #eval{ $vxo * $innerRatio }; mvxi #eval{ -$vxi }; vxi #eval{ $vxo * $innerRatio };
vyi #eval{ $vyo * $innerRatio }; mvyi #eval{ -$vyi }; vyi #eval{ $vyo * $innerRatio };
vzi #eval{ $vzo * $innerRatio }; mvzi #eval{ -$vzi }; vzi #eval{ $vzo * $innerRatio };
vertices vertices
( (
// Inner block points // Inner block points
project ($mvxi $mvyi $mvzi) (innerSphere) project (-$vxi -$vyi -$vzi) (innerSphere)
project ( $vxi $mvyi $mvzi) (innerSphere) project ( $vxi -$vyi -$vzi) (innerSphere)
project ( $vxi $vyi $mvzi) (innerSphere) project ( $vxi $vyi -$vzi) (innerSphere)
project ($mvxi $vyi $mvzi) (innerSphere) project (-$vxi $vyi -$vzi) (innerSphere)
project ($mvxi $mvyi $vzi) (innerSphere) project (-$vxi -$vyi $vzi) (innerSphere)
project ( $vxi $mvyi $vzi) (innerSphere) project ( $vxi -$vyi $vzi) (innerSphere)
project ( $vxi $vyi $vzi) (innerSphere) project ( $vxi $vyi $vzi) (innerSphere)
project ($mvxi $vyi $vzi) (innerSphere) project (-$vxi $vyi $vzi) (innerSphere)
// Outer block points // Outer block points
project ($mvxo $mvyo $mvzo) (sphere) project (-$vxo -$vyo -$vzo) (sphere)
project ( $vxo $mvyo $mvzo) (sphere) project ( $vxo -$vyo -$vzo) (sphere)
project ( $vxo $vyo $mvzo) (sphere) project ( $vxo $vyo -$vzo) (sphere)
project ($mvxo $vyo $mvzo) (sphere) project (-$vxo $vyo -$vzo) (sphere)
project ($mvxo $mvyo $vzo) (sphere) project (-$vxo -$vyo $vzo) (sphere)
project ( $vxo $mvyo $vzo) (sphere) project ( $vxo -$vyo $vzo) (sphere)
project ( $vxo $vyo $vzo) (sphere) project ( $vxo $vyo $vzo) (sphere)
project ($mvxo $vyo $vzo) (sphere) project (-$vxo $vyo $vzo) (sphere)
); );
blocks blocks

View File

@ -37,21 +37,21 @@ geometry
} }
// Box sizes // Box sizes
vxo #eval{sqrt(1.0/3.0) * $rxo}; mvxo #eval{-$vxo}; vxo ${{sqrt(1.0/3.0) * $rxo}};
vyo #eval{sqrt(1.0/3.0) * $ryo}; mvyo #eval{-$vyo}; vyo ${{sqrt(1.0/3.0) * $ryo}};
vzo #eval{sqrt(1.0/3.0) * $rzo}; mvzo #eval{-$vzo}; vzo ${{sqrt(1.0/3.0) * $rzo}};
vertices vertices
( (
// Outer block points // Outer block points
project ($mvxo $mvyo $mvzo) (sphere) project (-$vxo -$vyo -$vzo) (sphere)
project ( $vxo $mvyo $mvzo) (sphere) project ( $vxo -$vyo -$vzo) (sphere)
project ( $vxo $vyo $mvzo) (sphere) project ( $vxo $vyo -$vzo) (sphere)
project ($mvxo $vyo $mvzo) (sphere) project (-$vxo $vyo -$vzo) (sphere)
project ($mvxo $mvyo $vzo) (sphere) project (-$vxo -$vyo $vzo) (sphere)
project ( $vxo $mvyo $vzo) (sphere) project ( $vxo -$vyo $vzo) (sphere)
project ( $vxo $vyo $vzo) (sphere) project ( $vxo $vyo $vzo) (sphere)
project ($mvxo $vyo $vzo) (sphere) project (-$vxo $vyo $vzo) (sphere)
); );
blocks blocks

View File

@ -25,7 +25,7 @@ boundaryField
type rotatingWallVelocity; type rotatingWallVelocity;
axis (0 1 0); axis (0 1 0);
origin (0 0 0); origin (0 0 0);
omega constant #eval{ 2.1 * (2*pi()) }; // rev/s -> rads/s omega constant ${{ 2.1 * (2*pi()) }}; // rev/s -> rads/s
value uniform (0 0 0); value uniform (0 0 0);
} }

View File

@ -26,7 +26,7 @@ boundaryField
type rotatingWallVelocity; type rotatingWallVelocity;
axis (0 1 0); axis (0 1 0);
origin (0 0 0); origin (0 0 0);
omega constant #eval{ 2.1 * (2*pi()) }; // rev/s -> rads/s omega constant ${{ 2.1 * (2*pi()) }}; // rev/s -> rads/s
value uniform (0 0 0); value uniform (0 0 0);
} }
vessel vessel

View File

@ -49,7 +49,7 @@ adjustTimeStep false;
// Allow 10% of time for initialisation before sampling // Allow 10% of time for initialisation before sampling
timeStart #eval #{ 0.1 * ${/endTime} #}; timeStart #eval{ 0.1 * ${/endTime} };
functions functions
{ {