Go to the documentation of this file.
70 class polyMeshTetDecomposition;
72 template<
class Type>
class indexedOctree;
134 bool clearedPrimitives_;
187 mutable label curMotionTimeIndex_;
199 void operator=(
const polyMesh&) =
delete;
208 void calcDirections()
const;
212 void calcCellShapes()
const;
237 label& defaultPatchStart,
246 bool checkFaceOrthogonality
251 const bool detailedReport,
256 bool checkFaceSkewness
263 const bool detailedReport,
267 bool checkEdgeAlignment
275 bool checkCellDeterminant
289 const scalar minWeight,
297 const scalar minRatio,
337 const bool syncPar =
true
348 const bool syncPar =
true
360 const word& defaultBoundaryPatchName,
361 const word& defaultBoundaryPatchType,
362 const wordList& boundaryPatchPhysicalTypes,
363 const bool syncPar =
true
376 const word& defaultBoundaryPatchName,
377 const word& defaultBoundaryPatchType,
378 const bool syncPar =
true
530 return topoChanging_;
536 bool c0 = topoChanging_;
578 const bool validBoundary =
true
585 const bool validBoundary =
true
621 const bool validBoundary =
true
662 virtual bool checkFaceOrthogonality
664 const bool report =
false,
669 virtual bool checkFaceSkewness
671 const bool report =
false,
676 virtual bool checkEdgeAlignment
683 virtual bool checkCellDeterminant
693 const bool report =
false,
694 const bool detailedReport =
false
698 virtual bool checkFaceWeight
701 const scalar minWeight = 0.05,
706 virtual bool checkVolRatio
709 const scalar minRatio = 0.01,
void addPatches(PtrList< polyPatch > &plist, const bool validBoundary=true)
Add boundary patches.
bool changing() const
Is mesh changing (topology changing and/or moving)
virtual const pointField & points() const
Return raw points.
bool topoChanging() const
Is mesh topology changing.
Defines the attributes of an object for which implicit objectRegistry management is supported,...
void resetMotion() const
Reset motion.
cellDecomposition
Enumeration defining the decomposition of the cell for.
A class for handling words, derived from Foam::string.
A class for handling file names.
A primitive field of type <T> with automated input and output.
A polyBoundaryMesh is a polyPatch list with additional search methods and registered IO.
static word defaultRegion
Return the default region name.
void clearAddressing()
Clear topological data.
bool topoChanging(const bool c)
Set the mesh topology to be changing.
A class for managing temporary objects.
bool moving(const bool m)
Set the mesh to be moving.
label nGeometricD() const
Return the number of valid geometric dimensions in the mesh.
virtual tmp< scalarField > movePoints(const pointField &)
Move points, returns volumes swept by faces in motion.
polyBoundaryMesh BoundaryMesh
bool moving() const
Is mesh moving.
label nFaces() const
Number of mesh faces.
virtual const fileName & dbDir() const
Override the objectRegistry dbDir for a single-region case.
const fileName & instance() const
static word meshSubDir
Return the mesh sub-directory name (usually "polyMesh")
void clearCellTree()
Clear cell tree data.
const cellList & cells() const
const fileName & facesInstance() const
Return the current instance directory for faces.
const cellZoneMesh & cellZones() const
Return cell zone mesh.
const polyBoundaryMesh & boundaryMesh() const
Return boundary mesh.
void updateGeom(pointIOField &newPoints, autoPtr< labelIOList > &newTetBasePtIsPtr)
Update geometry; keep topology. Optional new face decomposition.
void clearOut()
Clear all geometry and addressing unnecessary for CFD.
const Vector< label > & solutionD() const
Return the vector of solved-for directions in mesh.
void removeFiles() const
Remove all files from mesh instance()
Set of directions for each cell in the mesh. Either uniform and size=1 or one set of directions per c...
const Vector< label > & geometricD() const
Return the vector of geometric directions in mesh.
bool pointInCell(const point &p, label celli, const cellDecomposition=CELL_TETS) const
Test if point p is in the celli.
Mesh consisting of general polyhedral cells.
const faceZoneMesh & faceZones() const
Return face zone mesh.
Registry of regIOobjects.
cellZoneMesh & cellZones()
Return non-const access to the cellZones.
const fileName & pointsInstance() const
Return the current instance directory for points.
writeOption
Enumeration defining the write options.
Info<< "Creating boundary faces"<< endl;boundary.setSize(b.boundaryPatches().size());forAll(boundary, patchi) { faceList faces(b.boundaryPatches()[patchi].size());forAll(faces, facei) { faces[facei]=face(b.boundaryPatches()[patchi][facei]);} boundary[patchi].transfer(faces);} points.transfer(const_cast< pointField & >b.points()));}Info<< "Creating patch dictionaries"<< endl;wordList patchNames(boundary.size());forAll(patchNames, patchi){ patchNames[patchi]=polyPatch::defaultName(patchi);}PtrList< dictionary > boundaryDicts(boundary.size())
void clearPrimitives()
Clear primitive data (points, faces and cells)
const pointZoneMesh & pointZones() const
Return point zone mesh.
faceZoneMesh & faceZones()
Return non-const access to the faceZones.
virtual void updateMesh(const mapPolyMesh &mpm)
Update the mesh corresponding to given map.
void clearTetBasePtIs()
Clear tet base points.
virtual const labelList & faceOwner() const
Return face owner.
void resetPrimitives(autoPtr< pointField > &&points, autoPtr< faceList > &&faces, autoPtr< labelList > &&owner, autoPtr< labelList > &&neighbour, const labelUList &patchSizes, const labelUList &patchStarts, const bool validBoundary=true)
Reset mesh primitive data. Assumes all patch info correct.
Non-pointer based hierarchical recursive searching.
const objectRegistry & thisDb() const
Return the object registry.
const scalarField & cellVols
A list of pointers to objects of type <T>, with allocation/deallocation management of the pointers....
label comm() const
Return communicator used for parallel communication.
virtual const pointField & oldPoints() const
Return old points for mesh motion.
Various mesh related information for a parallel run. Upon construction, constructs all info using par...
void findCellFacePt(const point &p, label &celli, label &tetFacei, label &tetPti) const
Find the cell, tetFacei and tetPti for point p.
virtual bool upToDatePoints(const regIOobject &io) const
Return true if io is up-to-date with points.
fileName meshDir() const
Return the local mesh directory (dbDir()/meshSubDir)
void removeBoundary()
Remove boundary patches.
void clearGeom()
Clear geometry.
readUpdateState
Enumeration defining the state of the mesh after a read update.
label nSolutionD() const
Return the number of valid solved-for dimensions in the mesh.
const boundBox & bounds() const
Return mesh bounding box.
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
const indexedOctree< treeDataCell > & cellTree() const
Return the cell search tree.
virtual ~polyMesh()
Destructor.
regIOobject is an abstract class derived from IOobject to handle automatic object registration with t...
label findCell(const point &p, const cellDecomposition=CELL_TETS) const
Find cell enclosing this location and return index.
virtual const faceList & faces() const
Return raw faces.
pointZoneMesh & pointZones()
Return non-const access to the pointZones.
TypeName("polyMesh")
Runtime type information.
A bounding box defined in terms of min/max extrema points.
Class containing mesh-to-mesh mapping information after a change in polyMesh topology.
const dimensionedScalar c
Speed of light in a vacuum.
Smooth ATC in cells having a point to a set of patches supplied by type.
virtual bool checkMeshMotion(const pointField &newPoints, const bool report=false, const bool detailedReport=false) const
Check mesh motion for correctness given motion points.
const globalMeshData & globalData() const
Return parallel info.
void findTetFacePt(const label celli, const point &p, label &tetFacei, label &tetPti) const
Find the tetFacei and tetPti for point p in celli.
void addZones(const List< pointZone * > &pz, const List< faceZone * > &fz, const List< cellZone * > &cz)
Add mesh zones.
virtual bool dynamic() const
Is mesh dynamic.
virtual void setUpToDatePoints(regIOobject &io) const
Set io to be up-to-date with points.
void setInstance(const fileName &instance, const IOobject::writeOption wOpt=IOobject::AUTO_WRITE)
Set the instance for mesh files.
virtual const labelList & faceNeighbour() const
Return face neighbour.
virtual readUpdateState readUpdate()
Update the mesh based on the mesh files saved in.
A class representing the concept of 0 (zero) that can be used to avoid manipulating objects known to ...
const vectorField & faceAreas() const
const labelIOList & tetBasePtIs() const
Return the tetBasePtIs.
Cell-face mesh analysis engine.