Alien  1.3.0
Developer documentation
Loading...
Searching...
No Matches
Alien::CxrPreconditioner< AlgebraT, MatrixT, VectorT, CxrSolverT, CxrOpT, RelaxSolverT > Class Template Reference
Collaboration diagram for Alien::CxrPreconditioner< AlgebraT, MatrixT, VectorT, CxrSolverT, CxrOpT, RelaxSolverT >:

Public Types

using AlgebraType = AlgebraT
using MatrixType = MatrixT
using VectorType = VectorT
using RelaxSolverType = RelaxSolverT
using CxrSolverType = CxrSolverT
using CxrOpType = CxrOpT

Public Member Functions

 CxrPreconditioner (AlgebraType &alg, MatrixType const &matrix, CxrOpType *cxr_op, CxrSolverType *cxr_solver, RelaxSolverType *relax_solver, ITraceMng *trace_mng=nullptr)
void init ()
void init (VectorType const &diag_scale)
void end ()
void solve (AlgebraType &alg, VectorType const &y, VectorType &x) const

Private Attributes

bool m_use_diag_scale = false
AlgebraType & m_algebra
MatrixType const & m_matrix
VectorType m_x_Cxr
VectorType m_y
VectorType m_y_Cxr
VectorType m_r
VectorType m_r_Cxr
RelaxSolverType * m_relax_solver = nullptr
CxrSolverType * m_cxr_solver = nullptr
CxrOpType * m_cxr_op = nullptr
ITraceMng * m_trace_mng = nullptr

Detailed Description

template<typename AlgebraT, typename MatrixT, typename VectorT, typename CxrSolverT, typename CxrOpT, typename RelaxSolverT>
class Alien::CxrPreconditioner< AlgebraT, MatrixT, VectorT, CxrSolverT, CxrOpT, RelaxSolverT >

Definition at line 18 of file CxrPreconditioner.h.

Member Typedef Documentation

◆ AlgebraType

template<typename AlgebraT, typename MatrixT, typename VectorT, typename CxrSolverT, typename CxrOpT, typename RelaxSolverT>
using Alien::CxrPreconditioner< AlgebraT, MatrixT, VectorT, CxrSolverT, CxrOpT, RelaxSolverT >::AlgebraType = AlgebraT

Definition at line 21 of file CxrPreconditioner.h.

◆ CxrOpType

template<typename AlgebraT, typename MatrixT, typename VectorT, typename CxrSolverT, typename CxrOpT, typename RelaxSolverT>
using Alien::CxrPreconditioner< AlgebraT, MatrixT, VectorT, CxrSolverT, CxrOpT, RelaxSolverT >::CxrOpType = CxrOpT

Definition at line 26 of file CxrPreconditioner.h.

◆ CxrSolverType

template<typename AlgebraT, typename MatrixT, typename VectorT, typename CxrSolverT, typename CxrOpT, typename RelaxSolverT>
using Alien::CxrPreconditioner< AlgebraT, MatrixT, VectorT, CxrSolverT, CxrOpT, RelaxSolverT >::CxrSolverType = CxrSolverT

Definition at line 25 of file CxrPreconditioner.h.

◆ MatrixType

template<typename AlgebraT, typename MatrixT, typename VectorT, typename CxrSolverT, typename CxrOpT, typename RelaxSolverT>
using Alien::CxrPreconditioner< AlgebraT, MatrixT, VectorT, CxrSolverT, CxrOpT, RelaxSolverT >::MatrixType = MatrixT

Definition at line 22 of file CxrPreconditioner.h.

◆ RelaxSolverType

template<typename AlgebraT, typename MatrixT, typename VectorT, typename CxrSolverT, typename CxrOpT, typename RelaxSolverT>
using Alien::CxrPreconditioner< AlgebraT, MatrixT, VectorT, CxrSolverT, CxrOpT, RelaxSolverT >::RelaxSolverType = RelaxSolverT

Definition at line 24 of file CxrPreconditioner.h.

◆ VectorType

template<typename AlgebraT, typename MatrixT, typename VectorT, typename CxrSolverT, typename CxrOpT, typename RelaxSolverT>
using Alien::CxrPreconditioner< AlgebraT, MatrixT, VectorT, CxrSolverT, CxrOpT, RelaxSolverT >::VectorType = VectorT

Definition at line 23 of file CxrPreconditioner.h.

Constructor & Destructor Documentation

◆ CxrPreconditioner()

template<typename AlgebraT, typename MatrixT, typename VectorT, typename CxrSolverT, typename CxrOpT, typename RelaxSolverT>
Alien::CxrPreconditioner< AlgebraT, MatrixT, VectorT, CxrSolverT, CxrOpT, RelaxSolverT >::CxrPreconditioner ( AlgebraType & alg,
MatrixType const & matrix,
CxrOpType * cxr_op,
CxrSolverType * cxr_solver,
RelaxSolverType * relax_solver,
ITraceMng * trace_mng = nullptr )
inline

Definition at line 29 of file CxrPreconditioner.h.

◆ ~CxrPreconditioner()

template<typename AlgebraT, typename MatrixT, typename VectorT, typename CxrSolverT, typename CxrOpT, typename RelaxSolverT>
virtual Alien::CxrPreconditioner< AlgebraT, MatrixT, VectorT, CxrSolverT, CxrOpT, RelaxSolverT >::~CxrPreconditioner ( )
inlinevirtual

Definition at line 45 of file CxrPreconditioner.h.

Member Function Documentation

◆ end()

template<typename AlgebraT, typename MatrixT, typename VectorT, typename CxrSolverT, typename CxrOpT, typename RelaxSolverT>
void Alien::CxrPreconditioner< AlgebraT, MatrixT, VectorT, CxrSolverT, CxrOpT, RelaxSolverT >::end ( )
inline

Definition at line 80 of file CxrPreconditioner.h.

◆ init() [1/2]

template<typename AlgebraT, typename MatrixT, typename VectorT, typename CxrSolverT, typename CxrOpT, typename RelaxSolverT>
void Alien::CxrPreconditioner< AlgebraT, MatrixT, VectorT, CxrSolverT, CxrOpT, RelaxSolverT >::init ( )
inline

Definition at line 50 of file CxrPreconditioner.h.

◆ init() [2/2]

template<typename AlgebraT, typename MatrixT, typename VectorT, typename CxrSolverT, typename CxrOpT, typename RelaxSolverT>
void Alien::CxrPreconditioner< AlgebraT, MatrixT, VectorT, CxrSolverT, CxrOpT, RelaxSolverT >::init ( VectorType const & diag_scale)
inline

Definition at line 65 of file CxrPreconditioner.h.

◆ solve()

template<typename AlgebraT, typename MatrixT, typename VectorT, typename CxrSolverT, typename CxrOpT, typename RelaxSolverT>
void Alien::CxrPreconditioner< AlgebraT, MatrixT, VectorT, CxrSolverT, CxrOpT, RelaxSolverT >::solve ( AlgebraType & alg,
VectorType const & y,
VectorType & x ) const
inline

Definition at line 86 of file CxrPreconditioner.h.

Member Data Documentation

◆ m_algebra

template<typename AlgebraT, typename MatrixT, typename VectorT, typename CxrSolverT, typename CxrOpT, typename RelaxSolverT>
AlgebraType& Alien::CxrPreconditioner< AlgebraT, MatrixT, VectorT, CxrSolverT, CxrOpT, RelaxSolverT >::m_algebra
private

Definition at line 138 of file CxrPreconditioner.h.

◆ m_cxr_op

template<typename AlgebraT, typename MatrixT, typename VectorT, typename CxrSolverT, typename CxrOpT, typename RelaxSolverT>
CxrOpType* Alien::CxrPreconditioner< AlgebraT, MatrixT, VectorT, CxrSolverT, CxrOpT, RelaxSolverT >::m_cxr_op = nullptr
private

Definition at line 151 of file CxrPreconditioner.h.

◆ m_cxr_solver

template<typename AlgebraT, typename MatrixT, typename VectorT, typename CxrSolverT, typename CxrOpT, typename RelaxSolverT>
CxrSolverType* Alien::CxrPreconditioner< AlgebraT, MatrixT, VectorT, CxrSolverT, CxrOpT, RelaxSolverT >::m_cxr_solver = nullptr
private

Definition at line 150 of file CxrPreconditioner.h.

◆ m_matrix

template<typename AlgebraT, typename MatrixT, typename VectorT, typename CxrSolverT, typename CxrOpT, typename RelaxSolverT>
MatrixType const& Alien::CxrPreconditioner< AlgebraT, MatrixT, VectorT, CxrSolverT, CxrOpT, RelaxSolverT >::m_matrix
private

Definition at line 139 of file CxrPreconditioner.h.

◆ m_r

template<typename AlgebraT, typename MatrixT, typename VectorT, typename CxrSolverT, typename CxrOpT, typename RelaxSolverT>
VectorType Alien::CxrPreconditioner< AlgebraT, MatrixT, VectorT, CxrSolverT, CxrOpT, RelaxSolverT >::m_r
mutableprivate

Definition at line 146 of file CxrPreconditioner.h.

◆ m_r_Cxr

template<typename AlgebraT, typename MatrixT, typename VectorT, typename CxrSolverT, typename CxrOpT, typename RelaxSolverT>
VectorType Alien::CxrPreconditioner< AlgebraT, MatrixT, VectorT, CxrSolverT, CxrOpT, RelaxSolverT >::m_r_Cxr
mutableprivate

Definition at line 147 of file CxrPreconditioner.h.

◆ m_relax_solver

template<typename AlgebraT, typename MatrixT, typename VectorT, typename CxrSolverT, typename CxrOpT, typename RelaxSolverT>
RelaxSolverType* Alien::CxrPreconditioner< AlgebraT, MatrixT, VectorT, CxrSolverT, CxrOpT, RelaxSolverT >::m_relax_solver = nullptr
private

Definition at line 149 of file CxrPreconditioner.h.

◆ m_trace_mng

template<typename AlgebraT, typename MatrixT, typename VectorT, typename CxrSolverT, typename CxrOpT, typename RelaxSolverT>
ITraceMng* Alien::CxrPreconditioner< AlgebraT, MatrixT, VectorT, CxrSolverT, CxrOpT, RelaxSolverT >::m_trace_mng = nullptr
private

Definition at line 153 of file CxrPreconditioner.h.

◆ m_use_diag_scale

template<typename AlgebraT, typename MatrixT, typename VectorT, typename CxrSolverT, typename CxrOpT, typename RelaxSolverT>
bool Alien::CxrPreconditioner< AlgebraT, MatrixT, VectorT, CxrSolverT, CxrOpT, RelaxSolverT >::m_use_diag_scale = false
private

Definition at line 137 of file CxrPreconditioner.h.

◆ m_x_Cxr

template<typename AlgebraT, typename MatrixT, typename VectorT, typename CxrSolverT, typename CxrOpT, typename RelaxSolverT>
VectorType Alien::CxrPreconditioner< AlgebraT, MatrixT, VectorT, CxrSolverT, CxrOpT, RelaxSolverT >::m_x_Cxr
mutableprivate

Definition at line 141 of file CxrPreconditioner.h.

◆ m_y

template<typename AlgebraT, typename MatrixT, typename VectorT, typename CxrSolverT, typename CxrOpT, typename RelaxSolverT>
VectorType Alien::CxrPreconditioner< AlgebraT, MatrixT, VectorT, CxrSolverT, CxrOpT, RelaxSolverT >::m_y
mutableprivate

Definition at line 143 of file CxrPreconditioner.h.

◆ m_y_Cxr

template<typename AlgebraT, typename MatrixT, typename VectorT, typename CxrSolverT, typename CxrOpT, typename RelaxSolverT>
VectorType Alien::CxrPreconditioner< AlgebraT, MatrixT, VectorT, CxrSolverT, CxrOpT, RelaxSolverT >::m_y_Cxr
mutableprivate

Definition at line 144 of file CxrPreconditioner.h.


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