Actual source code: deflation.h


  4: #include <petsc/private/pcimpl.h>
  5: #include <petscksp.h>

  7: typedef struct {
  8:   PetscBool   init;            /* do only init step - error correction of direction is omitted */
  9:   PetscBool   correct;         /* add CP (Qr) correction to descent direction */
 10:   PetscScalar correctfact;
 11:   PetscInt    reductionfact;
 12:   Mat         W,Wt,WtA,WtAW;    /* deflation space, coarse problem mats */
 13:   KSP         WtAWinv;         /* deflation coarse problem */
 14:   KSPType     ksptype;
 15:   PC          pc;              /* additional preconditioner */
 16:   Vec         work;
 17:   Vec         *workcoarse;
 18:   const char  *prefix;

 20:   PCDeflationSpaceType spacetype;
 21:   PetscInt             spacesize;
 22:   PetscInt             lvl;
 23:   PetscInt             maxlvl;
 24:   PetscBool            extendsp;
 25: } PC_Deflation;

 27: PETSC_INTERN PetscErrorCode PCDeflationComputeSpace(PC);

 29: #endif