はじめに
量子化学計算は化合物の物性や化学反応を解析するために広く使われています。
多くの計算用パッケージが公開されていますが、Gaussian
を用いて計算をされている方がほとんどだと思います。
しかし、Gaussian
のlogファイルの中身は少し読みづらく、ほしい情報を引き出すためにファイル処理用のスクリプトを用意しなければなりません。
本記事ではPythonのcclib
というライブラリを用いて、Gaussian
をはじめとする量子化学計算ソフトの計算結果をparseする方法を記します。
cclibのgithubリンクはこちらです
インストール方法
pipを用いて簡単にインストールすることができます。
pip install cclib
使い方
import cclib
filename = "gaussian.log"
data = cclib.io.ccread(filename)
これでdataにlogファイルの情報を格納します。
#原子数
natom = data.natom
#電子数
nelectrons = data.nelectrons
#基底関数の数
nbasis = data.nbasis
#原子の電荷
atom_charges = data.atomcharges
#原子番号
atom_no = data.atomnos
#全体の電荷
mol_charge = data.charge
#最適化構造
converged_structure = data.converged_geometries
#エンタルピー
enthalpy=data.enthalpy
#エントロピー
entropy = data.entropy
#自由エネルギー
free_energy = data.freeenergy
#ゼロ点振動エネルギー
zpve = data.zpve
#gradient
grad = data.grad
取得できる結果は計算手法や計算ソフトによって異なります。
詳しい解説はこちらにあります。
鋭意開発中みたいなので今後の発展に期待です。
最後に
cclib
を用いることで簡単に計算結果を取得することができるようになります。
研究室内で車輪の再開発を防ぐためにもぜひご利用ください。
ちなみに、筆者がcclib
について知ったきっかけはchatGPT(GPT-4)
でした。
chatGPTが出してきたときはそんなライブラリないだろうと思っていたのですが、実際にあったので驚きました。
これからはググるではなくジピる(chatGPTに聞くこと)が一般的な世界になるのかなと思いました。