Before modern computers, differential analysers used mechanical wheel-and-disk mechanisms to solve differential equations through integration. These analogue computers were used for a wide range of problems, such as projectile trajectories, fluid dynamics, and weather systems. Today, there are very few original and operational differential analysers, with only half of the "Manchester Machine" analyser (built in 1935) on display at the London Science Mueseum, with the other half in storage at the Science and Industry Museum in Manchester.
This website was designed to be a customisable simulation of an original differential analyser. The components we've provided are based on Vannevar Bush's 1931 Differential Analyzer paper, which showed that the differential analyser could be used for a wide range of practical purposes. All components are implemented to be similar to how the physical machines would have functioned, but having this simulation allows for more complex machines as seen in the examples we provide.
For more information, refer to the Wikipedia page for differential analysers and Vannevar Bush's 1931 paper.
This website was developed over the course of seven weeks, between 23/01/25 - 13/03/25, by Aaron Danton, Andy Zhu, Hanzhang Shen, Joseph Hunt, Simon Solca, and Sophie Ring, as part of the University of Cambridge's Computer Science IB Group Project, for our client, Richard Pawson. Thank you Richard!
Find the source code here!
Basic Controls
Pan by clicking and dragging on the blank canvas
Zoom in and out by scrolling
Press 'R' on your keyboard to recenter your differential analyser
Drag components from the side panel into your differential analyser and move connected components around
Delete components by dragging them back to the components sidebar
Click and resize vertical and horizontal shafts using the arrows on both ends
Right-click on certain components to change their configurations
Open the drop-down menu in the components sidebar labelled "Examples" to experiment with the existing examples we have created!
Errors and Warnings
If a component is highlighted in yellow, then it is not fully configured and is missing at least one of its required inputs
If your differential analyser turns red, then there are some conflicting components that need to be resolved
constants written here are accessible in all input fields