Dune Core Modules (2.5.0)
Dune::UMFPack< BCRSMatrix< FieldMatrix< T, n, m >, A > > Class Template Referenceabstract
The UMFPack direct sparse solver for matrices of type BCRSMatrix. More...
#include <dune/istl/umfpack.hh>
Public Types | |
typedef Dune::BCRSMatrix< FieldMatrix< T, n, m >, A > | Matrix |
The matrix type. | |
typedef Dune::ColCompMatrix< Matrix > | UMFPackMatrix |
The corresponding SuperLU Matrix type. | |
typedef ColCompMatrixInitializer< BCRSMatrix< FieldMatrix< T, n, m >, A > > | MatrixInitializer |
Type of an associated initializer class. | |
typedef Dune::BlockVector< FieldVector< T, m >, typename A::template rebind< FieldVector< T, m > >::other > | domain_type |
The type of the domain of the solver. | |
typedef Dune::BlockVector< FieldVector< T, n >, typename A::template rebind< FieldVector< T, n > >::other > | range_type |
The type of the range of the solver. | |
typedef X::field_type | field_type |
The field type of the operator. | |
Public Member Functions | |
UMFPack (const Matrix &matrix, int verbose=0) | |
Construct a solver object from a BCRSMatrix. More... | |
UMFPack (const Matrix &matrix, int verbose, bool) | |
Constructor for compatibility with SuperLU standard constructor. 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... | |
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... | |
UMFPackMatrix & | getInternalMatrix () |
Return the column compress matrix from UMFPack. More... | |
void | free () |
free allocated space. More... | |
virtual void | apply (BlockVector< FieldVector< T, m >, A::template rebind< FieldVector< T, m > >::other > &x, BlockVector< FieldVector< T, n >, A::template rebind< FieldVector< T, n > >::other > &b, InverseOperatorResult &res)=0 |
Apply inverse operator,. More... | |
virtual void | apply (BlockVector< FieldVector< T, m >, A::template rebind< FieldVector< T, m > >::other > &x, BlockVector< FieldVector< T, n >, A::template rebind< FieldVector< T, n > >::other > &b, double reduction, InverseOperatorResult &res)=0 |
apply inverse operator, with given convergence criteria. More... | |
Protected Member Functions | |
void | printHeader (std::ostream &s) const |
helper function for printing header of solver output | |
void | printOutput (std::ostream &s, const CountType &iter, const DataType &norm, const DataType &norm_old) const |
helper function for printing solver output | |
void | printOutput (std::ostream &s, const CountType &iter, const DataType &norm) const |
helper function for printing solver output | |
Detailed Description
template<typename T, typename A, int n, int m>
class Dune::UMFPack< BCRSMatrix< FieldMatrix< T, n, m >, A > >
The UMFPack direct sparse solver for matrices of type BCRSMatrix.
Specialization for the Dune::BCRSMatrix. UMFPack will always go double precision and supports complex numbers too (use std::complex<double> for that).
- Template Parameters
-
T Number type. Only double and std::complex<double> is supported A STL-compatible allocator type n Number of rows in a matrix block m Number of columns in a matrix block
- Note
- This will only work if dune-istl has been configured to use UMFPack
Member Function Documentation
◆ apply() [1/2]
|
pure virtualinherited |
apply inverse operator, with given convergence criteria.
- Warning
- Right hand side b may be overwritten!
- Parameters
-
x The left hand side to store the result in. b The right hand side reduction The minimum defect reduction to achieve. res Object to store the statistics about applying the operator.
- Exceptions
-
SolverAbort When the solver detects a problem and cannot continue
◆ apply() [2/2]
|
pure virtualinherited |
Apply inverse operator,.
- Warning
- Note: right hand side b may be overwritten!
- Parameters
-
x The left hand side to store the result in. b The right hand side res Object to store the statistics about applying the operator.
- Exceptions
-
SolverAbort When the solver detects a problem and cannot continue
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.80.0
(May 3, 22:32, 2024)