Actual source code: petscsnes.h

petsc-3.12.5 2020-03-29
Report Typos and Errors
  1: !
  2: !  Include file for Fortran use of the SNES package in PETSc
  3: !
  4: #include "petsc/finclude/petscsnes.h"

  6:       type tSNES
  7:         PetscFortranAddr:: v PETSC_FORTRAN_TYPE_INITIALIZE
  8:       end type tSNES

 10:       type tPetscConvEst
 11:         PetscFortranAddr:: v PETSC_FORTRAN_TYPE_INITIALIZE
 12:       end type tPetscConvEst

 14:       SNES, parameter :: PETSC_NULL_SNES = tSNES(0)
 15:       PetscConvEst, parameter :: PETSC_NULL_CONVEST =                   &
 16:      & tPetscConvEst(0)
 17: !
 18: !  Convergence flags
 19: !
 20:       PetscEnum SNES_CONVERGED_FNORM_ABS
 21:       PetscEnum SNES_CONVERGED_FNORM_RELATIVE
 22:       PetscEnum SNES_CONVERGED_SNORM_RELATIVE
 23:       PetscEnum SNES_CONVERGED_ITS

 25:       PetscEnum SNES_DIVERGED_FUNCTION_DOMAIN
 26:       PetscEnum SNES_DIVERGED_FUNCTION_COUNT
 27:       PetscEnum SNES_DIVERGED_LINEAR_SOLVE
 28:       PetscEnum SNES_DIVERGED_FNORM_NAN
 29:       PetscEnum SNES_DIVERGED_MAX_IT
 30:       PetscEnum SNES_DIVERGED_LINE_SEARCH
 31:       PetscEnum SNES_DIVERGED_INNER
 32:       PetscEnum SNES_DIVERGED_LOCAL_MIN
 33:       PetscEnum SNES_DIVERGED_DTOL
 34:       PetscEnum SNES_DIVERGED_JACOBIAN_DOMAIN
 35:       PetscEnum SNES_DIVERGED_TR_DELTA
 36:       PetscEnum SNES_CONVERGED_ITERATING

 38:       parameter (SNES_CONVERGED_FNORM_ABS         =  2)
 39:       parameter (SNES_CONVERGED_FNORM_RELATIVE    =  3)
 40:       parameter (SNES_CONVERGED_SNORM_RELATIVE    =  4)
 41:       parameter (SNES_CONVERGED_ITS               =  5)

 43:       parameter (SNES_DIVERGED_FUNCTION_DOMAIN    = -1)
 44:       parameter (SNES_DIVERGED_FUNCTION_COUNT     = -2)
 45:       parameter (SNES_DIVERGED_LINEAR_SOLVE       = -3)
 46:       parameter (SNES_DIVERGED_FNORM_NAN          = -4)
 47:       parameter (SNES_DIVERGED_MAX_IT             = -5)
 48:       parameter (SNES_DIVERGED_LINE_SEARCH        = -6)
 49:       parameter (SNES_DIVERGED_INNER              = -7)
 50:       parameter (SNES_DIVERGED_LOCAL_MIN          = -8)
 51:       parameter (SNES_DIVERGED_DTOL               = -9)
 52:       parameter (SNES_DIVERGED_JACOBIAN_DOMAIN    = -10)
 53:       parameter (SNES_DIVERGED_TR_DELTA           = -11)
 54:       parameter (SNES_CONVERGED_ITERATING         =  0)
 55: !
 56: !     SNESLineSearchReason
 57: !
 58:       PetscEnum SNES_LINESEARCH_SUCCEEDED
 59:       PetscEnum SNES_LINESEARCH_FAILED_NANORINF
 60:       PetscEnum SNES_LINESEARCH_FAILED_DOMAIN
 61:       PetscEnum SNES_LINESEARCH_FAILED_REDUCT
 62:       PetscEnum SNES_LINESEARCH_FAILED_USER
 63:       PetscEnum SNES_LINESEARCH_FAILED_FUNCTION

 65:       parameter (SNES_LINESEARCH_SUCCEEDED       = 0)
 66:       parameter (SNES_LINESEARCH_FAILED_NANORINF = 1)
 67:       parameter (SNES_LINESEARCH_FAILED_DOMAIN   = 2)
 68:       parameter (SNES_LINESEARCH_FAILED_REDUCT   = 3)
 69:       parameter (SNES_LINESEARCH_FAILED_USER     = 4)
 70:       parameter (SNES_LINESEARCH_FAILED_FUNCTION = 5)
 71: !
 72:   ! SNESNormSchedule
 73: !
 74:       PetscEnum SNES_NORM_DEFAULT
 75:       PetscEnum SNES_NORM_NONE
 76:       PetscEnum SNES_NORM_ALWAYS
 77:       PetscEnum SNES_NORM_INITIAL_ONLY
 78:       PetscEnum SNES_NORM_FINAL_ONLY
 79:       PetscEnum SNES_NORM_INITIAL_FINAL_ONLY

 81:       parameter (SNES_NORM_DEFAULT                = -1)
 82:       parameter (SNES_NORM_NONE                   =  0)
 83:       parameter (SNES_NORM_ALWAYS                 =  1)
 84:       parameter (SNES_NORM_INITIAL_ONLY           =  2)
 85:       parameter (SNES_NORM_FINAL_ONLY             =  3)
 86:       parameter (SNES_NORM_INITIAL_FINAL_ONLY     =  4)

 88: !
 89: !  Some PETSc fortran functions that the user might pass as arguments
 90: !
 91:       external SNESCOMPUTEJACOBIANDEFAULT
 92:       external MATMFFDCOMPUTEJACOBIAN
 93:       external SNESCOMPUTEJACOBIANDEFAULTCOLOR
 94:       external SNESMONITORDEFAULT
 95:       external SNESMONITORLGRESIDUALNORM
 96:       external SNESMONITORSOLUTION
 97:       external SNESMONITORSOLUTIONUPDATE

 99:       external SNESCONVERGEDDEFAULT
100:       external SNESCONVERGEDSKIP

102: !
103: ! SNESNGMRESRestartType
104: !

106:       PetscEnum SNES_NGMRES_RESTART_NONE
107:       PetscEnum SNES_NGMRES_RESTART_PERIODIC
108:       PetscEnum SNES_NGMRES_RESTART_DIFFERENCE

110:       parameter (SNES_NGMRES_RESTART_NONE = 0)
111:       parameter (SNES_NGMRES_RESTART_PERIODIC = 1)
112:       parameter (SNES_NGMRES_RESTART_DIFFERENCE = 2)


115: !
116: ! SNESNGMRESSelectionType
117: !

119:       PetscEnum SNES_NGMRES_SELECT_NONE
120:       PetscEnum SNES_NGMRES_SELECT_DIFFERENCE
121:       PetscEnum SNES_NGMRES_SELECT_LINESEARCH

123:       parameter (SNES_NGMRES_SELECT_NONE = 0)
124:       parameter (SNES_NGMRES_SELECT_DIFFERENCE = 1)
125:       parameter (SNES_NGMRES_SELECT_LINESEARCH = 2)

127: !
128: ! SNESQNType
129: !

131:       PetscEnum SNES_QN_LBFGS
132:       PetscEnum SNES_QN_BROYDEN
133:       PetscEnum SNES_QN_BADBROYDEN

135:       parameter(SNES_QN_LBFGS       = 0)
136:       parameter(SNES_QN_BROYDEN     = 1)
137:       parameter(SNES_QN_BADBROYDEN  = 2)

139: !
140: ! SNESQNScaleType
141: !

143:       PetscEnum SNES_QN_SCALE_DEFAULT
144:       PetscEnum SNES_QN_SCALE_NONE
145:       PetscEnum SNES_QN_SCALE_SHANNO
146:       PetscEnum SNES_QN_SCALE_LINESEARCH
147:       PetscEnum SNES_QN_SCALE_JACOBIAN

149:       parameter(SNES_QN_SCALE_DEFAULT    = 0)
150:       parameter(SNES_QN_SCALE_NONE       = 1)
151:       parameter(SNES_QN_SCALE_SHANNO     = 2)
152:       parameter(SNES_QN_SCALE_LINESEARCH = 3)
153:       parameter(SNES_QN_SCALE_JACOBIAN   = 4)

155: !
156: ! SNESQNRestartType
157: !

159:       PetscEnum SNES_QN_RESTART_DEFAULT
160:       PetscEnum SNES_QN_RESTART_NONE
161:       PetscEnum SNES_QN_RESTART_POWELL
162:       PetscEnum SNES_QN_RESTART_PERIODIC

164:       parameter(SNES_QN_RESTART_DEFAULT  = 0)
165:       parameter(SNES_QN_RESTART_NONE     = 1)
166:       parameter(SNES_QN_RESTART_POWELL   = 2)
167:       parameter(SNES_QN_RESTART_PERIODIC = 3)

169: !
170: ! SNESNCGType
171: !

173:       PetscEnum SNES_NCG_FR
174:       PetscEnum SNES_NCG_PRP
175:       PetscEnum SNES_NCG_HS
176:       PetscEnum SNES_NCG_DY
177:       PetscEnum SNES_NCG_CD

179:       parameter(SNES_NCG_FR  = 0)
180:       parameter(SNES_NCG_PRP = 1)
181:       parameter(SNES_NCG_HS  = 2)
182:       parameter(SNES_NCG_DY  = 3)
183:       parameter(SNES_NCG_CD  = 4)


186: !  End of Fortran include file for the SNES package in PETSc