:orphan:
# SNESTSFormFunction
Function to evaluate nonlinear residual
## Synopsis
```
#include "petscts.h"
PetscErrorCode SNESTSFormFunction(SNES snes, Vec U, Vec F, void *ctx)
```
Logically Collective
## Input Parameters
- ***snes -*** nonlinear solver
- ***U -*** the current state at which to evaluate the residual
- ***ctx -*** user context, must be a TS
## Output Parameter
- ***F -*** the nonlinear residual
## Note
This function is not normally called by users and is automatically registered with the `SNES` used by `TS`.
It is most frequently passed to `MatFDColoringSetFunction()`.
## See Also
[](ch_ts), `SNESSetFunction()`, `MatFDColoringSetFunction()`
## Level
advanced
## Location
src/ts/interface/ts.c
## Implementations
SNESTSFormFunction_ARKIMEX in src/ts/impls/arkimex/arkimex.c
SNESTSFormFunction_BDF in src/ts/impls/bdf/bdf.c
SNESTSFormFunction_EIMEX in src/ts/impls/eimex/eimex.c
SNESTSFormFunction_RK in src/ts/impls/explicit/rk/rk.c
SNESTSFormFunction_GLEE in src/ts/impls/glee/glee.c
SNESTSFormFunction_Alpha in src/ts/impls/implicit/alpha/alpha1.c
SNESTSFormFunction_Alpha in src/ts/impls/implicit/alpha/alpha2.c
SNESTSFormFunction_DiscGrad in src/ts/impls/implicit/discgrad/tsdiscgrad.c
SNESTSFormFunction_GLLE in src/ts/impls/implicit/glle/glle.c
SNESTSFormFunction_IRK in src/ts/impls/implicit/irk/irk.c
SNESTSFormFunction_Theta in src/ts/impls/implicit/theta/theta.c
SNESTSFormFunction_Mimex in src/ts/impls/mimex/mimex.c
SNESTSFormFunction_Pseudo in src/ts/impls/pseudo/posindep.c
SNESTSFormFunction_RosW in src/ts/impls/rosw/rosw.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)