Public Member Functions | |
checkBoundaryFacesSharingTwoEdges (polyMeshGen &mesh) | |
Construct from polyMeshGen and meshOctree. More... | |
~checkBoundaryFacesSharingTwoEdges () | |
void | findPoints (labelHashSet &badPoints) |
find boundary points connected to two boundary faces, only More... | |
bool | improveTopology () |
Private Member Functions | |
void | createMeshSurface () const |
creates meshSurfaceEngine More... | |
const meshSurfaceEngine & | meshSurface () const |
returns mesh surface More... | |
void | findFacesAtBndEdge () |
void | findBndFacesAtBndVertex () |
find the number of faces connected to the boundary vertex More... | |
void | removeExcessiveVertices () |
remove vertices from the faces More... | |
label | findBndFacesForDecomposition (boolList &decomposeFace) |
find boundary faces which shall be decomposed into triangles More... | |
checkBoundaryFacesSharingTwoEdges (const checkBoundaryFacesSharingTwoEdges &) | |
Disallow default bitwise copy construct. More... | |
void | operator= (const checkBoundaryFacesSharingTwoEdges &) |
Disallow default bitwise assignment. More... | |
Private Attributes | |
polyMeshGen & | mesh_ |
Reference to polyMeshGen. More... | |
meshSurfaceEngine * | meshSurfacePtr_ |
pointer to meshSurfaceEngine More... | |
labelList | nBndFacesAtBndPoint_ |
number of boundary faces attached to a boundary vertex More... | |
boolList | removeBndPoint_ |
a list of boundary points which can be removed from the mesh More... | |
Definition at line 56 of file checkBoundaryFacesSharingTwoEdges.H.
|
private |
Disallow default bitwise copy construct.
checkBoundaryFacesSharingTwoEdges | ( | polyMeshGen & | mesh | ) |
Construct from polyMeshGen and meshOctree.
Definition at line 421 of file checkBoundaryFacesSharingTwoEdges.C.
Definition at line 434 of file checkBoundaryFacesSharingTwoEdges.C.
References Foam::deleteDemandDrivenData(), and checkBoundaryFacesSharingTwoEdges::meshSurfacePtr_.
|
private |
creates meshSurfaceEngine
Definition at line 48 of file checkBoundaryFacesSharingTwoEdges.C.
References checkBoundaryFacesSharingTwoEdges::mesh_, and checkBoundaryFacesSharingTwoEdges::meshSurfacePtr_.
Referenced by checkBoundaryFacesSharingTwoEdges::meshSurface().
|
inlineprivate |
returns mesh surface
Definition at line 76 of file checkBoundaryFacesSharingTwoEdges.H.
References checkBoundaryFacesSharingTwoEdges::createMeshSurface(), and checkBoundaryFacesSharingTwoEdges::meshSurfacePtr_.
Referenced by checkBoundaryFacesSharingTwoEdges::findBndFacesAtBndVertex(), checkBoundaryFacesSharingTwoEdges::findFacesAtBndEdge(), checkBoundaryFacesSharingTwoEdges::findPoints(), and checkBoundaryFacesSharingTwoEdges::removeExcessiveVertices().
|
private |
find the faces connected to each boundary edge mark the points which can be removed
find the internal faces attached to the boundary points
check processor faces
make sure that all processors have the same information
the point shall not be removed
exchange data
set remove flag to false
Definition at line 53 of file checkBoundaryFacesSharingTwoEdges.C.
References meshSurfaceEngine::boundaryPointEdges(), meshSurfaceEngine::bp(), meshSurfaceEngine::bpAtProcs(), meshSurfaceEngine::bpNeiProcs(), meshSurfaceEngine::edges(), Foam::help::exchangeMap(), f(), polyMeshGenFaces::faces(), forAll, forAllConstIter(), forAllRow, meshSurfaceEngine::globalToLocalBndPointAddressing(), checkBoundaryFacesSharingTwoEdges::mesh_, checkBoundaryFacesSharingTwoEdges::meshSurface(), UPstream::myProcNo(), checkBoundaryFacesSharingTwoEdges::nBndFacesAtBndPoint_, polyMeshGenFaces::nInternalFaces(), UPstream::parRun(), polyMeshGenFaces::procBoundaries(), checkBoundaryFacesSharingTwoEdges::removeBndPoint_, List::setSize(), and VRWGraph::size().
Referenced by checkBoundaryFacesSharingTwoEdges::improveTopology().
|
private |
find the number of faces connected to the boundary vertex
create data that shall be exhcnaged
exchange data with other processors
Definition at line 206 of file checkBoundaryFacesSharingTwoEdges.C.
References meshSurfaceEngine::bpAtProcs(), meshSurfaceEngine::bpNeiProcs(), Foam::help::exchangeMap(), forAll, forAllConstIter(), forAllRow, meshSurfaceEngine::globalToLocalBndPointAddressing(), checkBoundaryFacesSharingTwoEdges::meshSurface(), UPstream::myProcNo(), checkBoundaryFacesSharingTwoEdges::nBndFacesAtBndPoint_, UPstream::parRun(), meshSurfaceEngine::pointFaces(), List::setSize(), LongList< T, Offset >::size(), VRWGraph::size(), and VRWGraph::sizeOfRow().
Referenced by checkBoundaryFacesSharingTwoEdges::findPoints(), and checkBoundaryFacesSharingTwoEdges::improveTopology().
|
private |
remove vertices from the faces
remove points which can be safely be removed internal faces
boundary faces
processor boundaries
Definition at line 257 of file checkBoundaryFacesSharingTwoEdges.C.
References DynList< T, staticSize >::append(), polyMeshGenFaces::boundaries(), meshSurfaceEngine::bp(), f(), polyMeshGenFaces::faces(), forAll, checkBoundaryFacesSharingTwoEdges::mesh_, checkBoundaryFacesSharingTwoEdges::meshSurface(), checkBoundaryFacesSharingTwoEdges::nBndFacesAtBndPoint_, polyMeshGenFaces::nInternalFaces(), processorBoundaryPatch::owner(), boundaryPatchBase::patchSize(), boundaryPatchBase::patchStart(), polyMeshGenFaces::procBoundaries(), checkBoundaryFacesSharingTwoEdges::removeBndPoint_, List::setSize(), and DynList< T, staticSize >::size().
Referenced by checkBoundaryFacesSharingTwoEdges::improveTopology().
find boundary faces which shall be decomposed into triangles
Definition at line 381 of file checkBoundaryFacesSharingTwoEdges.C.
References meshSurfaceEngine::boundaryFaces(), meshSurfaceEngine::bp(), forAll, and Foam::reduce().
Referenced by checkBoundaryFacesSharingTwoEdges::improveTopology().
|
private |
Disallow default bitwise assignment.
void findPoints | ( | labelHashSet & | badPoints | ) |
find boundary points connected to two boundary faces, only
Definition at line 441 of file checkBoundaryFacesSharingTwoEdges.C.
References meshSurfaceEngine::boundaryPoints(), HashTable::clear(), checkBoundaryFacesSharingTwoEdges::findBndFacesAtBndVertex(), forAll, HashSet< Key, Hash >::insert(), checkBoundaryFacesSharingTwoEdges::meshSurface(), and checkBoundaryFacesSharingTwoEdges::nBndFacesAtBndPoint_.
bool improveTopology | ( | ) |
find boundary points connected to two boundary faces remove points if possible, decompose boundary faces otherwise
delete the mesh surface engine
find cells which will be decomposed
decompose marked faces
decompose cells
Definition at line 457 of file checkBoundaryFacesSharingTwoEdges.C.
References polyMeshGenCells::cells(), decomposeCells::decomposeMesh(), decomposeFaces::decomposeMeshFaces(), Foam::deleteDemandDrivenData(), Foam::endl(), polyMeshGenFaces::faces(), checkBoundaryFacesSharingTwoEdges::findBndFacesAtBndVertex(), checkBoundaryFacesSharingTwoEdges::findBndFacesForDecomposition(), checkBoundaryFacesSharingTwoEdges::findFacesAtBndEdge(), forAll, Foam::Info, checkBoundaryFacesSharingTwoEdges::mesh_, checkBoundaryFacesSharingTwoEdges::meshSurfacePtr_, polyMeshGenFaces::owner(), polyMeshGenPoints::points(), checkBoundaryFacesSharingTwoEdges::removeExcessiveVertices(), polyMeshGenModifier::removeUnusedVertices(), cellListPMG::size(), faceListPMG::size(), and pointFieldPMG::size().
Referenced by cartesian2DMeshGenerator::surfacePreparation(), and cartesianMeshGenerator::surfacePreparation().
|
private |
Reference to polyMeshGen.
Definition at line 60 of file checkBoundaryFacesSharingTwoEdges.H.
Referenced by checkBoundaryFacesSharingTwoEdges::createMeshSurface(), checkBoundaryFacesSharingTwoEdges::findFacesAtBndEdge(), checkBoundaryFacesSharingTwoEdges::improveTopology(), and checkBoundaryFacesSharingTwoEdges::removeExcessiveVertices().
|
mutableprivate |
pointer to meshSurfaceEngine
Definition at line 63 of file checkBoundaryFacesSharingTwoEdges.H.
Referenced by checkBoundaryFacesSharingTwoEdges::createMeshSurface(), checkBoundaryFacesSharingTwoEdges::improveTopology(), checkBoundaryFacesSharingTwoEdges::meshSurface(), and checkBoundaryFacesSharingTwoEdges::~checkBoundaryFacesSharingTwoEdges().
|
private |
number of boundary faces attached to a boundary vertex
Definition at line 66 of file checkBoundaryFacesSharingTwoEdges.H.
Referenced by checkBoundaryFacesSharingTwoEdges::findBndFacesAtBndVertex(), checkBoundaryFacesSharingTwoEdges::findFacesAtBndEdge(), checkBoundaryFacesSharingTwoEdges::findPoints(), and checkBoundaryFacesSharingTwoEdges::removeExcessiveVertices().
|
private |
a list of boundary points which can be removed from the mesh
Definition at line 69 of file checkBoundaryFacesSharingTwoEdges.H.
Referenced by checkBoundaryFacesSharingTwoEdges::findFacesAtBndEdge(), and checkBoundaryFacesSharingTwoEdges::removeExcessiveVertices().
Copyright © 2011-2018 OpenFOAM | OPENFOAM® is a registered trademark of OpenCFD Ltd.