Skip to main content
`Ctrl`+`K`

# KSPFlexibleSetModifyPC

Sets the routine used by flexible `KSP` methods to modify the preconditioner. Flexible Krylov Methods

## Synopsis

    #include "petscksp.h"
    PetscErrorCode KSPFlexibleSetModifyPC(KSP ksp, KSPFlexibleModifyPCFn *fcn, PetscCtx ctx, PetscCtxDestroyFn *destroy)

Logically Collective

## Input Parameters

- ksp - iterative context obtained from `KSPCreate()`

- fcn - function to modify the `PC`, see `KSPFlexibleModifyPCFn`

- ctx - optional context

- destroy - optional context destroy routine

## Note

Several `fcn` routines are predefined, including `KSPFlexibleModifyPCNoChange()` and `KSPFlexibleModifyPCKSP()`

## See Also

KSP: Linear System Solvers, Flexible Krylov Methods, `KSPFGMRES`, `KSPFCG`, `KSPPIPEFCG`, `KSPGCR`, `KSPPIPEGCR`, `KSPFlexibleModifyPCFn`, `KSPFlexibleModifyPCNoChange()`, `KSPFlexibleModifyPCKSP()`

## Level

intermediate

## Location

src/ksp/ksp/impls/gmres/fgmres/modpcf.c

## Implementations

KSPFlexibleSetModifyPC_GCR() in src/ksp/ksp/impls/gcr/gcr.c
KSPFlexibleSetModifyPC_PIPEGCR() in src/ksp/ksp/impls/gcr/pipegcr/pipegcr.c
KSPFlexibleSetModifyPC_FGMRES() in src/ksp/ksp/impls/gmres/fgmres/fgmres.c

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