Skip to main content
`Ctrl`+`K`

# TSSetPostEvaluate

Sets the general-purpose function called once at the end of each step evaluation.

## Synopsis

    #include "petscts.h"
    PetscErrorCode TSSetPostEvaluate(TS ts, PetscErrorCode (*func)(TS ts))

Logically Collective

## Input Parameters

- ts - The `TS` context obtained from `TSCreate()`

- func - The function

## Calling sequence of `func`

- ts - the `TS` context

## Note

Semantically, `TSSetPostEvaluate()` differs from `TSSetPostStep()` since the function it sets is called before event-handling thus guaranteeing the same solution (computed by the time-stepper) will be passed to it. On the other hand, `TSPostStep()` may be passed a different solution, possibly changed by the event handler. `TSPostEvaluate()` is called after the next step solution is evaluated allowing to modify it, if need be. The solution can be obtained with `TSGetSolution()`, the time step with `TSGetTimeStep()`, and the time at the start of the step is available via `TSGetTime()`

## See Also

TS: Scalable ODE and DAE Solvers, `TS`, `TSSetPreStage()`, `TSSetPreStep()`, `TSSetPostStep()`, `TSGetApplicationContext()`

## Level

intermediate

## Location

src/ts/interface/ts.c

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