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

application     pimpleFoam;

startFrom       startTime;

startTime       0;

stopAt          endTime;

endTime         10;

deltaT          0.001;

writeControl    adjustable;

writeInterval   1;

purgeWrite      0;

writeFormat     ascii;

writePrecision  6;

writeCompression off;

timeFormat      general;

timePrecision   6;

runTimeModifiable true;

adjustTimeStep  yes;

maxCo           5;

functions
{

    inlet
{
    type            surfaceFieldValue;
    libs            ("libfieldFunctionObjects.so");
    enabled         yes;
    writeControl    timeStep;
    writeInterval   1; 
    log             yes;
    // Output field values as well
    writeFields     no;
    // Type of source: patch/faceZone/sampledSurface
    regionType      patch;
    name            inlet;
    
    // Operation: areaAverage/sum/weightedAverage ...
    operation       areaAverage;
    fields
    (
        U p
    );
}
outlet1
{
    type            surfaceFieldValue;
    libs            ("libfieldFunctionObjects.so");
    enabled         yes;
    writeControl    timeStep;
    writeInterval   1; 
    log             yes;
    // Output field values as well
    writeFields     no;
    // Type of source: patch/faceZone/sampledSurface
    regionType      patch;
    name            outlet1;
    
    // Operation: areaAverage/sum/weightedAverage ...
    operation       areaAverage;
    fields
    (
        U p 
    );
}

outlet2
{
    type            surfaceFieldValue;
    libs            ("libfieldFunctionObjects.so");
    enabled         yes;
    writeControl    timeStep;
    writeInterval   1; 
    log             yes;
    // Output field values as well
    writeFields     no;
    // Type of source: patch/faceZone/sampledSurface
    regionType      patch;
    name            outlet2;
    
    // Operation: areaAverage/sum/weightedAverage ...
    operation       areaAverage;
    fields
    (
        U p
    );
}



inletflowrate
{
    type            surfaceFieldValue;
    libs            ("libfieldFunctionObjects.so");
    enabled         yes;
    writeControl    timeStep;
    writeInterval   1; 
    log             yes;
    // Output field values as well
    writeFields     no;
    // Type of source: patch/faceZone/sampledSurface
    regionType      patch;
    name            inlet;
    
    // Operation: areaAverage/sum/weightedAverage ...
    operation       sum;
    fields
    (
        phi
    );
}

outlet1_flowrate
{
    type            surfaceFieldValue;
    libs            ("libfieldFunctionObjects.so");
    enabled         yes;
    writeControl    timeStep;
    writeInterval   1; 
    log             yes;
    // Output field values as well
    writeFields     no;
    // Type of source: patch/faceZone/sampledSurface
    regionType      patch;
    name            outlet1;
    
    // Operation: areaAverage/sum/weightedAverage ...
    operation       sum;
    fields
    (
        phi
    );
}

outlet2_flowrate
{
    type            surfaceFieldValue;
    libs            ("libfieldFunctionObjects.so");
    enabled         yes;
    writeControl    timeStep;
    writeInterval   1; 
    log             yes;
    // Output field values as well
    writeFields     no;
    // Type of source: patch/faceZone/sampledSurface
    regionType      patch;
    name            outlet2;
    
    // Operation: areaAverage/sum/weightedAverage ...
    operation       sum;
    fields
    (
        phi
    );
}


}
// ************************************************************************* //
