| -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_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
|
Notes: Only implemented for some matrix formats. (for parallel see PCHYPRE for hypre's ILU)
For BAIJ matrices this implements a point block ILU
The "symmetric" application of this preconditioner is not actually symmetric since L is not transpose(U)
even when the matrix is not symmetric since the U stores the diagonals of the factorization.
If you are using MATSEQAIJCUSP matrices (or MATMPIAIJCUSP matrices with block Jacobi) you must have ./configured
PETSc with also --download-txpetscgpu to have the triangular solves performed on the GPU (factorization is never
done on the GPU).
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(), PCFactorSetShiftSetType(), PCFactorSetAmount(),
PCFactorSetDropTolerance(),PCFactorSetFill(), PCFactorSetMatOrderingType(), PCFactorSetReuseOrdering(),
PCFactorSetLevels(), PCFactorSetUseInPlace(), PCFactorSetAllowDiagonalFill(), PCFactorSetPivotInBlocks()
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
src/ksp/ksp/examples/tutorials/ex8g.c.html
src/ksp/ksp/examples/tutorials/ex52.c.html