/*--------------------------------*- C++ -*----------------------------------*\
| =========                 |                                                 |
| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
|  \\    /   O peration     | Version:  v2112                                 |
|   \\  /    A nd           | Website:  www.openfoam.com                      |
|    \\/     M anipulation  |                                                 |
\*---------------------------------------------------------------------------*/
FoamFile
{
    version     2.0;
    format      ascii;
    class       dictionary;
    object      blockMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

scale   1;

zmin    -1;
zmax    1;

vertices
(
    (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
(
    hex (5 4 9 10 37 36 41 42) (10 10 1) simpleGrading (1 1 1)
    hex (0 1 4 5 32 33 36 37) (10 10 1) simpleGrading (1 1 1)
    hex (1 2 3 4 33 34 35 36) (10 10 1) simpleGrading (1 1 1)
    hex (4 3 6 7 36 35 38 39) (10 10 1) simpleGrading (1 1 1)
    hex (9 4 7 8 41 36 39 40) (10 10 1) simpleGrading (1 1 1)
    hex (15 16 10 9 47 48 42 41) (10 10 1) simpleGrading (1 1 1)
    hex (12 11 16 15 44 43 48 47) (10 10 1) simpleGrading (1 1 1)
    hex (13 12 15 14 45 44 47 46) (10 10 1) simpleGrading (1 1 1)
    hex (14 15 18 17 46 47 50 49) (10 10 1) simpleGrading (1 1 1)
    hex (15 9 8 18 47 41 40 50) (10 10 1) simpleGrading (1 1 1)
    hex (26 25 20 21 58 57 52 53) (10 10 1) simpleGrading (1 1 1)
    hex (21 20 1 0 53 52 33 32) (10 10 1) simpleGrading (1 1 1)
    hex (20 19 2 1 52 51 34 33) (10 10 1) simpleGrading (1 1 1)
    hex (23 22 19 20 55 54 51 52) (10 5 1) simpleGrading (1 1 1)
    hex (24 23 20 25 56 55 52 57) (10 5 1) simpleGrading (1 1 1)
    hex (28 29 11 12 60 61 43 44) (10 10 1) simpleGrading (1 1 1)
    hex (25 26 29 28 57 58 61 60) (10 10 1) simpleGrading (1 1 1)
    hex (27 28 12 13 59 60 44 45) (10 10 1) simpleGrading (1 1 1)
    hex (30 31 28 27 62 63 60 59) (10 5 1) simpleGrading (1 1 1)
    hex (31 24 25 28 63 56 57 60) (10 5 1) simpleGrading (1 1 1)
);

edges
(
    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
(
    left
    {
        type patch;
        faces
        (
            (17 14 46 49)
            (14 13 45 46)
            (13 27 59 45)
            (27 30 62 59)
        );
    }
    right
    {
        type patch;
        faces
        (
            (22 19 51 54)
            (19 2 34 51)
            (2 3 35 34)
            (3 6 38 35)
        );
    }
    down
    {
        type wall;
        faces
        (
            (30 31 63 62)
            (31 24 56 63)
            (24 23 55 56)
            (23 22 54 55)
        );
    }
    up
    {
        type wall;
        faces
        (
            (6 7 39 38)
            (7 8 40 39)
            (8 18 50 40)
            (18 17 49 50)
        );
    }
    cylinder
    {
        type wall;
        faces
        (
            (0 5 37 32)
            (5 10 42 37)
            (10 16 48 42)
            (16 11 43 48)
            (11 29 61 43)
            (29 26 58 61)
            (26 21 53 58)
            (21 0 32 53)
        );
    }
);


// ************************************************************************* //
