PVODE, an ODE Solver for Parallel Computers

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.