这里会显示出您选择的修订版和当前版本之间的差别。
两侧同时换到之前的修订记录前一修订版后一修订版 | 前一修订版上一修订版两侧同时换到之后的修订记录 | ||
adf:workfunction [2023/11/06 12:34] – liu.jun | adf:workfunction [2023/11/22 13:03] – liu.jun | ||
---|---|---|---|
行 1: | 行 1: | ||
======使用DFT计算功函数====== | ======使用DFT计算功函数====== | ||
+ | |||
本教程采用AMS2023完成。 | 本教程采用AMS2023完成。 | ||
- | =====模型===== | + | =====前言===== |
+ | ====与平面波方法相比==== | ||
+ | |||
+ | 对于同种材料,BAND与平面波方法相比,区别不大,但对于异质结,二者区别很大。 | ||
+ | |||
+ | 平面波方法无法真正处理二维周期性体系,因此不得不通过在Z方向添加足够大的真空,来模仿二维周期性边界。但由于静电势是非常长程的作用,乃至50埃以上仍然有所影响,因此平面波方法不得不进行偶极较正。但这并不能真正解决问题,得到的静电势分布,离表面很近的区域静电势就处于水平状态,这意味着电子在这些区域(例如下图的例子,在z轴±13埃以外,即仅仅距离材料表面几埃以外)上下移动,既不消耗能量也不获得能量,而这应该是违背常识的。例如下图: | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | BAND得到的静电势分布,更接近真实。 | ||
+ | ====功函数采用的二维周期边界模型==== | ||
计算功函数,模型一般为二维周期性结构,即在XY方向无限延申、重复,而Z方向以外,则为半无限大真空。如果对周期性边界条件理解不充分,建议参考:[[adf: | 计算功函数,模型一般为二维周期性结构,即在XY方向无限延申、重复,而Z方向以外,则为半无限大真空。如果对周期性边界条件理解不充分,建议参考:[[adf: | ||
行 8: | 行 19: | ||
形成界面,对宏观视角来讲,并没有太复杂的图景,但是在微观层面,尤其是在计算层面则稍微复杂、困难,因为两种物质有各自不同的周期性,而第一性原理计算、分子动力学计算等原子层面、电子层面的计算模拟,都要求体系只有一种周期,不允许这个体系存在两种周期,两种周期是无法进行计算的。 | 形成界面,对宏观视角来讲,并没有太复杂的图景,但是在微观层面,尤其是在计算层面则稍微复杂、困难,因为两种物质有各自不同的周期性,而第一性原理计算、分子动力学计算等原子层面、电子层面的计算模拟,都要求体系只有一种周期,不允许这个体系存在两种周期,两种周期是无法进行计算的。 | ||
- | ====界面的建模问题==== | + | ====异质结模型==== |
首先界面的建模是基于两个二维晶格,晶格常数分别为A1、B1与A2、B2,夹角为α1、α2。 | 首先界面的建模是基于两个二维晶格,晶格常数分别为A1、B1与A2、B2,夹角为α1、α2。 | ||
如何把两种周期变为一种周期呢?思想非常简单:各自晶格常数,分别取最小公倍数形成超胞,得到各自的超胞晶格矢量,如果两种物质各自的超胞晶格矢量相同,那就可以合并为相同的晶格矢量,从而能够进行计算。在实际操作中,两种物质的晶格矢量毕竟不是整数,所以很难、几乎不可能真正得到完全相同的超胞晶格矢量,因此在实际计算中,只要二者之间的差异不太大,从而带来的误差不太大,也就可以忍受了。这种情况下,往往以其中一个超胞晶格矢量为准,另一个可以微调(稍微等比放大/ | 如何把两种周期变为一种周期呢?思想非常简单:各自晶格常数,分别取最小公倍数形成超胞,得到各自的超胞晶格矢量,如果两种物质各自的超胞晶格矢量相同,那就可以合并为相同的晶格矢量,从而能够进行计算。在实际操作中,两种物质的晶格矢量毕竟不是整数,所以很难、几乎不可能真正得到完全相同的超胞晶格矢量,因此在实际计算中,只要二者之间的差异不太大,从而带来的误差不太大,也就可以忍受了。这种情况下,往往以其中一个超胞晶格矢量为准,另一个可以微调(稍微等比放大/ | ||
- | 上面说的是最简单的情况,也就是两种物质的晶格夹角 α 相同,因此较为简单。而不同夹角,也需要类似去找公倍数,最终的效果就是二者的 A、B 与 α 相同或非常接近。 | + | 上面说的是最简单的情况,也就是两种物质的晶格夹角 α 相同,因此较为简单。而不同夹角,也需要类似调整,最终的效果就是二者的 A、B 与 α 相同或非常接近。 |
本例中的模型,采用已经创建好的模型([[adf: | 本例中的模型,采用已经创建好的模型([[adf: | ||
+ | |||
+ | |||
=====计算参数设置===== | =====计算参数设置===== | ||
行 39: | 行 52: | ||
- Python脚本的修改实际上需要专门工具,如果没有的话可以在写字板下,同时关闭输入法再进行修改操作,否则字符格式不正确。 | - Python脚本的修改实际上需要专门工具,如果没有的话可以在写字板下,同时关闭输入法再进行修改操作,否则字符格式不正确。 | ||
- 用户可以使用[[https:// | - 用户可以使用[[https:// | ||
+ | - 脚本的作用:计算每个z坐标值上的静电势均值,并找到静电势的局部最大值,一般这个值出现在表面以外约 4 Å 的范围。**功函数WF = 真空中的局部最大静电势 - 费米能级** | ||
AMSJobs进入该文件夹,然后Help → Command-line进入命令行,输入sh回车,然后运行后处理脚本: | AMSJobs进入该文件夹,然后Help → Command-line进入命令行,输入sh回车,然后运行后处理脚本: | ||
行 48: | 行 62: | ||
{{ : | {{ : | ||
- | 横坐标是晶体的Z方向,纵坐标是平均静电势,橙色水平线是费米能级,红色喝绿色垂直线展示两侧的功函数是如何计算的,其中下表面功函数为4.33 eV,上表面功函数3.63 eV。 | + | 横坐标是体系的Z方向坐标,纵坐标是平均静电势,橙色水平线是费米能级,红色和绿色垂直线展示两侧的功函数是如何计算的,其中下表面功函数为4.33 eV,上表面功函数3.63 eV。 |
AMSinput → View → Axes显示坐标轴: | AMSinput → View → Axes显示坐标轴: |