地域密着型エリア広告配信リクルートの地域密着型広告ドコイク?アドネットワーク Ads by ドコイク?[無料でホームページを作成] [通報・削除依頼]
[無料でホームページを作成] [通報・削除依頼]

WIEN2k memo

WIEN2kにおけるSCF計算高速化の研究
------------------------------------------------------------------------------
※ SOC + LDA+U の計算をより低コストで早く収束するようにすることは、Uをパラメーターとして試行錯誤するのに必須の技術である。現在、SOCまたはLDA+Uにおいては上手くいっているが、両者の組み合わせでは lapw2dmエラーなどのエラーが頻発する。幾つかの対策方法については左欄の「WIEN2k tips」に記載している。
※ 現在、最終的なDOSの形状が予測できる場合に、case.in1をどのように書き換えればよいかを模索している。この問題を解決できれば、論文を参照したりUPSの結果を用いて物理を議論する範囲が広くなると考えている。
※ Uを入れた場合には、UでEFから広がって軌道が分布すると思われるが、UとElの関係がいまいちつかめていない。

spin-polarized SCF -> SOC -> SOC + LDA+U
-----
1. Fast mode:
  spin-polarized calculation
  RKmax 4
  6 k-pint(対称性を考慮して実際には1 k-pointで計算できる最大のk点数に設定)
2. LDA+Uの準備をして、SOCの計算のためにinitso_lapwを行っておく。
 (価電子帯のDOSの形状の変化が小さいすぎるのでSOCでは p1/2のLOを入れない)
3. 再度同じ条件でFast mode: を実行
4. run SCF で計算
  Energy 0.001 Ry
---
5. SOC calculation
6. 26 k-point
7. SOC calculation
---
以上は成功だが、LDA+Uにするとエラーが出る。この対策法を模索中。
-
128 k-point
Prepare new input files で_soのデータを現在のものに移し変えてみた。
LDA+U calculation
どうにか動いている。ただし、2 h / 1 cycleと遅い。終わりも見えそうにない。
10 cycleで止めて、k点数を減らしてみる。
(initso_lapwのx kgen -soを用いて)124 k(=4x4x4) で計算してみる。 1 h / 1 cycle となった。これでもまだ終わりが見えそうにない。2 cycleで止めた。
(initso_lapwのx kgen -soを用いて)63 k(=3x3x3)で計算してみる。30 m / 1 cycle となった。これでもまだ終わりが見えそうにない。3 cycleで止めた。
(initso_lapwのx kgen -soを用いて)26 k(=2x2x2)で計算してみる。エラーが出たので63 kに戻すもエラーで止まる。124 kにして計算するがエラーで停止。
63 k でSOCで計算し直す。
7 kでSOCから再開するもエラーが発生。
Fast modeを行って6 kにてSOCから再開。
63 kでLDA+Uを行ったが失敗。
124 kでも失敗。
215 kでSOCから再開。
以上と同様のことを何度か繰り返すがだめ。
下記の抜本的な変更を行う。
case.inmのmixingを0.2 から 0.05に変更(SOCの収束後からあまり大きく電子構造を変えないようにした)。そして、in1_soにて、EFを基準に論文にある各軌道の真ん中の値を LOに入力する。失敗した。
下記の方法をトライ中
SCF -> mixing at case.inm, LO energy at case.in1 -> LDA+U -> Prepare new input files at initso_lapw -> LDA+U + SOC
-----
完全に新しいファイルで作り直す。
安定に動作するold schemeを行い、RKmax 4, 7 k-pointにてLDA+Uで計算する。2セットrun SCFを繰り返すも収束せず。その後、initso_lapwを行い、LDA+U + SOC計算を行う。
上記との違いは、SOCの計算範囲を -12から-9にしてしまったことがエラー要因のひとつか?
入力ファイルのcase.in1cをみるとYb の l = 1のLOが存在している。やはり、フェルミ準位付近(0.3 Ry)と-11 eV近傍(-1.85 Ry)の軌道の2つが必要であることを認識した。EFは0.41 eVとしてしていされている。
メモリ使用量は2.2 GBになっている。4 min / 1 cycle と早い。
7点は成功した。この後、更に試行錯誤が続くため、纏める。

■ LDA+U -> LDA+U + SOC (success、2.8GB)
----
1. GtructGenTM -> old scheme
2. initialize calc. -> fast mode -> spin polarized, RKmax 4, 7 k-point -> CHECK BATCH VALUES
3. case.inorb, case.indmc
4. run SCF -> Energy 0.001 -> start SCF cycle (LDA+U)
5. initso_lapw
6. start SCF cycle  (LDA+U + SOC)
7. x kgen
8. start SCF cycle  (LDA+U + SOC)
----
ここまでは成功。ここからcase.in1を下記のようにして編集したが失敗。
-----
x lstart -> -3.0 -> instgen_lapw -> x lstart
case.in1 -> RKmax 4
initso_lapw -> run SCF
-----

■ LDA+U -> LDA+U + SOC (2.9GB)
----
1. GtructGenTM -> old scheme
2. initialize calc. -> fast mode -> spin polarized, RKmax 4, 7 k-point -> CHECK BATCH VALUES
3. case.inorb, case.indmc, case.in1にて(7 k-pointで収束した値 でのEF 0.425とした) -> fast mode
4. run SCF -> Energy 0.01 -> start SCF cycle (LDA+U)
5. initso_lapw
6. start SCF cycle  (LDA+U + SOC)
7. x kgen
8. start SCF cycle  (LDA+U + SOC)
----

■ SOC -> LDA+U + SOC (2.9GB)
----
1. GtructGenTM -> old scheme
2. initialize calc. -> fast mode -> spin polarized, RKmax 4, 7 k-point -> CHECK BATCH VALUES
3. case.inorb, case.indmc, case.in1にて(7 k-pointで収束した値 でのEF 0.425とした) -> fast mode
4. run SCF -> Energy 0.01 -> start SCF cycle (non-SOC)
5. initso_lapw
6. run SCF -> Energy 0.01 -> start SCF cycle (non-SOC)
7. x kgen
8. start SCF cycle  (SOC)
9. start SCF cycle  (LDA+U + SOC)
急に計算でエラーが出るようになった。PCが悪いのか、何が悪いのか、よくわからない。
----

■ SOC -> LDA+U + SOC (2.9GB)
----
1. GtructGenTM -> old scheme
2. initialize calc. -> fast mode -> spin polarized, RKmax 4, 7 k-point -> CHECK BATCH VALUES
3. run SCF -> Energy 0.01 -> start SCF cycle  (non-SOC)
4. case.inorb, case.indmc, case.in1にて(7 k-pointで収束した値 でのEF 0.425とした) -> fast mode
5. initso_lapw
6. start SCF cycle  (SOC)
7. x kgen
8. start SCF cycle  (LDA+U + SOC)
----
これら全て収束したが、Cd6YbのDOSにおいて Cd 5d のピークがブロードになっていて明確に二つに分かれていない。構造によるものか収束のさせ方が悪いなどの理由が考えられる。特に、LDA+Uは収束のさせかたで結果が変わると聞くので、正しい方向に収束できるような条件をまだまだ探さなけれいけなそうである。やっと論文を書く目途がつきそうだというのに残念。あと少し……。最悪の場合はクラスターPCでも作るか?

-----
Yb は SCFのみでLDA+Uを行うとエラー。
LDA+Uで計算を行うと動く。RMTはold schemeにしてある。
in1cが存在する場合は、indmだけでなく、indmcも編集が必要。
SOを入れた場合には、inorb_soだけでなく、inorbも編集が必要。
Yb 4f は 1.2 eVと論文に書かれている。そうすると Uは0.42 Ry程度となった。
Uの値を変えても問題句無く収束してくれるので、
論文で報告されているUPSの結果と重なるようにする心算である。

Yb 4f, Uの値 (SIC)
Yb metal: 0.42 Ry、非磁性の結果が得られた。
YbAl3: 0 Ry または 負の値(U = -0.41 Ry)にしないと実験と合わない。負のUの場合、超伝導体となる可能性がある。この物質は 0.94 Kで超伝導になるらしい。非磁性の結果が得られた。
Yb4As3: 0.08 Ry、これ以上値を大きくしていくとピークが分裂してしまう。どう対処すればいいか?
Yb4Sb3: 最初に 0.075 RyとしてSOC+LDA+Uをすると、ピークが2つに分裂する。少しずつUを変えたほうがよいのかもしれない。0.06 Ry
Yb4Bi3: 0.055 Ry、これ以上値を大きくしていくとピークが分裂してしまう。
Cd6Yb: 0.2279 Ry、非磁性の結果が報告されている。
※ ピーク形状が汚い(スパイク構造が見えたり、ショルダーや別のピークが出たりする)のはk点数が足りないからだと思う。小さな系ではなんとかなるが、大きな系では対処できない。
Yb4As3, Yb4Sb3, Yb4Bi3 は、実験的にはピーク位置がEFに近くなっていく。


アクセス数
ページビュー数