|
| LinearSolverFactory () |
| Default constructor.
|
|
| LinearSolverFactory (const ParameterGroup ¶m) |
| Construct from parameters. More...
|
|
virtual | ~LinearSolverFactory () |
| 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 &add=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 linear solver. More...
|
|
virtual double | getTolerance () const |
| Get tolerance for the linear solver. More...
|
|
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...
|
|
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=0 |
| Solve a linear system, with a matrix given in compressed sparse row format. 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 any available linear solver.
For the moment, this means UMFPACK and dune-istl. Since both are optional dependencies, either or both may be unavailable, depending on configuration.
Opm::LinearSolverFactory::LinearSolverFactory |
( |
const ParameterGroup & |
param | ) |
|
Construct from parameters.
The accepted parameters are (default) (allowed values): linsolver ("umfpack") ("umfpack", "istl", "petsc") For the umfpack solver to be available, this class must be compiled with UMFPACK support, as indicated by the variable HAVE_SUITESPARSE_UMFPACK_H in config.h. For the istl solver to be available, this class must be compiled with dune-istl support, as indicated by the variable HAVE_DUNE_ISTL in config.h. For the petsc solver to be available, this class must be compiled with petsc support, as indicated by the variable HAVE_PETSC in config.h. Any further parameters are passed on to the constructors of the actual solver used, see LinearSolverUmfpack, LinearSolverIstl and LinearSolverPetsc for details.