#author("2020-12-16T16:25:41+00:00","default:hoge","hoge") [[wien2wannier:https://wien2wannier.github.io/]]~ [[コンピュータ関係の雑多な記録:http://www2.yukawa.kyoto-u.ac.jp/~koudai.sugimoto/dokuwiki/doku.php?id=wien2k:wien2wannier:%E3%82%AF%E3%82%A4%E3%83%83%E3%82%AF%E3%82%B9%E3%82%BF%E3%83%BC%E3%83%88]] user guide があまり丁寧ではなく,スピン軌道結合(SOC)がある場合の説明が正しくないように見えるのでメモ.ただし,バージョンによって仕様がかなり異なるようである.ここではv.2.0.0を扱っている.また,常磁性の場合のみを取り上げる.フィッティングするバンドは,スピン自由度を含めて2N枚. ***準備 [#q86fafb4] -write_inwfの最初の行を #!/usr/bin/env python2.7 としておく. -ulimit -s unlimited --w2wの計算の最後でスタックサイズが巨大になるので,unlimitedにしておかないとsegmentation faultすることがある.~/.bashrcに書いておくのが良いだろう. -並列化するなら.machinesファイルを用意しておく.以下,並列化を仮定(オプション-p). -$WIENROOT/SRC_templates/case.win内の変数hr_plotをwrite_hrと書き換えておく(最新版のwannier90の仕様に合わせる). ***実行 [#x852fbb0] +prepare_w2wdir WORK で作業ディレクトリWORKをつくる. +cd WORK +init_w2w -so ++基底軌道は2N個指定することになる.スピン↑と↓で同じ軌道を採るのが自然であろう.1:s;s 2:p;p ... など. +x lapw1 -p +x lapwso -p +x w2w -so -up -p +x w2w -so -dn -p +x wannier90 -so ***spin-polarizedの場合 [#aa2ec79d] +init_w2w +x lapw1 -up -p +x lapw1 -dn -p +x lapwso -up -p +x w2w -so -up -p +x w2w -so -dn -p +x wannier90 -so なお,計算で最も重要なパラメーターはk点の数である. これを大きくすると急速に結果が良くなる. その他,[[基底の並べ方やk点のshiftも影響があるようだ.>wannier90の収束]]