/*--------------------------------*- C++ -*----------------------------------*\
| =========                 |                                                 |
| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
|  \\    /   O peration     | Version:  v2212                                 |
|   \\  /    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 (0 0 1);

boundaryField
{
	inlet
	{
		type 	codedFixedValue;
		value	$internalField;
		name	parabolicVelocity;
		code
		#{
			const vectorField& Cf = patch().Cf();
			vectorField& field = *this;
			const scalar c = 0;
			const scalar r = 0.0005;
			const scalar Umax = 2;
			forAll(Cf, faceI)
			{
				const scalar x = Cf[faceI][0];
				const scalar y = Cf[faceI][1];
				field[faceI] = vector(0, 0, Umax*(1-((pow((y-c)/r,2))+(pow((x-c)/r,2)))));
			}
		#};
	}
	
    outlet
    {
        type	zeroGradient;
    }

    wall
     {
        type            fixedValue;
        value           uniform (0 0 0);;
    }
}

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

