Chaotic Waterwheel with Planck
(Update: Many thanks to shakiba for fixing this and adding it to the Plank.js homepage as an example.)
A schematic of the chaotic Malkus waterwheel discussed by Steven Strogatz in lecture 15 of his course.
I’m just finishing Steven Strogatz’s Nonlinear Dynamics and Chaos course and one of the systems he discusses is the chaotic Malkus water wheel. This is a real set up devised to mimic the famous Lorenz equations.
“In the 1960s… a real system was needed to demonstrate that chaos and the butterfly effect were realities and not mere mathematical artefacts… W.V.R. Malkus, a mathematician at MIT, realized that the Lorenz-Equations can be transformed into the equations of motion of a waterwheel. This waterwheel was built at MIT in the 1970s and helped to convince the sceptical physicists of the reality of chaos” - taken from here
It consists of a stream of water feeding into multiple, leaky cups mounted on a rotating wheel. The weights of the cups containing water produce a chaotic behaviour causing the wheel to rotate in different directions unpredictably.
A real construction of the wheel. Here’s another one with a video.
So today I thought I’d play with this idea and try to reproduce it in a 2D physics engine. I chose Planck, a JavaScript physics engine based on the Box2D implementation in C++.
It took a while to tune the size of the balls representing the water flow and the gaps in the cups which regulate the outflow. It’s far from perfect but it demonstrates the idea.
Anyway here’s the result.