计算化学公社

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

作者
Author:
啦啦黑还黑    时间: 2019-3-9 14:52
标题: 基于VASP的SSAdNDP编译和简单测试
本帖最后由 啦啦黑还黑 于 2019-3-9 15:16 编辑

欢迎对第一性原理计算感兴趣的同学关注VASP免费系列教程:https://space.bilibili.com/45550176/channel/detail?cid=52529
加入理论与计算化学研习社QQ群:905699144
近期会陆续推出第一性原理计算 电子结构分析系列讲座。

前言
Periodic NBO方法的局限性:Periodic NBO程序只能处理双中心键,分子体系的NBO程序最多只能处理3中心键。
对于3中心以上键,比如离域大p键,NBO就很难处理了,虽然借助于自然共振理论(NRT),NBO可以对苯环给出合理的共振模型,但是其对多中心键没有办法描述。

AdNDP是Boldyrev课题组在2008年发表的。在NBO的思路基础上可以继续搜索3c-2e、4c-2e、5c-2e、6c-2e。具体的原理可以阅读原文,
Phys. Chem. Chem. Phys., 2008, 10, 5207–5217
虽然这个方法非常的新,但是迅速得到了广泛的应用,已经被引用500多次,不乏一些顶尖期刊引用。
因为一系列有意思的分子和材料存在离域的电子结构,AdNDP可以把这种离域的电子结构以多中心键的方式呈现出来。

AdNDP 计算流程:
原子块对角化 + OWSO正交化得到自然原子轨道为基的密度矩阵P(NAO),和NBO的处理方法完全一样。
搜索单中心键,需要设置占据数阈值
搜索2c-2e键,需要设置占据数阈值
搜索3c-2e键,需要设置占据数阈值
依次搜索4c-2e键,5c-2e键,6c-2e键
注:每一步的搜索结果都会影响后续的搜索,对选中的多中心键,对应的P(NAO)里的成分剔除。

AdNDP 和 ssAdNDP
分子体系计算AdNDP最好用的程序是Multiwfn,Boldyrev组也开发了名为AdNDP的程序,但非常难用,不如Multiwfn灵活。

周期性体系,计算AdNDP的程序只有Alexander I. Boldyrev和J. R. Schmidt(periodic NBO作者)共同开发的名为ssAdNDP的程序可以做。
http://ion.chem.usu.edu/~boldyrev/ssadndp.php
这个程序年久失修,非常难用,搜索轨道时候往往要不断的重启任务,虽然方法很好,目前还没有更好的程序可以做。
Physical Chemistry Chemical Physics, 2013, 15(14): 5022-5029

ssAdNDP 编译
参考 periodic NBO的编译方法,用intel2013编译器。
http://bbs.keinsci.com/thread-12125-1-1.html
第一步:重新编译VASP,和periodic NBO的方法一样。

第二步:编译projection.exe,方法和编译periodic NBO的projection.exe基本类似。
只需要修改makefile里
MKLROOT=/opt/intel/composer_xe_2013_sp1.2.144/mkl/

第三步:编译ssadndp.exe,用mkmf生产Makefile 。
修改Makefile.template里的intel mkl路径
chmod +x mkmf
./mkmf -t Makefile.template -p ssadndp.exe
make
编译成功以后生成ssadndp.exe

第四步:编译visual.exe
ifort visual.f90 -o visual.exe

ssAdNDP 应用实例
2D Borphene, MgB2, Na8BaSn6 (Phys. Chem. Chem. Phys., 2008, 10, 5207–5217)
FeB2 (Nano Lett. 2016, 16, 6124−6129)
FeB6 (J. Am. Chem. Soc. 2016, 138, 5644−5651)
Be5C2 (Nat. Commun. 2016, 7, 11488 2016)Cu2Si (J. Am. Chem. Soc. 2015, 137, 2757−2762)

ssAdNDP 的搜索技巧


测试:
原文中MgB2 多中心键研究。(Physical Chemistry Chemical Physics, 2013, 15(14): 5022-5029)
作为一个范例, Boldyrev在ssAdNDP的原文中研究了经典超导材料MgB2中可能的多中心键。
MgB2晶胞中有2个B原子和一个Mg原子。价电子数分别为3和2。则体系中共有8个电子。
作者搜索出来5个多中心键,是因为轨道占据数较低,更够把8个电子分配到5个轨道里,这种做法我并不建议。

第一步:在materials project网站搜索MgB2结构,mp-763

第二步:VASP优化这个结构。

第三步:计算MgB2单点,得到后续projection计算需要的wavefunction.dat文件。注意计算完成之后要把CONTCAR里的第六行删掉,因为此程序还是用的VASP4的格式。VASP计算的注意事项和 periodic NBO完全一样。

第四步:准备基组文件
在EMSL上准备basis.inp文件,Mg和B的基组用6-31g*

第五步:运行./projection.exe basis.inp wavefunction.dat NBO.out,将平面波基组投影到高斯基组,会生成NBO.out,NBO_mat.out,band_spillover.out,spillover.out文件。
注意:这里运行的./projection.exe 是和SSAdNDP配套的投影程序,我尝试用periodic NBO配套的projection.exe 并没有成功。

第六步:准备SSAdNDP.inp文件,计算SSAdNDP
运行./ssadndp.exe SSAdNDP.inp
该文件是计算SSAdNDP的输入文件,参数控制都在这个文件里设置,这个文件的参数设置非常不灵活。详细内容可以参阅手册。
由于AdNDP不能全自动完成,所以要边搜索边手动挑选出合理的轨道,不断的保存chk文件并重启计算完成。
./ssadndp.exe SSAdNDP-UD.inp SSAdNDP.chk
直到最后P(NAO)中剩余的电子数(<<2)不能再组成一个多中心键为止。
按照文章的思路,最后我找到三个2c-2e,NO=1.72。一个6c-2e,NO=1.48。剩余电子1.21,我认为没必要继续往下找了,原文中还继续找到了8c-2e键。


第七步:可视化轨道,用VESTA做图。
./visual.exe vis_gs_2c-bonds.out 50 50 50
生成的gs_2c-bond_1.cube和lattice_vec.cube文件按照手册说明在VESTA里作图即可。






作者
Author:
linuxprobe    时间: 2019-4-18 10:16
非常感谢!刘大佬!
作者
Author:
琥珀坠    时间: 2019-8-3 11:29
编译都正确,运行./ssadndp.exe SSAdNDP.inp
报错:Segmentation fault (core dumped)
何解
作者
Author:
吴旭明    时间: 2019-11-5 17:06
锦程大佬果然牛逼啊
作者
Author:
fineren    时间: 2019-11-5 18:45
感谢分享,我要进群
作者
Author:
or1982    时间: 2020-4-15 14:18
琥珀坠 发表于 2019-8-3 11:29
编译都正确,运行./ssadndp.exe SSAdNDP.inp
报错:Segmentation fault (core dumped)
何解

您好,您这个问题解决了吗?我在运用nbo软件时也出现这个错误,怎么解决呢?
作者
Author:
zjxitcc    时间: 2020-4-15 20:23
or1982 发表于 2020-4-15 14:18
您好,您这个问题解决了吗?我在运用nbo软件时也出现这个错误,怎么解决呢?

这个错误提供的信息量约等于零,几乎所有量化程序都可以产生这个错误。你得看输出文件的具体报错信息。如果认为自己无误,应当发邮件给NBO官方询问。
作者
Author:
Turylc    时间: 2020-4-27 07:30
本帖最后由 Turylc 于 2020-4-27 07:32 编辑

请问一下,我用vesta可视化的时候,如果不跨胞,电子云显示不全,就是只能在一个晶胞里,边缘的就切了;如果我跨胞,晶胞和电子云,就是lattice_vec和gs_2c-bond_1不重合,两个方框位置没有对应。E:\caculation\Si
作者
Author:
物理小笨    时间: 2020-5-11 19:38
琥珀坠 发表于 2019-8-3 11:29
编译都正确,运行./ssadndp.exe SSAdNDP.inp
报错:Segmentation fault (core dumped)
何解

有可能内存不足
作者
Author:
霖霖粼粼2123    时间: 2020-12-15 15:17
本帖最后由 霖霖粼粼2123 于 2020-12-15 19:23 编辑

我想问一下,在EMSL上准备basis.inp文件,但是我在EMSL上没有找到inp格式的文件,这个文件是怎么来的呢?没有用过高斯一直都是用vasp计算,麻烦各位大神能够帮忙解答一下

已解决!!感谢网站所有大神的帖子!

作者
Author:
yanmiao    时间: 2021-1-16 16:28
想请教一下,运行projection.exe时,一直报错:Smallest eigennvalue of gamma-point overlap matrix  2.2860973E-04
WHOA NELLY!!!!!!  There is an eigenvalue below 10^-3 of the overlap matrix. This will introduce some numerical instability into the inverse calculation。
这个该怎么解决呢?
作者
Author:
xugeweilai    时间: 2021-4-13 09:27
yanmiao 发表于 2021-1-16 16:28
想请教一下,运行projection.exe时,一直报错:Smallest eigennvalue of gamma-point overlap matrix  2.28 ...

我觉得这个可以忽略,它只是个提醒,只要其可以正常结束就可以
作者
Author:
soloist    时间: 2021-12-5 14:05
yanmiao 发表于 2021-1-16 16:28
想请教一下,运行projection.exe时,一直报错:Smallest eigennvalue of gamma-point overlap matrix  2.28 ...

您好,我想请问一下您前面关于ssAdNDP的问题解决了吗,我好像跟您遇到了一样的问题
作者
Author:
soloist    时间: 2021-12-5 14:06
xugeweilai 发表于 2021-4-13 09:27
我觉得这个可以忽略,它只是个提醒,只要其可以正常结束就可以

但是报错之后就core dumped,这咋办
作者
Author:
abin    时间: 2021-12-5 15:19
soloist 发表于 2021-12-5 14:06
但是报错之后就core dumped,这咋办

如有算例,发来我试试。
联系方式看附件。
作者
Author:
soloist    时间: 2021-12-6 16:49
abin 发表于 2021-12-5 15:19
如有算例,发来我试试。
联系方式看附件。

感谢大佬回复,问题解决了,是OMP_STACKSIZE不够大的原因,增大就可以了
作者
Author:
snaily    时间: 2022-2-24 22:19
soloist 发表于 2021-12-6 16:49
感谢大佬回复,问题解决了,是OMP_STACKSIZE不够大的原因,增大就可以了

您好,我最近也是这种情况,请问您说的OMP_STACKSIZE不够大要怎么做啊?
作者
Author:
Jiongci-21    时间: 2022-5-21 11:04
soloist 发表于 2021-12-6 16:49
感谢大佬回复,问题解决了,是OMP_STACKSIZE不够大的原因,增大就可以了

用MgB2原胞能正常运行projection.exe得到NBO输出。但是用立方正交且4*4超胞的MgB2体系,就出现了下述提醒,程序终止无输出
Segmentation fault (core dumped)
请问您提到的增大OMP_STACKSIZE具体怎么操作呢?
作者
Author:
Jiongci-21    时间: 2022-5-21 11:09
本帖最后由 Jiongci-21 于 2022-5-21 11:10 编辑

请问,运行ssAdNDP.exe SSAdNDP.inp 出现如下图所示错误是什么原因呢?
forrtl: severe (24): end-of-file during read, unit 66, file /home/xxx/work/electronic-analysis/ssAdNDP/MgB2/primitive-cell/SP/ssAdNDP/-0.4285714286
我的当前目录是:/home/xxx/work/electronic-analysis/ssAdNDP/MgB2/primitive-cell/SP/ssAdNDP/
目录下包含如下文件

输出信息


作者
Author:
菜还不想动    时间: 2023-6-8 16:45
请问,ssadndp第一步编译vasp使用的.patch和.F文件和编译NBO中使用的文件是一样的吗?

作者
Author:
rvoice    时间: 2025-3-17 19:26
求取intel2013,找了很久了
作者
Author:
DONGDI    时间: 2025-6-2 16:43
xugeweilai 发表于 2021-4-13 09:27
我觉得这个可以忽略,它只是个提醒,只要其可以正常结束就可以

大佬你能教教我吗




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