Actual source code: petscksp.h

      1: !
      2: !
      3: !  Include file for Fortran use of the KSP package in PETSc
      4: !
      5: #if !defined (PETSCKSPDEF_H)
      6: #define PETSCKSPDEF_H

      8: #include "petsc/finclude/petscpc.h"

     10: #define KSP type(tKSP)
     11: #define KSPGuess type(tKSPGuess)

     13: #define KSPType character*(80)
     14: #define KSPGuessType character*(80)
     15: #define KSPCGType PetscEnum
     16: #define KSPFCDTruncationType PetscEnum
     17: #define KSPConvergedReason PetscEnum
     18: #define KSPNormType PetscEnum
     19: #define KSPGMRESCGSRefinementType PetscEnum
     20: #define MatSchurComplementAinvType PetscEnum
     21: #define MatLMVMSymBroydenScaleType PetscEnum
     22: #define MatLMVMDenseType PetscEnum
     23: #define KSPHPDDMType PetscEnum
     24: #define KSPChebyshevKind PetscEnum

     26: !
     27: !  Various Krylov subspace methods
     28: !
     29: #define KSPRICHARDSON 'richardson'
     30: #define KSPCHEBYSHEV 'chebyshev'
     31: #define KSPCG 'cg'
     32: #define KSPGROPPCG 'groppcg'
     33: #define KSPPIPECG 'pipecg'
     34: #define KSPPIPECGRR 'pipecgrr'
     35: #define KSPPIPELCG 'pipelcg'
     36: #define KSPPIPECG2 'pipecg2'
     37: #define KSPCGNE 'cgne'
     38: #define KSPNASH 'nash'
     39: #define KSPSTCG 'stcg'
     40: #define KSPGLTR 'gltr'
     41: #define KSPFCG 'fcg'
     42: #define KSPPIPEFCG 'pipefcg'
     43: #define KSPGMRES 'gmres'
     44: #define KSPPIPEFGMRES 'pipefgmres'
     45: #define KSPFGMRES 'fgmres'
     46: #define KSPLGMRES 'lgmres'
     47: #define KSPDGMRES 'dgmres'
     48: #define KSPPGMRES 'pgmres'
     49: #define KSPTCQMR 'tcqmr'
     50: #define KSPBCGS 'bcgs'
     51: #define KSPIBCGS 'ibcgs'
     52: #define KSPQMRCGS 'qmrcgs'
     53: #define KSPFBCGS  'fbcgs'
     54: #define KSPFBCGSR 'fbcgsr'
     55: #define KSPBCGSL 'bcgsl'
     56: #define KSPPIPEBCGS 'pipebcgs'
     57: #define KSPCGS 'cgs'
     58: #define KSPTFQMR 'tfqmr'
     59: #define KSPCR 'cr'
     60: #define KSPPIPECR 'pipecr'
     61: #define KSPLSQR 'lsqr'
     62: #define KSPPREONLY 'preonly'
     63: #define KSPNONE 'none'
     64: #define KSPQCG 'qcg'
     65: #define KSPBICG 'bicg'
     66: #define KSPMINRES 'minres'
     67: #define KSPSYMMLQ 'symmlq'
     68: #define KSPLCD 'lcd'
     69: #define KSPPYTHON 'python'
     70: #define KSPGCR 'gcr'
     71: #define KSPPIPEGCR 'pipegcr'
     72: #define KSPTSIRM 'tsirm'
     73: #define KSPCGLS 'cgls'
     74: #define KSPFETIDP 'fetidp'
     75: #define KSPHPDDM 'hpddm'
     76: !
     77: !  Various Initial guesses for Krylov subspace methods
     78: !
     79: #define KSPGUESSFISCHER 'fischer'
     80: #define KSPGUESSPOD 'pod'
     81: #endif