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 ksp, PetscInt n, PetscReal rnorm, void *ctx), void *ctx, PetscErrorCode (*destroy)(void *ctx))
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
#
ksp - iterative context
n - the total number of
PCGCR
iterations that have occurredrnorm - 2-norm residual value
ctx - the user provided application context
Calling sequence of destroy
#
ctx - the user provided application context
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