SCF計算が収束しないとき用のメモ書きです。
金属ならsmearingを指定する
&SYSTEMの中でoccupations=”smearing“を指定します。絶縁体なら”fixed“を指定します。
occupations=”smearing”の場合はsmearingやdegaussの指定も必要です。
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
コメント