Various mesh related information for a parallel run. Upon construction, constructs all info using parallel communication. More...
Data Structures | |
class | ListPlusEqOp |
Public Member Functions | |
ClassName ("globalMeshData") | |
Runtime type information. More... | |
globalMeshData (const polyMesh &mesh) | |
Construct from mesh, derive rest (does parallel communication!) More... | |
~globalMeshData () | |
Destructor. More... | |
void | clearOut () |
Remove all demand driven data. More... | |
const polyMesh & | mesh () const |
Return the mesh reference. More... | |
bool | parallel () const |
Does the mesh contain processor patches? (also valid when. More... | |
label | nTotalPoints () const |
Return total number of points in decomposed mesh. Not. More... | |
label | nTotalFaces () const |
Return total number of faces in decomposed mesh. Not. More... | |
label | nTotalCells () const |
Return total number of cells in decomposed mesh. More... | |
const labelList & | processorPatches () const |
Return list of processor patch labels. More... | |
const labelList & | processorPatchIndices () const |
Return list of indices into processorPatches_ for each patch. More... | |
const labelList & | processorPatchNeighbours () const |
Return processorPatchIndices of the neighbours. More... | |
label | nGlobalPoints () const |
Return number of globally shared points. More... | |
const labelList & | sharedPointLabels () const |
Return indices of local points that are globally shared. More... | |
const labelList & | sharedPointAddr () const |
Return addressing into the complete globally shared points. More... | |
const labelList & | sharedPointGlobalLabels () const |
Return shared point global labels. Tries to read. More... | |
pointField | sharedPoints () const |
Collect coordinates of shared points on all processors. More... | |
pointField | geometricSharedPoints () const |
Like sharedPoints but keeps cyclic points separate. More... | |
label | nGlobalEdges () const |
Return number of globally shared edges. Demand-driven. More... | |
const labelList & | sharedEdgeLabels () const |
Return indices of local edges that are globally shared. More... | |
const labelList & | sharedEdgeAddr () const |
Return addressing into the complete globally shared edge. More... | |
const indirectPrimitivePatch & | coupledPatch () const |
Return patch of all coupled faces. More... | |
const labelList & | coupledPatchMeshEdges () const |
Return map from coupledPatch edges to mesh edges. More... | |
const Map< label > & | coupledPatchMeshEdgeMap () const |
Return map from mesh edges to coupledPatch edges. More... | |
const globalIndexAndTransform & | globalTransforms () const |
Global transforms numbering. More... | |
const globalIndex & | globalPointNumbering () const |
Numbering of coupled points is according to coupledPatch. More... | |
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. More... | |
const globalIndex & | globalEdgeNumbering () const |
const labelListList & | globalEdgeSlaves () const |
const labelListList & | globalEdgeTransformedSlaves () const |
const mapDistribute & | globalEdgeSlavesMap () const |
const PackedBoolList & | globalEdgeOrientation () const |
Is my edge same orientation as master edge. More... | |
const labelListList & | globalCoPointSlaves () const |
const mapDistribute & | globalCoPointSlavesMap () const |
const globalIndex & | globalBoundaryFaceNumbering () const |
Numbering of boundary faces is face-mesh.nInternalFaces() More... | |
const labelListList & | globalPointBoundaryFaces () const |
const labelListList & | globalPointTransformedBoundaryFaces () const |
const mapDistribute & | globalPointBoundaryFacesMap () const |
const labelList & | boundaryCells () const |
From boundary cell to mesh cell. More... | |
const globalIndex & | globalBoundaryCellNumbering () const |
Numbering of boundary cells is according to boundaryCells() More... | |
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. More... | |
autoPtr< globalIndex > | mergePoints (const labelList &meshPoints, const Map< label > &meshPointMap, labelList &pointToGlobal, labelList &uniqueMeshPoints) const |
Helper for merging (collocated!) patch point data. More... | |
void | movePoints (const pointField &newPoints) |
Update for moving points. More... | |
void | updateMesh () |
Change global mesh data given a topological change. Does a. More... | |
![]() | |
ProcessorTopology (const Container &patches, const label comm) | |
Construct from boundaryMesh. More... | |
const labelList & | procPatchMap () const |
From neighbour processor to index in boundaryMesh. Local information. More... | |
const lduSchedule & | patchSchedule () const |
Order in which the patches should be initialised/evaluated. More... | |
![]() | |
List () | |
Null constructor. More... | |
List (const label) | |
Construct with given size. More... | |
List (const label, const T &) | |
Construct with given size and value for all elements. More... | |
List (const List< T > &) | |
Copy constructor. More... | |
List (const Xfer< List< T > > &) | |
Construct by transferring the parameter contents. More... | |
List (List< T > &, bool reUse) | |
Construct as copy or re-use as specified. More... | |
List (const UList< T > &, const labelUList &mapAddressing) | |
Construct as subset. More... | |
template<class InputIterator > | |
List (InputIterator first, InputIterator last) | |
Construct given start and end iterators. More... | |
template<unsigned Size> | |
List (const FixedList< T, Size > &) | |
Construct as copy of FixedList<T, Size> More... | |
List (const PtrList< T > &) | |
Construct as copy of PtrList<T> More... | |
List (const SLList< T > &) | |
Construct as copy of SLList<T> More... | |
List (const UIndirectList< T > &) | |
Construct as copy of UIndirectList<T> More... | |
List (const BiIndirectList< T > &) | |
Construct as copy of BiIndirectList<T> More... | |
List (Istream &) | |
Construct from Istream. More... | |
autoPtr< List< T > > | clone () const |
Clone. More... | |
~List () | |
Destructor. More... | |
label | size () const |
Return the number of elements in the UList. More... | |
void | resize (const label) |
Alias for setSize(const label) More... | |
void | resize (const label, const T &) |
Alias for setSize(const label, const T&) More... | |
void | setSize (const label) |
Reset size of List. More... | |
void | setSize (const label, const T &) |
Reset size of List and value for new elements. More... | |
void | clear () |
Clear the list, i.e. set size to zero. More... | |
void | append (const T &) |
Append an element at the end of the list. More... | |
void | append (const UList< T > &) |
Append a List at the end of this list. More... | |
void | append (const UIndirectList< T > &) |
Append a UIndirectList at the end of this list. More... | |
void | transfer (List< T > &) |
Transfer the contents of the argument List into this list. More... | |
template<unsigned SizeInc, unsigned SizeMult, unsigned SizeDiv> | |
void | transfer (DynamicList< T, SizeInc, SizeMult, SizeDiv > &) |
Transfer the contents of the argument List into this list. More... | |
void | transfer (SortableList< T > &) |
Transfer the contents of the argument List into this list. More... | |
Xfer< List< T > > | xfer () |
Transfer contents to the Xfer container. More... | |
T & | newElmt (const label) |
Return subscript-checked element of UList. More... | |
void | operator= (const UList< T > &) |
Assignment from UList operator. Takes linear time. More... | |
void | operator= (const List< T > &) |
Assignment operator. Takes linear time. More... | |
void | operator= (const SLList< T > &) |
Assignment from SLList operator. Takes linear time. More... | |
void | operator= (const UIndirectList< T > &) |
Assignment from UIndirectList operator. Takes linear time. More... | |
void | operator= (const BiIndirectList< T > &) |
Assignment from BiIndirectList operator. Takes linear time. More... | |
void | operator= (const T &) |
Assignment of all entries to the given value. More... | |
template<class T > | |
List (const label s) | |
template<class T > | |
List (const label s, const T &a) | |
template<class T > | |
List (const List< T > &a) | |
template<class T > | |
List (const Xfer< List< T > > &lst) | |
template<class T > | |
List (List< T > &a, bool reUse) | |
template<class T > | |
List (const UList< T > &a, const labelUList &map) | |
template<class T > | |
List (const PtrList< T > &lst) | |
template<class T > | |
List (const SLList< T > &lst) | |
template<class T > | |
List (const UIndirectList< T > &lst) | |
template<class T > | |
List (const BiIndirectList< T > &lst) | |
template<class T > | |
void | transfer (List< T > &a) |
template<class T > | |
void | transfer (SortableList< T > &a) |
template<class T > | |
List () | |
template<class T > | |
List (Istream &is) | |
Static Public Member Functions | |
template<class Type , class CombineOp , class TransformOp > | |
static void | syncData (List< Type > &pointData, const labelListList &slaves, const labelListList &transformedSlaves, const mapDistribute &slavesMap, const globalIndexAndTransform &, const CombineOp &cop, const TransformOp &top) |
Helper: synchronise data with transforms. More... | |
template<class Type , class CombineOp > | |
static void | syncData (List< Type > &pointData, const labelListList &slaves, const labelListList &transformedSlaves, const mapDistribute &slavesMap, const CombineOp &cop) |
Helper: synchronise data without transforms. More... | |
![]() | |
static lduSchedule | nonBlockingSchedule (const Container &patches) |
Calculate non-blocking (i.e. unscheduled) schedule. More... | |
![]() | |
static const List< T > & | null () |
Return a null List. More... | |
Static Public Attributes | |
static const Foam::scalar | matchTol_ = 1e-8 |
Geometric tolerance (fraction of bounding box) More... | |
Private Member Functions | |
void | initProcAddr () |
Set up processor patch addressing. More... | |
void | calcSharedPoints () const |
Calculate shared point addressing. More... | |
void | calcSharedEdges () const |
Calculate shared edge addressing. More... | |
void | calcGlobalPointSlaves () const |
Calculate global point addressing. More... | |
void | calcPointConnectivity (List< labelPairList > &) const |
Calculate connected points. More... | |
void | calcGlobalPointEdges (labelListList &globalPointEdges, List< labelPairList > &globalPointPoints) const |
Calculate pointEdges and pointPoints addressing. More... | |
label | findTransform (const labelPairList &info, const labelPair &remotePoint, const label localPoint) const |
Look up remote and local point and find using info the. More... | |
void | calcGlobalEdgeSlaves () const |
Calculate global edge addressing. More... | |
void | calcGlobalEdgeOrientation () const |
Calculate orientation w.r.t. edge master. More... | |
void | calcPointBoundaryFaces (labelListList &) const |
Calculate coupled point to uncoupled boundary faces. Local only. More... | |
void | calcGlobalPointBoundaryFaces () const |
Calculate global point to global boundary face addressing. More... | |
void | calcGlobalPointBoundaryCells () const |
Calculate global point to global boundary cell addressing. More... | |
void | calcGlobalCoPointSlaves () const |
globalMeshData (const globalMeshData &) | |
Disallow default bitwise copy construct. More... | |
void | operator= (const globalMeshData &) |
Disallow default bitwise assignment. More... | |
Static Private Member Functions | |
static void | countSharedEdges (const EdgeMap< labelList > &, EdgeMap< label > &, label &) |
Helper function for shared edge addressing. More... | |
Additional Inherited Members | |
![]() | |
typedef SubList< T > | subList |
Declare type of subList. More... | |
![]() | |
void | size (const label) |
Override size to be inconsistent with allocated storage. More... | |
Various mesh related information for a parallel run. Upon construction, constructs all info using parallel communication.
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 106 of file globalMeshData.H.
|
private |
Disallow default bitwise copy construct.
globalMeshData | ( | const polyMesh & | mesh | ) |
Construct from mesh, derive rest (does parallel communication!)
Definition at line 1741 of file globalMeshData.C.
References globalMeshData::updateMesh().
~globalMeshData | ( | ) |
Destructor.
Definition at line 1765 of file globalMeshData.C.
|
private |
Set up processor patch addressing.
Definition at line 67 of file globalMeshData.C.
References polyMesh::boundaryMesh(), PstreamBuffers::finishedSends(), forAll, globalMeshData::mesh_, UPstream::nonBlocking, UPstream::parRun(), patchi, globalMeshData::processorPatches_, globalMeshData::processorPatchIndices_, globalMeshData::processorPatchNeighbours_, List::setSize(), and PtrList::size().
|
staticprivate |
Helper function for shared edge addressing.
Definition at line 256 of file globalMeshData.C.
References Foam::e, HashTable::find(), forAllConstIter(), and HashTable::insert().
|
private |
Calculate shared point addressing.
Definition at line 134 of file globalMeshData.C.
References Foam::abort(), mapDistributeBase::constructSize(), Foam::endl(), Foam::FatalError, FatalErrorInFunction, forAll, globalPoints::map(), Foam::nl, globalPoints::pointPoints(), Foam::Pout, mapDistribute::reverseDistribute(), List::size(), globalIndex::size(), globalIndex::toGlobal(), and globalPoints::transformedPointPoints().
|
private |
Calculate shared edge addressing.
Definition at line 301 of file globalMeshData.C.
References Foam::abort(), DynamicList::append(), UPstream::blocking, HashTable::clear(), Foam::e, Foam::endl(), Foam::FatalError, FatalErrorInFunction, HashTable< T, edge, Hash< edge > >::find(), HashTable::find(), UPstream::firstSlave(), forAll, forAllConstIter(), HashTable< T, edge, Hash< edge > >::insert(), HashTable::insert(), UPstream::lastSlave(), UPstream::master(), UPstream::masterNo(), Foam::name(), Foam::nl, UPstream::parRun(), Foam::Pout, List::setSize(), Foam::help::sharedEdge(), List::size(), HashTable::size(), HashTable< T, edge, Hash< edge > >::size(), and List::transfer().
|
private |
Calculate global point addressing.
Definition at line 531 of file globalMeshData.C.
References Foam::endl(), globalPoints::map(), globalPoints::pointPoints(), Foam::Pout, globalPoints::transformedPointPoints(), List::xfer(), and mapDistribute::xfer().
|
private |
Calculate connected points.
Definition at line 569 of file globalMeshData.C.
References globalIndexAndTransform::encode(), forAll, globalIndexAndTransform::index(), UPstream::myProcNo(), n, globalIndexAndTransform::nullTransformIndex(), globalIndexAndTransform::processor(), List::setSize(), and List::size().
|
private |
Calculate pointEdges and pointPoints addressing.
Definition at line 650 of file globalMeshData.C.
References globalIndexAndTransform::encode(), forAll, globalIndexAndTransform::index(), UPstream::myProcNo(), n, globalIndexAndTransform::processor(), List::setSize(), List::size(), and globalIndex::toGlobal().
|
private |
Look up remote and local point and find using info the.
transforms to go from remotePoint to localPoint
Definition at line 812 of file globalMeshData.C.
References Foam::abort(), Foam::endl(), Foam::FatalError, FatalErrorInFunction, forAll, globalIndexAndTransform::index(), UPstream::myProcNo(), globalIndexAndTransform::processor(), and globalIndexAndTransform::transformIndex().
|
private |
Calculate global edge addressing.
Definition at line 867 of file globalMeshData.C.
References DynamicList::append(), Foam::e, globalIndexAndTransform::encode(), Foam::endl(), forAll, globalIndexAndTransform::index(), UPstream::myProcNo(), UPstream::nProcs(), Foam::Pout, globalIndexAndTransform::processor(), List::setSize(), List::size(), Foam::sort(), globalIndex::toGlobal(), globalIndex::toLocal(), List::transfer(), Foam::transform(), globalIndexAndTransform::transformIndex(), and globalIndex::whichProcID().
|
private |
Calculate orientation w.r.t. edge master.
Definition at line 1082 of file globalMeshData.C.
References Pair::compare(), mapDistributeBase::constructSize(), Foam::e, Foam::endl(), Foam::exit(), Foam::FatalError, FatalErrorInFunction, forAll, Foam::labelMax, Foam::Pout, and List::setSize().
|
private |
Calculate coupled point to uncoupled boundary faces. Local only.
Definition at line 1205 of file globalMeshData.C.
References polyPatch::coupled(), f(), forAll, nPoints, List::setSize(), and polyPatch::start().
|
private |
Calculate global point to global boundary face addressing.
Definition at line 1283 of file globalMeshData.C.
References List::clear(), globalIndexAndTransform::encode(), Foam::endl(), Foam::findIndex(), forAll, globalIndex::localSize(), n, nPoints, UPstream::nProcs(), Foam::Pout, List::setSize(), List::size(), globalIndex::toGlobal(), globalIndex::toLocal(), and globalIndex::whichProcID().
|
private |
Calculate global point to global boundary cell addressing.
Definition at line 1475 of file globalMeshData.C.
References DynamicList::append(), List::clear(), globalIndexAndTransform::encode(), Foam::endl(), Foam::findIndex(), forAll, globalIndex::localSize(), n, nPoints, UPstream::nProcs(), Foam::Pout, List::setSize(), DynamicList::shrink(), List::size(), globalIndex::toGlobal(), globalIndex::toLocal(), List::transfer(), and globalIndex::whichProcID().
|
private |
Definition at line 1702 of file globalMeshData.C.
References Foam::endl(), globalPoints::map(), globalPoints::pointPoints(), Foam::Pout, List::xfer(), and mapDistribute::xfer().
|
private |
Disallow default bitwise assignment.
ClassName | ( | "globalMeshData" | ) |
Runtime type information.
void clearOut | ( | ) |
Remove all demand driven data.
Definition at line 1771 of file globalMeshData.C.
|
inline |
Return the mesh reference.
Definition at line 367 of file globalMeshData.H.
References globalMeshData::mesh_.
|
inline |
Does the mesh contain processor patches? (also valid when.
not running parallel)
Definition at line 374 of file globalMeshData.H.
|
inline |
Return total number of points in decomposed mesh. Not.
compensated for duplicate points!
Definition at line 381 of file globalMeshData.H.
Referenced by medialAxisMeshMover::calculateDisplacement(), doCommand(), printMesh(), and medialAxisMeshMover::update().
|
inline |
Return total number of faces in decomposed mesh. Not.
compensated for duplicate faces!
Definition at line 388 of file globalMeshData.H.
Referenced by doCommand(), and printMesh().
|
inline |
Return total number of cells in decomposed mesh.
Definition at line 394 of file globalMeshData.H.
References globalMeshData::nTotalCells_.
Referenced by velocityDampingConstraint::addDamping(), targetVolumeToCell::combine(), structuredDecomp::decompose(), doCommand(), main(), nearestPatch(), printMesh(), meshRefinement::printMeshInfo(), directions::propagateDirection(), and zoltanRenumber::renumber().
|
inline |
Return list of processor patch labels.
(size of list = number of processor patches)
Definition at line 404 of file globalMeshData.H.
Referenced by FaceCellWave< Type, int >::handleProcPatches(), Cloud< streamLineParticle >::move(), and printMeshData().
|
inline |
Return list of indices into processorPatches_ for each patch.
Index = -1 for non-processor parches. (size of list = number of patches)
Definition at line 412 of file globalMeshData.H.
Referenced by Cloud< streamLineParticle >::move().
|
inline |
Return processorPatchIndices of the neighbours.
processor patches. -1 if not running parallel.
Definition at line 419 of file globalMeshData.H.
Referenced by Cloud< streamLineParticle >::move().
Foam::label nGlobalPoints | ( | ) | const |
Return number of globally shared points.
Definition at line 1986 of file globalMeshData.C.
Referenced by syncTools::syncPointMap(), syncPoints(), and isoSurface::syncUnseparatedPoints().
const Foam::labelList & sharedPointLabels | ( | ) | const |
Return indices of local points that are globally shared.
Definition at line 1996 of file globalMeshData.C.
Referenced by syncTools::syncEdgeMap(), syncTools::syncPointMap(), syncPoints(), and isoSurface::syncUnseparatedPoints().
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 2006 of file globalMeshData.C.
Referenced by syncTools::syncEdgeMap(), syncTools::syncPointMap(), syncPoints(), and isoSurface::syncUnseparatedPoints().
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 1824 of file globalMeshData.C.
References Foam::endl(), forAll, IOobject::headerOk(), IOobject::MUST_READ, pointLabels(), and Foam::Pout.
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 1875 of file globalMeshData.C.
References UPstream::blocking, UPstream::firstSlave(), forAll, UPstream::lastSlave(), UPstream::master(), UPstream::masterNo(), pointLabels(), and Vector< scalar >::zero.
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 1958 of file globalMeshData.C.
References Foam::combineReduce(), and Foam::mergePoints().
Foam::label nGlobalEdges | ( | ) | const |
Return number of globally shared edges. Demand-driven.
calculation so call needs to be synchronous among processors!
Definition at line 2016 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 2026 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 2036 of file globalMeshData.C.
const Foam::indirectPrimitivePatch & coupledPatch | ( | ) | const |
Return patch of all coupled faces.
Definition at line 2046 of file globalMeshData.C.
References polyPatch::coupled(), Foam::endl(), forAll, Foam::Pout, and polyPatch::start().
Referenced by addPatchCellLayer::calcExtrudeInfo(), createShellMesh::calcPointRegions(), syncTools::getMasterPoints(), PointEdgeWave< Type, TrackingData >::handleCollocatedPoints(), main(), pointConstraints::makePatchPatchAddressing(), PatchTools::pointNormals(), volPointInterpolation::pushUntransformedData(), motionSmootherAlgo::setDisplacement(), syncTools::syncEdgeList(), syncTools::syncPointList(), and pointConstraints::syncUntransformedData().
const Foam::labelList & coupledPatchMeshEdges | ( | ) | const |
Return map from coupledPatch edges to mesh edges.
Definition at line 2107 of file globalMeshData.C.
Referenced by syncTools::getMasterEdges(), autoLayerDriver::handleNonManifolds(), and syncTools::syncEdgeList().
const Foam::Map< Foam::label > & coupledPatchMeshEdgeMap | ( | ) | const |
Return map from mesh edges to coupledPatch edges.
Definition at line 2127 of file globalMeshData.C.
References forAll, and Foam::constant::atomic::me.
Referenced by syncTools::syncEdgeList().
const Foam::globalIndexAndTransform & globalTransforms | ( | ) | const |
Global transforms numbering.
Definition at line 2160 of file globalMeshData.C.
Referenced by addPatchCellLayer::calcExtrudeInfo(), PatchTools::edgeNormals(), main(), PatchTools::pointNormals(), syncTools::syncEdgeList(), PatchEdgeFaceWave< PrimitivePatchType, Type, TrackingData >::syncEdges(), and syncTools::syncPointList().
|
static |
Helper: synchronise data with transforms.
Definition at line 34 of file globalMeshDataTemplates.C.
References mapDistribute::distribute(), forAll, mapDistribute::reverseDistribute(), and List::size().
Referenced by addPatchCellLayer::calcExtrudeInfo(), PatchTools::edgeNormals(), createShellMesh::syncEdges(), and PatchEdgeFaceWave< PrimitivePatchType, Type, TrackingData >::syncEdges().
|
static |
Helper: synchronise data without transforms.
Definition at line 107 of file globalMeshDataTemplates.C.
References mapDistribute::distribute(), forAll, mapDistribute::reverseDistribute(), and List::size().
const Foam::globalIndex & globalPointNumbering | ( | ) | const |
Numbering of coupled points is according to coupledPatch.
Definition at line 2146 of file globalMeshData.C.
References nPoints.
const Foam::labelListList & globalPointSlaves | ( | ) | const |
Definition at line 2170 of file globalMeshData.C.
Referenced by syncTools::getMasterPoints(), PointEdgeWave< Type, TrackingData >::handleCollocatedPoints(), main(), pointConstraints::makePatchPatchAddressing(), PatchTools::pointNormals(), and syncTools::syncPointList().
const Foam::labelListList & globalPointTransformedSlaves | ( | ) | const |
Definition at line 2180 of file globalMeshData.C.
Referenced by syncTools::getMasterPoints(), main(), PatchTools::pointNormals(), and syncTools::syncPointList().
const Foam::mapDistribute & globalPointSlavesMap | ( | ) | const |
Definition at line 2191 of file globalMeshData.C.
Referenced by PointEdgeWave< Type, TrackingData >::handleCollocatedPoints(), main(), pointConstraints::makePatchPatchAddressing(), PatchTools::pointNormals(), 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 172 of file globalMeshDataTemplates.C.
References Foam::abort(), Foam::FatalError, FatalErrorInFunction, forAll, and PrimitivePatch< Face, FaceList, PointField, PointType >::meshPoints().
const Foam::globalIndex & globalEdgeNumbering | ( | ) | const |
Definition at line 2201 of file globalMeshData.C.
const Foam::labelListList & globalEdgeSlaves | ( | ) | const |
Definition at line 2214 of file globalMeshData.C.
Referenced by addPatchCellLayer::calcExtrudeInfo(), PatchTools::edgeNormals(), syncTools::getMasterEdges(), main(), syncTools::syncEdgeList(), createShellMesh::syncEdges(), and PatchEdgeFaceWave< PrimitivePatchType, Type, TrackingData >::syncEdges().
const Foam::labelListList & globalEdgeTransformedSlaves | ( | ) | const |
Definition at line 2224 of file globalMeshData.C.
Referenced by addPatchCellLayer::calcExtrudeInfo(), PatchTools::edgeNormals(), syncTools::getMasterEdges(), main(), syncTools::syncEdgeList(), createShellMesh::syncEdges(), and PatchEdgeFaceWave< PrimitivePatchType, Type, TrackingData >::syncEdges().
const Foam::mapDistribute & globalEdgeSlavesMap | ( | ) | const |
Definition at line 2245 of file globalMeshData.C.
Referenced by addPatchCellLayer::calcExtrudeInfo(), PatchTools::edgeNormals(), main(), syncTools::syncEdgeList(), createShellMesh::syncEdges(), and PatchEdgeFaceWave< PrimitivePatchType, Type, TrackingData >::syncEdges().
const Foam::PackedBoolList & globalEdgeOrientation | ( | ) | const |
Is my edge same orientation as master edge.
Definition at line 2235 of file globalMeshData.C.
Referenced by createShellMesh::syncEdges(), and PatchEdgeFaceWave< PrimitivePatchType, Type, TrackingData >::syncEdges().
const Foam::labelListList & globalCoPointSlaves | ( | ) | const |
Definition at line 2353 of file globalMeshData.C.
Referenced by volPointInterpolation::pushUntransformedData(), and pointConstraints::syncUntransformedData().
const Foam::mapDistribute & globalCoPointSlavesMap | ( | ) | const |
Definition at line 2363 of file globalMeshData.C.
Referenced by volPointInterpolation::pushUntransformedData(), and pointConstraints::syncUntransformedData().
const Foam::globalIndex & globalBoundaryFaceNumbering | ( | ) | const |
Numbering of boundary faces is face-mesh.nInternalFaces()
Definition at line 2255 of file globalMeshData.C.
const Foam::labelListList & globalPointBoundaryFaces | ( | ) | const |
Definition at line 2266 of file globalMeshData.C.
Referenced by main().
const Foam::labelListList & globalPointTransformedBoundaryFaces | ( | ) | const |
Definition at line 2278 of file globalMeshData.C.
Referenced by main().
const Foam::mapDistribute & globalPointBoundaryFacesMap | ( | ) | const |
Definition at line 2288 of file globalMeshData.C.
Referenced by main().
const Foam::labelList & boundaryCells | ( | ) | const |
From boundary cell to mesh cell.
Definition at line 2299 of file globalMeshData.C.
Referenced by main().
const Foam::globalIndex & globalBoundaryCellNumbering | ( | ) | const |
Numbering of boundary cells is according to boundaryCells()
Definition at line 2309 of file globalMeshData.C.
const Foam::labelListList & globalPointBoundaryCells | ( | ) | const |
Definition at line 2320 of file globalMeshData.C.
Referenced by main().
const Foam::labelListList & globalPointTransformedBoundaryCells | ( | ) | const |
Definition at line 2332 of file globalMeshData.C.
Referenced by main().
const Foam::mapDistribute & globalPointBoundaryCellsMap | ( | ) | const |
Definition at line 2342 of file globalMeshData.C.
Referenced by main().
Foam::autoPtr< Foam::globalIndex > mergePoints | ( | labelList & | pointToGlobal, |
labelList & | uniquePoints | ||
) | const |
Helper for merging (collocated!) mesh point data.
Determines:
Definition at line 2374 of file globalMeshData.C.
References mapDistributeBase::constructSize(), forAll, PrimitivePatch< Face, FaceList, PointField, PointType >::meshPoints(), PrimitivePatch< Face, FaceList, PointField, PointType >::nPoints(), mapDistribute::reverseDistribute(), List::setSize(), List::size(), and globalIndex::toGlobal().
Referenced by extractSurface(), and externalCoupledFunctionObject::writeGeometry().
Foam::autoPtr< Foam::globalIndex > mergePoints | ( | const labelList & | 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
Definition at line 2508 of file globalMeshData.C.
References mapDistributeBase::constructSize(), mapDistribute::distribute(), forAll, Foam::labelMax, PrimitivePatch< Face, FaceList, PointField, PointType >::meshPointMap(), PrimitivePatch< Face, FaceList, PointField, PointType >::nPoints(), mapDistribute::reverseDistribute(), List::setSize(), List::size(), and globalIndex::toGlobal().
void movePoints | ( | const pointField & | newPoints | ) |
Update for moving points.
Definition at line 2722 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 2732 of file globalMeshData.C.
References UPstream::allocateCommunicator(), Foam::endl(), UPstream::freeCommunicator(), Foam::identity(), UPstream::msgType(), UPstream::nProcs(), Foam::Pout, Foam::returnReduce(), and UPstream::worldComm.
Referenced by globalMeshData::globalMeshData().
|
private |
Reference to mesh.
Definition at line 114 of file globalMeshData.H.
Referenced by globalMeshData::initProcAddr(), and globalMeshData::mesh().
|
private |
Total number of points in the complete mesh.
Definition at line 120 of file globalMeshData.H.
|
private |
Total number of faces in the complete mesh.
Definition at line 123 of file globalMeshData.H.
|
private |
Total number of cells in the complete mesh.
Definition at line 126 of file globalMeshData.H.
Referenced by globalMeshData::nTotalCells().
|
private |
List of processor patch labels.
(size of list = number of processor patches)
Definition at line 133 of file globalMeshData.H.
Referenced by globalMeshData::initProcAddr().
|
private |
List of indices into processorPatches_ for each patch.
Index = -1 for non-processor patches. (size of list = number of patches)
Definition at line 138 of file globalMeshData.H.
Referenced by globalMeshData::initProcAddr().
|
private |
processorPatchIndices_ of the neighbours processor patches
Definition at line 141 of file globalMeshData.H.
Referenced by globalMeshData::initProcAddr().
|
mutableprivate |
Patch of coupled faces. Additional patch edge to mesh edges.
correspondence: points: meshPoints(), meshPointMap() edges : meshEdges(), meshEdgeMap()
Definition at line 153 of file globalMeshData.H.
Definition at line 154 of file globalMeshData.H.
Definition at line 155 of file globalMeshData.H.
|
mutableprivate |
Global numbering for coupledPatch points.
Definition at line 158 of file globalMeshData.H.
|
mutableprivate |
Global numbering for transforms.
Definition at line 161 of file globalMeshData.H.
|
mutableprivate |
Definition at line 165 of file globalMeshData.H.
|
mutableprivate |
Definition at line 166 of file globalMeshData.H.
|
mutableprivate |
Definition at line 167 of file globalMeshData.H.
|
mutableprivate |
Definition at line 171 of file globalMeshData.H.
|
mutableprivate |
Definition at line 172 of file globalMeshData.H.
|
mutableprivate |
Definition at line 173 of file globalMeshData.H.
|
mutableprivate |
Definition at line 174 of file globalMeshData.H.
|
mutableprivate |
Definition at line 175 of file globalMeshData.H.
|
mutableprivate |
Definition at line 180 of file globalMeshData.H.
|
mutableprivate |
Definition at line 181 of file globalMeshData.H.
|
mutableprivate |
Definition at line 183 of file globalMeshData.H.
|
mutableprivate |
Definition at line 184 of file globalMeshData.H.
Definition at line 188 of file globalMeshData.H.
|
mutableprivate |
Definition at line 189 of file globalMeshData.H.
|
mutableprivate |
Definition at line 190 of file globalMeshData.H.
|
mutableprivate |
Definition at line 192 of file globalMeshData.H.
|
mutableprivate |
Definition at line 193 of file globalMeshData.H.
|
mutableprivate |
Definition at line 197 of file globalMeshData.H.
|
mutableprivate |
Definition at line 198 of file globalMeshData.H.
|
mutableprivate |
Total number of global points.
Definition at line 205 of file globalMeshData.H.
Indices of local points that are globally shared.
Definition at line 208 of file globalMeshData.H.
Indices of globally shared points in the master list.
This list contains all the shared points in the mesh
Definition at line 212 of file globalMeshData.H.
Shared point global labels.
Global point index for every local shared point. Only valid if constructed with this information or if pointProcAddressing read.
Definition at line 218 of file globalMeshData.H.
|
mutableprivate |
Total number of global edges.
Definition at line 225 of file globalMeshData.H.
Indices of local edges that are globally shared.
Definition at line 228 of file globalMeshData.H.
Indices of globally shared edge in the master list.
This list contains all the shared edges in the mesh
Definition at line 232 of file globalMeshData.H.
|
static |
Geometric tolerance (fraction of bounding box)
Definition at line 346 of file globalMeshData.H.
Copyright © 2011-2018 OpenFOAM | OPENFOAM® is a registered trademark of OpenCFD Ltd.