Skip to main content
`Ctrl`+`K`

# EPSMonitorRegister

Registers an `EPS` monitor routine that may be accessed with `EPSMonitorSetFromOptions()`.

## Synopsis

    #include "slepceps.h"
    PetscErrorCode EPSMonitorRegister(const char name[],PetscViewerType vtype,PetscViewerFormat format,EPSMonitorRegisterFn *monitor,EPSMonitorRegisterCreateFn *create,EPSMonitorRegisterDestroyFn *destroy)

Not Collective

## Input Parameters

- name - name of a new monitor routine

- vtype - a `PetscViewerType` for the output

- format - a `PetscViewerFormat` for the output

- monitor - monitor routine, see `EPSMonitorRegisterFn`

- create - creation routine, or `NULL`

- destroy - destruction routine, or `NULL`

## Notes

`EPSMonitorRegister()` may be called multiple times to add several user-defined monitors.

The calling sequence for the given function matches the calling sequence of `EPSMonitorFn` functions passed to `EPSMonitorSet()` with the additional requirement that its final argument be a `PetscViewerAndFormat`.

## Example Usage

       EPSMonitorRegister("my_monitor",PETSCVIEWERASCII,PETSC_VIEWER_ASCII_INFO_DETAIL,MyMonitor,NULL,NULL);

Then, your monitor can be chosen with the procedural interface via

       EPSMonitorSetFromOptions(eps,"-eps_monitor_my_monitor","my_monitor",NULL)

or at runtime via the option `-eps_monitor_my_monitor`.

## See Also

EPS: Eigenvalue Problem Solver, `EPSMonitorSet()`, `EPSMonitorRegisterAll()`, `EPSMonitorSetFromOptions()`

## Level

advanced

## Location

src/eps/interface/epsbasic.c

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