deal.II version GIT relicensing-2291-g668cd86249 2024-12-24 11:30:00+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_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
30 template class PreconditionBase<float, MemorySpace::Host>;
32 template class PreconditionIfpackBase<float, MemorySpace::Host>;
33 template class PreconditionIfpack<float, MemorySpace::Host>;
35 template class PreconditionL1Jacobi<float, MemorySpace::Host>;
36 template class PreconditionL1GaussSeidel<float, MemorySpace::Host>;
43 template class PreconditionILU<float, MemorySpace::Host>;
44 template class PreconditionILUT<float, MemorySpace::Host>;
45
46 template class PreconditionBase<float, MemorySpace::Default>;
48 template class PreconditionIfpackBase<float, MemorySpace::Default>;
49 template class PreconditionIfpack<float, MemorySpace::Default>;
51 template class PreconditionL1Jacobi<float, MemorySpace::Default>;
52 template class PreconditionL1GaussSeidel<float, MemorySpace::Default>;
59 template class PreconditionILU<float, MemorySpace::Default>;
60 template class PreconditionILUT<float, MemorySpace::Default>;
61# endif
62
63# ifdef HAVE_TPETRA_INST_DOUBLE
64 template class PreconditionBase<double, MemorySpace::Host>;
66 template class PreconditionIfpackBase<double, MemorySpace::Host>;
67 template class PreconditionIfpack<double, MemorySpace::Host>;
69 template class PreconditionL1Jacobi<double, MemorySpace::Host>;
70 template class PreconditionL1GaussSeidel<double, MemorySpace::Host>;
77 template class PreconditionILU<double, MemorySpace::Host>;
78 template class PreconditionILUT<double, MemorySpace::Host>;
79
80 template class PreconditionBase<double, MemorySpace::Default>;
82 template class PreconditionIfpackBase<double, MemorySpace::Default>;
83 template class PreconditionIfpack<double, MemorySpace::Default>;
85 template class PreconditionL1Jacobi<double, MemorySpace::Default>;
86 template class PreconditionL1GaussSeidel<double, MemorySpace::Default>;
93 template class PreconditionILU<double, MemorySpace::Default>;
94 template class PreconditionILUT<double, MemorySpace::Default>;
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>;
100 template class PreconditionIfpackBase<std::complex<float>,
102 template class PreconditionIfpack<std::complex<float>, MemorySpace::Host>;
104 template class PreconditionL1Jacobi<std::complex<float>, MemorySpace::Host>;
105 template class PreconditionL1GaussSeidel<std::complex<float>,
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>;
122 template class PreconditionIfpackBase<std::complex<float>,
124 template class PreconditionIfpack<std::complex<float>,
128 template class PreconditionL1Jacobi<std::complex<float>,
130 template class PreconditionL1GaussSeidel<std::complex<float>,
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>;
149 template class PreconditionIfpackBase<std::complex<double>,
151 template class PreconditionIfpack<std::complex<double>, MemorySpace::Host>;
153 template class PreconditionL1Jacobi<std::complex<double>,
155 template class PreconditionL1GaussSeidel<std::complex<double>,
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>;
173 template class PreconditionIfpackBase<std::complex<double>,
175 template class PreconditionIfpack<std::complex<double>,
179 template class PreconditionL1Jacobi<std::complex<double>,
181 template class PreconditionL1GaussSeidel<std::complex<double>,
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
#define DEAL_II_NAMESPACE_OPEN
Definition config.h:498
#define DEAL_II_NAMESPACE_CLOSE
Definition config.h:499