Does polyTopoChanges to remove edges. Can remove faces due to edge collapse but can not remove cells due to face removal! Also removes unused points. More...
#include <edgeCollapser.H>
Public Types | |
| enum | collapseType { noCollapse = 0 , toPoint = 1 , toEdge = 2 } |
Public Member Functions | |
| ClassName ("edgeCollapser") | |
| Runtime type information. | |
| edgeCollapser (const polyMesh &mesh) | |
| Construct from mesh. | |
| edgeCollapser (const polyMesh &mesh, const dictionary &dict) | |
| Construct from mesh and dict. | |
| void | consistentCollapse (const globalIndex &globalPoints, const labelList &pointPriority, const Map< point > &collapsePointToLocation, bitSet &collapseEdge, List< pointEdgeCollapse > &allPointInfo, const bool allowCellCollapse=false) const |
| Ensure that the collapse is parallel consistent and update. | |
| bool | setRefinement (const List< pointEdgeCollapse > &allPointInfo, polyTopoChange &meshMod) const |
| Play commands into polyTopoChange to create mesh. | |
| label | markSmallEdges (const scalarField &minEdgeLen, const labelList &pointPriority, bitSet &collapseEdge, Map< point > &collapsePointToLocation) const |
| Mark (in collapseEdge) any edges to collapse. | |
| label | markMergeEdges (const scalar maxCos, const labelList &pointPriority, bitSet &collapseEdge, Map< point > &collapsePointToLocation) const |
| Mark (in collapseEdge) any edges to merge. | |
| labelPair | markSmallSliverFaces (const scalarField &faceFilterFactor, const labelList &pointPriority, bitSet &collapseEdge, Map< point > &collapsePointToLocation) const |
| Find small faces and sliver faces in the mesh and mark the. | |
| labelPair | markFaceZoneEdges (const faceZone &fZone, const scalarField &faceFilterFactor, const labelList &pointPriority, bitSet &collapseEdge, Map< point > &collapsePointToLocation) const |
| Marks edges in the faceZone indirectPatchFaces for collapse. | |
Static Public Member Functions | |
| static labelHashSet | checkBadFaces (const polyMesh &mesh, const dictionary &meshQualityDict) |
| Calls motionSmoother::checkMesh and returns a set of bad faces. | |
| static label | checkMeshQuality (const polyMesh &mesh, const dictionary &meshQualityDict, bitSet &isErrorPoint) |
| Check mesh and mark points on faces in error. | |
Does polyTopoChanges to remove edges. Can remove faces due to edge collapse but can not remove cells due to face removal! Also removes unused points.
Definition at line 64 of file edgeCollapser.H.
| enum collapseType |
| Enumerator | |
|---|---|
| noCollapse | |
| toPoint | |
| toEdge | |
Definition at line 69 of file edgeCollapser.H.
|
explicit |
| edgeCollapser | ( | const polyMesh & | mesh, |
| const dictionary & | dict ) |
Construct from mesh and dict.
Definition at line 1201 of file edgeCollapser.C.
References dict, Foam::endl(), Foam::Info, mesh, and Foam::nl.

| ClassName | ( | "edgeCollapser" | ) |
Runtime type information.
References collapseEdge(), dict, and mesh.

|
static |
Calls motionSmoother::checkMesh and returns a set of bad faces.
Definition at line 43 of file edgeCollapser.C.
References DynamicList< T, SizeMin >::append(), motionSmootherAlgo::checkMesh(), Foam::endl(), forAll, Foam::Info, Foam::mag(), and mesh.
Referenced by checkMeshQuality().


|
static |
Check mesh and mark points on faces in error.
Returns boolList with points in error set
Definition at line 79 of file edgeCollapser.C.
References checkBadFaces(), f(), mesh, Foam::returnReduce(), bitSet::set(), HashTable< T, Key, Hash >::size(), and syncTools::syncPointList().
Referenced by polyMeshFilter::filterEdges().


| void consistentCollapse | ( | const globalIndex & | globalPoints, |
| const labelList & | pointPriority, | ||
| const Map< point > & | collapsePointToLocation, | ||
| bitSet & | collapseEdge, | ||
| List< pointEdgeCollapse > & | allPointInfo, | ||
| const bool | allowCellCollapse = false ) const |
Ensure that the collapse is parallel consistent and update.
allPointInfo. Returns a list of edge collapses that is consistent across coupled boundaries and a list of pointEdgeCollapses.
Definition at line 1602 of file edgeCollapser.C.
References Foam::abort(), cells, collapseEdge(), Foam::endl(), f(), Foam::FatalError, FatalErrorInFunction, forAll, Foam::Info, Foam::nl, Foam::reduce(), Foam::returnReduce(), bitSet::set(), UList< T >::size(), syncTools::syncEdgeList(), syncTools::syncPointList(), bitSet::test(), and bitSet::unset().

| bool setRefinement | ( | const List< pointEdgeCollapse > & | allPointInfo, |
| polyTopoChange & | meshMod ) const |
Play commands into polyTopoChange to create mesh.
Return true if anything changed.
Definition at line 1241 of file edgeCollapser.C.
References cells, pointEdgeCollapse::collapseIndex(), Foam::decrIndent(), Foam::endl(), f(), faceZone::flipMap(), forAll, forAllConstIters, Foam::incrIndent(), Foam::indent(), Foam::Info, HashTable< T, Key, Hash >::insert(), polyTopoChange::modifyFace(), polyTopoChange::modifyPoint(), Foam::nl, nPoints, patchID, Foam::Pout, Foam::reduce(), polyTopoChange::removeCell(), polyTopoChange::removeFace(), polyTopoChange::removePoint(), HashTable< T, Key, Hash >::reserve(), bitSet::set(), HashTable< T, Key, Hash >::size(), UList< T >::size(), bitSet::test(), faceZone::whichFace(), and ZoneMesh< ZoneType, MeshType >::whichZone().

| Foam::label markSmallEdges | ( | const scalarField & | minEdgeLen, |
| const labelList & | pointPriority, | ||
| bitSet & | collapseEdge, | ||
| Map< point > & | collapsePointToLocation ) const |
Mark (in collapseEdge) any edges to collapse.
Definition at line 1792 of file edgeCollapser.C.
References Foam::average(), collapseEdge(), e, forAll, points, and HashTable< T, Key, Hash >::set().

| Foam::label markMergeEdges | ( | const scalar | maxCos, |
| const labelList & | pointPriority, | ||
| bitSet & | collapseEdge, | ||
| Map< point > & | collapsePointToLocation ) const |
Mark (in collapseEdge) any edges to merge.
Definition at line 1843 of file edgeCollapser.C.
References collapseEdge(), removePoints::countPointUsage(), forAll, Foam::mag(), points, and UList< T >::size().

| Foam::labelPair markSmallSliverFaces | ( | const scalarField & | faceFilterFactor, |
| const labelList & | pointPriority, | ||
| bitSet & | collapseEdge, | ||
| Map< point > & | collapsePointToLocation ) const |
Find small faces and sliver faces in the mesh and mark the.
edges that need to be collapsed in order to remove these faces. Also returns a map of new locations for points that will move as a result of the collapse. Use in conjunction with edgeCollapser to synchronise the collapses and modify the mesh
Definition at line 1930 of file edgeCollapser.C.
References Foam::abort(), collapseEdge(), f(), Foam::FatalError, FatalErrorInFunction, forAll, noCollapse, toEdge, and toPoint.

| Foam::labelPair markFaceZoneEdges | ( | const faceZone & | fZone, |
| const scalarField & | faceFilterFactor, | ||
| const labelList & | pointPriority, | ||
| bitSet & | collapseEdge, | ||
| Map< point > & | collapsePointToLocation ) const |
Marks edges in the faceZone indirectPatchFaces for collapse.
Definition at line 1991 of file edgeCollapser.C.
References Foam::abort(), collapseEdge(), f(), Foam::FatalError, FatalErrorInFunction, forAll, noCollapse, toEdge, toPoint, and faceZone::whichFace().
