====== 概要 ====== * バンド計算では電子相関の効果が無視されるため、一般にバンドギャップを過小評価してしまいます * 相関の効果を取り入れることができ、計算コストがもっとも安いのが、軌道ポテンシャルを手で入れる方法です * 特に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