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

convertToMeters 0.01;

vertices
(
    (0.7071 0.7071 -1)    //0
    (-0.7071 0.7071 -1)   //1
    (-0.7071 -0.7071 -1)  //2
    (0.7071 -0.7071 -1)   //3
    (0.7071 0.7071 1)    //4
    (-0.7071 0.7071 1)    //5
    (-0.7071 -0.7071 1)    //6
    (0.7071 -0.7071 1)    //7
    (1.4142  1.4142 -1)    //8
    (-1.4142  1.4142 -1)    //9
    (-1.4142  -1.4142 -1)  //10
    (1.4142  -1.4142 -1)  //11
    (1.4142  1.4142 1)    //12
    (-1.4142  1.4142 1)    //13
    (-1.4142  -1.4142 1)   //14
    (1.4142  -1.4142 1)   //15
    (3.5355 3.5355 -1)   //16
    (-3.5355 3.5355 -1)   //17
    (-3.5355 -3.5355 -1)   //18
    (3.5355 -3.5355 -1)   //19
    (3.5355 3.5355 1)    //20
    (-3.5355 3.5355 1)   //21
    (-3.5355 -3.5355 1)   //22
    (3.5355 -3.5355 1)    //23
    (10 10 -1)     //24
    (-10 10 -1)    //25
    (-10 -10 -1)   //26
    (10 -10 -1)    //27
    (10 10 1)    //28
    (-10 10 1)   //29
    (-10 -10 1)   //30
    (10 -10 1)   //31
);

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

);  

edges
(
  arc 8 9 90.0 (0 0 1)
  arc 9 10 90.0 (0 0 1)
  arc 10 11 90.0 (0 0 1)
  arc 11 8 90.0 (0 0 1)
  arc 16 17 90.0 (0 0 1)
  arc 17 18 90.0 (0 0 1)
  arc 18 19 90.0 (0 0 1)
  arc 19 16 90.0 (0 0 1)
  arc 12 13 90.0 (0 0 1)  
  arc 13 14 90.0 (0 0 1)
  arc 14 15 90.0 (0 0 1)
  arc 15 12 90.0 (0 0 1)
  arc 20 21 90.0 (0 0 1)
  arc 21 22 90.0 (0 0 1)
  arc 22 23 90.0 (0 0 1)
  arc 23 20 90.0 (0 0 1)
);

boundary
(
    inlet
    {
        type patch;
        faces
        (
           (25 26 30 29)
        );
    }
     outlet
    {
        type patch;
        faces
        (
           (27 24 28 31)
        );
    }
    fixedWalls
    {
        type wall;
        faces
        (
            (24 25 29 28)
            (26 27 31 30)
        );
    }
    frontAndBack
    {
        type empty;
        faces
        (
            (3 2 1 0)
            (8 0 1 9)
            (9 1 2 10)
            (10 2 3 11)
            (16 8 9 17)
            (17 9 10 18)
            (18 10 11 19)
            (19 11 8 16)
            (24 16 17 25)
            (25 17 18 26)
            (26 18 19 27)
            (27 19 16 24)
            (4 5 6 7)
            (12 13 5 4)
            (13 14 6 5)
            (14 15 7 6)
            (15 12 4 7)
            (20 21 13 12)
            (21 22 14 13)
            (22 23 15 14)
            (23 20 12 15)
            (28 29 21 20)
            (29 30 22 21)
            (30 31 23 22)
            (31 28 20 23)
        );
    }
);

mergePatchPairs
(
);

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