Table of Contents
Fetching ...

ODE Test Problems: a MATLAB suite of initial value problems

Steven Roberts, Andrey A. Popov, Adrian Sandu

TL;DR

OTP provides a MATLAB-based, object-oriented framework for a broad suite of initial value problems to test numerical time integration and data assimilation. It unifies problem definitions via presets, enabling easy setup like $model = \text{csl.otp.}{problem}.presets.{Preset}$, while supporting access to $\text{RHS.F}$, $\text{TimeSpan}$, and $\text{Y0}$, and advanced features such as Jacobian information and partitioned RHS. The paper demonstrates a wide spectrum of problems—from linear Dahlquist to high-dimensional chaotic systems like Lorenz $63$ and Lorenz $96$, plus PDE-inspired discretizations such as QGSO and Gray–Scott—highlighting the framework’s versatility and testing utility. The authors emphasize ease of use, extendability, and cross-language compatibility (e.g., Python interface), underscoring OTP’s practical impact for benchmarking, solver development, and methodological research in computational science.

Abstract

ODE Test Problems (OTP) is an object-oriented MATLAB package offering a broad range of initial value problems which can be used to test numerical methods such as time integration methods and data assimilation (DA) methods. It includes problems that are linear and nonlinear, homogeneous and nonhomogeneous, autonomous and nonautonomous, scalar and high-dimensional, stiff and nonstiff, and chaotic and nonchaotic. Many are real-world problems from fields such as chemistry, astrophysics, meteorology, and electrical engineering. OTP also supports partitioned ODEs for testing IMEX methods, multirate methods, and other multimethods. Functions for plotting solutions and creating movies are available for all problems, and exact solutions are provided when available. OTP is desgined for ease of use-meaning that working with and modifying problems is simple and intuitive.

ODE Test Problems: a MATLAB suite of initial value problems

TL;DR

OTP provides a MATLAB-based, object-oriented framework for a broad suite of initial value problems to test numerical time integration and data assimilation. It unifies problem definitions via presets, enabling easy setup like , while supporting access to , , and , and advanced features such as Jacobian information and partitioned RHS. The paper demonstrates a wide spectrum of problems—from linear Dahlquist to high-dimensional chaotic systems like Lorenz and Lorenz , plus PDE-inspired discretizations such as QGSO and Gray–Scott—highlighting the framework’s versatility and testing utility. The authors emphasize ease of use, extendability, and cross-language compatibility (e.g., Python interface), underscoring OTP’s practical impact for benchmarking, solver development, and methodological research in computational science.

Abstract

ODE Test Problems (OTP) is an object-oriented MATLAB package offering a broad range of initial value problems which can be used to test numerical methods such as time integration methods and data assimilation (DA) methods. It includes problems that are linear and nonlinear, homogeneous and nonhomogeneous, autonomous and nonautonomous, scalar and high-dimensional, stiff and nonstiff, and chaotic and nonchaotic. Many are real-world problems from fields such as chemistry, astrophysics, meteorology, and electrical engineering. OTP also supports partitioned ODEs for testing IMEX methods, multirate methods, and other multimethods. Functions for plotting solutions and creating movies are available for all problems, and exact solutions are provided when available. OTP is desgined for ease of use-meaning that working with and modifying problems is simple and intuitive.

Paper Structure

This paper contains 19 sections, 19 equations, 3 figures.

Figures (3)

  • Figure 1: Modeling a perfect bouncing ball in a vacuum, on randomly generated sinusoidal terrain.
  • Figure 2: Perturbations in model runs of the canonical Lorenz '63 test problem resulting from a tiny perturbation in the parameter $\sigma$.
  • Figure 3: A typical model state of the 1.5 layer quasi-geostrophic model (QGSO). The left graph represents the stream function while the right represents vorticity.