![]() |
Reference documentation for deal.II version 8.1.0
|
#include <petsc_precondition.h>
Classes | |
struct | AdditionalData |
Public Member Functions | |
PreconditionParaSails () | |
PreconditionParaSails (const MatrixBase &matrix, const AdditionalData &additional_data=AdditionalData()) | |
void | initialize (const MatrixBase &matrix, const AdditionalData &additional_data=AdditionalData()) |
![]() | |
PreconditionerBase () | |
virtual | ~PreconditionerBase () |
void | vmult (VectorBase &dst, const VectorBase &src) const |
const PC & | get_pc () const |
Private Attributes | |
AdditionalData | additional_data |
Additional Inherited Members | |
![]() | |
void | create_pc () |
operator Mat () const | |
![]() | |
PC | pc |
Mat | matrix |
A class that implements the interface to use the ParaSails sparse approximate inverse preconditioner from the HYPRE suite. Note that PETSc has to be configured with HYPRE (e.g. with –download-hypre=1).
ParaSails uses least-squares minimization to compute a sparse approximate inverse. The sparsity pattern used is the pattern of a power of a sparsified matrix. ParaSails also uses a post-filtering technique to reduce the cost of applying the preconditioner.
ParaSails solves symmetric positive definite (SPD) problems using a factorized SPD preconditioner and can also solve general (nonsymmetric and/or indefinite) problems with a nonfactorized preconditioner. The problem type has to be set in AdditionalData
.
The preconditioner does support parallel distributed computations.
Definition at line 873 of file petsc_precondition.h.
PETScWrappers::PreconditionParaSails::PreconditionParaSails | ( | ) |
Empty Constructor. You need to call initialize() before using this object.
PETScWrappers::PreconditionParaSails::PreconditionParaSails | ( | const MatrixBase & | matrix, |
const AdditionalData & | additional_data = AdditionalData() |
||
) |
Constructor. Take the matrix which is used to form the preconditioner, and additional flags if there are any.
void PETScWrappers::PreconditionParaSails::initialize | ( | const MatrixBase & | matrix, |
const AdditionalData & | additional_data = AdditionalData() |
||
) |
Initializes the preconditioner object and calculate all data that is necessary for applying it in a solver. This function is automatically called when calling the constructor with the same arguments and is only used if you create the preconditioner without arguments.
|
private |
Store a copy of the flags for this particular preconditioner.
Definition at line 999 of file petsc_precondition.h.