Skip to content
Snippets Groups Projects
  • Andrew Heather's avatar
    ENH: Added new multiRegion function object · af86d19e
    Andrew Heather authored and Mark OLESEN's avatar Mark OLESEN committed
    Wrapper that clones the supplied object for each region.
    
    Simplifies the setup of identical post-processing requirements for
    multi-region cases.
    Applies the supplied function to all regions by default.
    
    Example of function object specification:
    
        multiRegion
        {
            type    multiRegion;
            libs    (utilityFunctionObjects);
            ...
    
            function
            {
                // Actual object specification
                type    fieldMinMax;
                libs    (fieldFunctionObjects);
                fields  (<field1> .. <fieldN>);
            }
    
            // Optional entries
            regions     (region1 region2);
        }
    
        Where the entries comprise:
            Property   | Description                    | Reqd | Default
            type       | Type name: multiRegion         | yes |
            function   | Function object sub-dictionary | yes |
            regions    | List of region names           | no  | all
    af86d19e
controlDict 1.50 KiB
/*--------------------------------*- C++ -*----------------------------------*\
| =========                 |                                                 |
| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
|  \\    /   O peration     | Version:  v2106                                 |
|   \\  /    A nd           | Website:  www.openfoam.com                      |
|    \\/     M anipulation  |                                                 |
\*---------------------------------------------------------------------------*/
FoamFile
{
    version     2.0;
    format      ascii;
    class       dictionary;
    object      controlDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

application     chtMultiRegionSimpleFoam;

startFrom       startTime;

startTime       0;

stopAt          endTime;

endTime         2000;

deltaT          1;

writeControl    timeStep;

writeInterval   300;

purgeWrite      10;

writeFormat     ascii;

writePrecision  7;

writeCompression off;

timeFormat      general;

timePrecision   6;

runTimeModifiable true;

functions
{
    multiRegion
    {
        type    multiRegion;
        libs    (utilityFunctionObjects);

        // regions ( ".*Air" );

        function
        {
            // Actual object specification
            type    fieldMinMax;
            libs    (fieldFunctionObjects);
            fields  (T);
        }
    }
}


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