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

application     icoFoam;

startFrom       startTime;

startTime       0;

stopAt          endTime;

endTime         0.5;

deltaT          0.005;

writeControl    timeStep;

writeInterval   20;

purgeWrite      0;

writeFormat     ascii;

writePrecision  6;

writeCompression off;

timeFormat      general;

timePrecision   6;

runTimeModifiable true;

functions
{
    faceObj1
    {
        type            surfaceRegion;
        libs ("libfieldFunctionObjects.so");

        enabled         true;
        writeControl    writeTime;

        // Output to log&file (true) or to file only
        log             true;

        // Output field values as well
        writeFields     true;

        // Type of region: patch/faceZone/sampledSurface
        regionType      patch;

        // if patch or faceZone: name of patch or faceZone
        name      movingWall;

        //// if sampledSurface: dictionary with a sampledSurface
        //// Note: will not sample surface fields.
        //sampledSurfaceDict
        //{
        //    // Sampling on triSurface
        //    type        sampledTriSurfaceMesh;
        //    surface     integrationPlane.stl;
        //    regionType  cells;  // sample cells or boundaryFaces
        //    interpolate true;
        //}

        // Operation: areaAverage/sum/weightedAverage ...
        operation       areaAverage;

        fields
        (
            p
            phi         // surface fields not supported for sampledSurface
            U
        );
    }

    faceObj2
    {
        type            surfaceRegion;
        libs ("libfieldFunctionObjects.so");
        enabled         true;
        writeControl    writeTime;
        log             true;
        writeFields     true;
        regionType      faceZone;
        name      f0;
        operation       sum;

        fields
        (
            phi
        );
    }

    cellObj1
    {
        type            volRegion;
        libs ("libfieldFunctionObjects.so");
        enabled         true;
        writeControl    writeTime;
        log             true;
        writeFields     true;
        regionType      cellZone;
        name      c0;
        operation       volAverage;

        fields
        (
            p
            U
        );
    }
}

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