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, extends(tPetscObject) :: tKSP
      7:       end type tKSP
      8:       KSP, parameter :: PETSC_NULL_KSP = tKSP(0)
      9: #if defined(_WIN32) && defined(PETSC_USE_SHARED_LIBRARIES)
     10: !DEC$ ATTRIBUTES DLLEXPORT::PETSC_NULL_KSP
     11: #endif

     13:       type, extends(tPetscObject) :: tKSPGuess
     14:       end type tKSPGuess
     15:       KSPGuess, parameter :: PETSC_NULL_KSP_GUESS = tKSPGuess(0)
     16: #if defined(_WIN32) && defined(PETSC_USE_SHARED_LIBRARIES)
     17: !DEC$ ATTRIBUTES DLLEXPORT::PETSC_NULL_KSP_GUESS
     18: #endif

     20:       PetscEnum, parameter :: KSP_CG_SYMMETRIC=0
     21:       PetscEnum, parameter :: KSP_CG_HERMITIAN=1

     23:       PetscEnum, parameter :: MAT_SCHUR_COMPLEMENT_AINV_DIAG=0
     24:       PetscEnum, parameter :: MAT_SCHUR_COMPLEMENT_AINV_LUMP=1
     25:       PetscEnum, parameter :: MAT_SCHUR_COMPLEMENT_AINV_BLOCK_DIAG=2
     26:       PetscEnum, parameter :: MAT_SCHUR_COMPLEMENT_AINV_FULL=3

     28:       PetscEnum, parameter :: KSP_FCD_TRUNC_TYPE_STANDARD=0
     29:       PetscEnum, parameter :: KSP_FCD_TRUNC_TYPE_NOTAY=1

     31:       PetscEnum, parameter :: KSP_CONVERGED_RTOL            = 2
     32:       PetscEnum, parameter :: KSP_CONVERGED_ATOL            = 3
     33:       PetscEnum, parameter :: KSP_CONVERGED_ITS             = 4
     34:       PetscEnum, parameter :: KSP_CONVERGED_NEG_CURVE       = 5
     35:       PetscEnum, parameter :: KSP_CONVERGED_STEP_LENGTH     = 6
     36:       PetscEnum, parameter :: KSP_CONVERGED_HAPPY_BREAKDOWN = 7

     38:       PetscEnum, parameter :: KSP_DIVERGED_NULL           = -2
     39:       PetscEnum, parameter :: KSP_DIVERGED_ITS            = -3
     40:       PetscEnum, parameter :: KSP_DIVERGED_DTOL           = -4
     41:       PetscEnum, parameter :: KSP_DIVERGED_BREAKDOWN      = -5
     42:       PetscEnum, parameter :: KSP_DIVERGED_BREAKDOWN_BICG = -6
     43:       PetscEnum, parameter :: KSP_DIVERGED_NONSYMMETRIC   = -7
     44:       PetscEnum, parameter :: KSP_DIVERGED_INDEFINITE_PC  = -8
     45:       PetscEnum, parameter :: KSP_DIVERGED_NANORINF       = -9
     46:       PetscEnum, parameter :: KSP_DIVERGED_INDEFINITE_MAT = -10
     47:       PetscEnum, parameter :: KSP_DIVERGED_PC_FAILED = -11

     49:       PetscEnum, parameter :: KSP_CONVERGED_ITERATING = 0

     51: !
     52: !  MatLMVMSymBrdnScaleType
     53: !
     54:       PetscEnum, parameter :: MAT_LMVM_SYMBRDN_SCALE_NONE     = 0
     55:       PetscEnum, parameter :: MAT_LMVM_SYMBRDN_SCALE_SCALAR   = 1
     56:       PetscEnum, parameter :: MAT_LMVM_SYMBRDN_SCALE_DIAGONAL = 2
     57:       PetscEnum, parameter :: MAT_LMVM_SYMBRDN_SCALE_USER     = 3

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