|
|
- #********PARAMETER*********
- set sel "all"
- set fileid [open gyration.dat w]
- set begframe 0
- set endframe -1
- set stride 1
- #**************************
- set selvar [atomselect top $sel]
- set nframe [molinfo top get numframes]
- if { $endframe == -1 } {set endframe [expr $nframe-1]}
- set com [measure center "$selvar" weight mass]
- set totmass 0
- set sum 0
- foreach i [$selvar get mass] {
- set totmass [expr $totmass+$i]
- }
- for {set i $begframe} {$i<=$endframe} {incr i $stride} {
- foreach j [$selvar get mass] k [$selvar get {x y z}] {
- $selvar frame $i
- $selvar update
- set sum [vecadd $sum [expr $j*[veclength2 [vecsub $k $com]]]]
- }
- puts -nonewline [format " Now is calculating %i_th frames....\r" $i]
- set gyr [expr sqrt(double($sum)/$totmass)]
- set sum 0
- puts $fileid "$i \t $gyr"
- }
- close $fileid
复制代码 |
|