Skip to main content
`Ctrl`+`K`

# TSARKIMEX

ODE and DAE solver using additive Runge-Kutta IMEX schemes 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()`.

## Options Database Keys

- -ts_arkimex_type <1bee,a2,l2,ars122,2c,2d,2e,prssp2,3,bpr3,ars443,4,5> - Set `TSARKIMEX` scheme type

- -ts_dirk_type <type> - Set `TSDIRK` scheme type

- -ts_arkimex_fully_implicit <true,false> - Solve both parts of the equation implicitly

- -ts_arkimex_fastslowsplit <true,false> - Enables the `TSARKIMEX` solver for a fast-slow system where the RHS is split component-wise, see `TSRHSSplitSetIS()`

- -ts_arkimex_initial_guess_extrapolate - Extrapolate the initial guess for the stage solution from stage values of the previous time step

## Notes

The default is `TSARKIMEX3`, it can be changed with `TSARKIMEXSetType()` or `-ts_arkimex_type`

If the equation is implicit or a DAE, then `TSSetEquationType()` needs to be set accordingly. Refer to the manual for further information.

Methods with an explicit stage can only be used with ODE in which the stiff part \( G(t,X,\dot{X}) \) has the form \( \dot{X} + \hat{G}(t,X)\).

Consider trying `TSROSW` if the stiff part is linear or weakly nonlinear.

## See Also

TS: Scalable ODE and DAE Solvers, `TSCreate()`, `TS`, `TSSetType()`, `TSARKIMEXSetType()`, `TSARKIMEXGetType()`, `TSARKIMEXSetFullyImplicit()`, `TSARKIMEXGetFullyImplicit()`, `TSARKIMEX1BEE`, `TSARKIMEX2C`, `TSARKIMEX2D`, `TSARKIMEX2E`, `TSARKIMEX3`, `TSARKIMEXL2`, `TSARKIMEXA2`, `TSARKIMEXARS122`, `TSARKIMEX4`, `TSARKIMEX5`, `TSARKIMEXPRSSP2`, `TSARKIMEXARS443`, `TSARKIMEXBPR3`, `TSARKIMEXType`, `TSARKIMEXRegister()`, `TSType`

## Level

beginner

## Location

src/ts/impls/arkimex/arkimex.c

## Examples

src/ts/tutorials/extchemfield.c
src/ts/tutorials/ex35.cxx
src/ts/tutorials/ex20adj.c
src/ts/tutorials/ex22f.F90
src/ts/tutorials/ex22f_mf.F90
src/ts/tutorials/ex29.c
src/ts/tutorials/ex36.c
src/ts/tutorials/ex25.c
src/ts/tutorials/ex22.c
src/ts/tutorials/extchem.c

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