39 #ifndef fieldsExpression_functionObject_H
40 #define fieldsExpression_functionObject_H
49 namespace functionObjects
83 template<
class>
class GeoField,
84 template<
class ...>
class Op,
87 class Enable = Op<TypeA, TypeB>
91 const GeoField<TypeA>& a,
92 const GeoField<TypeB>&
b
98 template<
class>
class GeoField,
99 template<
class ...>
class Op,
107 template<
class>
class GeoField,
108 template<
class ...>
class Op,
117 template<
class>
class GeoField,
118 template<
class ...>
class Op,
126 template<
class>
class GeoField,
127 template<
class ...>
class Op
133 template<
template<
class>
class GeoField,
template<
class ...>
class Op>
137 template<
template<
class ...>
class Op>
141 virtual bool calc() = 0;
182 virtual bool write();
185 virtual bool clear();
static const List< word > & null()
Return a null List.
Class to control time during OpenFOAM simulations that is also the top-level objectRegistry.
A list of keywords followed by any number of values (e.g. words and numbers) or sub-dictionaries.
A functionName is a word starting with '#'.
const word & name() const
Return the name of this functionObject.
Base class for expressions involving multiple fields.
bool foldA(const label i)
Fold the fields expression up one place.
bool calcGeoFieldOp()
Calculate and store the fields expression for the given geometric.
wordList fieldNames_
Names of fields to process.
virtual wordList fields() const
Return the list of fields required.
bool fold(const label i)
Fold the fields expression up one place.
word resultName_
Name of result fields.
virtual ~fieldsExpression()
Destructor.
void setResultName(const word &functionName, const wordList &defaultFieldNames=wordList::null())
Set the result name.
virtual bool clear()
Clear the result fields from the objectRegistry.
TypeName("fieldsExpression")
Runtime type information.
bool foldAB(const label i)
Fold the fields expression up one place.
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.
virtual bool execute()
Calculate the result fields.
bool opAndStore(const GeoField< TypeA > &a, const GeoField< TypeB > &b)
Operate on the fields and store the result. Supported overload.
virtual bool write()
Write the result fields.
bool calcOp()
Calculate and store the fields expression for the given operation.
virtual bool calc()=0
Perform calculation on the list of fields and return success.
virtual bool read(const dictionary &)
Read the fieldsExpression data.
void operator=(const fieldsExpression &)=delete
Disallow default bitwise assignment.
Specialisation of Foam::functionObject for an Foam::fvMesh, providing a reference to the Foam::fvMesh...
A class for handling words, derived from string.
static const word null
An empty word.
static List< word > fieldNames
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.