Function objects are OpenFOAM utilities to ease workflow configurations and enhance workflows.
More...
class ObukhovLength
Computes the Obukhov length field and associated friction velocity field. More...
class writeFreeSurface
A function object to write the control points on the free surface. More...
class fieldInfo
Helper class to store a wordRe and label used by Foam::functionObjects::fieldSelection . More...
class fieldSelection
Helper class to manage field selections. More...
class fileFieldSelection
Helper class to manage file-based field selections. More...
class solverFieldSelection
class volFieldSelection
Helper class to manage solver field selections. More...
class fvMeshFunctionObject
Specialization of Foam::functionObject for an Foam::fvMesh , providing a reference to the Foam::fvMesh . More...
class volRegion
Volume (cell) region selection class. More...
class add
Sums a given list of (at least two or more) fields and outputs the result into a new field. All input fields must have matching sizes and compatible dimensions; otherwise, an error will be raised. More...
class age
Calculates and writes out the time taken for a particle to travel from an inlet to the location. Solves the following equation when incompressible: More...
class AMIWeights
Computes the min/max/average weights of arbitrary mesh interface (AMI) patches, and optionally reports to a text file or writes VTK surfaces of the sum of the weights and mask fields for arbitrarily coupled mesh interface (ACMI) patches. More...
class binField
Calculates binned data, where specified patches are divided into segments according to various input bin characteristics, so that spatially-localised information can be output for each segment. More...
class blendingFactor
Computes blending factor as an indicator about which of the schemes is active across the domain. More...
class cellDecomposer
Maps input fields from local mesh to a secondary mesh at runtime. More...
class columnAverage
Computes the arithmetic average of given quantities along columns of cells in a given direction for structured-like layered meshes. It is, for example, useful for channel-like cases where spanwise average of a field is desired. However, the columnAverage function object does not operate on arbitrary unstructured meshes. More...
class comfort
Calculates the thermal comfort quantities predicted mean vote (PMV), predicted percentage of dissatisfaction (PPD) and the draught rate (DR) based on DIN ISO EN 7730:2005. More...
class components
Extracts the components of elements of a field and outputs the result into new fields, where the fields possess the same sizes and dimensions. More...
class continuityError
Computes local, global and cumulative continuity errors for a flux field. More...
class CourantNo
Computes the Courant number field for time-variant simulations. More...
class Curle
Computes the acoustic pressure based on Curle 's analogy. More...
class ddt
Computes the Eulerian time derivative of an input volume field for time-variant simulations (not appropriate to steady-state simulations). More...
class ddt2
Computes the magnitude or magnitude squared of the Eulerian time derivative of an input volume field for time-variant simulations (not appropriate to steady-state simulations). More...
class derivedFields
Computes two predefined derived fields, i.e. rhoU, and pTotal, where the defined fields are hard-coded as follows: More...
class DESModelRegions
Computes an indicator field for detached eddy simulation (DES) turbulence calculations, where the values of the indicator mean: More...
class div
Computes the divergence of an input field. More...
class DMD
Computes a dynamic mode decomposition model on a specified field. More...
class enstrophy
Computes the enstrophy of an input volVectorField . More...
class fvExpressionField
Function object that generates or modifies a field based on expressions. More...
class externalCoupled
Provides a simple file-based communication interface for explicit coupling with an external application, so that data is transferred to- and from OpenFOAM. The data exchange employs specialised boundary conditions to provide either one-way or two-way coupling models. More...
class eulerianParticle
class sumParticleOp
class extractEulerianParticles
Generates particle size information from Eulerian calculations, e.g. VoF. More...
class fieldAverage
Computes ensemble- and/or time-based field averages, with optional windowing, for a user-specified selection of volumetric and/or surface fields. More...
class fieldAverageItem
Helper class to describe what form of averaging to apply. A set will be applied to each base field in Foam::fieldAverage, of the following form. More...
class fieldExpression
Intermediate class for handling field expression function objects (e.g. blendingFactor etc.) whereinto a single field is input. More...
class fieldExtents
Computes the spatial minimum and maximum extents of an input field. More...
class fieldMinMax
Computes the values and locations of field minima and maxima. These are good indicators of calculation performance, e.g. to confirm that predicted results are within expected bounds, or how well a case is converging. More...
class fieldsExpression
Intermediate class for handling field expression function objects (e.g. add, subtract etc.) whereinto more than one fields are input. More...
class fieldStatistics
Calculates various statistics of the specified fields. More...
class fieldValue
Intermediate class for handling field value-based function objects. More...
class flowType
Computes the flow type indicator of an input velocity field. More...
class flux
Computes the flux of an input vector field. More...
class fluxSummary
Computes the volumetric- or mass-flux information across selections of face zones. More...
class grad
Computes the gradient of an input field. More...
class heatTransferCoeff
Computes the heat transfer coefficient [W/(m^2 K )] as a volScalarField for a given set of patches. More...
class multiphaseInterHtcModel
A heat transfer coefficient for multiphase inter solvers (e.g. icoReactingMultiphaseFoam). More...
class reactingEulerHtcModel
A heat transfer coefficient for reactingEuler solvers. More...
class histogram
Computes the volume-weighted histogram of an input volScalarField . More...
class interfaceHeight
This function object reports the height of the interface above a set of locations. More...
class Lambda2
Computes the second largest eigenvalue of the sum of the square of the symmetrical and anti-symmetrical parts of the velocity gradient tensor. More...
class LambVector
Computes Lamb vector, i.e. the cross product of vorticity and velocity. Calculation of the divergence of the Lamb vector can be performed by using div function object on this LambVector function object. More...
class limitFields
Limits input fields to user-specified min and max bounds. More...
class log
Computes the natural logarithm of an input volScalarField . More...
class MachNo
Computes the Mach number as a volScalarField . More...
class mag
Computes the magnitude of an input field. More...
class magSqr
Computes the magnitude of the square of an input field. More...
class mapFields
Maps input fields from local mesh to secondary mesh at runtime. More...
class momentum
Computes linear/angular momentum, reporting integral values and optionally writing the fields. More...
class momentumError
Computes balance terms for the steady momentum equation. More...
class multiply
Multiplies a given list of (at least two or more) fields and outputs the result into a new field. More...
class nearWallFields
Samples near-patch volume fields within an input distance range. More...
class norm
Normalises an input field with a chosen norm, and outputs a new normalised field. More...
class particleDistribution
Generates a particle distribution for lagrangian data at a given time. More...
class PecletNo
Computes the Peclet number as a surfaceScalarField . More...
class pow
Computes the power of an input volScalarField . More...
class pressure
Provides several methods to convert an input pressure field into derived forms, including: More...
class processorField
Writes a scalar field whose value is the local processor ID. The output field name is processorID. More...
class proudmanAcousticPower
Computes the acoustic power due to the volume of isotropic turbulence using Proudman's formula. More...
class Q
Computes the second invariant of the velocity gradient tensor . More...
class randomise
Adds a random component to an input field, with a specified perturbation magnitude. More...
class reactionsSensitivityAnalysis
Computes indicators for reaction rates of creation or destruction of species in each reaction. More...
class readFields
Reads fields from the time directories and adds them to the mesh database for further post-processing. More...
class reference
Computes a field whose values are offset to a reference value obtained by from a Function1 . More...
class regionSizeDistribution
Creates a droplet size distribution via interrogating a continuous phase fraction field. More...
class resolutionIndex
Computes a single-mesh resolution index according to the specified model, which is used as a LES/DES quality/post-verification metric that does not require any experimental or DNS data. More...
class setFlow
Provides options to set the velocity and flux fields as a function of time. More...
class stabilityBlendingFactor
Computes the stabilityBlendingFactor to be used by the local blended convection scheme. The output is a surface field weight between 0-1. More...
class streamFunction
Computes the stream function (i.e. https://w.wiki/Ncm ). More...
class streamLine
Generates streamline data by sampling a set of user-specified fields along a particle track, transported by a user-specified velocity field. More...
class streamLineBase
class subtract
Subtracts a given list of (at least one or more) fields from a field and produces a new field, where the fields possess the same sizes and dimensions. More...
class surfaceDistance
Computes the distance to the nearest surface from a given geometry. More...
class surfaceInterpolate
Linearly interpolates volume fields to generate surface fields. More...
class turbulenceFields
Computes various turbulence-related quantities that are not typically output during calculations, and stores/writes them on the mesh database for further manipulation. More...
class valueAverage
Computes the ensemble- or time-based singular-value average values, with optional windowing, from the output of function objects that generate non-field type values (e.g. Cd of forceCoeffs or momentum_x in momentum function objects). More...
class vorticity
Computes the vorticity, the curl of the velocity. More...
class wallBoundedStreamLine
Generates streamline data by sampling a set of user-specified fields along a particle track, transported by a user-specified velocity field, constrained to a patch. More...
class wallHeatFlux
This function object calculates the wall heat flux based on a custom model defined in the dictionary. The model can be specified to compute the heat flux according to user-defined criteria or equations. More...
class wallShearStress
Computes the wall-shear stress at selected wall patches. More...
class writeCellCentres
Writes the cell-centres volVectorField and the three component fields as volScalarFields. More...
class writeCellVolumes
Writes the cell-volumes volScalarField . More...
class XiReactionRate
Writes the turbulent flame-speed and reaction-rate volScalarFields for the Xi-based combustion models. More...
class yPlus
Computes the near wall for turbulence models. More...
class zeroGradient
Creates a volume field with zero-gradient boundary conditions from another volume field. More...
class bladeForces
Computes forces and coefficients over a given list of patches by integrating pressure and viscous forces and moments. More...
class forceCoeffs
Computes force and moment coefficients over a given list of patches, and optionally over given porous zones. The following coefficients can be selected and output: More...
class forces
Computes forces and moments over a given list of patches by integrating pressure and viscous forces and moments, and optionally resistance forces and moments from porous zones. More...
class propellerInfo
Calculates propeller performance and wake field properties. More...
class hydrostaticPressure
Calculates and outputs the pressure fields p_rgh and ph_rgh. More...
class cloudInfo
Outputs Lagrangian cloud information to a file. More...
class dataCloud
This functionObject writes cloud positions in ASCII. More...
class dsmcFields
This function object calculates and outputs the intensive fields: More...
class ensightCloudWriteObject
This functionObject writes cloud(s) in ensight format. More...
class icoUncoupledKinematicCloud
This functionObject tracks a uncoupled kinematic particle cloud in the specified velocity field of an incompressible flow (laminar, RANS or LES). More...
class vtkCloud
This functionObject writes cloud(s) in VTK PolyData format (.vtp extension) with the time information saved in a '.series' file. More...
class sizeDistribution
This function object calculates and outputs information about the size distribution of the dispersed phase, such as the number density function or its moments. It is designed to be used exclusively with the population balance modeling functionality of the reactingEulerFoam solvers. It can be applied to a specific cellZone or the entire domain. More...
class energySpectrum
Calculates the energy spectrum for a structured IJK mesh. More...
class electricPotential
Computes the steady-state equation of charge conservation to obtain the electric potential by strictly assuming a quasi-static electrostatic field for single-phase and multiphase applications. More...
class energyTransport
Computes the simplified energy transport equation in single-phase or two-phase flow, considering incompressible cases: More...
class scalarTransport
Computes the transport equation for a passive scalar in single-phase or two-phase flow, considering both incompressible and compressible cases: More...
class abort
Watches for presence of the named trigger file in the case directory and signals a simulation stop (or other) event if found. More...
class caseInfo
Collects and writes case information to file. More...
class codedFunctionObject
Provides a general interface to enable dynamic code compilation. More...
class ensightWrite
Writes fields in ensight format. More...
class foamReport
Replaces user-supplied keywords by run-time computed values in a text file. More...
class graphFunctionObject
Accumulates function object result values and renders into a graph in SVG format. More...
class multiRegion
Wrapper that clones the supplied function object for each region. More...
class parProfiling
Simple (simplistic) mpi-profiling. More...
class radiometerProbes
Probes the incident radiative heat flux, qin, at arbitrary points within a domain. More...
class removeRegisteredObject
Removes registered objects if present in the database. More...
class setTimeStepFunctionObject
This function object overrides the calculation time step. More...
class solverInfo
Writes solver information for a list of user-specified fields. More...
class syncObjects
Copies content of local objectRegistry to all processors. More...
class systemCall
Executes system calls, entered in the form of string lists. More...
class thermoCoupleProbes
Sample probe for temperature using a thermocouple. More...
class timeActivatedFileUpdate
Performs a file copy/replacement once a specified time has been reached. More...
class timeInfo
Writes the run time (time-step), cpuTime and clockTime - optionally with cpuTime and clockTime change for each time step. More...
class viewFactorHeatFlux
Determines radiation heat flux between patches when using the viewFactor radiation model. More...
class vtkWrite
Writes fields in VTK (xml or legacy) format. Writes cell-values or point-interpolated values for volFields. More...
class writeDictionary
Reports dictionary contents on change. More...
class writeObjects
Allows specification of different writing frequency of objects registered to the database. More...
class properties
Storage for function object properties, derived from IOdictionary . Provides functionality to read/write state information (data required for smooth restart behaviour) and results to/from the state dictionary. More...
class logFiles
functionObject base class for creating, maintaining and writing log files e.g. integrated or averaged field data vs time. More...
class regionFunctionObject
Specialization of Foam::functionObject for a region and providing a reference to the region Foam::objectRegistry . More...
class stateFunctionObject
Base class for function objects, adding functionality to read/write state information (data required for smooth restart behaviour) and results to/from the state dictionary. More...
class timeControl
Wrapper around functionObjects to add time control. More...
class timeFunctionObject
Virtual base class for function objects with a reference to Time . More...
class valueAverageBase
Base class that computes the ensemble- or time-based singular-value average values, with optional windowing, from the output of function objects that generate non-field type values, e.g. Cd of forceCoeffs or momentum_x in momentum function objects. More...
class writeFile
Base class for writing single files from the function objects. More...
class setTimeStepFaRegionsFunctionObject
This function object controls the time step for classes of the type regionFaModel . It reads regionFaMaxCo entry from controlDict and evaluate the time step based on the finite area Courant Number. More...
class surfaceCourantNumber
Computes the surface Courant number field at finite-area face centres. More...
class filmFlux
Calculates the mass flux for surface film models. More...
class sixDoFRigidBodyState
Writes the 6-DoF motion state. More...
class BilgerMixtureFraction
Calculates the Bilger mixture-fraction field (i.e. ) based on the elemental composition of the mixture. Elements C , H, S and O are considered. More...
class specieReactionRates
Writes the domain averaged reaction rates for each specie for each reaction into the file <timeDir>/specieReactionRates.dat. More...
defineTypeNameAndDebug (ObukhovLength , 0)
addToRunTimeSelectionTable (functionObject , ObukhovLength , dictionary )
defineTypeNameAndDebug (writeFreeSurface , 0)
addToRunTimeSelectionTable (functionObject , writeFreeSurface , dictionary )
Istream & operator>> (Istream &is, fieldInfo &fi)
Ostream & operator<< (Ostream &os , const fieldInfo &fi)
defineTypeNameAndDebug (fvMeshFunctionObject , 0)
defineTypeNameAndDebug (volRegion , 0)
defineTypeNameAndDebug (add , 0)
addToRunTimeSelectionTable (functionObject , add , dictionary )
defineTypeNameAndDebug (age , 0)
addToRunTimeSelectionTable (functionObject , age , dictionary )
defineTypeNameAndDebug (AMIWeights , 0)
addToRunTimeSelectionTable (functionObject , AMIWeights , dictionary )
defineTypeNameAndDebug (binField , 0)
addToRunTimeSelectionTable (functionObject , binField , dictionary )
defineTypeNameAndDebug (blendingFactor , 0)
addToRunTimeSelectionTable (functionObject , blendingFactor , dictionary )
defineTypeNameAndDebug (cellDecomposer , 0)
addToRunTimeSelectionTable (functionObject , cellDecomposer , dictionary )
defineTypeNameAndDebug (columnAverage , 0)
addToRunTimeSelectionTable (functionObject , columnAverage , dictionary )
defineTypeNameAndDebug (comfort , 0)
addToRunTimeSelectionTable (functionObject , comfort , dictionary )
defineTypeNameAndDebug (components , 0)
addToRunTimeSelectionTable (functionObject , components , dictionary )
defineTypeNameAndDebug (continuityError , 0)
addToRunTimeSelectionTable (functionObject , continuityError , dictionary )
defineTypeNameAndDebug (CourantNo , 0)
addToRunTimeSelectionTable (functionObject , CourantNo , dictionary )
defineTypeNameAndDebug (Curle , 0)
addToRunTimeSelectionTable (functionObject , Curle , dictionary )
defineTypeNameAndDebug (ddt , 0)
addToRunTimeSelectionTable (functionObject , ddt , dictionary )
defineTypeNameAndDebug (ddt2 , 0)
addToRunTimeSelectionTable (functionObject , ddt2 , dictionary )
defineTypeNameAndDebug (derivedFields , 0)
addToRunTimeSelectionTable (functionObject , derivedFields , dictionary )
defineTypeNameAndDebug (DESModelRegions , 0)
addToRunTimeSelectionTable (functionObject , DESModelRegions , dictionary )
defineTypeNameAndDebug (div , 0)
addToRunTimeSelectionTable (functionObject , div , dictionary )
defineTypeNameAndDebug (DMD , 0)
addToRunTimeSelectionTable (functionObject , DMD , dictionary )
defineTypeNameAndDebug (enstrophy , 0)
addToRunTimeSelectionTable (functionObject , enstrophy , dictionary )
defineTypeNameAndDebug (fvExpressionField , 0)
addToRunTimeSelectionTable (functionObject , fvExpressionField , dictionary )
defineTypeNameAndDebug (externalCoupled , 0)
addToRunTimeSelectionTable (functionObject , externalCoupled , dictionary )
defineTypeNameAndDebug (extractEulerianParticles , 0)
addToRunTimeSelectionTable (functionObject , extractEulerianParticles , dictionary )
defineTypeNameAndDebug (fieldAverage , 0)
addToRunTimeSelectionTable (functionObject , fieldAverage , dictionary )
Istream & operator>> (Istream &, fieldAverageItem &)
Ostream & operator<< (Ostream &, const fieldAverageItem &)
defineTypeNameAndDebug (fieldCoordinateSystemTransform, 0)
addToRunTimeSelectionTable (functionObject , fieldCoordinateSystemTransform, dictionary )
defineTypeNameAndDebug (fieldExpression , 0)
defineTypeNameAndDebug (fieldExtents , 0)
addToRunTimeSelectionTable (functionObject , fieldExtents , dictionary )
defineTypeNameAndDebug (fieldMinMax , 0)
addToRunTimeSelectionTable (functionObject , fieldMinMax , dictionary )
defineTypeNameAndDebug (fieldsExpression , 0)
defineTypeNameAndDebug (fieldValue , 0)
defineRunTimeSelectionTable (fieldValue , runTime )
defineTypeNameAndDebug (flowType , 0)
addToRunTimeSelectionTable (functionObject , flowType , dictionary )
defineTypeNameAndDebug (flux , 0)
addToRunTimeSelectionTable (functionObject , flux , dictionary )
defineTypeNameAndDebug (fluxSummary , 0)
addToRunTimeSelectionTable (functionObject , fluxSummary , dictionary )
defineTypeNameAndDebug (grad , 0)
addToRunTimeSelectionTable (functionObject , grad , dictionary )
defineTypeNameAndDebug (heatTransferCoeff , 0)
addToRunTimeSelectionTable (functionObject , heatTransferCoeff , dictionary )
defineTypeNameAndDebug (multiphaseInterHtcModel , 0)
addToRunTimeSelectionTable (functionObject , multiphaseInterHtcModel , dictionary )
defineTypeNameAndDebug (reactingEulerHtcModel , 0)
addToRunTimeSelectionTable (functionObject , reactingEulerHtcModel , dictionary )
defineTypeNameAndDebug (histogram , 0)
addToRunTimeSelectionTable (functionObject , histogram , dictionary )
defineTypeNameAndDebug (interfaceHeight , 0)
addToRunTimeSelectionTable (functionObject , interfaceHeight , dictionary )
defineTypeNameAndDebug (Lambda2 , 0)
addToRunTimeSelectionTable (functionObject , Lambda2 , dictionary )
defineTypeNameAndDebug (LambVector , 0)
addToRunTimeSelectionTable (functionObject , LambVector , dictionary )
defineTypeNameAndDebug (limitFields , 0)
addToRunTimeSelectionTable (functionObject , limitFields , dictionary )
defineTypeNameAndDebug (log , 0)
addToRunTimeSelectionTable (functionObject , log , dictionary )
defineTypeNameAndDebug (MachNo , 0)
addToRunTimeSelectionTable (functionObject , MachNo , dictionary )
defineTypeNameAndDebug (mag , 0)
addToRunTimeSelectionTable (functionObject , mag , dictionary )
defineTypeNameAndDebug (magSqr , 0)
addToRunTimeSelectionTable (functionObject , magSqr , dictionary )
defineTypeNameAndDebug (mapFields , 0)
addToRunTimeSelectionTable (functionObject , mapFields , dictionary )
defineTypeNameAndDebug (momentum , 0)
addToRunTimeSelectionTable (functionObject , momentum , dictionary )
defineTypeNameAndDebug (momentumError , 0)
addToRunTimeSelectionTable (functionObject , momentumError , dictionary )
defineTypeNameAndDebug (multiply , 0)
addToRunTimeSelectionTable (functionObject , multiply , dictionary )
defineTypeNameAndDebug (nearWallFields , 0)
addToRunTimeSelectionTable (functionObject , nearWallFields , dictionary )
defineTypeNameAndDebug (norm , 0)
addToRunTimeSelectionTable (functionObject , norm , dictionary )
defineTypeNameAndDebug (particleDistribution , 0)
addToRunTimeSelectionTable (functionObject , particleDistribution , dictionary )
defineTypeNameAndDebug (PecletNo , 0)
addToRunTimeSelectionTable (functionObject , PecletNo , dictionary )
defineTypeNameAndDebug (pow , 0)
addToRunTimeSelectionTable (functionObject , pow , dictionary )
defineTypeNameAndDebug (pressure , 0)
addToRunTimeSelectionTable (functionObject , pressure , dictionary )
defineTypeNameAndDebug (processorField , 0)
addToRunTimeSelectionTable (functionObject , processorField , dictionary )
defineTypeNameAndDebug (proudmanAcousticPower , 0)
addToRunTimeSelectionTable (functionObject , proudmanAcousticPower , dictionary )
defineTypeNameAndDebug (Q , 0)
addToRunTimeSelectionTable (functionObject , Q , dictionary )
defineTypeNameAndDebug (randomise , 0)
addToRunTimeSelectionTable (functionObject , randomise , dictionary )
addToRunTimeSelectionTable (functionObject , psiReactionsSensitivityAnalysisFunctionObject , dictionary )
addToRunTimeSelectionTable (functionObject , rhoReactionsSensitivityAnalysisFunctionObject , dictionary )
defineTypeNameAndDebug (readFields , 0)
addToRunTimeSelectionTable (functionObject , readFields , dictionary )
defineTypeNameAndDebug (reference , 0)
addToRunTimeSelectionTable (functionObject , reference , dictionary )
defineTypeNameAndDebug (regionSizeDistribution , 0)
addToRunTimeSelectionTable (functionObject , regionSizeDistribution , dictionary )
defineTypeNameAndDebug (resolutionIndex , 0)
addToRunTimeSelectionTable (functionObject , resolutionIndex , dictionary )
defineTypeNameAndDebug (setFlow , 0)
addToRunTimeSelectionTable (functionObject , setFlow , dictionary )
defineTypeNameAndDebug (stabilityBlendingFactor , 0)
addToRunTimeSelectionTable (functionObject , stabilityBlendingFactor , dictionary )
defineTypeNameAndDebug (streamFunction , 0)
addToRunTimeSelectionTable (functionObject , streamFunction , dictionary )
defineTypeNameAndDebug (streamLine , 0)
addToRunTimeSelectionTable (functionObject , streamLine , dictionary )
defineTypeNameAndDebug (streamLineBase , 0)
defineTypeNameAndDebug (subtract , 0)
addToRunTimeSelectionTable (functionObject , subtract , dictionary )
defineTypeNameAndDebug (surfaceDistance , 0)
addToRunTimeSelectionTable (functionObject , surfaceDistance , dictionary )
defineTypeNameAndDebug (surfaceInterpolate , 0)
addToRunTimeSelectionTable (functionObject , surfaceInterpolate , dictionary )
defineTypeNameAndDebug (turbulenceFields , 0)
addToRunTimeSelectionTable (functionObject , turbulenceFields , dictionary )
defineTypeNameAndDebug (valueAverage , 0)
addToRunTimeSelectionTable (functionObject , valueAverage , dictionary )
defineTypeNameAndDebug (vorticity , 0)
addToRunTimeSelectionTable (functionObject , vorticity , dictionary )
defineTypeNameAndDebug (wallBoundedStreamLine , 0)
addToRunTimeSelectionTable (functionObject , wallBoundedStreamLine , dictionary )
defineTypeNameAndDebug (wallShearStress , 0)
addToRunTimeSelectionTable (functionObject , wallShearStress , dictionary )
defineTypeNameAndDebug (writeCellCentres , 0)
addToRunTimeSelectionTable (functionObject , writeCellCentres , dictionary )
defineTypeNameAndDebug (writeCellVolumes , 0)
addToRunTimeSelectionTable (functionObject , writeCellVolumes , dictionary )
defineTypeNameAndDebug (XiReactionRate , 0)
addToRunTimeSelectionTable (functionObject , XiReactionRate , dictionary )
defineTypeNameAndDebug (yPlus , 0)
addToRunTimeSelectionTable (functionObject , yPlus , dictionary )
defineTypeNameAndDebug (zeroGradient , 0)
addToRunTimeSelectionTable (functionObject , zeroGradient , dictionary )
defineTypeNameAndDebug (forceCoeffs , 0)
addToRunTimeSelectionTable (functionObject , forceCoeffs , dictionary )
defineTypeNameAndDebug (forces , 0)
addToRunTimeSelectionTable (functionObject , forces , dictionary )
defineTypeNameAndDebug (propellerInfo , 0)
addToRunTimeSelectionTable (functionObject , propellerInfo , dictionary )
defineTypeNameAndDebug (hydrostaticPressure , 0)
addToRunTimeSelectionTable (functionObject , hydrostaticPressure , dictionary )
defineTypeNameAndDebug (cloudInfo , 0)
addToRunTimeSelectionTable (functionObject , cloudInfo , dictionary )
defineTypeNameAndDebug (dataCloud , 0)
addToRunTimeSelectionTable (functionObject , dataCloud , dictionary )
defineTypeNameAndDebug (dsmcFields , 0)
addToRunTimeSelectionTable (functionObject , dsmcFields , dictionary )
defineTypeNameAndDebug (icoUncoupledKinematicCloud , 0)
addToRunTimeSelectionTable (functionObject , icoUncoupledKinematicCloud , dictionary )
defineTypeNameAndDebug (phaseForces, 0)
addToRunTimeSelectionTable (functionObject , phaseForces, dictionary )
defineTypeNameAndDebug (sizeDistribution , 0)
addToRunTimeSelectionTable (functionObject , sizeDistribution , dictionary )
defineTypeNameAndDebug (energySpectrum , 0)
addToRunTimeSelectionTable (functionObject , energySpectrum , dictionary )
defineTypeNameAndDebug (electricPotential , 0)
addToRunTimeSelectionTable (functionObject , electricPotential , dictionary )
defineTypeNameAndDebug (energyTransport , 0)
addToRunTimeSelectionTable (functionObject , energyTransport , dictionary )
defineTypeNameAndDebug (scalarTransport , 0)
addToRunTimeSelectionTable (functionObject , scalarTransport , dictionary )
defineTypeNameAndDebug (abort , 0)
addToRunTimeSelectionTable (functionObject , abort , dictionary )
defineTypeNameAndDebug (caseInfo , 0)
addToRunTimeSelectionTable (functionObject , caseInfo , dictionary )
defineTypeNameAndDebug (codedFunctionObject , 0)
addToRunTimeSelectionTable (functionObject , codedFunctionObject , dictionary )
defineTypeNameAndDebug (foamReport , 0)
addToRunTimeSelectionTable (functionObject , foamReport , dictionary )
defineTypeNameAndDebug (graphFunctionObject , 0)
addToRunTimeSelectionTable (functionObject , graphFunctionObject , dictionary )
defineTypeNameAndDebug (multiRegion , 0)
addToRunTimeSelectionTable (functionObject , multiRegion , dictionary )
defineTypeNameAndDebug (parProfiling , 0)
addToRunTimeSelectionTable (functionObject , parProfiling , dictionary )
defineTypeNameAndDebug (radiometerProbes , 0)
addToRunTimeSelectionTable (functionObject , radiometerProbes , dictionary )
defineTypeNameAndDebug (removeRegisteredObject , 0)
addToRunTimeSelectionTable (functionObject , removeRegisteredObject , dictionary )
defineTypeNameAndDebug (setTimeStepFunctionObject , 0)
addToRunTimeSelectionTable (functionObject , setTimeStepFunctionObject , dictionary )
defineTypeNameAndDebug (solverInfo , 0)
addToRunTimeSelectionTable (functionObject , solverInfo , dictionary )
defineTypeNameAndDebug (syncObjects , 0)
addToRunTimeSelectionTable (functionObject , syncObjects , dictionary )
defineTypeNameAndDebug (systemCall , 0)
addToRunTimeSelectionTable (functionObject , systemCall , dictionary )
defineTypeNameAndDebug (thermoCoupleProbes , 0)
addToRunTimeSelectionTable (functionObject , thermoCoupleProbes , dictionary )
defineTypeNameAndDebug (timeActivatedFileUpdate , 0)
addToRunTimeSelectionTable (functionObject , timeActivatedFileUpdate , dictionary )
defineTypeNameAndDebug (timeInfo , 0)
addToRunTimeSelectionTable (functionObject , timeInfo , dictionary )
defineTypeNameAndDebug (viewFactorHeatFlux , 0)
addToRunTimeSelectionTable (functionObject , viewFactorHeatFlux , dictionary )
defineTypeNameAndDebug (writeDictionary , 0)
addToRunTimeSelectionTable (functionObject , writeDictionary , dictionary )
defineTypeNameAndDebug (writeObjects , 0)
addToRunTimeSelectionTable (functionObject , writeObjects , dictionary )
defineTypeNameAndDebug (regionFunctionObject , 0)
defineTypeNameAndDebug (timeControl , 0)
defineTypeNameAndDebug (setTimeStepFaRegionsFunctionObject , 0)
addToRunTimeSelectionTable (functionObject , setTimeStepFaRegionsFunctionObject , dictionary )
defineTypeNameAndDebug (surfaceCourantNumber , 0)
addToRunTimeSelectionTable (functionObject , surfaceCourantNumber , dictionary )
defineTypeNameAndDebug (filmFlux , 0)
addToRunTimeSelectionTable (functionObject , filmFlux , dictionary )
defineTypeNameAndDebug (sixDoFRigidBodyState , 0)
addToRunTimeSelectionTable (functionObject , sixDoFRigidBodyState , dictionary )
defineTypeNameAndDebug (BilgerMixtureFraction , 0)
addToRunTimeSelectionTable (functionObject , BilgerMixtureFraction , dictionary )
Function objects are OpenFOAM utilities to ease workflow configurations and enhance workflows.
Function objects produce additional user-requested data both during runtime and postprocessing calculations, typically in the form of additional logging to the screen, or generating text, image and field files.
Function objects eliminate the need to store all runtime generated data, hence saving considerable resources. Furthermore, function objects are readily applied to batch-driven processes, improving reliability by standardising the sequence of operations and reducing the amount of manual interaction.
In addition, the output of most function objects, e.g. output fields, are stored on the mesh database so that it can be retrieved and used for other applications (e.g. directly using wallShearStress function object output in fieldAverage function object to produce wallShearStressMean field).
Using function objects
Function objects can be executed by using two methods:
functions sub-dictionary in the system/controlDict file
postProcess command-line utility
For the first method, each selected function object should be listed inside functions sub-dictionary of the system/controlDict file as a nested sub-dictionary, typically as in the following example:
functions // sub-dictionary name under the system/controlDict file
{
..optional entries..
<dictName1>
{
// Mandatory entries
type <functionObjectTypeName>;
libs (<libType>FunctionObjects);
// Mandatory entries defined in <functionObjectType>
...
// Optional entries defined in <functionObjectType>
...
// Optional (inherited) entries
region region0;
enabled true;
log true;
timeStart 0;
timeEnd 1000;
executeControl timeStep;
executeInterval 1;
writeControl timeStep;
writeInterval 1;
}
<dictName2>
{
...
}
...
<dictNameN>
{
...
}
}
where the entries mean:
Property Description Type Reqd Deflt
type Type name of function object word yes -
libs Library name(s) for implementation words no -
enabled Switch to turn function object on/off bool no true
errors Error handling (default/warn/ignore/strict) word no inherits
log Switch to write log info to standard output bool no true
useNamePrefix Add scoping prefix to names bool no inherits
region Name of region for multi-region cases word no region0
timeStart Start time for function object execution scalar no 0
timeEnd End time for function object execution scalar no inf
executeControl See time controls below word no timeStep
executeInterval Steps/time between execute phases label no 1
writeControl See time controls below word no timeStep
writeInterval Steps/time between write phases label no 1
If the errors entry is missing, it uses the value (if any) specified within the top-level functionObjectList .
If the useNamePrefix entry is missing, it uses the value (if any) specified within the top-level functionObjectList or otherwise uses the current value of functionObject::defaultUseNamePrefix
Time controls:
Option Description
none Trigger is disabled
timeStep Trigger every 'Interval' time-steps
writeTime Trigger every 'Interval' output times
runTime Trigger every 'Interval' run time period
adjustableRunTime Currently identical to "runTime"
clockTime Trigger every 'Interval' clock time period
cpuTime Trigger every 'Interval' CPU time period
onEnd Trigger on end of simulation run
The optional errors entry controls how FatalError is caught during construction and execute/write. FatalIOError is unaffected.
Behaviour for errors enumerations:
Option Error on construction Runtime error
default warn fatal
warn warn warn
ignore silent silent
strict fatal fatal
The sub-dictionary name <userDefinedSubDictName> is chosen by the user, and is typically used as the name of the output directory for any data written by the function object.
As the base mandatory entries, the type entry defines the type of function object properties that follow. Function objects are packaged into separate libraries for flexibility and the libs entry is used to specify which library should be loaded.
Each function object has two separate run phases:
The execute phase is meant to be used for updating calculations or for management tasks.
The write phase is meant for writing the calculated data to disk.
For each phase the respective time controls are provided, as listed above.
The second method of executing function objects is to use postProcess utility.
When specified without additional arguments, the postProcess utility executes all function objects defined in the system/controlDict file for all time directories:
postProcess
Most function objects can be invoked directly without the need to specify the input dictionary using the -func option, e.g. to execute the Courant number function object:
postProcess -func CourantNo
In addition, the -postProcess option is available to all solvers, and operates similarly to the stand-alone postProcess utility. For example, having completed a simpleFoam calculation, the following will execute all function objects defined in the system/controlDict file for all time directories:
simpleFoam -postProcess