Skip to main content
`Ctrl`+`K`

# TSSetPreStage

Sets the general-purpose function called once at the beginning of each stage.

## Synopsis

    #include "petscts.h"
    PetscErrorCode TSSetPreStage(TS ts, PetscErrorCode (*func)(TS ts, PetscReal stagetime))

Logically Collective

## Input Parameters

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

- func - The function

## Calling sequence of `func`

- ts - the `TS` context

- stagetime - the stage time

## Note

There may be several stages per time step. If the solve for a given stage fails, the step may be rejected and retried. The time step number being computed can be queried using `TSGetStepNumber()` and the total size of the step being attempted can be obtained using `TSGetTimeStep()`. The time at the start of the step is available via `TSGetTime()`.

## See Also

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

## Level

intermediate

## Location

src/ts/interface/ts.c

## Examples

src/ts/tutorials/ex30.c

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