![]() |
|
#include <Solver.hpp>
Public Types | |
| enum | { NUMTMP_ = 100 } |
| enum | { NUMTMP_BICGSTAB2 = 11 } |
| number of auxiliary vectors required by BICGSTAB2. | |
| enum | { NUMTMP_CG = 4 } |
| number of auxiliary vectors required by CG. | |
Public Methods | |
| Solver () | |
| default constructor. | |
| int | BiCGSTAB2 (I *X, I *RHS) |
| BiCGStab2 solver, returns number of iterations. | |
Public Attributes | |
| Operator<I,DIM>* | Op |
| the operator, default NULL. | |
| bool (* | StopCriterion )(double currentresidual, double startresidual, double stopvalue) |
| pointer to a function which checks whether to stop the iteration or not. Up to now there are: StoppingCriterionAbsoluteResidual(double res, double , double eps): res<=eps ? StoppingCriterionRelativeResidual(double res, double startres , double eps): res<=eps * startres ? You must set a stopping criterion before you can use one of the solvers! | |
| double | eps |
| stop value for StopCriterion, default 1e-15. | |
| int | maxiter |
| max number of iterations , default 1000. | |
| int | restart |
| enforce restart after <restart> iterations, default MAXINT. | |
| char* | |
| if !=NULL output each <prstep>-th iteration the iteration count, residual and some other informations, default NULL. | |
| int | prstep |
| see above, default 10. | |
| I* | Tmp [NUMTMP_] |
| for auxiliary vectors. | |
| double | startresidual |
| the solvers store some status information like startresidual. | |
| double | finalresidual |
| finalresidual. | |
| int | iterations |
| number of iterations. | |
1.2.8.1 written by Dimitri van Heesch,
© 1997-2001