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