Reference documentation for deal.II version 9.2.0
|
#include <deal.II/lac/relaxation_block.h>
Public Types | |
using | number = typename MatrixType::value_type |
Public Member Functions | |
void | step (VectorType &dst, const VectorType &rhs) const |
void | Tstep (VectorType &dst, const VectorType &rhs) const |
void | vmult (VectorType &dst, const VectorType &rhs) const |
void | Tvmult (VectorType &dst, const VectorType &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) |
Protected Types inherited from RelaxationBlock< MatrixType, typename MatrixType::value_type, Vector< double > > | |
using | size_type = types::global_dof_index |
Protected Types inherited from PreconditionBlockBase< typename MatrixType::value_type > | |
enum | Inversion |
using | size_type = types::global_dof_index |
Protected Member Functions inherited from RelaxationBlock< MatrixType, typename MatrixType::value_type, Vector< double > > | |
void | do_step (Vector< double > &dst, const Vector< double > &prev, const Vector< double > &src, const bool backward) const |
void | initialize (const MatrixType &A, const AdditionalData ¶meters) |
void | clear () |
void | invert_diagblocks () |
Protected Member Functions inherited from PreconditionBlockBase< typename MatrixType::value_type > | |
PreconditionBlockBase (bool store_diagonals=false, Inversion method=gauss_jordan) | |
~PreconditionBlockBase ()=default | |
void | clear () |
void | reinit (unsigned int nblocks, size_type blocksize, bool compress, Inversion method=gauss_jordan) |
void | inverses_computed (bool are_they) |
bool | same_diagonal () const |
bool | store_diagonals () const |
bool | inverses_ready () const |
unsigned int | size () const |
void | inverse_vmult (size_type i, Vector< number2 > &dst, const Vector< number2 > &src) const |
void | inverse_Tvmult (size_type i, Vector< number2 > &dst, const Vector< number2 > &src) const |
FullMatrix< typename MatrixType::value_type > & | inverse (size_type i) |
const FullMatrix< typename MatrixType::value_type > & | inverse (size_type i) const |
Householder< typename MatrixType::value_type > & | inverse_householder (size_type i) |
const Householder< typename MatrixType::value_type > & | inverse_householder (size_type i) const |
LAPACKFullMatrix< typename MatrixType::value_type > & | inverse_svd (size_type i) |
const LAPACKFullMatrix< typename MatrixType::value_type > & | inverse_svd (size_type i) const |
FullMatrix< typename MatrixType::value_type > & | diagonal (size_type i) |
const FullMatrix< typename MatrixType::value_type > & | diagonal (size_type i) const |
void | log_statistics () const |
std::size_t | memory_consumption () const |
Static Protected Member Functions inherited from PreconditionBlockBase< typename MatrixType::value_type > | |
static ::ExceptionBase & | ExcDiagonalsNotStored () |
static ::ExceptionBase & | ExcInverseNotAvailable () |
Protected Attributes inherited from RelaxationBlock< MatrixType, typename MatrixType::value_type, Vector< double > > | |
SmartPointer< const MatrixType, RelaxationBlock< MatrixType, typename MatrixType::value_type, Vector< double > > > | A |
SmartPointer< const AdditionalData, RelaxationBlock< MatrixType, typename MatrixType::value_type, Vector< double > > > | additional_data |
Protected Attributes inherited from PreconditionBlockBase< typename MatrixType::value_type > | |
Inversion | inversion |
Block Jacobi (additive Schwarz) method with possibly overlapping blocks.
This class implements the step() and Tstep() functions expected by the relaxation concept. They perform an additive Schwarz method on the blocks provided in the block list of AdditionalData. Differing from PreconditionBlockJacobi, these blocks may be of varying size, non- contiguous, and overlapping. On the other hand, this class does not implement the preconditioner interface expected by Solver objects.
Definition at line 291 of file relaxation_block.h.
using RelaxationBlockJacobi< MatrixType, InverseNumberType, VectorType >::number = typename MatrixType::value_type |
Default constructor. Define number type of matrix.
Definition at line 304 of file relaxation_block.h.
void RelaxationBlockJacobi< MatrixType, InverseNumberType, VectorType >::step | ( | VectorType & | dst, |
const VectorType & | rhs | ||
) | const |
Perform one step of the Jacobi iteration.
void RelaxationBlockJacobi< MatrixType, InverseNumberType, VectorType >::Tstep | ( | VectorType & | dst, |
const VectorType & | rhs | ||
) | const |
Perform one step of the Jacobi iteration.
void RelaxationBlockJacobi< MatrixType, InverseNumberType, VectorType >::vmult | ( | VectorType & | dst, |
const VectorType & | rhs | ||
) | const |
void RelaxationBlockJacobi< MatrixType, InverseNumberType, VectorType >::Tvmult | ( | VectorType & | dst, |
const VectorType & | rhs | ||
) | const |
Implements a transpose vmult operation, which for this class first sets the dst() vector to zero before calling the Tstep() method.