![]() |
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()) |
Public Member Functions inherited from PETScWrappers::PreconditionerBase | |
| PreconditionerBase () | |
| virtual | ~PreconditionerBase () |
| void | vmult (VectorBase &dst, const VectorBase &src) const |
| const PC & | get_pc () const |
Private Attributes | |
| AdditionalData | additional_data |
Additional Inherited Members | |
Protected Member Functions inherited from PETScWrappers::PreconditionerBase | |
| void | create_pc () |
| operator Mat () const | |
Protected Attributes inherited from PETScWrappers::PreconditionerBase | |
| 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.
1.8.6