Reference documentation for deal.II version Git 78a8940608 2021-04-17 09:24:19 -0400
\(\newcommand{\dealvcentcolon}{\mathrel{\mathop{:}}}\) \(\newcommand{\dealcoloneq}{\dealvcentcolon\mathrel{\mkern-1.2mu}=}\) \(\newcommand{\jump}[1]{\left[\!\left[ #1 \right]\!\right]}\) \(\newcommand{\average}[1]{\left\{\!\left\{ #1 \right\}\!\right\}}\)
Public Member Functions | List of all members
Utilities::MPI::CommunicationPatternBase Class Referenceabstract

#include <deal.II/base/communication_pattern_base.h>

Inheritance diagram for Utilities::MPI::CommunicationPatternBase:
[legend]

Public Member Functions

virtual ~CommunicationPatternBase ()=default
 
virtual void reinit (const IndexSet &vector_space_vector_index_set, const IndexSet &read_write_vector_index_set, const MPI_Comm &communicator)=0
 
virtual const MPI_Commget_mpi_communicator () const =0
 

Detailed Description

CommunicationPattern is an abstract class that is used to define a communication plan that can be called repeatedly to efficiently obtain off-processor elements. The idea is to decouple the communication pattern from the data that needs to be communicated. The goal is to reuse the same communication pattern for different containers. This is similar to the way SparseMatrix and SparsityPattern works.

Definition at line 42 of file communication_pattern_base.h.

Constructor & Destructor Documentation

◆ ~CommunicationPatternBase()

virtual Utilities::MPI::CommunicationPatternBase::~CommunicationPatternBase ( )
virtualdefault

Destructor.

Member Function Documentation

◆ reinit()

virtual void Utilities::MPI::CommunicationPatternBase::reinit ( const IndexSet vector_space_vector_index_set,
const IndexSet read_write_vector_index_set,
const MPI_Comm communicator 
)
pure virtual

Reinitialize the communication pattern. The first argument vector_space_vector_index_set is the index set associated to a VectorSpaceVector object. The second argument read_write_vector_index_set is the index set associated to a ReadWriteVector object.

Implemented in Utilities::MPI::Partitioner, Utilities::MPI::NoncontiguousPartitioner, LinearAlgebra::EpetraWrappers::CommunicationPattern, and LinearAlgebra::TpetraWrappers::CommunicationPattern.

◆ get_mpi_communicator()

virtual const MPI_Comm& Utilities::MPI::CommunicationPatternBase::get_mpi_communicator ( ) const
pure virtual

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