39 #ifndef functionObjects_fieldsExpression_H
40 #define functionObjects_fieldsExpression_H
50 template<
class Type,
class GeoMesh>
51 class DimensionedField;
53 namespace functionObjects
87 template<
class>
class GeoField,
88 template<
class ...>
class Op,
91 class Enable = Op<TypeA, TypeB>
95 const GeoField<TypeA>& a,
96 const GeoField<TypeB>&
b
102 template<
class>
class GeoField,
103 template<
class ...>
class Op,
111 template<
class>
class GeoField,
112 template<
class ...>
class Op,
121 template<
class>
class GeoField,
122 template<
class ...>
class Op,
130 template<
class>
class GeoField,
131 template<
class ...>
class Op
137 template<
template<
class>
class GeoField,
template<
class ...>
class Op>
141 template<
template<
class ...>
class Op>
145 virtual bool calc() = 0;
186 virtual bool write();
189 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 keyword definitions, which are a keyword followed by any number of values (e....
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.