petsc-master 2019-05-20
Report Typos and Errors


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


#include "petscts.h"  
PetscErrorCode TSAdjointMonitorSet(TS ts,PetscErrorCode (*adjointmonitor)(TS,PetscInt,PetscReal,Vec,PetscInt,Vec*,Vec*,void*),void *adjointmctx,PetscErrorCode (*adjointmdestroy)(void**))
Logically Collective on TS

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)
adjointmonitordestroy - [optional] routine that frees monitor context (may be NULL)

Calling sequence of monitor

   int adjointmonitor(TS ts,PetscInt steps,PetscReal time,Vec u,PetscInt numcost,Vec *lambda, Vec *mu,void *adjointmctx)

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


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


TS, timestep, set, adjoint, monitor

See Also





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