ProcessorTopology< Container, ProcPatch > Class Template Reference

Determines processor-processor connection. After instantiation contains on all processors the processor-processor connection table. More...

Inheritance diagram for ProcessorTopology< Container, ProcPatch >:
[legend]
Collaboration diagram for ProcessorTopology< Container, ProcPatch >:
[legend]

Public Member Functions

 ProcessorTopology (const Container &patches, const label comm)
 Construct from boundaryMesh. More...
 
const labelListprocPatchMap () const
 From neighbour processor to index in boundaryMesh. Local information. More...
 
const lduSchedulepatchSchedule () const
 Order in which the patches should be initialised/evaluated. More...
 
- Public Member Functions inherited from List< labelList >
constexpr List () noexcept
 Null constructor. More...
 
 List (const label len)
 Construct with given size. More...
 
 List (const label len, const labelList &val)
 Construct with given size and value for all elements. More...
 
 List (const label len, const Foam::zero)
 Construct with given size initializing all elements to zero. More...
 
 List (const Foam::one, const labelList &val)
 Construct with length=1, copying the value as the only content. More...
 
 List (const Foam::one, labelList &&val)
 Construct with length=1, moving the value as the only content. More...
 
 List (const Foam::one, const Foam::zero)
 Construct with length=1, initializing content to zero. More...
 
 List (const List< labelList > &a)
 Copy construct from list. More...
 
 List (const UList< labelList > &a)
 Copy construct contents from list. More...
 
 List (List< labelList > &a, bool reuse)
 Construct as copy or re-use as specified. More...
 
 List (const UList< labelList > &list, const labelUList &indices)
 Copy construct subset of list. More...
 
 List (const UList< labelList > &list, const FixedList< label, N > &indices)
 Copy construct subset of list. More...
 
 List (InputIterator begIter, InputIterator endIter)
 Construct given begin/end iterators. More...
 
 List (const FixedList< labelList, N > &list)
 Construct as copy of FixedList<T, N> More...
 
 List (const PtrList< labelList > &list)
 Construct as copy of PtrList<T> More...
 
 List (const SLList< labelList > &list)
 Construct as copy of SLList<T> More...
 
 List (const IndirectListBase< labelList, Addr > &list)
 Construct as copy of IndirectList contents. More...
 
 List (std::initializer_list< labelList > list)
 Construct from an initializer list. More...
 
 List (List< labelList > &&list)
 Move construct from List. More...
 
 List (DynamicList< labelList, SizeMin > &&list)
 Move construct from DynamicList. More...
 
 List (SortableList< labelList > &&list)
 Move construct from SortableList. More...
 
 List (SLList< labelList > &&list)
 Move construct from SLList. More...
 
 List (Istream &is)
 Construct from Istream. More...
 
autoPtr< List< labelList > > clone () const
 Clone. More...
 
 ~List ()
 Destructor. More...
 
void resize (const label newSize)
 Adjust allocated size of list. More...
 
void resize (const label newSize, const labelList &val)
 Adjust allocated size of list and set val for new elements. More...
 
void resize (const label newSize)
 
void setSize (const label newSize)
 Alias for resize(const label) More...
 
void setSize (const label newSize, const labelList &val)
 Alias for resize(const label, const T&) More...
 
void clear ()
 Clear the list, i.e. set size to zero. More...
 
void append (const labelList &val)
 Append an element at the end of the list. More...
 
void append (labelList &&val)
 Move append an element at the end of the list. More...
 
void append (const UList< labelList > &list)
 Append a List to the end of this list. More...
 
void append (const IndirectListBase< labelList, Addr > &list)
 Append IndirectList contents at the end of this list. More...
 
void transfer (List< labelList > &list)
 
void transfer (DynamicList< labelList, SizeMin > &list)
 
void transfer (SortableList< labelList > &list)
 
labelListnewElmt (const label i)
 
void operator= (const UList< labelList > &a)
 Assignment to UList operator. Takes linear time. More...
 
void operator= (const List< labelList > &list)
 Assignment operator. Takes linear time. More...
 
void operator= (const SLList< labelList > &list)
 Assignment to SLList operator. Takes linear time. More...
 
void operator= (const IndirectListBase< labelList, Addr > &list)
 Assignment from IndirectList. Takes linear time. More...
 
void operator= (const FixedList< labelList, N > &list)
 Copy assignment from FixedList. More...
 
void operator= (std::initializer_list< labelList > list)
 Assignment to an initializer list. More...
 
void operator= (const labelList &val)
 Assignment of all entries to the given value. More...
 
void operator= (const Foam::zero)
 Assignment of all entries to zero. More...
 
void operator= (List< labelList > &&list)
 Move assignment. Takes constant time. More...
 
void operator= (DynamicList< labelList, SizeMin > &&list)
 Move assignment. Takes constant time. More...
 
void operator= (SortableList< labelList > &&list)
 Move assignment. Takes constant time. More...
 
void operator= (SLList< labelList > &&list)
 Move assignment. Takes constant time. More...
 
void shallowCopy (const UList< labelList > &)=delete
 No shallowCopy permitted. More...
 
std::enable_if< std::is_same< bool, TypeT >::value, bool >::type set (const label i, bool val=true)
 A bitSet::set() method for a list of bool. More...
 

Static Public Member Functions

static lduSchedule nonBlockingSchedule (const Container &patches)
 Calculate non-blocking (i.e. unscheduled) schedule. More...
 
- Static Public Member Functions inherited from List< labelList >
static const List< labelList > & null ()
 Return a null List. More...
 

Additional Inherited Members

- Public Types inherited from List< labelList >
typedef SubList< labelListsubList
 Declare type of subList. More...
 

Detailed Description

template<class Container, class ProcPatch>
class Foam::ProcessorTopology< Container, ProcPatch >

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.

Source files

Definition at line 58 of file ProcessorTopology.H.

Constructor & Destructor Documentation

◆ ProcessorTopology()

ProcessorTopology ( const Container &  patches,
const label  comm 
)

Construct from boundaryMesh.

Definition at line 110 of file ProcessorTopology.C.

References DynamicList< T, SizeMin >::append(), forAll, patches, and DynamicList< T, SizeMin >::shrink().

Here is the call graph for this function:

Member Function Documentation

◆ procPatchMap()

const labelList& procPatchMap ( ) const
inline

From neighbour processor to index in boundaryMesh. Local information.

(so not same over all processors)

Definition at line 94 of file ProcessorTopology.H.

Referenced by addPatchCellLayer::calcExtrudeInfo().

Here is the caller graph for this function:

◆ patchSchedule()

const lduSchedule& patchSchedule ( ) const
inline

Order in which the patches should be initialised/evaluated.

corresponding to the schedule

Definition at line 101 of file ProcessorTopology.H.

Referenced by pointBoundaryMesh::movePoints(), polyBoundaryMesh::movePoints(), pointBoundaryMesh::updateMesh(), and polyBoundaryMesh::updateMesh().

Here is the caller graph for this function:

◆ nonBlockingSchedule()

Foam::lduSchedule nonBlockingSchedule ( const Container &  patches)
static

Calculate non-blocking (i.e. unscheduled) schedule.

Definition at line 228 of file ProcessorTopology.C.

References forAll, and patches.


The documentation for this class was generated from the following files: