ENH: Added new multiRegion function object

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
This commit is contained in:
Andrew Heather
2021-06-14 21:35:00 +01:00
committed by Mark Olesen
parent 89de932685
commit af86d19ea5
4 changed files with 349 additions and 1 deletions

View File

@ -1,7 +1,7 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: v2012 |
| \\ / O peration | Version: v2106 |
| \\ / A nd | Website: www.openfoam.com |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
@ -44,5 +44,24 @@ timePrecision 6;
runTimeModifiable true;
functions
{
multiRegion
{
type multiRegion;
libs (utilityFunctionObjects);
// regions ( ".*Air" );
function
{
// Actual object specification
type fieldMinMax;
libs (fieldFunctionObjects);
fields (T);
}
}
}
// ************************************************************************* //