deal.II version GIT relicensing-6750-g1dc21bc838 2026-09-15 17:20:01+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_to_trilinos_wrappers.h
Go to the documentation of this file.
1// ------------------------------------------------------------------------
2//
3// SPDX-License-Identifier: LGPL-2.1-or-later
4// Copyright (C) 2024 - 2026 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_to_trilinos_wrappers_h
16#define dealii_trilinos_tpetra_to_trilinos_wrappers_h
17
18#include <deal.II/base/config.h>
19
21
22#ifdef DEAL_II_WITH_TRILINOS
23
24# ifdef DEAL_II_TRILINOS_WITH_TPETRA
26{
27 template <typename Number, typename MemorySpace>
29
30 template <typename Number, typename MemorySpace>
31 class SparseMatrix;
32
33 template <typename MemorySpace>
34 class SparsityPattern;
35
36 template <typename Number, typename MemorySpace>
37 class BlockVector;
38
39 template <typename Number, typename MemorySpace>
40 class Vector;
41
42 template <typename Number, typename MemorySpace>
43 class PreconditionBase;
44
45 template <typename Number, typename MemorySpace>
47
48 template <typename Number, typename MemorySpace>
49 class PreconditionIfpackBase;
50
51 template <typename Number, typename MemorySpace>
52 class PreconditionIfpack;
53
54 template <typename Number, typename MemorySpace>
56
57 template <typename Number, typename MemorySpace>
58 class PreconditionL1Jacobi;
59
60 template <typename Number, typename MemorySpace>
61 class PreconditionL1GaussSeidel;
62
63 template <typename Number, typename MemorySpace>
64 class PreconditionSOR;
65
66 template <typename Number, typename MemorySpace>
67 class PreconditionSSOR;
68
69 template <typename Number, typename MemorySpace>
71
72 template <typename Number, typename MemorySpace>
73 class PreconditionILU;
74
75 template <typename Number, typename MemorySpace>
76 class PreconditionILUT;
77
78 template <typename Number, typename MemorySpace>
80
81 template <typename Number, typename MemorySpace>
83
84 template <typename Number, typename MemorySpace>
86
87 template <typename Number, typename MemorySpace>
88 class PreconditionAMGMueLu;
89
90 template <typename Number, typename MemorySpace>
91 class SolverDirect;
92} // namespace LinearAlgebra::TpetraWrappers
93# endif
94
95# ifdef DEAL_II_TRILINOS_WITH_TPETRA
96namespace MemorySpace
97{
98 struct Host;
99}
100# endif
101
102namespace TrilinosWrappers
103{
104 namespace MPI
105 {
106# ifndef DEAL_II_TRILINOS_WITH_EPETRA
107 using Vector = ::LinearAlgebra::TpetraWrappers::
108 Vector<double, ::MemorySpace::Host>;
109 using BlockVector = ::LinearAlgebra::TpetraWrappers::
110 BlockVector<double, ::MemorySpace::Host>;
111# else
112 class Vector;
113 class BlockVector;
114# endif
115 } // namespace MPI
116
117# ifndef DEAL_II_TRILINOS_WITH_EPETRA
118 using BlockSparseMatrix = ::LinearAlgebra::TpetraWrappers::
119 BlockSparseMatrix<double, ::MemorySpace::Host>;
120 using SparseMatrix = ::LinearAlgebra::TpetraWrappers::
121 SparseMatrix<double, ::MemorySpace::Host>;
122 using SparsityPattern =
125# else
126 class BlockSparseMatrix;
127 class SparseMatrix;
128 class SparsityPattern;
129# endif
130
131# ifndef DEAL_II_TRILINOS_WITH_EPETRA
132 using PreconditionBase = ::LinearAlgebra::TpetraWrappers::
133 PreconditionBase<double, MemorySpace::Host>;
134 using PreconditionIdentity = ::LinearAlgebra::TpetraWrappers::
135 PreconditionIdentity<double, MemorySpace::Host>;
136 using PreconditionIfpackBase = ::LinearAlgebra::TpetraWrappers::
137 PreconditionIfpackBase<double, MemorySpace::Host>;
138 using PreconditionIfpack = ::LinearAlgebra::TpetraWrappers::
139 PreconditionIfpack<double, MemorySpace::Host>;
140 using PreconditionJacobi = ::LinearAlgebra::TpetraWrappers::
141 PreconditionJacobi<double, MemorySpace::Host>;
142 using PreconditionL1Jacobi = ::LinearAlgebra::TpetraWrappers::
143 PreconditionL1Jacobi<double, MemorySpace::Host>;
144 using PreconditionL1GaussSeidel = ::LinearAlgebra::TpetraWrappers::
145 PreconditionL1GaussSeidel<double, MemorySpace::Host>;
146 using PreconditionSOR =
149 using PreconditionSSOR = ::LinearAlgebra::TpetraWrappers::
150 PreconditionSSOR<double, MemorySpace::Host>;
151 using PreconditionChebyshev = ::LinearAlgebra::TpetraWrappers::
152 PreconditionChebyshev<double, MemorySpace::Host>;
153 using PreconditionILU =
156 using PreconditionILUT = ::LinearAlgebra::TpetraWrappers::
157 PreconditionILUT<double, MemorySpace::Host>;
158 using PreconditionBlockJacobi = ::LinearAlgebra::TpetraWrappers::
159 PreconditionBlockJacobi<double, MemorySpace::Host>;
160 using PreconditionBlockSOR = ::LinearAlgebra::TpetraWrappers::
161 PreconditionBlockSOR<double, MemorySpace::Host>;
162 using PreconditionBlockSSOR = ::LinearAlgebra::TpetraWrappers::
163 PreconditionBlockSSOR<double, MemorySpace::Host>;
164 using PreconditionAMG = ::LinearAlgebra::TpetraWrappers::
165 PreconditionAMGMueLu<double, MemorySpace::Host>;
166# else
167 class PreconditionBase;
169 class PreconditionIfpackBase;
170 class PreconditionIfpack;
171 class PreconditionJacobi;
172 class PreconditionL1Jacobi;
173 class PreconditionL1GaussSeidel;
174 class PreconditionSOR;
175 class PreconditionSSOR;
177 class PreconditionILU;
178 class PreconditionILUT;
182 class PreconditionAMG;
183# endif
184
185# ifndef DEAL_II_TRILINOS_WITH_EPETRA
186 using SolverDirect = ::LinearAlgebra::TpetraWrappers::
187 SolverDirect<double, ::MemorySpace::Host>;
188# else
189 class SolverDirect;
190# endif
191} // namespace TrilinosWrappers
192
193#endif
194
196
197#endif
The class for the SOR preconditioner within Ifpack2.
#define DEAL_II_NAMESPACE_OPEN
Definition config.h:38
#define DEAL_II_NAMESPACE_CLOSE
Definition config.h:39
PETScWrappers::PreconditionBoomerAMG PreconditionAMG
PETScWrappers::PreconditionILU PreconditionILU