xref: /petsc/src/ksp/pc/impls/factor/ilu/ilu.h (revision 9b54502bff450e1352e581e897e40ddb4a064c7d)
1*9b54502bSHong Zhang /*
2*9b54502bSHong Zhang    Private data structure for ILU preconditioner.
3*9b54502bSHong Zhang */
4*9b54502bSHong Zhang #if !defined(__ILU_H)
5*9b54502bSHong Zhang #define __ILU_H
6*9b54502bSHong Zhang 
7*9b54502bSHong Zhang #include "petscmat.h"
8*9b54502bSHong Zhang 
9*9b54502bSHong Zhang typedef struct {
10*9b54502bSHong Zhang   Mat               fact;             /* factored matrix */
11*9b54502bSHong Zhang   MatOrderingType   ordering;         /* matrix reordering */
12*9b54502bSHong Zhang   IS                row,col;         /* row and column permutations for reordering */
13*9b54502bSHong Zhang   void              *implctx;         /* private implementation context */
14*9b54502bSHong Zhang   PetscTruth        inplace;          /* in-place ILU factorization */
15*9b54502bSHong Zhang   PetscTruth        reuseordering;    /* reuses previous reordering computed */
16*9b54502bSHong Zhang 
17*9b54502bSHong Zhang   PetscTruth        usedt;            /* use drop tolerance form of ILU */
18*9b54502bSHong Zhang   PetscTruth        reusefill;        /* reuse fill from previous ILUDT */
19*9b54502bSHong Zhang   PetscReal         actualfill;       /* expected fill in factorization */
20*9b54502bSHong Zhang   MatFactorInfo     info;
21*9b54502bSHong Zhang   PetscTruth        nonzerosalongdiagonal;
22*9b54502bSHong Zhang   PetscReal         nonzerosalongdiagonaltol;
23*9b54502bSHong Zhang } PC_ILU;
24*9b54502bSHong Zhang 
25*9b54502bSHong Zhang #endif
26