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

scale   1;

vertices
(
    (0   0.333333333333333 0  )
    (0   1.333333333333333 0  )
    (0   1.333333333333333 0.1)
    (0   0.333333333333333 0.1)

    (0.8 0.333333333333333 0  )
    (0.8 1.333333333333333 0  )
    (0.8 1.333333333333333 0.1)
    (0.8 0.333333333333333 0.1)

    (1   0.333333333333333 0  )
    (1   1.333333333333333 0  )
    (1   1.333333333333333 0.1)
    (1   0.333333333333333 0.1)

    (1   0   0  )
    (1   1   0  )
    (1   1   0.1)
    (1   0   0.1)

    (1.2 0   0  )
    (1.2 1   0  )
    (1.2 1   0.1)
    (1.2 0   0.1)

    (3   0   0  )
    (3   1   0  )
    (3   1   0.1)
    (3   0   0.1)
);

blocks
(
    hex (0 1 2 3 4 5 6 7) inletChannel (40 1 64) simpleGrading (1 1 1)
    hex (4 5 6 7 8 9 10 11 12) inletChannel (40 1 16) simpleGrading (1 1 1)

    hex (12 13 14 15 16 17 18 19) (96 1  8) simpleGrading (1 1 1)
    hex (16 17 18 19 20 21 22 23) (96 1 72) simpleGrading (1 1 1)
);

edges
(
);

boundary
(
    inlet
    {
        type patch;
        faces
        (
            (0 1 2 3)
        );
    }
    outlet
    {
        type patch;
        faces
        (
            (20 21 22 23)
        );
    }
    walls
    {
        type wall;
        faces
        (
            (0 3 7 4)
            (16 19 23 20)
            (1 2 6 5)
            (17 18 22 21)
        );
    }
    cyclicMoving1
    {
        type cyclic;
        neighbourPatch cyclicMoving2;
        faces
        (
            (4 7 11 8)
        );
    }
    cyclicMoving2
    {
        type cyclic;
        neighbourPatch cyclicMoving1;
        faces
        (
            (5 6 10 9)
        );
    }
    cyclicStationary1
    {
        type cyclic;
        neighbourPatch cyclicStationary2;
        faces
        (
            (12 15 19 16)
        );
    }
    cyclicStationary2
    {
        type cyclic;
        neighbourPatch cyclicStationary1;
        faces
        (
            (13 14 18 17)
        );
    }
    ami1
    {
        type cyclicPeriodicAMI;
        inGroups 1(cyclicAMI);
        neighbourPatch ami2;
        periodicPatch cyclicMoving1;
        faces
        (
            (8 9 10 11)
        );
    }
    ami2
    {
        type cyclicPeriodicAMI;
        inGroups 1(cyclicAMI);
        neighbourPatch ami1;
        periodicPatch cyclicMoving1;
        faces
        (
            (12 13 14 15)
        );
    }
);

mergePatchPairs
(
);

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