OpenFOAM® v1712: New and improved post-processing

31/12/2017

Field entry using wildcards

Many OpenFOAM applications operate on a subset of the available fields, specified using a fields keyword entry. This has been extended to accept wild-card entries for the following function objects:

  • fieldMinMax: field minima and maxima
  • residual: solver residuals
  • fieldCoordinateSystemTransform: field transformations

when using a dictionary format, e.g.

fields    ("p.*" U k epsilon);   // any field starting with p, and fields U, k, epsilon
fields    (".Mean" U k epsilon); // any field ending with Mean and has single character in the front (e.g. pMean), and fields U, k, epsilon
and when using the -postProcess option or postProcess utility on the command line, e.g.

postProcess -func fieldMinMax -fields '(".*")'

Source code
$FOAM_SRC/finiteVolume/functionObjects/fieldSelection

Updated noise utility

The noise utility now supports data sets of arbitrary length, removing the constraint of 2n  \relax \special {t4ht= samples.

Source code
$FOAM_UTILITIES/postProcessing/noise

ParaView and VTK improvements

This release includes improvements to the ParaView paraFoam reader module:

  • supports multiple Lagrangian clouds
  • support for finite area fields

and the foamToVTK utility:

  • support for finite area fields
  • new -cellZone option
  • faster field loading

New field averaging options

The fieldAverage function object has been extended to support multiple windowing types via the new optional windowType keyword, where:

  • none : windowing is deactivated
  • approximate : windowing is approximate, e.g. for a window of size 5, the window average is calculated as
    pict\relax \special {t4ht=

    Note: this recovers the behaviour of OpenFOAM v1706 and earlier

  • exact : stores all window fields to generate an exact window average, e.g. for a window of size 5 with uniform step size, the window average is calculated as:
    pict\relax \special {t4ht=

Note that the exact option requires all fields within the window to be stored, and therefore requires more memory (potentially very large) to operate. To enable a clean restart it is also necessary to write all of these fields to disk, which again can generate a lot of data. If users do not wish to write all the window fields, the allowRestart can be set to no/off.

The following shows an example of an exact window average of the U field, using a window size of 10s without restart enabled:

fieldAverage1
{
    type                fieldAverage;
    libs                ("libfieldFunctionObjects.so");

    writeControl        writeTime;

    restartOnRestart    false;
    restartOnOutput     false;
    periodicRestart     false;

    fields
    (
        U
        {
            mean            on;
            prime2Mean      on;
            base            time;
            windowType      exact;
            window          10.0;
            windowName      w1;
            allowRestart    no;
        }
    );
}

Source code
$FOAM_SRC//functionObjects/field/fieldAverage