TSEIMEX#

Time stepping with Extrapolated IMEX methods [CS10]. 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) \]

References#

CS10

E.M. Constantinescu and A. Sandu. Extrapolated implicit-explicit time stepping. SIAM Journal on Scientific Computing, 31(6):4452–4477, 2010. doi:10.1137/080732833.

See Also#

TS: Scalable ODE and DAE Solvers, TSCreate(), TS, TSSetType(), TSEIMEXSetMaxRows(), TSEIMEXSetRowCol(), TSEIMEXSetOrdAdapt(), TSType

Level#

beginner

Location#

src/ts/impls/eimex/eimex.c


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