PVODE is a general-purpose solver for ordinary differential equation (ODE) systems that implements methods for both stiff and nonstiff systems. The code is designed for single-program multiple-data environments. It is written in ANSI standard C, with a highly modular structure. The version being distributed uses the message-passing interface (MPI) system for communication. In the stiff case, PVODE uses a backward differentiation formula method combined with preconditioned GMRES iteration. Parallelism is achieved by distributing the ODE solution vector into user-specified segments and parallelizing a set of vector kernels accordingly. For PDE-based ODE systems, we provide a module that generates a band block-diagonal preconditioner for use with the GMRES iteration. We also provide a set of interfaces to accommodate Fortran applications. The paper includes a stiff example problem and test results on a Cray-T3D with three different message-passing systems. PVODE is publicly available.
[1]
William Gropp,et al.
Skjellum using mpi: portable parallel programming with the message-passing interface
,
1994
.
[2]
William Gropp,et al.
PETSc 2.0 users manual
,
2000
.
[3]
A. Hindmarsh,et al.
CVODE, a stiff/nonstiff ODE solver in C
,
1996
.
[4]
M. R. Wittman,et al.
Testing of PVODE, a parallel ODE solver
,
1996
.
[5]
A.C., LLNL Hindmarsh,et al.
User documentation for PVODE, an ODE solver for parallel computers
,
1998
.
[6]
Anthony Skjellum,et al.
Using MPI - portable parallel programming with the message-parsing interface
,
1994
.
[7]
P. Brown,et al.
Reduced storage matrix methods in stiff ODE systems
,
1989,
Conference on Numerical Ordinary Differential Equations.
[8]
G. D. Byrne,et al.
VODE: a variable-coefficient ODE solver
,
1989
.
[9]
A. C. Hindmarsh,et al.
PVODE and KINSOL: parallel software for differential and nonlinear systems
,
1998
.