|
dune-istl
2.3.1
|
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. More... | |
| typedef Dune::BCRSMatrix < FieldMatrix< T, n, m >, A > | matrix_type |
| typedef Dune::ColCompMatrix < Matrix > | UMFPackMatrix |
| The corresponding SuperLU Matrix type. More... | |
| typedef ColCompMatrixInitializer < BCRSMatrix< FieldMatrix< T, n, m >, A > > | MatrixInitializer |
| Type of an associated initializer class. More... | |
| typedef Dune::BlockVector < FieldVector< T, m > , typename A::template rebind < FieldVector< T, m > >::other > | domain_type |
| The type of the domain of the solver. More... | |
| typedef Dune::BlockVector < FieldVector< T, n > , typename A::template rebind < FieldVector< T, n > >::other > | range_type |
| The type of the range of the solver. More... | |
| typedef BlockVector < FieldVector< T, m > , A::template rebind < FieldVector< T, m > >::other > ::field_type | field_type |
| The field type of the operator. More... | |
Public Member Functions | |
| UMFPack (const Matrix &mat_, int verbose=0) | |
| construct a solver object from a BCRSMatrix More... | |
| UMFPack (const Matrix &mat_, int verbose, bool) | |
| Constructor for compatibility with SuperLU standard constructor. More... | |
| UMFPack () | |
| default constructor More... | |
| 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 | ~UMFPack () |
| 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 &_mat) |
| Initialize data from given matrix. More... | |
| template<class S > | |
| void | setSubMatrix (const Matrix &_mat, const S &rowIndexSet) |
| void | setVerbosity (int v) |
| sets the verbosity level for the UMFPack solver More... | |
| void | free () |
| free allocated space. More... | |
| const char * | name () |
| 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 Types | |
| enum | |
Protected Member Functions | |
| void | printHeader (std::ostream &s) const |
| helper function for printing header of solver output More... | |
| void | printOutput (std::ostream &s, const double iter, const DataType &norm, const DataType &norm_old) const |
| helper function for printing solver output More... | |
| void | printOutput (std::ostream &s, const double iter, const DataType &norm) const |
| helper function for printing solver output More... | |
Friends | |
| template<class M , class X , class TM , class TD , class T1 > | |
| class | SeqOverlappingSchwarz |
| struct | SeqOverlappingSchwarzAssemblerHelper< UMFPack< Matrix >, true > |
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).
|
inherited |
The field type of the operator.
|
protectedinherited |
|
pure virtualinherited |
Apply inverse operator,.
| 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. |
|
pure virtualinherited |
apply inverse operator, with given convergence criteria.
| 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. |
|
inlineprotectedinherited |
helper function for printing header of solver output
|
inlineprotectedinherited |
helper function for printing solver output
|
inlineprotectedinherited |
helper function for printing solver output
1.8.7