先日公開した反応速度シミュレータでは、箱の中を飛び回る反応物A・Bの粒子が衝突するたびに、反応が成立するかどうかをその場で判定し、成立すればC・D(生成物)へと色が変わっていく様子を見ることができます。
温度スライダーをほんの少し上げただけで、反応が起きる頻度が目に見えて跳ね上がるのが面白いところです。高校化学では「アレニウスの式 \(k=A\exp(-E_a/RT)\)」として公式で与えられるこの現象を、姉妹プロジェクトである気体分子運動論シミュレータと同じ、高校で習うニュートン力学の弾性衝突だけを使って一歩ずつ組み立ててみようと思います。
1. 反応を「衝突の力学」として捉える
シミュレータの土台になっている前提は、気体分子運動論シミュレータとまったく同じです。
- 2次元の閉じた箱の中を、同じ質量・同じ半径の粒子が飛び回っている
- 壁との衝突・粒子同士の衝突は、いずれも運動量とエネルギーが保存する完全弾性衝突である
- 重力は考慮しない(等速直線運動と衝突の繰り返しだけで運動が決まる)
反応速度シミュレータで新しく加わるのは、粒子に「種別」という属性を持たせ、AとBが衝突した瞬間だけ、追加でひとつの判定を行うという点です。
その衝突は「反応するほど激しい」衝突だったか?
大事なのは、この判定が跳ね返りの運動学そのものには一切影響しないという点です。反応が成立してもしなくても、衝突後の速度は同じ弾性衝突の計算式でそのまま決まります(発熱・吸熱反応のモデル化は行わない、というv1の割り切りです)。つまりこの記事で追いかけるのは、「弾性衝突の中に、反応の合否を決める追加のスコアがどう埋め込まれているか」という一点に尽きます。
2. 二体衝突を「重心運動」と「相対運動」に分ける
質量mの粒子Aと粒子Bが速度\(v_A\)、\(v_B\)で衝突する場面を考えます。重心速度\(v_{cm}\)と相対速度\(v_{rel}\)を、
\[ v_{cm} = \frac{v_A + v_B}{2}, \qquad v_{rel} = v_A – v_B \]
と定義すると、\(v_A = v_{cm} + v_{rel}/2\)、\(v_B = v_{cm} – v_{rel}/2\)と書き直せます。これを2粒子の運動エネルギーの合計に代入すると、
\[ \frac{1}{2}mv_A^2 + \frac{1}{2}mv_B^2 = m\,v_{cm}^2 + \frac{1}{2}\mu\,v_{rel}^2, \qquad \mu = \frac{m}{2} \]
という形にきれいに分解できます。\(\mu\)は換算質量で、質量が等しい2粒子の場合は\(m/2\)になります。
この分解には、力学的にとても大事な意味があります。外力が働かない2体系では運動量保存則によって\(v_{cm}\)は衝突の前後で変化しません。つまり第1項の「重心の運動エネルギー」は、AとBがペアとしてどちらへどれだけ流されているかを表すだけで、2粒子が互いにどれだけ激しくぶつかったかとは無関係です。
衝突の「激しさ」を表しているのは、第2項の相対運動エネルギー \(\frac{1}{2}\mu v_{rel}^2\) だけ
ということです。箱全体がゆっくり漂っていようが、猛スピードで同じ方向に流れていようが、AとBが正面衝突する激しさそのものは変わりません。実際の化学反応でも、反応が起きるかどうかを決めるのは実験室から見た分子の速さではなく、この重心系(相対運動)から見た衝突エネルギーである、というのが衝突理論の基本的な考え方です。シミュレータの反応判定が「2粒子の運動エネルギーの合計」ではなく「相対速度から求めたエネルギー」を使っているのは、この理由によります。
3. 反応条件を式にする — \(T_{collision} \ge E_a\)
前節の\(\frac{1}{2}\mu v_{rel}^2\)を、シミュレータの実装に沿って具体的な数値に落とし込みます。全粒子は同じ質量\(m\)なので換算質量は\(\mu = m/2\)、そして衝突の瞬間の相対運動エネルギーは、
\[ E_{rel} = \frac{1}{2}\mu|v_{rel}|^2 \]
です。ここで実装上のひとつの簡略化があります。厳密には「2粒子の中心を結ぶ方向(法線方向)の相対速度成分」だけを使うべきところを、このシミュレータでは相対速度ベクトル全体の大きさをそのまま使っています。斜めにかすった衝突も真正面の衝突も同じ扱いになる、という割り切りです。実装・説明のシンプルさを優先した設計判断ですが、この記事の以降の議論には影響しません。
次に、この\(E_{rel}\)を、温度スライダーTと同じ「相対値」の単位系に揃えます。実装の定数BASE_SPEED(T=1.0のときの目安の速さ。気体分子運動論シミュレータから引き継いだ値です)を\(v_0\)と書くことにして、基準エネルギーを、
\[ E_{ref} = \frac{1}{2}m v_0^2 \]
と定義します。これで割った、
\[T_{collision} = \frac{E_{rel}}{E_{ref}}\]
が、その1回の衝突が「温度Tでいうところの何度分のエネルギーを持っていたか」を表す量です。反応条件はいたってシンプルで、
\[ T_{collision} \ge E_a \quad\Longrightarrow\quad A \to C,\ \ B \to D \]
活性化エネルギー\(E_a\)以上なら必ず反応し、未満なら絶対に反応しない二値の判定です(この判定はA-B間の衝突でのみ行われ、A-A、B-B、C・Dが絡む衝突では反応判定そのものをスキップし、弾性衝突だけが起こります)。実際の衝突理論では分子の向き(立体因子)なども絡みますが、高校化学の学習範囲では「エネルギーが閾値を超えたら反応する」という単純化で十分、という設計です。
4. 温度を少し上げるだけで反応が急激に増える理由
ここからが本題です。気体分子運動論の記事で見た通り、温度を\(T_{old}\)から\(T_{new}\)に変えるとき、シミュレータは全粒子の速度に\(\sqrt{T_{new}/T_{old}}\)を掛けています。平均運動エネルギーが温度に比例するので、速さは温度の平方根に比例するという関係です。
この\(\sqrt{T}\)則は、相対速度\(v_{rel}=v_A-v_B\)にもそのまま及びます。AもBも速さが\(\sqrt{T}\)倍になるので、両者の差である相対速度もおよそ\(\sqrt{T}\)倍。すると第3節の\(E_{rel}\)は相対速度の2乗に比例する量なので、
衝突エネルギーの「分布の目盛り」そのものが、温度にほぼ比例して伸び縮みする
ことになります。ここで活性化エネルギー\(E_a\)は温度が変わっても動かない固定の壁です。分布の目盛りが\(E_a\)に対して小さいうちは、その壁を超える衝突はごくわずかしかありません。しかし目盛りが\(E_a\)に近づいたり超えたりし始めると、壁を超える衝突の割合は緩やかにではなく、うなぎのぼりに増えていきます。これが「温度をわずかに上げただけで反応速度が急激に増える」という体感の正体です。
実際の化学でこの急増ぶりを定量的に表したのが、高校化学でおなじみのアレニウスの式です。シミュレータでも理論反応速度を、
\[ k_{theory} = A\cdot\exp\!\left(-\frac{E_a}{T}\right) \]
という式で計算し、数値パネルに表示しています(\(A\)は頻度因子で、スライダーで与える相対値です。教科書の\(k=A\exp(-E_a/RT)\)のRは、このシミュレータの温度Tの単位定義に吸収済みとして省略しています)。ここは注意が必要な点ですが、このv1のシミュレータでは、この指数関数の形を「衝突を数えて内部で導出した結果」としてではなく、A・Bの分布とEaの関係から一般に予想される挙動として、最初から\(k=A\exp(-E_a/T)\)という式で直接与えています。頻度因子Aから分子運動論的にZ(衝突頻度)を逆算するような、より厳密な導出は今後の拡張候補です。一方で、粒子の挙動そのもの——温度を上げると\(E_a\)を超える衝突の割合が目に見えて増えていく様子——は、この理論式とは独立に、力学シミュレーションの結果として実際に観察できます。数値パネルは、この2つ(理論値と実測値)が同じ指数関数的な傾向で一致することを確認できるようになっています。
この\(y=\exp(-E_a/T)\)という曲線が実際どんな形をしているか、傾き\(dk/dT\)を計算すると見えてきます。
\[ \frac{dk}{dT} = A\exp\!\left(-\frac{E_a}{T}\right)\cdot\frac{E_a}{T^2} \]
この式が最大になる\(T\)を求めるには対数微分が簡単です。
\[ \frac{d}{dT}\ln\!\left(\frac{\exp(-E_a/T)}{T^2}\right) = \frac{E_a}{T^2} – \frac{2}{T} = 0 \]
\[T^{*} = \frac{E_a}{2}\]
つまり\(y=\exp(-E_a/T)\)は、Tが小さいうちはほぼ平らで、\(T=E_a/2\)のあたりで最も急激に立ち上がり、そこを過ぎるとまた頭打ちになって1に近づく、というS字カーブになっています。シミュレータの活性化エネルギーEaのデフォルト値は4.0なので、この最急勾配点は\(T^{*}=2.0\)。実際のグラフで確認してみましょう。
この効きの鋭さは、実装時の実測でも裏付けられています。粒子数120・温度1.0の条件で活性化エネルギーを2.5に設定すると反応が速すぎ、開始15.6秒でA・Bの78%が反応してしまいデモとして忙しなくなりました。Ea=4.0まで上げると同じ12秒ほどでは33%程度の消費に収まる一方、そこから温度を1.0→2.0に上げるだけで、残っていた反応物の大半が7秒足らずで反応してしまうことも確認されています。活性化エネルギーの絶対値そのものより、「温度が閾値にどれだけ近いか」が反応速度を支配していることがよく分かる数字です。ちょうど、上のグラフの最急勾配点\(T^{*}=E_a/2=2.0\)をまたぐ操作だったわけです。
5. 衝突エネルギーゲージ — 判定式をそのまま可視化する
シミュレータの目玉演出である衝突エネルギーゲージは、第3節の不等式\(T_{collision}\ge E_a\)を、そのままバー表示にしたものです。直近に起きたA-B衝突1件について\(T_{collision}\)を測り、フルスケールを\(E_a\times1.5\)程度に取ったバーとして描画します(\(E_a\)を超えてもバーが振り切れないよう、あえて少し余裕を持たせています)。
バーの色は閾値ベースで切り替わります。\(T_{collision}\ge E_a\)なら緑(反応成立)、未満なら赤(はじかれた)です。同時にメインキャンバス上の衝突地点にも、反応が成立した衝突には明るい閃光を表示します。反応が不成立でも\(T_{collision}\)が\(E_a\)の70%以上まで迫っていた「僅差」のA-B衝突には控えめな波紋を表示しますが、それより弱いA-B衝突(と、A-A、B-B、C/Dが絡む反応判定対象外の衝突)にはエフェクトを出しません。すべての不成立衝突を律儀に表示すると画面がうるさくなるための間引きです。数式としては第3節の1行の不等式に過ぎないものが、色とアニメーションを通して「今まさに閾値の攻防が起きている」という直感に変換されている、というのがこの演出の狙いです。
6. 反応が進むほど、反応そのものも減速する
温度とは別に、もうひとつ反応速度を左右する要因があります。反応が進むにつれてA・Bの個体数が減り、C・Dの個体数が増えていく効果です。
シミュレータでは、反応後の粒子(C・D)を配列から削除せず、同じ粒子オブジェクトの種別を書き換えるだけで容器内に残し続けます。総粒子数は常に一定なので、総当たりの衝突判定そのものは変わりません。しかし容器内でA・Bの割合が減っていけば、A-B同士が衝突するチャンス自体が自然と減っていきます。これは反応物の消費に伴って反応が起きにくくなっていくという、実際の反応速度論(反応が進むほど反応物濃度が下がり速度が落ちる)に通じる副次的な効果です。
この効果と温度による効果を切り分けて見せるため、実測反応速度は「開始からの累積平均」ではなく、直近2秒間(移動窓)に起きた反応回数を2で割った瞬間値として計算しています。
「今この瞬間、反応はどれくらいの速さで進んでいるか」だけを切り出して見せる
ことで、温度を変えていないのに反応物の消費だけでじわじわ速度が落ちていく様子と、温度を上げた瞬間に速度がはね上がる様子を、数値パネル上ではっきり区別できるようにしています。
まとめ
| 力学の要素 | 対応する反応速度論の量 |
| 2体衝突を重心運動と相対運動に分解 | 反応に使える「衝突の激しさ」=相対運動エネルギー \(\frac{1}{2}\mu v_{rel}^2\) |
| 相対運動エネルギーを基準エネルギーで正規化した \(T_{collision}\) | その衝突が持つ「温度換算のエネルギー」 |
| 固定閾値 \(E_a\) との比較(\(T_{collision}\ge E_a\)) | 活性化エネルギーによる反応の可否判定 |
| \(\sqrt{T}\) 則による速度分布のスケーリング | 温度を上げると \(E_a\) を超える衝突の割合が急増する理由(傾き最大点は\(T=E_a/2\)) |
| 反応後もA,B,C,D粒子が容器に残り総数一定 | 反応物の消費に伴う見かけの反応速度低下 |
| 直近2秒の移動窓での反応回数計測 | 実測反応速度(累積平均と切り離した瞬間値) |
| \(k=A\exp(-E_a/T)\)(頻度因子Aはスライダー) | アレニウスの式による理論反応速度 |
この反応速度シミュレータの面白さは、「反応する・しない」というオール・オア・ナッシングな化学の言葉が、実は弾性衝突の相対運動エネルギーという、ごく普通の力学の量の大小比較に過ぎない、と分かるところにあると思います。アレニウスの式の指数関数的な効き方も、突飛な公式ではなく、\(\sqrt{T}\)則で分布の目盛りが伸び縮みするというシンプルな力学的事実の帰結として眺めることができます。
ぜひシミュレータで温度・活性化エネルギー・頻度因子のスライダーを動かしながら、この記事の式と見比べてみてください。
最後まで読んでいただきありがとうございます。ご質問やコメントはお問い合わせからよろしくおねがいします。