Alien  1.3.0
User documentation
Loading...
Searching...
No Matches
Alien::FLUFactorisationAlgo< MatrixT, VectorT > Class Template Reference

Public Types

typedef LUFactorisationAlgo< MatrixT, VectorT > BaseType
typedef MatrixT MatrixType
typedef VectorT VectorType
typedef MatrixType::ProfileType ProfileType
typedef MatrixType::ValueType ValueType
typedef MatrixType::TagType TagType
Public Types inherited from Alien::LUFactorisationAlgo< MatrixT, VectorT >
typedef MatrixT MatrixType
typedef VectorT VectorType
typedef MatrixType::ProfileType ProfileType
typedef MatrixType::ValueType ValueType
typedef MatrixType::TagType TagType

Public Member Functions

void setParameter (std::string param, int value)
void setParameter (std::string param, double value)
template<typename AlgebraT>
void init (AlgebraT &algebra, MatrixT const &matrix)
void factorizeIter (std::size_t nrows, int const *kcol, int const *dcol, int const *cols, ValueType *values, ValueType *values0)
void factorizeMultiIter (MatrixT const &matrix)
template<typename AlgebraT>
void solveL (AlgebraT &algebra, VectorType const &y, VectorType &x, VectorType &xk) const
template<typename AlgebraT>
void blockSolveL (AlgebraT &algebra, VectorType const &y, VectorType &x, VectorType &xk) const
template<typename AlgebraT>
void solveU (AlgebraT &algebra, VectorType const &y, VectorType &x, VectorType &xk) const
template<typename AlgebraT>
void blockSolveU (AlgebraT &algebra, VectorType const &y, VectorType &x, VectorType &xk) const
template<typename AlgebraT>
void solve (AlgebraT &algebra, VectorType const &x, VectorType &y) const
Public Member Functions inherited from Alien::LUFactorisationAlgo< MatrixT, VectorT >
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

Public Attributes

int m_nb_factorization_iter = 0
 PARAMETERS.
int m_nb_solver_iter = 0
ValueType m_tol = 0

Additional Inherited Members

Protected Attributes inherited from Alien::LUFactorisationAlgo< MatrixT, VectorT >
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::FLUFactorisationAlgo< MatrixT, VectorT >

Definition at line 13 of file FILU0Preconditioner.h.

Member Typedef Documentation

◆ BaseType

template<typename MatrixT, typename VectorT>
typedef LUFactorisationAlgo<MatrixT,VectorT> Alien::FLUFactorisationAlgo< MatrixT, VectorT >::BaseType

Definition at line 18 of file FILU0Preconditioner.h.

◆ MatrixType

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

Definition at line 19 of file FILU0Preconditioner.h.

◆ ProfileType

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

Definition at line 21 of file FILU0Preconditioner.h.

◆ TagType

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

Definition at line 23 of file FILU0Preconditioner.h.

◆ ValueType

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

Definition at line 22 of file FILU0Preconditioner.h.

◆ VectorType

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

Definition at line 20 of file FILU0Preconditioner.h.

Constructor & Destructor Documentation

◆ FLUFactorisationAlgo()

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

Definition at line 26 of file FILU0Preconditioner.h.

◆ ~FLUFactorisationAlgo()

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

Definition at line 29 of file FILU0Preconditioner.h.

Member Function Documentation

◆ blockSolveL()

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

Definition at line 229 of file FILU0Preconditioner.h.

◆ blockSolveU()

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

Definition at line 417 of file FILU0Preconditioner.h.

◆ factorizeIter()

template<typename MatrixT, typename VectorT>
void Alien::FLUFactorisationAlgo< MatrixT, VectorT >::factorizeIter ( std::size_t nrows,
int const * kcol,
int const * dcol,
int const * cols,
ValueType * values,
ValueType * values0 )
inline

Definition at line 92 of file FILU0Preconditioner.h.

◆ factorizeMultiIter()

template<typename MatrixT, typename VectorT>
void Alien::FLUFactorisationAlgo< MatrixT, VectorT >::factorizeMultiIter ( MatrixT const & matrix)
inline

Definition at line 118 of file FILU0Preconditioner.h.

◆ init()

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

Definition at line 47 of file FILU0Preconditioner.h.

◆ setParameter() [1/2]

template<typename MatrixT, typename VectorT>
void Alien::FLUFactorisationAlgo< MatrixT, VectorT >::setParameter ( std::string param,
double value )
inline

Definition at line 40 of file FILU0Preconditioner.h.

◆ setParameter() [2/2]

template<typename MatrixT, typename VectorT>
void Alien::FLUFactorisationAlgo< MatrixT, VectorT >::setParameter ( std::string param,
int value )
inline

Definition at line 32 of file FILU0Preconditioner.h.

◆ solve()

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

Definition at line 544 of file FILU0Preconditioner.h.

◆ solveL()

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

Definition at line 159 of file FILU0Preconditioner.h.

◆ solveU()

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

Definition at line 344 of file FILU0Preconditioner.h.

Member Data Documentation

◆ m_nb_factorization_iter

template<typename MatrixT, typename VectorT>
int Alien::FLUFactorisationAlgo< MatrixT, VectorT >::m_nb_factorization_iter = 0

PARAMETERS.

Definition at line 631 of file FILU0Preconditioner.h.

◆ m_nb_solver_iter

template<typename MatrixT, typename VectorT>
int Alien::FLUFactorisationAlgo< MatrixT, VectorT >::m_nb_solver_iter = 0

Definition at line 632 of file FILU0Preconditioner.h.

◆ m_tol

template<typename MatrixT, typename VectorT>
ValueType Alien::FLUFactorisationAlgo< MatrixT, VectorT >::m_tol = 0

Definition at line 633 of file FILU0Preconditioner.h.


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