Skip to main content
`Ctrl`+`K`

# TSPseudoSetTimeStep

Sets the user-defined routine to be called at each pseudo-timestep to update the timestep.

## Synopsis

    #include "petscts.h"
    PetscErrorCode TSPseudoSetTimeStep(TS ts, PetscErrorCode (*dt)(TS ts, PetscReal *newdt, void *ctx), void *ctx)

Logically Collective

## Input Parameters

- ts - timestep context

- dt - function to compute timestep

- ctx - [optional] user-defined context for private data required by the function (may be `NULL`)

## Calling sequence of `dt`

- ts - the `TS` context

- newdt - the newly computed timestep

- ctx - [optional] user-defined context

## Notes

The routine set here will be called by `TSPseudoComputeTimeStep()` during the timestepping process.

If not set then `TSPseudoTimeStepDefault()` is automatically used

## See Also

TS: Scalable ODE and DAE Solvers, `TSPSEUDO`, `TSPseudoTimeStepDefault()`, `TSPseudoComputeTimeStep()`

## Level

intermediate

## Location

src/ts/impls/pseudo/posindep.c

## Examples

src/ts/tutorials/ex1.c

## Implementations

TSPseudoSetTimeStep_Pseudo() in src/ts/impls/pseudo/posindep.c

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