PreconditionRichardson Class Reference
[Preconditioners]

Inheritance diagram for PreconditionRichardson:

Inheritance graph
[legend]

List of all members.

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

Classes

class  AdditionalData


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 (  )  [inline]

Constructor, sets the relaxation parameter to its default.

References PreconditionRichardson::AdditionalData::relaxation, and relaxation.


Member Function Documentation

void PreconditionRichardson::initialize ( const AdditionalData  parameters  )  [inline]

Change the relaxaton parameter.

References PreconditionRichardson::AdditionalData::relaxation, and relaxation.

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.

References PreconditionRichardson::AdditionalData::relaxation, and relaxation.

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

Apply preconditioner.

References relaxation.

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

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

References relaxation.

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

Apply preconditioner, adding to the previous value.

References relaxation.

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

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

References relaxation.


Member Data Documentation

The relaxation parameter multiplied with the vectors.

Referenced by initialize(), PreconditionRichardson(), Tvmult(), Tvmult_add(), vmult(), and vmult_add().


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

deal.II documentation generated on Fri Nov 21 07:13:24 2008 by doxygen 1.5.6