deal.II version GIT relicensing-6901-g3bb0a82165 2026-10-13 12:00: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: Apache-2.0 WITH LLVM-exception OR 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// Detailed license information governing the source code and contributions
9// can be found in LICENSE.md and CONTRIBUTING.md at the top level directory.
10//
11// -----------------------------------------------------------------------------
12
13#ifndef dealii_trilinos_tpetra_to_trilinos_wrappers_h
14#define dealii_trilinos_tpetra_to_trilinos_wrappers_h
15
16#include <deal.II/base/config.h>
17
19
20#ifdef DEAL_II_WITH_TRILINOS
21
22# ifdef DEAL_II_TRILINOS_WITH_TPETRA
24{
25 template <typename Number, typename MemorySpace>
27
28 template <typename Number, typename MemorySpace>
29 class SparseMatrix;
30
31 template <typename MemorySpace>
32 class SparsityPattern;
33
34 template <typename Number, typename MemorySpace>
35 class BlockVector;
36
37 template <typename Number, typename MemorySpace>
38 class Vector;
39
40 template <typename Number, typename MemorySpace>
41 class PreconditionBase;
42
43 template <typename Number, typename MemorySpace>
45
46 template <typename Number, typename MemorySpace>
47 class PreconditionIfpackBase;
48
49 template <typename Number, typename MemorySpace>
50 class PreconditionIfpack;
51
52 template <typename Number, typename MemorySpace>
54
55 template <typename Number, typename MemorySpace>
56 class PreconditionL1Jacobi;
57
58 template <typename Number, typename MemorySpace>
59 class PreconditionL1GaussSeidel;
60
61 template <typename Number, typename MemorySpace>
62 class PreconditionSOR;
63
64 template <typename Number, typename MemorySpace>
65 class PreconditionSSOR;
66
67 template <typename Number, typename MemorySpace>
69
70 template <typename Number, typename MemorySpace>
71 class PreconditionILU;
72
73 template <typename Number, typename MemorySpace>
74 class PreconditionILUT;
75
76 template <typename Number, typename MemorySpace>
78
79 template <typename Number, typename MemorySpace>
81
82 template <typename Number, typename MemorySpace>
84
85 template <typename Number, typename MemorySpace>
86 class PreconditionAMGMueLu;
87
88 template <typename Number, typename MemorySpace>
89 class SolverDirect;
90} // namespace LinearAlgebra::TpetraWrappers
91# endif
92
93# ifdef DEAL_II_TRILINOS_WITH_TPETRA
94namespace MemorySpace
95{
96 struct Host;
97}
98# endif
99
100namespace TrilinosWrappers
101{
102 namespace MPI
103 {
104# ifndef DEAL_II_TRILINOS_WITH_EPETRA
105 using Vector = ::LinearAlgebra::TpetraWrappers::
106 Vector<double, ::MemorySpace::Host>;
107 using BlockVector = ::LinearAlgebra::TpetraWrappers::
108 BlockVector<double, ::MemorySpace::Host>;
109# else
110 class Vector;
111 class BlockVector;
112# endif
113 } // namespace MPI
114
115# ifndef DEAL_II_TRILINOS_WITH_EPETRA
116 using BlockSparseMatrix = ::LinearAlgebra::TpetraWrappers::
117 BlockSparseMatrix<double, ::MemorySpace::Host>;
118 using SparseMatrix = ::LinearAlgebra::TpetraWrappers::
119 SparseMatrix<double, ::MemorySpace::Host>;
120 using SparsityPattern =
123# else
124 class BlockSparseMatrix;
125 class SparseMatrix;
126 class SparsityPattern;
127# endif
128
129# ifndef DEAL_II_TRILINOS_WITH_EPETRA
130 using PreconditionBase = ::LinearAlgebra::TpetraWrappers::
131 PreconditionBase<double, MemorySpace::Host>;
132 using PreconditionIdentity = ::LinearAlgebra::TpetraWrappers::
133 PreconditionIdentity<double, MemorySpace::Host>;
134 using PreconditionIfpackBase = ::LinearAlgebra::TpetraWrappers::
135 PreconditionIfpackBase<double, MemorySpace::Host>;
136 using PreconditionIfpack = ::LinearAlgebra::TpetraWrappers::
137 PreconditionIfpack<double, MemorySpace::Host>;
138 using PreconditionJacobi = ::LinearAlgebra::TpetraWrappers::
139 PreconditionJacobi<double, MemorySpace::Host>;
140 using PreconditionL1Jacobi = ::LinearAlgebra::TpetraWrappers::
141 PreconditionL1Jacobi<double, MemorySpace::Host>;
142 using PreconditionL1GaussSeidel = ::LinearAlgebra::TpetraWrappers::
143 PreconditionL1GaussSeidel<double, MemorySpace::Host>;
144 using PreconditionSOR =
147 using PreconditionSSOR = ::LinearAlgebra::TpetraWrappers::
148 PreconditionSSOR<double, MemorySpace::Host>;
149 using PreconditionChebyshev = ::LinearAlgebra::TpetraWrappers::
150 PreconditionChebyshev<double, MemorySpace::Host>;
151 using PreconditionILU =
154 using PreconditionILUT = ::LinearAlgebra::TpetraWrappers::
155 PreconditionILUT<double, MemorySpace::Host>;
156 using PreconditionBlockJacobi = ::LinearAlgebra::TpetraWrappers::
157 PreconditionBlockJacobi<double, MemorySpace::Host>;
158 using PreconditionBlockSOR = ::LinearAlgebra::TpetraWrappers::
159 PreconditionBlockSOR<double, MemorySpace::Host>;
160 using PreconditionBlockSSOR = ::LinearAlgebra::TpetraWrappers::
161 PreconditionBlockSSOR<double, MemorySpace::Host>;
162 using PreconditionAMG = ::LinearAlgebra::TpetraWrappers::
163 PreconditionAMGMueLu<double, MemorySpace::Host>;
164# else
165 class PreconditionBase;
167 class PreconditionIfpackBase;
168 class PreconditionIfpack;
169 class PreconditionJacobi;
170 class PreconditionL1Jacobi;
171 class PreconditionL1GaussSeidel;
172 class PreconditionSOR;
173 class PreconditionSSOR;
175 class PreconditionILU;
176 class PreconditionILUT;
180 class PreconditionAMG;
181# endif
182
183# ifndef DEAL_II_TRILINOS_WITH_EPETRA
184 using SolverDirect = ::LinearAlgebra::TpetraWrappers::
185 SolverDirect<double, ::MemorySpace::Host>;
186# else
187 class SolverDirect;
188# endif
189} // namespace TrilinosWrappers
190
191#endif
192
194
195#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