All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
polyMesh Class Reference

Mesh consisting of general polyhedral cells. More...

Inheritance diagram for polyMesh:
Collaboration diagram for polyMesh:

Public Types

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

 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 meshPointZonespointZones () const
 Return point zones. More...
 
const meshFaceZonesfaceZones () const
 Return face zones. More...
 
const meshCellZonescellZones () 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...
 
virtual void setPoints (const pointField &)
 Reset the points. More...
 
virtual tmp< scalarFieldmovePoints (const pointField &)
 Move points, returns volumes swept by faces in motion. More...
 
void resetMotion () const
 Reset motion. More...
 
meshPointZonespointZones ()
 Return non-const access to the pointZones. More...
 
meshFaceZonesfaceZones ()
 Return non-const access to the faceZones. More...
 
meshCellZonescellZones ()
 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...
 
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...
 
readUpdateState readUpdate ()
 Update the mesh based on the mesh files saved in. More...
 
virtual void topoChange (const polyTopoChangeMap &)
 Update topology using 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...
 
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...
 
virtual bool checkFaceOrthogonality (const bool report=false, labelHashSet *setPtr=nullptr) const
 Check non-orthogonality. More...
 
virtual bool checkFaceSkewness (const bool report=false, labelHashSet *setPtr=nullptr) const
 Check face skewness. More...
 
virtual bool checkEdgeAlignment (const bool report, const Vector< label > &directions, labelHashSet *setPtr) const
 Check edge alignment for 1D/2D cases. More...
 
virtual bool checkCellDeterminant (const bool report, labelHashSet *setPtr) const
 
virtual bool checkFaceWeight (const bool report, const scalar minWeight=0.05, labelHashSet *setPtr=nullptr) const
 Check for face weights. More...
 
virtual bool checkVolRatio (const bool report, const scalar minRatio=0.01, labelHashSet *setPtr=nullptr) const
 Check for neighbouring cell volumes. 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...
 
virtual bool writeObject (IOstream::streamFormat fmt, IOstream::versionNumber ver, IOstream::compressionType cmp, const bool write=true) const
 Write the underlying polyMesh. 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 names () const
 Return the list of names of the IOobjects. More...
 
wordList sortedNames () const
 Return the sorted list of names of the IOobjects. More...
 
wordList names (const word &className) const
 Return the list of names of IOobjects of given class name. More...
 
wordList sortedNames (const word &className) const
 Return the sorted list of names of IOobjects of given class name. More...
 
template<class Type >
wordList names () const
 Return the list of names of the IOobjects of given type. More...
 
template<class Type >
wordList names (const wordRe &name) const
 Return the list of objects whose name matches the input regExp. More...
 
template<class Type >
wordList names (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 >
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...
 
template<class Type >
Type & lookupObjectRef (const word &name) const
 Lookup and return the object reference 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...
 
void readModifiedObjects ()
 Read the objects that have been modified. More...
 
virtual bool readIfModified ()
 Read object if modified. 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 names () const
 
template<class Type >
Foam::wordList names (const wordRe &name) const
 
template<class Type >
Foam::wordList names (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...
 
virtual bool read ()
 Read object. More...
 
const labelListwatchIndices () const
 Return file-monitoring handles. More...
 
labelListwatchIndices ()
 Return file-monitoring handles. 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 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)
 Assign a new hashedEntry, overwriting existing entries. More...
 
 HashTable (const label size=128)
 Construct given initial table size. More...
 
 HashTable (Istream &, const label size=128)
 Construct from Istream. 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...
 
OstreamprintInfo (Ostream &) const
 Print information. More...
 
bool insert (const word &, const regIOobject * &newElmt)
 Insert a new hashedEntry. 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 checkUpperTriangular (const bool report=false, labelHashSet *setPtr=nullptr) const
 Check face ordering. More...
 
bool checkCellsZipUp (const bool report=false, labelHashSet *setPtr=nullptr) const
 Check cell zip-up. More...
 
bool checkFaceVertices (const bool report=false, labelHashSet *setPtr=nullptr) const
 Check uniqueness of face vertices. More...
 
bool checkPoints (const bool report=false, labelHashSet *setPtr=nullptr) const
 Check for unused points. More...
 
bool checkDuplicateFaces (const label, const Map< label > &, label &nBaffleFaces, labelHashSet *) const
 Check if all points on face are shared with another face. More...
 
bool checkCommonOrder (const label, const Map< label > &, labelHashSet *) const
 Check that shared points are in consecutive order. More...
 
bool checkFaceFaces (const bool report=false, labelHashSet *setPtr=nullptr) const
 Check face-face connectivity. More...
 
bool checkClosedBoundary (const bool report=false) const
 Check boundary for closedness. More...
 
bool checkClosedCells (const bool report=false, labelHashSet *setPtr=nullptr, labelHashSet *highAspectSetPtr=nullptr, const Vector< label > &solutionD=Vector< label >::one) const
 Check cells for closedness. More...
 
bool checkFaceAreas (const bool report=false, labelHashSet *setPtr=nullptr) const
 Check for negative face areas. More...
 
bool checkCellVolumes (const bool report=false, labelHashSet *setPtr=nullptr) const
 Check for negative cell volumes. More...
 
bool checkFacePyramids (const bool report=false, const scalar minPyrVol=-small, labelHashSet *setPtr=nullptr) const
 Check face pyramid volume. More...
 
bool checkFaceAngles (const bool report=false, const scalar maxSin=10, labelHashSet *setPtr=nullptr) const
 Check face angles. More...
 
bool checkFaceFlatness (const bool report, const scalar warnFlatness, labelHashSet *setPtr) const
 Check face warpage: decompose face and check ratio between. More...
 
bool checkPointNearness (const bool report, const scalar reportDistSqr, labelHashSet *setPtr=nullptr) const
 Check for point-point-nearness,. More...
 
bool checkEdgeLength (const bool report, const scalar minLenSqr, labelHashSet *setPtr=nullptr) const
 Check edge length. More...
 
bool checkConcaveCells (const bool report=false, labelHashSet *setPtr=nullptr) const
 Check for concave cells by the planes of faces. 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...
 

Static Public Attributes

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...
 

Protected Attributes

bool moving_
 Member data pending transfer to fvMesh. More...
 
bool topoChanged_
 Has the mesh topology changed. 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...
 

Detailed Description

Mesh consisting of general polyhedral cells.

Source files

Definition at line 76 of file polyMesh.H.

Member Typedef Documentation

◆ Mesh

typedef polyMesh Mesh

Definition at line 257 of file polyMesh.H.

◆ BoundaryMesh

Definition at line 258 of file polyMesh.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 
TOPO_CHANGE 
TOPO_PATCH_CHANGE 

Definition at line 90 of file polyMesh.H.

◆ cellDecomposition

Enumeration defining the decomposition of the cell for.

inside/outside test

Enumerator
FACE_PLANES 
FACE_CENTRE_TRIS 
FACE_DIAG_TRIS 
CELL_TETS 

Definition at line 100 of file polyMesh.H.

Constructor & Destructor Documentation

◆ polyMesh() [1/7]

◆ polyMesh() [2/7]

polyMesh ( const IOobject io,
pointField &&  points,
faceList &&  faces,
labelList &&  owner,
labelList &&  neighbour,
const bool  syncPar = true 
)

Move construct from IOobject or from components.

Boundary is added using addPatches() member function

Definition at line 345 of file polyMesh.C.

References Foam::abort(), Foam::FatalError, FatalErrorInFunction, forAll, Foam::max(), Foam::min(), and List< T >::size().

Here is the call graph for this function:

◆ polyMesh() [3/7]

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

Move construct without boundary with cells rather than.

owner/neighbour. Boundary is added using addPatches() member function

Definition at line 500 of file polyMesh.C.

References Foam::abort(), primitiveMesh::cells(), Foam::FatalError, FatalErrorInFunction, forAll, Foam::max(), Foam::min(), and List< T >::size().

Here is the call graph for this function:

◆ polyMesh() [4/7]

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 
)

◆ polyMesh() [5/7]

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 
)

◆ polyMesh() [6/7]

polyMesh ( polyMesh &&  mesh)

Move constructor.

Definition at line 670 of file polyMesh.C.

◆ polyMesh() [7/7]

polyMesh ( const polyMesh )
delete

Disallow default bitwise copy construction.

◆ ~polyMesh()

~polyMesh ( )
virtual

Destructor.

Definition at line 991 of file polyMesh.C.

Member Function Documentation

◆ TypeName()

TypeName ( "polyMesh"  )

Runtime type information.

◆ dbDir()

const Foam::fileName & dbDir ( ) const
virtual

Override the objectRegistry dbDir for a single-region case.

Reimplemented from objectRegistry.

Definition at line 1000 of file polyMesh.C.

References objectRegistry::dbDir().

Here is the call graph for this function:

◆ meshDir()

Foam::fileName meshDir ( ) const

Return the local mesh directory (dbDir()/meshSubDir)

Definition at line 1013 of file polyMesh.C.

Referenced by polyMesh::polyMesh().

Here is the caller graph for this function:

◆ pointsInstance()

const Foam::fileName & pointsInstance ( ) const

Return the current instance directory for points.

Used in the construction of geometric mesh data dependent on points

Definition at line 1019 of file polyMesh.C.

Referenced by timeVaryingMappedFixedValuePointPatchField< Type >::checkTable().

Here is the caller graph for this function:

◆ facesInstance()

const Foam::fileName & facesInstance ( ) const

Return the current instance directory for faces.

Definition at line 1025 of file polyMesh.C.

Referenced by refinementHistoryConstraint::add(), refinementHistoryConstraint::apply(), timeVaryingMappedFixedValuePointPatchField< Type >::checkTable(), manualDecomp::decompose(), manualRenumber::renumber(), and hexRef8Data::topoChange().

Here is the caller graph for this function:

◆ pointsWriteOpt()

Foam::IOobject::writeOption pointsWriteOpt ( ) const

Return the points write option.

Definition at line 1031 of file polyMesh.C.

◆ facesWriteOpt()

Foam::IOobject::writeOption facesWriteOpt ( ) const

Return the points write option.

Definition at line 1037 of file polyMesh.C.

◆ setPointsInstance()

void setPointsInstance ( const fileName inst)

Set the instance for the points files.

Definition at line 58 of file polyMeshIO.C.

References IOobject::AUTO_WRITE, Foam::endl(), and InfoInFunction.

Here is the call graph for this function:

◆ setInstance()

void setInstance ( const fileName inst)

Set the instance for mesh files.

Definition at line 78 of file polyMeshIO.C.

References IOobject::AUTO_WRITE, Foam::endl(), and InfoInFunction.

Referenced by snappyLayerDriver::addLayers(), meshRefinement::mergePatchFacesUndo(), Foam::polyMeshZipUpCells(), polyMesh::swap(), and polyMesh::topoChange().

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

◆ points()

const Foam::pointField & points ( ) const
virtual

Return raw points.

Implements primitiveMesh.

Definition at line 1360 of file polyMesh.C.

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

Referenced by snappyLayerDriver::addLayers(), polyTopoChange::addMesh(), waveAlphaFvPatchScalarField::alphan(), meshRefinement::calculateEdgeWeights(), polyTopoChange::changeMesh(), layerAdditionRemoval::changeTopology(), polyMeshTetDecomposition::checkFaceTets(), motionSmootherAlgo::checkMesh(), pointZone::checkParallelSync(), timeVaryingMappedFixedValuePointPatchField< Type >::checkTable(), pointLinear< Type >::correction(), cutPolyIsoSurface::cutPolyIsoSurface(), cellsToCells::distributeMesh(), tetIndices::faceTri(), faceCorrectedSnGrad< Type >::fullGradCorrection(), PatchTools::gatherAndMerge(), globalIndexAndTransform::globalIndexAndTransform(), FreeStream< CloudType >::inflow(), Foam::levelSetFraction(), meshRefinement::makePatch(), cellsToCells::maskCells(), momentOfInertia::meshInertia(), meshTriangulation::meshTriangulation(), polyMeshTetDecomposition::minQuality(), Moment< Type >::Moment(), movingCone::movingCone(), treeDataCell::findIntersectOp::operator()(), tetOverlapVolume::overlappingCells(), treeDataCell::overlaps(), mappedExtrudedPatchBase::patchLocalPoints(), pointMVCWeight::pointMVCWeight(), Foam::polyMeshZipUpCells(), fvMeshDistribute::printMeshInfo(), nonConformalCyclicPolyPatch::ray(), nonConformalCyclicPolyPatch::rays(), repatchMesh::read(), mappedInternalPatchBase::samplePoints(), motionSmootherAlgo::setDisplacement(), perfectInterface::setRefinement(), meshRefinement::testSyncPointList(), tetIndices::tet(), cellsToCells::tgtMeshSendCells(), triSurfaceTools::triangulate(), triSurfaceTools::triangulateFaceCentre(), cellsToCells::trimLocalTgt(), waveVelocityFvPatchVectorField::Un(), cellMotionFvPatchField< Type >::updateCoeffs(), pointEdgePoint::updateEdge(), pointEdgePoint::updatePoint(), Implicit< CloudType >::velocityCorrection(), wallLayerCells::wallLayerCells(), and FacePostProcessing< CloudType >::write().

Here is the call graph for this function:

◆ faces()

const Foam::faceList & faces ( ) const
virtual

Return raw faces.

Implements primitiveMesh.

Definition at line 1373 of file polyMesh.C.

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

Referenced by singleProcessorFaceSetsConstraint::add(), polyTopoChange::addMesh(), singleProcessorFaceSetsConstraint::apply(), faceZone::calcFaceZonePatch(), pointMVCWeight::calcWeights(), polyMeshTetDecomposition::cellTetIndices(), layerAdditionRemoval::changeTopology(), Foam::dynamicMeshCheck::checkFaceAngles(), Foam::dynamicMeshCheck::checkFaceFlatness(), Foam::dynamicMeshCheck::checkFacePyramids(), Foam::dynamicMeshCheck::checkFaceTet(), polyMeshTetDecomposition::checkFaceTets(), Foam::dynamicMeshCheck::checkFaceTwist(), edgeCollapser::checkMeshQuality(), Foam::dynamicMeshCheck::checkTriangleTwist(), particle::correctAfterProcessorTransfer(), pointLinear< Type >::correction(), cutPolyIsoSurface::cutPolyIsoSurface(), decompositionMethod::decompose(), cellsToCells::distributeMesh(), snappySnapDriver::doSnap(), polyMeshTetDecomposition::faceTetIndices(), tetIndices::faceTriIs(), polyMeshTetDecomposition::findBasePoint(), polyMeshTetDecomposition::findFaceBasePts(), polyMeshTetDecomposition::findSharedBasePoint(), polyMeshTetDecomposition::findTet(), faceCorrectedSnGrad< Type >::fullGradCorrection(), snappySnapDriver::getZoneSurfacePoints(), particle::hitCyclicPatch(), meshRefinement::makePatch(), cellsToCells::maskCells(), MeshedSurface< Face >::MeshedSurface(), meshTriangulation::meshTriangulation(), polyMeshTetDecomposition::minQuality(), multiSolidBodyMotionSolver::multiSolidBodyMotionSolver(), treeDataCell::findIntersectOp::operator()(), treeDataCell::overlaps(), pointMVCWeight::pointMVCWeight(), Foam::polyMeshUnMergeCyclics(), Foam::polyMeshZipUpCells(), particle::procTetPt(), refiner::refiner(), perfectInterface::setRefinement(), solidBodyMotionSolver::solidBodyMotionSolver(), syncTools::syncEdgeMap(), cellsToCells::tgtMeshSendCells(), cellsToCells::trimLocalTgt(), directionInfo::updateCell(), layerInfo::updateFace(), Implicit< CloudType >::velocityCorrection(), and wallLayerCells::wallLayerCells().

Here is the call graph for this function:

◆ faceOwner()

const Foam::labelList & faceOwner ( ) const
virtual

Return face owner.

Implements primitiveMesh.

Definition at line 1386 of file polyMesh.C.

Referenced by Flux< CloudType, Derived >::accumulate(), refinementHistory::add(), polyTopoChange::addMesh(), refinementHistory::apply(), preserveBafflesConstraint::apply(), preserveFaceZonesConstraint::apply(), singleProcessorFaceSetsConstraint::apply(), snappySnapDriver::avgCellCentres(), decompositionMethod::calcCellCells(), Foam::dynamicMeshCheck::checkFaceDotProduct(), Foam::dynamicMeshCheck::checkFacePyramids(), Foam::dynamicMeshCheck::checkFaceSkewness(), Foam::dynamicMeshCheck::checkFaceTets(), polyMeshTetDecomposition::checkFaceTets(), Foam::dynamicMeshCheck::checkFaceTwist(), Foam::dynamicMeshCheck::checkFaceWeights(), Foam::dynamicMeshCheck::checkNonOrtho(), Foam::dynamicMeshCheck::checkVolRatio(), particle::correctAfterNonConformalCyclicTransfer(), decompositionMethod::decompose(), multiLevelDecomp::decompose(), fvMeshDistribute::distribute(), cellsToCells::distributeMesh(), nonConformalFvPatch::faceCells(), polyMeshTools::faceOrthogonality(), polyMeshTools::faceSkewness(), tetIndices::faceTriIs(), polyMeshTools::faceWeights(), polyMeshTetDecomposition::findBasePoint(), polyMeshTetDecomposition::findFaceBasePts(), polyMeshTetDecomposition::findSharedBasePoint(), cellPointWeight::findTriangle(), Foam::dynamicMeshCheck::getAffectedCells(), particle::hitCyclicPatch(), FreeStream< CloudType >::inflow(), meshRefinement::mergePatchFacesUndo(), meshTriangulation::meshTriangulation(), MGridGenGAMGAgglomeration::MGridGenGAMGAgglomeration(), Foam::polyMeshUnMergeCyclics(), particle::procTetPt(), constSolidThermo::readProperty(), refiner::refiner(), SloanRenumber::renumber(), MPLIC::setCellAlphaf(), patchInjectionBase::setPositionAndCell(), perfectInterface::setRefinement(), cellsToCells::trimLocalTgt(), cellsToCellsStabilisation::update(), layerInfo::updateCell(), layerInfo::updateFace(), and polyMeshTools::volRatio().

◆ faceNeighbour()

◆ oldPoints()

const Foam::pointField & oldPoints ( ) const
virtual

Return old points for mesh motion.

Implements primitiveMesh.

Definition at line 1398 of file polyMesh.C.

References Foam::exit(), Foam::FatalError, and FatalErrorInFunction.

Referenced by tetIndices::oldFaceTri(), nonConformalCyclicPolyPatch::ray(), nonConformalCyclicPolyPatch::rays(), and movingWallVelocityFvPatchVectorField::updateCoeffs().

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

◆ oldCellCentres()

const Foam::pointField & oldCellCentres ( ) const
virtual

Return old cell centres for mesh motion.

Implements primitiveMesh.

Definition at line 1416 of file polyMesh.C.

References Foam::exit(), Foam::FatalError, and FatalErrorInFunction.

Referenced by Cloud< ParticleType >::Cloud().

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

◆ upToDatePoints()

bool upToDatePoints ( const regIOobject io) const

Return true if io is up-to-date with points.

Definition at line 1436 of file polyMesh.C.

References regIOobject::upToDate().

Here is the call graph for this function:

◆ setUpToDatePoints()

void setUpToDatePoints ( regIOobject io) const

Set io to be up-to-date with points.

Definition at line 1442 of file polyMesh.C.

References regIOobject::eventNo().

Here is the call graph for this function:

◆ boundaryMesh()

const polyBoundaryMesh& boundaryMesh ( ) const
inline

Return boundary mesh.

Definition at line 405 of file polyMesh.H.

Referenced by Flux< CloudType, Derived >::accumulate(), preservePatchesConstraint::add(), fvMeshAdder::add(), polyMeshAdder::add(), snappyLayerDriver::addLayers(), polyTopoChange::addMesh(), fvMeshTools::addPatch(), preserveFaceZonesConstraint::apply(), preservePatchesConstraint::apply(), decompositionMethod::calcCellCells(), addPatchCellLayer::calcSidePatch(), polyTopoChange::changeMesh(), Foam::dynamicMeshCheck::checkFaceDotProduct(), Foam::dynamicMeshCheck::checkFaceSkewness(), Foam::dynamicMeshCheck::checkFaceTets(), polyMeshTetDecomposition::checkFaceTets(), Foam::dynamicMeshCheck::checkFaceTwist(), Foam::dynamicMeshCheck::checkFaceWeights(), faceZone::checkParallelSync(), timeVaryingMappedFixedValuePointPatchField< Type >::checkTable(), Foam::dynamicMeshCheck::checkVolRatio(), MaxwellianThermal< CloudType >::correct(), MixedDiffuseSpecular< CloudType >::correct(), particle::correctAfterNonConformalCyclicTransfer(), particle::correctAfterParallelTransfer(), particle::correctAfterProcessorTransfer(), structuredDecomp::decompose(), decompositionMethod::decompose(), multiLevelDecomp::decompose(), Foam::determineCoupledFaces(), directions::directions(), fvMeshDistribute::distribute(), cellsToCells::distributeMesh(), snappyLayerDriver::doLayers(), extendedCellToCellStencil::extendedCellToCellStencil(), extendedCellToFaceStencil::extendedCellToFaceStencil(), extendedFaceToCellStencil::extendedFaceToCellStencil(), nonConformalFvPatch::faceCells(), waveAlphaFvPatchScalarField::faceCellSubset(), waveVelocityFvPatchVectorField::faceCellSubset(), polyMeshTools::faceOrthogonality(), FacePostProcessing< CloudType >::FacePostProcessing(), polyMeshTools::faceSkewness(), polyMeshTools::faceWeights(), localPointRegion::findDuplicateFacePairs(), patchProbes::findElements(), polyMeshTetDecomposition::findFaceBasePts(), syncTools::getInternalOrCoupledFaces(), syncTools::getInternalOrMasterFaces(), syncTools::getMasterFaces(), globalIndexAndTransform::globalIndexAndTransform(), streamlinesParticle::hitCyclicPatch(), particle::hitCyclicPatch(), particle::hitFace(), particle::hitNonConformalCyclicPatch(), findCellParticle::hitProcessorPatch(), sampledSetParticle::hitProcessorPatch(), streamlinesParticle::hitProcessorPatch(), particle::hitProcessorPatch(), FreeStream< CloudType >::inflow(), SurfaceFilmModel< CloudType >::inject(), interpolationCellPatchConstrained< Type >::interpolate(), volPointInterpolation::interpolateUnconstrained(), LocalInteraction< CloudType >::LocalInteraction(), localPointRegion::localPointRegion(), polyTopoChange::makeMesh(), meshRefinement::makePatch(), snappyLayerDriver::mergePatchFacesUndo(), meshToMesh::meshToMesh(), meshTriangulation::meshTriangulation(), mappedInternalPatchBase::nbrMesh(), mappedPatchBase::nbrMesh(), mappedPatchBase::nbrPolyPatch(), ParticleErosion< CloudType >::ParticleErosion(), particle::patch(), patchInjectionBase::patchInjectionBase(), patchInternalField::patchInternalField(), mappedExtrudedPatchBase::patchLocalPoints(), PatchPostProcessing< CloudType >::PatchPostProcessing(), nonConformalFvPatch::polyFaces(), Foam::polyMeshUnMergeCyclics(), Foam::polyMeshZipUpCells(), polyTopoChange::polyTopoChange(), powerLawLopesdaCostaZone::powerLawLopesdaCostaZone(), particle::prepareForNonConformalCyclicTransfer(), repatchMesh::read(), ensightParts::recalculate(), structuredRenumber::renumber(), SloanRenumber::renumber(), snappySnapDriver::repatchToSurface(), GeometricBoundaryField< Type, PatchField, GeoMesh >::reset(), triSurfaceMesh::sampleField(), mappedInternalPatchBase::samplePoints(), patchInjectionBase::setPositionAndCell(), perfectInterface::setRefinement(), singleCellFvMesh::singleCellFvMesh(), fvMesh::swap(), syncTools::swapBoundaryCellList(), syncTools::swapBoundaryCellPositions(), syncTools::syncBoundaryFaceList(), syncTools::syncEdgeMap(), syncTools::syncFaceList(), syncTools::syncPointMap(), FreeStream< CloudType >::topoChange(), patchInjectionBase::topoChange(), attachDetach::topoChange(), perfectInterface::topoChange(), slidingInterface::topoChange(), movingWallVelocityFvPatchVectorField::updateCoeffs(), noSlipFvPatchVectorField::updateCoeffs(), surfaceDisplacementPointPatchVectorField::updateCoeffs(), Implicit< CloudType >::velocityCorrection(), polyMeshTools::volRatio(), wallLayerCells::wallLayerCells(), WallLocalSpringSliderDashpot< CloudType >::WallLocalSpringSliderDashpot(), PatchPostProcessing< CloudType >::write(), and Foam::zeroDimensionalFvMesh().

◆ bounds()

const boundBox& bounds ( ) const
inline

Return mesh bounding box.

Definition at line 411 of file polyMesh.H.

Referenced by motionSmootherAlgo::checkMesh(), Foam::meshTools::constrainToMeshCentre(), refinementParameters::findCells(), Kmesh::Kmesh(), cellsToCells::maskCells(), and streamlinesParticle::move().

Here is the caller graph for this function:

◆ geometricD()

const Foam::Vector< Foam::label > & geometricD ( ) const

Return the vector of geometric directions in mesh.

Defined according to the presence of empty and wedge patches. 1 indicates unconstrained direction and -1 a constrained direction.

Definition at line 1043 of file polyMesh.C.

Referenced by Foam::meshTools::constrainToMeshCentre(), particle::deviationFromMeshCentre(), FitData< FitDataType, ExtendedStencil, Polynomial >::findFaceDirs(), and radiativeIntensityRay::radiativeIntensityRay().

Here is the caller graph for this function:

◆ nGeometricD()

◆ solutionD()

const Foam::Vector< Foam::label > & solutionD ( ) const

Return the vector of solved-for directions in mesh.

Differs from geometricD in that it includes for wedge cases the circumferential direction in case of swirl. 1 indicates valid direction and -1 an invalid direction.

Definition at line 1060 of file polyMesh.C.

Referenced by MomentumParcel< ParcelType >::calcVelocity(), get_geom_list(), InjectionModel< CloudType >::inject(), InjectionModel< CloudType >::injectSteadyState(), DSMCParcel< ParcelType >::move(), CloudFilmTransfer< CloudType >::splashInteraction(), and fvMesh::validComponents().

Here is the caller graph for this function:

◆ nSolutionD()

Foam::label nSolutionD ( ) const

Return the number of valid solved-for dimensions in the mesh.

Definition at line 1071 of file polyMesh.C.

References Foam::cmptSum().

Referenced by get_geom_list(), get_mesh_dim(), and radiativeIntensityRay::radiativeIntensityRay().

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

◆ tetBasePtIs()

const Foam::labelIOList & tetBasePtIs ( ) const

◆ cellTree()

const Foam::indexedOctree< Foam::treeDataCell > & cellTree ( ) const

Return the cell search tree.

Definition at line 1111 of file polyMesh.C.

References Foam::e, and points.

Referenced by mappedInternalPatchBase::calcMapping(), and tetOverlapVolume::overlappingCells().

Here is the caller graph for this function:

◆ pointZones() [1/2]

◆ faceZones() [1/2]

◆ cellZones() [1/2]

◆ globalData()

◆ comm() [1/2]

Foam::label comm ( ) const

Return communicator used for parallel communication.

Definition at line 1580 of file polyMesh.C.

Referenced by fvMesh::comm(), and processorPolyPatch::comm().

Here is the caller graph for this function:

◆ comm() [2/2]

Foam::label & comm ( )

Return communicator used for parallel communication.

Definition at line 1586 of file polyMesh.C.

◆ thisDb()

const objectRegistry& thisDb ( ) const
inline

Return the object registry.

Definition at line 468 of file polyMesh.H.

Referenced by fvMesh::thisDb().

Here is the caller graph for this function:

◆ moving()

◆ topoChanged()

bool topoChanged ( ) const
inline

Has the mesh topology changed this time-step.

Definition at line 483 of file polyMesh.H.

References polyMesh::topoChanged_.

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

Here is the caller graph for this function:

◆ changing()

◆ setPoints()

void setPoints ( const pointField newPoints)
virtual

Reset the points.

without storing old points or returning swept volumes

Reimplemented in fvMesh.

Definition at line 1448 of file polyMesh.C.

References primitiveMesh::clearGeom(), Foam::endl(), InfoInFunction, Foam::name(), and Foam::Zero.

Referenced by fvMesh::setPoints().

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

◆ movePoints()

Foam::tmp< Foam::scalarField > movePoints ( const pointField newPoints)
virtual

Move points, returns volumes swept by faces in motion.

Reimplemented in fvMesh.

Definition at line 1490 of file polyMesh.C.

References Foam::endl(), InfoInFunction, primitiveMesh::movePoints(), Foam::name(), timeIndex, and Foam::Zero.

Referenced by fvMesh::movePoints().

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

◆ resetMotion()

void resetMotion ( ) const

Reset motion.

Definition at line 1554 of file polyMesh.C.

Referenced by polyMeshAdder::add().

Here is the caller graph for this function:

◆ pointZones() [2/2]

meshPointZones& pointZones ( )
inline

Return non-const access to the pointZones.

Definition at line 509 of file polyMesh.H.

◆ faceZones() [2/2]

meshFaceZones& faceZones ( )
inline

Return non-const access to the faceZones.

Definition at line 515 of file polyMesh.H.

◆ cellZones() [2/2]

meshCellZones& cellZones ( )
inline

Return non-const access to the cellZones.

Definition at line 521 of file polyMesh.H.

◆ addPatches()

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

Add boundary patches.

Definition at line 1137 of file polyMesh.C.

References Foam::abort(), Foam::FatalError, FatalErrorInFunction, forAll, p, List< T >::size(), and Foam::Zero.

Referenced by Foam::polyMeshUnMergeCyclics().

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

◆ addZones()

void addZones ( const List< pointZone * > &  pz,
const List< faceZone * > &  fz,
const List< cellZone * > &  cz 
)

Add mesh zones.

Definition at line 1181 of file polyMesh.C.

References Foam::abort(), IOobject::AUTO_WRITE, Foam::FatalError, FatalErrorInFunction, forAll, and List< T >::size().

Referenced by polyTopoChange::makeMesh().

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

◆ 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 in fvMesh.

Definition at line 1277 of file polyMesh.C.

References meshObjects::clearUpto(), polyPatch::clone(), and UpdateableMeshObject< Mesh >::topoChange().

Referenced by polyMeshAdder::add(), and fvMesh::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 in fvMesh.

Definition at line 1239 of file polyMesh.C.

References meshObjects::clearUpto(), and PatchMeshObject< Mesh >::reorderPatches().

Referenced by polyMeshAdder::add(), and fvMesh::reorderPatches().

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

◆ readUpdate()

◆ topoChange()

◆ mapMesh()

void mapMesh ( const polyMeshMap map)
virtual

Update from another mesh using the given map.

Reimplemented in fvMesh.

Definition at line 128 of file polyMeshUpdate.C.

Referenced by fvMesh::mapMesh().

Here is the caller graph for this function:

◆ distribute()

void distribute ( const polyDistributionMap map)
virtual

Redistribute or update using the given distribution map.

Reimplemented in fvMesh.

Definition at line 135 of file polyMeshUpdate.C.

Referenced by fvMesh::distribute().

Here is the caller graph for this function:

◆ removeBoundary()

void removeBoundary ( )

Remove boundary patches.

Definition at line 36 of file polyMeshClear.C.

References PtrList< T >::clear(), polyMesh::clearOut(), Foam::endl(), InfoInFunction, and PtrList< T >::setSize().

Referenced by Foam::polyMeshUnMergeCyclics(), and fvMesh::removeFvBoundary().

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

◆ resetPrimitives()

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.

(so does e.g. parallel communication). If not use validBoundary=false

Definition at line 699 of file polyMesh.C.

References Foam::abort(), Foam::exit(), Foam::FatalError, FatalErrorInFunction, forAll, Foam::max(), Foam::min(), Foam::name(), Foam::notNull(), nPoints, patchi, points, Foam::returnReduce(), and List< T >::size().

Referenced by polyMeshAdder::add(), polyTopoChange::changeMesh(), and Foam::polyMeshZipUpCells().

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

◆ swap()

◆ clearGeom()

void clearGeom ( )

Clear geometry.

Definition at line 53 of file polyMeshClear.C.

References primitiveMesh::clearGeom(), Foam::endl(), InfoInFunction, and Foam::Zero.

Here is the call graph for this function:

◆ clearAddressing()

void clearAddressing ( const bool  isMeshUpdate = false)

Clear addressing.

Definition at line 77 of file polyMeshClear.C.

References primitiveMesh::clearAddressing(), meshObjects::clearUpto(), Foam::endl(), InfoInFunction, and Foam::Zero.

Referenced by polyMesh::swap().

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

◆ clearOut()

void clearOut ( )

Clear all geometry and addressing unnecessary for CFD.

Definition at line 150 of file polyMeshClear.C.

Referenced by fvMesh::clearOut(), Foam::polyMeshZipUpCells(), and polyMesh::removeBoundary().

Here is the caller graph for this function:

◆ clearPrimitives()

void clearPrimitives ( )

Clear primitive data (points, faces and cells)

Definition at line 137 of file polyMeshClear.C.

◆ clearTetBasePtIs()

void clearTetBasePtIs ( )

Clear tet base points.

Definition at line 157 of file polyMeshClear.C.

References Foam::endl(), and InfoInFunction.

Here is the call graph for this function:

◆ clearCellTree()

void clearCellTree ( )

Clear cell tree data.

Definition at line 168 of file polyMeshClear.C.

References Foam::endl(), and InfoInFunction.

Here is the call graph for this function:

◆ removeFiles() [1/2]

void removeFiles ( const fileName instanceDir) const

Remove all files from mesh instance.

Definition at line 1592 of file polyMesh.C.

References Foam::isDir(), fileName::path(), Foam::rm(), and Foam::rmDir().

Referenced by meshReader::writeMesh().

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

◆ removeFiles() [2/2]

void removeFiles ( ) const

Remove all files from mesh instance()

Definition at line 1616 of file polyMesh.C.

Referenced by polyMesh::polyMesh().

Here is the caller graph for this function:

◆ checkFaceOrthogonality()

bool checkFaceOrthogonality ( const bool  report = false,
labelHashSet setPtr = nullptr 
) const
virtual

◆ checkFaceSkewness()

bool checkFaceSkewness ( const bool  report = false,
labelHashSet setPtr = nullptr 
) const
virtual

Check face skewness.

Definition at line 163 of file polyMeshCheck.C.

References Foam::endl(), polyMeshTools::faceSkewness(), forAll, syncTools::getMasterFaces(), Foam::Info, InfoInFunction, HashSet< Key, Hash >::insert(), Foam::max(), points, Foam::reduce(), tmp< T >::ref(), Foam::skew(), and Foam::polyMeshCheck::skewThreshold.

Referenced by Foam::polyMeshCheck::checkGeometry().

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

◆ checkEdgeAlignment()

bool checkEdgeAlignment ( const bool  report,
const Vector< label > &  directions,
labelHashSet setPtr 
) const
virtual

◆ checkCellDeterminant()

bool checkCellDeterminant ( const bool  report,
labelHashSet setPtr 
) const
virtual

◆ checkFaceWeight()

bool checkFaceWeight ( const bool  report,
const scalar  minWeight = 0.05,
labelHashSet setPtr = nullptr 
) const
virtual

Check for face weights.

Definition at line 463 of file polyMeshCheck.C.

References Foam::endl(), polyMeshTools::faceWeights(), forAll, syncTools::getInternalOrMasterFaces(), Foam::Info, InfoInFunction, HashSet< Key, Hash >::insert(), Foam::min(), Foam::reduce(), and tmp< T >::ref().

Here is the call graph for this function:

◆ checkVolRatio()

bool checkVolRatio ( const bool  report,
const scalar  minRatio = 0.01,
labelHashSet setPtr = nullptr 
) const
virtual

Check for neighbouring cell volumes.

Definition at line 559 of file polyMeshCheck.C.

References cellVols, Foam::endl(), forAll, syncTools::getInternalOrMasterFaces(), Foam::Info, InfoInFunction, HashSet< Key, Hash >::insert(), Foam::min(), Foam::reduce(), tmp< T >::ref(), and polyMeshTools::volRatio().

Here is the call graph for this function:

◆ findCellFacePt()

void findCellFacePt ( const point p,
label celli,
label tetFacei,
label tetPti 
) const

Find the cell, tetFacei and tetPti for point p.

Definition at line 1622 of file polyMesh.C.

References indexedOctree< Type >::findInside(), and p.

Here is the call graph for this function:

◆ findTetFacePt()

void findTetFacePt ( const label  celli,
const point p,
label tetFacei,
label tetPti 
) const

Find the tetFacei and tetPti for point p in celli.

tetFacei and tetPtI are set to -1 if not found

Definition at line 1647 of file polyMesh.C.

References tetIndices::face(), polyMeshTetDecomposition::findTet(), p, and tetIndices::tetPt().

Here is the call graph for this function:

◆ pointInCell()

bool pointInCell ( const point p,
label  celli,
const cellDecomposition  decompMode = CELL_TETS 
) const

Test if point p is in the celli.

Definition at line 1663 of file polyMesh.C.

References triangle< Point, PointRef >::area(), cells, triangle< Point, PointRef >::centre(), f(), tetIndices::faceTri(), forAll, p, primitiveMesh::pointInCell(), points, and List< T >::size().

Referenced by treeDataCell::contains(), and cellsToCells::srcToTgtPoint().

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

◆ findCell()

Foam::label findCell ( const point p,
const cellDecomposition  decompMode = CELL_TETS 
) const

Find cell enclosing this location and return index.

If not found -1 is returned

Definition at line 1773 of file polyMesh.C.

References p, and UPstream::parRun().

Referenced by refinementParameters::findCells(), probes::findElements(), and meshRefinement::findRegion().

Here is the call graph for this function:
Here is the caller 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.

Reimplemented from objectRegistry.

Reimplemented in fvMesh.

Definition at line 518 of file polyMeshIO.C.

References Foam::name(), IOobject::NO_WRITE, IOobject::objectPath(), UPstream::parRun(), Foam::rm(), Foam::vtkWriteOps::write(), and objectRegistry::writeObject().

Referenced by meshReader::writeMesh(), and fvMesh::writeObject().

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

◆ operator=()

void operator= ( const polyMesh )
delete

Disallow default bitwise assignment.

Member Data Documentation

◆ moving_

bool moving_
protected

Member data pending transfer to fvMesh.

Is the mesh moving

Definition at line 247 of file polyMesh.H.

Referenced by polyMesh::moving().

◆ topoChanged_

bool topoChanged_
protected

Has the mesh topology changed.

Definition at line 250 of file polyMesh.H.

Referenced by polyMesh::topoChanged().

◆ defaultRegion

Foam::word defaultRegion = "region0"
static

Return the default region name.

Definition at line 268 of file polyMesh.H.

Referenced by writeFile::baseFileDir(), regIOobject::checkIn(), meshReader::mesh(), probes::prepare(), layerAverage::write(), and streamlines::write().

◆ meshSubDir


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