Actual source code: chebyshevimpl.h

petsc-3.4.2 2013-07-02
  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  eststeps;     /* number of adaptive/est steps in Hybrid Chebyshev */
 17:   PetscInt  its;          /* total hybrid iterations, used to determine when toGMRES step in hybrid impl */
 18:   PetscBool purification; /* Hybrid method uses the GMRES/adaptive/est steps to imporve the approximate solution */
 19:   PetscRandom random;
 20: } KSP_Chebyshev;

 22: #endif