Alien  1.3.0
Developer documentation
Loading...
Searching...
No Matches
Alien::ChebyshevPreconditioner< AlgebraT, saad > Class Template Reference
Collaboration diagram for Alien::ChebyshevPreconditioner< AlgebraT, saad >:

Public Types

typedef AlgebraT AlgebraType
typedef AlgebraType::Matrix MatrixType
typedef AlgebraType::Vector VectorType
typedef MatrixType::ValueType ValueType

Public Member Functions

 ChebyshevPreconditioner (AlgebraType &algebra, MatrixType const &matrix, ValueType factor, int polynome_order, int factor_max_iter, ITraceMng *trace_mng=nullptr)
void setOutputLevel (int level)
void init ()
void computeBeta ()
void computeAlpha ()
void solve1 (const VectorType &x, VectorType &y) const
void solve2 (VectorType const &x, VectorType &y) const
void solve (const VectorType &x, VectorType &y) const
void _algo1 (AlgebraType &algebra, VectorType const &x, VectorType &y) const
void _algo2 (AlgebraType &algebra, VectorType const &x, VectorType &y) const
void solve (AlgebraType &algebra, VectorType const &x, VectorType &y) const

Static Public Attributes

static const bool m_use_saad_algo = saad

Private Attributes

AlgebraType & m_algebra
MatrixType const & m_matrix
 matrix a preconditioner
ValueType m_factor = 0.
 facteur d'acceleration
ValueType m_alpha = 0.
ValueType m_beta = 0.
ValueType m_theta = 0.
ValueType m_delta = 0.
int m_polynome_order
int m_factor_max_iter
VectorType m_inv_diag
VectorType m_y
VectorType m_r
VectorType m_w
VectorType m_p
VectorType m_z
ITraceMng * m_trace_mng = nullptr
int m_output_level = 0

Detailed Description

template<typename AlgebraT, bool saad = false>
class Alien::ChebyshevPreconditioner< AlgebraT, saad >

Definition at line 32 of file ChebyshevPreconditioner.h.

Member Typedef Documentation

◆ AlgebraType

template<typename AlgebraT, bool saad = false>
typedef AlgebraT Alien::ChebyshevPreconditioner< AlgebraT, saad >::AlgebraType

Definition at line 37 of file ChebyshevPreconditioner.h.

◆ MatrixType

template<typename AlgebraT, bool saad = false>
typedef AlgebraType::Matrix Alien::ChebyshevPreconditioner< AlgebraT, saad >::MatrixType

Definition at line 38 of file ChebyshevPreconditioner.h.

◆ ValueType

template<typename AlgebraT, bool saad = false>
typedef MatrixType::ValueType Alien::ChebyshevPreconditioner< AlgebraT, saad >::ValueType

Definition at line 40 of file ChebyshevPreconditioner.h.

◆ VectorType

template<typename AlgebraT, bool saad = false>
typedef AlgebraType::Vector Alien::ChebyshevPreconditioner< AlgebraT, saad >::VectorType

Definition at line 39 of file ChebyshevPreconditioner.h.

Constructor & Destructor Documentation

◆ ChebyshevPreconditioner()

template<typename AlgebraT, bool saad = false>
Alien::ChebyshevPreconditioner< AlgebraT, saad >::ChebyshevPreconditioner ( AlgebraType & algebra,
MatrixType const & matrix,
ValueType factor,
int polynome_order,
int factor_max_iter,
ITraceMng * trace_mng = nullptr )
inline

Definition at line 43 of file ChebyshevPreconditioner.h.

◆ ~ChebyshevPreconditioner()

template<typename AlgebraT, bool saad = false>
virtual Alien::ChebyshevPreconditioner< AlgebraT, saad >::~ChebyshevPreconditioner ( )
inlinevirtual

Definition at line 57 of file ChebyshevPreconditioner.h.

Member Function Documentation

◆ _algo1()

template<typename AlgebraT, bool saad = false>
void Alien::ChebyshevPreconditioner< AlgebraT, saad >::_algo1 ( AlgebraType & algebra,
VectorType const & x,
VectorType & y ) const
inline

Definition at line 318 of file ChebyshevPreconditioner.h.

◆ _algo2()

template<typename AlgebraT, bool saad = false>
void Alien::ChebyshevPreconditioner< AlgebraT, saad >::_algo2 ( AlgebraType & algebra,
VectorType const & x,
VectorType & y ) const
inline

Definition at line 392 of file ChebyshevPreconditioner.h.

◆ computeAlpha()

template<typename AlgebraT, bool saad = false>
void Alien::ChebyshevPreconditioner< AlgebraT, saad >::computeAlpha ( )
inline

Definition at line 158 of file ChebyshevPreconditioner.h.

◆ computeBeta()

template<typename AlgebraT, bool saad = false>
void Alien::ChebyshevPreconditioner< AlgebraT, saad >::computeBeta ( )
inline

Definition at line 118 of file ChebyshevPreconditioner.h.

◆ init()

template<typename AlgebraT, bool saad = false>
void Alien::ChebyshevPreconditioner< AlgebraT, saad >::init ( )
inline

Definition at line 73 of file ChebyshevPreconditioner.h.

◆ setOutputLevel()

template<typename AlgebraT, bool saad = false>
void Alien::ChebyshevPreconditioner< AlgebraT, saad >::setOutputLevel ( int level)
inline

Definition at line 68 of file ChebyshevPreconditioner.h.

◆ solve() [1/2]

template<typename AlgebraT, bool saad = false>
void Alien::ChebyshevPreconditioner< AlgebraT, saad >::solve ( AlgebraType & algebra,
VectorType const & x,
VectorType & y ) const
inline

Definition at line 436 of file ChebyshevPreconditioner.h.

◆ solve() [2/2]

template<typename AlgebraT, bool saad = false>
void Alien::ChebyshevPreconditioner< AlgebraT, saad >::solve ( const VectorType & x,
VectorType & y ) const
inline
Parameters
yinput output

Definition at line 308 of file ChebyshevPreconditioner.h.

References solve1(), and solve2().

Here is the call graph for this function:

◆ solve1()

template<typename AlgebraT, bool saad = false>
void Alien::ChebyshevPreconditioner< AlgebraT, saad >::solve1 ( const VectorType & x,
VectorType & y ) const
inline
Parameters
yinput output

Definition at line 204 of file ChebyshevPreconditioner.h.

References m_matrix.

Referenced by solve().

Here is the caller graph for this function:

◆ solve2()

template<typename AlgebraT, bool saad = false>
void Alien::ChebyshevPreconditioner< AlgebraT, saad >::solve2 ( VectorType const & x,
VectorType & y ) const
inline
Parameters
yinput output

Definition at line 253 of file ChebyshevPreconditioner.h.

References m_matrix.

Referenced by solve().

Here is the caller graph for this function:

Member Data Documentation

◆ m_algebra

template<typename AlgebraT, bool saad = false>
AlgebraType& Alien::ChebyshevPreconditioner< AlgebraT, saad >::m_algebra
private

Definition at line 447 of file ChebyshevPreconditioner.h.

◆ m_alpha

template<typename AlgebraT, bool saad = false>
ValueType Alien::ChebyshevPreconditioner< AlgebraT, saad >::m_alpha = 0.
private

Definition at line 455 of file ChebyshevPreconditioner.h.

◆ m_beta

template<typename AlgebraT, bool saad = false>
ValueType Alien::ChebyshevPreconditioner< AlgebraT, saad >::m_beta = 0.
private

Definition at line 456 of file ChebyshevPreconditioner.h.

◆ m_delta

template<typename AlgebraT, bool saad = false>
ValueType Alien::ChebyshevPreconditioner< AlgebraT, saad >::m_delta = 0.
private

Definition at line 458 of file ChebyshevPreconditioner.h.

◆ m_factor

template<typename AlgebraT, bool saad = false>
ValueType Alien::ChebyshevPreconditioner< AlgebraT, saad >::m_factor = 0.
private

facteur d'acceleration

Definition at line 454 of file ChebyshevPreconditioner.h.

◆ m_factor_max_iter

template<typename AlgebraT, bool saad = false>
int Alien::ChebyshevPreconditioner< AlgebraT, saad >::m_factor_max_iter
private

Definition at line 463 of file ChebyshevPreconditioner.h.

◆ m_inv_diag

template<typename AlgebraT, bool saad = false>
VectorType Alien::ChebyshevPreconditioner< AlgebraT, saad >::m_inv_diag
private

Definition at line 465 of file ChebyshevPreconditioner.h.

◆ m_matrix

template<typename AlgebraT, bool saad = false>
MatrixType const& Alien::ChebyshevPreconditioner< AlgebraT, saad >::m_matrix
private

matrix a preconditioner

Definition at line 450 of file ChebyshevPreconditioner.h.

Referenced by solve1(), and solve2().

◆ m_output_level

template<typename AlgebraT, bool saad = false>
int Alien::ChebyshevPreconditioner< AlgebraT, saad >::m_output_level = 0
private

Definition at line 474 of file ChebyshevPreconditioner.h.

◆ m_p

template<typename AlgebraT, bool saad = false>
VectorType Alien::ChebyshevPreconditioner< AlgebraT, saad >::m_p
mutableprivate

Definition at line 470 of file ChebyshevPreconditioner.h.

◆ m_polynome_order

template<typename AlgebraT, bool saad = false>
int Alien::ChebyshevPreconditioner< AlgebraT, saad >::m_polynome_order
private

Definition at line 461 of file ChebyshevPreconditioner.h.

◆ m_r

template<typename AlgebraT, bool saad = false>
VectorType Alien::ChebyshevPreconditioner< AlgebraT, saad >::m_r
mutableprivate

Definition at line 468 of file ChebyshevPreconditioner.h.

◆ m_theta

template<typename AlgebraT, bool saad = false>
ValueType Alien::ChebyshevPreconditioner< AlgebraT, saad >::m_theta = 0.
private

Definition at line 457 of file ChebyshevPreconditioner.h.

◆ m_trace_mng

template<typename AlgebraT, bool saad = false>
ITraceMng* Alien::ChebyshevPreconditioner< AlgebraT, saad >::m_trace_mng = nullptr
private

Definition at line 473 of file ChebyshevPreconditioner.h.

◆ m_use_saad_algo

template<typename AlgebraT, bool saad = false>
const bool Alien::ChebyshevPreconditioner< AlgebraT, saad >::m_use_saad_algo = saad
static

Definition at line 36 of file ChebyshevPreconditioner.h.

◆ m_w

template<typename AlgebraT, bool saad = false>
VectorType Alien::ChebyshevPreconditioner< AlgebraT, saad >::m_w
mutableprivate

Definition at line 469 of file ChebyshevPreconditioner.h.

◆ m_y

template<typename AlgebraT, bool saad = false>
VectorType Alien::ChebyshevPreconditioner< AlgebraT, saad >::m_y
mutableprivate

Definition at line 467 of file ChebyshevPreconditioner.h.

◆ m_z

template<typename AlgebraT, bool saad = false>
VectorType Alien::ChebyshevPreconditioner< AlgebraT, saad >::m_z
mutableprivate

Definition at line 471 of file ChebyshevPreconditioner.h.


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