用户工具

站点工具

本页面的其他翻译:
  • zh

atk:模拟离子轰击单层石墨烯

模拟离子轰击单层石墨烯

单层石墨烯的性质可以通过引入缺陷来调控。获得可控缺陷的一个有效的方法是使用高能离子轰击单层石墨烯。分子动力学模拟可被用来阐明此过程中所涉及的机制,并增进我们对外部参数(比如引入离子的动能)如何影响缺陷形成的理解。在本实例中,借助文献[BS12]中的方案,您将模拟离子轰击石墨烯。 特别地,您将:

  • 学习基于Virtual NanoLab (VNL)建立计算所需的基本步骤。
  • 学习如何手动地在 VNL产生的Python脚本中引入修改。
  • 使用QuantumATK运行计算。

构造单层石墨烯

打开 Builder 进行如下操作:

  • 使用Nanosheet插件Add ‣ From plugin ‣ Nanosheet来创建一个石墨烯单胞。
  • 使用Bulk Tools ‣ Swap Axes,点击C↔A和 Z↔X来旋转结构和晶胞矢量。现在表面朝向沿着Z轴。
  • 使用Bulk Tools ‣ Repeat通过在A和B方向给一个想要的重复数(比如10*4)来创建一个合适的超胞。
  • 使用Bulk Tools ‣ Lattice parameters窗口栏增加C矢量的z分量为50.0Å。确保改变晶格时保持笛卡尔坐标不变。

添加一个轰击原子

普通列表项目轰击原子原则上可以添加在表面上方的任何地方。接下来,您可以选择添加轰击原子在一个石墨烯碳原子正上方(顶位),也可以在石墨烯碳圆环中间位置正上方(空心位)。

在顶位添加一个原子:

  • 选择单层石墨烯中间部位的一个原子。
  • 使用Coordinate Tools ‣ Translate,通过给translation vector键入一个合适的z分量,将轰击原子放在单层石墨烯上方一个初始高度(比如30Å)
  • 选中Copy并点击Apply。

在空心位添加一个原子:

  • 选中在片层中心位置的一个六元环上的六个碳原子。
  • 点击在Builder工具栏中的 图标。
  • 选择新建的原子并使用Coordinate Tools ‣ Translate工具(点掉Copy复选框)来将原子平移到表面上方想要的初始位置。

注意!

如果您想修改轰击原子的确切位置,您可以使用Translate工具,也可以编辑原子最后的坐标(使用Coordinate Tools ‣ Coordinate List工具)

设置模拟

您将使用Script Generator来为模拟设置计算器。建议在模拟开始之前使用经典势对石墨烯片层的晶格进行优化。关于计算器和经典势的细节阐述如下。

  • 首先,通过点击 键将结构从Builder送到Script Generator

Script Generator中:

  • 添加一个New Calculator模块。
  • 添加两个MolecularDynamics 模块。
  • 打开New Calculator窗口栏。选择ATK-Classical calculator中的Tersoff_SiC_1998势。
  • IO部分选择一个合适的输出文件名,然后点击OK

注意!

Tersoff_SiC_1998势和在[BS12]中使用的势很类似,但并不完全相同。如果您想要使用完全相同的势,您可以在这个脚本中找到:ion_bombardment.py

在第一个MolecularDynamics模块中,设置平衡态模拟参数如下图。

在平衡态计算过程中,轰击原子的位置应该固定。所以:

  • 点击Add Constraints来打开Constraints窗口栏。
  • 选中在表面上方的轰击原子并点击Add tag from Selection
  • 设置约束栏为Fixed并点击OK

在第二个MolecularDynamics模块中,您应设置轰击模拟的基本参数:

  • 选择 NVE Velocity Verlet类型。
  • 设置步长为50000和100的更新间隔(log interval)。
  • 为轨迹键入一个合适的文件名。
  • 设置初始速度为Configuration velocities以在平衡后使用此速度。
  • 点掉Remove center-of-mass momentum复选框。
  • 减小time step为0.05 fs。

提示!

在这个模拟中的原子动能将会非常大。这就是为什么有必要选择一个相对小的时间步长(time step)来保证收敛。对于很高的入射能(>100eV),时间步长甚至必须减小到0.01fs。(参见[BS12])。

  • 使用 按钮将脚本送到Editor。

修改脚本

为了使轰击原子以想要的动能达到表面,需要在脚本中进行一些修改。

  • 在第二个MolecularDynamics紧前面,植入如下语句。
# Get the velocities from the bulk_configuration
velocities = bulk_configuration.velocities()
# Define the incident energy of the bombardment atom.
incident_energy = 10.0*eV
# Calculate the corresponding velocity and apply it to the last atom.
incident_velocity = ((2.0*incident_energy/Carbon.atomicMass())**0.5).inUnitsOf(Ang/fs)
velocities[-1, :] = [0.0, 0.0, -incident_velocity]*Ang/fs
bulk_configuration.setVelocities(velocities)

小提示!

在本计算中速度矢量被设置为垂直于表面。任意角入射方向可以被视为在脚本中对速度矢量进行修改。

  • 将脚本命名并保存,通过JobManager或者在一个终端里运行模拟。
  • 完成模拟之后您可以使用MovieTool或者Viewer对轨迹可视化来检查损伤。

参考文献

[BS12] (1, 2, 3) Edson P. Bellido and Jorge M. Seminario. Molecular dynamics simulations of ion-bombarded graphene. J. Phys. Chem. C, 116(6):4044–4049, 2012.doi:10.1021/jp208049t.

本文翻译:王吉章

atk/模拟离子轰击单层石墨烯.txt · 最后更改: 2018/03/20 22:15 由 liu.jun

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