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 >.