Go to the documentation of this file.
40 #ifndef polyMeshGeometry_H
41 #define polyMeshGeometry_H
76 void updateFaceCentresAndAreas
84 void updateCellCentresAndVols
91 static scalar checkNonOrtho
95 const scalar severeNonorthogonalityThreshold,
100 label& severeNonOrth,
106 static scalar calcSkewness
114 static bool checkFaceTet
118 const scalar minTetQuality,
191 const scalar orthWarn,
196 const List<labelPair>& baffles,
204 const scalar minPyrVol,
209 const List<labelPair>& baffles,
217 const scalar minPyrVol,
223 const List<labelPair>& baffles,
231 const scalar internalSkew,
232 const scalar boundarySkew,
233 const polyMesh&
mesh,
239 const List<labelPair>& baffles,
247 const scalar warnWeight,
248 const polyMesh&
mesh,
253 const List<labelPair>& baffles,
261 const scalar warnRatio,
262 const polyMesh&
mesh,
265 const List<labelPair>& baffles,
274 const polyMesh&
mesh,
286 const scalar minTwist,
300 const scalar minTwist,
313 const scalar minFlatness,
326 const scalar minArea,
352 const scalar orthWarn,
354 const List<labelPair>& baffles,
361 const scalar minPyrVol,
364 const List<labelPair>& baffles,
371 const scalar minTetQuality,
374 const List<labelPair>& baffles,
381 const scalar warnWeight,
383 const List<labelPair>& baffles,
390 const scalar warnRatio,
392 const List<labelPair>& baffles,
408 const scalar minTwist,
417 const scalar minTwist,
426 const scalar minFlatness,
435 const scalar minArea,
443 const scalar warnDet,
List< label > labelList
A List of labels.
vectorField pointField
pointField is a vectorField.
static bool checkFaceDotProduct(const bool report, const scalar orthWarn, const polyMesh &, const vectorField &cellCentres, const vectorField &faceAreas, const labelList &checkFaces, const List< labelPair > &baffles, labelHashSet *setPtr)
See primitiveMesh.
Field< scalar > scalarField
Specialisation of Field<T> for scalar.
ClassName("polyMeshGeometry")
const vectorField & faceAreas() const
gmvFile<< "tracers "<< particles.size()<< nl;for(const passiveParticle &p :particles){ gmvFile<< p.position().x()<< " ";}gmvFile<< nl;for(const passiveParticle &p :particles){ gmvFile<< p.position().y()<< " ";}gmvFile<< nl;for(const passiveParticle &p :particles){ gmvFile<< p.position().z()<< " ";}gmvFile<< nl;forAll(lagrangianScalarNames, i){ word name=lagrangianScalarNames[i];IOField< scalar > s(IOobject(name, runTime.timeName(), cloud::prefix, mesh, IOobject::MUST_READ, IOobject::NO_WRITE))
const scalarField & cellVolumes() const
static bool checkFaceWeights(const bool report, const scalar warnWeight, const polyMesh &mesh, const vectorField &cellCentres, const vectorField &faceCentres, const vectorField &faceAreas, const labelList &checkFaces, const List< labelPair > &baffles, labelHashSet *setPtr)
Interpolation weights (0.5 for regular mesh)
void correct()
Take over properties from mesh.
static bool checkFaceTets(const bool report, const scalar minPyrVol, const polyMesh &, const vectorField &cellCentres, const vectorField &faceCentres, const pointField &p, const labelList &checkFaces, const List< labelPair > &baffles, labelHashSet *)
See primitiveMesh.
polyMeshGeometry(const polyMesh &)
Construct from mesh.
Mesh consisting of general polyhedral cells.
const vectorField & faceCentres() const
static bool checkFaceSkewness(const bool report, const scalar internalSkew, const scalar boundarySkew, const polyMesh &mesh, const pointField &points, const vectorField &cellCentres, const vectorField &faceCentres, const vectorField &faceAreas, const labelList &checkFaces, const List< labelPair > &baffles, labelHashSet *setPtr)
See primitiveMesh.
Field< vector > vectorField
Specialisation of Field<T> for vector.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
static labelList affectedCells(const polyMesh &, const labelList &changedFaces)
Helper function: get affected cells from faces.
static bool checkFaceArea(const bool report, const scalar minArea, const polyMesh &, const vectorField &faceAreas, const labelList &checkFaces, labelHashSet *setPtr)
Small faces.
const polyMesh & mesh() const
static bool checkFaceTwist(const bool report, const scalar minTwist, const polyMesh &, const vectorField &cellCentres, const vectorField &faceAreas, const vectorField &faceCentres, const pointField &p, const labelList &checkFaces, labelHashSet *setPtr)
Triangle (from face-centre decomposition) normal v.s.
static bool checkFaceFlatness(const bool report, const scalar minFlatness, const polyMesh &, const vectorField &faceAreas, const vectorField &faceCentres, const pointField &p, const labelList &checkFaces, labelHashSet *setPtr)
Area of faces v.s. sum of triangle areas.
Updateable mesh geometry and checking routines.
static bool checkFacePyramids(const bool report, const scalar minPyrVol, const polyMesh &, const vectorField &cellCentres, const pointField &p, const labelList &checkFaces, const List< labelPair > &baffles, labelHashSet *)
See primitiveMesh.
static bool checkCellDeterminant(const bool report, const scalar minDet, const polyMesh &, const vectorField &faceAreas, const labelList &checkFaces, const labelList &affectedCells, labelHashSet *setPtr)
Area of internal faces v.s. boundary faces.
HashSet< label, Hash< label > > labelHashSet
A HashSet with label keys and label hasher.
static bool checkTriangleTwist(const bool report, const scalar minTwist, const polyMesh &, const vectorField &faceAreas, const vectorField &faceCentres, const pointField &p, const labelList &checkFaces, labelHashSet *setPtr)
Consecutive triangle (from face-centre decomposition) normals.
const vectorField & cellCentres() const
static bool checkVolRatio(const bool report, const scalar warnRatio, const polyMesh &mesh, const scalarField &cellVolumes, const labelList &checkFaces, const List< labelPair > &baffles, labelHashSet *setPtr)
Cell volume ratio of neighbouring cells (1 for regular mesh)
static bool checkFaceAngles(const bool report, const scalar maxDeg, const polyMesh &mesh, const vectorField &faceAreas, const pointField &p, const labelList &checkFaces, labelHashSet *setPtr)
See primitiveMesh.