中国科学技术大学超级计算中心

关注
中国科学技术大学超级计算中心www.shan-machinery.com

VTST(Transition State Tools for VASP)是VASP的过渡态工具,可以免费获取:http://theory.cm.utexas.edu/vtsttools/index.html。里面还有VTST Scripts: vtstscripts.tgz,安装时不需要,使用时需要。

VASP及VTST安装无需root权限,普通用户即可安装。

解压缩VASP源码包: tar xvf vasp.5.4.1.tar.bz2解压缩后的目录为vasp.5.4.1。 进入vasp.5.4.1目录: cd vasp.5.4.1查看vasp.5.4.1目录下有何内容: ls -l输出类似: drwxr-xr-x 2 hmli nic4096 3月29 08:17 archdrwxr-xr-x 2 hmli nic4096 3月29 08:16 bindrwxr-xr-x 2 hmli nic4096 2月26 20:59 build-rw-r--r-- 1 hmli nic 371 9月30 11:51 makefile-rw-r--r-- 1 hmli nic 12263 9月30 11:51 READMEdrwxr-xr-x 4 hmli nic 20480 9月30 11:51 src查看说明: more README从说明中我们得知从5.4.1开始目录结构及编译方式变化为如下方式: vasp.X.X.X (root directory)| ---------------------------------------||| | arch bin buildsrc| ----------|| lib CUDA说明: vasp.X.X.X:解压缩后的根目录 arch:针对不同架构的Makefile模板,如里面含有makefile.include.linux_intel bin:编译后的可执行程序文件 build:编译时自动复制src目录内源码后执行编译的目录 src:源码目录 lib:库目录,对应以前的vasp.lib目录 CUDA:GPU CUDA代码目录 设置VTST: 下载: wget http://theory.cm.utexas.edu/code/vtstcode.tgz解压缩: tar xvf vtstcode.tgz之后会生成vtstcode-171目录,此目录内包含以下文件: bbm.Fbdr_changesbfgs.Fcg.Fchain.Fdimer.Fdynamic.Fdynmat.Ffire.Finstanton.Flanczos.Flbfgs.Fmkbdrpro.plneb.Fopt.Fqm.Fsd.Fvasp-5.3.2-main.patchvasp-5.3.2-mpmd.patchvasp-5.4.1-mpmd.patch根据官方安装说明http://theory.cm.utexas.edu/vtsttools/installation.html: 需要将这些文件复制到src目录中: 因为src目录下存在chain.F,建议先备份chain.F(可选): cp src/chain.F src/chain.F-org将vtstcode-171目录下文件复制到src下: cp vtstcode-171/* src/修改src/main.F源码:

将(第3233行)

CALL CHAIN_FORCE(T_INFO%NIONS,DYN%POSION,TOTEN,TIFOR, & LATT_CUR%A,LATT_CUR%B,IO%IU6)

变为(注意后两行):

CALL CHAIN_FORCE(T_INFO%NIONS,DYN%POSION,TOTEN,TIFOR, &TSIF,LATT_CUR%A,LATT_CUR%B,IO%IU6)! LATT_CUR%A,LATT_CUR%B,IO%IU6)修改编译配置src/.objects,在chain.o前(大概第67行)添加如下内容: bfgs.o dynmat.o instanton.o lbfgs.o sd.o cg.o dimer.o bbm.o \fire.o lanczos.o neb.o qm.o opt.o \注意\后不能有空格。 查看所用的编译器: which ifort输出类似: /opt/intel/composer_xe_2015.1.133/bin/intel64/ifort如显示不存在,那么可以类似下面设置下Intel编译器环境(具体路径与你所使用的系统有关): . /opt/intel/composer_xe_2015.1.133/bin/compilervars.sh intel64查看Intel MKL环境: echo $MKLROOT输出类似: /opt/intel/composer_xe_2015.1.133/mkl如显示不存在,那么可以类似下面设置下Intel MKL环境(最好与编译器版本一致): . /opt/intel/composer_xe_2015.1.133/mkl/bin/mklvars.sh intel64查看Intel MPI环境(最好与编译器版本一致): which mpiifort如显示不存在,那么可以类似下面设置下Intel MPI环境: . /opt/intel/impi/5.0.2.044/bin64/mpivars.sh intel64查看是否存在/opt/intel/composer_xe_2015.1.133/mkl/interfaces/fftw3xf/libfftw3xf_intel.a,如没存在,那么可以在自己目录下编译生成libfftw3xf_intel.a: mkdir -p ~/local/interfacescp -a /opt/intel/composer_xe_2015.1.133/mkl/interfaces/fftw3xf ~/local/interfacescd ~/local/interfaces/fftw3xfmake libintel64顺利的话,将在此目录下生成libfftw3xf_intel.a。 采用arch/makefile.include.linux_intel做为模板(在vasp.5.4.1目录下,未考虑CUDA): cp arch/makefile.include.linux_intel makefile.include修改makefile.include:

必要时修改OBJECTS那,将

$(MKLROOT)/interfaces/fftw3xf/libfftw3xf_intel.a修改为(假如使用~/local/interfaces/fftw3xf): $(HOME)/local/interfaces/fftw3xf/libfftw3xf_intel.a

其它参数,请见VASP官方说明。

为防止以前编译好的.o和.a文件与新修改的编译配置冲突,建议清除以前编译文件: make veryclean执行编译,可以默认编译或分开编译: 默认编译(将编译生成std、gam和ncl版): make分开编译: 编译标准std版: make std编译gamma-only版: make gam编译non-collinear版: make ncl

编译完成后将在bin目录下生成对应的版本的可执行程序:vasp_gam、vasp_ncl、vasp_std。

错误处理:

如果有错,请注意看错误信息,然后根据信息进行处理。

https://www.shan-machinery.com