petsc-dev / src / ksp / ksp / impls / cheby / chebyshevimpl.h

/*
    Private data structure for Chebyshev Iteration
*/

#if !defined(__CHEBY)
#define __CHEBY

typedef struct {
  PetscReal emin,emax;    /* store user provided estimates of extreme eigenvalues */
  KSP       kspest;       /* KSP used to estimate eigenvalues */
  PC        pcnone;       /* Dummy PC to drop in so PCSetFromOptions doesn't get called extra times */
  PetscReal tform[4];     /* transform from Krylov estimates to Chebyshev bounds */
  PetscBool estimate_current;
  PetscBool hybrid;       /* flag for using Hybrid Chebyshev */
  PetscInt  chebysteps;   /* number of Chebyshev steps in Hybrid Chebyshev */
  PetscInt  eststeps;     /* number of adaptive/est steps in Hybrid Chebyshev */
  PetscInt  its;          /* total hybrid iterations, used to determine when toGMRES step in hybrid impl */
  PetscBool purification; /* Hybrid method uses the GMRES/adaptive/est steps to imporve the approximate solution */
  PetscRandom random;
} KSP_Chebyshev;

#endif
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.