Wannier90
Wannier関数を計算するコード/ライブラリ
Wannier90
Quantum ESPRESSO, Abinit, VASP, Siesta, Wien2k, Fleur, OpenMX and GPAW等で評価したLPPの重なり $M_{b\mathbf{k}}^{b'\mathbf{k}'}=\left\langle \left .u_{b\mathbf{k}} \right| u_{b'\mathbf{k}'} \right\rangle$ からWannier関数を構成できる。
動的ライブラリをインストールする
wannier90 v3.1.0を例に動的ライブラリをインストールするための、手続きをフォローする。
$(wannier_root)
に移動して、cp ./config/make.inc.gfort.dynlib ./make.inc
でGNU makeのインクルードファイルを準備する。
他にmake.inc.gfort
もあるが、こちらは静的ライブラリしか作ってくれない。make.inc.gfort.dynlib
はgfortranのコンパイルオプションに-fPIC
がついているのがポイント。
intel fortranを使う場合は、make.inc.ifort
をベースにFOPTS
に-shared -fpic
を追加することで、動的ライブラリlibwannier.so
が作られる。
make
, make lib
, make dynlib
で、それぞれ実行ファイル(postw90.x, wannier90.x
)、静的ライブラリ(libwannier.a
)、動的ライブラリ(libwannier.so
)が$(wannier_root)
に出来る。
ここで、出来たライブラリの名前はlibwannier90.a, libwannier90.soではないことに注意。
make install PREFIX=/home/user/opt/wannier90-3.1.0
で、PREFIX
に指定したディレクトリ下に、${PREFIX}/bin/postw90.x, ${PREFIX}/bin/wannier90.x
と${PREFIX}/lib/libwannier.a
がコピーされる。この時、${PREFIX}/lib/libwannier.so
は生成されていないことに注意が必要。
後々の目的(abinitへのリンク Abinitビルドの備忘録 - Qiita)の為に、まず、libwannier.so
も、${PREFIX}/lib
にコピーする。abinitから呼び出す際のライブラリ名の都合(なんと、二つのコードの間で、ライブラリ名の整合性がとれて解決できていないのだ)で、ln -s ${PREFIX}/lib/libwannier.so ${PREFIX}/lib/libwannier90.so
で、シンボリックリンクを作っておく。
使い方
使ったら書く