and it got me thinking. First, here’s the youtube he’s refering to:

I wanted to see if I could model it in Mathematica. As usual, my first attempt didn’t quite get it right. But, eventually, I got it figured out. For those of you who just want to see the animation:

Ok, so how’d I do it? First I tried just coupling several pendula to a common base. I was able to determine the equations of motion quite quickly using the Lagrangian formalism and Mathematica’s excellent ability to abstract things. There’s a screenshot below showing what I mean about that. I was able to make a few animations using varying values for the friction, etc, but I never really got the synchronization I was looking for.

Here’s what I was thinking: every system has a set of normal modes where every dynamic variable oscillates with the same frequency. I figured that each mode would have a different average speed of the particles and so the slowest ones would last the longest in the presence of friction. I still think that’s true, but the problem is that you’ll only see the synchronization at very small amplitudes. It didn’t seem like that’s what was going on in the original movie, so I thought I’d do a little digging.

It turns out that there’s a nice publication in the American Journal of Physics all about this that came out in 2002. In there, I learned how to model metronomes, as it turns out assuming they’re just simple pendulums (ok, grammar nazis: pendula), but rather, they’re pendula with an added van der Pol term that tries to keep them at a fixed amplitude. Basically, there’s a term that augments the friction term so that when the angle is less than your target amplitude, it adds energy to the system, and when it’s larger than your target amplitude, it takes energy out of the system.

So, by simply changing one line in my code, I was able to see the synchronization. Pretty cool!

That is awesome. György Ligeti, the composer I studied for my dissertation, wrote a piece for 100 metronomes purposefully out of sync (http://www.youtube.com/watch?v=iCh9ifSoiL8). Maybe I should try to arrange a performance of that piece mounted on cylinders and see if this scales.

net was a 16 input layer, then three 50 element ramp layers, then a 2 output layer (the ratios f2/f1 and f3/f1) 1 day ago

each trainer is a random 4-sided polygon drum head that I calculate the lowest 3 resonant frequencies for.
so trainer is: 4 coords -> 3 freq 1 day ago

over trained my neural net.
black: f3/f1 vs f2/f1 for 1000 drums
green: NN result
red: new set (not trained)
purple… twitter.com/i/web/status/9…1 day ago

That is awesome. György Ligeti, the composer I studied for my dissertation, wrote a piece for 100 metronomes purposefully out of sync (http://www.youtube.com/watch?v=iCh9ifSoiL8). Maybe I should try to arrange a performance of that piece mounted on cylinders and see if this scales.

Pingback: What I need from FOSS | SuperFly Physics

After looking at various papers on the topic I found some equations of motion, did some algebra and wrote some python code. Here is the result

video of simulation results animated:

python code:

https://github.com/paulgribble/metronomes

very cool, Paul, thanks for posting this.

Pingback: You are getting sleeeeeeepy….. » Gocnhin Archive

Pingback: You are getting sleeeeeeepy….. | Cosmic Variance » Gocnhin Archive

Pingback: You are getting sleeeeeeepy….. – 56th Edition » Gocnhin Archive

Pingback: Synchronization of metronomes and why physics rocks | Science Teaching Tools

Actually, the grammar nazis will tell you that “pendulums” is the correct plural.

Pingback: Relativistic Lagrangians | SuperFly Physics