Actual source code: petscsnes.h
1: !
2: ! $Id: petscsnes.h,v 1.31 2001/04/10 22:37:56 balay 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 SNESProblemType integer
11: #define SNESType character*(80)
12: #define SNESConvergedReason integer
13: #define MatSNESMFCtx PetscFortranAddr
14: #define MatSNESMFType PetscFortranAddr
15: !
16: ! SNESType
17: !
18: #define SNESEQLS 'ls'
19: #define SNESEQTR 'tr'
20: #define SNESEQTEST 'test'
21: #define SNESUMLS 'umls'
22: #define SNESUMTR 'umtr'
23: !
24: ! MatSNESMFCtx
25: !
26: #define MATSNESMF_DEFAULT 'default'
27: #define MATSNESMF_WP 'wp'
29: #endif
31: #if !defined (PETSC_AVOID_DECLARATIONS)
32: !
33: ! Two classes of nonlinear solvers
34: !
35: integer SNES_NONLINEAR_EQUATIONS
36: integer SNES_UNCONSTRAINED_MINIMIZATION
37: integer SNES_LEAST_SQUARES
39: parameter (SNES_NONLINEAR_EQUATIONS = 0)
40: parameter (SNES_UNCONSTRAINED_MINIMIZATION = 1)
41: parameter (SNES_LEAST_SQUARES = 2)
42: !
43: ! Convergence flags
44: !
45: integer SNES_CONVERGED_FNORM_ABS
46: integer SNES_CONVERGED_FNORM_RELATIVE
47: integer SNES_CONVERGED_PNORM_RELATIVE
48: integer SNES_CONVERGED_GNORM_ABS
49: integer SNES_CONVERGED_TR_REDUCTION
50: integer SNES_CONVERGED_TR_DELTA
52: integer SNES_DIVERGED_FUNCTION_COUNT
53: integer SNES_DIVERGED_FNORM_NAN
54: integer SNES_DIVERGED_MAX_IT
55: integer SNES_DIVERGED_LS_FAILURE
56: integer SNES_DIVERGED_TR_REDUCTION
57: integer SNES_DIVERGED_LOCAL_MIN
58: integer SNES_CONVERGED_ITERATING
59:
60: parameter (SNES_CONVERGED_FNORM_ABS = 2)
61: parameter (SNES_CONVERGED_FNORM_RELATIVE = 3)
62: parameter (SNES_CONVERGED_PNORM_RELATIVE = 4)
63: parameter (SNES_CONVERGED_GNORM_ABS = 5)
64: parameter (SNES_CONVERGED_TR_REDUCTION = 6)
65: parameter (SNES_CONVERGED_TR_DELTA = 7)
67: parameter (SNES_DIVERGED_FUNCTION_COUNT = -2)
68: parameter (SNES_DIVERGED_FNORM_NAN = -4)
69: parameter (SNES_DIVERGED_MAX_IT = -5)
70: parameter (SNES_DIVERGED_LS_FAILURE = -6)
71: parameter (SNES_DIVERGED_TR_REDUCTION = -7)
72: parameter (SNES_DIVERGED_LOCAL_MIN = -8)
73: parameter (SNES_CONVERGED_ITERATING = 0)
74:
75: !
76: ! Some PETSc fortran functions that the user might pass as arguments
77: !
78: external SNESDEFAULTCOMPUTEJACOBIAN
79: external SNESDEFAULTCOMPUTEJACOBIANCOLOR
80: external SNESDEFAULTMONITOR
81: external SNESLGMONITOR
82: external SNESVECVIEWMONITOR
83: external SNESVECVIEWUPDATEMONITOR
85: external SNESCONVERGED_UM_LS
86: external SNESCONVERGED_UM_TR
87: external SNESCONVERGED_EQ_LS
88: external SNESCONVERGED_EQ_TR
90: external SNESCUBICLINESEARCH
91: external SNESQUADRATICLINESEARCH
92: external SNESNOLINESEARCH
93: external SNESNOLINESEARCHNONORMS
95: !
96: ! End of Fortran include file for the SNES package in PETSc
98: #endif