1850 克勞修斯熱力學第二定律#
案發現場#
1850 年,熱力學的第一塊拼圖已經就位:1824-卡諾熱機理論.md 給出了熱機效率的上限,1846-焦耳熱功當量.md 測出了能量守恆的「匯率」。但兩者之間有一道無人察覺的裂縫:卡諾的推理用了熱素說的語言(把熱當成守恆的流體從高溫流向低溫),而焦耳恰恰證明熱與功可以互轉、熱並不守恆。卡諾的結論與焦耳的事實,表面上互相矛盾。
本案的「偵探」是一位德國中學教師出身的物理學家——魯道夫·克勞修斯(Rudolf Clausius, 1822–1888)。當時他在柏林大學擔任無薪講師,默默無聞。而他的破案工具,是兩篇論文與一個新概念:熵(entropy)。
偵查過程#
第一步:拆解矛盾。 克勞修斯的偵查手法極為乾淨:他逐一審查卡諾的推理,發現卡諾的邏輯核心依然成立——「熱機必須有高溫與低溫兩個熱源、效率有上限」這個結論不依賴熱素說;但卡諾的敘事(熱量守恆地從高溫「流」到低溫)錯了。克勞修斯修正:熱機從高溫熱源吸收的熱,只有一部分變成功,另一部分排入低溫熱源——這部分不是「損失」,而是熱機工作的必要代價。
第二步:提煉第二定律。 1850 年,克勞修斯發表〈論熱的動力〉,提出兩條定律:第一定律即能量守恆(焦耳);第二定律即:
「熱不會自發地從低溫物體流向高溫物體。」(克勞修斯表述)
這條定律看似平淡,實則深不可測。它解釋了卡諾效率的下限為什麼存在:熱機必須向低溫排熱(否則熱就自發從低溫流回高溫了),所以效率必然 \(1 - T_C/T_H\) 。它也宣判了第二類永動機的死刑——從海水吸熱、全部變成功的機器,不違反能量守恆,卻違反第二定律。
第三步:發明熵。 1865 年,克勞修斯走得更遠:他定義了一個新的狀態量,用來度量「熱的不可用程度」——他取名 entropy(熵),源自希臘語「轉變」,刻意與「能量」(energy)押韻:
孤立系統的熵永不減少。他把兩條定律合併成那句千古名言:
「宇宙的能量恆定;宇宙的熵趨於極大。」
第四步:對抗者的下場。 開爾文在英國獨立提出第二定律的另一表述(不可能從單一熱源吸熱全部做功而不產生其他影響);玻爾茲曼後來用統計力學給出微觀解釋: \(S = k\ln W\) ——熵是微觀狀態數的對數,第二定律是概率的鐵律。熱力學與原子論就此接軌。
結案報告#
克勞修斯第二定律是「熵進入物理學」的時刻。用金觀濤的框架說,本案屬於理論環節,它對「雙迴路大加速」的推動在於:
- 修補了理論的裂縫——卡諾的技術反思與焦耳的實驗測量,經克勞修斯之手整合成自洽的熱力學:理論、實驗、技術三環在此完美咬合。
- 確定了工程的天花板——一切熱機(蒸汽機、內燃機如 1876-奧托四衝程.md、發電廠如 1882-珍珠街電廠.md)的效率上限從此有據可查,工程師的試錯有了邊界。
- 開啟了宇宙學的深淵——「宇宙的熵趨於極大」引出熱寂說:物理學第一次有能力對宇宙的終局做定量預言。
- 方法論的教訓——理論內部的矛盾(卡諾 vs 焦耳)往往是新概念的產房:熵就是為了調和矛盾而誕生的。
證據與工具#
# 第二定律的數值演示:熱機必須排熱,且效率有上限
def carno_eta(T_hot, T_cold):
return 1 - T_cold / T_hot
# 火電廠:QH = 1000 J 從高溫熱源吸熱
Q_H, Th, Tc = 1000.0, 823, 298 # 550°C 高溫源、25°C 低溫源
eta = carno_eta(Th, Tc)
W = Q_H * eta
Q_C = Q_H - W
print(f"卡諾效率 η = 1 - {Tc}/{Th} = {eta*100:.1f}%")
print(f"吸熱 {Q_H:.0f} J → 做功 {W:.0f} J,必須向低溫排熱 {Q_C:.0f} J")
print("=> 排熱不是損失,而是第二定律強制的必要代價。")
# 第二類永動機:為何不可能?(不違反第一定律,卻違反第二定律)
print("\n--- 第二類永動機判決書 ---")
print("設想:從 25°C 海水吸熱 1000 J,全部變成功,不排熱。")
eta_fake = 1.0
print(f"宣稱效率 {eta_fake*100:.0f}% > 卡諾上限 {carno_eta(298, 290)*100:.1f}%(Tc=15°C)")
print("=> 違反第二定律:熱不會自發從低溫流向高溫。死刑。")
# 熵變的計算
dS_hot = -Q_H / Th # 高溫熱源熵變
dS_cold = Q_C / Tc # 低溫熱源熵變
print(f"\n高溫熱源 ΔS = {dS_hot:+.3f} J/K,低溫熱源 ΔS = {dS_cold:+.3f} J/K")
print(f"總熵變 ΔS_universe = {dS_hot + dS_cold:+.3f} J/K > 0")
print("=> 可逆卡諾循環總熵變為 0;真實熱機恆大於 0——熵的鐵律。")