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

scale 0.1;

vertices
(
//z=0
//inner circle
   (5 0 0) //037.5
   (3.535533906 3.535533906 0) //1
   (0 5 0) //2
   (-3.535533906 3.535533906 0) //3
   (-5 0 0) //4
   (-3.535533906 -3.535533906 0) //5
   (0 -5 0) //6
   (3.535533906 -3.535533906 0) //7

//outer circle
   (30 0 0) //8
   (21.21320344 21.21320344 0) //9
   (0 30 0) //10
   (-21.21320344 21.21320344 0) //11
   (-30 0 0) //12
   (-21.21320344 -21.21320344 0) //13
   (0 -30 0) //14
   (21.21320344 -21.21320344 0) //15


//z=1
//inner circle
   (5 0 1) //16
   (3.535533906 3.535533906 1) //17
   (0 5 1) //18
   (-3.535533906 3.535533906 1) //19
   (-5 0 1) //20
   (-3.535533906 -3.535533906 1) //21
   (0 -5 1) //22
   (3.535533906 -3.535533906 1) //23

//outer circle
   (30 0 1) //24
   (21.21320344 21.21320344 1) //25
   (0 30 1) //26
   (-21.21320344 21.21320344 1) //27
   (-30 0 1) //28
   (-21.21320344 -21.21320344 1) //29
   (0 -30 1) //30
   (21.21320344 -21.21320344 1) //31


);

blocks
(
    hex (1 0 8 9 17 16 24 25) (15 52 1) simpleGrading (1 8 1) //Block 0
    hex (2 1 9 10 18 17 25 26) (15 52 1) simpleGrading (1 8 1) //Block 1
    hex (3 2 10 11 19 18 26 27) (15 52 1) simpleGrading (1 8 1) //Block 2
    hex (4 3 11 12 20 19 27 28) (15 52 1) simpleGrading (1 8 1) //Block 3
    hex (5 4 12 13 21 20 28 29) (15 52 1) simpleGrading (1 8 1) //Block 4
    hex (6 5 13 14 22 21 29 30) (15 52 1) simpleGrading (1 8 1) //Block 5
    hex (7 6 14 15 23 22 30 31) (15 52 1) simpleGrading (1 8 1) //Block 6
    hex (0 7 15 8 16 23 31 24) (15 52 1) simpleGrading (1 8 1) //Block 7
    
);

edges
(
    //inner cylinder surface
    arc 0  1  (4 3 0) 
    arc 16 17 (4 3 1) 

    arc 1  2  (3 4 0) 
    arc 17 18 (3 4 1) 

    arc 2  3  (-3 4 0) 
    arc 18 19 (-3 4 1) 

    arc 3  4  (-4 3 0) 
    arc 19 20 (-4 3 1)

    arc 4 5 (-4 -3 0)
    arc 20 21 (-4 -3 1)

    arc 5 6 (-3 -4 0)
    arc 21 22 (-3 -4 1)

    arc 6 7  (3 -4 0) 
    arc 22 23 (3 -4 1) 

    arc 7 0  (4 -3 0) 
    arc 23 16 (4 -3 1)

    //outer cylinder surface
    arc 8  9  (24 18 0) 
    arc 24 25 (24 18 1) 

    arc 9 10  (18 24 0) 
    arc 25 26 (18 24 1) 

    arc 10 11  (-18 24 0) 
    arc 26 27 (-18 24 1) 

    arc 11 12  (-24 18 0) 
    arc 27 28 (-24 18 1)

    arc 12 13 (-24 -18 0)
    arc 28 29 (-24 -18 1)

    arc 13 14 (-18 -24 0)
    arc 29 30 (-18 -24 1)

    arc 14 15  (18 -24 0) 
    arc 30 31  (18 -24 1) 

    arc 15 8  (24 -18 0) 
    arc 31 24 (24 -18 1)

);

boundary
(

    walls
    {
        type wall;
        faces
        (
          (1 0 16 17)
          (2 1 17 18)
          (3 2 18 19)
          (4 3 19 20)
          (5 4 20 21)
          (6 5 21 22)
          (7 6 22 23)
          (0 7 23 16)
        );
    }

    oversetPatch
    {
        type overset;
        faces
        (
          (9  8 24 25)
          (10 9 25 26)
          (11 10 26 27)
          (12 11 27 28)
          (13 12 28 29)
          (14 13 29 30)
          (15 14 30 31)
          (8  15 31 24)
        );
    }

    frontAndBack
    {
        type empty;
        faces
        (
//circular faces
          (0 1 9 8)
          (16 24 25 17)

          (1 2 10 9)
          (17 25 26 18)

          (2 3 11 10)
          (18 26 27 19)

          (3 4 12 11)
          (19 27 28 20)

          (4 5 13 12)
          (20 28 29 21)

          (5 6 14 13)
          (21 29 30 22)

          (6 7 15 14)
          (22 30 31 23)

          (7 0 8 15)
          (23 31 24 16)

        );
    }
);

mergePatchPairs
(
);

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