Determines/represents processor-processor connection. After instantiation contains the processor-processor connection table (globally synchronized on all processors). More...
#include <processorTopology.H>
Public Member Functions | |
| processorTopology (const processorTopology &)=default | |
| Copy construct. | |
| processorTopology (processorTopology &&)=default | |
| Move construct. | |
| processorTopology & | operator= (const processorTopology &)=default |
| Copy assignment. | |
| processorTopology & | operator= (processorTopology &&)=default |
| Move assignment. | |
| processorTopology () noexcept | |
| Default construct (empty). | |
| label | comm () const noexcept |
| The communicator used during creation of the topology. | |
| const labelList & | procNeighbours () const |
| The neighbour processor connections (ascending order) associated with the local rank. | |
| const labelListList & | procAdjacency () const |
| The complete processor to processor connection adjacency table. Globally synchronized information. | |
| label | procPatchLookup (const label proci) const |
| Which local boundary is attached to specified neighbour processor. | |
| const lduSchedule & | patchSchedule () const noexcept |
| Order in which the patches should be initialised/evaluated corresponding to the schedule. | |
| template<class ProcPatch, class PatchListType> | |
| Foam::processorTopology | New (const PatchListType &patches, const label comm) |
Static Public Member Functions | |
| template<class ProcPatch, class PatchListType> | |
| static processorTopology | New (const PatchListType &patches, const label comm) |
| Factory method to create topology, schedule and proc/patch maps. | |
Determines/represents processor-processor connection. After instantiation contains the processor-processor connection table (globally synchronized on all processors).
New factory method, which has been wrapped into a separate header to minimize dependencies.Definition at line 61 of file processorTopology.H.
|
default |
Copy construct.
References processorTopology().
Referenced by New(), operator=(), operator=(), processorTopology(), and processorTopology().


|
default |
|
noexcept |
Default construct (empty).
Definition at line 26 of file processorTopology.C.
References Foam::noexcept.
|
default |
|
default |
Move assignment.
References Foam::noexcept, and processorTopology().

|
static |
Factory method to create topology, schedule and proc/patch maps.
Scans the list of patches for processor connections corresponding to the ProcPatch type.
References comm(), New(), patches, and processorTopology().
Referenced by New().


|
inlinenoexcept |
The communicator used during creation of the topology.
Definition at line 162 of file processorTopology.H.
References comm(), and Foam::noexcept.
Referenced by comm(), and New().


| const Foam::labelList & procNeighbours | ( | ) | const |
The neighbour processor connections (ascending order) associated with the local rank.
Definition at line 34 of file processorTopology.C.
Referenced by FaceCellWave< Type, TrackingData >::handleProcPatches(), and Cloud< ParticleType >::move().

| const Foam::labelListList & procAdjacency | ( | ) | const |
The complete processor to processor connection adjacency table. Globally synchronized information.
Likely demand-driven data.
Definition at line 94 of file processorTopology.C.
References Pstream::allGatherList(), UPstream::msgType(), UPstream::myProcNo(), UPstream::nProcs(), and UPstream::parRun().
Referenced by New().


|
inline |
Which local boundary is attached to specified neighbour processor.
Definition at line 184 of file processorTopology.H.
Referenced by addPatchCellLayer::calcExtrudeInfo(), and New().

|
inlinenoexcept |
Order in which the patches should be initialised/evaluated corresponding to the schedule.
Definition at line 193 of file processorTopology.H.
References Foam::noexcept.
| Foam::processorTopology New | ( | const PatchListType & | patches, |
| const label | comm ) |
Definition at line 47 of file processorTopologyNew.H.
References comm(), UPstream::defaultCommsType, UList< T >::first(), forAll, Foam::isA(), UPstream::myProcNo(), UPstream::nProcs(), UPstream::parRun(), patches, procAdjacency(), processorTopology(), procPatchLookup(), DynamicList< T, SizeMin >::push_back(), HashTable< T, Key, Hash >::reserve(), List< T >::resize(), and UPstream::scheduled.
