当前位置: 首页 > 量子化学 >【求助】VMD画晶胞

【求助】VMD画晶胞

作者 wangyujia
来源: 小木虫 400 8 举报帖子
+关注

我是把.xyz文件用VMD打开,这种文件只有坐标,没有晶胞矢量。我想加上晶胞矢量,并多重复几个晶胞来看晶体结构,不知道用VMD可否实现?谢谢! 返回小木虫查看更多

今日热帖
  • 精华评论
  • childsliu

    如果你的晶胞是立方体的
    在tkconsole中输入
    moinfo top set a x
    moinfo top set b y
    moinfo top set c z
    x , y, z 为你晶胞矢量的数值 单位为埃
    vmd mian->Graphical Represention->periodic
    想重复几个自己选

  • wangyujia

    引用回帖:
    Originally posted by childsliu at 2009-10-16 18:33:
    如果你的晶胞是立方体的
    在tkconsole中输入
    moinfo top set a x
    moinfo top set b y
    moinfo top set c z
    x , y, z 为你晶胞矢量的数值 单位为埃
    vmd mian->Graphical Represention->periodic
    想重复 ...

    谢谢啊!很不巧,我的是六方啊!怎么办啊?
    ps:你写的命令中少了一个l,应该是molinfo。我先敲了一行,发现错了,然后根据你的命令在说明书中找到了类似的命令,试了一下,OK了!!

    [ Last edited by wangyujia on 2009-10-16 at 19:45 ]

  • childsliu

    加上
    molinfo top set alpha a
    molinfo top set beta  b
    molinfo top set gamma c
    a b c 为三个角 单位为度

    如果嫌麻烦
    直接用pbc set {x y z a b c} 就行了
    我用的是VMD1.8.7

  • wangyujia

    引用回帖:
    Originally posted by childsliu at 2009-10-16 19:56:
    加上
    molinfo top set alpha a
    molinfo top set beta  b
    molinfo top set gamma c
    a b c 为三个角 单位为度

    如果嫌麻烦
    直接用pbc set {x y z a b c} 就行了
    我用的是VMD1.8.7

    摸了一段时间,我算是弄明白了。a轴一定得平行于VMD中的x轴,其它的就随便了。但是我以往建的晶胞都设置的是b轴平行于y轴啊!结果a轴和x轴差了30度,请问我这种情况能在VMD中画出合理的晶胞吗?
    pbc那个命令我用不了,估计是版本的问题,我以后下一个1.8.7看看。
    还有一个问题,这种设置只是对VMD中的一个frame有用,我想看晶胞的movie,能否把所有的frame都设置成这种晶胞

  • childsliu

    利用transvecinv和move命令 把a轴移动到平行x轴
    如果所有的frame都在一个molid里
    这种设置当然对所有frame有用

  • wangyujia

    引用回帖:
    Originally posted by childsliu at 2009-10-16 21:14:
    利用transvecinv和move命令 把a轴移动到平行x轴
    如果所有的frame都在一个molid里
    这种设置当然对所有frame有用

    谢谢啊!可是我的问题还是没有完全解决。
    1、move的语法是什么啊?我看到说明书中说是move 4*4 matrix,可是把move和相应的matrix敲进去之后它却说invalid command name "move",对于1.8.7也是这样。
    2、VMD中的坐标转换矩阵怎么是四维的啊?第四维是什么?
    3、对于加晶胞的操作真的只能对一个frame有用,要不你试试我的movie?MnS的初基单胞,a=b=c=3.738,alpha=beta=gamma=60度。有劳了,谢谢!

    [ Last edited by wangyujia on 2009-11-3 at 16:06 ]

  • childsliu

    对于晶胞我不太熟悉 就先假定a轴矢量为{0 0.5 1.0}为例
    tkconsole:

    CODE:
    set all [atomselect top all]
    set nf [molinfo top get numframes]
    for {set i 0} {$i < $nf} {incr i} {
         $all move [transvecinv {0 0.5 1}]
    }

    以上将a轴平行于x轴
    如果情况不对 可以继续讨论

    对所有frames可以周期性显示的问题
    建议安装vmd1.8.7
    tkconsole:
    pbc set {a b c alpha beta gamma} -all
    即可

猜你喜欢
下载小木虫APP
与700万科研达人随时交流
  • 二维码
  • IOS
  • 安卓