计算化学公社
标题:
求助,tcl脚本使用foreach遍历出现未统计完就断掉的情况
[打印本页]
作者Author:
liucw
时间:
2022-11-15 10:56
标题:
求助,tcl脚本使用foreach遍历出现未统计完就断掉的情况
最近使用vmd编写脚本时发现这样的一个问题,统计时出现这样的情况,前面统计出现未完全统计就意外结束,只有最后一次循环完全统计结束。请看图,脚本我贴在后面,请大家帮我看看,具体也是根据网上的脚本自己改了一下,加了循环。
#---------------------------------------------------
proc lbond {sel fp1 step} {
set select1 [atomselect top "$sel"]
set inde [$select1 get index]
#---------------------------------------------------
foreach k $inde {
set sel1 [atomselect top "index [expr $k-1]"]
set sel2 [atomselect top "index $k"]
if {[expr $k % 2] == 0} {
set outfile [open lbond/[expr $k-1]-$k.dat w]
set nf [molinfo top get numframes]
for { set i $fp1 } { $i <= 4700 } { incr i $step} {
$sel1 frame $i
set ct1 [measure center "$sel1"]
$sel2 frame $i
set ct2 [measure center "$sel2"]
set vsub [vecsub $ct1 $ct2]
set vlen [veclength $vsub]
if {$vlen < 4} {
puts $outfile "$i $vlen"
} else {puts $outfile "$i 0"}
}
}
puts "done!"
}
close $outfile
puts "All Done!"
}
复制代码
欢迎光临 计算化学公社 (http://bbs.keinsci.com/)
Powered by Discuz! X3.3