Dune Core Modules (2.10.0)
Dune::UMFPack< M > Class Template Reference
The UMFPack direct sparse solver. More...
#include <dune/istl/umfpack.hh>
Public Types | |
using | Matrix = M |
The matrix type. | |
using | UMFPackMatrix = ISTL::Impl::BCCSMatrix< typename Matrix::field_type, size_type > |
The corresponding (scalar) UMFPack matrix type. | |
using | MatrixInitializer = ISTL::Impl::BCCSMatrixInitializer< M, size_type > |
Type of an associated initializer class. | |
using | domain_type = Impl::UMFPackDomainType< M > |
The type of the domain of the solver. | |
using | range_type = Impl::UMFPackRangeType< M > |
The type of the range of the solver. | |
Public Member Functions | |
virtual SolverCategory::Category | category () const |
Category of the solver (see SolverCategory::Category) | |
UMFPack (const Matrix &matrix, int verbose=0) | |
Construct a solver object from a matrix. More... | |
UMFPack (const Matrix &matrix, int verbose, bool) | |
Constructor for compatibility with SuperLU standard constructor. More... | |
UMFPack (const Matrix &mat_, const ParameterTree &config) | |
Construct a solver object from a matrix. More... | |
UMFPack () | |
default constructor | |
UMFPack (const Matrix &mat_, const char *file, int verbose=0) | |
Try loading a decomposition from file and do a decomposition if unsuccessful. More... | |
UMFPack (const char *file, int verbose=0) | |
try loading a decomposition from file More... | |
virtual void | apply (domain_type &x, range_type &b, InverseOperatorResult &res) |
Apply inverse operator,. More... | |
virtual void | apply (domain_type &x, range_type &b, double reduction, InverseOperatorResult &res) |
apply inverse operator, with given convergence criteria. More... | |
void | apply (T *x, T *b) |
additional apply method with c-arrays in analogy to superlu More... | |
void | setOption (unsigned int option, double value) |
Set UMFPack-specific options. More... | |
void | saveDecomposition (const char *file) |
saves a decomposition to a file More... | |
template<class BitVector = Impl::NoBitVector> | |
void | setMatrix (const Matrix &matrix, const BitVector &bitVector={}) |
Initialize data from given matrix. More... | |
void | setVerbosity (int v) |
sets the verbosity level for the UMFPack solver More... | |
void * | getFactorization () |
Return the matrix factorization. More... | |
UMFPackMatrix & | getInternalMatrix () |
Return the column compress matrix from UMFPack. More... | |
void | free () |
free allocated space. More... | |
Detailed Description
template<typename M>
class Dune::UMFPack< M >
class Dune::UMFPack< M >
The UMFPack direct sparse solver.
Details on UMFPack can be found on http://www.cise.ufl.edu/research/sparse/umfpack/
UMFPack will always use double precision. For complex matrices use a matrix type with std::complex<double> as the underlying number type.
- Template Parameters
-
Matrix the matrix type defining the system
- Note
- This will only work if dune-istl has been configured to use UMFPack
The documentation for this class was generated from the following file:
- dune/istl/umfpack.hh
|
Legal Statements / Impressum |
Hosted by TU Dresden |
generated with Hugo v0.111.3
(Dec 26, 23:30, 2024)