92 parsing::genericRagelLemonDriver(),
97 hasDimensions_(false),
113 parsing::genericRagelLemonDriver(),
118 hasDimensions_(false),
129 const word& meshName,
145 parsing::genericRagelLemonDriver(),
165 expressions::fvExprDriver::readDict(
dict);
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) \
Macros for easy insertion into run-time selection tables.
#define addNamedToRunTimeSelectionTable(baseType, thisType, argNames, lookupName)
Add to construction table with 'lookupName' as the key.
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
void resetDb(const objectRegistry *obrPtr=nullptr)
Reset the objectRegistry (for functions)
void resetTimeReference(const TimeState *ts)
Reset the time-state reference.
Base driver for parsing value expressions associated with an fvMesh.
Driver for patch expressions.
Driver for volume, surface, point field expressions.
const fvMesh & mesh_
The referenced mesh.
autoPtr< regIOobject > dupZeroField() const
A zero-initialized field with the same type as the result field.
virtual unsigned parse(const std::string &expr, size_t pos=0, size_t len=std::string::npos)
Execute the parser.
virtual bool readDict(const dictionary &dict)
Read variables, tables etc.
void clearField()
Clear out local copies of the field.
Ragel lexer/scanner interface for volume expressions.
bool process(const std::string &str, size_t pos, size_t len, parseDriver &driver_)
Evaluate sub-string.
Mesh data needed to do the Finite Volume discretisation.
virtual const objectRegistry & thisDb() const
Return the object registry - resolve conflict polyMesh/lduMesh.
A class for handling words, derived from Foam::string.
Macro definitions for declaring ClassName(), NamespaceName(), etc.
#define defineTypeNameAndDebug(Type, DebugSwitch)
Define the typeName and debug information.
@ VOLUME_DATA
Volume data.
dimensionedScalar pos(const dimensionedScalar &ds)
#define doLocalCode(GeoField)