36 #ifndef OPM_CSRMATRIXUMFPACKSOLVER_HPP_HEADER
37 #define OPM_CSRMATRIXUMFPACKSOLVER_HPP_HEADER
39 #include <opm/core/linalg/call_umfpack.h>
40 #include <opm/common/ErrorMacros.hpp>
44 namespace ImplicitTransportLinAlgSupport
52 template <
class Vector>
58 #if HAVE_SUITESPARSE_UMFPACK_H
59 call_UMFPACK(const_cast<CSRMatrix*>(A), b, x);
61 OPM_THROW(std::runtime_error,
"Cannot use implicit transport solver without UMFPACK. "
62 "Reconfigure opm-core with SuiteSparse/UMFPACK support and recompile.");
67 template <
class Vector>
73 #if HAVE_SUITESPARSE_UMFPACK_H
74 call_UMFPACK(const_cast<CSRMatrix*>(&A), &b[0], &x[0]);
76 OPM_THROW(std::runtime_error,
"Cannot use implicit transport solver without UMFPACK. "
77 "Reconfigure opm-core with SuiteSparse/UMFPACK support and recompile.");
Basic compressed-sparse row (CSR) matrix data structure.
Definition: sparse_sys.h:38
Definition: CSRMatrixUmfpackSolver.hpp:47