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

scale 1;

vertices
(
    // backgroundMesh
    ( -0.50   -0.5    -0.7) // 0
    (  1.00   -0.5    -0.7)
    (  1.00    0.5  -0.7)
    ( -0.50    0.5  -0.7)
    ( -0.50   -0.5     0.7) // 4
    (  1.00   -0.5     0.7)
    (  1.00    0.5   0.7)
    ( -0.50    0.5   0.7)

    // hullBox
    (  0.045   -0.14  -0.15)  // 8
    (  0.60  -0.14  -0.15)
    (  0.60   0.10  -0.15)  // 10
    (  0.045    0.10  -0.15)
    (  0.045   -0.14   0.15)  // 12
    (  0.60  -0.14   0.15)
    (  0.60   0.10   0.15)  // 14
    (  0.045    0.10   0.15)

    // propeller
    ( -0.02   -0.08  -0.04)  // 16
    (  0.04   -0.08  -0.04)
    (  0.04    0.00  -0.04)  // 18
    ( -0.02    0.00  -0.04)
    ( -0.02   -0.08   0.04)  // 20
    (  0.04   -0.08   0.04)
    (  0.04    0.00   0.04)  // 22
    ( -0.02    0.00   0.04)

    // rudder
    ( -0.10    -0.14 -0.02)  // 24
    ( -0.04    -0.14 -0.02)
    ( -0.04    -0.02  -0.02)  // 26
    ( -0.10    -0.02  -0.02)
    ( -0.10    -0.14  0.02)  // 28
    ( -0.04    -0.14  0.02)
    ( -0.04    -0.02   0.02)  // 30
    ( -0.10    -0.02  0.02)
);

blocks
(
  //  hex (0 1 2 3 4 5 6 7) background (60 40 56) simpleGrading (1 1 1) // coarser mesh cell size 0.025 m
    hex (0 1 2 3 4 5 6 7) background (75 50 70) simpleGrading (1 1 1)   // cell size 0.02 m

    hex (8 9 10 11 12 13 14 15) hullBox (32 16 16) simpleGrading (1 1 1)

    hex (16 17 18 19 20 21 22 23) propeller (10 20 20) simpleGrading (1 1 1)

    hex (24 25 26 27 28 29 30 31) rudder (20 22 11) simpleGrading (1 1 1)
);

edges
(
);

boundary
(
    overset1  //oversetHull
    {
        type        overset;
        faces
        (
            ( 8 12 15 11)
            (10 14 13  9)
            (11 15 14 10)
            ( 9 13 12  8)
            ( 9  8 11 10)
            (12 13 14 15)
        );
    }

    overset2   //oversetPropeller
    {
        type        overset;
        faces
        (
            (16 20 23 19)
            (18 22 21 17)
            (19 23 22 18)
            (17 21 20 16)
            (20 21 22 23)
            (19 18 17 16)
        );
    }

    overset3   //oversetRudder
    {
        type        overset;
        faces
        (
            (24 28 31 27)
            (26 30 29 25)
            (28 29 30 31)
            (25 24 27 26)
            (27 31 30 26)
            (24 25 29 28)
        );
    }


        // Populated by subsetMesh
        hullWall
        {
            type wall;
            faces ();
        }
        propellerWall
        {
            type wall;
            faces ();
        }
        rudderWall
        {
            type wall;
            faces ();
        }


    atmosphere
    {
        type patch;
        faces
        (
            (3 7 6 2)
        //    (1 5 4 0)
        );
    }

    defaultFaces
    {
      type wall;
      faces
      ();
    }
);

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