13#ifndef dealii_trilinos_tpetra_to_trilinos_wrappers_h
14#define dealii_trilinos_tpetra_to_trilinos_wrappers_h
20#ifdef DEAL_II_WITH_TRILINOS
22# ifdef DEAL_II_TRILINOS_WITH_TPETRA
25 template <
typename Number,
typename MemorySpace>
28 template <
typename Number,
typename MemorySpace>
31 template <
typename MemorySpace>
34 template <
typename Number,
typename MemorySpace>
37 template <
typename Number,
typename MemorySpace>
40 template <
typename Number,
typename MemorySpace>
41 class PreconditionBase;
43 template <
typename Number,
typename MemorySpace>
46 template <
typename Number,
typename MemorySpace>
47 class PreconditionIfpackBase;
49 template <
typename Number,
typename MemorySpace>
50 class PreconditionIfpack;
52 template <
typename Number,
typename MemorySpace>
55 template <
typename Number,
typename MemorySpace>
56 class PreconditionL1Jacobi;
58 template <
typename Number,
typename MemorySpace>
59 class PreconditionL1GaussSeidel;
61 template <
typename Number,
typename MemorySpace>
64 template <
typename Number,
typename MemorySpace>
67 template <
typename Number,
typename MemorySpace>
70 template <
typename Number,
typename MemorySpace>
73 template <
typename Number,
typename MemorySpace>
74 class PreconditionILUT;
76 template <
typename Number,
typename MemorySpace>
79 template <
typename Number,
typename MemorySpace>
82 template <
typename Number,
typename MemorySpace>
85 template <
typename Number,
typename MemorySpace>
86 class PreconditionAMGMueLu;
88 template <
typename Number,
typename MemorySpace>
93# ifdef DEAL_II_TRILINOS_WITH_TPETRA
104# ifndef DEAL_II_TRILINOS_WITH_EPETRA
105 using Vector = ::LinearAlgebra::TpetraWrappers::
106 Vector<double, ::MemorySpace::Host>;
107 using BlockVector = ::LinearAlgebra::TpetraWrappers::
108 BlockVector<double, ::MemorySpace::Host>;
115# ifndef DEAL_II_TRILINOS_WITH_EPETRA
117 BlockSparseMatrix<double, ::MemorySpace::Host>;
119 SparseMatrix<double, ::MemorySpace::Host>;
129# ifndef DEAL_II_TRILINOS_WITH_EPETRA
130 using PreconditionBase = ::LinearAlgebra::TpetraWrappers::
131 PreconditionBase<double, MemorySpace::Host>;
133 PreconditionIdentity<double, MemorySpace::Host>;
134 using PreconditionIfpackBase = ::LinearAlgebra::TpetraWrappers::
135 PreconditionIfpackBase<double, MemorySpace::Host>;
136 using PreconditionIfpack = ::LinearAlgebra::TpetraWrappers::
137 PreconditionIfpack<double, MemorySpace::Host>;
139 PreconditionJacobi<double, MemorySpace::Host>;
140 using PreconditionL1Jacobi = ::LinearAlgebra::TpetraWrappers::
141 PreconditionL1Jacobi<double, MemorySpace::Host>;
142 using PreconditionL1GaussSeidel = ::LinearAlgebra::TpetraWrappers::
143 PreconditionL1GaussSeidel<double, MemorySpace::Host>;
148 PreconditionSSOR<double, MemorySpace::Host>;
150 PreconditionChebyshev<double, MemorySpace::Host>;
154 using PreconditionILUT = ::LinearAlgebra::TpetraWrappers::
155 PreconditionILUT<double, MemorySpace::Host>;
157 PreconditionBlockJacobi<double, MemorySpace::Host>;
159 PreconditionBlockSOR<double, MemorySpace::Host>;
161 PreconditionBlockSSOR<double, MemorySpace::Host>;
163 PreconditionAMGMueLu<double, MemorySpace::Host>;
165 class PreconditionBase;
167 class PreconditionIfpackBase;
168 class PreconditionIfpack;
170 class PreconditionL1Jacobi;
171 class PreconditionL1GaussSeidel;
176 class PreconditionILUT;
183# ifndef DEAL_II_TRILINOS_WITH_EPETRA
184 using SolverDirect = ::LinearAlgebra::TpetraWrappers::
185 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