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_tpetra_precondition.cc
Go to the documentation of this file.
1// ------------------------------------------------------------------------
2//
3// SPDX-License-Identifier: LGPL-2.1-or-later
4// Copyright (C) 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
16#include "deal.II/lac/trilinos_tpetra_precondition.templates.h"
17
18#ifdef DEAL_II_TRILINOS_WITH_TPETRA
19# ifdef DEAL_II_TRILINOS_WITH_IFPACK2
20
22
23# ifndef DOXYGEN
24// explicit instantiations
25namespace LinearAlgebra
26{
27 namespace TpetraWrappers
28 {
29# ifdef HAVE_TPETRA_INST_FLOAT
45
61# endif
62
63# ifdef HAVE_TPETRA_INST_DOUBLE
79
95# endif
96# ifdef DEAL_II_WITH_COMPLEX_VALUES
97# ifdef HAVE_TPETRA_INST_COMPLEX_FLOAT
98 template class PreconditionBase<std::complex<float>, MemorySpace::Host>;
99 template class PreconditionIdentity<std::complex<float>, MemorySpace::Host>;
101 MemorySpace::Host>;
102 template class PreconditionIfpack<std::complex<float>, MemorySpace::Host>;
103 template class PreconditionJacobi<std::complex<float>, MemorySpace::Host>;
104 template class PreconditionL1Jacobi<std::complex<float>, MemorySpace::Host>;
106 MemorySpace::Host>;
107 template class PreconditionSOR<std::complex<float>, MemorySpace::Host>;
108 template class PreconditionSSOR<std::complex<float>, MemorySpace::Host>;
110 MemorySpace::Host>;
111 template class PreconditionBlockSOR<std::complex<float>, MemorySpace::Host>;
113 MemorySpace::Host>;
115 MemorySpace::Host>;
116 template class PreconditionILU<std::complex<float>, MemorySpace::Host>;
117 template class PreconditionILUT<std::complex<float>, MemorySpace::Host>;
118
119 template class PreconditionBase<std::complex<float>, MemorySpace::Default>;
121 MemorySpace::Default>;
123 MemorySpace::Default>;
125 MemorySpace::Default>;
127 MemorySpace::Default>;
129 MemorySpace::Default>;
131 MemorySpace::Default>;
132 template class PreconditionSOR<std::complex<float>, MemorySpace::Default>;
133 template class PreconditionSSOR<std::complex<float>, MemorySpace::Default>;
135 MemorySpace::Default>;
137 MemorySpace::Default>;
139 MemorySpace::Default>;
141 MemorySpace::Default>;
142 template class PreconditionILU<std::complex<float>, MemorySpace::Default>;
143 template class PreconditionILUT<std::complex<float>, MemorySpace::Default>;
144# endif
145# ifdef HAVE_TPETRA_INST_COMPLEX_DOUBLE
146 template class PreconditionBase<std::complex<double>, MemorySpace::Host>;
148 MemorySpace::Host>;
150 MemorySpace::Host>;
151 template class PreconditionIfpack<std::complex<double>, MemorySpace::Host>;
152 template class PreconditionJacobi<std::complex<double>, MemorySpace::Host>;
154 MemorySpace::Host>;
156 MemorySpace::Host>;
157 template class PreconditionSOR<std::complex<double>, MemorySpace::Host>;
158 template class PreconditionSSOR<std::complex<double>, MemorySpace::Host>;
160 MemorySpace::Host>;
162 MemorySpace::Host>;
164 MemorySpace::Host>;
166 MemorySpace::Host>;
167 template class PreconditionILU<std::complex<double>, MemorySpace::Host>;
168 template class PreconditionILUT<std::complex<double>, MemorySpace::Host>;
169
170 template class PreconditionBase<std::complex<double>, MemorySpace::Default>;
172 MemorySpace::Default>;
174 MemorySpace::Default>;
176 MemorySpace::Default>;
178 MemorySpace::Default>;
180 MemorySpace::Default>;
182 MemorySpace::Default>;
183 template class PreconditionSOR<std::complex<double>, MemorySpace::Default>;
184 template class PreconditionSSOR<std::complex<double>, MemorySpace::Default>;
186 MemorySpace::Default>;
188 MemorySpace::Default>;
190 MemorySpace::Default>;
192 MemorySpace::Default>;
193 template class PreconditionILU<std::complex<double>, MemorySpace::Default>;
194 template class PreconditionILUT<std::complex<double>, MemorySpace::Default>;
195# endif
196# endif
197
198# endif
199
200 } // namespace TpetraWrappers
201
202} // namespace LinearAlgebra
204
205# endif // DEAL_II_TRILINOS_WITH_IFPACK2
206#endif // DEAL_II_TRILINOS_WITH_TPETRA
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:40
#define DEAL_II_NAMESPACE_CLOSE
Definition config.h:41