From: Guido Kanschat Date: Fri, 11 Mar 2005 00:46:27 +0000 (+0000) Subject: add generalized initialize X-Git-Tag: v8.0.0~14443 X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0a9e2f09bf36821211429e887fac35eff23c0adf;p=dealii.git add generalized initialize git-svn-id: https://svn.dealii.org/trunk@10090 0785d39b-7218-0410-832d-ea1e28bc413d --- diff --git a/deal.II/lac/include/lac/precondition.h b/deal.II/lac/include/lac/precondition.h index e4ee2156fa..df2d403df5 100644 --- a/deal.II/lac/include/lac/precondition.h +++ b/deal.II/lac/include/lac/precondition.h @@ -115,12 +115,22 @@ class PreconditionRichardson : public Subscriptor */ PreconditionRichardson(const AdditionalData = AdditionalData()); + /** + * Change the relaxaton parameter. + */ + void initialize (const AdditionalData parameters); + /** * Change the relaxaton parameter * in a way consistent with other - * preconditioners. + * preconditioners. The matrix + * argument is ignored and here + * just for compatibility with + * more complex preconditioners. */ - void initialize (const AdditionalData parameters); + template + void initialize (const MATRIX&, + const AdditionalData parameters); /** * Apply preconditioner. @@ -758,6 +768,17 @@ PreconditionRichardson::initialize ( +template +inline void +PreconditionRichardson::initialize ( + const MATRIX&, + const PreconditionRichardson::AdditionalData parameters) +{ + relaxation = parameters.relaxation; +} + + + template inline void PreconditionRichardson::vmult (VECTOR &dst, const VECTOR &src) const