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

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

internalField   uniform (1.47 0 0);

boundaryField
{
    inlet
    {
        type            codedFixedValue;
        value           uniform (1.47 0 0);

        name     parabolicVelocity;
        code
        #{
             const vectorField& Cf = patch().Cf();
             vectorField& field = *this;

             const scalar c = 0;
             const scalar r = 0.00715;
             const scalar Umax = 1.47;
       
             forAll(Cf, faceI)
             {

                   const scalar y = Cf[faceI][1];
                   const scalar z = Cf[faceI][2];

                   field[faceI] = vector(Umax*(1-((pow((y-c)/r,2))+(pow((z-c)/r,2)))/2),0,0);
              }
         #};
    }

    outlet
    {
        type            zeroGradient;
    }

    wall
    {
        type            noSlip;
    }
}

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