Software development is an integral part of our research. In order for new numerical algorithms to have impact, they must be implemented in software that is both easy to use and powerful enough to solve interesting problems.
We believe in the principles of reproducibility and open science. All codes used in our papers are released (under modified BSD license) and we encourage others to use them.
Below you will find brief descriptions of and links to the software packages developed within our group and with collaborators. Smaller scripts used for a specific paper can be found in links on our publications page.


Documentation Code Paper

A parallel finite volume solver that includes the algorithms of Clawpack and SharpClaw. Scalable to tens of thousands of processors, with a convenient Python interface.


Documentation Code Paper

A collection of tools for designing Runge-Kutta and multistep Runge-Kutta methods with prescribed or optimized stability and accuracy properties. Written primarily in MATLAB and makes use of the Optimization Toolbox and Global Optimization Toolbox, as well as CVX.


Documentation Code Paper

A software laboratory for designing, analyzing, and testing numerical methods for initial value ODEs, written in Python. NodePy takes an object-oriented approach, in which the basic object is a numerical ODE solver (e.g., a Runge-Kutta or linear multistep method).

© 2011 David Ketcheson and Matteo Parsani
Site design based on a template from Andreas Viklund