熱力学第1法則とは?エネルギー保存則をわかりやすく解説

熱力学第1法則は、「エネルギーは生み出すことも消し去ることもできず、形態を変えて保存される」というエネルギー保存の法則を、熱力学の枠組みで厳密に定式化したものです。熱と仕事という2つの過程量が、系の内部エネルギーという状態量とどのように結びつくかを記述するこの法則は、熱力学のあらゆる解析の出発点となります。

火力発電所のタービン、ロケットエンジンの燃焼室、エアコンの冷凍サイクル。これらの工学システムでは、熱エネルギーが仕事に変換されたり、仕事によって熱が移動したりしています。そうした変換の「帳簿」をつけるのが熱力学第1法則の役割です。

本記事の内容

  • 熱力学第1法則の定義と物理的意味
  • 仕事 $W$ の定義(準静的過程での $pdV$ 仕事)
  • 内部エネルギー $U$ が状態量であることの意味
  • 理想気体への適用(定容・定圧・等温・断熱の各プロセス)
  • マイヤーの関係式 $c_p – c_v = R$ の導出
  • ポアソンの法則 $TV^{\gamma-1} = \mathrm{const.}$ の導出
  • PV図における各プロセスの幾何学的意味
  • 具体的な計算例
  • Pythonによる可視化

前提知識

この記事を読む前に、以下の記事を読んでおくと理解が深まります。

前提記事では、系の分類(開放系・閉鎖系・孤立系)、状態量と過程量の違い、内部エネルギー $U$、エンタルピー $H$、理想気体の状態方程式 $pV = nRT$、および4つの代表的な状態変化の概要を扱いました。本記事ではこれらの概念を前提として、熱力学第1法則を定式化し、各プロセスでの具体的な計算へと展開していきます。

熱力学第1法則とは

法則の定義

熱力学第1法則は、閉鎖系(物質の出入りがない系)に対して次のように述べられます。

系の内部エネルギーの変化 $dU$ は、系に加えられた微小熱量 $\delta Q$ と系がした微小仕事 $\delta W$ によって決まる。

数式で書くと、

$$ dU = \delta Q – \delta W $$

ここで、

記号 意味 種類
$dU$ 内部エネルギーの微小変化 状態量(完全微分)
$\delta Q$ 系に加えられた微小熱量 過程量(不完全微分)
$\delta W$ 系がした微小仕事 過程量(不完全微分)

$dU$ が完全微分($d$)で書かれるのに対し、$\delta Q$ と $\delta W$ が $\delta$ で書かれている点に注意してください。状態量である $U$ の変化量は始状態と終状態だけで決まりますが、過程量である $Q$ と $W$ は途中の経路に依存します。しかし、その差 $\delta Q – \delta W$ は常に状態量 $dU$ に等しくなる――これが第1法則の本質です。

符号の約束

本記事では以下の符号規約を採用します。

  • $Q > 0$: 系が外界から熱を受け取る
  • $W > 0$: 系が外界に対して仕事をする

この約束のもとでは、系がもらったエネルギー($Q$)から系が外に出したエネルギー($W$)を引いたものが、系の内部エネルギーの増加分($\Delta U$)になります。家計簿に例えると、収入($Q$)から支出($W$)を引いたものが貯金の増分($\Delta U$)に対応する、と考えるとわかりやすいでしょう。

有限変化に対しては、

$$ \Delta U = Q – W $$

と書きます。

仕事 $W$ の定義

準静的過程における $pdV$ 仕事

閉鎖系において、系が膨張(圧縮)するときに外界に対して行う仕事を考えましょう。ピストン-シリンダ装置を想定します。

ピストンの面積を $A$、気体の圧力を $p$ とすると、ピストンに作用する力は $F = pA$ です。ピストンが微小距離 $dx$ だけ移動したとき、系がした微小仕事は、

$$ \begin{align} \delta W &= F \, dx \\ &= pA \, dx \\ &= p \, dV \end{align} $$

ここで $dV = A \, dx$ はピストンの移動に伴う体積変化です。

有限の過程における仕事は、これを積分して得られます。

$$ W = \int_{V_1}^{V_2} p \, dV $$

ここで $V_1$ は始状態の体積、$V_2$ は終状態の体積です。

この式は準静的過程(quasi-static process)、すなわち系が常に平衡状態に近い状態を保ちながらゆっくりと変化する過程でのみ成り立ちます。系全体に一つの圧力 $p$ が定義できなければ、$p \, dV$ という表現自体に意味がないからです。

PV図での仕事の幾何学的意味

$W = \int_{V_1}^{V_2} p \, dV$ は、PV図(横軸: 体積、縦軸: 圧力)上でプロセス曲線と $V$ 軸に囲まれた面積として解釈できます。

  • 膨張過程($V_2 > V_1$): $W > 0$(系が外界に仕事をする)
  • 圧縮過程($V_2 < V_1$): $W < 0$(外界が系に仕事をする)

同じ始状態と終状態でも、経路が異なればPV図上の面積が変わるため、仕事の値が変わります。これは仕事が過程量であることの幾何学的な表現です。

内部エネルギー $U$ の性質

状態量であること

内部エネルギー $U$ は系の状態だけで決まる状態量です。つまり、系がどのような過程を経てその状態にたどり着いたかに依存しません。

数学的に言うと、$dU$ は完全微分であり、任意の閉じた経路に沿った積分がゼロになります。

$$ \oint dU = 0 $$

一方、$Q$ や $W$ は過程量であり、個別には経路に依存します。しかし、熱力学第1法則が保証しているのは、$\delta Q – \delta W$ という組み合わせが常に経路によらない量 $dU$ に等しくなるということです。

理想気体の内部エネルギー

理想気体においては、分子間相互作用がないため、内部エネルギーは温度のみの関数です。

$$ U = U(T) $$

定積モル比熱 $c_v$ を用いると、

$$ dU = n c_v \, dT $$

有限変化に対しては($c_v$ が温度に依存しない場合)、

$$ \Delta U = n c_v \Delta T $$

理想気体ではどのようなプロセスでも $\Delta U = n c_v \Delta T$ が成り立つ点が重要です。この式は定容変化だけでなく、あらゆる過程での内部エネルギー変化に使えます。

理想気体への適用

ここからは、熱力学第1法則を理想気体の代表的な4つのプロセスに適用し、それぞれの具体的な関係式を導出していきます。

定容変化(Isochoric process)

体積が一定($dV = 0$)の過程では、系は $pdV$ 仕事をしません。

$$ W = \int_{V_1}^{V_2} p \, dV = 0 \quad (\because V_1 = V_2) $$

熱力学第1法則に代入すると、

$$ \begin{align} \Delta U &= Q – W \\ &= Q – 0 \\ &= Q_v \end{align} $$

ここで添え字 $v$ は定容(constant volume)を意味します。つまり、定容変化では系に加えた熱はすべて内部エネルギーの増加に使われます。

理想気体に対しては $\Delta U = n c_v \Delta T$ なので、

$$ \boxed{Q_v = \Delta U = n c_v \Delta T} $$

この式は、定積モル比熱 $c_v$ の物理的意味も明確にしています。すなわち、$c_v$ は「体積一定のもとで物質1 molの温度を1 K上げるのに必要な熱量」です。

定圧変化(Isobaric process)

圧力が一定($p = \mathrm{const.}$)の過程では、仕事は、

$$ W = \int_{V_1}^{V_2} p \, dV = p(V_2 – V_1) = p \Delta V $$

熱力学第1法則より、

$$ \begin{align} Q_p &= \Delta U + W \\ &= n c_v \Delta T + p \Delta V \end{align} $$

ここで、理想気体の状態方程式 $pV = nRT$ を始状態と終状態で書くと、

$$ p V_1 = nRT_1, \quad p V_2 = nRT_2 $$

辺々引き算すると、

$$ p(V_2 – V_1) = nR(T_2 – T_1) $$

$$ p \Delta V = nR \Delta T $$

これを代入すると、

$$ \begin{align} Q_p &= n c_v \Delta T + nR \Delta T \\ &= n(c_v + R) \Delta T \end{align} $$

一方、定圧過程での熱量は定圧モル比熱 $c_p$ を使って $Q_p = n c_p \Delta T$ と書けるので、

$$ n c_p \Delta T = n(c_v + R) \Delta T $$

両辺を $n \Delta T$ で割ると、

$$ \boxed{c_p – c_v = R} $$

これがマイヤーの関係式(Mayer’s relation)です。定圧過程では気体が膨張するため、温度を上げるために「内部エネルギーの増加分」に加えて「膨張仕事の分」だけ余分に熱が必要になります。その差がちょうど気体定数 $R$ に等しいのです。

マイヤーの関係式を使えば、定圧過程での熱量は次のように整理されます。

$$ \boxed{Q_p = n c_p \Delta T} $$

等温変化(Isothermal process)

温度が一定($T = \mathrm{const.}$)の過程です。理想気体では $U = U(T)$ なので、

$$ \Delta U = n c_v \Delta T = 0 $$

熱力学第1法則より、

$$ Q = W $$

つまり、系に加えた熱はすべて仕事に変換されます(逆に、系が外界から仕事をされれば、同量の熱が外界に放出されます)。

仕事を計算しましょう。$pV = nRT$ より $p = nRT/V$($T$ は定数)を $W = \int p \, dV$ に代入します。

$$ \begin{align} W &= \int_{V_1}^{V_2} p \, dV \\ &= \int_{V_1}^{V_2} \frac{nRT}{V} \, dV \\ &= nRT \int_{V_1}^{V_2} \frac{dV}{V} \\ &= nRT \left[ \ln V \right]_{V_1}^{V_2} \\ &= nRT \ln \frac{V_2}{V_1} \end{align} $$

$$ \boxed{W = Q = nRT \ln \frac{V_2}{V_1}} $$

膨張($V_2 > V_1$)の場合は $W > 0$ となり、系が外界に仕事をします。圧縮($V_2 < V_1$)の場合は $W < 0$ で、外界が系に仕事をします。

断熱変化(Adiabatic process)

系と外界の間で熱のやり取りがない($Q = 0$)過程です。熱力学第1法則より、

$$ \Delta U = -W $$

すなわち、系がした仕事の分だけ内部エネルギーが減少し、温度が下がります。逆に断熱圧縮では温度が上がります。

ここでは、断熱過程における温度と体積の関係式(ポアソンの法則の別形)を丁寧に導出しましょう。

断熱過程では $\delta Q = 0$ なので、熱力学第1法則の微分形は、

$$ dU = -\delta W = -p \, dV $$

理想気体に対して $dU = n c_v \, dT$ を代入すると、

$$ n c_v \, dT = -p \, dV $$

状態方程式 $pV = nRT$ より $p = nRT / V$ を代入すると、

$$ n c_v \, dT = -\frac{nRT}{V} \, dV $$

両辺を $T$ で割り、$n$ で割ると、

$$ c_v \frac{dT}{T} = -R \frac{dV}{V} $$

マイヤーの関係式 $R = c_p – c_v$ を代入し、$\gamma = c_p / c_v$ とおくと $R / c_v = \gamma – 1$ なので、

$$ \frac{dT}{T} = -(\gamma – 1) \frac{dV}{V} $$

両辺を状態1から状態2まで積分します。

$$ \int_{T_1}^{T_2} \frac{dT}{T} = -(\gamma – 1) \int_{V_1}^{V_2} \frac{dV}{V} $$

$$ \ln \frac{T_2}{T_1} = -(\gamma – 1) \ln \frac{V_2}{V_1} $$

$$ \ln \frac{T_2}{T_1} = \ln \left( \frac{V_2}{V_1} \right)^{-(\gamma – 1)} $$

$$ \frac{T_2}{T_1} = \left( \frac{V_1}{V_2} \right)^{\gamma – 1} $$

整理すると、

$$ T_1 V_1^{\gamma – 1} = T_2 V_2^{\gamma – 1} $$

$$ \boxed{TV^{\gamma – 1} = \mathrm{const.}} $$

これがポアソンの法則の温度-体積の形です。

さらに、状態方程式 $T = pV / (nR)$ を代入すると、前提記事で導出した $pV^{\gamma} = \mathrm{const.}$ が得られます。

$$ \frac{pV}{nR} \cdot V^{\gamma – 1} = \mathrm{const.} $$

$$ pV^{\gamma} = \mathrm{const.} $$

断熱過程における仕事は $W = -\Delta U = -n c_v \Delta T = n c_v (T_1 – T_2)$ として求まります。

$$ \boxed{W = n c_v (T_1 – T_2) = \frac{p_1 V_1 – p_2 V_2}{\gamma – 1}} $$

後半の式は $nc_v T = nc_v \cdot pV/(nR) = pV \cdot c_v / R = pV / (\gamma – 1)$ を利用しています。

PV図と各プロセスの幾何学的意味

4つのプロセスをPV図上で見ると、それぞれの特徴が明確に理解できます。

プロセス PV図上の形状 面積(= 仕事)
定容変化 垂直線($V = \mathrm{const.}$) 面積なし($W = 0$)
定圧変化 水平線($p = \mathrm{const.}$) 長方形($W = p \Delta V$)
等温変化 双曲線($pV = \mathrm{const.}$) 双曲線の下の面積($W = nRT \ln(V_2/V_1)$)
断熱変化 急勾配の曲線($pV^{\gamma} = \mathrm{const.}$) 曲線の下の面積($W = (p_1V_1 – p_2V_2)/(\gamma-1)$)

断熱変化の曲線が等温変化の曲線より急勾配になる理由は直感的にも理解できます。等温膨張では外部から熱を受け取りながら膨張するのに対し、断熱膨張では熱の供給がないため温度が下がり、圧力がより急速に低下するのです。

具体的な計算例

単原子理想気体($\gamma = 5/3$、$c_v = \frac{3}{2}R$、$c_p = \frac{5}{2}R$)が $n = 1\,\mathrm{mol}$、初期状態 $T_1 = 300\,\mathrm{K}$、$V_1 = 0.025\,\mathrm{m^3}$ から出発するとします。初期圧力は状態方程式から、

$$ p_1 = \frac{nRT_1}{V_1} = \frac{1 \times 8.314 \times 300}{0.025} \approx 99.77\,\mathrm{kPa} \approx 100\,\mathrm{kPa} $$

例1: 定容加熱して $T_2 = 600\,\mathrm{K}$ にする

$$ Q_v = n c_v \Delta T = 1 \times \frac{3}{2} \times 8.314 \times (600 – 300) = 3741\,\mathrm{J} \approx 3.74\,\mathrm{kJ} $$

$$ W = 0 $$

$$ \Delta U = Q_v = 3.74\,\mathrm{kJ} $$

例2: 定圧膨張して $T_2 = 600\,\mathrm{K}$ にする

$$ Q_p = n c_p \Delta T = 1 \times \frac{5}{2} \times 8.314 \times 300 = 6236\,\mathrm{J} \approx 6.24\,\mathrm{kJ} $$

$$ W = p \Delta V = nR \Delta T = 1 \times 8.314 \times 300 = 2494\,\mathrm{J} \approx 2.49\,\mathrm{kJ} $$

$$ \Delta U = Q_p – W = 6.24 – 2.49 = 3.74\,\mathrm{kJ} $$

定容変化と定圧変化で $\Delta U$ が同じ値になっている点に注目してください。どちらも温度変化は同じ $\Delta T = 300\,\mathrm{K}$ であり、理想気体の $\Delta U = nc_v \Delta T$ は経路に依存しないからです。これは $U$ が状態量であることの具体的な確認です。

例3: 等温膨張で体積を2倍にする

$$ W = Q = nRT_1 \ln \frac{V_2}{V_1} = 1 \times 8.314 \times 300 \times \ln 2 \approx 1729\,\mathrm{J} \approx 1.73\,\mathrm{kJ} $$

$$ \Delta U = 0 $$

例4: 断熱膨張で体積を2倍にする

まず、終状態の温度を求めます。

$$ T_2 = T_1 \left( \frac{V_1}{V_2} \right)^{\gamma – 1} = 300 \times \left( \frac{1}{2} \right)^{2/3} \approx 300 \times 0.630 = 189.0\,\mathrm{K} $$

$$ W = n c_v (T_1 – T_2) = 1 \times \frac{3}{2} \times 8.314 \times (300 – 189.0) = 1384\,\mathrm{J} \approx 1.38\,\mathrm{kJ} $$

$$ Q = 0, \quad \Delta U = -W = -1.38\,\mathrm{kJ} $$

断熱膨張では温度が下がり、系の内部エネルギーが減少しています。その分が仕事に変換されたわけです。

Pythonでの実装と可視化

4つのプロセスをPV図上に描画し、仕事に相当する面積を塗りつぶして可視化します。

import numpy as np
import matplotlib.pyplot as plt
from matplotlib.patches import Patch

# --- パラメータ設定 ---
n = 1.0          # モル数 [mol]
R = 8.314        # 気体定数 [J/(mol·K)]
gamma = 5.0 / 3  # 比熱比(単原子理想気体)
cv = 3 / 2 * R   # 定積モル比熱 [J/(mol·K)]
cp = 5 / 2 * R   # 定圧モル比熱 [J/(mol·K)]

T1 = 300.0       # 初期温度 [K]
V1 = 0.025       # 初期体積 [m^3]
p1 = n * R * T1 / V1  # 初期圧力 [Pa]

# 終状態: 体積を2倍に膨張
V2 = 2 * V1

# 体積の配列
V = np.linspace(V1, V2, 500)

# --- 各プロセスの圧力曲線 ---

# 1. 定圧変化 (p = p1 = const.)
p_isobaric = np.full_like(V, p1)
W_isobaric = p1 * (V2 - V1)

# 2. 等温変化 (pV = nRT1 = const.)
p_isothermal = n * R * T1 / V
W_isothermal = n * R * T1 * np.log(V2 / V1)

# 3. 断熱変化 (pV^γ = const.)
C_ad = p1 * V1**gamma
p_adiabatic = C_ad / V**gamma
T2_ad = T1 * (V1 / V2)**(gamma - 1)
W_adiabatic = n * cv * (T1 - T2_ad)

# --- 可視化 ---
fig, axes = plt.subplots(1, 3, figsize=(18, 6))

processes = [
    ("Isobaric ($p$ = const.)", V, p_isobaric, W_isobaric, "tab:orange"),
    ("Isothermal ($T$ = const.)", V, p_isothermal, W_isothermal, "tab:green"),
    ("Adiabatic ($Q$ = 0)", V, p_adiabatic, W_adiabatic, "tab:red"),
]

for ax, (title, Vp, pp, Wp, color) in zip(axes, processes):
    # プロセス曲線
    ax.plot(Vp * 1e3, pp / 1e3, color=color, linewidth=2.5, label=title)
    # 仕事 = 面積を塗りつぶし
    ax.fill_between(Vp * 1e3, 0, pp / 1e3, alpha=0.2, color=color)
    # 始点と終点
    ax.plot(V1 * 1e3, p1 / 1e3, 'ko', markersize=8, zorder=5)
    ax.plot(V2 * 1e3, pp[-1] / 1e3, 'ks', markersize=8, zorder=5)
    # ラベル
    ax.set_xlabel("Volume $V$ [L]", fontsize=13)
    ax.set_ylabel("Pressure $p$ [kPa]", fontsize=13)
    ax.set_title(f"{title}\n$W$ = {Wp/1e3:.2f} kJ", fontsize=13)
    ax.set_xlim(20, 55)
    ax.set_ylim(0, 120)
    ax.grid(True, alpha=0.3)
    ax.legend(fontsize=11, loc="upper right")

plt.tight_layout()
plt.savefig("first_law_pv_work.png", dpi=150, bbox_inches="tight")
plt.show()

# --- 全プロセスを1枚のPV図に重ね描き ---
fig2, ax2 = plt.subplots(figsize=(10, 7))

# 定容変化(垂直線)
p_isochoric = np.linspace(p1 / 1e3 * 0.3, p1 / 1e3 * 2.0, 100)
ax2.plot(np.full_like(p_isochoric, V1 * 1e3), p_isochoric,
         color="tab:blue", linewidth=2.5, label="Isochoric ($V$ = const.)")

ax2.plot(V * 1e3, p_isobaric / 1e3,
         color="tab:orange", linewidth=2.5, label="Isobaric ($p$ = const.)")
ax2.plot(V * 1e3, p_isothermal / 1e3,
         color="tab:green", linewidth=2.5, label="Isothermal ($T$ = const.)")
ax2.plot(V * 1e3, p_adiabatic / 1e3,
         color="tab:red", linewidth=2.5, label="Adiabatic ($Q$ = 0)")

# 初期状態
ax2.plot(V1 * 1e3, p1 / 1e3, 'ko', markersize=10, zorder=5, label="Initial state")

ax2.set_xlabel("Volume $V$ [L]", fontsize=14)
ax2.set_ylabel("Pressure $p$ [kPa]", fontsize=14)
ax2.set_title("$p$-$V$ Diagram: Four Thermodynamic Processes", fontsize=15)
ax2.set_xlim(15, 60)
ax2.set_ylim(0, 220)
ax2.legend(fontsize=12)
ax2.grid(True, alpha=0.3)
plt.tight_layout()
plt.savefig("first_law_pv_all.png", dpi=150, bbox_inches="tight")
plt.show()

# --- 計算結果の表示 ---
print("=" * 60)
print("各プロセスの比較(V1 → V2 = 2V1 膨張)")
print("=" * 60)
print(f"初期状態: T1 = {T1:.0f} K, V1 = {V1*1e3:.1f} L, p1 = {p1/1e3:.1f} kPa")
print(f"終体積:   V2 = {V2*1e3:.1f} L")
print("-" * 60)

# 定容変化は体積変化がないので別途
print(f"定容変化: W = 0 J, Q = ncvΔT (体積一定)")
print(f"定圧変化: W = {W_isobaric:.1f} J = {W_isobaric/1e3:.2f} kJ")

T2_isobaric = T1 * V2 / V1  # pV=nRT, p一定なので T∝V
dU_isobaric = n * cv * (T2_isobaric - T1)
Q_isobaric = n * cp * (T2_isobaric - T1)
print(f"          T2 = {T2_isobaric:.0f} K, ΔU = {dU_isobaric:.1f} J, Q = {Q_isobaric:.1f} J")

print(f"等温変化: W = {W_isothermal:.1f} J = {W_isothermal/1e3:.2f} kJ")
print(f"          T2 = {T1:.0f} K, ΔU = 0 J, Q = {W_isothermal:.1f} J")

p2_ad = C_ad / V2**gamma
print(f"断熱変化: W = {W_adiabatic:.1f} J = {W_adiabatic/1e3:.2f} kJ")
print(f"          T2 = {T2_ad:.1f} K, p2 = {p2_ad/1e3:.1f} kPa, ΔU = {-W_adiabatic:.1f} J, Q = 0 J")

このコードを実行すると、3つの膨張プロセス(定圧・等温・断熱)のPV図が仕事の面積とともに描画され、さらに4つのプロセスを1枚にまとめたPV図が生成されます。仕事量は定圧 > 等温 > 断熱の順に小さくなることが面積から視覚的に確認できます。これは、膨張中に加えられる熱量の大小によって圧力の下がり方が異なるためです。

まとめ

本記事では、熱力学第1法則について解説しました。

  • 熱力学第1法則: $dU = \delta Q – \delta W$。系の内部エネルギー変化は、系に加えた熱から系がした仕事を引いたものに等しい
  • $pdV$ 仕事: 準静的過程における仕事は $W = \int p \, dV$ で計算され、PV図上の面積に対応する
  • 内部エネルギーは状態量: $U$ は経路に依存せず、理想気体では $\Delta U = nc_v \Delta T$(どのプロセスでも成立)
  • 定容変化: $W = 0$、$Q_v = nc_v \Delta T$
  • 定圧変化: $W = p\Delta V$、$Q_p = nc_p \Delta T$、マイヤーの関係式 $c_p – c_v = R$
  • 等温変化: $\Delta U = 0$、$W = Q = nRT \ln(V_2/V_1)$
  • 断熱変化: $Q = 0$、ポアソンの法則 $TV^{\gamma-1} = \mathrm{const.}$、$W = nc_v(T_1 – T_2)$

次のステップとして、以下の記事も参考にしてください。

  • 熱力学第2法則とエントロピー(近日公開予定)
  • カルノーサイクルと熱機関の効率(近日公開予定)