Sequential SOR-preconditioned CG solver. More...
#include <dumux/linear/seqsolverbackend.hh>
Sequential SOR-preconditioned CG solver.
Solver: CG (conjugate gradient) is an iterative method for solving linear systems with a symmetric, positive definite matrix.
See: Helfenstein, R., Koko, J. (2010). "Parallel preconditioned conjugate
gradient algorithm on GPU", Journal of Computational and Applied Mathematics, Volume 236, Issue 15, Pages 3584–3590, http://dx.doi.org/10.1016/j.cam.2011.04.025.
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="") | |
Contruct 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 |
Contruct 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