分子動力学法(molecular dynamics, MD)は、原子に働く力を計算しながら、原子の位置と速度を少しずつ時間発展させていくシミュレーション手法です。 ざっくり言えば、原子の動きをコマ送りで追いかける計算です。
計算化学の入門でよく見かける言葉ですが、最初は
- 何を計算しているのか
- 構造最適化と何が違うのか
- 実際に何が分かる手法なのか
が少し分かりにくいと思います。
この記事では、分子動力学法の基本を初学者向けに整理します。 細かい実装や高度な理論に入る前に、まずはMDでは何をしているのかをつかむことが目的です。
分子動力学法とは何か
分子動力学法は、原子配置から力を計算し、その力に従って原子を動かす方法です。
流れをかなり単純化すると、MDでは以下を繰り返します。
- ある時刻での原子の位置を用意する
- その原子配置から、各原子に働く力を計算する
- 力から加速度を求める
- 加速度を使って速度と位置を少しだけ更新する
- 次の時刻でも同じことを繰り返す
これを何万ステップ、何十万ステップと進めることで、原子の運動の履歴を得ます。 各時刻の1コマ1コマの構造はスナップショットと呼ばれ、その並び全体をトラジェクトリと呼びます。
つまりMDは、1つの安定構造を探す計算というより、時間とともに系がどう動くかを追う計算です。 ここでいう系とは、シミュレーションの対象になっている原子や分子の集まり全体のことです。
直感的には「原子の動画を作る計算」
MDを直感的に言うなら、原子の世界の動画を作る計算です。
もちろん実際には連続的な運動をそのまま再現しているわけではありません。 計算では、たとえば 1 fs のような非常に短い時間刻みごとに、原子の位置と速度を更新していきます。
動画で言えば、
- 1コマごとのスナップショットを計算する
- そのコマをたくさん並べる
- 後で全体の動きや統計量を解析する
というイメージです。
そのためMDでは、「この1つの構造が正しいか」だけを見るのではなく、
- 温度が安定しているか
- 密度がどう変わるか
- 分子がどれくらい動き回るか
- 原子や分子の並び方にどんな傾向があるか
といった、時間発展や統計的な性質を見ることが多くなります。
原子は何に従って動くのか
原子を適当に動かしているわけではありません。 MDでは、原子に働く力をポテンシャルから計算します。
ここでいうポテンシャルは、原子配置に対してエネルギーを与える関数のことです。 また、実際のMD計算では、このポテンシャルの形やパラメータ、原子タイプ、結合情報などを含めたモデル一式を力場と呼ぶことがよくあります。 そして原子に働く力は、そのポテンシャルエネルギーの座標に対する勾配から求められます。
式で書くと、力は次の形です。
$$
F = -\nabla U
$$
U: ポテンシャルエネルギーF: 原子に働く力
この式の意味を直感的に言うと、エネルギー地形の傾きに沿って原子が動くということです。
山の斜面にボールを置くと、傾きに沿って転がります。 MDでも似た考え方で、エネルギーがどう変わるかをもとに力を計算し、その力で原子を動かします。
初学者向けにかなり単純化して言えば、ポテンシャルがエネルギーのルール、力場がそのルールを計算に使える形でまとめたものと捉えるとイメージしやすいです。
構造最適化との違い
初学者が最初に混同しやすいのが、構造最適化との違いです。
どちらも原子座標を更新するので似て見えますが、目的はかなり違います。
| 手法 | 主な目的 | 原子の動かし方 |
|---|---|---|
| 構造最適化 | エネルギーの低い構造を探す | エネルギーが下がる方向へ構造を調整する |
| MD | 時間発展を追う | 力に基づいて位置と速度を時間発展させる |
構造最適化は、安定構造を探すことが中心です。 一方でMDは、温度や圧力などの条件のもとで、原子や分子がどう動くかを追跡します。
そのため、
- 構造最適化は「止まった構造」を探す計算
- MDは「動いている系」を見る計算
と考えると違いをつかみやすいです。
実際のMD計算では何を設定するのか
MDを実行するときは、単に原子座標だけあればよいわけではありません。 少なくとも、次のような設定が必要になります。
- 初期構造
- 初期速度
- ポテンシャルまたは力場
- 時間刻み
- ステップ数
- 温度や圧力の制御条件
- 周期境界条件の有無
たとえばLAMMPSなどのMDソフトでは、入力ファイルの中でこれらを順番に指定していきます。
つまりMDは、「ボタン1つで原子の動きを見る手法」ではなく、 どんなモデルで、どんな条件で、どれくらいの時間だけ系を追うかを明示して進める計算です。
MDで得られるもの
MDの直接の出力は、各時刻における原子の位置、速度、エネルギーなどです。 それ自体が最終目的というより、そこから後で解析を行います。
たとえば、MDの結果からは次のようなものを調べられます。
- 原子や分子がどう動いたか
- 温度やエネルギーが安定しているか
- 密度がどのくらいか
- 動径分布関数(RDF)
- 平均二乗変位(MSD)
- 拡散係数の見積もり
このあたりは次の記事で詳しく扱いますが、ここでは MDはトラジェクトリを作り、それを解析して物性や構造の情報を得る手法 と捉えておけば十分です。
MDは現実をそのまま完全再現するわけではない
MDはとても便利ですが、現実をそのまま完全に再現するわけではありません。
理由はいくつかあります。
- ポテンシャルや力場に近似が入る
- 扱える時間スケールに限界がある
- 扱える系の大きさに限界がある
- 温度や圧力の制御も理想化を含む
つまりMDは、現実そのものではなく、あるモデルのもとで時間発展を近似的に再現する方法です。
ただし、この近似があるからこそ、多数の原子の運動を実用的な時間で計算できます。 大事なのは「MDだから正しい」と思い込むことではなく、 どんな前提で計算した結果なのかを理解して使うことです。
よくある誤解
MDは原子の動きをそのまま直接見ている手法である
半分は正しく、半分は誤解です。 MDは時間発展を追う計算ですが、実験で直接観測した運動を再生しているわけではありません。 ポテンシャルや初期条件に基づいて計算したモデル結果です。
MDをやれば何でも分かる
それは違います。 MDで分かることは多いですが、扱える時間・空間スケールやポテンシャルの精度に強く依存します。
MDは構造最適化を長くやったもの
これも違います。 構造最適化は安定構造探索、MDは時間発展追跡であり、目的も計算の意味も異なります。
まとめ
分子動力学法(MD)は、原子に働く力を計算しながら、原子の位置と速度を少しずつ更新していくシミュレーション手法です。
ポイントをまとめると次の通りです。
- MDは原子の時間発展を追う計算
- 力はポテンシャルエネルギーから求める
- 出力はトラジェクトリであり、そこから物性や構造を解析する
- 構造最適化とは目的が違う
- 便利な手法だが、モデルや近似に依存する
MDの入口として最初に押さえたいのは、 MDは原子を動かす計算であり、その動きの履歴を解析する手法 だという点です。
次の記事では、MDを使うと実際に何が分かるのかをもう少し具体的に整理します。

関連記事
- 準備中: MDで何が分かるのか
- 準備中: MDで分からないこと
- 機械学習MDを分かりやすく解説
- MatterSimでMD計算やってみた
コメント