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

// Whether to convert internal faces only (so leave boundary faces intact).
// This is only relevant if your face selection type can pick up boundary
// faces.
internalFacesOnly true;

// Optionally do not read/convert/write any fields.
//noFields true;


// Baffles to create.
baffles
{
    baffleFaces
    {
        //- Use predefined faceZone to select faces and orientation.
        type        faceZone;
        zoneName    baffleFaces;


        //- Optional flip
        //flip        false;

        patches
        {
            master
            {
                //- Master side patch
                name            baffles;
                type            wall;

                //- Optional override of added patchfields. If not specified
                //  any added patchfields are of type calculated.
                patchFields
                {
                    epsilon
                    {
                        type            epsilonWallFunction;
                        Cmu             0.09;
                        kappa           0.41;
                        E               9.8;
                        value           uniform 0;
                    }
                    k
                    {
                        type            kqRWallFunction;
                        value           uniform 0;
                    }
                    nut
                    {
                        type            nutkWallFunction;
                        Cmu             0.09;
                        kappa           0.41;
                        E               9.8;
                        value           uniform 0;
                    }
                    nuTilda
                    {
                        type            zeroGradient;
                    }
                    p
                    {
                        type            zeroGradient;
                    }
                    U
                    {
                        type            fixedValue;
                        value           uniform (0 0 0);
                    }
                }
            }
            slave
            {
                //- Slave side patch
                name            baffles;
                type            wall;

                patchFields
                {
                    epsilon
                    {
                        type            epsilonWallFunction;
                        Cmu             0.09;
                        kappa           0.41;
                        E               9.8;
                        value           uniform 0;
                    }
                    k
                    {
                        type            kqRWallFunction;
                        value           uniform 0;
                    }
                    nut
                    {
                        type            nutkWallFunction;
                        Cmu             0.09;
                        kappa           0.41;
                        E               9.8;
                        value           uniform 0;
                    }
                    nuTilda
                    {
                        type            zeroGradient;
                    }
                    p
                    {
                        type            zeroGradient;
                    }
                    U
                    {
                        type            fixedValue;
                        value           uniform (0 0 0);
                    }
                }
            }
        }
    }



    cyclicFaces
    {
        //- Select faces and orientation through a searchableSurface
        type        searchableSurface;
        surface     searchablePlate;
        //name sphere.stl;  // name if surface=triSurfaceMesh

        origin      (0.099 -0.006 0.004);
        span        (0 0.012 0.012);

        patches
        {
            master
            {
                //- Master side patch

                name            fan_half0;
                type            cyclic;
                neighbourPatch  fan_half1;

                patchFields
                {
                    p
                    {
                        type            fan;
                        patchType       cyclic;
                        jump            uniform 0;
                        value           uniform 0;
                        jumpTable       polynomial 1((100 0));
                    }
                }
            }
            slave
            {
                //- Slave side patch

                name            fan_half1;
                type            cyclic;
                neighbourPatch  fan_half0;

                patchFields
                {
                    p
                    {
                        type            fan;
                        patchType       cyclic;
                        value           uniform 0;
                    }
                }
            }
        }
    }
}


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