petsc-3.13.6 2020-09-29
Report Typos and Errors

KSPSetComputeOperators

set routine to compute the linear operators

Synopsis

#include "petscksp.h" 
PetscErrorCode KSPSetComputeOperators(KSP ksp,PetscErrorCode (*func)(KSP,Mat,Mat,void*),void *ctx)
Logically Collective

Input Arguments

ksp - the KSP context
func - function to compute the operators
ctx - optional context

Calling sequence of func

 func(KSP ksp,Mat A,Mat B,void *ctx)

ksp - the KSP context
A - the linear operator
B - preconditioning matrix
ctx - optional user-provided context

Notes

The user provided func() will be called automatically at the very next call to KSPSolve(). It will not be called at future KSPSolve() calls unless either KSPSetComputeOperators() or KSPSetOperators() is called before that KSPSolve() is called.

To reuse the same preconditioner for the next KSPSolve() and not compute a new one based on the most recently computed matrix call KSPSetReusePreconditioner()

See Also

KSPSetOperators(), KSPSetComputeRHS(), DMKSPSetComputeOperators(), KSPSetComputeInitialGuess()

Level

beginner

Location

src/ksp/ksp/interface/itfunc.c

Examples

src/ksp/ksp/tutorials/ex25.c.html
src/ksp/ksp/tutorials/ex28.c.html
src/ksp/ksp/tutorials/ex29.c.html
src/ksp/ksp/tutorials/ex32.c.html
src/ksp/ksp/tutorials/ex34.c.html
src/ksp/ksp/tutorials/ex45.c.html
src/ksp/ksp/tutorials/ex50.c.html
src/ksp/ksp/tutorials/ex65.c.html
src/ksp/ksp/tutorials/ex66.c.html
src/ksp/ksp/tutorials/ex73.c.html
src/ksp/ksp/tutorials/ex22f.F90.html

Index of all KSP routines
Table of Contents for all manual pages
Index of all manual pages