Slab模型

  • 1)增大真空层的厚度;厚度要适中,太小肯定不行,太大也不合适。想一想我们前面讲到的影响计算速度的一个因素,真空层太厚,也就意味着我们的模型尺寸变大,从而导致计算变慢。一般来说,对于表面反应的计算,15A的真空层厚度足够了。但是,对于功函数这一类对真空层敏感的计算来说,我们需要注意。 2)VASP中还需要加入:LDIPOL = .TRUE. 和 IDIPOL = 1 | 2| 3 |4 这两个参数来消除上下不对称的slab表面导致的偶极矩影响 https://cms.mpi.univie.ac.at/wiki/index.php/LDIPOL

  • 对于表面结构: 有以下几个需要注意的: 1)xy 方向上表面的大小: A)这个影响表面吸附物种的覆盖度; B)影响体系的尺寸大小和计算时间; C)不同的大小需要选取对应的K点;回想一下我们前面提到的经验规则

    2)不同的晶面,(111), (100),(110); A) 这取决于你研究的方向。 B) 不同晶面的表面能; C) 不同晶面的表面结构,反应活性等

    3)表面结构的层数 A)层数多了,原子变多,体系在 z 方向的尺寸增加,也会影响计算速度 B)计算中需要弛豫的层数; C)不同的层数对你要计算的性质会产生影响,比如表面能; D)不同的晶面需要的层数也不尽相同,一般开放的表面需要更多的层数。 E)根据自己感兴趣的性质,选择合适的层数,也就是需要你去测试一番。

    4)Slab模型有两种,一种是上下表面对称的,一种是非对称的。对称性结构往往需要很多层,体系较大。 非对称的结构体系较小,但存在偶极矩的影响,要注意加LDIPOL 和IDIPOL这两个参数来消除。后面我们会介绍到

  • 2.1 块体计算 1) 首先是搭建Cu单胞模型,以及导出VASP计算使用的POSCAR文件,这部分不清楚的筒子们可以看:Ex36 的内容。 2) INCAR文件的准备 A) Cu是金属,ISMEAR=1,SIGMA=0.1 B) ENCUT=700, Cu单胞含有的原子数很少,可以把ENCUT设置大一点 C) EDIFF和EDIFFG控制电子步收敛和离子弛豫的精度 D) PREC=High
    E)这里LREAL设置为Auto,是为了和后面表面能计算统一。计算时要根据原子数的多少,以及后续的计算选择LREAL的值。不能拿LREAL=.FALSE. 和LREAL=ON/.TRUE.计算的结果进行能量比较。
    F) 注意:块体材料计算时,为了后续计算其他性质,常常要求整个计算中使用相同的ENCUT,ENAUG, PREC, LREAL, ROPT

  • 2.2准备POTCAR文件进行计算

  • 2.3建立slab模型 ——MS

  • 2.4确定好表面终端和slab厚度之后,加真空层

  • POSCAR中,slab在平面方向上a 和 b 的大小为: 2.5717 Å,根据前面的经验规则: 我们可以在两个方向上K点取值为:13x13,z 方向上取值为1 单点计算需要注意的以下几个方面: 1)System = Cu(111) 可有可无 2)Cu 是金属,可以使用ISMEAR = 1; SIGMA = 0.1 3)ALGO = FAST 或者使用默认值 4)纯净的Cu(111)体系中,Cu没有磁性,ISPIN 不用设置 注意:CuO中Cu具有磁性,如果你算的是Cu的氧化物,就需要考虑ISPIN了 5)单点计算:NSW = 0 也可以不设置,因为默认值就是0 6)截断能: ENCUT = 450 很多人喜欢测试这个参数,450直接用是一个很好的选择 7)EDIFF = 1E-5 电子步的收敛标准 8)偶极矫正: LDIPOL = .TRUE. ; IDIPOL = 3 Slab模型一般都需要加上这个参数 9)控制OUTCAR和其他文件的输出: NWRITE = 0 ; LWAVE = .FALSE.;LCHARG = .FALSE. 10)也可以加上NCORE 这个参数来加快计算步骤,由于计算很快,本操作就不考虑了。

  • grep ' without' OUTCAR
    单点能为: -13.96918440 eV

  • Cu(111) 的优化计算 :

    • 前面单点计算的POSCAR不可以直接拿过来用吗?为什么要修改POSCAR文件? 这是因为在Slab模型中,我们经验要固定一部分原子来模拟体相,然后放开一部分原子来模拟表面。一般来说,表面的两层原子允许弛豫,而下面的那些原子则直接固 定住。 VASP中固定原子需要在POSCAR中进行操作。有两个关键点: 1)在POSCAR的第7行后添加一行,改行内容为Selective Dynamics, VASP只认第一个字母,你可以直接在这一行只加 S或者s。也可以换成其他的S开头的单词,比如SB, Super 等等; 2)在原子坐标后面加上 F 或者 T 表示固定或者放开,因为坐标有xyz三个数值,因此我们需要三个F或者T。我们可以控制允许原子在某一方向上移动,而其他方向上固定。 F F F 表示xyz全部固定; T T T 表示xyz全部放开,F F T 表示 xy方向固定,只允许原子在z方向上移动。 需要做的无非有两步, 1) 在第7行后加入Selective Dynamics 2) 在坐标后面加入T T T 或者 F F F 我们在本节中,将底部的两层原子固定,上面两层放开。

      sed -i '12,13s/$/T T T/g' POSCAR KPOINTS 和 POTCAR保持原来的样子不变
      优化的时候,我门回想一下要设置的东西: IBRION 和 POTIM IBRION可以使用 1 和2,我们这里用2。(没有为什么,也可以用1) POTIM =0.1 官网默认值是0.5,个人感觉比较大, 0.1是一个很不错的选择。 EDIFFG = -0.01优化时以力作为收敛标准。注意 -0.01 已经很严格了,除非特殊需要,不要设置-0.001,这样你就会在QQ群里求助大家,为什么我优化的时候一直不 收敛啊。如果设置-0.01,很多步过后仍然不收敛,可以尝试一下-0.02,也是一个很安全的选择。 NSW = 500 设置最大的优化步数。 ISIF = 2 slab 模型优化的时候,我们用ISIF =2 ,也就是VASP默认值,不用设置

  • 注意细节:

    • 对称和非对称slab模型的区别 :

      1)对称slab明显具有更多的原子数,在z方向更长,需要更多的真空层(上下两层);这就不可避免地出现了计算量大的缺点;尤其是对于机时捉襟见肘的筒子们来说,这个模型就不用考虑啦; 2)非对称模型由于其非对称性,在计算过程中会产生偶极矩,注意这个偶极矩是由于模型引入的,并非我们常说的分子中的偶极矩。尤其是当我们要计算一些表面吸附或者反应的时候,两个slab之间偶极矩的相互作用会对我们的结果产生影响。但这不是什么大问题,很多计算软件都可以通过控制计算参数来消除或者将这一影响减至最小。 3)VASP中可以通过设置: 1) LDIPOL=.TRUE. (打开偶极校正) 2)IDIPOL = 1-4 来解决。 1,2,3分表代表在x,y和z 方向上进行校正。4代表在所有方向上。 注意:1)和2) 必须同时加在INCAR里面。详见: 1) https://cms.mpi.univie.ac.at/wiki/index.php/LDIPOL 2) https://cms.mpi.univie.ac.at/wiki/index.php/IDIPOL

results matching ""

    No results matching ""