“第10届量子化学波函数分析与Multiwfn程序培训班将于5月4-8日于北京举办,这是一次性完整、系统学习波函数分析的各种理论知识和全面掌握强大的Multiwfn波函数分析程序使用的最不可错过的机会!请点击此链接查看详情和报名方式,欢迎参加!

“第18届北京科音分子动力学与GROMACS培训班” 将于5月23-26日于北京举办。这是一次性全面、系统学习分子动力学模拟知识和最流行的分子动力学程序GROMACS的关键机会!报名正在进行中,请点击此链接查看详情,欢迎参加!

计算化学公社

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

[程序/脚本开发] 求助,tcl脚本使用foreach遍历出现未统计完就断掉的情况

[复制链接 Copy URL]

9

帖子

0

威望

323

eV
积分
332

Level 3 能力者

最近使用vmd编写脚本时发现这样的一个问题,统计时出现这样的情况,前面统计出现未完全统计就意外结束,只有最后一次循环完全统计结束。请看图,脚本我贴在后面,请大家帮我看看,具体也是根据网上的脚本自己改了一下,加了循环。
  1. #---------------------------------------------------
  2. proc lbond {sel fp1 step} {
  3. set select1 [atomselect top "$sel"]
  4. set inde [$select1 get index]
  5. #---------------------------------------------------
  6. foreach k $inde {
  7. set sel1 [atomselect top "index [expr $k-1]"]
  8. set sel2 [atomselect top "index $k"]
  9. if {[expr $k % 2] == 0} {
  10. set outfile [open lbond/[expr $k-1]-$k.dat w]
  11. set nf [molinfo top get numframes]
  12. for { set i $fp1 } { $i <= 4700 } { incr i $step} {  
  13.         $sel1 frame $i
  14.         set ct1 [measure center "$sel1"]
  15.         $sel2 frame $i
  16.         set ct2 [measure center "$sel2"]
  17.         set vsub [vecsub $ct1 $ct2]
  18.         set vlen [veclength $vsub]
  19.         if {$vlen < 4} {
  20.         puts $outfile "$i $vlen"
  21.         } else {puts $outfile "$i 0"}
  22. }
  23. }
  24. puts "done!"
  25. }
  26. close $outfile
  27. puts "All Done!"
  28. }
复制代码


1668412578081.jpg (237.65 KB, 下载次数 Times of downloads: 20)

1668412578081.jpg

1668412633345.jpg (328.9 KB, 下载次数 Times of downloads: 18)

1668412633345.jpg

1668412684607.jpg (338.98 KB, 下载次数 Times of downloads: 24)

1668412684607.jpg

本版积分规则 Credits rule

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

GMT+8, 2026-4-14 16:54 , Processed in 0.162736 second(s), 23 queries , Gzip On.

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