Computer Programs

NAME OR DESIGNATION OF PROGRAM, COMPUTER, DESCRIPTION OF PROGRAM OR FUNCTION, METHODS, RESTRICTIONS, CPU, FEATURES, RELATED OR AUXILIARY PROGRAMS, STATUS, REFERENCES, REQUIREMENTS, LANGUAGE, OPERATING SYSTEM, OTHER RESTRICTIONS, NAME AND ESTABLISHMENT OF AUTHORS, MATERIAL, CATEGORIES

[ top ]

[ top ]

To submit a request, click below on the link of the version you wish to order. Rules for end-users are
available here.

Program name | Package id | Status | Status date |
---|---|---|---|

LSODES | USCD1229/01 | Tested | 23-SEP-2005 |

Machines used:

Package ID | Orig. computer | Test computer |
---|---|---|

USCD1229/01 | IBM PC | PC Windows |

[ top ]

3. DESCRIPTION OF PROGRAM OR FUNCTION

LSODES, written jointly with A. H. Sherman, solves systems dy/dt = f and in the stiff case treats the Jacobian matrix in general sparse form. It determines the sparsity structure on its own, or optionally accepts this information from the user. It then uses parts of the Yale Sparse Matrix Package (YSMP) to solve the linear systems that arise, by a sparse (direct) LU factorization/backsolve method. The LSODES source is commented extensively to facilitate modification. Both a single-precision version and a double-precision version are available.

LSODES, written jointly with A. H. Sherman, solves systems dy/dt = f and in the stiff case treats the Jacobian matrix in general sparse form. It determines the sparsity structure on its own, or optionally accepts this information from the user. It then uses parts of the Yale Sparse Matrix Package (YSMP) to solve the linear systems that arise, by a sparse (direct) LU factorization/backsolve method. The LSODES source is commented extensively to facilitate modification. Both a single-precision version and a double-precision version are available.

[ top ]

4. METHODS

It is assumed that the ODEs are given explicitly, so that the system can be written in the form dy/dt = f(t,y), where y is the vector of dependent variables, and t is the independent variable. LSODES is used for each of the relevant values of mf to solve the problem ydot = A * y, where A is the 9 by 9 sparse matrix

-4 1 1

1 -4 1 1

1 -4 1

-4 1 1

A = 1 -4 1 1

1 -4 1

-4 1

1 -4 1

1 -4

The initial conditions are y(0) = (1, 2, 3, ..., 9).

Output is printed at t = 1, 2, and 3.

Each case is solved first with nominal (large) values of lrw and liw, and then with values given by lenrw and leniw (optional outputs) on the first run, as a check on these computed work array lengths. If the errors are too large, or other difficulty occurs, a warning message is printed.

It is assumed that the ODEs are given explicitly, so that the system can be written in the form dy/dt = f(t,y), where y is the vector of dependent variables, and t is the independent variable. LSODES is used for each of the relevant values of mf to solve the problem ydot = A * y, where A is the 9 by 9 sparse matrix

-4 1 1

1 -4 1 1

1 -4 1

-4 1 1

A = 1 -4 1 1

1 -4 1

-4 1

1 -4 1

1 -4

The initial conditions are y(0) = (1, 2, 3, ..., 9).

Output is printed at t = 1, 2, and 3.

Each case is solved first with nominal (large) values of lrw and liw, and then with values given by lenrw and leniw (optional outputs) on the first run, as a check on these computed work array lengths. If the errors are too large, or other difficulty occurs, a warning message is printed.

[ top ]

[ top ]

USCD1229/01

At the NEA-DB the demonstration program included in this package ran on a PC Windows Xeon in a few seconds.[ top ]

[ top ]

8. RELATED OR AUXILIARY PROGRAMS

This program is part of the ODEPACK (USCD1232) collection of Fortran solvers for the initial value problem for ordinary differential equation systems. It consists of nine solvers, namely a basic solver called LSODE (USCD1223) and eight variants of it: LSODES (USCD1229), LSODA (USCD1227), LSODAR (USCD1228), LSODPK (USCD1231), LSODKR (USCD1230), LSODI (USCD1224), LSOIBT (USCD1226), and LSODIS (USCD1225) which are distributed by the Computer Program Service of the NEA Data Bank.

This program is part of the ODEPACK (USCD1232) collection of Fortran solvers for the initial value problem for ordinary differential equation systems. It consists of nine solvers, namely a basic solver called LSODE (USCD1223) and eight variants of it: LSODES (USCD1229), LSODA (USCD1227), LSODAR (USCD1228), LSODPK (USCD1231), LSODKR (USCD1230), LSODI (USCD1224), LSOIBT (USCD1226), and LSODIS (USCD1225) which are distributed by the Computer Program Service of the NEA Data Bank.

[ top ]

10. REFERENCES

[1] A. C. Hindmarsh, "ODEPACK, A Systematized Collection of ODE Solvers," in Scientific Computing, R. S. Stepleman et al. (eds.), North-Holland, Amsterdam, 1983 (vol. 1 of IMACS Transactions on Scientific Computation), pp. 55-64.

[2] P. N. Brown and A. C. Hindmarsh, "Reduced Storage Matrix Methods in Stiff ODE Systems," J. Appl. Math. & Comp., 31 (1989), pp.40-91. 11.

[1] A. C. Hindmarsh, "ODEPACK, A Systematized Collection of ODE Solvers," in Scientific Computing, R. S. Stepleman et al. (eds.), North-Holland, Amsterdam, 1983 (vol. 1 of IMACS Transactions on Scientific Computation), pp. 55-64.

[2] P. N. Brown and A. C. Hindmarsh, "Reduced Storage Matrix Methods in Stiff ODE Systems," J. Appl. Math. & Comp., 31 (1989), pp.40-91. 11.

[ top ]

USCD1229/01

Compiling, loading, and executing the demonstration program require a minimum main storage of 5 Mbytes.[ top ]

[ top ]

[ top ]

USCD1229/01

Information fileDouble precision files:

DLSODES_MAIN.exe Executable file

DLSODES_MAIN.f Test Source file

DLSODES_OUT.aut Author's output file

DLSODES_OUT.nea NEA output file

opkda1.f Fortran source file

opkda2.f Fortran source file

opkdmain.f Fortran source file

Single precision files

opksa1.f Fortran source file

opksa2.f Fortran source file

opksmain.f Fortran source file

SLSODES_MAIN.exe Executable file

SLSODES_MAIN.f Test source file

SLSODES_OUT.nea NEA output file

Keywords: algorithms, initial-value problems, numerical solution, ordinary differential equations.