Skip to content

Feature run time control triggers

Andrew Heather requested to merge feature-run-time-control-triggers into develop

Extends the runTimeControl function object to set 'trigger' values, that can be used to start other function objects. For example, to run for 100 steps after the average drag coefficient converges (reported by a forceCoeffs function object) the following could be used:

runTimeControl1
{
    type            runTimeControl;
    libs            ("libutilityFunctionObjects.so");
    conditions
    {
        condition1
        {
            type            average;
            functionObject  forceCoeffs1;
            fields          (Cd);
            tolerance       1e-3;
            window          20;
            windowType      exact;
        }
    }
    satisfiedAction setTrigger;
    trigger         1;
}

runTimeControl2
{
    type            runTimeControl;
    libs            ("libutilityFunctionObjects.so");
    controlMode     trigger;
    triggerStart    1;
    conditions
    {
        condition1
        {
            type            maxDuration;
            duration        100;
        }
    }
    satisfiedAction end;
}

See the $FOAM_TUTORIALS/incompressible/simpleFoam/simpleCar tutorial

Edited by Andrew Heather

Merge request reports