:orphan:
# TSMonitorDrawSolution
Monitors progress of the `TS` solvers by calling `VecView()` for the solution at each timestep 
## Synopsis
```
#include "petscts.h"  
PetscErrorCode TSMonitorDrawSolution(TS ts, PetscInt step, PetscReal ptime, Vec u, void *dummy)
```
Collective


## Input Parameters

- ***ts -*** the `TS` context
- ***step -*** current time-step
- ***ptime -*** current time
- ***dummy -*** either a viewer or `NULL`



## Options Database Keys

- ***-ts_monitor_draw_solution -*** draw the solution at each time-step
- ***-ts_monitor_draw_solution_initial -*** show initial solution as well as current solution





## Notes
The initial solution and current solution are not displayed with a common axis scaling so generally the option `-ts_monitor_draw_solution_initial`
will look bad

This is not called directly by users, rather one calls `TSMonitorSet()`, with this function as an argument, as well as the context created with
`TSMonitorDrawCtxCreate()` and the function `TSMonitorDrawCtxDestroy()` to cause the monitor to be used during the `TS` integration.


## See Also
 [](ch_ts), `TS`, `TSMonitorSet()`, `TSMonitorDefault()`, `VecView()`, `TSMonitorDrawCtxCreate()`, `TSMonitorDrawCtxDestroy()`

## Level
intermediate

## Location
<A HREF="PETSC_DOC_OUT_ROOT_PLACEHOLDER/src/ts/interface/tsmon.c.html#TSMonitorDrawSolution">src/ts/interface/tsmon.c</A>


---
[Edit on GitLab](https://gitlab.com/petsc/petsc/-/edit/release/src/ts/interface/tsmon.c)


[Index of all TS routines](index.md)  
[Table of Contents for all manual pages](/manualpages/index.md)  
[Index of all manual pages](/manualpages/singleindex.md)  
