Public Member Functions | |
meshSurfacePartitioner (const meshSurfaceEngine &) | |
Construct from meshSurfaceEngine. More... | |
meshSurfacePartitioner (const meshSurfaceEngine &meshSurface, const labelList &facePatch) | |
Construct from meshSurfaceEngine and face patches. More... | |
~meshSurfacePartitioner () | |
const meshSurfaceEngine & | surfaceEngine () const |
return const reference to meshSurfaceEngine More... | |
const labelList & | boundaryFacePatches () const |
const VRWGraph & | pointPatches () const |
const labelHashSet & | corners () const |
return labels of corner points (from the list of boundary points) More... | |
const labelHashSet & | edgePoints () const |
return labels of edge points (from the list of boundary points) More... | |
label | numberOfFeatureEdgesAtPoint (const label bpI) const |
return the number of feature edges attached to a boundary point More... | |
const List< labelHashSet > & | patchPatches () const |
return patch-patches addressing More... | |
const labelHashSet & | featureEdges () const |
return labels of boundary edges which are feature edges More... | |
Private Member Functions | |
void | calculateCornersEdgesAndAddressing () |
find corners, edge points and addressing More... | |
meshSurfacePartitioner (const meshSurfacePartitioner &) | |
Disallow default bitwise copy construct. More... | |
void | operator= (const meshSurfacePartitioner &) |
Disallow default bitwise assignment. More... | |
Private Attributes | |
const meshSurfaceEngine & | meshSurface_ |
reference to mesh surface engine More... | |
const labelList & | facePatch_ |
pointer to face patches More... | |
VRWGraph | pointPatches_ |
patches at a surface point More... | |
labelHashSet | corners_ |
labels of corner points More... | |
labelHashSet | edgePoints_ |
labels of edge points More... | |
List< labelHashSet > | patchPatches_ |
patch-patches addressing More... | |
labelList | nEdgesAtPoint_ |
number of edges attached to a surface point More... | |
labelHashSet | featureEdges_ |
labels of feature edges More... | |
Definition at line 52 of file meshSurfacePartitioner.H.
|
private |
Disallow default bitwise copy construct.
meshSurfacePartitioner | ( | const meshSurfaceEngine & | meshSurface | ) |
Construct from meshSurfaceEngine.
Definition at line 38 of file meshSurfacePartitioner.C.
meshSurfacePartitioner | ( | const meshSurfaceEngine & | meshSurface, |
const labelList & | facePatch | ||
) |
Construct from meshSurfaceEngine and face patches.
Definition at line 55 of file meshSurfacePartitioner.C.
Definition at line 74 of file meshSurfacePartitioner.C.
|
private |
find corners, edge points and addressing
count the number of patches
set the size and starting creating addressing
find patches on other procs sharing surface edges
take into account feature edges at processor boundaries
gather data on all processors
exchange data as follows: 1. global point label 2. number of feature edges connected to the vertex
exchange information
add the edges from other processors to the points
mark edges and corners
find patches at a surface points
exchange data with other prcessors
Definition at line 38 of file meshSurfacePartitionerFunctions.C.
References LongList< T, Offset >::append(), VRWGraph::appendIfNotIn(), meshSurfaceEngine::beNeiProcs(), meshSurfaceEngine::boundaryPoints(), meshSurfaceEngine::bp(), meshSurfaceEngine::bpAtProcs(), meshSurfaceEngine::bpNeiProcs(), LongList< T, Offset >::clear(), List::clear(), HashTable::clear(), meshSurfacePartitioner::corners_, Foam::e, meshSurfaceEngine::edgeFaces(), meshSurfacePartitioner::edgePoints_, meshSurfaceEngine::edges(), Foam::endl(), Foam::help::exchangeMap(), meshSurfacePartitioner::facePatch_, meshSurfacePartitioner::featureEdges_, forAll, forAllConstIter(), forAllRow, meshSurfaceEngine::globalToLocalBndEdgeAddressing(), meshSurfaceEngine::globalToLocalBndPointAddressing(), Foam::Info, HashSet< Key, Hash >::insert(), Foam::max(), meshSurfacePartitioner::meshSurface_, UPstream::myProcNo(), meshSurfacePartitioner::nEdgesAtPoint_, nPatches, meshSurfaceEngine::otherEdgeFaceAtProc(), UPstream::parRun(), meshSurfacePartitioner::patchPatches_, meshSurfaceEngine::pointFaces(), meshSurfacePartitioner::pointPatches_, Foam::reduce(), List::setSize(), VRWGraph::setSize(), List::size(), LongList< T, Offset >::size(), VRWGraph::size(), HashTable::size(), and VRWGraph::sizeOfRow().
|
private |
Disallow default bitwise assignment.
|
inline |
return const reference to meshSurfaceEngine
Definition at line 109 of file meshSurfacePartitioner.H.
References meshSurfacePartitioner::meshSurface_.
Referenced by detectBoundaryLayers::analyseLayers(), boundaryLayerOptimisation::calculateNormalVectorsSmother(), meshSurfaceCheckInvertedVertices::checkVertices(), triangulateNonPlanarBaseFaces::findNonPlanarBoundaryFaces(), detectBoundaryLayers::generateHairEdges(), partTriMesh::partTriMesh(), and partTriMesh::updateVertices().
|
inline |
return const reference to a list containing boudary patch index for each boundary face
Definition at line 116 of file meshSurfacePartitioner.H.
References meshSurfacePartitioner::facePatch_.
Referenced by detectBoundaryLayers::analyseLayers(), and meshSurfaceCheckInvertedVertices::checkVertices().
|
inline |
return const reference to a graph of patches attached to a surface point
Definition at line 123 of file meshSurfacePartitioner.H.
References meshSurfacePartitioner::pointPatches_.
Referenced by edgeExtractor::checkCorners(), boundaryLayers::createLayerCells(), boundaryLayers::createNewEdgeVerticesParallel(), boundaryLayers::createNewVertex(), boundaryLayers::createNewVertices(), boundaryLayers::findPatchesToBeTreatedTogether(), boundaryLayers::findPatchVertices(), meshSurfaceMapper::mapCorners(), meshSurfaceMapper2D::mapCorners(), meshSurfaceMapper::mapEdgeNodes(), meshSurfaceMapper::mapVerticesOntoSurfacePatches(), and extrudeLayer::updateBoundary().
|
inline |
return labels of corner points (from the list of boundary points)
Definition at line 129 of file meshSurfacePartitioner.H.
References meshSurfacePartitioner::corners_.
Referenced by boundaryLayerOptimisation::calculateHairEdges(), meshOptimizer::calculatePointLocations(), edgeExtractor::checkCorners(), meshSurfaceCheckInvertedVertices::checkVertices(), meshSurfaceOptimizer::classifySurfaceVertices(), boundaryLayers::findPatchesToBeTreatedTogether(), meshSurfaceMapper::mapCorners(), meshSurfaceMapper2D::mapCorners(), meshSurfaceMapper::mapCornersAndEdges(), meshSurfaceMapper::mapVerticesOntoSurfacePatches(), and correctEdgesBetweenPatches::patchCorrection().
|
inline |
return labels of edge points (from the list of boundary points)
Definition at line 135 of file meshSurfacePartitioner.H.
References meshSurfacePartitioner::edgePoints_.
Referenced by boundaryLayerOptimisation::calculateHairEdges(), meshOptimizer::calculatePointLocations(), meshSurfaceCheckInvertedVertices::checkVertices(), meshSurfaceOptimizer::classifySurfaceVertices(), meshSurfaceMapper::mapCornersAndEdges(), meshSurfaceMapper::mapVerticesOntoSurfacePatches(), and correctEdgesBetweenPatches::patchCorrection().
return the number of feature edges attached to a boundary point
Definition at line 141 of file meshSurfacePartitioner.H.
References meshSurfacePartitioner::nEdgesAtPoint_.
Referenced by boundaryLayers::findPatchesToBeTreatedTogether().
|
inline |
return patch-patches addressing
Definition at line 147 of file meshSurfacePartitioner.H.
References meshSurfacePartitioner::patchPatches_.
|
inline |
return labels of boundary edges which are feature edges
Definition at line 153 of file meshSurfacePartitioner.H.
References meshSurfacePartitioner::featureEdges_.
Referenced by boundaryLayerOptimisation::calculateHairEdges(), and edgeExtractor::checkCorners().
|
private |
reference to mesh surface engine
Definition at line 56 of file meshSurfacePartitioner.H.
Referenced by meshSurfacePartitioner::calculateCornersEdgesAndAddressing(), and meshSurfacePartitioner::surfaceEngine().
|
private |
pointer to face patches
Definition at line 59 of file meshSurfacePartitioner.H.
Referenced by meshSurfacePartitioner::boundaryFacePatches(), and meshSurfacePartitioner::calculateCornersEdgesAndAddressing().
|
private |
patches at a surface point
Definition at line 62 of file meshSurfacePartitioner.H.
Referenced by meshSurfacePartitioner::calculateCornersEdgesAndAddressing(), and meshSurfacePartitioner::pointPatches().
|
private |
labels of corner points
Definition at line 65 of file meshSurfacePartitioner.H.
Referenced by meshSurfacePartitioner::calculateCornersEdgesAndAddressing(), and meshSurfacePartitioner::corners().
|
private |
labels of edge points
Definition at line 68 of file meshSurfacePartitioner.H.
Referenced by meshSurfacePartitioner::calculateCornersEdgesAndAddressing(), and meshSurfacePartitioner::edgePoints().
|
private |
patch-patches addressing
Definition at line 71 of file meshSurfacePartitioner.H.
Referenced by meshSurfacePartitioner::calculateCornersEdgesAndAddressing(), and meshSurfacePartitioner::patchPatches().
|
private |
number of edges attached to a surface point
Definition at line 74 of file meshSurfacePartitioner.H.
Referenced by meshSurfacePartitioner::calculateCornersEdgesAndAddressing(), and meshSurfacePartitioner::numberOfFeatureEdgesAtPoint().
|
private |
labels of feature edges
Definition at line 77 of file meshSurfacePartitioner.H.
Referenced by meshSurfacePartitioner::calculateCornersEdgesAndAddressing(), and meshSurfacePartitioner::featureEdges().
Copyright © 2011-2018 OpenFOAM | OPENFOAM® is a registered trademark of OpenCFD Ltd.