计算化学公社

标题: 求助,tcl脚本使用foreach遍历出现未统计完就断掉的情况 [打印本页]

作者
Author:
liucw    时间: 2022-11-15 10:56
标题: 求助,tcl脚本使用foreach遍历出现未统计完就断掉的情况
最近使用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. }
复制代码







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