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 MatSNESMFCtx PetscFortranAddr
11: #define MatSNESMFType PetscFortranAddr
12: !
13: ! SNESType
14: !
15: #define SNESLS 'ls'
16: #define SNESTR 'tr'
17: #define SNESTEST 'test'
18: !
19: ! MatSNESMFCtx
20: !
21: #define MATSNESMF_DEFAULT 'default'
22: #define MATSNESMF_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_TR_DELTA
35: PetscEnum SNES_DIVERGED_FUNCTION_COUNT
36: PetscEnum SNES_DIVERGED_FNORM_NAN
37: PetscEnum SNES_DIVERGED_MAX_IT
38: PetscEnum SNES_DIVERGED_LS_FAILURE
39: PetscEnum SNES_DIVERGED_LOCAL_MIN
40: PetscEnum SNES_CONVERGED_ITERATING
41:
42: parameter (SNES_CONVERGED_FNORM_ABS = 2)
43: parameter (SNES_CONVERGED_FNORM_RELATIVE = 3)
44: parameter (SNES_CONVERGED_PNORM_RELATIVE = 4)
45: parameter (SNES_CONVERGED_TR_DELTA = 7)
47: parameter (SNES_DIVERGED_FUNCTION_COUNT = -2)
48: parameter (SNES_DIVERGED_FNORM_NAN = -4)
49: parameter (SNES_DIVERGED_MAX_IT = -5)
50: parameter (SNES_DIVERGED_LS_FAILURE = -6)
51: parameter (SNES_DIVERGED_LOCAL_MIN = -8)
52: parameter (SNES_CONVERGED_ITERATING = 0)
53:
54: !
55: ! Some PETSc fortran functions that the user might pass as arguments
56: !
57: external SNESDEFAULTCOMPUTEJACOBIAN
58: external SNESDEFAULTCOMPUTEJACOBIANCOLOR
59: external SNESDEFAULTMONITOR
60: external SNESLGMONITOR
61: external SNESVECVIEWMONITOR
62: external SNESVECVIEWUPDATEMONITOR
64: !PETSC_DEC_ATTRIBUTES(SNESDEFAULTCOMPUTEJACOBIAN,'_SNESDEFAULTCOMPUTEJACOBIAN')
65: !PETSC_DEC_ATTRIBUTES(SNESDEFAULTCOMPUTEJACOBIANCOLOR,'_SNESDEFAULTCOMPUTEJACOBIANCOLOR')
66: !PETSC_DEC_ATTRIBUTES(SNESDEFAULTMONITOR,'_SNESDEFAULTMONITOR')
67: !PETSC_DEC_ATTRIBUTES(SNESLGMONITOR,'_SNESLGMONITOR')
68: !PETSC_DEC_ATTRIBUTES(SNESVECVIEWMONITOR,'_SNESVECVIEWMONITOR')
69: !PETSC_DEC_ATTRIBUTES(SNESVECVIEWUPDATEMONITOR,'_SNESVECVIEWUPDATEMONITOR')
71: external SNESCONVERGED_LS
72: external SNESCONVERGED_TR
74: !PETSC_DEC_ATTRIBUTES(SNESCONVERGED_LS,'_SNESCONVERGED_LS')
75: !PETSC_DEC_ATTRIBUTES(SNESCONVERGED_TR,'_SNESCONVERGED_TR')
77: external SNESCUBICLINESEARCH
78: external SNESQUADRATICLINESEARCH
79: external SNESNOLINESEARCH
80: external SNESNOLINESEARCHNONORMS
82: !PETSC_DEC_ATTRIBUTES(SNESCUBICLINESEARCH,'_SNESCUBICLINESEARCH')
83: !PETSC_DEC_ATTRIBUTES(SNESQUADRATICLINESEARCH,'_SNESQUADRATICLINESEARCH')
84: !PETSC_DEC_ATTRIBUTES(SNESNOLINESEARCH,'_SNESNOLINESEARCH')
85: !PETSC_DEC_ATTRIBUTES(SNESNOLINESEARCHNONORMS,'_SNESNOLINESEARCHNONORMS')
87: external SNESDAFORMFUNCTION
88: external SNESDACOMPUTEJACOBIANWITHADIFOR
89: external SNESDACOMPUTEJACOBIAN
91: !PETSC_DEC_ATTRIBUTES(SNESDAFORMFUNCTION,'_SNESDAFORMFUNCTION')
92: !PETSC_DEC_ATTRIBUTES(SNESDACOMPUTEJACOBIANWITHADIFOR,'_SNESDACOMPUTEJACOBIANWITHADIFOR')
93: !PETSC_DEC_ATTRIBUTES(SNESDACOMPUTEJACOBIAN,'_SNESDACOMPUTEJACOBIAN')
94: !
95: ! End of Fortran include file for the SNES package in PETSc
97: #endif