Go to the documentation of this file.
97 hasDimensions_(
false),
101 resetTimeReference(
nullptr);
102 resetDb(mesh_.thisDb());
118 hasDimensions_(
false),
122 resetTimeReference(
nullptr);
123 resetDb(mesh_.thisDb());
129 const word& meshName,
153 resetTimeReference(
nullptr);
154 resetDb(mesh_.thisDb());
165 expressions::fvExprDriver::readDict(
dict);
167 resultDimensions_.clear();
169 hasDimensions_ = resultDimensions_.readEntry
184 const std::string& expr,
189 scanner scan(this->debugScanner());
211 const auto* regIOobjectPtr = resultField_.get();
220 switch (fieldGeoType_)
223 #define doLocalCode(GeoField) \
225 const auto* ptr = dynamic_cast<const GeoField*>(regIOobjectPtr); \
226 typedef typename GeoField::value_type Type; \
234 word(pTraits<Type>::typeName) + word("(zero)"), \
236 dimensioned<Type>(Zero), \
238 defaultBoundaryType(*ptr) \
autoPtr< regIOobject > dupZeroField() const
A zero-initialized field with the same type as the result field.
A class for handling words, derived from Foam::string.
Driver for volume, surface, point field expressions.
void clearField()
Clear out local copies of the field.
parseDriver(const parseDriver &)=delete
Base driver for parsing value expressions associated with an fvMesh.
const wordList volume
Standard volume field types (scalar, vector, tensor, etc)
#define doLocalCode(GeoField)
word resultType_
The result type-name.
virtual bool readDict(const dictionary &dict)
Read variables, tables etc.
Generic interface code for Ragel/Lemon combination Subclasses should implement one or more process() ...
autoPtr< regIOobject > resultField_
The results (volume, surface, point)
Macro definitions for declaring ClassName(), NamespaceName(), etc.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Macros for easy insertion into run-time selection tables.
Ragel lexer/scanner interface for volume expressions.
expressions::FieldAssociation fieldGeoType_
A volume/surface/point field.
Mesh data needed to do the Finite Volume discretisation.
bool isLogical_
A logical (bool-like) field (but actually a scalar)
defineTypeNameAndDebug(parseDriver, 0)
bool process(const std::string &str, size_t pos, size_t len, parseDriver &driver_)
Evaluate sub-string.
addNamedToRunTimeSelectionTable(fvExprDriver, parseDriver, dictionary, volume)
virtual unsigned parse(const std::string &expr, size_t pos=0, size_t len=std::string::npos)
Execute the parser.
dimensionedScalar pos(const dimensionedScalar &ds)