Coupled Pendulum Wave & Energy Resonance Simulator

p5.js Physics Engine
Tip: Click & Drag any mass node to displace
Sim Time 0.00 s
Beat Period 8.40 s
Phase Sync Cycle 24.0 s
Active Mass Nodes 12

Physics Parameters

0.150
0.005
9.81 m/s²
12
25°

Mechanical Energy Flow

Kinetic
2.06 J
Potential
2.06 J
Total E
4.12 J
Coupled Wave Status synchronized_resonance
Initial Energy
4.12 J
Beat Period
8.40 s
Sync Cycle
24 s
Energy Exchange
100% conservational
Coupled harmonic oscillators exchange kinetic and potential energy through inter-mass tension vectors. In the 12-pendulum wave arrangement, independent natural frequencies disperse into dynamic wave patterns that realign periodically.

Pendulum length, height and source assumptions

Read the explanation

The source chooses a nominal twenty four second window and fifteen plus point seven five times the index cycles. It divides the window by those cycles, then computes length as gravity times period over two pi squared. At gravity nine point eight one, the first two periods are one point six and about one point five two four seconds. Their lengths are about point six three six and point five seven seven meters. Both rods use three hundred sixty pixels per meter. This is saved source arithmetic, not a measured laboratory result. For the energy beats preset, the first bob is one kilogram on a one meter rod, initially at rest. The source computes potential energy as mass times gravity times length times one minus cosine of the angle. At twenty five degrees this is about point nine one nine joules. At fifty degrees it is about three point five zero four joules. The yellow lines show the actual vertical rise on a shared rod scale. These are initial formula examples. The on-page controls require the original p five library; numerical examples do not establish calibrated laboratory results. The source keeps its sync label fixed at twenty four seconds. Yet its second nominal pendulum completes fifteen point seven five cycles in that window, rather than an integer. The twenty four second label therefore does not itself prove exact return. Damping and coupling change the dynamics too. The code updates velocity, then angle; it is not the Runge Kutta solver described in a comment. Coupling uses screen coordinate stretches, so do not treat the output as calibrated physical energy conservation. The source wires Pause, Step Frame, and CSV export through the original p five instance. But Step Frame sets the paused flag before calling the physics update, and that function immediately returns when paused. Consequently this saved implementation does not actually advance a frame through that button. Changing gravity, count, or displacement rebuilds the array, while CSV reports each length, angle, velocity, and computed energy. The original step-button limitation is preserved. These numerical model outputs are distinct from laboratory measurements or proof of synchronization.

Super generates helpful tools and automates fact-checking across the internet proactively. If you enjoyed this tool, build your own with Super and share it with a friend.