Reference documentation for deal.II version GIT relicensing-1062-gc06da148b8 2024-07-15 19:20:02+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
trilinos_tpetra_communication_pattern.h
Go to the documentation of this file.
1// ------------------------------------------------------------------------
2//
3// SPDX-License-Identifier: LGPL-2.1-or-later
4// Copyright (C) 2018 - 2023 by the deal.II authors
5//
6// This file is part of the deal.II library.
7//
8// Part of the source code is dual licensed under Apache-2.0 WITH
9// LLVM-exception OR LGPL-2.1-or-later. Detailed license information
10// governing the source code and code contributions can be found in
11// LICENSE.md and CONTRIBUTING.md at the top level directory of deal.II.
12//
13// ------------------------------------------------------------------------
14
15#ifndef dealii_trilinos_tpetra_communication_pattern_h
16#define dealii_trilinos_tpetra_communication_pattern_h
17
18
19#include <deal.II/base/config.h>
20
22
24
25#ifdef DEAL_II_TRILINOS_WITH_TPETRA
26
28
29# include <Tpetra_Export.hpp>
30# include <Tpetra_Import.hpp>
31
32# include <memory>
33
35
36namespace LinearAlgebra
37{
38 namespace TpetraWrappers
39 {
44 {
45 public:
60 CommunicationPattern(const IndexSet &locally_owned_indices,
61 const IndexSet &ghost_indices,
62 const MPI_Comm communicator);
63
77 virtual void
78 reinit(const IndexSet &locally_owned_indices,
79 const IndexSet &ghost_indices,
80 const MPI_Comm communicator) override;
81
85 virtual MPI_Comm
86 get_mpi_communicator() const override;
87
92 get_tpetra_import() const;
93
97 Teuchos::RCP<TpetraTypes::ImportType<MemorySpace>>
99
104 get_tpetra_export() const;
105
109 Teuchos::RCP<TpetraTypes::ExportType<MemorySpace>>
110 get_tpetra_export_rcp() const;
111
112 private:
116 Teuchos::RCP<const MPI_Comm> comm;
117
121 Teuchos::RCP<TpetraTypes::ImportType<MemorySpace>> tpetra_import;
122
126 Teuchos::RCP<TpetraTypes::ExportType<MemorySpace>> tpetra_export;
127 };
128 } // end of namespace TpetraWrappers
129} // end of namespace LinearAlgebra
130
132
133#endif
134
135#endif
Teuchos::RCP< TpetraTypes::ExportType< MemorySpace > > tpetra_export
virtual void reinit(const IndexSet &locally_owned_indices, const IndexSet &ghost_indices, const MPI_Comm communicator) override
const TpetraTypes::ExportType< MemorySpace > & get_tpetra_export() const
Teuchos::RCP< TpetraTypes::ExportType< MemorySpace > > get_tpetra_export_rcp() const
Teuchos::RCP< TpetraTypes::ImportType< MemorySpace > > tpetra_import
Teuchos::RCP< TpetraTypes::ImportType< MemorySpace > > get_tpetra_import_rcp() const
const TpetraTypes::ImportType< MemorySpace > & get_tpetra_import() const
#define DEAL_II_NAMESPACE_OPEN
Definition config.h:502
#define DEAL_II_NAMESPACE_CLOSE
Definition config.h:503
Tpetra::Import< LO, GO, NodeType< MemorySpace > > ImportType
Tpetra::Export< LO, GO, NodeType< MemorySpace > > ExportType