Go to the documentation of this file.
70 class polyMeshTetDecomposition;
72 template<
class Type>
class indexedOctree;
133 bool clearedPrimitives_;
186 mutable bool storeOldCellCentres_;
189 mutable label curMotionTimeIndex_;
205 void operator=(
const polyMesh&) =
delete;
214 void calcDirections()
const;
218 void calcCellShapes()
const;
243 label& defaultPatchStart,
252 bool checkFaceOrthogonality
257 const bool detailedReport,
262 bool checkFaceSkewness
269 const bool detailedReport,
273 bool checkEdgeAlignment
281 bool checkCellDeterminant
295 const scalar minWeight,
303 const scalar minRatio,
343 const bool syncPar =
true
354 const bool syncPar =
true
366 const word& defaultBoundaryPatchName,
367 const word& defaultBoundaryPatchType,
368 const wordList& boundaryPatchPhysicalTypes,
369 const bool syncPar =
true
382 const word& defaultBoundaryPatchName,
383 const word& defaultBoundaryPatchType,
384 const bool syncPar =
true
539 return topoChanging_;
545 bool c0 = topoChanging_;
587 const bool validBoundary =
true
594 const bool validBoundary =
true
606 virtual bool init(
const bool doInit);
633 const bool validBoundary =
true
675 virtual bool checkFaceOrthogonality
677 const bool report =
false,
682 virtual bool checkFaceSkewness
684 const bool report =
false,
689 virtual bool checkEdgeAlignment
696 virtual bool checkCellDeterminant
706 const bool report =
false,
707 const bool detailedReport =
false
711 virtual bool checkFaceWeight
714 const scalar minWeight = 0.05,
719 virtual bool checkVolRatio
722 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.
virtual const pointField & oldCellCentres() const
Return old cellCentres (mesh motion)
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 clearOut()
Clear all geometry and addressing unnecessary for CFD.
virtual bool init(const bool doInit)
Initialise all non-demand-driven data.
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 (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.
void updateGeomPoints(pointIOField &&newPoints, autoPtr< labelIOList > &newTetBasePtIsPtr)
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.