这是本文档旧的修订版!
本教程采用AMS2023完成。
对于同种材料,BAND与平面波方法相比,区别不大,但对于异质结,二者区别很大。
平面波方法无法真正处理二维周期性体系,因此不得不通过在Z方向添加足够大的真空,来模仿二维周期性边界。但由于静电势是非常长程的作用,乃至50埃以上仍然有所影响,因此平面波方法不得不进行偶极较正。但这并不能真正解决问题,得到的静电势分布,离表面很近的区域静电势就处于水平状态,这意味着电子在这些区域(例如下图的例子,在z轴±13埃以外,即仅仅距离材料表面几埃以外)上下移动,既不消耗能量也不获得能量,而这应该是违背常识的。例如下图:
BAND得到的静电势分布,更接近真实。
计算功函数,模型一般为二维周期性结构,即在XY方向无限延申、重复,而Z方向以外,则为半无限大真空。如果对周期性边界条件理解不充分,建议参考:周期边界条件。
本例中演示一个界面体系:Al的(100)面与LiF的(100)面形成界面,二者各自存在一定的厚度,然后计算两个面各自的功函数。
形成界面,对宏观视角来讲,并没有太复杂的图景,但是在微观层面,尤其是在计算层面则稍微复杂、困难,因为两种物质有各自不同的周期性,而第一性原理计算、分子动力学计算等原子层面、电子层面的计算模拟,都要求体系只有一种周期,不允许这个体系存在两种周期,两种周期是无法进行计算的。
首先界面的建模是基于两个二维晶格,晶格常数分别为A1、B1与A2、B2,夹角为α1、α2。
如何把两种周期变为一种周期呢?思想非常简单:各自晶格常数,分别取最小公倍数形成超胞,得到各自的超胞晶格矢量,如果两种物质各自的超胞晶格矢量相同,那就可以合并为相同的晶格矢量,从而能够进行计算。在实际操作中,两种物质的晶格矢量毕竟不是整数,所以很难、几乎不可能真正得到完全相同的超胞晶格矢量,因此在实际计算中,只要二者之间的差异不太大,从而带来的误差不太大,也就可以忍受了。这种情况下,往往以其中一个超胞晶格矢量为准,另一个可以微调(稍微等比放大/缩小键长),最终的键长放大/缩小量小于0.1 Å,问题就不太大,当然越小越好。
上面说的是最简单的情况,也就是两种物质的晶格夹角 α 相同,因此较为简单。而不同夹角,也需要类似调整,最终的效果就是二者的 A、B 与 α 相同或非常接近。
本例中的模型,采用已经创建好的模型(点击打开链接,复制全部文字,然后在AMSinput中Ctrl V粘贴即可)。
将后处理脚本下载,并解压到作业所在文件夹中,即该脚本与作业的*.results文件夹处于同级目录中。将其中:
results_dir = '../Al_100--LiF_100.results/'
这一行中的路径,改为实际的完整路径,例如:
results_dir = 'D:/ADF_DATA/ABC.results/'
注意:
AMSJobs进入该文件夹,然后Help → Command-line进入命令行,输入sh回车,然后运行后处理脚本:
amspython WorkFunctionVacuumAndInterface.py回车
即生成类似下图:
横坐标是体系的Z方向坐标,纵坐标是平均静电势,橙色水平线是费米能级,红色和绿色垂直线展示两侧的功函数是如何计算的,其中下表面功函数为4.33 eV,上表面功函数3.63 eV。
AMSinput → View → Axes显示坐标轴: 可以看到下表面是Al,上表面是LiF,即知Al(100)表面与真空接触一侧功函数为4.33 eV,LiF(100)表面与真空接触一侧功函数为3.63 eV。
而其他文献中计算(前两行数据,分别使用VASP、Quantum ESPRESSO与本教程对比(第三行数据):
两个其他文献的计算结果来自文献: