将体系的结构文件(如.pdb、.xyz、.mol2)载入VMD后,如果这个体系的某个矢量是(-1.8916 0.7861 0.0),输入以下命令就可以令这个矢量冲着X轴的正方向。
set sel [atomselect top all]
$sel move [transvecinv "-1.8916 0.7861 0"]
如果要冲着Z轴正方向,接着输入
$sel move [transaxis y -90]
如果要冲着Y轴正方向,则在$sel move [transvecinv...那条命令运行后输入
$sel move [transaxis z 90]
3 例子
例如,使用Gaussian计算甲胺输出的偶极矩信息是
X= -1.2918 Y= 0.4031 Z= 0.0000 Tot= 1.3532
若想让偶极矩冲着Z轴正方向,就把输出文件载入GaussView,保存为pdb格式,再载入VMD,然后在VMD的命令行窗口将以下内容粘进去运行
set sel [atomselect top all]
$sel move [transvecinv "-1.2918 0.4031 0"]
$sel move [transaxis y -90]
之后用VMD的File - Save coordinates,将当前结构保存为.xyz格式文件,然后把里面的坐标拷到gjf文件里,用原先级别再做一次单点计算任务,并且同时写上nosymm关键词避免分子朝向被自动旋转到标准朝向(详见《谈谈Gaussian中的对称性与nosymm关键词的使用》http://sobereva.com/297)。从如下输出的偶极矩信息可见,确实此时偶极矩已经完全冲着Z方向了
X= 0.0000 Y= -0.0007 Z= 1.3532 Tot= 1.3532
由上也可看到Y分量不精确为0,这是因为pdb格式保存的坐标只保留小数点后三位。如果先用GaussView保存成gjf格式,再手动修改成.xyz格式并载入VMD,则可以令坐标保持高精度。