petsc-3.10.5 2019-03-28
Report Typos and Errors

# KSPFGMRESSetModifyPC

Sets the routine used by FGMRES to modify the preconditioner.

### Synopsis

    #include "petscksp.h"
    PetscErrorCode  KSPFGMRESSetModifyPC(KSP ksp,PetscErrorCode (*fcn)(KSP,PetscInt,PetscInt,PetscReal,void*),void *ctx,PetscErrorCode (*d)(void*))

Logically Collective on KSP

### Input Parameters

| ksp | - iterative context obtained from KSPCreate
| fcn | - modifypc function
| ctx | - optional contex
| d | - optional context destroy routine

### Calling Sequence of function

ierr = int fcn(KSP ksp,int total_its,int loc_its,PetscReal res_norm,void*ctx);

ksp - the ksp context being used. total_its - the total number of FGMRES iterations that have occurred. loc_its - the number of FGMRES iterations since last restart. res_norm - the current residual norm. ctx - optional context variable

### Options Database Keys

-ksp_fgmres_modifypcnochange -ksp_fgmres_modifypcksp

Contributed by Allison Baker

### Notes

Several modifypc routines are predefined, including KSPFGMRESModifyPCNoChange() KSPFGMRESModifyPCKSP()

### See Also

KSPFGMRESModifyPCNoChange(), KSPFGMRESModifyPCKSP()

### Level

intermediate

### Location

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

### Implementations

KSPFGMRESSetModifyPC_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