Public Member Functions | |
topologicalCleaner (polyMeshGen &mesh) | |
Construct from polyMeshGen. More... | |
~topologicalCleaner () | |
bool | cleanTopology () |
clean topologically problematic cells More... | |
void | checkInvalidConnectionsForVerticesCells (labelHashSet *irregularNodes=NULL) |
check and fix vertices where two or more groups of cells meet More... | |
void | checkInvalidConnectionsForVerticesFaces (labelHashSet *irregularNodes=NULL) |
check and fix vertices where two or more groups of faces meet More... | |
Private Member Functions | |
void | checkNonConsecutiveBoundaryVertices () |
check and fix incorrectly connected faces More... | |
void | checkNonMappableFaces () |
check and fix non-mappable faces More... | |
void | checkNonMappableCells () |
check and fix non-mappable cells More... | |
void | decomposeCells () |
decompose marked cells More... | |
topologicalCleaner (const topologicalCleaner &) | |
Disallow default bitwise copy construct. More... | |
void | operator= (const topologicalCleaner &) |
Disallow default bitwise assignment. More... | |
Private Attributes | |
polyMeshGen & | mesh_ |
bool | changed_ |
boolList | decomposeCell_ |
Definition at line 50 of file topologicalCleaner.H.
|
private |
Disallow default bitwise copy construct.
topologicalCleaner | ( | polyMeshGen & | mesh | ) |
Construct from polyMeshGen.
Definition at line 56 of file topologicalCleaner.C.
~topologicalCleaner | ( | ) |
Definition at line 68 of file topologicalCleaner.C.
|
private |
check and fix incorrectly connected faces
Definition at line 41 of file topologyCleanerNonConsecutiveBoundaryVertices.C.
References DynList< T, staticSize >::append(), polyMeshGenFaces::boundaries(), Foam::constant::universal::c, cells, polyMeshGenCells::cells(), topologicalCleaner::changed_, topologicalCleaner::decomposeCell_, decomposeFaces::decomposeMeshFaces(), Foam::endl(), f(), polyMeshGenFaces::faceIsInProcPatch(), polyMeshGenFaces::faces(), forAll, Foam::Info, topologicalCleaner::mesh_, polyMeshGenFaces::nInternalFaces(), polyMeshGenFaces::owner(), UPstream::parRun(), Foam::reduce(), faceListPMG::size(), and DynList< T, staticSize >::size().
Referenced by topologicalCleaner::cleanTopology().
|
private |
check and fix non-mappable faces
find boundary vertices
internal faces which have more than two vertices at the boundary cannot always be mapped at the boundary and form a valid cell The second case of interest are faces which have two vertices at the boundary but are not connected over an edge
check processor faces
send information about decomposed faces to other processor
Definition at line 79 of file topologyCleanerNonMappableCells.C.
References DynList< T, staticSize >::append(), UPstream::blocking, polyMeshGenFaces::boundaries(), topologicalCleaner::changed_, topologicalCleaner::decomposeCell_, decomposeFaces::decomposeMeshFaces(), Foam::endl(), f(), polyMeshGenFaces::faces(), forAll, Foam::Info, topologicalCleaner::mesh_, polyMeshGenFaces::neighbour(), polyMeshGenFaces::nInternalFaces(), polyMeshGenFaces::owner(), UPstream::parRun(), polyMeshGenPoints::points(), polyMeshGenFaces::procBoundaries(), Foam::reduce(), faceListPMG::size(), pointFieldPMG::size(), and DynList< T, staticSize >::size().
Referenced by topologicalCleaner::cleanTopology().
|
private |
check and fix non-mappable cells
decompose cells with more than one boundary face
Definition at line 42 of file topologyCleanerNonMappableCells.C.
References polyMeshGenFaces::boundaries(), polyMeshGenCells::cells(), topologicalCleaner::changed_, topologicalCleaner::decomposeCell_, Foam::endl(), forAll, Foam::Info, topologicalCleaner::mesh_, polyMeshGenFaces::owner(), UPstream::parRun(), Foam::reduce(), and cellListPMG::size().
Referenced by topologicalCleaner::cleanTopology().
|
private |
decompose marked cells
Definition at line 43 of file topologicalCleaner.C.
References topologicalCleaner::changed_, topologicalCleaner::decomposeCell_, decomposeCells::decomposeMesh(), and topologicalCleaner::mesh_.
Referenced by topologicalCleaner::cleanTopology().
|
private |
Disallow default bitwise assignment.
bool cleanTopology | ( | ) |
clean topologically problematic cells
Definition at line 74 of file topologicalCleaner.C.
References topologicalCleaner::changed_, topologicalCleaner::checkInvalidConnectionsForVerticesCells(), topologicalCleaner::checkInvalidConnectionsForVerticesFaces(), topologicalCleaner::checkNonConsecutiveBoundaryVertices(), topologicalCleaner::checkNonMappableCells(), topologicalCleaner::checkNonMappableFaces(), topologicalCleaner::decomposeCells(), and topologicalCleaner::mesh_.
void checkInvalidConnectionsForVerticesCells | ( | labelHashSet * | irregularNodes = NULL | ) |
check and fix vertices where two or more groups of cells meet
Definition at line 45 of file topologicalCleanerInvalidVertices.C.
References DynList< T, staticSize >::append(), meshSurfaceEngine::boundaryPoints(), Foam::constant::universal::c, cells, Foam::endl(), Foam::exit(), f(), polyMeshGenModifier::facesAccess(), Foam::FatalError, FatalErrorIn, forAll, forAllRow, Foam::Info, HashSet< Key, Hash >::insert(), nPoints, p, UPstream::parRun(), points, polyMeshGenModifier::pointsAccess(), polyMeshGenModifier::removeUnusedVertices(), DynList< T, staticSize >::size(), and VRWGraph::sizeOfRow().
Referenced by topologicalCleaner::cleanTopology().
void checkInvalidConnectionsForVerticesFaces | ( | labelHashSet * | irregularNodes = NULL | ) |
check and fix vertices where two or more groups of faces meet
boundary edges at processor boundaries
send data to other processors
Definition at line 180 of file topologicalCleanerInvalidVertices.C.
References DynList< T, staticSize >::append(), meshSurfaceEngine::beAtProcs(), UPstream::blocking, LongList< T, Offset >::byteSize(), meshSurfaceEngine::edgeFaces(), meshSurfaceEngine::faceOwners(), forAll, forAllRow, meshSurfaceEngine::globalBoundaryEdgeLabel(), meshSurfaceEngine::globalToLocalBndEdgeAddressing(), UPstream::myProcNo(), UPstream::parRun(), Foam::reduce(), polyMeshGenModifier::removeCells(), and VRWGraph::sizeOfRow().
Referenced by topologicalCleaner::cleanTopology().
|
private |
|
private |
|
private |
Definition at line 57 of file topologicalCleaner.H.
Referenced by topologicalCleaner::checkNonConsecutiveBoundaryVertices(), topologicalCleaner::checkNonMappableCells(), topologicalCleaner::checkNonMappableFaces(), and topologicalCleaner::decomposeCells().
Copyright © 2011-2018 OpenFOAM | OPENFOAM® is a registered trademark of OpenCFD Ltd.