All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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 topoChange (const polyTopoChangeMap &)
 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 59 of file removeCells.C.

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 72 of file removeCells.C.

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

Referenced by fvMeshSubset::getExposedFaces(), 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 178 of file removeCells.C.

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

Referenced by fvMeshSubset::setLargeCellSubset().

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

◆ topoChange()

void topoChange ( const polyTopoChangeMap )
inline

Force recalculation of locally stored data on topological change.

Definition at line 115 of file removeCells.H.


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