Actual source code: petscksp.h

  1: !
  2: !  "$Id: petscksp.h,v 1.32 2001/04/10 22:37:56 balay Exp $";
  3: !
  4: !  Include file for Fortran use of the KSP package in PETSc
  5: !
  6: #if !defined (__PETSCKSP_H)

  9: #define KSP PetscFortranAddr
 10: #define KSPType character*(80)
 11: #define KSPCGType integer
 12: #define KSPConvergedReason integer 
 13: !
 14: !  Various Krylov subspace methods
 15: !
 16: #define KSPRICHARDSON 'richardson'
 17: #define KSPCHEBYCHEV 'chebychev'
 18: #define KSPCG 'cg'
 19: #define KSPGMRES 'gmres'
 20: #define KSPTCQMR 'tcqmr'
 21: #define KSPBCGS 'bcgs'
 22: #define KSPCGS 'cgs'
 23: #define KSPTFQMR 'tfqmr'
 24: #define KSPCR 'cr'
 25: #define KSPLSQR 'lsqr'
 26: #define KSPPREONLY 'preonly'
 27: #define KSPQCG 'qcg'
 28: #define KSPBICG 'bicg'
 29: #define KSPFGMRES 'fgmres'
 30: #define KSPMINRES 'minres'
 31: #define KSPSYMMLQ 'symmlq'
 32: #endif


 35: #if !defined (PETSC_AVOID_DECLARATIONS)

 37: !
 38: !  CG Types
 39: !
 40:       integer KSP_CG_SYMMETRIC,KSP_CG_HERMITIAN

 42:       parameter (KSP_CG_SYMMETRIC=1,KSP_CG_HERMITIAN=2)

 44:       integer KSP_CONVERGED_RTOL,KSP_CONVERGED_ATOL
 45:       integer KSP_CONVERGED_ITS
 46:       integer KSP_DIVERGED_ITS,KSP_DIVERGED_DTOL
 47:       integer KSP_DIVERGED_BREAKDOWN,KSP_CONVERGED_ITERATING
 48:       integer KSP_CONVERGED_QCG_NEG_CURVE
 49:       integer KSP_CONVERGED_QCG_CONSTRAINED
 50:       integer KSP_CONVERGED_STEP_LENGTH
 51:       integer KSP_DIVERGED_BREAKDOWN_BICG
 52:       integer KSP_DIVERGED_NONSYMMETRIC
 53:       integer KSP_DIVERGED_INDEFINITE_PC

 55:       parameter (KSP_CONVERGED_RTOL      = 2)
 56:       parameter (KSP_CONVERGED_ATOL      = 3)
 57:       parameter (KSP_CONVERGED_ITS       = 4)
 58:       parameter (KSP_CONVERGED_QCG_NEG_CURVE = 5)
 59:       parameter (KSP_CONVERGED_QCG_CONSTRAINED = 6)
 60:       parameter (KSP_CONVERGED_STEP_LENGTH = 7)

 62:       parameter (KSP_DIVERGED_ITS        = -3)
 63:       parameter (KSP_DIVERGED_DTOL       = -4)
 64:       parameter (KSP_DIVERGED_BREAKDOWN  = -5)
 65:       parameter (KSP_DIVERGED_BREAKDOWN_BICG = -6)
 66:       parameter (KSP_DIVERGED_NONSYMMETRIC = -7)
 67:       parameter (KSP_DIVERGED_INDEFINITE_PC = -8)

 69:       parameter (KSP_CONVERGED_ITERATING = 0)
 70: !
 71: !
 72: !   Possible arguments to KSPSetMonitor()
 73: !
 74:       external KSPDEFAULTCONVERGED

 76:       external KSPDEFAULTMONITOR
 77:       external KSPTRUEMONITOR
 78:       external KSPLGMONITOR
 79:       external KSPLGTRUEMONITOR
 80:       external KSPVECVIEWMONITOR
 81:       external KSPSINGULARVALUEMONITOR

 83: !  End of Fortran include file for the KSP package in PETSc

 85: #endif