Reference documentation for deal.II version 9.6.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
30 template class PreconditionBase<float>;
31 template class PreconditionIdentity<float>;
32 template class PreconditionIfpackBase<float>;
33 template class PreconditionIfpack<float>;
34 template class PreconditionJacobi<float>;
35 template class PreconditionL1Jacobi<float>;
36 template class PreconditionL1GaussSeidel<float>;
37 template class PreconditionSOR<float>;
38 template class PreconditionSSOR<float>;
39 template class PreconditionBlockJacobi<float>;
40 template class PreconditionBlockSOR<float>;
41 template class PreconditionBlockSSOR<float>;
42 template class PreconditionChebyshev<float>;
43 template class PreconditionILU<float>;
44 template class PreconditionILUT<float>;
45# endif
46
47# ifdef HAVE_TPETRA_INST_DOUBLE
48 template class PreconditionBase<double>;
49 template class PreconditionIdentity<double>;
50 template class PreconditionIfpackBase<double>;
51 template class PreconditionIfpack<double>;
52 template class PreconditionJacobi<double>;
53 template class PreconditionL1Jacobi<double>;
54 template class PreconditionL1GaussSeidel<double>;
55 template class PreconditionSOR<double>;
56 template class PreconditionSSOR<double>;
58 template class PreconditionBlockSOR<double>;
59 template class PreconditionBlockSSOR<double>;
60 template class PreconditionChebyshev<double>;
61 template class PreconditionILU<double>;
62 template class PreconditionILUT<double>;
63# endif
64# ifdef DEAL_II_WITH_COMPLEX_VALUES
65# ifdef HAVE_TPETRA_INST_COMPLEX_FLOAT
66 template class PreconditionBase<std::complex<float>>;
68 template class PreconditionIfpackBase<std::complex<float>>;
69 template class PreconditionIfpack<std::complex<float>>;
71 template class PreconditionL1Jacobi<std::complex<float>>;
72 template class PreconditionL1GaussSeidel<std::complex<float>>;
79 template class PreconditionILU<std::complex<float>>;
80 template class PreconditionILUT<std::complex<float>>;
81# endif
82# ifdef HAVE_TPETRA_INST_COMPLEX_DOUBLE
83 template class PreconditionBase<std::complex<double>>;
85 template class PreconditionIfpackBase<std::complex<double>>;
86 template class PreconditionIfpack<std::complex<double>>;
88 template class PreconditionL1Jacobi<std::complex<double>>;
89 template class PreconditionL1GaussSeidel<std::complex<double>>;
96 template class PreconditionILU<std::complex<double>>;
97 template class PreconditionILUT<std::complex<double>>;
98# endif
99# endif
100
101# endif
102
103 } // namespace TpetraWrappers
104
105} // namespace LinearAlgebra
107
108# endif // DEAL_II_TRILINOS_WITH_IFPACK2
109#endif // DEAL_II_TRILINOS_WITH_TPETRA
#define DEAL_II_NAMESPACE_OPEN
Definition config.h:503
#define DEAL_II_NAMESPACE_CLOSE
Definition config.h:504