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

Public Types

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

Public Member Functions

 CG (AlgebraType &algebra, ITraceMng *trace_mng=nullptr)
void setOutputLevel (int level)
template<typename PrecondT, typename iterT>
int solve (PrecondT &precond, iterT &iter, MatrixType const &A, VectorType const &b, VectorType &x)
template<typename PrecondT, typename iterT>
int solve2 (PrecondT &precond, iterT &iter, MatrixType const &A, VectorType const &b, VectorType &x)

Private Member Functions

void _print (int iter, std::string const &msg, std::string const &label0, ValueType value0)
void _print (int iter, std::string const &msg, std::string const &label0, ValueType value0, std::string const &label1, ValueType value1)
void _print (int iter, std::string const &msg, std::string const &label0, ValueType value0, std::string const &label1, ValueType value1, std::string const &label2, ValueType value2)
void _print (int iter, std::string const &msg, std::string const &label0, ValueType value0, std::string const &label1, ValueType value1, std::string const &label2, ValueType value2, std::string const &label3, ValueType value3)

Private Attributes

AlgebraType & m_algebra
ITraceMng * m_trace_mng = nullptr
int m_output_level = 0

Detailed Description

template<typename AlgebraT>
class Alien::CG< AlgebraT >

Definition at line 34 of file CG.h.

Member Typedef Documentation

◆ AlgebraType

template<typename AlgebraT>
typedef AlgebraT Alien::CG< AlgebraT >::AlgebraType

Definition at line 38 of file CG.h.

◆ FutureType

template<typename AlgebraT>
typedef AlgebraType::FutureType Alien::CG< AlgebraT >::FutureType

Definition at line 42 of file CG.h.

◆ MatrixType

template<typename AlgebraT>
typedef AlgebraType::Matrix Alien::CG< AlgebraT >::MatrixType

Definition at line 39 of file CG.h.

◆ ValueType

template<typename AlgebraT>
typedef MatrixType::ValueType Alien::CG< AlgebraT >::ValueType

Definition at line 41 of file CG.h.

◆ VectorType

template<typename AlgebraT>
typedef AlgebraType::Vector Alien::CG< AlgebraT >::VectorType

Definition at line 40 of file CG.h.

Constructor & Destructor Documentation

◆ CG()

template<typename AlgebraT>
Alien::CG< AlgebraT >::CG ( AlgebraType & algebra,
ITraceMng * trace_mng = nullptr )
inline

Definition at line 45 of file CG.h.

◆ ~CG()

template<typename AlgebraT>
virtual Alien::CG< AlgebraT >::~CG ( )
inlinevirtual

Definition at line 50 of file CG.h.

Member Function Documentation

◆ _print() [1/4]

template<typename AlgebraT>
void Alien::CG< AlgebraT >::_print ( int iter,
std::string const & msg,
std::string const & label0,
ValueType value0 )
inlineprivate

Definition at line 248 of file CG.h.

◆ _print() [2/4]

template<typename AlgebraT>
void Alien::CG< AlgebraT >::_print ( int iter,
std::string const & msg,
std::string const & label0,
ValueType value0,
std::string const & label1,
ValueType value1 )
inlineprivate

Definition at line 259 of file CG.h.

◆ _print() [3/4]

template<typename AlgebraT>
void Alien::CG< AlgebraT >::_print ( int iter,
std::string const & msg,
std::string const & label0,
ValueType value0,
std::string const & label1,
ValueType value1,
std::string const & label2,
ValueType value2 )
inlineprivate

Definition at line 270 of file CG.h.

◆ _print() [4/4]

template<typename AlgebraT>
void Alien::CG< AlgebraT >::_print ( int iter,
std::string const & msg,
std::string const & label0,
ValueType value0,
std::string const & label1,
ValueType value1,
std::string const & label2,
ValueType value2,
std::string const & label3,
ValueType value3 )
inlineprivate

Definition at line 282 of file CG.h.

◆ setOutputLevel()

template<typename AlgebraT>
void Alien::CG< AlgebraT >::setOutputLevel ( int level)
inline

Definition at line 53 of file CG.h.

◆ solve()

template<typename AlgebraT>
template<typename PrecondT, typename iterT>
int Alien::CG< AlgebraT >::solve ( PrecondT & precond,
iterT & iter,
MatrixType const & A,
VectorType const & b,
VectorType & x )
inline

Definition at line 59 of file CG.h.

◆ solve2()

template<typename AlgebraT>
template<typename PrecondT, typename iterT>
int Alien::CG< AlgebraT >::solve2 ( PrecondT & precond,
iterT & iter,
MatrixType const & A,
VectorType const & b,
VectorType & x )
inline

Definition at line 153 of file CG.h.

Member Data Documentation

◆ m_algebra

template<typename AlgebraT>
AlgebraType& Alien::CG< AlgebraT >::m_algebra
private

Definition at line 294 of file CG.h.

◆ m_output_level

template<typename AlgebraT>
int Alien::CG< AlgebraT >::m_output_level = 0
private

Definition at line 296 of file CG.h.

◆ m_trace_mng

template<typename AlgebraT>
ITraceMng* Alien::CG< AlgebraT >::m_trace_mng = nullptr
private

Definition at line 295 of file CG.h.


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