今回は計算化学の手法の一つである分子動力学法について、オススメのプログラムを紹介します。たくさんあるプログラムの中で、どれを使ってシミュレーションを進めていくかの参考にして頂ければと思います。
分子動力学法とは?
分子動力学法(Molecular Dynamics , MD)とは古典力学や統計熱力学に基づいたシミュレーション手法です。ニュートンの運動方程式を解くことで、原子や分子の振る舞いをシミュレーションによって予測し、その振る舞いから様々な物性を求めていく手法になります。
$$ F=m\frac{d^2r}{dt^2} $$
以前に書いた記事「計算化学の手法」でも触れましたが、分子動力学法では電子状態を考慮しないため、電子状態が重要となってくる物性は計算することができません。分子動力学法によって求められる物性は非常に多く、全て記載することは難しいですが、私の思いつく一例は以下の通りです。
密度、表面張力、界面張力、誘電率、熱伝導率、動径分布関数、架橋構造、粘度、融点、沸点、弾性率、膨張率、ガラス転移温度、相溶性、拡散係数、etc・・・。
分子動力学法を扱えるプログラム
細かい理論の話をしても最初はイメージが湧かなかったり、楽しく感じられないと思いますので、まずは実際にプログラムを使ってシミュレーションを体験することを目指して頑張ってみましょう!
初めての人が最初にぶつかる問題として、「どのプログラムを使えば良いかわからない!」・・・ってことは多々あると思います。
様々なシミュレーションプログラムを紹介しているサイト『MateriApps』から検索してみると、分子動力学法のプログラムや関連するプログラムがいくつか見つかります。

簡単な説明はありますが、読んでもどれが使いやすいかどうかなんて、なかなかわからないですよね。
3つほどプログラムをピックアップして、それぞれの特徴を簡単にまとめてみました。気軽に試せるよう、今回は全て無料で扱えるプログラムとしています。

LAMMPSは分子動力学プログラムで一番名前を見ると言っても過言ではないくらい、広く使われているプログラムです。計算機能が非常に充実しており、有機・無機どちらにも適用事例が多いので、やってみたいと思った計算は大抵の場合LAMMPSでできることが多いです。計算速度はGROMACSと比較すると劣りますが、十分に実務への応用が可能な範囲です。
GROMACSは何と言っても計算速度の速さが特徴的なプログラムです。分子動力学プログラムでは最速の計算速度であり、GPUを使った際の計算速度は圧巻です。計算機能も充実はしておりますが、基本的には生体分子をターゲットにしていることもあり、無機系の計算には不向きな面もあります。ただ、やはりその計算速度は非常に魅力的なので、広く使われているプログラムです。
OCTAは計算機能や計算速度の点では他のプログラムに見劣りしますが、粗視化の適用例が多く、粗視化計算の体験をするには一番向いているプログラムです。専用のGUIが付属、日本語のマニュアルがあるといったメリットもあり、気軽に試しやすいプログラムですが、実務への応用は厳しいかと思います。
では、実際にどれか一つを始めてみるとなった場合、どのような観点でプログラムを決めるかですが、私なりの考えをまとめてみました。

まず、実務への応用を考えているなら、OCTAの計算速度では厳しいかと思います。実際の材料について計算するとなった場合、様々な材料間で比較することが多々あるので、計算速度の遅さは研究開発のスピードにダイレクトで効いてきます。一方、まずは分子動力学法の勉強がしたいだけであれば、OCTAは日本語のマニュアルとチュートリアルがあるのでオススメです。
では、実務への応用をするとなった場合にLAMMPSとGROMACSのどちらを選ぶかですが、GROMACSで計算できるならGROMACS、そうでないならLAMMPS、といった基準で良いかと思います。どちらでも計算できるなら、計算速度の速いGROMACSを選んだほうが時短になりますので。GROMACSで計算できるかわからないのであれば、一先ずLAMMPSを選択しておけば間違いはないです。また、LAMMPSが扱えるようになれば、GROMACSへの移行もそんなに苦労せずにできると思います。
おわりに
今回は分子動力学法を扱える、オススメのプログラムについて紹介しました。あくまでこの選定基準は私なりの考えですが、プログラム選定の参考にして頂ければ幸いです。このブログではLAMMPS、GROMACS、OCTAのいずれも計算環境の構築から使用例まで紹介予定なので、そちらの記事も参考にしつつ、自分にあったプログラムを選んでみてください。次回は計算環境の構築方法についてお話ししていきます。
コメント
ブログを参考にして、VirtualBoxへのGROMACSインストールが無事にできました、ありがとうございます。
LAMMPSやOCTAのインストール手順も書く予定はありますか?
ご質問ありがとうございます。本ブログがお役に立てたようで何よりです!
LAMMPS、OCTAのインストール手順も追々書いていくつもりです。
インストール環境として、LAMMPSはLinux、OCTAはGUIを使いたいのでWindowsを想定しています。