Dune Core Modules (unstable)

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

SolverCategory::Category category () const override
 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...
 
void apply (domain_type &x, range_type &b, InverseOperatorResult &res) override
 Apply inverse operator,. More...
 
void apply (domain_type &x, range_type &b, double reduction, InverseOperatorResult &res) override
 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...
 
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.111.3 (Dec 21, 23:30, 2024)