![]() |
Reference documentation for deal.II version 8.1.0
|
#include <precondition.h>
Classes | |
class | AdditionalData |
Public Member Functions | |
PreconditionRichardson () | |
void | initialize (const AdditionalData ¶meters) |
template<class MATRIX > | |
void | initialize (const MATRIX &, const AdditionalData ¶meters) |
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 |
void | clear () |
![]() | |
Subscriptor () | |
Subscriptor (const Subscriptor &) | |
virtual | ~Subscriptor () |
Subscriptor & | operator= (const Subscriptor &) |
void | subscribe (const char *identifier=0) const |
void | unsubscribe (const char *identifier=0) const |
unsigned int | n_subscriptions () const |
void | list_subscribers () const |
DeclException3 (ExcInUse, int, char *, std::string &,<< "Object of class "<< arg2<< " is still used by "<< arg1<< " other objects.\n"<< "(Additional information: "<< arg3<< ")\n"<< "Note the entry in the Frequently Asked Questions of "<< "deal.II (linked to from http://www.dealii.org/) for "<< "more information on what this error means.") | |
DeclException2 (ExcNoSubscriber, char *, char *,<< "No subscriber with identifier \""<< arg2<< "\" did subscribe to this object of class "<< arg1) | |
template<class Archive > | |
void | serialize (Archive &ar, const unsigned int version) |
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 useful in multigrid smoother objects (MGSmootherRelaxation).
Definition at line 159 of file precondition.h.
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 | ||
) |
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 |
Apply preconditioner.
void PreconditionRichardson::Tvmult | ( | VECTOR & | , |
const VECTOR & | |||
) | const |
Apply transpose preconditioner. Since this is the identity, this function is the same as vmult().
void PreconditionRichardson::vmult_add | ( | VECTOR & | , |
const VECTOR & | |||
) | const |
Apply preconditioner, adding to the previous value.
void PreconditionRichardson::Tvmult_add | ( | VECTOR & | , |
const VECTOR & | |||
) | const |
Apply transpose preconditioner, adding. Since this is the identity, this function is the same as vmult_add().
|
inline |
This function is only present to provide the interface of a preconditioner to be handed to a smoother. This does nothing.
Definition at line 246 of file precondition.h.
|
private |
The relaxation parameter multiplied with the vectors.
Definition at line 253 of file precondition.h.