#author("2020-12-21T12:37:43+00:00","default:hoge","hoge") #author("2020-12-21T12:38:26+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 ... など. +&ref(w2wso.sh);を実行する.2行目のcaseは適切に変更する. +mpirun wannier90 WORK +mpirun wannier90.x WORK なお,計算で最も重要なパラメーターはk点の数である. これを大きくすると急速に結果が良くなる. その他,[[基底の並べ方やk点のshiftも影響があるようだ.>wannier90の収束]]