Actual source code: chebyshevimpl.h

petsc-3.3-p5 2012-12-01
  1: /*  
  2:     Private data structure for Chebyshev Iteration 
  3: */


  8: typedef struct {
  9:   PetscReal emin,emax;   /* store user provided estimates of extreme eigenvalues */
 10:   KSP       kspest;      /* KSP used to estimate eigenvalues */
 11:   PC        pcnone;      /* Dummy PC to drop in so PCSetFromOptions doesn't get called extra times */
 12:   PetscReal tform[4];    /* transform from Krylov estimates to Chebyshev bounds */
 13:   PetscBool estimate_current;
 14:   PetscBool hybrid;      /* flag for using Hybrid Chebyshev */
 15:   PetscInt  chebysteps;  /* number of Chebyshev steps in Hybrid Chebyshev */
 16:   PetscInt  its;         /* total hybrid iterations, used to determine when to call GMRES step in hybrid impl */
 17:   PetscInt  purification;/* the hybrid method uses the GMRES steps to imporve the approximate solution 
 18:                             purification <= 0: no purification
 19:                                          = 1: purification only for new matrix (See case cheb->its = 0 in KSPSolve_Chebyshev())
 20:                                          >1 : purification */
 21: } KSP_Chebyshev;

 23: #endif