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

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

     7:  #include 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 SNESLineSearchType  character*(80)
     16: #define MatMFFD PetscFortranAddr
     17: #define MatMFFDType PetscFortranAddr
     18: #define SNESLineSearch PetscFortranAddr
     19: #define SNESLineSearchOrder PetscEnum
     20: #define SNESNormType PetscEnum
     21: #define SNESQNRestartType PetscEnum
     22: #define SNESQNCompositionType PetscEnum
     23: #define SNESQNScaleType PetscEnum
     24: #define SNESNCGType PetscEnum
     25: #define SNESNGMRESRestartType PetscEnum
     26: #define SNESNGMRESSelectType PetscEnum

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

     46: !
     47: ! SNESLineSearchType
     48: !

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

     56: !
     57: ! SNESLineSearchOrder
     58: !

     60: #define SNES_LINESEARCH_ORDER_LINEAR    1
     61: #define SNES_LINESEARCH_ORDER_QUADRATIC 2
     62: #define SNES_LINESEARCH_ORDER_CUBIC     3

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

     77: !
     78: ! MatSNESMF
     79: !
     80: #define MATMFFD_DEFAULT 'ds'
     81: #define MATMFFD_WP 'wp'

     84: #endif