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:
-
Enright and Pryce #A1,
neqn = 1,
y' = -y;
-
Enright and Pryce #A2,
neqn = 1,
y' = -y^3/2;
-
Enright and Pryce #A3,
neqn = 1,
y' = cos(t)*y;
-
Enright and Pryce #A4,
neqn = 1,
y' = y*(20-y)/80;
-
Enright and Pryce #A5,
neqn = 1,
y' = (y-t)/(y+t);
-
Enright and Pryce #B1,
neqn = 2,
y1' = 2*y1*(1-y2)
y2' = - y2*(1-y1);
-
Enright and Pryce #B2,
neqn = 3,
y1' = -y1+y2
y2' = y1-2*y2+y3
y3' = y2-y3;
-
Enright and Pryce #B3,
neqn = 3,
y1' = -y1
y2' = y1-y2^2
y3' = y2^2;
-
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);
-
Enright and Pryce #B5,
neqn = 3,
y1' = y2*y3
y2' = -y1*y3
y3' = -0.51*y1*y2;
-
Enright and Pryce #C1,
neqn = 10;
-
Enright and Pryce #C2,
neqn = 10;
-
Enright and Pryce #C3,
neqn = 10;
-
Enright and Pryce #C4,
neqn = 51;
-
Enright and Pryce #C5,
neqn = 30;
-
Enright and Pryce #D1,
neqn = 4;
-
Enright and Pryce #D2,
neqn = 4;
-
Enright and Pryce #D3,
neqn = 4;
-
Enright and Pryce #D4,
neqn = 4;
-
Enright and Pryce #D5,
neqn = 4;
-
Enright and Pryce #E1,
neqn = 2;
-
Enright and Pryce #E2,
neqn = 2;
-
Enright and Pryce #E3,
neqn = 2;
-
Enright and Pryce #E4,
neqn = 2;
-
Enright and Pryce #E5,
neqn = 2;
-
Enright and Pryce #F1,
neqn = 2;
-
Enright and Pryce #F2,
neqn = 1;
-
Enright and Pryce #F3,
neqn = 2;
-
Enright and Pryce #F4,
neqn = 1;
-
Enright and Pryce #F5,
neqn = 1;
-
Lotka-Volterra Predator-Prey Equations,
neqn = 2;
-
The Lorenz System,
neqn = 3;
-
The Van der Pol equation,
neqn = 2;
-
The Linearized Damped Pendulum,
neqn = 2;
-
The Nonlinear Damped Pendulum,
neqn = 2;
-
Duffing's Equation,
neqn = 2,
-
Duffing's Equation with Damping and Forcing,
neqn = 2;
-
Shampine's Ball of Flame,
neqn = 1,
y' = y^2-y^3;
-
Polking's First Order System,
neqn = 1,
y' = y^2-a*t+b;
-
the Knee problem,
neqn = 1,
y' = y*(y-t)/eps;
Licensing:
The computer code and data files described and made available on this web page
are distributed under
the MIT license
Languages:
test_ode is available in
a FORTRAN90 version and
a MATLAB version.
Related Data and Programs:
test_ode_test
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:
-
David Arnold, John Polking,
Ordinary Differential Equations using Matlab,
Second Edition,
Prentice Hall, 1999,
ISBN: 0130113816.
-
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.
-
Wayne Enright, John Pryce,
Algorithm 648:
NSDTST and STDTST,
ACM Transactions on Mathematical Software,
Volume 13, Number 1, March 1987, pages 28-34.
-
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.
-
Cleve Moler,
Cleve's Corner: Stiff Differential Equations,
MATLAB News and Notes,
May 2003, pages 12-13.
-
http://pitagora.dm.uniba.it/~testset/,
Test Set for IVP Solvers.
-
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.