:orphan:
# TSAdaptChoose
choose which method and step size to use for the next step
## Synopsis
```
#include "petscts.h"
PetscErrorCode TSAdaptChoose(TSAdapt adapt, TS ts, PetscReal h, PetscInt *next_sc, PetscReal *next_h, PetscBool *accept)
```
Collective
## Input Parameters
- ***adapt -*** adaptive controller
- ***ts -*** time stepper
- ***h -*** current step size
## Output Parameters
- ***next_sc -*** optional, scheme to use for the next step
- ***next_h -*** step size to use for the next step
- ***accept -*** `PETSC_TRUE` to accept the current step, `PETSC_FALSE` to repeat the current step with the new step size
## Note
The input value of parameter accept is retained from the last time step, so it will be `PETSC_FALSE` if the step is
being retried after an initial rejection.
## See Also
[](ch_ts), `TSAdapt`, `TSAdaptCandidatesClear()`, `TSAdaptCandidateAdd()`
## Level
developer
## Location
src/ts/adapt/interface/tsadapt.c
## Implementations
TSAdaptChoose_Basic in src/ts/adapt/impls/basic/adaptbasic.c
TSAdaptChoose_CFL in src/ts/adapt/impls/cfl/adaptcfl.c
TSAdaptChoose_DSP in src/ts/adapt/impls/dsp/adaptdsp.c
TSAdaptChoose_GLEE in src/ts/adapt/impls/glee/adaptglee.c
TSAdaptChoose_History in src/ts/adapt/impls/history/adapthist.c
TSAdaptChoose_None in src/ts/adapt/impls/none/adaptnone.c
---
[Edit on GitLab](https://gitlab.com/petsc/petsc/-/edit/release/src/ts/adapt/interface/tsadapt.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)