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 #pragma once 7 8 #include <petsc/private/kspimpl.h> /*I "petscksp.h" I*/ 9 10 typedef struct { 11 Vec guess; /* if using right preconditioning with nonzero initial guess must keep that around to "fix" solution */ 12 } KSP_BCGS; 13 14 PETSC_INTERN PetscErrorCode KSPSetFromOptions_BCGS(KSP, PetscOptionItems PetscOptionsObject); 15 PETSC_INTERN PetscErrorCode KSPSetUp_BCGS(KSP); 16 PETSC_INTERN PetscErrorCode KSPSolve_BCGS(KSP); 17 PETSC_INTERN PetscErrorCode KSPBuildSolution_BCGS(KSP, Vec, Vec *); 18 PETSC_INTERN PetscErrorCode KSPReset_BCGS(KSP); 19 PETSC_INTERN PetscErrorCode KSPDestroy_BCGS(KSP); 20