Wrapper for the external UMFPACK solver More...
#include <UmfpackRunner.hpp>
Inherits RunnerInterface, and LinearSolverInterface< M, X, Y >.
Classes | |
| struct | Creator |
Public Member Functions | |
| UmfpackRunner (std::string const &prefix) | |
| Constructor. Reads UMFPACK parameters from initfile. | |
| void | init (M const &A) override |
| Implements LinearSolverInterface::init() More... | |
| void | finish () override |
| Implements LinearSolverInterface::finish() More... | |
| void | apply (X &x, Y const &b, Dune::InverseOperatorResult &stat) override |
| Implements LinearSolverInterface::apply() More... | |
| virtual void | init (M const &A)=0 |
| Prepare the solve (and preconditioner), e.g. make a factorization of the matrix, or extract its diagonal in a jacobian precon. More... | |
| virtual void | finish ()=0 |
| Cleanup the solver, e.g. free the previously created factorization. More... | |
| virtual void | apply (X &x, Y const &b, Dune::InverseOperatorResult &res)=0 |
| Apply the inverse operator to the rhs vector b. More... | |
Static Protected Member Functions | |
| static void | umfpack_error_exit (std::string solutionPhase, int code) |
Protected Attributes | |
| std::shared_ptr< SolverType > | solver_ |
| bool | storeSymbolic_ = false |
| int | symmetricStrategy_ = 0 |
| double | allocInit_ = 0.7 |
Wrapper for the external UMFPACK solver
This is a direct solver for large sparse matrices.
|
inlineoverridevirtual |
Implements LinearSolverInterface::apply()
Implements LinearSolverInterface< M, X, Y >.
|
inlineoverridevirtual |
Implements LinearSolverInterface::finish()
Implements LinearSolverInterface< M, X, Y >.
|
inlineoverridevirtual |
Implements LinearSolverInterface::init()
Implements LinearSolverInterface< M, X, Y >.