Ex44 p(1x1)Cu(111) 的优化计算
前面我们学习了Slab模型的单点计算,在此基础上,本节我们主要学习下怎么优化Slab模型。
1 修改Slab模型
前面单点计算的POSCAR
不可以直接拿过来用吗?为什么要修改POSCAR
文件?
这是因为在Slab模型中,要固定一部分原子来模拟体相,然后放开一部分原子来模拟表面。一般来说,表面的两层原子允许弛豫,而下面的那些原子则直接固定住。
这样做的物理意义在于:在真实的环境下,催化剂体相看做是不变的,只有表面的原子参与催化反应。
VASP中固定原子需要在POSCAR中进行操作。有两个关键点:
1)在POSCAR的第7行后添加一行,改行内容为Selective Dynamics
,VASP只认第一个字母,你可以直接在这一行只加 S或者s。也可以换成其他的S开头的单词,比如SB
,Sexy BigBro
, Super BigBro
等等;
2)在原子坐标后面加上 F 或者 T 表示固定或者放开,因为坐标有xyz三个数值,因此我们需要三个F或者T。我们可以通过设置允许原子在某一方向上移动,而其他方向上固定。
F F F
表示xyz全部固定;T T T
表示xyz全部放开,F F T
表示 xy方向固定,只允许原子在z方向上移动。
这一点我们前面也已经讲过了,详见Ex24 频率计算的输出与POSCAR原子的固定。
注意:
- 如果前面的
POSCAR
直接拿过来直接用,那么在优化过程中所有的原子都会被放开。回想一下我们计算Fe, Cu单胞的例子,计算中我们没有设置F或者T,晶胞尺寸和原子的坐标在优化过程前后都发生了变化。因此你不设置Selective
以及 F或者T,VASP默认是所有的原子都放开的。 Selective
和 F 或者 T同时出现,不要只设置Selective
忘了FT,也不要只设置FT忘了Selective.
2 如何修改?
根据前面说,我们需要做的无非有两步,
1) 在第7行后加入Selective Dynamics
2) 在坐标后面加入T T T
或者 F F F
我们在本节中,将底部的两层原子固定,上面两层放开。
实现本目的,有以下几种方式:
2.1)这个用文本编辑器就可以做到,很多编辑器都有列块模式,允许你同时添加N列到每行的最后。你可以使用下Notepad++
,Atom
这些免费开源的软件来操作
2.2)使用p4vasp
,详见前面的练习Ex24
2.3) 本节我们重温一下sed
的用法,直接使用命令进行操作。
A) 在第 7行 后添加一行:
1 | sed -i '7aSelective Dynamics' POSCAR |
7a 代表在第7行后面添加一行,a 是append的缩写。注意,a 和 Selective之间可以没有空格,也可以有空格,这里我们没有加空格。
B) 添加了Selective这一行之后,原子坐标的行数也发生了变化,为10-13行。
C) 第10,11行为底部的两层原子坐标,我们在最后面加上F F F
1 | sed -i '10,11s/$/ F F F/g' POSCAR |
注意: 第一个F前面有个空格。
d) 在12-13行最后面加上 T T T
1 | sed -i '12,13s/$/ T T T/g' POSCAR |
这样,我们就顺利完成POSCAR的改造了,可以用来进行slab的优化计算了。
3 KPOINTS 和 POTCAR
保持原来的样子不变
4 INCAR
优化的时候,我门回想一下要设置的东西:
4.1IBRION
和 POTIM
IBRION可以使用 1 和2,我们这里用2。(1的话适合初始结构比较好的情况,这里我们也可以用。)POTIM =0.1
官网默认值是0.5,个人感觉比较大, 0.1是一个很不错的选择。
4.2 EDIFFG = -0.01
优化时以力作为收敛标准。注意 -0.01 已经很严格了,除非特殊需要,不要设置-0.001,这样你就会在QQ群里求助大家,为什么我优化的时候一直不收敛啊。如果设置-0.01,很多步过后仍然不收敛,可以尝试一下-0.02,也是一个很安全的选择。
4.3 NSW = 500
设置最大的优化步数。
4.4 ISIF = 2
slab 模型优化的时候,我们用ISIF =2
,也就是VASP的默认值,不用设置, 最终INCAR
如下:
1 | System = Cu111 |
注意:
上一节我们提到Cu没有磁性,表述是不准确的,应该是纯净的Cu(111) slab模型中,Cu不需要考虑自旋。如果你算的是CuO(111)表面,则需要考虑自旋了。
5 提交任务
计算结束后,查看OUTCAR,OSZICAR的最后几行检查下是不是正常结束。
6 扩展练习
6.1 掌握本节提到的固定原子的三种做法:文本编辑器,p4vasp, sed, 当然啦,更可以直接使用Vim 这个强大的工具来执行
6.2 查看结构优化相关的这几个参数,复习下它们的VASP官网说明。
6.3 运行本文的例子,然后将EDIFFG设置成 -0.02或者-0.001进行测试,查看与-0.01的区别。
6.4 VASP官网查找表面能计算的案例,结合本节以及前面的学习,尝试算一下Cu(111)面的表面能。
7 总结
截止到本节为止,Slab模型的优化,你已经可以初步掌握了。请务必跟着节奏认真练习。后面我们会继续学习Slab模型的优化,现在感觉陌生没上手的也不用担心。认真总结一下,我们如何从Bulk模型,然后一步一步操作到Slab模型优化的。每一步中都有哪些该注意的细节。这些都掌握了,就可以大大提高你计算的成功率,进而节省时间和精力。