Decomposes polyMesh into tets (or pyramids). More...
#include <tetDecomposer.H>

Public Types | |
| enum | decompositionType { FACE_CENTRE_TRIS , FACE_DIAG_TRIS , PYRAMID , FACE_DIAG_QUADS } |
Public Member Functions | |
| ClassName ("tetDecomposer") | |
| Runtime type information. | |
| tetDecomposer (const polyMesh &) | |
| Construct from mesh. | |
| const labelList & | cellToPoint () const |
| From cell to tet point. | |
| const labelList & | faceToPoint () const |
| From face to tet point (only for faceCentre). | |
| const labelListList & | faceOwnerCells () const |
| Per face, per point (faceCentre) or triangle (faceDiag). | |
| const labelListList & | faceNeighbourCells () const |
| Per face, per point (faceCentre) or triangle (faceDiag). | |
| void | setRefinement (const decompositionType decomposeType, const bitSet &decomposeCell, polyTopoChange &meshMod) |
| Insert all changes into meshMod to convert the polyMesh into. | |
| void | setRefinement (const decompositionType decomposeType, const bitSet &decomposeCell, const bitSet &decomposeFace, polyTopoChange &meshMod) |
| Insert all changes into meshMod to convert the polyMesh into subshapes (tets/prisms). Explicit control over which faces get decomposed. Can be used e.g. to not split triangles. | |
| void | updateMesh (const mapPolyMesh &) |
| Force recalculation of locally stored data on topological change. | |
Static Public Attributes | |
| static const Enum< decompositionType > | decompositionTypeNames |
Decomposes polyMesh into tets (or pyramids).
Cells neighbouring decomposed cells are not decomposed themselves so will be polyhedral.
Definition at line 60 of file tetDecomposer.H.
| enum decompositionType |
| Enumerator | |
|---|---|
| FACE_CENTRE_TRIS | |
| FACE_DIAG_TRIS | |
| PYRAMID | |
| FACE_DIAG_QUADS | |
Definition at line 66 of file tetDecomposer.H.
| tetDecomposer | ( | const polyMesh & | mesh | ) |
| ClassName | ( | "tetDecomposer" | ) |
Runtime type information.
|
inline |
From cell to tet point.
Definition at line 222 of file tetDecomposer.H.
|
inline |
From face to tet point (only for faceCentre).
Definition at line 230 of file tetDecomposer.H.
|
inline |
Per face, per point (faceCentre) or triangle (faceDiag).
the added tet on the owner side. For non-face (pyramid) size 1.
Definition at line 242 of file tetDecomposer.H.
|
inline |
Per face, per point (faceCentre) or triangle (faceDiag).
the added tet on the neighbour side. For non-face (pyramid) size 1.
Definition at line 253 of file tetDecomposer.H.
| void setRefinement | ( | const decompositionType | decomposeType, |
| const bitSet & | decomposeCell, | ||
| polyTopoChange & | meshMod ) |
Insert all changes into meshMod to convert the polyMesh into.
subshapes (tets/prisms)
Definition at line 491 of file tetDecomposer.C.
References forAll, setRefinement(), and syncTools::swapBoundaryFaceList().
Referenced by setRefinement().


| void setRefinement | ( | const decompositionType | decomposeType, |
| const bitSet & | decomposeCell, | ||
| const bitSet & | decomposeFace, | ||
| polyTopoChange & | meshMod ) |
Insert all changes into meshMod to convert the polyMesh into subshapes (tets/prisms). Explicit control over which faces get decomposed. Can be used e.g. to not split triangles.
Definition at line 539 of file tetDecomposer.C.
References Foam::abort(), polyTopoChange::addCell(), polyTopoChange::addPoint(), HashTable< T, Key, Hash >::clear(), e, face::edge(), HashTable< T, Key, Hash >::end(), Foam::exit(), f(), FACE_CENTRE_TRIS, FACE_DIAG_QUADS, FACE_DIAG_TRIS, Foam::FatalError, FatalErrorInFunction, face::find(), HashTable< T, Key, Hash >::find(), Foam::flatOutput(), faceZone::flipMap(), forAll, forAllConstIters, HashTable< T, Key, Hash >::insert(), Foam::max(), n, face::nextLabel(), p0, pbm, pp(), face::prevLabel(), UList< T >::rcIndex(), List< T >::resize_nocopy(), UList< T >::size(), syncTools::swapFaceList(), and faceZone::whichFace().

| void updateMesh | ( | const mapPolyMesh & | map | ) |
Force recalculation of locally stored data on topological change.
Definition at line 1594 of file tetDecomposer.C.
References forAll, Foam::inplaceRenumber(), mapPolyMesh::reverseCellMap(), and mapPolyMesh::reversePointMap().

|
static |
Definition at line 74 of file tetDecomposer.H.