/*--------------------------------*- 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     simpleFoam;

startFrom       startTime;

startTime       0;

stopAt          endTime;

endTime         10000;

deltaT          1;

writeControl    timeStep;

writeInterval   100;

purgeWrite      3;

writeFormat     ascii;

writePrecision  8;

writeCompression off;

timeFormat      general;

timePrecision   8;

runTimeModifiable true;

functions
{
    pressure
    {
        type            pressure;
        libs            (fieldFunctionObjects);
        writeControl    writeTime;
        result          Cp;
        mode            staticCoeff;
        rho             rhoInf;
        rhoInf          1;
        U               UInf;
        UInf            (69.44 0 0);
        pInf            0;
    }

    forceCoeffs
    {
        type            forceCoeffs;
        libs            (forces);
        writeControl    writeTime;
        rho             rhoInf;
        rhoInf          1;
        liftDir         (0 1 0);
        dragDir         (1 0 0);
        CofR            (0.75 0 0); // bump midpoint
        pitchAxis       (0 0 1);
        magUInf         69.44;
        lRef            0.9; // length of bump
        Aref            0.1; // mesh span = 2, bump height = 0.05; 2*0.05=0.1
        patches         (bump);
    }

    wallShearStress
    {
        type            wallShearStress;
        libs            (fieldFunctionObjects);
        writeControl    writeTime;
        patches         (bump);
    }

    yPlus
    {
        type            yPlus;
        libs            (fieldFunctionObjects);
        writeControl    writeTime;
        patches         (bump);
    }

    cellCentres
    {
        type            writeCellCentres;
        libs            (fieldFunctionObjects);
        writeControl    writeTime;
    }

    residuals
    {
        type            solverInfo;
        libs            (utilityFunctionObjects);
        fields          (".*");
    }
}

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