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#

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

Implementations#

KSPGCRSetModifyPC_GCR in src/ksp/ksp/impls/gcr/gcr.c


Edit on GitLab

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