Skip to main content
`Ctrl`+`K`

# TSMonitorSet

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

## Synopsis

    #include "petscts.h"
    PetscErrorCode TSMonitorSet(TS ts, PetscErrorCode (*monitor)(TS ts, PetscInt steps, PetscReal time, Vec u, void *ctx), void *mctx, PetscCtxDestroyFn *mdestroy)

Logically Collective

## Input Parameters

- ts - the `TS` context obtained from `TSCreate()`

- monitor - monitoring routine

- mctx - [optional] user-defined context for private data for the monitor routine (use `NULL` if no context is desired)

- mdestroy - [optional] routine that frees monitor context (may be `NULL`), see `PetscCtxDestroyFn` for the calling sequence

## Calling sequence of `monitor`

- ts - the `TS` context

- steps - iteration number (after the final time step the monitor routine may be called with a step of -1, this indicates the solution has been interpolated to this time)

- time - current time

- u - current iterate

- ctx - [optional] monitoring context

## Note

This routine adds an additional monitor to the list of monitors that already has been loaded.

## Fortran Notes

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

## See Also

TS: Scalable ODE and DAE Solvers, `TSMonitorDefault()`, `TSMonitorCancel()`, `TSDMSwarmMonitorMoments()`, `TSMonitorExtreme()`, `TSMonitorDrawSolution()`, `TSMonitorDrawSolutionPhase()`, `TSMonitorDrawSolutionFunction()`, `TSMonitorDrawError()`, `TSMonitorSolution()`, `TSMonitorSolutionVTK()`, `TSMonitorLGSolution()`, `TSMonitorLGError()`, `TSMonitorSPSwarmSolution()`, `TSMonitorError()`, `TSMonitorEnvelope()`, `PetscCtxDestroyFn`

## Level

intermediate

## Location

src/ts/interface/tsmon.c

## Examples

src/ts/tutorials/ex20.c
src/ts/tutorials/ex20opt_p.c
src/ts/tutorials/ex16fwd.c
src/ts/tutorials/ex20fwd.c
src/ts/tutorials/ex12.c
src/ts/tutorials/ex2.c
src/ts/tutorials/ex19.c
src/ts/tutorials/ex11_sa.c
src/ts/tutorials/ex16.c
src/ts/tutorials/ex20adj.c

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