Reference documentation for deal.II version 9.1.1
|
#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, InverseNumberType, VectorType > | |
using | size_type = types::global_dof_index |
Protected Types inherited from PreconditionBlockBase< InverseNumberType > | |
enum | Inversion |
using | size_type = types::global_dof_index |
Protected Member Functions inherited from RelaxationBlock< MatrixType, InverseNumberType, VectorType > | |
void | do_step (VectorType &dst, const VectorType &prev, const VectorType &src, const bool backward) const |
void | initialize (const MatrixType &A, const AdditionalData ¶meters) |
void | clear () |
void | invert_diagblocks () |
Protected Member Functions inherited from PreconditionBlockBase< InverseNumberType > | |
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< InverseNumberType > & | inverse (size_type i) |
const FullMatrix< InverseNumberType > & | inverse (size_type i) const |
Householder< InverseNumberType > & | inverse_householder (size_type i) |
const Householder< InverseNumberType > & | inverse_householder (size_type i) const |
LAPACKFullMatrix< InverseNumberType > & | inverse_svd (size_type i) |
const LAPACKFullMatrix< InverseNumberType > & | inverse_svd (size_type i) const |
FullMatrix< InverseNumberType > & | diagonal (size_type i) |
const FullMatrix< InverseNumberType > & | diagonal (size_type i) const |
void | log_statistics () const |
std::size_t | memory_consumption () const |
Static Protected Member Functions inherited from PreconditionBlockBase< InverseNumberType > | |
static ::ExceptionBase & | ExcDiagonalsNotStored () |
static ::ExceptionBase & | ExcInverseNotAvailable () |
Protected Attributes inherited from RelaxationBlock< MatrixType, InverseNumberType, VectorType > | |
SmartPointer< const MatrixType, RelaxationBlock< MatrixType, InverseNumberType, VectorType > > | A |
SmartPointer< const AdditionalData, RelaxationBlock< MatrixType, InverseNumberType, VectorType > > | additional_data |
Protected Attributes inherited from PreconditionBlockBase< InverseNumberType > | |
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 289 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 302 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.