Reference documentation for deal.II version 9.2.0
|
#include <deal.II/lac/precondition_block.h>
Public Types | |
using | size_type = types::global_dof_index |
using | number = typename MatrixType::value_type |
Public Member Functions | |
PreconditionBlockSSOR () | |
template<typename number2 > | |
void | vmult (Vector< number2 > &, const Vector< number2 > &) const |
template<typename number2 > | |
void | Tvmult (Vector< number2 > &, const Vector< number2 > &) const |
template<typename number2 > | |
void | step (Vector< number2 > &dst, const Vector< number2 > &rhs) const |
template<typename number2 > | |
void | Tstep (Vector< number2 > &dst, const Vector< number2 > &rhs) const |
Public Member Functions inherited from Subscriptor | |
Subscriptor () | |
Subscriptor (const Subscriptor &) | |
Subscriptor (Subscriptor &&) noexcept | |
virtual | ~Subscriptor () |
Subscriptor & | operator= (const Subscriptor &) |
Subscriptor & | operator= (Subscriptor &&) noexcept |
void | subscribe (std::atomic< bool > *const validity, const std::string &identifier="") const |
void | unsubscribe (std::atomic< bool > *const validity, const std::string &identifier="") const |
unsigned int | n_subscriptions () const |
template<typename StreamType > | |
void | list_subscribers (StreamType &stream) const |
void | list_subscribers () const |
template<class Archive > | |
void | serialize (Archive &ar, const unsigned int version) |
Additional Inherited Members | |
Static Public Member Functions inherited from Subscriptor | |
static ::ExceptionBase & | ExcInUse (int arg1, std::string arg2, std::string arg3) |
static ::ExceptionBase & | ExcNoSubscriber (std::string arg1, std::string arg2) |
Private Types inherited from PreconditionBlockSOR< MatrixType, typename MatrixType::value_type > | |
using | size_type = types::global_dof_index |
using | number = typename MatrixType::value_type |
Private Member Functions inherited from PreconditionBlockSOR< MatrixType, typename MatrixType::value_type > | |
PreconditionBlockSOR () | |
void | vmult (Vector< number2 > &, const Vector< number2 > &) const |
void | vmult_add (Vector< number2 > &, const Vector< number2 > &) const |
void | Tvmult (Vector< number2 > &, const Vector< number2 > &) const |
void | Tvmult_add (Vector< number2 > &, const Vector< number2 > &) const |
void | step (Vector< number2 > &dst, const Vector< number2 > &rhs) const |
void | Tstep (Vector< number2 > &dst, const Vector< number2 > &rhs) const |
PreconditionBlockSOR (bool store) | |
void | forward (Vector< number2 > &, const Vector< number2 > &, const bool transpose_diagonal, const bool adding) const |
void | backward (Vector< number2 > &, const Vector< number2 > &, const bool transpose_diagonal, const bool adding) const |
Block SSOR preconditioning. This class satisfies the relaxation concept.
The functions vmult
and Tvmult
execute a block-SSOR step, based on the implementation in PreconditionBlockSOR. This class requires storage of the diagonal blocks and their inverses.
See PreconditionBlock for requirements on the matrix. The blocks used in this class must be contiguous and non-overlapping. An overlapping Schwarz relaxation method can be found in RelaxationBlockSSOR; that class does not offer preconditioning, though.
<float> and <double>
; others can be generated in application programs (see the section on Template instantiations in the manual).Definition at line 824 of file precondition_block.h.