- Home
- About DUNE
- Download
- Documentation
- Community
- Development
SuperLu Solver. More...
#include <dune/istl/superlu.hh>
Public Types | |
typedef Dune::BCRSMatrix < FieldMatrix< T, n, m >, A > | Matrix |
typedef Dune::SuperLUMatrix < Matrix > | SuperLUMatrix |
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 | |
SuperLU (const Matrix &mat, bool verbose=false) | |
Constructs the SuperLU solver. | |
SuperLU () | |
Empty default constructor. | |
~SuperLU () | |
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. | |
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. | |
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 | std::mem_fun_ref_t< void, SuperLU > |
class | SeqOverlappingSchwarz |
class | SeqOverlappingSchwarzAssembler< SuperLU< Matrix > > |
SuperLu Solver.
Uses the well known SuperLU package to solve the system.
typedef Dune::BlockVector< FieldVector<T,m>, typename A::template rebind<FieldVector<T,m> >::other> Dune::SuperLU< BCRSMatrix< FieldMatrix< T, n, m >, A > >::domain_type |
The type of the domain of the solver.
typedef BlockVector< FieldVector< T, m >, A::template rebind< FieldVector< T, m > >::other > ::field_type Dune::InverseOperator< BlockVector< FieldVector< T, m >, A::template rebind< FieldVector< T, m > >::other > , BlockVector< FieldVector< T, n >, A::template rebind< FieldVector< T, n > >::other > >::field_type [inherited] |
The field type of the operator.
typedef Dune::BCRSMatrix<FieldMatrix<T,n,m>,A> Dune::SuperLU< BCRSMatrix< FieldMatrix< T, n, m >, A > >::Matrix |
typedef Dune::BlockVector< FieldVector<T,n>, typename A::template rebind<FieldVector<T,n> >::other> Dune::SuperLU< BCRSMatrix< FieldMatrix< T, n, m >, A > >::range_type |
The type of the range of the solver.
typedef Dune::SuperLUMatrix<Matrix> Dune::SuperLU< BCRSMatrix< FieldMatrix< T, n, m >, A > >::SuperLUMatrix |
anonymous enum [protected, inherited] |
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.
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::template rebind< FieldVector< T, m > >::other > , BlockVector< FieldVector< T, n >, A::template rebind< FieldVector< T, n > >::other > >::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 | |||
) | [pure virtual, inherited] |
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. |
virtual void Dune::InverseOperator< BlockVector< FieldVector< T, m >, A::template rebind< FieldVector< T, m > >::other > , BlockVector< FieldVector< T, n >, A::template rebind< FieldVector< T, n > >::other > >::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 | |||
) | [pure virtual, inherited] |
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. |
SuperLUMatrix::size_type Dune::SuperLU< BCRSMatrix< FieldMatrix< T, n, m >, A > >::nnz | ( | ) | const [inline] |
References mat.
void Dune::InverseOperator< BlockVector< FieldVector< T, m >, A::template rebind< FieldVector< T, m > >::other > , BlockVector< FieldVector< T, n >, A::template rebind< FieldVector< T, n > >::other > >::printHeader | ( | std::ostream & | s | ) | const [inline, protected, inherited] |
helper function for printing header of solver output
void Dune::InverseOperator< BlockVector< FieldVector< T, m >, A::template rebind< FieldVector< T, m > >::other > , BlockVector< FieldVector< T, n >, A::template rebind< FieldVector< T, n > >::other > >::printOutput | ( | std::ostream & | s, | |
const double | iter, | |||
const DataType & | norm | |||
) | const [inline, protected, inherited] |
helper function for printing solver output
void Dune::InverseOperator< BlockVector< FieldVector< T, m >, A::template rebind< FieldVector< T, m > >::other > , BlockVector< FieldVector< T, n >, A::template rebind< FieldVector< T, n > >::other > >::printOutput | ( | std::ostream & | s, | |
const double | iter, | |||
const DataType & | norm, | |||
const DataType & | norm_old | |||
) | const [inline, protected, inherited] |
helper function for printing solver output
friend class SeqOverlappingSchwarz [friend] |
friend class SeqOverlappingSchwarzAssembler< SuperLU< Matrix > > [friend] |
friend class std::mem_fun_ref_t< void, SuperLU > [friend] |
Generated on Fri Apr 29 2011 with Doxygen (ver 1.7.1) [doxygen-log,error-log].