PCILU

Incomplete factorization preconditioners.

Options Database Keys

-pc_factor_levels <k> - number of levels of fill for ILU(k)
-pc_factor_in_place - only for ILU(0) with natural ordering, reuses the space of the matrix for its factorization (overwrites original matrix)
-pc_factor_diagonal_fill - fill in a zero diagonal even if levels of fill indicate it wouldn't be fill
-pc_factor_reuse_ordering - reuse ordering of factorized matrix from previous factorization
-pc_factor_use_drop_tolerance <dt,dtcol,maxrowcount> - use Saad's drop tolerance ILUdt
-pc_factor_fill <nfill> - expected amount of fill in factored matrix compared to original matrix, nfill > 1
-pc_factor_nonzeros_along_diagonal - reorder the matrix before factorization to remove zeros from the diagonal, this decreases the chance of getting a zero pivot
-pc_factor_mat_ordering_type <natural,nd,1wd,rcm,qmd> - set the row/column ordering of the factored matrix
-pc_factor_pivot_in_blocks - for block ILU(k) factorization, i.e. with BAIJ matrices with block size larger than 1 the diagonal blocks are factored with partial pivoting (this increases the stability of the ILU factorization
-pc_factor_shift_in_blocks - adds a small diagonal to any block if it is singular during ILU factorization
-pc_factor_shift_nonzero <shift> - Sets shift amount or PETSC_DECIDE for the default
-pc_factor_shift_positive_definite true or false - Activate/Deactivate PCFactorSetShiftPd(); the value is optional with true being the default

Notes: Only implemented for some matrix formats. (for parallel use you must use MATMPIROWBS, see MatCreateMPIRowbs(), this supports only ILU(0) and this is not recommended unless you really want a parallel ILU).

For BAIJ matrices this implements a point block ILU

References

T. Dupont, R. Kendall, and H. Rachford. An approximate factorization procedure for solving self-adjoint elliptic difference equations. SIAM J. Numer. Anal., 5:559--573, 1968.

T.A. Oliphant. An implicit numerical method for solving two-dimensional time-dependent dif- fusion problems. Quart. Appl. Math., 19:221--229, 1961.

Review article: APPROXIMATE AND INCOMPLETE FACTORIZATIONS, TONY F. CHAN AND HENK A. VAN DER VORST http://igitur-archive.library.uu.nl/math/2001-0621-115821/proc.pdf chapter in Parallel Numerical Algorithms, edited by D. Keyes, A. Semah, V. Venkatakrishnan, ICASE/LaRC Interdisciplinary Series in Science and Engineering, Kluwer, pp. 167--202.

See Also

PCCreate(), PCSetType(), PCType (for list of available types), PC, PCSOR, MatOrderingType,
PCFactorSetZeroPivot(), PCFactorSetShiftNonzero(), PCFactorSetShiftPd(), PCFactorSetUseDropTolerance(), PCFactorSetFill(), PCFactorSetMatOrderingType(), PCFactorSetReuseOrdering(), PCFactorSetLevels(), PCFactorSetUseInPlace(), PCFactorSetAllowDiagonalFill(), PCFactorSetPivotInBlocks(), PCFactorSetShiftNonzero(),PCFactorSetShiftPd()

Level:beginner
Location:
src/ksp/pc/impls/factor/ilu/ilu.c
Index of all PC routines
Table of Contents for all manual pages
Index of all manual pages

Examples

src/ksp/pc/examples/tutorials/ex1.c.html
src/ksp/ksp/examples/tutorials/ex7.c.html
src/ksp/ksp/examples/tutorials/ex8.c.html