16#ifndef dealii_sparse_mic_h
17#define dealii_sparse_mic_h
45template <
typename number>
95 template <
typename somenumber>
106 template <
typename somenumber>
118 template <
typename somenumber>
143 <<
"The strengthening parameter " << arg1
144 <<
" is not greater or equal than zero!");
151 <<
"The diagonal element (" << arg1 <<
',' << arg1 <<
") is "
152 << arg2 <<
", but must be positive");
std::vector< number > inv_diag
void initialize(const SparseMatrix< somenumber > &matrix, const AdditionalData ¶meters=AdditionalData())
typename SparseLUDecomposition< number >::AdditionalData AdditionalData
void vmult(Vector< somenumber > &dst, const Vector< somenumber > &src) const
std::size_t memory_consumption() const override
virtual ~SparseMIC() override
std::vector< number > diag
virtual void clear() override
void Tvmult(Vector< somenumber > &dst, const Vector< somenumber > &src) const
number get_rowsum(const size_type row) const
std::vector< number > inner_sums
#define DEAL_II_NAMESPACE_OPEN
#define DEAL_II_NAMESPACE_CLOSE
#define DeclException0(Exception0)
#define DeclException2(Exception2, type1, type2, outsequence)
static ::ExceptionBase & ExcInvalidStrengthening(double arg1)
#define DeclException1(Exception1, type1, outsequence)
static ::ExceptionBase & ExcDecompositionNotStable(int arg1, double arg2)
static ::ExceptionBase & ExcStrengthenDiagonalTooSmall()
unsigned int global_dof_index