39 #ifndef edgeCollapser_H 40 #define edgeCollapser_H 90 const scalar guardFraction_;
93 const scalar maxCollapseFaceToPointSideLengthCoeff_;
97 const bool allowEarlyCollapseToPoint_;
101 const scalar allowEarlyCollapseCoeff_;
121 const vector& collapseAxis,
147 void faceCollapseAxisAndAspectRatio
165 const scalar targetFaceSize,
173 label edgeMaster(
const labelList& pointPriority,
const edge&
e)
const;
176 void checkBoundaryPointMergeEdges
179 const label otherPointi,
187 label breakStringsAtEdges
189 const bitSet& markedEdges,
197 void determineDuplicatePointsOnFace
208 label countEdgesOnFace
294 const bool allowCellCollapse =
false
A face is a list of labels corresponding to mesh vertices.
labelList pointLabels(nPoints, -1)
static label checkMeshQuality(const polyMesh &mesh, const dictionary &meshQualityDict, bitSet &isErrorPoint)
Check mesh and mark points on faces in error.
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.
A list of keyword definitions, which are a keyword followed by a number of values (eg...
label markSmallEdges(const scalarField &minEdgeLen, const labelList &pointPriority, bitSet &collapseEdge, Map< point > &collapsePointToLocation) const
Mark (in collapseEdge) any edges to collapse.
Does polyTopoChanges to remove edges. Can remove faces due to edge collapse but can not remove cells ...
label collapseEdge(triSurface &surf, const scalar minLen)
Keep collapsing all edges < minLen.
static labelHashSet checkBadFaces(const polyMesh &mesh, const dictionary &meshQualityDict)
Calls motionSmoother::checkMesh and returns a set of bad faces.
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.
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.
Calculates a unique integer (label so might not have enough room - 2G max) for processor + local inde...
const dimensionedScalar e
Elementary charge.
An edge is a list of two point labels. The functionality it provides supports the discretisation on a...
ClassName("edgeCollapser")
Runtime type information.
A Vector of values with scalar precision, where scalar is float/double depending on the compilation f...
Calculates points shared by more than two processor patches or cyclic patches.
A bitSet stores bits (elements with only two states) in packed internal format and supports a variety...
bool setRefinement(const List< pointEdgeCollapse > &allPointInfo, polyTopoChange &meshMod) const
Play commands into polyTopoChange to create mesh.
Direct mesh changes based on v1.3 polyTopoChange syntax.
Mesh consisting of general polyhedral cells.
A subset of mesh faces organised as a primitive patch.
label markMergeEdges(const scalar maxCos, const labelList &pointPriority, bitSet &collapseEdge, Map< point > &collapsePointToLocation) const
Mark (in collapseEdge) any edges to merge.
A HashTable to objects of type <T> with a label key.