Beam chaos
Parameters
Sped up · listen
Strike to hear the whole decay.
Strike to hear the whole decay.
Equal masses on vertical rails, moving sideways only, shown in real time (displacements scaled to fit). Neighbours are joined by springs (tension k), and each mass resists bending (κ, on how far it sits off the line through its neighbours). The springs also stiffen as they stretch (k3): this is the nonlinearity. Strike gives the energy on the slider as a hammer blow at a point (m from the left support; a short triangular bump of velocity, one spacing of the 8-mass beam wide on each side, so the blow is the same at any number of masses), with a mallet at a point, or in the shape of one normal mode. A mallet (mass M, contact stiffness K in Parameters) arrives with the strike energy and presses into the beam over the same bump through a Hertz contact (force K δ^1.5), then lifts off; the readout gives the contact time, the share of the energy that went into the beam, and the peak force. The motion is shown from lift-off.
The ends are clamped (fixed, and held level), pinned (fixed, free to turn), or a cantilever: clamped at the left and free at the right. Bending makes the overtones inharmonic, as in a bar or a cymbal. Weak strikes ring as independent normal modes; strong ones trade energy between them. Ghost adds a second beam started a tiny distance away, drawn in orange: in chaotic motion the two separate exponentially. The space bar pauses.
Mass, tension k, bending κ (either may be 0, not both), stretching k3, the rise h of a curved rest shape (0 for straight), the rest spacing a (drawing only), the decay time τ of the amplitude (drag on the masses, all modes alike; 0 for none), and τ top, the decay time a frequency-dependent loss (dashpots alongside the springs) gives the highest modes (at 8 masses), less for lower ones (0 for none); the derived values list each mode's decay time. Apply restarts the beam at rest.
The values are for the beam with 8 masses. Masses refines the same beam: same length, rise, strike energies and drag, with each mass and spring constant scaled for the finer spacing (mass with the spacing, tension and loss inversely, bending and stretching as its inverse cube), so the low modes stay put and more masses add higher ones. The derived values give the scaled constants. τ top refers to the highest mode at 8 masses.
Stretching "local" stiffens each spring by its own stretch, as in the FPUT chain. "Kirchhoff" gives all springs one shared tension set by the total stretch, as for a beam whose ends are held apart. The two agree when every spring is stretched alike. The nonlinear scale below is the energy of mode 1 at which its stretching energy equals its linear energy.
Charts of the beam on the left, on the same clock. Click a chip to show or hide one; hover to read values, click to pin the cursor.
Lyapunov is the rate (1/s) at which nearby motions separate, measured with a hidden second beam kept a tiny distance away: positive for chaos, near 0 for regular motion. Shown over the last 10 s and since the strike; the first 5 s are left out of the y range. Energy error should stay tiny. Separation (with the ghost on) is the ghost's distance from the beam, on a log scale.
Mode bars show the energy in each normal mode now, relative to the strike, with the number of modes sharing it; Mode energies show the same over time, and Mode history each mode's share as a heat map over the last 300 s (mode 1 at the bottom).
A copy of the same strike, run fast enough to be heard: Pitch sets where the lowest normal mode lands, and the whole decay plays in a few seconds. While this panel is open each Strike plays a note; Replay plays the last one again with the current settings.
Save WAV saves the last note as heard (16-bit mono, normalized). Signal chooses what is heard, at a point along the beam (m from the left support, between masses by interpolation). The charts span the whole note: the spectrogram, with dashed lines at the normal-mode pitches, the Lyapunov exponent over the last 10 s of the beam's own time, the energy, and Modes, each mode's share of the energy as a heat map (mode 1 at the bottom). λ vs E collects the exponent against the energy over notes, earlier notes faded (Clear starts over). Notes are anti-alias filtered (motion above 20 kHz at 48 kHz is removed rather than folded back); a note says when the top modes are above that and so are not heard.