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