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

scale    1;

vertices
(
    (0 0 0)         //p0
    (0 0.1 0)       //p1
    (0 0.2 0)       //p2
    (0 0.3 0)       //p3

    (0.075 0 0)     //p4
    (0.116747 0.0875 0) //p5
    (0.116747 0.2125 0) //p6
    (0.075 0.3 0)   //p7

    (0.225 -0.2 0)  //p8
    (0.225 0 0)     //p9
    (0.225 0.025 0) //p10
    (0.225 0.275 0) //p11
    (0.225 0.3 0)   //p12
    (0.225 0.5 0)   //p13

    (0.375 -0.2 0)  //p14
    (0.375 0 0)     //p15
    (0.333253 0.0875 0) //p16
    (0.333253 0.2125 0) //p17
    (0.375 0.3 0)   //p18
    (0.375 0.5 0)   //p19

    (1.225 -0.2 0)      //p20
    (1.225 0 0)         //p21
    (1.225 0.0875 0)    //p22
    (1.225 0.2125 0)    //p23
    (1.225 0.3 0)       //p24
    (1.225 0.5 0)       //p25

 //domain back
    (0 0 0.10) //p26
    (0 0.1 0.10) //p27
    (0 0.2 0.10) //p28
    (0 0.3 0.10) //p29

    (0.075 0 0.10) //p30
    (0.116747 0.0875 0.10) //p31
    (0.116747 0.2125 0.10) //p32
    (0.075 0.3 0.10) //p33

    (0.225 -0.2 0.10) //p34
    (0.225 0 0.10) //p35
    (0.225 0.025 0.10) //p36
    (0.225 0.275 0.10) //p37
    (0.225 0.3 0.10) //p38
    (0.225 0.5 0.10) //p39

    (0.375 -0.2 0.10) //p40
    (0.375 0 0.10) //p41
    (0.333253 0.0875 0.10) //p42
    (0.333253 0.2125 0.10) //p43
    (0.375 0.3 0.10) //p44
    (0.375 0.5 0.10) //p45

    (1.225 -0.2 0.10) //p46
    (1.225 0 0.10) //p47
    (1.225 0.0875 0.10) //p48
    (1.225 0.2125 0.10) //p49
    (1.225 0.3 0.10) //p50
    (1.225 0.5 0.10) //p51

//rotorfront

    (0.192524 0.13125 0)  //p52
    (0.121077 0.09 0) //p53
    (0.116747 0.0875 0) //p54

    (0.192524 0.16875 0) //p55
    (0.121077 0.21 0) //p56
    (0.116747 0.2125 0) //p57
    (0.192524 0.16875 0) //p58
    (0.121077 0.21 0) //p59
    (0.116747 0.2125 0) //p60

    (0.225 0.1875 0) //61
    (0.225 0.27 0) //62
    (0.225 0.275 0) //63
    (0.225 0.1875 0) //64
    (0.225 0.27 0) //65
    (0.225 0.275 0) //66

    (0.257476 0.16875 0) //67
    (0.328923 0.21 0) //68
    (0.333253 0.2125 0) //69
    (0.257476 0.16875 0) //70
    (0.328923 0.21 0) //71
    (0.333253 0.2125 0) //72

    (0.257476 0.13125 0) //73
    (0.328923 0.09 0) //74
    (0.333253 0.0875 0) //75
    (0.257476 0.13125 0) //76
    (0.328923 0.09 0) //77
    (0.333253 0.0875 0) //78

    (0.225 0.1125 0) //79
    (0.225 0.03 0) //80
    (0.225 0.025 0) //81
    (0.225 0.1125 0) //82
    (0.225 0.03 0) //83
    (0.225 0.025 0) //84

    (0.192524 0.13125 0)  //p85
    (0.121077 0.09 0) //p86
    (0.116747 0.0875 0) //p87


//rotorback

    (0.192524 0.13125 0.1)  //p88
    (0.121077 0.09 0.1) //p89
    (0.116747 0.0875 0.1) //p90

    (0.192524 0.16875 0.1) //p91
    (0.121077 0.21 0.1) //p92
    (0.116747 0.2125 0.1) //p93
    (0.192524 0.16875 0.1) //p94
    (0.121077 0.21 0.1) //p95
    (0.116747 0.2125 0.1) //p96

    (0.225 0.1875 0.1) //97
    (0.225 0.27 0.1) //98
    (0.225 0.275 0.1) //99
    (0.225 0.1875 0.1) //100
    (0.225 0.27 0.1) //101
    (0.225 0.275 0.1) //102

    (0.257476 0.16875 0.1) //103
    (0.328923 0.21 0.1) //104
    (0.333253 0.2125 0.1) //105
    (0.257476 0.16875 0.1) //106
    (0.328923 0.21 0.1) //107
    (0.333253 0.2125 0.1) //108

    (0.257476 0.13125 0.1) //109
    (0.328923 0.09 0.1) //110
    (0.333253 0.0875 0.1) //111
    (0.257476 0.13125 0.1) //112
    (0.328923 0.09 0.1) //113
    (0.333253 0.0875 0.1) //114

    (0.225 0.1125 0.1) //115
    (0.225 0.03 0.1) //116
    (0.225 0.025 0.1) //117
    (0.225 0.1125 0.1) //118
    (0.225 0.03 0.1) //119
    (0.225 0.025 0.1) //120

    (0.192524 0.13125 0.1)  //p121
    (0.121077 0.09 0.1) //p122
    (0.116747 0.0875 0.1) //p123
);

blocks
(
//domain
    hex (0 4 5 1 26 30 31 27) domain (5 5 1) simpleGrading (1 1 1) //b0
    hex (1 5 6 2 27 31 32 28) domain (5 5 1) simpleGrading (1 1 1) //b1
    hex (2 6 7 3 28 32 33 29) domain (5 5 1) simpleGrading (1 1 1) //b2

    hex (4 9 10 5 30 35 36 31) domain (5 5 1) simpleGrading (1 1 1) //b3
    hex (6 11 12 7 32 37 38 33) domain (5 5 1) simpleGrading (1 1 1) //b4

    hex (8 14 15 9 34 40 41 35) domain (5 10 1) simpleGrading (1 1 1) //b5
    hex (9 15 16 10 35 41 42 36) domain (5 5 1) simpleGrading (1 1 1) //b6
    hex (11 17 18 12 37 43 44 38) domain (5 5 1) simpleGrading (1 1 1) //b7
    hex (12 18 19 13 38 44 45 39) domain (5 10 1) simpleGrading (1 1 1) //b8

    hex (14 20 21 15 40 46 47 41) domain (20 10 1) simpleGrading (1 1 1)//b9
    hex (15 21 22 16 41 47 48 42) domain (20 5 1) simpleGrading (1 1 1)//b10
    hex (16 22 23 17 42 48 49 43) domain (20 5 1) simpleGrading (1 1 1)//b11
    hex (17 23 24 18 43 49 50 44) domain (20 5 1) simpleGrading (1 1 1)//b12
    hex (18 24 25 19 44 50 51 45) domain (20 10 1) simpleGrading (1 1 1)//b13

//rotor
    hex (52 55 56 53 88 91 92 89) rotor (5 5 1) simpleGrading (1 1 1) //b14
    hex (58 61 62 59 94 97 98 95) rotor (5 5 1) simpleGrading (1 1 1) //b15
    hex (64 67 68 65 100 103 104 101) rotor (5 5 1) simpleGrading (1 1 1) //b16
    hex (70 73 74 71 106 109 110 107) rotor (5 5 1) simpleGrading (1 1 1) //b17
    hex (76 79 80 77 112 115 116 113) rotor (5 5 1) simpleGrading (1 1 1) //b18
    hex (82 85 86 83 118 121 122 119) rotor (5 5 1) simpleGrading (1 1 1) //b19

    hex (53 56 57 54 89 92 93 90) rotor (5 1 1) simpleGrading (1 1 1) //b20
    hex (59 62 63 60 95 98 99 96) rotor (5 1 1) simpleGrading (1 1 1) //b21
    hex (65 68 69 66 101 104 105 102) rotor (5 1 1) simpleGrading (1 1 1) //b22
    hex (71 74 75 72 107 110 111 108) rotor (5 1 1) simpleGrading (1 1 1) //b23
    hex (77 80 81 78 113 116 117 114) rotor (5 1 1) simpleGrading (1 1 1) //b24
    hex (83 86 87 84 119 122 123 120) rotor (5 1 1) simpleGrading (1 1 1) //b25
);

edges
(
///// outer AMI
    arc 10 5 (0.1625 0.041747 0)
    arc 5 6 (0.1 0.15 0)
    arc 6 11 (0.1625 0.258253 0)
    arc 11 17 (0.2875 0.258253 0)
    arc 17 16 (0.35 0.15 0)
    arc 16 10 (0.2875 0.041747 0)

    arc 36 31 (0.1625 0.041747 0.1)
    arc 31 32 (0.1 0.15 0.1)
    arc 32 37 (0.1625 0.258253 0.1)
    arc 37 43 (0.2875 0.258253 0.1)
    arc 43 42 (0.35 0.15 0.1)
    arc 42 36 (0.2875 0.041747 0.1)

//inner AMI
    arc 84 87 (0.1625 0.041747 0)
    arc 54 57 (0.1 0.15 0)
    arc 60 63 (0.1625 0.258253 0)
    arc 66 69 (0.2875 0.258253 0)
    arc 72 75 (0.35 0.15 0)
    arc 78 81 (0.2875 0.041747 0)

    arc 120 123 (0.1625 0.041747 0.1)
    arc 90 93 (0.1 0.15 0.1)
    arc 96 99 (0.1625 0.258253 0.1)
    arc 102 105 (0.2875 0.258253 0.1)
    arc 108 111 (0.35 0.15 0.1)
    arc 114 117 (0.2875 0.041747 0.1)

//outer rotor

    arc 83 86 (0.165 0.046077 0)
    arc 53 56 (0.105 0.15 0)
    arc 59 62 (0.165 0.253923 0)
    arc 65 68 (0.285 0.253923 0)
    arc 71 74 (0.345 0.15 0)
    arc 77 80 (0.285 0.046077 0)

    arc 119 122 (0.165 0.046077 0.1)
    arc 89 92 (0.105 0.15 0.1)
    arc 95 98 (0.165 0.253923 0.1)
    arc 101 104 (0.285 0.253923 0.1)
    arc 107 110 (0.345 0.15 0.1)
    arc 113 116 (0.285 0.046077 0.1)

//inner rotor

    arc 82 85 (0.20625 0.117524 0)
    arc 52 55 (0.1875 0.15 0)
    arc 58 61 (0.20625 0.182476 0)
    arc 64 67 (0.24375 0.182476 0)
    arc 70 73 (0.2625 0.15 0)
    arc 76 79 (0.24375 0.117524 0)

    arc 118 121 (0.20625 0.117524 0.1)
    arc 88 91 (0.1875 0.15 0.1)
    arc 94 97 (0.20625 0.182476 0.1)
    arc 100 103 (0.24375 0.182476 0.1)
    arc 106 109 (0.2625 0.15 0.1)
    arc 112 115 (0.24375 0.117524 0.1)
);

boundary
(
    walls
    {
        type wall;
        faces
        (
            (0 4 30 26)
            (4 9 35 30)
            (9 8 34 35)
            (3 7 33 29)
            (7 12 38 33)
            (12 13 39 38)
        );
    }

    floor
    {
        type wall;
        faces
        (
            (8 14 40 34)
            (14 20 46 40)
        );
    }

    roof
    {
        type wall;
        faces
        (
            (13 19 45 39)
            (19 25 51 45)
        );
    }

    inlet
    {
        type patch;
        faces
        (
            (0 1 27 26)
            (1 2 28 27)
            (2 3 29 28)
        );
    }

    outlet
    {
        type patch;
        faces
        (
            (20 21 47 46)
            (21 22 48 47)
            (22 23 49 48)
            (23 24 50 49)
            (24 25 51 50)
        );
    }

    AMI1a
    {
        type            cyclicAMI;
        matchTolerance  0.0001;
        transform       noOrdering;
        neighbourPatch  AMI1b;
        faces
        (
            (10 5 31 36)
            (5 6 32 31)
            (6 11 37 32)
            (11 17 43 37)
            (17 16 42 43)
            (16 10 36 42)
        );
    }

    AMI1b
    {
        type            cyclicAMI;
        matchTolerance  0.0001;
        transform       noOrdering;
        neighbourPatch  AMI1a;
        faces
        (

                (84 87 123 120)
                (54 57 93 90)
                (60 63 99 96)
                (66 69 105 102)
                (72 75 111 108)
                (78 81 117 114)
        );
    }

    rotor
    {
        type wall;
        faces
        (
            (82 83 119 118)
            (83 84 120 119)
            (79 80 116 115)
            (80 81 117 116)

            (85 86 122 121)
            (86 87 123 122)
            (52 53 89 88)
            (53 54 90 89)

            (55 56 92 91)
            (56 57 93 92)
            (58 59 95 94)
            (59 60 96 95)

            (61 62 98 97)
            (62 63 99 98)
            (64 65 101 100)
            (65 66 102 101)

            (67 68 104 103)
            (68 69 105 104)
            (70 71 107 106)
            (71 72 108 107)

            (76 77 113 112)
            (77 78 114 113)
            (73 74 110 109)
            (74 75 111 110)

            (82 85 121 118)
            (52 55 91 88)
            (58 61 97 94)
            (64 67 103 100)
            (70 73 109 106)
            (76 79 115 112)

        );
    }
);


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