DFT 計算を行う上で最も重要なことの一つに汎関数の選択があります。この選択次第で結果が全く意味の無いものになってしまうこともあります。
B3LYP しか知らないという方も多いと思いますが、Gaussian には B3LYP 以外にも 72 個の汎関数が実装されています。
汎関数の一覧をみたい方は、以下の汎関数データベースをご覧ください。
低分子有機化合物の反応なら B3LYP/6-31G(d) を第一選択にしておけば、無難ですが、きちんとした論文にしたいのであれば、最適な汎関数で計算するべきです。
これだけ多くの汎関数の中から、どのような基準で、どの汎関数を選べ良いのか?今回の記事では、汎関数の選び方について解説していきます。
目次
先行研究に従う
一般的には、先行研究に従うのが無難です。有機化学系の研究者ならば、自分の行なっている反応と同様の反応の計算例や、同様の構造をした化合物の計算例が載っている論文を探してみましょう。
Method 欄に “this level of theory is widely used for this reaction” とでも書いて先行研究の論文を引用しておけば、まず文句言われることはありません。
ちなみに、汎関数の選択は、反応の種類や分子の構造に依存します。
例えば、Diels-Alder 反応の計算をするのであれば、多少分子の構造が違っても構わないので、Diels-Alder 反応の計算の論文を探しましょう!
反応機構解析ではなく、単なる構造最適化や物性値の計算などであれば、同様の構造の化合物の計算の論文を探しましょう!
ベンチマークを参照する
ACS の刊行している Journal of chemical theories and computation (JCTC) という雑誌に定期的にベンチマークの論文が投稿されています。
ベンチマーク論文とは、ある特定の反応に対し複数の汎関数・基底関数の組み合わせで計算を行い、どの程度実験値と誤差が出るかという結果をまとめたデータベース的な論文です。
ベンチマーク論文を読むことにより、それぞれの汎関数の特性を大まかにつかむことが出来ます。例えば、この汎関数は水素移動反応に弱いとか、この汎関数は水素結合などの弱い相互作用を見積もることができない、この汎関数はエンタルピーの増大の大きい反応に適していない、などです。
参考: 【Enthalpy】B3LYP での計算誤差について【Underestimation】
大抵の場合ベンチマーク論文は、ある特定の反応や物性に着目しています。例えば、C–H activation や双極子モーメントなどです。
参考: Rh/Ru を用いた σ-bond activation に適した汎関数!
参考: DFT 計算での双極子モーメントの正確性【ベンチマーク】
実験値と比較
自分でベンチマークを取るというのもよく行われている手法です。
反応遷移状態探索の計算であれば、実際の実験結果と計算結果が一致するかで汎関数を絞り込んでいくことが出来ます。
例えば、室温で進行する反応なのに非常に高い活性化エネルギーが計算結果として得られるとしたら、その汎関数は不適当なのかもしれません。
ただし、実験値と比較するためには、当然、正確で定量的な実験データが必要となります。
結晶構造と比較する
構造最適化の計算を行うだけなのであれば、X 線結晶構造と比較するのも一つの手です。
複数の汎関数で構造最適化した構造と結晶構造の角度や結合距離などを比較することにより、汎関数の妥当性を確かめられるかもしれません。
しかし、気相中の計算結果と結晶構造は、完全には一致しません。また、構造最適化に最適な汎関数 と 反応エネルギーや物性値が正確に計算できる汎関数は異なる場合が多々あります。
しかし、なぜかこの手法で反応計算に使う汎関数を決めている論文も多数あります。。。
UV, NMR などのスペクトルと比較
光学活性化合物を扱っているのであれば、UV スペクトルの計算値と実測値を比較し、最も誤差の小さいものを最適な汎関数として選ぶのも一つの手です。
Which functional should I chose?
Which functional should I chose? という本が出版されているので、それを参考にする。
もし記事中に間違い等ありましたら、コメント欄やメールにてご指摘いただければ幸いです。
関連する記事
- B3LYP
- 基底関数の選び方
- アクセル・ベッケ Axel D. Becke
- スーパーコンピューターとデスクトップの違い【DFT計算】
- JACS の Editor Reject を一単語で表現する
- M06 / M06-2X
- revM06-L が発表されました
- B97, wB97 系汎関数【ωB97X-D など】
- Minnesota 汎関数はどれくらい正確なのか?
- mPW1PW91
- 【Enthalpy】B3LYP での計算誤差について【Underestimation】
- HCTH 汎関数
- B88 交換汎関数
- PBE0 混成汎関数