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 24: 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 SNESDEFAULTCOMPUTEJACOBIAN 61: external MATMFFDCOMPUTEJACOBIAN 62: external SNESDEFAULTCOMPUTEJACOBIANCOLOR 63: external SNESMONITORDEFAULT 64: external SNESMONITORLG 65: external SNESMONITORSOLUTION 66: external SNESMONITORSOLUTIONUPDATE 68: external SNESDEFAULTCONVERGED 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: ! SNESQNCompositionType 99: ! 101: PetscEnum SNES_QN_SEQUENTIAL 102: PetscEnum SNES_QN_COMPOSED 104: parameter (SNES_QN_SEQUENTIAL = 0) 105: parameter (SNES_QN_COMPOSED = 1) 107: ! 108: ! SNESQNScaleType 109: ! 111: PetscEnum SNES_QN_SCALE_NONE 112: PetscEnum SNES_QN_SCALE_SHANNO 113: PetscEnum SNES_QN_SCALE_LINESEARCH 114: PetscEnum SNES_QN_SCALE_JACOBIAN 116: parameter(SNES_QN_SCALE_NONE = 0) 117: parameter(SNES_QN_SCALE_SHANNO = 1) 118: parameter(SNES_QN_SCALE_LINESEARCH = 2) 119: parameter(SNES_QN_SCALE_JACOBIAN = 3) 121: ! 122: ! SNESQNRestartType 123: ! 125: PetscEnum SNES_QN_RESTART_NONE 126: PetscEnum SNES_QN_RESTART_POWELL 127: PetscEnum SNES_QN_RESTART_PERIODIC 129: parameter(SNES_QN_RESTART_NONE = 0) 130: parameter(SNES_QN_RESTART_POWELL = 1) 131: parameter(SNES_QN_RESTART_PERIODIC = 2) 133: ! 134: ! SNESNCGType 135: ! 137: PetscEnum SNES_NCG_FR 138: PetscEnum SNES_NCG_PRP 139: PetscEnum SNES_NCG_HS 140: PetscEnum SNES_NCG_DY 141: PetscEnum SNES_NCG_CD 143: parameter(SNES_NCG_FR = 0) 144: parameter(SNES_NCG_PRP = 1) 145: parameter(SNES_NCG_HS = 2) 146: parameter(SNES_NCG_DY = 3) 147: parameter(SNES_NCG_CD = 4) 150: ! End of Fortran include file for the SNES package in PETSc