last modified: 23-SEP-2005 | catalog | categories | new | search |

USCD1231 LSODPK.

LSODPK, Ordinary Differential Equations Solver for Stiff and Nonstiff System with Krylov Corrector Iteration

top ]
1. NAME OR DESIGNATION OF PROGRAM:  LSODPK.
top ]
2. COMPUTERS
To submit a request, click below on the link of the version you wish to order. Only liaison officers are authorised to submit online requests. Rules for requesters are available here.
Program name Package id Status Status date
LSODPK USCD1231/01 Tested 23-SEP-2005

Machines used:

Package ID Orig. computer Test computer
USCD1231/01 IBM PC PC Windows
top ]
3. DESCRIPTION OF PROGRAM OR FUNCTION

LSODPK, written jointly with Peter N. Brown, is a set of FORTRAN subroutines for solving the initial value problem for stiff and nonstiff systems of ordinary differential equations. In solving stiff systems, LSODPK uses a corrector iteration composed of Newton iteration and one of four preconditoned Krylov subspace iteration methods. The user must select the desired Krylov method and supply a pair of routine to evaluate, preprocess, and solve the (left and/or right) preconditioner matrices. Aside from preconditioning, the implementation is matrix-free, meaning that explicit storage of the Jacobian (or related) matrix is not required. The method is experimental because the scope of problems for which it is effective is not well-known, and users are forewarned that LSODPK may or may not be competitive with traditional methods on a given problem.  LSODPK also includes an option for a user-supplied linear system solver to be used without Krylov iteration.
  
The LSODKR 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. The Krylov methods are based on Arnoldi's method, the Generalized Minimum Residual method, and the Preconditioned Conjugate Gradient method, with scaling added.
This program solves a stiff ODE system that arises from a system of partial differential equations. The PDE system is a food web population model, with predator-prey interaction and diffusion on the unit square in two dimensions.  The dependent variable vector is
         1   2        ns
   c = (c , c , ..., c  )
and the PDEs are as follows:
     i               i      i
   dc /dt  =  d(i)*(c    + c   )  +  f (x,y,c)  (i=1,...,ns)
                     xx     yy        i
  
where
                  i          ns         j
   f (x,y,c)  =  c *(b(i) + sum a(i,j)*c )
    i                       j=1
  
The number of species is ns = 2*np, with the first np being prey and the last np being predators.  The coefficients a(i,j), b(i), d(i) are:
  
   a(i,i) = -a  (all i)
   a(i,j) = -g  (i .le. np, j .gt. np)
   a(i,j) =  e  (i .gt. np, j .le. np)
   b(i) =  b*(1 + alpha*x*y)  (i .le. np)
   b(i) = -b*(1 + alpha*x*y)  (i .gt. np)
   d(i) = dprey  (i .le. np)
   d(i) = dpred  (i .gt. np)
  
The various scalar parameters are set in subroutine setpar.
The boundary conditions are: normal derivative = 0.
A polynomial in x and y is used to set the initial conditions.
The PDEs are discretized by central differencing on a mx by my mesh.
top ]
5. RESTRICTIONS ON THE COMPLEXITY OF THE PROBLEM
top ]
6. TYPICAL RUNNING TIME
USCD1231/01
At the NEA-DB the demonstration program included in this package ran on a PC Windows Xeon in a few second.
top ]
7. UNUSUAL FEATURES
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.
top ]
9. STATUS
Package ID Status date Status
USCD1231/01 23-SEP-2005 Tested at NEADB
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.
[3] Peter N. Brown and Alan C. Hindmarsh, Reduced Storage Matrix Methods in Stiff ODE Systems, J. Appl. Math. & Comp., 31 (1989), pp. 40-91; Also LLNL Report UCRL-95088, Rev. 1, June 1987.
top ]
11. HARDWARE REQUIREMENTS
USCD1231/01
Compiling, loading, and executing the demonstration program require a minimum main storage of 5 Mbytes.
top ]
12. PROGRAMMING LANGUAGE(S) USED
Package ID Computer language
USCD1231/01 FORTRAN-77
top ]
13. SOFTWARE REQUIREMENTS
USCD1231/01
DOS under Windows XP
top ]
14. OTHER PROGRAMMING OR OPERATING INFORMATION OR RESTRICTIONS
top ]
15. NAME AND ESTABLISHMENT OF AUTHORS

A.C. Hindmarsh* and L. R. Petzold
Lawrence Livermore National Laboratory
P.O. Box 808
Livermore, California 94550, USA
* Contact
top ]
16. MATERIAL AVAILABLE
USCD1231/01
Information file
Double precision files:
DLSODPK_MAIN.exe Executable file
DLSODPK_MAIN.f Test Source file
ccout.aut  Author's output file
demout.aut  Author's output file
ccout.nea  NEA output file
demout.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
SLSODPK_MAIN.exe Executable file
SLSODPK_MAIN.f Test source file
ccout.nea  NEA output file
demout.nea  NEA output file
top ]
17. CATEGORIES
  • P. General Mathematical and Computing System Routines

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