/*--------------------------------*- C++ -*----------------------------------*\
  ==  == ====== ====   ====    |
                    \\     ||  | Multiphase Code Repository by HZDR
  ======   //   ||  || ===//   | Website: https://doi.org/10.14278/rodare.767
  ||  ||  //    ||  // || \\   | License: GPL-3.0-or-later
  ==  == ====== ====   ==  ==  |
\*---------------------------------------------------------------------------*/
FoamFile
{
    format      ascii;
    class       dictionary;
    location    "system";
    object      blockMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

convertToMeters 1;

// coordinates:
x1 -0.1;
x2  0.1;
y1 -0.025;
y2  0.025;

z1 0;
z2 0.2;
z3 0.6;

// cell number:
nx1 15;

ny1 1;

nz1 15;
nz2 20;

vertices
(
    ($x1 $y1 $z1)   //0
    ($x2 $y1 $z1)   //1
    ($x2 $y2 $z1)   //2
    ($x1 $y2 $z1)   //3

    ($x1 $y1 $z2)   //4
    ($x2 $y1 $z2)   //5
    ($x2 $y2 $z2)   //6
    ($x1 $y2 $z2)   //7

    ($x1 $y1 $z3)   //8
    ($x2 $y1 $z3)   //9
    ($x2 $y2 $z3)   //10
    ($x1 $y2 $z3)   //11
);

blocks
(
  hex (0 1 2 3 4 5 6 7)   ($nx1 $ny1 $nz1) simpleGrading (1 1 1)    //0
  hex (4 5 6 7 8 9 10 11) ($nx1 $ny1 $nz2) simpleGrading (1 1 1)    //1
);

boundary
(
    gasOutlet
    {
        type patch;
        faces
        (
            (8 9 10 11)  // upper block top
        );
    }

    tray
    {
        type wall;
        faces
        (
            (0 3 2 1)    // lower block bottom
        );
    }

    walls
    {
        type wall;
        faces
        (
            (0 4 7 3)    // lower block left
            (1 2 6 5)    // lower block right
            (0 1 5 4)    // lower block front
            (2 3 7 6)    // lower block back

            (4 8 11 7)   // upper block left
            (5 6 10 9)   // upper block right
            (4 5 9 8)    // upper block front
            (6 7 11 10)  // upper block back
        );
    }
);

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