version 3.10-dev
Dumux::BlockDiagILU0Preconditioner< M, X, Y, blockLevel > Class Template Reference

A simple ilu0 block diagonal preconditioner.

#include <dumux/linear/seqsolverbackend.hh>

Inheritance diagram for Dumux::BlockDiagILU0Preconditioner< M, X, Y, blockLevel >:

Public Types

using matrix_type = typename std::decay_t< M >
 The matrix type the preconditioner is for. More...
 
using domain_type = X
 The domain type of the preconditioner. More...
 
using range_type = Y
 The range type of the preconditioner. More...
 
using field_type = typename X::field_type
 The field type of the preconditioner. More...
 

Public Member Functions

 BlockDiagILU0Preconditioner (const M &m, double w=1.0)
 Constructor. More...
 
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) More...
 

Member Typedef Documentation

◆ domain_type

template<class M , class X , class Y , int blockLevel = 2>
using Dumux::BlockDiagILU0Preconditioner< M, X, Y, blockLevel >::domain_type = X

◆ field_type

template<class M , class X , class Y , int blockLevel = 2>
using Dumux::BlockDiagILU0Preconditioner< M, X, Y, blockLevel >::field_type = typename X::field_type

◆ matrix_type

template<class M , class X , class Y , int blockLevel = 2>
using Dumux::BlockDiagILU0Preconditioner< M, X, Y, blockLevel >::matrix_type = typename std::decay_t<M>

◆ range_type

template<class M , class X , class Y , int blockLevel = 2>
using Dumux::BlockDiagILU0Preconditioner< M, X, Y, blockLevel >::range_type = Y

Constructor & Destructor Documentation

◆ BlockDiagILU0Preconditioner()

template<class M , class X , class Y , int blockLevel = 2>
Dumux::BlockDiagILU0Preconditioner< M, X, Y, blockLevel >::BlockDiagILU0Preconditioner ( const M &  m,
double  w = 1.0 
)
inline

Constructor gets all parameters to operate the prec.

Parameters
mThe (multi type block) matrix to operate on
wThe relaxation factor

Member Function Documentation

◆ apply()

template<class M , class X , class Y , int blockLevel = 2>
void Dumux::BlockDiagILU0Preconditioner< M, X, Y, blockLevel >::apply ( X &  v,
const Y &  d 
)
inlinefinal

◆ category()

template<class M , class X , class Y , int blockLevel = 2>
Dune::SolverCategory::Category Dumux::BlockDiagILU0Preconditioner< M, X, Y, blockLevel >::category ( ) const
inlinefinal

◆ post()

template<class M , class X , class Y , int blockLevel = 2>
void Dumux::BlockDiagILU0Preconditioner< M, X, Y, blockLevel >::post ( X &  )
inlinefinal

◆ pre()

template<class M , class X , class Y , int blockLevel = 2>
void Dumux::BlockDiagILU0Preconditioner< M, X, Y, blockLevel >::pre ( X &  v,
Y &  d 
)
inlinefinal

The documentation for this class was generated from the following file: