Actual source code: petscsnes.h
petsc-3.13.6 2020-09-29
Report Typos and Errors

      1: !
      2: !  Include file for Fortran use of the SNES package in PETSc
      3: !
      4: #include "petsc/finclude/petscsnes.h"

      6:       type tSNES
      7:         PetscFortranAddr:: v PETSC_FORTRAN_TYPE_INITIALIZE
      8:       end type tSNES

     10:       type tPetscConvEst
     11:         PetscFortranAddr:: v PETSC_FORTRAN_TYPE_INITIALIZE
     12:       end type tPetscConvEst

     14:       SNES, parameter :: PETSC_NULL_SNES = tSNES(0)
     15:       PetscConvEst, parameter :: PETSC_NULL_CONVEST = tPetscConvEst(0)
     16: !
     17: !  Convergence flags
     18: !
     19:       PetscEnum, parameter :: SNES_CONVERGED_FNORM_ABS         =  2
     20:       PetscEnum, parameter :: SNES_CONVERGED_FNORM_RELATIVE    =  3
     21:       PetscEnum, parameter :: SNES_CONVERGED_SNORM_RELATIVE    =  4
     22:       PetscEnum, parameter :: SNES_CONVERGED_ITS               =  5

     24:       PetscEnum, parameter :: SNES_DIVERGED_FUNCTION_DOMAIN    = -1
     25:       PetscEnum, parameter :: SNES_DIVERGED_FUNCTION_COUNT     = -2
     26:       PetscEnum, parameter :: SNES_DIVERGED_LINEAR_SOLVE       = -3
     27:       PetscEnum, parameter :: SNES_DIVERGED_FNORM_NAN          = -4
     28:       PetscEnum, parameter :: SNES_DIVERGED_MAX_IT             = -5
     29:       PetscEnum, parameter :: SNES_DIVERGED_LINE_SEARCH        = -6
     30:       PetscEnum, parameter :: SNES_DIVERGED_INNER              = -7
     31:       PetscEnum, parameter :: SNES_DIVERGED_LOCAL_MIN          = -8
     32:       PetscEnum, parameter :: SNES_DIVERGED_DTOL               = -9
     33:       PetscEnum, parameter :: SNES_DIVERGED_JACOBIAN_DOMAIN    = -10
     34:       PetscEnum, parameter :: SNES_DIVERGED_TR_DELTA           = -11
     35:       PetscEnum, parameter :: SNES_CONVERGED_ITERATING         =  0
     36: !
     37: !     SNESLineSearchReason
     38: !
     39:       PetscEnum, parameter :: SNES_LINESEARCH_SUCCEEDED       = 0
     40:       PetscEnum, parameter :: SNES_LINESEARCH_FAILED_NANORINF = 1
     41:       PetscEnum, parameter :: SNES_LINESEARCH_FAILED_DOMAIN   = 2
     42:       PetscEnum, parameter :: SNES_LINESEARCH_FAILED_REDUCT   = 3
     43:       PetscEnum, parameter :: SNES_LINESEARCH_FAILED_USER     = 4
     44:       PetscEnum, parameter :: SNES_LINESEARCH_FAILED_FUNCTION = 5
     45: !
     46: !  SNESNormSchedule
     47: !
     48:       PetscEnum, parameter :: SNES_NORM_DEFAULT                = -1
     49:       PetscEnum, parameter :: SNES_NORM_NONE                   =  0
     50:       PetscEnum, parameter :: SNES_NORM_ALWAYS                 =  1
     51:       PetscEnum, parameter :: SNES_NORM_INITIAL_ONLY           =  2
     52:       PetscEnum, parameter :: SNES_NORM_FINAL_ONLY             =  3
     53:       PetscEnum, parameter :: SNES_NORM_INITIAL_FINAL_ONLY     =  4
     54: !
     55: !  Some PETSc fortran functions that the user might pass as arguments
     56: !
     57:       external SNESCOMPUTEJACOBIANDEFAULT
     58:       external MATMFFDCOMPUTEJACOBIAN
     59:       external SNESCOMPUTEJACOBIANDEFAULTCOLOR
     60:       external SNESMONITORDEFAULT
     61:       external SNESMONITORLGRESIDUALNORM
     62:       external SNESMONITORSOLUTION
     63:       external SNESMONITORSOLUTIONUPDATE

     65:       external SNESCONVERGEDDEFAULT
     66:       external SNESCONVERGEDSKIP

     68: !
     69: ! SNESNGMRESRestartType
     70: !
     71:       PetscEnum, parameter :: SNES_NGMRES_RESTART_NONE       = 0
     72:       PetscEnum, parameter :: SNES_NGMRES_RESTART_PERIODIC   = 1
     73:       PetscEnum, parameter :: SNES_NGMRES_RESTART_DIFFERENCE = 2
     74: !
     75: ! SNESNGMRESSelectionType
     76: !
     77:       PetscEnum, parameter :: SNES_NGMRES_SELECT_NONE       = 0
     78:       PetscEnum, parameter :: SNES_NGMRES_SELECT_DIFFERENCE = 1
     79:       PetscEnum, parameter :: SNES_NGMRES_SELECT_LINESEARCH = 2
     80: !
     81: ! SNESQNType
     82: !
     83:       PetscEnum, parameter :: SNES_QN_LBFGS       = 0
     84:       PetscEnum, parameter :: SNES_QN_BROYDEN     = 1
     85:       PetscEnum, parameter :: SNES_QN_BADBROYDEN  = 2
     86: !
     87: ! SNESQNScaleType
     88: !
     89:       PetscEnum, parameter :: SNES_QN_SCALE_DEFAULT    = 0
     90:       PetscEnum, parameter :: SNES_QN_SCALE_NONE       = 1
     91:       PetscEnum, parameter :: SNES_QN_SCALE_SHANNO     = 2
     92:       PetscEnum, parameter :: SNES_QN_SCALE_LINESEARCH = 3
     93:       PetscEnum, parameter :: SNES_QN_SCALE_JACOBIAN   = 4
     94: !
     95: ! SNESQNRestartType
     96: !
     97:       PetscEnum, parameter :: SNES_QN_RESTART_DEFAULT  = 0
     98:       PetscEnum, parameter :: SNES_QN_RESTART_NONE     = 1
     99:       PetscEnum, parameter :: SNES_QN_RESTART_POWELL   = 2
    100:       PetscEnum, parameter :: SNES_QN_RESTART_PERIODIC = 3
    101: !
    102: ! SNESNCGType
    103: !
    104:       PetscEnum, parameter :: SNES_NCG_FR  = 0
    105:       PetscEnum, parameter :: SNES_NCG_PRP = 1
    106:       PetscEnum, parameter :: SNES_NCG_HS  = 2
    107:       PetscEnum, parameter :: SNES_NCG_DY  = 3
    108:       PetscEnum, parameter :: SNES_NCG_CD  = 4
    109: !
    110: !  End of Fortran include file for the SNES package in PETSc