Sequential SOR-preconditioned BiCSTAB solver.
Solver: The BiCGSTAB (stabilized biconjugate gradients method) solver has faster and smoother convergence than the original BiCG. It can be applied to nonsymmetric matrices.
See: Van der Vorst, H. A. (1992). "Bi-CGSTAB: A Fast and Smoothly Converging
Variant of Bi-CG for the Solution of Nonsymmetric Linear Systems". SIAM J. Sci. and Stat. Comput. 13 (2): 631–644. doi:10.1137/0913035.
Preconditioner: SOR successive overrelaxation method. The relaxation is controlled by the parameter LinearSolver.PreconditionerRelaxation. In each preconditioning step, it is applied as often as given by the parameter LinearSolver.PreconditionerIterations.
See: Golub, G. H., and Van Loan, C. F. (2012). Matrix computations. JHU Press.
|
| template<class Matrix, class Vector> |
| bool | solve (const Matrix &A, Vector &x, const Vector &b) |
| std::string | name () const |
| | LinearSolver (const std::string ¶mGroup="") |
| | Contruct the solver.
|
| const std::string & | paramGroup () const |
| | the parameter group for getting parameter from the parameter tree
|
| int | verbosity () const |
| | the verbosity level
|
| void | setVerbosity (int v) |
| | set the verbosity level
|
| int | maxIter () const |
| | the maximum number of linear solver iterations
|
| void | setMaxIter (int i) |
| | set the maximum number of linear solver iterations
|
| double | residReduction () const |
| | the linear solver residual reduction
|
| void | setResidualReduction (double r) |
| | set the linear solver residual reduction
|
| double | relaxation () const |
| | the linear solver relaxation factor
|
| void | setRelaxation (double r) |
| | set the linear solver relaxation factor
|
| int | precondIter () const |
| | the number of preconditioner iterations
|
| void | setPrecondIter (int i) |
| | set the number of preconditioner iterations
|
| int | precondVerbosity () const |
| | the preconditioner verbosity
|
| void | setPrecondVerbosity (int verbosityLevel) |
| | set the preconditioner verbosity
|