|
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 > | LDLMatrix |
| 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 X::field_type | field_type |
| The field type of the operator.
|
|
|
| LDL (const Matrix &matrix, int verbose=0) |
| Construct a solver object from a BCRSMatrix.
|
|
| LDL (const Matrix &matrix, int verbose, bool) |
| Constructor for compatibility with SuperLU standard constructor.
|
|
| LDL () |
| Default constructor.
|
|
virtual | ~LDL () |
| Default constructor.
|
|
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) |
|
void | setMatrix (const Matrix &matrix) |
| Initialize data from given matrix.
|
|
template<class S > |
void | setSubMatrix (const Matrix &matrix, const S &rowIndexSet) |
|
void | setVerbosity (int v) |
| Sets the verbosity level for the solver.
|
|
LDLMatrix & | getInternalMatrix () |
| Return the column compress matrix.
|
|
void | free () |
| Free allocated space.
|
|
const char * | name () |
| Get method name.
|
|
double * | getD () |
| Get factorization diagonal matrix D.
|
|
int * | getLp () |
| Get factorization Lp.
|
|
int * | getLi () |
| Get factorization Li.
|
|
double * | getLx () |
| Get factorization Lx.
|
|
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.
|
|
The LDL direct sparse solver for matrices of type BCRSMatrix.
Specialization for the Dune::BCRSMatrix. LDL will always go double precision.
- Template Parameters
-
T | Number type. Only double is supported |
A | STL-compatible allocator type |
n | Number of rows in a matrix block |
m | Number of columns in a matrix block |
- Note
- This will only work if dune-istl has been configured to use LDL