/*--------------------------------*- 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       dictionary;
    location    "system";
    object      controlDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

application     pimpleFoam;

startFrom       startTime;

startTime       0;

stopAt          endTime;

endTime         85;

deltaT          4e-3;

writeControl    timeStep;

writeInterval   25;

purgeWrite      10;

writeFormat     ascii;

writePrecision  6;

writeCompression off;

timeFormat      general;

timePrecision   6;

runTimeModifiable true;

// Allow 10% run-up before calculating mean
timeStart       #eval #{ 0.1 * ${/endTime} #};


functions
{
    Q1
    {
        type            Q;
        libs            (fieldFunctionObjects);
        writeControl    writeTime;
    }
    vorticity1
    {
        type            vorticity;
        libs            (fieldFunctionObjects);
        writeControl    writeTime;
    }
    yPlus
    {
        type            yPlus;
        libs            (fieldFunctionObjects);
        writeControl    writeTime;
    }
    lambVector1
    {
        type            lambVector;
        libs            (fieldFunctionObjects);
        writeControl    writeTime;
        field           U;
    }
    div1
    {
        type            div;
        libs            (fieldFunctionObjects);
        writeControl    writeTime;
        field           lambVector;
    }
    fieldAverage1
    {
        type            fieldAverage;
        libs            (fieldFunctionObjects);
        writeControl    writeTime;
        timeStart       ${/timeStart};

        fields
        (
            U
            {
                mean        on;
                prime2Mean  on;
                base        time;
            }

            p
            {
                mean        on;
                prime2Mean  on;
                base        time;
            }

            lambVector
            {
                mean        on;
                prime2Mean  off;
                base        time;
            }

            div(lambVector)
            {
                mean        on;
                prime2Mean  off;
                base        time;
            }
        );
    }
}


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