loading...
Frequency response at midspan (orange: exact; green: measured in sweep mode; line: drive)
running...
How to use
Pick a preset or set the span, fundamental frequency, mass and damping yourself. The red arrow is the pulsing load; set its frequency to f1 (the readout shows r = f / f1) and watch the deck build up. Try Sweep through the modes to see the resonance curve being traced. Tick Fit a tuned mass damper and press the Footbridge + optimal TMD preset to see the peak fall. The deflection is drawn exaggerated (slider); real values are in the readouts. Drag to orbit, wheel to zoom. Space pauses, R resets.
Experiments: (1) double the damping and halve the peak; (2) move the load to x/L = 0.5 and then 0.25: even modes disappear at midspan; (3) detune the TMD to 1.1 and see it stop working; (4) let the load march across at 1.4 m/s.
The cable-stayed bridge, tower, piers, abutments, railings, lamps, river banks and tuned mass damper housing were modelled in Blender 5.2 with baked PBR textures (asphalt, concrete, steel, rock, grass) and exported as a Draco GLB; the deck segments and stays are moved each frame by the same modal model as the 2D page.
The science
A bridge deck is modelled as a simply supported Euler-Bernoulli beam of length L, mass per length m and flexural rigidity EI. Its free vibration shapes are sines, so the deflection is a sum of modes:
w(x,t) = sum_n q_n(t) sin(n pi x / L)
omega_n = (n pi / L)^2 sqrt(EI / m) = n^2 omega_1, M_n = m L / 2
Every mode behaves like an independent damped oscillator driven by the projection of the load onto the mode shape. For a point force F(t) at x_f:
q_n'' + 2 zeta omega_n q_n' + omega_n^2 q_n = F(t) sin(n pi x_f / L) / M_n
Driving a mode at its own frequency gives resonance. The steady amplitude of mode 1 is the static value multiplied by the dynamic amplification factor, which at r = f / f1 = 1 is 1 / (2 zeta):
|q| = (F phi / (M omega^2)) / sqrt((1 - r^2)^2 + (2 zeta r)^2)
With the typical footbridge damping of 0.5 to 1 % this is a factor of 50 to 100, which is why a crowd walking at about 1.8 to 2 Hz (the vertical component of the footfall) can make a light footbridge visibly bounce. The static midspan deflection of the same load is F L^3 / (48 EI).
Tuned mass damper. A small mass md on a spring kd and dashpot cd is attached to the deck. The damper force on the deck is kd (z - y) + cd (z' - y'), where y is the deck deflection at the damper and z the damper mass position. Den Hartog's optimum for a mass ratio mu is f_TMD / f1 = 1/(1+mu) and zeta_TMD = sqrt(3 mu / (8 (1+mu)^3)); the damper splits the single resonance peak into two lower ones.
Frequency response graph. The orange curve is the exact steady-state response of the six-mode model (plus the damper) from a complex linear solve. The green dots in sweep mode are measured by the running time integration, so you can see the simulation agree with the analytic curve.
Simplifications. Linear small-deflection beam theory, constant section, six modes, point or moving point loads, no fluid-structure feedback. Real lock-in (the 2000 Millennium Bridge, where walkers adapt their step to the sway) and aerodynamic flutter such as the 1940 Tacoma Narrows collapse are nonlinear effects that this linear model does not reproduce; the model shows only the structural resonance part. Comfort thresholds are rounded textbook guide values, not a design code.
In-page checks. (1) static midspan deflection from the modal sum against the closed form F L^3 / (48 EI); (2) the damping ratio recovered from the logarithmic decrement of a free decay; (3) resonant amplitude from time integration against the complex frequency-response solve; (4) the same with a TMD fitted; (5) the Den Hartog damper reduces the resonant peak.