deal.II version 9.7.0
\(\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_epetra_communication_pattern.h
Go to the documentation of this file.
1// ------------------------------------------------------------------------
2//
3// SPDX-License-Identifier: LGPL-2.1-or-later
4// Copyright (C) 2016 - 2024 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_epetra_communication_pattern_h
16#define dealii_trilinos_epetra_communication_pattern_h
17
18
19#include <deal.II/base/config.h>
20
21#ifdef DEAL_II_WITH_TRILINOS
22
24
26# include <Epetra_Import.h>
28
29# include <memory>
30
32
33namespace LinearAlgebra
34{
35 namespace EpetraWrappers
36 {
43 {
44 public:
58 CommunicationPattern(const IndexSet &locally_owned_indices,
59 const IndexSet &ghost_indices,
60 const MPI_Comm communicator);
61
75 virtual void
76 reinit(const IndexSet &locally_owned_indices,
77 const IndexSet &ghost_indices,
78 const MPI_Comm communicator) override;
79
83 virtual MPI_Comm
84 get_mpi_communicator() const override;
85
89 const Epetra_Import &
90 get_epetra_import() const;
91
92 private:
96 std::shared_ptr<const MPI_Comm> comm;
97
101 std::unique_ptr<Epetra_Import> importer;
102 };
103 } // end of namespace EpetraWrappers
104} // end of namespace LinearAlgebra
105
107
108#else
109
110// Make sure the scripts that create the C++20 module input files have
111// something to latch on if the preprocessor #ifdef above would
112// otherwise lead to an empty content of the file.
115
116#endif
117
118#endif
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)
#define DEAL_II_NAMESPACE_OPEN
Definition config.h:40
#define DEAL_II_DISABLE_EXTRA_DIAGNOSTICS
Definition config.h:603
#define DEAL_II_NAMESPACE_CLOSE
Definition config.h:41
#define DEAL_II_ENABLE_EXTRA_DIAGNOSTICS
Definition config.h:647