135bd34faSBarry Smith /* 2e1222f9fSBarry Smith Private data structure for ILU/ICC/LU/Cholesky preconditioners. 335bd34faSBarry Smith */ 435bd34faSBarry Smith #if !defined(__FACTOR_H) 535bd34faSBarry Smith #define __FACTOR_H 635bd34faSBarry Smith 735bd34faSBarry Smith #include "private/pcimpl.h" /*I "petscpc.h" I*/ 835bd34faSBarry Smith 935bd34faSBarry Smith typedef struct { 1035bd34faSBarry Smith Mat fact; /* factored matrix */ 1135bd34faSBarry Smith MatFactorInfo info; 1235bd34faSBarry Smith MatOrderingType ordering; /* matrix reordering */ 1335bd34faSBarry Smith MatSolverPackage solvertype; 14879e8a4dSBarry Smith MatFactorType factortype; 1535bd34faSBarry Smith } PC_Factor; 1635bd34faSBarry Smith 1785317021SBarry Smith EXTERN_C_BEGIN 1885317021SBarry Smith extern PetscErrorCode PETSCKSP_DLLEXPORT PCFactorSetZeroPivot_Factor(PC,PetscReal); 19d90ac83dSHong Zhang extern PetscErrorCode PETSCKSP_DLLEXPORT PCFactorSetShiftType_Factor(PC,MatFactorShiftType); 20d90ac83dSHong Zhang extern PetscErrorCode PETSCKSP_DLLEXPORT PCFactorSetShiftAmount_Factor(PC,PetscReal); 21b7c853c4SBarry Smith extern PetscErrorCode PETSCKSP_DLLEXPORT PCFactorSetDropTolerance_Factor(PC,PetscReal,PetscReal,PetscInt); 2285317021SBarry Smith extern PetscErrorCode PETSCKSP_DLLEXPORT PCFactorSetFill_Factor(PC,PetscReal); 2385317021SBarry Smith extern PetscErrorCode PETSCKSP_DLLEXPORT PCFactorSetMatOrderingType_Factor(PC,const MatOrderingType); 2485317021SBarry Smith extern PetscErrorCode PETSCKSP_DLLEXPORT PCFactorSetLevels_Factor(PC,PetscInt); 2585317021SBarry Smith extern PetscErrorCode PETSCKSP_DLLEXPORT PCFactorSetAllowDiagonalFill_Factor(PC); 26*ace3abfcSBarry Smith extern PetscErrorCode PETSCKSP_DLLEXPORT PCFactorSetPivotInBlocks_Factor(PC,PetscBool ); 2785317021SBarry Smith extern PetscErrorCode PETSCKSP_DLLEXPORT PCFactorGetMatrix_Factor(PC,Mat*); 2885317021SBarry Smith extern PetscErrorCode PETSCKSP_DLLEXPORT PCFactorSetMatSolverPackage_Factor(PC,const MatSolverPackage); 297112b564SBarry Smith extern PetscErrorCode PETSCKSP_DLLEXPORT PCFactorGetMatSolverPackage_Factor(PC,const MatSolverPackage*); 308ff23777SHong Zhang extern PetscErrorCode PETSCKSP_DLLEXPORT PCFactorSetColumnPivot_Factor(PC,PetscReal); 318ff23777SHong Zhang extern PetscErrorCode PETSCKSP_DLLEXPORT PCSetFromOptions_Factor(PC); 32914a5d51SHong Zhang extern PetscErrorCode PCView_Factor(PC,PetscViewer); 3385317021SBarry Smith EXTERN_C_END 3485317021SBarry Smith 3535bd34faSBarry Smith #endif 36