Public Member Functions | |
checkNonMappableCellConnections (polyMeshGen &mesh) | |
Construct from polyMeshGen and meshOctree. More... | |
~checkNonMappableCellConnections () | |
void | findCells (labelHashSet &badCells) |
find problematic cells More... | |
bool | removeCells () |
find and remove problematic cells More... | |
Private Types | |
enum | cellTypes_ { NONE = 0, INTERNALCELL = 1, BNDCELL = 2, ALLBNDVERTEXCELL = 4, INTERNALFACEGROUP = 8 } |
Private Member Functions | |
void | findCellTypes () |
classify cells More... | |
checkNonMappableCellConnections (const checkNonMappableCellConnections &) | |
Disallow default bitwise copy construct. More... | |
void | operator= (const checkNonMappableCellConnections &) |
Disallow default bitwise assignment. More... | |
Private Attributes | |
polyMeshGen & | mesh_ |
Reference to polyMeshGen. More... | |
labelList | cellType_ |
type of cell More... | |
Definition at line 53 of file checkNonMappableCellConnections.H.
|
private |
Enumerator | |
---|---|
NONE | |
INTERNALCELL | |
BNDCELL | |
ALLBNDVERTEXCELL | |
INTERNALFACEGROUP |
Definition at line 64 of file checkNonMappableCellConnections.H.
|
private |
Disallow default bitwise copy construct.
checkNonMappableCellConnections | ( | polyMeshGen & | mesh | ) |
Construct from polyMeshGen and meshOctree.
Definition at line 157 of file checkNonMappableCellConnections.C.
Definition at line 168 of file checkNonMappableCellConnections.C.
|
private |
classify cells
find boundary cells
find boundary cells with all vertices at the boundary
mark boundary cells with all vertices at the boundary
check if the internal faces are connected into a single group over their edges
Definition at line 46 of file checkNonMappableCellConnections.C.
References checkNonMappableCellConnections::ALLBNDVERTEXCELL, DynList< T, staticSize >::append(), checkNonMappableCellConnections::BNDCELL, polyMeshGenFaces::boundaries(), meshSurfaceEngine::bp(), Foam::constant::universal::c, cells, polyMeshGenCells::cells(), checkNonMappableCellConnections::cellType_, polyMeshGenFaces::faceIsInProcPatch(), polyMeshGenFaces::faces(), forAll, checkNonMappableCellConnections::INTERNALCELL, checkNonMappableCellConnections::INTERNALFACEGROUP, checkNonMappableCellConnections::mesh_, polyMeshGenFaces::nInternalFaces(), polyMeshGenFaces::owner(), DynList< T, staticSize >::removeLastElement(), List::setSize(), Foam::help::shareAnEdge(), and DynList< T, staticSize >::size().
Referenced by checkNonMappableCellConnections::findCells().
|
private |
Disallow default bitwise assignment.
void findCells | ( | labelHashSet & | badCells | ) |
find problematic cells
classify cell types
select ALLBNDVERTEXCELL and INTERNALFACEGROUP cells with at least one INTERNALCELL neighbour these cells do not need to stay in the mesh
exchange cell types at processor boundaries
send data to other processors
receive data from other processors
mark cells which have only one internal neighbour
Definition at line 174 of file checkNonMappableCellConnections.C.
References checkNonMappableCellConnections::ALLBNDVERTEXCELL, UPstream::blocking, Foam::constant::universal::c, cells, polyMeshGenCells::cells(), checkNonMappableCellConnections::cellType_, HashTable::clear(), polyMeshGenFaces::faceIsInProcPatch(), checkNonMappableCellConnections::findCellTypes(), forAll, HashSet< Key, Hash >::insert(), checkNonMappableCellConnections::INTERNALCELL, checkNonMappableCellConnections::INTERNALFACEGROUP, checkNonMappableCellConnections::mesh_, polyMeshGenFaces::neighbour(), polyMeshGenFaces::nInternalFaces(), polyMeshGenFaces::owner(), UPstream::parRun(), polyMeshGenFaces::procBoundaries(), List::setSize(), List::size(), and PtrList::size().
Referenced by checkNonMappableCellConnections::removeCells().
bool removeCells | ( | ) |
find and remove problematic cells
Definition at line 293 of file checkNonMappableCellConnections.C.
References polyMeshGenCells::cells(), Foam::endl(), checkNonMappableCellConnections::findCells(), forAllConstIter(), Foam::Info, checkNonMappableCellConnections::mesh_, Foam::reduce(), polyMeshGenModifier::removeCells(), cellListPMG::size(), and HashTable::size().
|
private |
Reference to polyMeshGen.
Definition at line 57 of file checkNonMappableCellConnections.H.
Referenced by checkNonMappableCellConnections::findCells(), checkNonMappableCellConnections::findCellTypes(), and checkNonMappableCellConnections::removeCells().
|
private |
type of cell
Definition at line 60 of file checkNonMappableCellConnections.H.
Referenced by checkNonMappableCellConnections::findCells(), and checkNonMappableCellConnections::findCellTypes().
Copyright © 2011-2018 OpenFOAM | OPENFOAM® is a registered trademark of OpenCFD Ltd.