petsc-3.13.6 2020-09-29
Report Typos and Errors

KSPMonitorSet

Sets an ADDITIONAL function to be called at every iteration to monitor the residual/error etc.

Synopsis

#include "petscksp.h" 
PetscErrorCode  KSPMonitorSet(KSP ksp,PetscErrorCode (*monitor)(KSP,PetscInt,PetscReal,void*),void *mctx,PetscErrorCode (*monitordestroy)(void**))
Logically Collective on ksp

Input Parameters

ksp - iterative context obtained from KSPCreate()
monitor - pointer to function (if this is NULL, it turns off monitoring
mctx - [optional] context for private data for the monitor routine (use NULL if no context is desired)
monitordestroy - [optional] routine that frees monitor context (may be NULL)

Calling Sequence of monitor

    monitor (KSP ksp, PetscInt it, PetscReal rnorm, void *mctx)

ksp - iterative context obtained from KSPCreate()
it - iteration number
rnorm - (estimated) 2-norm of (preconditioned) residual
mctx - optional monitoring context, as set by KSPMonitorSet()

Options Database Keys

-ksp_monitor - sets KSPMonitorDefault()
-ksp_monitor_true_residual - sets KSPMonitorTrueResidualNorm()
-ksp_monitor_max - sets KSPMonitorTrueResidualMaxNorm()
-ksp_monitor_lg_residualnorm - sets line graph monitor, uses KSPMonitorLGResidualNormCreate()
-ksp_monitor_lg_true_residualnorm - sets line graph monitor, uses KSPMonitorLGResidualNormCreate()
-ksp_monitor_singular_value - sets KSPMonitorSingularValue()
-ksp_monitor_cancel - cancels all monitors that have been hardwired into a code by calls to KSPMonitorSet(), but does not cancel those set via the options database.

Notes

The default is to do nothing. To print the residual, or preconditioned residual if KSPSetNormType(ksp,KSP_NORM_PRECONDITIONED) was called, use KSPMonitorDefault() as the monitoring routine, with a ASCII viewer as the context.

Several different monitoring routines may be set by calling KSPMonitorSet() multiple times; all will be called in the order in which they were set.

Fortran Notes

Only a single monitor function can be set for each KSP object

See Also

KSPMonitorDefault(), KSPMonitorLGResidualNormCreate(), KSPMonitorCancel(), KSP

Level

beginner

Location

src/ksp/ksp/interface/itfunc.c

Examples

src/ksp/ksp/tutorials/ex9.c.html
src/ksp/ksp/tutorials/ex42.c.html
src/ksp/ksp/tutorials/ex2f.F90.html
src/snes/tutorials/ex12.c.html
src/snes/tutorials/ex30.c.html

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