Péndulos acoplados

Explore normal modes and energy exchange between two or three pendula in a small-angle model.

About this tool

Compare normal modes and energy exchange in a chain of two or three identical pendula. Choose a pure mode to see one frequency, or displace only the first pendulum to excite several modes.

Model and inputs

Each bob has mass m = 1 kg and string length L = 1.2 m. Adjacent suspension points are 0.9 m apart, with gravitational acceleration g = 9.81 m/s². Springs connect neighboring bobs only; the chain ends are free, with no wall springs. Spring stiffness k is a physical spring constant in N/m, from 0 to 5. Initial amplitude ranges from 0 to 0.2 rad and duration from 1 to 60 s.

This is an undamped, planar, small-angle model. Spring extension is approximated as L(θᵢ₊₁ − θᵢ), and gravity is linearized in θ. There is no forcing, damping, large-angle dynamics or motion out of the plane. The diagram shows each bob at (pivot + L sin θ, −L cos θ) so that every string has its actual length L; this geometric drawing does not change the linearized dynamics.

Initial displacement

All pendula start with zero angular velocity. Pendulum 1 only displaces the first bob. Each mode preset chooses a pure eigenform, with its largest initial angle magnitude equal to the selected amplitude. Mode 3 is available only for three pendula. At k = 0 the pendula are independent; an initially unexcited pendulum stays exactly at rest. Zero amplitude leaves the entire chain at rest.

The defaults are two pendula, the first bob displaced by 0.15 rad, k = 0.8 N/m, and a 30 s window. Compare their energy curves to see exchange between the pendula. A maximum in a beat envelope does not by itself establish a complete energy transfer.

Use

Select Calculate to prepare the motion and both complete time plots. The time field or slider probes the same analytic solution in all three views. Play follows real elapsed time and stops at the selected duration. Pause and navigation stop playback; it does not continue in the background. An invalid time hides current geometry and values while retaining the calculated curves. Input changes clear the old result, and Reset result keeps the parameters.

Returning within the app keeps the paused result. Reloading restores only validated parameters, the selected tab and the energy-details preference, then requires Calculate again. Typed times remain as entered; slider and playback values are kept compact without moving the final endpoint.

Normal modes

The linear equation is θ̈ = −Aθ, with A = (g/L)I + (k/m)D, where D is the free-chain Laplacian. For two pendula its eigenvalues are μ = 0, 2 and the shapes are (1, 1), (1, −1). For three they are μ = 0, 1, 3 and (1, 1, 1), (1, 0, −1), (1, −2, 1). The shape table gives relative amplitudes; the calculation uses orthonormalized vectors eⱼ.

Each angular frequency satisfies Ωⱼ² = g/L + (k/m)μⱼ, with fⱼ = Ωⱼ/(2π) in Hz. The initial modal coordinate is qⱼ(0) = eⱼ · θ(0), and θ(t) = Σeⱼqⱼ(0)cos(Ωⱼt). Angular velocities are its analytic time derivatives. Pure mode presets set all other mode coefficients to zero. With zero coupling, all mode frequencies coincide.

Energy

Kinetic energy is T = ½mL²Σθ̇ᵢ², gravitational potential energy is Ug = ½mgLΣθᵢ², and spring energy is Uk = ½kL²Σ(θᵢ₊₁ − θᵢ)². The total E = T + Ug + Uk is conserved by the model. The energy plot shows each pendulum's assigned energy and the total, all in joules.

A pendulum's assigned energy includes its kinetic and gravitational energy plus half the energy of each adjacent spring. This equal split is a convention for displaying local energy exchange; summing the assigned energies gives the total. Open Energy components to inspect T, Ug, Uk and E at the current time.

Numerical method and sources

The solution is evaluated analytically using the normal modes. Plot samples have at most 0.04 rad of the fastest mode's phase between adjacent points, with at most 7223 points. The time probe is evaluated independently of those samples. Displayed values are rounded, using scientific notation for small nonzero results.