Various mesh related information for a parallel run. Upon construction, constructs all info using parallel communication. More...
Classes | |
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... | |
Public Member Functions inherited from ProcessorTopology< Container, ProcPatch > | |
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... | |
Public Member Functions inherited from List< T > | |
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 label, const zero) | |
Construct with given size initializing all elements to zero. 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<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 | shallowCopy (const UList< T > &)=delete |
Disallow implicit shallowCopy. 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... | |
void | operator= (const zero) |
Assignment of all entries to zero. More... | |
Public Member Functions inherited from UList< T > | |
UList () | |
Null constructor. More... | |
UList (T *__restrict__ v, label size) | |
Construct from components. More... | |
label | fcIndex (const label i) const |
Return the forward circular index, i.e. the next index. More... | |
label | rcIndex (const label i) const |
Return the reverse circular index, i.e. the previous index. More... | |
std::streamsize | byteSize () const |
Return the binary size in number of characters of the UList. More... | |
const T * | cdata () const |
Return a const pointer to the first data element,. More... | |
T * | data () |
Return a pointer to the first data element,. More... | |
T & | first () |
Return the first element of the list. More... | |
const T & | first () const |
Return first element of the list. More... | |
T & | last () |
Return the last element of the list. More... | |
const T & | last () const |
Return the last element of the list. More... | |
void | checkStart (const label start) const |
Check start is within valid range (0 ... size-1) More... | |
void | checkSize (const label size) const |
Check size is within valid range (0 ... size) More... | |
void | checkIndex (const label i) const |
Check index i is within valid range (0 ... size-1) More... | |
void | shallowCopy (const UList< T > &) |
Copy the pointer held by the given UList. More... | |
void | deepCopy (const UList< T > &) |
Copy elements of the given UList. More... | |
void | writeEntry (Ostream &) const |
Write the UList as a dictionary entry. More... | |
void | writeEntry (const word &keyword, Ostream &) const |
Write the UList as a dictionary entry with keyword. More... | |
T & | operator[] (const label) |
Return element of UList. More... | |
const T & | operator[] (const label) const |
Return element of constant UList. More... | |
operator const Foam::List< T > & () const | |
Allow cast to a const List<T>&. More... | |
void | operator= (const T &) |
Assignment of all entries to the given value. More... | |
void | operator= (const zero) |
Assignment of all entries to zero. More... | |
iterator | begin () |
Return an iterator to begin traversing the UList. More... | |
iterator | end () |
Return an iterator to end traversing the UList. More... | |
const_iterator | cbegin () const |
Return const_iterator to begin traversing the constant UList. More... | |
const_iterator | cend () const |
Return const_iterator to end traversing the constant UList. More... | |
const_iterator | begin () const |
Return const_iterator to begin traversing the constant UList. More... | |
const_iterator | end () const |
Return const_iterator to end traversing the constant UList. More... | |
reverse_iterator | rbegin () |
Return reverse_iterator to begin reverse traversing the UList. More... | |
reverse_iterator | rend () |
Return reverse_iterator to end reverse traversing the UList. More... | |
const_reverse_iterator | crbegin () const |
Return const_reverse_iterator to begin reverse traversing the UList. More... | |
const_reverse_iterator | crend () const |
Return const_reverse_iterator to end reverse traversing the UList. More... | |
const_reverse_iterator | rbegin () const |
Return const_reverse_iterator to begin reverse traversing the UList. More... | |
const_reverse_iterator | rend () const |
Return const_reverse_iterator to end reverse traversing the UList. More... | |
label | size () const |
Return the number of elements in the UList. More... | |
label | max_size () const |
Return size of the largest possible UList. More... | |
bool | empty () const |
Return true if the UList is empty (ie, size() is zero) More... | |
void | swap (UList< T > &) |
Swap two ULists of the same type in constant time. More... | |
bool | operator== (const UList< T > &) const |
Equality operation on ULists of the same type. More... | |
bool | operator!= (const UList< T > &) const |
The opposite of the equality operation. Takes linear time. More... | |
bool | operator< (const UList< T > &) const |
Compare two ULists lexicographically. Takes linear time. More... | |
bool | operator> (const UList< T > &) const |
Compare two ULists lexicographically. Takes linear time. More... | |
bool | operator<= (const UList< T > &) const |
Return true if !(a > b). Takes linear time. More... | |
bool | operator>= (const UList< T > &) const |
Return true if !(a < b). Takes linear time. More... | |
template<> | |
const bool & | operator[] (const label i) const |
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 Public Member Functions inherited from ProcessorTopology< Container, ProcPatch > | |
static lduSchedule | nonBlockingSchedule (const Container &patches) |
Calculate non-blocking (i.e. unscheduled) schedule. More... | |
Static Public Member Functions inherited from List< T > | |
static const List< T > & | null () |
Return a null List. More... | |
Static Public Member Functions inherited from UList< T > | |
static const UList< T > & | null () |
Return a null UList. More... | |
Static Public Attributes | |
static const Foam::scalar | matchTol_ = 1e-8 |
Geometric tolerance (fraction of bounding box) More... | |
Additional Inherited Members | |
Public Types inherited from List< T > | |
typedef SubList< T > | subList |
Declare type of subList. More... | |
Public Types inherited from UList< T > | |
typedef T | value_type |
Type of values the UList contains. More... | |
typedef T & | reference |
Type that can be used for storing into. More... | |
typedef const T & | const_reference |
Type that can be used for storing into. More... | |
typedef label | difference_type |
The type that can represent the difference between any two. More... | |
typedef label | size_type |
The type that can represent the size of a UList. More... | |
typedef T * | iterator |
Random access iterator for traversing UList. More... | |
typedef const T * | const_iterator |
Random access iterator for traversing UList. More... | |
typedef T * | reverse_iterator |
Reverse iterator for reverse traversal of UList. More... | |
typedef const T * | const_reverse_iterator |
Reverse iterator for reverse traversal of constant UList. More... | |
Protected Member Functions inherited from List< T > | |
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.
globalMeshData | ( | const polyMesh & | mesh | ) |
Construct from mesh, derive rest (does parallel communication!)
Definition at line 1757 of file globalMeshData.C.
References globalMeshData::updateMesh().
~globalMeshData | ( | ) |
Destructor.
Definition at line 1781 of file globalMeshData.C.
References globalMeshData::clearOut().
ClassName | ( | "globalMeshData" | ) |
Runtime type information.
Referenced by globalMeshData::ListPlusEqOp< T >::operator()().
void clearOut | ( | ) |
Remove all demand driven data.
Definition at line 1787 of file globalMeshData.C.
Referenced by globalMeshData::updateMesh(), and globalMeshData::~globalMeshData().
|
inline |
Return the mesh reference.
Definition at line 367 of file globalMeshData.H.
References globalMeshData::nTotalFaces(), globalMeshData::nTotalPoints(), globalMeshData::parallel(), and List< T >::size().
|
inline |
Does the mesh contain processor patches? (also valid when.
not running parallel)
Definition at line 374 of file globalMeshData.H.
Referenced by globalMeshData::mesh().
|
inline |
Return total number of points in decomposed mesh. Not.
compensated for duplicate points!
Definition at line 381 of file globalMeshData.H.
Referenced by meshRefinement::dupNonManifoldPoints(), globalMeshData::mesh(), and medialAxisMeshMover::~medialAxisMeshMover().
|
inline |
Return total number of faces in decomposed mesh. Not.
compensated for duplicate faces!
Definition at line 388 of file globalMeshData.H.
Referenced by globalMeshData::mesh().
|
inline |
Return total number of cells in decomposed mesh.
Definition at line 394 of file globalMeshData.H.
References globalMeshData::boundaryCells(), globalMeshData::coupledPatch(), globalMeshData::coupledPatchMeshEdgeMap(), globalMeshData::coupledPatchMeshEdges(), globalMeshData::geometricSharedPoints(), globalMeshData::globalBoundaryCellNumbering(), globalMeshData::globalBoundaryFaceNumbering(), globalMeshData::globalCoPointSlaves(), globalMeshData::globalCoPointSlavesMap(), globalMeshData::globalEdgeNumbering(), globalMeshData::globalEdgeOrientation(), globalMeshData::globalEdgeSlaves(), globalMeshData::globalEdgeSlavesMap(), globalMeshData::globalEdgeTransformedSlaves(), globalMeshData::globalPointBoundaryCells(), globalMeshData::globalPointBoundaryCellsMap(), globalMeshData::globalPointBoundaryFaces(), globalMeshData::globalPointBoundaryFacesMap(), globalMeshData::globalPointNumbering(), globalMeshData::globalPointSlaves(), globalMeshData::globalPointSlavesMap(), globalMeshData::globalPointTransformedBoundaryCells(), globalMeshData::globalPointTransformedBoundaryFaces(), globalMeshData::globalPointTransformedSlaves(), globalMeshData::globalTransforms(), globalMeshData::mergePoints(), globalMeshData::movePoints(), globalMeshData::nGlobalEdges(), globalMeshData::nGlobalPoints(), globalMeshData::processorPatches(), globalMeshData::processorPatchIndices(), globalMeshData::processorPatchNeighbours(), globalMeshData::sharedEdgeAddr(), globalMeshData::sharedEdgeLabels(), globalMeshData::sharedPointAddr(), globalMeshData::sharedPointGlobalLabels(), globalMeshData::sharedPointLabels(), globalMeshData::sharedPoints(), globalMeshData::syncData(), globalMeshData::syncPointData(), and globalMeshData::updateMesh().
Referenced by structuredDecomp::decompose(), decompositionMethod::decompose(), NamedEnum< Enum, nEnum >::names(), meshRefinement::printMeshInfo(), zoltanRenumber::renumber(), structuredRenumber::renumber(), Foam::fvc::smooth(), and snappyRefineDriver::snappyRefineDriver().
|
inline |
Return list of processor patch labels.
(size of list = number of processor patches)
Definition at line 404 of file globalMeshData.H.
Referenced by Cloud< ParticleType >::move(), globalMeshData::nTotalCells(), and FaceCellWave< Type, TrackingData >::setFaceInfo().
|
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< ParticleType >::move(), and globalMeshData::nTotalCells().
|
inline |
Return processorPatchIndices of the neighbours.
processor patches. -1 if not running parallel.
Definition at line 419 of file globalMeshData.H.
Referenced by Cloud< ParticleType >::move(), and globalMeshData::nTotalCells().
Foam::label nGlobalPoints | ( | ) | const |
Return number of globally shared points.
Definition at line 1999 of file globalMeshData.C.
Referenced by globalMeshData::nTotalCells(), globalMeshData::sharedPoints(), and syncTools::syncPointMap().
const Foam::labelList & sharedPointLabels | ( | ) | const |
Return indices of local points that are globally shared.
Definition at line 2009 of file globalMeshData.C.
Referenced by polyMeshAdder::findSharedPoints(), globalMeshData::geometricSharedPoints(), globalMeshData::nTotalCells(), globalMeshData::sharedPointGlobalLabels(), globalMeshData::sharedPoints(), syncTools::syncEdgeMap(), and syncTools::syncPointMap().
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 2019 of file globalMeshData.C.
Referenced by polyMeshAdder::findSharedPoints(), globalMeshData::nTotalCells(), globalMeshData::sharedPoints(), syncTools::syncEdgeMap(), and syncTools::syncPointMap().
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 1839 of file globalMeshData.C.
References Foam::endl(), polyMesh::facesInstance(), forAll, polyMesh::meshSubDir, IOobject::MUST_READ, pointLabels(), Foam::Pout, globalMeshData::sharedPointLabels(), and List< T >::size().
Referenced by globalMeshData::nTotalCells().
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 1889 of file globalMeshData.C.
References UPstream::blocking, UPstream::firstSlave(), forAll, UPstream::lastSlave(), UPstream::master(), UPstream::masterNo(), globalMeshData::nGlobalPoints(), pointLabels(), polyMesh::points(), globalMeshData::sharedPointAddr(), globalMeshData::sharedPointLabels(), List< T >::size(), and Foam::Zero.
Referenced by globalMeshData::geometricSharedPoints(), and globalMeshData::nTotalCells().
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 1971 of file globalMeshData.C.
References polyMesh::bounds(), Foam::combineReduce(), boundBox::mag(), globalMeshData::matchTol_, Foam::mergePoints(), polyMesh::points(), globalMeshData::sharedPointLabels(), and globalMeshData::sharedPoints().
Referenced by globalMeshData::nTotalCells().
Foam::label nGlobalEdges | ( | ) | const |
Return number of globally shared edges. Demand-driven.
calculation so call needs to be synchronous among processors!
Definition at line 2029 of file globalMeshData.C.
Referenced by globalMeshData::nTotalCells().
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 2039 of file globalMeshData.C.
Referenced by globalMeshData::nTotalCells().
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 2049 of file globalMeshData.C.
Referenced by globalMeshData::nTotalCells().
const Foam::indirectPrimitivePatch & coupledPatch | ( | ) | const |
Return patch of all coupled faces.
Definition at line 2059 of file globalMeshData.C.
References polyMesh::boundaryMesh(), polyPatch::coupled(), Foam::endl(), polyMesh::faces(), forAll, patchi, polyMesh::points(), Foam::Pout, and polyPatch::start().
Referenced by createShellMesh::calcPointRegions(), PointEdgeWave< Type, TrackingData >::countPatchType(), globalMeshData::coupledPatchMeshEdges(), globalMeshData::globalEdgeNumbering(), globalMeshData::globalPointNumbering(), globalMeshData::mergePoints(), globalMeshData::nTotalCells(), PatchTools::pointNormals(), motionSmootherAlgo::setDisplacementPatchFields(), syncTools::syncEdgeList(), syncTools::syncPointList(), and pointConstraints::syncUntransformedData().
const Foam::labelList & coupledPatchMeshEdges | ( | ) | const |
Return map from coupledPatch edges to mesh edges.
Definition at line 2120 of file globalMeshData.C.
References globalMeshData::coupledPatch(), primitiveMesh::edges(), and primitiveMesh::pointEdges().
Referenced by globalMeshData::coupledPatchMeshEdgeMap(), globalMeshData::nTotalCells(), and syncTools::syncEdgeList().
const Foam::Map< Foam::label > & coupledPatchMeshEdgeMap | ( | ) | const |
Return map from mesh edges to coupledPatch edges.
Definition at line 2140 of file globalMeshData.C.
References globalMeshData::coupledPatchMeshEdges(), forAll, HashTable< T, Key, Hash >::insert(), Foam::constant::atomic::me, and List< T >::size().
Referenced by globalMeshData::nTotalCells(), and syncTools::syncEdgeList().
const Foam::globalIndexAndTransform & globalTransforms | ( | ) | const |
Global transforms numbering.
Definition at line 2173 of file globalMeshData.C.
Referenced by PatchTools::edgeNormals(), globalMeshData::nTotalCells(), PatchTools::pointNormals(), syncTools::syncEdgeList(), 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< T >::size().
Referenced by PatchTools::edgeNormals(), globalMeshData::mergePoints(), globalMeshData::nTotalCells(), minEqOp< labelPair >::operator()(), syncTools::syncEdgeList(), and syncTools::syncPointList().
|
static |
Helper: synchronise data without transforms.
Definition at line 107 of file globalMeshDataTemplates.C.
References mapDistribute::distribute(), forAll, mapDistribute::reverseDistribute(), List< T >::size(), and globalMeshData::syncPointData().
const Foam::globalIndex & globalPointNumbering | ( | ) | const |
Numbering of coupled points is according to coupledPatch.
Definition at line 2159 of file globalMeshData.C.
References globalMeshData::coupledPatch(), and nPoints.
Referenced by globalMeshData::mergePoints(), and globalMeshData::nTotalCells().
const Foam::labelListList & globalPointSlaves | ( | ) | const |
Definition at line 2183 of file globalMeshData.C.
Referenced by PointEdgeWave< Type, TrackingData >::countPatchType(), globalMeshData::nTotalCells(), PatchTools::pointNormals(), and syncTools::syncPointList().
const Foam::labelListList & globalPointTransformedSlaves | ( | ) | const |
Definition at line 2193 of file globalMeshData.C.
Referenced by globalMeshData::nTotalCells(), PatchTools::pointNormals(), and syncTools::syncPointList().
const Foam::mapDistribute & globalPointSlavesMap | ( | ) | const |
Definition at line 2204 of file globalMeshData.C.
Referenced by PointEdgeWave< Type, TrackingData >::countPatchType(), globalMeshData::nTotalCells(), 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, PrimitivePatch< Face, FaceList, PointField, PointType >::meshPoints(), and List< T >::size().
Referenced by globalMeshData::nTotalCells(), globalMeshData::syncData(), and syncTools::syncPointList().
const Foam::globalIndex & globalEdgeNumbering | ( | ) | const |
Definition at line 2214 of file globalMeshData.C.
References globalMeshData::coupledPatch().
Referenced by globalMeshData::nTotalCells().
const Foam::labelListList & globalEdgeSlaves | ( | ) | const |
Definition at line 2227 of file globalMeshData.C.
Referenced by PatchTools::edgeNormals(), globalMeshData::nTotalCells(), minEqOp< labelPair >::operator()(), and syncTools::syncEdgeList().
const Foam::labelListList & globalEdgeTransformedSlaves | ( | ) | const |
Definition at line 2237 of file globalMeshData.C.
Referenced by PatchTools::edgeNormals(), globalMeshData::nTotalCells(), minEqOp< labelPair >::operator()(), and syncTools::syncEdgeList().
const Foam::mapDistribute & globalEdgeSlavesMap | ( | ) | const |
Definition at line 2258 of file globalMeshData.C.
Referenced by PatchTools::edgeNormals(), globalMeshData::nTotalCells(), minEqOp< labelPair >::operator()(), and syncTools::syncEdgeList().
const Foam::PackedBoolList & globalEdgeOrientation | ( | ) | const |
Is my edge same orientation as master edge.
Definition at line 2248 of file globalMeshData.C.
Referenced by globalMeshData::nTotalCells(), and minEqOp< labelPair >::operator()().
const Foam::labelListList & globalCoPointSlaves | ( | ) | const |
Definition at line 2366 of file globalMeshData.C.
Referenced by globalMeshData::mergePoints(), globalMeshData::nTotalCells(), and pointConstraints::syncUntransformedData().
const Foam::mapDistribute & globalCoPointSlavesMap | ( | ) | const |
Definition at line 2376 of file globalMeshData.C.
References globalMeshData::mergePoints().
Referenced by globalMeshData::mergePoints(), globalMeshData::nTotalCells(), and pointConstraints::syncUntransformedData().
const Foam::globalIndex & globalBoundaryFaceNumbering | ( | ) | const |
Numbering of boundary faces is face-mesh.nInternalFaces()
Definition at line 2268 of file globalMeshData.C.
Referenced by globalMeshData::nTotalCells().
const Foam::labelListList & globalPointBoundaryFaces | ( | ) | const |
Definition at line 2279 of file globalMeshData.C.
Referenced by globalMeshData::nTotalCells().
const Foam::labelListList & globalPointTransformedBoundaryFaces | ( | ) | const |
Definition at line 2291 of file globalMeshData.C.
Referenced by globalMeshData::nTotalCells().
const Foam::mapDistribute & globalPointBoundaryFacesMap | ( | ) | const |
Definition at line 2301 of file globalMeshData.C.
Referenced by globalMeshData::nTotalCells().
const Foam::labelList & boundaryCells | ( | ) | const |
From boundary cell to mesh cell.
Definition at line 2312 of file globalMeshData.C.
Referenced by globalMeshData::nTotalCells().
const Foam::globalIndex & globalBoundaryCellNumbering | ( | ) | const |
Numbering of boundary cells is according to boundaryCells()
Definition at line 2322 of file globalMeshData.C.
Referenced by globalMeshData::nTotalCells().
const Foam::labelListList & globalPointBoundaryCells | ( | ) | const |
Definition at line 2333 of file globalMeshData.C.
Referenced by globalMeshData::nTotalCells().
const Foam::labelListList & globalPointTransformedBoundaryCells | ( | ) | const |
Definition at line 2345 of file globalMeshData.C.
Referenced by globalMeshData::nTotalCells().
const Foam::mapDistribute & globalPointBoundaryCellsMap | ( | ) | const |
Definition at line 2355 of file globalMeshData.C.
Referenced by globalMeshData::nTotalCells().
Foam::autoPtr< Foam::globalIndex > mergePoints | ( | labelList & | pointToGlobal, |
labelList & | uniquePoints | ||
) | const |
Helper for merging (collocated!) mesh point data.
Determines:
Definition at line 2387 of file globalMeshData.C.
References mapDistributeBase::constructSize(), globalMeshData::coupledPatch(), forAll, globalMeshData::globalCoPointSlaves(), globalMeshData::globalCoPointSlavesMap(), globalMeshData::globalPointNumbering(), PrimitivePatch< Face, FaceList, PointField, PointType >::meshPoints(), PrimitivePatch< Face, FaceList, PointField, PointType >::nPoints(), primitiveMesh::nPoints(), mapDistribute::reverseDistribute(), List< T >::setSize(), List< T >::size(), globalMeshData::syncData(), and globalIndex::toGlobal().
Referenced by PatchTools::gatherAndMerge(), globalMeshData::globalCoPointSlavesMap(), globalMeshData::nTotalCells(), and FacePostProcessing< CloudType >::write().
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 2521 of file globalMeshData.C.
References mapDistributeBase::constructSize(), globalMeshData::coupledPatch(), mapDistribute::distribute(), HashTableCore::end(), HashTable< T, Key, Hash >::find(), forAll, globalMeshData::globalCoPointSlaves(), globalMeshData::globalCoPointSlavesMap(), Foam::labelMax, PrimitivePatch< Face, FaceList, PointField, PointType >::meshPointMap(), PrimitivePatch< Face, FaceList, PointField, PointType >::nPoints(), mapDistribute::reverseDistribute(), List< T >::setSize(), List< T >::size(), and globalMeshData::syncData().
void movePoints | ( | const pointField & | newPoints | ) |
Update for moving points.
Definition at line 2735 of file globalMeshData.C.
Referenced by globalMeshData::nTotalCells().
void updateMesh | ( | ) |
Change global mesh data given a topological change. Does a.
full parallel analysis to determine shared points and boundaries.
Definition at line 2744 of file globalMeshData.C.
References UPstream::allocateCommunicator(), polyMesh::bounds(), globalMeshData::clearOut(), Foam::endl(), UPstream::freeCommunicator(), Foam::identity(), boundBox::mag(), globalMeshData::matchTol_, UPstream::msgType(), primitiveMesh::nCells(), primitiveMesh::nFaces(), primitiveMesh::nPoints(), UPstream::nProcs(), Foam::Pout, Foam::returnReduce(), and UPstream::worldComm.
Referenced by globalMeshData::globalMeshData(), and globalMeshData::nTotalCells().
|
static |
Geometric tolerance (fraction of bounding box)
Definition at line 346 of file globalMeshData.H.
Referenced by globalMeshData::geometricSharedPoints(), and globalMeshData::updateMesh().