Actual source code: factor.h
1: /*
2: Private data structure for ILU/ICC/LU/Cholesky preconditioners.
3: */
7: #include <petsc/private/pcimpl.h>
9: typedef struct {
10: Mat fact; /* factored matrix */
11: MatFactorInfo info;
12: MatOrderingType ordering; /* matrix reordering */
13: char *solvertype;
14: MatFactorType factortype;
15: PetscReal actualfill;
16: PetscBool inplace; /* flag indicating in-place factorization */
17: PetscBool reuseordering; /* reuses previous reordering computed */
18: PetscBool reusefill; /* reuse fill from previous LU */
19: } PC_Factor;
21: PETSC_INTERN PetscErrorCode PCFactorInitialize(PC,MatFactorType);
22: PETSC_INTERN PetscErrorCode PCFactorGetMatrix_Factor(PC,Mat*);
24: PETSC_INTERN PetscErrorCode PCFactorSetZeroPivot_Factor(PC,PetscReal);
25: PETSC_INTERN PetscErrorCode PCFactorGetZeroPivot_Factor(PC,PetscReal*);
26: PETSC_INTERN PetscErrorCode PCFactorSetShiftType_Factor(PC,MatFactorShiftType);
27: PETSC_INTERN PetscErrorCode PCFactorGetShiftType_Factor(PC,MatFactorShiftType*);
28: PETSC_INTERN PetscErrorCode PCFactorSetShiftAmount_Factor(PC,PetscReal);
29: PETSC_INTERN PetscErrorCode PCFactorGetShiftAmount_Factor(PC,PetscReal*);
30: PETSC_INTERN PetscErrorCode PCFactorSetDropTolerance_Factor(PC,PetscReal,PetscReal,PetscInt);
31: PETSC_INTERN PetscErrorCode PCFactorSetFill_Factor(PC,PetscReal);
32: PETSC_INTERN PetscErrorCode PCFactorSetMatOrderingType_Factor(PC,MatOrderingType);
33: PETSC_INTERN PetscErrorCode PCFactorGetLevels_Factor(PC,PetscInt*);
34: PETSC_INTERN PetscErrorCode PCFactorSetLevels_Factor(PC,PetscInt);
35: PETSC_INTERN PetscErrorCode PCFactorSetAllowDiagonalFill_Factor(PC,PetscBool);
36: PETSC_INTERN PetscErrorCode PCFactorGetAllowDiagonalFill_Factor(PC,PetscBool*);
37: PETSC_INTERN PetscErrorCode PCFactorSetPivotInBlocks_Factor(PC,PetscBool);
38: PETSC_INTERN PetscErrorCode PCFactorSetMatSolverType_Factor(PC,MatSolverType);
39: PETSC_INTERN PetscErrorCode PCFactorSetUpMatSolverType_Factor(PC);
40: PETSC_INTERN PetscErrorCode PCFactorGetMatSolverType_Factor(PC,MatSolverType*);
41: PETSC_INTERN PetscErrorCode PCFactorSetColumnPivot_Factor(PC,PetscReal);
42: PETSC_INTERN PetscErrorCode PCSetFromOptions_Factor(PetscOptionItems *PetscOptionsObject,PC);
43: PETSC_INTERN PetscErrorCode PCView_Factor(PC,PetscViewer);
44: PETSC_INTERN PetscErrorCode PCFactorSetDefaultOrdering_Factor(PC);
46: #endif