Opm::LinearSolverUmfpack Class Reference

Concrete class encapsulating the UMFPACK direct linear solver. More...

#include <LinearSolverUmfpack.hpp>

Inheritance diagram for Opm::LinearSolverUmfpack:
Inheritance graph

Public Member Functions

 LinearSolverUmfpack ()
 Default constructor. More...
 
virtual ~LinearSolverUmfpack ()
 Destructor. 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
 
virtual void setTolerance (const double)
 
virtual double getTolerance () const
 
LinearSolverReport solve (const CSRMatrix *A, const double *rhs, double *solution) const
 

Detailed Description

Concrete class encapsulating the UMFPACK direct linear solver.

Constructor & Destructor Documentation

Opm::LinearSolverUmfpack::LinearSolverUmfpack ( )

Default constructor.

virtual Opm::LinearSolverUmfpack::~LinearSolverUmfpack ( )
virtual

Destructor.

Member Function Documentation

virtual double Opm::LinearSolverUmfpack::getTolerance ( ) const
virtual

Get tolerance for the linear solver.

Parameters
[out]tolerancevalue Not used for UMFPACK solver. Returns -1.

Implements Opm::LinearSolverInterface.

virtual void Opm::LinearSolverUmfpack::setTolerance ( const double  )
virtual

Set tolerance for the linear solver.

Parameters
[in]toltolerance value Not used for UMFPACK solver.

Implements Opm::LinearSolverInterface.

virtual LinearSolverReport Opm::LinearSolverUmfpack::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
virtual

Solve a linear system, with a matrix given in compressed sparse row format.

Parameters
[in]size# of rows in matrix
[in]nonzeros# of nonzeros elements in matrix
[in]iaarray of length (size + 1) containing start and end indices for each row
[in]jaarray of length nonzeros containing column numbers for the nonzero elements
[in]saarray of length nonzeros containing the values of the nonzero elements
[in]rhsarray of length size containing the right hand side
[in,out]solutionarray of length size to which the solution will be written, may also be used as initial guess by iterative solvers.

Implements Opm::LinearSolverInterface.

LinearSolverReport Opm::LinearSolverInterface::solve ( const CSRMatrix A,
const double *  rhs,
double *  solution 
) const
inherited

Solve a linear system, with a matrix given in compressed sparse row format.

Parameters
[in]Amatrix in CSR format
[in]rhsarray of length A->m containing the right hand side
[in,out]solutionarray of length A->m to which the solution will be written, may also be used as initial guess by iterative solvers. Note: this method is a convenience method that calls the virtual solve() method.

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