TOMS648_NSD
ODE Tests
Non-Stiff Double Precision


TOMS648_NSD is a FORTRAN77 library which defines a set of non-stiff 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;

TOMS648_NSD is one part (the non-stiff double precision part) of the set of routines released as ACM TOMS Algorithm 648.

Languages:

TOMS648_NSD is available in a FORTRAN77 version.

Related Data and Programs:

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

ODE, a FORTRAN90 library which contains the Shampine and Allen ODE solver.

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

TEST_ODE, a FORTRAN90 library which defines a set of test functions for ODE solvers.

References:

  1. W Enright and J Pryce,
    Algorithm 648,
    NSDTST and STDTST,
    ACM Transactions on Mathematical Software,
    Volume 13, Number 1, 1987, pages 28-34.
  2. T Hull, W Enright, B Fellen and A Sedgwick,
    Comparing numerical methods for ordinary differential equations,
    SIAM Journal on Numerical Analysis,
    Volume 9, 1972, pages 603-637.

Source Code:

Examples and Tests:

List of Routines:

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


Last revised on 23 March 2006.