Actual source code: petscsnesdef.h
petsc-3.6.2 2015-10-02
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/petsckspdef.h

      9: #if !defined(PETSC_USE_FORTRAN_DATATYPES)
     10: #define SNES PetscFortranAddr
     11: #endif
     12: #define SNESType character*(80)
     13: #define SNESMSType character*(80)
     14: #define SNESConvergedReason PetscEnum
     15: #define SNESLineSearchReason PetscEnum
     16: #define SNESLineSearchType  character*(80)
     17: #define MatMFFD PetscFortranAddr
     18: #define MatMFFDType PetscFortranAddr
     19: #define SNESLineSearch PetscFortranAddr
     20: #define SNESLineSearchOrder PetscEnum
     21: #define SNESNormSchedule PetscEnum
     22: #define SNESQNType PetscEnum
     23: #define SNESQNRestartType PetscEnum
     24: #define SNESQNCompositionType PetscEnum
     25: #define SNESQNScaleType PetscEnum
     26: #define SNESNCGType PetscEnum
     27: #define SNESNGMRESRestartType PetscEnum
     28: #define SNESNGMRESSelectType PetscEnum

     30: !
     31: !  SNESType
     32: !
     33: #define SNESNEWTONLS     'newtonls'
     34: #define SNESNEWTONTR     'newtontr'
     35: #define SNESPYTHON       'python'
     36: #define SNESTEST         'test'
     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'

     79: !
     80: ! MatSNESMF
     81: !
     82: #define MATMFFD_DEFAULT 'ds'
     83: #define MATMFFD_WP 'wp'

     86: #endif