next up previous
Next: プログラムの整理 Previous: 全運動量を0にする

運動エネルギー(温度)の設定

前回までのプログラムにより、全運動量のゼロ化が実現された。続いて、その速度から計算される温度 $\propto$ 運動エネルギーを設定してみよう。N個の粒子が2次元の格子内で運動する場合、粒子のもつ運動エネルギーと系の温度Tには次の関係が成り立つ。
\begin{displaymath}
\sum_{n = 1}^N \frac{1}{2}mv_n^2 = (N-1) k_B T (c.f. 3 Dimension \rightarrow \frac{3}{2}(N-1) k_B T)
\end{displaymath} (2)

ここに(N-1)は全運動量がゼロになるという拘束条件が各方向に存在するため自由度が1減ることを意味する。簡略化のため、引き続き質量$m$は1とする。また、温度$T_x = k_B T$をある値(例えば $T_x = k_B T = 1.0$)に設定するためには、現在の粒子の速度を用いて計算される次のファクター$f$を速度に掛け更新することによって行われる。
\begin{displaymath}
f = \sqrt{\frac{2 (N-1) T_x}{\sum_{n = 1}^N v_n^2}}
\end{displaymath} (3)

この部分を前回のプログラムに追加し、得られた結果をgnuplotのベクトル表示を利用して再度確認すること。


next up previous
Next: プログラムの整理 Previous: 全運動量を0にする
Hitoshi Takamura
平成16年12月26日