Actual source code: factor.h

  1: /*
  2:    Private data structure for ILU/ICC/LU/Cholesky preconditioners.
  3: */
  4: #ifndef __FACTOR_H

  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(PC, PetscOptionItems *PetscOptionsObject);
 43: PETSC_INTERN PetscErrorCode PCView_Factor(PC, PetscViewer);
 44: PETSC_INTERN PetscErrorCode PCFactorSetDefaultOrdering_Factor(PC);
 45: PETSC_INTERN PetscErrorCode PCFactorClearComposedFunctions(PC);

 47: #endif