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 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:       external SNESDAFORMFUNCTION
 96:       external SNESDACOMPUTEJACOBIANWITHADIFOR
 97:       external SNESDACOMPUTEJACOBIAN
 98: !
 99: !  End of Fortran include file for the SNES package in PETSc

101: #endif