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,
245 bool checkFaceOrthogonality
250 const bool detailedReport,
255 bool checkFaceSkewness
262 const bool detailedReport,
266 bool checkEdgeAlignment
274 bool checkCellDeterminant
288 const scalar minWeight,
296 const scalar minRatio,
346 const bool syncPar =
true 358 const bool syncPar =
true 370 const word& defaultBoundaryPatchName,
371 const word& defaultBoundaryPatchType,
372 const wordList& boundaryPatchPhysicalTypes,
373 const bool syncPar =
true 386 const word& defaultBoundaryPatchName,
387 const word& defaultBoundaryPatchType,
388 const bool syncPar =
true 578 const bool validBoundary =
true 593 const label insertPatchi,
596 const word& defaultPatchFieldType,
597 const bool validBoundary
605 const bool validBoundary
635 const bool validBoundary =
true 673 virtual bool checkFaceOrthogonality
675 const bool report =
false,
680 virtual bool checkFaceSkewness
682 const bool report =
false,
687 virtual bool checkEdgeAlignment
694 virtual bool checkCellDeterminant
704 const bool report =
false,
705 const bool detailedReport =
false 709 virtual bool checkFaceWeight
712 const scalar minWeight = 0.05,
717 virtual bool checkVolRatio
720 const scalar minRatio = 0.01,
771 const bool write =
true const polyBoundaryMesh & boundaryMesh() const
Return boundary mesh.
bool moving_
Member data pending transfer to fvMesh.
virtual void reorderPatches(const labelUList &newToOld, const bool validBoundary)
Reorder and trim existing patches. If validBoundary the new.
bool changing() const
Is mesh changing (topology changing and/or moving)
virtual tmp< scalarField > movePoints(const pointField &)
Move points, returns volumes swept by faces in motion.
writeOption
Enumeration defining the write options.
Class containing mesh-to-mesh mapping information after a mesh distribution where we send parts of me...
void clearAddressing()
Clear topological data.
A class for handling file names.
virtual void distribute(const polyDistributionMap &map)
Redistribute or update using the given distribution map.
bool moving() const
Is mesh moving.
const fileName & facesInstance() const
Return the current instance directory for faces.
const meshCellZones & cellZones() const
Return cell zones.
A list of keyword definitions, which are a keyword followed by any number of values (e...
virtual const labelList & faceNeighbour() const
Return face neighbour.
const labelIOList & tetBasePtIs() const
Return the tetBasePtIs.
void setUpToDatePoints(regIOobject &io) const
Set io to be up-to-date with points.
Cell-face mesh analysis engine.
void resetMotion() const
Reset motion.
Various mesh related information for a parallel run. Upon construction, constructs all info using par...
void clearOut()
Clear all geometry and addressing unnecessary for CFD.
static word meshSubDir
Return the mesh sub-directory name (usually "polyMesh")
const Vector< label > & solutionD() const
Return the vector of solved-for directions in mesh.
Set of directions for each cell in the mesh. Either uniform and size=1 or one set of directions per c...
void reset(const polyMesh &)
Reset mesh.
static word defaultRegion
Return the default region name.
A bounding box defined in terms of the points at its extremities.
void setPointsInstance(const fileName &)
Set the instance for the points files.
const cellList & cells() const
virtual const fileName & dbDir() const
Override the objectRegistry dbDir for a single-region case.
virtual bool writeObject(IOstream::streamFormat fmt, IOstream::versionNumber ver, IOstream::compressionType cmp, const bool write=true) const
Write the underlying polyMesh.
bool pointInCell(const point &p, label celli, const cellDecomposition=CELL_TETS) const
Test if point p is in the celli.
cellDecomposition
Enumeration defining the decomposition of the cell for.
const dimensionedScalar c
Speed of light in a vacuum.
label nGeometricD() const
Return the number of valid geometric dimensions in the mesh.
const meshPointZones & pointZones() const
Return point zones.
virtual const pointField & points() const
Return raw points.
const Vector< label > & geometricD() const
Return the vector of geometric directions in mesh.
bool topoChanged_
Is the mesh topology changing.
const fileName & pointsInstance() const
Return the current instance directory for points.
void removeFiles() const
Remove all files from mesh instance()
void clearPrimitives()
Clear primitive data (points, faces and cells)
A class for handling words, derived from string.
Class containing mesh-to-mesh mapping information after a change in polyMesh topology.
void findCellFacePt(const point &p, label &celli, label &tetFacei, label &tetPti) const
Find the cell, tetFacei and tetPti for point p.
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.
virtual const pointField & oldPoints() const
Return old points for mesh motion.
virtual const labelList & faceOwner() const
Return face owner.
streamFormat
Enumeration for the format of data in the stream.
bool topoChanged() const
Is mesh topology changing.
const globalMeshData & globalData() const
Return parallel info.
virtual const faceList & faces() const
Return raw faces.
label comm() const
Return communicator used for parallel communication.
void addZones(const List< pointZone *> &pz, const List< faceZone *> &fz, const List< cellZone *> &cz)
Add mesh zones.
void addPatches(const List< polyPatch *> &, const bool validBoundary=true)
Add boundary patches.
A 1D vector of objects of type <T>, where the size of the vector is known and can be used for subscri...
const labelListList & pointCells() const
virtual void topoChange(const polyTopoChangeMap &)
Update topology using the given map.
compressionType
Enumeration for the format of data in the stream.
Templated 3D Vector derived from VectorSpace adding construction from 3 components, element access using x(), y() and z() member functions and the inner-product (dot-product) and cross product operators.
void clearGeom()
Clear geometry.
void removeBoundary()
Remove boundary patches.
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 void mapMesh(const polyMeshMap &)
Update from another mesh using the given map.
const scalarField & cellVols
void clearTetBasePtIs()
Clear tet base points.
void setInstance(const fileName &)
Set the instance for mesh files.
label nSolutionD() const
Return the number of valid solved-for dimensions in the mesh.
bool upToDatePoints(const regIOobject &io) const
Return true if io is up-to-date with points.
void operator=(const polyMesh &)=delete
Disallow default bitwise assignment.
TypeName("polyMesh")
Runtime type information.
const indexedOctree< treeDataCell > & cellTree() const
Return the cell search tree.
const boundBox & bounds() const
Return mesh bounding box.
virtual const pointField & oldCellCentres() const
Return old cell centres for mesh motion.
Non-pointer based hierarchical recursive searching.
A templated 1D list of pointers to objects of type <T>, where the size of the array is known and used...
const meshFaceZones & faceZones() const
Return face zones.
const vectorField & faceAreas() const
fileName meshDir() const
Return the local mesh directory (dbDir()/meshSubDir)
void findTetFacePt(const label celli, const point &p, label &tetFacei, label &tetPti) const
Find the tetFacei and tetPti for point p in celli.
label findCell(const point &p, const cellDecomposition=CELL_TETS) const
Find cell enclosing this location and return index.
polyBoundaryMesh BoundaryMesh
virtual ~polyMesh()
Destructor.
regIOobject is an abstract class derived from IOobject to handle automatic object registration with t...
const objectRegistry & thisDb() const
Return the object registry.
An auto-pointer similar to the STL auto_ptr but with automatic casting to a reference to the type and...
Mesh consisting of general polyhedral cells.
readUpdateState
Enumeration defining the state of the mesh after a read update.
virtual bool write(const bool write=true) const
Write using setting from DB.
A class for managing temporary objects.
readUpdateState readUpdate()
Update the mesh based on the mesh files saved in.
Registry of regIOobjects.
A patch is a list of labels that address the faces in the global face list.
virtual void setPoints(const pointField &)
Reset the points.
Class containing mesh-to-mesh mapping information.
IOobject defines the attributes of an object for which implicit objectRegistry management is supporte...
A primitive field of type <T> with automated input and output.
void clearCellTree()
Clear cell tree data.
virtual bool checkMeshMotion(const pointField &newPoints, const bool report=false, const bool detailedReport=false) const
Check mesh motion for correctness given motion points.
polyMesh(const IOobject &io)
Construct from IOobject.