Actual source code: petscsnes.h
1: !
2: ! Include file for Fortran use of the SNES package in PETSc
3: !
4: #if !defined (__PETSCSNES_H)
7: #define SNES PetscFortranAddr
8: #define SNESType character*(80)
9: #define SNESConvergedReason integer
10: #define MatMFFD PetscFortranAddr
11: #define MatMFFDType PetscFortranAddr
12: !
13: ! SNESType
14: !
15: #define SNESLS 'ls'
16: #define SNESTR 'tr'
17: #define SNESTEST 'test'
18: !
19: ! MatSNESMF
20: !
21: #define MATMFFD_DEFAULT 'ds'
22: #define MATMFFD_WP 'wp'
24: #endif
26: #if !defined (PETSC_AVOID_DECLARATIONS)
27: !
28: ! Convergence flags
29: !
30: PetscEnum SNES_CONVERGED_FNORM_ABS
31: PetscEnum SNES_CONVERGED_FNORM_RELATIVE
32: PetscEnum SNES_CONVERGED_PNORM_RELATIVE
33: PetscEnum SNES_CONVERGED_ITS
34: PetscEnum SNES_CONVERGED_TR_DELTA
36: PetscEnum SNES_DIVERGED_FUNCTION_COUNT
37: PetscEnum SNES_DIVERGED_LINEAR_SOLVE
38: PetscEnum SNES_DIVERGED_FNORM_NAN
39: PetscEnum SNES_DIVERGED_MAX_IT
40: PetscEnum SNES_DIVERGED_LS_FAILURE
41: PetscEnum SNES_DIVERGED_LOCAL_MIN
42: PetscEnum SNES_CONVERGED_ITERATING
43:
44: parameter (SNES_CONVERGED_FNORM_ABS = 2)
45: parameter (SNES_CONVERGED_FNORM_RELATIVE = 3)
46: parameter (SNES_CONVERGED_PNORM_RELATIVE = 4)
47: parameter (SNES_CONVERGED_ITS = 5)
48: parameter (SNES_CONVERGED_TR_DELTA = 7)
50: parameter (SNES_DIVERGED_FUNCTION_COUNT = -2)
51: parameter (SNES_DIVERGED_LINEAR_SOLVE = -3)
52: parameter (SNES_DIVERGED_FNORM_NAN = -4)
53: parameter (SNES_DIVERGED_MAX_IT = -5)
54: parameter (SNES_DIVERGED_LS_FAILURE = -6)
55: parameter (SNES_DIVERGED_LOCAL_MIN = -8)
56: parameter (SNES_CONVERGED_ITERATING = 0)
57:
58: !
59: ! Some PETSc fortran functions that the user might pass as arguments
60: !
61: external SNESDEFAULTCOMPUTEJACOBIAN
62: external SNESDEFAULTCOMPUTEJACOBIANCOLOR
63: external SNESMONITORDEFAULT
64: external SNESMONITORLG
65: external SNESMONITORSOLUTION
66: external SNESMONITORSOLUTIONUPDATE
68: !PETSC_DEC_ATTRIBUTES(SNESDEFAULTCOMPUTEJACOBIAN,'_SNESDEFAULTCOMPUTEJACOBIAN')
69: !PETSC_DEC_ATTRIBUTES(SNESDEFAULTCOMPUTEJACOBIANCOLOR,'_SNESDEFAULTCOMPUTEJACOBIANCOLOR')
70: !PETSC_DEC_ATTRIBUTES(SNESMONITORDEFAULT,'_SNESMONITORDEFAULT')
71: !PETSC_DEC_ATTRIBUTES(SNESMONITORLG,'_SNESMONITORLG')
72: !PETSC_DEC_ATTRIBUTES(SNESMONITORSOLUTION,'_SNESMONITORSOLUTION')
73: !PETSC_DEC_ATTRIBUTES(SNESMONITORSOLUTIONUPDATE,'_SNESMONITORSOLUTIONUPDATE')
75: external SNESDEFAULTCONVERGED
76: external SNESSKIPCONVERGED
77: external SNESCONVERGED_LS
78: external SNESCONVERGED_TR
80: !PETSC_DEC_ATTRIBUTES(SNESDEFAULTCONVERGED,'_SNESDEFAULTCONVERGED')
81: !PETSC_DEC_ATTRIBUTES(SNESSKIPCONVERGED,'_SNESSKIPCONVERGED')
82: !PETSC_DEC_ATTRIBUTES(SNESCONVERGED_LS,'_SNESCONVERGED_LS')
83: !PETSC_DEC_ATTRIBUTES(SNESCONVERGED_TR,'_SNESCONVERGED_TR')
85: external SNESLINESEARCHCUBIC
86: external SNESLINESEARCHQUADRATIC
87: external SNESLINESEARCHNO
88: external SNESLINESEARCHNONORMS
90: !PETSC_DEC_ATTRIBUTES(SNESLINESEARCHCUBIC,'_SNESLINESEARCHCUBIC')
91: !PETSC_DEC_ATTRIBUTES(SNESLINESEARCHQUADRATIC,'_SNESLINESEARCHQUADRATIC')
92: !PETSC_DEC_ATTRIBUTES(SNESLINESEARCHNO,'_SNESLINESEARCHNO')
93: !PETSC_DEC_ATTRIBUTES(SNESLINESEARCHNONORMS,'_SNESLINESEARCHNONORMS')
95: external SNESDAFORMFUNCTION
96: external SNESDACOMPUTEJACOBIANWITHADIFOR
97: external SNESDACOMPUTEJACOBIAN
99: !PETSC_DEC_ATTRIBUTES(SNESDAFORMFUNCTION,'_SNESDAFORMFUNCTION')
100: !PETSC_DEC_ATTRIBUTES(SNESDACOMPUTEJACOBIANWITHADIFOR,'_SNESDACOMPUTEJACOBIANWITHADIFOR')
101: !PETSC_DEC_ATTRIBUTES(SNESDACOMPUTEJACOBIAN,'_SNESDACOMPUTEJACOBIAN')
102: !
103: ! End of Fortran include file for the SNES package in PETSc
105: #endif