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 SNESNormSchedule PetscEnum 21: #define SNESQNType PetscEnum 22: #define SNESQNRestartType PetscEnum 23: #define SNESQNCompositionType PetscEnum 24: #define SNESQNScaleType PetscEnum 25: #define SNESNCGType PetscEnum 26: #define SNESNGMRESRestartType PetscEnum 27: #define SNESNGMRESSelectType PetscEnum 29: ! 30: ! SNESType 31: ! 32: #define SNESNEWTONLS 'newtonls' 33: #define SNESNEWTONTR 'newtontr' 34: #define SNESPYTHON 'python' 35: #define SNESTEST 'test' 36: #define SNESNRICHARDSON 'nrichardson' 37: #define SNESKSPONLY 'ksponly' 38: #define SNESVINEWTONRSLS 'vinewtonrsls' 39: #define SNESVINEWTONSSLS 'vinewtonssls' 40: #define SNESNGMRES 'ngmres' 41: #define SNESQN 'qn' 42: #define SNESSHELL 'shell' 43: #define SNESNCG 'ncg' 44: #define SNESFAS 'fas' 45: #define SNESMS 'ms' 47: ! 48: ! SNESLineSearchType 49: ! 51: #define SNESLINESEARCHBASIC 'basic' 52: #define SNESLINESEARCHBT 'bt' 53: #define SNESLINESEARCHL2 'l2' 54: #define SNESLINESEARCHCP 'cp' 55: #define SNESLINESEARCHSHELL 'shell' 57: ! 58: ! SNESLineSearchOrder 59: ! 61: #define SNES_LINESEARCH_ORDER_LINEAR 1 62: #define SNES_LINESEARCH_ORDER_QUADRATIC 2 63: #define SNES_LINESEARCH_ORDER_CUBIC 3 66: ! 67: ! SNESMSType 68: ! 69: #define SNESMSEULER 'euler' 70: #define SNESMSM62 'm62' 71: #define SNESMSJAMESON83 'jameson83' 72: #define SNESMSVLTP21 'vltp21' 73: #define SNESMSVLTP31 'vltp31' 74: #define SNESMSVLTP41 'vltp41' 75: #define SNESMSVLTP51 'vltp51' 76: #define SNESMSVLTP61 'vltp61' 78: ! 79: ! MatSNESMF 80: ! 81: #define MATMFFD_DEFAULT 'ds' 82: #define MATMFFD_WP 'wp' 85: #endif