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