PreconditionRichardson Class Reference
[Preconditioners]

Inheritance diagram for PreconditionRichardson:
Inheritance graph
[legend]

List of all members.

Classes

class  AdditionalData

Public Member Functions

 PreconditionRichardson ()
void initialize (const AdditionalData parameters)
template<class MATRIX >
void initialize (const MATRIX &, const AdditionalData parameters)
template<class VECTOR >
void vmult (VECTOR &, const VECTOR &) const
template<class VECTOR >
void Tvmult (VECTOR &, const VECTOR &) const
template<class VECTOR >
void vmult_add (VECTOR &, const VECTOR &) const
template<class VECTOR >
void Tvmult_add (VECTOR &, const VECTOR &) const

Private Attributes

double relaxation

Detailed Description

Preconditioning with Richardson's method. This preconditioner just scales the vector with a constant relaxation factor provided by the AdditionalData object.

In Krylov-space methods, this preconditioner should not have any effect. Using SolverRichardson, the two relaxation parameters will be just multiplied. Still, this class is usefull in multigrid smoother objects (MGSmootherRelaxation).

Author:
Guido Kanschat, 2005

Constructor & Destructor Documentation

PreconditionRichardson::PreconditionRichardson (  ) 

Constructor, sets the relaxation parameter to its default.


Member Function Documentation

void PreconditionRichardson::initialize ( const AdditionalData  parameters  ) 

Change the relaxaton parameter.

template<class MATRIX >
void PreconditionRichardson::initialize ( const MATRIX &  ,
const AdditionalData  parameters 
) [inline]

Change the relaxaton parameter in a way consistent with other preconditioners. The matrix argument is ignored and here just for compatibility with more complex preconditioners.

template<class VECTOR >
void PreconditionRichardson::vmult ( VECTOR &  ,
const VECTOR &   
) const [inline]

Apply preconditioner.

template<class VECTOR >
void PreconditionRichardson::Tvmult ( VECTOR &  ,
const VECTOR &   
) const [inline]

Apply transpose preconditioner. Since this is the identity, this function is the same as vmult().

template<class VECTOR >
void PreconditionRichardson::vmult_add ( VECTOR &  ,
const VECTOR &   
) const [inline]

Apply preconditioner, adding to the previous value.

template<class VECTOR >
void PreconditionRichardson::Tvmult_add ( VECTOR &  ,
const VECTOR &   
) const [inline]

Apply transpose preconditioner, adding. Since this is the identity, this function is the same as vmult_add().


Member Data Documentation

The relaxation parameter multiplied with the vectors.


The documentation for this class was generated from the following file:

deal.II documentation generated on Mon Nov 23 22:58:01 2009 by doxygen 1.6.1