计算化学公社

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

[建模与可视化] 在VMD中画振动模式

[复制链接 Copy URL]

170

帖子

2

威望

1734

eV
积分
1944

Level 5 (御坂)

跳转到指定楼层 Go to specific reply
楼主
本帖最后由 Kalinite 于 2021-3-19 04:31 编辑

GaussView中画振动模式的箭头有点偏细,不是很清晰,想到sob老师曾写过在VMD中显示原子受力的.tcl脚本(http://sobereva.com/568),于是魔改了一发。但是苦于不懂.tcl的语句用法,于是东查查西查查改成了下面这样。现在已经能够处理我自己的Gaussian16的freq输出,只要改开头NoMode为所需查看的振动模式序号,但是对比GaussView中看到的结果发现,这里需要减1(也就是说如果想看第10号模式,应该写9),不是很清楚哪里写错了,还请懂行的大佬指出。
因为最近正好想画几个振动模式的图,一想到这个可能行马上爬起来捣鼓了一下,写的有点烂,实现的方法可能也比较无脑。
  1. set filename xxx.log
  2. set NoMode 0

  3. set counter [expr $NoMode / 3]
  4. set res [expr $NoMode % 3]

  5. #Scale factor of arrow length
  6. set sclfac 20
  7. #Radius of arrow
  8. set rad 0.1
  9. #Color of arrow
  10. set color yellow
  11. #Criterion of drawing arrow
  12. set crit 0.1

  13. # Load atomic forces
  14. set myfile [open $filename r]
  15. while { [gets $myfile line] >=0 } {
  16. if {[string first "Harmonic frequencies" $line] != -1} {
  17. break
  18. }
  19. }
  20. gets $myfile line
  21. gets $myfile line
  22. gets $myfile line
  23. gets $myfile line
  24. gets $myfile line
  25. gets $myfile line
  26. gets $myfile line
  27. gets $myfile line
  28. gets $myfile line;#如果同时算了Raman之类还要额外加一行gets $myfile line,因为会多一行数据
  29. set natm [molinfo top get numatoms]
  30. set nmode [expr $natm * 3 - 6]
  31. set k 0

  32. while { [gets $myfile line] >=0 } {
  33. if {[string first "Atom" $line] != -1} {
  34. set k [expr $k + 1]
  35. }
  36. if {$k >= $counter} {
  37. break
  38. }
  39. }

  40. if {$res != 1} {
  41. for {set i 1} {$i <= $natm} {incr i} {
  42. gets $myfile line
  43. scan $line "%d %d %f %f %f %f %f %f %f %f %f" itmp jtmp fx($i) fy($i) fz($i) dd ee ff gg hh ii
  44. }
  45. }   elseif {$res != 2} {
  46. for {set i 1} {$i <= $natm} {incr i} {
  47. gets $myfile line
  48. scan $line "%d %d %f %f %f %f %f %f %f %f %f" itmp jtmp aa bb cc fx($i) fy($i) fz($i) gg hh ii
  49. }
  50. }   elseif {$res != 0} {
  51. for {set i 1} {$i <= $natm} {incr i} {
  52. gets $myfile line
  53. scan $line "%d %d %f %f %f %f %f %f %f %f %f" itmp jtmp aa bb cc dd ee ff fx($i) fy($i) fz($i)
  54. }
  55. }

  56. close $myfile

  57. set maxf 0
  58. for {set i 1} {$i<=$natm} {incr i} {
  59. set norm [expr sqrt($fx($i)**2+$fy($i)**2+$fz($i)**2)]
  60. if {$norm>$maxf} {set maxf $norm}
  61. }

  62. source drawarrow.tcl
  63. draw delete all
  64. draw color $color
  65. for {set i 1} {$i<=$natm} {incr i} {
  66. set norm [expr sqrt($fx($i)**2+$fy($i)**2+$fz($i)**2)]
  67. if {$norm>[expr $crit*$maxf]} {
  68. drawarrow "serial $i" $fx($i) $fy($i) $fz($i) $sclfac $rad 0
  69. }
  70. }

复制代码



5万

帖子

99

威望

5万

eV
积分
112462

管理员

公社社长

2#
发表于 Post on 2021-3-19 07:06:06 | 只看该作者 Only view this author
之前我发过
在VMD中绘制Gaussian计算的分子振动矢量的方法
http://sobereva.com/567http://bbs.keinsci.com/thread-19287-1-1.html
北京科音自然科学研究中心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!

170

帖子

2

威望

1734

eV
积分
1944

Level 5 (御坂)

3#
 楼主 Author| 发表于 Post on 2021-3-19 10:04:46 | 只看该作者 Only view this author
sobereva 发表于 2021-3-19 07:06
之前我发过
在VMD中绘制Gaussian计算的分子振动矢量的方法
http://sobereva.com/567(http://bbs.keinsci ...

太尴尬了,之前没注意到

12

帖子

0

威望

47

eV
积分
59

Level 2 能力者

4#
发表于 Post on 2024-11-7 17:11:22 | 只看该作者 Only view this author
sobereva 发表于 2021-3-19 07:06
之前我发过
在VMD中绘制Gaussian计算的分子振动矢量的方法
http://sobereva.com/567(http://bbs.keinsci ...

老师,我没有找到帖子中提到的GauNorm.tcl和drawarrow2.tcl两个文件

5万

帖子

99

威望

5万

eV
积分
112462

管理员

公社社长

5#
发表于 Post on 2024-11-8 21:22:43 | 只看该作者 Only view this author
Huangff 发表于 2024-11-7 17:11
老师,我没有找到帖子中提到的GauNorm.tcl和drawarrow2.tcl两个文件

文章写得没法更清楚
在这里下载笔者编写的绘图脚本和示例文件:http://sobereva.com/attach/567/file.zip


北京科音自然科学研究中心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!

12

帖子

0

威望

47

eV
积分
59

Level 2 能力者

6#
发表于 Post on 2024-11-11 21:29:46 | 只看该作者 Only view this author
sobereva 发表于 2024-11-8 21:22
文章写得没法更清楚

谢谢老师,是我没有看仔细,提问当天在该文件夹找到了,抱歉耽误您时间

本版积分规则 Credits rule

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

GMT+8, 2024-11-26 12:17 , Processed in 0.157897 second(s), 20 queries , Gzip On.

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