My Project
Loading...
Searching...
No Matches
Opm::Linear::BiCGStabSolver< LinearOperator, Vector, Preconditioner > Class Template Reference

Implements a preconditioned stabilized BiCG linear solver. More...

#include <bicgstabsolver.hh>

Public Member Functions

 BiCGStabSolver (Preconditioner &preconditioner, ConvergenceCriterion &convergenceCriterion, Dune::ScalarProduct< Vector > &scalarProduct)
 
void setMaxIterations (unsigned value)
 Set the maximum number of iterations before we give up without achieving convergence.
 
unsigned maxIterations () const
 Return the maximum number of iterations before we give up without achieving convergence.
 
void setVerbosity (unsigned value)
 Set the verbosity level of the linear solver.
 
unsigned verbosity () const
 Return the verbosity level of the linear solver.
 
void setLinearOperator (const LinearOperator *A)
 Set the matrix "A" of the linear system.
 
void setRhs (const Vector *b)
 Set the right hand side "b" of the linear system.
 
bool apply (Vector &x)
 Run the stabilized BiCG solver and store the result into the "x" vector.
 
void setConvergenceCriterion (ConvergenceCriterion &crit)
 
const SolverReportreport () const
 

Detailed Description

template<class LinearOperator, class Vector, class Preconditioner>
class Opm::Linear::BiCGStabSolver< LinearOperator, Vector, Preconditioner >

Implements a preconditioned stabilized BiCG linear solver.

This solves a linear system of equations Ax = b, where the matrix A is sparse and may be unsymmetric.

See https://en.wikipedia.org/wiki/Biconjugate_gradient_stabilized_method, (article date: December 19, 2016)

Member Function Documentation

◆ setVerbosity()

template<class LinearOperator , class Vector , class Preconditioner >
void Opm::Linear::BiCGStabSolver< LinearOperator, Vector, Preconditioner >::setVerbosity ( unsigned value)
inline

Set the verbosity level of the linear solver.

The levels correspont to those used by the dune-istl solvers:

  • 0: no output
  • 1: summary output at the end of the solution proceedure (if no exception was thrown)
  • 2: detailed output after each iteration

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