TSAdjointMonitorSet#

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

Synopsis#

#include <petscts.h>  
PetscErrorCode TSAdjointMonitorSet(TS ts, PetscErrorCode (*adjointmonitor)(TS ts, PetscInt steps, PetscReal time, Vec u, PetscInt numcost, Vec *lambda, Vec *mu, void *adjointmctx), void *adjointmctx, PetscCtxDestroyFn *adjointmdestroy)

Logically Collective

Input Parameters#

  • ts - the TS context obtained from TSCreate()

  • adjointmonitor - monitoring routine

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

  • adjointmdestroy - [optional] routine that frees monitor context (may be NULL), see PetscCtxDestroyFn for its calling sequence

Calling sequence of adjointmonitor#

  • ts - the TS context

  • steps - iteration number (after the final time step the monitor routine is called with a step of -1, this is at the final time which may have been interpolated to)

  • time - current time

  • u - current iterate

  • numcost - number of cost functionos

  • lambda - sensitivities to initial conditions

  • mu - sensitivities to parameters

  • adjointmctx - [optional] adjoint 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, TS, TSAdjointSolve(), TSAdjointMonitorCancel(), PetscCtxDestroyFn

Level#

intermediate

Location#

src/ts/interface/sensitivity/tssen.c

Examples#

src/ts/tutorials/ex20td.c


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