haphysics blog - 幸福の物理ブログ

みんなに物理と工作と幸福をお届けするのだァ~!

君はあの相転移を見たか

こんなものを作りました!

 C言語GLUTで作りました。
f:id:shitaro2012:20140202221153p:plain

悠久の統計力学

 それは期末試験を控え、統計力学を勉強しているときのこと。
試験範囲だけでは相転移を知ることができないと知った私は、
"そこ"へと手を伸ばしてみたのでした―――。

動機~なぜやっちまったのか~

始まりは"van der Waals状態方程式"!?

 高校で理系クラスに所属していた方なら次の数式を一度でも目にしたことがあると思います。
\begin{equation}
\left(
P_{\mathrm{ex}} + a \left( \frac{N}{V_{\mathrm{ex}}} \right)^2
\right)
(
V_{\mathrm{ex}}-bN
)
=
Nk_{B}T
\end{equation}
これはファンデルワールス状態方程式と呼ばれる方程式です。
この方程式は理想気体の状態方程式
\begin{equation}
PV = Nk_{B}T
\end{equation}
を次の2点について修正をした、実在気体に対する方程式です。

  1. 粒子体積の影響の補正理想気体の粒子は体積を持たない。しかし、本当は粒子は体積\(b\)を持つ。だから理想気体の体積\( V \)は実在気体の体積\( V_{\mathrm{ex}} \)よりも小さい。
  2. 粒子間相互作用の影響の補正理想気体の粒子は粒子間相互作用が無いと考える。しかし、本当は粒子間に引力がはたらく。だから理想気体の圧力\( P \)は実在気体の圧力\( P_{\mathrm{ex}} \)よりも大きい。

 受験生の頃、受験化学、特に理論分野は苦手でした。
このファンデルワールス状態方程式に初めて出会ったのはその頃でした。
私は最初、この方程式を「入試問題における計算量を増やすだけの小悪魔」と考えていました。

化学I・IIの新研究―理系大学受験

化学I・IIの新研究―理系大学受験

*1

(余談)実はこれでノーベル賞

 ファンデルワールス氏はこの状態方程式のおかげで1910年にノーベル物理学賞を受賞しました。
受験生の頃にこの状態方程式に出会ってから理科年表で調べると、そのことが載っていました。
なぜこれが偉大な発見なのか、当時の私は分かりませんでした。
しかし、今回のこのシミュレーションのおかげでその偉大さが分かりました。すげぇ!

van der Waals状態方程式で気液相転移が見える!?

 去年の夏休み前、某研究室で統計力学ゼミをするにあたって助言を貰っている時のこと。
話題が少し脱線して、このファンデルワールス状態方程式についての話になりました。
そこで、実はこのファンデルワールス状態方程式気液相転移を再現するということを知りました。

本当に見える!?

 最近、『化学の新研究』を再び読み始め、改めてファンデルワールス状態方程式の気液相転移の実現性を知りたくなりました。だから今回、シミュレーションをしてみたのです。

原理

 ファンデルワールス状態方程式の要点は、「粒子の体積と粒子間相互作用は無視できない」です。この状態方程式の要点を考慮した次のような模型を作ればよいのです:

  1. 粒子体積の影響の補正:二次元空間を格子状に分割します。その1つのマス目には1つしか粒子は入ることができません。
  2. 粒子間相互作用の影響の補正:隣り合うマス目に粒子があるとエネルギーを\(\phi_{0}\)だけ得をします。

 この模型のHamiltonianを求めます。粒子は全部で\( N \)個あり、個数は変わらないとします。
\( i \)番目のマス目に粒子があれば \(n_{i} = 1 \)、なければ\( n_{i} 0\)とします。
 この模型のHamiltonianは次のように表されます*2
\begin{eqnarray}
H
=
-\sum_{\langle i, j \rangle}
\phi_{0} n_{i} n_{j}
+\sum_{i} g h_{i} n_{i}
\end{eqnarray}
ただし、\( \langle i, j \rangle \)は隣同士の粒子の組を、\( h_{i} \)は\( i \)番目の粒子の底からの高さを表しています。

 このHamiltonianに従う粒子の配置をカノニカル分布で求めます。

乱数でシミュレーション!

 このような模型にはメトロポリス法」と呼ばれる計算方法が有効であると聞きました。
この方法は、指定したセルにおける粒子の状態(存在するor存在しない)を変化させるかどうかを考えます。もし、指定したセルにおける粒子の状態が変化させたことで変化の前後における系全体のエネルギー差\( \mathrm{d}E \)が負になるならば1、正になるならば\( e^{-\beta \mathrm{d}E} \)の確率で、指定したセルにおける粒子の状態を変化させるというものです。

 この方法をメルセンヌツイスターと呼ばれる乱数生成方法と合わせて用います。

シミュレーション結果!

 結果の図はこの記事のトップ、およびこの節の下のとおりです。
ただし、「BETA」は逆温度を表しています。逆温度とはその名のとおり温度の逆数に相当するパラメータです。
*3

 結果から分かるように、温度が高い(=逆温度が小さい)ときは液相が、
温度が低い(=逆温度が大きい)ときは気相が現れています。
また、その中間では気液平衡の様子が現れています。
 これより、ファンデルワールス状態方程式をもとに作った簡単な模型で
気相・液相転移をシミュレートすることができました!

 ファンデルワールス状態方程式は本当に気液相転移を表すことのできる凄い方程式なんですね!

f:id:shitaro2012:20140202220213p:plain
f:id:shitaro2012:20140202220209p:plain
f:id:shitaro2012:20140202220201p:plain

└(՞ةڼ◔)」<感情の相転移だァ~!幸福ゥ~!

*1:受験のときお世話になりました。今は改訂版が出ているのですね。この本は大学生になると楽しめます。

*2:重力によるポテンシャルの項は本質に関係ありません。ただ、この項をつけると粒子が下に集まり、例えば液体の入ったビーカーを横から眺めたときの様子を記述することができます。

*3:より詳しく言うと、「マクロな熱的変数"温度\( T \)"」と「ミクロな統計力学における変数 \( \beta \)」をボルツマン定数 \( k_{B}\) で関係付けたもの、と言えます。