/*--------------------------------*- 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   0.0127;

vertices
(
    ( -130   1   1) // 0
    ( -110   1   1) // 1
    (    0   1   1) // 2
    (    0   0   1) // 3
    (    8   0   1) // 4
    (   50   0   1) // 5
    (    8   1   1) // 6
    (   50 3.125 1) // 7
    (   50   9   1) // 8
    (    8   9   1) // 9
    (    0   9   1) // 10
    ( -110   9   1) // 11
    ( -130   9   1) // 12

    ( -130   1   0) // 13
    ( -110   1   0) // 14
    (    0   1   0) // 15
    (    0   0   0) // 16
    (    8   0   0) // 17
    (   50   0   0) // 18
    (    8   1   0) // 19
    (   50 3.125 0) // 20
    (   50   9   0) // 21
    (    8   9   0) // 22
    (    0   9   0) // 23
    ( -110   9   0) // 24
    ( -130   9   0) // 25
);


ySpacing ((0.3 0.47 250)(0.2 0.06 1)(0.3 0.47 0.004));
ySpacing2 ((0.75 0.3 1)(0.25 0.7 0.004));
yWall ((0.5 0.5 100)(0.5 0.5 0.03));

yLower1 ((0.4 0.7 50)(0.6 0.3 1));
yLower2 ((1 1 50));

//yUpper1 ((0.1 0.15 2)(0.75 0.35 4)(0.25 0.5 0.005));
yUpper1 ((0.1 0.2 2)(0.75 0.35 5)(0.25 0.45 0.005));

blocks
(
    // Coarse

    // Block 0
    hex (13 14 24 25 0 1 11 12)
    (2 65 1)
    simpleGrading (0.3 $ySpacing 1)

    // Block 1
    hex (14 15 23 24 1 2 10 11)
    (88 65 1)
    simpleGrading (((106 63 0.1)(4 25 0.3)) $ySpacing 1)

    // Block 2
    hex (16 17 19 15 3 4 6 2)
    (97 48 1)
//    simpleGrading (1 1 1)
    edgeGrading (1 1 1 1   $yWall  $yLower1 $yLower1 $yWall  1 1 1 1)

    // Block 3
    hex (17 18 20 19 4 5 7 6)
    (33 48 1)
//    simpleGrading (100 1 1)
    edgeGrading (80 80 80 80    $yLower1 $yLower2 $yLower2  $yLower1  1 1 1 1)

    // Block 4
    hex (15 19 22 23 2 6 9 10)
    (97 65 1)
//    simpleGrading (1 $ySpacing 1)
    edgeGrading (1 1 1 1   $ySpacing $yUpper1 $yUpper1 $ySpacing  1 1 1 1)

    // Block 5
    hex (19 20 21 22 6 7 8 9)
    (33 65 1)
//    simpleGrading (100 $ySpacing 1)
    edgeGrading (80 80 80 80   $yUpper1 $ySpacing2 $ySpacing2 $yUpper1  1 1 1 1)
/*
    // fine
    hex (0 1 9 8 7 6 14 15)
    (800 1 100)
    simpleGrading (1 1 200)

    hex (2 3 11 10 1 4 12 9)
    (400 1 150)
    simpleGrading (((1 10 5)(1 1 10)) 1 ((1 1 10 )(1 1 0.1)))

    hex (1 4 12 9 6 5 13 14)
    (400 1 100)
    simpleGrading (((1 10 5)(1 1 10)) 1 200)
*/
);

edges
(
);

boundary
(
    inlet
    {
        type patch;
        faces
        (
            (13 0 12 25)
        );
    }
    outlet
    {
        type patch;
        faces
        (
            (18 20 7 5)
            (20 21 8 7)
        );
    }
    lowerWallStartup
    {
        type symmetryPlane;
        faces
        (
            (13 14 1 0)
        );
    }
    upperWallStartup
    {
        type symmetryPlane;
        faces
        (
            (25 12 11 24)
        );
    }
    upperWall
    {
        type wall;
        faces
        (
            (24 11 10 23)
            (23 10 9 22)
            (22 9 8 21)
        );
    }
    lowerWall
    {
        type wall;
        faces
        (
            (14 15 2 1)
            (15 2 3 16)
            (16 17 4 3)
            (17 18 5 4)
        );
    }
    front
    {
        type empty;
        faces
        (
            (0 1 11 12)
            (1 2 10 11)
            (3 4 6 2)
            (4 5 7 6)
            (2 6 9 10)
            (6 7 8 9)
        );
    }
    back
    {
        type empty;
        faces
        (
            (13 25 24 14)
            (14 24 23 15)
            (16 15 19 17)
            (17 19 20 18)
            (15 23 22 19)
            (19 22 21 20)
        );
    }
);

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