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. | |
typedef Dune::BCRSMatrix < FieldMatrix< T, n, m >, A > | 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 BlockVector < FieldVector< T, m > , A::template rebind < FieldVector< T, m > >::other > ::field_type | field_type |
The field type of the operator. |
Public Member Functions | |
UMFPack (const Matrix &mat_, int verbose=0) | |
construct a solver object from a BCRSMatrix | |
UMFPack (const Matrix &mat_, int verbose, bool) | |
Constructor for compatibility with SuperLU standard constructor. | |
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. | |
UMFPack (const char *file, int verbose=0) | |
try loading a decomposition from file | |
virtual | ~UMFPack () |
virtual void | apply (domain_type &x, range_type &b, InverseOperatorResult &res) |
Apply inverse operator,. | |
virtual void | apply (domain_type &x, range_type &b, double reduction, InverseOperatorResult &res) |
apply inverse operator, with given convergence criteria. | |
void | apply (T *x, T *b) |
additional apply method with c-arrays in analogy to superlu | |
void | setOption (unsigned int option, double value) |
Set UMFPack-specific options. | |
void | saveDecomposition (const char *file) |
saves a decomposition to a file | |
void | setMatrix (const Matrix &_mat) |
Initialize data from given matrix. | |
template<class S > | |
void | setSubMatrix (const Matrix &_mat, const S &rowIndexSet) |
void | setVerbosity (int v) |
sets the verbosity level for the UMFPack solver | |
void | free () |
free allocated space. | |
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,. | |
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. |
Protected Types | |
enum |
Protected Member Functions | |
void | printHeader (std::ostream &s) const |
helper function for printing header of solver output | |
void | printOutput (std::ostream &s, const double iter, const DataType &norm, const DataType &norm_old) const |
helper function for printing solver output | |
void | printOutput (std::ostream &s, const double iter, const DataType &norm) const |
helper function for printing solver output |
Friends | |
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