deal.II version 9.8.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_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>
50
51 template <typename Number, typename MemorySpace>
53
54 template <typename Number, typename MemorySpace>
56
57 template <typename Number, typename MemorySpace>
59
60 template <typename Number, typename MemorySpace>
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>
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 =
123 ::LinearAlgebra::TpetraWrappers::SparsityPattern<
124 ::MemorySpace::Host>;
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 =
147 ::LinearAlgebra::TpetraWrappers::PreconditionSOR<double,
148 MemorySpace::Host>;
149 using PreconditionSSOR = ::LinearAlgebra::TpetraWrappers::
150 PreconditionSSOR<double, MemorySpace::Host>;
151 using PreconditionChebyshev = ::LinearAlgebra::TpetraWrappers::
152 PreconditionChebyshev<double, MemorySpace::Host>;
153 using PreconditionILU =
154 ::LinearAlgebra::TpetraWrappers::PreconditionILU<double,
155 MemorySpace::Host>;
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 Block SOR preconditioner within Ifpack2.
The class for the Block SSOR preconditioner within Ifpack2.
Wrapper class for the IdentitySolver preconditioner of Ifpack2.
The base class for all Ifpack2 preconditioners which are handled through its Factory.
Wrapper to create custom Ifpack2 preconditioners.
The classical Jacobi preconditioner within Ifpack2.
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