TEST_ODE
Test Problems for
Initial Value Solvers


TEST_ODE is a FORTRAN90 library which defines a set of test initial value problems for ordinary differential equations.

These problems have the common form:

determine (some values of) the function Y(T)
given
Y'(T) = F(T,Y)
with initial value
Y(T0) = Y0

A uniform interface makes it easy to solve all the problems automatically, or to concentrate on a single one.

The problems include:

  1. Enright and Pryce #A1,
    neqn = 1,
    y' = -y;
  2. Enright and Pryce #A2,
    neqn = 1,
    y' = -y^3/2;
  3. Enright and Pryce #A3,
    neqn = 1,
    y' = cos(t)*y;
  4. Enright and Pryce #A4,
    neqn = 1,
    y' = y*(20-y)/80;
  5. Enright and Pryce #A5,
    neqn = 1,
    y' = (y-t)/(y+t);
  6. Enright and Pryce #B1,
    neqn = 2,
    y1' = 2*y1*(1-y2)
    y2' = - y2*(1-y1);
  7. Enright and Pryce #B2,
    neqn = 3,
    y1' = -y1+y2
    y2' = y1-2*y2+y3
    y3' = y2-y3;
  8. Enright and Pryce #B3,
    neqn = 3,
    y1' = -y1
    y2' = y1-y2^2
    y3' = y2^2;
  9. Enright and Pryce #B4,
    neqn = 3,
    y1' = (-y2-y1*y3) / sqrt(y1^2+y2^2)
    y2' = (y1-y2*y3) / sqrt(y1^2+y2^2)
    y3' = y1 / sqrt(y1^2+y2^2);
  10. Enright and Pryce #B5,
    neqn = 3,
    y1' = y2*y3
    y2' = -y1*y3
    y3' = -0.51*y1*y2;
  11. Enright and Pryce #C1,
    neqn = 10;
  12. Enright and Pryce #C2,
    neqn = 10;
  13. Enright and Pryce #C3,
    neqn = 10;
  14. Enright and Pryce #C4,
    neqn = 51;
  15. Enright and Pryce #C5,
    neqn = 30;
  16. Enright and Pryce #D1,
    neqn = 4;
  17. Enright and Pryce #D2,
    neqn = 4;
  18. Enright and Pryce #D3,
    neqn = 4;
  19. Enright and Pryce #D4,
    neqn = 4;
  20. Enright and Pryce #D5,
    neqn = 4;
  21. Enright and Pryce #E1,
    neqn = 2;
  22. Enright and Pryce #E2,
    neqn = 2;
  23. Enright and Pryce #E3,
    neqn = 2;
  24. Enright and Pryce #E4,
    neqn = 2;
  25. Enright and Pryce #E5,
    neqn = 2;
  26. Enright and Pryce #F1,
    neqn = 2;
  27. Enright and Pryce #F2,
    neqn = 1;
  28. Enright and Pryce #F3,
    neqn = 2;
  29. Enright and Pryce #F4,
    neqn = 1;
  30. Enright and Pryce #F5,
    neqn = 1;
  31. Lotka-Volterra Predator-Prey Equations,
    neqn = 2;
  32. The Lorenz System,
    neqn = 3;
  33. The Van der Pol equation,
    neqn = 2;
  34. The Linearized Damped Pendulum,
    neqn = 2;
  35. The Nonlinear Damped Pendulum,
    neqn = 2;
  36. Duffing's Equation,
    neqn = 2,
  37. Duffing's Equation with Damping and Forcing,
    neqn = 2;
  38. Shampine's Ball of Flame,
    neqn = 1,
    y' = y^2-y^3;
  39. Polking's First Order System,
    neqn = 1,
    y' = y^2-a*t+b;

Related Data and Programs:

LSODI is a FORTRAN77 library which implements the Livermore Solver for Ordinary Differential Equations, Implicit case.

NMS is a FORTRAN90 library which includes the DDRIV package of ODE solvers.

ODE is a FORTRAN90 version of the Shampine and Allen ODE solver.

POLKING is a pair of MATLAB routines, DFIELD and PPLANE, for solving and displaying the solution of differential equations and their phase planes.

RKF45 is a FORTRAN90 Runge-Kutta-Fehlberg ODE solver.

TEST_ODE is available in a FORTRAN90 version and a MATLAB version.

TOMS648_NSD is a FORTRAN77 library which defines the non-stiff Enright and Pryce test ODE problems, using double precision arithmetic.

TOMS648_NSS is a FORTRAN77 library which defines the non-stiff Enright and Pryce test ODE problems, using single precision arithmetic.

References:

The following references include some reliable, sturdy, comprehensive test sets. (Sometimes I'm just doing this for fun or for classroom exercises. These people, on the other hand, are serious.)

  1. David Arnold, John Polking,
    Ordinary Differential Equations using Matlab,
    Second Edition,
    Prentice Hall, 1999,
    ISBN: 0130113816.
  2. Wayne Enright, John Pryce,
    Algorithm 648: NSDTST and STDTST,
    ACM Transactions on Mathematical Software,
    Volume 13, Number 1, March 1987, pages 28-34.
  3. Thomas Hull, Wayne Enright, BM Fellen, Arthur Sedgwick,
    Comparing numerical methods for ordinary differential equations,
    SIAM Journal on Numerical Analysis,
    Volume 9, 1972, pages 603-637.
  4. Cleve Moler,
    Cleve's Corner: Stiff Differential Equations,
    MATLAB News and Notes,
    May 2003, pages 12-13.

  1. http://pitagora.dm.uniba.it/~testset/, Test Set for IVP Solvers.
  2. http://www.unige.ch/math/~hairer/testset/testset.html Stiff ODE test set of Hairer and Wanner.

Source Code:

Examples and Tests:

List of Routines:

You can go up one level to the FORTRAN90 source codes.


Last revised on 16 November 2006.