FreeFOAM The Cross-Platform CFD Toolkit
removePoints Class Reference

Removes selected points from mesh and updates faces using these points. More...

#include <dynamicMesh/removePoints.H>


Detailed Description

Removes selected points from mesh and updates faces using these points.

Source files

Definition at line 59 of file removePoints.H.

List of all members.

Classes

class  faceEqOp
 Combine-reduce operator to combine data on faces. Takes care.

Public Member Functions

 ClassName ("removePoints")
 Runtime type information.
 removePoints (const polyMesh &mesh, const bool undoable=false)
 Construct from mesh.
const labelListsavedFaceLabels () const
 If undoable: affected face labels. Already restored faces.
label countPointUsage (const scalar minCos, boolList &pointCanBeDeleted) const
 Mark in pointCanBeDeleted the points that can be deleted.
void setRefinement (const boolList &, polyTopoChange &)
 Play commands into polyTopoChange to remove points. Gets.
void updateMesh (const mapPolyMesh &)
 Force recalculation of locally stored data on topological change.
void getUnrefimentSet (const labelList &undoFaces, labelList &localFaces, labelList &localPoints) const
 Given set of faces to restore calculates a consistent set of.
void setUnrefinement (const labelList &localFaces, const labelList &localPoints, polyTopoChange &)
 Restore selected faces and vertices.

Constructor & Destructor Documentation

removePoints ( const polyMesh mesh,
const bool  undoable = false 
)

Construct from mesh.

Definition at line 104 of file removePoints.C.


Member Function Documentation

ClassName ( "removePoints"  )

Runtime type information.

const labelList& savedFaceLabels ( ) const
inline

If undoable: affected face labels. Already restored faces.

will be -1.

Definition at line 147 of file removePoints.H.

Foam::label countPointUsage ( const scalar  minCos,
boolList pointCanBeDeleted 
) const

Mark in pointCanBeDeleted the points that can be deleted.

(parallel synchronised) and returns the global number of these points. (this number is the global number before synchronisation so might be off!) A point can be deleted if

  • it is not used by any edge. or
  • is not used by an internal edge
  • is used by only two boundary edges. (note that these two edges will always be boundary ones!)
  • these two edges are sufficiently in line (cos > minCos)
  • all processors agree that point can be deleted.

Definition at line 117 of file removePoints.C.

References List< T >::clear(), edge::commonVertex(), e, f(), forAll, Foam::mag(), edge::otherVertex(), points, Foam::returnReduce(), List< T >::setSize(), List< T >::size(), and syncTools::syncPointList().

Referenced by meshRefinement::mergeEdges().

void setRefinement ( const boolList pointCanBeDeleted,
polyTopoChange meshMod 
)

Play commands into polyTopoChange to remove points. Gets.

boolList (output of countPointUsage) as input. Does no check for whether resulting face is legal. Since pointCanBeDeleted is synced all coupled faces should decide the same.

Definition at line 260 of file removePoints.C.

References Foam::abort(), f(), Foam::FatalError, FatalErrorIn, forAll, forAllConstIter, HashSet< Key, Hash >::insert(), HashTable< T, Key, Hash >::insert(), Foam::nl, pFaces, HashTable< T, Key, Hash >::resize(), polyTopoChange::setAction(), List< T >::setSize(), List< T >::size(), and HashTable< T, Key, Hash >::size().

Referenced by meshRefinement::mergeEdges().

void updateMesh ( const mapPolyMesh map)

Force recalculation of locally stored data on topological change.

Definition at line 420 of file removePoints.C.

References Foam::abort(), f(), Foam::FatalError, FatalErrorIn, forAll, Foam::nl, mapPolyMesh::reverseFaceMap(), mapPolyMesh::reversePointMap(), List< T >::setSize(), and List< T >::size().

Referenced by meshRefinement::mergeEdges().

void getUnrefimentSet ( const labelList undoFaces,
labelList localFaces,
labelList localPoints 
) const

Given set of faces to restore calculates a consistent set of.

saved faces (indices into savedFaces_) and saved vertices (indices into savedPoints_) to restore. The undoFaces have to be synced.

Definition at line 526 of file removePoints.C.

References Foam::abort(), Foam::endl(), Foam::FatalError, FatalErrorIn, forAll, HashTable< T, Key, Hash >::found(), wallPoint::greatPoint, List< T >::setSize(), List< T >::size(), HashTable< T, Key, Hash >::size(), faceSet::sync(), and syncTools::syncBoundaryFaceList().

void setUnrefinement ( const labelList localFaces,
const labelList localPoints,
polyTopoChange meshMod 
)

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