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