/*--------------------------------*- C++ -*----------------------------------*\
| =========                 |                                                 |
| \\      /  F ield         | OpenFOAM v2512                                  |
|  \\    /   O peration     | blockMeshDict                                   |
|   \\  /    A nd           | Overset Moving Zone Mesh                        |
|    \\/     M anipulation  |                                                 |
\*---------------------------------------------------------------------------*/

FoamFile
{
    version     2.0;
    format      ascii;
    class       dictionary;
    object      blockMeshDict;
}

// Overset mesh block definition

vertices
(
    (-2.5 -2.5 -2.5)    // 0
    ( 2.5 -2.5 -2.5)    // 1
    ( 2.5  2.5 -2.5)    // 2
    (-2.5  2.5 -2.5)    // 3

    (-2.5 -2.5  2.5)    // 4
    ( 2.5 -2.5  2.5)    // 5
    ( 2.5  2.5  2.5)    // 6
    (-2.5  2.5  2.5)    // 7
);


// Single hex block with uniform mesh

blocks
(
    hex (0 1 2 3 4 5 6 7)
    movingZone
    (10 10 10)
    simpleGrading (1 1 1)
);


// Overset boundary faces

boundary
(
    oversetPatch
    {
        type overset;

        faces
        (
            (1 2 6 5)    // +X
            (0 4 7 3)    // -X

            (2 3 7 6)    // +Y
            (0 1 5 4)    // -Y

            (4 5 6 7)    // +Z
            (0 3 2 1)    // -Z
        );
    }
);


// No patch merging required

mergePatchPairs
(
);


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