petsc-3.14.5 2021-03-03
Report Typos and Errors

# 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,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

### Notes

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

TSAdjointMonitorCancel()

### Level

intermediate

### Location

src/ts/interface/sensitivity/tssen.c

### Examples

src/ts/tutorials/ex20td.c.html
Index of all Sensitivity routines
Table of Contents for all manual pages
Index of all manual pages