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
NULL
if no context is desired)adjointmdestroy - [optional] routine that frees monitor context (may be
NULL
), seePetscCtxDestroyFn
for its calling sequence
Calling sequence of adjointmonitor
#
ts - the
TS
contextsteps - 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