计算化学公社

 找回密码 Forget password
 注册 Register
Views: 32523|回复 Reply: 23
打印 Print 上一主题 Last thread 下一主题 Next thread

[VASP] 基于VASP的Periodic NBO编译和简单测试

[复制链接 Copy URL]

119

帖子

2

威望

2075

eV
积分
2234

Level 5 (御坂)

本帖最后由 啦啦黑还黑 于 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.htmlhttps://www.bilibili.com/video/av39616222
服务器上编译: http://bbs.keinsci.com/thread-11111-1-1.htmlhttps://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文件:
  1. MODULE_PATH=/opt/intel/composer_xe_2013_sp1.2.144/mkl/include/intel64/lp64/
  2. MKL_LIB=/opt/intel/composer_xe_2013_sp1.2.144/mkl/lib/intel64
  3. FC=ifort
  4. LD=ifort
  5. #FFLAGS=-check all -check noarg_temp_created -g -traceback -warn unused -I $(MODULE_PATH)
  6. FFLAGS= -vec-report0 -openmp -I $(MODULE_PATH)
  7. 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。并且还可以进一步输出格点文件。
  1. #####NBO search parameters####
  2.   1.60   #Occupancy cutoff for one-center NBOs
  3.   1.85   #Occupancy cutoff for two-center NBOs
  4. #####Visualization output control parameters####
  5.      F   #Control over printing of .cube files for visualization.
  6.      F   #density - Whether density (T) or wavefunctions (F) are visualized.
  7.   0 -1   #vis_start vis_end - Start and end of NBOs to print .cube files for
  8. 0 0 0   #mesh - Number of points along each lattice vectors to use in .cube files
  9. 1 1 1   #box_int - Number of unit cell to use for .cube file. See READ_ME.txt for guidance
  10.   0.00   #origin_fact - Shift of the origin for .cube file. See READ_ME.txt for guidance
复制代码


最终输出的信息比NBO6.0少一些:由于硅1s轨道在赝势里,且价层电子全部成键,所以没有看到NBO输出LP的信息,只有BD和RYD信息。
  1. *******************************
  2. **** NATURAL BOND ORBITALS ****
  3. *******************************

  4. BD* Si           1 Si           2
  5. Occ:   5.0691199E-02 Polarization:   50.00000     %   50.00000     %
  6.    Hybrid 1:   s%   25.000001907  p%   74.601173401  d%    0.398826480  f%    0.000000000
  7.   -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
  8.    Hybrid 2:   s%   24.999996185  p%   74.601173401  d%    0.398826689  f%    0.000000000
  9.    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

  10. BD Si           1 Si           2
  11. Occ:    1.938513     Polarization:   50.00000     %   50.00000     %
  12.    Hybrid 1:   s%   25.000001907  p%   74.601173401  d%    0.398826480  f%    0.000000000
  13.    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
  14.    Hybrid 2:   s%   24.999996185  p%   74.601173401  d%    0.398826689  f%    0.000000000
  15.    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

  16. ...
  17. ...

  18. ********************************
  19. **** NATURAL RYDBERG STATES ****
  20. ********************************

  21. RYD Si           1
  22. Occ:  1.5159165E-03
  23.   Hybridization   s%    0.000000000  p%    0.000000000  d%  100.000000000  f%    0.000000000
  24.    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

  25. RYD Si           1
  26. Occ:  1.5159191E-03
  27.   Hybridization   s%    0.000000001  p%    0.000000000  d%  100.000000000  f%    0.000000000
  28.    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

参与人数
Participants 4
威望 +1 eV +10 收起 理由
Reason
Jiongci-21 + 1 谢谢
physics_xw + 4 好物!
obaica + 5 我很赞同
sobereva + 1

查看全部评分 View all ratings

16

帖子

0

威望

235

eV
积分
251

Level 3 能力者

2#
发表于 Post on 2019-3-4 22:19:16 | 只看该作者 Only view this author
师兄您好,我想问一下关于这个nbo.config配置文件中一些参数的设置要如何设置啊?比如这个vis_start vis_end - Start and end of NBOs to print .cube files for,这个不能全输出吗?这些Visualization output control parameters的设置有什么依据吗?

119

帖子

2

威望

2075

eV
积分
2234

Level 5 (御坂)

3#
 楼主 Author| 发表于 Post on 2019-3-5 00:24:03 | 只看该作者 Only view this author
美美pig 发表于 2019-3-4 22:19
师兄您好,我想问一下关于这个nbo.config配置文件中一些参数的设置要如何设置啊?比如这个vis_start vis_en ...

说明文件写的挺清楚的。
in the nbo.config file. In order they are:
  1. density - [T or F] Whether to grid out the density or the wavefunction.
  2. vis_start vis_end - [Two integers] The beginning and end of the range of NBO's
     to plot.
  3. mesh - [Three integers] Resolution of grid point along each lattice direction.
     Note this is of the larger box.
  4. box_int - [Three integers] How many total lattice cell vector lengths to
     include along each side of the large box for orbital visualization.
  5. origin_fact - [One real] How to shift the origin of the large box with respect to the
     central unit cell origin.

Some useful values for box size:
  -To include the central unit cell along with half of each surrounding unit cell
   for orbital visualization:
   bulk_int = 2 2 2
   origin_fact = -0.5
  -To only incloud the central unit cell for orbital visualization (useful for
   VASP supercells):
   bulk_int = 1 1 1
   origin_fact = 0.0

density 控制输出波函数/电荷密度
vis_start vis_end 控制你想要看的NBO轨道序号,就是nbo_results文件里,LP,BD..这些一个一个排的。

16

帖子

0

威望

235

eV
积分
251

Level 3 能力者

4#
发表于 Post on 2019-3-5 15:38:33 | 只看该作者 Only view this author
啦啦黑还黑 发表于 2019-3-5 00:24
说明文件写的挺清楚的。
in the nbo.config file. In order they are:
  1. density - [T or F] Whethe ...

恩恩,谢谢师兄

16

帖子

0

威望

235

eV
积分
251

Level 3 能力者

5#
发表于 Post on 2019-3-6 22:03:14 | 只看该作者 Only view this author
啦啦黑还黑 发表于 2019-3-5 00:24
说明文件写的挺清楚的。
in the nbo.config file. In order they are:
  1. density - [T or F] Whethe ...

师兄,我今天试着算了一下,采用默认的默认是LP 1.60,BD 1.85,出现了下边的问题:
Found a threshhold cutoff above 1 e for a spin polarized calculation
One center:    1.60
Two center:    1.85
                This would be impossible. Please check nbo.config
然后,我调小了,就好了,我想问一下这个参数的选择有什么依据吗?不是很理解这个参数的意义

1043

帖子

0

威望

4108

eV
积分
5151

Level 6 (一方通行)

6#
发表于 Post on 2019-3-6 22:44:44 来自手机 | 只看该作者 Only view this author
美美pig 发表于 2019-3-6 22:03
师兄,我今天试着算了一下,采用默认的默认是LP 1.60,BD 1.85,出现了下边的问题:
Found a threshhold ...

我猜这是轨道占据数的cutoff吧?小于1.60(1.85)程序就不认为是LP(BD)了。但这是对闭壳层体系而言的。你算的是开壳层,所以这些cutoff应该取其半?

119

帖子

2

威望

2075

eV
积分
2234

Level 5 (御坂)

7#
 楼主 Author| 发表于 Post on 2019-3-7 00:16:17 | 只看该作者 Only view this author
美美pig 发表于 2019-3-6 22:03
师兄,我今天试着算了一下,采用默认的默认是LP 1.60,BD 1.85,出现了下边的问题:
Found a threshhold ...

楼上说的没错,开壳层默认的参数是LP 0.80, BD 0.93,可以适当调整。

16

帖子

0

威望

235

eV
积分
251

Level 3 能力者

8#
发表于 Post on 2019-3-7 09:22:16 | 只看该作者 Only view this author
granvia 发表于 2019-3-6 22:44
我猜这是轨道占据数的cutoff吧?小于1.60(1.85)程序就不认为是LP(BD)了。但这是对闭壳层体系而言的。你 ...

好的,这次懂了,感谢!

16

帖子

0

威望

235

eV
积分
251

Level 3 能力者

9#
发表于 Post on 2019-3-7 09:22:38 | 只看该作者 Only view this author
啦啦黑还黑 发表于 2019-3-7 00:16
楼上说的没错,开壳层默认的参数是LP 0.80, BD 0.93,可以适当调整。

明白了,谢谢师兄!

720

帖子

0

威望

1252

eV
积分
1972

Level 5 (御坂)

10#
发表于 Post on 2019-9-15 09:53:47 | 只看该作者 Only view this author
请问periodic nbo可以用于qe的计算吗

1

帖子

0

威望

23

eV
积分
24

Level 1 能力者

11#
发表于 Post on 2019-12-5 09:24:12 | 只看该作者 Only view this author
师兄 您好 我想请问一下为什么我在输出.cube格式文件的时候一直出现这个问题啊There are a different number of AOs and NBOs in visualization subroutine. Something is wrong
我计算的是二维结构,nboconfig文件是这样的
#####################################################################
#####Configuration file for the periodic NBO code of JRS and BDD#####
#####################################################################

#####NBO search parameters####
  1.60   #Occupancy cutoff for one-center NBOs
  1.60   #Occupancy cutoff for two-center NBOs
#####Visualization output control parameters####
     T   #Control over printing of .cube files for visualization.
     T   #density - Whether density (T) or wavefunctions (F) are visualized.
  1 24   #vis_start vis_end - Start and end of NBOs to print .cube files for
10 15 1   #mesh - Number of points along each lattice vectors to use in .cube files
2 2 2   #box_int - Number of unit cell to use for .cube file. See READ_ME.txt for guidance
-0.50   #origin_fact - Shift of the origin for .cube file. See READ_ME.txt for guidance

2

帖子

0

威望

23

eV
积分
25

Level 2 能力者

12#
发表于 Post on 2020-1-18 11:12:17 | 只看该作者 Only view this author
老师,有composer_xe_2013_sp1.2.144和vasp.5.4.1.24Jun15的下载地址分享吗?

119

帖子

2

威望

2075

eV
积分
2234

Level 5 (御坂)

13#
 楼主 Author| 发表于 Post on 2020-1-21 17:30:51 | 只看该作者 Only view this author
earthGavinLee 发表于 2020-1-18 11:12
老师,有composer_xe_2013_sp1.2.144和vasp.5.4.1.24Jun15的下载地址分享吗?

现在不需要这种特殊版本了。有人修改好了代码,用最新的intel编译器和vasp版本也能用了。参看下面两个链接。代码是chengcheng-xiao github里已经修改好了。
https://mp.weixin.qq.com/s/qVlJQDDxQsoH9EzdAS5EVg
https://github.com/Chengcheng-Xiao/Periodic_NBO

评分 Rate

参与人数
Participants 1
eV +3 收起 理由
Reason
ghifi37 + 3 好物!

查看全部评分 View all ratings

4

帖子

0

威望

61

eV
积分
65

Level 2 能力者

14#
发表于 Post on 2020-3-25 16:08:28 | 只看该作者 Only view this author
请问一下,我大致按照这个教程装了,但是运行例子时,没有出现wav***.dat文件,这是怎么回事呢?谢谢

4

帖子

0

威望

61

eV
积分
65

Level 2 能力者

15#
发表于 Post on 2020-4-16 15:43:27 | 只看该作者 Only view this author
senmiao0924 发表于 2019-12-5 09:24
师兄 您好 我想请问一下为什么我在输出.cube格式文件的时候一直出现这个问题啊There are a different numbe ...

请问你解决了吗?我也遇到相同问题了,谢谢说一下怎么解决的

本版积分规则 Credits rule

手机版 Mobile version|北京科音自然科学研究中心 Beijing Kein Research Center for Natural Sciences|京公网安备 11010502035419号|计算化学公社 — 北京科音旗下高水平计算化学交流论坛 ( 京ICP备14038949号-1 )|网站地图

GMT+8, 2024-11-26 12:52 , Processed in 0.207271 second(s), 28 queries , Gzip On.

快速回复 返回顶部 返回列表 Return to list