1: ! 2: ! 3: ! Include file for Fortran use of the KSP package in PETSc 4: ! 5: #if !defined (__PETSCKSPDEF_H) 8: #include finclude/petscpcdef.h 10: #if !defined(PETSC_USE_FORTRAN_DATATYPES) 11: #define KSP PetscFortranAddr 12: #define KSPFischerGuess PetscFortranAddr 13: #endif 15: #define KSPType character*(80) 16: #define KSPCGType PetscEnum 17: #define KSPConvergedReason PetscEnum 18: #define KSPNormType PetscEnum 19: #define KSPGMRESCGSRefinementType PetscEnum 20: ! 21: ! Various Krylov subspace methods 22: ! 23: #define KSPRICHARDSON 'richardson' 24: #define KSPCHEBYSHEV 'chebyshev' 25: #define KSPCG 'cg' 26: #define KSPCGNE 'cgne' 27: #define KSPNASH 'nash' 28: #define KSPSTCG 'stcg' 29: #define KSPGLTR 'gltr' 30: #define KSPGMRES 'gmres' 31: #define KSPFGMRES 'fgmres' 32: #define KSPLGMRES 'lgmres' 33: #define KSPDGMRES 'dgmres' 34: #define KSPPGMRES 'pgmres' 35: #define KSPTCQMR 'tcqmr' 36: #define KSPBCGS 'bcgs' 37: #define KSPIBCGS 'ibcgs' 38: #define KSPFBCGS 'fbcgs' 39: #define KSPIFBCGS 'ifbcgs' 40: #define KSPBCGSL 'bcgsl' 41: #define KSPCGS 'cgs' 42: #define KSPTFQMR 'tfqmr' 43: #define KSPCR 'cr' 44: #define KSPLSQR 'lsqr' 45: #define KSPPREONLY 'preonly' 46: #define KSPQCG 'qcg' 47: #define KSPBICG 'bicg' 48: #define KSPMINRES 'minres' 49: #define KSPSYMMLQ 'symmlq' 50: #define KSPLCD 'lcd' 51: #define KSPPYTHON 'python' 52: #define KSPGCR 'gcr' 53: #define KSPSPECEST 'specest' 54: #endif