Public Types | Public Member Functions | Protected Attributes | List of all members
Seldon::IlutPreconditioning< T, Allocator > Class Template Reference
Inheritance diagram for Seldon::IlutPreconditioning< T, Allocator >:
Seldon::Preconditioner_Base< T > Seldon::VirtualSparseDirectSolver< T >

Public Types

enum  {
  ILUT, ILU_D, ILUT_K, ILU_0,
  MILU_0, ILU_K
}
 Available types of incomplete factorization.
 

Public Member Functions

void Clear ()
 
bool UseInteger8 () const
 
void HideMessages ()
 
void ShowMessages ()
 
int GetFactorisationType () const
 
int GetFillLevel () const
 
int GetAdditionalFillNumber () const
 
int GetPrintLevel () const
 
int GetPivotBlockInteger () const
 
size_t GetMemorySize () const
 
int GetInfoFactorization () const
 
void SetFactorisationType (int)
 
void SetFillLevel (int)
 
void SetAdditionalFillNumber (int)
 
void SetPrintLevel (int)
 
void SetPivotBlockInteger (int)
 
void SetSymmetricAlgorithm ()
 
void SetUnsymmetricAlgorithm ()
 
ClassComplexType< T >::Treal GetDroppingThreshold () const
 
ClassComplexType< T >::Treal GetDiagonalCoefficient () const
 
ClassComplexType< T >::Treal GetPivotThreshold () const
 
void SetDroppingThreshold (typename ClassComplexType< T >::Treal)
 
void SetDiagonalCoefficient (typename ClassComplexType< T >::Treal)
 
void SetPivotThreshold (double)
 Sets the threshold for pivot.
 
template<class MatrixSparse >
void FactorizeSymMatrix (const IVect &perm, MatrixSparse &mat, bool keep_matrix=false)
 
template<class MatrixSparse >
void FactorizeUnsymMatrix (const IVect &perm, MatrixSparse &mat, bool keep_matrix=false)
 
template<class T0 , class Storage0 , class Allocator0 >
void FactorizeMatrix (const IVect &perm, Matrix< T0, General, Storage0, Allocator0 > &mat, bool keep_matrix=false)
 
template<class T0 , class Storage0 , class Allocator0 >
void FactorizeMatrix (const IVect &perm, Matrix< T0, Symmetric, Storage0, Allocator0 > &mat, bool keep_matrix=false)
 
template<class Matrix1 , class Vector1 >
void TransSolve (const Matrix1 &A, const Vector1 &r, Vector1 &z)
 Applies transpose of ilut preconditioning.
 
template<class Matrix1 , class Vector1 >
void Solve (const Matrix1 &A, const Vector1 &r, Vector1 &z)
 Applies ilut preconditioning.
 
template<class Vector1 >
void TransSolve (Vector1 &z)
 
template<class Vector1 >
void Solve (Vector1 &z)
 
template<class Vector1 >
void Solve (const SeldonTranspose &, Vector1 &z)
 
void Solve (const SeldonTranspose &, T *x_ptr, int nrhs)
 
template<class cplx , class Allocator >
void Solve (const SeldonTranspose &TransA, cplx *x_ptr, int nrhs)
 
virtual void RefineSolution ()
 Tells to the direct solver that refinement is required.
 
virtual void DoNotRefineSolution ()
 Tells to the direct solver that no refinement is required.
 
virtual void SetCoefficientEstimationNeededMemory (double coef)
 Method overloaded in Mumps solver.
 
virtual void SetMaximumCoefficientEstimationNeededMemory (double coef)
 Method overloaded in Mumps solver.
 
virtual void SetIncreaseCoefficientEstimationNeededMemory (double coef)
 Method overloaded in Mumps solver.
 
virtual void SelectOrdering (int)
 selects ordering to use in the interfaced solver
 
virtual void SelectParallelOrdering (int)
 selects ordering to use in parallel for the interfaced solver
 
virtual void SetPermutation (const Vector< int > &)
 gives the ordering array to the interface solver
 
virtual void SetNumberOfThreadPerNode (int n)
 Sets the number of threads per mpi process.
 

Protected Attributes

int print_level
 Verbosity level.
 
bool symmetric_algorithm
 True if symmetric matrix is constructed.
 
int type_ilu
 Type of incomplete factorization.
 
int fill_level
 Maximum number of elements on a row of L or U. For Ilu(k), fill_level = k.
 
int additional_fill
 Additional number of elements for each row. This number is only used for ILUT(k)
 
int mbloc
 Size of block where the pivot is searched.
 
ClassComplexType< T >::Treal alpha
 Diagonal compensation parameter (alpha = 0 -> ILU, alpha = 1 -> MILU).
 
ClassComplexType< T >::Treal droptol
 Threshold used for dropping small terms.
 
ClassComplexType< T >::Treal permtol
 Threshold for pivoting.
 
IVect permutation_row
 Permutation arrays.
 
IVect permutation_col
 
Matrix< T, Symmetric, ArrayRowSymSparse, Allocator > mat_sym
 Symmetric matrix.
 
Matrix< T, General, ArrayRowSparse, Allocator > mat_unsym
 Unsymmetric matrix.
 

Detailed Description

template<class T, class Allocator = typename SeldonDefaultAllocator<ArrayRowSparse, T>::allocator>
class Seldon::IlutPreconditioning< T, Allocator >

Definition at line 27 of file IlutPreconditioning.hxx.


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