KSPGCRSetModifyPC#
Sets the routine used by KSPGCR
to modify the preconditioner for each iteration
Synopsis#
#include "petscksp.h"
PetscErrorCode KSPGCRSetModifyPC(KSP ksp, PetscErrorCode (*function)(KSP, PetscInt, PetscReal, void *), void *data, PetscErrorCode (*destroy)(void *))
Logically Collective
Input Parameters#
ksp - iterative context obtained from KSPCreate() . function - user defined function to modify the preconditioner . ctx - user provided context for the modify preconditioner function
destroy - the function to use to destroy the user provided application context.
Calling Sequence of function
#
PetscErrorCode function(KSP ksp, PetscInt n, PetscReal rnorm, void *ctx)
ksp - iterative context
n - the total number of GCR iterations that have occurred
rnorm - 2-norm residual value
ctx - the user provided application context
Calling Sequence of destroy
#
PetscErrorCode destroy(void *ctx)
Note#
The default modifypc routine is KSPGCRModifyPCNoChange()
Developer Note#
The API should make uniform for all flexible types, Flexible Krylov Methods, and not have separate function calls for each type.
See Also#
KSP: Linear System Solvers, KSP
, KSPGCR
, KSPGCRModifyPCNoChange()
, Flexible Krylov Methods
Level#
intermediate
Location#
Implementations#
KSPGCRSetModifyPC_GCR in src/ksp/ksp/impls/gcr/gcr.c
Index of all KSP routines
Table of Contents for all manual pages
Index of all manual pages