Chaotic Waterwheel with Planck

June 2, 2019
1 minute.


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 turns out I could create something resembling the waterwheel but it’s not as smooth as it could be. Counter-clockwise rotations seem to jump around everywhere and adding more than three cups makes it go all wrong. Maybe it’s a bug in Planck?

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.

Maybe one day I’ll try with a different engine, or maybe this one can be improved, I don’t know.

Anyway here’s the result.

Chaotic Waterwheel with Planck - June 2, 2019 - John Hearn