/*--------------------------------*- 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  
    
    //back down
    (30 -2.12132 -0.5)            	//38
    (2.12132 -2.12132 -0.5)      	//39
    (0.707107 -0.707107 -0.5)      	//40
    (30 -20 -0.5)                   	//41 
    (2.12132 -20 -0.5)             	//42
    (0 -20 -0.5)                    	//43
    (0 -3 -0.5)                    	//44
    (0 -1 -0.5)                  	//45
    (-20 -2.12132 -0.5)            	//46
    (-2.12132 -2.12132 -0.5)     	//47
    (-0.707107 -0.707107 -0.5)     	//48
    (-20 -20 -0.5)                   	//49
    (-2.12132 -20 -0.5)            	//50
    
    //front down
    (30 -2.12132 0.5)             	//51
    (2.12132 -2.12132 0.5)       	//52
    (0.707107 -0.707107 0.5)       	//53
    (30 -20 0.5)                    	//54 
    (2.12132 -20 0.5)              	//55
    (0 -20 0.5)                     	//56
    (0 -3 0.5)                     	//57
    (0 -1 0.5)                   	//58
    (-20 -2.12132 0.5)             	//59
    (-2.12132 -2.12132 0.5)      	//60
    (-0.707107 -0.707107 0.5)      	//61
    (-20 -20 0.5)                    	//62
    (-2.12132 -20 0.5)             	//63
   
);

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
    
    //down
    hex (40 45 44 39 53 58 57 52) (10 20 1) simpleGrading (1 2 1)      	//10 
    hex (0 40 39 1 19 53 52 20) (10 20 1) simpleGrading (1 2 1)         //11  
    hex (1 39 38 2 20 52 51 21) (10 50 1) simpleGrading (1 6 1)        	//12 
    hex (39 42 41 38 52 55 54 51) (30 50 1) simpleGrading (7 6 1)      	//13   
    hex (44 43 42 39 57 56 55 52) (30 10 1) simpleGrading (7 1 1)       //14 
    hex (47 44 45 48 60 57 58 61) (10 20 1) simpleGrading (1 0.5 1)     //15 
    hex (12 47 48 11 31 60 61 30) (10 20 1) simpleGrading (1 0.5 1)     //16 
    hex (13 46 47 12 32 59 60 31) (10 30 1) simpleGrading (1 0.15 1)  	//17  
    hex (46 49 50 47 59 62 63 60) (30 30 1) simpleGrading (7 0.15 1)  	//18  
    hex (47 50 43 44 60 63 56 57) (30 10 1) simpleGrading (7 1 1)       //19   
);

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)

    //down
    arc 0 40 (0.939693 -0.34202 -0.5)
    arc 40 45 (0.34202 -0.939693 -0.5)
    arc 19 53 (0.939693 -0.34202 0.5)
    arc 53 58 (0.34202 -0.939693 0.5)
    arc 11 48 (-0.939693 -0.34202 -0.5)
    arc 48 45 (-0.34202 -0.939693 -0.5)
    arc 30 61 (-0.939693 -0.34202 0.5)
    arc 61 58 (-0.34202 -0.939693 0.5)

    arc 1 39  (3 -0.1 -0.5)
    arc 39 44 (0.1 -3 -0.5)
    arc 20 52 (3 -0.1 0.5)
    arc 52 57 (0.1 -3 0.5) 
    arc 47 44 (-0.1 -3 -0.5)
    arc 12 47 (-3 -0.1 -0.5)
    arc 31 60 (-3 -0.1 0.5)
    arc 60 57 (-0.1 -3 0.5)  
);

patches
(
    
    patch out
    (
        //up
        (2 3 22 21)
        (3 6 25 22)
        
        //down
        (38 2 21 51) 
        (41 38 51 54) 

    )
    symmetryPlane sym1
    (
        (7 8 27 26)
        (6 7 26 25)
        (8 18 37 27)
        (18 17 36 37)
    )
        
    symmetryPlane sym2
    (
        (43 42 55 56) 
        (42 41 54 55) 
        (50 43 56 63) 
        (49 50 63 62) 
    )

    patch in
    (
        //up
        (14 13 32 33)
        (17 14 33 36)
        
        //down
        (13 46 59 32) 
        (46 49 62 59) 
    
    )
    wall cylinder
    (
        //up
        (10 5 24 29)
        (5 0 19 24)
        (16 10 29 35)
        (11 16 35 30)
        
        //down
        (40 45 58 53) 
        (0 40 53 19)  
        (45 48 61 58) 
        (48 11 30 61) 

    )

    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)

       //down
       (45 40 39 44)
       (40 0 1 39)
       (1 2 38 39)
       (39 38 41 42)
       (44 39 42 43)
       (48 45 44 47)
       (11 48 47 12)
       (13 12 47 46)
       (46 47 50 49)
       (47 44 43 50)
    )

    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)
 
       //down
       (53 58 57 52)
       (19 53 52 20)
       (21 20 52 51)
       (51 52 55 54)
       (52 57 56 55)
       (58 61 60 57)
       (61 30 31 60)
       (31 32 59 60)
       (60 59 62 63)
       (57 60 63 56)
    )
     
);

mergePatchPairs
(
);

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