Public Member Functions | List of all members
removeCells Class Reference

Given list of cells to remove insert all the topology changes. More...

Public Member Functions

 ClassName ("removeCells")
 Runtime type information. More...
 
 removeCells (const polyMesh &mesh, const bool syncPar=true)
 Construct from mesh. syncPar: do parallel synchronization. More...
 
labelList getExposedFaces (const labelList &cellsToRemove) const
 Get labels of exposed faces. More...
 
void setRefinement (const labelList &cellsToRemove, const labelList &facesToExpose, const labelList &patchIDs, polyTopoChange &) const
 Play commands into polyTopoChange to remove cells. More...
 
void updateMesh (const mapPolyMesh &)
 Force recalculation of locally stored data on topological change. More...
 

Detailed Description

Given list of cells to remove insert all the topology changes.

Works in two passes:

Source files

Definition at line 59 of file removeCells.H.

Constructor & Destructor Documentation

◆ removeCells()

removeCells ( const polyMesh mesh,
const bool  syncPar = true 
)

Construct from mesh. syncPar: do parallel synchronization.

Definition at line 60 of file removeCells.C.

References removeCells::getExposedFaces().

Here is the call graph for this function:

Member Function Documentation

◆ ClassName()

ClassName ( "removeCells"  )

Runtime type information.

◆ getExposedFaces()

Foam::labelList getExposedFaces ( const labelList cellsToRemove) const

Get labels of exposed faces.

These are

  • internal faces that become boundary faces
  • coupled faces that become uncoupled (since one of the sides gets deleted)

Definition at line 73 of file removeCells.C.

References DynamicList< T, SizeInc, SizeMult, SizeDiv >::append(), List< T >::append(), polyPatch::coupled(), forAll, patches, patchi, removeCells::setRefinement(), polyPatch::start(), and syncTools::syncFaceList().

Referenced by fvMeshSubset::getExposedFaces(), fvMeshDistribute::printCoupleInfo(), removeCells::removeCells(), meshRefinement::splitMesh(), and meshRefinement::splitMeshRegions().

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

◆ setRefinement()

void setRefinement ( const labelList cellsToRemove,
const labelList facesToExpose,
const labelList patchIDs,
polyTopoChange meshMod 
) const

Play commands into polyTopoChange to remove cells.

patchIDs is for every element in facesToExpose (see above) the patch it has to go into. This cannot be a coupled patch!

Definition at line 179 of file removeCells.C.

References Foam::abort(), polyPatch::coupled(), Foam::endl(), f(), Foam::FatalError, FatalErrorInFunction, faceZone::flipMap(), forAll, IOobject::name(), Foam::nl, patches, patchi, face::reverseFace(), polyTopoChange::setAction(), UPtrList< T >::size(), List< T >::size(), polyPatch::start(), WarningInFunction, faceZone::whichFace(), and ZoneMesh< ZoneType, MeshType >::whichZone().

Referenced by removeCells::getExposedFaces(), fvMeshDistribute::printCoupleInfo(), meshRefinement::setInstance(), and fvMeshSubset::setLargeCellSubset().

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

◆ updateMesh()

void updateMesh ( const mapPolyMesh )
inline

Force recalculation of locally stored data on topological change.

Definition at line 115 of file removeCells.H.

Referenced by meshRefinement::setInstance().

Here is the caller graph for this function:

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