version 3.8.0
Loading...
Searching...
No Matches
Dumux::ParMTJac< M, X, Y, l > Class Template Reference

Multi-threaded Jacobi preconditioner. More...

#include <dumux/linear/preconditioners.hh>

Inheritance diagram for Dumux::ParMTJac< M, X, Y, l >:

Description

template<class M, class X, class Y, int l = 1>
class Dumux::ParMTJac< M, X, Y, l >
Template Parameters
MThe matrix type to operate on
XType of the update
YType of the defect
lThe block level to invert. Default is 1

Public Types

typedef M matrix_type
 The matrix type the preconditioner is for.
 
typedef X domain_type
 The domain type of the preconditioner.
 
typedef Y range_type
 The range type of the preconditioner.
 
typedef X::field_type field_type
 The field type of the preconditioner.
 
typedef Dune::Simd::Scalar< field_typescalar_field_type
 scalar type underlying the field_type
 
typedef Dune::FieldTraits< scalar_field_type >::real_type real_field_type
 real scalar type underlying the field_type
 

Public Member Functions

 ParMTJac (const M &A, int n, real_field_type w)
 Constructor.
 
 ParMTJac (const std::shared_ptr< const Dune::AssembledLinearOperator< M, X, Y > > &A, const Dune::ParameterTree &configuration)
 
 ParMTJac (const M &A, const Dune::ParameterTree &configuration)
 
void pre (X &, Y &) override
 
void apply (X &update, const Y &defect) override
 
void post (X &) override
 
Dune::SolverCategory::Category category () const override
 Category of the preconditioner (see SolverCategory::Category)
 

Member Typedef Documentation

◆ domain_type

template<class M , class X , class Y , int l = 1>
typedef X Dumux::ParMTJac< M, X, Y, l >::domain_type

◆ field_type

template<class M , class X , class Y , int l = 1>
typedef X::field_type Dumux::ParMTJac< M, X, Y, l >::field_type

◆ matrix_type

template<class M , class X , class Y , int l = 1>
typedef M Dumux::ParMTJac< M, X, Y, l >::matrix_type

◆ range_type

template<class M , class X , class Y , int l = 1>
typedef Y Dumux::ParMTJac< M, X, Y, l >::range_type

◆ real_field_type

template<class M , class X , class Y , int l = 1>
typedef Dune::FieldTraits<scalar_field_type>::real_type Dumux::ParMTJac< M, X, Y, l >::real_field_type

◆ scalar_field_type

template<class M , class X , class Y , int l = 1>
typedef Dune::Simd::Scalar<field_type> Dumux::ParMTJac< M, X, Y, l >::scalar_field_type

Constructor & Destructor Documentation

◆ ParMTJac() [1/3]

template<class M , class X , class Y , int l = 1>
Dumux::ParMTJac< M, X, Y, l >::ParMTJac ( const M & A,
int n,
real_field_type w )
inline

◆ ParMTJac() [2/3]

template<class M , class X , class Y , int l = 1>
Dumux::ParMTJac< M, X, Y, l >::ParMTJac ( const std::shared_ptr< const Dune::AssembledLinearOperator< M, X, Y > > & A,
const Dune::ParameterTree & configuration )
inline

◆ ParMTJac() [3/3]

template<class M , class X , class Y , int l = 1>
Dumux::ParMTJac< M, X, Y, l >::ParMTJac ( const M & A,
const Dune::ParameterTree & configuration )
inline

Member Function Documentation

◆ apply()

template<class M , class X , class Y , int l = 1>
void Dumux::ParMTJac< M, X, Y, l >::apply ( X & update,
const Y & defect )
inlineoverride

◆ category()

template<class M , class X , class Y , int l = 1>
Dune::SolverCategory::Category Dumux::ParMTJac< M, X, Y, l >::category ( ) const
inlineoverride

◆ post()

template<class M , class X , class Y , int l = 1>
void Dumux::ParMTJac< M, X, Y, l >::post ( X & )
inlineoverride

◆ pre()

template<class M , class X , class Y , int l = 1>
void Dumux::ParMTJac< M, X, Y, l >::pre ( X & ,
Y &  )
inlineoverride

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