Split ODE Solvers
The solvers which are available for a
SplitODEProblem depend on the input linearity and number of components. Each solver has functional form (or many) that it allows.
Implicit-Explicit (IMEX) ODE
The Implicit-Explicit (IMEX) ODE is a
SplitODEProblem with two functions:
where the first function is the stiff part and the second function is the non-stiff part (implicit integration on
f1, explicit integration on
The recommended method in most cases is
KenCarp4. In cases of extreme stiffness or for high tolerances,
KenCarp3 can be a good choice. The
ARKODE methods are generally inefficient and diverge unless the options are tweaked to match the problem, though for large enough PDEs the
ARKODE method with
linear_solver=:GMRES is a good choice.
SplitEuler: 1st order fully explicit method. Used for testing accuracy of splits.
KenCarp3: An A-L stable stiffly-accurate 3rd order ESDIRK method
KenCarp4: An A-L stable stiffly-accurate 4rd order ESDIRK method
KenCarp5: An A-L stable stiffly-accurate 5rd order ESDIRK method
ARKODE: An additive Runge-Kutta method. Order between 3rd and 5th. For a list of available options, please see its ODE solver page
The Semilinear ODE is a split
ODEProblem with one linear operator and one function:
where the first function is a constant (not time dependent)
AbstractDiffEqOperator and the second part is a (nonlinear) function. ../../features/diffeq_operator.html.
The appropriate algorithms for this form are:
These methods utilize caching of the exponential operators and are thus are faster than Krylov-based methods but are only suited for smaller systems where
expm(dt*A) can fit in memory.
GenericIIF1- First order Implicit Integrating Factor method. Fixed timestepping only.
GenericIIF2- Second order Implicit Integrating Factor method. Fixed timestepping only.
ETD1- First order Exponential Time Differencing method. Not yet implemented.
ETD2- Second order Exponential Time Differencing method. Not yet implemented.
LawsonEuler- First order exponential Euler scheme. Fixed timestepping only.
NorsettEuler- First order exponential-RK scheme. Fixed timestepping only.
ETDRK4- 4th order exponential-RK scheme. Fixed timestepping only.
Note that the generic algorithms allow for a choice of
Additional Krylov-based methods which allow for lazy calculation of
expm(dt*A)*v are in development.