37 #ifndef functionObjects_fieldsExpression_H
38 #define functionObjects_fieldsExpression_H
48 template<
class Type,
class GeoMesh>
49 class DimensionedField;
51 namespace functionObjects
85 template<
class>
class GeoField,
86 template<
class ...>
class Op,
89 class Enable = Op<TypeA, TypeB>
93 const GeoField<TypeA>& a,
94 const GeoField<TypeB>&
b
100 template<
class>
class GeoField,
101 template<
class ...>
class Op,
109 template<
class>
class GeoField,
110 template<
class ...>
class Op,
119 template<
class>
class GeoField,
120 template<
class ...>
class Op,
128 template<
class>
class GeoField,
129 template<
class ...>
class Op
135 template<
template<
class>
class GeoField,
template<
class ...>
class Op>
139 template<
template<
class ...>
class Op>
143 virtual bool calc() = 0;
184 virtual bool write();
187 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.
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.