OrdinaryDiffEqIMEXMultistep
Standard low-order IMEX (Implicit-Explicit) multistep methods for problems that can be split into stiff and non-stiff components. These are widely used classical methods in partial differential equation applications, providing simple and reliable IMEX integration with moderate accuracy requirements.
Key Properties
IMEX Multistep methods provide:
- Standard IMEX formulations commonly used in PDE applications
- Low-order accuracy (typically 2nd order) with good stability
- Simple implementation and well-understood behavior
- Explicit treatment of non-stiff terms with implicit handling of stiff components
- Fixed timestep requirements due to multistep nature
- Efficient for large-scale problems where splitting is natural
When to Use IMEX Multistep Methods
These methods are recommended for:
- Classical PDE applications where standard IMEX methods are established
- Reaction-diffusion systems with natural explicit/implicit splitting
- Convection-diffusion problems where convection is explicit and diffusion implicit
- Large-scale spatial discretizations where simple, efficient methods are preferred
- Applications prioritizing robustness over high-order accuracy
- Problems with natural operator splitting methodology
Mathematical Background
IMEX multistep methods treat the split system: du/dt = f₁(u,t) + f₂(u,t)
using:
- Implicit multistep schemes (like Crank-Nicolson) for stiff terms f₁
- Explicit multistep schemes (like Adams-Bashforth) for non-stiff terms f₂
This combination provides stability for stiff components while maintaining efficiency for non-stiff parts.
Problem Splitting Requirements
These methods require a SplitODEProblem
where:
- First function
f₁
contains stiff terms requiring implicit treatment - Second function
f₂
contains non-stiff terms suitable for explicit treatment - Splitting should align with the natural time scale separation
- Linear stiff terms work particularly well with these methods
Solver Selection Guide
Available Methods
CNAB2
: Recommended - Crank-Nicolson Adams-Bashforth 2nd order methodCNLF2
: Crank-Nicolson Leap-Frog 2nd order method
Method characteristics
CNAB2
: Most commonly used, good stability and accuracy balanceCNLF2
: Alternative formulation, may have different stability properties
Performance Guidelines
When IMEX Multistep methods excel
- PDE problems with established IMEX splitting practices
- Large spatial discretizations where method efficiency matters more than high accuracy
- Problems with linear stiff terms that are efficiently handled implicitly
- Applications requiring consistent timesteps (no adaptive timestepping)
- Well-conditioned problems where simple methods suffice
Splitting strategy considerations
- Linear diffusion terms → implicit component (f₁)
- Nonlinear convection/reaction → explicit component (f₂) if not too stiff
- Source terms → choose based on stiffness characteristics
- Boundary conditions → often naturally handled in implicit component
Limitations and Considerations
Method limitations
- Fixed timestep required - no adaptive timestepping capabilities
- Low order only - maximum 2nd order accuracy
- Startup procedures needed for multistep methods
- Limited stability analysis compared to modern IMEX-RK methods
When to consider alternatives
- Higher accuracy needs: Use IMEX-RK or higher-order IMEX methods
- Adaptive timestepping: Use IMEX-RK or ARK methods
- Complex stability requirements: Use more sophisticated IMEX schemes
- Very stiff problems: Consider fully implicit methods
Alternative Approaches
Consider these alternatives:
- IMEX Runge-Kutta methods for adaptive timestepping and higher order
- IMEX BDF methods for better stability properties and higher accuracy
- Fully implicit methods if splitting is not beneficial
- Exponential integrators for linear stiff problems
Classical Applications
These methods are standard in:
- Computational fluid dynamics for incompressible Navier-Stokes equations
- Atmospheric modeling for advection-diffusion-reaction systems
- Ocean modeling for transport equations with diffusion
- Astrophysical simulations for multiphysics problems
Installation
To be able to access the solvers in OrdinaryDiffEqIMEXMultistep
, you must first install them use the Julia package manager:
using Pkg
Pkg.add("OrdinaryDiffEqIMEXMultistep")
This will only install the solvers listed at the bottom of this page. If you want to explore other solvers for your problem, you will need to install some of the other libraries listed in the navigation bar on the left.
Example usage
using OrdinaryDiffEqIMEXMultistep
function lorenz!(du, u, p, t)
du[1] = 10.0 * (u[2] - u[1])
du[2] = u[1] * (28.0 - u[3]) - u[2]
du[3] = u[1] * u[2] - (8 / 3) * u[3]
end
u0 = [1.0; 0.0; 0.0]
tspan = (0.0, 100.0)
prob = ODEProblem(lorenz!, u0, tspan)
sol = solve(prob, CNAB2())
Full list of solvers
OrdinaryDiffEqIMEXMultistep.CNAB2
— TypeCNAB2()
IMEX Multistep method. Crank-Nicolson Adams Bashforth Order 2 (fixed time step)
Keyword Arguments
References
@article{jorgenson2014unconditional, title={Unconditional stability of a Crank-Nicolson Adams-Bashforth 2 numerical method}, author={JORGENSON, ANDREW D}, journal={A (A- C)}, volume={1}, number={2}, pages={1}, year={2014}} @article{he2010numerical, title={Numerical implementation of the Crank–Nicolson/Adams–Bashforth scheme for the time-dependent Navier–Stokes equations}, author={He, Yinnian and Li, Jian}, journal={International journal for numerical methods in fluids}, volume={62}, number={6}, pages={647–659}, year={2010}, publisher={Wiley Online Library}}
OrdinaryDiffEqIMEXMultistep.CNLF2
— TypeCNLF2()
IMEX Multistep method. Crank-Nicholson Leapfrong 2.
Keyword Arguments
References
@article{han2020second, title={A second order, linear, unconditionally stable, Crank–Nicolson–Leapfrog scheme for phase field models of two-phase incompressible flows}, author={Han, Daozhi and Jiang, Nan}, journal={Applied Mathematics Letters}, volume={108}, pages={106521}, year={2020}, publisher={Elsevier}} @article{jiang2015crank, title={A Crank–Nicolson Leapfrog stabilization: Unconditional stability and two applications}, author={Jiang, Nan and Kubacki, Michaela and Layton, William and Moraiti, Marina and Tran, Hoang}, journal={Journal of Computational and Applied Mathematics}, volume={281}, pages={263–276}, year={2015}, publisher={Elsevier}}