Real chemical bonds don't stretch like ideal springs. The Morse potential is the standard model that gets this right, including the fact that a bond can be broken:
V(r) = D_e · [1 − e^(−a(r−r_e))]² − D_e
D_e = dissociation energy (well depth)
r_e = equilibrium bond length
a = well-width parameter (a = ω_0·√(μ/2D_e))
Near r = r_e the well is almost parabolic (harmonic), but it flattens out for stretched bonds and rises steeply when compressed — an anharmonic, asymmetric shape. Solving the Schrödinger equation for this potential gives unevenly-spaced quantized vibrational levels that converge as they approach the dissociation limit:
E_n = ħω_0(n + ½) − [ħω_0]² / (4D_e) · (n + ½)²
This simulator integrates the exact classical equation of motion inside the Morse well (in dimensionless form ξ = a(r−r_e), τ = ω_0·t):
d²ξ/dτ² = −(1 − e^(−ξ)) e^(−ξ)
- Molecule — loads real (approximate spectroscopic) D_e, r_e, a and reduced mass μ for that bond.
- Quantum number n / Absorb / Emit photon — sets the vibrational level; the bond is placed at the classical turning point for En and released, exactly like a molecule that just absorbed or emitted an infrared photon.
- The orange bars beside the well are the quantized energy levels for this molecule, spanning each level's classical turning points; the highlighted one is the current state.
- Push n high enough and En approaches De — the levels bunch together and the bond dissociates, exactly as real bond-breaking works.
The animation runs at a fixed visual rate (adjustable with the speed slider) rather than in real femtoseconds — real molecular vibration periods are ~10 fs, far too fast to watch — but the reported wavenumber and energy are the real physical values for the selected molecule and level.