fieldsExpression Class Referenceabstract

Base class for expressions involving multiple fields. More...

Inheritance diagram for fieldsExpression:
Collaboration diagram for fieldsExpression:

Public Member Functions

 TypeName ("fieldsExpression")
 Runtime type information. More...
 
 fieldsExpression (const word &name, const Time &runTime, const dictionary &dict, const wordList &fieldNames=wordList::null(), const word &resultName=word::null)
 Construct from Time and dictionary. More...
 
 fieldsExpression (const fieldsExpression &)=delete
 Disallow default bitwise copy construction. More...
 
virtual ~fieldsExpression ()
 Destructor. More...
 
virtual bool read (const dictionary &)
 Read the fieldsExpression data. More...
 
virtual wordList fields () const
 Return the list of fields required. More...
 
virtual bool execute ()
 Calculate the result fields. More...
 
virtual bool write ()
 Write the result fields. More...
 
virtual bool clear ()
 Clear the result fields from the objectRegistry. More...
 
void operator= (const fieldsExpression &)=delete
 Disallow default bitwise assignment. More...
 
- Public Member Functions inherited from fvMeshFunctionObject
 TypeName ("fvMeshFunctionObject")
 Runtime type information. More...
 
 fvMeshFunctionObject (const word &name, const Time &runTime, const dictionary &dict)
 Construct from Time and dictionary. More...
 
 fvMeshFunctionObject (const word &name, const objectRegistry &obr, const dictionary &dict)
 Construct from the region objectRegistry and dictionary. More...
 
 fvMeshFunctionObject (const fvMeshFunctionObject &)=delete
 Disallow default bitwise copy construction. More...
 
virtual ~fvMeshFunctionObject ()
 Destructor. More...
 
void operator= (const fvMeshFunctionObject &)=delete
 Disallow default bitwise assignment. More...
 
- Public Member Functions inherited from regionFunctionObject
 TypeName ("regionFunctionObject")
 Runtime type information. More...
 
 regionFunctionObject (const word &name, const Time &runTime, const dictionary &dict)
 Construct from Time and dictionary. More...
 
 regionFunctionObject (const word &name, const objectRegistry &obr, const dictionary &dict)
 Construct from the region objectRegistry and dictionary. More...
 
 regionFunctionObject (const regionFunctionObject &)=delete
 Disallow default bitwise copy construction. More...
 
virtual ~regionFunctionObject ()
 Destructor. More...
 
void operator= (const regionFunctionObject &)=delete
 Disallow default bitwise assignment. More...
 
- Public Member Functions inherited from functionObject
 ClassName ("functionObject")
 
virtual const wordtype () const =0
 Runtime type information. More...
 
 declareRunTimeSelectionTable (autoPtr, functionObject, dictionary,(const word &name, const Time &runTime, const dictionary &dict),(name, runTime, dict))
 
 functionObject (const word &name, const Time &runTime)
 Construct from components. More...
 
autoPtr< functionObjectclone () const
 Return clone. More...
 
 functionObject (const functionObject &)=delete
 Disallow default bitwise copy construction. More...
 
virtual ~functionObject ()
 Destructor. More...
 
const wordname () const
 Return the name of this functionObject. More...
 
virtual bool executeAtStart () const
 Return true if the functionObject should be executed at the start. More...
 
virtual bool end ()
 Called when Time::run() determines that the time-loop exits. More...
 
virtual scalar timeToNextAction ()
 Called by Time::adjustTimeStep(). Allows the functionObject to. More...
 
virtual scalar maxDeltaT () const
 Return the maximum time-step for stable operation. More...
 
virtual void movePoints (const polyMesh &mesh)
 Update topology using the given map. More...
 
virtual void topoChange (const polyTopoChangeMap &map)
 Update topology using the given map. More...
 
virtual void mapMesh (const polyMeshMap &)
 Update from another mesh using the given map. More...
 
virtual void distribute (const polyDistributionMap &)
 Redistribute or update using the given distribution map. More...
 
void operator= (const functionObject &)=delete
 Disallow default bitwise assignment. More...
 

Protected Member Functions

void setResultName (const word &functionName, const wordList &defaultFieldNames=wordList::null())
 Set the result name. More...
 
template<template< class > class GeoField, template< class ... > class Op, class TypeA , class TypeB , class Enable = Op<TypeA, TypeB>>
bool opAndStore (const GeoField< TypeA > &a, const GeoField< TypeB > &b)
 Operate on the fields and store the result. Supported overload. More...
 
template<template< class > class GeoField, template< class ... > class Op, class ... Args>
bool opAndStore (const Args &...)
 Operate on the fields and store the result. Not-supported overload. More...
 
template<template< class > class GeoField, template< class ... > class Op, class TypeA , class TypeB >
bool foldAB (const label i)
 Fold the fields expression up one place. More...
 
template<template< class > class GeoField, template< class ... > class Op, class TypeA >
bool foldA (const label i)
 Fold the fields expression up one place. More...
 
template<template< class > class GeoField, template< class ... > class Op>
bool fold (const label i)
 Fold the fields expression up one place. More...
 
template<template< class > class GeoField, template< class ... > class Op>
bool calcGeoFieldOp ()
 Calculate and store the fields expression for the given geometric. More...
 
template<template< class ... > class Op>
bool calcOp ()
 Calculate and store the fields expression for the given operation. More...
 
virtual bool calc ()=0
 Perform calculation on the list of fields and return success. More...
 
- Protected Member Functions inherited from fvMeshFunctionObject
labelHashSet patchSet (const dictionary &, const bool optional=false) const
 Return the patch set corresponding to the patch selection entries. More...
 
- Protected Member Functions inherited from regionFunctionObject
template<class ObjectType >
bool foundObject (const word &fieldName) const
 Find field in the objectRegistry. More...
 
template<class ObjectType >
void cannotFindObject (const word &fieldName)
 Prints a warning message that fieldName cannot be found. More...
 
void cannotFindObject (const word &fieldName)
 Prints a warning message that fieldName cannot be found. More...
 
void cannotFindObjects (const wordList &fieldNames)
 Prints a warning message that fieldNames cannot be found. More...
 
template<class ObjectType >
const ObjectType & lookupObject (const word &fieldName) const
 Lookup object from the objectRegistry. More...
 
template<class ObjectType >
ObjectType & lookupObjectRef (const word &fieldName)
 Lookup non-const object reference from the objectRegistry. More...
 
template<class ObjectType >
bool store (const tmp< ObjectType > &tfield)
 Store the given field in the objectRegistry. More...
 
template<class ObjectType >
bool store (const word &fieldName, const tmp< ObjectType > &tfield, bool cacheable=false)
 Store the given field in the objectRegistry under the given name. More...
 
bool writeObject (const word &fieldName)
 Write field if present in objectRegistry. More...
 
bool clearObject (const word &fieldName)
 Clear field from the objectRegistry if present. More...
 

Protected Attributes

wordList fieldNames_
 Names of fields to process. More...
 
word resultName_
 Name of result fields. More...
 
- Protected Attributes inherited from fvMeshFunctionObject
const fvMeshmesh_
 Reference to the fvMesh. More...
 
- Protected Attributes inherited from regionFunctionObject
const objectRegistryobr_
 Reference to the region objectRegistry. More...
 
- Protected Attributes inherited from functionObject
const Timetime_
 Reference to time. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from functionObject
static autoPtr< functionObjectNew (const word &name, const Time &, const dictionary &)
 Select from dictionary, based on its "type" entry. More...
 
- Public Attributes inherited from functionObject
Switch log
 Switch write log to Info. More...
 
Switch executeAtStart_
 Switch write log to Info. More...
 
- Static Public Attributes inherited from functionObject
static bool postProcess
 Global post-processing mode switch. More...
 

Detailed Description

Base class for expressions involving multiple fields.

See also
Foam::functionObjects::fvMeshFunctionObject
Source files

Definition at line 59 of file fieldsExpression.H.

Constructor & Destructor Documentation

◆ fieldsExpression() [1/2]

fieldsExpression ( const word name,
const Time runTime,
const dictionary dict,
const wordList fieldNames = wordList::null(),
const word resultName = word::null 
)

Construct from Time and dictionary.

Definition at line 74 of file fieldsExpression.C.

References dict, Foam::exit(), Foam::FatalIOError, FatalIOErrorInFunction, fieldsExpression::fieldNames_, functionObject::name(), fieldsExpression::read(), List< T >::size(), and functionObject::type().

Here is the call graph for this function:

◆ fieldsExpression() [2/2]

fieldsExpression ( const fieldsExpression )
delete

Disallow default bitwise copy construction.

◆ ~fieldsExpression()

~fieldsExpression ( )
virtual

Destructor.

Definition at line 102 of file fieldsExpression.C.

Member Function Documentation

◆ setResultName()

void setResultName ( const word functionName,
const wordList defaultFieldNames = wordList::null() 
)
protected

Set the result name.

Definition at line 42 of file fieldsExpression.C.

References UList< T >::empty(), fieldsExpression::fieldNames_, fieldsExpression::resultName_, and List< T >::size().

Referenced by add::add(), divide::divide(), multiply::multiply(), and subtract::subtract().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ opAndStore() [1/2]

bool opAndStore ( const GeoField< TypeA > &  a,
const GeoField< TypeB > &  b 
)
protected

Operate on the fields and store the result. Supported overload.

Definition at line 40 of file fieldsExpressionTemplates.C.

References b, Op, fieldsExpression::resultName_, and regionFunctionObject::store().

Here is the call graph for this function:

◆ opAndStore() [2/2]

bool opAndStore ( const Args &  ...)
protected

Operate on the fields and store the result. Not-supported overload.

Definition at line 56 of file fieldsExpressionTemplates.C.

◆ foldAB()

bool foldAB ( const label  i)
protected

Fold the fields expression up one place.

Definition at line 72 of file fieldsExpressionTemplates.C.

References b, and Foam::clone().

Here is the call graph for this function:

◆ foldA()

bool foldA ( const label  i)
protected

Fold the fields expression up one place.

Definition at line 114 of file fieldsExpressionTemplates.C.

References Foam::FOR_ALL_FIELD_TYPES(), processType, and success.

Here is the call graph for this function:

◆ fold()

bool fold ( const label  i)
protected

Fold the fields expression up one place.

Definition at line 128 of file fieldsExpressionTemplates.C.

References Foam::FOR_ALL_FIELD_TYPES(), processType, and success.

Here is the call graph for this function:

◆ calcGeoFieldOp()

bool calcGeoFieldOp
protected

Calculate and store the fields expression for the given geometric.

field type and operation

Definition at line 142 of file fieldsExpressionTemplates.C.

References forAll.

◆ calcOp()

bool calcOp
protected

Calculate and store the fields expression for the given operation.

Definition at line 157 of file fieldsExpressionTemplates.C.

◆ calc()

virtual bool calc ( )
protectedpure virtual

Perform calculation on the list of fields and return success.

◆ TypeName()

TypeName ( "fieldsExpression"  )

Runtime type information.

◆ read()

bool read ( const dictionary dict)
virtual

Read the fieldsExpression data.

Reimplemented from regionFunctionObject.

Definition at line 108 of file fieldsExpression.C.

References dict, and regionFunctionObject::read().

Referenced by fieldsExpression::fieldsExpression().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ fields()

Foam::wordList fields ( ) const
virtual

Return the list of fields required.

Implements functionObject.

Definition at line 126 of file fieldsExpression.C.

◆ execute()

bool execute ( )
virtual

Calculate the result fields.

Implements functionObject.

Definition at line 132 of file fieldsExpression.C.

References DynamicList< T, SizeInc, SizeMult, SizeDiv >::append(), clear(), UList< T >::empty(), Foam::endl(), findFieldType, Foam::FOR_ALL_FIELD_TYPES(), forAll, found, Foam::name(), Foam::type(), and Foam::Warning.

Here is the call graph for this function:

◆ write()

bool write ( )
virtual

Write the result fields.

Implements functionObject.

Definition at line 182 of file fieldsExpression.C.

◆ clear()

bool clear ( )
virtual

Clear the result fields from the objectRegistry.

Definition at line 188 of file fieldsExpression.C.

◆ operator=()

void operator= ( const fieldsExpression )
delete

Disallow default bitwise assignment.

Member Data Documentation

◆ fieldNames_

wordList fieldNames_
protected

Names of fields to process.

Definition at line 68 of file fieldsExpression.H.

Referenced by fieldsExpression::fieldsExpression(), and fieldsExpression::setResultName().

◆ resultName_

word resultName_
protected

Name of result fields.

Definition at line 71 of file fieldsExpression.H.

Referenced by fieldsExpression::opAndStore(), and fieldsExpression::setResultName().


The documentation for this class was generated from the following files: