地址:https://www.jianshu.com/p/f92b43fc4ff8
VASP一般都会用Intel的mpiifort和mkl来编译,但某些服务器未配置intel的编译器或者特别情况下需使用gnu编译器。VTST是一款过渡态搜索工具,配合VASP使用。
VTST和VASP准备工作
wget http://theory.cm.utexas.edu/code/vtstcode-180.tgz
wget http://theory.cm.utexas.edu/code/vtstscripts.tgz
vtstcode是代码安装包,vtstscripts是一些工具脚本。
tar -zxvf vasp.5.4.4.tar.gz
cd vasp.5.4.4
patch -p0 < patch.5.4.4.16052018
make、gcc、openmpi、lapack和scalapack编译安装中已经安装好gcc、gfortran等可执行文件并配置环境。VASP的运行还需要fftw,可在ftp://ftp.fftw.org/pub/fftw/fftw-3.3.8.tar.gz地址下载,--prefix中设置安装至指定路径。
./configure CC=mpicc FC=mpifort --enable-shared --enable-threads --enable-openmp --enable-mpi --prefix=$HOME/dirname/fftw-3.3.8 CFLAGS="-O3 -fPIC"
make && make install
VASP src
patch.5.4.4.16052018
为VASP补丁,tar -zxvf vtstcode-180.tgz
解压VTST代码包,将vtstcode5
目录下文件复制到vasp.5.4.4/src
中。根据Installation — Transition State Tools for VASP (utexas.edu)说明,修改src/main.F
和src/.objects
文件。
- main.F
大约3146行
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)
- .objects
大约72行,在chain.o
前添加
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
- 若使用3.6.0或更高版本的lapack库,在
src/symbol.inc
文件后添加
! routines replaced in LAPACK >=3.6
#ifdef LAPACK36
#define DGEGV DGGEV
#endif
VASP makefile.include
vasp.5.4.4目录下cp arch/makefile.include.linux_gnu ./makefile.include.linux
,修改相应参数。
- 3.6.0或更高版本的lapack库需在
makefile.include
文件的CPP_OPTIONS
项后添加一行CPP_OPTIONS += -DLAPACK36
。 -
LIBDIR
项后填写blas、tmglib、lapack和scalapack库文件位置。 -
FFTW
项后填写fftw安装路径。 - 若需要GPU加速在
CUDA_ROOT
、GENCODE_ARCH
和MPI_INC
后填写对应参数。
最后在vasp.5.4.4目录执行make all
可获得vasp_gam vasp_ncl vasp_std
可执行文件。
网友评论