Skip to main content
`Ctrl`+`K`

# TSGetSNES

Returns the `SNES` (nonlinear solver) associated with a `TS` (timestepper) context. Valid only for nonlinear problems.

## Synopsis

    #include "petscts.h"
    PetscErrorCode TSGetSNES(TS ts, SNES *snes)

Not Collective, but snes is parallel if ts is parallel

## Input Parameter

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

## Output Parameter

- snes - the nonlinear solver context

## Notes

The user can then directly manipulate the `SNES` context to set various options, etc. Likewise, the user can then extract and manipulate the `KSP`, and `PC` contexts as well.

`TSGetSNES()` does not work for integrators that do not use `SNES`; in this case `TSGetSNES()` returns `NULL` in `snes`.

## See Also

TS: Scalable ODE and DAE Solvers, `TS`, `SNES`, `TSCreate()`, `TSSetUp()`, `TSSolve()`

## Level

beginner

## Location

src/ts/interface/ts.c

## Examples

src/ts/tutorials/ex24.c
src/ts/tutorials/ex15.c
src/ts/tutorials/ex10.c
src/ts/tutorials/ex27.c
src/ts/tutorials/ex52.c
src/ts/tutorials/ex17.c
src/ts/tutorials/ex12.c
src/ts/tutorials/ex7.c
src/ts/tutorials/ex14.c
src/ts/tutorials/ex22.c

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