The limitFields function object limits input fields to user-specified min and max bounds.

For non-scalar types of input fields, the user limit is used to create a scaling factor using the field magnitudes.


Operand Type Location
input vol<Type>Field $FOAM_CASE/<time>/<inpField>
output file - -
output field vol<Type>Field $FOAM_CASE/<time>/<outField>

where <Type>=Scalar/Vector/SphericalTensor/SymmTensor/Tensor.


Example of the limitFields function object by using functions sub-dictionary in system/controlDict file:

    // Mandatory entries (unmodifiable)
    type            limitFields;
    libs            (fieldFunctionObjects);

    // Mandatory entries (runtime modifiable)
    fields          (U);
    limit           max;
    max             100;

    // Optional (inherited) entries
    region          region0;
    enabled         true;
    log             true;
    timeStart       0;
    timeEnd         1000;
    executeControl  timeStep;
    executeInterval 1;
    writeControl    timeStep;
    writeInterval   1;

where the entries mean:

Property Description Type Required Default
type Type name: limitFields word yes -
libs Library name: fieldFunctionObjects word yes -
fields List of fields to process wordList yes -
limit Bound to limit - see below word yes -
min Min limit value scalar conditional -
max Max limit value scalar conditional -

Options for the limit entry:

  • min | Specify a minimum value
  • max | Specify a maximum value
  • both | Specify a minimum value and a maximum value

The inherited entries are elaborated in:

Example by using the postProcess utility:

postProcess -func limitFields

Further information


Source code:


  • Introduced in version v1912