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

ecutwfcを大きくする

&SYSTEM内で指定するecutwfc波動関数のカットオフエネルギーで、ecutrho電荷密度のカットオフエネルギーです。

ecutwfcが小さいと計算は速くなり大きいと遅くなりますが、これはそのまま計算精度に影響が出ます。例えば計算結果のtotal energyは、ecutwfcが大きくなるにつれて一定の値に収束していきます。一方で、このecutwfcが小さいとSCFの収束までのiterationが増加し、収束しないこともあります。大きい値にすると1回のiterationの計算時間が伸びますが、より確実に収束に向かってくれます。擬ポテンシャルファイル内に推奨値が書かれているのでそれを使うのがまずは良いと思います。擬ポテンシャルファイルの上のほうに

Suggested minimum cutoff for wavefunctions:  46. Ry
Suggested minimum cutoff for charge density: 221. Ry

のような形で書かれています。1つ目はecutwfc、2つ目がecutrhoです。推奨のminimumなのでこれより大きければOKです。複数の擬ポテンシャルファイルがある場合はその中で最も大きい値にします。

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

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をコピーしました