1: ! 2: ! Include file for Fortran use of the SNES package in PETSc 3: ! 4: #include petsc/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: ! SNESLineSearchReason 42: ! 43: PetscEnum SNES_LINESEARCH_SUCCEEDED 44: PetscEnum SNES_LINESEARCH_FAILED_NANORINF 45: PetscEnum SNES_LINESEARCH_FAILED_DOMAIN 46: PetscEnum SNES_LINESEARCH_FAILED_REDUCT 47: PetscEnum SNES_LINESEARCH_FAILED_USER 48: PetscEnum SNES_LINESEARCH_FAILED_FUNCTION 50: parameter (SNES_LINESEARCH_SUCCEEDED = 0) 51: parameter (SNES_LINESEARCH_FAILED_NANORINF = 1) 52: parameter (SNES_LINESEARCH_FAILED_DOMAIN = 2) 53: parameter (SNES_LINESEARCH_FAILED_REDUCT = 3) 54: parameter (SNES_LINESEARCH_FAILED_USER = 4) 55: parameter (SNES_LINESEARCH_FAILED_FUNCTION = 5) 56: ! 57: ! SNESNormSchedule 58: ! 59: PetscEnum SNES_NORM_DEFAULT 60: PetscEnum SNES_NORM_NONE 61: PetscEnum SNES_NORM_ALWAYS 62: PetscEnum SNES_NORM_INITIAL_ONLY 63: PetscEnum SNES_NORM_FINAL_ONLY 64: PetscEnum SNES_NORM_INITIAL_FINAL_ONLY 66: parameter (SNES_NORM_DEFAULT = -1) 67: parameter (SNES_NORM_NONE = 0) 68: parameter (SNES_NORM_ALWAYS = 1) 69: parameter (SNES_NORM_INITIAL_ONLY = 2) 70: parameter (SNES_NORM_FINAL_ONLY = 3) 71: parameter (SNES_NORM_INITIAL_FINAL_ONLY = 4) 73: ! 74: ! Some PETSc fortran functions that the user might pass as arguments 75: ! 76: external SNESCOMPUTEJACOBIANDEFAULT 77: external MATMFFDCOMPUTEJACOBIAN 78: external SNESCOMPUTEJACOBIANDEFAULTCOLOR 79: external SNESMONITORDEFAULT 80: external SNESMONITORLGRESIDUALNORM 81: external SNESMONITORSOLUTION 82: external SNESMONITORSOLUTIONUPDATE 84: external SNESCONVERGEDDEFAULT 85: external SNESCONVERGEDSKIP 87: ! 88: ! SNESNGMRESRestartType 89: ! 91: PetscEnum SNES_NGMRES_RESTART_NONE 92: PetscEnum SNES_NGMRES_RESTART_PERIODIC 93: PetscEnum SNES_NGMRES_RESTART_DIFFERENCE 95: parameter (SNES_NGMRES_RESTART_NONE = 0) 96: parameter (SNES_NGMRES_RESTART_PERIODIC = 1) 97: parameter (SNES_NGMRES_RESTART_DIFFERENCE = 2) 100: ! 101: ! SNESNGMRESSelectionType 102: ! 104: PetscEnum SNES_NGMRES_SELECT_NONE 105: PetscEnum SNES_NGMRES_SELECT_DIFFERENCE 106: PetscEnum SNES_NGMRES_SELECT_LINESEARCH 108: parameter (SNES_NGMRES_SELECT_NONE = 0) 109: parameter (SNES_NGMRES_SELECT_DIFFERENCE = 1) 110: parameter (SNES_NGMRES_SELECT_LINESEARCH = 2) 113: ! 114: ! SNESQNScaleType 115: ! 117: PetscEnum SNES_QN_SCALE_DEFAULT 118: PetscEnum SNES_QN_SCALE_NONE 119: PetscEnum SNES_QN_SCALE_SHANNO 120: PetscEnum SNES_QN_SCALE_LINESEARCH 121: PetscEnum SNES_QN_SCALE_JACOBIAN 123: parameter(SNES_QN_SCALE_DEFAULT = 0) 124: parameter(SNES_QN_SCALE_NONE = 1) 125: parameter(SNES_QN_SCALE_SHANNO = 2) 126: parameter(SNES_QN_SCALE_LINESEARCH = 3) 127: parameter(SNES_QN_SCALE_JACOBIAN = 4) 129: ! 130: ! SNESQNRestartType 131: ! 133: PetscEnum SNES_QN_RESTART_DEFAULT 134: PetscEnum SNES_QN_RESTART_NONE 135: PetscEnum SNES_QN_RESTART_POWELL 136: PetscEnum SNES_QN_RESTART_PERIODIC 138: parameter(SNES_QN_RESTART_DEFAULT = 0) 139: parameter(SNES_QN_RESTART_NONE = 1) 140: parameter(SNES_QN_RESTART_POWELL = 2) 141: parameter(SNES_QN_RESTART_PERIODIC = 3) 143: ! 144: ! SNESNCGType 145: ! 147: PetscEnum SNES_NCG_FR 148: PetscEnum SNES_NCG_PRP 149: PetscEnum SNES_NCG_HS 150: PetscEnum SNES_NCG_DY 151: PetscEnum SNES_NCG_CD 153: parameter(SNES_NCG_FR = 0) 154: parameter(SNES_NCG_PRP = 1) 155: parameter(SNES_NCG_HS = 2) 156: parameter(SNES_NCG_DY = 3) 157: parameter(SNES_NCG_CD = 4) 160: ! End of Fortran include file for the SNES package in PETSc