15#ifndef dealii_trilinos_tpetra_communication_pattern_h
16#define dealii_trilinos_tpetra_communication_pattern_h
25#ifdef DEAL_II_TRILINOS_WITH_TPETRA
30# include <Tpetra_Export.hpp>
31# include <Tpetra_Import.hpp>
39 namespace TpetraWrappers
44 template <
typename MemorySpace = ::MemorySpace::Host>
47 static_assert(std::is_same_v<MemorySpace, ::MemorySpace::Default> ||
48 std::is_same_v<MemorySpace, ::MemorySpace::Host>);
84 const MPI_Comm communicator)
override;
101 Teuchos::RCP<TpetraTypes::ImportType<MemorySpace>>
113 Teuchos::RCP<TpetraTypes::ExportType<MemorySpace>>
120 Teuchos::RCP<const MPI_Comm>
comm;
const TpetraTypes::ImportType< MemorySpace > & get_tpetra_import() const
virtual void reinit(const IndexSet &locally_owned_indices, const IndexSet &ghost_indices, const MPI_Comm communicator) override
CommunicationPattern(const IndexSet &locally_owned_indices, const IndexSet &ghost_indices, const MPI_Comm communicator)
Teuchos::RCP< TpetraTypes::ImportType< MemorySpace > > tpetra_import
Teuchos::RCP< TpetraTypes::ImportType< MemorySpace > > get_tpetra_import_rcp() const
Teuchos::RCP< TpetraTypes::ExportType< MemorySpace > > tpetra_export
Teuchos::RCP< TpetraTypes::ExportType< MemorySpace > > get_tpetra_export_rcp() const
virtual MPI_Comm get_mpi_communicator() const override
const TpetraTypes::ExportType< MemorySpace > & get_tpetra_export() const
Teuchos::RCP< const MPI_Comm > comm
#define DEAL_II_NAMESPACE_OPEN
#define DEAL_II_NAMESPACE_CLOSE
Tpetra::Import< LO, GO, NodeType< MemorySpace > > ImportType
Tpetra::Export< LO, GO, NodeType< MemorySpace > > ExportType