请选择 进入手机版 | 继续访问电脑版

计算化学公社

 找回密码
 现在注册!
查看: 5769|回复: 25

[波函数分析交流] 使用AICD 2.0绘制磁感应电流图

[复制链接]

2万

帖子

25

威望

2万

eV
积分
48701

管理员

公社社长

发表于 2015-6-13 08:27:26 | 显示全部楼层 |阅读模式
使用AICD 2.0绘制磁感应电流图

文/Sobereva @北京科音
First release: 2015-Jun-13  Last update: 2019-Sep-27

以前写过一篇帖子《使用AICD程序研究电子离域性和磁感应电流密度》(http://sobereva.com/147),那个帖子当时用的是1.5.7.1版。AICD本身用起来简单,但是使用前必须自行编译高斯,这使得绝大部分用户都无缘使用AICD。好在从Gaussian09 D.01开始直接提供了IOp(10/93)选项来输出AICD所需的电流密度张量数据,并且AICD 2.0版开始可以直接读取这些数据绘图,比原先实在方便太多了,这使得AICD能够广泛普及开来。这个帖子就说下AICD 2.0结合G09 D.01的使用方法。老版本的AICD的输出文件和各个选项在2.0版里完全没变,2.0也没有什么新增的选项,所以本帖仅仅用薁分子做个演示,更多内容请看上面的帖子。

1 安装AICD 2.0

注:由于原版的AICD 2.0与Gaussian 16兼容性有问题,而且与比较新的gcc编译器的兼容也有问题(像CentOS 6.x这种老系统带的gcc没问题,而CentOS 7.x的就不行了),因此这里给的是http://bbs.keinsci.com/thread-13577-1-1.html里提供的修改版AICD包,安装方法也是针对这个修改版而言的。

在这里下载修改版AICD 2.0:http://sobereva.com/soft/AICD-2.0.0-modified.tar.gz

将这个AICD 2.0包解压到任意一处,比如/sob/AICD-2.0.0,然后进入此目录,输入make。然后在用户目录的.bashrc文件里添加alias AICD=/sob/AICD-2.0.0/AICD。重新登录终端或输入bash使之生效。现在就可以在任意目录下直接通过AICD命令调用AICD了。

如果运行时提示无权限的问题,运行chmod +x /sob/AICD-2.0.0/* -R给此目录下所有文件加可执行权限。


2 计算薁

输入文件azulene.gjf内容如下。NMR=CSGT必须写,IOp(10/93=1)代表输出电流密度张量到坐标后面的那个文件里,此例是test.txt。


  1. %chk=./azulene.chk
  2. # b3lyp/6-31g(d) nmr=csgt iop(10/93=1)

  3. b3lyp/6-31g(d) opted

  4. 0 1
  5. C 0.00000000 0.00000000 2.50418951
  6. C 0.00000000 1.26637425 1.91156618
  7. C 0.00000000 1.59417912 0.55241750
  8. C 0.00000000 -1.26637425 1.91156618
  9. C 0.00000000 0.75015229 -0.55452268
  10. C 0.00000000 -1.59417912 0.55241750
  11. C 0.00000000 -0.75015229 -0.55452268
  12. H 0.00000000 0.00000000 3.59316833
  13. H 0.00000000 2.10900376 2.59929497
  14. H 0.00000000 2.66005032 0.32418052
  15. H 0.00000000 -2.10900376 2.59929497
  16. H 0.00000000 -2.66005032 0.32418052
  17. C 0.00000000 1.15011348 -1.90182297
  18. H 0.00000000 2.17701495 -2.24803140
  19. C 0.00000000 0.00000000 -2.70850570
  20. H 0.00000000 0.00000000 -3.79360290
  21. C 0.00000000 -1.15011348 -1.90182297
  22. H 0.00000000 -2.17701495 -2.24803140

  23. test.txt

复制代码

用g09 < azulene.gjf > azulene.out运行此文件,在当前目录下得到azulene.out和test.txt。


3 产生感应电流图

我们把外磁场垂直于环平面加。若打开azulene.out会看到垂直于分子平面的是x轴,即外磁场矢量应为1 0 0。我们输入
AICD -m 4 -b 1 0 0 -pov azulene.out
此时AICD就会根据azulene.out和test.txt里的信息生成AICD格点数据,并且产生文件名以azulene_40000_0.050_1_0_0_Aniso_4.4为开头的5个文件。将这5个文件拷到Windows系统下,安装好Povray渲染器,然后打开RenderMich.pov后缀的那个,渲染,即得到下图,包含多个视角:

1.jpg
可见是有明显环电流产生的。


4 只获得特定轨道的贡献

也可以只获得特定轨道对AICD的贡献,写上IOp(10/93=2),并且在输入文件末尾写上要考虑的轨道编号即可。

比如薁这个分子,我们想得到所有pi轨道对AICD的贡献。首先我们先找出pi轨道编号,虽然可以挨个看轨道图来找,但对于轨道比较多的体系会比较劳神。对于薁这样纯平面的体系找pi轨道的最方便的方法是用Multiwfn (http://sobereva.com/multiwfn)。将薁这个体系的fch文件载入Multiwfn,依次输入100、22、2(因为当前体系平行于YZ平面)。程序马上就给出了所有pi MO的编号,我们把占据数为2.0的那5个复制到前面azulene.gjf的末尾去(从命令行窗口直接复制数据的操作见Multiwfn手册5.4节)。此时azulene.gjf内容如下

  1. %chk=./azulene.chk
  2. # b3lyp/6-31g(d) nmr=csgt IOp(10/93=2)

  3. b3lyp/6-31g(d) opted

  4. 0 1
  5. [坐标,略]

  6. test.txt

  7. 26
  8. 31
  9. 32
  10. 33
  11. 34

复制代码

用前述方法绘图,结果如下
2.jpg
顺带十分值得一提的是,用上面的做法不仅可以得到不同轨道对AICD的贡献,也可以得到不同轨道对磁屏蔽值、磁化率的贡献(即它们可以严格分解成轨道的贡献)。比如某体系有13个轨道,用上面的关键词,分别选择1-5号轨道,以及6-13号轨道,二者得到的磁屏蔽值或者磁化率的加和,和直接算整体时的结果是一样的。因此,可以利用这个方法考察NICS-sigma和NICS-pi。

对于非平面体系,没法严格定义哪些是sigma轨道、哪些是pi轨道,或者说判断pi轨道的方式有很大含糊性、人为任意性。但是也没关系,强大的Multiwfn可以给出各个轨道的pi成份,超过特定阈值(比如80%)的轨道你都可以姑且当做pi轨道。关于怎么用Multiwfn计算pi成份,看《Multiwfn已支持计算任意轨道的pi成份》(http://bbs.keinsci.com/thread-13110-1-1.html)。


如果对本文有任何不清楚的地方,或者想弄明白AICD的各种选项、细节以及相关理论,请看《使用AICD程序研究电子离域性和磁感应电流密度》(http://sobereva.com/147)。

有另外一个也非常知名、常用的考察环电流的程序叫GIMIC,与AICD有很强的互补性,强烈建议读者仔细看《考察分子磁感生电流的程序GIMIC 2.0的使用》(http://sobereva.com/491)。

ACID_2_0.zip

84.84 KB, 下载次数: 149

评分

参与人数 8eV +41 收起 理由
hlmkh + 8
captain + 5 好物!
zsu007 + 5 谢谢
aqhuangry + 5
drkiwi + 4 THX
卡开发发 + 5 GJ!
youyno + 4 谢谢
ter20 + 5 GJ!

查看全部评分

北京科音自然科学研究中心:http://www.keinsci.com  致力于计算化学的发展和传播,不定期开办各层次量子化学、分子动力学、波函数分析与Multiwfn程序等主题的培训。欢迎加入“北京科音”微信公众号获取培训最新消息和计算化学资讯
思想家公社QQ群,1号:18616395,2号:466017436。约6000人,专门交流理论、计算化学。两个群讨论范畴相同,可加入任意其一但不可都加入,申请信息必须注明具体研究方向,否则一概不批。
思想家公社的门口Blog:http://sobereva.com(发布大量原创计算化学相关博文)
Multiwfn主页:http://sobereva.com/multiwfn(最流行的量子化学波函数分析程序)

此账号为诸Sobereva共用
Money and papers are rubbish, get a real life!

61

帖子

0

威望

1605

eV
积分
1666

Level 5 (御坂)

发表于 2015-6-14 15:28:52 | 显示全部楼层
谢谢版主分享。能否提供一下AICD 2.0的下载连接?谢谢!

2万

帖子

25

威望

2万

eV
积分
48701

管理员

公社社长

 楼主| 发表于 2015-6-14 19:55:03 | 显示全部楼层
aqhuangry 发表于 2015-6-14 15:28
谢谢版主分享。能否提供一下AICD 2.0的下载连接?谢谢!

补上了,见第1节
北京科音自然科学研究中心:http://www.keinsci.com  致力于计算化学的发展和传播,不定期开办各层次量子化学、分子动力学、波函数分析与Multiwfn程序等主题的培训。欢迎加入“北京科音”微信公众号获取培训最新消息和计算化学资讯
思想家公社QQ群,1号:18616395,2号:466017436。约6000人,专门交流理论、计算化学。两个群讨论范畴相同,可加入任意其一但不可都加入,申请信息必须注明具体研究方向,否则一概不批。
思想家公社的门口Blog:http://sobereva.com(发布大量原创计算化学相关博文)
Multiwfn主页:http://sobereva.com/multiwfn(最流行的量子化学波函数分析程序)

此账号为诸Sobereva共用
Money and papers are rubbish, get a real life!

61

帖子

0

威望

1605

eV
积分
1666

Level 5 (御坂)

发表于 2015-6-14 21:03:46 | 显示全部楼层
好的。十分感谢!

4

帖子

0

威望

42

eV
积分
46

Level 2 能力者

发表于 2016-2-19 05:26:13 | 显示全部楼层
多谢分享。最近尝试自己分析下自己的体系,前面所有运行都没有问题,只有最后Povray渲染时,双击RenderMich.pov后缀的那个,然后点击Run,可是为什么出来的是全黑的图,没有环电流……求指点

2万

帖子

25

威望

2万

eV
积分
48701

管理员

公社社长

 楼主| 发表于 2016-2-19 14:54:47 | 显示全部楼层
moonking 发表于 2016-2-19 05:26
多谢分享。最近尝试自己分析下自己的体系,前面所有运行都没有问题,只有最后Povray渲染时,双击RenderMich ...


绘制文中的例子能得到正常结果不?
北京科音自然科学研究中心:http://www.keinsci.com  致力于计算化学的发展和传播,不定期开办各层次量子化学、分子动力学、波函数分析与Multiwfn程序等主题的培训。欢迎加入“北京科音”微信公众号获取培训最新消息和计算化学资讯
思想家公社QQ群,1号:18616395,2号:466017436。约6000人,专门交流理论、计算化学。两个群讨论范畴相同,可加入任意其一但不可都加入,申请信息必须注明具体研究方向,否则一概不批。
思想家公社的门口Blog:http://sobereva.com(发布大量原创计算化学相关博文)
Multiwfn主页:http://sobereva.com/multiwfn(最流行的量子化学波函数分析程序)

此账号为诸Sobereva共用
Money and papers are rubbish, get a real life!

4

帖子

0

威望

42

eV
积分
46

Level 2 能力者

发表于 2016-2-24 08:50:28 | 显示全部楼层
本帖最后由 moonking 于 2016-2-24 09:02 编辑
sobereva 发表于 2016-2-19 14:54
绘制文中的例子能得到正常结果不?

谢谢您的建议,折腾了好几天,还是搞不懂,只能求助了……
我严格重复文中例子,可以顺利得到azulene.out和test.txt,运行AICD也没有提示错误,可以生成5个对应的pov文件,可是RenderMich.pov的大小仍然是0kb。。。双击打开,点run后还是一片黑,想上传附件来着,可是提示不能上传0KB文件,可见确实是这一步出了问题,求指导,谢谢了……

我怀疑问题出在如下步骤,运行AICD -m 4 -b 1 0 0 -pov azulene.out时最后要输出pov文件部分时提示如下

****************************************************************************************
modifying azulene.pov to azulene_40000_0.050_1_0_0_Aniso_4.4.Molekuel.pov
/home/wjn/AICD-2.0.0/AICD: 行 656:  5676 Aborted                 (核心已转储)$An                                                                                                                imation $inputbasename.pdb $Atom1 $Atom2 $Atom3 < "$RenderMich" > $Pov_RenderMic                                                                                                                h_pov
Replacing Camera Postion to \<0, 0, -250\>
Inserting #version directive in RenderMich.pov
calling Replace_Pov_Filenames azulene_40000_0.050_1_0_0_Aniso_4.4.Isoober.inc
calling Replace_Pov_Filenames azulene_40000_0.050_1_0_0_Aniso_4.4.Molekuel.inc
calling Replace_Pov_Filenames azulene_40000_0.050_1_0_0_Aniso_4.4.Molekuel.pov
calling Replace_Pov_Filenames azulene_40000_0.050_1_0_0_Aniso_4.4.RenderMich.pov
calling Replace_Pov_Filenames azulene_40000_0.050_1_0_0_Aniso_4.4.Rotate.inc
calling AICD-isocut -m -1 -M -1 -r 10000000 < azulene_40000_0.050_1_0_0_Aniso_4.                                                                                                                4.Isoober.inc.noncut > azulene_40000_0.050_1_0_0_Aniso_4.4.Isoober.inc
This is AICD-isocut....
  arrow_maxlength = -1
  arrow_minlength = -1
  Point of origin:  0 0 0
  Maximum distance: 1e+07
Number of deleted arrows: 0


Call PovRay manually with the following commandline:

povray +FN +iazulene_40000_0.050_1_0_0_Aniso_4.4.RenderMich.pov +oazulene_40000_                                                                                                                0.050_1_0_0_Aniso_4.4.png /home/wjn/AICD-2.0.0/povray-AICD-templates/AICD-pov.in                                                                                                                i -P -W1024 -H768



2万

帖子

25

威望

2万

eV
积分
48701

管理员

公社社长

 楼主| 发表于 2016-2-24 15:57:52 | 显示全部楼层
moonking 发表于 2016-2-24 08:50
谢谢您的建议,折腾了好几天,还是搞不懂,只能求助了……
我严格重复文中例子,可以顺利得到azulene.ou ...

/home/wjn/AICD-2.0.0/AICD: 行 656:  5676 Aborted                 (核心已转储)$An
这句已经提示可能出现错误了

什么原因我也不好说
北京科音自然科学研究中心:http://www.keinsci.com  致力于计算化学的发展和传播,不定期开办各层次量子化学、分子动力学、波函数分析与Multiwfn程序等主题的培训。欢迎加入“北京科音”微信公众号获取培训最新消息和计算化学资讯
思想家公社QQ群,1号:18616395,2号:466017436。约6000人,专门交流理论、计算化学。两个群讨论范畴相同,可加入任意其一但不可都加入,申请信息必须注明具体研究方向,否则一概不批。
思想家公社的门口Blog:http://sobereva.com(发布大量原创计算化学相关博文)
Multiwfn主页:http://sobereva.com/multiwfn(最流行的量子化学波函数分析程序)

此账号为诸Sobereva共用
Money and papers are rubbish, get a real life!

4

帖子

0

威望

42

eV
积分
46

Level 2 能力者

发表于 2016-2-27 01:05:36 | 显示全部楼层
换了台Linux的电脑重新来了一遍,有了一个更详细的提示

“Error in `AICD-rotate_mol': free(): invalid next size (fast): 0x099340d8 ”

经过不同参数测试输出,只有要求 -pov 时才会报错,所以是我的AICD-rotate编译出问题了?

因为是做合成出身的,也不太精通计算机,发的文章中包含的一点点理论分析还都是用Multiwfn做的,所以对这个问题没辙了……

我给作者写了封邮件咨询,看看他们怎么回复。

如果可能,可否把你编译好的文件也打包传一份,我试试看?

多谢啦

2万

帖子

25

威望

2万

eV
积分
48701

管理员

公社社长

 楼主| 发表于 2016-2-27 02:58:11 | 显示全部楼层
moonking 发表于 2016-2-27 01:05
换了台Linux的电脑重新来了一遍,有了一个更详细的提示

“Error in `AICD-rotate_mol': free(): invalid ...

这是我编译的

AICD-2.0.0.zip

475 KB, 下载次数: 221

北京科音自然科学研究中心:http://www.keinsci.com  致力于计算化学的发展和传播,不定期开办各层次量子化学、分子动力学、波函数分析与Multiwfn程序等主题的培训。欢迎加入“北京科音”微信公众号获取培训最新消息和计算化学资讯
思想家公社QQ群,1号:18616395,2号:466017436。约6000人,专门交流理论、计算化学。两个群讨论范畴相同,可加入任意其一但不可都加入,申请信息必须注明具体研究方向,否则一概不批。
思想家公社的门口Blog:http://sobereva.com(发布大量原创计算化学相关博文)
Multiwfn主页:http://sobereva.com/multiwfn(最流行的量子化学波函数分析程序)

此账号为诸Sobereva共用
Money and papers are rubbish, get a real life!

4

帖子

0

威望

42

eV
积分
46

Level 2 能力者

发表于 2016-3-4 13:01:47 | 显示全部楼层

今天终于搞定了,多谢啦,我发现原来我用的是64位的Linux系统,换成32位的之后马上就没问题了……

4

帖子

0

威望

264

eV
积分
268

Level 3 能力者

发表于 2016-8-17 11:09:07 | 显示全部楼层
moonking 发表于 2016-3-4 13:01
今天终于搞定了,多谢啦,我发现原来我用的是64位的Linux系统,换成32位的之后马上就没问题了……

根据你之前的那个报错应该是gcc 和 g++的版本导致,换用4.4 或4.5就应该能解决,不需要换32位系统

1

帖子

0

威望

19

eV
积分
20

Level 1 能力者

发表于 2017-4-10 21:53:04 | 显示全部楼层
我也发现这个AICD软件和用的系统有关系,好几台系统用的centos7的就是会出现,渲染文件大小为0的问题,而同样的操作换了一台红帽子系统,就正常了。编译器也没有报错。而且都是最新的编译器。

605

帖子

15

威望

2251

eV
积分
3156

Level 5 (御坂)

发表于 2018-4-25 23:22:42 | 显示全部楼层
本帖最后由 ggdh 于 2018-4-25 23:34 编辑

有人问显示不全怎么办,或者是要换方向看怎么办,可以直接用文本编辑工具打开RenderMich.pov文件改文件开头下面的参数(写完后才发现sob的原帖中有更多选项的说明,可以直接过去看。。。)
camera{
  location <-1000, 0, 0>   //调整摄像头的位置,这里放在x轴的-1000的位置,如果显示不全可以放的更远
  direction < 2, 0, 0 >      //这个是摄像头看的方向,这里看向x的正方向,也就是看向yz平面
  sky < 1,0,0>
  up < 0, 1, 0 >              //色相头上下的广角,显示不全也可以把这个数调大。这里从x方向看yz平面,0,1,0表示上下是y轴
  right < 0, 0, 1.33 >      //色相头左右的广角,上下和左右的广角最好按比例调,否者图像会变形
  orthographic
}

light_source { < -160, 60, -60 > color rgb < 0.35, 0.35, 0.35 > }
light_source { < -160, 60, 60 > color rgb < 0.35, 0.35, 0.35 > }
light_source { < -160, -60, -60 > color rgb < 0.35, 0.35, 0.35 > }
light_source { < -160, -60, 60 > color rgb < 0.35, 0.35, 0.35 > }//这4个是加了4个光源,左边矢量控制光源的位置,右边控制光源的颜色,如果换方向看就要调整光源的位置。注意要把光源放在摄像头的同侧,不然是逆光。。


评分

参与人数 1eV +3 收起 理由
sobereva + 3

查看全部评分

605

帖子

15

威望

2251

eV
积分
3156

Level 5 (御坂)

发表于 2018-5-7 22:53:59 | 显示全部楼层
本帖最后由 ggdh 于 2018-5-8 09:49 编辑

今天有人问:对于开壳层体系,发现β轨道无法正常运算,
研究一番之后发现,β轨道的编号并不能用正常的编号
正常的β轨道的编号是α占据+α空+β编号。
而这里β轨道编号应该是α占据+β编号。
举个例子:
甲醛阳离子自由基分子,α轨道34个β轨道34个,αHOMO 是α轨道中的第8号轨道,βHOMO是β轨道中的第7号。
Multiwfn会显示βHOMO是34+7=41号轨道,而这这里输入βHOMO应该输入8+7=15号轨道。
您需要登录后才可以回帖 登录 | 现在注册!

本版积分规则

手机版|北京科音自然科学研究中心|京公网安备 11010502035419号|计算化学公社 — 北京科音旗下高水平计算化学交流论坛 ( 京ICP备14038949-1号 )

GMT+8, 2019-12-8 01:58 , Processed in 0.153498 second(s), 27 queries .

快速回复 返回顶部 返回列表