Classes | |
struct | AdditionalData |
Public Member Functions | |
void | initialize (const SparseMatrix &matrix, const AdditionalData &additional_data=AdditionalData()) |
Private Attributes | |
Teuchos::RCP < Ifpack_Preconditioner > | ifpack |
The AdditionalData data structure allows to set preconditioner options. For the SOR preconditioner, these options are the damping/relaxation parameter omega
, a min_diagonal
argument that can be used to make the preconditioner work even if the matrix contains some zero elements on the diagonal, and a parameter overlap
that determines if and how much overlap there should be between the matrix partitions on the various MPI processes. The default settings are 1 for the relaxation parameter, 0 for the diagonal augmentation and 0 for the overlap.
Note that a parallel applicatoin of the SOR preconditioner is actually a block-Jacobi preconditioner with block size equal to the local matrix size. Spoken more technically, this parallel operation is an additive Schwarz method with an SOR approximate solve as inner solver, based on the outer parallel partitioning.
void TrilinosWrappers::PreconditionSOR::initialize | ( | const SparseMatrix & | matrix, | |
const AdditionalData & | additional_data = AdditionalData() | |||
) |
Take the sparse matrix the preconditioner object should be built of, and additional flags (damping parameter, overlap in parallel computations etc.) if there are any.
Teuchos::RCP<Ifpack_Preconditioner> TrilinosWrappers::PreconditionSOR::ifpack [private] |
This is a pointer to the Ifpack data contained in this preconditioner.