Actual source code: petscsnesdef.h

petsc-3.3-p7 2013-05-11
  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 SNESLS          'ls'
 32: #define SNESTR          'tr'
 33: #define SNESPYTHON      'python'
 34: #define SNESTEST        'test'
 35: #define SNESNRICHARDSON 'nrichardson'
 36: #define SNESKSPONLY     'ksponly'
 37: #define SNESVIRS        'virs'
 38: #define SNESVISS        'viss'
 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