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 :: MAT_SCHUR_COMPLEMENT_AINV_DIAG=0
 22:       PetscEnum, parameter :: MAT_SCHUR_COMPLEMENT_AINV_LUMP=1
 23:       PetscEnum, parameter :: MAT_SCHUR_COMPLEMENT_AINV_BLOCK_DIAG=2
 24:       PetscEnum, parameter :: MAT_SCHUR_COMPLEMENT_AINV_FULL=3

 26:       PetscEnum, parameter :: KSP_FCD_TRUNC_TYPE_STANDARD=0
 27:       PetscEnum, parameter :: KSP_FCD_TRUNC_TYPE_NOTAY=1

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

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

 47:       PetscEnum, parameter :: KSP_CONVERGED_ITERATING = 0

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

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

 83: #if defined(_WIN32) && defined(PETSC_USE_SHARED_LIBRARIES)
 84: !DEC$ ATTRIBUTES DLLEXPORT::PETSC_NULL_KSP
 85: #endif