Go to the documentation of this file.
92 parsing::genericRagelLemonDriver(),
97 hasDimensions_(false),
101 resetTimeReference(
nullptr);
102 resetDb(mesh_.thisDb());
113 parsing::genericRagelLemonDriver(),
118 hasDimensions_(false),
122 resetTimeReference(
nullptr);
123 resetDb(mesh_.thisDb());
129 const word& meshName,
145 parsing::genericRagelLemonDriver(),
167 resultDimensions_.clear();
169 hasDimensions_ = resultDimensions_.readEntry
184 const std::string& expr,
189 scanner scan(this->debugScanner());
199 resultField_.reset(
nullptr);
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) \
GeometricField< vector, pointPatchField, pointMesh > pointVectorField
autoPtr< regIOobject > dupZeroField() const
A class for handling words, derived from Foam::string.
GeometricField< sphericalTensor, pointPatchField, pointMesh > pointSphericalTensorField
virtual const objectRegistry & thisDb() const
Driver for volume, surface, point field expressions.
parseDriver(const parseDriver &)=delete
Base driver for parsing value expressions associated with an fvMesh.
@ VOLUME_DATA
Volume data.
#define doLocalCode(GeoField)
GeometricField< tensor, pointPatchField, pointMesh > pointTensorField
void resetTimeReference(const TimeState *ts)
GeometricField< symmTensor, pointPatchField, pointMesh > pointSymmTensorField
virtual bool readDict(const dictionary &dict)
Generic interface code for Ragel/Lemon combination Subclasses should implement one or more process() ...
autoPtr< regIOobject > resultField_
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_
Mesh data needed to do the Finite Volume discretisation.
void resetDb(const objectRegistry *obrPtr=nullptr)
defineTypeNameAndDebug(parseDriver, 0)
bool process(const std::string &str, size_t pos, size_t len, parseDriver &driver_)
addNamedToRunTimeSelectionTable(fvExprDriver, parseDriver, dictionary, volume)
Generic GeometricField class.
virtual unsigned parse(const std::string &expr, size_t pos=0, size_t len=std::string::npos)
virtual bool readDict(const dictionary &dict)
GeometricField< scalar, pointPatchField, pointMesh > pointScalarField
dimensionedScalar pos(const dimensionedScalar &ds)