这里会显示出您选择的修订版和当前版本之间的差别。
两侧同时换到之前的修订记录前一修订版后一修订版 | 前一修订版 | ||
atk:利用鬼原子计算表面功函数 [2019/02/25 21:16] – [利用鬼原子计算表面功函数] xie.congwei | atk:利用鬼原子计算表面功函数 [2019/02/28 10:02] (当前版本) – [注解] xie.congwei | ||
---|---|---|---|
行 9: | 行 9: | ||
===== 为什么使用鬼原子? ===== | ===== 为什么使用鬼原子? ===== | ||
+ | 功函数的计算主要依赖于精确地模拟表面电荷密度进入到真空中的衰减,但短程的局部基组有时不足以满足要求。在这种情况下,在表面上方放置额外的 LCAO 基函数 - 这些称为鬼原子。 | ||
===== 设置结构 ===== | ===== 设置结构 ===== | ||
- | | + | |
+ | 在本节中,您将设置含有鬼原子的 Ag(100) 表面平板模型,并计算其表面功函数。 | ||
+ | |||
+ | 1.打开 **Builder**(按钮 {{: | ||
+ | |||
+ | 2.打开 Builders {{: | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | 3.点击 “Next” 两次。在 **Surface (Cleave)** 插件的最后一页,设置平面外晶胞矢量 V< | ||
+ | |||
+ | * Top vacuum = 20 Å。表面上方的较大真空确保了有效势具有足够的空间衰减到真空水平。 | ||
+ | * | ||
+ | * | ||
+ | |||
+ | |||
+ | {{ : | ||
+ | |||
+ | <WRAP center todo 100%> | ||
+ | === 关注 === | ||
+ | 这些参数设置将确保功函数的收敛。 | ||
+ | </ | ||
+ | |||
+ | <WRAP center alert 100%> | ||
+ | === 警告 === | ||
+ | 在垂直于表面的方向上,系统的非周期性需要适当的边界条件。 | ||
+ | </ | ||
+ | |||
+ | |||
+ | 4.点击 “// | ||
+ | |||
+ | 5.为完成几何设置,请在 **Builder** 中选择 Z 坐标最大的原子,然后通过单击图标 {{: | ||
+ | |||
+ | 6.结果,平板由 13 层组成。在表面上的鬼原子的作用是描述真空中电子密度的平滑衰减。 | ||
+ | |||
+ | 7.将结构发送到 **Script Generator** (按钮 {{: | ||
+ | |||
+ | |||
+ | {{ : | ||
+ | |||
+ | |||
+ | <WRAP center important 100%> | ||
+ | === 注意 === | ||
+ | 将原子变为鬼原子意味着将它的势(如赝势或核电荷)设置为零。然而,部署在那里的基函数仍用于描述电子密度。另一种方法是扩大在每个原子位置处基函数的范围,但如果系统不像本例中那么简单,则会使计算成本高昂。 | ||
+ | </ | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
===== 定义计算的参数 ===== | ===== 定义计算的参数 ===== | ||
+ | |||
+ | 1.在 **Script Generator**,双击 **Blocks** 面板的图标添加一个 **New Calculator**。并点击 Analysis {{: | ||
+ | |||
+ | |||
+ | <WRAP center important 100%> | ||
+ | === 注意 === | ||
+ | |||
+ | 如下所示在平板的顶部和底部施加了适当的边界条件使得化学势等于功函数。 | ||
+ | </ | ||
+ | |||
+ | |||
+ | 2.为 NetCDF 文件设置一个合适的文件名,如 “// | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | 3.双击 **Script** 面板上的 **New Calculator**,设置如下参数: | ||
+ | |||
+ | * 为能够准确描述电子结构,请在 **Calculator settings** 的 //Basic// 部分中将 k 点取样设置为 9x9x1。 | ||
+ | |||
+ | |||
+ | {{ : | ||
+ | |||
+ | |||
+ | <WRAP center important 100%> | ||
+ | === 注意 === | ||
+ | 谨记:一般情况下,要检验与 k 点网格精细度有关性质的收敛性。 | ||
+ | </ | ||
+ | |||
+ | * 在 //Basis sets/ | ||
+ | |||
+ | |||
+ | {{ : | ||
+ | |||
+ | |||
+ | <WRAP center important 100%> | ||
+ | === 注意 === | ||
+ | 使用该基组可以为该平板模型以适度的计算量实现良好的精度。然而,对于其他系统,不能确保使用相同的基组能够始终提供足够的精度。 | ||
+ | </ | ||
+ | |||
+ | |||
+ | <WRAP center alert 100%> | ||
+ | === 警告 === | ||
+ | 通常不建议使用 MGGA 计算功函数,因为 MGGA 势在真空中会发散。对于 MGGA 的使用,应调整 c 参数以获得合理的功函数值,并校正材料的电子结构。在本例中,设定 c = 0.94 得到 WF = 4.44 eV,与 LDA 结果非常一致(见下文)。请注意,c 的值与块体 Ag 的自洽计算值 c = 1.31 不同。 | ||
+ | </ | ||
+ | |||
+ | * 最后,最重要的设置:在 //Poisson solver// 区域,选择 Multi-grid。然后,单击 “chain” 图标(下图中的绿色标记)分开 Left 和 Right 晶格边界的设置,分别为左边界设置 Neumann 边界条件,右晶胞边界设置 Dirichle t边界条件。 | ||
+ | |||
+ | |||
+ | {{ : | ||
+ | |||
+ | |||
+ | <WRAP center important 100%> | ||
+ | === 注意 === | ||
+ | Dirichlet 边界条件确定 Hartree 势在右晶胞边界上为零,以模拟远离表面真空的存在。由于 C 方向的非周期性,Neumann 条件用于满足 Hartree 势的梯度在系统的左侧消失的要求。 | ||
+ | </ | ||
+ | |||
===== 计算和分析 ===== | ===== 计算和分析 ===== | ||
+ | |||
+ | 1.将结构发送到 **Job Manager** 并执行计算。计算完成后,单击 {{: | ||
+ | |||
+ | 2.在 log 文件的末尾,显示了化学势或功函数。在实验报道中< | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | 3.仅为了证明使用 //ATK// 也可以获得其他金属的准确结果,请参见下表中与实验数据的比较: | ||
+ | |||
+ | //表3 不同金属表面的测量功函数和计算功函数(WFs)的比较// | ||
+ | |||
+ | ^ Surface | ||
+ | | Ag (100) | 4.64 | 4.45 | | ||
+ | | Ag (110) | 4.52 | 4.17< | ||
+ | | Ag (111) | 4.74 | 4.71 | | ||
+ | | Al (100) | 4.41 | 4.42 | | ||
+ | | Au (100) | 5.28 | 5.38< | ||
+ | | Ca (100) | 2.87 | 2.85 | | ||
+ | | Cu (100) | 4.53-5.10 | ||
+ | | Li (100) | 2.93 | 3.14 | | ||
+ | | Nb (100) | 3.95-4.87 | ||
+ | | Pb (100) | 4.25 | 3.95 | | ||
+ | | Pt (100) | 5.12-5.93 | ||
+ | | Tl (100) | 3.84 | 3.74 | | ||
+ | | W (100) | 4.32–5.22 | ||
+ | |||
+ | |||
+ | |||
+ | [1] 所有计算均使用 DoubleZetaPolarized 基组和 9x9x1 的k点网格。其余参数如上例所示设置。请注意,这意味着所有值不一定会在这些参数下收敛。表面也不需要弛豫。 | ||
+ | |||
+ | [2] 已知 Ag(110) 表面经历了重建;而此处显示的计算值不考虑这一点。 | ||
+ | |||
+ | [3] 意外地,用 SingleZetaPolarized 计算得到的金的功函数为 5.28 eV。 | ||
+ | |||
+ | |||
===== 注解 ===== | ===== 注解 ===== | ||
+ | * 我们在上文的一些地方说明了仔细检查某些数值的收敛和几何参数的重要性。功函数对所有这些参数都非常敏感,因此,为方便起见,我们总结一下最重要的几个: | ||
+ | * **Number of slab layers**:对于银,测试表明,如上所述的 13 层是足够的,但任何较小的数字都将会产生不同的结果; | ||
+ | * **Extension of vacuum on both sides**:在本例中使用的右晶胞边界上的 20 Å 是安全的;至少对于 Ag(100) 来说,即使只有 10 Å 也足够了; | ||
+ | * **K-point sampling**:9x9x1 可以给出合理的结果,但一如既往地,k 点取样这个参数的收敛不是简单的单调函数; | ||
+ | * **Basis set**:对于过渡金属,需要极化轨道来获得正确合适的原子函数,因此我们为银选择 “SingleZetaPolarized”。但对其他类别的元素,可能适用其他规则。与元素无关的话,“DoubleZeta” 基组是一个很好的选择。“DoubleZetaPolarized” 总会是一个更安全的选择,虽然它需要更多的计算时间; | ||
+ | * **Exchange-correlation functional**:LDA 通常能够很好地描述“简单”的金属,但显然并不适用所有材料。 | ||
+ | * 由于 k 点(使 QuantumATK 可以很好并行化的参数之一)的数量大,脚本可以使用 MPI 并行运行以获得相当大的执行优势。 | ||
+ | * 通过比较上表中的 Ag 的(100),(110)和(111)晶面的值,显然功函数取决于所考虑的晶面。 | ||
===== 参考 ===== | ===== 参考 ===== | ||
+ | * 英文原文:[[https:// |