petsc-3.14.6 2021-03-30
KSPSetComputeOperators
set routine to compute the linear operators
Synopsis
#include "petscksp.h"
#include "petscmat.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