Loading [MathJax]/extensions/TeX/newcommand.js
 |
Reference documentation for deal.II version 9.2.0
|
\newcommand{\dealvcentcolon}{\mathrel{\mathop{:}}}
\newcommand{\dealcoloneq}{\dealvcentcolon\mathrel{\mkern-1.2mu}=}
\newcommand{\jump}[1]{\left[\!\left[ #1 \right]\!\right]}
\newcommand{\average}[1]{\left\{\!\left\{ #1 \right\}\!\right\}}
Go to the documentation of this file.
16 #ifndef dealii_sparse_decomposition_h
17 #define dealii_sparse_decomposition_h
109 template <
typename number>
213 template <
typename somenumber>
248 template <
class OutVector,
class InVector>
250 vmult_add(OutVector &dst,
const InVector &src)
const;
259 template <
class OutVector,
class InVector>
261 Tvmult_add(OutVector &dst,
const InVector &src)
const;
280 <<
"The strengthening parameter " << arg1
281 <<
" is not greater or equal than zero!");
288 template <
typename somenumber>
349 template <
typename number>
355 return strengthen_diagonal;
360 template <
typename number>
368 template <
typename number>
376 template <
typename number>
387 template <
typename number>
388 template <
class OutVector,
class InVector>
391 const InVector &src)
const
395 this->vmult(tmp, src);
403 template <
typename number>
404 template <
class OutVector,
class InVector>
407 const InVector &src)
const
411 this->Tvmult(tmp, src);
418 template <
typename number>
420 const double strengthen_diag,
421 const unsigned int extra_off_diag,
422 const bool use_prev_sparsity,
424 : strengthen_diagonal(strengthen_diag)
425 , extra_off_diagonals(extra_off_diag)
426 , use_previous_sparsity(use_prev_sparsity)
427 , use_this_sparsity(use_this_spars)
435 #endif // dealii_sparse_decomposition_h
virtual ~SparseLUDecomposition() override=0
AdditionalData(const double strengthen_diagonal=0, const unsigned int extra_off_diagonals=0, const bool use_previous_sparsity=false, const SparsityPattern *use_this_sparsity=nullptr)
const SparsityPattern * use_this_sparsity
virtual std::size_t memory_consumption() const
void Tvmult_add(OutVector &dst, const InVector &src) const
SparsityPattern * own_sparsity
std::vector< const size_type * > prebuilt_lower_bound
virtual number get_strengthen_diagonal(const number rowsum, const size_type row) const
unsigned int extra_off_diagonals
static ::ExceptionBase & ExcInvalidStrengthening(double arg1)
double strengthen_diagonal
bool use_previous_sparsity
typename SparseMatrix< number >::size_type size_type
#define DEAL_II_NAMESPACE_OPEN
void initialize(const SparseMatrix< somenumber > &matrix, const AdditionalData parameters)
@ matrix
Contents is actually a matrix.
virtual void strengthen_diagonal_impl()
#define DeclException1(Exception1, type1, outsequence)
types::global_dof_index size_type
virtual void clear() override
double strengthen_diagonal
void prebuild_lower_bound()
#define DEAL_II_NAMESPACE_CLOSE
void copy_from(const SparseMatrix< somenumber > &matrix)
void vmult_add(OutVector &dst, const InVector &src) const