VASP(Vienna Ab-initio Simulation Package)是进行电子结构计算以及分子动力学模拟等软件包。
VASP安装需要的软件
本文未使用其他教程推荐的安装openmpi,GotoBLAS2,ATLAS等数学库,intel编译器的MKL(核心数学库)中均含有相关库。因此,本文主要使用intel的核心数学库,相应的编译器配置选择intel编译器。数学库以及对应的编译器设置最好一致,不然安装过程会报各种未知错误。
下载intel编译器。从intel官网注册帐号,使用邮箱申请序列号以及license文件。在安装之前必须准备好有效的License文件,安装过程需要用到。
解压安装包 -进入该文件夹–安装
tar -zxvf parallel_studio_xe_2015.tgz cd parallel_studio_xe_2015 ./install.sh |
接下来进入安装,使用默认选项即可,中间会询问你证书文件在什么位置
Please type the full path to your license file :
intel编译器会默认安装在/opt/intel/目录下。安装完成后需要添加PATH到环境变量中。
vim ~/.bashrc ,修改单个用户,插入以下代码:
source /opt/intel/composer_xe_2015.0.090/bin/compilervars.sh intel64 source /opt/intel/composer_xe_2015.0.090/bin/iccvars.sh intel64 source /opt/intel/composer_xe_2015.0.090/bin/ifortvars.sh intel64 source /opt/intel/composer_xe_2015.0.090/mkl/bin/mklvars.sh intel64 source /opt/intel/impi/5.0.1.035/bin64/mpivars.sh |
要根据自己安装的intel编译器版本号和安装目录,找到上述四个文件对应的位置,添加载~/.bashrc 文件中。添加完成后,执行一遍该命令:
source ~/.bashrc |
接下来使用如下命令检查是否添加成功。
which icc ifort icpc mpiifort |
本教程没有使用intel编译器自带的fftw,下载fftw软件,官网下载http://www.fftw.org/。
同样先进行解压–进入该文件夹–编译
tar -xzvf fftw-3.3.7.tar.gz cd fftw-3.3.7 |
接下来需要配置-编译。可以依据./configure -help查看信息,添加一些参数优化编译的目录。
所需要的优化有:安装目录的选择,是否编译mpi并行版本,以及指定何种编译器。以下是通过./configure -help选项查看的参数优化语法:
安装目录
–prefix=PREFIX install architecture-independent files in PREFIX
[/usr/local]
是否编译mpi版本的fftw库,本文使用编译并行版本的fftw。
–enable-mpi compile FFTW MPI library
还有指定的编译器以及部分编译参数,如下:
CC C compiler command
CFLAGS C compiler flags
LIBS libraries to pass to the linker, e.g. -l
CPP C preprocessor
MPICC MPI C compiler command
F77 Fortran 77 compiler command
FFLAGS Fortran 77 compiler flags
默认是使用GNU编译器。为了使用intel编译器,我们需要指定:CC =icc F77=ifort。剩余相关的参数通常保持默认即可。于是最终的配置可以写成:
./configure –prefix=/opt/fftw/ CC=icc F77=ifort MPICC=mpiicc –enable-mpi make make install |
参考:FFTW安装说明
下载并解压VASP软件,得到vasp.5.lib和vasp.5.4.1文件夹。不同版本的vasp名称会有所不同。
vasp安装的重点是makefile文件的配置:
cd vasp.5.4.1 cp arch/makefile.include.linux_intel makefile.include |
编译器的配置,找到变量FC和FCL。为了保证数学库跟调用的编译器一致,我们在这里需要设置fortran编译器使用intel的编译器mpiifort。
FC = mpiifort FCL = mpiifort -mkl |
数学库的配置。我们使用intel的mpi,所以在变量中设置了mkl_blacs_intelmpi_lp64。如果使用openmpi,则根据安装设置相应的链接数学库
MKL_PATH = /opt/intel/mkl/lib/intel64 BLAS =-L$(MKL_PATH) -lmkl_intel_lp64 -lmkl_sequential -lmkl_core -lpthread -lmkl_blacs_intelmpi_lp64 -lmkl_scalapack_lp64 LAPACK = BLACS = SCALAPACK = |
fftw的配置。根据自己安装目录找到对应的文件位置。
OBJECTS = fftmpiw.o fftmpi_map.o fftw3d.o fft3dlib.o \ /opt/fftw/lib/libfftw3_mpi.a INCS =-I/opt/fftw/include |
编译make all。成功编译后会在bin文件夹中生成三个可执行文件,对应gamma版本的vasp,标准版本的vasp和非线性版本的vasp。
vasp_gam vasp_ncl vasp_std |
把VASP添加到环境变量中后,才可以直接通过命令vasp运行。接下来需要添加环境变量
vim ~/.bashrc |
在该文加中添加如下命令:PATH根据自己的安装情况填写文件目录,以下是使用标准版本的vasp
PATH=/home/xinming/vasp/vasp.5.4.1/build/std:$PATH |
添加完成后
source ~/.bashrc |
参考:http://bbs.keinsci.com/thread-4267-1-1.html
使用vasp计算,首先准备好四个输入文件:POSCAR,POTCAR,KPOINTS,INCAR。将这四个输入文件放在一个文件夹中。在文件目录下使用命令:
vasp
这四个文件已经告诉vasp如何去计算,添加完环境变量后使用vasp命令,直接运行了程序
由于一般研究中用到的计算体系都比较大,更倾向于使用并行计算。上述也是在个人笔记本中安装了并行版本的vasp程序。同样进入工作目录,使用命令:
mpirun -np 4 vasp
命令参数-np表示使用四个节点。运行过程中是使用top命令检查处理器进程状态,看vasp是否成功运行。运行后的输出文件还在该工作目录下。