deal.II version GIT relicensing-1936-ge55124254b 2024-10-04 21:10:00+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>

Inheritance diagram for LinearAlgebra::EpetraWrappers::CommunicationPattern:
Inheritance graph
[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_Commcomm
 
std::unique_ptr< Epetra_Import > importer
 

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 40 of file trilinos_epetra_communication_pattern.h.

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 31 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 47 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 68 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 76 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 94 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 99 of file trilinos_epetra_communication_pattern.h.


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