Actual source code: petscsnes.h
petsc-3.7.7 2017-09-25
Report Typos and Errors

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

      6: !
      7: !  Convergence flags
      8: !
      9:       PetscEnum SNES_CONVERGED_FNORM_ABS
     10:       PetscEnum SNES_CONVERGED_FNORM_RELATIVE
     11:       PetscEnum SNES_CONVERGED_SNORM_RELATIVE
     12:       PetscEnum SNES_CONVERGED_ITS
     13:       PetscEnum SNES_CONVERGED_TR_DELTA

     15:       PetscEnum SNES_DIVERGED_FUNCTION_DOMAIN
     16:       PetscEnum SNES_DIVERGED_FUNCTION_COUNT
     17:       PetscEnum SNES_DIVERGED_LINEAR_SOLVE
     18:       PetscEnum SNES_DIVERGED_FNORM_NAN
     19:       PetscEnum SNES_DIVERGED_MAX_IT
     20:       PetscEnum SNES_DIVERGED_LINE_SEARCH
     21:       PetscEnum SNES_DIVERGED_INNER
     22:       PetscEnum SNES_DIVERGED_LOCAL_MIN
     23:       PetscEnum SNES_CONVERGED_ITERATING

     25:       parameter (SNES_CONVERGED_FNORM_ABS         =  2)
     26:       parameter (SNES_CONVERGED_FNORM_RELATIVE    =  3)
     27:       parameter (SNES_CONVERGED_SNORM_RELATIVE    =  4)
     28:       parameter (SNES_CONVERGED_ITS               =  5)
     29:       parameter (SNES_CONVERGED_TR_DELTA          =  7)

     31:       parameter (SNES_DIVERGED_FUNCTION_DOMAIN    = -1)
     32:       parameter (SNES_DIVERGED_FUNCTION_COUNT     = -2)
     33:       parameter (SNES_DIVERGED_LINEAR_SOLVE       = -3)
     34:       parameter (SNES_DIVERGED_FNORM_NAN          = -4)
     35:       parameter (SNES_DIVERGED_MAX_IT             = -5)
     36:       parameter (SNES_DIVERGED_LINE_SEARCH        = -6)
     37:       parameter (SNES_DIVERGED_INNER              = -7)
     38:       parameter (SNES_DIVERGED_LOCAL_MIN          = -8)
     39:       parameter (SNES_CONVERGED_ITERATING         =  0)
     40: !
     41: !     SNESLineSearchReason
     42: !
     43:       PetscEnum SNES_LINESEARCH_SUCCEEDED
     44:       PetscEnum SNES_LINESEARCH_FAILED_NANORINF
     45:       PetscEnum SNES_LINESEARCH_FAILED_DOMAIN
     46:       PetscEnum SNES_LINESEARCH_FAILED_REDUCT
     47:       PetscEnum SNES_LINESEARCH_FAILED_USER
     48:       PetscEnum SNES_LINESEARCH_FAILED_FUNCTION

     50:       parameter (SNES_LINESEARCH_SUCCEEDED       = 0)
     51:       parameter (SNES_LINESEARCH_FAILED_NANORINF = 1)
     52:       parameter (SNES_LINESEARCH_FAILED_DOMAIN   = 2)
     53:       parameter (SNES_LINESEARCH_FAILED_REDUCT   = 3)
     54:       parameter (SNES_LINESEARCH_FAILED_USER     = 4)
     55:       parameter (SNES_LINESEARCH_FAILED_FUNCTION = 5)
     56: !
     57:   ! SNESNormSchedule
     58: !
     59:       PetscEnum SNES_NORM_DEFAULT
     60:       PetscEnum SNES_NORM_NONE
     61:       PetscEnum SNES_NORM_ALWAYS
     62:       PetscEnum SNES_NORM_INITIAL_ONLY
     63:       PetscEnum SNES_NORM_FINAL_ONLY
     64:       PetscEnum SNES_NORM_INITIAL_FINAL_ONLY

     66:       parameter (SNES_NORM_DEFAULT                = -1)
     67:       parameter (SNES_NORM_NONE                   =  0)
     68:       parameter (SNES_NORM_ALWAYS                 =  1)
     69:       parameter (SNES_NORM_INITIAL_ONLY           =  2)
     70:       parameter (SNES_NORM_FINAL_ONLY             =  3)
     71:       parameter (SNES_NORM_INITIAL_FINAL_ONLY     =  4)

     73: !
     74: !  Some PETSc fortran functions that the user might pass as arguments
     75: !
     76:       external SNESCOMPUTEJACOBIANDEFAULT
     77:       external MATMFFDCOMPUTEJACOBIAN
     78:       external SNESCOMPUTEJACOBIANDEFAULTCOLOR
     79:       external SNESMONITORDEFAULT
     80:       external SNESMONITORLGRESIDUALNORM
     81:       external SNESMONITORSOLUTION
     82:       external SNESMONITORSOLUTIONUPDATE

     84:       external SNESCONVERGEDDEFAULT
     85:       external SNESCONVERGEDSKIP

     87: !
     88: ! SNESNGMRESRestartType
     89: !

     91:       PetscEnum SNES_NGMRES_RESTART_NONE
     92:       PetscEnum SNES_NGMRES_RESTART_PERIODIC
     93:       PetscEnum SNES_NGMRES_RESTART_DIFFERENCE

     95:       parameter (SNES_NGMRES_RESTART_NONE = 0)
     96:       parameter (SNES_NGMRES_RESTART_PERIODIC = 1)
     97:       parameter (SNES_NGMRES_RESTART_DIFFERENCE = 2)

    100: !
    101: ! SNESNGMRESSelectionType
    102: !

    104:       PetscEnum SNES_NGMRES_SELECT_NONE
    105:       PetscEnum SNES_NGMRES_SELECT_DIFFERENCE
    106:       PetscEnum SNES_NGMRES_SELECT_LINESEARCH

    108:       parameter (SNES_NGMRES_SELECT_NONE = 0)
    109:       parameter (SNES_NGMRES_SELECT_DIFFERENCE = 1)
    110:       parameter (SNES_NGMRES_SELECT_LINESEARCH = 2)

    112: !
    113: ! SNESQNType
    114: !

    116:       PetscEnum SNES_QN_LBFGS
    117:       PetscEnum SNES_QN_BROYDEN
    118:       PetscEnum SNES_QN_BADBROYDEN

    120:       parameter(SNES_QN_LBFGS       = 0)
    121:       parameter(SNES_QN_BROYDEN     = 1)
    122:       parameter(SNES_QN_BADBROYDEN  = 2)

    124: !
    125: ! SNESQNScaleType
    126: !

    128:       PetscEnum SNES_QN_SCALE_DEFAULT
    129:       PetscEnum SNES_QN_SCALE_NONE
    130:       PetscEnum SNES_QN_SCALE_SHANNO
    131:       PetscEnum SNES_QN_SCALE_LINESEARCH
    132:       PetscEnum SNES_QN_SCALE_JACOBIAN

    134:       parameter(SNES_QN_SCALE_DEFAULT    = 0)
    135:       parameter(SNES_QN_SCALE_NONE       = 1)
    136:       parameter(SNES_QN_SCALE_SHANNO     = 2)
    137:       parameter(SNES_QN_SCALE_LINESEARCH = 3)
    138:       parameter(SNES_QN_SCALE_JACOBIAN   = 4)

    140: !
    141: ! SNESQNRestartType
    142: !

    144:       PetscEnum SNES_QN_RESTART_DEFAULT
    145:       PetscEnum SNES_QN_RESTART_NONE
    146:       PetscEnum SNES_QN_RESTART_POWELL
    147:       PetscEnum SNES_QN_RESTART_PERIODIC

    149:       parameter(SNES_QN_RESTART_DEFAULT  = 0)
    150:       parameter(SNES_QN_RESTART_NONE     = 1)
    151:       parameter(SNES_QN_RESTART_POWELL   = 2)
    152:       parameter(SNES_QN_RESTART_PERIODIC = 3)

    154: !
    155: ! SNESNCGType
    156: !

    158:       PetscEnum SNES_NCG_FR
    159:       PetscEnum SNES_NCG_PRP
    160:       PetscEnum SNES_NCG_HS
    161:       PetscEnum SNES_NCG_DY
    162:       PetscEnum SNES_NCG_CD

    164:       parameter(SNES_NCG_FR  = 0)
    165:       parameter(SNES_NCG_PRP = 1)
    166:       parameter(SNES_NCG_HS  = 2)
    167:       parameter(SNES_NCG_DY  = 3)
    168:       parameter(SNES_NCG_CD  = 4)

    171: !  End of Fortran include file for the SNES package in PETSc