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

convertToMeters 1;

vertices
(
    //back up
    (1 0 -0.5)                  	//0
    (3 0 -0.5)                    	//1 
    (30 0 -0.5)                   	//2   
    (30 2.12132 -0.5)            	//3 
    (2.12132 2.12132 -0.5)      	//4
    (0.707107 0.707107 -0.5)      	//5
    (30 20 -0.5)                   	//6  
    (2.12132 20 -0.5)             	//7
    (0 20 -0.5)                    	//8 
    (0 3 -0.5)                    	//9
    (0 1 -0.5)                  	//10
    (-1 0 -0.5)                 	//11
    (-3 0 -0.5)                   	//12 
    (-20 0 -0.5)                   	//13
    (-20 2.12132 -0.5)            	//14
    (-2.12132 2.12132 -0.5)     	//15
    (-0.707107 0.707107 -0.5)     	//16
    (-20 20 -0.5)                   	//17
    (-2.12132 20 -0.5)            	//18
    
    //front up
    (1 0 0.5)                   	//19
    (3 0 0.5)                     	//20
    (30 0 0.5)                    	//21
    (30 2.12132 0.5)             	//22
    (2.12132 2.12132 0.5)       	//23
    (0.707107 0.707107 0.5)       	//24
    (30 20 0.5)                    	//25
    (2.12132 20 0.5)              	//26
    (0 20 0.5)                     	//27
    (0 3 0.5)                     	//28 
    (0 1 0.5)                   	//29  
    (-1 0 0.5)                  	//30
    (-3 0 0.5)                    	//31  
    (-20 0 0.5)                    	//32
    (-20 2.12132 0.5)             	//33  
    (-2.12132 2.12132 0.5)      	//34  
    (-0.707107 0.707107 0.5)      	//35 
    (-20 20 0.5)                    	//36
    (-2.12132 20 0.5)             	//37  
);

blocks
(
    //up
    hex (5 4 9 10 24 23 28 29) (20 10 1) simpleGrading (2 1 1)       	//0
    hex (0 1 4 5 19 20 23 24) (20 10 1) simpleGrading (2 1 1)         	//1
    hex (1 2 3 4 20 21 22 23) (50 10 1) simpleGrading (6 1 1)         	//2
    hex (4 3 6 7 23 22 25 26) (50 30 1) simpleGrading (6 7 1)         	//3 
    hex (9 4 7 8 28 23 26 27) (10 30 1) simpleGrading (1 7 1)         	//4
    hex (15 16 10 9 34 35 29 28) (20 10 1) simpleGrading (0.5 1 1)    	//5
    hex (12 11 16 15 31 30 35 34) (20 10 1) simpleGrading (0.5 1 1)   	//6
    hex (13 12 15 14 32 31 34 33) (30 10 1) simpleGrading (0.15 1 1)   	//7
    hex (14 15 18 17 33 34 37 36) (30 30 1) simpleGrading (0.15 7 1)   	//8
    hex (15 9 8 18 34 28 27 37) (10 30 1) simpleGrading (1 7 1)       	//9
);

edges
(
    //up
    arc 0 5 (0.939693 0.34202 -0.5)
    arc 5 10 (0.34202 0.939693 -0.5)
    arc 19 24 (0.939693 0.34202 0.5)
    arc 24 29 (0.34202 0.939693 0.5)
    arc 11 16 (-0.939693 0.34202 -0.5)
    arc 16 10 (-0.34202 0.939693 -0.5)
    arc 30 35 (-0.939693 0.34202 0.5)
    arc 35 29 (-0.34202 0.939693 0.5)

    arc 15 9 (-0.1 3 -0.5)
    arc 12 15 (-3 0.1 -0.5)
    arc 1 4 (3 0.1 -0.5)
    arc 4 9 (0.1 3 -0.5)
    arc 34 28 (-0.1 3 0.5)
    arc 23 28 (0.1 3 0.5)
    arc 20 23 (3 0.1 0.5)
    arc 31 34 (-3 0.1 0.5)
);

patches
(
    
    patch out
    (
        //up
        (2 3 22 21)
        (3 6 25 22)

    )
    symmetryPlane sym1
    (
        (7 8 27 26)
        (6 7 26 25)
        (8 18 37 27)
        (18 17 36 37)
    )
        
    patch in
    (
        //up
        (14 13 32 33)
        (17 14 33 36)
    )
    wall cylinder
    (
        //up
        (10 5 24 29)
        (5 0 19 24)
        (16 10 29 35)
        (11 16 35 30)

    )

    empty back 
    (
       //up
       (5 10 9 4)
       (0 5 4 1)
       (1 4 3 2)
       (4 7 6 3)
       (9 8 7 4)
       (16 15 9 10)
       (11 12 15 16)
       (12 13 14 15)
       (14 17 18 15)
       (15 18 8 9)
    )

    empty front
    (
       //up
       (24 23 28 29)
       (20 23 24 19)
       (21 22 23 20)
       (22 25 26 23)
       (26 27 28 23)
       (28 34 35 29)
       (34 31 30 35)
       (33 32 31 34 )
       (36 33 34 37)
       (37 34 28 27)

    )
     
);

mergePatchPairs
(
);

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