typedef struct { PetscReal shiftnz; /* scaling of identity added to matrix to prevent zero pivots */ PetscReal shiftpd; /* if true, shift until positive pivots */ PetscReal diagonal_fill; /* force diagonal to fill in if initially not filled */ PetscReal usedt; PetscReal dt; /* drop tolerance */ PetscReal dtcol; /* tolerance for pivoting */ PetscReal dtcount; /* maximum nonzeros to be allowed per row */ PetscReal fill; /* expected fill, nonzeros in factored matrix/nonzeros in original matrix */ PetscReal levels; /* ICC/ILU(levels) */ PetscReal pivotinblocks; /* for BAIJ and SBAIJ matrices pivot in factorization on blocks, default 1.0 factorization may be faster if do not pivot */ PetscReal shiftinblocks; /* if block in block factorization has zero pivot then shift diagonal until non-singular */ PetscReal zeropivot; /* pivot is called zero if less than this */ } MatFactorInfo;In Fortran these are simply double precision arrays of size MAT_FACTORINFO_SIZE, that is use
MatFactorInfo info(MAT_FACTORINFO_SIZE)
Notes: These are not usually directly used by users, instead use PC type of LU, ILU, CHOLESKY or ICC.
You can use MatFactorInfoInitialize() to set default values.
Level:developer
Location:src/mat/../../include/petscmat.h
Index of all Mat routines
Table of Contents for all manual pages
Index of all manual pages