Dune Core Modules (unstable)
interface.hh
Go to the documentation of this file.
3// SPDX-FileCopyrightInfo: Copyright © DUNE Project contributors, see file LICENSE.md in module root
367 void InterfaceBuilder::buildInterface(const R& remoteIndices, const T1& sourceFlags, const T2& destFlags, Op& interfaceInformation) const
371 DUNE_THROW(RemoteIndicesStateError,"RemoteIndices is not in sync with the index set. Call RemoteIndices::rebuild first!");
389 RemoteIterator remote = send ? process->second.first->begin() : process->second.second->begin();
411 RemoteIterator remote = send ? process->second.first->begin() : process->second.second->begin();
433 inline const std::map<int,std::pair<InterfaceInformation,InterfaceInformation> >& Interface::interfaces() const
438 inline std::map<int,std::pair<InterfaceInformation,InterfaceInformation> >& Interface::interfaces()
479 this->template buildInterface<R,T1,T2,InformationBuilder<true>,true>(remoteIndices, sourceFlags,
484 this->template buildInterface<R,T1,T2,InformationBuilder<false>,false>(remoteIndices,sourceFlags,
Base class of all classes representing a communication interface.
Definition: interface.hh:44
InterfaceBuilder()
Not for public use.
Definition: interface.hh:56
void add(std::size_t index)
Add a new index to the interface.
Definition: interface.hh:163
std::size_t & operator[](size_t i)
Get the local index for an entry.
Definition: interface.hh:125
size_t size() const
Get the number of entries in the interface.
Definition: interface.hh:117
void reserve(size_t size)
Reserve space for a number of entries.
Definition: interface.hh:143
std::size_t operator[](size_t i) const
Get the local index for an entry.
Definition: interface.hh:134
Communication interface between remote and local indices.
Definition: interface.hh:218
MPI_Comm communicator_
The MPI communicator we use.
Definition: interface.hh:325
std::map< int, std::pair< InterfaceInformation, InterfaceInformation > > InformationMap
The type of the map form process number to InterfaceInformation for sending and receiving to and from...
Definition: interface.hh:225
Default exception if a function was called while the object is not in a valid state for that function...
Definition: exceptions.hh:373
A few common exception classes.
Classes for building sets out of enumeration values.
void buildInterface(const R &remoteIndices, const T1 &sourceFlags, const T2 &destFlags, Op &functor) const
Builds the interface between remote processes.
Definition: interface.hh:367
void build(const R &remoteIndices, const T1 &sourceFlags, const T2 &destFlags)
Builds the interface.
Definition: interface.hh:470
void print() const
Print the interface to std::out for debugging.
Definition: interface.hh:443
const_iterator end() const
Get an iterator over all remote index lists.
Definition: remoteindices.hh:1528
const InformationMap & interfaces() const
Get information about the interfaces.
Definition: interface.hh:433
MPI_Comm communicator() const
Get the MPI Communicator.
Definition: interface.hh:426
void free()
Frees memory allocated during the build.
Definition: interface.hh:501
constexpr std::integral_constant< std::size_t, sizeof...(II)> size(std::integer_sequence< T, II... >)
Return the size of the sequence.
Definition: integersequence.hh:75
Classes describing a distributed indexset.
|
Legal Statements / Impressum |
Hosted by TU Dresden |
generated with Hugo v0.111.3
(Dec 21, 23:30, 2024)