当前位置: 首页 > 第一原理 >【求助】VASP 中晶格参数的优化问题

【求助】VASP 中晶格参数的优化问题

作者 冻冻2007
来源: 小木虫 450 9 举报帖子
+关注

大家好,我在利用VASP程序做周期性碳纳米管结构优化的时候,希望只优化管轴z方向的晶格参数,其它两个方向的晶格参数,请问如何能够达到这个目的?谢谢!

[ Last edited by wuchenwf on 2009-6-23 at 20:07 ] 返回小木虫查看更多

今日热帖
  • 精华评论
  • wangle_xq

    没人回答啊?这个不难。在POSCAR中第7行添加 Selective Dynamics 选项
    然后为每一个原子位置后面添加具体的变化参数。T表示可变,F表示固定。这个设定在手册中的POSCAR环节有提到。

    例如
      0.0000 0.0000 0.5000 F F T
    即可表示x,y方向固定,z方向可变。

    lz可以再看看手册。上面的说明更重要。

    [ Last edited by wangle_xq on 2009-4-27 at 20:20 ]

  • 冻冻2007

    谢谢你, 不过我想问的是如何选择性优化晶格常数,而不是选择性的优化原子的坐标。具体我想做这样一件事情:建立一个周期性的碳纳米管,这个管子是放在一个晶格常数为a*b*c的超单胞中,为了优化碳管在轴向的晶格常数,我希望固定a,b只优化c,我不知道在VASP中是如何实现的?

  • wangle_xq

    我没有做过碳管,冒然上来答题可能不太合适吧。呵呵。
    我现在还不是很明白你的意思,可以讨论一下。

    据我了解,如果要计算一个碳管,那么首先你需要建立一个含有真空层的超晶胞。通常这个真空层应该是处于x,y面。而z轴方向上应该就是周期性扩展的碳纳米管。是这样么?(如果这步都错了,那请忽略以下所说。不好意思)

    如果是这样,那么LZ所说的a×b×c的超晶胞应该就是我上面讲的,a表示x轴方向的晶胞大小,b表示的是y轴的晶胞大小。在x,y轴包含真空层的前提下,我认为,这个a,b的大小没有实际的意义。原因是,VASP的计算是包括周期性边界条件的,这个条件不能去除。为了可以计算碳管,一般的处理原则是选择足够大的真空层,保证在周期性条件下,超晶胞内的碳管不会对晶胞外产生影响。所以,我觉得改变a,b的想法本身值得讨论。

    另外,lz希望优化c,也就是z轴方向的大小这点还是比较容易理解的。据我所知VASP当中的确没有这方面的设定。INCAR中的ISIF参数和超晶胞设定相关,但是只是规定体积是否可变,原子是否可变等等,并不满足楼主要求。如果楼下有人知道如何计算,我也是很想知道的,

  • 冻冻2007

    谢谢你的回帖,也很高兴能就这个问题给你讨论一下:
    首先呢,你说的我都同意。
    其次,我知道在VASP中,ISIF参数设定了结构优化的尺度(原子坐标,晶格体积,晶格形状),我想优化晶格参数,所以一般ISIF要取3(原子坐标,晶格体积,晶格形状都优化)。但是为了保证相邻的碳管之间没有相互作用,所以优化晶格形状和体积的时候我不希望a,b变化,我只希望优化c。
    编一个脚本文件,设置几个c的值可以得到能量最低的结构,但是这种方法计算量大,每变一个c的值都要结构优化一次,所以我想问一下大家VASP中有没有什么特殊的设置。

  • 化学小工

    似乎没有这种设置,不过基本上其他方向的变化并不是很大,但由于你优化的结构更加的接近于能量最低的那个结构,你每次优化的计算量应该减小很多才对。而且晶格常数可以在文献里面查到,基本上相同 势的情况下lx差不多的

  • wangle_xq

    有没有尝试计算过?如果设定ISIF=3,固定原子x,y坐标,计算一下试试看。在块体材料的条件下,a,b值肯定是不会变的——我采用的是Direct坐标。我相信,对于碳管,如此设定应该能得到lz预想相似的结果。如果Direct坐标不成,更改一下Cartesian坐标再试一次。

    另外,如果a,b有变化,还应该验证一下真空层的大小,可能真空层不够大。退一步讲,如果真空层足够大,并且采用Cartesian坐标,就算a,b有变化对你的碳管也没有影响啊。

    引用回帖:
    谢谢你的回帖,也很高兴能就这个问题给你讨论一下:
    首先呢,你说的我都同意。
    其次,我知道在VASP中,ISIF参数设定了结构优化的尺度(原子坐标,晶格体积,晶格形状),我想优化晶格参数,所以一般ISIF要取3(原子坐标,晶格体积,晶格形状都优化)。但是为了保证相邻的碳管之间没有相互作用,所以优化晶格形状和体积的时候我不希望a,b变化,我只希望优化c。  ...

    [ Last edited by wangle_xq on 2009-4-28 at 13:57 ]

  • cuihang

    我的建议是,手动解决这个问题,也就是写一个脚本,把一定范围内的Z值算一遍做个曲线出来,最低点就找到了。
    有点费事,不过据我所知就这一个办法了,期待高人能有更好的答案

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