Actual source code: petscsnes.h
1: !
2: ! $Id: petscsnes.h,v 1.32 2001/06/21 21:20:08 bsmith Exp $;
3: !
4: ! Include file for Fortran use of the SNES package in PETSc
5: !
6: #if !defined (__PETSCSNES_H)
9: #define SNES PetscFortranAddr
10: #define SNESType character*(80)
11: #define SNESConvergedReason integer
12: #define MatSNESMFCtx PetscFortranAddr
13: #define MatSNESMFType PetscFortranAddr
14: !
15: ! SNESType
16: !
17: #define SNESLS 'ls'
18: #define SNESTR 'tr'
19: #define SNESTEST 'test'
20: !
21: ! MatSNESMFCtx
22: !
23: #define MATSNESMF_DEFAULT 'default'
24: #define MATSNESMF_WP 'wp'
26: #endif
28: #if !defined (PETSC_AVOID_DECLARATIONS)
29: !
30: ! Convergence flags
31: !
32: integer SNES_CONVERGED_FNORM_ABS
33: integer SNES_CONVERGED_FNORM_RELATIVE
34: integer SNES_CONVERGED_PNORM_RELATIVE
35: integer SNES_CONVERGED_GNORM_ABS
36: integer SNES_CONVERGED_TR_REDUCTION
37: integer SNES_CONVERGED_TR_DELTA
39: integer SNES_DIVERGED_FUNCTION_COUNT
40: integer SNES_DIVERGED_FNORM_NAN
41: integer SNES_DIVERGED_MAX_IT
42: integer SNES_DIVERGED_LS_FAILURE
43: integer SNES_DIVERGED_TR_REDUCTION
44: integer SNES_DIVERGED_LOCAL_MIN
45: integer SNES_CONVERGED_ITERATING
46:
47: parameter (SNES_CONVERGED_FNORM_ABS = 2)
48: parameter (SNES_CONVERGED_FNORM_RELATIVE = 3)
49: parameter (SNES_CONVERGED_PNORM_RELATIVE = 4)
50: parameter (SNES_CONVERGED_GNORM_ABS = 5)
51: parameter (SNES_CONVERGED_TR_REDUCTION = 6)
52: parameter (SNES_CONVERGED_TR_DELTA = 7)
54: parameter (SNES_DIVERGED_FUNCTION_COUNT = -2)
55: parameter (SNES_DIVERGED_FNORM_NAN = -4)
56: parameter (SNES_DIVERGED_MAX_IT = -5)
57: parameter (SNES_DIVERGED_LS_FAILURE = -6)
58: parameter (SNES_DIVERGED_TR_REDUCTION = -7)
59: parameter (SNES_DIVERGED_LOCAL_MIN = -8)
60: parameter (SNES_CONVERGED_ITERATING = 0)
61:
62: !
63: ! Some PETSc fortran functions that the user might pass as arguments
64: !
65: external SNESDEFAULTCOMPUTEJACOBIAN
66: external SNESDEFAULTCOMPUTEJACOBIANCOLOR
67: external SNESDEFAULTMONITOR
68: external SNESLGMONITOR
69: external SNESVECVIEWMONITOR
70: external SNESVECVIEWUPDATEMONITOR
72: !PETSC_DEC_ATTRIBUTES(SNESDEFAULTCOMPUTEJACOBIAN,'_SNESDEFAULTCOMPUTEJACOBIAN')
73: !PETSC_DEC_ATTRIBUTES(SNESDEFAULTCOMPUTEJACOBIANCOLOR,'_SNESDEFAULTCOMPUTEJACOBIANCOLOR')
74: !PETSC_DEC_ATTRIBUTES(SNESDEFAULTMONITOR,'_SNESDEFAULTMONITOR')
75: !PETSC_DEC_ATTRIBUTES(SNESLGMONITOR,'_SNESLGMONITOR')
76: !PETSC_DEC_ATTRIBUTES(SNESVECVIEWMONITOR,'_SNESVECVIEWMONITOR')
77: !PETSC_DEC_ATTRIBUTES(SNESVECVIEWUPDATEMONITOR,'_SNESVECVIEWUPDATEMONITOR')
79: external SNESCONVERGED_LS
80: external SNESCONVERGED_TR
82: !PETSC_DEC_ATTRIBUTES(SNESCONVERGED_LS,'_SNESCONVERGED_LS')
83: !PETSC_DEC_ATTRIBUTES(SNESCONVERGED_TR,'_SNESCONVERGED_TR')
85: external SNESCUBICLINESEARCH
86: external SNESQUADRATICLINESEARCH
87: external SNESNOLINESEARCH
88: external SNESNOLINESEARCHNONORMS
90: !PETSC_DEC_ATTRIBUTES(SNESCUBICLINESEARCH,'_SNESCUBICLINESEARCH')
91: !PETSC_DEC_ATTRIBUTES(SNESQUADRATICLINESEARCH,'_SNESQUADRATICLINESEARCH')
92: !PETSC_DEC_ATTRIBUTES(SNESNOLINESEARCH,'_SNESNOLINESEARCH')
93: !PETSC_DEC_ATTRIBUTES(SNESNOLINESEARCHNONORMS,'_SNESNOLINESEARCHNONORMS')
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