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 functionf₁ contains stiff terms requiring implicit treatment
  • Second functionf₂ 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 method
  • CNLF2: Crank-Nicolson Leap-Frog 2nd order method

Method characteristics

  • CNAB2: Most commonly used, good stability and accuracy balance
  • CNLF2: 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.CNAB2Type
CNAB2()

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}}

source
OrdinaryDiffEqIMEXMultistep.CNLF2Type
CNLF2()

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}}

source