计算化学公社

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

[Gaussian/gview] 在VMD中显示Gaussian计算的原子受力

[复制链接 Copy URL]

5万

帖子

99

威望

5万

eV
积分
112385

管理员

公社社长

在VMD中显示Gaussian计算的原子受力
Displaying atomic forces calculated by Gaussian in VMD

文/Sobereva@北京科音  2020-Sep-13


在量子化学研究中,原子受力往往是非常值得关注的量。Gaussian程序可以通过force关键词计算原子的受力,然后在GaussView中可以根据原子受力大小进行着色,但是没法绘制出受力矢量。本文介绍如何在免费、灵活、强大的VMD程序中,通过笔者自写的tcl脚本,将Gaussian计算的原子受力非常直观地通过箭头展现出来,这对于一些量子化学问题的研究很有益处。VMD可以在http://www.ks.uiuc.edu/Research/vmd/免费下载,本文使用VMD 1.9.3,Gaussian使用G16 A.03。

在此处下载绘图脚本和示例文件:http://sobereva.com/attach/568/file.zip。将其中的forcevec.tcl和drawarrow.tcl复制到VMD目录下。

用文本编辑器打开forcevec.tcl,可看到开头有几个设置:
set filename:载入的Gaussian输出文件路径
set sclfac:以a.u.为单位的原子受力矢量乘上这个系数就是绘制出的箭头的长度。应根据实际图像效果反复尝试找到最合适的
set rad:箭头的粗细
set color:箭头的颜色名
set crit:如果某个原子的受力大小小于所有原子最大受力大小乘以这个系数,则这个原子的受力就不会用箭头绘制出来,由此可避免在受力相对非常小的原子上出现非常短的、没什么实际意义的箭头。默认为0.1


例1:联苯的基态极小点结构下在S1势能面上的原子受力

本文文件包里的biphenyl_S1force.out是在优化过的联苯的基态极小点结构下,用TDDFT算的S1激发态的原子受力的输出文件,用到的关键词在此文件里已经体现了。

把biphenyl_S1force.out载入GaussView,保存成pdb文件,然后把pdb文件载入到VMD里。然后将biphenyl_S1force.out挪到VMD目录下,用文本编辑器打开forcevec.tcl,把set filename后面的内容改为biphenyl_S1force.out,把set sclfac后面的内容改为20,然后保存文件。之后在VMD的文本窗口里输入source forcevec.tcl,脚本就从biphenyl_S1force.out里读取原子受力,然后绘制出了箭头。把背景改成白色,在Graphics - Representation里把显示方式改为Licorice后看到下图



根据原子受力可见,在体系所处的这个Franck-condon点位置,联苯中央的C-C键倾向于缩短。实际上在PBE0/6-311G*级别下,联苯的基态极小点结构下这个C-C键键长为1.478埃,而同级别下用TDDFT优化的S1态极小点下这个键长为1.413埃,明显短了很多。另外,从上图可见其它原子也有显著受力,这体现出苯环结构将要自发进行调整,确实S1态极小点下苯环的各个键长相对于S0态都有显著变化。


例2:晕苯与富勒烯复合物

笔者之前在PM6-D3下对晕苯与富勒烯形成的复合物进行了优化。这里看一下如果在优化的复合物结构的基础上,若把富勒烯与晕苯距离稍微拉远一点,原子受力是什么样的。本文文件包里complex_force.out就是在人为拉远的结构下用PM6-D3做force任务的输出文件,complex_force.pdb是相应的结构文件。将complex_force.pdb载入VMD,把complex_force.out复制到VMD目录下,将forcevec.tcl里的set filename后面写上complex_force.out。由于弱相互作用对应的原子间相互作用很弱,所以在set sclfac后面写上一个比较大的值,这里用1500。在VMD文本窗口里运行source forcevec.tcl,进一步调节下作图设置后看到下图



可见,由于富勒烯与晕苯之间的色散吸引作用,再加上当前结构下二者间距比平衡距离更远,两个分子彼此间挨得较近的原子上都出现了令二者距离进一步拉近的力。


例3:外电场下的18碳环的受力

笔者对18碳环及类似体系做过大量的理论研究,汇总见http://sobereva.com/carbon_ring.html。其中,笔者在名为Ultrastrong Regulation Effect of the Electric Field on the All-Carboatomic Ring Cyclo[18]Carbon(https://chemistry-europe.onlinelibrary.wiley.com/doi/10.1002/cphc.202000903)的论文中全面、深入研究了外电场对18碳环的几何结构、电子结构、电子吸收光谱等特征的影响,此文的介绍见《一篇文章深入揭示外电场对18碳环的超强调控作用》(http://sobereva.com/570)。在此文中通过类似于上文的做法绘制了下面的图(需要利用专门的tcl脚本)



此图体现的信息的详细解释请看上面提到的论文,这里只是简单提一下。这个图绘制了各个原子的受力,还用绿色箭头展现了左、右两侧原子的总体受力,用紫色箭头展现了上、下两侧原子的总体受力,划分方式在图(a)中通过虚线体现了。原子的颜色体现的是ADCH方法算的原子电荷,实现方法在《使用Multiwfn+VMD以原子着色方式表现原子电荷、自旋布居、电荷转移、简缩福井函数》(http://sobereva.com/425)中介绍了。图(a)体现出18碳环在原始结构下,如果刚加上外电场,此刻的受力并不会立刻造成碳环的整体变形,但会明显造成键长发生改变的倾向。图(b)体现出,在外电场下当碳环的结构已稍微经过弛豫、出现了一些变形后,此刻的原子受力就会明显倾向于让18碳环在顺着电场方向拉长,而在垂直于电场方向压扁,从而使碳环变得更加像椭圆。图(c)是在电场下优化后的结构,但是此刻撤掉了外电场,由绿色箭头可见此时18碳环有明显的恢复成原本圆形的倾向,体现出弹性特征。此图清晰地展现出电场下18碳环这个体系的独特的力学特性,如果不把受力绘制成箭头,很难予以这样深入的探讨。

若要绘制一批原子的总受力,可以在source forcevec.tcl之后,把下面的代码拷到VMD文本窗口里。这部分代码原本是笔者用来绘制上图中左侧5个原子总受力用的。4 5 6 7 8是被计算总受力的原子序号,总受力矢量及其模也会被输出到屏幕上。在绘制箭头时,为了让位置比较舒服,箭头中心位置取的是$atmleft 3 9 2 10的几何中心,即4 5 6 7 8加上相邻的3 9 2 10四个原子。

set atmleft "4 5 6 7 8"
draw color green
set fxleft 0
set fyleft 0
set fzleft 0
foreach i $atmleft {
set fxleft [expr $fxleft+$fx($i)]
set fyleft [expr $fyleft+$fy($i)]
set fzleft [expr $fzleft+$fz($i)]
}
puts "Left side force: $fxleft $fyleft $fzleft"
set normval [expr sqrt($fxleft**2+$fyleft**2+$fzleft**2)]
puts "Norm: $normval"
drawarrow "serial $atmleft 3 9 2 10" $fxleft $fyleft $fzleft $sclfac 0.2

评分 Rate

参与人数
Participants 2
eV +7 收起 理由
Reason
heidou + 2
kay + 5 赞!

查看全部评分 View all ratings

北京科音自然科学研究中心http://www.keinsci.com)致力于计算化学的发展和传播,长期开办高质量的各种计算化学类培训:初级量子化学培训班中级量子化学培训班高级量子化学培训班量子化学波函数分析与Multiwfn程序培训班分子动力学与GROMACS培训班CP2K第一性原理计算培训班,内容介绍以及往届资料购买请点击相应链接查看。这些培训是计算化学从零快速入门以及进一步全面系统性提升研究水平的高速路!培训各种常见问题见《北京科音办的培训班FAQ》
欢迎加入“北京科音”微信公众号获取北京科音培训的最新消息、避免错过网上有价值的计算化学文章!
欢迎加入人气非常高、专业性特别强的综合性理论与计算化学交流QQ群“思想家公社QQ群”:1号:18616395,2号:466017436,3号:764390338,搜索群号能搜到哪个说明目前哪个能加,合计9000人。北京科音培训班的学员在群中可申请VIP头衔,提问将得到群主Sobereva的最优先解答。
思想家公社的门口Blog:http://sobereva.com(发布大量原创计算化学相关博文)
Multiwfn主页:http://sobereva.com/multiwfn(十分强大的量子化学波函数分析程序)
ResearchGate:https://www.researchgate.net/profile/Tian_Lu
Money and papers are rubbish, get a real life!

19

帖子

0

威望

226

eV
积分
245

Level 3 能力者

24#
发表于 Post on 2024-2-17 10:41:35 | 只看该作者 Only view this author

好的,谢谢Sob老师

5万

帖子

99

威望

5万

eV
积分
112385

管理员

公社社长

23#
 楼主 Author| 发表于 Post on 2024-2-5 03:56:11 | 只看该作者 Only view this author
heidou 发表于 2024-2-4 08:52
sob老师,您好!
请问如果要计算第二激发态的原子受力图,是不是在TD后面加上(nstates=6,root=2)就可以 ...

北京科音自然科学研究中心http://www.keinsci.com)致力于计算化学的发展和传播,长期开办高质量的各种计算化学类培训:初级量子化学培训班中级量子化学培训班高级量子化学培训班量子化学波函数分析与Multiwfn程序培训班分子动力学与GROMACS培训班CP2K第一性原理计算培训班,内容介绍以及往届资料购买请点击相应链接查看。这些培训是计算化学从零快速入门以及进一步全面系统性提升研究水平的高速路!培训各种常见问题见《北京科音办的培训班FAQ》
欢迎加入“北京科音”微信公众号获取北京科音培训的最新消息、避免错过网上有价值的计算化学文章!
欢迎加入人气非常高、专业性特别强的综合性理论与计算化学交流QQ群“思想家公社QQ群”:1号:18616395,2号:466017436,3号:764390338,搜索群号能搜到哪个说明目前哪个能加,合计9000人。北京科音培训班的学员在群中可申请VIP头衔,提问将得到群主Sobereva的最优先解答。
思想家公社的门口Blog:http://sobereva.com(发布大量原创计算化学相关博文)
Multiwfn主页:http://sobereva.com/multiwfn(十分强大的量子化学波函数分析程序)
ResearchGate:https://www.researchgate.net/profile/Tian_Lu
Money and papers are rubbish, get a real life!

19

帖子

0

威望

226

eV
积分
245

Level 3 能力者

22#
发表于 Post on 2024-2-4 08:52:42 | 只看该作者 Only view this author
sob老师,您好!
请问如果要计算第二激发态的原子受力图,是不是在TD后面加上(nstates=6,root=2)就可以了,麻烦老师了。

202402040852376962..png (13.97 KB, 下载次数 Times of downloads: 12)

202402040852376962..png

19

帖子

0

威望

226

eV
积分
245

Level 3 能力者

21#
发表于 Post on 2024-2-3 10:10:46 | 只看该作者 Only view this author
sobereva 发表于 2024-2-3 05:04
pdb往VMD main里拖,别拖到文本窗口里

好的,谢谢sob老师

5万

帖子

99

威望

5万

eV
积分
112385

管理员

公社社长

20#
 楼主 Author| 发表于 Post on 2024-2-3 05:04:05 | 只看该作者 Only view this author
heidou 发表于 2024-2-2 15:52
各位老师好,
我在计算原子力时,把pdb文件载入到VMD里,回车后会显示invalid command name "D:Lenovosoft ...

pdb往VMD main里拖,别拖到文本窗口里
北京科音自然科学研究中心http://www.keinsci.com)致力于计算化学的发展和传播,长期开办高质量的各种计算化学类培训:初级量子化学培训班中级量子化学培训班高级量子化学培训班量子化学波函数分析与Multiwfn程序培训班分子动力学与GROMACS培训班CP2K第一性原理计算培训班,内容介绍以及往届资料购买请点击相应链接查看。这些培训是计算化学从零快速入门以及进一步全面系统性提升研究水平的高速路!培训各种常见问题见《北京科音办的培训班FAQ》
欢迎加入“北京科音”微信公众号获取北京科音培训的最新消息、避免错过网上有价值的计算化学文章!
欢迎加入人气非常高、专业性特别强的综合性理论与计算化学交流QQ群“思想家公社QQ群”:1号:18616395,2号:466017436,3号:764390338,搜索群号能搜到哪个说明目前哪个能加,合计9000人。北京科音培训班的学员在群中可申请VIP头衔,提问将得到群主Sobereva的最优先解答。
思想家公社的门口Blog:http://sobereva.com(发布大量原创计算化学相关博文)
Multiwfn主页:http://sobereva.com/multiwfn(十分强大的量子化学波函数分析程序)
ResearchGate:https://www.researchgate.net/profile/Tian_Lu
Money and papers are rubbish, get a real life!

19

帖子

0

威望

226

eV
积分
245

Level 3 能力者

19#
发表于 Post on 2024-2-2 15:52:03 | 只看该作者 Only view this author
各位老师好,
我在计算原子力时,把pdb文件载入到VMD里,回车后会显示invalid command name "D:LenovosoftstoreVMDlm318-force.pdb". 然后我编辑forcevec.tcl后在VMD的文本窗口里输入source forcevec.tcl,回车会显示couldn't read file "forcevec.tcl":no such file or directory.编辑的内容如下图以及它的log文件部分输出图。请给位老师帮忙看一下哪里有错误,谢谢!

202402021547528451..png (18.37 KB, 下载次数 Times of downloads: 13)

202402021547528451..png

202402021548564078..png (40.76 KB, 下载次数 Times of downloads: 14)

202402021548564078..png

26

帖子

0

威望

325

eV
积分
351

Level 3 能力者

18#
发表于 Post on 2023-10-18 09:14:59 | 只看该作者 Only view this author
sobereva 发表于 2023-10-17 21:00
脚本里传给drawarrow命令的受力矢量$fx($i) $fy($i) $fz($i)的模对应箭头长度
显然从drawarrow脚本里你 ...

好的,谢谢老师

5万

帖子

99

威望

5万

eV
积分
112385

管理员

公社社长

17#
 楼主 Author| 发表于 Post on 2023-10-17 21:00:22 | 只看该作者 Only view this author
wanan 发表于 2023-10-17 16:52
请问sob老师,您上面给出的例3中的紫色箭头和绿色箭头的长短要怎么调整呢?

脚本里传给drawarrow命令的受力矢量$fx($i) $fy($i) $fz($i)的模对应箭头长度
显然从drawarrow脚本里你可以看到具体命令是怎么构成的,涉及到利用VMD内置的绘制cone和cylinder的命令。自己用这样的命令绘制箭头时显然恰当给定端点的坐标就完了,cylinder的两个端点坐标间的距离对应箭头的圆柱部分的长度
北京科音自然科学研究中心http://www.keinsci.com)致力于计算化学的发展和传播,长期开办高质量的各种计算化学类培训:初级量子化学培训班中级量子化学培训班高级量子化学培训班量子化学波函数分析与Multiwfn程序培训班分子动力学与GROMACS培训班CP2K第一性原理计算培训班,内容介绍以及往届资料购买请点击相应链接查看。这些培训是计算化学从零快速入门以及进一步全面系统性提升研究水平的高速路!培训各种常见问题见《北京科音办的培训班FAQ》
欢迎加入“北京科音”微信公众号获取北京科音培训的最新消息、避免错过网上有价值的计算化学文章!
欢迎加入人气非常高、专业性特别强的综合性理论与计算化学交流QQ群“思想家公社QQ群”:1号:18616395,2号:466017436,3号:764390338,搜索群号能搜到哪个说明目前哪个能加,合计9000人。北京科音培训班的学员在群中可申请VIP头衔,提问将得到群主Sobereva的最优先解答。
思想家公社的门口Blog:http://sobereva.com(发布大量原创计算化学相关博文)
Multiwfn主页:http://sobereva.com/multiwfn(十分强大的量子化学波函数分析程序)
ResearchGate:https://www.researchgate.net/profile/Tian_Lu
Money and papers are rubbish, get a real life!

26

帖子

0

威望

325

eV
积分
351

Level 3 能力者

16#
发表于 Post on 2023-10-17 16:52:02 | 只看该作者 Only view this author
sobereva 发表于 2023-10-16 23:30
所有原子的箭头粗细是相同的,由开头的set rad 0.1决定
判断大小就是tcl语法层面的问题,看看http://bbs ...

请问sob老师,您上面给出的例3中的紫色箭头和绿色箭头的长短要怎么调整呢?

26

帖子

0

威望

325

eV
积分
351

Level 3 能力者

15#
发表于 Post on 2023-10-17 09:44:43 | 只看该作者 Only view this author
sobereva 发表于 2023-10-16 23:30
所有原子的箭头粗细是相同的,由开头的set rad 0.1决定
判断大小就是tcl语法层面的问题,看看http://bbs ...

好滴,谢谢sob老师,我去看看

5万

帖子

99

威望

5万

eV
积分
112385

管理员

公社社长

14#
 楼主 Author| 发表于 Post on 2023-10-16 23:30:59 | 只看该作者 Only view this author
wanan 发表于 2023-10-16 20:54
请问sob老师,您上面提到的原子受力的大小的代码,怎么修改一批原子中受力的箭头大小和判断这一批原子的受 ...

所有原子的箭头粗细是相同的,由开头的set rad 0.1决定
判断大小就是tcl语法层面的问题,看看http://bbs.keinsci.com/thread-157-1-1.html里的tcl教程很快就能学会
北京科音自然科学研究中心http://www.keinsci.com)致力于计算化学的发展和传播,长期开办高质量的各种计算化学类培训:初级量子化学培训班中级量子化学培训班高级量子化学培训班量子化学波函数分析与Multiwfn程序培训班分子动力学与GROMACS培训班CP2K第一性原理计算培训班,内容介绍以及往届资料购买请点击相应链接查看。这些培训是计算化学从零快速入门以及进一步全面系统性提升研究水平的高速路!培训各种常见问题见《北京科音办的培训班FAQ》
欢迎加入“北京科音”微信公众号获取北京科音培训的最新消息、避免错过网上有价值的计算化学文章!
欢迎加入人气非常高、专业性特别强的综合性理论与计算化学交流QQ群“思想家公社QQ群”:1号:18616395,2号:466017436,3号:764390338,搜索群号能搜到哪个说明目前哪个能加,合计9000人。北京科音培训班的学员在群中可申请VIP头衔,提问将得到群主Sobereva的最优先解答。
思想家公社的门口Blog:http://sobereva.com(发布大量原创计算化学相关博文)
Multiwfn主页:http://sobereva.com/multiwfn(十分强大的量子化学波函数分析程序)
ResearchGate:https://www.researchgate.net/profile/Tian_Lu
Money and papers are rubbish, get a real life!

26

帖子

0

威望

325

eV
积分
351

Level 3 能力者

13#
发表于 Post on 2023-10-16 20:54:20 | 只看该作者 Only view this author
请问sob老师,您上面提到的原子受力的大小的代码,怎么修改一批原子中受力的箭头大小和判断这一批原子的受力大小呢?

5万

帖子

99

威望

5万

eV
积分
112385

管理员

公社社长

12#
 楼主 Author| 发表于 Post on 2022-5-28 02:18:03 | 只看该作者 Only view this author
小和尚 发表于 2022-5-27 21:09
各位老师,请问我在使用教程中的示例文件作图时, 总是显示 “ wrong # args: should be "set varName ?new ...

可能forcevec.tcl里的路径没设对,或者用脚本前没载入相应的体系的pdb文件
并且确保用的VMD 1.9.3
北京科音自然科学研究中心http://www.keinsci.com)致力于计算化学的发展和传播,长期开办高质量的各种计算化学类培训:初级量子化学培训班中级量子化学培训班高级量子化学培训班量子化学波函数分析与Multiwfn程序培训班分子动力学与GROMACS培训班CP2K第一性原理计算培训班,内容介绍以及往届资料购买请点击相应链接查看。这些培训是计算化学从零快速入门以及进一步全面系统性提升研究水平的高速路!培训各种常见问题见《北京科音办的培训班FAQ》
欢迎加入“北京科音”微信公众号获取北京科音培训的最新消息、避免错过网上有价值的计算化学文章!
欢迎加入人气非常高、专业性特别强的综合性理论与计算化学交流QQ群“思想家公社QQ群”:1号:18616395,2号:466017436,3号:764390338,搜索群号能搜到哪个说明目前哪个能加,合计9000人。北京科音培训班的学员在群中可申请VIP头衔,提问将得到群主Sobereva的最优先解答。
思想家公社的门口Blog:http://sobereva.com(发布大量原创计算化学相关博文)
Multiwfn主页:http://sobereva.com/multiwfn(十分强大的量子化学波函数分析程序)
ResearchGate:https://www.researchgate.net/profile/Tian_Lu
Money and papers are rubbish, get a real life!

74

帖子

0

威望

1135

eV
积分
1209

Level 4 (黑子)

11#
发表于 Post on 2022-5-27 21:09:59 | 只看该作者 Only view this author
各位老师,请问我在使用教程中的示例文件作图时, 总是显示 “ wrong # args: should be "set varName ?newValue?"  ”,请问这种情况怎么解决呢?谢谢呀!

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

GMT+8, 2024-11-25 15:25 , Processed in 0.275567 second(s), 25 queries , Gzip On.

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