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#
adjointmonitor - monitoring routine
adjointmctx - [optional] user-defined context for private data for the monitor routine (use
NULLif no context is desired)adjointmdestroy - [optional] routine that frees monitor context (may be
NULL), seePetscCtxDestroyFnfor its calling sequence
Calling sequence of adjointmonitor#
ts - the
TScontextsteps - 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#
Examples#
Index of all Sensitivity routines
Table of Contents for all manual pages
Index of all manual pages