proc getrad_overtime {rmax seltext outfile} { set num_frames [molinfo top get numframes] set ofile [open "$outfile" w]; for {set frame 0} {$frame < $num_frames} {incr frame} { puts $ofile "Frame: $frame" puts "Frame: $frame" animate goto $frame molinfo top set frame $frame radden $rmax $seltext $ofile } close $ofile } proc radden {rmax seltext ofile} { set r 1 set lastr 0 while {$r < $rmax} { set sel [atomselect top "$seltext and sqrt(x*x+y*y+z*z)<$r and sqrt(x*x+y*y+z*z)>= $lastr"] set num [$sel num] puts "Radius=$r Number=$num" set mass 0 if {[$sel num] == 1} { set mass [$sel get mass] } if {[$sel num] > 1} { set mass [eval "vecadd [$sel get mass]"] } puts $ofile "$r $mass" puts "$r $mass" incr r incr lastr $sel delete } }