Actual source code: petscsnes.h
petsc-3.4.2 2013-07-02

      1: !
      2: !  Include file for Fortran use of the SNES package in PETSc
      3: !
     4:  #include 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: ! SNESNormType
     42: !
     43:       PetscEnum SNES_NORM_DEFAULT
     44:       PetscEnum SNES_NORM_NONE
     45:       PetscEnum SNES_NORM_FUNCTION
     46:       PetscEnum SNES_NORM_INITIAL_ONLY
     47:       PetscEnum SNES_NORM_FINAL_ONLY
     48:       PetscEnum SNES_NORM_INITIAL_FINAL_ONLY

     50:       parameter (SNES_NORM_DEFAULT                = -1)
     51:       parameter (SNES_NORM_NONE                   =  0)
     52:       parameter (SNES_NORM_FUNCTION               =  1)
     53:       parameter (SNES_NORM_INITIAL_ONLY           =  2)
     54:       parameter (SNES_NORM_FINAL_ONLY             =  3)
     55:       parameter (SNES_NORM_INITIAL_FINAL_ONLY     =  4)

     57: !
     58: !  Some PETSc fortran functions that the user might pass as arguments
     59: !
     60:       external SNESCOMPUTEJACOBIANDEFAULT
     61:       external MATMFFDCOMPUTEJACOBIAN
     62:       external SNESCOMPUTEJACOBIANDEFAULTCOLOR
     63:       external SNESMONITORDEFAULT
     64:       external SNESMONITORLGRESIDUALNORM
     65:       external SNESMONITORSOLUTION
     66:       external SNESMONITORSOLUTIONUPDATE

     68:       external SNESCONVERGEDDEFAULT
     69:       external SNESSKIPCONVERGED

     71: !
     72: ! SNESNGMRESRestartType
     73: !

     75:       PetscEnum SNES_NGMRES_RESTART_NONE
     76:       PetscEnum SNES_NGMRES_RESTART_PERIODIC
     77:       PetscEnum SNES_NGMRES_RESTART_DIFFERENCE

     79:       parameter (SNES_NGMRES_RESTART_NONE = 0)
     80:       parameter (SNES_NGMRES_RESTART_PERIODIC = 1)
     81:       parameter (SNES_NGMRES_RESTART_DIFFERENCE = 2)

     84: !
     85: ! SNESNGMRESSelectionType
     86: !

     88:       PetscEnum SNES_NGMRES_SELECT_NONE
     89:       PetscEnum SNES_NGMRES_SELECT_DIFFERENCE
     90:       PetscEnum SNES_NGMRES_SELECT_LINESEARCH

     92:       parameter (SNES_NGMRES_SELECT_NONE = 0)
     93:       parameter (SNES_NGMRES_SELECT_DIFFERENCE = 1)
     94:       parameter (SNES_NGMRES_SELECT_LINESEARCH = 2)

     97: !
     98: ! SNESQNScaleType
     99: !

    101:       PetscEnum SNES_QN_SCALE_NONE
    102:       PetscEnum SNES_QN_SCALE_SHANNO
    103:       PetscEnum SNES_QN_SCALE_LINESEARCH
    104:       PetscEnum SNES_QN_SCALE_JACOBIAN

    106:       parameter(SNES_QN_SCALE_NONE       = 0)
    107:       parameter(SNES_QN_SCALE_SHANNO     = 1)
    108:       parameter(SNES_QN_SCALE_LINESEARCH = 2)
    109:       parameter(SNES_QN_SCALE_JACOBIAN   = 3)

    111: !
    112: ! SNESQNRestartType
    113: !

    115:       PetscEnum SNES_QN_RESTART_NONE
    116:       PetscEnum SNES_QN_RESTART_POWELL
    117:       PetscEnum SNES_QN_RESTART_PERIODIC

    119:       parameter(SNES_QN_RESTART_NONE     = 0)
    120:       parameter(SNES_QN_RESTART_POWELL   = 1)
    121:       parameter(SNES_QN_RESTART_PERIODIC = 2)

    123: !
    124: ! SNESNCGType
    125: !

    127:       PetscEnum SNES_NCG_FR
    128:       PetscEnum SNES_NCG_PRP
    129:       PetscEnum SNES_NCG_HS
    130:       PetscEnum SNES_NCG_DY
    131:       PetscEnum SNES_NCG_CD

    133:       parameter(SNES_NCG_FR  = 0)
    134:       parameter(SNES_NCG_PRP = 1)
    135:       parameter(SNES_NCG_HS  = 2)
    136:       parameter(SNES_NCG_DY  = 3)
    137:       parameter(SNES_NCG_CD  = 4)

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