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

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

nx 96; // cells in x
ny 96; // cells in y
ni 25; // cells in z, interconnect
ng 8;  // cells in z, gas diffusion layer

h1 0.3; 	// thickness GDL
mh1 -0.3;
h2 10.3; 	// thickness GDL plus monopolar plate
mh2 -10.3;

scale 1e-3;

vertices
(
    ( 1  1  $mh2) ( 38 1 $mh2) ( 38 38 $mh2) ( 1 38 $mh2)
    ( 1  1  $mh1) ( 38 1 $mh1) ( 38 38 $mh1) ( 1 38 $mh1)
    ( 1  1   0.0) ( 38 1  0.0) ( 38 38  0.0) ( 1 38  0.0)
    ( 1  1   $h1) ( 38 1  $h1) ( 38 38  $h1) ( 1 38  $h1)
    ( 1  1   $h2) ( 38 1  $h2) ( 38 38  $h2) ( 1 38  $h2)
);

blocks
(
    hex ( 0  1  2  3  4  5  6  7) interconnect1 ($nx $ny $ni) simpleGrading (1 1 1)
    hex ( 4  5  6  7  8  9 10 11) fuel          ($nx $ny $ng) simpleGrading (1 1 1)
    hex ( 8  9 10 11 12 13 14 15) air           ($nx $ny $ng) simpleGrading (1 1 1)
    hex (12 13 14 15 16 17 18 19) interconnect0 ($nx $ny $ni) simpleGrading (1 1 1)
);

edges
(
);

boundary
(
    interconnectSides
    {
        type patch;
        faces
        (
            (3 7 6 2)
            (1 5 4 0)
            (0 4 7 3)
            (2 6 5 1)

            (15 19 18 14)
            (13 17 16 12)
            (12 16 19 15)
            (14 18 17 13)
        );
    }

    anodeSides
    {
        type wall;
        faces
        (
            (7 11 10 6)
            (5  9  8 4)
            (4  8 11 7)
            (6 10  9 5)
        );
    }

    cathodeSides
    {
        type wall;
        faces
        (
            (11 15 14 10)
            ( 9 13 12  8)
            ( 8 12 15 11)
            (10 14 13  9)
        );
    }

    interconnect1
    {
        type wall;
        faces
        (
            (0 3 2 1)
        );
    }
    interconnect0
    {
        type patch;
        faces
        (
            (16 17 18 19)
        );
    }
);

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