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 8: #include <petsc/private/kspimpl.h> 10: typedef struct { 11: Vec guess; /* if using right preconditioning with nonzero initial guess must keep that around to "fix" solution */ 12: } KSP_BCGS; 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);