# TSEIMEX
Time stepping with Extrapolated IMEX methods. These methods are intended for problems with well-separated time scales, especially when a slow scale is strongly nonlinear such that it
is expensive to solve with a fully implicit method. The user should provide the stiff part of the equation using `TSSetIFunction()` and the
non-stiff part with `TSSetRHSFunction()`.




## Notes
The default is a 3-stage scheme, it can be changed with `TSEIMEXSetMaxRows()` or -ts_eimex_max_rows

This method currently only works with ODE, for which the stiff part G(t,X,Xdot) has the form Xdot + Ghat(t,X).

The general system is written as

G(t,X,Xdot) = F(t,X)

where G represents the stiff part and F represents the non-stiff part. The user should provide the stiff part
of the equation using TSSetIFunction() and the non-stiff part with `TSSetRHSFunction()`.
This method is designed to be linearly implicit on G and can use an approximate and lagged Jacobian.

Another common form for the system is

y'=f(x)+g(x)

The relationship between F,G and f,g is

G = y'-g(x), F = f(x)


## Reference

- ***[1] -*** E. Constantinescu and A. Sandu, Extrapolated implicit-explicit time stepping, SIAM Journal on Scientific Computing, 31 (2010), pp. 4452-4477.



## See Also
 [](chapter_ts), `TSCreate()`, `TS`, `TSSetType()`, `TSEIMEXSetMaxRows()`, `TSEIMEXSetRowCol()`, `TSEIMEXSetOrdAdapt()`, `TSType`

## Level
beginner

## Location
<A HREF="PETSC_DOC_OUT_ROOT_PLACEHOLDER/src/ts/impls/eimex/eimex.c.html#TSEIMEX">src/ts/impls/eimex/eimex.c</A>


---
[Edit on GitLab](https://gitlab.com/petsc/petsc/-/edit/release/src/ts/impls/eimex/eimex.c)


[Index of all TS routines](index.md)  
[Table of Contents for all manual pages](/docs/manualpages/index.md)  
[Index of all manual pages](/docs/manualpages/singleindex.md)  
