Ex46 表面弛豫的计算结果分析以及Direct坐标转换脚本
前面一节我们回顾了一下表面弛豫的基本概念,对于大多数的金属体系来说, 表面弛豫一般发生在垂直方向上。将金属沿表面方向切成两份后,由于表面原子的配位数发生了变化, 我们可以想象:该表层原子与下面一层的结合能力会更强,从而降低体系的能量。具体体现在层间距和能量两个方面。我们先回顾一下Ex44中Cu(111)表面的练习。
1 结构优化前后变化
首先观察一下结构的变化, POSCAR的结构如下:(刚刚切好的,热乎的表面)
1 | Cu\(1\1\1) |
优化后的结构:冷却后的,转化为Cartesian坐标的CONTCAR)
1 | Cu\(1\1\1) |
表层原子的坐标从6.2995 $\AA$减小到6.2593 $\AA$。说明该层原子向体相收缩了。
第一、二层的原子间距(单位: $\AA$)为:
6.2995-4.1996 = 2.0999 (POSCAR)
6.2593-4.1890 = 2.0703 (CONTCAR),
前后变化了(2.0999-2.0703) / 2.0999 * 100% = 1.4 %
注意:这里没有区分正负号,一般来说,用负值表示向体相收缩!!!(详见参考书)
2 弛豫能量
那么怎么知道弛豫前后的能量变化呢? 这个问题很容易回答:
- 第一步:我们对刚刚切好的表面算个单点计算;获得一个能量。
- 第二步:用优化完的能量减去前面单点能结果即可。
实际计算过程中,第一步可以免去,因为在优化的时候,VASP会对初始结构计算一下,对应的为第一个离子步的能量。
1 | qli@bigbro:~/test/cu/cu111/opt1$ grep ' without' OUTCAR | awk '{print $7}' |
所以,弛豫前后的能量(eV)变化为:
-13.97086603 - (-13.96892338) = -0.00194265
能量为负值,说明弛豫这个过程是放热的,也就是说刚刚切开的表面不稳定,表层原子向体相收缩后,体系能量降低,变得更稳定。
注意:这么做的时候,一定要先检查第一个离子步中的电子步是否收敛。比如:VASP默认的单个离子步中的电子步数为60步(NELM = 60
),https://cms.mpi.univie.ac.at/wiki/index.php/NELM
如果你设置的的NELM为默认值,且第一个离子步中,到了60步还没有收敛,则该这一步的能量是不可以用的。
此时,你需要做的就是:
- 尝试增大
NELM = 100
或者其他更大的数值, 对未优化的结构重新做个单点计算。 - 收敛很困难的话,可以调节下
ALGO
这个参数。
3 dire2cart.py
本节讲的太少,留个转化Direct为Cartesian的脚本(dire2cart.py
)作为补充。下载链接:
https://pan.baidu.com/s/1ScsLWhLAPpSul0SzYNPvpg。
上面CONTCAR的转化就是用的这个脚本。使用如下图:
1 | qli@bigbro:~/test/cu/cu111/opt1$ ls |
注意:
- 如果你的
POSCAR
或者CONTCAR
已经是Cartesian
坐标了,这个脚本可以自动识别并终止转换。 - 转化后的文件为:
AAA_C
,AAA
是你要转化的文件(POSCAR或者CONTCAR)。
4 扩展练习
下载VASP官网的关于表面相关计算的pdf文档:
VASP Tutorial: A bit of surface science
根据自己所学,尝试着练习里面的相关内容。
其他相关的材料:http://www.nersc.gov/users/training/events/3-day-vasp-workshop/