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

  • get faces that will become boundary faces
  • given these faces and the patches they have to go into make the changes.
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 synchronisation.

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 MeshZones< 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: