In Silico

マテリアルズインフォマティクス・材料

原子のダンスを計算する——分子動力学で、結晶が融ける瞬間を“見る”

2026/6/26 シリーズ「シミュレーションで材料を試運転する」 第1回 / 全3回

温度とは、原子の動きの激しさである。 熱いと原子は激しく揺れ、ある限界を超えると並びが崩れて融ける——と、言葉では。

では、その様子をコンピュータの中で再現できないか。 できる。原子に運動の法則を当てて、時間を一歩ずつ進める。本物を顕微鏡でのぞくのではない——法則から動きを計算で作り直すのだ。これが「分子動力学(MD」である。

やっていることは、驚くほど素直

レシピはたった3行だ。

  1. 力を計算する:すべての原子の間に、押したり引いたりする力がはたらく(近いと反発、少し離れると引き合う)。今いる位置から、各原子にかかる力を求める。
  2. 少しだけ動かす:ニュートンの法則「力 = 質量 × 加速度」に従って、ほんの一瞬(たとえば1兆分の数秒)だけ、原子を動かす。
  3. 繰り返す:1と2を何千回・何万回と繰り返す。すると、原子たちの“動きの映画”ができあがる。

派手なAIは出てこない。物理法則を、ただ正直に、小刻みに積分していくだけ。だが、これだけで物質が固体から液体へ変わる様子まで再現できる。

コラム:その「力」の正体——レナード–ジョーンズ・ポテンシャル 手順1の「近いと反発、離れると引き合う」を、いちばん単純に式にしたのが レナード–ジョーンズ(Lennard-Jones)ポテンシャルだ。横軸に原子どうしの距離、縦軸にエネルギーを取ると、ある“ちょうどいい距離”で谷底になるカーブが描ける。原子はその谷に落ち着こうとする——これが結晶の「並び」の正体だ。

  • 近づきすぎると、急激に強く反発する(電子の雲が重なるのを嫌う。距離の −12 乗、と置くのが定番)。
  • 少し離れると、弱く引き合う(ファンデルワールス力。距離の −6 乗)。

この「12 と 6」を組み合わせた素朴な式が、固体・液体・気体のそれらしい振る舞いを再現してしまう。現実の原子はもっと複雑だが、“谷のある力”の最小モデルとして、物理の教科書でも分子動力学でも真っ先に出てくる定番だ。今回のシミュレーションも、この素朴な力だけで動いている。

仕組み——数式で書くとどうなるか(クリックで展開)

上の3行を式にするとこうなる。式はすべて、上のシミュレーションの実装そのままである(単位はレナード–ジョーンズの換算単位ε=σ=1\varepsilon=\sigma=1。だから温度も 0.10.11.61.6 という無次元の値で書ける)。

  1. 力を計算する(レナード–ジョーンズ)。 距離 rr だけ離れた2原子のあいだのエネルギー V(r)V(r) は、反発の 1212 乗と引力の 66 乗の差で書ける。原子にはたらく力は、そのエネルギーの傾き dV/dr-\,dV/dr である。
V(r)=4ε[(σr)12(σr)6]V(r) = 4\varepsilon\left[\left(\frac{\sigma}{r}\right)^{12} - \left(\frac{\sigma}{r}\right)^{6}\right] F(r)=dVdr=24εr[2(σr)12(σr)6]F(r) = -\frac{dV}{dr} = \frac{24\varepsilon}{r}\left[\,2\left(\frac{\sigma}{r}\right)^{12} - \left(\frac{\sigma}{r}\right)^{6}\,\right]

ある原子にかかる力は、周りのすべての原子からのこの FF を、向きまで含めて足し合わせたものだ。

  1. 少しだけ動かす(Velocity–Verlet 積分)。 力から加速度 a=F/ma = F/m を出し、位置と速度を微小時間 dtdt だけ進める。位置を先に更新し、新しい位置で力を測り直してから速度を仕上げる——この順番が、長く回してもエネルギーが崩れにくい定番の積分法である。
x(t+dt)=x(t)+v(t)dt+12a(t)dt2x(t+dt) = x(t) + v(t)\,dt + \tfrac{1}{2}\,a(t)\,dt^{2} v(t+dt)=v(t)+12[a(t)+a(t+dt)]dtv(t+dt) = v(t) + \tfrac{1}{2}\,\bigl[\,a(t) + a(t+dt)\,\bigr]\,dt
  1. 温度を上げる(速度スケーリング)。 温度とは、原子の運動エネルギーの平均そのものだ(NN 原子・2次元、kB=1k_B=1 の換算単位)。狙った温度 TtargetT_\text{target} に寄せるには、全原子の速度を一律に Ttarget/T\sqrt{T_\text{target}/T} 倍すればよい。この TtargetT_\text{target}0.10.1 から 1.61.6 へ少しずつ上げていくと、ある所で格子がほどけて融ける。
T=12Ni=1Nmivi2viviTtargetTT = \frac{1}{2N}\sum_{i=1}^{N} m_i\,\lvert v_i \rvert^{2} \qquad v_i \leftarrow v_i\,\sqrt{\frac{T_\text{target}}{T}}

「温度=原子の動きの激しさ」は、ここでは比喩ではなくこの式の定義そのものである。融解したかどうかは、各原子が初期位置からどれだけずれ、最初の隣どうしをどれだけ保っているかを測って判定する。

実際に走らせてみた——結晶が融ける

下は、実際に計算したシミュレーションだ(182個の原子を三角格子に並べ、少しずつ温度を上げていく)。 色は速さを表す——青い原子はゆっくり(冷たい)、赤い原子は速い(熱い)

分子動力学:温度を上げると結晶が融けるシミュレーション
実際に走らせた分子動力学。低温では原子がきちんと並んでその場で震えるだけ(固体)。温度を上げると揺れが激しくなり、ある所で並びが崩れて自由に動き回りはじめる(融けて液体)。「温度=原子の動き」が、計算の中で起きている。
182原子・2D・レナード–ジョーンズ模型/実コードで生成(再現可能)。

最初、原子はきれいな格子に並び、青いまま、その場で小さく震えている——固体だ。 温度を上げていくと、揺れが大きくなり、色が暖色に変わる。そしてある温度で、格子がほどけて、原子が場所を入れ替えながら流れ出す——融けて液体になった瞬間だ。 「温度とは原子の動きの激しさだ」という言葉が、ここでは計算の中で実際に起きている

何の役に立つのか

これは、材料を作る前に“試運転”するということだ。 実験室で本物を合成しなくても、計算機の中で「温めたらどの温度で融けるか」「力を加えたらどう変形・破壊するか」「別の物質がどう染み込んでいくか(拡散)」を覗ける。新しい材料の候補を、作る前にふるいにかける——その精密な段にあたる。

ただし——シミュは「入れた物理」しか返さない

ここで、正直な注意をひとつ。

このシミュレーションの心臓は、「原子どうしがどう力を及ぼし合うか」というモデルだ。今回は単純な模型(レナード–ジョーンズ)を使った。もしこのモデルが現実とずれていれば、どんなに精密に計算しても、出てくる“映画”は現実とずれる。速く回しても、きれいに描いても、それは変わらない。

シミュレーションは、入れた物理以上のことは教えてくれない。だから本当の勝負は、計算の速さより、「正しい力のモデルを使えているか」を確かめることにある。


このGIFは、実際に走らせた2次元分子動力学(182原子、三角格子のレナード–ジョーンズ結晶、周期境界、Velocity-Verlet積分、速度スケーリング法で目標温度を0.1→1.6へ上昇)の出力。融解の起点となるよう、ごくわずかな空孔(欠陥)を仕込んである——完全な無欠陥結晶は過熱してなかなか融けず、現実でも結晶は欠陥から融け始めるためだ。決定論的(固定シード)で、コードとパラメータは管理下にあり再現可能。各時刻の格子の乱れ(初期位置からのずれと近傍の保持率)を測り、低温で秩序を保ち高温で融けることを確認している。分子動力学・融解は計算物質科学の標準的な手法に基づく。

この記事はAIが下書きし、人間が編集・公開しています。