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

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

actions
(
  
// leftsolid
    {
        name    leftsolid;
        type    cellSet;
        action  new;
        source  boxToCell;
        sourceInfo
        {
            box (-0.1 0 0)(0 1 7.5);
        }
    }
    {
        name    leftsolid;
        type    cellZoneSet;
        action  new;
        source  setToCellZone;
        sourceInfo
        {
            set leftsolid;           // name of cellSet
        }
    }

// rightsolid
    {
        name    rightsolid;
        type    cellSet;
        action  new;
        source  boxToCell;
        sourceInfo
        {
            box (1 0 0)(1.1 1 7.5);
        }
    }
    {
        name    rightsolid;
        type    cellZoneSet;
        action  new;
        source  setToCellZone;
        sourceInfo
        {
            set rightsolid;       // name of cellSet
        }
    }

// topsolid
    {
        name    topsolid;
        type    cellSet;
        action  new;
        source  boxToCell;
        sourceInfo
        {
            box (-0.1 -0.1 7.5)(1.1 1.1 7.6);
        }
    }
    {
        name    topsolid;
        type    cellZoneSet;
        action  new;
        source  setToCellZone;
        sourceInfo
        {
            set topsolid;       // name of cellSet
        }
    }

   // botttomsolid
    {
        name    bottomsolid;
        type    cellSet;
        action  new;
        source  boxToCell;
        sourceInfo
        {
            box (-0.1 -0.1 -0.1)(1.1 1.1 0);
        }
    }
    {
        name    bottomsolid;
        type    cellZoneSet;
        action  new;
        source  setToCellZone;
        sourceInfo
        {
            set bottomsolid;       // name of cellSet
        }
    }

 // frontsolid
    {
        name    frontsolid;
        type    cellSet;
        action  new;
        source  boxToCell;
        sourceInfo
        {
            box (-0.1 1 0)(1.1 1.1 7.5);
        }
    }
    {
        name    frontsolid;
        type    cellZoneSet;
        action  new;
        source  setToCellZone;
        sourceInfo
        {
            set frontsolid;       // name of cellSet
        }
    }

 // backsolid
    {
        name    backsolid;
        type    cellSet;
        action  new;
        source  boxToCell;
        sourceInfo
        {
            box (-0.1 -0.1 0)(1.1 0 7.5);
        }
    }
    {
        name    backsolid;
        type    cellZoneSet;
        action  new;
        source  setToCellZone;
        sourceInfo
        {
            set backsolid;       // name of cellSet
        }
    }
    // fluid is all the other cells
    {
        name    fluid;
        type    cellZoneSet;
        action  clear;
    }
  
    
    {
        name    fluid;
        type    cellSet;
        action  add;
        source  cellToCell;
        sourceInfo
        {
            set leftsolid;
        }
    }

    {
        name    fluid;
        type    cellSet;
        action  add;
        source  cellToCell;
        sourceInfo
        {
            set rightsolid;
        }
    }
 {
        name    fluid;
        type    cellSet;
        action  add;
        source  cellToCell;
        sourceInfo
        {
            set topsolid;
        }
    }

    {
        name    fluid;
        type    cellSet;
        action  add;
        source  cellToCell;
        sourceInfo
        {
            set bottomsolid;
        }
    }

    {
        name    fluid;
        type    cellSet;
        action  add;
        source  cellToCell;
        sourceInfo
        {
            set frontsolid;
        }
    }

{
        name    fluid;
        type    cellSet;
        action  add;
        source  cellToCell;
        sourceInfo
        {
            set backsolid;
        }
    }

    {
        name    fluid;
        type    cellSet;
        action  invert;
    }
    {
        name    fluid;
        type    cellZoneSet;
        action  new;
        source  setToCellZone;
        sourceInfo
        {
            set fluid;
        }
    }
);

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