Classical Mechanics

Coupled Oscillators

WEBGPU COUPLED ENGINE
RK4 INTEGRATION
WebGPU Context Active

Parameters

Block 1 Init Pos (x₁)3.0 m
Block 2 Init Pos (x₂)0.0 m
Outer Spring (k)10 N/m
Coupling Spring (k_c)2 N/m
Block Mass (m)2 kg
Damping (b)0.00
Pos 1 (x₁)
0.00 m
Pos 2 (x₂)
0.00 m
Vel 1 (v₁)
0.00 m/s
Vel 2 (v₂)
0.00 m/s
Energy Distribution
Kinetic E. 0%Total E. 0.0JPotential E. 0%
Live Equation
x¨1=102x1+22(x2x1)\ddot{x}_1 = -\frac{10}{2}x_1 + \frac{2}{2}(x_2 - x_1)x¨2=102x222(x2x1)\ddot{x}_2 = -\frac{10}{2}x_2 - \frac{2}{2}(x_2 - x_1)
ω+=2.236rad/s\omega_+ = 2.236\,\text{rad/s}ω=2.646rad/s\omega_- = 2.646\,\text{rad/s}
x₁ vs t
x₂ vs t

Governing Dynamics

Two identical masses are connected to fixed walls and to each other by springs. The outer springs have stiffness k, and the middle coupling spring has stiffness k_c.

mx¨1=kx1+kc(x2x1)m\ddot{x}_1 = -kx_1 + k_c(x_2 - x_1)mx¨2=kx2kc(x2x1)m\ddot{x}_2 = -kx_2 - k_c(x_2 - x_1)

By diagonalizing this system, we find the Normal Modes of oscillation, where both masses move at the same frequency.

Symmetric Mode
ω+=km\omega_+ = \sqrt{\frac{k}{m}}
Antisymmetric Mode
ω=k+2kcm\omega_- = \sqrt{\frac{k + 2k_c}{m}}

Try it yourself:
1. Set x₁ = 2 and x₂ = 2. They swing together.
2. Set x₁ = 2 and x₂ = -2. They swing opposite.
3. Set x₁ = 3 and x₂ = 0. Energy transfers between blocks!