用户工具

站点工具

本页面的其他翻译:
  • zh

atk:neb方法研究pt在pt表面的扩散

这是本文档旧的修订版!


NEB方法研究Pt在Pt表面的扩散

前言

在本文中将演示如何使用Nudged Elastic Band (NEB)方法研究扩散及其能垒。作为范例,将计算Pt原子在Pt(100)表面两个不同扩散机制的能垒[1][2]。主要包含如下内容:

  • 创建并使用ATK-Classical优化Pt晶体结构;
  • 创建包含一个吸附Pt原子的Pt(100)表面;
  • 使用VNL内置的高质量反应路径初始猜测生成工具,以及交换扩散、直接跳跃扩散的起始结构、最终结构,产生两种扩散的NEB路径;
  • 设置并使用ATK-Classical进行NEB计算;
  • 分析结果并与文献对比。

关于构建、优化NEB计算的参数的更详细信息,请参阅ATK manual,尤其是关于NudgedElasticBand一节,以及OptimizeNudgedElasticBand功能。

注意: 本文中使用的NEB方法需要用户对初始结构和末态结构,以及路径进行预定,这通常非常重要。不过,使用其他非常强大方法,比如ATK内置的new Adaptive Kinetic Monte Carlo (AKMC)工具,即使不给定末态结构和猜测路径,通过计算也能获得与本例完全一样的信息。

在Pt(100)表面创建吸附Pt原子

本章中设置Pt(100)表面的吸附Pt原子,作为NEB计算的初始结构。 1,打开VNL,并点击Create New创建一个新的Project,将其命名(这里命名为Pt_Pt100_NEB),选择文件夹用来存储该Project相关信息。点击OK,并点击Open开始这个Project。

2,在VNL主窗口,点击图标打开Builder

3,导入Pt的面心立方晶体结构:点击Add ‣ From Database,并搜索“Platinum”。之后点击窗口右下角的图标,将其添加到Stash

4,点击窗口右下角的图标,将Pt原胞从Stash送入Script Generator

5,在Script Generator中将Global IO中的Default output file中的名字改为“Pt_bulk.nc”

6,通过双击如下图所示的左边的Blocks中的对应图标,将其添加到Script面板中:

  • New Calculator
  • Optimization ‣ Optimize Geometry

7,双击Script面板中的New Calculator,并修改参数如下:

  • 在Calculators面板,选择ATK-ClASsical
  • 在Potential Settings面板,选择“EAM_Pt_2004”[3]

8,双击Optimize Geometry,并修改参数:

  • Force tolerance: 0.01 eV/Å
  • Stress tolerance: 0.001 eV/Å
  • 取消勾选constrain cell,以允许晶格的弛豫

Optimize Geometry面板看起来应该如下图所示:

9,点击图标,将生成的脚本送入Job Manager,保存脚本名为:“Pt_bulk.py”

10,在Select Machine窗口,确保Machine的下拉菜单设置为Local,之后按OK

11,在Job Manager窗口中,确保Pt_bulk.py脚本被选中,之后点击Run Queue按钮(如下图)开始计算。计算大约需要几秒钟。

任务结束后,关闭Job Manager并回到VNL的主窗口。

12,在VNL主窗口,LabFloor栏出现了两个新项目,分别对应着Pt晶体初始结构(gID000)和优化结构(gID001)。

13,将gID001拖入到Builder中。

14,在Builder中,选择这个最新导入的Pt_bulk.nc项,并点击Builder ‣ Surface (Cleave)

15,在Define the surface面板,确保Miller指数为h=1,k=0,l=0,并点击Next。

16,在Define the surface面板,参照下图设置5×5p表面。

之后点击Next。

17,参照下图设置Finalize output configuration面板中的参数,得到一个包含5层以及10Å真空层的板。

之后点击Finish将该结构添加到Stash

18,在Stash窗口,右键点击“Pt_bulk.nc (100)”项,并选择Copy。之后右键点击 “Pt_bulk.nc (100) (1)”,选择Rename将其改名为“initial.nc”

19,点击按钮,打开Camera面板(如下图所示),选择XY,从而将体系调整到xy方向。

调整好之后,关闭Camera面板,并使用鼠标滚轮可以放大、缩小视图。

20,按住CTRL键不放,使用鼠标左键分别选中Pt(100)最顶层的四个Pt原子。之后点击,在这些原子中间额外添加一个原子,如下图所示:

21,选择新添加的Pt原子,点击窗口右边Coordinate Tools ‣ Translate

22,在Translate面板,定义平移矢量,如下图所示:

填好数字之后,点击Apply,该原子即沿z方向向上移动1.6Å。该结构作为作为Pt(100)表面吸附Pt原子模型的初始结构,用于本文中的两个NEB计算。

创建交换扩散过程的末态结构

在本章中,将会设置Pt(100)面吸附Pt原子的交换扩散的末态结构[1]

在交换扩散过程中,其中一个表面的Pt原子被吸附的Pt原子替换,而该表面原子沿[010]方向移动到下一个4原子包围的Hollow位,如下图所示:

该路径从能量上,比吸附原子直接跳到近邻的Pt(100)面hollow位(见下一章)更有优势[1][2]

1,在Stash中左键点击“initial.nc” 项,并选择Copy,之后左键选中“initial.nc (1)” 项,并右键点击选择Rename,将其改名为“final_Exchange.nc”

2,选择Stash“final_exchange.nc”,选择下图中所示的院子(原子编号为88),并点击Coordinate Tools ‣ Translate

3,在Translate面板,使用下图所示的平移矢量移动选中的原子:

4,选择吸附Pt原子,使用下图所示的平移矢量进行平移:

5,通过这种方式,获得了NEB计算交换扩散过程的末态结构。

创建直接跳跃过程的末态结构

在本章中,将会设置另一个可能的Pt(100)表面的吸附Pt原子扩散过程的末态结构。在这种扩散过程中,吸附原子直接在两个相邻的4原子包围的hollow位间跳跃。

1,在Stash中再次Copy “initial.nc” ,并重命名 “initial.nc (1)”“final_jump.nc”

2,选择Stash中的“final_jump.nc”,选择窗口中的吸附Pt原子,点击Coordinate Tools ‣ Translate

3,在Translate面板,使用如下图所示的平移矢量进行,对吸附Pt原子进行平移。

4,使用这种方式,得到NEB计算直接跳跃扩散过程的末态结构:

构造NEB路径

本章演示如何产生沿着交换扩散反应路径的NEB各个构象.这也适合于直接跳跃的扩散路径,唯一的差别是在设置NEB路径的末态结构的时候,需要选取“final_jump.nc”

1,点击Builder ‣ Nudged Elastic Band,并将“initial.nc”“final_exchange.nc”分别拖到Nudged Elastic Band的左、右两个面板里面。

2,在Nudged Elastic Band面板设置参数如下图所示:

设置完毕之后,点击Creat,在Stash中创建一个名为“NEB: initial.nc final_exchanged.nc”项目,包括初始结构和末态结构以及ATK自动猜测出来的,沿着反应路径的各个结构(以下称为映像)。

注意:

VNL中的image-dependent pair potential (IDPP)[4]使用线性插值的方法,能够提供NEB反应路径的高质量初始猜测。对复杂的反应路径,在迭代次数和速度方面的改进非常显著。

注意:

可以对NEB的各个映像直接进行操作,例如可以:

  • 选择特定映像并/或编辑特定原子
  • 删除一个或多个映像,通过右键点击选中的任意两个映像,重新计算整个路径或两个选定映像之间的路径
  • 将NEB映像中的某一个结构直接拖到Stash窗口
  • 将任何一个兼容的结构拖到NEB映像中
  • 使用Coordinate Tools下面的Mirror、Rotate、Translate工具编辑选中的原子。该操作将应用到所有映像或者选中映像

设置并运行NEB计算

本章中学习如何设置并运行交换扩散过程的NEB计算。直接跳跃扩散过程与此类似。

1,点击按钮,将“NEB: initial.nc final_exchange.nc”送入到Script Generator

2,在Script Generator中,将Global IO面板中的Default output file名字改为“NEB_exchange.nc”

3,将如下内容通过双击屏幕左侧Blocks面板里面对应的图标将其添加到Script栏:

  • New Calculator
  • Optimization ‣ Optimize Geometry

4,双击Script面板中的New Calculator,并修改如下参数:

  • Calculator面板选择ATK-Classical
  • Potential Settings面板选择“EAM——Pt_2004”

5,双击Script面板中的Optimize Geometry,并参照下图设置参数:

6,点击按钮将生成的脚本送入Job Manager,保存脚本名为“NEB_exchange.py”

7,在Select Machine窗口,确保Machine下拉菜单选择的是Local,然后按OK

8,在Job Manager中,确保脚本“NEB_exchange.nc”被选中,之后点击Run Queue按钮启动计算。该计算只需要几秒即可完成。当计算结束后,关闭Job Manager并会到VNL主窗口。

分析结果

1,交换和直接跳跃两种扩散过程的NEB计算都完成之后,两个新的文件出现在VNL主窗口的LabFloor面板。本文中,二者分别名为“NEB_exchange”“NEB_jump”

2,打开“NEB_exchange”文件,并选择“gID001”,该文件包含优化之后的交换扩撒的NEB路径。之后点击屏幕右边的Movie Tool

3,类似的打开“NEB_jump”,选择其“gID001”并点击屏幕右边的Movie Tool

4,通过对比Movie Tool中的两个能垒(见下图),可以看到交换扩散到能垒和直接跳跃扩散能垒分别为0.589eV0.928eV,这是与实验一致的[1]。与更精确的DFT计算结果[2]也是一致的。本例中力场模拟得到交换扩散过程在能垒上优于直接跳跃过程0.334eV

计算得到的交换扩散过程能垒

计算得到的直接跳跃扩散过程能垒

注意:通过AKMC方法计算得到得到的结果精确地与此一致,并未该体系的势能面预知信息。

结论

通过本文的演示,学习了使用ATK-ClassicalVNL图形界面设置、计算分析了Pt吸附原子在Pt(100)表面的两种不同扩散路径。结果与DFT计算一致[2]:力场计算预测交换扩散过程在能量上优于直接跳跃扩散的方式。如果希望使用DFT模块重复本案例,可以直接与文献报道的DFT结果[2]对比。

参考文献

[1] G.L. Kellog and P.J. Feibelman “Surface Self-Diffusion on Pt(001) by an Atomic Exchange Mechanism” Phys. Rev. Lett. 64, 3143 (1990) PhysRevLett.64.3143

[2] P.J. Feibelman “Surface-diffusion mechanism versus electric field: Pt/Pt(001)” Phys. Rev. B 64, 125403 (2001) PhysRevB.64.125403

[3] X.W. Zhou, et al. “Misfit-energy-increasing dislocations in vapor-deposited CoFe/NiFe multilayers” Phys. Rev. B 69, 144113 (2004) PhysRevB.69.144113

[4] Smidstrup et al. “Improved initial guess for minimum energy path calculations” J. Chem. Phys. 140, 214106 (2014) link

atk/neb方法研究pt在pt表面的扩散.1477926589.txt.gz · 最后更改: 2016/10/31 23:09 由 liu.jun

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