20#ifdef DEAL_II_TRILINOS_WITH_TPETRA
24# include <Tpetra_Map.hpp>
32 namespace TpetraWrappers
34 template <
typename MemorySpace>
36 const IndexSet &locally_owned_indices,
50 template <
typename MemorySpace>
53 const IndexSet &locally_owned_indices,
57 comm = Teuchos::rcpFromUndefRef(communicator);
59 auto vector_space_vector_map =
61 .template make_tpetra_map_rcp<TpetraTypes::NodeType<MemorySpace>>(
63 auto read_write_vector_map =
65 .template make_tpetra_map_rcp<TpetraTypes::NodeType<MemorySpace>>(
72 Teuchos::rcp(
new Tpetra::Import<
int,
75 read_write_vector_map, vector_space_vector_map));
77 Teuchos::rcp(
new Tpetra::Export<
int,
80 read_write_vector_map, vector_space_vector_map));
85 template <
typename MemorySpace>
94 template <
typename MemorySpace>
95 const Tpetra::Import<
int,
100 return *tpetra_import;
104 template <
typename MemorySpace>
105 Teuchos::RCP<TpetraTypes::ImportType<MemorySpace>>
108 return tpetra_import;
113 template <
typename MemorySpace>
114 const Tpetra::Export<
int,
119 return *tpetra_export;
124 template <
typename MemorySpace>
125 Teuchos::RCP<TpetraTypes::ExportType<MemorySpace>>
128 return tpetra_export;
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 > > get_tpetra_import_rcp() const
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
#define DEAL_II_NAMESPACE_OPEN
#define DEAL_II_NAMESPACE_CLOSE
Tpetra::KokkosCompat::KokkosDeviceWrapperNode< typename MemorySpace::kokkos_space::execution_space, typename MemorySpace::kokkos_space > NodeType
int signed_global_dof_index