Date: 2022-03-31T04:48:28+00:00

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

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

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

     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