:orphan:
# TSEvaluateStep
Evaluate the solution at the end of a time step with a given order of accuracy.
## Synopsis
```
#include "petscts.h"
PetscErrorCode TSEvaluateStep(TS ts, PetscInt order, Vec U, PetscBool *done)
```
Collective
## Input Parameters
- ***ts -*** time stepping context
- ***order -*** desired order of accuracy
- ***done -*** whether the step was evaluated at this order (pass `NULL` to generate an error if not available)
## Output Parameter
- ***U -*** state at the end of the current step
## Notes
This function cannot be called until all stages have been evaluated.
It is normally called by adaptive controllers before a step has been accepted and may also be called by the user after `TSStep()` has returned.
## See Also
[](ch_ts), `TS`, `TSStep()`, `TSAdapt`
## Level
advanced
## Location
src/ts/interface/ts.c
## Implementations
TSEvaluateStep_ARKIMEX in src/ts/impls/arkimex/arkimex.c
TSEvaluateStep_EIMEX in src/ts/impls/eimex/eimex.c
TSEvaluateStep_RK in src/ts/impls/explicit/rk/rk.c
TSEvaluateStep_GLEE in src/ts/impls/glee/glee.c
TSEvaluateStep_IRK in src/ts/impls/implicit/irk/irk.c
TSEvaluateStep_MPRK in src/ts/impls/multirate/mprk.c
TSEvaluateStep_MPRKSPLIT in src/ts/impls/multirate/mprk.c
TSEvaluateStep_RosW in src/ts/impls/rosw/rosw.c
---
[Edit on GitLab](https://gitlab.com/petsc/petsc/-/edit/release/src/ts/interface/ts.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)