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 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 >
constexpr List () noexcept
 Null constructor. More...
 
 List (const label len)
 Construct with given size. More...
 
 List (const label len, const T &val)
 Construct with given size and value for all elements. More...
 
 List (const label len, const zero)
 Construct with given size initializing all elements to zero. More...
 
 List (const one, const T &val)
 Construct with length=1, copying the value as the only content. More...
 
 List (const one, T &&val)
 Construct with length=1, moving the value as the only content. More...
 
 List (const one, const zero)
 Construct with length=1, initializing content to zero. More...
 
 List (const List< T > &a)
 Copy construct from list. More...
 
 List (const UList< T > &a)
 Copy construct contents from list. More...
 
 List (List< T > &a, bool reuse)
 Construct as copy or re-use as specified. More...
 
 List (const UList< T > &list, const labelUList &indices)
 Copy construct subset of list. More...
 
template<unsigned N>
 List (const UList< T > &list, const FixedList< label, N > &indices)
 Copy construct subset of list. More...
 
template<class InputIterator >
 List (InputIterator begIter, InputIterator endIter)
 Construct given begin/end iterators. More...
 
template<unsigned N>
 List (const FixedList< T, N > &list)
 Construct as copy of FixedList<T, N> More...
 
 List (const PtrList< T > &list)
 Construct as copy of PtrList<T> More...
 
 List (const SLList< T > &list)
 Construct as copy of SLList<T> More...
 
template<class Addr >
 List (const IndirectListBase< T, Addr > &list)
 Construct as copy of IndirectList contents. More...
 
 List (std::initializer_list< T > list)
 Construct from an initializer list. More...
 
 List (List< T > &&list)
 Move construct from List. More...
 
template<int SizeMin>
 List (DynamicList< T, SizeMin > &&list)
 Move construct from DynamicList. More...
 
 List (SortableList< T > &&list)
 Move construct from SortableList. More...
 
 List (SLList< T > &&list)
 Move construct from SLList. More...
 
 List (Istream &is)
 Construct from Istream. More...
 
autoPtr< List< T > > clone () const
 Clone. More...
 
 ~List ()
 Destructor. More...
 
void resize (const label newSize)
 Adjust allocated size of list. More...
 
void resize (const label newSize, const T &val)
 Adjust allocated size of list and set val for new elements. More...
 
void setSize (const label newSize)
 Alias for resize(const label) More...
 
void setSize (const label newSize, const T &val)
 Alias for resize(const label, const T&) More...
 
void clear ()
 Clear the list, i.e. set size to zero. More...
 
void append (const T &val)
 Append an element at the end of the list. More...
 
void append (T &&val)
 Move append an element at the end of the list. More...
 
void append (const UList< T > &list)
 Append a List to the end of this list. More...
 
template<class Addr >
void append (const IndirectListBase< T, Addr > &list)
 Append IndirectList contents at the end of this list. More...
 
void transfer (List< T > &list)
 
template<int SizeMin>
void transfer (DynamicList< T, SizeMin > &list)
 
void transfer (SortableList< T > &list)
 
T & newElmt (const label i)
 
void operator= (const UList< T > &a)
 Assignment to UList operator. Takes linear time. More...
 
void operator= (const List< T > &list)
 Assignment operator. Takes linear time. More...
 
void operator= (const SLList< T > &list)
 Assignment to SLList operator. Takes linear time. More...
 
template<class Addr >
void operator= (const IndirectListBase< T, Addr > &list)
 Assignment from IndirectList. Takes linear time. More...
 
template<unsigned N>
void operator= (const FixedList< T, N > &list)
 Copy assignment from FixedList. More...
 
void operator= (std::initializer_list< T > list)
 Assignment to an initializer list. More...
 
void operator= (const T &val)
 Assignment of all entries to the given value. More...
 
void operator= (const zero)
 Assignment of all entries to zero. More...
 
void operator= (List< T > &&list)
 Move assignment. Takes constant time. More...
 
template<int SizeMin>
void operator= (DynamicList< T, SizeMin > &&list)
 Move assignment. Takes constant time. More...
 
void operator= (SortableList< T > &&list)
 Move assignment. Takes constant time. More...
 
void operator= (SLList< T > &&list)
 Move assignment. Takes constant time. More...
 
void shallowCopy (const UList< T > &)=delete
 No shallowCopy permitted. More...
 
template<class TypeT = T>
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...
 
template<>
void resize (const label newSize)
 

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< T >
static const List< T > & null ()
 Return a null List. More...
 

Additional Inherited Members

- Public Types inherited from List< T >
typedef SubList< T > subList
 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: