Sequential SOR-preconditioned BiCSTAB solver. More...
#include <dumux/linear/seqsolverbackend.hh>
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.
Public Types | |
using | Scalar = double |
Public Member Functions | |
template<class Matrix , class Vector > | |
bool | solve (const Matrix &A, Vector &x, const Vector &b) |
std::string | name () const |
LinearSolver (const std::string ¶mGroup="") | |
Construct the solver. More... | |
const std::string & | paramGroup () const |
the parameter group for getting parameter from the parameter tree More... | |
int | verbosity () const |
the verbosity level More... | |
void | setVerbosity (int v) |
set the verbosity level More... | |
int | maxIter () const |
the maximum number of linear solver iterations More... | |
void | setMaxIter (int i) |
set the maximum number of linear solver iterations More... | |
Scalar | residReduction () const |
the linear solver residual reduction More... | |
void | setResidualReduction (Scalar r) |
set the linear solver residual reduction More... | |
Scalar | relaxation () const |
the linear solver relaxation factor More... | |
void | setRelaxation (Scalar r) |
set the linear solver relaxation factor More... | |
int | precondIter () const |
the number of preconditioner iterations More... | |
void | setPrecondIter (int i) |
set the number of preconditioner iterations More... | |
int | precondVerbosity () const |
the preconditioner verbosity More... | |
void | setPrecondVerbosity (int verbosityLevel) |
set the preconditioner verbosity More... | |
|
inherited |
export Scalar type (might be needed to set parameters from output) TODO: Do we need this?
|
inline |
Construct the solver.
|
inlineinherited |
the maximum number of linear solver iterations
|
inline |
|
inlineinherited |
the parameter group for getting parameter from the parameter tree
|
inlineinherited |
the number of preconditioner iterations
|
inlineinherited |
the preconditioner verbosity
|
inlineinherited |
the linear solver relaxation factor
|
inlineinherited |
the linear solver residual reduction
|
inlineinherited |
set the maximum number of linear solver iterations
|
inlineinherited |
set the number of preconditioner iterations
|
inlineinherited |
set the preconditioner verbosity
|
inlineinherited |
set the linear solver relaxation factor
|
inlineinherited |
set the linear solver residual reduction
|
inlineinherited |
set the verbosity level
|
inline |
|
inlineinherited |
the verbosity level