/*--------------------------------*- C++ -*----------------------------------*\
  =========                 |
  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
   \\    /   O peration     | Website:  https://openfoam.org
    \\  /    A nd           | Version:  7
     \\/     M anipulation  |
\*---------------------------------------------------------------------------*/
FoamFile
{
    version     2.0;
    format      ascii;
    class       volVectorField;
    location    "0";
    object      U;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

dimensions      [0 1 -1 0 0 0 0];

internalField   uniform (1 0 0);

boundaryField
{
    inlet
    {
        type            codedFixedValue;
        value           uniform (1 0 0);
        name            swirl;
        code            #{
            const vector axis(1, 0, 0);

            vectorField v(2.0*this->patch().Cf() ^ axis);
            v.replace(vector::X, 1.0);
            operator==(v);
        #};
    }
    outlet
    {
        type            inletOutlet;
        inletValue      uniform (1 0 0);
        value           uniform (1 0 0);
    }
    side1
    {
        type            cyclicAMI;
        value           uniform (1 0 0);
    }
    side2
    {
        type            cyclicAMI;
        value           uniform (1 0 0);
    }
    walls
    {
        type            noSlip;
    }
}


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