|
Feel++
0.92.0
|
Petsc preconditioner class. More...
#include <preconditionerpetsc.hpp>
Public Member Functions | |
Constructors, destructor | |
| PreconditionerPetsc (WorldComm const &worldComm=WorldComm()) | |
| default constructor | |
| PreconditionerPetsc (PreconditionerPetsc const &) | |
| copy constructor | |
| virtual | ~PreconditionerPetsc () |
| destructor | |
| virtual void | clear () |
| virtual void | init () |
Operator overloads | |
| PreconditionerPetsc & | operator= (PreconditionerPetsc const &o) |
| copy operator | |
Accessors | |
| PC | pc () |
Methods | |
| virtual void | apply (const Vector< T > &x, Vector< T > &y) |
Static Public Member Functions | |
| static void | setPetscSubpreconditionerType (const PCType type, PC &pc, WorldComm const &worldComm=WorldComm()) |
| static void | setPetscFieldSplitPreconditionerType (const PCCompositeType type, const KSPType *subksptypes, const PCType *subpctypes, PC &pc, WorldComm const &worldComm=WorldComm()) |
Mutators | |
| static void | setPetscPreconditionerType (const PreconditionerType &preconditioner_type, const MatSolverPackageType &matSolverPackage_type, PC &pc, WorldComm const &worldComm=WorldComm()) |
Public Attributes | |
| PC | M_pc |
| Mat | M_mat |
Petsc preconditioner class.
| void Feel::PreconditionerPetsc< T >::apply | ( | const Vector< T > & | x, |
| Vector< T > & | y | ||
| ) | [virtual] |
Computes the preconditioned vector "y" based on input "x". Usually by solving Py=x to get the action of P^-1 x.
Implements Feel::Preconditioner< T >.
| void Feel::PreconditionerPetsc< T >::clear | ( | ) | [virtual] |
Release all memory and clear data structures.
Reimplemented from Feel::Preconditioner< T >.
| void Feel::PreconditionerPetsc< T >::init | ( | ) | [virtual] |
Initialize data structures if not done so already.
Reimplemented from Feel::Preconditioner< T >.
| PC Feel::PreconditionerPetsc< T >::pc | ( | ) | [inline] |
Returns the actual Petsc PC struct. Useful for more advanced purposes
References Feel::PreconditionerPetsc< T >::M_pc.
| void Feel::PreconditionerPetsc< T >::setPetscPreconditionerType | ( | const PreconditionerType & | preconditioner_type, |
| const MatSolverPackageType & | matSolverPackage_type, | ||
| PC & | pc, | ||
| WorldComm const & | worldComm = WorldComm() |
||
| ) | [static] |
Tells PETSC to use the user-specified preconditioner
| Mat Feel::PreconditionerPetsc< T >::M_mat |
Petsc Matrix that's been pulled out of the _matrix object. This happens during init...
Referenced by Feel::PreconditionerPetsc< T >::operator=().
| PC Feel::PreconditionerPetsc< T >::M_pc |
Preconditioner context
Referenced by Feel::PreconditionerPetsc< T >::operator=(), and Feel::PreconditionerPetsc< T >::pc().
1.7.6.1