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

application     XiEngineFoam;

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)
                );
            }
        #};
    }
}

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