====== 概要 ======
* バンド計算では電子相関の効果が無視されるため、一般にバンドギャップを過小評価してしまいます
* 相関の効果を取り入れることができ、計算コストがもっとも安いのが、軌道ポテンシャルを手で入れる方法です
* 特にd電子系やf電子系といった局在が強い系に対して有効です。
* 組み合わせる手法によってLDA+U法、あるいはGGA+U法とも呼ばれます
* 非磁性体の場合を解説します。反強磁性体の場合は[[WIEN2k:反強磁性]]を参照してください
====== 計算方法 ======
- 事前にSCF計算を行います。収束は粗めで構いません。このときスピン分極を許した計算にします
$ instgen_lapw -ask # 全部 n (non-magnetic) にする
$ init_lapw -b -numk 1000 -rkmax 8.5 -sp
$ runsp_c_lapw -i 100 -p
* runsp_c_lapw はSCF計算において各原子の磁気モーメントがゼロになるように制限します
* プログラム上は軌道ポテンシャルを入れない runsp_c_lapw 計算はスキップできますが、予期せぬ状態に収束してしまうことがあります。必ず軌道ポテンシャルなしの計算を最初にしてください
- 軌道ポテンシャルの設定ファイルを作成します
$ init_orb_lapw -orb
You have the following atoms:
1 : Ni1
2 : Ni2
3 : O
3 : O
Enter the name, l, U(Ry) and J of the Atoms (eg. Fe 2 0.3 0.0; exit with RETURN):Ni 2 0.88 0
Enter the name, l, U(Ry) and J of the Atoms (eg. Fe 2 0.3 0.0; exit with RETURN):
- 入力ファイルが表示されるので、正しく設定されたか確認します
* NiO.indm
* 2行目: +Uを入れる原子の数
* 3,4行: +Uを入れる原子のインデックス(NiO.structで確認。Ni1の場合は1、Ni2の場合は2になっているはず)、+Uをいれる軌道の数(今回はd軌道の1つ)、+Uを入れる軌道の種類(d軌道ならl=2)
* 5行目: LDA+Uは 0 0 で固定。詳しくはUser's Guideの7.10節
-12.0 Emin cutoff
2 number of atoms
1 1 2 index of atom, number of l, l
2 1 2 index of atom, number of l, l
0 0 r-index,(l,s) index
* NiO.inorb
* 1行目: nmodはLDA+U計算なら1、natorbは+Uする原子の数、 iprは1にすれば出力がより詳細になる
* 2行目: 変更不可
* 3, 4行目: iatomは+Uを入れる原子のインデックス、nlorbはその原子で+Uを入れる軌道の数、lorbはその軌道の軌道角運動量(今の場合はd電子なのでl=2)
* 5行目: ポテンシャルの入れ方。詳しくはUser's guideの7.4節参照
* AMF(0) ... 金属などの弱相関系に使用。
* SIC(1) ... モット絶縁体などの強相関電子系に使用。
* HMF(2) ... 平均場的にハバードUを入れる。現在は非推奨。
* 6, 7行目: クーロン相互作用Uの値とフント結合Jの値。単位はRyなので注意
1 2 0 nmod, natorb, ipt
PRATT 1.0
1 1 2 index of atom, number of l, l
2 1 2 index of atom, number of l, l
1 nsic 0..AMF, 1..SIC, 2..HFM
0.44 0 U J (Ry)
0.44 0 U J (Ry)
* https://wien.zeus.theochem.tuwien.ac.narkive.com/dV0E1fCH/how-to-include-d-and-f-states-in-calculation
- ブロイデン法の履歴を削除して(削除しないままSCF計算を実行してしまうとファイルが壊れてしまうので注意)、オプション-orbをつけて実行します
$ rm *.broyd*
$ runsp_c_lapw -cc 0.0001 -ec 0.00001 -i 100 -orb -p
* 計算の収束の確認などでk点数を変更する場合は次のようにします
$ x_lapw kgen
$ runsp_c_lapw -cc 0.0001 -ec 0.00001 -i 100 -orb -p -NI
* 軌道ポテンシャルの大きさを変更するときは NiO.inorb を直接編集してください。
* 軌道ポテンシャルが入っている状態でSCFを再計算するときは、ブロイデン法の履歴を削除しないでください。
* 軌道ポテンシャルをいれる軌道の種類は途中で変更できないので、変更したい場合は最初から(init_lapwから)やり直してください。
スピン分極を許しているので x_lapw を使う場合は -up が必要です。
また x_lapw lapw1 および x_lapw lapwso を実行する際は、必ずオプション -orb をつけて実行してください。
$ x_lapw lapw1 -up -orb -p