|
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::SuperLUMatrix< Matrix > | SuperLUMatrix |
| The corresponding SuperLU Matrix type. More...
|
|
typedef SuperMatrixInitializer< 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...
|
|
typedef FieldTraits< field_type >::real_type | real_type |
| The real type of the field type (is the same if using real numbers, but differs for std::complex) More...
|
|
typedef SimdScalar< real_type > | scalar_real_type |
| scalar type underlying the field_type More...
|
|
|
virtual SolverCategory::Category | category () const |
| Category of the solver (see SolverCategory::Category) More...
|
|
| SuperLU (const Matrix &mat, bool verbose=false, bool reusevector=true) |
| Constructs the SuperLU solver. More...
|
|
| SuperLU () |
| Empty default constructor. More...
|
|
| ~SuperLU () |
|
void | apply (domain_type &x, range_type &b, InverseOperatorResult &res) |
| Apply inverse operator,. More...
|
|
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) |
| Apply SuperLu to C arrays. More...
|
|
void | setMatrix (const Matrix &mat) |
| Initialize data from given matrix. More...
|
|
SuperLUMatrix::size_type | nnz () const |
|
template<class S > |
void | setSubMatrix (const Matrix &mat, const S &rowIndexSet) |
|
void | setVerbosity (bool v) |
|
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...
|
|
virtual SolverCategory::Category | category () const=0 |
| Category of the solver (see SolverCategory::Category) More...
|
|
template<typename T, typename A, int n, int m>
class Dune::SuperLU< BCRSMatrix< FieldMatrix< T, n, m >, A > >
SuperLu Solver.
Uses the well known SuperLU package to solve the system.
SuperLU supports single and double precision floating point and complex numbers. Unfortunately these cannot be used at the same time. Therfore users must set SUPERLU_NTYPE (0: float, 1: double, 2: std::complex<float>, 3: std::complex<double>) if the numeric type should be different from double.