/*--------------------------------*- 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;
    object      controlDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

libs            (overset fvMotionSolvers);

application     overInterDyMFoam ;

startFrom       latestTime;

startTime       0.0;

stopAt          endTime;

endTime         10;

deltaT          0.001;

writeControl    adjustable;

writeInterval   0.5;

purgeWrite      0;

writeFormat     ascii;

writePrecision  12;

writeCompression off;

timeFormat      general;

timePrecision   6;

runTimeModifiable yes;

adjustTimeStep  yes;

maxCo           1.5;
maxAlphaCo      2.0;
maxDeltaT       1;

functions
{
    probes
    {
        type            probes;
        libs            (sampling);

        // Name of the directory for probe data
        name            probes;

        // Write at same frequency as fields
        writeControl    timeStep;
        writeInterval   1;

        // Fields to be probed
        fields          (p U);

        // Optional: interpolation scheme to use (default is cell)
        interpolationScheme cell;

        probeLocations
        (
            (0.00132  0.0009 0.005)
        );

    }

    alphaVol
    {
        libs            (utilityFunctionObjects);
        type            coded;
        name            alphaVolume;
        writeControl    timeStep;
        writeInterval   10;

        codeWrite
        #{

            const volScalarField& alpha =
                mesh().lookupObject<volScalarField>("alpha.water");

            Info<< "Alpha volume = " << alpha.weightedAverage(mesh().Vsc()) << endl;

        #};
    }
}

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