TUT: use new 'arc' specification in several tutorials

- in most cases this eliminates manually calculation of circumferential
  points.

TUT: improve parameterization of sphere blockMeshDict

- allow separate parameterization of radius, ratio of inner to outer,
  and the number of divisions in x/y/z and radial directions
This commit is contained in:
Mark Olesen 2020-10-05 12:48:54 +02:00
parent 1d08ed9be2
commit 121c69ef2e
21 changed files with 786 additions and 715 deletions

View File

@ -16,6 +16,10 @@ FoamFile
scale 1;
// Front/back locations
zmin -0.5;
zmax 0.5;
vertices #codeStream
{
codeInclude
@ -25,34 +29,39 @@ vertices #codeStream
code
#{
pointField points(19);
points[0] = point(0.5, 0, -0.5);
points[1] = point(1, 0, -0.5);
points[2] = point(2, 0, -0.5);
points[3] = point(2, 0.707107, -0.5);
points[4] = point(0.707107, 0.707107, -0.5);
points[5] = point(0.353553, 0.353553, -0.5);
points[6] = point(2, 2, -0.5);
points[7] = point(0.707107, 2, -0.5);
points[8] = point(0, 2, -0.5);
points[9] = point(0, 1, -0.5);
points[10] = point(0, 0.5, -0.5);
points[11] = point(-0.5, 0, -0.5);
points[12] = point(-1, 0, -0.5);
points[13] = point(-2, 0, -0.5);
points[14] = point(-2, 0.707107, -0.5);
points[15] = point(-0.707107, 0.707107, -0.5);
points[16] = point(-0.353553, 0.353553, -0.5);
points[17] = point(-2, 2, -0.5);
points[18] = point(-0.707107, 2, -0.5);
// sin(45), cos(45)
const scalar sqrt05 = sqrt(0.5);
// Duplicate z points
label sz = points.size();
points.setSize(2*sz);
for (label i = 0; i < sz; i++)
pointField points
({
/* 0*/ {0.5, 0, $zmin},
/* 1*/ {1, 0, $zmin},
/* 2*/ {2, 0, $zmin},
/* 3*/ {2, sqrt05, $zmin},
/* 4*/ {sqrt05, sqrt05, $zmin},
/* 5*/ {sqrt05/2, sqrt05/2, $zmin},
/* 6*/ {2, 2, $zmin},
/* 7*/ {sqrt05, 2, $zmin},
/* 8*/ {0, 2, $zmin},
/* 9*/ {0, 1, $zmin},
/*10*/ {0, 0.5, $zmin},
/*11*/ {-0.5, 0, $zmin},
/*12*/ {-1, 0, $zmin},
/*13*/ {-2, 0, $zmin},
/*14*/ {-2, sqrt05, $zmin},
/*15*/ {-sqrt05, sqrt05, $zmin},
/*16*/ {-sqrt05/2, sqrt05/2, $zmin},
/*17*/ {-2, 2, $zmin},
/*18*/ {-sqrt05, 2, $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(), -pt.z());
points[i + sz] = point(pt.x(), pt.y(), $zmax);
}
os << points;
@ -76,22 +85,24 @@ blocks
edges
(
arc 0 5 (0.469846 0.17101 -0.5)
arc 5 10 (0.17101 0.469846 -0.5)
arc 1 4 (0.939693 0.34202 -0.5)
arc 4 9 (0.34202 0.939693 -0.5)
arc 19 24 (0.469846 0.17101 0.5)
arc 24 29 (0.17101 0.469846 0.5)
arc 20 23 (0.939693 0.34202 0.5)
arc 23 28 (0.34202 0.939693 0.5)
arc 11 16 (-0.469846 0.17101 -0.5)
arc 16 10 (-0.17101 0.469846 -0.5)
arc 12 15 (-0.939693 0.34202 -0.5)
arc 15 9 (-0.34202 0.939693 -0.5)
arc 30 35 (-0.469846 0.17101 0.5)
arc 35 29 (-0.17101 0.469846 0.5)
arc 31 34 (-0.939693 0.34202 0.5)
arc 34 28 (-0.34202 0.939693 0.5)
// 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

View File

@ -73,21 +73,22 @@ blocks
edges
(
arc 8 9 (-3.46410161513775 2 0)
arc 9 10 (-4 0 0)
arc 10 11 (-3.46410161513775 2 0)
arc 11 13 ( 0 4 0)
arc 13 12 ( 4 0 0)
arc 12 8 ( 0 -4 0)
arc 8 9 origin (0 0 0)
arc 9 10 origin (0 0 0)
arc 10 11 origin (0 0 0)
arc 11 13 origin (0 0 0)
arc 13 12 origin (0 0 0)
arc 12 8 origin (0 0 0)
arc 26 27 (-3.46410161513775 2 1)
arc 27 28 (-4 0 1)
arc 28 29 (-3.46410161513775 2 1)
arc 29 31 ( 0 4 1)
arc 31 30 ( 4 0 1)
arc 30 26 ( 0 -4 1)
arc 26 27 origin (0 0 1)
arc 27 28 origin (0 0 1)
arc 28 29 origin (0 0 1)
arc 29 31 origin (0 0 1)
arc 31 30 origin (0 0 1)
arc 30 26 origin (0 0 1)
);
defaultPatch
{
name frontAndBack;

View File

@ -153,15 +153,15 @@ blocks
edges
(
arc 4 5 (0 0 -R_burner)
arc 5 6 (R_burner 0 0)
arc 6 7 (0 0 R_burner)
arc 7 4 (-R_burner 0 0)
arc 4 5 origin (0 0 0)
arc 5 6 origin (0 0 0)
arc 6 7 origin (0 0 0)
arc 7 4 origin (0 0 0)
arc 24 25 (0 H_box -R_burner)
arc 25 26 (R_burner H_box 0)
arc 26 27 (0 H_box R_burner)
arc 27 24 (-R_burner H_box 0)
arc 24 25 origin (0 H_box 0)
arc 25 26 origin (0 H_box 0)
arc 26 27 origin (0 H_box 0)
arc 27 24 origin (0 H_box 0)
);
boundary

View File

@ -16,36 +16,39 @@ FoamFile
scale 0.001;
zmin -25;
zmax 25;
vertices
(
// front-plane: z = +25mm
// front-plane:
// inlet region
( -50 25 25) // pt 0
( 0 25 25) // pt 1
( -50 75 25) // pt 2
( 0 75 25) // pt 3
( -50 25 $zmax) // pt 0
( 0 25 $zmax) // pt 1
( -50 75 $zmax) // pt 2
( 0 75 $zmax) // pt 3
// outlet region
( -500 -75 25) // pt 4
( 0 -75 25) // pt 5
( -500 -25 25) // pt 6
( 0 -25 25) // pt 7
( -500 -75 $zmax) // pt 4
( 0 -75 $zmax) // pt 5
( -500 -25 $zmax) // pt 6
( 0 -25 $zmax) // pt 7
// bend mid-points
( 25 0 25) // pt 8
( 75 0 25) // pt 9
// back-plane: z = -25mm
( 25 0 $zmax) // pt 8
( 75 0 $zmax) // pt 9
// back-plane:
// inlet region
( -50 25 -25) // pt 0 + 10
( 0 25 -25) // pt 1 + 10
( -50 75 -25) // pt 2 + 10
( 0 75 -25) // pt 3 + 10
( -50 25 $zmin) // pt 0 + 10
( 0 25 $zmin) // pt 1 + 10
( -50 75 $zmin) // pt 2 + 10
( 0 75 $zmin) // pt 3 + 10
// outlet region
( -500 -75 -25) // pt 4 + 10
( 0 -75 -25) // pt 5 + 10
( -500 -25 -25) // pt 7 + 10
( 0 -25 -25) // pt 8 + 10
( -500 -75 $zmin) // pt 4 + 10
( 0 -75 $zmin) // pt 5 + 10
( -500 -25 $zmin) // pt 7 + 10
( 0 -25 $zmin) // pt 8 + 10
// bend mid-points
( 25 0 -25) // pt 8 + 10
( 75 0 -25) // pt 9 + 10
( 25 0 $zmin) // pt 8 + 10
( 75 0 $zmin) // pt 9 + 10
);
blocks
@ -59,16 +62,16 @@ blocks
edges
(
// block 2
arc 1 8 ( 17.678 17.678 25)
arc 11 18 ( 17.678 17.678 -25)
arc 3 9 ( 53.033 53.033 25)
arc 13 19 ( 53.033 53.033 -25)
// block 3
arc 7 8 ( 17.678 -17.678 25)
arc 17 18 ( 17.678 -17.678 -25)
arc 5 9 ( 53.033 -53.033 25)
arc 15 19 ( 53.033 -53.033 -25)
// block 2
arc 1 8 origin (0 0 $zmax)
arc 3 9 origin (0 0 $zmax)
arc 11 18 origin (0 0 $zmin)
arc 13 19 origin (0 0 $zmin)
// block 3
arc 7 8 origin (0 0 $zmax)
arc 5 9 origin (0 0 $zmax)
arc 17 18 origin (0 0 $zmin)
arc 15 19 origin (0 0 $zmin)
);
boundary

View File

@ -16,36 +16,39 @@ FoamFile
scale 0.001;
zmin -25;
zmax 25;
vertices
(
// front-plane: z = +25mm
// front-plane:
// inlet region
( -50 25 25) // pt 0
( 0 25 25) // pt 1
( -50 75 25) // pt 2
( 0 75 25) // pt 3
( -50 25 $zmax) // pt 0
( 0 25 $zmax) // pt 1
( -50 75 $zmax) // pt 2
( 0 75 $zmax) // pt 3
// outlet region
( -500 -75 25) // pt 4
( 0 -75 25) // pt 5
( -500 -25 25) // pt 6
( 0 -25 25) // pt 7
( -500 -75 $zmax) // pt 4
( 0 -75 $zmax) // pt 5
( -500 -25 $zmax) // pt 6
( 0 -25 $zmax) // pt 7
// bend mid-points
( 25 0 25) // pt 8
( 75 0 25) // pt 9
// back-plane: z = -25mm
( 25 0 $zmax) // pt 8
( 75 0 $zmax) // pt 9
// back-plane:
// inlet region
( -50 25 -25) // pt 0 + 10
( 0 25 -25) // pt 1 + 10
( -50 75 -25) // pt 2 + 10
( 0 75 -25) // pt 3 + 10
( -50 25 $zmin) // pt 0 + 10
( 0 25 $zmin) // pt 1 + 10
( -50 75 $zmin) // pt 2 + 10
( 0 75 $zmin) // pt 3 + 10
// outlet region
( -500 -75 -25) // pt 4 + 10
( 0 -75 -25) // pt 5 + 10
( -500 -25 -25) // pt 7 + 10
( 0 -25 -25) // pt 8 + 10
( -500 -75 $zmin) // pt 4 + 10
( 0 -75 $zmin) // pt 5 + 10
( -500 -25 $zmin) // pt 7 + 10
( 0 -25 $zmin) // pt 8 + 10
// bend mid-points
( 25 0 -25) // pt 8 + 10
( 75 0 -25) // pt 9 + 10
( 25 0 $zmin) // pt 8 + 10
( 75 0 $zmin) // pt 9 + 10
);
blocks
@ -60,15 +63,15 @@ blocks
edges
(
// block 2
arc 1 8 (17.678 17.678 25)
arc 11 18 (17.678 17.678 -25)
arc 3 9 (53.033 53.033 25)
arc 13 19 (53.033 53.033 -25)
arc 1 8 origin (0 0 $zmax)
arc 3 9 origin (0 0 $zmax)
arc 11 18 origin (0 0 $zmin)
arc 13 19 origin (0 0 $zmin)
// block 3
arc 7 8 (17.678 -17.678 25)
arc 17 18 (17.678 -17.678 -25)
arc 5 9 (53.033 -53.033 25)
arc 15 19 (53.033 -53.033 -25)
arc 7 8 origin (0 0 $zmax)
arc 5 9 origin (0 0 $zmax)
arc 17 18 origin (0 0 $zmin)
arc 15 19 origin (0 0 $zmin)
);
boundary

View File

@ -16,36 +16,39 @@ FoamFile
scale 0.001;
zmin -25;
zmax 25;
vertices
(
// front-plane: z = +25mm
// front-plane:
// inlet region
( -50 25 25) // pt 0
( 0 25 25) // pt 1
( -50 75 25) // pt 2
( 0 75 25) // pt 3
( -50 25 $zmax) // pt 0
( 0 25 $zmax) // pt 1
( -50 75 $zmax) // pt 2
( 0 75 $zmax) // pt 3
// outlet region
( -500 -75 25) // pt 4
( 0 -75 25) // pt 5
( -500 -25 25) // pt 6
( 0 -25 25) // pt 7
( -500 -75 $zmax) // pt 4
( 0 -75 $zmax) // pt 5
( -500 -25 $zmax) // pt 6
( 0 -25 $zmax) // pt 7
// bend mid-points
( 25 0 25) // pt 8
( 75 0 25) // pt 9
// back-plane: z = -25mm
( 25 0 $zmax) // pt 8
( 75 0 $zmax) // pt 9
// back-plane:
// inlet region
( -50 25 -25) // pt 0 + 10
( 0 25 -25) // pt 1 + 10
( -50 75 -25) // pt 2 + 10
( 0 75 -25) // pt 3 + 10
( -50 25 $zmin) // pt 0 + 10
( 0 25 $zmin) // pt 1 + 10
( -50 75 $zmin) // pt 2 + 10
( 0 75 $zmin) // pt 3 + 10
// outlet region
( -500 -75 -25) // pt 4 + 10
( 0 -75 -25) // pt 5 + 10
( -500 -25 -25) // pt 7 + 10
( 0 -25 -25) // pt 8 + 10
( -500 -75 $zmin) // pt 4 + 10
( 0 -75 $zmin) // pt 5 + 10
( -500 -25 $zmin) // pt 7 + 10
( 0 -25 $zmin) // pt 8 + 10
// bend mid-points
( 25 0 -25) // pt 8 + 10
( 75 0 -25) // pt 9 + 10
( 25 0 $zmin) // pt 8 + 10
( 75 0 $zmin) // pt 9 + 10
);
blocks
@ -60,15 +63,15 @@ blocks
edges
(
// block 2
arc 1 8 (17.678 17.678 25)
arc 11 18 (17.678 17.678 -25)
arc 3 9 (53.033 53.033 25)
arc 13 19 (53.033 53.033 -25)
arc 1 8 origin (0 0 $zmax)
arc 3 9 origin (0 0 $zmax)
arc 11 18 origin (0 0 $zmin)
arc 13 19 origin (0 0 $zmin)
// block 3
arc 7 8 (17.678 -17.678 25)
arc 17 18 (17.678 -17.678 -25)
arc 5 9 (53.033 -53.033 25)
arc 15 19 (53.033 -53.033 -25)
arc 7 8 origin (0 0 $zmax)
arc 5 9 origin (0 0 $zmax)
arc 17 18 origin (0 0 $zmin)
arc 15 19 origin (0 0 $zmin)
);
boundary

View File

@ -16,36 +16,39 @@ FoamFile
scale 0.001;
zmin -25;
zmax 25;
vertices
(
// front-plane: z = +25mm
// front-plane:
// inlet region
( -50 25 25) // pt 0
( 0 25 25) // pt 1
( -50 75 25) // pt 2
( 0 75 25) // pt 3
( -50 25 $zmax) // pt 0
( 0 25 $zmax) // pt 1
( -50 75 $zmax) // pt 2
( 0 75 $zmax) // pt 3
// outlet region
( -500 -75 25) // pt 4
( 0 -75 25) // pt 5
( -500 -25 25) // pt 6
( 0 -25 25) // pt 7
( -500 -75 $zmax) // pt 4
( 0 -75 $zmax) // pt 5
( -500 -25 $zmax) // pt 6
( 0 -25 $zmax) // pt 7
// bend mid-points
( 25 0 25) // pt 8
( 75 0 25) // pt 9
// back-plane: z = -25mm
( 25 0 $zmax) // pt 8
( 75 0 $zmax) // pt 9
// back-plane:
// inlet region
( -50 25 -25) // pt 0 + 10
( 0 25 -25) // pt 1 + 10
( -50 75 -25) // pt 2 + 10
( 0 75 -25) // pt 3 + 10
( -50 25 $zmin) // pt 0 + 10
( 0 25 $zmin) // pt 1 + 10
( -50 75 $zmin) // pt 2 + 10
( 0 75 $zmin) // pt 3 + 10
// outlet region
( -500 -75 -25) // pt 4 + 10
( 0 -75 -25) // pt 5 + 10
( -500 -25 -25) // pt 7 + 10
( 0 -25 -25) // pt 8 + 10
( -500 -75 $zmin) // pt 4 + 10
( 0 -75 $zmin) // pt 5 + 10
( -500 -25 $zmin) // pt 7 + 10
( 0 -25 $zmin) // pt 8 + 10
// bend mid-points
( 25 0 -25) // pt 8 + 10
( 75 0 -25) // pt 9 + 10
( 25 0 $zmin) // pt 8 + 10
( 75 0 $zmin) // pt 9 + 10
);
blocks
@ -60,15 +63,15 @@ blocks
edges
(
// block 2
arc 1 8 (17.678 17.678 25)
arc 11 18 (17.678 17.678 -25)
arc 3 9 (53.033 53.033 25)
arc 13 19 (53.033 53.033 -25)
arc 1 8 origin (0 0 $zmax)
arc 3 9 origin (0 0 $zmax)
arc 11 18 origin (0 0 $zmin)
arc 13 19 origin (0 0 $zmin)
// block 3
arc 7 8 (17.678 -17.678 25)
arc 17 18 (17.678 -17.678 -25)
arc 5 9 (53.033 -53.033 25)
arc 15 19 (53.033 -53.033 -25)
arc 7 8 origin (0 0 $zmax)
arc 5 9 origin (0 0 $zmax)
arc 17 18 origin (0 0 $zmin)
arc 15 19 origin (0 0 $zmin)
);
boundary

View File

@ -53,14 +53,14 @@ blocks
edges
(
arc 0 5 (0.00092387 0.00038268 0)
arc 5 10 (0.00038268 0.00092387 0)
arc 1 4 (0.0351074 0.0145419 0)
arc 4 9 (0.0145419 0.0351074 0)
arc 11 16 (0.00092387 0.00038268 0.5)
arc 16 21 (0.00038268 0.00092387 0.5)
arc 12 15 (0.0351074 0.0145419 0.5)
arc 15 20 (0.0145419 0.0351074 0.5)
arc 0 5 origin (0 0 0)
arc 5 10 origin (0 0 0)
arc 1 4 origin (0 0 0)
arc 4 9 origin (0 0 0)
arc 11 16 origin (0 0 0.5)
arc 16 21 origin (0 0 0.5)
arc 12 15 origin (0 0 0.5)
arc 15 20 origin (0 0 0.5)
);
boundary

View File

@ -14,49 +14,54 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
// Almost identical to basic/potentialFoam/cylinder
scale 0.016;
// Front/back locations
zmin 0;
zmax 0.5;
vertices
(
(0.5 0 0)
(1 0 0)
(2 0 0)
(2 0.707107 0)
(0.707107 0.707107 0)
(0.353553 0.353553 0)
(2 2 0)
(0.707107 2 0)
(0 2 0)
(0 1 0)
(0 0.5 0)
(-0.5 0 0)
(-1 0 0)
(-2 0 0)
(-2 0.707107 0)
(-0.707107 0.707107 0)
(-0.353553 0.353553 0)
(-2 2 0)
(-0.707107 2 0)
(0.5 0 0.5)
(1 0 0.5)
(2 0 0.5)
(2 0.707107 0.5)
(0.707107 0.707107 0.5)
(0.353553 0.353553 0.5)
(2 2 0.5)
(0.707107 2 0.5)
(0 2 0.5)
(0 1 0.5)
(0 0.5 0.5)
(-0.5 0 0.5)
(-1 0 0.5)
(-2 0 0.5)
(-2 0.707107 0.5)
(-0.707107 0.707107 0.5)
(-0.353553 0.353553 0.5)
(-2 2 0.5)
(-0.707107 2 0.5)
(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)
);
blocks
@ -75,22 +80,24 @@ blocks
edges
(
arc 0 5 (0.469846 0.17101 0)
arc 5 10 (0.17101 0.469846 0)
arc 1 4 (0.939693 0.34202 0)
arc 4 9 (0.34202 0.939693 0)
arc 19 24 (0.469846 0.17101 0.5)
arc 24 29 (0.17101 0.469846 0.5)
arc 20 23 (0.939693 0.34202 0.5)
arc 23 28 (0.34202 0.939693 0.5)
arc 11 16 (-0.469846 0.17101 0)
arc 16 10 (-0.17101 0.469846 0)
arc 12 15 (-0.939693 0.34202 0)
arc 15 9 (-0.34202 0.939693 0)
arc 30 35 (-0.469846 0.17101 0.5)
arc 35 29 (-0.17101 0.469846 0.5)
arc 31 34 (-0.939693 0.34202 0.5)
arc 34 28 (-0.34202 0.939693 0.5)
// 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)
);
patches

View File

@ -17,57 +17,60 @@ FoamFile
scale 0.1;
zmin 0;
zmax 2;
vertices
(
( 0.500 0.000 0.000)
( 0.369 0.338 0.000)
( 0.338 0.369 0.000)
( 0.000 0.500 0.000)
( 0.737 0.676 0.000)
( 0.074 0.068 0.000)
( 0.676 0.737 0.000)
( 0.068 0.074 0.000)
( 0.000 1.000 0.000)
( 1.000 0.000 0.000)
( 0.100 0.000 0.000)
( 0.000 0.100 0.000)
( 0.500 0.000 2.000)
( 0.369 0.338 2.000)
( 0.338 0.369 2.000)
( 0.000 0.500 2.000)
( 0.737 0.676 2.000)
( 0.074 0.068 2.000)
( 0.676 0.737 2.000)
( 0.068 0.074 2.000)
( 0.000 1.000 2.000)
( 1.000 0.000 2.000)
( 0.100 0.000 2.000)
( 0.000 0.100 2.000)
(0.500 0.000 $zmin)
(0.369 0.338 $zmin)
(0.338 0.369 $zmin)
(0.000 0.500 $zmin)
(0.737 0.676 $zmin)
(0.074 0.068 $zmin)
(0.676 0.737 $zmin)
(0.068 0.074 $zmin)
(0.000 1.000 $zmin)
(1.000 0.000 $zmin)
(0.100 0.000 $zmin)
(0.000 0.100 $zmin)
(0.500 0.000 $zmax)
(0.369 0.338 $zmax)
(0.338 0.369 $zmax)
(0.000 0.500 $zmax)
(0.737 0.676 $zmax)
(0.074 0.068 $zmax)
(0.676 0.737 $zmax)
(0.068 0.074 $zmax)
(0.000 1.000 $zmax)
(1.000 0.000 $zmax)
(0.100 0.000 $zmax)
(0.000 0.100 $zmax)
);
blocks
(
hex (1 0 9 4 13 12 21 16) (10 20 40) simpleGrading (1 1 1)
hex (2 1 4 6 14 13 16 18) (2 20 40) simpleGrading (1 1 1)
hex (3 2 6 8 15 14 18 20) (10 20 40) simpleGrading (1 1 1)
hex (5 10 0 1 17 22 12 13) (10 20 40) simpleGrading (1 1 1)
hex (11 7 2 3 23 19 14 15) (10 20 40) simpleGrading (1 1 1)
hex (1 0 9 4 13 12 21 16) (10 20 40) simpleGrading (1 1 1)
hex (2 1 4 6 14 13 16 18) (2 20 40) simpleGrading (1 1 1)
hex (3 2 6 8 15 14 18 20) (10 20 40) simpleGrading (1 1 1)
hex (5 10 0 1 17 22 12 13) (10 20 40) simpleGrading (1 1 1)
hex (11 7 2 3 23 19 14 15) (10 20 40) simpleGrading (1 1 1)
);
edges
(
arc 0 1 ( 0.470 0.171 0.000 )
arc 12 13 ( 0.470 0.171 2.000 )
arc 2 3 ( 0.171 0.470 0.000 )
arc 14 15 ( 0.171 0.470 2.000 )
arc 9 4 ( 0.940 0.342 0.000 )
arc 21 16 ( 0.940 0.342 2.000 )
arc 5 10 ( 0.094 0.034 0.000 )
arc 17 22 ( 0.094 0.034 2.000 )
arc 6 8 ( 0.342 0.940 0.000 )
arc 18 20 ( 0.342 0.940 2.000 )
arc 11 7 ( 0.034 0.094 0.000 )
arc 23 19 ( 0.034 0.094 2.000 )
arc 0 1 origin (0 0 $zmin)
arc 12 13 origin (0 0 $zmax)
arc 2 3 origin (0 0 $zmin)
arc 14 15 origin (0 0 $zmax)
arc 9 4 origin (0 0 $zmin)
arc 21 16 origin (0 0 $zmax)
arc 5 10 origin (0 0 $zmin)
arc 17 22 origin (0 0 $zmax)
arc 6 8 origin (0 0 $zmin)
arc 18 20 origin (0 0 $zmax)
arc 11 7 origin (0 0 $zmin)
arc 23 19 origin (0 0 $zmax)
);
boundary

View File

@ -16,72 +16,75 @@ FoamFile
scale 1;
zmin -1;
zmax 1;
vertices
(
(1 0 -1)
(1.4 0 -1)
(5 0 -1)
(5 0.989949 -1)
(0.989949 0.989949 -1)
(0.707107 0.707107 -1)
(5 2.5 -1)
(0.989949 2.5 -1)
(0 2.5 -1)
(0 1.4 -1)
(0 1 -1)
(-1 0 -1)
(-1.4 0 -1)
(-5 0 -1)
(-5 0.989949 -1)
(-0.989949 0.989949 -1)
(-0.707107 0.707107 -1)
(-5 2.5 -1)
(-0.989949 2.5 -1)
(5 -0.989949 -1)
(0.989949 -0.989949 -1)
(0.707107 -0.707107 -1)
(5 -1.5 -1)
(0.989949 -1.5 -1)
(0 -1.5 -1)
(0 -1.4 -1)
(0 -1 -1)
(-5 -0.989949 -1)
(-0.989949 -0.989949 -1)
(-0.707107 -0.707107 -1)
(-5 -1.5 -1)
(-0.989949 -1.5 -1)
(1 0 1)
(1.4 0 1)
(5 0 1)
(5 0.989949 1)
(0.989949 0.989949 1)
(0.707107 0.707107 1)
(5 2.5 1)
(0.989949 2.5 1)
(0 2.5 1)
(0 1.4 1)
(0 1 1)
(-1 0 1)
(-1.4 0 1)
(-5 0 1)
(-5 0.989949 1)
(-0.989949 0.989949 1)
(-0.707107 0.707107 1)
(-5 2.5 1)
(-0.989949 2.5 1)
(5 -0.989949 1)
(0.989949 -0.989949 1)
(0.707107 -0.707107 1)
(5 -1.5 1)
(0.989949 -1.5 1)
(0 -1.5 1)
(0 -1.4 1)
(0 -1 1)
(-5 -0.989949 1)
(-0.989949 -0.989949 1)
(-0.707107 -0.707107 1)
(-5 -1.5 1)
(-0.989949 -1.5 1)
(1 0 $zmin)
(1.4 0 $zmin)
(5 0 $zmin)
(5 0.989949 $zmin)
(0.989949 0.989949 $zmin)
(0.707107 0.707107 $zmin)
(5 2.5 $zmin)
(0.989949 2.5 $zmin)
(0 2.5 $zmin)
(0 1.4 $zmin)
(0 1 $zmin)
(-1 0 $zmin)
(-1.4 0 $zmin)
(-5 0 $zmin)
(-5 0.989949 $zmin)
(-0.989949 0.989949 $zmin)
(-0.707107 0.707107 $zmin)
(-5 2.5 $zmin)
(-0.989949 2.5 $zmin)
(5 -0.989949 $zmin)
(0.989949 -0.989949 $zmin)
(0.707107 -0.707107 $zmin)
(5 -1.5 $zmin)
(0.989949 -1.5 $zmin)
(0 -1.5 $zmin)
(0 -1.4 $zmin)
(0 -1 $zmin)
(-5 -0.989949 $zmin)
(-0.989949 -0.989949 $zmin)
(-0.707107 -0.707107 $zmin)
(-5 -1.5 $zmin)
(-0.989949 -1.5 $zmin)
(1 0 $zmax)
(1.4 0 $zmax)
(5 0 $zmax)
(5 0.989949 $zmax)
(0.989949 0.989949 $zmax)
(0.707107 0.707107 $zmax)
(5 2.5 $zmax)
(0.989949 2.5 $zmax)
(0 2.5 $zmax)
(0 1.4 $zmax)
(0 1 $zmax)
(-1 0 $zmax)
(-1.4 0 $zmax)
(-5 0 $zmax)
(-5 0.989949 $zmax)
(-0.989949 0.989949 $zmax)
(-0.707107 0.707107 $zmax)
(-5 2.5 $zmax)
(-0.989949 2.5 $zmax)
(5 -0.989949 $zmax)
(0.989949 -0.989949 $zmax)
(0.707107 -0.707107 $zmax)
(5 -1.5 $zmax)
(0.989949 -1.5 $zmax)
(0 -1.5 $zmax)
(0 -1.4 $zmax)
(0 -1 $zmax)
(-5 -0.989949 $zmax)
(-0.989949 -0.989949 $zmax)
(-0.707107 -0.707107 $zmax)
(-5 -1.5 $zmax)
(-0.989949 -1.5 $zmax)
);
blocks
@ -110,38 +113,38 @@ blocks
edges
(
arc 5 0 (0.92388 0.382683 -1)
arc 5 10 (0.382683 0.923879 -1)
arc 1 4 (1.29343 0.535757 -1)
arc 4 9 (0.535757 1.29343 -1)
arc 32 37 (0.92388 0.382683 1)
arc 37 42 (0.382683 0.923879 1)
arc 33 36 (1.29343 0.535757 1)
arc 36 41 (0.535757 1.29343 1)
arc 11 16 (-0.923879 0.382683 -1)
arc 16 10 (-0.382683 0.923879 -1)
arc 12 15 (-1.29343 0.535757 -1)
arc 15 9 (-0.535757 1.29343 -1)
arc 43 48 (-0.923879 0.382683 1)
arc 48 42 (-0.382683 0.923879 1)
arc 44 47 (-1.29343 0.535757 1)
arc 47 41 (-0.535757 1.29343 1)
arc 0 21 (0.923879 -0.382683 -1)
arc 21 26 (0.382683 -0.923879 -1)
arc 1 20 (1.29343 -0.535757 -1)
arc 20 25 (0.535757 -1.29343 -1)
arc 32 53 (0.923879 -0.382683 1)
arc 53 58 (0.382683 -0.923879 1)
arc 33 52 (1.29343 -0.535757 1)
arc 52 57 (0.535757 -1.29343 1)
arc 11 29 (-0.923879 -0.382683 -1)
arc 29 26 (-0.382683 -0.923879 -1)
arc 12 28 (-1.29343 -0.535757 -1)
arc 28 25 (-0.535757 -1.29343 -1)
arc 43 61 (-0.923879 -0.382683 1)
arc 61 58 (-0.382683 -0.923879 1)
arc 44 60 (-1.29343 -0.535757 1)
arc 60 57 (-0.535757 -1.29343 1)
arc 5 0 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 32 37 origin (0 0 $zmax)
arc 37 42 origin (0 0 $zmax)
arc 33 36 origin (0 0 $zmax)
arc 36 41 origin (0 0 $zmax)
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 43 48 origin (0 0 $zmax)
arc 48 42 origin (0 0 $zmax)
arc 44 47 origin (0 0 $zmax)
arc 47 41 origin (0 0 $zmax)
arc 0 21 origin (0 0 $zmin)
arc 21 26 origin (0 0 $zmin)
arc 1 20 origin (0 0 $zmin)
arc 20 25 origin (0 0 $zmin)
arc 32 53 origin (0 0 $zmax)
arc 53 58 origin (0 0 $zmax)
arc 33 52 origin (0 0 $zmax)
arc 52 57 origin (0 0 $zmax)
arc 11 29 origin (0 0 $zmin)
arc 29 26 origin (0 0 $zmin)
arc 12 28 origin (0 0 $zmin)
arc 28 25 origin (0 0 $zmin)
arc 43 61 origin (0 0 $zmax)
arc 61 58 origin (0 0 $zmax)
arc 44 60 origin (0 0 $zmax)
arc 60 57 origin (0 0 $zmax)
);
boundary

View File

@ -23,18 +23,6 @@ x3 #eval{ 10.0*$R };
xOutlet #eval{ 18.6667*$R };
xInlet #eval{ -10.125*$R };
RsinPi8 #eval{ $R*sin(0.125*pi()) };
RsinPi8n #eval{ -$RsinPi8 };
RcosPi8 #eval{ $R*cos(0.125*pi()) };
RcosPi8n #eval{ -$RcosPi8 };
RsinPi4 #eval{ $R*sin(0.25*pi()) };
x2sinPi8 #eval{ $x2*sin(0.125*pi()) };
x2sinPi8n #eval{ -$x2sinPi8 };
x2cosPi8 #eval{ $x2*cos(0.125*pi()) };
x2cosPi8n #eval{ -$x2cosPi8 };
x2sinPi4 #eval{ $x2*sin(0.25*pi()) };
z0 -0.0075;
z1 0.0075;
nz 1;
@ -49,15 +37,18 @@ vertices #codeStream
code
#{
// sin(45), cos(45)
const scalar sqrt05 = sqrt(0.5);
pointField points(19);
points[0] = point($R, 0, $z0);
points[1] = point($x2, 0, $z0);
points[2] = point($x3, 0, $z0);
points[3] = point($x3, $x2sinPi4, $z0);
points[4] = point($x2sinPi4, $x2sinPi4, $z0);
points[5] = point($RsinPi4, $RsinPi4, $z0);
points[3] = point($x3, $x2*sqrt05, $z0);
points[4] = point($x2*sqrt05, $x2*sqrt05, $z0);
points[5] = point($R*sqrt05, $R*sqrt05, $z0);
points[6] = point($x3, $x3, $z0);
points[7] = point($x2sinPi4, $x3, $z0);
points[7] = point($x2*sqrt05, $x3, $z0);
// Mirror +x points to -x side
points[11] = point(-points[0].x(), points[0].y(), points[0].z());
@ -76,7 +67,7 @@ vertices #codeStream
// Mirror -z points to +z side
label sz = points.size();
points.setSize(2*sz);
points.resize(2*sz);
for (label i = 0; i < sz; ++i)
{
const point& pt = points[i];
@ -86,7 +77,7 @@ vertices #codeStream
// Add an inner cylinder
sz = points.size();
label nAdd = 6;
points.setSize(sz + nAdd);
points.resize(sz + nAdd);
// Points within the inner cylinder
points[sz] = point(0, 0, $z0);
@ -102,7 +93,7 @@ vertices #codeStream
// Mirror -z points to +z side
sz = points.size();
points.setSize(sz + nAdd);
points.resize(sz + nAdd);
for (label i = 0; i < nAdd; ++i)
{
const point& pt = points[i+sz-nAdd];
@ -112,21 +103,21 @@ vertices #codeStream
// Add downstream and upstream blocks
sz = points.size();
nAdd = 6;
points.setSize(sz + nAdd);
points.resize(sz + nAdd);
// Points on outlet
points[sz] = point($xOutlet, 0, $z0);
points[sz + 1] = point($xOutlet, $x3, $z0);
points[sz + 4] = point($xOutlet, $x2sinPi4, $z0);
points[sz + 4] = point($xOutlet, $x2*sqrt05, $z0);
// Points on inlet
points[sz + 2] = point($xInlet, 0, $z0);
points[sz + 3] = point($xInlet, $x3, $z0);
points[sz + 5] = point($xInlet, $x2sinPi4, $z0);
points[sz + 5] = point($xInlet, $x2*sqrt05, $z0);
// Mirror -z points to +z side
sz = points.size();
points.setSize(sz + nAdd);
points.resize(sz + nAdd);
for (label i = 0; i < nAdd; ++i)
{
const point& pt = points[i + sz - nAdd];
@ -158,22 +149,22 @@ blocks
edges
(
arc 0 5 ($RcosPi8 $RsinPi8 $z0)
arc 5 10 ($RsinPi8 $RcosPi8 $z0)
arc 1 4 ($x2cosPi8 $x2sinPi8 $z0)
arc 4 9 ($x2sinPi8 $x2cosPi8 $z0)
arc 19 24 ($RcosPi8 $RsinPi8 $z1)
arc 24 29 ($RsinPi8 $RcosPi8 $z1)
arc 20 23 ($x2cosPi8 $x2sinPi8 $z1)
arc 23 28 ($x2sinPi8 $x2cosPi8 $z1)
arc 11 16 ($RcosPi8n $RsinPi8 $z0)
arc 16 10 ($RsinPi8n $RcosPi8 $z0)
arc 12 15 ($x2cosPi8n $x2sinPi8 $z0)
arc 15 9 ($x2sinPi8n $x2cosPi8 $z0)
arc 30 35 ($RcosPi8n $RsinPi8 $z1)
arc 35 29 ($RsinPi8n $RcosPi8 $z1)
arc 31 34 ($x2cosPi8n $x2sinPi8 $z1)
arc 34 28 ($x2sinPi8n $x2cosPi8 $z1)
arc 0 5 origin (0 0 $z0)
arc 5 10 origin (0 0 $z0)
arc 1 4 origin (0 0 $z0)
arc 4 9 origin (0 0 $z0)
arc 19 24 origin (0 0 $z1)
arc 24 29 origin (0 0 $z1)
arc 20 23 origin (0 0 $z1)
arc 23 28 origin (0 0 $z1)
arc 11 16 origin (0 0 $z0)
arc 16 10 origin (0 0 $z0)
arc 12 15 origin (0 0 $z0)
arc 15 9 origin (0 0 $z0)
arc 30 35 origin (0 0 $z1)
arc 35 29 origin (0 0 $z1)
arc 31 34 origin (0 0 $z1)
arc 34 28 origin (0 0 $z1)
);
boundary

View File

@ -74,14 +74,14 @@ edges #codeStream
code
#{
const scalar xMin = 0.3;
const scalar xMax = 1.2;
const label nPoints = 100;
const scalar dx = (xMax - xMin)/scalar(nPoints - 1);
constexpr scalar xMin = 0.3;
constexpr scalar xMax = 1.2;
constexpr label nPoints = 100;
constexpr scalar dx = (xMax - xMin)/scalar(nPoints - 1);
constexpr scalar pi = constant::mathematical::pi;
os << "(" << nl << "spline 2 3" << nl;
pointField profile(nPoints);
const scalar pi = constant::mathematical::pi;
for (label i = 0; i < nPoints; ++i)
{

View File

@ -25,34 +25,33 @@ halfAngle 45.0;
radius 0.5;
y #eval{ $radius*sin(degToRad($halfAngle)) };
minY #eval{ -1*$y };
z #eval{ $radius*cos(degToRad($halfAngle)) };
minY #eval{ -1*$y };
minZ #eval{ -1*$z };
vertices
(
(0.0 0.0 0) //0
(10 0.0 0)
(10 0.0 0) //2
(0.0 0.0 0)
(0 0 0) //0
(10 0 0) //1
(10 0 0) //2
(0 0 0) //3
(0.0 $minY $z) //4
(10 $minY $z)
(10 $y $z) //6
(0.0 $y $z)
(0 $minY $z) //4
(10 $minY $z) //5
(10 $y $z) //6
(0 $y $z) //7
);
blocks
(
// inlet block
hex (0 1 2 3 4 5 6 7) (50 5 5) simpleGrading (1 1 1)
hex (0 1 2 3 4 5 6 7) (50 5 5) simpleGrading (1 1 1)
);
edges
(
arc 4 7 (0 0 $radius)
arc 5 6 (10 0 $radius)
arc 4 7 origin (0 0 0)
arc 5 6 origin (10 0 0)
);
boundary

View File

@ -16,36 +16,39 @@ FoamFile
scale 0.001;
zmin -25;
zmax 25;
vertices
(
// front-plane: z = +25mm
// front-plane:
// inlet region
( -50 25 25) // pt 0
( 0 25 25) // pt 1
( -50 75 25) // pt 2
( 0 75 25) // pt 3
( -50 25 $zmax) // pt 0
( 0 25 $zmax) // pt 1
( -50 75 $zmax) // pt 2
( 0 75 $zmax) // pt 3
// outlet region
( -500 -75 25) // pt 4
( 0 -75 25) // pt 5
( -500 -25 25) // pt 6
( 0 -25 25) // pt 7
( -500 -75 $zmax) // pt 4
( 0 -75 $zmax) // pt 5
( -500 -25 $zmax) // pt 6
( 0 -25 $zmax) // pt 7
// bend mid-points
( 25 0 25) // pt 8
( 75 0 25) // pt 9
// back-plane: z = -25mm
( 25 0 $zmax) // pt 8
( 75 0 $zmax) // pt 9
// back-plane:
// inlet region
( -50 25 -25) // pt 0 + 10
( 0 25 -25) // pt 1 + 10
( -50 75 -25) // pt 2 + 10
( 0 75 -25) // pt 3 + 10
( -50 25 $zmin) // pt 0 + 10
( 0 25 $zmin) // pt 1 + 10
( -50 75 $zmin) // pt 2 + 10
( 0 75 $zmin) // pt 3 + 10
// outlet region
( -500 -75 -25) // pt 4 + 10
( 0 -75 -25) // pt 5 + 10
( -500 -25 -25) // pt 7 + 10
( 0 -25 -25) // pt 8 + 10
( -500 -75 $zmin) // pt 4 + 10
( 0 -75 $zmin) // pt 5 + 10
( -500 -25 $zmin) // pt 7 + 10
( 0 -25 $zmin) // pt 8 + 10
// bend mid-points
( 25 0 -25) // pt 8 + 10
( 75 0 -25) // pt 9 + 10
( 25 0 $zmin) // pt 8 + 10
( 75 0 $zmin) // pt 9 + 10
);
blocks
@ -60,15 +63,15 @@ blocks
edges
(
// block 2
arc 1 8 (17.678 17.678 25)
arc 11 18 (17.678 17.678 -25)
arc 3 9 (53.033 53.033 25)
arc 13 19 (53.033 53.033 -25)
arc 1 8 origin (0 0 $zmax)
arc 3 9 origin (0 0 $zmax)
arc 11 18 origin (0 0 $zmin)
arc 13 19 origin (0 0 $zmin)
// block 3
arc 7 8 (17.678 -17.678 25)
arc 17 18 (17.678 -17.678 -25)
arc 5 9 (53.033 -53.033 25)
arc 15 19 (53.033 -53.033 -25)
arc 7 8 origin (0 0 $zmax)
arc 5 9 origin (0 0 $zmax)
arc 17 18 origin (0 0 $zmin)
arc 15 19 origin (0 0 $zmin)
);
boundary

View File

@ -14,48 +14,54 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
// Almost identical to basic/potentialFoam/cylinder
scale 1;
// Front/back locations
zmin -0.5;
zmax 0.5;
vertices
(
(0.5 0 -0.5)
(1 0 -0.5)
(2 0 -0.5)
(2 0.707107 -0.5)
(0.707107 0.707107 -0.5)
(0.353553 0.353553 -0.5)
(2 2 -0.5)
(0.707107 2 -0.5)
(0 2 -0.5)
(0 1 -0.5)
(0 0.5 -0.5)
(-0.5 0 -0.5)
(-1 0 -0.5)
(-2 0 -0.5)
(-2 0.707107 -0.5)
(-0.707107 0.707107 -0.5)
(-0.353553 0.353553 -0.5)
(-2 2 -0.5)
(-0.707107 2 -0.5)
(0.5 0 0.5)
(1 0 0.5)
(2 0 0.5)
(2 0.707107 0.5)
(0.707107 0.707107 0.5)
(0.353553 0.353553 0.5)
(2 2 0.5)
(0.707107 2 0.5)
(0 2 0.5)
(0 1 0.5)
(0 0.5 0.5)
(-0.5 0 0.5)
(-1 0 0.5)
(-2 0 0.5)
(-2 0.707107 0.5)
(-0.707107 0.707107 0.5)
(-0.353553 0.353553 0.5)
(-2 2 0.5)
(-0.707107 2 0.5)
(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)
);
blocks
@ -74,22 +80,24 @@ blocks
edges
(
arc 0 5 (0.469846 0.17101 -0.5)
arc 5 10 (0.17101 0.469846 -0.5)
arc 1 4 (0.939693 0.34202 -0.5)
arc 4 9 (0.34202 0.939693 -0.5)
arc 19 24 (0.469846 0.17101 0.5)
arc 24 29 (0.17101 0.469846 0.5)
arc 20 23 (0.939693 0.34202 0.5)
arc 23 28 (0.34202 0.939693 0.5)
arc 11 16 (-0.469846 0.17101 -0.5)
arc 16 10 (-0.17101 0.469846 -0.5)
arc 12 15 (-0.939693 0.34202 -0.5)
arc 15 9 (-0.34202 0.939693 -0.5)
arc 30 35 (-0.469846 0.17101 0.5)
arc 35 29 (-0.17101 0.469846 0.5)
arc 31 34 (-0.939693 0.34202 0.5)
arc 34 28 (-0.34202 0.939693 0.5)
// 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)
);
defaultPatch

View File

@ -16,65 +16,71 @@ FoamFile
scale 1;
// Geometric parameters
outerRadius 1;
// Divisions in x/y/z directions. Can be unequal.
nx 10;
ny $nx;
nz $nx;
geometry
{
sphere
{
type sphere;
origin (0 0 0);
radius 1;
radius $outerRadius;
}
}
v 0.5773502;
mv -0.5773502;
a 0.7071067;
ma -0.7071067;
// Box sizes
vo #eval{ sqrt($outerRadius/3) };
mvo #eval{ -$vo };
vertices
(
($mv $mv $mv)
( $v $mv $mv)
( $v $v $mv)
($mv $v $mv)
($mv $mv $v)
( $v $mv $v)
( $v $v $v)
($mv $v $v)
($mvo $mvo $mvo)
( $vo $mvo $mvo)
( $vo $vo $mvo)
($mvo $vo $mvo)
($mvo $mvo $vo)
( $vo $mvo $vo)
( $vo $vo $vo)
($mvo $vo $vo)
);
blocks
(
hex (0 1 2 3 4 5 6 7) (10 10 10) simpleGrading (1 1 1)
hex (0 1 2 3 4 5 6 7) ($nx $ny $nz) grading (1 1 1)
);
edges
(
arc 0 1 (0 $ma $ma)
arc 2 3 (0 $a $ma)
arc 6 7 (0 $a $a)
arc 4 5 (0 $ma $a)
arc 0 1 origin (0 0 0)
arc 2 3 origin (0 0 0)
arc 6 7 origin (0 0 0)
arc 4 5 origin (0 0 0)
arc 0 3 ($ma 0 $ma)
arc 1 2 ($a 0 $ma)
arc 5 6 ($a 0 $a)
arc 4 7 ($ma 0 $a)
arc 0 3 origin (0 0 0)
arc 1 2 origin (0 0 0)
arc 5 6 origin (0 0 0)
arc 4 7 origin (0 0 0)
arc 0 4 ($ma $ma 0)
arc 1 5 ($a $ma 0)
arc 2 6 ($a $a 0)
arc 3 7 ($ma $a 0)
arc 0 4 origin (0 0 0)
arc 1 5 origin (0 0 0)
arc 2 6 origin (0 0 0)
arc 3 7 origin (0 0 0)
);
faces
(
project (0 4 7 3) sphere
project (2 6 5 1) sphere
project (1 5 4 0) sphere
project (3 7 6 2) sphere
project (0 3 2 1) sphere
project (4 5 6 7) sphere
project (0 4 7 3) sphere // x-min
project (1 2 6 5) sphere // x-max
project (0 1 5 4) sphere // y-min
project (3 7 6 2) sphere // y-max
project (0 3 2 1) sphere // z-min
project (4 5 6 7) sphere // z-max
);
boundary
@ -84,12 +90,12 @@ boundary
type wall;
faces
(
(0 4 7 3)
(2 6 5 1)
(1 5 4 0)
(3 7 6 2)
(0 3 2 1)
(4 5 6 7)
(0 4 7 3) // x-min
(1 2 6 5) // x-max
(0 1 5 4) // y-min
(3 7 6 2) // y-max
(0 3 2 1) // z-min
(4 5 6 7) // z-max
);
}
);

View File

@ -17,103 +17,115 @@ FoamFile
scale 1;
verbose no;
// Geometric parameters
outerRadius 1;
innerRatio 0.7;
// Divisions in x/y/z and radial directions. Can be unequal.
nx 10;
ny $nx;
nz $nx;
nr 6;
geometry
{
sphere
{
type sphere;
origin (0 0 0);
radius 1;
radius $outerRadius;
}
}
// Outer box sizes
vo #eval{ sqrt($outerRadius/3) };
mvo #eval{ -$vo };
n 10;
v 0.5773502;
mv -0.5773502;
vh 0.2886751;
mvh -0.2886751;
a 0.7071067;
ma -0.7071067;
ah 0.3464101;
mah -0.3464101;
// Inner box sizes - % of overall dimension
vi #eval{ $innerRatio*$vo };
mvi #eval{ $innerRatio*$mvo };
vertices
(
($mvh $mvh $mvh)
( $vh $mvh $mvh)
( $vh $vh $mvh)
($mvh $vh $mvh)
($mvh $mvh $vh)
( $vh $mvh $vh)
( $vh $vh $vh)
($mvh $vh $vh)
// Inner block
($mvi $mvi $mvi)
( $vi $mvi $mvi)
( $vi $vi $mvi)
($mvi $vi $mvi)
($mvi $mvi $vi)
( $vi $mvi $vi)
( $vi $vi $vi)
($mvi $vi $vi)
($mv $mv $mv)
( $v $mv $mv)
( $v $v $mv)
($mv $v $mv)
($mv $mv $v)
( $v $mv $v)
( $v $v $v)
($mv $v $v)
// Outer blocks
($mvo $mvo $mvo)
( $vo $mvo $mvo)
( $vo $vo $mvo)
($mvo $vo $mvo)
($mvo $mvo $vo)
( $vo $mvo $vo)
( $vo $vo $vo)
($mvo $vo $vo)
);
blocks
(
hex ( 0 1 2 3 4 5 6 7) ($n $n $n) simpleGrading (1 1 1)
hex ( 9 8 12 13 1 0 4 5) ($n $n $n) simpleGrading (1 1 1)
hex (10 9 13 14 2 1 5 6) ($n $n $n) simpleGrading (1 1 1)
hex (11 10 14 15 3 2 6 7) ($n $n $n) simpleGrading (1 1 1)
hex ( 8 11 15 12 0 3 7 4) ($n $n $n) simpleGrading (1 1 1)
hex ( 8 9 10 11 0 1 2 3) ($n $n $n) simpleGrading (1 1 1)
hex (13 12 15 14 5 4 7 6) ($n $n $n) simpleGrading (1 1 1)
hex (0 1 2 3 4 5 6 7) ($nx $ny $nz) grading (1 1 1) // Inner block
// Outer blocks
hex ( 8 0 3 11 12 4 7 15) ($nr $ny $nz) grading (1 1 1) // x-min
hex ( 1 9 10 2 5 13 14 6) ($nr $ny $nz) grading (1 1 1) // x-max
hex ( 8 9 1 0 12 13 5 4) ($nx $nr $nz) grading (1 1 1) // y-min
hex ( 3 2 10 11 7 6 14 15) ($nx $nr $nz) grading (1 1 1) // y-max
hex ( 8 9 10 11 0 1 2 3) ($nx $ny $nr) grading (1 1 1) // z-min
hex ( 4 5 6 7 12 13 14 15) ($nx $ny $nr) grading (1 1 1) // z-max
);
edges
(
arc 8 9 (0 $ma $ma)
arc 10 11 (0 $a $ma)
arc 14 15 (0 $a $a)
arc 12 13 (0 $ma $a)
// Outer blocks
arc 8 9 origin (0 0 0)
arc 10 11 origin (0 0 0)
arc 14 15 origin (0 0 0)
arc 12 13 origin (0 0 0)
arc 8 11 ($ma 0 $ma)
arc 9 10 ($a 0 $ma)
arc 13 14 ($a 0 $a)
arc 12 15 ($ma 0 $a)
arc 8 11 origin (0 0 0)
arc 9 10 origin (0 0 0)
arc 13 14 origin (0 0 0)
arc 12 15 origin (0 0 0)
arc 8 12 ($ma $ma 0)
arc 9 13 ($a $ma 0)
arc 10 14 ($a $a 0)
arc 11 15 ($ma $a 0)
arc 8 12 origin (0 0 0)
arc 9 13 origin (0 0 0)
arc 10 14 origin (0 0 0)
arc 11 15 origin (0 0 0)
// Inner block - flattened by factor 1.1
arc 0 1 origin 1.1 (0 0 0)
arc 2 3 origin 1.1 (0 0 0)
arc 6 7 origin 1.1 (0 0 0)
arc 4 5 origin 1.1 (0 0 0)
arc 0 1 (0 $mah $mah)
arc 2 3 (0 $ah $mah)
arc 6 7 (0 $ah $ah)
arc 4 5 (0 $mah $ah)
arc 0 3 origin 1.1 (0 0 0)
arc 1 2 origin 1.1 (0 0 0)
arc 5 6 origin 1.1 (0 0 0)
arc 4 7 origin 1.1 (0 0 0)
arc 0 3 ($mah 0 $mah)
arc 1 2 ($ah 0 $mah)
arc 5 6 ($ah 0 $ah)
arc 4 7 ($mah 0 $ah)
arc 0 4 ($mah $mah 0)
arc 1 5 ($ah $mah 0)
arc 2 6 ($ah $ah 0)
arc 3 7 ($mah $ah 0)
arc 0 4 origin 1.1 (0 0 0)
arc 1 5 origin 1.1 (0 0 0)
arc 2 6 origin 1.1 (0 0 0)
arc 3 7 origin 1.1 (0 0 0)
);
faces
(
project ( 8 12 15 11) sphere
project (10 14 13 9) sphere
project ( 9 13 12 8) sphere
project (11 15 14 10) sphere
project ( 8 11 10 9) sphere
project (12 13 14 15) sphere
// Outer blocks
project ( 8 12 15 11) sphere // x-min
project ( 9 10 14 13) sphere // x-max
project ( 8 9 13 12) sphere // y-min
project (11 15 14 10) sphere // y-max
project ( 8 11 10 9) sphere // z-min
project (12 13 14 15) sphere // z-max
);
boundary
@ -123,12 +135,12 @@ boundary
type wall;
faces
(
( 8 12 15 11)
(10 14 13 9)
( 9 13 12 8)
(11 15 14 10)
( 8 11 10 9)
(12 13 14 15)
( 8 12 15 11) // x-min
( 9 10 14 13) // x-max
( 8 9 13 12) // y-min
(11 15 14 10) // y-max
( 8 11 10 9) // z-min
(12 13 14 15) // z-max
);
}
);

View File

@ -17,68 +17,81 @@ FoamFile
scale 1;
verbose no;
// Geometric parameters
outerRadius 1;
innerRatio 0.5;
// Divisions in x/y/z and radial directions. Can be unequal.
nx 10;
ny $nx;
nz $nx;
nr 6;
geometry
{
sphere
{
type sphere;
origin (0 0 0);
radius 1;
radius $outerRadius;
}
innerSphere
{
type sphere;
origin (0 0 0);
radius 0.5;
radius #eval{ $innerRatio * $outerRadius };
}
}
n 10;
// Rough approximation of corner points
v 0.5773502;
mv -0.5773502;
vh 0.2886751;
mvh -0.2886751;
// Outer box sizes (approximate)
vo #eval{ sqrt($outerRadius/3) };
mvo #eval{ -$vo };
// Inner box sizes - % of overall dimension
vi #eval{ $innerRatio*$vo };
mvi #eval{ $innerRatio*$mvo };
vertices
(
// Inner block points
project ($mvh $mvh $mvh) (innerSphere)
project ( $vh $mvh $mvh) (innerSphere)
project ( $vh $vh $mvh) (innerSphere)
project ($mvh $vh $mvh) (innerSphere)
project ($mvh $mvh $vh) (innerSphere)
project ( $vh $mvh $vh) (innerSphere)
project ( $vh $vh $vh) (innerSphere)
project ($mvh $vh $vh) (innerSphere)
project ($mvi $mvi $mvi) (innerSphere)
project ( $vi $mvi $mvi) (innerSphere)
project ( $vi $vi $mvi) (innerSphere)
project ($mvi $vi $mvi) (innerSphere)
project ($mvi $mvi $vi) (innerSphere)
project ( $vi $mvi $vi) (innerSphere)
project ( $vi $vi $vi) (innerSphere)
project ($mvi $vi $vi) (innerSphere)
// Outer block points
project ($mv $mv $mv) (sphere)
project ( $v $mv $mv) (sphere)
project ( $v $v $mv) (sphere)
project ($mv $v $mv) (sphere)
project ($mv $mv $v) (sphere)
project ( $v $mv $v) (sphere)
project ( $v $v $v) (sphere)
project ($mv $v $v) (sphere)
project ($mvo $mvo $mvo) (sphere)
project ( $vo $mvo $mvo) (sphere)
project ( $vo $vo $mvo) (sphere)
project ($mvo $vo $mvo) (sphere)
project ($mvo $mvo $vo) (sphere)
project ( $vo $mvo $vo) (sphere)
project ( $vo $vo $vo) (sphere)
project ($mvo $vo $vo) (sphere)
);
blocks
(
hex ( 0 1 2 3 4 5 6 7) ($n $n $n) simpleGrading (1 1 1)
hex ( 9 8 12 13 1 0 4 5) ($n $n $n) simpleGrading (1 1 1)
hex (10 9 13 14 2 1 5 6) ($n $n $n) simpleGrading (1 1 1)
hex (11 10 14 15 3 2 6 7) ($n $n $n) simpleGrading (1 1 1)
hex ( 8 11 15 12 0 3 7 4) ($n $n $n) simpleGrading (1 1 1)
hex ( 8 9 10 11 0 1 2 3) ($n $n $n) simpleGrading (1 1 1)
hex (13 12 15 14 5 4 7 6) ($n $n $n) simpleGrading (1 1 1)
hex (0 1 2 3 4 5 6 7) ($nx $ny $nz) grading (1 1 1) // Inner block
// Outer blocks
hex ( 8 0 3 11 12 4 7 15) ($nr $ny $nz) grading (1 1 1) // x-min
hex ( 1 9 10 2 5 13 14 6) ($nr $ny $nz) grading (1 1 1) // x-max
hex ( 8 9 1 0 12 13 5 4) ($nx $nr $nz) grading (1 1 1) // y-min
hex ( 3 2 10 11 7 6 14 15) ($nx $nr $nz) grading (1 1 1) // y-max
hex ( 8 9 10 11 0 1 2 3) ($nx $ny $nr) grading (1 1 1) // z-min
hex ( 4 5 6 7 12 13 14 15) ($nx $ny $nr) grading (1 1 1) // z-max
);
edges
(
// Outer edges
// Outer blocks
project 8 9 (sphere)
project 10 11 (sphere)
project 14 15 (sphere)
@ -94,32 +107,32 @@ edges
project 10 14 (sphere)
project 11 15 (sphere)
// Inner block
project 0 1 (innerSphere)
project 2 3 (innerSphere)
project 6 7 (innerSphere)
project 4 5 (innerSphere)
// Inner edges
project 0 1 (innerSphere)
project 2 3 (innerSphere)
project 6 7 (innerSphere)
project 4 5 (innerSphere)
project 0 3 (innerSphere)
project 1 2 (innerSphere)
project 5 6 (innerSphere)
project 4 7 (innerSphere)
project 0 3 (innerSphere)
project 1 2 (innerSphere)
project 5 6 (innerSphere)
project 4 7 (innerSphere)
project 0 4 (innerSphere)
project 1 5 (innerSphere)
project 2 6 (innerSphere)
project 3 7 (innerSphere)
project 0 4 (innerSphere)
project 1 5 (innerSphere)
project 2 6 (innerSphere)
project 3 7 (innerSphere)
);
faces
(
project ( 8 12 15 11) sphere
project (10 14 13 9) sphere
project ( 9 13 12 8) sphere
project (11 15 14 10) sphere
project ( 8 11 10 9) sphere
project (12 13 14 15) sphere
// Outer blocks
project ( 8 12 15 11) sphere // x-min
project ( 9 10 14 13) sphere // x-max
project ( 8 9 13 12) sphere // y-min
project (11 15 14 10) sphere // y-max
project ( 8 11 10 9) sphere // z-min
project (12 13 14 15) sphere // z-max
);
boundary
@ -129,12 +142,12 @@ boundary
type wall;
faces
(
( 8 12 15 11)
(10 14 13 9)
( 9 13 12 8)
(11 15 14 10)
( 8 11 10 9)
(12 13 14 15)
( 8 12 15 11) // x-min
( 9 10 14 13) // x-max
( 8 9 13 12) // y-min
(11 15 14 10) // y-max
( 8 11 10 9) // z-min
(12 13 14 15) // z-max
);
}
);

View File

@ -1,9 +1,15 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: v2006 |
| \\ / A nd | Website: www.openfoam.com |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
location "system";
object blockMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@ -25,13 +31,10 @@ scale 1;
D
*/
Ax 0.438912; Ay 0.000000;
Bx 18.28800; By 0.000000;
Cx 0.310358; Cy -0.310358;
Dx 12.931569; Dy -12.931569;
Hx 0.405502; Hy -0.167964;
Gx 16.895909; Gy -6.998515;
Ax 0.438912; Ay 0;
Bx 18.28800; By 0;
Cx 0.310358; Cy #eval{-$Cx};
Dx 12.931569; Dy #eval{-$Dx};
Z_DB_low -0.88706;
Z_AC_low -1.07;
@ -51,16 +54,15 @@ vertices
blocks
(
hex (0 1 2 3 4 5 6 7) (47 10 4) simpleGrading (41.6669 1 1)
hex (0 1 2 3 4 5 6 7) (47 10 4) simpleGrading (41.6669 1 1)
);
edges
(
arc 0 3 ($Hx $Hy $Z_AC_low)
arc 4 7 ($Hx $Hy $Z_high)
arc 1 2 ($Gx $Gy $Z_DB_low)
arc 5 6 ($Gx $Gy $Z_high)
arc 0 3 origin (0 0 $Z_AC_low)
arc 4 7 origin (0 0 $Z_high)
arc 1 2 origin (0 0 $Z_DB_low)
arc 5 6 origin (0 0 $Z_high)
);
patches

View File

@ -53,14 +53,14 @@ blocks
edges
(
arc 0 5 (0.469846 0.17101 0)
arc 5 10 (0.17101 0.469846 0)
arc 1 4 (0.939693 0.34202 0)
arc 4 9 (0.34202 0.939693 0)
arc 11 16 (0.469846 0.17101 0.5)
arc 16 21 (0.17101 0.469846 0.5)
arc 12 15 (0.939693 0.34202 0.5)
arc 15 20 (0.34202 0.939693 0.5)
arc 0 5 origin (0 0 0)
arc 5 10 origin (0 0 0)
arc 1 4 origin (0 0 0)
arc 4 9 origin (0 0 0)
arc 11 16 origin (0 0 0.5)
arc 16 21 origin (0 0 0.5)
arc 12 15 origin (0 0 0.5)
arc 15 20 origin (0 0 0.5)
);
boundary