这里会显示出您选择的修订版和当前版本之间的差别。
两侧同时换到之前的修订记录前一修订版后一修订版 | 前一修订版上一修订版两侧同时换到之后的修订记录 | ||
atk:沉积超薄氧化层调控银表面功函数 [2019/03/26 21:21] – [Ag(100) 和 MgO(100) 表面] xie.congwei | atk:沉积超薄氧化层调控银表面功函数 [2019/03/26 22:13] – [1D 投影插件] xie.congwei | ||
---|---|---|---|
行 84: | 行 84: | ||
===== Ag/MgO 界面 ===== | ===== Ag/MgO 界面 ===== | ||
+ | |||
+ | |||
+ | 您现在应该使用 Builders {{: | ||
+ | |||
+ | * 打开 Interface 插件,将 Ag(100) 和 MgO(100) 的构型拖拽到两个放置区域。请注意,第二个表面 (MgO) 会自动轻微变形 0.81%以使其与 // | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | * Ag-MgO 间隔太大了。单击 **Shift Surfaces** 按钮并输入 -19.4 Å 的 z 向位移,以使 MgO(100) 平板更接近 Ag(100)。界面的间隔现在应为 2.7Å。请注意,O 原子在相对于 Ag 原子顶部的位置,因此您不必在 xy 平面中移动 MgO 平板: | ||
+ | |||
+ | |||
+ | {{ : | ||
+ | |||
+ | * 关闭 Shift Surfaces 窗口,点击 Create 将界面添加到 Stash。 | ||
+ | |||
+ | |||
+ | <WRAP center tip 100%> | ||
+ | === 提示 === | ||
+ | 您可以在教程 [[https:// | ||
+ | </ | ||
===== DFT 计算 ===== | ===== DFT 计算 ===== | ||
+ | 如教程 [[https:// | ||
==== 添加鬼原子 ==== | ==== 添加鬼原子 ==== | ||
+ | * 选择最外面的 O 和 Mg 表面原子(一共是两个原子),然后单击 Builder 窗口顶部工具栏中的 {{: | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | |||
+ | * 接下来,交换两个鬼原子的标识,使得 O 鬼原子在表面 O 原子之上,Mg 亦是如此。您只需选择一个(鬼)原子并使用上图中被环绕的 {{: | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | * 最后,将构型发送到 **Script Generator** {{: | ||
==== ATK-DFT 计算 ==== | ==== ATK-DFT 计算 ==== | ||
+ | |||
+ | 当表面之上晶胞边界的有效势为零时,功函数就被认为是化学势。Dirichlet 边界条件 (BC) 则用于强制执行这点。您还将计算有效势,以便直观地检验。按照以下所列方法设置所需的 DFT 计算: | ||
+ | |||
+ | * 变更默认输出文件名称为 '' | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | * 打开 {{: | ||
+ | * //k-point Sampling// | ||
+ | * //Iteration Control// | ||
+ | * //Exchange Correlation// | ||
+ | * //Basis set//:为 O 和Mg 选择DoubleZetaPolarized,Ag 为 SingleZetaPolarized。 | ||
+ | * //Poisson solver//: | ||
+ | * 选择 FFT2D solver, | ||
+ | * 在左 C 面选择 Neumann 边界条件, | ||
+ | * 在右 C 面选择 Dirichlet 边界条件。 | ||
+ | |||
+ | |||
+ | {{ : | ||
+ | |||
+ | |||
+ | {{ : | ||
+ | |||
+ | |||
+ | * 下一步,打开 {{: | ||
+ | * 将 Force tolerance 降低到 0.01 eV/Å。 | ||
+ | * 点击 //Save trajectory// | ||
+ | * 单击 **Add Constraints**,选择底部的两个 Ag 原子和两个鬼原子。然后点击// | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | 保存脚本为 '' | ||
+ | |||
+ | |||
+ | |||
===== 分析结果 ===== | ===== 分析结果 ===== | ||
+ | OptimizeGeometry,ChemicalPotential 和 EffectivePotential 数据块现在应该已出现在 QuantumATK 的 **LabFloor** 上。 | ||
+ | {{ : | ||
+ | |||
+ | 尝试选择 OptimizeGeometry 数据块,并通过单击 LabFloor 右侧的 **Viewer** 插件可视化弛豫轨迹。单击 {{: | ||
==== 功函数 ==== | ==== 功函数 ==== | ||
+ | |||
+ | |||
+ | 选择 ChemicalPotential 数据块,然后单击 **Show Text Representation** 插件以读取出计算得到的化学势为 -2.99 eV。 | ||
+ | |||
+ | 因此,这种 3 层 MgO 在 Ag(100) 上的功函数为 2.99 eV,这与 Prada 等人在文献中报道的计算值 2.96 eV 非常一致< | ||
+ | |||
+ | 您还可以按照上述步骤构建 2L-MgO/ | ||
+ | |||
+ | 例如,创建 2L-MgO/Ag 系统,计算功函数: | ||
+ | |||
+ | * 在 LabFloor 上找到弛豫后的 3L-MgO/ | ||
+ | * 将它转移到 Builder {{: | ||
+ | * 删除两个 O 和 Mg 鬼原子,将新的表面 O 和 Mg 原子转换为鬼原子。 | ||
+ | * 如上所述,交换 Mg 和 O 鬼原子。 | ||
+ | * 将构型发送到 **Scripter** {{: | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | |||
+ | //表 4 计算得到的 PW91 功函数(eV)。对应的功函数差异为 wrt 是为了清除括号中的 Ag(100)。// | ||
+ | | | QuantumATK | ||
+ | | Ag(100) | ||
+ | | 1L-MgO/ | ||
+ | | 2L-MgO/ | ||
+ | | 3L-MgO/ | ||
+ | |||
+ | |||
+ | 可以在此处下载计算表中所有标记为 QuantumATK 的功函数所需要的脚本:[[https:// | ||
+ | |||
+ | |||
+ | <WRAP center tip 100%> | ||
+ | === 提示 === | ||
+ | 上表显示了 QuantumATK 与文献 (VASP) 中功函数计算之间具有良好的一致性。但是,如果计算设置发生变化,结果可能会改变。例如,SZP 基组是用于 Ag 原子的—— DZP 基组可能会给出略微不同的结果。所使用的赝势的类型也可能影响结果,并且在某些情况下可能需要更多的鬼原子。 | ||
+ | </ | ||
+ | |||
+ | |||
+ | |||
行 103: | 行 212: | ||
==== 有效势 ==== | ==== 有效势 ==== | ||
+ | 您已使用一组特定的边界条件进行功函数的计算——左 C 面上的 Neumann 和右 C 面上的 Dirichlet。您现在可以使用 **1D Projector** 插件显示计算中的平均有效势: | ||
+ | * 选择 LabFloor 上的 EffectivePotential 数据块,然后点击 1D Projector 插件。 | ||
+ | * 选择使用 Average 投影类型沿 C 轴投影,然后单击 **Add line** 绘制投影: | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | Ag(100) 和 MgO(100) 区域的有效势明显不同。此外,两个不同 BC 的影响从超胞两端的势值和斜率就可以非常清楚地看出: | ||
+ | |||
+ | * 左 C 面上的 Neumann BC 在边界上施加了有效势的零斜率,但不限制边界上的势的实际值。 | ||
+ | * 相反,右 C 面上的 Dirichlet BC 迫使边界上的有效势为零,并且在真空区域中斜率恰好为零。 | ||
===== 1D 投影插件 ===== | ===== 1D 投影插件 ===== | ||
+ | 1D 投影可用于将各种 3D 网格数据投影到 1D 表示。这非常有助于实现可视化的目的,适用于 QuantumATK 网格对象(参见方框)的较广范围。 | ||
+ | |||
+ | 常用的 QuantumATK 网格对象: | ||
+ | BlochState,EffectivePotential,Eigenstate,ElectronDensity, | ||
+ | |||
+ | |||
+ | 插件小程序中提供了几个选项: | ||
+ | |||
+ | **Grid** | ||
+ | |||
+ | 您可以打开投影工具,在 LabFloor 上选择多个对象,将它们彼此相邻绘制。在这里,您可以选择要绘制哪一个。 | ||
+ | |||
+ | **Axis** | ||
+ | |||
+ | 选择您想要要投影 3D 数据网格的方向。 | ||
+ | |||
+ | **Projection type** | ||
+ | |||
+ | 对垂直于所选方向的平面中的所有数据求和或求平均值。您还可以沿着穿过特定投影点的直线绘制单个值。 | ||
+ | |||
+ | **Projection point** | ||
+ | |||
+ | 在分数坐标中指定选择投影类型为 Through point 时使用的投影点。 | ||
+ | |||
+ | **Spin projection** | ||
+ | |||
+ | 在自旋极化计算的情况下,共线或非共线,您可以选择特定的旋转投影。 | ||
+ | |||
+ | **Add line** | ||
+ | |||
+ | 上述选项指定后,单击此按钮可在窗口右侧绘制投影。您可以在同一个图中添加更多投影。 | ||
+ | |||
+ | **Remove line** | ||
+ | |||
+ | 在 Projection Plot 窗口中选择一行,然后单击以从图中删除这条线。 | ||
+ | |||
+ | **Clear plot** | ||
+ | |||
+ | 从绘图中删除所有线条。 | ||
+ | |||
+ | **Line Info** | ||
+ | |||
+ | 显示了与当前所选绘图线/ | ||
+ | |||
+ | **Projection Plot** | ||
+ | 右键单击可缩放,自定义或将数据导出到文件。 | ||
===== 参考 ===== | ===== 参考 ===== | ||