VMD-L Mailing List
From: Norman Geist (norman.geist_at_uni-greifswald.de)
Date: Tue Dec 20 2016 - 02:37:41 CST
- Next message: Amit Gupta: "Fw: Draw arrows in trajectory file"
- Previous message: Amit Gupta: "Draw arrows in trajectory file"
- In reply to: Amit Gupta: "Draw arrows in trajectory file"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ] [ attachment ]
You produced a common memory leak with many atomselects which you never
clear.
After you no more need an atomselect object, you should call "delete" on it
to free memory.
Eg.:
set a [atomselect top all]
set list [$a get index]
$a delete; #<-------
So whats happening is that vmd gets killed for eating up all the memory.
Best of luck
Norman Geist
Von: owner-vmd-l_at_ks.uiuc.edu [mailto:owner-vmd-l_at_ks.uiuc.edu] Im Auftrag von
Amit Gupta
Gesendet: Dienstag, 20. Dezember 2016 07:31
An: vmd-l_at_ks.uiuc.edu
Betreff: vmd-l: Draw arrows in trajectory file
I want to draw come arrows in a lammps trajectory file, indicating movement
of certain vectors.
I have written script below, it works fine for single frame, but for more
than one frame, VMD crashes without any message (even in console). Can
anyone suggest a reason?
draw color yellow
##-----------Draw arrow subroutine from VMD website----------
proc vmd_draw_arrow {mol start end} {
# an arrow is made of a cylinder and a cone
set middle [vecadd $start [vecscale 0.75 [vecsub $end $start]]]
graphics $mol cylinder $start $middle radius 0.1
graphics $mol cone $middle $end radius 0.3
}
##--------------------------------------------------------------------------
------
set n [molinfo top get numframes]
set sel [atomselect top "all"]
set n_list [atomselect top "type 6"] #get indexes of all nitrogens in
molecules
set all_n_atoms [$n_list get index]
for {set i 0} {$i < $n} {incr i} {
$sel frame $i
foreach n_atom $all_n_atoms {
set current_c_atom_index [expr $n_atom - 1] # get index of C
attached to N
set end [lindex [[atomselect top "index $n_atom"] get {x y z}] 0]
set start [lindex [[atomselect top "index $current_c_atom_index"]
get {x y z}] 0]
draw arrow $start $end
}
}
Sorry if certain logic seems slightly convoluted, still getting used to TCL!
- Next message: Amit Gupta: "Fw: Draw arrows in trajectory file"
- Previous message: Amit Gupta: "Draw arrows in trajectory file"
- In reply to: Amit Gupta: "Draw arrows in trajectory file"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ] [ attachment ]