17 #ifndef dealii_sparse_ilu_h 18 #define dealii_sparse_ilu_h 21 #include <deal.II/base/config.h> 22 #include <deal.II/lac/sparse_matrix.h> 23 #include <deal.II/lac/sparse_decomposition.h> 24 #include <deal.II/lac/exceptions.h> 26 DEAL_II_NAMESPACE_OPEN
59 template <
typename number>
101 template <
typename somenumber>
111 template <
typename somenumber>
112 void vmult (Vector<somenumber> &dst,
113 const Vector<somenumber> &src)
const;
122 template <
typename somenumber>
123 void Tvmult (Vector<somenumber> &dst,
124 const Vector<somenumber> &src)
const;
143 <<
"The strengthening parameter " << arg1
144 <<
" is not greater or equal than zero!");
150 <<
"While computing the ILU decomposition, the algorithm " 151 "found a zero pivot on the diagonal of row " 153 <<
". This must stop the ILU algorithm because it means " 154 "that the matrix for which you try to compute a " 155 "decomposition is singular.");
163 DEAL_II_NAMESPACE_CLOSE
165 #endif // dealii_sparse_ilu_h SparseMatrix< number >::size_type size_type
static ::ExceptionBase & ExcInvalidStrengthening(double arg1)
SparseLUDecomposition< number >::size_type size_type
#define DeclException1(Exception1, type1, outsequence)
void vmult(Vector< somenumber > &dst, const Vector< somenumber > &src) const
std::size_t memory_consumption() const
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
SparseLUDecomposition< number >::AdditionalData AdditionalData