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