Public Member Functions | Private Member Functions | Private Attributes
meshSurfacePartitioner Class Reference
Collaboration diagram for meshSurfacePartitioner:
Collaboration graph
[legend]

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 meshSurfaceEnginesurfaceEngine () const
 return const reference to meshSurfaceEngine More...
 
const labelListboundaryFacePatches () const
 
const VRWGraphpointPatches () const
 
const labelHashSetcorners () const
 return labels of corner points (from the list of boundary points) More...
 
const labelHashSetedgePoints () 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 labelHashSetfeatureEdges () 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 meshSurfaceEnginemeshSurface_
 reference to mesh surface engine More...
 
const labelListfacePatch_
 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< labelHashSetpatchPatches_
 patch-patches addressing More...
 
labelList nEdgesAtPoint_
 number of edges attached to a surface point More...
 
labelHashSet featureEdges_
 labels of feature edges More...
 

Detailed Description

Definition at line 52 of file meshSurfacePartitioner.H.

Constructor & Destructor Documentation

◆ meshSurfacePartitioner() [1/3]

Disallow default bitwise copy construct.

◆ meshSurfacePartitioner() [2/3]

meshSurfacePartitioner ( const meshSurfaceEngine meshSurface)

Construct from meshSurfaceEngine.

Definition at line 38 of file meshSurfacePartitioner.C.

◆ meshSurfacePartitioner() [3/3]

meshSurfacePartitioner ( const meshSurfaceEngine meshSurface,
const labelList facePatch 
)

Construct from meshSurfaceEngine and face patches.

Definition at line 55 of file meshSurfacePartitioner.C.

◆ ~meshSurfacePartitioner()

Definition at line 74 of file meshSurfacePartitioner.C.

Member Function Documentation

◆ calculateCornersEdgesAndAddressing()

void calculateCornersEdgesAndAddressing ( )
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().

Here is the call graph for this function:

◆ operator=()

void operator= ( const meshSurfacePartitioner )
private

Disallow default bitwise assignment.

◆ surfaceEngine()

const meshSurfaceEngine& surfaceEngine ( ) const
inline

◆ boundaryFacePatches()

const labelList& boundaryFacePatches ( ) const
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().

Here is the caller graph for this function:

◆ pointPatches()

const VRWGraph& pointPatches ( ) const
inline

◆ corners()

const labelHashSet& corners ( ) const
inline

◆ edgePoints()

const labelHashSet& edgePoints ( ) const
inline

◆ numberOfFeatureEdgesAtPoint()

label numberOfFeatureEdgesAtPoint ( const label  bpI) const
inline

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().

Here is the caller graph for this function:

◆ patchPatches()

const List<labelHashSet>& patchPatches ( ) const
inline

return patch-patches addressing

Definition at line 147 of file meshSurfacePartitioner.H.

References meshSurfacePartitioner::patchPatches_.

◆ featureEdges()

const labelHashSet& featureEdges ( ) const
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().

Here is the caller graph for this function:

Field Documentation

◆ meshSurface_

const meshSurfaceEngine& meshSurface_
private

reference to mesh surface engine

Definition at line 56 of file meshSurfacePartitioner.H.

Referenced by meshSurfacePartitioner::calculateCornersEdgesAndAddressing(), and meshSurfacePartitioner::surfaceEngine().

◆ facePatch_

const labelList& facePatch_
private

◆ pointPatches_

VRWGraph pointPatches_
private

◆ corners_

labelHashSet corners_
private

◆ edgePoints_

labelHashSet edgePoints_
private

◆ patchPatches_

List<labelHashSet> patchPatches_
private

◆ nEdgesAtPoint_

labelList nEdgesAtPoint_
private

number of edges attached to a surface point

Definition at line 74 of file meshSurfacePartitioner.H.

Referenced by meshSurfacePartitioner::calculateCornersEdgesAndAddressing(), and meshSurfacePartitioner::numberOfFeatureEdgesAtPoint().

◆ featureEdges_

labelHashSet featureEdges_
private

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