Actual source code: pipefcgimpl.h
1: #ifndef __KSP_PIPEFCG_H
4: #include <petsc/private/kspimpl.h>
6: typedef struct {
7: KSPCGType type; /* type of system (symmetric or Hermitian) */
8: PetscInt mmax; /* The maximum number of P/C vectors to store */
9: PetscInt nprealloc; /* How many vectors to preallocate */
10: PetscInt nvecs; /* How many P/C vecs are actually stored */
11: PetscInt vecb; /* How many vecs to allocate at a time in a chunk */
12: Vec *Qvecs, *ZETAvecs, *Pvecs, *Cvecs, *Svecs, **pQvecs, **pZETAvecs, **pPvecs, **pCvecs, **pSvecs, *Qold, *ZETAold, *Pold, *Sold;
13: PetscInt *chunksizes; /* Chunk sizes allocated */
14: PetscInt nchunks; /* Number of chunks */
15: KSPFCDTruncationType truncstrat;
16: PetscInt n_restarts;
17: PetscScalar *dots;
18: PetscReal *etas;
19: Vec *redux;
20: PetscBool norm_breakdown;
21: } KSP_PIPEFCG;
23: #endif