分子動力学法(molecular dynamics, MD)のログや解説では、温度や圧力がよく出てきます。
ただし、ここでいう温度や圧力は、日常感覚の言葉と完全に同じではありません。MDでは、原子の位置と速度から計算される系の状態量として扱います。
この記事では、MDにおける温度と圧力の意味を整理し、計算結果のログでどう読めばよいかを見ていきます。
前回の記事はこちらです。

MDでいう温度と圧力は何を表しているのか
MDでは、各時刻で原子の位置と速度を持っています。そこから、系全体としてどのくらい激しく動いているか、どのくらい外向きまたは内向きの力を持っているかを計算できます。
このとき代表的に出てくる量が、温度と圧力です。
- 温度: 原子の運動の激しさと関係する量
- 圧力: 粒子の運動と相互作用から決まる力学的な量
どちらも、1個の原子だけを見て決まる値ではありません。系全体の情報から定義される量です。
温度とは何か
日常では、温度は「熱い」「冷たい」を表す量として理解しています。MDでもその感覚は完全には外れていませんが、計算の中ではもう少し具体的に、粒子の運動エネルギーと結びついた量として扱います。
MDでは温度を運動エネルギーと結びつけて扱う
原子が速く動いているほど、系の運動エネルギーは大きくなります。MDでは、この運動エネルギーの平均的な大きさから温度を定義します。
温度の単位は、通常は K(ケルビン) です。実際の計算条件でも 300 K や 298.15 K のように指定することが多く、特に 298 K 前後は室温付近の条件としてよく使われます。
厳密には自由度の数も関係しますが、ここではまず、
- 原子の動きが激しいほど温度は高い
- 原子の動きが穏やかになると温度は低い
という対応を押さえれば十分です。
温度は1粒子の値ではなく系の統計的な量
ある1個の原子だけを取り出して、その原子の温度を定義しているわけではありません。MDで出てくる温度は、多数の粒子の運動をまとめて見た統計的な量です。
そのため、系が小さいときや平衡化前の状態では、温度の瞬間値はかなり揺らぐことがあります。
圧力とは何か
圧力も、MDではログによく現れる量です。ただし、圧力の意味は温度より直感を持ちにくいかもしれません。
気体の圧力は、粒子が壁に衝突して押す力としてイメージできます。MDではそれに加えて、粒子どうしの相互作用も圧力に寄与します。
圧力は粒子の衝突と相互作用から生まれる
MDでは、圧力は単に「壁をたたく回数」だけで決まるわけではありません。
- 粒子が運動して運ぶ寄与
- 粒子間相互作用が生む寄与
を合わせて圧力を計算します。
このため、圧力は密度や温度だけでなく、使っている力場やそのときの原子配置にも影響されます。
MDの圧力は瞬間値が大きく揺らぐ
MDの圧力で特に重要なのは、瞬間値がかなり大きく揺らぐことです。
実際のログでは、平均的には妥当な条件で回っていても、各ステップの圧力は大きく正負に振れることがあります。これは珍しいことではありません。
ここで気になるのが、圧力がマイナスになることがあるのは異常ではないのかという点です。結論から言うと、瞬間圧力が負になること自体は、すぐ異常とは言えません。
負の圧力は、系が引っ張られる向きの応力を持っていたり、平均的にまだ平衡化の途中だったり、小さい系で揺らぎが大きかったりすると現れます。特に液体や小規模セルでは、瞬間値だけ見ると負になることは十分ありえます。
そのため、圧力を見るときは単一ステップの値だけで判断せず、時間平均や十分なサンプリングの上で評価する必要があります。
MD計算では温度と圧力をどう見るのか
温度と圧力は概念として出てくるだけではなく、実際には thermo 出力などのログに数値として現れます。
thermo出力ではどんな量として現れるか
LAMMPSでは、たとえば Temp や Press といった列で表示されます。これらは、その時点の原子配置と速度から計算された値です。
また、温度は運動エネルギー、圧力は体積や相互作用とも関係しているため、KinEng、PotEng、Density などと一緒に見ると解釈しやすくなります。
温度や圧力は平均して読む
MDのログでは、値が毎ステップ一定になることは普通ありません。
見るべきなのは、
- 目標温度の近くで揺らいでいるか
- 圧力や密度が時間とともに大きく流れ続けていないか
- 平衡化後に平均値として落ち着いているか
といった点です。
温度制御と圧力制御が必要になる場面
ここまで見てきたように、温度や圧力はMDの重要な状態量です。ただし、何も制御しなければ、いつでも任意の温度や圧力になるわけではありません。
NVEでは保存量を見る
外部から温度や圧力を制御しない基本形では、全エネルギーがどう振る舞うかが重要になります。
NVTやNPTでは温度・圧力を制御する
実際の計算では、目的に応じて温度や圧力を制御したいことがあります。
- 温度を制御したいときはサーモスタットを使う
- 圧力も制御したいときはバロスタットを使う
このとき出てくるのが、NVT や NPT といった条件です。
ただし、ここで大事なのは、
- NVT はアンサンブルの指定
- サーモスタットは温度制御のアルゴリズム
- NPT はアンサンブルの指定
- バロスタットは圧力制御のアルゴリズム
という区別です。
よくある誤解
温度は原子1個にそのまま定義されるわけではない
MDの温度は、系全体の運動を統計的に見た量です。個々の原子に日常的な意味での温度をそのまま割り当てているわけではありません。
圧力が揺れるのは計算失敗とは限らない
圧力の瞬間値が大きく揺れるのは、特に小さい系ではよくあります。平均値や時間変化を見ずに、1点だけで異常と判断しないほうが安全です。
また、瞬間圧力がマイナスでも、それだけで計算失敗とは限りません。平均圧力が狙った条件に近いか、密度や体積が時間とともに流れ続けていないか、といった点をあわせて確認する必要があります。
温度一定・圧力一定は完全に固定という意味ではない
NVT や NPT では、目標値のまわりで揺らぎながら制御されるのが普通です。毎ステップまったく同じ値になることを期待するものではありません。
まとめ
MDにおける温度と圧力は、どちらも系の状態を表す重要な量です。
ポイントをまとめると、次のようになります。
- 温度は粒子の運動エネルギーと関係する
- 温度は通常 K で扱い、298 K 前後は室温条件としてよく使われる
- 圧力は粒子の運動と相互作用の両方から決まる
- どちらも系全体から定義される量である
- 圧力の瞬間値が負でも、すぐ異常とは限らない
- ログでは瞬間値よりも平均的な振る舞いを見る
- 温度制御や圧力制御の話は NVT や NPT につながる
コメント