计算化学公社

标题: 基于VASP的Periodic NBO编译和简单测试 [打印本页]

作者
Author:
啦啦黑还黑    时间: 2019-2-12 21:50
标题: 基于VASP的Periodic NBO编译和简单测试
本帖最后由 啦啦黑还黑 于 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帖子中的编译方法。




编译之前的准备文件:



我编译使用的是:
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的例子





可以添加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





作者
Author:
美美pig    时间: 2019-3-4 22:19
师兄您好,我想问一下关于这个nbo.config配置文件中一些参数的设置要如何设置啊?比如这个vis_start vis_end - Start and end of NBOs to print .cube files for,这个不能全输出吗?这些Visualization output control parameters的设置有什么依据吗?
作者
Author:
啦啦黑还黑    时间: 2019-3-5 00:24
美美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..这些一个一个排的。

作者
Author:
美美pig    时间: 2019-3-5 15:38
啦啦黑还黑 发表于 2019-3-5 00:24
说明文件写的挺清楚的。
in the nbo.config file. In order they are:
  1. density - [T or F] Whethe ...

恩恩,谢谢师兄
作者
Author:
美美pig    时间: 2019-3-6 22:03
啦啦黑还黑 发表于 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
然后,我调小了,就好了,我想问一下这个参数的选择有什么依据吗?不是很理解这个参数的意义
作者
Author:
granvia    时间: 2019-3-6 22:44
美美pig 发表于 2019-3-6 22:03
师兄,我今天试着算了一下,采用默认的默认是LP 1.60,BD 1.85,出现了下边的问题:
Found a threshhold ...

我猜这是轨道占据数的cutoff吧?小于1.60(1.85)程序就不认为是LP(BD)了。但这是对闭壳层体系而言的。你算的是开壳层,所以这些cutoff应该取其半?
作者
Author:
啦啦黑还黑    时间: 2019-3-7 00:16
美美pig 发表于 2019-3-6 22:03
师兄,我今天试着算了一下,采用默认的默认是LP 1.60,BD 1.85,出现了下边的问题:
Found a threshhold ...

楼上说的没错,开壳层默认的参数是LP 0.80, BD 0.93,可以适当调整。
作者
Author:
美美pig    时间: 2019-3-7 09:22
granvia 发表于 2019-3-6 22:44
我猜这是轨道占据数的cutoff吧?小于1.60(1.85)程序就不认为是LP(BD)了。但这是对闭壳层体系而言的。你 ...

好的,这次懂了,感谢!
作者
Author:
美美pig    时间: 2019-3-7 09:22
啦啦黑还黑 发表于 2019-3-7 00:16
楼上说的没错,开壳层默认的参数是LP 0.80, BD 0.93,可以适当调整。

明白了,谢谢师兄!
作者
Author:
lastzealot    时间: 2019-9-15 09:53
请问periodic nbo可以用于qe的计算吗
作者
Author:
senmiao0924    时间: 2019-12-5 09:24
师兄 您好 我想请问一下为什么我在输出.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

作者
Author:
earthGavinLee    时间: 2020-1-18 11:12
老师,有composer_xe_2013_sp1.2.144和vasp.5.4.1.24Jun15的下载地址分享吗?
作者
Author:
啦啦黑还黑    时间: 2020-1-21 17:30
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
作者
Author:
or1982    时间: 2020-3-25 16:08
请问一下,我大致按照这个教程装了,但是运行例子时,没有出现wav***.dat文件,这是怎么回事呢?谢谢
作者
Author:
or1982    时间: 2020-4-16 15:43
senmiao0924 发表于 2019-12-5 09:24
师兄 您好 我想请问一下为什么我在输出.cube格式文件的时候一直出现这个问题啊There are a different numbe ...

请问你解决了吗?我也遇到相同问题了,谢谢说一下怎么解决的
作者
Author:
chloe685    时间: 2020-5-24 11:09
or1982 发表于 2020-4-16 15:43
请问你解决了吗?我也遇到相同问题了,谢谢说一下怎么解决的

你好 请问一下你解决了吗 我也遇到了相同的问题
作者
Author:
啊洒水    时间: 2020-8-19 17:13
请问用projection.exe在生成NBO.out时候出现这个该怎么解决
Total number of PAW-augmenter functions, per unit cell          80

Number of atom types in basis set does not match wavefunction input
           2           3

作者
Author:
NJUWXZ    时间: 2020-9-18 17:59
老师好,请问对于Pt和Au这种第六周期元素如何选取基组?谢谢
作者
Author:
NJUWXZ    时间: 2020-9-18 18:01
啊洒水 发表于 2020-8-19 17:13
请问用projection.exe在生成NBO.out时候出现这个该怎么解决
Total number of PAW-augmenter functions ...

第一个元素的基组前一行是不是没有加****?
作者
Author:
davy_li    时间: 2021-4-9 10:25
senmiao0924 发表于 2019-12-5 09:24
师兄 您好 我想请问一下为什么我在输出.cube格式文件的时候一直出现这个问题啊There are a different numbe ...

请问您解决了嘛,我也遇到了相同的问题
作者
Author:
davy_li    时间: 2021-4-10 23:06
请问Periodic NBO 哪个信息可以表明键的离子性呢,是那个Polarization嘛?
另外为什么我运行的时候会出现There are a different number of AOs and NBOs in visualization subroutine. Something is wrong
求助大神解答一下下
作者
Author:
咯灵    时间: 2022-6-13 17:18
师兄,您好,我根据网站中的projec..文件夹中的Si示例去计算。得到的键结果,并没有BD的键,只有RYD,请问是什么问题?原本的basis.inp文件报错,因此把下方的D那行进行了删除。
作者
Author:
菜还不想动    时间: 2023-6-8 10:30
请问各位老师,projection_v.1.1.2.tgz这个程序包是什么,在哪里下载?
作者
Author:
shenkaidong    时间: 2023-6-20 16:30
or1982 发表于 2020-3-25 16:08
**** 作者被禁止或删除 内容自动屏蔽 ****

你好,我同样也是遇到这个问题。你现在解决了吗?




欢迎光临 计算化学公社 (http://bbs.keinsci.com/) Powered by Discuz! X3.3