Updateable mesh geometry and checking routines. More...
Public Member Functions | |
ClassName ("polyMeshGeometry") | |
polyMeshGeometry (const polyMesh &) | |
Construct from mesh. More... | |
const polyMesh & | mesh () const |
const vectorField & | faceAreas () const |
const vectorField & | faceCentres () const |
const vectorField & | cellCentres () const |
const scalarField & | cellVolumes () const |
void | correct () |
Take over properties from mesh. More... | |
void | correct (const pointField &p, const labelList &changedFaces) |
Recalculate on selected faces. Recalculates cell properties. More... | |
bool | checkFaceDotProduct (const bool report, const scalar orthWarn, const labelList &checkFaces, const List< labelPair > &baffles, labelHashSet *setPtr) const |
bool | checkFacePyramids (const bool report, const scalar minPyrVol, const pointField &p, const labelList &checkFaces, const List< labelPair > &baffles, labelHashSet *setPtr) const |
bool | checkFaceTets (const bool report, const scalar minTetQuality, const pointField &p, const labelList &checkFaces, const List< labelPair > &baffles, labelHashSet *setPtr) const |
bool | checkFaceWeights (const bool report, const scalar warnWeight, const labelList &checkFaces, const List< labelPair > &baffles, labelHashSet *setPtr) const |
bool | checkVolRatio (const bool report, const scalar warnRatio, const labelList &checkFaces, const List< labelPair > &baffles, labelHashSet *setPtr) const |
bool | checkFaceAngles (const bool report, const scalar maxDeg, const pointField &p, const labelList &checkFaces, labelHashSet *setPtr) const |
bool | checkFaceTwist (const bool report, const scalar minTwist, const pointField &p, const labelList &checkFaces, labelHashSet *setPtr) const |
bool | checkTriangleTwist (const bool report, const scalar minTwist, const pointField &p, const labelList &checkFaces, labelHashSet *setPtr) const |
bool | checkFaceFlatness (const bool report, const scalar minFlatness, const pointField &p, const labelList &checkFaces, labelHashSet *setPtr) const |
bool | checkFaceArea (const bool report, const scalar minArea, const labelList &checkFaces, labelHashSet *setPtr) const |
bool | checkCellDeterminant (const bool report, const scalar warnDet, const labelList &checkFaces, const labelList &affectedCells, labelHashSet *setPtr) const |
bool | checkEdgeLength (const bool report, const scalar minEdgeLength, const labelList &checkFaces, labelHashSet *pointSetPtr) const |
Static Public Member Functions | |
static labelList | affectedCells (const polyMesh &, const labelList &changedFaces) |
Helper function: get affected cells from faces. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
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) More... | |
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) More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
static bool | checkFaceArea (const bool report, const scalar minArea, const polyMesh &, const vectorField &faceAreas, const labelList &checkFaces, labelHashSet *setPtr) |
Small faces. More... | |
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. More... | |
static bool | checkEdgeLength (const bool report, const scalar minEdgeLength, const polyMesh &mesh, const labelList &checkFaces, labelHashSet *pointSetPtr) |
Small edges. Optionally collects points of small edges. More... | |
Updateable mesh geometry and checking routines.
Definition at line 51 of file polyMeshGeometry.H.
|
explicit |
Construct from mesh.
Definition at line 330 of file polyMeshGeometry.C.
References polyMeshGeometry::correct().
ClassName | ( | "polyMeshGeometry" | ) |
|
inline |
Definition at line 160 of file polyMeshGeometry.H.
Referenced by motionSmootherAlgo::checkMesh().
|
inline |
Definition at line 165 of file polyMeshGeometry.H.
Referenced by motionSmootherAlgo::checkMesh().
|
inline |
Definition at line 169 of file polyMeshGeometry.H.
Referenced by motionSmootherAlgo::checkMesh().
|
inline |
Definition at line 173 of file polyMeshGeometry.H.
Referenced by motionSmootherAlgo::checkMesh().
|
inline |
Definition at line 177 of file polyMeshGeometry.H.
void correct | ( | ) |
Take over properties from mesh.
Definition at line 340 of file polyMeshGeometry.C.
Referenced by polyMeshGeometry::polyMeshGeometry().
void correct | ( | const pointField & | p, |
const labelList & | changedFaces | ||
) |
Recalculate on selected faces. Recalculates cell properties.
on owner and neighbour of these cells.
Definition at line 350 of file polyMeshGeometry.C.
References p.
|
static |
Helper function: get affected cells from faces.
Definition at line 186 of file polyMeshGeometry.C.
References polyMesh::faceNeighbour(), polyMesh::faceOwner(), HashSet< Key, Hash >::insert(), primitiveMesh::isInternalFace(), mesh, and UList< T >::size().
|
static |
See primitiveMesh.
Definition at line 363 of file polyMeshGeometry.C.
References Foam::acos(), polyMesh::boundaryMesh(), Foam::cos(), coupled, Foam::degToRad(), Foam::endl(), polyMesh::faceNeighbour(), polyMesh::faceOwner(), Foam::Info, primitiveMesh::isInternalFace(), mesh, primitiveMesh::nBoundaryFaces(), primitiveMesh::nFaces(), primitiveMesh::nInternalFaces(), patches, Foam::radToDeg(), Foam::reduce(), SeriousErrorInFunction, syncTools::swapBoundaryFacePositions(), and polyBoundaryMesh::whichPatch().
Referenced by motionSmootherAlgo::checkMesh().
|
static |
See primitiveMesh.
Definition at line 541 of file polyMeshGeometry.C.
References primitiveMesh::cells(), Foam::endl(), f(), polyMesh::faceNeighbour(), polyMesh::faceOwner(), polyMesh::faces(), Foam::Info, HashSet< Key, Hash >::insert(), primitiveMesh::isInternalFace(), mesh, p, Foam::Pout, Foam::reduce(), and SeriousErrorInFunction.
Referenced by motionSmootherAlgo::checkMesh().
|
static |
See primitiveMesh.
Definition at line 712 of file polyMeshGeometry.C.
References polyMesh::boundaryMesh(), coupled, Foam::endl(), polyMesh::faceNeighbour(), polyMesh::faceOwner(), polyMeshTetDecomposition::findBasePoint(), polyMeshTetDecomposition::findSharedBasePoint(), Foam::Info, HashSet< Key, Hash >::insert(), primitiveMesh::isInternalFace(), mesh, primitiveMesh::nBoundaryFaces(), primitiveMesh::nFaces(), primitiveMesh::nInternalFaces(), p, patches, Foam::reduce(), SeriousErrorInFunction, syncTools::swapBoundaryFacePositions(), and polyBoundaryMesh::whichPatch().
Referenced by motionSmootherAlgo::checkMesh().
|
static |
See primitiveMesh.
Definition at line 933 of file polyMeshGeometry.C.
References primitiveMeshTools::boundaryFaceSkewness(), polyMesh::boundaryMesh(), Foam::endl(), polyMesh::faceNeighbour(), polyMesh::faceOwner(), polyMesh::faces(), primitiveMeshTools::faceSkewness(), Foam::Info, HashSet< Key, Hash >::insert(), primitiveMesh::isInternalFace(), Foam::max(), mesh, primitiveMesh::nInternalFaces(), Foam::nl, patches, points, Foam::Pout, Foam::reduce(), syncTools::swapBoundaryCellPositions(), WarningInFunction, and polyBoundaryMesh::whichPatch().
|
static |
Interpolation weights (0.5 for regular mesh)
Definition at line 1139 of file polyMeshGeometry.C.
References polyMesh::boundaryMesh(), coupled, Foam::endl(), polyMesh::faceNeighbour(), polyMesh::faceOwner(), Foam::Info, HashSet< Key, Hash >::insert(), primitiveMesh::isInternalFace(), Foam::mag(), mesh, Foam::min(), primitiveMesh::nBoundaryFaces(), primitiveMesh::nFaces(), primitiveMesh::nInternalFaces(), Foam::nl, patches, Foam::Pout, Foam::reduce(), syncTools::swapBoundaryFacePositions(), WarningInFunction, and polyBoundaryMesh::whichPatch().
Referenced by motionSmootherAlgo::checkMesh().
|
static |
Cell volume ratio of neighbouring cells (1 for regular mesh)
Definition at line 1287 of file polyMeshGeometry.C.
References polyMesh::boundaryMesh(), coupled, Foam::endl(), polyMesh::faceNeighbour(), polyMesh::faceOwner(), Foam::Info, HashSet< Key, Hash >::insert(), primitiveMesh::isInternalFace(), Foam::mag(), Foam::max(), mesh, Foam::min(), primitiveMesh::nBoundaryFaces(), primitiveMesh::nFaces(), primitiveMesh::nInternalFaces(), Foam::nl, patches, Foam::Pout, Foam::reduce(), syncTools::swapBoundaryFaceList(), WarningInFunction, and polyBoundaryMesh::whichPatch().
Referenced by motionSmootherAlgo::checkMesh().
|
static |
See primitiveMesh.
Definition at line 1423 of file polyMeshGeometry.C.
References Foam::abort(), Foam::asin(), Foam::degToRad(), Foam::endl(), f(), polyMesh::faces(), Foam::FatalError, FatalErrorInFunction, UList< T >::first(), forAll, Foam::Info, HashSet< Key, Hash >::insert(), UList< T >::last(), Foam::mag(), Foam::max(), mesh, Foam::min(), Foam::normalised(), p, Foam::radToDeg(), Foam::reduce(), Foam::sin(), and WarningInFunction.
Referenced by motionSmootherAlgo::checkMesh().
|
static |
Triangle (from face-centre decomposition) normal v.s.
average face normal
Definition at line 1548 of file polyMeshGeometry.C.
References Foam::abort(), triangle< Point, PointRef >::areaNormal(), polyMesh::boundaryMesh(), Foam::endl(), f(), polyMesh::faceNeighbour(), polyMesh::faceOwner(), polyMesh::faces(), Foam::FatalError, FatalErrorInFunction, forAll, Foam::Info, HashSet< Key, Hash >::insert(), primitiveMesh::isInternalFace(), Foam::mag(), mesh, primitiveMesh::nBoundaryFaces(), primitiveMesh::nFaces(), primitiveMesh::nInternalFaces(), Foam::nl, Foam::normalised(), p, patches, Foam::reduce(), UList< T >::size(), syncTools::swapBoundaryFacePositions(), WarningInFunction, polyBoundaryMesh::whichPatch(), and Foam::Zero.
Referenced by motionSmootherAlgo::checkMesh().
|
static |
Consecutive triangle (from face-centre decomposition) normals.
Definition at line 1694 of file polyMeshGeometry.C.
References Foam::abort(), triangle< Point, PointRef >::areaNormal(), Foam::endl(), f(), polyMesh::faces(), Foam::FatalError, FatalErrorInFunction, UList< T >::fcIndex(), forAll, Foam::Info, HashSet< Key, Hash >::insert(), Foam::mag(), mesh, Foam::nl, p, Foam::reduce(), UList< T >::size(), and WarningInFunction.
Referenced by motionSmootherAlgo::checkMesh().
|
static |
Area of faces v.s. sum of triangle areas.
Definition at line 1840 of file polyMeshGeometry.C.
References Foam::abort(), Foam::endl(), f(), polyMesh::faces(), Foam::FatalError, FatalErrorInFunction, forAll, Foam::Info, HashSet< Key, Hash >::insert(), Foam::mag(), mesh, Foam::nl, p, Foam::reduce(), UList< T >::size(), and WarningInFunction.
Referenced by motionSmootherAlgo::checkMesh().
|
static |
Small faces.
Definition at line 1933 of file polyMeshGeometry.C.
References Foam::endl(), Foam::Info, HashSet< Key, Hash >::insert(), Foam::mag(), Foam::nl, Foam::reduce(), and WarningInFunction.
Referenced by motionSmootherAlgo::checkMesh().
|
static |
Area of internal faces v.s. boundary faces.
Definition at line 1990 of file polyMeshGeometry.C.
References cells, primitiveMesh::cells(), Foam::det(), Foam::endl(), Foam::Info, HashSet< Key, Hash >::insert(), Foam::mag(), mesh, Foam::min(), Foam::nl, Foam::reduce(), WarningInFunction, and Foam::Zero.
Referenced by motionSmootherAlgo::checkMesh().
|
static |
Small edges. Optionally collects points of small edges.
Definition at line 2082 of file polyMeshGeometry.C.
References Foam::endl(), f(), polyMesh::faces(), UList< T >::fcIndex(), forAll, Foam::Info, HashSet< Key, Hash >::insert(), Foam::magSqr(), Foam::max(), mesh, Foam::min(), points, polyMesh::points(), Foam::reduce(), Foam::sqr(), and Foam::sqrt().
Referenced by motionSmootherAlgo::checkMesh().
bool checkFaceDotProduct | ( | const bool | report, |
const scalar | orthWarn, | ||
const labelList & | checkFaces, | ||
const List< labelPair > & | baffles, | ||
labelHashSet * | setPtr | ||
) | const |
Definition at line 2151 of file polyMeshGeometry.C.
bool checkFacePyramids | ( | const bool | report, |
const scalar | minPyrVol, | ||
const pointField & | p, | ||
const labelList & | checkFaces, | ||
const List< labelPair > & | baffles, | ||
labelHashSet * | setPtr | ||
) | const |
Definition at line 2174 of file polyMeshGeometry.C.
References p.
bool checkFaceTets | ( | const bool | report, |
const scalar | minTetQuality, | ||
const pointField & | p, | ||
const labelList & | checkFaces, | ||
const List< labelPair > & | baffles, | ||
labelHashSet * | setPtr | ||
) | const |
Definition at line 2198 of file polyMeshGeometry.C.
References p.
bool checkFaceWeights | ( | const bool | report, |
const scalar | warnWeight, | ||
const labelList & | checkFaces, | ||
const List< labelPair > & | baffles, | ||
labelHashSet * | setPtr | ||
) | const |
Definition at line 2249 of file polyMeshGeometry.C.
bool checkVolRatio | ( | const bool | report, |
const scalar | warnRatio, | ||
const labelList & | checkFaces, | ||
const List< labelPair > & | baffles, | ||
labelHashSet * | setPtr | ||
) | const |
Definition at line 2273 of file polyMeshGeometry.C.
bool checkFaceAngles | ( | const bool | report, |
const scalar | maxDeg, | ||
const pointField & | p, | ||
const labelList & | checkFaces, | ||
labelHashSet * | setPtr | ||
) | const |
Definition at line 2295 of file polyMeshGeometry.C.
References p.
bool checkFaceTwist | ( | const bool | report, |
const scalar | minTwist, | ||
const pointField & | p, | ||
const labelList & | checkFaces, | ||
labelHashSet * | setPtr | ||
) | const |
Definition at line 2317 of file polyMeshGeometry.C.
References p.
bool checkTriangleTwist | ( | const bool | report, |
const scalar | minTwist, | ||
const pointField & | p, | ||
const labelList & | checkFaces, | ||
labelHashSet * | setPtr | ||
) | const |
Definition at line 2341 of file polyMeshGeometry.C.
References p.
bool checkFaceFlatness | ( | const bool | report, |
const scalar | minFlatness, | ||
const pointField & | p, | ||
const labelList & | checkFaces, | ||
labelHashSet * | setPtr | ||
) | const |
Definition at line 2364 of file polyMeshGeometry.C.
References p.
bool checkFaceArea | ( | const bool | report, |
const scalar | minArea, | ||
const labelList & | checkFaces, | ||
labelHashSet * | setPtr | ||
) | const |
Definition at line 2387 of file polyMeshGeometry.C.
bool checkCellDeterminant | ( | const bool | report, |
const scalar | warnDet, | ||
const labelList & | checkFaces, | ||
const labelList & | affectedCells, | ||
labelHashSet * | setPtr | ||
) | const |
Definition at line 2407 of file polyMeshGeometry.C.
bool checkEdgeLength | ( | const bool | report, |
const scalar | minEdgeLength, | ||
const labelList & | checkFaces, | ||
labelHashSet * | pointSetPtr | ||
) | const |
Definition at line 2429 of file polyMeshGeometry.C.