Templated abstract base-class for demand-driven mesh objects used to automate their allocation to the mesh database and the mesh-modifier event-loop. More...
Public Member Functions | |
virtual const word & | type () const |
Runtime type information. More... | |
virtual | ~DemandDrivenMeshObject () |
const Mesh & | mesh () const |
virtual bool | writeData (Foam::Ostream &) const |
Pure virtual writaData function. More... | |
![]() | |
TypeName ("regIOobject") | |
Runtime type information. More... | |
regIOobject (const IOobject &, const bool isTime=false) | |
Construct from IOobject. Optional flag for if IOobject is the. More... | |
regIOobject (const regIOobject &) | |
Copy constructor. More... | |
regIOobject (const regIOobject &&) | |
Move constructor. More... | |
regIOobject (const regIOobject &, bool registerCopy) | |
Copy constructor, transferring registry registration to copy. More... | |
regIOobject (const word &newName, const regIOobject &, bool registerCopy) | |
Copy constructor with new name, transferring registry registration. More... | |
regIOobject (const IOobject &, const regIOobject &) | |
Copy constructor with new IO parameters. More... | |
virtual | ~regIOobject () |
Destructor. More... | |
virtual bool | global () const |
Return true if object is global, i.e. same for all processors. More... | |
virtual bool | globalFile () const |
Return true if object is global, i.e. same for all processors. More... | |
const fileName & | caseName () const |
fileName | path () const |
Return complete path. More... | |
fileName | objectPath () const |
Return complete path + object name. More... | |
fileName | filePath () const |
Return complete path + object name if the file exists. More... | |
bool | checkIn () |
Add object to registry. More... | |
bool | checkOut () |
Remove object from registry. More... | |
void | addWatch () |
Add file watch on object (if registered and READ_IF_MODIFIED) More... | |
bool | registered () const |
Is this object registered with the registry? More... | |
bool | ownedByRegistry () const |
Is this object owned by the registry? More... | |
void | store () |
Transfer ownership of this object to its registry. More... | |
void | release () |
Release ownership of this object from its registry. More... | |
label | eventNo () const |
Event number at last update. More... | |
label & | eventNo () |
Event number at last update. More... | |
bool | upToDate (const regIOobject &) const |
Return true if up-to-date with respect to given object. More... | |
bool | upToDate (const regIOobject &, const regIOobject &) const |
Return true if up-to-date with respect to given objects. More... | |
bool | upToDate (const regIOobject &, const regIOobject &, const regIOobject &) const |
Return true if up-to-date with respect to given objects. More... | |
bool | upToDate (const regIOobject &, const regIOobject &, const regIOobject &, const regIOobject &) const |
Return true if up-to-date with respect to given objects. More... | |
void | setUpToDate () |
Set up to date (obviously) More... | |
virtual void | rename (const word &newName) |
Rename. More... | |
bool | headerOk () |
Read and check header info. More... | |
Istream & | readStream (const word &, const bool read=true) |
Return Istream and check object type against that given. More... | |
void | close () |
Close Istream. More... | |
virtual bool | readData (Istream &) |
Virtual readData function. More... | |
virtual bool | read () |
Read object. More... | |
const labelList & | watchIndices () const |
Return file-monitoring handles. More... | |
labelList & | watchIndices () |
Return file-monitoring handles. More... | |
virtual bool | modified () const |
Return true if the object's file (or files for objectRegistry) More... | |
virtual bool | dependenciesModified () const |
Return true if the object's dependencies have been modified. More... | |
virtual bool | readIfModified () |
Read object if modified (as set by call to modified) More... | |
virtual bool | writeObject (IOstream::streamFormat, IOstream::versionNumber, IOstream::compressionType, const bool write) const |
Write using given format, version and compression. More... | |
virtual bool | write (const bool write=true) const |
Write using setting from DB. More... | |
void | operator= (const IOobject &) |
Assign to IOobject. More... | |
void | operator= (const regIOobject &)=delete |
Disallow default assignment. More... | |
const fileName & | caseName (const bool global) const |
fileName | path (const bool global) const |
Return complete path including the processor sub-directory. More... | |
fileName | objectPath (const bool global) const |
Return complete path + object name including the processor. More... | |
fileName | filePath (const word &typeName, const bool global) const |
Return complete path + object name if the file exists. More... | |
![]() | |
TypeName ("IOobject") | |
Runtime type information. More... | |
IOobject (const word &name, const fileName &instance, const objectRegistry ®istry, readOption r=NO_READ, writeOption w=NO_WRITE, bool registerObject=true) | |
Construct from name, instance, registry, io options. More... | |
IOobject (const word &name, const fileName &instance, const fileName &local, const objectRegistry ®istry, readOption r=NO_READ, writeOption w=NO_WRITE, bool registerObject=true) | |
Construct from name, instance, local, registry, io options. More... | |
IOobject (const fileName &path, const objectRegistry ®istry, readOption r=NO_READ, writeOption w=NO_WRITE, bool registerObject=true) | |
Construct from path, registry, io options. More... | |
IOobject (const IOobject &io, const objectRegistry ®istry) | |
Construct from copy resetting registry. More... | |
IOobject (const IOobject &io, const word &name) | |
Construct from copy resetting name. More... | |
IOobject (const IOobject &io)=default | |
Copy constructor. More... | |
autoPtr< IOobject > | clone () const |
Clone. More... | |
autoPtr< IOobject > | clone (const objectRegistry ®istry) const |
Clone resetting registry. More... | |
virtual | ~IOobject () |
Destructor. More... | |
const Time & | time () const |
Return time. More... | |
const objectRegistry & | db () const |
Return the local objectRegistry. More... | |
const word & | name () const |
Return name. More... | |
const word & | headerClassName () const |
Return name of the class name read from header. More... | |
word & | headerClassName () |
Return name of the class name read from header. More... | |
string & | note () |
Return non-constant access to the optional note. More... | |
const string & | note () const |
Return the optional note. More... | |
bool & | registerObject () |
Register object created from this IOobject with registry if true. More... | |
bool | registerObject () const |
Register object created from this IOobject with registry if true. More... | |
readOption | readOpt () const |
readOption & | readOpt () |
writeOption | writeOpt () const |
writeOption & | writeOpt () |
word | group () const |
Return group (extension part of name) More... | |
word | member () const |
Return member (name without the extension) More... | |
const fileName & | rootPath () const |
const fileName & | caseName (const bool global) const |
fileName & | instance () const |
Return the instance directory, constant, system, <time> etc. More... | |
void | updateInstance () const |
If the instance is a time directory update to the current time. More... | |
const fileName & | local () const |
fileName | path (const bool global) const |
Return complete path including the processor sub-directory. More... | |
fileName | objectPath (const bool global) const |
Return complete path + object name including the processor. More... | |
fileName | relativePath () const |
Return the path relative to the case directory. More... | |
fileName | relativeObjectPath () const |
Return complete relativePath + object name. More... | |
fileName | filePath (const word &typeName, const bool global) const |
Return complete path + object name if the file exists. More... | |
bool | readHeader (Istream &) |
Read header. More... | |
bool | headerOk () |
Read header of local object without type-checking. More... | |
template<class Type > | |
void | warnNoRereading () const |
Helper: warn that type does not support re-reading. More... | |
bool | writeHeader (Ostream &) const |
Write header. More... | |
bool | writeHeader (Ostream &, const word &objectType) const |
Write header. Allow override of type. More... | |
bool | good () const |
bool | bad () const |
InfoProxy< IOobject > | info () const |
Return info proxy. More... | |
void | operator= (const IOobject &) |
template<class Name > | |
Foam::word | groupName (Name name, const word &group) |
Static Public Member Functions | |
static Type & | New (const word &name, const Mesh &mesh) |
Construct and return the named DemandDrivenMeshObject. More... | |
static Type & | New (const Mesh &mesh) |
Construct and return the DemandDrivenMeshObject named Type::typeName. More... | |
template<class... Args> | |
static Type & | New (const word &name, const Mesh &mesh, const Args &... args) |
Construct and return the named DemandDrivenMeshObject. More... | |
template<class... Args> | |
static Type & | New (const Mesh &mesh, const Args &... args) |
Construct and return the DemandDrivenMeshObject named Type::typeName. More... | |
static bool | found (const word &name, const Mesh &mesh) |
Return true if the DemandDrivenMeshObject with the given name. More... | |
static bool | found (const Mesh &mesh) |
Return true if the DemandDrivenMeshObject named Type::typeName. More... | |
![]() | |
template<class Type > | |
static Type & | store (Type *) |
Transfer ownership of the given object pointer to its registry. More... | |
template<class Type > | |
static Type & | store (autoPtr< Type > &) |
Transfer ownership of the given object pointer to its registry. More... | |
![]() | |
static bool | fileNameComponents (const fileName &path, fileName &instance, fileName &local, word &name) |
Split path into instance, local, name components. More... | |
template<class Name > | |
static word | groupName (Name name, const word &group) |
static word | group (const word &name) |
Return group (extension part of name) More... | |
static word | member (const word &name) |
Return member (name without the extension) More... | |
template<class Stream > | |
static Stream & | writeBanner (Stream &os, bool noHint=false) |
Write the standard OpenFOAM file/dictionary banner. More... | |
template<class Stream > | |
static Stream & | writeDivider (Stream &os) |
Write the standard file section divider. More... | |
template<class Stream > | |
static Stream & | writeEndDivider (Stream &os) |
Write the standard end file divider. More... | |
Protected Member Functions | |
DemandDrivenMeshObject (const IOobject &io, const Mesh &mesh) | |
Construct from mesh and IOobject. More... | |
DemandDrivenMeshObject (const word &name, const Mesh &mesh) | |
Construct from mesh and name. More... | |
DemandDrivenMeshObject (const Mesh &mesh) | |
Construct from mesh, the name is set to Type::typeName. More... | |
![]() | |
bool | readHeaderOk (const IOstream::streamFormat defaultFormat, const word &typeName) |
Read header, check readOpt flags and read data if necessary. More... | |
![]() | |
void | setBad (const string &) |
Set the object state to bad. More... | |
template<class Type > | |
bool | typeHeaderOk (const bool checkType) |
Read header using typeGlobalFile to find file. More... | |
Additional Inherited Members | |
![]() | |
enum | objectState { GOOD , BAD } |
Enumeration defining the valid states of an IOobject. More... | |
enum | readOption { MUST_READ , MUST_READ_IF_MODIFIED , READ_IF_PRESENT , NO_READ } |
Enumeration defining the read options. More... | |
enum | writeOption { AUTO_WRITE = 0 , NO_WRITE = 1 } |
Enumeration defining the write options. More... | |
enum | fileCheckTypes { timeStamp , timeStampMaster , inotify , inotifyMaster } |
Enumeration defining the file checking options. More... | |
![]() | |
static float | fileModificationSkew |
![]() | |
static constexpr const char * | foamFile = "FoamFile" |
Keyword for the FoamFile header sub-dictionary. More... | |
static const NamedEnum< fileCheckTypes, 4 > | fileCheckTypesNames |
static fileCheckTypes | fileModificationChecking |
Type of file modification checking. More... | |
Templated abstract base-class for demand-driven mesh objects used to automate their allocation to the mesh database and the mesh-modifier event-loop.
DemandDrivenMeshObject is templated on the type of mesh it is allocated to, the type of the mesh object (DeletableMeshObject, MoveableMeshObject, DistributeableMeshObject, TopoChangeableMeshObject) and the type of the actual object it is created for example:
class leastSquaresVectors : public DemandDrivenMeshObject < fvMesh, MoveableMeshObject, leastSquaresVectors > { . . . //! Delete the least square vectors when the mesh moves virtual bool movePoints(); };
MeshObject types:
DemandDrivenMeshObject should always be constructed and accessed via the New methods provided so that they are held and maintained by the objectRegistry. To ensure this use constructors of the concrete derived types should be private or protected and friendship with the DemandDrivenMeshObject base-class declared so that the New functions can call the the constructors.
Definition at line 96 of file DemandDrivenMeshObject.H.
|
protected |
Construct from mesh and IOobject.
Only derived classes can construct DemandDrivenMeshObject
Definition at line 32 of file DemandDrivenMeshObject.C.
|
protected |
Construct from mesh and name.
Only derived classes can construct DemandDrivenMeshObject
Definition at line 45 of file DemandDrivenMeshObject.C.
|
protected |
Construct from mesh, the name is set to Type::typeName.
Only derived classes can construct DemandDrivenMeshObject
Definition at line 66 of file DemandDrivenMeshObject.C.
|
virtual |
Definition at line 204 of file DemandDrivenMeshObject.C.
References regIOobject::release().
|
virtual |
Runtime type information.
Definition at line 215 of file DemandDrivenMeshObject.C.
Referenced by GAMGProcAgglomeration::New().
|
static |
Construct and return the named DemandDrivenMeshObject.
Definition at line 78 of file DemandDrivenMeshObject.C.
References Foam::endl(), found, Foam::name(), Foam::Pout, and regIOobject::store().
Referenced by CentredFitSnGradScheme< Type, Polynomial, Stencil >::correction(), CentredFitScheme< Type, Polynomial, Stencil >::correction(), PureUpwindFitScheme< Type, Polynomial, Stencil >::correction(), and UpwindFitScheme< Type, Polynomial, Stencil >::correction().
|
static |
Construct and return the DemandDrivenMeshObject named Type::typeName.
Definition at line 109 of file DemandDrivenMeshObject.C.
|
static |
Construct and return the named DemandDrivenMeshObject.
with the additional arguments
Definition at line 139 of file DemandDrivenMeshObject.C.
|
static |
Construct and return the DemandDrivenMeshObject named Type::typeName.
with the additional arguments
Definition at line 172 of file DemandDrivenMeshObject.C.
References args, Foam::endl(), found, OSstream::name(), Foam::Pout, and regIOobject::store().
|
static |
Return true if the DemandDrivenMeshObject with the given name.
is found in the mesh registry
Definition at line 222 of file DemandDrivenMeshObject.C.
References Foam::name().
|
static |
Return true if the DemandDrivenMeshObject named Type::typeName.
is found in the mesh registry
Definition at line 233 of file DemandDrivenMeshObject.C.
References found.
|
inline |
Definition at line 173 of file DemandDrivenMeshObject.H.
|
inlinevirtual |
Pure virtual writaData function.
Must be defined in derived types
Implements regIOobject.
Reimplemented in fvModels, fvConstraints, and coordinateSystems.
Definition at line 178 of file DemandDrivenMeshObject.H.