Quantum ESPRESSOでSCFが収束しないときの対処法

QE

SCF計算が収束しないとき用のメモ書きです。

金属ならsmearingを指定する

&SYSTEMの中でoccupations=”smearing“を指定します。絶縁体なら”fixed“を指定します。
occupations=”smearing”の場合はsmearingdegaussの指定も必要です。

occupations="smearing"
smearing="gaussian"
degauss=0.01

degaussが小さすぎると収束が遅くなることがありますが、大きすぎると精度が落ちます。

smearingは”gaussian“以外にも”mp“などもよく使われます。

<公式ドキュメント>
occupations https://www.quantum-espresso.org/Doc/INPUT_PW.html#idm362
smearing https://www.quantum-espresso.org/Doc/INPUT_PW.html#idm404
degauss https://www.quantum-espresso.org/Doc/INPUT_PW.html#idm401

mixing_betaを小さくする

全エネルギーが振動していて、iterationが何十回回っても収束しない場合はmixing_betaを確認します。mixing_betaは新しい電荷密度と前回の電荷密度を混合する際の混合比です。0から1の間で指定し、0に近いほど前回の電荷密度の割合が大きくなります。mixing_betaに0.2や0.1など小さい値を指定することで電荷密度の更新がゆっくりになり、時間はかかりますが収束に向かいやすくなります。

<公式ドキュメント>
mixing_beta https://www.quantum-espresso.org/Doc/INPUT_PW.html#idm839

diagonalizationをdavidからcgにする

&ELECTRONS内で指定する対角化オプションで、デフォルトでは”david”が設定されています。”cg”を設定すると、時間はかかりますが安定して収束させられる場合があります。

<公式ドキュメント>
diagonalization https://www.quantum-espresso.org/Doc/INPUT_PW.html#idm848

conv_thrを大きくする

&ELECTRONS内で指定するSCFの収束閾値です。デフォルトでは 1e-6 が設定されています。高精度な計算では1e-8を指定することもありますが、目的によってはデフォルト値に戻すことや、それより大きい値にすることもあるかもしれません。

<公式ドキュメント>
conv_thr https://www.quantum-espresso.org/Doc/INPUT_PW.html#idm814

コメント

タイトルとURLをコピーしました