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

// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
// topoSet assign the name to the region
// 1. cellSet define the name of the region
// 1.a boxToCell is designed for simple geomterical region that
// can be confined between parallel planes
// 1.b for more complex region use cellToCell and than invert
// 2. setToCellZone assign the name of the zone to the cell
// 3. check with paraFoam that the zones are correctly assigned
actions
(
// 1. cellSet
    {
        name      positiveElectrode;
        type      cellSet;
        action    new;
        source    boxToCell;
        sourceInfo
        {
            box  (-1  -1 0) (1 1 .01000000000000000000);
        }
    }
    {
        name      electrolyte;
        type      cellSet;
        action    new;
        source    boxToCell;
        sourceInfo
        {
            box  (-1 -1 .01000000000000000000) (1 1 .02000000000000000000);
        }
    }
    {
        name      negativeElectrode;
        type      cellSet;
        action    new;
        source    boxToCell;
        sourceInfo
        {
            box  (-1 -1 .02000000000000000000) (1 1 .06000000000000000000);
        }
    }
    /* How to use cellToCell + invert
    {
        name      positiveElectrode;
        type      cellSet;
        action    new;
        source    cellToCell;
        sourceInfo
        {
             set electrolyte;
        }
    }
    {
        name      positiveElectrode;
        type      cellSet;
        action    add;
        source    cellToCell;
        sourceInfo
        {
             set negativeElectrode;
        }
    }
    {
        name    positiveElectrode;
        type    cellSet;
        action    invert;
    }
    */
// 2. setToCellZone
    {
        name    electrolyte;
        type    cellZoneSet;
        action    new;
        source    setToCellZone;
        sourceInfo
        {
             set electrolyte;
        }
    }
    {
        name    negativeElectrode;
        type    cellZoneSet;
        action    new;
        source    setToCellZone;
        sourceInfo
        {
             set negativeElectrode;
        }
    }
    {
        name    positiveElectrode;
        type    cellZoneSet;
        action    new;
        source    setToCellZone;
        sourceInfo
        {
            set positiveElectrode;
        }
    }

);
