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 'ds'
 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_LINEAR_SOLVE
 37:       PetscEnum SNES_DIVERGED_FNORM_NAN
 38:       PetscEnum SNES_DIVERGED_MAX_IT
 39:       PetscEnum SNES_DIVERGED_LS_FAILURE
 40:       PetscEnum SNES_DIVERGED_LOCAL_MIN
 41:       PetscEnum SNES_CONVERGED_ITERATING
 42: 
 43:       parameter (SNES_CONVERGED_FNORM_ABS         =  2)
 44:       parameter (SNES_CONVERGED_FNORM_RELATIVE    =  3)
 45:       parameter (SNES_CONVERGED_PNORM_RELATIVE    =  4)
 46:       parameter (SNES_CONVERGED_TR_DELTA          =  7)

 48:       parameter (SNES_DIVERGED_FUNCTION_COUNT     = -2)
 49:       parameter (SNES_DIVERGED_LINEAR_SOLVE       = -3)
 50:       parameter (SNES_DIVERGED_FNORM_NAN          = -4)
 51:       parameter (SNES_DIVERGED_MAX_IT             = -5)
 52:       parameter (SNES_DIVERGED_LS_FAILURE         = -6)
 53:       parameter (SNES_DIVERGED_LOCAL_MIN          = -8)
 54:       parameter (SNES_CONVERGED_ITERATING         =  0)
 55: 
 56: !
 57: !  Some PETSc fortran functions that the user might pass as arguments
 58: !
 59:       external SNESDEFAULTCOMPUTEJACOBIAN
 60:       external SNESDEFAULTCOMPUTEJACOBIANCOLOR
 61:       external SNESMONITORDEFAULT
 62:       external SNESMONITORLG
 63:       external SNESMONITORSOLUTION
 64:       external SNESMONITORSOLUTIONUPDATE

 66: !PETSC_DEC_ATTRIBUTES(SNESDEFAULTCOMPUTEJACOBIAN,'_SNESDEFAULTCOMPUTEJACOBIAN')
 67: !PETSC_DEC_ATTRIBUTES(SNESDEFAULTCOMPUTEJACOBIANCOLOR,'_SNESDEFAULTCOMPUTEJACOBIANCOLOR')
 68: !PETSC_DEC_ATTRIBUTES(SNESMONITORDEFAULT,'_SNESMONITORDEFAULT')
 69: !PETSC_DEC_ATTRIBUTES(SNESMONITORLG,'_SNESMONITORLG')
 70: !PETSC_DEC_ATTRIBUTES(SNESMONITORSOLUTION,'_SNESMONITORSOLUTION')
 71: !PETSC_DEC_ATTRIBUTES(SNESMONITORSOLUTIONUPDATE,'_SNESMONITORSOLUTIONUPDATE')

 73:       external SNESCONVERGED_LS
 74:       external SNESCONVERGED_TR

 76: !PETSC_DEC_ATTRIBUTES(SNESCONVERGED_LS,'_SNESCONVERGED_LS')
 77: !PETSC_DEC_ATTRIBUTES(SNESCONVERGED_TR,'_SNESCONVERGED_TR')

 79:       external SNESLINESEARCHCUBIC
 80:       external SNESLINESEARCHQUADRATIC
 81:       external SNESLINESEARCHNO
 82:       external SNESLINESEARCHNONORMS

 84: !PETSC_DEC_ATTRIBUTES(SNESLINESEARCHCUBIC,'_SNESLINESEARCHCUBIC')
 85: !PETSC_DEC_ATTRIBUTES(SNESLINESEARCHQUADRATIC,'_SNESLINESEARCHQUADRATIC')
 86: !PETSC_DEC_ATTRIBUTES(SNESLINESEARCHNO,'_SNESLINESEARCHNO')
 87: !PETSC_DEC_ATTRIBUTES(SNESLINESEARCHNONORMS,'_SNESLINESEARCHNONORMS')

 89:       external SNESDAFORMFUNCTION
 90:       external SNESDACOMPUTEJACOBIANWITHADIFOR
 91:       external SNESDACOMPUTEJACOBIAN

 93: !PETSC_DEC_ATTRIBUTES(SNESDAFORMFUNCTION,'_SNESDAFORMFUNCTION')
 94: !PETSC_DEC_ATTRIBUTES(SNESDACOMPUTEJACOBIANWITHADIFOR,'_SNESDACOMPUTEJACOBIANWITHADIFOR')
 95: !PETSC_DEC_ATTRIBUTES(SNESDACOMPUTEJACOBIAN,'_SNESDACOMPUTEJACOBIAN')
 96: !
 97: !  End of Fortran include file for the SNES package in PETSc

 99: #endif