Skip to main content
`Ctrl`+`K`

# NEPMonitorRegister

Registers a `NEP` monitor routine that may be accessed with `NEPMonitorSetFromOptions()`.

## Synopsis

    #include "slepcnep.h"
    PetscErrorCode NEPMonitorRegister(const char name[],PetscViewerType vtype,PetscViewerFormat format,NEPMonitorRegisterFn *monitor,NEPMonitorRegisterCreateFn *create,NEPMonitorRegisterDestroyFn *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 `NEPMonitorRegisterFn`

- create - creation routine, or `NULL`

- destroy - destruction routine, or `NULL`

## Notes

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

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

## Example Usage

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

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

       NEPMonitorSetFromOptions(nep,"-nep_monitor_my_monitor","my_monitor",NULL);

or at runtime via the option `-nep_monitor_my_monitor`.

## See Also

NEP: Nonlinear Eigenvalue Problems, `NEPMonitorSet()`, `NEPMonitorRegisterAll()`, `NEPMonitorSetFromOptions()`

## Level

advanced

## Location

src/nep/interface/nepbasic.c

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