66 class polyTopoChangeMap;
68 class polyDistributionMap;
69 class polyMeshTetDecomposition;
71 template<
class Type>
class indexedOctree;
133 bool clearedPrimitives_;
180 mutable label curMotionTimeIndex_;
189 mutable bool storeOldCellCentres_;
201 void calcDirections()
const;
205 void calcCellShapes()
const;
236 label& defaultPatchStart,
287 const bool syncPar =
true
299 const bool syncPar =
true
311 const word& defaultBoundaryPatchName,
312 const word& defaultBoundaryPatchType,
313 const wordList& boundaryPatchPhysicalTypes,
314 const bool syncPar =
true
327 const word& defaultBoundaryPatchName,
328 const word& defaultBoundaryPatchType,
329 const bool syncPar =
true
529 const bool validBoundary =
true
544 const label insertPatchi,
547 const word& defaultPatchFieldType,
548 const bool validBoundary
556 const bool validBoundary
586 const bool validBoundary =
true
626 const bool report =
false,
633 const bool report =
false,
655 const scalar minWeight = 0.05,
663 const scalar minRatio = 0.01,
714 const bool write =
true
A primitive field of type <Type> with automated input and output.
IOobject defines the attributes of an object for which implicit objectRegistry management is supporte...
writeOption
Enumeration defining the write options.
streamFormat
Enumeration for the format of data in the stream.
compressionType
Enumeration for the format of data in the stream.
A templated 1D list of pointers to objects of type <T>, where the size of the array is known and used...
An auto-pointer similar to the STL auto_ptr but with automatic casting to a reference to the type and...
A bounding box defined in terms of the points at its extremities.
A list of keyword definitions, which are a keyword followed by any number of values (e....
Set of directions for each cell in the mesh. Either uniform and size=1 or one set of directions per c...
A class for handling file names.
Various mesh related information for a parallel run. Upon construction, constructs all info using par...
Non-pointer based hierarchical recursive searching.
Registry of regIOobjects.
Class containing mesh-to-mesh mapping information after a mesh distribution where we send parts of me...
Class containing mesh-to-mesh mapping information.
Mesh consisting of general polyhedral cells.
virtual ~polyMesh()
Destructor.
void findCellFacePt(const point &p, label &celli, label &tetFacei, label &tetPti) const
Find the cell, tetFacei and tetPti for point p.
bool topoChanged_
Has the mesh topology changed.
const fileName & facesInstance() const
Return the current instance directory for faces.
label nGeometricD() const
Return the number of valid geometric dimensions in the mesh.
static word meshSubDir
Return the mesh sub-directory name (usually "polyMesh")
const meshFaceZones & faceZones() const
Return face zones.
fileName meshDir() const
Return the local mesh directory (dbDir()/meshSubDir)
virtual tmp< scalarField > movePoints(const pointField &)
Move points, returns volumes swept by faces in motion.
void clearCellTree()
Clear cell tree data.
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.
cellDecomposition
Enumeration defining the decomposition of the cell for.
bool moving_
Member data pending transfer to fvMesh.
IOobject::writeOption facesWriteOpt() const
Return the points write option.
virtual const faceList & faces() const
Return raw faces.
void clearGeom()
Clear geometry.
virtual bool checkFaceSkewness(const bool report=false, labelHashSet *setPtr=nullptr) const
Check face skewness.
readUpdateState
Enumeration defining the state of the mesh after a read update.
virtual const fileName & dbDir() const
Override the objectRegistry dbDir for a single-region case.
label findCell(const point &p, const cellDecomposition=CELL_TETS) const
Find cell enclosing this location and return index.
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.
virtual const labelList & faceOwner() const
Return face owner.
const labelIOList & tetBasePtIs() const
Return the tetBasePtIs.
void operator=(const polyMesh &)=delete
Disallow default bitwise assignment.
void findTetFacePt(const label celli, const point &p, label &tetFacei, label &tetPti) const
Find the tetFacei and tetPti for point p in celli.
virtual void topoChange(const polyTopoChangeMap &)
Update topology using the given map.
TypeName("polyMesh")
Runtime type information.
const globalMeshData & globalData() const
Return parallel info.
static word defaultRegion
Return the default region name.
const objectRegistry & thisDb() const
Return the object registry.
bool changing() const
Is mesh changing.
void clearPrimitives()
Clear primitive data (points, faces and cells)
bool pointInCell(const point &p, label celli, const cellDecomposition=CELL_TETS) const
Test if point p is in the celli.
label nSolutionD() const
Return the number of valid solved-for dimensions in the mesh.
polyBoundaryMesh BoundaryMesh
virtual const pointField & oldPoints() const
Return old points for mesh motion.
void swap(polyMesh &)
Swap mesh.
const fileName & pointsInstance() const
Return the current instance directory for points.
label comm() const
Return communicator used for parallel communication.
polyMesh(const IOobject &io)
Construct from IOobject.
const meshPointZones & pointZones() const
Return point zones.
void resetMotion() const
Reset motion.
virtual bool writeObject(IOstream::streamFormat fmt, IOstream::versionNumber ver, IOstream::compressionType cmp, const bool write=true) const
Write the underlying polyMesh.
virtual void mapMesh(const polyMeshMap &)
Update from another mesh using the given map.
readUpdateState readUpdate()
Update the mesh based on the mesh files saved in.
const polyBoundaryMesh & boundaryMesh() const
Return boundary mesh.
virtual const labelList & faceNeighbour() const
Return face neighbour.
virtual bool checkFaceOrthogonality(const bool report=false, labelHashSet *setPtr=nullptr) const
Check non-orthogonality.
void addPatches(const List< polyPatch * > &, const bool validBoundary=true)
Add boundary patches.
bool topoChanged() const
Has the mesh topology changed this time-step.
bool upToDatePoints(const regIOobject &io) const
Return true if io is up-to-date with points.
void clearTetBasePtIs()
Clear tet base points.
virtual void distribute(const polyDistributionMap &map)
Redistribute or update using the given distribution map.
void setPointsInstance(const fileName &)
Set the instance for the points files.
void addZones(const List< pointZone * > &pz, const List< faceZone * > &fz, const List< cellZone * > &cz)
Add mesh zones.
virtual bool checkEdgeAlignment(const bool report, const Vector< label > &directions, labelHashSet *setPtr) const
Check edge alignment for 1D/2D cases.
virtual const pointField & points() const
Return raw points.
void setUpToDatePoints(regIOobject &io) const
Set io to be up-to-date with points.
const indexedOctree< treeDataCell > & cellTree() const
Return the cell search tree.
IOobject::writeOption pointsWriteOpt() const
Return the points write option.
void removeFiles() const
Remove all files from mesh instance()
void removeBoundary()
Remove boundary patches.
virtual const pointField & oldCellCentres() const
Return old cell centres for mesh motion.
virtual bool checkFaceWeight(const bool report, const scalar minWeight=0.05, labelHashSet *setPtr=nullptr) const
Check for face weights.
virtual void reorderPatches(const labelUList &newToOld, const bool validBoundary)
Reorder and trim existing patches. If validBoundary the new.
void setInstance(const fileName &)
Set the instance for mesh files.
virtual bool checkCellDeterminant(const bool report, labelHashSet *setPtr) const
const boundBox & bounds() const
Return mesh bounding box.
const meshCellZones & cellZones() const
Return cell zones.
void clearOut()
Clear all geometry and addressing unnecessary for CFD.
virtual bool checkVolRatio(const bool report, const scalar minRatio=0.01, labelHashSet *setPtr=nullptr) const
Check for neighbouring cell volumes.
virtual void setPoints(const pointField &)
Reset the points.
const Vector< label > & solutionD() const
Return the vector of solved-for directions in mesh.
bool moving() const
Is mesh moving.
const Vector< label > & geometricD() const
Return the vector of geometric directions in mesh.
A patch is a list of labels that address the faces in the global face list.
Class containing mesh-to-mesh mapping information after a change in polyMesh topology.
Cell-face mesh analysis engine.
const labelListList & pointCells() const
void clearAddressing()
Clear topological data.
const cellList & cells() const
regIOobject is an abstract class derived from IOobject to handle automatic object registration with t...
virtual bool write(const bool write=true) const
Write using setting from DB.
A class for managing temporary objects.
A class for handling words, derived from string.
const dimensionedScalar c
Speed of light in a vacuum.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.