 |
Reference documentation for deal.II version 9.1.1
|
\(\newcommand{\dealcoloneq}{\mathrel{\vcenter{:}}=}\)
16 #ifndef dealii_sparse_mic_h
17 #define dealii_sparse_mic_h
19 #include <deal.II/lac/sparse_decomposition.h>
20 #include <deal.II/lac/sparse_matrix.h>
22 DEAL_II_NAMESPACE_OPEN
46 template <
typename number>
96 template <
typename somenumber>
107 template <
typename somenumber>
109 vmult(Vector<somenumber> &dst,
const Vector<somenumber> &src)
const;
120 template <
typename somenumber>
122 Tvmult(Vector<somenumber> &dst,
const Vector<somenumber> &src)
const;
145 <<
"The strengthening parameter " << arg1
146 <<
" is not greater or equal than zero!");
153 <<
"The diagonal element (" << arg1 <<
"," << arg1 <<
") is "
154 << arg2 <<
", but must be positive");
183 DEAL_II_NAMESPACE_CLOSE
static ::ExceptionBase & ExcDecompositionNotStable(int arg1, double arg2)
typename SparseLUDecomposition< number >::AdditionalData AdditionalData
std::vector< number > inner_sums
std::size_t memory_consumption() const override
void vmult(Vector< somenumber > &dst, const Vector< somenumber > &src) const
unsigned int global_dof_index
virtual void clear() override
typename SparseMatrix< number >::size_type size_type
void Tvmult(Vector< somenumber > &dst, const Vector< somenumber > &src) const
static ::ExceptionBase & ExcInvalidStrengthening(double arg1)
#define DeclException1(Exception1, type1, outsequence)
std::vector< number > inv_diag
virtual ~SparseMIC() override
#define DeclException0(Exception0)
void initialize(const SparseMatrix< somenumber > &matrix, const AdditionalData ¶meters=AdditionalData())
number get_rowsum(const size_type row) const
std::vector< number > diag
static ::ExceptionBase & ExcStrengthenDiagonalTooSmall()
#define DeclException2(Exception2, type1, type2, outsequence)