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


#include "petsctao.h" 
PetscErrorCode TaoSetMonitor(Tao tao, PetscErrorCode (*func)(Tao, void*), void *ctx,PetscErrorCode (*dest)(void**))
Logically Collective on Tao

Input Parameters

tao - the Tao solver context
mymonitor - monitoring routine
mctx - [optional] user-defined context for private data for the monitor routine (may be NULL)

Calling sequence of mymonitor

    PetscErrorCode mymonitor(Tao tao,void *mctx)

tao - the Tao solver context
mctx - [optional] monitoring context

Options Database Keys

-tao_monitor - sets 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.


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 Notes

Only one monitor function may be set

Level: intermediate

See Also

TaoMonitorDefault(), TaoCancelMonitors(), TaoSetDestroyRoutine()