Actual source code: petscsnes.h
1: !
2: ! Used by petscsnesmod.F90 to create Fortran module file
3: !
4: #include "petsc/finclude/petscsnes.h"
6: type, extends(tPetscObject) :: tSNES
7: end type tSNES
8: SNES, parameter :: PETSC_NULL_SNES = tSNES(0)
9: #if defined(_WIN32) && defined(PETSC_USE_SHARED_LIBRARIES)
10: !DEC$ ATTRIBUTES DLLEXPORT::PETSC_NULL_SNES
11: #endif
13: type, extends(tPetscObject) :: tPetscConvEst
14: end type tPetscConvEst
15: PetscConvEst, parameter :: PETSC_NULL_CONVEST = tPetscConvEst(0)
16: #if defined(_WIN32) && defined(PETSC_USE_SHARED_LIBRARIES)
17: !DEC$ ATTRIBUTES DLLEXPORT::PETSC_NULL_CONVEST
18: #endif
19: !
20: ! Convergence flags
21: !
22: PetscEnum, parameter :: SNES_CONVERGED_FNORM_ABS = 2
23: PetscEnum, parameter :: SNES_CONVERGED_FNORM_RELATIVE = 3
24: PetscEnum, parameter :: SNES_CONVERGED_SNORM_RELATIVE = 4
25: PetscEnum, parameter :: SNES_CONVERGED_ITS = 5
27: PetscEnum, parameter :: SNES_DIVERGED_FUNCTION_DOMAIN = -1
28: PetscEnum, parameter :: SNES_DIVERGED_FUNCTION_COUNT = -2
29: PetscEnum, parameter :: SNES_DIVERGED_LINEAR_SOLVE = -3
30: PetscEnum, parameter :: SNES_DIVERGED_FNORM_NAN = -4
31: PetscEnum, parameter :: SNES_DIVERGED_MAX_IT = -5
32: PetscEnum, parameter :: SNES_DIVERGED_LINE_SEARCH = -6
33: PetscEnum, parameter :: SNES_DIVERGED_INNER = -7
34: PetscEnum, parameter :: SNES_DIVERGED_LOCAL_MIN = -8
35: PetscEnum, parameter :: SNES_DIVERGED_DTOL = -9
36: PetscEnum, parameter :: SNES_DIVERGED_JACOBIAN_DOMAIN = -10
37: PetscEnum, parameter :: SNES_DIVERGED_TR_DELTA = -11
38: PetscEnum, parameter :: SNES_CONVERGED_ITERATING = 0
39: !
40: ! SNESNormSchedule
41: !
42: PetscEnum, parameter :: SNES_NORM_DEFAULT = -1
43: PetscEnum, parameter :: SNES_NORM_NONE = 0
44: PetscEnum, parameter :: SNES_NORM_ALWAYS = 1
45: PetscEnum, parameter :: SNES_NORM_INITIAL_ONLY = 2
46: PetscEnum, parameter :: SNES_NORM_FINAL_ONLY = 3
47: PetscEnum, parameter :: SNES_NORM_INITIAL_FINAL_ONLY = 4
48: !
49: ! SNESFunctionType
50: !
51: PetscEnum, parameter :: SNES_FUNCTION_DEFAULT = -1
52: PetscEnum, parameter :: SNES_FUNCTION_UNPRECONDITIONED = 0
53: PetscEnum, parameter :: SNES_FUNCTION_PRECONDITIONED = 1
54: !
55: ! Some PETSc Fortran functions that the user might pass as arguments
56: !
57: external SNESCOMPUTEJACOBIANDEFAULT
58: external MATMFFDCOMPUTEJACOBIAN
59: external SNESCOMPUTEJACOBIANDEFAULTCOLOR
60: external SNESMONITORDEFAULT
61: external SNESMONITORSOLUTION
62: external SNESMONITORSOLUTIONUPDATE
64: external SNESCONVERGEDDEFAULT
65: external SNESCONVERGEDSKIP
67: !
68: ! SNESNGMRESRestartType
69: !
70: PetscEnum, parameter :: SNES_NGMRES_RESTART_NONE = 0
71: PetscEnum, parameter :: SNES_NGMRES_RESTART_PERIODIC = 1
72: PetscEnum, parameter :: SNES_NGMRES_RESTART_DIFFERENCE = 2
73: !
74: ! SNESNGMRESSelectionType
75: !
76: PetscEnum, parameter :: SNES_NGMRES_SELECT_NONE = 0
77: PetscEnum, parameter :: SNES_NGMRES_SELECT_DIFFERENCE = 1
78: PetscEnum, parameter :: SNES_NGMRES_SELECT_LINESEARCH = 2
79: !
80: ! SNESQNType
81: !
82: PetscEnum, parameter :: SNES_QN_LBFGS = 0
83: PetscEnum, parameter :: SNES_QN_BROYDEN = 1
84: PetscEnum, parameter :: SNES_QN_BADBROYDEN = 2
85: !
86: ! SNESQNScaleType
87: !
88: PetscEnum, parameter :: SNES_QN_SCALE_DEFAULT = 0
89: PetscEnum, parameter :: SNES_QN_SCALE_NONE = 1
90: PetscEnum, parameter :: SNES_QN_SCALE_SHANNO = 2
91: PetscEnum, parameter :: SNES_QN_SCALE_LINESEARCH = 3
92: PetscEnum, parameter :: SNES_QN_SCALE_JACOBIAN = 4
93: !
94: ! SNESQNRestartType
95: !
96: PetscEnum, parameter :: SNES_QN_RESTART_DEFAULT = 0
97: PetscEnum, parameter :: SNES_QN_RESTART_NONE = 1
98: PetscEnum, parameter :: SNES_QN_RESTART_POWELL = 2
99: PetscEnum, parameter :: SNES_QN_RESTART_PERIODIC = 3
100: !
101: ! SNESNCGType
102: !
103: PetscEnum, parameter :: SNES_NCG_FR = 0
104: PetscEnum, parameter :: SNES_NCG_PRP = 1
105: PetscEnum, parameter :: SNES_NCG_HS = 2
106: PetscEnum, parameter :: SNES_NCG_DY = 3
107: PetscEnum, parameter :: SNES_NCG_CD = 4
108: !
109: ! SNESNewtonALCorrectionType
110: !
111: PetscEnum, parameter :: SNES_NEWTONAL_CORRECTION_EXACT = 0
112: PetscEnum, parameter :: SNES_NEWTONAL_CORRECTION_NORMAL = 1