因为要做过渡态计算,所以编译安装了VTST,下边简单介绍以下其过程,主要参考资料为VASP 5.4.1+VTST编译安装和大师兄网部分教程,之前自己也写过安装VASP的全过程,这部分是接着之前的安装做得所以很多修改介绍的不是很详细,大家如果有问题也可以翻看之前的。
(1) 设置VTST
将vasp及vtstcode软件下载解压后,进入vasp软件解压后文件夹,将vtstcode中的文件复制到vasp文件夹下的src中,因为src目录下存在chain.F,建议先备份chain.F(如觉没必要,也可不做):
cd vasp.5.4.4
cp src/chain.F src/chain.F-org
将vtstcode-178目录下文件复制到src下:
cp /home/lwl/桌面/vtstcode-178/* src/
修改src/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)
! LATT_CUR%A,LATT_CUR%B,IO%IU6)
修改编译配置src/.objects,在chain.o前(大概第72行)添加如下内容:
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 \
注意\后不能有空格。
(2)查看所用编辑器、IntelMPI环境和IntelMKL环境,确保可用(出现目录即可,如有问题请参考VMware 虚拟机安装VASP全过程)
which ifort
echo $MKLROOT
which mpiifort
(3)修改makefile.include文件
用arch/makefile.include.linux_intel
做模板进行修改
cp arch/makefile.include.linux_intel makefile.include
对makefile.include文件进行如下修改,14行开始编译器配置改为
FC = mpiifort
FCL = mpiifort -mkl
23行开始,数学库配置改为
MKLROOT=/opt/intel/compilers_and_libraries_2018.3.222/linux/mkl
MKL_PATH = $(MKLROOT)/lib/intel64
BLAS =-L$(MKL_PATH) -lmkl_intel_lp64 -lmkl_sequential -lmkl_core -lpthread
LAPACK =-L$(MKL_PATH) -lmkl_intel_lp64 -lmkl_sequential -lmkl_core -lpthread
BLACS =-L$(MKL_PATH) -lmkl_blacs_intelmpi_lp64
SCALAPACK = $(MKL_PATH)/libmkl_scalapack_lp64.a $(BLACS)
30行,配置为(其中/opt/fftw是我编译后安装的目录)
OBJECTS = fftmpiw.o fftmpi_map.o fftw3d.o fft3dlib.o \
/opt/fftw/lib/libfftw3_mpi.a
INCS =-I/opt/fftw/include
编译完成。我的makefile.include
(4)安装
为防止以前编译好的.o和.a文件与新修改的编译配置冲突,可通过以下命令清除以前编译文件:
make veryclean
编译安装:
make
安装完成在./build中生成了gamma版本的vasp,非线性版本的vasp,标准版本的vasp
gam ncl std
每个文件夹中都有一个vasp的可执行文件。
(5)添加环境变量
把VASP添加到PATH后,可以通过直接输入vasp运行
例如我,新建了一个文件夹,里面创建三个软连接,分别指向三个版本的vasp,再将该目录设置为PATH目录,通过vasp_gam,vasp_ncl,vasp_std
分别运行三个版本的vasp
mkdir ~/soft/vasp
cd ~/soft/vasp
ln -s /home/lwl/桌面/vasp.5.4.4/build/gam/vasp vasp_gam
ln -s /home/lwl/桌面/vasp.5.4.4/build/ncl/vasp vasp_ncl
ln -s /home/lwl/桌面/vasp.5.4.4/build/std/vasp vasp_std
在~/.bashrc
中添加
export PATH=/home/lwl/soft/vasp:$PATH
编译~/.bashrc
source ~/.bashrc
或使用完整路径,如/home/lwl/Desktop/vasp5.4.4/build/gam/vasp
也可以
(6)为vtstscripts脚本添加环境变量
将vtstscripts.tgz解压,并将其复制到~/soft/vtst
目录下。
mkdir ~/soft/vtst
cp -rf /home/lwl/桌面/vtstscripts-937 ~/soft/vtst
在~/.bashrc
文件添加:
export PATH=/home/lwl/soft/vtst/vtstscripts-937:$PATH
之后就可以用啦,如采用nebmake.pl in fin 7
进行插点等。
注:博主也是刚开始学习,如有问题欢迎各位大神批评指正!