Public Types | Public Member Functions | Static Public Member Functions | List of all members
edgeCollapser Class Reference

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...

Public Types

enum  collapseType { noCollapse = 0, toPoint = 1, toEdge = 2 }
 

Public Member Functions

 ClassName ("edgeCollapser")
 
 edgeCollapser (const polyMesh &mesh)
 
 edgeCollapser (const polyMesh &mesh, const dictionary &dict)
 
void consistentCollapse (const globalIndex &globalPoints, const labelList &pointPriority, const Map< point > &collapsePointToLocation, bitSet &collapseEdge, List< pointEdgeCollapse > &allPointInfo, const bool allowCellCollapse=false) const
 
bool setRefinement (const List< pointEdgeCollapse > &allPointInfo, polyTopoChange &meshMod) const
 
label markSmallEdges (const scalarField &minEdgeLen, const labelList &pointPriority, bitSet &collapseEdge, Map< point > &collapsePointToLocation) const
 
label markMergeEdges (const scalar maxCos, const labelList &pointPriority, bitSet &collapseEdge, Map< point > &collapsePointToLocation) const
 
labelPair markSmallSliverFaces (const scalarField &faceFilterFactor, const labelList &pointPriority, bitSet &collapseEdge, Map< point > &collapsePointToLocation) const
 
labelPair markFaceZoneEdges (const faceZone &fZone, const scalarField &faceFilterFactor, const labelList &pointPriority, bitSet &collapseEdge, Map< point > &collapsePointToLocation) const
 

Static Public Member Functions

static labelHashSet checkBadFaces (const polyMesh &mesh, const dictionary &meshQualityDict)
 
static label checkMeshQuality (const polyMesh &mesh, const dictionary &meshQualityDict, bitSet &isErrorPoint)
 

Detailed Description

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.

Source files

Definition at line 64 of file edgeCollapser.H.

Member Enumeration Documentation

◆ collapseType

Enumerator
noCollapse 
toPoint 
toEdge 

Definition at line 69 of file edgeCollapser.H.

Constructor & Destructor Documentation

◆ edgeCollapser() [1/2]

edgeCollapser ( const polyMesh mesh)
explicit

Definition at line 1191 of file edgeCollapser.C.

◆ edgeCollapser() [2/2]

edgeCollapser ( const polyMesh mesh,
const dictionary dict 
)

Definition at line 1202 of file edgeCollapser.C.

References Foam::expressions::patchExpr::debug, Foam::endl(), Foam::Info, and Foam::nl.

Here is the call graph for this function:

Member Function Documentation

◆ ClassName()

ClassName ( "edgeCollapser"  )

◆ checkBadFaces()

Foam::labelHashSet checkBadFaces ( const polyMesh mesh,
const dictionary meshQualityDict 
)
static

Definition at line 44 of file edgeCollapser.C.

References DynamicList::append(), Foam::endl(), forAll, Foam::Info, Foam::mag(), and mesh.

Here is the call graph for this function:

◆ checkMeshQuality()

Foam::label checkMeshQuality ( const polyMesh mesh,
const dictionary meshQualityDict,
bitSet isErrorPoint 
)
static

Definition at line 80 of file edgeCollapser.C.

References f(), mesh, Foam::returnReduce(), and bitSet::set().

Referenced by polyMeshFilter::filterEdges().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ consistentCollapse()

void consistentCollapse ( const globalIndex globalPoints,
const labelList pointPriority,
const Map< point > &  collapsePointToLocation,
bitSet collapseEdge,
List< pointEdgeCollapse > &  allPointInfo,
const bool  allowCellCollapse = false 
) const

◆ setRefinement()

bool setRefinement ( const List< pointEdgeCollapse > &  allPointInfo,
polyTopoChange meshMod 
) const

◆ markSmallEdges()

Foam::label markSmallEdges ( const scalarField minEdgeLen,
const labelList pointPriority,
bitSet collapseEdge,
Map< point > &  collapsePointToLocation 
) const

Definition at line 1793 of file edgeCollapser.C.

References Foam::average(), collapseEdge(), Foam::constant::electromagnetic::e, forAll, and points.

Here is the call graph for this function:

◆ markMergeEdges()

Foam::label markMergeEdges ( const scalar  maxCos,
const labelList pointPriority,
bitSet collapseEdge,
Map< point > &  collapsePointToLocation 
) const

Definition at line 1844 of file edgeCollapser.C.

References collapseEdge(), removePoints::countPointUsage(), forAll, Foam::mag(), and points.

Here is the call graph for this function:

◆ markSmallSliverFaces()

Foam::labelPair markSmallSliverFaces ( const scalarField faceFilterFactor,
const labelList pointPriority,
bitSet collapseEdge,
Map< point > &  collapsePointToLocation 
) const

Definition at line 1931 of file edgeCollapser.C.

References Foam::abort(), collapseEdge(), f(), Foam::FatalError, FatalErrorInFunction, forAll, and Foam::toPoint().

Here is the call graph for this function:

◆ markFaceZoneEdges()

Foam::labelPair markFaceZoneEdges ( const faceZone fZone,
const scalarField faceFilterFactor,
const labelList pointPriority,
bitSet collapseEdge,
Map< point > &  collapsePointToLocation 
) const

Definition at line 1992 of file edgeCollapser.C.

References Foam::abort(), collapseEdge(), f(), Foam::FatalError, FatalErrorInFunction, forAll, Foam::toPoint(), and faceZone::whichFace().

Here is the call graph for this function:

The documentation for this class was generated from the following files: