Skip to main content
`Ctrl`+`K`

# TSCreate

This function creates an empty timestepper. The problem type can then be set with `TSSetProblemType()` and the type of solver can then be set with `TSSetType()`.

## Synopsis

    #include "petscts.h"
    PetscErrorCode TSCreate(MPI_Comm comm, TS *ts)

Collective

## Input Parameter

- comm - The communicator

## Output Parameter

- ts - The `TS`

## Developer Notes

`TS` essentially always creates a `SNES` object even though explicit methods do not use it. This is unfortunate and should be fixed at some point. The flag snes->usessnes indicates if the particular method does use SNES and regulates if the information about the `SNES` is printed in `TSView()`. `TSSetFromOptions(`) does call `SNESSetFromOptions()` which can lead to users being confused by help messages about meaningless `SNES` options.

## See Also

TS: Scalable ODE and DAE Solvers, `TS`, `SNES`, `TSSetType()`, `TSSetUp()`, `TSDestroy()`, `TSSetProblemType()`, `TSSetTimeStep()`

## Level

beginner

## Location

src/ts/interface/tscreate.c

## Examples

src/tao/unconstrained/tutorials/burgers_spectral.c
src/ts/tutorials/ex27.c
src/ts/tutorials/ex28.c
src/ts/tutorials/ex26.c
src/tao/unconstrained/tutorials/spectraladjointassimilation.c
src/ts/tutorials/ex1.c
src/ts/tutorials/ex10.c
src/ts/tutorials/ex11.c
src/ts/tutorials/ex51.c
src/ts/tutorials/ex9.c

## Implementations

TSCreate_ARKIMEX() in src/ts/impls/arkimex/arkimex.c
TSCreate_DIRK() in src/ts/impls/arkimex/arkimex.c
TSCreate_BDF() in src/ts/impls/bdf/bdf.c
TSCreate_EIMEX() in src/ts/impls/eimex/eimex.c
TSCreate_Euler() in src/ts/impls/explicit/euler/euler.c
TSCreate_RK() in src/ts/impls/explicit/rk/rk.c
TSCreate_SSP() in src/ts/impls/explicit/ssp/ssp.c
TSCreate_GLEE() in src/ts/impls/glee/glee.c
TSCreate_Alpha() in src/ts/impls/implicit/alpha/alpha1.c
TSCreate_Alpha2() in src/ts/impls/implicit/alpha/alpha2.c
TSCreate_DiscGrad() in src/ts/impls/implicit/discgrad/tsdiscgrad.c
TSCreate_GLLE() in src/ts/impls/implicit/glle/glle.c
TSCreate_IRK() in src/ts/impls/implicit/irk/irk.c
TSCreate_Radau5() in src/ts/impls/implicit/radau5/radau5.c
TSCreate_Sundials() in src/ts/impls/implicit/sundials/sundials.c
TSCreate_Theta() in src/ts/impls/implicit/theta/theta.c
TSCreate_BEuler() in src/ts/impls/implicit/theta/theta.c
TSCreate_CN() in src/ts/impls/implicit/theta/theta.c
TSCreate_Mimex() in src/ts/impls/mimex/mimex.c
TSCreate_MPRK() in src/ts/impls/multirate/mprk.c
TSCreate_Pseudo() in src/ts/impls/pseudo/posindep.c
TSCreate_RosW() in src/ts/impls/rosw/rosw.c
TSCreate_BasicSymplectic() in src/ts/impls/symplectic/basicsymplectic/basicsymplectic.c

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