Actual source code: petscsnes.h

petsc-3.9.4 2018-09-11
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 SNESTEST         'test'
 38: #define SNESNRICHARDSON  'nrichardson'
 39: #define SNESKSPONLY      'ksponly'
 40: #define SNESVINEWTONRSLS 'vinewtonrsls'
 41: #define SNESVINEWTONSSLS 'vinewtonssls'
 42: #define SNESNGMRES       'ngmres'
 43: #define SNESQN           'qn'
 44: #define SNESSHELL        'shell'
 45: #define SNESNCG          'ncg'
 46: #define SNESFAS          'fas'
 47: #define SNESMS           'ms'

 49: !
 50: ! SNESLineSearchType
 51: !

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

 59: !
 60: ! SNESLineSearchOrder
 61: !

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


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



 82: #endif