Determines processor-processor connection. After instantiation contains on all processors the processor-processor connection table. More...
Public Member Functions | |
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 | |
static lduSchedule | nonBlockingSchedule (const Container &patches) |
Calculate non-blocking (i.e. unscheduled) schedule. More... | |
![]() | |
static const List< T > & | null () |
Return a null List. More... | |
Private Member Functions | |
labelList | procNeighbours (const label nProcs, const Container &) |
Return all neighbouring processors of this processor. Set. More... | |
Private Attributes | |
labelList | procPatchMap_ |
Local map from neighbour proc to patchI. Different per processor! More... | |
lduSchedule | patchSchedule_ |
Order in which the patches should be initialised/evaluated. 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... | |
Determines processor-processor connection. After instantiation contains on all processors the processor-processor connection table.
this[procI] gives the list of neighbouring processors.
TODO: This does not currently correctly support multiple processor patches connecting two processors.
Definition at line 56 of file ProcessorTopology.H.
ProcessorTopology | ( | const Container & | patches, |
const label | comm | ||
) |
Construct from boundaryMesh.
Definition at line 109 of file ProcessorTopology.C.
References DynamicList::append(), forAll, patches, patchi, procNeighbours(), and DynamicList::shrink().
|
private |
Return all neighbouring processors of this processor. Set.
procPatchMap_.
Definition at line 36 of file ProcessorTopology.C.
References forAll, Foam::max(), patches, patchi, and List::setSize().
|
inline |
From neighbour processor to index in boundaryMesh. Local information.
(so not same over all processors)
Definition at line 92 of file ProcessorTopology.H.
Referenced by addPatchCellLayer::calcExtrudeInfo().
|
inline |
Order in which the patches should be initialised/evaluated.
corresponding to the schedule
Definition at line 99 of file ProcessorTopology.H.
Referenced by pointBoundaryMesh::calcGeometry(), polyBoundaryMesh::calcGeometry(), pointBoundaryMesh::movePoints(), polyBoundaryMesh::movePoints(), pointBoundaryMesh::updateMesh(), and polyBoundaryMesh::updateMesh().
|
static |
Calculate non-blocking (i.e. unscheduled) schedule.
Definition at line 223 of file ProcessorTopology.C.
|
private |
Local map from neighbour proc to patchI. Different per processor!
-1 or patchI for connection to procID
Definition at line 67 of file ProcessorTopology.H.
|
private |
Order in which the patches should be initialised/evaluated.
corresponding to the schedule
Definition at line 71 of file ProcessorTopology.H.
Copyright © 2011-2018 OpenFOAM | OPENFOAM® is a registered trademark of OpenCFD Ltd.