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)
- Public Member Functions inherited from Feel::Preconditioner< T >
Preconditioneroperator= (Preconditioner const &o)
 copy operator
bool initialized () const
void apply (vector_ptrtype const &x, vector_ptrtype &y)
PreconditionerType type () const
void setMatrix (sparse_matrix_ptrtype mat)
void setType (const PreconditionerType pct)
 Preconditioner ()
 default constructor
 Preconditioner (Preconditioner const &o)
 copy constructor
 ~Preconditioner ()
 destructor

Static Public Member Functions

static void setPetscSubpreconditionerType (const PCType type, PC &pc)
Mutators
static void setPetscPreconditionerType (const PreconditionerType &preconditioner_type, PC &pc)
static preconditioner_ptrtype build (BackendType=BACKEND_PETSC)

Public Attributes

PC M_pc
Mat M_mat

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 >
sparse_matrix_ptrtype M_matrix
PreconditionerType M_preconditioner_type
bool M_is_initialized
mpi::communicator M_comm

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 ( )
inlinevirtual

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