Actual source code: petscksp.h
petsc-3.13.6 2020-09-29
1: !
2: !
3: ! Include file for Fortran use of the KSP package in PETSc
4: !
5: #include "petsc/finclude/petscksp.h"
7: !
8: ! CG Types
9: !
10: type tKSP
11: PetscFortranAddr:: v PETSC_FORTRAN_TYPE_INITIALIZE
12: end type tKSP
14: KSP, parameter :: PETSC_NULL_KSP = tKSP(0)
16: type tKSPGuess
17: PetscFortranAddr:: v PETSC_FORTRAN_TYPE_INITIALIZE
18: end type tKSPGuess
20: KSPGuess, parameter :: PETSC_NULL_KSPGuess = tKSPGuess(0)
22: PetscEnum, parameter :: KSP_CG_SYMMETRIC=0
23: PetscEnum, parameter :: KSP_CG_HERMITIAN=1
25: PetscEnum, parameter :: KSP_FCD_TRUNC_TYPE_STANDARD=0
26: PetscEnum, parameter :: KSP_FCD_TRUNC_TYPE_NOTAY=1
28: PetscEnum, parameter :: KSP_CONVERGED_RTOL = 2
29: PetscEnum, parameter :: KSP_CONVERGED_ATOL = 3
30: PetscEnum, parameter :: KSP_CONVERGED_ITS = 4
31: PetscEnum, parameter :: KSP_CONVERGED_CG_NEG_CURVE = 5
32: PetscEnum, parameter :: KSP_CONVERGED_CG_CONSTRAINED = 6
33: PetscEnum, parameter :: KSP_CONVERGED_STEP_LENGTH = 7
34: PetscEnum, parameter :: KSP_CONVERGED_HAPPY_BREAKDOWN = 8
36: PetscEnum, parameter :: KSP_DIVERGED_NULL = -2
37: PetscEnum, parameter :: KSP_DIVERGED_ITS = -3
38: PetscEnum, parameter :: KSP_DIVERGED_DTOL = -4
39: PetscEnum, parameter :: KSP_DIVERGED_BREAKDOWN = -5
40: PetscEnum, parameter :: KSP_DIVERGED_BREAKDOWN_BICG = -6
41: PetscEnum, parameter :: KSP_DIVERGED_NONSYMMETRIC = -7
42: PetscEnum, parameter :: KSP_DIVERGED_INDEFINITE_PC = -8
43: PetscEnum, parameter :: KSP_DIVERGED_NANORINF = -9
44: PetscEnum, parameter :: KSP_DIVERGED_INDEFINITE_MAT = -10
45: PetscEnum, parameter :: KSP_DIVERGED_PC_FAILED = -11
47: PetscEnum, parameter :: KSP_CONVERGED_ITERATING = 0
49: !
50: ! MatLMVMSymBrdnScaleType
51: !
52: PetscEnum, parameter :: MAT_LMVM_SYMBRDN_SCALE_NONE = 0
53: PetscEnum, parameter :: MAT_LMVM_SYMBRDN_SCALE_SCALAR = 1
54: PetscEnum, parameter :: MAT_LMVM_SYMBRDN_SCALE_DIAGONAL = 2
55: PetscEnum, parameter :: MAT_LMVM_SYMBRDN_SCALE_USER = 3
57: !
58: ! Possible arguments to KSPSetNormType()
59: !
60: PetscEnum, parameter :: KSP_NORM_DEFAULT=0
61: PetscEnum, parameter :: KSP_NORM_NONE=0
62: PetscEnum, parameter :: KSP_NORM_PRECONDITIONED=1
63: PetscEnum, parameter :: KSP_NORM_UNPRECONDITIONED=2
64: PetscEnum, parameter :: KSP_NORM_NATURAL=3
65: !
66: ! Possible arguments to KSPMonitorSet()
67: !
68: external KSPCONVERGEDDEFAULT
69: external KSPMONITORDEFAULT
70: external KSPMONITORTRUERESIDUALNORM
71: external KSPMONITORLGRESIDUALNORM
72: external KSPMONITORLGTRUERESIDUALNORM
73: external KSPMONITORSOLUTION
74: external KSPMONITORSINGULARVALUE
75: external KSPGMRESMONITORKRYLOV
76: !
77: ! Possible arguments to KSPGMRESSetRefinementType()
78: !
79: PetscEnum, parameter :: KSP_GMRES_CGS_REFINE_NEVER = 0
80: PetscEnum, parameter :: KSP_GMRES_CGS_REFINE_IFNEEDED = 1
81: PetscEnum, parameter :: KSP_GMRES_CGS_REFINE_ALWAYS = 2
82: !
83: ! End of Fortran include file for the KSP package in PETSc
84: !