Dune::SuperLU< BCRSMatrix< FieldMatrix< T, n, m >, A > > Class Template Reference
[ISTL]
#include <superlu.hh>
Inheritance diagram for Dune::SuperLU< BCRSMatrix< FieldMatrix< T, n, m >, A > >:

Detailed Description
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.
Public Types | |
typedef BlockVector< FieldVector< T, m >, A > | domain_type |
The type of the domain of the solver. | |
typedef BlockVector< FieldVector< T, n >, A > | range_type |
The type of the range of the solver. | |
typedef BlockVector< FieldVector< T, m >, A >::field_type | field_type |
The field type of the operator. | |
Public Member Functions | |
SuperLU (const Matrix &mat, bool verbose=false) | |
Constructor. | |
SuperLU () | |
Empty default constructor. | |
void | apply (domain_type &x, range_type &b, InverseOperatorResult &res) |
void | apply (domain_type &x, range_type &b, double reduction, InverseOperatorResult &res) |
void | apply (T *x, T *b) |
Apply SuperLu to C arrays. | |
void | setMatrix (const Matrix &mat) |
Initialize data from given matrix. | |
virtual void | apply (BlockVector< FieldVector< T, m >, A > &x, BlockVector< FieldVector< T, n >, A > &b, InverseOperatorResult &res)=0 |
Apply inverse operator,. | |
virtual void | apply (BlockVector< FieldVector< T, m >, A > &x, BlockVector< FieldVector< T, n >, A > &b, double reduction, InverseOperatorResult &res)=0 |
apply inverse operator, with given convergence criteria. | |
Protected Member Functions | |
void | printHeader (std::ostream &s) const |
helper function for printing header of solver output | |
void | printOutput (std::ostream &s, const int iter, const DataType &norm, const DataType &norm_old) const |
helper function for printing solver output | |
void | printOutput (std::ostream &s, const int iter, const DataType &norm) const |
helper function for printing solver output |
Member Function Documentation
template<typename T, typename A, int n, int m>
void Dune::SuperLU< BCRSMatrix< FieldMatrix< T, n, m >, A > >::apply | ( | domain_type & | x, | |
range_type & | b, | |||
double | reduction, | |||
InverseOperatorResult & | res | |||
) | [inline] |
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.
virtual void Dune::InverseOperator< BlockVector< FieldVector< T, m >, A > , BlockVector< FieldVector< T, n >, A > >::apply | ( | BlockVector< FieldVector< T, m >, A > & | x, | |
BlockVector< FieldVector< T, n >, A > & | b, | |||
InverseOperatorResult & | res | |||
) | [pure virtual, inherited] |
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.
virtual void Dune::InverseOperator< BlockVector< FieldVector< T, m >, A > , BlockVector< FieldVector< T, n >, A > >::apply | ( | BlockVector< FieldVector< T, m >, A > & | x, | |
BlockVector< FieldVector< T, n >, A > & | b, | |||
double | reduction, | |||
InverseOperatorResult & | res | |||
) | [pure virtual, inherited] |
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.
The documentation for this class was generated from the following file: