version 3.10-dev
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. More...
 
typedef X domain_type
 The domain type of the preconditioner. More...
 
typedef Y range_type
 The range type of the preconditioner. More...
 
typedef X::field_type field_type
 The field type of the preconditioner. More...
 
typedef Dune::Simd::Scalar< field_typescalar_field_type
 scalar type underlying the field_type More...
 
typedef Dune::FieldTraits< scalar_field_type >::real_type real_field_type
 real scalar type underlying the field_type More...
 

Public Member Functions

 ParMTJac (const M &A, int n, real_field_type w)
 Constructor. More...
 
 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) More...
 

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: