A general solver backend allowing arbitrary preconditioners and solvers.
More...
#include <dumux/linear/seqsolverbackend.hh>
A general solver backend allowing arbitrary preconditioners and solvers.
This class is used as a base class for specific solver-preconditioner combinations. Several parameters from the group LinearSolver are read to customize the solver and preconditioner:
- Verbosity: determines how verbose the linear solver should print output.
- MaxIterations: the maximum number of iterations for the linear solver.
- ResidualReduction: the threshold for declaration of convergence.
- PreconditionerRelaxation: relaxation parameter for the preconditioner.
- PreconditionerIterations: usually specifies the number of times the preconditioner is applied. In case of ILU(n), it specifies the order of the applied ILU.
|
template<class Preconditioner , class Solver , class SolverInterface , class Matrix , class Vector > |
static bool | solve (const SolverInterface &s, const Matrix &A, Vector &x, const Vector &b, const std::string &modelParamGroup="") |
|
template<class Preconditioner , class Solver , class SolverInterface , class Matrix , class Vector > |
static bool | solveWithGMRes (const SolverInterface &s, const Matrix &A, Vector &x, const Vector &b, const std::string &modelParamGroup="") |
|
template<class Preconditioner , class Solver , class SolverInterface , class Matrix , class Vector > |
static bool | solveWithILU0Prec (const SolverInterface &s, const Matrix &A, Vector &x, const Vector &b, const std::string &modelParamGroup="") |
|
template<class Preconditioner , class Solver , class SolverInterface , class Matrix , class Vector > |
static bool | solveWithILU0PrecGMRes (const SolverInterface &s, const Matrix &A, Vector &x, const Vector &b, const std::string &modelParamGroup="") |
|
template<class Preconditioner , class Solver , class Matrix , class Vector > |
static bool | solveWithParamTree (const Matrix &A, Vector &x, const Vector &b, const Dune::ParameterTree ¶ms) |
|
◆ solve()
template<class Preconditioner , class Solver , class SolverInterface , class Matrix , class Vector >
static bool Dumux::IterativePreconditionedSolverImpl::solve |
( |
const SolverInterface & |
s, |
|
|
const Matrix & |
A, |
|
|
Vector & |
x, |
|
|
const Vector & |
b, |
|
|
const std::string & |
modelParamGroup = "" |
|
) |
| |
|
inlinestatic |
◆ solveWithGMRes()
template<class Preconditioner , class Solver , class SolverInterface , class Matrix , class Vector >
static bool Dumux::IterativePreconditionedSolverImpl::solveWithGMRes |
( |
const SolverInterface & |
s, |
|
|
const Matrix & |
A, |
|
|
Vector & |
x, |
|
|
const Vector & |
b, |
|
|
const std::string & |
modelParamGroup = "" |
|
) |
| |
|
inlinestatic |
◆ solveWithILU0Prec()
template<class Preconditioner , class Solver , class SolverInterface , class Matrix , class Vector >
static bool Dumux::IterativePreconditionedSolverImpl::solveWithILU0Prec |
( |
const SolverInterface & |
s, |
|
|
const Matrix & |
A, |
|
|
Vector & |
x, |
|
|
const Vector & |
b, |
|
|
const std::string & |
modelParamGroup = "" |
|
) |
| |
|
inlinestatic |
◆ solveWithILU0PrecGMRes()
template<class Preconditioner , class Solver , class SolverInterface , class Matrix , class Vector >
static bool Dumux::IterativePreconditionedSolverImpl::solveWithILU0PrecGMRes |
( |
const SolverInterface & |
s, |
|
|
const Matrix & |
A, |
|
|
Vector & |
x, |
|
|
const Vector & |
b, |
|
|
const std::string & |
modelParamGroup = "" |
|
) |
| |
|
inlinestatic |
◆ solveWithParamTree()
template<class Preconditioner , class Solver , class Matrix , class Vector >
static bool Dumux::IterativePreconditionedSolverImpl::solveWithParamTree |
( |
const Matrix & |
A, |
|
|
Vector & |
x, |
|
|
const Vector & |
b, |
|
|
const Dune::ParameterTree & |
params |
|
) |
| |
|
inlinestatic |
The documentation for this class was generated from the following file: