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