Concrete class encapsulating some Petsc linear solvers. More...
#include <LinearSolverPetsc.hpp>
Public Member Functions | |
LinearSolverPetsc () | |
Default constructor. More... | |
LinearSolverPetsc (const ParameterGroup ¶m) | |
Construct from parameters Accepted parameters are, with defaults, listed in the default constructor. More... | |
virtual | ~LinearSolverPetsc () |
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 &) 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... | |
![]() | |
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 Petsc linear solvers.
Opm::LinearSolverPetsc::LinearSolverPetsc | ( | ) |
Default constructor.
Declared, but not implemented. Petsc can only be created through the ParameterGroup constructor, everything else is an error. This way the error is caught compile time and not rune time, which is nice as it is a static error.
Opm::LinearSolverPetsc::LinearSolverPetsc | ( | 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.