Cavendish is a universal binary and requires Mac OS X 10.4 or newer. A screen resolution of at least 1024x768 is recommended. To build Cavendish from source you will need Qt version 4 or newer. Cavendish should compile on Windows and Linux machines if you have access to a build system.

Download version 3.0: binary + source + sample files!

Cavendish Education is an easy-to-use program that solves the n-body problem. It accurately simulates gravitational interactions between an arbitrary number of objects. (For clarity, dynamics are restricted to the plane). You can create systems in Cavendish's intuitive graphical interface or write systems in Cavendish's scripting language - all saved files are plaintext format.

Guaranteed energy and momentum conservation - Cavendish uses a fourth-order Runge-Kutta algorithm with adaptive time-stepping.
Multiple restore points - restore a system to any past configuration!
Velocity/acceleration vector rendering - you can see the forces on an object.
Trace line rendering - objects can leave a trail behind them to visualize orbits.
Inelastic collisions between objects - objects can be point masses or have finite radius.
Variable simulation speed - run quickly to complete an orbit or slow down to focus on a close approach.
Automatic view control - follow an object or the system's center of mass.

Sample screenshot

Cavendish is free, open-source software. It uses Qt for the user interface and OpenGL for rendering. You may use it and modify it however you like. Please let me know how you are using my program!

About the author
Cavendish was written by Benjamin Blonder between 2004 and 2009. You can contact me at