Tools for performing the minimum decomposition of faces of the mesh into triangles so that the cells may be tet decomposed. Includes functions for finding variable face starting (base) points on each face to avoid the decomposition of cells into tets that have negative or zero volume. More...
Static Public Member Functions | |
static label | findSharedBasePoint (const polyMesh &mesh, label fI, const point &nCc, scalar tol, bool report=false) |
Find the first suitable base point to use for a minimum. More... | |
static label | findSharedBasePoint (const polyMesh &mesh, label fI, scalar tol, bool report=false) |
As for findSharedBasePoint, but using neighbour cell. More... | |
static label | findBasePoint (const polyMesh &mesh, label fI, scalar tol, bool report=false) |
Find the base point to use for a minimum triangle. More... | |
static labelList | findFaceBasePts (const polyMesh &mesh, scalar tol=minTetQuality, bool report=false) |
Find a suitable base point for each face for decomposition. More... | |
static bool | checkFaceTets (const polyMesh &mesh, scalar tol=minTetQuality, const bool report=false, labelHashSet *setPtr=NULL) |
Check face-decomposition tet volume. More... | |
static List< tetIndices > | faceTetIndices (const polyMesh &mesh, label fI, label cI) |
Return the tet decomposition of the given face, with. More... | |
static tetIndices | triangleTetIndices (const polyMesh &mesh, label fI, label cI, const label tetPtI) |
Return the tet decomposition of the given triangle of the given face. More... | |
static List< tetIndices > | cellTetIndices (const polyMesh &mesh, label cI) |
Return the tet decomposition of the given cell, see. More... | |
static tetIndices | findTet (const polyMesh &mesh, label cI, const point &pt) |
Find the tet decomposition of the cell containing the given point. More... | |
Static Public Attributes | |
static const scalar | minTetQuality = sqr(SMALL) |
Minimum tetrahedron quality. More... | |
Tools for performing the minimum decomposition of faces of the mesh into triangles so that the cells may be tet decomposed. Includes functions for finding variable face starting (base) points on each face to avoid the decomposition of cells into tets that have negative or zero volume.
Definition at line 56 of file polyMeshTetDecomposition.H.
|
static |
Find the first suitable base point to use for a minimum.
triangle decomposition of the face, suiting owner and neighbour cells. Finds the first base point on the face whose worst quality tet from either cell is better than tolerance. Neighbour cell centre supplied. For coupled patches.
Definition at line 39 of file polyMeshTetDecomposition.C.
References primitiveMesh::cellCentres(), f(), polyMesh::faceOwner(), polyMesh::faces(), forAll, Foam::min(), pFaces, polyMesh::points(), tetrahedron< Point, PointRef >::quality(), and List< T >::size().
Referenced by polyMeshGeometry::checkFaceTets().
|
static |
As for findSharedBasePoint, but using neighbour cell.
centre from the mesh. For internal faces.
Definition at line 116 of file polyMeshTetDecomposition.C.
References primitiveMesh::cellCentres(), polyMesh::faceNeighbour(), and polyMeshTetDecomposition::findBasePoint().
|
static |
Find the base point to use for a minimum triangle.
decomposition of the face, using only the owner information. For non-coupled boundary faces.
Definition at line 135 of file polyMeshTetDecomposition.C.
References primitiveMesh::cellCentres(), f(), polyMesh::faceOwner(), polyMesh::faces(), polyMeshTetDecomposition::findFaceBasePts(), forAll, pFaces, polyMesh::points(), tetrahedron< Point, PointRef >::quality(), and List< T >::size().
Referenced by polyMeshGeometry::checkFaceTets(), and polyMeshTetDecomposition::findSharedBasePoint().
|
static |
Find a suitable base point for each face for decomposition.
into tets
Definition at line 206 of file polyMeshTetDecomposition.C.
References Foam::abort(), polyMesh::boundaryMesh(), primitiveMesh::cellCentres(), polyMeshTetDecomposition::checkFaceTets(), polyMesh::faceOwner(), polyMesh::faces(), Foam::FatalError, FatalErrorInFunction, primitiveMesh::nFaces(), primitiveMesh::nInternalFaces(), coupledPolyPatch::owner(), patches, patchi, polyBoundaryMesh::patchID(), and List< T >::size().
Referenced by polyMeshTetDecomposition::findBasePoint(), and polyMesh::tetBasePtIs().
|
static |
Check face-decomposition tet volume.
Definition at line 367 of file polyMeshTetDecomposition.C.
References polyMesh::boundaryMesh(), primitiveMesh::cellCentres(), Foam::endl(), f(), primitiveMesh::faceCentres(), polyMesh::faceNeighbour(), polyMesh::faceOwner(), polyMesh::faces(), polyMeshTetDecomposition::faceTetIndices(), forAll, Foam::Info, HashSet< Key, Hash >::insert(), primitiveMesh::isInternalFace(), face::nextLabel(), primitiveMesh::nFaces(), primitiveMesh::nInternalFaces(), p, patches, patchi, polyBoundaryMesh::patchID(), polyMesh::points(), and Foam::reduce().
Referenced by polyMeshTetDecomposition::findFaceBasePts(), and wallBoundedStreamLine::read().
|
static |
Return the tet decomposition of the given face, with.
respect to the given cell
Definition at line 527 of file polyMeshTetDecomposition.C.
References tetIndices::cell(), Foam::endl(), f(), tetIndices::face(), tetIndices::faceBasePt(), polyMesh::faceOwner(), tetIndices::facePtA(), tetIndices::facePtB(), polyMesh::faces(), UList< T >::fcIndex(), pFaces, List< T >::size(), polyMesh::tetBasePtIs(), tetIndices::tetPt(), polyMeshTetDecomposition::triangleTetIndices(), Foam::Warning, and WarningInFunction.
Referenced by polyMeshTetDecomposition::checkFaceTets(), particle< Type >::hitWallFaces(), and FreeStream< CloudType >::inflow().
|
static |
Return the tet decomposition of the given triangle of the given face.
Definition at line 600 of file polyMeshTetDecomposition.C.
References tetIndices::cell(), polyMeshTetDecomposition::cellTetIndices(), Foam::endl(), f(), tetIndices::face(), tetIndices::faceBasePt(), polyMesh::faceOwner(), tetIndices::facePtA(), tetIndices::facePtB(), polyMesh::faces(), UList< T >::fcIndex(), List< T >::size(), polyMesh::tetBasePtIs(), tetIndices::tetPt(), Foam::Warning, and WarningInFunction.
Referenced by polyMeshTetDecomposition::faceTetIndices(), and polyMesh::pointInCell().
|
static |
Return the tet decomposition of the given cell, see.
findFacePt for the meaning of the indices
Definition at line 661 of file polyMeshTetDecomposition.C.
References DynamicList< T, SizeInc, SizeMult, SizeDiv >::append(), primitiveMesh::cells(), polyMesh::faces(), polyMeshTetDecomposition::findTet(), forAll, pFaces, and List< T >::size().
Referenced by polyMeshTetDecomposition::triangleTetIndices().
|
static |
Find the tet decomposition of the cell containing the given point.
Definition at line 692 of file polyMeshTetDecomposition.C.
References tetIndices::cell(), primitiveMesh::cells(), f(), polyMesh::faces(), forAll, tetrahedron< Point, PointRef >::inside(), pFaces, List< T >::size(), and tetIndices::tet().
Referenced by polyMeshTetDecomposition::cellTetIndices(), and polyMesh::findTetFacePt().
|
static |
Minimum tetrahedron quality.
Definition at line 64 of file polyMeshTetDecomposition.H.
Referenced by wallBoundedStreamLine::read().