3.2-git
DUNE for Multi-{Phase, Component, Scale, Physics, ...} flow and transport in porous media
Loading...
Searching...
No Matches
Dumux::IterativePreconditionedSolverImpl Class Reference

A general solver backend allowing arbitrary preconditioners and solvers. More...

#include <dumux/linear/seqsolverbackend.hh>

Description

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.

Static Public Member Functions

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="")

Member Function Documentation

◆ solve()

template<class Preconditioner, class Solver, class SolverInterface, class Matrix, class Vector>
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>
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>
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>
bool Dumux::IterativePreconditionedSolverImpl::solveWithILU0PrecGMRes ( const SolverInterface & s,
const Matrix & A,
Vector & x,
const Vector & b,
const std::string & modelParamGroup = "" )
inlinestatic

The documentation for this class was generated from the following file: