1: ! 2: ! 3: ! Include file for Fortran use of the KSP package in PETSc 4: ! 5: #include "petsc/finclude/petscksp.h" 7: ! 8: ! CG Types 9: ! 10: type tKSP 11: PetscFortranAddr:: v PETSC_FORTRAN_TYPE_INITIALIZE 12: end type tKSP 14: KSP, parameter :: PETSC_NULL_KSP = tKSP(0) 16: type tKSPGuess 17: PetscFortranAddr:: v PETSC_FORTRAN_TYPE_INITIALIZE 18: end type tKSPGuess 20: KSPGuess, parameter :: PETSC_NULL_KSPGuess = tKSPGuess(0) 22: PetscEnum KSP_CG_SYMMETRIC 23: PetscEnum KSP_CG_HERMITIAN 24: parameter (KSP_CG_SYMMETRIC=0,KSP_CG_HERMITIAN=1) 26: PetscEnum KSP_FCD_TRUNC_TYPE_STANDARD 27: PetscEnum KSP_FCD_TRUNC_TYPE_NOTAY 28: parameter (KSP_FCD_TRUNC_TYPE_STANDARD=0) 29: parameter (KSP_FCD_TRUNC_TYPE_NOTAY=1) 31: PetscEnum KSP_CONVERGED_RTOL 32: PetscEnum KSP_CONVERGED_ATOL 33: PetscEnum KSP_CONVERGED_ITS 34: PetscEnum KSP_DIVERGED_NULL 35: PetscEnum KSP_DIVERGED_ITS 36: PetscEnum KSP_DIVERGED_DTOL 37: PetscEnum KSP_DIVERGED_BREAKDOWN 38: PetscEnum KSP_CONVERGED_ITERATING 39: PetscEnum KSP_CONVERGED_CG_NEG_CURVE 40: PetscEnum KSP_CONVERGED_CG_CONSTRAINED 41: PetscEnum KSP_CONVERGED_STEP_LENGTH 42: PetscEnum KSP_CONVERGED_HAPPY_BREAKDOWN 43: PetscEnum KSP_DIVERGED_BREAKDOWN_BICG 44: PetscEnum KSP_DIVERGED_NONSYMMETRIC 45: PetscEnum KSP_DIVERGED_INDEFINITE_PC 46: PetscEnum KSP_DIVERGED_NANORINF 47: PetscEnum KSP_DIVERGED_INDEFINITE_MAT 48: PetscEnum KSP_DIVERGED_PC_FAILED 50: parameter (KSP_CONVERGED_RTOL = 2) 51: parameter (KSP_CONVERGED_ATOL = 3) 52: parameter (KSP_CONVERGED_ITS = 4) 53: parameter (KSP_CONVERGED_CG_NEG_CURVE = 5) 54: parameter (KSP_CONVERGED_CG_CONSTRAINED = 6) 55: parameter (KSP_CONVERGED_STEP_LENGTH = 7) 56: parameter (KSP_CONVERGED_HAPPY_BREAKDOWN = 8) 58: parameter (KSP_DIVERGED_NULL = -2) 59: parameter (KSP_DIVERGED_ITS = -3) 60: parameter (KSP_DIVERGED_DTOL = -4) 61: parameter (KSP_DIVERGED_BREAKDOWN = -5) 62: parameter (KSP_DIVERGED_BREAKDOWN_BICG = -6) 63: parameter (KSP_DIVERGED_NONSYMMETRIC = -7) 64: parameter (KSP_DIVERGED_INDEFINITE_PC = -8) 65: parameter (KSP_DIVERGED_NANORINF = -9) 66: parameter (KSP_DIVERGED_INDEFINITE_MAT = -10) 67: parameter (KSP_DIVERGED_PC_FAILED = -11) 69: parameter (KSP_CONVERGED_ITERATING = 0) 70: ! 71: ! Possible arguments to KSPSetNormType() 72: ! 73: PetscEnum KSP_NORM_DEFAULT 74: PetscEnum KSP_NORM_NONE 75: PetscEnum KSP_NORM_PRECONDITIONED 76: PetscEnum KSP_NORM_UNPRECONDITIONED 77: PetscEnum KSP_NORM_NATURAL 79: parameter (KSP_NORM_DEFAULT=0) 80: parameter (KSP_NORM_NONE=0) 81: parameter (KSP_NORM_PRECONDITIONED=1) 82: parameter (KSP_NORM_UNPRECONDITIONED=2) 83: parameter (KSP_NORM_NATURAL=3) 84: ! 85: ! Possible arguments to KSPMonitorSet() 86: ! 87: external KSPCONVERGEDDEFAULT 88: external KSPMONITORDEFAULT 89: external KSPMONITORTRUERESIDUALNORM 90: external KSPMONITORLGRESIDUALNORM 91: external KSPMONITORLGTRUERESIDUALNORM 92: external KSPMONITORSOLUTION 93: external KSPMONITORSINGULARVALUE 94: external KSPGMRESMONITORKRYLOV 95: ! 96: ! Possible arguments to KSPGMRESSetRefinementType() 97: ! 98: PetscEnum KSP_GMRES_CGS_REFINE_NEVER 99: PetscEnum KSP_GMRES_CGS_REFINE_IFNEEDED 100: PetscEnum KSP_GMRES_CGS_REFINE_ALWAYS 101: ! 102: parameter (KSP_GMRES_CGS_REFINE_NEVER = 0) 103: parameter (KSP_GMRES_CGS_REFINE_IFNEEDED = 1) 104: parameter (KSP_GMRES_CGS_REFINE_ALWAYS = 2) 105: ! 106: ! End of Fortran include file for the KSP package in PETSc 107: !