Alien  1.3.0
User documentation
Loading...
Searching...
No Matches
Alien::KernelAMGSolverT< TagT, AlgebraT, AMGSolverTagT > Class Template Reference

Public Types

using BaseSolverType = KernelSolverT<TagT>
using AlgebraType = AlgebraT
using MatrixType = typename AlgebraType::MatrixType
using VectorType = typename AlgebraType::VectorType
using ValueType = typename AlgebraType::ValueType
using DefMatrixTagType = Alien::BackEnd::tag::simplecsr
using SolverMatrixType = typename AlgebraTraits<AMGSolverTagT>::matrix_type
using SolverVectorType = typename AlgebraTraits<AMGSolverTagT>::vector_type
using SolverAlgebraType = typename AlgebraTraits<AMGSolverTagT>::algebra_type
using AMGSolverType = KernelSolverT<AMGSolverTagT>
using MatrixConvType = MatrixConverterT<TagT,AMGSolverTagT>
using DefMatrixConvType = MatrixConverterT<DefMatrixTagType,AMGSolverTagT>
using VectorConvFromType = VectorConverterT<TagT,AMGSolverTagT>
using VectorConvToType = VectorConverterT<AMGSolverTagT,TagT>
Public Types inherited from Alien::KernelSolverT< TagT >
using MatrixType
 The type of the solver.
using VectorType
using AlgebraType

Public Member Functions

 KernelAMGSolverT (AlgebraT &alg, AMGSolverType *solver)
 KernelAMGSolverT (AlgebraT &alg, Alien::ILinearSolver *solver)
void init ()
void start ()
void init (MatrixType const &A)
 Initialize the linear solver.
void end ()
bool solve (const VectorType &b, VectorType &x)
Public Member Functions inherited from Alien::KernelSolverT< TagT >
virtual void init (MatrixType const &A)=0
 Initialize the linear solver.
virtual bool solve (const VectorType &b, VectorType &x)=0
 Solve the linear system A * x = b.

Detailed Description

template<typename TagT, typename AlgebraT, typename AMGSolverTagT>
class Alien::KernelAMGSolverT< TagT, AlgebraT, AMGSolverTagT >

Definition at line 91 of file AMGSolverT.h.

Member Typedef Documentation

◆ AlgebraType

template<typename TagT, typename AlgebraT, typename AMGSolverTagT>
using Alien::KernelAMGSolverT< TagT, AlgebraT, AMGSolverTagT >::AlgebraType = AlgebraT

Definition at line 97 of file AMGSolverT.h.

◆ AMGSolverType

template<typename TagT, typename AlgebraT, typename AMGSolverTagT>
using Alien::KernelAMGSolverT< TagT, AlgebraT, AMGSolverTagT >::AMGSolverType = KernelSolverT<AMGSolverTagT>

Definition at line 106 of file AMGSolverT.h.

◆ BaseSolverType

template<typename TagT, typename AlgebraT, typename AMGSolverTagT>
using Alien::KernelAMGSolverT< TagT, AlgebraT, AMGSolverTagT >::BaseSolverType = KernelSolverT<TagT>

Definition at line 96 of file AMGSolverT.h.

◆ DefMatrixConvType

template<typename TagT, typename AlgebraT, typename AMGSolverTagT>
using Alien::KernelAMGSolverT< TagT, AlgebraT, AMGSolverTagT >::DefMatrixConvType = MatrixConverterT<DefMatrixTagType,AMGSolverTagT>

Definition at line 109 of file AMGSolverT.h.

◆ DefMatrixTagType

template<typename TagT, typename AlgebraT, typename AMGSolverTagT>
using Alien::KernelAMGSolverT< TagT, AlgebraT, AMGSolverTagT >::DefMatrixTagType = Alien::BackEnd::tag::simplecsr

Definition at line 101 of file AMGSolverT.h.

◆ MatrixConvType

template<typename TagT, typename AlgebraT, typename AMGSolverTagT>
using Alien::KernelAMGSolverT< TagT, AlgebraT, AMGSolverTagT >::MatrixConvType = MatrixConverterT<TagT,AMGSolverTagT>

Definition at line 108 of file AMGSolverT.h.

◆ MatrixType

template<typename TagT, typename AlgebraT, typename AMGSolverTagT>
using Alien::KernelAMGSolverT< TagT, AlgebraT, AMGSolverTagT >::MatrixType = typename AlgebraType::MatrixType

Definition at line 98 of file AMGSolverT.h.

◆ SolverAlgebraType

template<typename TagT, typename AlgebraT, typename AMGSolverTagT>
using Alien::KernelAMGSolverT< TagT, AlgebraT, AMGSolverTagT >::SolverAlgebraType = typename AlgebraTraits<AMGSolverTagT>::algebra_type

Definition at line 105 of file AMGSolverT.h.

◆ SolverMatrixType

template<typename TagT, typename AlgebraT, typename AMGSolverTagT>
using Alien::KernelAMGSolverT< TagT, AlgebraT, AMGSolverTagT >::SolverMatrixType = typename AlgebraTraits<AMGSolverTagT>::matrix_type

Definition at line 103 of file AMGSolverT.h.

◆ SolverVectorType

template<typename TagT, typename AlgebraT, typename AMGSolverTagT>
using Alien::KernelAMGSolverT< TagT, AlgebraT, AMGSolverTagT >::SolverVectorType = typename AlgebraTraits<AMGSolverTagT>::vector_type

Definition at line 104 of file AMGSolverT.h.

◆ ValueType

template<typename TagT, typename AlgebraT, typename AMGSolverTagT>
using Alien::KernelAMGSolverT< TagT, AlgebraT, AMGSolverTagT >::ValueType = typename AlgebraType::ValueType

Definition at line 100 of file AMGSolverT.h.

◆ VectorConvFromType

template<typename TagT, typename AlgebraT, typename AMGSolverTagT>
using Alien::KernelAMGSolverT< TagT, AlgebraT, AMGSolverTagT >::VectorConvFromType = VectorConverterT<TagT,AMGSolverTagT>

Definition at line 110 of file AMGSolverT.h.

◆ VectorConvToType

template<typename TagT, typename AlgebraT, typename AMGSolverTagT>
using Alien::KernelAMGSolverT< TagT, AlgebraT, AMGSolverTagT >::VectorConvToType = VectorConverterT<AMGSolverTagT,TagT>

Definition at line 111 of file AMGSolverT.h.

◆ VectorType

template<typename TagT, typename AlgebraT, typename AMGSolverTagT>
using Alien::KernelAMGSolverT< TagT, AlgebraT, AMGSolverTagT >::VectorType = typename AlgebraType::VectorType

Definition at line 99 of file AMGSolverT.h.

Constructor & Destructor Documentation

◆ KernelAMGSolverT() [1/2]

template<typename TagT, typename AlgebraT, typename AMGSolverTagT>
Alien::KernelAMGSolverT< TagT, AlgebraT, AMGSolverTagT >::KernelAMGSolverT ( AlgebraT & alg,
AMGSolverType * solver )
inline

Definition at line 114 of file AMGSolverT.h.

◆ KernelAMGSolverT() [2/2]

template<typename TagT, typename AlgebraT, typename AMGSolverTagT>
Alien::KernelAMGSolverT< TagT, AlgebraT, AMGSolverTagT >::KernelAMGSolverT ( AlgebraT & alg,
Alien::ILinearSolver * solver )
inline

Definition at line 136 of file AMGSolverT.h.

◆ ~KernelAMGSolverT()

template<typename TagT, typename AlgebraT, typename AMGSolverTagT>
virtual Alien::KernelAMGSolverT< TagT, AlgebraT, AMGSolverTagT >::~KernelAMGSolverT ( )
inlinevirtual

Definition at line 164 of file AMGSolverT.h.

Member Function Documentation

◆ end()

template<typename TagT, typename AlgebraT, typename AMGSolverTagT>
void Alien::KernelAMGSolverT< TagT, AlgebraT, AMGSolverTagT >::end ( )
inlinevirtual

Implements Alien::KernelSolverT< TagT >.

Definition at line 197 of file AMGSolverT.h.

◆ init() [1/2]

template<typename TagT, typename AlgebraT, typename AMGSolverTagT>
void Alien::KernelAMGSolverT< TagT, AlgebraT, AMGSolverTagT >::init ( )
inlinevirtual

Implements Alien::KernelSolverT< TagT >.

Definition at line 169 of file AMGSolverT.h.

◆ init() [2/2]

template<typename TagT, typename AlgebraT, typename AMGSolverTagT>
void Alien::KernelAMGSolverT< TagT, AlgebraT, AMGSolverTagT >::init ( MatrixType const & A)
inline

Initialize the linear solver.

Definition at line 179 of file AMGSolverT.h.

◆ solve()

template<typename TagT, typename AlgebraT, typename AMGSolverTagT>
bool Alien::KernelAMGSolverT< TagT, AlgebraT, AMGSolverTagT >::solve ( const VectorType & b,
VectorType & x )
inline

Definition at line 206 of file AMGSolverT.h.

◆ start()

template<typename TagT, typename AlgebraT, typename AMGSolverTagT>
void Alien::KernelAMGSolverT< TagT, AlgebraT, AMGSolverTagT >::start ( )
inlinevirtual

Implements Alien::KernelSolverT< TagT >.

Definition at line 174 of file AMGSolverT.h.


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