#include <preconditionerpetsc.hpp>
Petsc preconditioner class.
Inheritance diagram for Feel::PreconditionerPetsc< T >:Public Member Functions | |
Constructors, destructor | |
| PreconditionerPetsc (std::string const &name, WorldComm const &worldComm=Environment::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) |
Public Member Functions inherited from Feel::Preconditioner< T > | |
| Preconditioner & | operator= (Preconditioner const &o) |
| copy operator | |
| void | operator() () |
| bool | initialized () const |
| WorldComm const & | worldComm () const |
| void | apply (vector_ptrtype const &x, vector_ptrtype &y) |
| PreconditionerType | type () const |
| virtual std::string | name () const |
| sparse_matrix_ptrtype const & | matrix () const |
| virtual void | setName (std::string const &n) |
| void | setMatrix (sparse_matrix_ptrtype mat) |
| void | setType (const PreconditionerType pct) |
| void | setMatSolverPackageType (const MatSolverPackageType mspt) |
| void | setPrecMatrixStructure (MatrixStructure mstruct) |
| Preconditioner (std::string const &name="", WorldComm const &worldComm=Environment::worldComm()) | |
| default constructor | |
| Preconditioner (Preconditioner const &o) | |
| copy constructor | |
| ~Preconditioner () | |
| destructor | |
Static Public Member Functions | |
| static void | setPetscFieldSplitPreconditionerType (PC &pc, WorldComm const &worldComm=Environment::worldComm(), std::string const &prefix="") |
| static void | setPetscMGCoarsePreconditionerType (PC &pc, WorldComm const &worldComm=Environment::worldComm(), std::string const &prefix="") |
| static void | setPetscMGLevelsPreconditionerType (PC &pc, WorldComm const &worldComm=Environment::worldComm(), std::string const &prefix="") |
| static void | setPetscSubpreconditionerType (PC &pc, WorldComm const &worldComm=Environment::worldComm(), std::string const &prefix="") |
Mutators | |
| static void | setPetscPreconditionerType (const PreconditionerType &preconditioner_type, const MatSolverPackageType &matSolverPackage_type, PC &pc, WorldComm const &worldComm=Environment::worldComm(), std::string const &prefix="") |
Static Public Member Functions inherited from Feel::Preconditioner< T > | |
| static preconditioner_ptrtype | build (std::string const &name="", BackendType=BACKEND_PETSC, WorldComm const &worldComm=Environment::worldComm()) |
Public Attributes | |
| Mat | M_mat |
| PC | M_pc |
Additional Inherited Members | |
Public Types inherited from Feel::Preconditioner< T > | |
| typedef Preconditioner< T > | preconditioner_type |
|
typedef boost::shared_ptr < Preconditioner< T > > | preconditioner_ptrtype |
|
typedef boost::shared_ptr < MatrixSparse< T > > | sparse_matrix_ptrtype |
|
typedef boost::shared_ptr < Vector< T > > | vector_ptrtype |
Protected Attributes inherited from Feel::Preconditioner< T > | |
| bool | M_is_initialized |
| bool | M_mat_has_changed |
| sparse_matrix_ptrtype | M_matrix |
| MatSolverPackageType | M_matSolverPackage_type |
| std::string | M_name |
| MatrixStructure | M_prec_matrix_structure |
| PreconditionerType | M_preconditioner_type |
| WorldComm | M_worldComm |
|
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 >.
|
virtual |
Release all memory and clear data structures.
Reimplemented from Feel::Preconditioner< T >.
|
virtual |
Initialize data structures if not done so already.
Reimplemented from Feel::Preconditioner< T >.
|
inline |
Returns the actual Petsc PC struct. Useful for more advanced purposes
References Feel::PreconditionerPetsc< T >::M_pc.
|
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...
| PC Feel::PreconditionerPetsc< T >::M_pc |
Preconditioner context
1.8.5