20 #ifndef OPM_LINEARSOLVERFACTORY_HEADER_INCLUDED
21 #define OPM_LINEARSOLVERFACTORY_HEADER_INCLUDED
24 #include <opm/core/linalg/LinearSolverInterface.hpp>
81 const boost::any& add=boost::any())
const;
94 std::shared_ptr<LinearSolverInterface> solver_;
101 #endif // OPM_LINEARSOLVERFACTORY_HEADER_INCLUDED
Struct for reporting data about the solution process back to the caller.
Definition: LinearSolverInterface.hpp:41
Abstract interface for linear solvers.
Definition: LinearSolverInterface.hpp:32
virtual ~LinearSolverFactory()
Destructor.
Definition: LinearSolverFactory.cpp:108
LinearSolverReport solve(const CSRMatrix *A, const double *rhs, double *solution) const
Solve a linear system, with a matrix given in compressed sparse row format.
Definition: LinearSolverInterface.cpp:37
LinearSolverFactory()
Default constructor.
Definition: LinearSolverFactory.cpp:46
virtual void setTolerance(const double tol)
Set tolerance for the linear solver.
Definition: LinearSolverFactory.cpp:128
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 &add=boost::any()) const
Solve a linear system, with a matrix given in compressed sparse row format.
Definition: LinearSolverFactory.cpp:116
virtual double getTolerance() const
Get tolerance for the linear solver.
Definition: LinearSolverFactory.cpp:133
ParameterGroup is a class that is used to provide run-time parameters.
Definition: ParameterGroup.hpp:81
Concrete class encapsulating any available linear solver.
Definition: LinearSolverFactory.hpp:37