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: ! SNESNormSchedule 42: ! 43: PetscEnum SNES_NORM_DEFAULT 44: PetscEnum SNES_NORM_NONE 45: PetscEnum SNES_NORM_ALWAYS 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_ALWAYS = 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 SNESCONVERGEDSKIP 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_DEFAULT 102: PetscEnum SNES_QN_SCALE_NONE 103: PetscEnum SNES_QN_SCALE_SHANNO 104: PetscEnum SNES_QN_SCALE_LINESEARCH 105: PetscEnum SNES_QN_SCALE_JACOBIAN 107: parameter(SNES_QN_SCALE_DEFAULT = 0) 108: parameter(SNES_QN_SCALE_NONE = 1) 109: parameter(SNES_QN_SCALE_SHANNO = 2) 110: parameter(SNES_QN_SCALE_LINESEARCH = 3) 111: parameter(SNES_QN_SCALE_JACOBIAN = 4) 113: ! 114: ! SNESQNRestartType 115: ! 117: PetscEnum SNES_QN_RESTART_DEFAULT 118: PetscEnum SNES_QN_RESTART_NONE 119: PetscEnum SNES_QN_RESTART_POWELL 120: PetscEnum SNES_QN_RESTART_PERIODIC 122: parameter(SNES_QN_RESTART_DEFAULT = 0) 123: parameter(SNES_QN_RESTART_NONE = 1) 124: parameter(SNES_QN_RESTART_POWELL = 2) 125: parameter(SNES_QN_RESTART_PERIODIC = 3) 127: ! 128: ! SNESNCGType 129: ! 131: PetscEnum SNES_NCG_FR 132: PetscEnum SNES_NCG_PRP 133: PetscEnum SNES_NCG_HS 134: PetscEnum SNES_NCG_DY 135: PetscEnum SNES_NCG_CD 137: parameter(SNES_NCG_FR = 0) 138: parameter(SNES_NCG_PRP = 1) 139: parameter(SNES_NCG_HS = 2) 140: parameter(SNES_NCG_DY = 3) 141: parameter(SNES_NCG_CD = 4) 144: ! End of Fortran include file for the SNES package in PETSc