Alien  1.3.0
Developer documentation
Loading...
Searching...
No Matches
Alien::AMGSolverT< TagT, AlgebraT, SolverT, PrecondT > Class Template Reference
Inheritance diagram for Alien::AMGSolverT< TagT, AlgebraT, SolverT, PrecondT >:
Collaboration diagram for Alien::AMGSolverT< TagT, AlgebraT, SolverT, PrecondT >:

Public Types

using KernelSolverType = KernelSolverT<TagT>
using SolverType = SolverT
using PrecondType = PrecondT
using AlgebraType = AlgebraT
using MatrixType = typename AlgebraType::MatrixType
using VectorType = typename AlgebraType::VectorType
using ValueType = typename AlgebraType::ValueType
Public Types inherited from Alien::KernelSolverT< TagT >
using MatrixType
 The type of the solver.
using VectorType
using AlgebraType

Public Member Functions

 AMGSolverT (AlgebraT &alg, SolverT &solver, PrecondT &precond)
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.

Private Attributes

AlgebraType & m_algebra
SolverType & m_solver
PrecondType & m_precond
MatrixType const * m_matrix = nullptr

Detailed Description

template<typename TagT, typename AlgebraT, typename SolverT, typename PrecondT>
class Alien::AMGSolverT< TagT, AlgebraT, SolverT, PrecondT >

Definition at line 24 of file AMGSolverT.h.

Member Typedef Documentation

◆ AlgebraType

template<typename TagT, typename AlgebraT, typename SolverT, typename PrecondT>
using Alien::AMGSolverT< TagT, AlgebraT, SolverT, PrecondT >::AlgebraType = AlgebraT

Definition at line 32 of file AMGSolverT.h.

◆ KernelSolverType

template<typename TagT, typename AlgebraT, typename SolverT, typename PrecondT>
using Alien::AMGSolverT< TagT, AlgebraT, SolverT, PrecondT >::KernelSolverType = KernelSolverT<TagT>

Definition at line 29 of file AMGSolverT.h.

◆ MatrixType

template<typename TagT, typename AlgebraT, typename SolverT, typename PrecondT>
using Alien::AMGSolverT< TagT, AlgebraT, SolverT, PrecondT >::MatrixType = typename AlgebraType::MatrixType

Definition at line 33 of file AMGSolverT.h.

◆ PrecondType

template<typename TagT, typename AlgebraT, typename SolverT, typename PrecondT>
using Alien::AMGSolverT< TagT, AlgebraT, SolverT, PrecondT >::PrecondType = PrecondT

Definition at line 31 of file AMGSolverT.h.

◆ SolverType

template<typename TagT, typename AlgebraT, typename SolverT, typename PrecondT>
using Alien::AMGSolverT< TagT, AlgebraT, SolverT, PrecondT >::SolverType = SolverT

Definition at line 30 of file AMGSolverT.h.

◆ ValueType

template<typename TagT, typename AlgebraT, typename SolverT, typename PrecondT>
using Alien::AMGSolverT< TagT, AlgebraT, SolverT, PrecondT >::ValueType = typename AlgebraType::ValueType

Definition at line 35 of file AMGSolverT.h.

◆ VectorType

template<typename TagT, typename AlgebraT, typename SolverT, typename PrecondT>
using Alien::AMGSolverT< TagT, AlgebraT, SolverT, PrecondT >::VectorType = typename AlgebraType::VectorType

Definition at line 34 of file AMGSolverT.h.

Constructor & Destructor Documentation

◆ AMGSolverT()

template<typename TagT, typename AlgebraT, typename SolverT, typename PrecondT>
Alien::AMGSolverT< TagT, AlgebraT, SolverT, PrecondT >::AMGSolverT ( AlgebraT & alg,
SolverT & solver,
PrecondT & precond )
inline

Definition at line 37 of file AMGSolverT.h.

◆ ~AMGSolverT()

template<typename TagT, typename AlgebraT, typename SolverT, typename PrecondT>
virtual Alien::AMGSolverT< TagT, AlgebraT, SolverT, PrecondT >::~AMGSolverT ( )
inlinevirtual

Definition at line 43 of file AMGSolverT.h.

Member Function Documentation

◆ end()

template<typename TagT, typename AlgebraT, typename SolverT, typename PrecondT>
void Alien::AMGSolverT< TagT, AlgebraT, SolverT, PrecondT >::end ( )
inlinevirtual

Implements Alien::KernelSolverT< TagT >.

Definition at line 68 of file AMGSolverT.h.

◆ init() [1/2]

template<typename TagT, typename AlgebraT, typename SolverT, typename PrecondT>
void Alien::AMGSolverT< TagT, AlgebraT, SolverT, PrecondT >::init ( )
inlinevirtual

Implements Alien::KernelSolverT< TagT >.

Definition at line 48 of file AMGSolverT.h.

◆ init() [2/2]

template<typename TagT, typename AlgebraT, typename SolverT, typename PrecondT>
void Alien::AMGSolverT< TagT, AlgebraT, SolverT, PrecondT >::init ( MatrixType const & A)
inline

Initialize the linear solver.

Definition at line 63 of file AMGSolverT.h.

◆ solve()

template<typename TagT, typename AlgebraT, typename SolverT, typename PrecondT>
bool Alien::AMGSolverT< TagT, AlgebraT, SolverT, PrecondT >::solve ( const VectorType & b,
VectorType & x )
inline

Definition at line 74 of file AMGSolverT.h.

◆ start()

template<typename TagT, typename AlgebraT, typename SolverT, typename PrecondT>
void Alien::AMGSolverT< TagT, AlgebraT, SolverT, PrecondT >::start ( )
inlinevirtual

Implements Alien::KernelSolverT< TagT >.

Definition at line 55 of file AMGSolverT.h.

Member Data Documentation

◆ m_algebra

template<typename TagT, typename AlgebraT, typename SolverT, typename PrecondT>
AlgebraType& Alien::AMGSolverT< TagT, AlgebraT, SolverT, PrecondT >::m_algebra
private

Definition at line 81 of file AMGSolverT.h.

◆ m_matrix

template<typename TagT, typename AlgebraT, typename SolverT, typename PrecondT>
MatrixType const* Alien::AMGSolverT< TagT, AlgebraT, SolverT, PrecondT >::m_matrix = nullptr
private

Definition at line 85 of file AMGSolverT.h.

◆ m_precond

template<typename TagT, typename AlgebraT, typename SolverT, typename PrecondT>
PrecondType& Alien::AMGSolverT< TagT, AlgebraT, SolverT, PrecondT >::m_precond
private

Definition at line 83 of file AMGSolverT.h.

◆ m_solver

template<typename TagT, typename AlgebraT, typename SolverT, typename PrecondT>
SolverType& Alien::AMGSolverT< TagT, AlgebraT, SolverT, PrecondT >::m_solver
private

Definition at line 82 of file AMGSolverT.h.


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