|
dune-istl 2.12-git
|
Loading...
Searching...
No Matches
Public Types |
Public Member Functions |
Protected Types |
Protected Member Functions |
Friends |
List of all members
Dune::LDL< M > Class Template Referenceabstract
The LDL direct sparse solver for ISTL matrices. More...
#include <dune/istl/ldl.hh>
Inheritance diagram for Dune::LDL< M >:

Public Types | |
| typedef M | Matrix |
| The matrix type. | |
| typedef M | matrix_type |
| typedef FieldTraits< M >::field_type | field_type |
| typedef Dune::ISTL::Impl::BCCSMatrix< field_type, int > | LDLMatrix |
| The corresponding SuperLU Matrix type. | |
| typedef ISTL::Impl::BCCSMatrixInitializer< M, int > | MatrixInitializer |
| Type of an associated initializer class. | |
| typedef DefaultMatrixVectorTraits< M >::domain_type | domain_type |
| The type of the domain of the solver. | |
| typedef DefaultMatrixVectorTraits< M >::range_type | range_type |
| The type of the range of the solver. | |
| 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) | |
| typedef Simd::Scalar< real_type > | scalar_real_type |
| scalar type underlying the field_type | |
Public Member Functions | |
| SolverCategory::Category | category () const override |
| Category of the solver (see SolverCategory::Category) | |
| 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 (const Matrix &matrix, const ParameterTree &config) | |
| Constructs the LDL solver. | |
| LDL () | |
| Default constructor. | |
| virtual | ~LDL () |
| Default constructor. | |
| void | apply (domain_type &x, range_type &b, InverseOperatorResult &res) override |
| Apply inverse operator,. | |
| void | apply (domain_type &x, range_type &b, double reduction, InverseOperatorResult &res) override |
| apply inverse operator, with given convergence criteria. | |
| void | apply (field_type *x, field_type *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 (DefaultMatrixVectorTraits< M >::domain_type &x, DefaultMatrixVectorTraits< M >::range_type &b, InverseOperatorResult &res)=0 |
| Apply inverse operator,. | |
| virtual void | apply (DefaultMatrixVectorTraits< M >::domain_type &x, DefaultMatrixVectorTraits< M >::range_type &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 CountType &iter, const DataType &norm, const DataType &norm_old) const |
| helper function for printing solver output | |
| void | printOutput (std::ostream &s, const CountType &iter, const DataType &norm) const |
| helper function for printing solver output | |
Friends | |
| template<class , class , class , class , class > | |
| class | SeqOverlappingSchwarz |
| struct | SeqOverlappingSchwarzAssemblerHelper< LDL< Matrix >, true > |
Detailed Description
template<typename M>
class Dune::LDL< M >
class Dune::LDL< M >
The LDL direct sparse solver for ISTL matrices.
LDL will always go double precision.
Details on UMFPack can be found on https://github.com/DrTimothyAldenDavis/SuiteSparse/tree/dev/LDL
- Template Parameters
-
M the matrix type defining the system
- Note
- This will only work if dune-istl has been configured to use LDL
Member Typedef Documentation
◆ real_type
|
inherited |
The real type of the field type (is the same if using real numbers, but differs for std::complex)
◆ scalar_real_type
|
inherited |
scalar type underlying the field_type
Member Enumeration Documentation
◆ anonymous enum
|
protectedinherited |
Member Function Documentation
◆ apply() [1/2]
|
pure virtualinherited |
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.
- Exceptions
-
SolverAbort When the solver detects a problem and cannot continue
◆ apply() [2/2]
|
pure virtualinherited |
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.
- Exceptions
-
SolverAbort When the solver detects a problem and cannot continue
◆ printHeader()
|
inlineprotectedinherited |
helper function for printing header of solver output
◆ printOutput() [1/2]
|
inlineprotectedinherited |
helper function for printing solver output
◆ printOutput() [2/2]
|
inlineprotectedinherited |
helper function for printing solver output
The documentation for this class was generated from the following file:
Legal Statements / Impressum | Hosted by TU Dresden & Uni Heidelberg | Generated by
1.9.8