这里会显示出您选择的修订版和当前版本之间的差别。
两侧同时换到之前的修订记录前一修订版后一修订版 | 前一修订版 | ||
atk:模拟离子轰击单层石墨烯 [2016/09/19 21:58] – [构造单层石墨烯] nie.han | atk:模拟离子轰击单层石墨烯 [2018/03/20 22:15] (当前版本) – [模拟离子轰击单层石墨烯] liu.jun | ||
---|---|---|---|
行 1: | 行 1: | ||
====== 模拟离子轰击单层石墨烯 ====== | ====== 模拟离子轰击单层石墨烯 ====== | ||
- | 单层石墨烯的性质可以通过引入缺陷来调控。获得可控缺陷的一个有效的方法是使用高能离子轰击单层石墨烯。分子动力学模拟可被用来阐明此过程中所涉及的机制,并增进我们对外部参数(比如引入离子的动能)如何影响缺陷形成的理解。在本实例中,借助文献[BS12]中的方案,你将模拟离子轰击石墨烯。 | + | 单层石墨烯的性质可以通过引入缺陷来调控。获得可控缺陷的一个有效的方法是使用高能离子轰击单层石墨烯。分子动力学模拟可被用来阐明此过程中所涉及的机制,并增进我们对外部参数(比如引入离子的动能)如何影响缺陷形成的理解。在本实例中,借助文献[BS12]中的方案,您将模拟离子轰击石墨烯。 |
- | 特别地,你将: | + | 特别地,您将: |
* 学习基于**Virtual NanoLab** (VNL)建立计算所需的基本步骤。 | * 学习基于**Virtual NanoLab** (VNL)建立计算所需的基本步骤。 | ||
* 学习如何手动地在 VNL产生的Python脚本中引入修改。 | * 学习如何手动地在 VNL产生的Python脚本中引入修改。 | ||
- | * 使用**Atomistix ToolKit**(ATK)运行计算。 | + | * 使用**QuantumATK**运行计算。 |
行 16: | 行 16: | ||
* 使用Bulk Tools ‣ Repeat通过在A和B方向给一个想要的重复数(比如10*4)来创建一个合适的超胞。 | * 使用Bulk Tools ‣ Repeat通过在A和B方向给一个想要的重复数(比如10*4)来创建一个合适的超胞。 | ||
* 使用Bulk Tools ‣ Lattice parameters窗口栏增加C矢量的z分量为50.0Å。确保改变晶格时保持笛卡尔坐标不变。 | * 使用Bulk Tools ‣ Lattice parameters窗口栏增加C矢量的z分量为50.0Å。确保改变晶格时保持笛卡尔坐标不变。 | ||
- | {{: | + | {{ : |
===== 添加一个轰击原子 ===== | ===== 添加一个轰击原子 ===== | ||
+ | |||
+ | 普通列表项目轰击原子原则上可以添加在表面上方的任何地方。接下来,您可以选择添加轰击原子在一个石墨烯碳原子正上方(顶位),也可以在石墨烯碳圆环中间位置正上方(空心位)。 | ||
+ | |||
+ | 在顶位添加一个原子: | ||
+ | * 选择单层石墨烯中间部位的一个原子。 | ||
+ | * 使用Coordinate Tools ‣ Translate,通过给translation vector键入一个合适的z分量,将轰击原子放在单层石墨烯上方一个初始高度(比如30Å) | ||
+ | * 选中Copy并点击Apply。 | ||
+ | |||
+ | 在空心位添加一个原子: | ||
+ | * 选中在片层中心位置的一个六元环上的六个碳原子。 | ||
+ | * 点击在Builder工具栏中的 图标。 | ||
+ | * 选择新建的原子并使用Coordinate Tools ‣ Translate工具(点掉Copy复选框)来将原子平移到表面上方想要的初始位置。 | ||
+ | {{ : | ||
+ | |||
+ | <WRAP center round info 100%> | ||
+ | **注意!** | ||
+ | |||
+ | 如果您想修改轰击原子的确切位置,您可以使用Translate工具,也可以编辑原子最后的坐标(使用Coordinate Tools ‣ Coordinate List工具) | ||
+ | </ | ||
+ | |||
+ | |||
===== 设置模拟 ===== | ===== 设置模拟 ===== | ||
+ | |||
+ | 您将使用{{: | ||
+ | * 首先,通过点击{{: | ||
+ | |||
+ | 在**Script Generator**中: | ||
+ | * 添加一个{{: | ||
+ | * 添加两个{{: | ||
+ | * 打开**New Calculator**窗口栏。选择**ATK-Classical calculator**中的// | ||
+ | * 在**IO**部分选择一个合适的输出文件名,然后点击**OK**。 | ||
+ | |||
+ | <WRAP center round important 100%> | ||
+ | **注意!** | ||
+ | |||
+ | Tersoff_SiC_1998势和在[BS12]中使用的势很类似,但并不完全相同。如果您想要使用完全相同的势,您可以在这个脚本中找到:{{ : | ||
+ | </ | ||
+ | |||
+ | 在第一个{{: | ||
+ | {{ : | ||
+ | |||
+ | 在平衡态计算过程中,轰击原子的位置应该固定。所以: | ||
+ | * 点击**Add Constraints**来打开**Constraints**窗口栏。 | ||
+ | * 选中在表面上方的轰击原子并点击**Add tag from Selection**。 | ||
+ | * 设置约束栏为**Fixed**并点击**OK**。 | ||
+ | {{ : | ||
+ | |||
+ | 在第二个{{: | ||
+ | * 选择 NVE Velocity Verlet类型。 | ||
+ | * 设置步长为50000和100的更新间隔(log interval)。 | ||
+ | * 为轨迹键入一个合适的文件名。 | ||
+ | * 设置初始速度为Configuration velocities以在平衡后使用此速度。 | ||
+ | * 点掉Remove center-of-mass momentum复选框。 | ||
+ | * 减小time step为0.05 fs。 | ||
+ | <WRAP center round info 100%> | ||
+ | **提示!** | ||
+ | |||
+ | 在这个模拟中的原子动能将会非常大。这就是为什么有必要选择一个相对小的时间步长(time step)来保证收敛。对于很高的入射能(> | ||
+ | </ | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | * 使用{{: | ||
+ | |||
+ | |||
===== 修改脚本 ===== | ===== 修改脚本 ===== | ||
+ | 为了使轰击原子以想要的动能达到表面,需要在脚本中进行一些修改。 | ||
+ | * 在第二个{{: | ||
+ | |||
+ | <code python> | ||
+ | # 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/ | ||
+ | velocities[-1, | ||
+ | bulk_configuration.setVelocities(velocities) | ||
+ | </ | ||
+ | |||
+ | <WRAP center round info 100%> | ||
+ | **小提示!** | ||
+ | |||
+ | 在本计算中速度矢量被设置为垂直于表面。任意角入射方向可以被视为在脚本中对速度矢量进行修改。 | ||
+ | </ | ||
+ | |||
+ | * 将脚本命名并保存,通过{{: | ||
+ | * 完成模拟之后您可以使用**MovieTool**或者{{: | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | |||
+ | |||
===== 参考文献 ===== | ===== 参考文献 ===== | ||
+ | |||
+ | [BS12] (1, 2, 3) Edson P. Bellido and Jorge M. Seminario. Molecular dynamics simulations of | ||
+ | |||
+ | 本文翻译:王吉章 | ||
+ | |||