Actual source code: petscksp.h
1: !
2: ! Used by petsckspdefmod.F90 to create Fortran module file
3: !
4: #include "petsc/finclude/petscksp.h"
6: type, extends(tPetscObject) :: tKSP
7: end type tKSP
8: KSP, parameter :: PETSC_NULL_KSP = tKSP(0)
9: #if defined(_WIN32) && defined(PETSC_USE_SHARED_LIBRARIES)
10: !DEC$ ATTRIBUTES DLLEXPORT::PETSC_NULL_KSP
11: #endif
13: type, extends(tPetscObject) :: tKSPGuess
14: end type tKSPGuess
15: KSPGuess, parameter :: PETSC_NULL_KSP_GUESS = tKSPGuess(0)
16: #if defined(_WIN32) && defined(PETSC_USE_SHARED_LIBRARIES)
17: !DEC$ ATTRIBUTES DLLEXPORT::PETSC_NULL_KSP_GUESS
18: #endif
20: PetscEnum, parameter :: KSP_CG_SYMMETRIC=0
21: PetscEnum, parameter :: KSP_CG_HERMITIAN=1
23: PetscEnum, parameter :: MAT_SCHUR_COMPLEMENT_AINV_DIAG=0
24: PetscEnum, parameter :: MAT_SCHUR_COMPLEMENT_AINV_LUMP=1
25: PetscEnum, parameter :: MAT_SCHUR_COMPLEMENT_AINV_BLOCK_DIAG=2
26: PetscEnum, parameter :: MAT_SCHUR_COMPLEMENT_AINV_FULL=3
28: PetscEnum, parameter :: KSP_FCD_TRUNC_TYPE_STANDARD=0
29: PetscEnum, parameter :: KSP_FCD_TRUNC_TYPE_NOTAY=1
31: PetscEnum, parameter :: KSP_CONVERGED_RTOL = 2
32: PetscEnum, parameter :: KSP_CONVERGED_ATOL = 3
33: PetscEnum, parameter :: KSP_CONVERGED_ITS = 4
34: PetscEnum, parameter :: KSP_CONVERGED_NEG_CURVE = 5
35: PetscEnum, parameter :: KSP_CONVERGED_STEP_LENGTH = 6
36: PetscEnum, parameter :: KSP_CONVERGED_HAPPY_BREAKDOWN = 7
38: PetscEnum, parameter :: KSP_DIVERGED_NULL = -2
39: PetscEnum, parameter :: KSP_DIVERGED_ITS = -3
40: PetscEnum, parameter :: KSP_DIVERGED_DTOL = -4
41: PetscEnum, parameter :: KSP_DIVERGED_BREAKDOWN = -5
42: PetscEnum, parameter :: KSP_DIVERGED_BREAKDOWN_BICG = -6
43: PetscEnum, parameter :: KSP_DIVERGED_NONSYMMETRIC = -7
44: PetscEnum, parameter :: KSP_DIVERGED_INDEFINITE_PC = -8
45: PetscEnum, parameter :: KSP_DIVERGED_NANORINF = -9
46: PetscEnum, parameter :: KSP_DIVERGED_INDEFINITE_MAT = -10
47: PetscEnum, parameter :: KSP_DIVERGED_PC_FAILED = -11
49: PetscEnum, parameter :: KSP_CONVERGED_ITERATING = 0
51: !
52: ! MatLMVMSymBrdnScaleType
53: !
54: PetscEnum, parameter :: MAT_LMVM_SYMBRDN_SCALE_NONE = 0
55: PetscEnum, parameter :: MAT_LMVM_SYMBRDN_SCALE_SCALAR = 1
56: PetscEnum, parameter :: MAT_LMVM_SYMBRDN_SCALE_DIAGONAL = 2
57: PetscEnum, parameter :: MAT_LMVM_SYMBRDN_SCALE_USER = 3
59: !
60: ! Possible arguments to KSPSetNormType()
61: !
62: PetscEnum, parameter :: KSP_NORM_DEFAULT=0
63: PetscEnum, parameter :: KSP_NORM_NONE=0
64: PetscEnum, parameter :: KSP_NORM_PRECONDITIONED=1
65: PetscEnum, parameter :: KSP_NORM_UNPRECONDITIONED=2
66: PetscEnum, parameter :: KSP_NORM_NATURAL=3
67: !
68: ! Possible arguments to KSPMonitorSet()
69: !
70: external KSPCONVERGEDDEFAULT
71: external KSPMONITORRESIDUAL
72: external KSPMONITORTRUERESIDUAL
73: external KSPMONITORSOLUTION
74: external KSPMONITORSINGULARVALUE
75: external KSPGMRESMONITORKRYLOV
76: external KSPGMRESCLASSICALGRAMSCHMIDTORTHOGONALIZATION
77: external KSPGMRESMODIFIEDGRAMSCHMIDTORTHOGONALIZATION
78: !
79: ! Possible arguments to KSPGMRESSetRefinementType()
80: !
81: PetscEnum, parameter :: KSP_GMRES_CGS_REFINE_NEVER = 0
82: PetscEnum, parameter :: KSP_GMRES_CGS_REFINE_IFNEEDED = 1
83: PetscEnum, parameter :: KSP_GMRES_CGS_REFINE_ALWAYS = 2