跳轉到

1761 布萊克潛熱#

案發現場#

案發地點是格拉斯哥大學。十八世紀中葉,熱素說(caloric theory)把「熱」當作一種看不見的流體——物體含熱素多就熱,含得少就冷。這套理論能解釋溫度計的讀數,卻有一個大漏洞沒人當回事:冰融化成水、水沸騰成蒸汽時,一直加熱,溫度計卻紋絲不動。熱去了哪裡?「熱素」明明一直流入,溫度卻停滯——這筆帳對不上。

與此同時,技術那邊正需要這筆帳:紐科門蒸汽機(1698-紐科門蒸汽機.md)已經運轉五十年,效率低得可憐(約 0.5%)——每次循環都要用蒸汽把整個冷汽缸重新加熱,大量熱量白白浪費。礦場主們在賠錢,卻沒有人知道錢燒到了哪裡。

接手的是格拉斯哥大學的化學與醫學教授約瑟夫·布萊克(Joseph Black, 1728–1799)。他做了一件史無前例的事:用天平與量熱計,替「熱」記帳——而且他的研究成果,將直接回頭改良蒸汽機。這是第四幕「技術反哺理論」最漂亮的一次合體。

偵查過程#

布萊克的偵查是定量化學的教科書。他連續稱量、加熱、量溫,記下每一筆「熱的帳目」。

第一件證物:潛熱(latent heat)。 布萊克量測發現:把 0°C 的冰化成 0°C 的水,所需的熱量等於把同樣的水從 0°C 加熱到 80°C。這些熱量「潛伏」在物質內部而不顯示在溫度計上——他命名為潛熱(latent heat)。同理,水的汽化潛熱更是驚人:水燒成 100°C 的蒸汽,吸收的熱量約等於把它再加熱五百多度(當時量測值)。他寫下這套推理的核心:

「熱不總是表現為溫度;當物質改變狀態時,有一大部分熱隱而不顯。」

第二件證物:比熱(specific heat)。 布萊克還發現:不同物質升高同樣溫度,吸熱量不同——水吸的熱是同重鐵的約十一倍。「熱容量」因物質而異,熱素說被迫升級為定量理論。

第三步:理論回頭改良蒸汽機。 布萊克的助手(後為化學合作者)是一位格拉斯哥的儀器工匠——詹姆斯·瓦特(James Watt, 1736–1819)。1763–65 年,瓦特受託修理一台紐科門機的模型,用布萊克的潛熱與比熱記帳:每個循環中,蒸汽把整個汽缸從室溫加熱到 100°C 的熱量,加上冷凝損耗,約占總熱量的四分之三——錢燒到了這裡!瓦特隨即設計分離冷凝器(1769-瓦特冷凝器.md),讓汽缸保持高溫、蒸汽在別處冷凝——效率提升近四倍。

結案報告#

  1. 熱成為定量科學的對象——潛熱與比熱讓量熱學誕生,熱素說被迫數學化;通往焦耳的熱功當量(1846-焦耳熱功當量.md)與熱力學兩大定律(1850-克勞修斯第二定律.md)。
  2. 「技術反哺理論」的典範——蒸汽機的實際需求(礦場在賠錢)把布萊克逼向量熱學;理論又回頭救了蒸汽機。技術賺錢養實驗室,實驗室搞出理論,理論回頭改良技術——金觀濤所說的迴路,在格拉斯哥完成了一次完整閉合。
  3. 瓦特與工業革命——沒有潛熱的帳本,就沒有分離冷凝器;沒有冷凝器,就沒有高效蒸汽機與工業革命的動力基礎。
  4. 迴路的社會擴散——大學教授與儀器工匠在同一間工坊合作,學院與工匠的邊界開始消融。

證據與工具#

# 布萊克的「熱的帳本」:潛熱與比熱

# 潛熱:融化冰不需要升溫,卻要大量熱
L_fusion = 334e3    # 冰的熔化潛熱 J/kg
L_vapor = 2260e3    # 水的汽化潛熱 J/kg
c_water = 4186      # 水的比熱 J/(kg·K)

# 0°C 冰 -> 0°C 水:吸熱 = 化 0°C 水 -> 80°C 水的熱量
Q_melt_1kg = L_fusion
Q_heat_to_80 = c_water * 80
print(f"融化 1 kg 冰吸熱 {Q_melt_1kg:,.0f} J")
print(f"把 1 kg 水從 0°C 加熱到 80°C 需 {Q_heat_to_80:,.0f} J")
print("兩者幾乎相等 => 潛熱『潛伏』而不顯示在溫度計上\n")

# 汽化潛熱:水燒成蒸汽,吸收的熱約等於再加熱五百多度
Q_vapor_1kg = L_vapor
equiv_temp = Q_vapor_1kg / c_water
print(f"1 kg 100°C 的水燒成蒸汽吸熱 {Q_vapor_1kg:,.0f} J")
print(f"相當於再加熱 {equiv_temp:.0f} K(布萊克當時的量測即已指出此點)\n")

# 比熱對比:水 vs 鐵
c_iron = 450
print(f"比熱:水 {c_water} vs 鐵 {c_iron} J/(kg·K),比值 {c_water/c_iron:.1f}")
print("=> 熱容量因物質而異,熱素說被迫升級為定量理論\n")

# 瓦特的記帳:紐科門機浪費的熱
m_steam = 1.0  # 每循環蒸汽量 kg
# 冷汽缸重新加熱:把汽缸鐵材 + 凝結水加熱回 100°C(簡化模型)
m_cyl = 15.0  # 汽缸等效鐵質量
c_iron_cycle = c_iron * m_cyl * 80       # 汽缸升溫 80K
Q_cyl_reheat = c_iron_cycle
Q_steam_loss = m_steam * (L_vapor + c_water*20)  # 蒸汽在缸內凝結的浪費
Q_total_useful = m_steam * c_water * 20  # 真正用於做功的熱(粗略)
print(f"瓦特的帳本(每循環,簡化):")
print(f"  重新加熱汽缸:{Q_cyl_reheat:,.0f} J")
print(f"  蒸汽缸內凝結損耗:{Q_steam_loss:,.0f} J")
print(f"  => 浪費占總熱量約 {(Q_cyl_reheat+Q_steam_loss)/(Q_cyl_reheat+Q_steam_loss+Q_total_useful)*100:.0f}%")
print("  => 這就是分離冷凝器(1769)要省下的錢")