
Public Member Functions | |
| template<class MATRIX> | |
| void | initialize (const MATRIX &matrix, const AdditionalData &additional_data=AdditionalData()) |
| 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 () |
Classes | |
| struct | AdditionalData |
SolverControl solver_control (1000, 1e-12); SolverCG<> cg (solver_control); cg.solve (system_matrix, solution, system_rhs, PreconditionIdentity());
See the step-3 tutorial program for an example and additional explanations.
Alternatively, the IdentityMatrix class can be used to precondition in this way.
| void PreconditionIdentity::initialize | ( | const MATRIX & | matrix, | |
| const AdditionalData & | additional_data = AdditionalData() | |||
| ) | [inline] |
The matrix argument is ignored and here just for compatibility with more complex preconditioners.
| void PreconditionIdentity::vmult | ( | VECTOR & | , | |
| const VECTOR & | ||||
| ) | const [inline] |
Apply preconditioner.
| void PreconditionIdentity::Tvmult | ( | VECTOR & | , | |
| const VECTOR & | ||||
| ) | const [inline] |
| void PreconditionIdentity::vmult_add | ( | VECTOR & | , | |
| const VECTOR & | ||||
| ) | const [inline] |
Apply preconditioner, adding to the previous value.
| void PreconditionIdentity::Tvmult_add | ( | VECTOR & | , | |
| const VECTOR & | ||||
| ) | const [inline] |
Apply transpose preconditioner, adding. Since this is the identity, this function is the same as vmult_add().
| void PreconditionIdentity::clear | ( | ) | [inline] |
This function is only present to provide the interface of a precondtioner to be handed to a smoother. This does nothing.
documentation generated on Wed Jul 28 23:06:37 2010 by
doxygen
1.5.6