Skip to main content
`Ctrl`+`K`

# LMEMonitorRegister

Registers an `LME` monitor routine that may be accessed with `LMEMonitorSetFromOptions()`.

## Synopsis

    #include "slepclme.h"
    PetscErrorCode LMEMonitorRegister(const char name[],PetscViewerType vtype,PetscViewerFormat format,LMEMonitorRegisterFn *monitor,LMEMonitorRegisterCreateFn *create,LMEMonitorRegisterDestroyFn *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 `LMEMonitorRegisterFn`

- create - creation routine, or `NULL`

- destroy - destruction routine, or `NULL`

## Notes

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

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

## Example Usage

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

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

       LMEMonitorSetFromOptions(lme,"-lme_monitor_my_monitor","my_monitor",NULL);

or at runtime via the option `-lme_monitor_my_monitor`.

## See Also

LME: Linear Matrix Equation, `LMEMonitorSet()`, `LMEMonitorRegisterAll()`, `LMEMonitorSetFromOptions()`

## Level

advanced

## Location

src/lme/interface/lmebasic.c

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