:orphan: # TaoSetMonitor Sets an additional function that is to be used at every iteration of the solver to display the iteration's progress. ## Synopsis ``` #include "petsctao.h" PetscErrorCode TaoSetMonitor(Tao tao, PetscErrorCode (*func)(Tao, void *), void *ctx, PetscErrorCode (*dest)(void **)) ``` Logically Collective ## Input Parameters - ***tao -*** the `Tao` solver context - ***func -*** monitoring routine - ***ctx -*** [optional] user-defined context for private data for the monitor routine (may be `NULL`) - ***dest -*** [optional] function to destroy the context when the `Tao` is destroyed ## Calling sequence of `func` ```none PetscErrorCode func(Tao tao, void *ctx) ``` - ***tao -*** the `Tao` solver context - ***ctx -*** [optional] monitoring context ## Calling sequence of `dest` ```none PetscErrorCode dest(void *ctx) ``` - ***ctx -*** monitoring context ## Options Database Keys - ***-tao_monitor -*** sets the default monitor `TaoMonitorDefault()` - ***-tao_smonitor -*** sets short monitor - ***-tao_cmonitor -*** same as smonitor plus constraint norm - ***-tao_view_solution -*** view solution at each iteration - ***-tao_view_gradient -*** view gradient at each iteration - ***-tao_view_ls_residual -*** view least-squares residual vector at each iteration - ***-tao_cancelmonitors -*** cancels all monitors that have been hardwired into a code by calls to TaoSetMonitor(), but does not cancel those set via the options database. ## Notes Several different monitoring routines may be set by calling `TaoSetMonitor()` multiple times; all will be called in the order in which they were set. ## Fortran Note Only one monitor function may be set ## See Also [](ch_tao), `Tao`, `TaoSolve()`, `TaoMonitorDefault()`, `TaoCancelMonitors()`, `TaoSetDestroyRoutine()`, `TaoView()` ## Level intermediate ## Location src/tao/interface/taosolver.c ## Examples src/tao/bound/tutorials/jbearing2.c
src/tao/unconstrained/tutorials/burgers_spectral.c
src/tao/unconstrained/tutorials/eptorsion2f.F90
src/tao/unconstrained/tutorials/minsurf2.c
src/tao/unconstrained/tutorials/spectraladjointassimilation.c
--- [Edit on GitLab](https://gitlab.com/petsc/petsc/-/edit/release/src/tao/interface/taosolver.c) [Index of all Tao routines](index.md) [Table of Contents for all manual pages](/manualpages/index.md) [Index of all manual pages](/manualpages/singleindex.md)