Public Member Functions | |
cornerEvaluator (const edgeExtractor &, const meshSurfacePartitioner &) | |
construct from edgeExtractor and meshSurfacePartitioner More... | |
~cornerEvaluator () | |
void | improveCorners (labelList &newBoundaryPatches) |
Private Member Functions | |
void | createParallelAddressing () |
create addressing at inter-processor boundaries More... | |
void | sortedFacesAtPoint (const label, DynList< label > &) const |
sort faces attached to a boundary point More... | |
Private Attributes | |
const edgeExtractor & | extractor_ |
const reference to the parent class More... | |
const meshSurfacePartitioner & | partitioner_ |
const reference to meshSurfacePartitioner More... | |
std::map< label, DynList< DynList< labelledPoint, 6 > > > | faceMap_ |
faces attached to points at inter-processor boundaries More... | |
std::map< label, DynList< label > > | facePatches_ |
std::map< label, DynList< label > > | faceAtProc_ |
Definition at line 282 of file edgeExtractor.H.
cornerEvaluator | ( | const edgeExtractor & | ee, |
const meshSurfacePartitioner & | mPart | ||
) |
construct from edgeExtractor and meshSurfacePartitioner
Definition at line 653 of file edgeExtractorCorners.C.
References UPstream::parRun().
~cornerEvaluator | ( | ) |
Definition at line 670 of file edgeExtractorCorners.C.
|
private |
create addressing at inter-processor boundaries
data is send in the ollowing form 1. globsl label of the current point 2. number of faces attached to the point 3. for each face send its patch, number of points and point
srot the faces in the counter-clockwise order
Definition at line 448 of file edgeExtractorCorners.C.
References LongList< T, Offset >::append(), DynList< T, staticSize >::append(), meshSurfaceEngine::boundaryFaces(), meshSurfaceEngine::bp(), meshSurfaceEngine::bpAtProcs(), meshSurfaceEngine::bpNeiProcs(), DynList< T, staticSize >::contains(), Foam::help::exchangeMap(), forAll, forAllConstIter(), forAllRow, HashTable::found(), meshSurfaceEngine::globalBoundaryPointLabel(), meshSurfaceEngine::globalToLocalBndPointAddressing(), UPstream::myProcNo(), pFaces, meshSurfaceEngine::pointFaces(), points, meshSurfaceEngine::points(), Foam::pos(), DynList< T, staticSize >::rcIndex(), List::size(), VRWGraph::sizeOfRow(), and Vector< scalar >::zero.
sort faces attached to a boundary point
Definition at line 619 of file edgeExtractorCorners.C.
References meshSurfaceEngine::boundaryFaces(), VRWGraph::containsAtPosition(), Foam::e, face::faceEdge(), forAll, pFaces, meshSurfaceEngine::pointFaces(), meshSurfaceEngine::pointInFaces(), and Foam::pos().
void improveCorners | ( | labelList & | newBoundaryPatches | ) |
check patches of the faces attached to corners and re-assign the patches such that the mesh undergoes minimum rotation during the projection stage
get faces attached to this point sorted in the counter-clocwise order
find feature edges attached to the point
find the best aligned feature edge to the feature edge
find the proection of the first point onto the feature edge
calculate the vector of current edge
project the endpoint onto the feature edge
calculate alignment metrix between the current edge and the feature edge
Definition at line 676 of file edgeExtractorCorners.C.
References DynList< T, staticSize >::append(), meshSurfaceEngine::boundaryFaces(), meshSurfaceEngine::boundaryPoints(), DynList< T, staticSize >::contains(), Foam::endl(), DynList< T, staticSize >::fcIndex(), meshOctree::findNearestPointToPatches(), forAll, forAllConstIter(), fv(), Foam::Info, Foam::mag(), p, patches, pFaces, points, meshSurfaceEngine::points(), Foam::pos(), DynList< T, staticSize >::size(), and face::which().
|
private |
const reference to the parent class
Definition at line 286 of file edgeExtractor.H.
|
private |
const reference to meshSurfacePartitioner
Definition at line 289 of file edgeExtractor.H.
|
private |
faces attached to points at inter-processor boundaries
Definition at line 292 of file edgeExtractor.H.
Definition at line 293 of file edgeExtractor.H.
Definition at line 294 of file edgeExtractor.H.
Copyright © 2011-2018 OpenFOAM | OPENFOAM® is a registered trademark of OpenCFD Ltd.