Skip to main content
`Ctrl`+`K`

# 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

TS: Scalable ODE and DAE Solvers, `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

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