GAMESSのTDDFT法による一酸化炭素の励起状態計算
Last Update:2022/02/25
1.はじめに
GAMESSは非経験的量子化学計算を行うソフトウェアで、アイオワ州立大学のGordonとSchmidtらによって開発されたものです。無償配布されていますが、再配布は禁じられています。
https://www.msg.chem.iastate.edu/gamess/
そのため、MateriApps LIVE!上でGAMESSを使うには、次の手順にしたがってソースの入手とインストールを行う必要があります。
https://github.com/cmsi/MateriAppsLive/wiki/GAMESS
MateriApps LIVE!に含まれている自動インストールスクリプトgamess-setupは、執筆当初はSep 30 2020 (R2)までの対応となっており、最新の30 Sep 2021 (R2 Patch 1)には対応していませんでした。
※最新版gamessに対応したインストールスクリプトを利用するには、gamess-setupを実行する前に、次のコマンドを実行してください。
sudo apt-get update
sudo apt-get upgrade
筆者の環境はMateriApps Live 3.3、VirtualBox 6.1.22をwindows 10 Homeに乗せた状態です。上記コマンドを実行するとgamess-setup最新版(202109-4)が入手できます。このスクリプトを用いると、無事に30 Sep 2021 (R2 Patch 1)のインストールと実行ができました。gamessのtarballはローカルに置いたものを使うほうが失敗しにくいかもしれません。なお、MateriApps Live 3.3、VirtualBox 6.1.32 をmacOSで動かした場合も動作を確認できています。
筆者はこのスクリプトを利用したインストールで、異常終了しているのに「Installation competed」と表示され、実行プログラムが生成されていなかったことがありました。実行プログラム「gamess.00.x」や計算スクリプト「rungms」が規定の場所に出来ていなかった場合は、GAMESSのバージョンの確認の他、ホストOSの更新プログラム・ドライバーの更新なども適用してから試してみてください。
改めまして、このレビューでは、GAMESSにあらかじめ収録されているInput Examplesを用いて、TDDFT法により一酸化炭素の励起エネルギーとグラジエント(勾配)を得るまでの計算を行います。一酸化炭素の励起状態はリュードベリ性を持ちます。
GAMESSには励起状態の計算のための方法がいくつか実装されています。低コストで、よく用いられる手法としては次の二つが挙げられます。
- CIS(Configuration Interaction Singles)
- TDDFT(Time Dependent Density Functional Theory)
多電子励起による電子相関をより詳しく見積もりたい場合には、次のような高コストの手法を用います。
- EOM-CC(Equation of Motion Coupled-Cluster Singles and Doubles)
- MRMP2(Multireference Second-order Møller-Plesset Perturbation Theory)
系の大きさや見たい現象、用いる基底関数によって適した方法は変わり、大きな分子の場合、計算が終わらないことも多々あります。まずは低コストな手法で計算して全体にかかるリソースを見積もることも大切です。
GAMESSを用いた一連の計算は、平尾公彦監修・武次徹也編「すぐできる量子化学計算ビギナーズマニュアル」に詳しく記述されています。gaussianでの手続きも掲載されており、入門に適しています。
2.実行方法
今回はInput Examplesを用いるため、必要なキーワードや初期構造があらかじめ設定されています。計算を行うディレクトリに、inputファイルをコピーし、rungmsを利用して実行してください。実行場所はどこでも構いません。今回は、$HOMEの下にgamessというディレクトリを作って計算させることとします。
今回利用するのはexam41で、1コアで計算しています。
mkdir $HOME/gamess
cd $HOME/gamess
cp $HOME/share/gamess/tests/standard/exam41.inp .
rungms exam41.inp 00 1 > exam41.log &
exam41.inpに設定されているキーワードの意味については、GAMESSのインストールフォルダにあるdocs-input.txtや公式のヘルプ、先の書籍などを参照してください。
結果はともあれ、プログラムが正常に終了した場合は、ログの終盤に「NORMALLY」「exited gracefully」といった単語が出力されます。「ABNORMALLY」と出ている場合は、言葉の通り異常終了しています。間違ったinputで読み込めなかった、計算が収束しなかった、あるいは計算が出来なかったなどの理由があげられます。また、同じ名前の以前の計算結果が$HOME/scr ディレクトリに残っていると必ず強制終了するので、削除してから実行してください。
3.実行結果
GAMESSのInput Examplesには正しく計算が終了した場合の結果が併記されているため、インストールとセットアップが正常に行われているか、確認することができます。今回のexam41.inpには、次の一酸化炭素の励起状態について、3パターンの計算結果が載せられてます。
- gas phaseの場合
- Tamm/Dancoff近似を使った場合
- 水の溶媒和近似を使った場合
今回は真空中の一酸化炭素の結果ですので、1と対応します。インプットファイル中の「Results for gas phase:」以降がそれらにあたります。
上から、基底状態の軌道エネルギー、第三励起状態までの励起エネルギーと遷移双極子モーメント、振動子強度を表の形にまとめたもの、ラムダ診断、第一励起状態のエネルギー勾配の平均二乗偏差が掲載されています。実際に計算したい系でも、これらの値を目的とすることが多いでしょう。
※ラムダ診断…励起状態の性質(局所、リュードベリ、分子内電荷移動)と電子励起エネルギー誤差の相関を示す値。詳しくは論文を参照してください。
実際のログでは、基底状態のエネルギーは「DENSITY CONVERGED」で検索すると出てきます。
筆者の環境では、17回の繰り返し計算ののちエネルギーは-113.1878149968 Hartree を得ており、計算例と一致していることがわかりました。この時、計算にかかった時間や、交換相関エネルギー、総電子数も合わせて出力されます。たとえば一酸化炭素では総電子数14ですが、13.99…のような数値で出力されます。
基底状態の計算が終わったのちに、TDDFTによる計算が始まります。
「SUMMARY OF TDDFT RESULTS」で検索すると、計算結果の要約部分に飛ぶことができます。
今回は、第一励起状態の励起エネルギーが8.474 eV、振動子強度が0.0936であることがわかりました。対称性は変換表などで各自対応をとる必要があります。ラムダ診断の値はサマリーには掲載されておらず、その前の「SINGLET EXCITATIONS」にそれぞれ記述されています。
その後、グラジエントの計算結果に移ります。「GRADIENT OF THE ENERGY」で検索すると、最大勾配と勾配の平均二乗偏差(RMS)の値が並んでいます。今回はRMSが 0.112201612 Hartree/Bohrでした。例えばこの値が大きければ、基底状態と第一励起状態のポテンシャルエネルギー曲面に差が大きいことがわかります。今回はこの値が非常に大きいため、第一励起状態構造は計算に用いた構造から乖離したかたちをとることが推察できます。
4.終わりに
手元にAvogadroやWinmostarなどの分子モデリングソフトがある場合は、入力においても結果解析においても、利用すると大変簡便になります。GAMESSはgaussianに比べるとインプットが複雑でエラーが起こりやすいため、各種プリポストプロセッサを利用することを強く勧めます。今回の記事はGAMESS単体の内容にするため使いませんでしたが、これらのソフトは分子軌道の描画や軌道エネルギー図などの結果の可視化にも便利です。使いやすさで選んで大丈夫です。
既知の分子構造の場合は、構造情報を入手して変換する方法をとることが多いでしょう。なるべくプリプロセッサに頼らないようにするならば、pubchemからsdfファイルなどを入手し、openbabelでGAMESS inputファイルに変換する等の方法が考えられます。モデリングする際は各ソフトウェアの使い方に従って作成してください。