15#ifndef dealii_trilinos_tpetra_to_trilinos_wrappers_h
16#define dealii_trilinos_tpetra_to_trilinos_wrappers_h
22#ifdef DEAL_II_WITH_TRILINOS
24# ifdef DEAL_II_TRILINOS_WITH_TPETRA
27 template <
typename Number,
typename MemorySpace>
30 template <
typename Number,
typename MemorySpace>
33 template <
typename MemorySpace>
36 template <
typename Number,
typename MemorySpace>
39 template <
typename Number,
typename MemorySpace>
42 template <
typename Number,
typename MemorySpace>
43 class PreconditionBase;
45 template <
typename Number,
typename MemorySpace>
48 template <
typename Number,
typename MemorySpace>
49 class PreconditionIfpackBase;
51 template <
typename Number,
typename MemorySpace>
52 class PreconditionIfpack;
54 template <
typename Number,
typename MemorySpace>
57 template <
typename Number,
typename MemorySpace>
58 class PreconditionL1Jacobi;
60 template <
typename Number,
typename MemorySpace>
61 class PreconditionL1GaussSeidel;
63 template <
typename Number,
typename MemorySpace>
66 template <
typename Number,
typename MemorySpace>
69 template <
typename Number,
typename MemorySpace>
72 template <
typename Number,
typename MemorySpace>
75 template <
typename Number,
typename MemorySpace>
76 class PreconditionILUT;
78 template <
typename Number,
typename MemorySpace>
81 template <
typename Number,
typename MemorySpace>
84 template <
typename Number,
typename MemorySpace>
87 template <
typename Number,
typename MemorySpace>
88 class PreconditionAMGMueLu;
90 template <
typename Number,
typename MemorySpace>
95# ifdef DEAL_II_TRILINOS_WITH_TPETRA
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>;
117# ifndef DEAL_II_TRILINOS_WITH_EPETRA
119 BlockSparseMatrix<double, ::MemorySpace::Host>;
121 SparseMatrix<double, ::MemorySpace::Host>;
131# ifndef DEAL_II_TRILINOS_WITH_EPETRA
132 using PreconditionBase = ::LinearAlgebra::TpetraWrappers::
133 PreconditionBase<double, MemorySpace::Host>;
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>;
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>;
150 PreconditionSSOR<double, MemorySpace::Host>;
152 PreconditionChebyshev<double, MemorySpace::Host>;
156 using PreconditionILUT = ::LinearAlgebra::TpetraWrappers::
157 PreconditionILUT<double, MemorySpace::Host>;
159 PreconditionBlockJacobi<double, MemorySpace::Host>;
161 PreconditionBlockSOR<double, MemorySpace::Host>;
163 PreconditionBlockSSOR<double, MemorySpace::Host>;
165 PreconditionAMGMueLu<double, MemorySpace::Host>;
167 class PreconditionBase;
169 class PreconditionIfpackBase;
170 class PreconditionIfpack;
172 class PreconditionL1Jacobi;
173 class PreconditionL1GaussSeidel;
178 class PreconditionILUT;
185# ifndef DEAL_II_TRILINOS_WITH_EPETRA
186 using SolverDirect = ::LinearAlgebra::TpetraWrappers::
187 SolverDirect<double, ::MemorySpace::Host>;
The ILU/ILU(K)/RILU(K) preconditioner.
The class for the SOR preconditioner within Ifpack2.
#define DEAL_II_NAMESPACE_OPEN
#define DEAL_II_NAMESPACE_CLOSE
PETScWrappers::PreconditionBoomerAMG PreconditionAMG
PETScWrappers::PreconditionILU PreconditionILU