Actual source code: petscksp.h

      1: !
      2: !  Used by petsckspdefmod.F90 to create Fortran module file
      3: !
      4: #include "petsc/finclude/petscksp.h"

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

     10:       KSP, parameter :: PETSC_NULL_KSP = tKSP(0)

     12:       type tKSPGuess
     13:         PetscFortranAddr:: v PETSC_FORTRAN_TYPE_INITIALIZE
     14:       end type tKSPGuess

     16:       KSPGuess, parameter :: PETSC_NULL_KSPGuess = tKSPGuess(0)

     18:       PetscEnum, parameter :: KSP_CG_SYMMETRIC=0
     19:       PetscEnum, parameter :: KSP_CG_HERMITIAN=1

     21:       PetscEnum, parameter :: KSP_FCD_TRUNC_TYPE_STANDARD=0
     22:       PetscEnum, parameter :: KSP_FCD_TRUNC_TYPE_NOTAY=1

     24:       PetscEnum, parameter :: KSP_CONVERGED_RTOL            = 2
     25:       PetscEnum, parameter :: KSP_CONVERGED_ATOL            = 3
     26:       PetscEnum, parameter :: KSP_CONVERGED_ITS             = 4
     27:       PetscEnum, parameter :: KSP_CONVERGED_CG_NEG_CURVE    = 5
     28:       PetscEnum, parameter :: KSP_CONVERGED_CG_CONSTRAINED  = 6
     29:       PetscEnum, parameter :: KSP_CONVERGED_STEP_LENGTH     = 7
     30:       PetscEnum, parameter :: KSP_CONVERGED_HAPPY_BREAKDOWN = 8

     32:       PetscEnum, parameter :: KSP_DIVERGED_NULL           = -2
     33:       PetscEnum, parameter :: KSP_DIVERGED_ITS            = -3
     34:       PetscEnum, parameter :: KSP_DIVERGED_DTOL           = -4
     35:       PetscEnum, parameter :: KSP_DIVERGED_BREAKDOWN      = -5
     36:       PetscEnum, parameter :: KSP_DIVERGED_BREAKDOWN_BICG = -6
     37:       PetscEnum, parameter :: KSP_DIVERGED_NONSYMMETRIC   = -7
     38:       PetscEnum, parameter :: KSP_DIVERGED_INDEFINITE_PC  = -8
     39:       PetscEnum, parameter :: KSP_DIVERGED_NANORINF       = -9
     40:       PetscEnum, parameter :: KSP_DIVERGED_INDEFINITE_MAT = -10
     41:       PetscEnum, parameter :: KSP_DIVERGED_PC_FAILED = -11

     43:       PetscEnum, parameter :: KSP_CONVERGED_ITERATING = 0

     45: !
     46: !  MatLMVMSymBrdnScaleType
     47: !
     48:       PetscEnum, parameter :: MAT_LMVM_SYMBRDN_SCALE_NONE     = 0
     49:       PetscEnum, parameter :: MAT_LMVM_SYMBRDN_SCALE_SCALAR   = 1
     50:       PetscEnum, parameter :: MAT_LMVM_SYMBRDN_SCALE_DIAGONAL = 2
     51:       PetscEnum, parameter :: MAT_LMVM_SYMBRDN_SCALE_USER     = 3

     53: !
     54: !  Possible arguments to KSPSetNormType()
     55: !
     56:       PetscEnum, parameter :: KSP_NORM_DEFAULT=0
     57:       PetscEnum, parameter :: KSP_NORM_NONE=0
     58:       PetscEnum, parameter :: KSP_NORM_PRECONDITIONED=1
     59:       PetscEnum, parameter :: KSP_NORM_UNPRECONDITIONED=2
     60:       PetscEnum, parameter :: KSP_NORM_NATURAL=3
     61: !
     62: !   Possible arguments to KSPMonitorSet()
     63: !
     64:       external KSPCONVERGEDDEFAULT
     65:       external KSPMONITORRESIDUAL
     66:       external KSPMONITORTRUERESIDUAL
     67:       external KSPMONITORSOLUTION
     68:       external KSPMONITORSINGULARVALUE
     69:       external KSPGMRESMONITORKRYLOV
     70:       external KSPGMRESCLASSICALGRAMSCHMIDTORTHOGONALIZATION
     71:       external KSPGMRESMODIFIEDGRAMSCHMIDTORTHOGONALIZATION
     72: !
     73: !   Possible arguments to KSPGMRESSetRefinementType()
     74: !
     75:       PetscEnum, parameter :: KSP_GMRES_CGS_REFINE_NEVER = 0
     76:       PetscEnum, parameter :: KSP_GMRES_CGS_REFINE_IFNEEDED = 1
     77:       PetscEnum, parameter :: KSP_GMRES_CGS_REFINE_ALWAYS = 2