/*--------------------------------*- C++ -*----------------------------------*\
| =========                 |                                                 |
| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
|  \\    /   O peration     | Version:  4.x                                   |
|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
|    \\/     M anipulation  |                                                 |
\*---------------------------------------------------------------------------*/
FoamFile
{
    version     2.0;
    format      ascii;
    class       dictionary;
    location    "system";
    object      controlDict.1st;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

application     engineFoam;

startFrom       startTime;

startTime       -180;

stopAt          endTime;

endTime         60;

deltaT          0.25;

writeControl    runTime;

writeInterval   5;

purgeWrite      0;

writeFormat     ascii;

writePrecision  6;

writeCompression off;

timeFormat      general;

timePrecision   6;

runTimeModifiable true;

adjustTimeStep  no;

maxCo           0.2;

maxDeltaT       1;

functions
{
    timeStep
    {
        type coded;
        libs ("libutilityFunctionObjects.so");
        name setDeltaT;

        code
        #{
        #};

        codeExecute
        #{
            const Time& runTime = mesh().time();
            if (runTime.timeToUserTime(runTime.value()) >= -15.0)
            {
                const_cast<Time&>(runTime).setDeltaT
                (
                    runTime.userTimeToTime(0.025)
                );
            }
        #};
    }
}

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