17 #ifndef dealii_sparse_ilu_h 18 #define dealii_sparse_ilu_h 21 #include <deal.II/base/config.h> 23 #include <deal.II/lac/exceptions.h> 24 #include <deal.II/lac/sparse_decomposition.h> 25 #include <deal.II/lac/sparse_matrix.h> 27 DEAL_II_NAMESPACE_OPEN
60 template <
typename number>
100 template <
typename somenumber>
111 template <
typename somenumber>
113 vmult(Vector<somenumber> &dst,
const Vector<somenumber> &src)
const;
122 template <
typename somenumber>
124 Tvmult(Vector<somenumber> &dst,
const Vector<somenumber> &src)
const;
144 <<
"The strengthening parameter " << arg1
145 <<
" is not greater or equal than zero!");
151 <<
"While computing the ILU decomposition, the algorithm " 152 "found a zero pivot on the diagonal of row " 154 <<
". This must stop the ILU algorithm because it means " 155 "that the matrix for which you try to compute a " 156 "decomposition is singular.");
164 DEAL_II_NAMESPACE_CLOSE
166 #endif // dealii_sparse_ilu_h
static ::ExceptionBase & ExcInvalidStrengthening(double arg1)
typename SparseLUDecomposition< number >::AdditionalData AdditionalData
#define DeclException1(Exception1, type1, outsequence)
typename SparseMatrix< number >::size_type size_type
void vmult(Vector< somenumber > &dst, const Vector< somenumber > &src) const
std::size_t memory_consumption() const override
static ::ExceptionBase & ExcZeroPivot(size_type arg1)
void initialize(const SparseMatrix< somenumber > &matrix, const AdditionalData ¶meters=AdditionalData())
void Tvmult(Vector< somenumber > &dst, const Vector< somenumber > &src) const