
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 |
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).
| PreconditionRichardson::PreconditionRichardson | ( | ) |
Constructor, sets the relaxation parameter to its default.
| void PreconditionRichardson::initialize | ( | const AdditionalData | parameters | ) |
Change the relaxaton parameter.
| 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.
| void PreconditionRichardson::vmult | ( | VECTOR & | , | |
| const VECTOR & | ||||
| ) | const [inline] |
Apply preconditioner.
| void PreconditionRichardson::Tvmult | ( | VECTOR & | , | |
| const VECTOR & | ||||
| ) | const [inline] |
Apply transpose preconditioner. Since this is the identity, this function is the same as vmult().
| void PreconditionRichardson::vmult_add | ( | VECTOR & | , | |
| const VECTOR & | ||||
| ) | const [inline] |
Apply preconditioner, adding to the previous value.
| 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().
double PreconditionRichardson::relaxation [private] |
The relaxation parameter multiplied with the vectors.
documentation generated on Mon Nov 23 22:58:01 2009 by
doxygen
1.6.1