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

application     sonicFoam;

startFrom       latestTime;

startTime       0;

stopAt          endTime;

endTime         50e-4;

deltaT          0.25e-8;

writeControl    runTime;

writeInterval   1e-4;

purgeWrite      0;

writeFormat     ascii;

writePrecision  6;

writeCompression off;

timeFormat      general;

timePrecision   6;

runTimeModifiable true;

adjustTimeStep  yes;

maxCo           0.5;


functions
{
    massFlowRate_in_one
    {
        type            surfaceFieldValue;
        libs            ("libfieldFunctionObjects.so");
        enabled         true;
        log             true;
        writeControl    adjustable;
        writeInterval   1e-4;

        regionType      patch;
        name            inlet_one;

        operation       sum;

        fields
        (
            phi
        );

        writeFields     true;
        surfaceFormat   raw;
    }

    massFlowRate_in_two
    {
        type            surfaceFieldValue;
        libs            ("libfieldFunctionObjects.so");
        enabled         true;
        log             true;
        writeControl    adjustable;
        writeInterval   1e-4;

        regionType      patch;
        name            inlet_two;

        operation       sum;

        fields
        (
            phi
        );

        writeFields     true;
        surfaceFormat   raw;
    }

    massFlowRate_in_three
    {
        type            surfaceFieldValue;
        libs            ("libfieldFunctionObjects.so");
        enabled         true;
        log             true;
        writeControl    adjustable;
        writeInterval   1e-4;

        regionType      patch;
        name            inlet_three;

        operation       sum;

        fields
        (
            phi
        );

        writeFields     true;
        surfaceFormat   raw;
    }

    massFlowRate_in_four
    {
        type            surfaceFieldValue;
        libs            ("libfieldFunctionObjects.so");
        enabled         true;
        log             true;
        writeControl    adjustable;
        writeInterval   1e-4;

        regionType      patch;
        name            inlet_four;

        operation       sum;

        fields
        (
            phi
        );

        writeFields     true;
        surfaceFormat   raw;
    }

    massFlowRate_co
    {
        type            surfaceFieldValue;
        libs            ("libfieldFunctionObjects.so");
        enabled         true;
        log             true;
        writeControl    adjustable;
        writeInterval   1e-4;

        regionType      patch;
        name            cold_outlet;

        operation       sum;

        fields
        (
            phi
        );

        writeFields     true;
        surfaceFormat   raw;
    }

    massFlowRate_ho
    {
        type            surfaceFieldValue;
        libs            ("libfieldFunctionObjects.so");
        enabled         true;
        log             true;
        writeControl    adjustable;
        writeInterval   1e-4;

        regionType      patch;
        name            hot_outlet;

        operation       sum;

        fields
        (
            phi
        );

        writeFields     true;
        surfaceFormat   raw;
    }
}



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