気体分子の速度分布

箱に密閉された気体分子の速度分布が,衝突を繰り返すことで Maxwell 分布になっていく様子を python で数値計算してみました(講義『波動・熱力学』でのデモ用)。気体分子の初期条件は以下の通り。

  • 気体分子数 200 個
  • 位置はランダム
  • 速さは一定
  • 速度の向きはランダム

以下が計算結果の動画です。左が分子の位置分布,右が分子の速度分布です。一定だった分子の速さが,時間とともに遅い分子と速い分子に散らばっていく様子がわかります。速さ分布を調べてみると,これが Maxwell-Boltzmann の分布則に従っていることがわかります。

プログラムの仕様

  • タイムステップ dt の間に二分子間で衝突が起きるかどうかを,すべての分子の組み合わせに対して判定
  • 衝突が起きないと判定された分子については,等速直線運動を適用して位置と速度を更新
  • 衝突が起きると判定された二分子に対して,以下の弾性衝突アルゴリズムを適用して位置と速度を更新
    • 二粒子の重心系に座標変換
    • 衝突後の位置と速度を計算しやすくするために座標回転
    • 回転座標系において弾性衝突後の位置と速度を算出
    • 位置と速度を元の座標系に戻す
  • 壁では弾性衝突

コメントを残す