Public Types | |
enum | { ILUT, ILU_D, ILUT_K, ILU_0, MILU_0, ILU_K } |
Available types of incomplete factorization. | |
Public Member Functions | |
void | Clear () |
int | GetFactorisationType () const |
int | GetFillLevel () const |
int | GetAdditionalFillNumber () const |
int | GetPrintLevel () const |
int | GetPivotBlockInteger () const |
void | SetFactorisationType (int) |
void | SetFillLevel (int) |
void | SetAdditionalFillNumber (int) |
void | SetPrintLevel (int) |
void | SetPivotBlockInteger (int) |
void | SetSymmetricAlgorithm () |
void | SetUnsymmetricAlgorithm () |
real | GetDroppingThreshold () const |
real | GetDiagonalCoefficient () const |
real | GetPivotThreshold () const |
void | SetDroppingThreshold (real) |
void | SetDiagonalCoefficient (real) |
void | SetPivotThreshold (real) |
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) |
template<class Matrix1 , class Vector1 > | |
void | Solve (const Matrix1 &A, const Vector1 &r, Vector1 &z) |
template<class Vector1 > | |
void | TransSolve (Vector1 &z) |
template<class Vector1 > | |
void | Solve (Vector1 &z) |
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. | |
real | alpha |
Diagonal compensation parameter (alpha = 0 -> ILU, alpha = 1 -> MILU). | |
real | droptol |
Threshold used for dropping small terms. | |
real | permtol |
Threshold for pivoting. | |
IVect | permutation_row |
Permutation arrays. | |
IVect | permutation_col |
Matrix< cplx, Symmetric, ArrayRowSymSparse, Allocator > | mat_sym |
Symmetric matrix. | |
Matrix< cplx, General, ArrayRowSparse, Allocator > | mat_unsym |
Unsymmetric matrix. | |
Vector< cplx, VectFull, Allocator > | xtmp |
Temporary vector. |
Definition at line 27 of file IlutPreconditioning.hxx.