A linear solver using the dune-istl solver factory to choose the solver and preconditioner at runtime.
More...
#include <dumux/linear/istlsolverfactorybackend.hh>
template<class
LinearSolverTraits>
class Dumux::IstlSolverFactoryBackend< LinearSolverTraits >
A linear solver using the dune-istl solver factory to choose the solver and preconditioner at runtime.
- Note
- the solvers are configured via the input file
-
requires Dune version 2.7.1 or newer and 2.8 for parallel solvers
◆ Scalar
export Scalar type (might be needed to set parameters from output) TODO: Do we need this?
◆ IstlSolverFactoryBackend() [1/2]
Construct the backend for the sequential case only.
- Parameters
-
paramGroup | the parameter group for parameter lookup |
◆ IstlSolverFactoryBackend() [2/2]
Construct the backend for parallel or sequential runs.
- Parameters
-
gridView | the grid view for parallel communication via the grid |
dofMapper | an index mapper for dof entities |
paramGroup | the parameter group for parameter lookup |
◆ maxIter()
int Dumux::LinearSolver::maxIter |
( |
| ) |
const |
|
inlineinherited |
the maximum number of linear solver iterations
◆ name()
◆ paramGroup()
const std::string & Dumux::LinearSolver::paramGroup |
( |
| ) |
const |
|
inlineinherited |
the parameter group for getting parameter from the parameter tree
◆ precondIter()
int Dumux::LinearSolver::precondIter |
( |
| ) |
const |
|
inlineinherited |
the number of preconditioner iterations
◆ precondVerbosity()
int Dumux::LinearSolver::precondVerbosity |
( |
| ) |
const |
|
inlineinherited |
the preconditioner verbosity
◆ relaxation()
double Dumux::LinearSolver::relaxation |
( |
| ) |
const |
|
inlineinherited |
the linear solver relaxation factor
◆ residReduction()
double Dumux::LinearSolver::residReduction |
( |
| ) |
const |
|
inlineinherited |
the linear solver residual reduction
◆ result()
◆ setMaxIter()
void Dumux::LinearSolver::setMaxIter |
( |
int |
i | ) |
|
|
inlineinherited |
set the maximum number of linear solver iterations
◆ setPrecondIter()
void Dumux::LinearSolver::setPrecondIter |
( |
int |
i | ) |
|
|
inlineinherited |
set the number of preconditioner iterations
◆ setPrecondVerbosity()
void Dumux::LinearSolver::setPrecondVerbosity |
( |
int |
verbosityLevel | ) |
|
|
inlineinherited |
set the preconditioner verbosity
◆ setRelaxation()
void Dumux::LinearSolver::setRelaxation |
( |
double |
r | ) |
|
|
inlineinherited |
set the linear solver relaxation factor
◆ setResidualReduction()
void Dumux::LinearSolver::setResidualReduction |
( |
double |
r | ) |
|
|
inlineinherited |
set the linear solver residual reduction
◆ setVerbosity()
void Dumux::LinearSolver::setVerbosity |
( |
int |
v | ) |
|
|
inlineinherited |
◆ solve() [1/2]
template<class Matrix , class Vector >
bool Dumux::LinearSolver::solve |
( |
const Matrix & |
A, |
|
|
Vector & |
x, |
|
|
const Vector & |
b |
|
) |
| |
|
inlineinherited |
Solve the linear system Ax = b.
- Note
- This has to be overloaded by the actual solver
◆ solve() [2/2]
template<class Matrix , class Vector >
Solve a linear system.
- Parameters
-
A | the matrix |
x | the seeked solution vector, containing the initial solution upon entry |
b | the right hand side vector |
◆ verbosity()
int Dumux::LinearSolver::verbosity |
( |
| ) |
const |
|
inlineinherited |
The documentation for this class was generated from the following file: