Dune Core Modules (2.9.0)

The UMFPack direct sparse solver. More...

#include <dune/istl/umfpack.hh>

Public Types

using Matrix = M
 The matrix type.
 
typedef ISTL::Impl::BCCSMatrix< typename Matrix::field_type, long int > UMFPackMatrix
 The corresponding UMFPack matrix type.
 
typedef ISTL::Impl::BCCSMatrixInitializer< M, long int > MatrixInitializer
 Type of an associated initializer class.
 
using domain_type = typename Impl::UMFPackVectorChooser< M >::domain_type
 The type of the domain of the solver.
 
using range_type = typename Impl::UMFPackVectorChooser< M >::range_type
 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, [[maybe_unused]] 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...
 
void setMatrix (const Matrix &matrix)
 Initialize data from given matrix.
 
void setVerbosity (int v)
 sets the verbosity level for the UMFPack solver More...
 
void * getFactorization ()
 Return the matrix factorization. More...
 
UMFPackMatrixgetInternalMatrix ()
 Return the column compress matrix from UMFPack. More...
 
void free ()
 free allocated space. More...
 

Detailed Description

template<typename 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
Matrixthe 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:
Creative Commons License   |  Legal Statements / Impressum  |  Hosted by TU Dresden  |  generated with Hugo v0.80.0 (Apr 17, 22:29, 2024)