用户工具

站点工具

本页面的其他翻译:
  • zh

atk:格林函数方法模拟材料表面

这是本文档旧的修订版!


格林函数方法模拟材料表面

本教程介绍如何使用一种非常新的方法计算表面性质:基于格林函数的表面计算。与传统的表面片层(slab)模型不同,表面电子态结构通过非平衡态格林函数(NEGF)方法与块体电子态耦合。

这里研究的是银(100)表面的功函数,主要介绍:

  • 构建表面的结构;
  • 设置并运行表面的格林函数计算;
  • 分析功函数并与传统slab模型计算对比。

表面的原子模型

首先简单介绍基于格林函数的表面计算,以及与传统slab模型的不同之处。下面两幅图显示了这二者的不同。

slab模型由有限层数的原子构成,C方向两边其他地方是真空,因此这个体系有两个表面(表面-真空界面)。静电(Hartree)势($V_H$)在slab的中间是和块体材料接近的,而在表面处有一定变化,并过渡到真空区域的常数。

与之不同,格林函数表面模型包含一个表面区域,并将其连接在一个电极上,电极部分是一个完整的块体材料周期结构。电子态在电极–表面区域之间的界面上通过格林函数匹配。因此,表面的电子态与块体基底连接,表面的化学势因此被固定为电极的化学势。

NEGF方法的优点

与传统的slab模型相比,基于格林函数方法的表面计算有明显的优势:

  • slab模型是有限体系,只有有限的电子。因此,当表面上的分子与表面之间发生电荷转移时,表面模型的总电子数将发生变化,这将导致slab模型中的电子的化学势发生变化,这为计算的可靠性带来很大的问题。格林函数方法通过将表面耦合于一个无限大的电子池(化学势固定的电极)避免了这一问题。
  • 性质计算随slab模型的厚度的收敛很麻烦,常常需要多种校正以避免晶胞重复之间的相互作用。而在ATK格林函数计算中,由于边界条件的合理选择,表面性质随表面厚度的收敛非常容易,详见下文。

单电极的NEGF计算

如前所述,格林函数表面模型有一个电极和一个表面区域(或称中间区域)组成。在ATK的语言里,可以称之为只有一个电极的器件结构。和其他ATK器件(NEGF)计算一样,计算由两步完成:

  • 首先进行电极块体材料电子态计算,这一步通常很快。
  • 接下来计算表面区域的基态,过程中确保电极–表面的连接处电子态匹配。

如下图所示,在晶胞C方向使用了三种不同的边界条件。电极部分向左方向采用周期边界条件,而在电极–表面处采用狄利克雷(Dirichlet)边界条件。而在表面一侧,Neumann边界条件是最自然合理的。

Ag(100) 表面的功函数

接下来,我们用 DFT 和格林函数方法计算 Ag(100)表面的功函数。基本操作步骤概括如下:

  1. 使用 Builder 建模工具从张力优化过的银块体构建表面结构,确定幽灵原子(Ghost atom);
  2. 使用 Scripter 创建计算基态的脚本,并保存差别静电势(Electrostatic difference potential;EDP)和化学势;
  3. 使用 1D Projector 工具查看 EDP 结果;
  4. 从 EDP 和化学势结果计算功函数。

构建表面模型

首先我们从银的块体结构出发,创建 (100) 表面。为此,首先使用LDA泛函、FHI赝势和SingleZetaPolarized基组对银的块体进行优化。

创建一个新的VNL project,下载包含优化过的结构的NetCDF文件:silver.nc 和 silver.py。将文件保存至项目文件夹下,注意到银的能带结构计算结果也计算好了,后面我们看到这是有用的。

你可以参考下面两个教程学习如何进行结构优化和能带计算。

将弛豫过的块体结构拖动到 Builder,确认LDA-SZP结构优化得到的晶格常数为 4.148Å。之后选择右侧Builder→Surface (Cleave) tool。

使用这个工具可以获得银晶体在100方向上的表面:点击Next两次,选择“Non-periodic and normal (slab)”,厚度为10层金属原子,如下图。

在下方stash里可以看到silver.nc(100)结构。双击选中它,点击右侧Device Tools → Surface From Bulk,创建用于格林函数计算的表面模型。

Surface from Bulk 工具可以选择电极和表面(这里标记为central region),默认的电极长度 8.3Å 应该正好。你还可以修改central region的长度。

点击 OK 将结构添加到Stash。结构名称前面自动添加了Surface

幽灵原子(Ghost atom)

使用局域化的基组进行功函数计算,需要在紧邻表面上增加幽灵原子(Ghost atom)(详见:https://docs.quantumwise.com/tutorials/work_function_ag_100/work_function_ag_100.html#work-function-ag-100)。最方便的做法是将表面一层原子转换为幽灵原子。

选中表面最外层原子(如下图),点击顶部工具条中的图标。

这个原子现在变成了只有基组没有原子核的幽灵原子。

点击右下角箭头将此结构发送到 Script Grenerator去设置并进行格林函数计算。

进行计算

环路积分

保存脚本并运行

结果分析

功函数对金属层数的收敛性

atk/格林函数方法模拟材料表面.1503133982.txt.gz · 最后更改: 2017/08/19 17:13 由 fermi

© 2014-2022 费米科技(京ICP备14023855号