|
本帖最后由 啦啦黑还黑 于 2019-3-9 15:20 编辑
欢迎对第一性原理计算感兴趣的同学关注VASP免费系列教程:https://space.bilibili.com/45550176/channel/detail?cid=52529
加入理论与计算化学研习社QQ群:905699144
近期会陆续推出第一性原理计算 电子结构分析系列讲座。
基于VASP的SSAdNDP的编译和简单测试贴:
http://bbs.keinsci.com/thread-12385-1-1.html
基于Crystal的Periodic NBO的编译和简单测试贴:
http://bbs.keinsci.com/thread-12111-1-1.html
参考文献:Dunnington, B. D.; Schmidt, J. R. J. Chem. Theory Comput., 2012, 8, 1902–1911.
下载网站:https://schmidt.chem.wisc.edu/nbosoftware
先下载:
periodic_nbo_v.1.1.tgz
对于VASP用户还需要下载:
projection_v.1.1.2.tgz
对于Crystal用户还需要下载:
CRYSTAL_interface.tgz
注:对于crystal用户可以参考http://bbs.keinsci.com/thread-12111-1-1.html帖子中的编译方法。
编译之前的准备文件:
- VASP程序包,从vasp.at网站下载,目前的ssNBO和ssAdNDP仅完美支持vasp.5.4.1.24Jun15之前的版本,对于vasp.5.4.1.05Feb16和5.4.4版经测试发现在patch补丁的时候报错,估计对补丁文件稍作修改亦可使用,暂时我还没有做测试。5.4和5.3的编译方法有很大的不同,建议使用5.4.1.15年版,编译方便非常多。
- periodic_nbo_v.1.1.tgz
- projection_v.1.1.2.tgz
- intel2013或之前版本的intel mkl编译器。由于程序最终更新是在2015年,且程序作者的mkl版本太老,如果不用老的编译器,很多代码要做修改,参考(http://bbs.keinsci.com/thread-12111-1-1.html)
我编译使用的是:
composer_xe_2013_sp1.2.144,
vasp.5.4.1.24Jun15
第一步:重新编译VASP
首先要重新编译VASP,编译VASP的方法参考:
自己的电脑上编译: http://bbs.keinsci.com/thread-11812-1-1.html,https://www.bilibili.com/video/av39616222
服务器上编译: http://bbs.keinsci.com/thread-11111-1-1.html,https://www.bilibili.com/video/av33956717
编译之前需要多一步:
把projection_v.1.1.2.tgz解压得到的,proj_VASP_5.4.patch和projection_output.F文件copy到vasp的src/目录下:
patch < proj_VASP_5.4.patch
注:
对于VASP5.3还需要在~/src/.objects文件的SOURCE里添加projection_output.o,VASP5.4不需要添加。
第二步:编译projection.exe
这里我是用的intel2013编译器,测试发现intel2015以后的编译器都无法成功。
Makefile文件不需要做修改,直接make,可以得projection.exe
第三步:编译nbo.exe
编译之前需要修改Makefile.template文件
由于作者使用的intel编译器较老,下面这个默认的路径在intel2013里没有:
MODULE_PATH=/opt/intel/mkl/10.0.3.020/lib/em64t
需要替换成MODULE_PATH=/opt/intel/composer_xe_2013_sp1.2.144/mkl/include/intel64/lp64/
另外LDFLAGS= 参数也需要做相应修改,最终我编译成功的Makefile.template文件:- MODULE_PATH=/opt/intel/composer_xe_2013_sp1.2.144/mkl/include/intel64/lp64/
- MKL_LIB=/opt/intel/composer_xe_2013_sp1.2.144/mkl/lib/intel64
- FC=ifort
- LD=ifort
- #FFLAGS=-check all -check noarg_temp_created -g -traceback -warn unused -I $(MODULE_PATH)
- FFLAGS= -vec-report0 -openmp -I $(MODULE_PATH)
- LDFLAGS=-L${MKL_LIB} -lmkl_core -lmkl_intel_lp64 -lmkl_sequential ${MKL_LIB}/libmkl_blas95_lp64.a ${MKL_LIB}/libmkl_lapack95_lp64.a -openmp
复制代码
第四步:测试Silicon的例子
- INCAR输入文件里添加LNBO = True,如果VASP的用于投影波函数文件编译成功,计算完成会产生一个wavefunction.dat文件。
- 然后准备高斯基组文件(Gaussian94 format)basis.inp,可以从ESML网站上生成:https://bse.pnl.gov/bse/portal,这里作者使用的是3-21G(d) basis set。
- 运行./projection.exe basis.inp wavefunction.dat NBO.out,将平面波基组投影到高斯基组,会生成NBO.out,NBO_mat.out,band_spillover.out,spillover.out文件。
- 运行./nbo.exe NBO.out,NBO计算结果打印到屏幕上。
可以添加nbo.config文件,控制判断孤对电子和键的阈值,默认是LP 1.60,BD 1.85。并且还可以进一步输出格点文件。
- #####NBO search parameters####
- 1.60 #Occupancy cutoff for one-center NBOs
- 1.85 #Occupancy cutoff for two-center NBOs
- #####Visualization output control parameters####
- F #Control over printing of .cube files for visualization.
- F #density - Whether density (T) or wavefunctions (F) are visualized.
- 0 -1 #vis_start vis_end - Start and end of NBOs to print .cube files for
- 0 0 0 #mesh - Number of points along each lattice vectors to use in .cube files
- 1 1 1 #box_int - Number of unit cell to use for .cube file. See READ_ME.txt for guidance
- 0.00 #origin_fact - Shift of the origin for .cube file. See READ_ME.txt for guidance
复制代码
最终输出的信息比NBO6.0少一些:由于硅1s轨道在赝势里,且价层电子全部成键,所以没有看到NBO输出LP的信息,只有BD和RYD信息。
- *******************************
- **** NATURAL BOND ORBITALS ****
- *******************************
-
- BD* Si 1 Si 2
- Occ: 5.0691199E-02 Polarization: 50.00000 % 50.00000 %
- Hybrid 1: s% 25.000001907 p% 74.601173401 d% 0.398826480 f% 0.000000000
- -0.00000 0.00057 0.00110 0.00110 0.00110 -0.00358 0.00147 0.00147 0.00147 -0.49999 -0.49867 -0.49867 -0.49867 -0.03646 -0.03646 -0.03646 0.00000 -0.00000
- Hybrid 2: s% 24.999996185 p% 74.601173401 d% 0.398826689 f% 0.000000000
- 0.00000 -0.00057 0.00110 0.00110 0.00110 0.00358 0.00147 0.00147 0.00147 0.49999 -0.49867 -0.49867 -0.49867 0.03646 0.03646 0.03646 0.00000 -0.00000
-
- BD Si 1 Si 2
- Occ: 1.938513 Polarization: 50.00000 % 50.00000 %
- Hybrid 1: s% 25.000001907 p% 74.601173401 d% 0.398826480 f% 0.000000000
- 0.00000 -0.00057 -0.00110 -0.00110 -0.00110 0.00358 -0.00147 -0.00147 -0.00147 0.49999 0.49867 0.49867 0.49867 0.03646 0.03646 0.03646 -0.00000 0.00000
- Hybrid 2: s% 24.999996185 p% 74.601173401 d% 0.398826689 f% 0.000000000
- 0.00000 -0.00057 0.00110 0.00110 0.00110 0.00358 0.00147 0.00147 0.00147 0.49999 -0.49867 -0.49867 -0.49867 0.03646 0.03646 0.03646 0.00000 -0.00000
-
- ...
- ...
- ********************************
- **** NATURAL RYDBERG STATES ****
- ********************************
-
- RYD Si 1
- Occ: 1.5159165E-03
- Hybridization s% 0.000000000 p% 0.000000000 d% 100.000000000 f% 0.000000000
- 0.00000 -0.00000 -0.00000 0.00000 -0.00000 -0.00000 0.00000 -0.00000 0.00000 -0.00000 -0.00000 0.00000 0.00000 0.00000 0.00000 -0.00000 -0.17421 0.98471
-
- RYD Si 1
- Occ: 1.5159191E-03
- Hybridization s% 0.000000001 p% 0.000000000 d% 100.000000000 f% 0.000000000
- 0.00000 0.00000 -0.00000 0.00000 -0.00000 0.00000 0.00000 0.00000 -0.00000 -0.00000 -0.00000 -0.00000 0.00000 0.00000 0.00000 -0.00000 0.98471 0.17421
复制代码
ssAdNDP的编译和使用方法和ssNBO非常类似,网站如下:
http://ion.chem.usu.edu/~boldyrev/ssadndp.php
|
评分 Rate
-
查看全部评分 View all ratings
|