A simple ilu0 block diagonal preconditioner.  
#include <dumux/linear/seqsolverbackend.hh>
|  | 
| using | matrix_type = typename std::decay_t<M> | 
|  | The matrix type the preconditioner is for. 
 | 
|  | 
| using | domain_type = X | 
|  | The domain type of the preconditioner. 
 | 
|  | 
| using | range_type = Y | 
|  | The range type of the preconditioner. 
 | 
|  | 
| using | field_type = typename X::field_type | 
|  | The field type of the preconditioner. 
 | 
|  | 
|  | 
|  | BlockDiagILU0Preconditioner (const M &m, double w=1.0) | 
|  | Constructor. 
 | 
|  | 
| void | pre (X &v, Y &d) final | 
|  | 
| void | apply (X &v, const Y &d) final | 
|  | 
| void | post (X &) final | 
|  | 
| Dune::SolverCategory::Category | category () const final | 
|  | Category of the preconditioner (see SolverCategory::Category) 
 | 
|  | 
◆ domain_type
template<class M, class X, class Y, int blockLevel = 2> 
      
 
 
◆ field_type
template<class M, class X, class Y, int blockLevel = 2> 
      
 
 
◆ matrix_type
template<class M, class X, class Y, int blockLevel = 2> 
      
 
 
◆ range_type
template<class M, class X, class Y, int blockLevel = 2> 
      
 
 
◆ BlockDiagILU0Preconditioner()
template<class M, class X, class Y, int blockLevel = 2> 
 
Constructor gets all parameters to operate the prec. 
- Parameters
- 
  
    | m | The (multi type block) matrix to operate on |  | w | The relaxation factor |  
 
 
 
◆ apply()
template<class M, class X, class Y, int blockLevel = 2> 
 
 
◆ category()
template<class M, class X, class Y, int blockLevel = 2> 
 
 
◆ post()
template<class M, class X, class Y, int blockLevel = 2> 
 
 
◆ pre()
template<class M, class X, class Y, int blockLevel = 2> 
 
 
The documentation for this class was generated from the following file: