|
按照您的思路,成功了,谢谢sob老师。下面是我在您的基础上修改的TCL文件,适用于实时显示偶极矩方向: proc showdip {args} { global vmd_frame graphics 0 delete all set sel [atomselect top all frame $vmd_frame(0)] set dir [measure dipole $sel -debye] set com [measure center $sel weight mass] scan $dir "%f %f %f" x1 y1 z1 scan $com "%f %f %f" x0 y0 z0 set end "[expr $x0+$x1] [expr $y0+$y1] [expr $z0+$z1]" set init "[expr $x0] [expr $y0] [expr $z0]" puts "com = $init" puts "end = $end" puts "dip = $dir" graphics 0 color red graphics 0 cylinder $init $end radius 0.3 filled yes resolution 20 $sel delete } # trace variable vmd_frame(0) w showdip # trace vdelete vmd_frame(0) w showdi |
|
先把原子电荷读入VMD作为原子的charge属性 然后建立一个回调函数,帧数每切换一次就自动调用一次回调函数,计算偶极矩、删除原有物体并绘制出新的箭头 部分内容可参考 使VMD实时显示gromacs轨迹中原子的受力 http://sobereva.com/36 |
手机版 Mobile version|北京科音自然科学研究中心 Beijing Kein Research Center for Natural Sciences|京公网安备 11010502035419号|计算化学公社 — 北京科音旗下高水平计算化学交流论坛 ( 京ICP备14038949号-1 )|网站地图
GMT+8, 2026-2-24 03:30 , Processed in 0.173177 second(s), 25 queries , Gzip On.