:orphan: # 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 [](ch_ts), `TS`, `SNES`, `TSCreate()`, `TSSetUp()`, `TSSolve()` ## Level beginner ## Location src/ts/interface/ts.c ## Examples src/ts/tutorials/ex10.c
src/ts/tutorials/ex12.c
src/ts/tutorials/ex14.c
src/ts/tutorials/ex15.c
src/ts/tutorials/ex17.c
src/ts/tutorials/ex22.c
src/ts/tutorials/ex22f.F90
src/ts/tutorials/ex24.c
src/ts/tutorials/ex27.c
src/ts/tutorials/ex4.c
src/ts/tutorials/ex47.c
--- [Edit on GitLab](https://gitlab.com/petsc/petsc/-/edit/release/src/ts/interface/ts.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)