Skip to main content
`Ctrl`+`K`

# KSPPIPEGCRSetModifyPC

Sets the routine used by `KSPPIPEGCR` to modify the preconditioner at each iteration

## Synopsis

    #include "petscksp.h"
    PetscErrorCode KSPPIPEGCRSetModifyPC(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 `KSPPIPEGCR` iterations that have occurred

- rnorm - 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 `KSPPIPEGCRModifyPCNoChange()`

## See Also

KSP: Linear System Solvers, `KSPPIPEGCR`, `KSPPIPEGCRModifyPCNoChange()`

## Level

intermediate

## Location

src/ksp/ksp/impls/gcr/pipegcr/pipegcr.c

## Implementations

KSPPIPEGCRSetModifyPC_PIPEGCR() in src/ksp/ksp/impls/gcr/pipegcr/pipegcr.c

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