Decomposes polyMesh into tets (or pyramids) More...
Public Types | |
enum | decompositionType { FACE_CENTRE_TRIS, FACE_DIAG_TRIS, PYRAMID, FACE_DIAG_QUADS } |
Public Member Functions | |
ClassName ("tetDecomposer") | |
Runtime type information. More... | |
tetDecomposer (const polyMesh &) | |
Construct from mesh. More... | |
const labelList & | cellToPoint () const |
From cell to tet point. More... | |
const labelList & | faceToPoint () const |
From face to tet point (only for faceCentre) More... | |
const labelListList & | faceOwnerCells () const |
Per face, per point (faceCentre) or triangle (faceDiag) More... | |
const labelListList & | faceNeighbourCells () const |
Per face, per point (faceCentre) or triangle (faceDiag) More... | |
void | setRefinement (const decompositionType decomposeType, const bitSet &decomposeCell, polyTopoChange &meshMod) |
Insert all changes into meshMod to convert the polyMesh into. More... | |
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. More... | |
void | updateMesh (const mapPolyMesh &) |
Force recalculation of locally stored data on topological change. More... | |
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 | ) |
Construct from mesh.
Definition at line 483 of file tetDecomposer.C.
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 492 of file tetDecomposer.C.
References forAll, and syncTools::swapBoundaryFaceList().
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 540 of file tetDecomposer.C.
References Foam::abort(), polyTopoChange::addCell(), polyTopoChange::addPoint(), HashTable< T, Key, Hash >::clear(), Foam::ensightOutput::debug, Foam::constant::electromagnetic::e, face::edge(), HashTable< T, Key, Hash >::end(), Foam::exit(), f(), Foam::FatalError, FatalErrorInFunction, UList< T >::fcIndex(), HashTable< T, Key, Hash >::find(), face::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(), List< T >::setSize(), 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.