Reference documentation for deal.II version 9.2.0
\(\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
LinearAlgebra::CommunicationPatternBase Class Referenceabstract

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

Inheritance diagram for LinearAlgebra::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.

Author
Bruno Turcksin, 2015.

Definition at line 42 of file communication_pattern_base.h.

Constructor & Destructor Documentation

◆ ~CommunicationPatternBase()

virtual LinearAlgebra::CommunicationPatternBase::~CommunicationPatternBase ( )
virtualdefault

Destructor.

Member Function Documentation

◆ reinit()

virtual void LinearAlgebra::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, LinearAlgebra::EpetraWrappers::CommunicationPattern, LinearAlgebra::TpetraWrappers::CommunicationPattern, and Utilities::MPI::NoncontiguousPartitioner.

◆ get_mpi_communicator()

virtual const MPI_Comm& LinearAlgebra::CommunicationPatternBase::get_mpi_communicator ( ) const
pure virtual

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