deal.II version GIT relicensing-6834-g5b78e6bcdf 2026-10-01 11:20:01+00:00
\(\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\}}\)
Loading...
Searching...
No Matches
Public Member Functions | Private Attributes | List of all members
LinearAlgebra::EpetraWrappers::CommunicationPattern Class Reference

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

Detailed Description

This class implements a wrapper to a Trilinos Epetra_Import object, for use in places where a Utilities::MPI::CommunicationPatternBase object is required.

Definition at line 43 of file trilinos_epetra_communication_pattern.h.

Inheritance diagram for LinearAlgebra::EpetraWrappers::CommunicationPattern:
[legend]

Public Member Functions

 CommunicationPattern (const IndexSet &locally_owned_indices, const IndexSet &ghost_indices, const MPI_Comm communicator)
 
virtual void reinit (const IndexSet &locally_owned_indices, const IndexSet &ghost_indices, const MPI_Comm communicator) override
 
virtual MPI_Comm get_mpi_communicator () const override
 
const Epetra_Import & get_epetra_import () const
 

Private Attributes

std::shared_ptr< const MPI_Comm > comm
 
std::unique_ptr< Epetra_Import > importer
 

Constructor & Destructor Documentation

◆ CommunicationPattern()

LinearAlgebra::EpetraWrappers::CommunicationPattern::CommunicationPattern ( const IndexSet &  locally_owned_indices,
const IndexSet &  ghost_indices,
const MPI_Comm  communicator 
)

Initialize the communication pattern.

Parameters
[in]locally_owned_indicesThe set of indices of elements in the array mentioned in the class documentation that are stored on the current process.
[in]ghost_indicesThe set of indices of elements in the array mentioned in the class documentation that the current process will need to be able to import.
[in]communicatorThe MPI communicator used to describe the entire set of processes that participate in the storage and access to elements of the array.

Definition at line 36 of file trilinos_epetra_communication_pattern.cc.

Member Function Documentation

◆ reinit()

void LinearAlgebra::EpetraWrappers::CommunicationPattern::reinit ( const IndexSet &  locally_owned_indices,
const IndexSet &  ghost_indices,
const MPI_Comm  communicator 
)
overridevirtual

Reinitialize the communication pattern.

Parameters
[in]locally_owned_indicesThe set of indices of elements in the array mentioned in the class documentation that are stored on the current process.
[in]ghost_indicesThe set of indices of elements in the array mentioned in the class documentation that the current process will need to be able to import.
[in]communicatorThe MPI communicator used to describe the entire set of processes that participate in the storage and access to elements of the array.

Implements Utilities::MPI::CommunicationPatternBase.

Definition at line 52 of file trilinos_epetra_communication_pattern.cc.

◆ get_mpi_communicator()

MPI_Comm LinearAlgebra::EpetraWrappers::CommunicationPattern::get_mpi_communicator ( ) const
overridevirtual

Return the underlying MPI communicator.

Implements Utilities::MPI::CommunicationPatternBase.

Definition at line 73 of file trilinos_epetra_communication_pattern.cc.

◆ get_epetra_import()

const Epetra_Import & LinearAlgebra::EpetraWrappers::CommunicationPattern::get_epetra_import ( ) const

Return the underlying Epetra_Import object.

Definition at line 81 of file trilinos_epetra_communication_pattern.cc.

Member Data Documentation

◆ comm

std::shared_ptr<const MPI_Comm> LinearAlgebra::EpetraWrappers::CommunicationPattern::comm
private

Shared pointer to the MPI communicator used.

Definition at line 99 of file trilinos_epetra_communication_pattern.h.

◆ importer

std::unique_ptr<Epetra_Import> LinearAlgebra::EpetraWrappers::CommunicationPattern::importer
private

Shared pointer to the Epetra_Import object used.

Definition at line 104 of file trilinos_epetra_communication_pattern.h.


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