初心者に多いのですが、SCFの繰り返し計算と構造最適化の繰り返し計算を混同していることがよくあります。
SCF計算と構造最適化の収束エラーでは、その対処法が異なるのでこれら違いをきちんと理解しておくことが必要です。
sc0

1) まずは、計算の流れを知ろう

量子化学計算ソフトでは、以下のような流れで構造最適化計算を行います。ここでは、GAMESS(Firefly, US)のキーワードを用いて説明していきます。

初期構造の読込み (Inputファイルより)

電子状態計算 (SCF計算) ※回数(閾値)指定: MAXIT(NCONV)

構造最適化計算 ※回数(閾値)指定: NSTEP(OPTTOL)

物性値計算 (電荷、双極子モーメントなど)


2) SCF計算は何をしているの?

SCF計算は②の電子状態計算で行われます。分子軌道計算は、ある核配置についての電子状態がわからない限り次の計算には進めません。つまり、②の計算が終了しないと③の構造最適化計算や④の物性値計算には進めないのです。構造最適化以外の計算でも必ず電子状態計算は行われます。
SCF計算では、まず一電子近似で分子軌道を求めます。これは近似値ですので、実際のエネルギー値より大きくなるはずです。そこから、エネルギーが下がるように徐々に分子軌道を変化させ、もうこれ以上エネルギーが下がらないというところが実際の値に等しいと考えて計算結果を出力させます(厳密には、Roothaan方程式(ローターン方程式)という式の解である分子軌道をSCF計算しています)。

sc5
Inputファイル(上図)では、SCF計算の繰り返し回数を「MAXIT」で、”もうこれ以上エネルギーが下がらない”という閾値を「NCONV」で指定しています(NCONV=5は1.0D-5hartree/bohr以下を意味します)。

SCF計算の出力は、Outputファイルをテキストエディッタで開き”SCF CALCULATION”でキーワード検索してください。繰り返し計算のエネルギー差(E CHANGE), 密度変化(DENSITY CHANGE)が徐々に小さくなっていることがわかります。全エネルギーの収束値は”FINAL ENERGY IS”に出力されています(下図)。
sc2
MAXITで指定した回数で電子状態が求まらなかった場合は、もちろん次の工程③や④へは進めないので“SCF HAS NOT CONVERGED”というエラーメッセージとともにGAMESSSが異常終了します(下図)。
sc1

3) 構造最適化計算は何をしているの?

②の電子状態計算 (SCF計算)が正常に終了したら、③の構造最適化計算へ進みます。
構造最適化計算では②の電子状態計算で得られた初期構造のエネルギーを起点とし、徐々にエネルギーが緩和するように原子を変位させて新しい構造を生成するという手続きを繰り返し、もうこれ以上エネルギーが下がらないというところが実際の値に等しいと考えて計算結果を出力させます(厳密には、変位させた構造に対して原子核座標に対するエネルギー微分を繰り返し計算しています)。
sc5
Inputファイル(上図)では、”エネルギーが緩和するように原子を変位させて新しい構造を生成する”という一連の繰返し回数を「NSTEP」で、”もうこれ以上エネルギーが下がらない”という閾値を「OPTTOL」で指定しています。

つまり、SCF計算では「最も安定なエネルギーを与えるような分子軌道」を求めているのに対して、構造最適化は「最も安定なエネルギーを与えるような分子構造」を求めているというのが大きな違いです。
 

4) NSTEPの上限に達してもエラーは出ない!!

SCF計算ではエネルギーが収束しなかった場合、エラーメッセージが出力されることをすでに述べました。一方、構造最適化計算ではNSTEPで指定した繰り返し回数に達した時点で次の④物性値計算へ進み、Outputファイルにエラーメッセージは出力されません
sc3
例えば、上図のようにエネルギー勾配の閾値(MAXIMUM GRADIENT)がInputファイルの指定値以上であるにも関わらず、Outputファイルの最後の行は“TERMINATED NORMALLY”とプログラムが正常に終了したメッセージが表示されているのがわかります。
SCF計算では、目的である構造最適化までたどり着けなかったのでエラーを出力しますが、構造最適化計算では指定した繰り返し回数まで計算した訳ですから、プログラムはそれをエラーだと認識しません。
つまり、ありえない構造であってもSCFが収束する限り解が求まってしまいますので特に注意が必要です。以前の記事で書きましたが、Outputファイルから”LOCATED”でキーワード検索し、エネルギー勾配の閾値以下になっていることを必ず確認することが重要です。

 

5) おわりに

今回は、SCFの繰り返し計算と構造最適化の繰り返し計算の違いについて述べました。SCF計算は、計算の目的を問わず常に行われることと、最も安定なエネルギーを与えるような分子軌道を求めていることを述べました。対して、構造最適化は、電子状態計算の後に構造最適化計算を指定したときだけに行われることと、最も安定なエネルギーを与えるような分子構造を求めていることを述べました。
いずれも結果が収束しない場合、SCF計算ではMAXITを、構造最適化ではNSTEPの回数を増やすのがとりあえずの対処法です。しかし、それだけではどうしても改善しない場合がしばしばあります。その場合の改善方法については、今後詳しく説明していきますので安心してください。

【関連記事】
構造最適化について知ろう  
SCF計算が収束しないときの対処法