VASP+Wannier90编译计算紧束缚能带
最近在学习利用Wannier90结合VASP来做计算,这里先整理一下如何把VASP与Wannier90进行接口,在利用Vaspwiki上的一个例子来测试一下编译好的VASP如何得到紧束缚模型的一些数据.
这里所有的过程都是参照一文搞定VASP+wannier90构建紧束缚模型这篇文章中提供的方法进行的. 这里要强调的事情是, 这个方法只是VASP5.4.4与Wannier90-2.1这个版本进行接口编译的方法, 对其他的版本可能并不适用.
Wannier90安装
tar -zxvf wannier90-2.1.0.tar.gz #首先,解压安装包
cd wannier90-2.1.0/ # 其次,进入文件夹
cp config/make.inc.ifort make.inc # 然后,准备编译文件(这里老王用的是ifort,注意要检查ifort和mpiifort执行命令)
make # 接着,编译
完成后,编译库,得到libwannier.a文件
make lib
这个得到的链接文件,在之后VASP进行编译的时候需要使用,编译完成后如下图所示
VASP编译
首先拷贝VASP2WAN90_v2_fix接口文件中的mlwf.patch 到VASP代码Src目录上一级目录下
然后执行如下命令
patch -p0 < mlwf.patch
接着在VASP makefile.include 文件中加入下面两行,注意路径
从路径下面复制编译执行文件,我这里选择的时intel编译器
cp arch/makefile.include.linux_intel
最后编译即可
make all
这里再bin目录下其实应该是vasp_std, 我这里自己修改为了ab.
Si计算实例
这里我是学习了Vaspwiki上的Bandstructure of Si in GW (VASP2WANNIER90))这个实例, 具体的计算过程可以参考网上的过程, 我这里就只是提供一下我自己的计算结果
完整的计算过程可以点击这里下载
鉴于该网站分享的大都是学习笔记,作者水平有限,若发现有问题可以发邮件给我
- yxliphy@gmail.com
也非常欢迎喜欢分享的小伙伴投稿