typedef const char* KSPGuessType; #define KSPGUESSFISCHER "fischer" #define KSPGUESSPOD "pod" PETSC_EXTERN PetscErrorCode KSPGuessRegister(const char[],PetscErrorCode (*)(KSPGuess)); PETSC_EXTERN PetscErrorCode KSPSetGuess(KSP,KSPGuess); PETSC_EXTERN PetscErrorCode KSPGetGuess(KSP,KSPGuess*); PETSC_EXTERN PetscErrorCode KSPGuessView(KSPGuess,PetscViewer); PETSC_EXTERN PetscErrorCode KSPGuessDestroy(KSPGuess*); PETSC_EXTERN PetscErrorCode KSPGuessCreate(MPI_Comm,KSPGuess*); PETSC_EXTERN PetscErrorCode KSPGuessSetType(KSPGuess,KSPGuessType); PETSC_EXTERN PetscErrorCode KSPGuessGetType(KSPGuess,KSPGuessType*); PETSC_EXTERN PetscErrorCode KSPGuessSetUp(KSPGuess); PETSC_EXTERN PetscErrorCode KSPGuessUpdate(KSPGuess,Vec,Vec); PETSC_EXTERN PetscErrorCode KSPGuessFormGuess(KSPGuess,Vec,Vec); PETSC_EXTERN PetscErrorCode KSPGuessSetFromOptions(KSPGuess); PETSC_EXTERN PetscErrorCode KSPGuessFischerSetModel(KSPGuess,PetscInt,PetscInt); PETSC_EXTERN PetscErrorCode KSPSetUseFischerGuess(KSP,PetscInt,PetscInt); PETSC_EXTERN PetscErrorCode KSPSetInitialGuessKnoll(KSP,PetscBool); PETSC_EXTERN PetscErrorCode KSPGetInitialGuessKnoll(KSP,PetscBool*);