py_bvp: a universal Python interface for BVP codes

  • Authors:
  • Jason J. Boisvert;Paul H. Muir;Raymond J. Spiteri

  • Affiliations:
  • University of Saskatchewan;Saint Mary's University;University of Saskatchewan

  • Venue:
  • SpringSim '10 Proceedings of the 2010 Spring Simulation Multiconference
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

Boundary-value problems (BVPs) for ordinary differential equations arise in many important applications, and over the last few decades a number of high-quality software packages for this problem class have been developed. Some of these solvers have been designed for use on high-performance computers, and there is potential for further development in this direction. Unfortunately these codes, typically written in languages like Fortran or C, require complicated parameter lists and user-written subroutines. Moreover, researchers often want to try more than one solver on a given problem, and doing so can be challenging because the different interfaces to each package require distinctly different code to be written to describe the problem to be solved. In this paper, we present a Python environment called py_bvp that is specifically designed for the numerical solution of BVPs. In addition to providing a uniform interface that allows multiple BVP codes to be conveniently accessed, several tools are provided to support researchers who want to try to use these codes. Furthermore, the py_bvp environment is designed to allow additional BVP codes and tools to be easily added. We discuss the design decisions made to ensure that py_bvp is both user-friendly and easily expandable and give examples to illustrate its use.