:orphan: # KSPSetComputeRHS set routine to compute the right hand side of the linear system ## Synopsis ``` #include "petscksp.h" #include "petscmat.h" PetscErrorCode KSPSetComputeRHS(KSP ksp, PetscErrorCode (*func)(KSP, Vec, void *), void *ctx) ``` Logically Collective ## Input Parameters - ***ksp -*** the `KSP` context - ***func -*** function to compute the right hand side - ***ctx -*** optional context ## Calling sequence of `func` ```none PetscErrorCode func(KSP ksp, Vec b, void *ctx) ``` - ***ksp -*** the `KSP` context - ***b -*** right hand side of linear system - ***ctx -*** optional user-provided context ## Notes The routine you provide will be called EACH you call `KSPSolve()` to prepare the new right hand side for that solve ## See Also [](ch_ksp), `KSP`, `KSPSolve()`, `DMKSPSetComputeRHS()`, `KSPSetComputeOperators()`, `KSPSetOperators()` ## Level beginner ## Location src/ksp/ksp/interface/itfunc.c ## Examples src/ksp/ksp/tutorials/ex22f.F90
src/ksp/ksp/tutorials/ex25.c
src/ksp/ksp/tutorials/ex28.c
src/ksp/ksp/tutorials/ex29.c
src/ksp/ksp/tutorials/ex32.c
src/ksp/ksp/tutorials/ex34.c
src/ksp/ksp/tutorials/ex35.cxx
src/ksp/ksp/tutorials/ex36.cxx
src/ksp/ksp/tutorials/ex45.c
src/ksp/ksp/tutorials/ex45f.F90
src/ksp/ksp/tutorials/ex50.c
--- [Edit on GitLab](https://gitlab.com/petsc/petsc/-/edit/release/src/ksp/ksp/interface/itfunc.c) [Index of all KSP routines](index.md) [Table of Contents for all manual pages](/manualpages/index.md) [Index of all manual pages](/manualpages/singleindex.md)