Concrete class encapsulating some dune-istl linear solvers. More...
#include <LinearSolverIstl.hpp>
Public Member Functions | |
LinearSolverIstl () | |
Default constructor. More... | |
LinearSolverIstl (const ParameterGroup ¶m) | |
Construct from parameters Accepted parameters are, with defaults, listed in the default constructor. More... | |
virtual | ~LinearSolverIstl () |
Destructor. | |
virtual LinearSolverReport | solve (const int size, const int nonzeros, const int *ia, const int *ja, const double *sa, const double *rhs, double *solution, const boost::any &comm=boost::any()) const |
Solve a linear system, with a matrix given in compressed sparse row format. More... | |
virtual void | setTolerance (const double tol) |
Set tolerance for the residual in dune istl linear solver. More... | |
virtual double | getTolerance () const |
Get tolerance ofthe linear solver. More... | |
template<class O , class S , class C > | |
LinearSolverInterface::LinearSolverReport | solveSystem (O &opA, double *solution, const double *rhs, S &sp, const C &comm, int maxit) const |
![]() | |
virtual | ~LinearSolverInterface () |
Virtual destructor. | |
LinearSolverReport | solve (const CSRMatrix *A, const double *rhs, double *solution) const |
Solve a linear system, with a matrix given in compressed sparse row format. More... | |
Concrete class encapsulating some dune-istl linear solvers.
Opm::LinearSolverIstl::LinearSolverIstl | ( | ) |
Default constructor.
All parameters controlling the solver are defaulted: linsolver_residual_tolerance 1e-8 linsolver_verbosity 0 linsolver_type 1 ( = CG_AMG), alternatives are: CG_ILU0 = 0, CG_AMG = 1, BiCGStab_ILU0 = 2 FastAMG=3, KAMG=4 }; linsolver_save_system false linsolver_save_filename <empty string>=""> linsolver_max_iterations 0 (unlimited=5000) linsolver_residual_tolerance 1e-8 linsolver_smooth_steps 2 linsolver_prolongate_factor 1.6 linsolver_verbosity 0
Opm::LinearSolverIstl::LinearSolverIstl | ( | const ParameterGroup & | param | ) |
Construct from parameters Accepted parameters are, with defaults, listed in the default constructor.
|
virtual |
Get tolerance ofthe linear solver.
[out] | tolerance | value |
Implements Opm::LinearSolverInterface.
|
virtual |
Set tolerance for the residual in dune istl linear solver.
[in] | tol | tolerance value |
Implements Opm::LinearSolverInterface.
|
virtual |
Solve a linear system, with a matrix given in compressed sparse row format.
[in] | size | # of rows in matrix |
[in] | nonzeros | # of nonzeros elements in matrix |
[in] | ia | array of length (size + 1) containing start and end indices for each row |
[in] | ja | array of length nonzeros containing column numbers for the nonzero elements |
[in] | sa | array of length nonzeros containing the values of the nonzero elements |
[in] | rhs | array of length size containing the right hand side |
[in,out] | solution | array of length size to which the solution will be written, may also be used as initial guess by iterative solvers. |
Implements Opm::LinearSolverInterface.