Various mesh related information for a parallel run. Upon construction, constructs all info using parallel communication. More...
#include <globalMeshData.H>
Public Member Functions | |
| globalMeshData (const globalMeshData &)=delete | |
| No copy construct. | |
| void | operator= (const globalMeshData &)=delete |
| No copy assignment. | |
| ClassName ("globalMeshData") | |
| Runtime type information. | |
| globalMeshData (const polyMesh &mesh) | |
| Construct from mesh, derive rest (does parallel communication!). | |
| ~globalMeshData () | |
| Destructor. | |
| void | clearOut () |
| Remove all demand driven data. | |
| const polyMesh & | mesh () const noexcept |
| Return the mesh reference. | |
| bool | parallel () const noexcept |
| Does the mesh contain processor patches? (also valid when not running parallel). | |
| const globalIndex & | globalMeshPointAddr () const noexcept |
| Global numbering for mesh points. Not compensated for duplicate points! | |
| const globalIndex & | globalMeshFaceAddr () const noexcept |
| Global numbering for mesh faces. Not compensated for duplicate faces! | |
| const globalIndex & | globalMeshCellAddr () const noexcept |
| Global numbering for mesh cells. | |
| label | nTotalPoints () const noexcept |
| Total global number of mesh points. Not compensated for duplicate points! | |
| label | nTotalFaces () const noexcept |
| Total global number of mesh faces. Not compensated for duplicate faces! | |
| label | nTotalCells () const noexcept |
| Total global number of mesh cells. | |
| const processorTopology & | topology () const noexcept |
| The processor to processor topology. | |
| const lduSchedule & | patchSchedule () const noexcept |
| Order in which the patches should be initialised/evaluated corresponding to the schedule. | |
| const labelList & | processorPatches () const noexcept |
| Return list of processor patch labels. | |
| const labelList & | processorPatchIndices () const noexcept |
| Return list of indices into processorPatches_ for each patch. | |
| const labelList & | processorPatchNeighbours () const noexcept |
| Return processorPatchIndices of the neighbours processor patches. -1 if not running parallel. | |
| label | nGlobalPoints () const |
| Return number of globally shared points. | |
| const labelList & | sharedPointLabels () const |
| Return indices of local points that are globally shared. | |
| const labelList & | sharedPointAddr () const |
| Return addressing into the complete globally shared points list. | |
| const labelList & | sharedPointGlobalLabels () const |
| Return shared point global labels. Tries to read 'pointProcAddressing' and returns list or -1 if none available. | |
| pointField | sharedPoints () const |
| Collect coordinates of shared points on all processors. (does parallel communication!). | |
| pointField | geometricSharedPoints () const |
| Like sharedPoints but keeps cyclic points separate. (does geometric merging; uses matchTol_*bb as merging tolerance) Use sharedPoints() instead. | |
| label | nGlobalEdges () const |
| Return number of globally shared edges. | |
| const labelList & | sharedEdgeLabels () const |
| Return indices of local edges that are globally shared. | |
| const labelList & | sharedEdgeAddr () const |
| Return addressing into the complete globally shared edge list. | |
| const indirectPrimitivePatch & | coupledPatch () const |
| Return patch of all coupled faces. | |
| const labelList & | coupledPatchMeshEdges () const |
| Return map from coupledPatch edges to mesh edges. | |
| const Map< label > & | coupledPatchMeshEdgeMap () const |
| Return map from mesh edges to coupledPatch edges. | |
| const globalIndexAndTransform & | globalTransforms () const |
| Global transforms numbering. | |
| const globalIndex & | globalPointNumbering () const |
| Numbering of coupled points is according to coupledPatch. | |
| const labelListList & | globalPointSlaves () const |
| const labelListList & | globalPointTransformedSlaves () const |
| const mapDistribute & | globalPointSlavesMap () const |
| template<class Type, class CombineOp, class TransformOp> | |
| void | syncPointData (List< Type > &pointData, const CombineOp &cop, const TransformOp &top) const |
| Helper to synchronise coupled patch point data. | |
| const globalIndex & | globalEdgeNumbering () const |
| const labelListList & | globalEdgeSlaves () const |
| const labelListList & | globalEdgeTransformedSlaves () const |
| const mapDistribute & | globalEdgeSlavesMap () const |
| const bitSet & | globalEdgeOrientation () const |
| Is my edge same orientation as master edge. | |
| const labelListList & | globalCoPointSlaves () const |
| const mapDistribute & | globalCoPointSlavesMap () const |
| const globalIndex & | globalBoundaryFaceNumbering () const |
| Numbering of boundary faces is face-mesh.nInternalFaces(). | |
| const labelListList & | globalPointBoundaryFaces () const |
| const labelListList & | globalPointTransformedBoundaryFaces () const |
| const mapDistribute & | globalPointBoundaryFacesMap () const |
| const labelList & | boundaryCells () const |
| From boundary cell to mesh cell. | |
| const globalIndex & | globalBoundaryCellNumbering () const |
| Numbering of boundary cells is according to boundaryCells(). | |
| const labelListList & | globalPointBoundaryCells () const |
| const labelListList & | globalPointTransformedBoundaryCells () const |
| const mapDistribute & | globalPointBoundaryCellsMap () const |
| autoPtr< globalIndex > | mergePoints (labelList &pointToGlobal, labelList &uniquePoints) const |
| Helper for merging (collocated!) mesh point data. | |
| autoPtr< globalIndex > | mergePoints (const labelUList &meshPoints, const Map< label > &meshPointMap, labelList &pointToGlobal, labelList &uniqueMeshPoints) const |
| Helper for merging (collocated!) patch point data. | |
| void | movePoints (const pointField &newPoints) |
| Update for moving points. | |
| void | updateMesh () |
| Change global mesh data given a topological change. Does a. | |
Static Public Member Functions | |
| template<class Type, class CombineOp, class TransformOp> | |
| static void | syncData (List< Type > &elems, const labelListList &slaves, const labelListList &transformedSlaves, const mapDistribute &slavesMap, const globalIndexAndTransform &, const CombineOp &cop, const TransformOp &top) |
| Helper: synchronise data with transforms. | |
| template<class Type, class CombineOp> | |
| static void | syncData (List< Type > &elems, const labelListList &slaves, const labelListList &transformedSlaves, const mapDistribute &slavesMap, const CombineOp &cop) |
| Helper: synchronise data without transforms. | |
| static void | calcCellCells (const polyMesh &mesh, const labelUList &agglom, const label nLocalCoarse, const bool parallel, CompactListList< label > &cellCells) |
| Determine (local or global) cellCells from mesh agglomeration. | |
| static void | calcCellCells (const polyMesh &mesh, const labelUList &agglom, const label nLocalCoarse, const bool parallel, CompactListList< label > &cellCells, CompactListList< scalar > &cellCellWeights) |
| Determine (local or global) cellCells and face weights from mesh agglomeration. | |
| static void | calcCellCells (const polyMesh &mesh, CompactListList< label > &cellCells, const bool parallel=false) |
| Determine (local or global) mesh connectivity. | |
| static labelList | calcCellCells (const polyMesh &mesh, const bitSet &selectedCells, CompactListList< label > &cellCells, const bool parallel=false) |
| Determine (local or global) sub-mesh connectivity. | |
| static labelList | calcCellCells (const polyMesh &mesh, const labelUList &selectedCells, CompactListList< label > &cellCells, const bool parallel=false) |
| Determine (local or global) sub-mesh connectivity. | |
Static Public Attributes | |
| static const Foam::scalar | matchTol_ = 1e-8 |
| Geometric tolerance (fraction of bounding box). | |
Various mesh related information for a parallel run. Upon construction, constructs all info using parallel communication.
Requires:
The shared point and edge addressing calculates addressing for points and edges on coupled patches. In the 'old' way a distinction was made between points/edges that are only on two processors and those that are on multiple processors. The problem is that those on multiple processors do not allow any transformations and require a global reduction on the master processor.
The alternative is to have an exchange schedule (through a 'mapDistribute') which sends all point/edge data (no distinction is made between those on two and those on more than two coupled patches) to the local 'master'. This master then does any calculation and sends the result back to the 'slave' points/edges. This only needs to be done on points on coupled faces. Any transformation is done using a predetermined set of transformations - since transformations have to be space filling only a certain number of transformation is supported.
The exchange needs
Definition at line 104 of file globalMeshData.H.
|
delete |
No copy construct.
References globalMeshData().
Referenced by globalMeshData(), and operator=().


| globalMeshData | ( | const polyMesh & | mesh | ) |
Construct from mesh, derive rest (does parallel communication!).
Definition at line 1787 of file globalMeshData.C.
References mesh(), Foam::New(), and updateMesh().

| ~globalMeshData | ( | ) |
Destructor.
Definition at line 1808 of file globalMeshData.C.
|
delete |
| ClassName | ( | "globalMeshData" | ) |
Runtime type information.
| void clearOut | ( | ) |
Remove all demand driven data.
Definition at line 1812 of file globalMeshData.C.
Referenced by updateMesh().

|
inlinenoexcept |
Return the mesh reference.
Definition at line 430 of file globalMeshData.H.
References Foam::noexcept.
Referenced by calcCellCells(), calcCellCells(), calcCellCells(), calcCellCells(), calcCellCells(), globalMeshData(), and faGlobalMeshData::updateMesh().

|
inlinenoexcept |
Does the mesh contain processor patches? (also valid when not running parallel).
Definition at line 439 of file globalMeshData.H.
References Foam::noexcept.
Referenced by calcCellCells(), calcCellCells(), calcCellCells(), calcCellCells(), and calcCellCells().

|
inlinenoexcept |
Global numbering for mesh points. Not compensated for duplicate points!
Definition at line 448 of file globalMeshData.H.
References Foam::noexcept.
|
inlinenoexcept |
Global numbering for mesh faces. Not compensated for duplicate faces!
Definition at line 457 of file globalMeshData.H.
References Foam::noexcept.
|
inlinenoexcept |
Global numbering for mesh cells.
Definition at line 465 of file globalMeshData.H.
References Foam::noexcept.
|
inlinenoexcept |
Total global number of mesh points. Not compensated for duplicate points!
Definition at line 474 of file globalMeshData.H.
References Foam::noexcept.
Referenced by updateMesh().

|
inlinenoexcept |
Total global number of mesh faces. Not compensated for duplicate faces!
Definition at line 483 of file globalMeshData.H.
References Foam::noexcept.
Referenced by updateMesh().

|
inlinenoexcept |
Total global number of mesh cells.
Definition at line 491 of file globalMeshData.H.
References Foam::noexcept.
Referenced by meshRefinement::printMeshInfo(), and updateMesh().

|
inlinenoexcept |
The processor to processor topology.
Definition at line 502 of file globalMeshData.H.
References Foam::noexcept.
Referenced by addPatchCellLayer::calcExtrudeInfo(), FaceCellWave< Type, TrackingData >::handleProcPatches(), and Cloud< ParticleType >::move().

|
inlinenoexcept |
Order in which the patches should be initialised/evaluated corresponding to the schedule.
Definition at line 511 of file globalMeshData.H.
References Foam::noexcept.
Referenced by faBoundaryMesh::calcGeometry(), faBoundaryMesh::movePoints(), pointBoundaryMesh::movePoints(), polyBoundaryMesh::movePoints(), faBoundaryMesh::updateMesh(), pointBoundaryMesh::updateMesh(), and polyBoundaryMesh::updateMesh().

|
inlinenoexcept |
Return list of processor patch labels.
(size of list = number of processor patches)
Definition at line 521 of file globalMeshData.H.
References Foam::noexcept.
Referenced by FaceCellWave< Type, TrackingData >::handleProcPatches(), and Cloud< ParticleType >::move().

|
inlinenoexcept |
Return list of indices into processorPatches_ for each patch.
Index = -1 for non-processor parches. (size of list = number of patches)
Definition at line 532 of file globalMeshData.H.
References Foam::noexcept.
|
inlinenoexcept |
Return processorPatchIndices of the neighbours processor patches. -1 if not running parallel.
Definition at line 541 of file globalMeshData.H.
References Foam::noexcept.
Referenced by Cloud< ParticleType >::move().

| Foam::label nGlobalPoints | ( | ) | const |
Return number of globally shared points.
Definition at line 2012 of file globalMeshData.C.
Referenced by sharedPoints(), syncTools::syncPointMap(), and faGlobalMeshData::updateMesh().

| const Foam::labelList & sharedPointLabels | ( | ) | const |
Return indices of local points that are globally shared.
Definition at line 2022 of file globalMeshData.C.
Referenced by geometricSharedPoints(), sharedPointGlobalLabels(), sharedPoints(), syncTools::syncEdgeMap(), syncTools::syncPointMap(), and faGlobalMeshData::updateMesh().

| const Foam::labelList & sharedPointAddr | ( | ) | const |
Return addressing into the complete globally shared points list.
Note: It is assumed that a (never constructed) complete list of globally shared points exists. The set of shared points on the current processor is a subset of all shared points. Shared point addressing gives the index in the list of all globally shared points for each of the locally shared points.
Definition at line 2032 of file globalMeshData.C.
Referenced by sharedPoints(), syncTools::syncEdgeMap(), syncTools::syncPointMap(), and faGlobalMeshData::updateMesh().

| const Foam::labelList & sharedPointGlobalLabels | ( | ) | const |
Return shared point global labels. Tries to read 'pointProcAddressing' and returns list or -1 if none available.
Definition at line 1865 of file globalMeshData.C.
References Foam::endl(), forAll, polyMesh::meshSubDir, IOobjectOption::MUST_READ, pointLabels(), Foam::Pout, sharedPointGlobalLabels(), sharedPointLabels(), and IOobject::typeHeaderOk().
Referenced by sharedPointGlobalLabels().


| Foam::pointField sharedPoints | ( | ) | const |
Collect coordinates of shared points on all processors. (does parallel communication!).
Note: not valid for cyclicParallel since shared cyclic points are merged into single global point. (use geometricSharedPoints instead)
Definition at line 1916 of file globalMeshData.C.
References UPstream::broadcast, forAll, UPstream::incrMsgType(), UPstream::master(), UPstream::masterNo(), UPstream::msgType(), nGlobalPoints(), UPstream::parRun(), pointLabels(), UPstream::scheduled, sharedPointAddr(), sharedPointLabels(), sharedPoints(), and UPstream::subProcs().
Referenced by geometricSharedPoints(), and sharedPoints().


| Foam::pointField geometricSharedPoints | ( | ) | const |
Like sharedPoints but keeps cyclic points separate. (does geometric merging; uses matchTol_*bb as merging tolerance) Use sharedPoints() instead.
Definition at line 1982 of file globalMeshData.C.
References Pstream::combineReduce(), UPstream::incrMsgType(), Foam::inplaceMergePoints(), matchTol_, UPstream::msgType(), sharedPointLabels(), and sharedPoints().

| Foam::label nGlobalEdges | ( | ) | const |
Return number of globally shared edges.
Demand-driven calculation so call needs to be synchronous among processors!
Definition at line 2042 of file globalMeshData.C.
| const Foam::labelList & sharedEdgeLabels | ( | ) | const |
Return indices of local edges that are globally shared.
Demand-driven calculation so call needs to be synchronous among processors!
Definition at line 2052 of file globalMeshData.C.
| const Foam::labelList & sharedEdgeAddr | ( | ) | const |
Return addressing into the complete globally shared edge list.
The set of shared edges on the current processor is a subset of all shared edges. Shared edge addressing gives the index in the list of all globally shared edges for each of the locally shared edges. Demand-driven calculation so call needs to be synchronous among processors!
Definition at line 2062 of file globalMeshData.C.
| const Foam::indirectPrimitivePatch & coupledPatch | ( | ) | const |
Return patch of all coupled faces.
Definition at line 2072 of file globalMeshData.C.
References Foam::endl(), forAll, Foam::Pout, and pp().
Referenced by addPatchCellLayer::calcExtrudeInfo(), createShellMesh::calcPointRegions(), meshRefinement::countEdgeFaces(), coupledPatchMeshEdges(), pointMeshTools::featurePointsEdges(), syncTools::getMasterPoints(), globalEdgeNumbering(), globalIndexAndTransform::globalIndexAndTransform(), globalPointNumbering(), mergePoints(), mergePoints(), PatchTools::pointNormals(), PatchTools::pointNormals(), volPointInterpolationAdjoint::pushUntransformedData(), syncTools::syncEdgeList(), syncTools::syncEdgeList(), syncPointData(), syncTools::syncPointList(), syncTools::syncPointList(), and pointConstraints::syncUntransformedData().


| const Foam::labelList & coupledPatchMeshEdges | ( | ) | const |
Return map from coupledPatch edges to mesh edges.
Definition at line 2133 of file globalMeshData.C.
References coupledPatch().
Referenced by coupledPatchMeshEdgeMap(), syncTools::getMasterEdges(), syncTools::syncEdgeList(), and syncTools::syncEdgeList().


| const Foam::Map< Foam::label > & coupledPatchMeshEdgeMap | ( | ) | const |
Return map from mesh edges to coupledPatch edges.
Definition at line 2153 of file globalMeshData.C.
References coupledPatchMeshEdges(), and Foam::invertToMap().
Referenced by syncTools::syncEdgeList().


| const Foam::globalIndexAndTransform & globalTransforms | ( | ) | const |
Global transforms numbering.
Definition at line 2189 of file globalMeshData.C.
References UPstream::incrMsgType(), and UPstream::msgType().
Referenced by addPatchCellLayer::calcExtrudeInfo(), PatchTools::edgeNormals(), PatchTools::edgeNormals(), pointMeshTools::featurePointsEdges(), PatchTools::pointNormals(), PatchTools::pointNormals(), syncTools::syncEdgeList(), syncTools::syncEdgeList(), syncPointData(), and syncTools::syncPointList().


|
static |
Helper: synchronise data with transforms.
Definition at line 29 of file globalMeshDataTemplates.C.
References mapDistribute::distribute(), UList< T >::empty(), forAll, UPstream::incrMsgType(), UPstream::msgType(), List< label >::null(), mapDistribute::reverseDistribute(), and UList< T >::size().
Referenced by addPatchCellLayer::calcExtrudeInfo(), meshRefinement::countEdgeFaces(), PatchTools::edgeNormals(), PatchTools::edgeNormals(), pointMeshTools::featurePointsEdges(), mergePoints(), mergePoints(), syncTools::syncEdgeList(), syncTools::syncEdgeList(), syncTools::syncEdgeList(), syncPointData(), syncTools::syncPointList(), and syncTools::syncPointList().


|
static |
Helper: synchronise data without transforms.
Definition at line 100 of file globalMeshDataTemplates.C.
References mapDistribute::distribute(), UList< T >::empty(), forAll, UPstream::incrMsgType(), UPstream::msgType(), List< label >::null(), mapDistribute::reverseDistribute(), and UList< T >::size().

| const Foam::globalIndex & globalPointNumbering | ( | ) | const |
Numbering of coupled points is according to coupledPatch.
Definition at line 2169 of file globalMeshData.C.
References coupledPatch(), UPstream::incrMsgType(), UPstream::msgType(), and nPoints.
Referenced by mergePoints().


| const Foam::labelListList & globalPointSlaves | ( | ) | const |
Definition at line 2205 of file globalMeshData.C.
Referenced by syncTools::getMasterPoints(), PatchTools::pointNormals(), PatchTools::pointNormals(), syncPointData(), syncTools::syncPointList(), and syncTools::syncPointList().

| const Foam::labelListList & globalPointTransformedSlaves | ( | ) | const |
Definition at line 2215 of file globalMeshData.C.
Referenced by syncTools::getMasterPoints(), PatchTools::pointNormals(), PatchTools::pointNormals(), syncPointData(), syncTools::syncPointList(), and syncTools::syncPointList().

| const Foam::mapDistribute & globalPointSlavesMap | ( | ) | const |
Definition at line 2226 of file globalMeshData.C.
Referenced by PatchTools::pointNormals(), PatchTools::pointNormals(), syncPointData(), syncTools::syncPointList(), and syncTools::syncPointList().

| void syncPointData | ( | List< Type > & | pointData, |
| const CombineOp & | cop, | ||
| const TransformOp & | top ) const |
Helper to synchronise coupled patch point data.
Definition at line 163 of file globalMeshDataTemplates.C.
References Foam::abort(), coupledPatch(), Foam::FatalError, FatalErrorInFunction, forAll, globalPointSlaves(), globalPointSlavesMap(), globalPointTransformedSlaves(), globalTransforms(), PrimitivePatch< FaceList, PointField >::meshPoints(), UList< T >::size(), and syncData().

| const Foam::globalIndex & globalEdgeNumbering | ( | ) | const |
Definition at line 2236 of file globalMeshData.C.
References coupledPatch(), UPstream::incrMsgType(), and UPstream::msgType().

| const Foam::labelListList & globalEdgeSlaves | ( | ) | const |
Definition at line 2255 of file globalMeshData.C.
Referenced by addPatchCellLayer::calcExtrudeInfo(), meshRefinement::countEdgeFaces(), PatchTools::edgeNormals(), PatchTools::edgeNormals(), pointMeshTools::featurePointsEdges(), syncTools::getMasterEdges(), syncTools::syncEdgeList(), syncTools::syncEdgeList(), and syncTools::syncEdgeList().

| const Foam::labelListList & globalEdgeTransformedSlaves | ( | ) | const |
Definition at line 2265 of file globalMeshData.C.
Referenced by addPatchCellLayer::calcExtrudeInfo(), meshRefinement::countEdgeFaces(), PatchTools::edgeNormals(), PatchTools::edgeNormals(), pointMeshTools::featurePointsEdges(), syncTools::getMasterEdges(), syncTools::syncEdgeList(), syncTools::syncEdgeList(), and syncTools::syncEdgeList().

| const Foam::mapDistribute & globalEdgeSlavesMap | ( | ) | const |
Definition at line 2286 of file globalMeshData.C.
Referenced by addPatchCellLayer::calcExtrudeInfo(), meshRefinement::countEdgeFaces(), PatchTools::edgeNormals(), PatchTools::edgeNormals(), pointMeshTools::featurePointsEdges(), syncTools::syncEdgeList(), syncTools::syncEdgeList(), and syncTools::syncEdgeList().

| const Foam::bitSet & globalEdgeOrientation | ( | ) | const |
Is my edge same orientation as master edge.
Definition at line 2276 of file globalMeshData.C.
Referenced by syncTools::syncEdgeList(), and syncTools::syncEdgeList().

| const Foam::labelListList & globalCoPointSlaves | ( | ) | const |
Definition at line 2394 of file globalMeshData.C.
Referenced by globalIndexAndTransform::globalIndexAndTransform(), mergePoints(), mergePoints(), volPointInterpolationAdjoint::pushUntransformedData(), and pointConstraints::syncUntransformedData().

| const Foam::mapDistribute & globalCoPointSlavesMap | ( | ) | const |
Definition at line 2404 of file globalMeshData.C.
Referenced by globalIndexAndTransform::globalIndexAndTransform(), mergePoints(), mergePoints(), volPointInterpolationAdjoint::pushUntransformedData(), and pointConstraints::syncUntransformedData().

| const Foam::globalIndex & globalBoundaryFaceNumbering | ( | ) | const |
Numbering of boundary faces is face-mesh.nInternalFaces().
Definition at line 2296 of file globalMeshData.C.
| const Foam::labelListList & globalPointBoundaryFaces | ( | ) | const |
Definition at line 2307 of file globalMeshData.C.
| const Foam::labelListList & globalPointTransformedBoundaryFaces | ( | ) | const |
Definition at line 2319 of file globalMeshData.C.
| const Foam::mapDistribute & globalPointBoundaryFacesMap | ( | ) | const |
Definition at line 2329 of file globalMeshData.C.
| const Foam::labelList & boundaryCells | ( | ) | const |
From boundary cell to mesh cell.
Definition at line 2340 of file globalMeshData.C.
| const Foam::globalIndex & globalBoundaryCellNumbering | ( | ) | const |
Numbering of boundary cells is according to boundaryCells().
Definition at line 2350 of file globalMeshData.C.
| const Foam::labelListList & globalPointBoundaryCells | ( | ) | const |
Definition at line 2361 of file globalMeshData.C.
| const Foam::labelListList & globalPointTransformedBoundaryCells | ( | ) | const |
Definition at line 2373 of file globalMeshData.C.
| const Foam::mapDistribute & globalPointBoundaryCellsMap | ( | ) | const |
Definition at line 2383 of file globalMeshData.C.
| Foam::autoPtr< Foam::globalIndex > mergePoints | ( | labelList & | pointToGlobal, |
| labelList & | uniquePoints ) const |
Helper for merging (collocated!) mesh point data.
Determines:
Definition at line 2414 of file globalMeshData.C.
References mapDistributeBase::constructSize(), coupledPatch(), forAll, globalCoPointSlaves(), globalCoPointSlavesMap(), globalPointNumbering(), UPstream::incrMsgType(), PrimitivePatch< FaceList, PointField >::meshPoints(), UPstream::msgType(), PrimitivePatch< FaceList, PointField >::nPoints(), mapDistribute::reverseDistribute(), List< T >::setSize(), UList< T >::size(), syncData(), globalIndex::toGlobal(), and bitSet::unset().

| Foam::autoPtr< Foam::globalIndex > mergePoints | ( | const labelUList & | meshPoints, |
| const Map< label > & | meshPointMap, | ||
| labelList & | pointToGlobal, | ||
| labelList & | uniqueMeshPoints ) const |
Helper for merging (collocated!) patch point data.
Takes maps from: local points to/from mesh. Determines
| meshPointMap | currently unused |
Definition at line 2553 of file globalMeshData.C.
References HashTable< T, Key, Hash >::cfind(), mapDistributeBase::constructSize(), coupledPatch(), mapDistribute::distribute(), forAll, globalCoPointSlaves(), globalCoPointSlavesMap(), UPstream::incrMsgType(), Foam::labelMax, PrimitivePatch< FaceList, PointField >::meshPointMap(), UPstream::msgType(), PrimitivePatch< FaceList, PointField >::nPoints(), mapDistribute::reverseDistribute(), List< T >::setSize(), UList< T >::size(), syncData(), and globalIndex::toGlobal().

| void movePoints | ( | const pointField & | newPoints | ) |
Update for moving points.
Definition at line 2774 of file globalMeshData.C.
| void updateMesh | ( | ) |
Change global mesh data given a topological change. Does a.
full parallel analysis to determine shared points and boundaries.
Definition at line 2783 of file globalMeshData.C.
References UList< T >::begin(), clearOut(), UPstream::commWarn(), UList< T >::data(), Foam::endl(), Foam::Info, UPstream::is_parallel(), matchTol_, UPstream::mpiAllGather(), UPstream::myProcNo(), UPstream::nProcs(), nTotalCells(), nTotalFaces(), nTotalPoints(), and Foam::Pout.
Referenced by globalMeshData().


|
static |
Determine (local or global) cellCells from mesh agglomeration.
Agglomeration is local to the processor.
| agglom | The cell agglomeration, negative agglomeration are excluded from the sub-mesh | |
| nLocalCoarse | The number of unique, agglomerated cells | |
| parallel | Use global cell ids in parallel | |
| [out] | cellCells | the mesh connectivity as CSR |
Definition at line 298 of file globalMeshDataTopology.C.
References Foam::calcCellCellsImpl(), mesh(), and parallel().
Referenced by Foam::meshTools::bandCompression(), decompositionMethod::calcCellCells(), decompositionMethod::calcCellCells(), calcCellCells(), calcCellCells(), decompositionMethod::decompose(), metisLikeDecomp::decompose(), metisLikeDecomp::decompose(), multiLevelDecomp::decompose(), ptscotchDecomp::decompose(), ptscotchDecomp::decompose(), renumberMethod::renumber(), renumberMethod::renumber(), and springRenumber::renumber().


|
static |
Determine (local or global) cellCells and face weights from mesh agglomeration.
Uses mag of faceArea as weights
| agglom | The cell agglomeration, negative agglomeration are excluded from the sub-mesh | |
| nLocalCoarse | The number of unique, agglomerated cells | |
| parallel | Use global cell ids in parallel | |
| [out] | cellCells | the mesh connectivity as CSR |
| [out] | cellCellWeights | the connectivity weights (face area) |
Definition at line 318 of file globalMeshDataTopology.C.
References Foam::calcCellCellsImpl(), mesh(), and parallel().

|
static |
Determine (local or global) mesh connectivity.
| [out] | cellCells | the mesh connectivity as CSR |
| parallel | Use global cell ids in parallel |
Definition at line 342 of file globalMeshDataTopology.C.
References Foam::calcCellCellsImpl(), mesh(), and parallel().

|
static |
Determine (local or global) sub-mesh connectivity.
| selectedCells | The cell-subset | |
| [out] | cellCells | the mesh connectivity as CSR |
| parallel | Use global cell ids in parallel |
Definition at line 360 of file globalMeshDataTopology.C.
References calcCellCells(), mesh(), parallel(), List< T >::resize(), and UList< T >::size().

|
static |
Determine (local or global) sub-mesh connectivity.
| selectedCells | The cell-subset | |
| [out] | cellCells | the mesh connectivity as CSR |
| parallel | Use global cell ids in parallel |
Definition at line 424 of file globalMeshDataTopology.C.
References calcCellCells(), mesh(), parallel(), List< T >::resize(), and UList< T >::size().

|
static |
Geometric tolerance (fraction of bounding box).
Definition at line 401 of file globalMeshData.H.
Referenced by Foam::defineTypeNameAndDebug(), geometricSharedPoints(), and updateMesh().