参考链接
详细设置可以参考官方教程:思想家公社
Multiwfn和VMD安装和设置可以参考官方说明或者本站[快速上手]Multiwfn与VMD安装说明。
VMD配置
将Multiwfn的examples\scripts目录下的drawarrow.tcl
文件复制到VMD安装目录中,然后在VMD配置文件vmd.rc
中引用,例如在配置文件中添加如下参数:
1
| source {G:\VMD193\VMD\drawarrow.tcl}
|
drawarrow.tcl
文件中第一行{rad 0.05}
中的数字代表箭头直线部分的宽度,倒数第二行[expr $rad*2.5]
中的数字代表箭头上方部分宽度和直线部分宽度的比值,两个参数可以按需修改。
偶极矩绘制
通过软件计算得到分子偶极矩,例如Gaussian在计算完成后会在log文件中显示
1 2
| Dipole moment (field-independent basis, Debye): X= 0.0000 Y= -0.0000 Z= -0.3706 Tot= 0.3706
|
使用multiwfn软件读取Gaussian任务的log文件或者fchk文件,生成xyz文件,然后通过vmd读取xyz文件,并在命令窗口输入下列命令生成偶极矩箭头:
1 2
| draw color green drawarrow all 0 0 -0.3706 10
|
其中color代表箭头颜色,drawarrow最后的数字代表箭头长度与实际偶极矩数值的比值,偶极矩数值较小时可以将该值设大。
drawarrow.tcl具体内容如下,如果只是单次使用,可在每次使用时复制到vmd命令窗口,而不需要添加到VMD配置文件中。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| proc drawarrow {atmrange fragdx fragdy fragdz {scl 1} {rad 0.05} {showgoc 1}} { #Determine arrow center set sel [atomselect top $atmrange] set cen [measure center $sel] set cenx [lindex $cen 0] set ceny [lindex $cen 1] set cenz [lindex $cen 2] if {$showgoc==1} {puts "Geometry center: $cenx $ceny $cenz"} #Scale vector set fragdx [expr $fragdx*$scl] set fragdy [expr $fragdy*$scl] set fragdz [expr $fragdz*$scl] #Draw arrow set body 0.75 set begx [expr $cenx-$fragdx/2] set begy [expr $ceny-$fragdy/2] set begz [expr $cenz-$fragdz/2] set endx [expr $cenx+$fragdx*$body-$fragdx/2] set endy [expr $ceny+$fragdy*$body-$fragdy/2] set endz [expr $cenz+$fragdz*$body-$fragdz/2] draw cylinder "$begx $begy $begz" "$endx $endy $endz" radius $rad filled yes resolution 20 set endx2 [expr $cenx+$fragdx/2] set endy2 [expr $ceny+$fragdy/2] set endz2 [expr $cenz+$fragdz/2] draw cone "$endx $endy $endz" "$endx2 $endy2 $endz2" radius [expr $rad*2.5] resolution 20 }
|