VASP6.3.2中VTST插件的编译
新版本插件的编译方式和VASP.6.1.0以及VASP.5.4.4的版本类似,仅文件中位置有所区别
简介:计算CINEB必备,原版vasp仅有NEB和Dimer算法,找过渡态并不好用,VTST不但提供了CINEB(包括相变),Dimer。还提供了一些更高效稳定的几何优化算法。
打开VASP.6.3.2源码包
(1)把 ./src/main.F文件中大约3542行的
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)
对于vasp.6.2,还应查找并更换:(vasp.6.3.2同样需要,大约在944行)
IF (LCHAIN) CALL chain_init( T_INFO, IO)
改为
CALL chain_init( T_INFO, IO)
(2)修改./src/.objects文件,在大约118行的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 \
或(以下为2022年11月VTST官网新增加内容)
bfgs.o dynmat.o instanton.o lbfgs.o sd.o cg.o dimer.o bbm.o \
fire.o lanczos.o neb.o qm.o \
pyamff_fortran/*.o ml_pyamff.o \
opt.o \
注意和vasp.5.4.4以及vasp.6.1.0的不同!!!
(3)下载解压vtstcode.tgz代码,复制相应的vtst代码到 src/
对于vasp.6.2.1及以上版本,需要vtstcode 4.1(修订版182),建议使用最新版184。vtstcode的一个版本将与vasp.6.1.x-vasp.6.2.0一起使用,该版本已保存在vtstcode6.1目录中,对于vasp.6.3.2,使用vtstcode-184/文件夹内文件
vtstcode-184/文件夹内的*.F文件适用于6.2.0版本及以上,vasp.5.4.4和vasp.6.1.0版本分别用vtstcode5文件夹内文件和vtstcode6.1文件夹内文件
tar -zxvf vtstcode-184.tgz
cd vtstcode-184/
cp * <path-to-vasp.6.3.2-folder>/src/
注意修改(1)(2)文件时,不用使用Tab键,尽量在原来基础上添加
(4)然后在makefile中找到变量LIB,并在库列表的最后一个元素之后添加以下目录:
LIB= lib parser ... pyamff_fortran
注意(4)是近期(2022年11月中旬)VTST官网新增加的内容,编译时请自行决定是否需要添加。
最后再安装正常编译vasp的方法“make”就行了,如果是make all,可能会出现fortran.c(68): catastrophic error: cannot open source file "cuda_runtime.h"报错,但vasp可以正常运行,如果想避免此报错,可分别make gam,make std,make ncl。
参考
[1] http://theory.cm.utexas.edu/vtsttools/installation.html
[2] https://blog.csdn.net/weixin_39925959/article/details/111123851
[3] http://theory.cm.utexas.edu/vtsttools/download.html
[4] https://blog.csdn.net/Miles10008?spm=1011.2415.3001.5343