Alien  1.3.0
Developer documentation
Loading...
Searching...
No Matches
Alien::LUFactorisationAlgo< MatrixT, VectorT > Class Template Reference
Inheritance diagram for Alien::LUFactorisationAlgo< MatrixT, VectorT >:
Collaboration diagram for Alien::LUFactorisationAlgo< MatrixT, VectorT >:

Public Types

typedef MatrixT MatrixType
typedef VectorT VectorType
typedef MatrixType::ProfileType ProfileType
typedef MatrixType::ValueType ValueType
typedef MatrixType::TagType TagType

Public Member Functions

template<typename AlgebraT>
void baseInit (AlgebraT &algebra, MatrixT const &matrix)
template<typename AlgebraT>
void init (AlgebraT &algebra, MatrixT const &matrix)
void factorize (MatrixT &matrix, bool bjacobi=true)
void solveL (ValueType const *y, ValueType *x) const
void solveU (ValueType const *y, ValueType *x) const
void blockFactorize (MatrixT &matrix, bool bjacobi=true)
void blockSolveL (ValueType const *y, ValueType *x) const
void blockSolveU (ValueType const *y, ValueType *x) const
template<typename AlgebraT>
void solve (AlgebraT &algebra, VectorType const &y, VectorType &x) const
const MatrixType & getLUMatrix () const

Protected Attributes

std::unique_ptr< MatrixType > m_lu_matrix
int m_block_size = 1
ProfileType const * m_profile = nullptr
VectorType m_x
MatrixDistribution m_distribution
std::vector< int > m_work
std::size_t m_alloc_size = 0
bool m_is_parallel = false
bool m_bjacobi = false
std::vector< int > m_send_lu_ibuffer
std::vector< std::vector< ValueType > > m_send_lu_buffer

Detailed Description

template<typename MatrixT, typename VectorT>
class Alien::LUFactorisationAlgo< MatrixT, VectorT >

Definition at line 214 of file ILU0Preconditioner.h.

Member Typedef Documentation

◆ MatrixType

template<typename MatrixT, typename VectorT>
typedef MatrixT Alien::LUFactorisationAlgo< MatrixT, VectorT >::MatrixType

Definition at line 218 of file ILU0Preconditioner.h.

◆ ProfileType

template<typename MatrixT, typename VectorT>
typedef MatrixType::ProfileType Alien::LUFactorisationAlgo< MatrixT, VectorT >::ProfileType

Definition at line 220 of file ILU0Preconditioner.h.

◆ TagType

template<typename MatrixT, typename VectorT>
typedef MatrixType::TagType Alien::LUFactorisationAlgo< MatrixT, VectorT >::TagType

Definition at line 222 of file ILU0Preconditioner.h.

◆ ValueType

template<typename MatrixT, typename VectorT>
typedef MatrixType::ValueType Alien::LUFactorisationAlgo< MatrixT, VectorT >::ValueType

Definition at line 221 of file ILU0Preconditioner.h.

◆ VectorType

template<typename MatrixT, typename VectorT>
typedef VectorT Alien::LUFactorisationAlgo< MatrixT, VectorT >::VectorType

Definition at line 219 of file ILU0Preconditioner.h.

Constructor & Destructor Documentation

◆ LUFactorisationAlgo()

template<typename MatrixT, typename VectorT>
Alien::LUFactorisationAlgo< MatrixT, VectorT >::LUFactorisationAlgo ( )
inline

Definition at line 225 of file ILU0Preconditioner.h.

◆ ~LUFactorisationAlgo()

template<typename MatrixT, typename VectorT>
virtual Alien::LUFactorisationAlgo< MatrixT, VectorT >::~LUFactorisationAlgo ( )
inlinevirtual

Definition at line 228 of file ILU0Preconditioner.h.

Member Function Documentation

◆ baseInit()

template<typename MatrixT, typename VectorT>
template<typename AlgebraT>
void Alien::LUFactorisationAlgo< MatrixT, VectorT >::baseInit ( AlgebraT & algebra,
MatrixT const & matrix )
inline

Definition at line 232 of file ILU0Preconditioner.h.

◆ blockFactorize()

template<typename MatrixT, typename VectorT>
void Alien::LUFactorisationAlgo< MatrixT, VectorT >::blockFactorize ( MatrixT & matrix,
bool bjacobi = true )
inline

Definition at line 430 of file ILU0Preconditioner.h.

◆ blockSolveL()

template<typename MatrixT, typename VectorT>
void Alien::LUFactorisationAlgo< MatrixT, VectorT >::blockSolveL ( ValueType const * y,
ValueType * x ) const
inline

Definition at line 728 of file ILU0Preconditioner.h.

◆ blockSolveU()

template<typename MatrixT, typename VectorT>
void Alien::LUFactorisationAlgo< MatrixT, VectorT >::blockSolveU ( ValueType const * y,
ValueType * x ) const
inline

Definition at line 769 of file ILU0Preconditioner.h.

◆ factorize()

template<typename MatrixT, typename VectorT>
void Alien::LUFactorisationAlgo< MatrixT, VectorT >::factorize ( MatrixT & matrix,
bool bjacobi = true )
inline

Definition at line 260 of file ILU0Preconditioner.h.

◆ getLUMatrix()

template<typename MatrixT, typename VectorT>
const MatrixType & Alien::LUFactorisationAlgo< MatrixT, VectorT >::getLUMatrix ( ) const
inline

Definition at line 858 of file ILU0Preconditioner.h.

◆ init()

template<typename MatrixT, typename VectorT>
template<typename AlgebraT>
void Alien::LUFactorisationAlgo< MatrixT, VectorT >::init ( AlgebraT & algebra,
MatrixT const & matrix )
inline

Definition at line 249 of file ILU0Preconditioner.h.

◆ solve()

template<typename MatrixT, typename VectorT>
template<typename AlgebraT>
void Alien::LUFactorisationAlgo< MatrixT, VectorT >::solve ( AlgebraT & algebra,
VectorType const & y,
VectorType & x ) const
inline

Definition at line 826 of file ILU0Preconditioner.h.

◆ solveL()

template<typename MatrixT, typename VectorT>
void Alien::LUFactorisationAlgo< MatrixT, VectorT >::solveL ( ValueType const * y,
ValueType * x ) const
inline

Definition at line 370 of file ILU0Preconditioner.h.

◆ solveU()

template<typename MatrixT, typename VectorT>
void Alien::LUFactorisationAlgo< MatrixT, VectorT >::solveU ( ValueType const * y,
ValueType * x ) const
inline

Definition at line 389 of file ILU0Preconditioner.h.

Member Data Documentation

◆ m_alloc_size

template<typename MatrixT, typename VectorT>
std::size_t Alien::LUFactorisationAlgo< MatrixT, VectorT >::m_alloc_size = 0
protected

Definition at line 872 of file ILU0Preconditioner.h.

◆ m_bjacobi

template<typename MatrixT, typename VectorT>
bool Alien::LUFactorisationAlgo< MatrixT, VectorT >::m_bjacobi = false
protected

Definition at line 874 of file ILU0Preconditioner.h.

◆ m_block_size

template<typename MatrixT, typename VectorT>
int Alien::LUFactorisationAlgo< MatrixT, VectorT >::m_block_size = 1
protected

Definition at line 866 of file ILU0Preconditioner.h.

◆ m_distribution

template<typename MatrixT, typename VectorT>
MatrixDistribution Alien::LUFactorisationAlgo< MatrixT, VectorT >::m_distribution
protected

Definition at line 870 of file ILU0Preconditioner.h.

◆ m_is_parallel

template<typename MatrixT, typename VectorT>
bool Alien::LUFactorisationAlgo< MatrixT, VectorT >::m_is_parallel = false
protected

Definition at line 873 of file ILU0Preconditioner.h.

◆ m_lu_matrix

template<typename MatrixT, typename VectorT>
std::unique_ptr<MatrixType> Alien::LUFactorisationAlgo< MatrixT, VectorT >::m_lu_matrix
protected

Definition at line 865 of file ILU0Preconditioner.h.

◆ m_profile

template<typename MatrixT, typename VectorT>
ProfileType const* Alien::LUFactorisationAlgo< MatrixT, VectorT >::m_profile = nullptr
protected

Definition at line 867 of file ILU0Preconditioner.h.

◆ m_send_lu_buffer

template<typename MatrixT, typename VectorT>
std::vector<std::vector<ValueType> > Alien::LUFactorisationAlgo< MatrixT, VectorT >::m_send_lu_buffer
protected

Definition at line 877 of file ILU0Preconditioner.h.

◆ m_send_lu_ibuffer

template<typename MatrixT, typename VectorT>
std::vector<int> Alien::LUFactorisationAlgo< MatrixT, VectorT >::m_send_lu_ibuffer
protected

Definition at line 876 of file ILU0Preconditioner.h.

◆ m_work

template<typename MatrixT, typename VectorT>
std::vector<int> Alien::LUFactorisationAlgo< MatrixT, VectorT >::m_work
protected

Definition at line 871 of file ILU0Preconditioner.h.

◆ m_x

template<typename MatrixT, typename VectorT>
VectorType Alien::LUFactorisationAlgo< MatrixT, VectorT >::m_x
mutableprotected

Definition at line 868 of file ILU0Preconditioner.h.


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