Skip to main content
`Ctrl`+`K`

# SNESLineSearchMonitorSet

Sets an ADDITIONAL function that is to be used at every iteration of the nonlinear solver to display the iteration’s progress.

## Synopsis

    #include "petscsnes.h"
    PetscErrorCode SNESLineSearchMonitorSet(SNESLineSearch ls, PetscErrorCode (*f)(SNESLineSearch ls, void *mctx), void *mctx, PetscErrorCode (*monitordestroy)(void **mctx))

Logically Collective

## Input Parameters

- ls - the `SNESLineSearch` context

- f - the monitor function

- mctx - [optional] user-defined 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 `f`

- ls - the `SNESLineSearch` context

- mctx - [optional] user-defined context for private data for the monitor routine

## Calling sequence of `monitordestroy`

- mctx - [optional] user-defined context for private data for the monitor routine

## Note

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

## Fortran Note

Only a single monitor function can be set for each `SNESLineSearch` object

## See Also

SNES: Nonlinear Solvers, `SNES`, `SNESLineSearch`, `SNESGetLineSearch()`, `SNESLineSearchMonitorDefault()`, `SNESLineSearchMonitorCancel()`

## Level

intermediate

## Location

src/snes/linesearch/interface/linesearch.c

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