fvMesh Class Reference

Mesh data needed to do the Finite Volume discretisation. More...

Inheritance diagram for fvMesh:
Collaboration diagram for fvMesh:

Public Types

enum  readUpdateState {
  UNCHANGED , POINTS_MOVED , STITCHED , TOPO_CHANGE ,
  TOPO_PATCH_CHANGE
}
 Enumeration defining the state of the mesh after a read update. More...
 
enum class  stitchType { none , nonGeometric , geometric }
 Extent to which to stitch on read and readUpdate. By default, a. More...
 
typedef fvMesh Mesh
 
typedef fvBoundaryMesh BoundaryMesh
 
- Public Types inherited from polyMesh
enum  readUpdateState { UNCHANGED , POINTS_MOVED , TOPO_CHANGE , TOPO_PATCH_CHANGE }
 Enumeration defining the state of the mesh after a read update. More...
 
enum  cellDecomposition { FACE_PLANES , FACE_CENTRE_TRIS , FACE_DIAG_TRIS , CELL_TETS }
 Enumeration defining the decomposition of the cell for. More...
 
typedef polyMesh Mesh
 
typedef polyBoundaryMesh BoundaryMesh
 
- Public Types inherited from IOobject
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...
 
- Public Types inherited from HashTable< regIOobject * >
typedef regIOobjectvalue_type
 Type of values the HashTable contains. More...
 
typedef regIOobject * & reference
 Type that can be used for storing into HashTable::value_type. More...
 
typedef const regIOobject * & const_reference
 Type that can be used for storing into constant. More...
 
typedef label size_type
 The type that can represent the size of a HashTable. More...
 

Public Member Functions

 ClassName ("fvMesh")
 
 fvMesh (const IOobject &io, const bool doPost=true)
 Construct from IOobject. Optionally prevent post-construction, so. More...
 
 fvMesh (const IOobject &io, pointField &&points, const cellShapeList &shapes, const faceListList &boundaryFaces, const wordList &boundaryPatchNames, const PtrList< dictionary > &boundaryDicts, const word &defaultBoundaryPatchName, const word &defaultBoundaryPatchType, const bool syncPar=true)
 Construct from cellShapes with boundary. More...
 
 fvMesh (const IOobject &io, pointField &&points, faceList &&faces, labelList &&allOwner, labelList &&allNeighbour, const bool syncPar=true)
 Construct from components without boundary. More...
 
 fvMesh (const IOobject &io, pointField &&points, faceList &&faces, cellList &&cells, const bool syncPar=true)
 Construct without boundary from cells rather than owner/neighbour. More...
 
 fvMesh (fvMesh &&)
 Move constructor. More...
 
 fvMesh (const fvMesh &)=delete
 Disallow default bitwise copy construction. More...
 
virtual ~fvMesh ()
 Destructor. More...
 
void postConstruct (const bool changers, const stitchType stitch)
 Complete construction of the mesh. More...
 
void addFvPatches (const List< polyPatch * > &, const bool validBoundary=true)
 Add boundary patches. Constructor helper. More...
 
readUpdateState readUpdate (const stitchType stitch=stitchType::geometric)
 Update the mesh based on the mesh files saved in time. More...
 
const Timetime () const
 Return the top-level database. More...
 
virtual const objectRegistrythisDb () const
 Return the object registry - resolve conflict polyMesh/lduMesh. More...
 
const wordname () const
 Return reference to name. More...
 
const fvBoundaryMeshboundary () const
 Return reference to boundary mesh. More...
 
const polyMeshmesh () const
 Return reference to polyMesh. More...
 
const polyMeshoperator() () const
 Return reference to polyMesh. More...
 
virtual const lduAddressinglduAddr () const
 Return ldu addressing. More...
 
virtual lduInterfacePtrsList interfaces () const
 Return a list of pointers for each patch. More...
 
virtual label comm () const
 Return communicator used for parallel communication. More...
 
const labelUListowner () const
 Internal face owner. More...
 
const labelUListneighbour () const
 Internal face neighbour. More...
 
bool conformal () const
 Return whether the fvMesh is conformal with the polyMesh. More...
 
const GeometricBoundaryField< label, fvsPatchField, surfaceMesh > & polyFacesBf () const
 Return face-poly-face addressing. More...
 
const UCompactListList< label > & polyBFacePatches () const
 Return poly-bFace-patch addressing. More...
 
const UCompactListList< label > & polyBFacePatchFaces () const
 Return poly-bFace-patch-face addressing. More...
 
const GeometricBoundaryField< label, fvsPatchField, surfaceMesh > & ownerBf () const
 Return face-owner addressing. More...
 
const fvMeshStitcherstitcher () const
 Return the stitcher function class. More...
 
fvMeshStitcherstitcher ()
 Return the stitcher function class. More...
 
const fvMeshTopoChangertopoChanger () const
 Return the topo-changer function class. More...
 
const fvMeshDistributordistributor () const
 Return the distributor function class. More...
 
const fvMeshMovermover () const
 Return the mover function class. More...
 
const DimensionedField< scalar, volMesh > & V () const
 Return cell volumes. More...
 
const DimensionedField< scalar, volMesh > & V0 () const
 Return old-time cell volumes. More...
 
const DimensionedField< scalar, volMesh > & V00 () const
 Return old-old-time cell volumes. More...
 
tmp< DimensionedField< scalar, volMesh > > Vsc () const
 Return sub-cycle cell volumes. More...
 
tmp< DimensionedField< scalar, volMesh > > Vsc0 () const
 Return sub-cycle old-time cell volumes. More...
 
const surfaceVectorFieldSf () const
 Return cell face area vectors. More...
 
const surfaceScalarFieldmagSf () const
 Return cell face area magnitudes. More...
 
const volVectorFieldC () const
 Return cell centres. More...
 
const surfaceVectorFieldCf () const
 Return face centres. More...
 
tmp< surfaceVectorFielddelta () const
 Return face deltas as surfaceVectorField. More...
 
const surfaceScalarFieldphi () const
 Return cell face motion fluxes. More...
 
template<class GeoField >
UPtrList< GeoField > fields (const bool strict=false) const
 Return the list of fields of type GeoField. More...
 
template<class GeoField >
UPtrList< GeoField > curFields () const
 Return the list of current fields of type GeoField. More...
 
template<class Type >
pTraits< Type >::labelType validComponents () const
 Return a labelType of valid component indicators. More...
 
const fvSchemesschemes () const
 Return the fvSchemes. More...
 
const fvSolutionsolution () const
 Return the fvSolution. More...
 
bool topoChanging () const
 Does the mesh topology change? More...
 
bool distributing () const
 Does the mesh get redistributed? More...
 
bool dynamic () const
 Is this mesh dynamic? More...
 
bool update ()
 Update the mesh for topology change, mesh to mesh mapping. More...
 
bool move ()
 Move the mesh. More...
 
void clearOut ()
 Clear all geometry and addressing. More...
 
virtual void topoChange (const polyTopoChangeMap &map)
 Update mesh corresponding to the given map. More...
 
virtual void mapMesh (const polyMeshMap &)
 Update from another mesh using the given map. More...
 
virtual void distribute (const polyDistributionMap &map)
 Redistribute or update using the given distribution map. More...
 
virtual void setPoints (const pointField &)
 Reset the points. More...
 
virtual tmp< scalarFieldmovePoints (const pointField &)
 Move points, returns volumes swept by faces in motion. More...
 
const fileNamepolyFacesBfInstance () const
 Get the current instance for the poly faces boundary field. More...
 
void setPolyFacesBfInstance (const fileName &)
 Set the instance for the poly faces boundary field. More...
 
void conform (const surfaceScalarField &phi=NullObjectRef< surfaceScalarField >())
 Conform the fvMesh to the polyMesh. More...
 
void unconform (const GeometricBoundaryField< label, fvsPatchField, surfaceMesh > &polyFacesBf, const surfaceVectorField &Sf, const surfaceVectorField &Cf, const surfaceScalarField &phi=NullObjectRef< surfaceScalarField >(), const bool sync=true)
 Unconform the fvMesh from the polyMesh. More...
 
void mapFields (const polyTopoChangeMap &map)
 Map all fields in time using given map. More...
 
virtual void addPatch (const label insertPatchi, const polyPatch &patch, const dictionary &patchFieldDict, const word &defaultPatchFieldType, const bool validBoundary)
 Add/insert single patch. If validBoundary the new situation. More...
 
virtual void reorderPatches (const labelUList &newToOld, const bool validBoundary)
 Reorder and trim existing patches. If validBoundary the new. More...
 
void removeFvBoundary ()
 Remove boundary patches. Warning: fvPatchFields hold ref to. More...
 
void swap (fvMesh &)
 Swap mesh. More...
 
virtual bool writeObject (IOstream::streamFormat fmt, IOstream::versionNumber ver, IOstream::compressionType cmp, const bool write=true) const
 Write the underlying polyMesh and other data. More...
 
virtual bool write (const bool write=true) const
 Write mesh using IO settings from time. More...
 
void operator= (const fvMesh &)=delete
 Disallow default bitwise assignment. More...
 
bool operator!= (const fvMesh &) const
 
bool operator== (const fvMesh &) const
 
template<>
pTraits< sphericalTensor >::labelType validComponents () const
 
template<class GeoField >
Foam::UPtrList< GeoField > fields (const bool strict) const
 
template<class GeoField >
Foam::UPtrList< GeoField > curFields () const
 
- Public Member Functions inherited from polyMesh
 TypeName ("polyMesh")
 Runtime type information. More...
 
 polyMesh (const IOobject &io)
 Construct from IOobject. More...
 
 polyMesh (const IOobject &io, pointField &&points, faceList &&faces, labelList &&owner, labelList &&neighbour, const bool syncPar=true)
 Move construct from IOobject or from components. More...
 
 polyMesh (const IOobject &io, pointField &&points, faceList &&faces, cellList &&cells, const bool syncPar=true)
 Move construct without boundary with cells rather than. More...
 
 polyMesh (const IOobject &io, pointField &&points, const cellShapeList &shapes, const faceListList &boundaryFaces, const wordList &boundaryPatchNames, const wordList &boundaryPatchTypes, const word &defaultBoundaryPatchName, const word &defaultBoundaryPatchType, const wordList &boundaryPatchPhysicalTypes, const bool syncPar=true)
 Move construct from cell shapes. More...
 
 polyMesh (const IOobject &io, pointField &&points, const cellShapeList &shapes, const faceListList &boundaryFaces, const wordList &boundaryPatchNames, const PtrList< dictionary > &boundaryDicts, const word &defaultBoundaryPatchName, const word &defaultBoundaryPatchType, const bool syncPar=true)
 Move construct from cell shapes with patch information in dictionary. More...
 
 polyMesh (polyMesh &&)
 Move constructor. More...
 
 polyMesh (const polyMesh &)=delete
 Disallow default bitwise copy construction. More...
 
virtual ~polyMesh ()
 Destructor. More...
 
virtual const fileNamedbDir () const
 Override the objectRegistry dbDir for a single-region case. More...
 
fileName meshDir () const
 Return the local mesh directory (dbDir()/meshSubDir) More...
 
const fileNamepointsInstance () const
 Return the current instance directory for points. More...
 
const fileNamefacesInstance () const
 Return the current instance directory for faces. More...
 
IOobject::writeOption pointsWriteOpt () const
 Return the points write option. More...
 
IOobject::writeOption facesWriteOpt () const
 Return the points write option. More...
 
void setPointsInstance (const fileName &)
 Set the instance for the points files. More...
 
void setInstance (const fileName &)
 Set the instance for mesh files. More...
 
virtual const pointFieldpoints () const
 Return raw points. More...
 
virtual const faceListfaces () const
 Return raw faces. More...
 
virtual const labelListfaceOwner () const
 Return face owner. More...
 
virtual const labelListfaceNeighbour () const
 Return face neighbour. More...
 
virtual const pointFieldoldPoints () const
 Return old points for mesh motion. More...
 
virtual const pointFieldoldCellCentres () const
 Return old cell centres for mesh motion. More...
 
bool upToDatePoints (const regIOobject &io) const
 Return true if io is up-to-date with points. More...
 
void setUpToDatePoints (regIOobject &io) const
 Set io to be up-to-date with points. More...
 
const polyBoundaryMeshboundaryMesh () const
 Return boundary mesh. More...
 
const boundBoxbounds () const
 Return mesh bounding box. More...
 
const Vector< label > & geometricD () const
 Return the vector of geometric directions in mesh. More...
 
label nGeometricD () const
 Return the number of valid geometric dimensions in the mesh. More...
 
const Vector< label > & solutionD () const
 Return the vector of solved-for directions in mesh. More...
 
label nSolutionD () const
 Return the number of valid solved-for dimensions in the mesh. More...
 
const labelIOListtetBasePtIs () const
 Return the tetBasePtIs. More...
 
const indexedOctree< treeDataCell > & cellTree () const
 Return the cell search tree. More...
 
const pointZoneListpointZones () const
 Return point zones. More...
 
const faceZoneListfaceZones () const
 Return face zones. More...
 
const cellZoneListcellZones () const
 Return cell zones. More...
 
const globalMeshDataglobalData () const
 Return parallel info. More...
 
label comm () const
 Return communicator used for parallel communication. More...
 
labelcomm ()
 Return communicator used for parallel communication. More...
 
const objectRegistrythisDb () const
 Return the object registry. More...
 
bool moving () const
 Is mesh moving. More...
 
bool topoChanged () const
 Has the mesh topology changed this time-step. More...
 
bool changing () const
 Is mesh changing. More...
 
void resetMotion () const
 Reset motion. More...
 
pointZoneListpointZones ()
 Return non-const access to the pointZones. More...
 
faceZoneListfaceZones ()
 Return non-const access to the faceZones. More...
 
cellZoneListcellZones ()
 Return non-const access to the cellZones. More...
 
void addPatches (const List< polyPatch * > &, const bool validBoundary=true)
 Add boundary patches. More...
 
void addZones (const List< pointZone * > &pz, const List< faceZone * > &fz, const List< cellZone * > &cz)
 Add mesh zones. More...
 
readUpdateState readUpdate ()
 Update the mesh based on the mesh files saved in. More...
 
void topoChangeZones (const polyTopoChangeMap &)
 Update zones using the given map. More...
 
void removeBoundary ()
 Remove boundary patches. More...
 
void resetPrimitives (pointField &&points, faceList &&faces, labelList &&owner, labelList &&neighbour, const labelList &patchSizes, const labelList &patchStarts, const bool validBoundary=true)
 Reset mesh primitive data. Assumes all patch info correct. More...
 
void swap (polyMesh &)
 Swap mesh. More...
 
void clearGeom ()
 Clear geometry. More...
 
void clearAddressing (const bool isMeshUpdate=false)
 Clear addressing. More...
 
void clearOut ()
 Clear all geometry and addressing unnecessary for CFD. More...
 
void clearPrimitives ()
 Clear primitive data (points, faces and cells) More...
 
void clearTetBasePtIs ()
 Clear tet base points. More...
 
void clearCellTree ()
 Clear cell tree data. More...
 
void removeFiles (const fileName &instanceDir) const
 Remove all files from mesh instance. More...
 
void removeFiles () const
 Remove all files from mesh instance() More...
 
void findCellFacePt (const point &p, label &celli, label &tetFacei, label &tetPti) const
 Find the cell, tetFacei and tetPti for point p. More...
 
void findTetFacePt (const label celli, const point &p, label &tetFacei, label &tetPti) const
 Find the tetFacei and tetPti for point p in celli. More...
 
bool pointInCell (const point &p, label celli, const cellDecomposition=CELL_TETS) const
 Test if point p is in the celli. More...
 
label findCell (const point &p, const cellDecomposition=CELL_TETS) const
 Find cell enclosing this location and return index. More...
 
void operator= (const polyMesh &)=delete
 Disallow default bitwise assignment. More...
 
- Public Member Functions inherited from objectRegistry
 TypeName ("objectRegistry")
 Declare type name for this IOobject. More...
 
 objectRegistry (const Time &db, const label nIoObjects=128)
 Construct the time objectRegistry given an initial estimate. More...
 
 objectRegistry (const IOobject &io, const label nIoObjects=128)
 Construct a sub-registry given an IObject to describe the registry. More...
 
 objectRegistry (objectRegistry &&)=default
 Move constructor. More...
 
 objectRegistry (const objectRegistry &)=delete
 Disallow default bitwise copy construction. More...
 
virtual ~objectRegistry ()
 Destructor. More...
 
const Timetime () const
 Return time. More...
 
const objectRegistryparent () const
 Return the parent objectRegistry. More...
 
fileName path (const word &instance, const fileName &local="") const
 Return complete path with alternative instance and local. More...
 
wordList toc (const word &className) const
 Return the list of names of IOobjects of given class name. More...
 
wordList sortedToc (const word &className) const
 Return the sorted list of names of IOobjects of given class name. More...
 
template<class Type >
wordList toc () const
 Return the list of names of the IOobjects of given type. More...
 
template<class Type >
wordList toc (const wordRe &name) const
 Return the list of objects whose name matches the input regExp. More...
 
template<class Type >
wordList toc (const wordReList &name) const
 Return the list of objects whose name matches the input regExp. More...
 
const objectRegistrysubRegistry (const word &name, const bool forceCreate=false) const
 Lookup and return a const sub-objectRegistry. Optionally create. More...
 
template<class Type >
HashTable< const Type * > lookupClass (const bool strict=false) const
 Lookup and return all objects of the given Type. More...
 
template<class Type >
HashTable< Type * > lookupClass (const bool strict=false)
 Lookup and return all objects of the given Type. More...
 
template<class Type >
bool foundObject (const word &name) const
 Is the named Type in registry. More...
 
template<class Type >
const Type & lookupObject (const word &name) const
 Lookup and return the object of the given Type and name. More...
 
template<class Type >
Type & lookupObjectRef (const word &name) const
 Lookup and return the object reference of the given Type. More...
 
template<class Type >
bool foundType (const word &group=word::null) const
 Is the Type in registry. More...
 
template<class Type >
const Type & lookupType (const word &group=word::null) const
 Lookup and return the object of the given Type. More...
 
label getEvent () const
 Return new event number. More...
 
const objectRegistrythisDb () const
 Return the object registry. More...
 
virtual void rename (const word &newName)
 Rename. More...
 
bool checkIn (regIOobject &) const
 Add an regIOobject to registry. More...
 
bool checkOut (regIOobject &) const
 Remove an regIOobject from registry. More...
 
void clear ()
 Remove all regIOobject owned by the registry. More...
 
void addTemporaryObject (const word &name) const
 Add the given name to the set of temporary objects to cache. More...
 
bool cacheTemporaryObject (const word &name) const
 Return true if given name is in the cacheTemporaryObjects set. More...
 
template<class Object >
bool cacheTemporaryObject (Object &ob) const
 Cache the given object. More...
 
void resetCacheTemporaryObject (const regIOobject &ob) const
 Reset the cache state of the given object. More...
 
bool checkCacheTemporaryObjects () const
 Check that all objects in the cacheTemporaryObjects set. More...
 
virtual bool modified () const
 Return true if any of the object's files have been modified. More...
 
virtual bool dependenciesModified () const
 Cache pointers to objects who's dependencies have been modified. More...
 
virtual bool readIfModified ()
 Read object if modified. More...
 
virtual bool read ()
 Read dependent objects. More...
 
void readModifiedObjects ()
 Read the objects that have been modified. More...
 
void printToc (Ostream &os) const
 Print the list of object names and their type. More...
 
virtual bool writeData (Ostream &) const
 writeData function required by regIOobject but not used More...
 
void operator= (const objectRegistry &)=delete
 Disallow default bitwise assignment. More...
 
template<class Type >
Foam::wordList toc () const
 
template<class Type >
Foam::wordList toc (const wordRe &name) const
 
template<class Type >
Foam::wordList toc (const wordReList &patterns) const
 
template<class Type >
Foam::HashTable< const Type * > lookupClass (const bool strict) const
 
template<class Type >
Foam::HashTable< Type * > lookupClass (const bool strict)
 
fileName path () const
 Return complete path. More...
 
- Public Member Functions inherited from regIOobject
 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 fileNamecaseName () 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...
 
labeleventNo ()
 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...
 
bool headerOk ()
 Read and check header info. More...
 
IstreamreadStream (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...
 
const labelListwatchIndices () const
 Return file-monitoring handles. More...
 
labelListwatchIndices ()
 Return file-monitoring handles. More...
 
void operator= (const IOobject &)
 Assign to IOobject. More...
 
void operator= (const regIOobject &)=delete
 Disallow default assignment. More...
 
const fileNamecaseName (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...
 
- Public Member Functions inherited from IOobject
 TypeName ("IOobject")
 Runtime type information. More...
 
 IOobject (const word &name, const fileName &instance, const objectRegistry &registry, 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 &registry, 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 &registry, readOption r=NO_READ, writeOption w=NO_WRITE, bool registerObject=true)
 Construct from path, registry, io options. More...
 
 IOobject (const IOobject &io, const objectRegistry &registry)
 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< IOobjectclone () const
 Clone. More...
 
autoPtr< IOobjectclone (const objectRegistry &registry) const
 Clone resetting registry. More...
 
virtual ~IOobject ()
 Destructor. More...
 
const Timetime () const
 Return time. More...
 
const objectRegistrydb () const
 Return the local objectRegistry. More...
 
const wordname () const
 Return name. More...
 
const wordheaderClassName () const
 Return name of the class name read from header. More...
 
wordheaderClassName ()
 Return name of the class name read from header. More...
 
stringnote ()
 Return non-constant access to the optional note. More...
 
const stringnote () 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
 
readOptionreadOpt ()
 
writeOption writeOpt () const
 
writeOptionwriteOpt ()
 
word group () const
 Return group (extension part of name) More...
 
word member () const
 Return member (name without the extension) More...
 
const fileNamerootPath () const
 
const fileNamecaseName (const bool global) const
 
fileNameinstance () 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 fileNamelocal () 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< IOobjectinfo () const
 Return info proxy. More...
 
void operator= (const IOobject &)
 
template<class Name >
Foam::word groupName (Name name, const word &group)
 
- Public Member Functions inherited from HashTable< regIOobject * >
bool set (const word &, const regIOobject * &newElmt)
 Set a new hashedEntry, overwriting existing entries. More...
 
void set (const HashTable< regIOobject *, word, string::hash > &)
 Insert all the entries from the given HashTable,. More...
 
 HashTable (const label size=128)
 Construct given initial table size. More...
 
 HashTable (Istream &, const label size=128)
 Construct from Istream. More...
 
 HashTable (const UList< word > &keyList, const UList< regIOobject * > &elmtList)
 Construct from a list of keys and list of elements. More...
 
 HashTable (const HashTable< regIOobject *, word, string::hash > &)
 Copy constructor. More...
 
 HashTable (HashTable< regIOobject *, word, string::hash > &&)
 Move constructor. More...
 
 HashTable (std::initializer_list< Tuple2< word, regIOobject * >>)
 Construct from an initialiser list. More...
 
 ~HashTable ()
 Destructor. More...
 
label capacity () const
 The size of the underlying table. More...
 
label size () const
 Return number of elements in table. More...
 
bool empty () const
 Return true if the hash table is empty. More...
 
bool found (const word &) const
 Return true if hashedEntry is found in table. More...
 
iterator find (const word &)
 Find and return an iterator set at the hashedEntry. More...
 
const_iterator find (const word &) const
 Find and return an const_iterator set at the hashedEntry. More...
 
List< wordtoc () const
 Return the table of contents. More...
 
List< wordsortedToc () const
 Return the table of contents as a sorted list. More...
 
List< const_iteratorsorted () const
 Return a sorted list of constant iterators. More...
 
OstreamprintInfo (Ostream &) const
 Print information. More...
 
bool insert (const word &, const regIOobject * &newElmt)
 Insert a new hashedEntry. More...
 
void insert (const HashTable< regIOobject *, word, string::hash > &)
 Insert all the entries from the given HashTable. More...
 
bool erase (const iterator &)
 Erase a hashedEntry specified by given iterator. More...
 
bool erase (const word &)
 Erase a hashedEntry specified by the given key. More...
 
label erase (const UList< word > &)
 Remove entries given by the listed keys from this HashTable. More...
 
label erase (const HashTable< AnyType, word, AnyHash > &)
 Remove entries given by the given keys from this HashTable. More...
 
Foam::label erase (const HashTable< AnyType, word, AnyHash > &rhs)
 
void resize (const label newSize)
 Resize the hash table for efficiency. More...
 
void clear ()
 Clear all entries from table. More...
 
void clearStorage ()
 Clear the table entries and the table itself. More...
 
void shrink ()
 Shrink the allocated table to approx. twice number of elements. More...
 
void transfer (HashTable< regIOobject *, word, string::hash > &)
 Transfer the contents of the argument table into this table. More...
 
regIOobject * & operator[] (const word &)
 Find and return a hashedEntry. More...
 
const regIOobject * & operator[] (const word &) const
 Find and return a hashedEntry. More...
 
regIOobject * & operator() (const word &)
 Find and return a hashedEntry, create it null if not present. More...
 
void operator= (const HashTable< regIOobject *, word, string::hash > &)
 Assignment operator. More...
 
void operator= (HashTable< regIOobject *, word, string::hash > &&)
 Move assignment operator. More...
 
void operator= (std::initializer_list< Tuple2< word, regIOobject * >>)
 Assignment to an initialiser list. More...
 
bool operator== (const HashTable< regIOobject *, word, string::hash > &) const
 Equality. Hash tables are equal if the keys and values are equal. More...
 
bool operator!= (const HashTable< regIOobject *, word, string::hash > &) const
 The opposite of the equality operation. Takes linear time. More...
 
iterator begin ()
 Iterator set to the beginning of the HashTable. More...
 
const_iterator begin () const
 const_iterator set to the beginning of the HashTable More...
 
const_iterator cbegin () const
 const_iterator set to the beginning of the HashTable More...
 
- Public Member Functions inherited from HashTableCore
 HashTableCore ()
 Construct null. More...
 
 ClassName ("HashTable")
 Define template name and debug. More...
 
- Public Member Functions inherited from primitiveMesh
 ClassName ("primitiveMesh")
 
 primitiveMesh (const label nPoints, const label nInternalFaces, const label nFaces, const label nCells)
 Construct from components. More...
 
 primitiveMesh (primitiveMesh &&)=default
 Move constructor. More...
 
 primitiveMesh (const primitiveMesh &)=delete
 Disallow default bitwise copy construction. More...
 
virtual ~primitiveMesh ()
 Destructor. More...
 
void reset (const label nPoints, const label nInternalFaces, const label nFaces, const label nCells)
 Reset this primitiveMesh given the primitive array sizes. More...
 
void reset (const label nPoints, const label nInternalFaces, const label nFaces, const label nCells, cellList &cells)
 Reset this primitiveMesh given the primitive array sizes and cells. More...
 
void reset (const label nPoints, const label nInternalFaces, const label nFaces, const label nCells, cellList &&cells)
 Reset this primitiveMesh given the primitive array sizes and cells. More...
 
label nPoints () const
 
label nEdges () const
 
label nInternalFaces () const
 
label nFaces () const
 
label nCells () const
 
label nInternalPoints () const
 Points not on boundary. More...
 
label nInternal0Edges () const
 Internal edges (i.e. not on boundary face) using. More...
 
label nInternal1Edges () const
 Internal edges using 0 or 1 boundary point. More...
 
label nInternalEdges () const
 Internal edges using 0,1 or 2 boundary points. More...
 
const cellShapeListcellShapes () const
 Return cell shapes. More...
 
const edgeListedges () const
 Return mesh edges. Uses calcEdges. More...
 
const labelListListcellCells () const
 
const labelListListedgeCells () const
 
const labelListListpointCells () const
 
const cellListcells () const
 
const labelListListedgeFaces () const
 
const labelListListpointFaces () const
 
const labelListListcellEdges () const
 
const labelListListfaceEdges () const
 
const labelListListpointEdges () const
 
const labelListListpointPoints () const
 
const labelListListcellPoints () const
 
const vectorFieldcellCentres () const
 
const vectorFieldfaceCentres () const
 
const scalarFieldcellVolumes () const
 
const vectorFieldfaceAreas () const
 
const scalarFieldmagFaceAreas () const
 
tmp< scalarFieldmovePoints (const pointField &p, const pointField &oldP)
 Move points, returns volumes swept by faces in motion. More...
 
bool isInternalFace (const label faceIndex) const
 Return true if given face label is internal to the mesh. More...
 
bool pointInCellBB (const point &p, label celli, scalar inflationFraction=0) const
 Return true if the point in the cell bounding box. More...
 
bool pointInCell (const point &p, label celli) const
 Return true if the point is in the cell. More...
 
label findNearestCell (const point &location) const
 Find the cell with the nearest cell centre to location. More...
 
label findCell (const point &location) const
 Find cell enclosing this location (-1 if not in mesh) More...
 
void printAllocated () const
 Print a list of all the currently allocated mesh data. More...
 
bool hasCellShapes () const
 
bool hasEdges () const
 
bool hasCellCells () const
 
bool hasEdgeCells () const
 
bool hasPointCells () const
 
bool hasCells () const
 
bool hasEdgeFaces () const
 
bool hasPointFaces () const
 
bool hasCellEdges () const
 
bool hasFaceEdges () const
 
bool hasPointEdges () const
 
bool hasPointPoints () const
 
bool hasCellPoints () const
 
bool hasCellCentres () const
 
bool hasFaceCentres () const
 
bool hasCellVolumes () const
 
bool hasFaceAreas () const
 
const labelListcellCells (const label celli, DynamicList< label > &) const
 cellCells using cells. More...
 
const labelListcellCells (const label celli) const
 
const labelListcellPoints (const label celli, DynamicList< label > &) const
 cellPoints using cells More...
 
const labelListcellPoints (const label celli) const
 
const labelListpointCells (const label pointi, DynamicList< label > &) const
 pointCells using pointFaces More...
 
const labelListpointCells (const label pointi) const
 
const labelListpointPoints (const label pointi, DynamicList< label > &) const
 pointPoints using edges, pointEdges More...
 
const labelListpointPoints (const label pointi) const
 
const labelListfaceEdges (const label facei, DynamicList< label > &) const
 faceEdges using pointFaces, edges, pointEdges More...
 
const labelListfaceEdges (const label facei) const
 
const labelListedgeFaces (const label edgeI, DynamicList< label > &) const
 edgeFaces using pointFaces, edges, pointEdges More...
 
const labelListedgeFaces (const label edgeI) const
 
const labelListedgeCells (const label edgeI, DynamicList< label > &) const
 edgeCells using pointFaces, edges, pointEdges More...
 
const labelListedgeCells (const label edgeI) const
 
const labelListcellEdges (const label celli, DynamicList< label > &) const
 cellEdges using cells, pointFaces, edges, pointEdges More...
 
const labelListcellEdges (const label celli) const
 
void clearGeom ()
 Clear geometry. More...
 
void clearAddressing ()
 Clear topological data. More...
 
void clearOut ()
 Clear all geometry and addressing unnecessary for CFD. More...
 
void operator= (const primitiveMesh &)=delete
 Disallow default bitwise assignment. More...
 
- Public Member Functions inherited from lduMesh
 TypeName ("lduMesh")
 Runtime type information. More...
 
virtual ~lduMesh ()
 Destructor. More...
 
template<class T , class BinaryOp >
void reduce (T &Value, const BinaryOp &bop) const
 Helper: reduce with current communicator. More...
 
InfoProxy< lduMeshinfo () const
 Return info proxy. More...
 
- Public Member Functions inherited from surfaceInterpolation
 ClassName ("surfaceInterpolation")
 
 surfaceInterpolation (const fvMesh &)
 Construct given an fvMesh. More...
 
 ~surfaceInterpolation ()
 Destructor. More...
 
const surfaceScalarFieldweights () const
 Return reference to linear difference weighting factors. More...
 
const surfaceScalarFielddeltaCoeffs () const
 Return reference to cell-centre difference coefficients. More...
 
const surfaceScalarFieldnonOrthDeltaCoeffs () const
 Return reference to non-orthogonal cell-centre difference. More...
 
const surfaceVectorFieldnonOrthCorrectionVectors () const
 Return reference to non-orthogonality correction vectors. More...
 
bool movePoints ()
 Do what is necessary if the mesh has moved. More...
 

Static Public Attributes

static const HashSet< wordgeometryFields
 Set of names of registered geometric fields. More...
 
- Static Public Attributes inherited from polyMesh
static word defaultRegion = "region0"
 Return the default region name. More...
 
static word meshSubDir = "polyMesh"
 Return the mesh sub-directory name (usually "polyMesh") More...
 
- Static Public Attributes inherited from regIOobject
static float fileModificationSkew
 
- Static Public Attributes inherited from IOobject
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...
 
- Static Public Attributes inherited from HashTableCore
static const label maxTableSize
 Maximum allowable table size. More...
 
- Static Public Attributes inherited from primitiveMesh
static const unsigned cellsPerEdge_ = 4
 Estimated number of cells per edge. More...
 
static const unsigned cellsPerPoint_ = 8
 Estimated number of cells per point. More...
 
static const unsigned facesPerCell_ = 6
 Estimated number of faces per cell. More...
 
static const unsigned facesPerEdge_ = 4
 Estimated number of faces per edge. More...
 
static const unsigned facesPerPoint_ = 12
 Estimated number of faces per point. More...
 
static const unsigned edgesPerCell_ = 12
 Estimated number of edges per cell. More...
 
static const unsigned edgesPerFace_ = 4
 Estimated number of edges per cell. More...
 
static const unsigned edgesPerPoint_ = 6
 Estimated number of edges per point. More...
 
static const unsigned pointsPerCell_ = 8
 Estimated number of points per cell. More...
 
static const unsigned pointsPerFace_ = 4
 Estimated number of points per face. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from regIOobject
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 Public Member Functions inherited from IOobject
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...
 
- Static Public Member Functions inherited from HashTableCore
static label canonicalSize (const label)
 Return a canonical (power-of-two) size. More...
 
static iteratorEnd cend ()
 iteratorEnd set to beyond the end of any HashTable More...
 
static iteratorEnd end ()
 iteratorEnd set to beyond the end of any HashTable More...
 
- Static Public Member Functions inherited from primitiveMesh
static void calcCells (cellList &, const labelUList &own, const labelUList &nei, const label nCells=-1)
 Helper function to calculate cell-face addressing from. More...
 
static bool calcPointOrder (label &nInternalPoints, labelList &pointMap, const faceList &, const label nInternalFaces, const label nPoints)
 Helper function to calculate point ordering. Returns true. More...
 
- Protected Member Functions inherited from regIOobject
bool readHeaderOk (const IOstream::streamFormat defaultFormat, const word &typeName)
 Read header, check readOpt flags and read data if necessary. More...
 
- Protected Member Functions inherited from IOobject
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...
 
- Protected Member Functions inherited from primitiveMesh
void calcFaceCentresAndAreas () const
 Calculate face centres and areas. More...
 
void makeFaceCentresAndAreas (const pointField &p, vectorField &fCtrs, vectorField &fAreas, scalarField &magfAreas) const
 
void calcCellCentresAndVols () const
 Calculate cell centres and volumes. More...
 
void makeCellCentresAndVols (const vectorField &fCtrs, const vectorField &fAreas, vectorField &cellCtrs, scalarField &cellVols) const
 
void calcEdgeVectors () const
 Calculate edge vectors. More...
 
 primitiveMesh ()
 Construct null. More...
 
- Protected Member Functions inherited from surfaceInterpolation
void clearOut ()
 Clear all geometry and addressing. More...
 
- Protected Attributes inherited from polyMesh
bool moving_
 Member data pending transfer to fvMesh. More...
 
bool topoChanged_
 Has the mesh topology changed. More...
 

Detailed Description

Mesh data needed to do the Finite Volume discretisation.

NOTE ON USAGE: fvMesh contains all the topological and geometric information related to the mesh. It is also responsible for keeping the data up-to-date. This is done by deleting the cell volume, face area, cell/face centre, addressing and other derived information as required and recalculating it as necessary. The fvMesh therefore reserves the right to delete the derived information upon every topological (mesh refinement/morphing) or geometric change (mesh motion). It is therefore unsafe to keep local references to the derived data outside of the time loop.

Source files

Definition at line 94 of file fvMesh.H.

Member Typedef Documentation

◆ Mesh

typedef fvMesh Mesh

Definition at line 317 of file fvMesh.H.

◆ BoundaryMesh

Definition at line 318 of file fvMesh.H.

Member Enumeration Documentation

◆ readUpdateState

Enumeration defining the state of the mesh after a read update.

Used for post-processing applications, where the mesh needs to update based on the files written in time directories.

Enumerator
UNCHANGED 
POINTS_MOVED 
STITCHED 
TOPO_CHANGE 
TOPO_PATCH_CHANGE 

Definition at line 107 of file fvMesh.H.

◆ stitchType

enum stitchType
strong

Extent to which to stitch on read and readUpdate. By default, a.

full geometric stitch is performed. A non-geometric stitch can be done as an optimisation in situations when finite volume geometry is not needed (e.g., decomposition). Stitching can also be prevented altogether if that is appropriate (e.g., if the mesh is loaded for mapping in an un-stitched state).

Enumerator
none 
nonGeometric 
geometric 

Definition at line 122 of file fvMesh.H.

Constructor & Destructor Documentation

◆ fvMesh() [1/6]

fvMesh ( const IOobject io,
const bool  doPost = true 
)
explicit

Construct from IOobject. Optionally prevent post-construction, so.

that postConstruct may be called manually for finer control of construction of mesh changes and the level of stitching.

Definition at line 273 of file fvMesh.C.

References Foam::endl(), FUNCTION_NAME, fvMesh::geometric, fvMesh::postConstruct(), and Foam::Pout.

Here is the call graph for this function:

◆ fvMesh() [2/6]

fvMesh ( const IOobject io,
pointField &&  points,
const cellShapeList shapes,
const faceListList boundaryFaces,
const wordList boundaryPatchNames,
const PtrList< dictionary > &  boundaryDicts,
const word defaultBoundaryPatchName,
const word defaultBoundaryPatchType,
const bool  syncPar = true 
)

Construct from cellShapes with boundary.

Definition at line 317 of file fvMesh.C.

References Foam::endl(), FUNCTION_NAME, and Foam::Pout.

Here is the call graph for this function:

◆ fvMesh() [3/6]

fvMesh ( const IOobject io,
pointField &&  points,
faceList &&  faces,
labelList &&  allOwner,
labelList &&  allNeighbour,
const bool  syncPar = true 
)

Construct from components without boundary.

Boundary is added using addFvPatches() member function

Definition at line 378 of file fvMesh.C.

References Foam::endl(), FUNCTION_NAME, and Foam::Pout.

Here is the call graph for this function:

◆ fvMesh() [4/6]

fvMesh ( const IOobject io,
pointField &&  points,
faceList &&  faces,
cellList &&  cells,
const bool  syncPar = true 
)

Construct without boundary from cells rather than owner/neighbour.

Boundary is added using addFvPatches() member function

Definition at line 433 of file fvMesh.C.

References Foam::endl(), FUNCTION_NAME, and Foam::Pout.

Here is the call graph for this function:

◆ fvMesh() [5/6]

fvMesh ( fvMesh &&  mesh)

Move constructor.

Definition at line 486 of file fvMesh.C.

References Foam::endl(), FUNCTION_NAME, and Foam::Pout.

Here is the call graph for this function:

◆ fvMesh() [6/6]

fvMesh ( const fvMesh )
delete

Disallow default bitwise copy construction.

◆ ~fvMesh()

~fvMesh ( )
virtual

Destructor.

Definition at line 530 of file fvMesh.C.

Member Function Documentation

◆ ClassName()

ClassName ( "fvMesh"  )

◆ postConstruct()

void postConstruct ( const bool  changers,
const stitchType  stitch 
)

Complete construction of the mesh.

Definition at line 538 of file fvMesh.C.

References Foam::fileHandler(), Foam::isFile(), IOobject::MUST_READ, Foam::name(), fvMeshDistributor::New(), fvMeshMover::New(), fvMeshStitcher::New(), fvMeshTopoChanger::New(), and IOobject::NO_WRITE.

Referenced by fvMesh::fvMesh().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ addFvPatches()

void addFvPatches ( const List< polyPatch * > &  p,
const bool  validBoundary = true 
)

Add boundary patches. Constructor helper.

Definition at line 679 of file fvMesh.C.

References Foam::abort(), boundary(), Foam::FatalError, FatalErrorInFunction, and p.

Referenced by polyTopoChange::makeMesh(), and Foam::zeroDimensionalFvMesh().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ readUpdate()

Update the mesh based on the mesh files saved in time.

directories

Definition at line 760 of file fvMesh.C.

References Foam::endl(), FUNCTION_NAME, Foam::Info, polyMesh::POINTS_MOVED, Foam::Pout, IOobject::READ_IF_PRESENT, polyMesh::readUpdate(), polyMesh::TOPO_CHANGE, polyMesh::TOPO_PATCH_CHANGE, polyMesh::UNCHANGED, and fileName::valid().

Here is the call graph for this function:

◆ time()

const Time& time ( ) const
inline

Return the top-level database.

Definition at line 418 of file fvMesh.H.

References objectRegistry::time().

Referenced by snappyLayerDriver::addLayers(), cellCoBlended< Type >::blendingFactor(), CoBlended< Type >::blendingFactor(), snappySnapDriver::calcNearestSurface(), XiEqModel::calculateSchelkinEffect(), CloudFunctionObject< CloudType >::CloudFunctionObject(), compressibleTwoPhaseVoFMixture::compressibleTwoPhaseVoFMixture(), polyMeshFilter::copyMesh(), Foam::MULES::correct(), Foam::fv::CorrectPhi(), CrankNicolsonDdtScheme< Type >::CrankNicolsonDdtScheme(), snappySnapDriver::detectNearSurfaces(), displacementComponentLaplacianFvMotionSolver::displacementComponentLaplacianFvMotionSolver(), displacementLaplacianFvMotionSolver::displacementLaplacianFvMotionSolver(), snappySnapDriver::doSnap(), Foam::MULES::explicitSolve(), waveAlphaFvPatchScalarField::faceCellSubset(), waveVelocityFvPatchVectorField::faceCellSubset(), greyMean::greyMean(), mappedFvPatchBaseBase::haveNbr(), Foam::hydrostaticInitialisation(), psiuMulticomponentThermo::implementation::implementation(), singleCellFvMesh::interpolate(), fvMeshSubset::interpolate(), interRegionPorosityForce::interRegionPorosityForce(), Foam::MULES::limit(), Foam::MULES::limitCorr(), LimitedScheme< Type, Limiter, LimitFunc >::limiter(), localEulerDdt::localRDeltaT(), basicThermo::lookupOrConstruct(), Foam::MapConsistentVolFields(), Foam::MapLagrangianFields(), Foam::MapVolFields(), LocalInteraction< CloudType >::massEscape(), LocalInteraction< CloudType >::massStick(), meanVelocityForce::meanVelocityForce(), meshRefinement::mergePatchFacesUndo(), MovingPhaseModel< BasePhaseModel >::MovingPhaseModel(), mappedFvPatchBaseBase::nbrMesh(), interRegionModel::nbrMesh(), interRegionModel::nbrModel(), thresholdCellFaces::needsUpdate(), phaseSolidThermophysicalTransportModel::New(), basicChemistryModel::New(), phaseSystem::New(), buoyancy::New(), solidThermophysicalTransportModel::New(), fvMeshDistributor::New(), fvMeshMover::New(), fvMeshTopoChanger::New(), fvMeshStitcher::New(), phaseChange::phaseChange(), phaseForces::phaseForces(), populationBalanceModel::populationBalanceModel(), powerLawLopesdaCostaZone::powerLawLopesdaCostaZone(), ParticleErosion< CloudType >::preEvolve(), snappySnapDriver::preSmoothPatch(), radiativeIntensityRay::radiativeIntensityRay(), snappySnapDriver::repatchToSurface(), snappySnapDriver::scaleMesh(), snappySnapDriver::smoothDisplacement(), phaseSystem::solve(), solver::solver(), MPLIC::surfaceAlpha(), timeVaryingMappedFvPatchField< Type >::time(), distributor::update(), loadBalancer::update(), movingWallVelocityFvPatchVectorField::updateCoeffs(), wideBand::wideBand(), FacePostProcessing< CloudType >::write(), ParticleCollector< CloudType >::write(), PatchPostProcessing< CloudType >::write(), and basicSubGrid::XiEq().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ thisDb()

virtual const objectRegistry& thisDb ( ) const
inlinevirtual

Return the object registry - resolve conflict polyMesh/lduMesh.

Reimplemented from lduMesh.

Definition at line 424 of file fvMesh.H.

References polyMesh::thisDb().

Here is the call graph for this function:

◆ name()

const word& name ( ) const
inline

Return reference to name.

Note: name() is currently ambiguous due to derivation from surfaceInterpolation

Definition at line 432 of file fvMesh.H.

Referenced by snappyLayerDriver::addLayers(), polyMeshFilter::copyMesh(), VoFFilmTransfer::filmVoFTransferRate(), singleCellFvMesh::interpolate(), interRegionModel::nbrModel(), coupledTemperatureFvPatchScalarField::updateCoeffs(), and domainDecomposition::writeComplete().

Here is the caller graph for this function:

◆ boundary()

const Foam::fvBoundaryMesh & boundary ( ) const

Return reference to boundary mesh.

Definition at line 857 of file fvMesh.C.

Referenced by fvMeshAdder::add(), waveAlphaFvPatchScalarField::alphan(), anisotropic< SolidThermophysicalTransportModel >::anisotropic(), nearWallFields::calcAddressing(), cellMDLimitedGrad< Type >::calcGrad(), faceLimitedGrad< Type >::calcGrad(), faceMDLimitedGrad< Type >::calcGrad(), fvMotionSolver::cellMotionBoundaryTypes(), Foam::checkCompleteMeshOrdering(), Foam::checkProcMeshesOrdering(), filmCloudTransfer::CloudToFilmTransferRate(), filmVoFTransfer::correct(), linearUpwindV< Type >::correction(), outletStabilised< Type >::correction(), pointLinear< Type >::correction(), linearUpwind< Type >::correction(), fvBoundaryMeshMapper::fvBoundaryMeshMapper(), FvFaceCellWave< Type, TrackingData >::FvFaceCellWave(), fvMeshLduAddressing::fvMeshLduAddressing(), twoPhaseMixture::interfaceFraction(), singleCellFvMesh::interpolate(), fvMeshSubset::interpolate(), volPointInterpolation::interpolateUnconstrained(), Foam::levelSetFraction(), Foam::MULES::limiter(), Foam::MULES::limiterCorr(), mappedFvPatchBaseBase::nbrFvPatch(), nearWallDist::nearWallDist(), Foam::fvMeshStitcherTools::origNcMagSfb(), patchDistMethod::patchTypes(), PatchCollisionDensity< CloudType >::preEvolve(), fvMeshDistribute::printMeshInfo(), domainDecomposition::procFaceAddressingBf(), constSolidThermo::readProperty(), Foam::fvc::reconstructMag(), filmCloudTransfer::resetFromCloudFields(), Foam::fvc::smooth(), Foam::fvc::spread(), MPLIC::surfaceAlpha(), Foam::fvc::surfaceIntegrate(), Foam::fvc::surfaceSum(), Foam::fvc::sweep(), waveVelocityFvPatchVectorField::Un(), volPointInterpolation::volPointInterpolation(), clippedLinear< Type >::weights(), reverseLinear< Type >::weights(), and outletStabilised< Type >::weights().

Here is the caller graph for this function:

◆ mesh()

const polyMesh& mesh ( ) const
inline

Return reference to polyMesh.

Definition at line 441 of file fvMesh.H.

Referenced by snappyLayerDriver::addLayers(), Relaxation< CloudType >::cacheFields(), Explicit< CloudType >::cacheFields(), Implicit< CloudType >::cacheFields(), Stochastic< CloudType >::calculate(), XiEqModel::calculateSchelkinEffect(), MovingPhaseModel< BasePhaseModel >::correctUf(), snappySnapDriver::detectNearSurfaces(), snappyLayerDriver::doLayers(), snappyRefineDriver::doRefine(), snappySnapDriver::doSnap(), SurfaceFilmModel< CloudType >::inject(), twoPhaseMixture::interfaceFraction(), SCOPE::Ma(), LocalInteraction< CloudType >::massEscape(), LocalInteraction< CloudType >::massStick(), snappyLayerDriver::mergePatchFacesUndo(), phaseInterface::mesh(), Foam::NaNGeometricFields(), LiaoBase::precompute(), ParticleErosion< CloudType >::preEvolve(), ParticleTrap< CloudType >::preEvolve(), PatchCollisionDensity< CloudType >::preEvolve(), ParticleErosion< CloudType >::preFace(), PatchCollisionDensity< CloudType >::preFace(), snappySnapDriver::repatchToSurface(), snappySnapDriver::scaleMesh(), fvMatrix< Type >::setValue(), singleCellFvMesh::singleCellFvMesh(), snappySnapDriver::smoothDisplacement(), CloudFilmTransfer< CloudType >::splashInteraction(), CellZoneInjection< CloudType >::topoChange(), advectiveFvPatchField< Type >::updateCoeffs(), movingWallSlipVelocityFvPatchVectorField::updateCoeffs(), cellMotionFvPatchField< Type >::updateCoeffs(), Implicit< CloudType >::velocityCorrection(), FacePostProcessing< CloudType >::write(), ParticleCollector< CloudType >::write(), PatchPostProcessing< CloudType >::write(), and basicSubGrid::XiEq().

Here is the caller graph for this function:

◆ operator()()

const polyMesh& operator() ( ) const
inline

Return reference to polyMesh.

Definition at line 447 of file fvMesh.H.

◆ lduAddr()

const Foam::lduAddressing & lduAddr ( ) const
virtual

Return ldu addressing.

Implements lduMesh.

Definition at line 863 of file fvMesh.C.

Referenced by fvMesh::neighbour(), and fvMesh::owner().

Here is the caller graph for this function:

◆ interfaces()

virtual lduInterfacePtrsList interfaces ( ) const
inlinevirtual

Return a list of pointers for each patch.

with only those pointing to interfaces being set

Implements lduMesh.

Definition at line 457 of file fvMesh.H.

◆ comm()

virtual label comm ( ) const
inlinevirtual

Return communicator used for parallel communication.

Implements lduMesh.

Definition at line 463 of file fvMesh.H.

References polyMesh::comm().

Here is the call graph for this function:

◆ owner()

◆ neighbour()

◆ conformal()

bool conformal ( ) const

Return whether the fvMesh is conformal with the polyMesh.

Definition at line 874 of file fvMesh.C.

Referenced by Foam::checkProcMeshesOrdering(), nonConformalFvPatch::faceCells(), nonConformalFvPatch::polyFaces(), PatchCollisionDensity< CloudType >::preEvolve(), and MPLIC::surfaceAlpha().

Here is the caller graph for this function:

◆ polyFacesBf()

◆ polyBFacePatches()

const Foam::UCompactListList< Foam::label > & polyBFacePatches ( ) const

Return poly-bFace-patch addressing.

Definition at line 911 of file fvMesh.C.

References boundary(), forAll, UList< T >::last(), patches, and patchi.

Referenced by volPointInterpolation::interpolateUnconstrained(), fvMatrix< Type >::setValue(), and volPointInterpolation::volPointInterpolation().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ polyBFacePatchFaces()

const Foam::UCompactListList< Foam::label > & polyBFacePatchFaces ( ) const

Return poly-bFace-patch-face addressing.

Definition at line 987 of file fvMesh.C.

Referenced by volPointInterpolation::interpolateUnconstrained(), fvMatrix< Type >::setValue(), and volPointInterpolation::volPointInterpolation().

Here is the caller graph for this function:

◆ ownerBf()

const Foam::surfaceLabelField::Boundary & ownerBf ( ) const

Return face-owner addressing.

Definition at line 998 of file fvMesh.C.

References boundary(), forAll, GeometricField< Type, PatchField, GeoMesh >::null(), and patchi.

Referenced by nonConformalFvPatch::faceCells().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ stitcher() [1/2]

const Foam::fvMeshStitcher & stitcher ( ) const

Return the stitcher function class.

Definition at line 1026 of file fvMesh.C.

◆ stitcher() [2/2]

Foam::fvMeshStitcher & stitcher ( )

Return the stitcher function class.

Definition at line 1032 of file fvMesh.C.

◆ topoChanger()

const Foam::fvMeshTopoChanger & topoChanger ( ) const

Return the topo-changer function class.

Definition at line 1038 of file fvMesh.C.

◆ distributor()

const Foam::fvMeshDistributor & distributor ( ) const

Return the distributor function class.

Definition at line 1044 of file fvMesh.C.

◆ mover()

const Foam::fvMeshMover & mover ( ) const

Return the mover function class.

Definition at line 1050 of file fvMesh.C.

Referenced by rigidBodyForces::CofR().

Here is the caller graph for this function:

◆ V()

◆ V0()

const Foam::volScalarField::Internal & V0 ( ) const

Return old-time cell volumes.

Definition at line 267 of file fvMeshGeometry.C.

References Foam::abort(), Foam::FatalError, FatalErrorInFunction, and Foam::isNull().

Here is the call graph for this function:

◆ V00()

const Foam::volScalarField::Internal & V00 ( ) const

Return old-old-time cell volumes.

Definition at line 280 of file fvMeshGeometry.C.

References Foam::isNull().

Referenced by backwardDdtScheme< Type >::backwardDdtScheme(), and CrankNicolsonDdtScheme< Type >::CrankNicolsonDdtScheme().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ Vsc()

Return sub-cycle cell volumes.

Definition at line 296 of file fvMeshGeometry.C.

References TimeState::deltaTValue(), and dimensioned< Type >::value().

Referenced by Foam::MULES::explicitSolve(), Foam::MULES::limiter(), Foam::MULES::limiterCorr(), and Foam::fvc::surfaceIntegrate().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ Vsc0()

Return sub-cycle old-time cell volumes.

Definition at line 324 of file fvMeshGeometry.C.

References TimeState::deltaTValue(), and dimensioned< Type >::value().

Referenced by Foam::MULES::explicitSolve(), and Foam::MULES::limiter().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ Sf()

◆ magSf()

◆ C()

◆ Cf()

◆ delta()

Foam::tmp< Foam::surfaceVectorField > delta ( ) const

Return face deltas as surfaceVectorField.

Definition at line 417 of file fvMeshGeometry.C.

References boundary(), C, delta, Foam::dimLength, Foam::endl(), forAll, InfoInFunction, GeometricField< Type, PatchField, GeoMesh >::New(), patchi, and tmp< T >::ref().

Here is the call graph for this function:

◆ phi()

const Foam::surfaceScalarField & phi ( ) const

Return cell face motion fluxes.

Definition at line 456 of file fvMeshGeometry.C.

References Foam::abort(), Foam::dimTime, Foam::dimVolume, Foam::FatalError, FatalErrorInFunction, and timeIndex.

Referenced by compressibleVoF::pressureCorrector(), and shockFluid::thermophysicalPredictor().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ fields() [1/2]

UPtrList<GeoField> fields ( const bool  strict = false) const

Return the list of fields of type GeoField.

i.e. fields that are not geometry

Referenced by nearWallFields::createFields(), Foam::MeshToMeshMapVolInternalFields(), and fvMeshDistribute::printFieldInfo().

Here is the caller graph for this function:

◆ curFields() [1/2]

UPtrList<GeoField> curFields ( ) const

Return the list of current fields of type GeoField.

i.e. fields that are not old-times or geometry

Referenced by Foam::MeshToMeshMapVolFields(), Foam::NaNGeometricFields(), and singleRegionSolutionControl::storePrevIterTypeFields().

Here is the caller graph for this function:

◆ validComponents() [1/2]

pTraits<Type>::labelType validComponents ( ) const

Return a labelType of valid component indicators.

1 : valid (solved) -1 : invalid (not solved)

Referenced by residuals::writeFileHeader().

Here is the caller graph for this function:

◆ schemes()

◆ solution()

◆ topoChanging()

◆ distributing()

bool distributing ( ) const

Does the mesh get redistributed?

Definition at line 604 of file fvMesh.C.

◆ dynamic()

bool dynamic ( ) const

Is this mesh dynamic?

Definition at line 610 of file fvMesh.C.

Referenced by MovingPhaseModel< BasePhaseModel >::MovingPhaseModel().

Here is the caller graph for this function:

◆ update()

bool update ( )

Update the mesh for topology change, mesh to mesh mapping.

or redistribution

Definition at line 618 of file fvMesh.C.

References Foam::nullDemandDrivenData(), and nullOldestTimeFields.

Here is the call graph for this function:

◆ move()

bool move ( )

Move the mesh.

Definition at line 653 of file fvMesh.C.

References timeIndex.

Referenced by incompressibleDenseParticleFluid::moveMesh(), incompressibleFluid::moveMesh(), isothermalFluid::moveMesh(), multiphaseEuler::moveMesh(), shockFluid::moveMesh(), and VoFSolver::moveMesh().

Here is the caller graph for this function:

◆ clearOut()

void clearOut ( )

Clear all geometry and addressing.

Definition at line 223 of file fvMesh.C.

References surfaceInterpolation::clearOut(), and polyMesh::clearOut().

Here is the call graph for this function:

◆ topoChange()

void topoChange ( const polyTopoChangeMap map)
virtual

Update mesh corresponding to the given map.

Reimplemented from polyMesh.

Definition at line 1264 of file fvMesh.C.

References surfaceInterpolation::clearOut(), Foam::exit(), Foam::FatalError, FatalErrorInFunction, Foam::notNull(), and polyMesh::topoChange().

Referenced by snappyLayerDriver::addLayers(), and meshRefinement::mergePatchFacesUndo().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ mapMesh()

void mapMesh ( const polyMeshMap map)
virtual

Update from another mesh using the given map.

Reimplemented from polyMesh.

Definition at line 1317 of file fvMesh.C.

References surfaceInterpolation::clearOut(), and polyMesh::mapMesh().

Here is the call graph for this function:

◆ distribute()

void distribute ( const polyDistributionMap map)
virtual

Redistribute or update using the given distribution map.

Reimplemented from polyMesh.

Definition at line 1343 of file fvMesh.C.

References surfaceInterpolation::clearOut(), and polyMesh::distribute().

Referenced by distributor::distribute().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ setPoints()

void setPoints ( const pointField p)
virtual

Reset the points.

without storing old points or returning swept volumes

Reimplemented from polyMesh.

Definition at line 1125 of file fvMesh.C.

References surfaceInterpolation::movePoints(), p, and polyMesh::setPoints().

Referenced by snappyLayerDriver::addLayers().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ movePoints()

◆ polyFacesBfInstance()

const Foam::fileName & polyFacesBfInstance ( ) const

Get the current instance for the poly faces boundary field.

Definition at line 1381 of file fvMesh.C.

◆ setPolyFacesBfInstance()

void setPolyFacesBfInstance ( const fileName inst)

Set the instance for the poly faces boundary field.

Definition at line 1369 of file fvMesh.C.

References IOobject::AUTO_WRITE.

◆ conform()

void conform ( const surfaceScalarField phi = NullObjectRef<surfaceScalarField>())

Conform the fvMesh to the polyMesh.

Definition at line 1392 of file fvMesh.C.

References surfaceInterpolation::clearOut(), OldTimeField< FieldType >::nOldTimes(), Foam::notNull(), and OldTimeField< FieldType >::oldTime().

Here is the call graph for this function:

◆ unconform()

◆ mapFields()

◆ addPatch()

void addPatch ( const label  insertPatchi,
const polyPatch patch,
const dictionary patchFieldDict,
const word defaultPatchFieldType,
const bool  validBoundary 
)
virtual

Add/insert single patch. If validBoundary the new situation.

is consistent across processors.

Reimplemented from polyMesh.

Definition at line 1518 of file fvMesh.C.

References polyMesh::addPatch(), surfaceInterpolation::clearOut(), Foam::deleteDemandDrivenData(), fvPatch::New(), and Foam::Zero.

Referenced by fvMeshTools::addPatch().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ reorderPatches()

void reorderPatches ( const labelUList newToOld,
const bool  validBoundary 
)
virtual

Reorder and trim existing patches. If validBoundary the new.

situation is consistent across processors

Reimplemented from polyMesh.

Definition at line 1650 of file fvMesh.C.

References polyMesh::reorderPatches().

Referenced by fvMeshTools::reorderPatches().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ removeFvBoundary()

void removeFvBoundary ( )

Remove boundary patches. Warning: fvPatchFields hold ref to.

these fvPatches.

Definition at line 698 of file fvMesh.C.

References Foam::endl(), FUNCTION_NAME, Foam::Pout, and polyMesh::removeBoundary().

Here is the call graph for this function:

◆ swap()

void swap ( fvMesh otherMesh)

Swap mesh.

For run-time mesh replacement and mesh to mesh mapping

Definition at line 714 of file fvMesh.C.

References polyMesh::boundaryMesh(), surfaceInterpolation::clearOut(), forAll, fvPatch::New(), patches, patchi, UPtrList< T >::size(), and polyMesh::swap().

Here is the call graph for this function:

◆ writeObject()

bool writeObject ( IOstream::streamFormat  fmt,
IOstream::versionNumber  ver,
IOstream::compressionType  cmp,
const bool  write = true 
) const
virtual

Write the underlying polyMesh and other data.

Reimplemented from polyMesh.

Definition at line 1675 of file fvMesh.C.

References IOobject::AUTO_WRITE, Foam::dimless, regIOobject::write(), Foam::vtkWriteOps::write(), and polyMesh::writeObject().

Here is the call graph for this function:

◆ write()

bool write ( const bool  write = true) const
virtual

Write mesh using IO settings from time.

Reimplemented from regIOobject.

Definition at line 1737 of file fvMesh.C.

References regIOobject::write(), and Foam::vtkWriteOps::write().

Referenced by snappyLayerDriver::addLayers(), snappySnapDriver::scaleMesh(), and domainDecomposition::writeProcs().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ operator=()

void operator= ( const fvMesh )
delete

Disallow default bitwise assignment.

◆ operator!=()

bool operator!= ( const fvMesh bm) const

Definition at line 1775 of file fvMesh.C.

◆ operator==()

bool operator== ( const fvMesh bm) const

Definition at line 1781 of file fvMesh.C.

◆ validComponents() [2/2]

Foam::pTraits< Type >::labelType validComponents ( ) const

Definition at line 31 of file fvMeshTemplates.C.

References Foam::pow(), polyMesh::solutionD(), and Foam::type().

Here is the call graph for this function:

◆ fields() [2/2]

Foam::UPtrList<GeoField> fields ( const bool  strict) const

Definition at line 46 of file fvMeshTemplates.C.

References fields, forAllIter, objectRegistry::lookupClass(), Foam::name(), UPtrList< T >::set(), and UPtrList< T >::setSize().

Here is the call graph for this function:

◆ curFields() [2/2]

Foam::UPtrList<GeoField> curFields ( ) const

Definition at line 69 of file fvMeshTemplates.C.

References fields, forAllIter, objectRegistry::lookupClass(), Foam::name(), UPtrList< T >::set(), and UPtrList< T >::setSize().

Here is the call graph for this function:

Member Data Documentation

◆ geometryFields

const Foam::HashSet< Foam::word > geometryFields
static
Initial value:
{
"Vc",
"Vc0",
"Vc00",
"Sf",
"magSf",
"Cc",
"Cf",
"meshPhi"
}

Set of names of registered geometric fields.

V, Sf, magSf, C, Cf

Definition at line 331 of file fvMesh.H.

Referenced by Foam::MapDimensionedFields(), fvMeshAdder::MapPointFields(), fvMeshAdder::MapSurfaceFields(), and fvMeshAdder::MapVolFields().


The documentation for this class was generated from the following files: