16 #ifndef dealii_precondition_selector_h 17 #define dealii_precondition_selector_h 31 template <
class number>
33 template <
class number>
98 template <
typename MatrixType = SparseMatrix<
double>,
99 typename VectorType = ::Vector<
double>>
113 const typename VectorType::value_type &
omega = 1.);
197 const typename VectorType::value_type
omega;
204 template <
typename MatrixType,
typename VectorType>
207 const typename VectorType::value_type &
omega)
208 : preconditioning(preconditioning)
213 template <
typename MatrixType,
typename VectorType>
221 template <
typename MatrixType,
typename VectorType>
229 template <
typename MatrixType,
typename VectorType>
238 template <
typename MatrixType,
typename VectorType>
248 template <
typename MatrixType,
typename VectorType>
263 A->precondition_Jacobi(dst, src,
omega);
267 A->precondition_SOR(dst, src,
omega);
271 A->precondition_SSOR(dst, src,
omega);
279 template <
typename MatrixType,
typename VectorType>
295 A->precondition_Jacobi(dst, src,
omega);
299 A->precondition_TSOR(dst, src,
omega);
303 A->precondition_SSOR(dst, src,
omega);
311 template <
typename MatrixType,
typename VectorType>
315 return "none|jacobi|sor|ssor";
types::global_dof_index size_type
SmartPointer< const MatrixType, PreconditionSelector< MatrixType, VectorType > > A
void use_matrix(const MatrixType &M)
const VectorType::value_type omega
static ::ExceptionBase & ExcNoMatrixGivenToUse()
#define Assert(cond, exc)
#define DeclException0(Exception0)
#define DEAL_II_NAMESPACE_CLOSE
PreconditionSelector(const std::string &preconditioning, const typename VectorType::value_type &omega=1.)
virtual ~PreconditionSelector() override
static std::string get_precondition_names()
virtual void Tvmult(VectorType &dst, const VectorType &src) const
#define DEAL_II_NAMESPACE_OPEN
typename MatrixType::size_type size_type
virtual void vmult(VectorType &dst, const VectorType &src) const
static ::ExceptionBase & ExcNotImplemented()
std::string preconditioning