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