# test_ode

test_ode, a FORTRAN90 code which defines a set of test initial value problems for ordinary differential equations (ODE).

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;
40. the Knee problem,
neqn = 1,
y' = y*(y-t)/eps;

### Languages:

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

### Related Data and Programs:

lorenz_ode, a FORTRAN90 code which approximates solutions to the Lorenz system, creating output files that can be displayed by Gnuplot.

midpoint, a FORTRAN90 code which solves one or more ordinary differential equations (ODEs) using the midpoint method.

nms, a FORTRAN90 code which includes the ddriv() package of ODE solvers.

ODE, a FORTRAN90 code which implements the Shampine and Allen ODE solver.

predator_prey_ode, a FORTRAN90 code which solves a pair of predator prey ordinary differential equations (ODE's).

RKF45, a FORTRAN90 code which implements a Runge-Kutta-Fehlberg ODE solver.

spring, a FORTRAN90 code which shows how gnuplot graphics can be used to illustrate a solution of the ordinary differential equation (ODE) that describes the motion of a weight attached to a spring.

stiff_ode, a FORTRAN90 code which considers an ordinary differential equation (ODE) which is an example of a stiff ODE.

### References:

1. David Arnold, John Polking,
Ordinary Differential Equations using Matlab,
Second Edition,
Prentice Hall, 1999,
ISBN: 0130113816.
2. Wayne Enright, John Pryce,
Two FORTRAN packages for assessing initial value methods,
ACM Transactions on Mathematical Software,
Volume 13, Number 1, March 1987, pages 1-27.
3. Wayne Enright, John Pryce,
Algorithm 648: NSDTST and STDTST,
ACM Transactions on Mathematical Software,
Volume 13, Number 1, March 1987, pages 28-34.
4. 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.
5. 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:

Last revised on 02 October 2023.