![]() |
Reference documentation for deal.II version 8.1.0
|
#include <relaxation_block.h>
Public Member Functions | |
AdditionalData (const double relaxation=1., const bool invert_diagonal=true, const bool same_diagonal=false) | |
AdditionalData (const BlockList &block_list, const double relaxation=1., const bool invert_diagonal=true, const bool same_diagonal=false) DEAL_II_DEPRECATED | |
std::size_t | memory_consumption () const |
![]() | |
Subscriptor () | |
Subscriptor (const Subscriptor &) | |
virtual | ~Subscriptor () |
Subscriptor & | operator= (const Subscriptor &) |
void | subscribe (const char *identifier=0) const |
void | unsubscribe (const char *identifier=0) const |
unsigned int | n_subscriptions () const |
void | list_subscribers () const |
DeclException3 (ExcInUse, int, char *, std::string &,<< "Object of class "<< arg2<< " is still used by "<< arg1<< " other objects.\n"<< "(Additional information: "<< arg3<< ")\n"<< "Note the entry in the Frequently Asked Questions of "<< "deal.II (linked to from http://www.dealii.org/) for "<< "more information on what this error means.") | |
DeclException2 (ExcNoSubscriber, char *, char *,<< "No subscriber with identifier \""<< arg2<< "\" did subscribe to this object of class "<< arg1) | |
template<class Archive > | |
void | serialize (Archive &ar, const unsigned int version) |
Public Attributes | |
SparsityPattern | block_list |
double | relaxation |
bool | invert_diagonal |
bool | same_diagonal |
PreconditionBlockBase< inverse_type >::Inversion | inversion |
double | threshold |
std::vector< std::vector< unsigned int > > | order |
Parameters for block relaxation methods.
Definition at line 79 of file relaxation_block.h.
|
inline |
Constructor.
Definition at line 28 of file relaxation_block.templates.h.
|
inline |
Constructor.
Definition at line 56 of file relaxation_block.templates.h.
|
inline |
Return the memory allocated in this object.
Definition at line 44 of file relaxation_block.templates.h.
SparsityPattern RelaxationBlock< MATRIX, inverse_type >::AdditionalData::block_list |
The mapping from indices to blocks.
Definition at line 105 of file relaxation_block.h.
double RelaxationBlock< MATRIX, inverse_type >::AdditionalData::relaxation |
Relaxation parameter.
Definition at line 110 of file relaxation_block.h.
bool RelaxationBlock< MATRIX, inverse_type >::AdditionalData::invert_diagonal |
Invert diagonal during initialization.
Definition at line 115 of file relaxation_block.h.
bool RelaxationBlock< MATRIX, inverse_type >::AdditionalData::same_diagonal |
Assume all diagonal blocks are equal to save memory.
Definition at line 120 of file relaxation_block.h.
PreconditionBlockBase<inverse_type>::Inversion RelaxationBlock< MATRIX, inverse_type >::AdditionalData::inversion |
Choose the inversion method for the blocks.
Definition at line 124 of file relaxation_block.h.
double RelaxationBlock< MATRIX, inverse_type >::AdditionalData::threshold |
The if inversion is SVD, the threshold below which a singular value will be considered zero and thus not inverted. This parameter is used in the call to LAPACKFullMatrix::compute_inverse_svd().
Definition at line 132 of file relaxation_block.h.
std::vector<std::vector<unsigned int> > RelaxationBlock< MATRIX, inverse_type >::AdditionalData::order |
The order in which blocks should be traversed. This vector can initiate several modes of execution:
If the length of the vector is zero, then the relaxation method will be executed from first to last block.
If the length is one, then the inner vector must have the same size as the number of blocks. The relaxation method is applied in the order given in this vector.
If the outer vector has length greater one, then the relaxation method is applied several times, each time in the order given by the inner vector of the corresponding index. This mode can for instance be used for ADI methods and similar direction sweeps.
Definition at line 155 of file relaxation_block.h.