Reference documentation for deal.II version 9.2.0
|
#include <deal.II/lac/trilinos_precondition.h>
Public Member Functions | |
AdditionalData (const unsigned int block_size=1, const std::string &block_creation_type="linear", const double omega=1, const double min_diagonal=0, const unsigned int overlap=0, const unsigned int n_sweeps=1) | |
Public Attributes | |
unsigned int | block_size |
std::string | block_creation_type |
double | omega |
double | min_diagonal |
unsigned int | overlap |
unsigned int | n_sweeps |
Standardized data struct to pipe additional flags to the preconditioner. The parameter block_size
sets the size of small blocks. It is recommended to choose this parameter not too large (a few hundreds at most) since this implementation uses a dense matrix for the block. The parameter block_creation_type
allows to pass the strategy for finding the blocks to Ifpack. The parameter omega
specifies the relaxation parameter in the SOR preconditioner. The parameter min_diagonal
can be used to make the application of the preconditioner also possible when some diagonal elements are zero. In a default application this would mean that we divide by zero, so by setting the parameter min_diagonal
to a small nonzero value the SOR will work on a matrix that is not too far away from the one we want to treat. Finally, overlap
governs the overlap of the partitions when the preconditioner runs in parallel, forming a so-called additive Schwarz preconditioner.
Definition at line 772 of file trilinos_precondition.h.