Feel++  0.91.4
Static Public Member Functions | Public Attributes
Feel::PreconditionerPetsc< T > Class Template Reference

Petsc preconditioner class. More...

#include <preconditionerpetsc.hpp>

Inheritance diagram for Feel::PreconditionerPetsc< T >:
Feel::Preconditioner< T >

List of all members.

Public Member Functions

Constructors, destructor
 PreconditionerPetsc ()
 default constructor
 PreconditionerPetsc (PreconditionerPetsc const &)
 copy constructor
virtual ~PreconditionerPetsc ()
 destructor
virtual void clear ()
virtual void init ()
Operator overloads
PreconditionerPetscoperator= (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)
Mutators
static void setPetscPreconditionerType (const PreconditionerType &preconditioner_type, PC &pc)

Public Attributes

PC M_pc
Mat M_mat

Detailed Description

template<typename T>
class Feel::PreconditionerPetsc< T >

Petsc preconditioner class.

Author:
Christophe Prud'homme
See also:

Member Function Documentation

template<typename T >
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 >.

template<typename T >
virtual void Feel::PreconditionerPetsc< T >::clear ( ) [inline, virtual]

Release all memory and clear data structures.

Reimplemented from Feel::Preconditioner< T >.

template<typename T >
void Feel::PreconditionerPetsc< T >::init ( ) [virtual]

Initialize data structures if not done so already.

Reimplemented from Feel::Preconditioner< T >.

template<typename T >
PC Feel::PreconditionerPetsc< T >::pc ( ) [inline]

Returns the actual Petsc PC struct. Useful for more advanced purposes

References Feel::PreconditionerPetsc< T >::M_pc.

template<typename T >
void Feel::PreconditionerPetsc< T >::setPetscPreconditionerType ( const PreconditionerType preconditioner_type,
PC &  pc 
) [static]

Tells PETSC to use the user-specified preconditioner


Member Data Documentation

template<typename T >
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=().

template<typename T >
PC Feel::PreconditionerPetsc< T >::M_pc