Skip to main content
`Ctrl`+`K`

# MFNMonitorRegister

Registers an `MFN` monitor routine that may be accessed with `MFNMonitorSetFromOptions()`.

## Synopsis

    #include "slepcmfn.h"
    PetscErrorCode MFNMonitorRegister(const char name[],PetscViewerType vtype,PetscViewerFormat format,MFNMonitorRegisterFn *monitor,MFNMonitorRegisterCreateFn *create,MFNMonitorRegisterDestroyFn *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 `MFNMonitorRegisterFn`

- create - creation routine, or `NULL`

- destroy - destruction routine, or `NULL`

## Notes

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

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

## Example Usage

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

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

       MFNMonitorSetFromOptions(mfn,"-mfn_monitor_my_monitor","my_monitor",NULL);

or at runtime via the option `-mfn_monitor_my_monitor`.

## See Also

MFN: Matrix Function, `MFNMonitorSet()`, `MFNMonitorRegisterAll()`, `MFNMonitorSetFromOptions()`

## Level

advanced

## Location

src/mfn/interface/mfnbasic.c

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