Actual source code: petscsnes.h
petsc-3.10.5 2019-03-28
Report Typos and Errors

      1: !
      2: !  Include file for Fortran use of the SNES package in PETSc
      3: !
      4: #if !defined (__PETSCSNESDEF_H)

      7: #include "petsc/finclude/petscksp.h"

      9: #define SNES type(tSNES)

     11: #define PetscConvEst type(tPetscConvEst)

     13: #define SNESType character*(80)
     14: #define SNESMSType character*(80)
     15: #define SNESConvergedReason PetscEnum
     16: #define SNESLineSearchReason PetscEnum
     17: #define SNESLineSearchType  character*(80)
     18: #define MatMFFD PetscFortranAddr
     19: #define MatMFFDType PetscFortranAddr
     20: #define SNESLineSearch PetscFortranAddr
     21: #define SNESLineSearchOrder PetscEnum
     22: #define SNESNormSchedule PetscEnum
     23: #define SNESQNType PetscEnum
     24: #define SNESQNRestartType PetscEnum
     25: #define SNESQNCompositionType PetscEnum
     26: #define SNESQNScaleType PetscEnum
     27: #define SNESNCGType PetscEnum
     28: #define SNESNGMRESRestartType PetscEnum
     29: #define SNESNGMRESSelectType PetscEnum

     31: !
     32: !  SNESType
     33: !
     34: #define SNESNEWTONLS     'newtonls'
     35: #define SNESNEWTONTR     'newtontr'
     36: #define SNESPYTHON       'python'
     37: #define SNESNRICHARDSON  'nrichardson'
     38: #define SNESKSPONLY      'ksponly'
     39: #define SNESVINEWTONRSLS 'vinewtonrsls'
     40: #define SNESVINEWTONSSLS 'vinewtonssls'
     41: #define SNESNGMRES       'ngmres'
     42: #define SNESQN           'qn'
     43: #define SNESSHELL        'shell'
     44: #define SNESNCG          'ncg'
     45: #define SNESFAS          'fas'
     46: #define SNESMS           'ms'

     48: !
     49: ! SNESLineSearchType
     50: !

     52: #define SNESLINESEARCHBASIC 'basic'
     53: #define SNESLINESEARCHBT    'bt'
     54: #define SNESLINESEARCHL2    'l2'
     55: #define SNESLINESEARCHCP    'cp'
     56: #define SNESLINESEARCHSHELL 'shell'

     58: !
     59: ! SNESLineSearchOrder
     60: !

     62: #define SNES_LINESEARCH_ORDER_LINEAR    1
     63: #define SNES_LINESEARCH_ORDER_QUADRATIC 2
     64: #define SNES_LINESEARCH_ORDER_CUBIC     3

     67: !
     68: !  SNESMSType
     69: !
     70: #define SNESMSEULER     'euler'
     71: #define SNESMSM62       'm62'
     72: #define SNESMSJAMESON83 'jameson83'
     73: #define SNESMSVLTP21    'vltp21'
     74: #define SNESMSVLTP31    'vltp31'
     75: #define SNESMSVLTP41    'vltp41'
     76: #define SNESMSVLTP51    'vltp51'
     77: #define SNESMSVLTP61    'vltp61'

     81: #endif