petsc-master 2020-02-28
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

See Also





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