加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

VTST编译安装

(2022-03-23 10:09:17)
标签:

vasp

vtst

编译安装

分类: vasp

设置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

1、需要将这些文件复制到vasp5.4.4src目录中:

因为src目录下存在chain.F,建议先备份chain.F(可选):

cp src/chain.F src/chain.F-org

 

vtstcode-171目录下文件复制到src下:cp vtstcode-171/* src/

 

2、修改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)

 

3、修改编译配置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 \

注意\后不能有空格。

 

4、查看所用的编译器:

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/interfaces

cp -a /opt/intel/composer_xe_2015.1.133/mkl/interfaces/fftw3xf ~/local/interfaces

cd ~/local/interfaces/fftw3xf

make libintel64

顺利的话,将在此目录下生成libfftw3xf_intel.a

 

采用arch/makefile.include.linux_intel做为模板(在vasp.5.4.1目录下,未考虑CUDA):

cp arch/makefile.include.linux_intel  makefile.include

5、修改makefile.include

必要时修改OBJECTS那,将

 

$(MKLROOT)/interfaces/fftw3xf/libfftw3xf_intel.a修改为$(MKLROOT)/lib/intel64其它参数,请见VASP官方说明。

 

为防止以前编译好的.o.a文件与新修改的编译配置冲突,建议清除以前编译文件:

make veryclean

执行编译,可以默认编译或分开编译:

默认编译(将编译生成stdgamncl版):

make all

分别编译:

编译标准std版:

make std

编译gamma-only版:

make gam

编译non-collinear版:

make ncl

 

编译完成后将在bin目录下生成对应的版本的可执行程序:vasp_gamvasp_nclvasp_std

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有