1: /*
2: Private data structure used by the BCGS method. This data structure
3: must be identical to the beginning of the KSP_FBCGS and KSP_QMRCGS data structure
4: so if you CHANGE anything here you must also change it there.
5: */
6: #ifndef PETSC_BCGSIMPL_H
7: #define PETSC_BCGSIMPL_H
9: #include <petsc/private/kspimpl.h>
11: typedef struct {
12: Vec guess; /* if using right preconditioning with nonzero initial guess must keep that around to "fix" solution */
13: } KSP_BCGS;
15: PETSC_INTERN PetscErrorCode KSPSetFromOptions_BCGS(KSP, PetscOptionItems *PetscOptionsObject);
16: PETSC_INTERN PetscErrorCode KSPSetUp_BCGS(KSP);
17: PETSC_INTERN PetscErrorCode KSPSolve_BCGS(KSP);
18: PETSC_INTERN PetscErrorCode KSPBuildSolution_BCGS(KSP, Vec, Vec *);
19: PETSC_INTERN PetscErrorCode KSPReset_BCGS(KSP);
20: PETSC_INTERN PetscErrorCode KSPDestroy_BCGS(KSP);
22: #endif // PETSC_BCGSIMPL_H