はじめに
音速は媒質の性質によって異なり、その計算には弾性率や密度が重要です。本記事では、空気中と完全電離プラズマ中の音速を計算し、その結果をプロットして比較します。
音速の基本式
音速は、媒質の密度と弾性率に依存します。一般的な波動方程式の解から、音速 $ c $ は以下で表されます:
c = \sqrt{\frac{K}{\rho}}
ここで、
- $ K $: 媒質の弾性率(体積弾性率)
- $ \rho $: 媒質の密度
さらに、具体的な媒質に対する音速の式は以下のように定義されます。
空気中の音速
理想気体の空気において、弾性率 $ K $ は $ \gamma P $ で与えられます。また、状態方程式 $ P = \frac{\rho R T}{M} $ を用いると、空気中の音速は次式で表されます:
c_{\text{air}} = \sqrt{\frac{\gamma R T}{M}}
ここで、
- $ \gamma $: 比熱比(空気では約 1.4)
- $ R $: 気体定数(8.31 J/(mol$\cdot$ K))
- $ M $: モル質量(空気では約 28.97 g/mol)
- $ T $: 温度(K)
プラズマ中の音速
プラズマの場合、粒子ごとの質量 $ m $ を考慮する必要があります。この場合、弾性率は $ \gamma k_B T $ で表され、音速は次式で計算されます:
c_{\text{plasma}} = \sqrt{\frac{\gamma k_B T}{m}}
ここで、
- $ \gamma $: 比熱比(完全電離プラズマでは約 5/3)
- $ k_B $: ボルツマン定数($1.38 \times 10^{-23}$ J/K)
- $ m $: 粒子質量(kg)
- $ T $: 温度(K)
空気とプラズマの音速式の等価性
さきほどの空気中の音速式とプラズマ中の音速式は一見異なりますが、実際には等価です。
証明
空気中の音速式 $ c_{\text{air}} $ の $ R/M $ を分解します。
R = N_A k_B,
M = N_A m,
\frac{R}{M} = \frac{N_A k_B}{N_A m} = \frac{k_B}{m}.
これにより、空気中の音速式はプラズマ中の音速式と同等であることがわかります。
Pythonコードで音速を計算
以下のコードを使って、空気中とプラズマ中(陽子と鉄イオン)の音速を計算し、温度との関係をプロットします。
import numpy as np
import matplotlib.pyplot as plt
def sound_speed_air(T):
gamma = 1.4 # 比熱比
R = 8.31 # 気体定数 (J/(mol·K))
M_air = 28.97e-3 # 空気のモル質量 (kg/mol)
return np.sqrt(gamma * R * T / M_air)
def sound_speed_plasma(T, m):
gamma = 5/3 # 比熱比
k_B = 1.38e-23 # ボルツマン定数 (J/K)
return np.sqrt(gamma * k_B * T / m)
# 温度範囲の設定
T_values = np.logspace(1, 8, 100) # 温度を 10K から 10^8K まで
# 定数の設定
mp = 1.67e-27 # 陽子の質量[kg]
me = 9.11e-31 # 電子の質量[kg]
Z = 26 # 原子番号 for Fe
# 音速の計算
v_air = sound_speed_air(T_values) # 空気中の音速
v_proton = sound_speed_plasma(T_values, mp) # 陽子の音速
v_iron = sound_speed_plasma(T_values, Z * mp) # 鉄イオンの音速
v_electron = sound_speed_plasma(T_values, me) # 電子の音速
# プロット
plt.figure(figsize=(10, 6))
# 空気中の音速
plt.plot(T_values, v_air, label="Air", linestyle="--", linewidth=2)
# 陽子の音速
plt.plot(T_values, v_proton, label="Proton", linestyle="-", linewidth=2)
# 鉄イオンの音速
plt.plot(T_values, v_iron, label="Iron Ion", linestyle="-.", linewidth=2)
# 電子の音速
plt.plot(T_values, v_electron, label="Electron", linestyle=":", linewidth=2)
# グラフの設定
plt.xscale("log")
plt.yscale("log")
plt.xlabel("Temperature (K)")
plt.ylabel("Sound Speed (m/s)")
plt.title("Sound Speed vs Temperature")
plt.legend()
plt.grid(which="both", linestyle="--", linewidth=0.5)
plt.tight_layout()
plt.savefig("soundspeed_with_electron.png")
plt.show()
結果のプロット
-
空気中の音速
- 常温(約 300 K)では約 340 m/s。
-
プラズマ中の音速
- 陽子(軽い粒子)の音速は、鉄イオン(重い粒子)よりも、sqrt(26)倍なので約5倍ほど高い。電子はもっと軽いのでもっと早い。
まとめ
温度と音速の関係を忘れたときにメモとして書いてみました。