1905 光電效應與光量子#
案發現場#
1887 年,赫茲在驗證電磁波的實驗中(見 1888-赫茲電磁波.md)順手注意到一個怪現象:紫外光照在火花隙的電極上,火花變得更容易跳。這個副產品被稱為「光電效應」——光可以把電子從金屬裡打出來。
1902 年,勒納(Philipp Lenard)用精密的真空裝置把這個現象量化,測出了三條與波動論完全不兼容的實驗定律:
- 閾值頻率:低於某個頻率 \(\nu_0\) 的光,再強也打不出電子;
- 電子動能只看頻率、不看光強:光加強一百倍,電子動能一絲不變;
- 無時間延遲:光一照,電子立刻飛出——波動論預期能量要累積,該有延遲。
按波動論,光是連續的能量海洋:電子泡在裡面慢慢吸收,光越強吸得越快、動能越大、任何頻率只要夠久都該打得動。勒納的三條定律像三份完全對不上的口供——實驗與理論決裂了。
偵查過程#
1905 年,愛因斯坦出手。他的武器不是新實驗,而是五年前普朗克的量子假說 \(E = h\nu\) (見 1900-普朗克量子假說.md)——但愛因斯坦比普朗克走得更遠:普朗克只說腔壁振子交換能量時量子化,愛因斯坦直接主張光本身就是一份一份的粒子(光量子,後稱光子),每一份能量 \(h\nu\) 。
一次一顆:一個電子只能吸收一整顆光子。於是三條口供全部對上:
- 一次吸收的能量是 \(h\nu\) ,若 \(h\nu < W\) (金屬的逸出功),再多次也湊不出一顆——閾值頻率;
- 動能 \(= h\nu - W\) ,只由頻率決定,與光強(光子數目)無關——動能只看頻率;
- 能量一次到位,不必累積——無延遲。
愛因斯坦把整條定律寫成一道方程(後稱愛因斯坦光電方程):
其中 \(V_s\) 是遏止電壓。這是一條理論預言:它宣稱,若有人畫出 \(V_s\) 對 \(\nu\) 的直線,斜率必為 \(h/e\) ——用光電效應就能測出普朗克常數。理論⇒實驗的通道在此打開:愛因斯坦的方程規定了該測什麼、該得什麼。
但理論先行,等實驗來裁決——這一等就是十年。1905 到 1915 年,主流物理學(包括普朗克本人)拒絕光量子;量子假說可以容忍,光是粒子不行。結案的蓋章來自以「吹毛求疵的實驗家」聞名的密立根(Robert Millikan)。他原本想證明愛因斯坦錯,於 1914–1916 年用精心設計的真空光電管與鈉、鉀金屬,測出 \(V_s\) – \(\nu\) 直線——結果直線漂亮得無話可說,斜率算出的 \(h\) 與普朗克黑體輻射的值吻合在千分之幾以內。密立根自己承認:他「用十小時的實驗推翻了自己花了十年去反對的理論」——實驗蓋章,理論⇒實驗的通道閉合。
結案報告#
愛因斯坦因光電效應(而非相對論)獲 1921 年諾貝爾物理學獎。本案的遺產:
- 波粒二象性的第一份鐵證——光既是波(繞射、干涉)又是粒子(光電效應);這個矛盾最終由量子力學(見 1926-薛丁格方程.md)以概率波消解。
- ** \(h\) 的獨立測量**——光電效應與黑體輻射兩條完全不同的路,測出同一個 \(h\) :理論的自洽性被實驗交叉驗證。
- 技術鏈——光電效應直接物化為光電管、光電倍增管、太陽能電池;今日每一片太陽能板,都是 \(h\nu - W\) 的工業化。
- 方法論的教訓——最強的驗證來自「想證明它錯的人」;反對者的精密測量,往往是理論最好的蓋章。
促進鏈分析#
本篇是「理論⇒實驗」通道的核心案例(理論先行、實驗蓋章的閉合環),涉及九通道中的四條:
- 實驗⇒理論(上游):勒納 1902 的三條實驗定律與波動論的矛盾(實驗)逼出光量子解讀(理論)。README 九通道表中「光電效應的閾值頻率(勒納 1902)⇒愛因斯坦光量子(1905)」即此條。
- 理論⇒實驗(主鏈):愛因斯坦光電方程(理論)預言 \(V_s\) – \(\nu\) 直線及其斜率 \(h/e\) ,規定了密立根該測什麼;1916 年密立根實驗(實驗)蓋章,通道閉合。README 表中「愛因斯坦光量子假說(1905)⇒密立根光電實驗蓋章(1916)」即此條。
- 理論⇒理論:普朗克量子假說(1900)是光量子(1905)的數學種子—— \(h\) 與 \(E=h\nu\) 直接繼承。
- 實驗⇒實驗:密立根的真空光電管方法成為此後一切光電測量的樣板;實驗⇒實驗的方法繼承,讓「測 \(h\) 」變成標準動作。
證據與工具#
# 用 Python 重演密立根直線法:由光電效應數據反推 h
# 愛因斯坦方程:e·Vs = h·ν - W => Vs = (h/e)·ν - W/e
import numpy as np
e = 1.602176634e-19 # 元電荷 C
# 模擬密立根 1916 年對鈉金屬的典型數據(遏止電壓 V,對應頻率 10^14 Hz)
h_true = 6.62607015e-34
W_true = 1.82 * 1.602176634e-19 # 鈉金屬逸出功 ≈ 1.82 eV
nu = np.array([0.55, 0.65, 0.70, 0.75, 0.85, 0.95, 0.95, 1.05]) * 1e14 # Hz
Vs = h_true * nu / e - W_true / e # 遏止電壓 = (h/e)ν - W/e(含微小實驗誤差)
Vs = Vs + np.array([0.01, -0.01, 0.005, -0.005, 0.01, -0.008, 0.008, 0.0])
# 線性擬合 Vs = m·nu + b
m, b = np.polyfit(nu, Vs, 1)
h_measured = m * e # 斜率 = h/e
W = -b * e # 截距 = -W/e
print("--- 密立根直線法 ---")
print(f"擬合斜率 m = {m:.4e} V·s => h = m·e = {h_measured:.4e} J·s")
print(f"已知真值 h = 6.6261e-34 J·s")
print(f"相對誤差 = {abs(h_measured-6.62607015e-34)/6.62607015e-34*100:.2f}%")
print(f"逸出功 W = {W:.3e} J = {W/e:.2f} eV(鈉金屬)")
# 閾值頻率:Vs = 0 時的頻率
nu0 = -b / m
lam0 = 2.99792458e8 / nu0
print(f"\n閾值頻率 ν0 = {nu0:.3e} Hz(波長 {lam0*1e9:.0f} nm,紅光區)")
print("=> 低於此頻率的光,再強也打不出電子 —— 波動論無法解釋!")
# 驗證:光強加倍,動能不變(只改變光子數目=電流)
print("\n--- 三條口供的量子解讀 ---")
print("1. hν < W 一次湊不出 => 閾值頻率")
print("2. K = hν - W 只看頻率 => 動能與光強無關")
print("3. 一次吸收一整顆 => 無時間延遲")