1: ! 2: ! Include file for Fortran use of the SNES package in PETSc 3: ! 4: #include finclude/petscsnesdef.h 6: ! 7: ! Convergence flags 8: ! 9: PetscEnum SNES_CONVERGED_FNORM_ABS 10: PetscEnum SNES_CONVERGED_FNORM_RELATIVE 11: PetscEnum SNES_CONVERGED_SNORM_RELATIVE 12: PetscEnum SNES_CONVERGED_ITS 13: PetscEnum SNES_CONVERGED_TR_DELTA 15: PetscEnum SNES_DIVERGED_FUNCTION_DOMAIN 16: PetscEnum SNES_DIVERGED_FUNCTION_COUNT 17: PetscEnum SNES_DIVERGED_LINEAR_SOLVE 18: PetscEnum SNES_DIVERGED_FNORM_NAN 19: PetscEnum SNES_DIVERGED_MAX_IT 20: PetscEnum SNES_DIVERGED_LINE_SEARCH 21: PetscEnum SNES_DIVERGED_INNER 22: PetscEnum SNES_DIVERGED_LOCAL_MIN 23: PetscEnum SNES_CONVERGED_ITERATING 25: parameter (SNES_CONVERGED_FNORM_ABS = 2) 26: parameter (SNES_CONVERGED_FNORM_RELATIVE = 3) 27: parameter (SNES_CONVERGED_SNORM_RELATIVE = 4) 28: parameter (SNES_CONVERGED_ITS = 5) 29: parameter (SNES_CONVERGED_TR_DELTA = 7) 31: parameter (SNES_DIVERGED_FUNCTION_DOMAIN = -1) 32: parameter (SNES_DIVERGED_FUNCTION_COUNT = -2) 33: parameter (SNES_DIVERGED_LINEAR_SOLVE = -3) 34: parameter (SNES_DIVERGED_FNORM_NAN = -4) 35: parameter (SNES_DIVERGED_MAX_IT = -5) 36: parameter (SNES_DIVERGED_LINE_SEARCH = -6) 37: parameter (SNES_DIVERGED_INNER = -7) 38: parameter (SNES_DIVERGED_LOCAL_MIN = -8) 39: parameter (SNES_CONVERGED_ITERATING = 0) 40: ! 41: ! SNESNormType 42: ! 43: PetscEnum SNES_NORM_DEFAULT 44: PetscEnum SNES_NORM_NONE 45: PetscEnum SNES_NORM_FUNCTION 46: PetscEnum SNES_NORM_INITIAL_ONLY 47: PetscEnum SNES_NORM_FINAL_ONLY 48: PetscEnum SNES_NORM_INITIAL_FINAL_ONLY 50: parameter (SNES_NORM_DEFAULT = -1) 51: parameter (SNES_NORM_NONE = 0) 52: parameter (SNES_NORM_FUNCTION = 1) 53: parameter (SNES_NORM_INITIAL_ONLY = 2) 54: parameter (SNES_NORM_FINAL_ONLY = 3) 55: parameter (SNES_NORM_INITIAL_FINAL_ONLY = 4) 57: ! 58: ! Some PETSc fortran functions that the user might pass as arguments 59: ! 60: external SNESCOMPUTEJACOBIANDEFAULT 61: external MATMFFDCOMPUTEJACOBIAN 62: external SNESCOMPUTEJACOBIANDEFAULTCOLOR 63: external SNESMONITORDEFAULT 64: external SNESMONITORLGRESIDUALNORM 65: external SNESMONITORSOLUTION 66: external SNESMONITORSOLUTIONUPDATE 68: external SNESCONVERGEDDEFAULT 69: external SNESSKIPCONVERGED 71: ! 72: ! SNESNGMRESRestartType 73: ! 75: PetscEnum SNES_NGMRES_RESTART_NONE 76: PetscEnum SNES_NGMRES_RESTART_PERIODIC 77: PetscEnum SNES_NGMRES_RESTART_DIFFERENCE 79: parameter (SNES_NGMRES_RESTART_NONE = 0) 80: parameter (SNES_NGMRES_RESTART_PERIODIC = 1) 81: parameter (SNES_NGMRES_RESTART_DIFFERENCE = 2) 84: ! 85: ! SNESNGMRESSelectionType 86: ! 88: PetscEnum SNES_NGMRES_SELECT_NONE 89: PetscEnum SNES_NGMRES_SELECT_DIFFERENCE 90: PetscEnum SNES_NGMRES_SELECT_LINESEARCH 92: parameter (SNES_NGMRES_SELECT_NONE = 0) 93: parameter (SNES_NGMRES_SELECT_DIFFERENCE = 1) 94: parameter (SNES_NGMRES_SELECT_LINESEARCH = 2) 97: ! 98: ! SNESQNScaleType 99: ! 101: PetscEnum SNES_QN_SCALE_NONE 102: PetscEnum SNES_QN_SCALE_SHANNO 103: PetscEnum SNES_QN_SCALE_LINESEARCH 104: PetscEnum SNES_QN_SCALE_JACOBIAN 106: parameter(SNES_QN_SCALE_NONE = 0) 107: parameter(SNES_QN_SCALE_SHANNO = 1) 108: parameter(SNES_QN_SCALE_LINESEARCH = 2) 109: parameter(SNES_QN_SCALE_JACOBIAN = 3) 111: ! 112: ! SNESQNRestartType 113: ! 115: PetscEnum SNES_QN_RESTART_NONE 116: PetscEnum SNES_QN_RESTART_POWELL 117: PetscEnum SNES_QN_RESTART_PERIODIC 119: parameter(SNES_QN_RESTART_NONE = 0) 120: parameter(SNES_QN_RESTART_POWELL = 1) 121: parameter(SNES_QN_RESTART_PERIODIC = 2) 123: ! 124: ! SNESNCGType 125: ! 127: PetscEnum SNES_NCG_FR 128: PetscEnum SNES_NCG_PRP 129: PetscEnum SNES_NCG_HS 130: PetscEnum SNES_NCG_DY 131: PetscEnum SNES_NCG_CD 133: parameter(SNES_NCG_FR = 0) 134: parameter(SNES_NCG_PRP = 1) 135: parameter(SNES_NCG_HS = 2) 136: parameter(SNES_NCG_DY = 3) 137: parameter(SNES_NCG_CD = 4) 140: ! End of Fortran include file for the SNES package in PETSc