WannierTools 编译

 

前言

WannierTool官方网站:http://www.wanniertools.com/

WannierTool的Github:https://github.com/quanshengwu/wannier_tools.git

ARPACK官方网站:https://www.caam.rice.edu/software/ARPACK/

这里使用的是ARPACK(非P_ARPCAK、非ARPACK++)

系统环境:BUAA-HPC,CentOS

编译环境:intel/18.0.3.222(其实就是MKL)

编译ARPACK

下载下面画红线的两个文件:

下载ARPACK

这里可以直接右键复制链接,然后在高算中使用wget命令下载:

wget https://www.caam.rice.edu/software/ARPACK/SRC/arpack96.tar.gz
wget https://www.caam.rice.edu/software/ARPACK/SRC/patch.tar.gz

下载之后分别解压这两个文件,它们会默认解压到同一个文件夹中:

tar -zxvf arpack96.tar.gz
tar -zxvf patch.tar.gz

这里我们需要根据自己的情况修改一下ARmake.inc文件:

vim ARmake.inc

这里有三处需要酌情修改,第一处就是home变量:

第一处修改:home变量

这里默认你把ARPACK解压到了用户目录($(HOME),即“~”目录)下,这里需要修改一下路径,比如我的home目录是/gs/home/maohy,我把文件解压在home目录的APP文件夹下,就需要把上面的home目录里加一个APP/。

我解压文件的路径

第二处修改是平台标记,其实我并没有看出来这个参数对编译出来的文件除了文件名之外有什么影响,不过wanniertool中引用的标记是MAC,所以我们这里把SUN4改为MAC。

第二处修改:平台标记

当然你想要修改成其他平台也可以,比如LINUX或者什么的,只要在后面wanniertool编译时对应上就可以。

这里会影响编译出来的文件名(但是文件大小完全相同),比如:

后缀不同的生成文件

这里我其实是尝试修改配置进行了两次编译,大家只要编译出来一份就可以了。

第三处就是根据我们的编译平台进行一些调整:

修改一下编译器

这个地方默认的是f77,但是这台高算报错提示找不到f77命令。经过百度发现f77实际上就是gfortran编译器,那么我们直接把f77改成ifort就可以了。

修改之后保存文件,直接make编译就好。

make all

这里可能会有警告,说是'-cg89'选项无效,这里似乎并不会对编译结果产生影响。

编译得到libarpack_MAC.a文件

用pwd看一下当前路径,复制下来待会儿要用。

编译wannier_tool

wannier_tool的源文件可以直接使用git命令下载:

git clone https://github.com/quanshengwu/wannier_tools.git

下载完成之后,进入src文件夹中,这个文件夹下有很多Makefile文件,我们需要使用的是Makefile.intel-mpi:

cd wannnier_tools/src
cp Makefile.intel-mpi Makefile

对Makefile文件进行修改:

需要修改的变量

画红线部分修改为刚才我们通过pwd命令得到的路径。后面的.a文件根据自己的刚才设置的PLAT进行填写,如果刚才已经修改为MAC,那么这里就不需要动了。

保存文件,然后直接在src文件夹中make即可:

make

这里也会出warning,但是也木有什么影响的样子。

编译结束后,会在src文件夹和bin文件夹下各生成一个wt.x可执行文件,我们下一步把bin文件夹下的wt.x添加到环境变量里。

首先在bin目录下用pwd命令查看完整路径:

查看bin目录的路径

然后修改用户的.bashrc:

vim ~/.bashrc
修改.bashrc文件

在文件里添加一行:

export PATH=(上一步用pwd命令得到的路径):$PATH

然后保存退出,用source命令使环境变量生效:

source .bashrc

之后提交一个任务测试一下,看到以下图片基本上就说明成功了:

成功
1000000