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

scale   0.001;

//convertToMeters 0.001;

x 3.3;
y 7.7781;
z 8.8388;

nx 12;
ny 12;
nz 80;

a 4.24264;
b 11;
c 12.5;

ea 2;//0.05846;

l = 1000;
vertices
(	
    (0 0 0)		      	// vertex 0
    (3.3 3.3 0)	      	// vertex 1
    (-3.3 3.3 0)      		// vertex 2
    (-3.3 -3.3 0)	      	// vertex 3
    (3.3 -3.3 0)	      	// vertex 4
    (7.7781 7.7781 0)     	// vertex 5
    (-7.7781 7.7781 0)     	// vertex 6
    (-7.7781 -7.7781 0)		// vertex 7
    (7.7781 -7.7781 0)		// vertex 8
    (8.8388 8.8388 0)		// vertex 9
    (-8.8388 8.8388 0)		// vertex 10
    (-8.8388 -8.8388 0)		// vertex 11
    (8.8388 -8.8388 0)		// vertex 12
    
    (0 0 1000)			// vertex 13
    (3.3 3.3 1000)	      // vertex 14
    (-3.3 3.3 1000)      	// vertex 15
    (-3.3 -3.3 1000)	      // vertex 16
    (3.3 -3.3 1000)	      // vertex 17
    (7.7781 7.7781 1000)     	// vertex 18
    (-7.7781 7.7781 1000)     // vertex 19
    (-7.7781 -7.7781 1000)	// vertex 20
    (7.7781 -7.7781 1000)	// vertex 21
    (8.8388 8.8388 1000)	// vertex 22
    (-8.8388 8.8388 1000)	// vertex 23
    (-8.8388 -8.8388 1000)	// vertex 24
    (8.8388 -8.8388 1000)	// vertex 25

    // Rectangle
    (15 15 0)		// vertex 26
    (-15 15 0)		// vertex 27
    (-15 -15 0)		// vertex 28
    (15 -15 0)		// vertex 29
    (15 15 1000)		// vertex 30
    (-15 15 1000)		// vertex 31
    (-15 -15 1000)		// vertex 32
    (15 -15 1000)		// vertex 33

    //Hot water inlet
    (98.4375 -87.5 970)			// vertex 34
    (98.4375 -87.5 990)			// vertex 35
    (76.5625 -87.5 990)		// vertex 36
    (76.5625 -87.5 970)		// vertex 37
    (98.4375 -97.5 970)			// vertex 38
    (98.4375 -97.5 990)			// vertex 39
    (76.5625 -97.5 990)		// vertex 40
    (76.5625 -97.5 970)		// vertex 41

    //Hot water outlet
    (10.9375 87.5 10)			// vertex 42
    (10.9375 87.5 30)			// vertex 43
    (-10.9375 87.5 30)		// vertex 44
    (-10.9375 87.5 10)		// vertex 45
    (10.9375 97.5 10)			// vertex 46
    (10.9375 97.5 30)			// vertex 47
    (-10.9375 97.5 30)		// vertex 48
    (-10.9375 97.5 10)		// vertex 49 


//second part
    (87.5 0 0)		      	// vertex 50
    (90.8 3.3 0)	      	// vertex 51
    (84.2 3.3 0)      		// vertex 52
    (84.2 -3.3 0)	      	// vertex 53
    (90.8 -3.3 0)	      	// vertex 54
    (95.2781 7.7781 0)     	// vertex 55
    (79.7219 7.7781 0)     	// vertex 56
    (79.7219 -7.7781 0)		// vertex 57
    (95.2781 -7.7781 0)		// vertex 58
    (96.3388 8.8388 0)		// vertex 59
    (78.6612 8.8388 0)		// vertex 60
    (78.6612 -8.8388 0)		// vertex 61
    (96.3388 -8.8388 0)		// vertex 62

    (87.5 0 1000)		      	// vertex 63
    (90.8 3.3 1000)	      	    // vertex 64
    (84.2 3.3 1000)      		// vertex 65
    (84.2 -3.3 1000)	      	// vertex 66
    (90.8 -3.3 1000)	      	// vertex 67
    (95.2781 7.7781 1000)     	// vertex 68
    (79.7219 7.7781 1000)     	// vertex 69
    (79.7219 -7.7781 1000)		// vertex 70
    (95.2781 -7.7781 1000)		// vertex 78
    (96.3388 8.8388 1000)		// vertex 79
    (78.6612 8.8388 1000)		// vertex 80
    (78.6612 -8.8388 1000)		// vertex 81
    (96.3388 -8.8388 1000)		// vertex 82
  

    // Rectangle
    (102.5 15 0)		    // vertex 76
    (72.5 15 0)		    // vertex 77
    (72.5 -15 0)		    // vertex 78
    (102.5 -15 0)		    // vertex 79
    (102.5 15 1000)		// vertex 80
    (72.5 15 1000)		// vertex 81
    (72.5 -15 1000)		// vertex 82
    (102.5 -15 1000)		// vertex 83   


    //Sorrounding

    //mid 
    (72.5 87.5 0)        //vertex 84
    (15 87.5 0)         //vertex 85
    (15 15 0)      //vertex 26
    (15 -15 0)      //vertex 87
    (15 -87.5 0)       //vertex 88
    (72.5 -87.5 0)       //vertex 89
    (72.5 -15 0)             //vertex 78
    (72.5 15 0)              //vertex 77
    
    (72.5 87.5 1000)        //vertex 92
    (15 87.5 1000)         //vertex 93
    (15 15 1000)      //vertex 30
    (15 -15 1000)      //vertex 33
    (15 -87.5 1000)       //vertex 96
    (72.5 -87.5 1000)       //vertex 97
    (72.5 -15 1000)             //vertex 98
    (72.5 15 1000)              //vertex 99

    //left 
    (-15 87.5 0)        //vertex 100
    (-43.75 87.5 0)         //vertex 101
    (-43.75 15 0)      //vertex 102
    (-43.75 -15 0)      //vertex 103
    (-43.75 -87.5 0)       //vertex 104
    (-15 -87.5 0)       //vertex 105
    (-15 -15 0)             //vertex 28
    (-15 15 0)              //vertex 27

    (-15 87.5 1000)        //vertex 108
    (-43.75 87.5 1000)         //vertex 109
    (-43.75 15 1000)      //vertex 110
    (-43.75 -15 1000)      //vertex 111
    (-43.75 -87.5 1000)       //vertex 112
    (-15 -87.5 1000)       //vertex 113
    (-15 -15 1000)             //vertex 32
    (-15 15 1000)              //vertex 31

    //right 
    (131.25 87.5 0)        //vertex 80
    (102.5 87.5 0)         //vertex 83
    (102.5 15 0)      //vertex 76
    (102.5 -15 0)      //vertex 79
    (102.5 -87.5 0)       //vertex 120
    (131.25 -87.5 0)       //vertex 121
    (131.25 -15 0)             //vertex 122
    (131.25 15 0)              //vertex 123

    (131.25 87.5 1000)        //vertex 124
    (102.5 87.5 1000)         //vertex 125
    (102.5 15 1000)      //vertex 126
    (102.5 -15 1000)      //vertex 127
    (102.5 -87.5 1000)       //vertex 128
    (131.25 -87.5 1000)       //vertex 129
    (131.25 -15 1000)             //vertex 130
    (131.25 15 1000)              //vertex 131
    
    
);

blocks
(
    hex (1 2 3 4 14 15 16 17) ($nx $ny $nz) simpleGrading (1 1 1)		    // block 1
    hex (5 1 4 8 18 14 17 21) ($nx $ny $nz) simpleGrading (((0.1299 0.08333 1)(0.8701 0.91667 1)) 1 1)		    // block 2
    hex (5 6 2 1 18 19 15 14) ($nx $ny $nz) simpleGrading (1 ((0.1299 0.08333 1)(0.8701 0.91667 1)) 1)		    // block 3
    hex (2 6 7 3 15 19 20 16) ($nx $ny $nz) simpleGrading (((0.8701 0.91667 1)(0.1299 0.08333 1)) 1 1)		    // block 4
    hex (4 3 7 8 17 16 20 21) ($nx $ny $nz) simpleGrading (1 ((0.8701 0.91667 1)(0.1299 0.08333 1)) 1)		    // block 5
    hex (9 5 8 12 22 18 21 25) ($nx $ny $nz) simpleGrading (1 1 1)		// block 6
    hex (9 10 6 5 22 23 19 18) ($nx $ny $nz) simpleGrading (1 1 1)		// block 7
    hex (6 10 11 7 19 23 24 20) ($nx $ny $nz) simpleGrading (1 1 1)		// block 8
    hex (8 7 11 12 21 20 24 25) ($nx $ny $nz) simpleGrading (1 1 1)		// block 9

    hex (26 9 12 29 30 22 25 33) ($nx $ny $nz) simpleGrading (1 1 1)		// block 10
    hex (26 27 10 9 30 31 23 22) ($nx $ny $nz) simpleGrading (1 1 1)		// block 11
    hex (10 27 28 11 23 31 32 24) ($nx $ny $nz) simpleGrading (1 1 1)		// block 12
    hex (12 11 28 29 25 24 32 33) ($nx $ny $nz) simpleGrading (1 1 1)		// block 13

    //hex (34 37 41 38 35 36 40 39) (4 4 4) simpleGrading (1 1 1)		// block 14
    //hex (46 49 45 42 47 48 44 43) (4 4 4) simpleGrading (1 1 1)		// block 15

    //second part
    hex (51 52 53 54 64 65 66 67) ($nx $ny $nz) simpleGrading (1 1 1)		// block 14
    hex (55 51 54 58 68 64 67 71) ($nx $ny $nz) simpleGrading (((0.1299 0.08333 1)(0.8701 0.91667 1)) 1 1)		// block 15
    hex (55 56 52 51 68 69 65 64) ($nx $ny $nz) simpleGrading (1 ((0.1299 0.08333 1)(0.8701 0.91667 1)) 1)		// block 16
    hex (52 56 57 53 65 69 70 66) ($nx $ny $nz) simpleGrading (((0.8701 0.91667 1)(0.1299 0.08333 1)) 1 1)		// block 17
    hex (54 53 57 58 67 66 70 71) ($nx $ny $nz) simpleGrading (1 ((0.8701 0.91667 1)(0.1299 0.08333 1)) 1)		// block 18
    hex (59 55 58 62 72 68 71 75) ($nx $ny $nz) simpleGrading (1 1 1)		// block 19
    hex (59 60 56 55 72 73 69 68) ($nx $ny $nz) simpleGrading (1 1 1)		// block 20
    hex (56 60 61 57 69 73 74 70) ($nx $ny $nz) simpleGrading (1 1 1)		// block 21
    hex (58 57 61 62 71 70 74 75) ($nx $ny $nz) simpleGrading (1 1 1)		// block 22

    hex (76 59 62 79 80 72 75 83) ($nx $ny $nz) simpleGrading (1 1 1)		// block 23
    hex (76 77 60 59 80 81 73 72) ($nx $ny $nz) simpleGrading (1 1 1)		// block 24
    hex (60 77 78 61 73 81 82 74) ($nx $ny $nz) simpleGrading (1 1 1)		// block 25
    hex (62 61 78 79 75 74 82 83) ($nx $ny $nz) simpleGrading (1 1 1)		// block 26

    //mid
    hex (84 85 26 77 92 93 30 81) (16 16 $nz) simpleGrading (1 ((0.0551 0.0625 1)(0.9449 0.9375 1)) 1) // block 27
    hex (77 26 29 78 81 30 33 82) (16 $ny $nz) simpleGrading (1 1 1) // block 28
    hex (78 29 88 89 82 33 96 97) (16 16 $nz) simpleGrading (1 ((0.9449 0.9375 1)(0.0551 0.0625 1)) 1) // block 29

    //left
    hex (100 101 102 27 108 109 110 31) ($nx 16 $nz) simpleGrading (1 ((0.0551 0.0625 1)(0.9449 0.9375 1)) 1) // block 30
    hex (27 102 103 28 31 110 111 32) ($nx $ny $nz) simpleGrading (1 1 1) // block 31
    hex (28 103 104 105 32 111 112 113) ($nx 16 $nz) simpleGrading (1 ((0.9449 0.9375 1)(0.0551 0.0625 1)) 1) // block 32

    //right
    hex (116 117 76 123 124 125 80 131) ($nx 16 $nz) simpleGrading (1 ((0.0551 0.0625 1)(0.9449 0.9375 1)) 1) // block 33
    hex (123 76 79 122 131 80 83 130) ($nx $ny $nz) simpleGrading (1 1 1) // block 34
    hex (122 79 120 121 130 83 128 129) ($nx 16 $nz) simpleGrading (1 ((0.9449 0.9375 1)(0.0551 0.0625 1)) 1) // block 35

    //sandwiched
    hex (85 100 27 26 93 108 31 30) ($nx 16 $nz) simpleGrading (1 ((0.0551 0.0625 1)(0.9449 0.9375 1)) 1) // block 36
    hex (29 28 105 88 33 32 113 96) ($nx 16 $nz) simpleGrading (1 ((0.9449 0.9375 1)(0.0551 0.0625 1)) 1) // block 37
    hex (117 84 77 76 125 92 81 80) ($nx 16 $nz) simpleGrading (1 ((0.0551 0.0625 1)(0.9449 0.9375 1)) 1) // block 38
    hex (79 78 89 120 83 82 97 128) ($nx 16 $nz) simpleGrading (1 ((0.9449 0.9375 1)(0.0551 0.0625 1)) 1) // block 39
);

edges
(
    arc 1 2 (0 4.24264 0)		// edge 1
    arc 2 3 (-4.24264 0 0)		// edge 2
    arc 3 4 (0 -4.24264 0)		// edge 3
    arc 4 1 (4.24264 0 0)		// edge 4
    arc 5 6 (0 11 0)		    // edge 5
    arc 6 7 (-11 0 0)		    // edge 6
    arc 7 8 (0 -11 0)		    // edge 7
    arc 8 5 (11 0 0)		    // edge 8
    arc 9 10 (0 12.5 0)         // edge 9
    arc 10 11 (-12.5 0 0)       // edge 10
    arc 11 12 (0 -12.5 0)		// edge 11
    arc 12 9 (12.5 0 0)		    // edge 12	


    arc 14 15 (0 4.24264 1000)		// edge 13
    arc 15 16 (-4.24264 0 1000)	    // edge 14
    arc 16 17 (0 -4.24264 1000)	    // edge 15
    arc 17 14 (4.24264 0 1000)		// edge 16
    arc 18 19 (0 11 1000)		    // edge 17
    arc 19 20 (-11 0 1000)	        // edge 18
    arc 20 21 (0 -11 1000)	        // edge 19
    arc 21 18 (11 0 1000)		    // edge 20
    arc 22 23 (0 12.5 1000)         // edge 21
    arc 23 24 (-12.5 0 1000)        // edge 22
    arc 24 25 (0 -12.5 1000)	    // edge 23
    arc 25 22 (12.5 0 1000)		    // edge 24

    //second
    arc 51 52 (87.5 4.24264 0)		// edge 25
    arc 52 53 (83.25736 0 0)		// edge 26
    arc 53 54 (87.5 -4.24264 0)		// edge 27
    arc 54 51 (91.74264 0 0)		// edge 28

    arc 55 56 (87.5 11 0)		    // edge 29
    arc 56 57 (76.5 0 0)		    // edge 30
    arc 57 58 (87.5 -11 0)		    // edge 31
    arc 58 55 (98.5 0 0)		    // edge 32

    arc 59 60 (87.5 12.5 0)         // edge 33
    arc 60 61 (75 0 0)              // edge 34
    arc 61 62 (87.5 -12.5 0)		// edge 35
    arc 62 59 (100 0 0)		        // edge 36	


    arc 64 65 (87.5 4.24264 1000)	// edge 37
    arc 65 66 (83.25736 0 1000)		// edge 38
    arc 66 67 (87.5 -4.24264 1000)	// edge 39
    arc 67 64 (91.74264 0 1000)		// edge 40

    arc 68 69 (87.5 11 1000)		// edge 41
    arc 69 70 (76.5 0 1000)		    // edge 42
    arc 70 71 (87.5 -11 1000)		// edge 43
    arc 71 68 (98.5 0 1000)		    // edge 44

    arc 72 73 (87.5 12.5 1000)      // edge 45
    arc 73 74 (75 0 1000)           // edge 46
    arc 74 75 (87.5 -12.5 1000)	    // edge 47
    arc 75 72 (100 0 1000)		    // edge 48	
);

boundary
(
    inlet_cold_1
    {
        type patch;
        faces
        (
            (1 2 3 4)
            (1 5 6 2)
            (2 6 7 3)
            (3 7 8 4)
            (4 8 5 1)
        );
    }

    inlet_cold_2
    {
        type patch;
        faces
        (
            //second
            (51 52 53 54)
            (51 55 56 52)
            (52 56 57 53)
            (53 57 58 54)
            (54 58 55 51)
        );
    }
    outlet_cold_1
    {
        type patch;
        faces
        (
            //second
            (14 15 16 17)
            (14 18 19 15)
            (15 19 20 16)
            (16 20 21 17)
            (17 21 18 14)
        );
    }

    outlet_cold_2
    {
        type patch;
        faces
        (
            //second
            (64 65 66 67)
            (64 68 69 65)
            (65 69 70 66)
            (66 70 71 67)
            (67 71 68 64)
        );
    }

    /*inlet_hot
    {
        type patch;
        faces
        (
            (38 39 40 41)
        );
    }

    outlet_hot
    {
        type patch;
        faces
        (	
            (46 47 48 49)
        );
    }*/

    ext_wall
    {
        type wall;
        faces
        (
            (5 9 10 6)
            (6 10 11 7)
            (7 11 12 8)
            (8 12 9 5)
		(18 22 23 19)
            (19 23 24 20)
            (20 24 25 21)
            (21 25 22 18)

            
		
        );
    }


    ext_wall2
    {
        type wall;
        faces
        (
		//second
            (55 59 60 56)
            (56 60 61 57)
            (57 61 62 58)
            (58 62 59 55)
            (68 72 73 69)
            (69 73 74 70)
            (70 74 75 71)
            (71 75 72 68)
           
            
        );
   }  
);

mergePatchPairs
(

);

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