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で、シンボリックリンクを作っておく。
使い方
使ったら書く