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

actions
(
    {
      name    bgr0;       // all around bgr
      type    cellSet;
      action  new;
      source  zoneToCell;
      sourceInfo
      {
          name    background;
      }
    }
    {
        name    hullBox0;       // all around hull
        type    cellSet;
        action  new;
        source  zoneToCell;
        sourceInfo
        {
            name    hullBox;
        }
    }
    {
        name    propeller0;       // all around propeller
        type    cellSet;
        action  new;
        source  zoneToCell;
        sourceInfo
        {
            name    propeller;
        }
    }
    {
        name    rudder0;       // all around rudder
        type    cellSet;
        action  new;
        source  zoneToCell;
        sourceInfo
        {
            name    rudder;
        }
    }

    {
        name    box;   //all cells
        type    cellSet;
        action  new;
        source  cellToCell;
        sourceInfo
        {
            set rudder0;
        }
    }


    {
        name    box;   // hole in mesh
        type    cellSet;
        action  subset;
        source  boxToCell;
        sourceInfo
        {
            boxes
            (
            (-0.10 -0.0749 -0.00499)(-0.050 0.0749 0.00499) //rudder
            );
        }
    }

    {
        name    box;
        type    cellSet;
        action  invert;
    }
    {
        name    keepBox;   //all cells
        type    cellSet;
        action  new;
        source  cellToCell;
        sourceInfo
        {
            set box;
        }
    }
    {
        name    keepBox;   //all cells
        type    cellSet;
        action  add;
        source  cellToCell;
        sourceInfo
        {
            set propeller0;
        }
    }
    {
        name    keepBox;   //all cells
        type    cellSet;
        action  add;
        source  cellToCell;
        sourceInfo
        {
            set hullBox0;
        }
    }
    {
        name    keepBox;   //all cells
        type    cellSet;
        action  add;
        source  cellToCell;
        sourceInfo
        {
            set bgr0;
        }
    }
);

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