Learn VASP The Hard Way (Ex44):p(1x1) Cu(111) 的优化计算

2017-10-01


Ex44 p(1x1) Cu(111) 的优化计算



前面我们学习了Slab模型的单点计算,在此基础上,本节我们主要学习下怎么优化Slab模型。

 

修改Slab模型的POSCAR文件

 

前面单点计算的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方向上移动。这一点我们前面也已经讲过了,详见:


Learn VASP The Hard Way (Ex24):频率计算的输出与POSCAR原子的固定




注意:


如果前面的POSCAR直接拿过来直接用,那么在优化过程中所有的原子都会被放开。回想一下我们计算Fe, Cu单胞的例子,计算中我们没有设置F或者T,晶胞尺寸和原子的坐标在优化过程前后都发生了变化。即,你不设置Selective 以及 F或者 TVASP默认是所有的原子都放开的。

此外,Selective 和 F 或者 T同时出现,不要只设置Selective忘了FT,也不要只设置FT忘了Selective.

 



如何修改?

 

根据前面说,我们需要做的无非有两步,

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 后添加一行:

sed  -i  '7aSelectiveDynamics'  POSCAR

7a 代表在第7行后面添加一行,append的缩写。注意, a  Selective之间可以没有空格,也可以有空格,这里我们没有加空格。效果如下:



上图中第 8行已经加上 Selective这一个关键词了。

 

 B 1011行为底部的两层原子坐标,我们在最后面加上F F F



图中最前面的命令是:sed  -i  '10,11s/$/FF F/g' POSCAR




注意:


这个命令我们执行之后,发现Fz方向的坐标连在一起了,后面又加了两行命令来改正:

 sed  -i  '10,11s/0F/0 F/g' POSCAR

sed  -i  '10,11s/1F/1 F/g' POSCAR

即, 将0F替换成 0 F  1F替换成 1 F

最终我们顺利地固定了slab模型的底部两层。

 



C 吸取前面的教训,我们在修改表面两层的时候,刻意在 T T T前面加了一个空格来避免。

sed  -i  '12,13s/$/T T T/g' POSCAR

效果如下:

 


这样,我们就顺利完成POSCAR的改造了,可以用来进行slab的优化计算了。

 



3 KPOINTS  POTCAR

 

保持原来的样子不变

 



4 INCAR

 

优化的时候,我门回想一下要设置的东西:

4.1 IBRION 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如图:


 


注意:

上一节我们提到Cu没有磁性,表述是不准确的,应该是纯净的Cu(111) slab模型中,Cu不需要考虑自旋。如果你算的是CuO(111)表面,则需要考虑自旋了。

在此,感谢刚哥的提醒。

 



5 提交任务

 

计算结束后,OSZICAR最后几行如下图:



优化了10步之后,计算结束了。

 



6 扩展练习

 

6.1 掌握本节提到的固定原子的三种做法:文本编辑器,p4vasp,  sed 当然啦,更可以直接使用Vim 这个强大的工具来执行

6.2 查看结构优化相关的这几个参数,复习下它们的VASP官网说明。

6.3 运行本文的例子,然后将EDIFFG设置成 -0.001进行测试,查看与 -0.002的区别。

6.4 VASP官网查找表面能计算的案例,结合本节以及前面的学习,尝试算一下Cu(111)面的表面能。

 



7 总结:

 

截止到本节为止,Slab模型的优化,你已经可以初步掌握了。请务必跟着节奏认真练习。后面我们会继续学习Slab模型的优化,现在感觉陌生没上手的也不用担心。认真总结一下,我们如何从Bulk模型,然后一步一步操作到Slab模型优化的。每一步中都有哪些该注意的细节。这些都掌握了,就可以大大提高你计算的成功率,进而节省时间和精力。

  


如有错误,疑问,或者建议,请发邮件联系大师兄: qli@bigbrosci.com

给大师兄留言:QQ号(2674006510)  微信: BigBroSci

加入大师兄QQ群:遇见大师兄 217821116 (先根据群公告修改群名片,若不修改,一经发现,立即踢出。

如果你有自己的科研经验和心得,也欢迎分享给大家!

此外,QQ群专注于科研思维的碰撞与科研生活的分享,本书中已经详细解释或者指明的易出错部分,不建议在群中继续咨询,请大家认真学习并主动积极地去思考和练习。


如果喜欢大师兄的文章,欢迎关注我们,转载,转发。

打赏一下,鼓励大师兄们写出更好的文章!

本网站由阿里云提供云计算及安全服务