Description
Base class for iterative solvers.
Provides basic settings, common to both linear and complementarity iterative solvers.
#include <ChIterativeSolver.h>

Public Member Functions | |
| virtual void | SetMaxIterations (int max_iterations) |
| Set the maximum number of iterations. | |
| void | SetTolerance (double tolerance) |
| Set the tolerance threshold used by the stopping criteria. | |
| void | EnableDiagonalPreconditioner (bool val) |
| Enable/disable use of a simple diagonal preconditioner (default: true). More... | |
| void | EnableWarmStart (bool val) |
| Enable/disable warm starting by providing an initial guess (default: false). More... | |
| int | GetMaxIterations () const |
| Get the current maximum number of iterations. | |
| double | GetTolerance () const |
| Get the current tolerance value. | |
| virtual int | GetIterations () const =0 |
| Return the number of iterations performed during the last solve. | |
| virtual double | GetError () const =0 |
| Return the tolerance error reached during the last solve. | |
Protected Member Functions | |
| ChIterativeSolver (int max_iterations, double tolerance, bool use_precond, bool warm_start) | |
| void | WriteMatrices (ChSystemDescriptor &sysd, bool one_indexed=true) |
| double | CheckSolution (ChSystemDescriptor &sysd, const ChVectorDynamic<> &x) |
Protected Attributes | |
| bool | m_use_precond |
| use diagonal preconditioning? | |
| bool | m_warm_start |
| use initial guesss? | |
| int | m_max_iterations |
| maximum number of iterations | |
| double | m_tolerance |
| tolerance threshold in stopping criteria | |
Friends | |
| class | ChSystem |
Member Function Documentation
◆ EnableDiagonalPreconditioner()
|
inline |
Enable/disable use of a simple diagonal preconditioner (default: true).
If enabled, solver that support this feature will use the diagonal of the system matrix for preconditioning.
◆ EnableWarmStart()
|
inline |
Enable/disable warm starting by providing an initial guess (default: false).
If enabled, the solvers use as an initial guess the current values for [x; -lambda].
ATTENTION: enable this option only if using the Euler implicit linearized integrator!
The documentation for this class was generated from the following files:
- /builds/uwsbel/chrono/src/chrono/solver/ChIterativeSolver.h
- /builds/uwsbel/chrono/src/chrono/solver/ChIterativeSolver.cpp