Reference documentation for deal.II version GIT relicensing-437-g81ec864850 2024-04-19 07:30: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
21#ifdef DEAL_II_TRILINOS_WITH_TPETRA
22
24
25# include <Tpetra_Export.hpp>
26# include <Tpetra_Import.hpp>
27
28# include <memory>
29
31
32namespace LinearAlgebra
33{
34 namespace TpetraWrappers
35 {
40 {
41 public:
55 CommunicationPattern(const IndexSet &locally_owned_indices,
56 const IndexSet &ghost_indices,
57 const MPI_Comm communicator);
58
72 virtual void
73 reinit(const IndexSet &locally_owned_indices,
74 const IndexSet &ghost_indices,
75 const MPI_Comm communicator) override;
76
80 virtual MPI_Comm
81 get_mpi_communicator() const override;
82
86 const Tpetra::Import<int, types::signed_global_dof_index> &
87 get_tpetra_import() const;
88
92 Teuchos::RCP<const Tpetra::Import<int, types::signed_global_dof_index>>
94
98 const Tpetra::Export<int, types::signed_global_dof_index> &
99 get_tpetra_export() const;
100
104 Teuchos::RCP<const Tpetra::Export<int, types::signed_global_dof_index>>
105 get_tpetra_export_rcp() const;
106
107 private:
111 Teuchos::RCP<const MPI_Comm> comm;
112
116 Teuchos::RCP<Tpetra::Import<int, types::signed_global_dof_index>>
118
122 Teuchos::RCP<Tpetra::Export<int, types::signed_global_dof_index>>
124 };
125 } // end of namespace TpetraWrappers
126} // end of namespace LinearAlgebra
127
129
130#endif
131
132#endif
Teuchos::RCP< const Tpetra::Import< int, types::signed_global_dof_index > > get_tpetra_import_rcp() const
virtual void reinit(const IndexSet &locally_owned_indices, const IndexSet &ghost_indices, const MPI_Comm communicator) override
const Tpetra::Export< int, types::signed_global_dof_index > & get_tpetra_export() const
Teuchos::RCP< Tpetra::Import< int, types::signed_global_dof_index > > tpetra_import
Teuchos::RCP< const Tpetra::Export< int, types::signed_global_dof_index > > get_tpetra_export_rcp() const
Teuchos::RCP< Tpetra::Export< int, types::signed_global_dof_index > > tpetra_export
const Tpetra::Import< int, types::signed_global_dof_index > & get_tpetra_import() const
#define DEAL_II_NAMESPACE_OPEN
Definition config.h:502
#define DEAL_II_NAMESPACE_CLOSE
Definition config.h:503