用户工具

站点工具

本页面的其他翻译:
  • zh

adf:pesexpclustergrowthco8

基于ReaxFF的团簇的生长模拟

在这里,我们展示了一种“Biased”结构搜索方法,用于研究单原子团簇的结构演化和生长。该方法中:向一个最低能量结构(将其结构冻结)的 n 原子团簇的添加一个原子,获得最有利结合位点(具有最大结合能,即负得最多),这样得到 (n+1) 团簇全局最小结构的良好近似,或者说初始猜测,进一步优化即可该 (n+1) 团簇结构即可。

本教程使用 ReaxFF 的 Co.ff 力场以 Co$_8$ + Co → Co$_9$ 为例进行说明。

本教程分为两个部分:在第一部分中,我们通过使用 Basin Hopping 子任务获得 Co$_8$ 簇的全局最小值。在第二部分中,我们固定 Co$_8$ 全局最小值的坐标,添加 Co 原子并使用 Process Search 子任务来探索所有反应机制,以及相应的结合位点。与最高结合能相关的结构是 Co$_9$ 全局最小结构的最佳近似。观察结合位点的“格栅图”(手册中称为“Lattice”)特征,能够让我们深入了解其背后的生长机制。结合位点的逐渐增多,显示了此类簇的结构演变和生长模式。本文演示的是一个一个 Co 原子逐渐生长,也适用于一个一个小团簇生长,即将这些小团簇类似下文的一个Co原子(adsorbate分区)处理即可。

下文中,我们将在AMS 中使用 ReaxFF 引擎调用 PES exploration功能。其他模块例如机器学习势、BAND、DFTB也一样可以调用 PES exploration功能,区别仅仅在于各个模块自带的参数差异,例如第一性原理需要指定合适的泛函、基组等。

  1. 启动 AMSinput
  2. 切换到ReaxFF模块
  3. Task → PES Exploration
  4. Periodicity → None
  5. Force field → Co.ff

说明:

目前AMS2023的版本,每次作业,只能添加一个原子或一个分子、团簇,SCM 已经计划开发生长过程自动化,即自动重复下述过程,从Co$_8$ → Co$_n$

一、全局优化CO$_8$

我们需要对 Co$_8$ 团簇的结构进行初步猜测。因此,使用 AMSinput 随意创建一个由 8 个 Co 原子组成的随机结构,不过需要避免创建成平面结构。然后使用窗口右下角的 Pre-optimize 按钮,来获得局部能量最小值。使用 Pre-optimize 按钮时,确保没有选择任何原子,否则只有选定的原子或原子才会被优化,示意图如下:

初始结构并不重要,但可能需要更多迭代才能获得相同的结果。对于本教程,我们建议从相同的局部最小值开始,以提高教程结果完全复现的可能性。因此用户,可以将下面的内容直接复制,在 AMSinput 中 Ctrl v 粘贴,这是我们优化得到的局部最优结构:

Co      -0.57747929       3.09962106      -1.40010667
Co      -1.94268805       1.60982864      -0.21835532
Co       0.68130178      -0.28713038       1.61855474
Co       0.41911715       1.21862699      -0.30327160
Co       1.35380790       3.40899190      -0.11445733
Co       1.88623229       1.82216225       1.57360827
Co       0.56876970      -1.15098318      -0.59251345
Co       2.52877908       0.02596128       0.06823723

1.1 设置Basin hopping

  1. 点击 Task 右侧的 > 按钮进入 PES Exploration 的详细设置
  2. Job → Basin Hopping
  3. Num expeditions → 10
  4. Num explorers → 4

其机制,就如同在一个地图上,派遣4个探险家,去寻找可能的结合点,每个探险家寻找10个点。探险家的数量、每个探险家寻找的点位数越多,对时间的消耗越大,当然能够得到更全面的结果,毕竟我们是在寻找全局最优结构。

有关不同设置的详细信息,请参阅 PES Exploration 手册。出于本教程的目的,我们将保留所有内容的默认值,除了探险次数和每次探险的探险家数量。

保存并运行作业。

1.2全局最优结构

计算完毕, SCM → Movie 即可得到不同结构的能量,双击坐标轴的 y 轴,可以将单位修改为eV:

如果运气好的话,最低能量状态应该在 -0.927817 Hatree,如果是这样,我们就成功获得了全局能量最小结构(将鼠标移到“态”上以验证能量的准确值)!

Basin Hopping 优化是一种使用随机扰动跳跃盆地的全局优化,并使用局部优化算法来优化每个能量极小点结构。因此,由于算法的随机性或数值精度的差异,结果可能会有所不同。可以考虑多运行几次,并比较结果,并采用能量最低那个结果。

下一步,我们将使用 Co$_8$ 全局最小值。

  1. 右键单击​​最低能量“态”,然后从弹出菜单中选择“Copy Geometry”选项
  2. SCM → New Input.
  3. ctrl v粘贴

二、Co$_8$ + Co → Co$_9$ 生长机制探索

首先,我们需要上一节中获得的 Co$_8$ 全局最小值的几何结构。如果您跳过了上一部分,只需将以下坐标复制粘贴到 AMSinput 中:

Co      -0.03403571       1.12611646      -2.08186475
Co      -1.53717952       1.78357073      -0.30583453
Co       1.68546231      -0.17156299       1.49980432
Co      -0.01541891       1.59507948       1.61007493
Co       0.67964989       2.82625193      -0.46130535
Co       2.34451750       2.13563230       1.20356390
Co      -0.20262505      -0.26260499      -0.06462506
Co       1.99747005       0.71459565      -0.76811757

新的 AMSinput 窗口还不知道我们想要使用 ReaxFF 引擎执行 PES 探索。我们类似前面一样,设置 Basin Hopping 的引擎设置:

  1. 切换到ReaxFF模块
  2. Task → PES Exploration
  3. Periodicity → None
  4. Force field → Co.ff

2.1 添加一个新原子,并优化之

在 AMSinput 中,在团簇表面粗略地添加一个新的 Co 原子,并选中该原子,然后使用窗口窗口右下角的 Pre-optimize 按钮,快速获得附近的局部能量最小结构,如此原先的 Co$_8$ 结构将保持不变。

同样地,这第 9 个 Co 原子初始结构并不重要,但可能导致后续步骤需要更多次迭代才能获得与教程中相同的结果。下面的结构,是我们添加 Co 原子并优化得到的结构:

Co      -0.03403571       1.12611646      -2.08186475
Co      -1.53717952       1.78357073      -0.30583453
Co       1.68546231      -0.17156299       1.49980432
Co      -0.01541891       1.59507948       1.61007493
Co       0.67964989       2.82625193      -0.46130535
Co       2.34451749       2.13563230       1.20356390
Co      -0.20262505      -0.26260499      -0.06462506
Co       1.99747005       0.71459565      -0.76811757
Co       3.01465991       2.87039628      -0.97767612

用户可以直接复制,并粘贴到AMSinput中,以进行下一步的工作。

2.2 搜索第9个Co原子最佳生长位置

首先,我们要定义两个Region(创建Region如果不熟悉,请参考:如何创建分区):1)adsorbate,即新加入的Co原子,以及 2)cluster,即之前得到的 Co$_8$ 全局最有结构,并固定 Co$_8$ 结构:

  1. Model → Geometry Constraints and PES Scan command
  2. 选中clusterRegion中的任意一个原子
  3. 点击cluster (fixed position) 前面的 ‘+’ 从而固定Co$_8$

如下所示:

在接下来的步骤中,我们将使用“Process Search”功能来探索添加第 9 个 Co 原子可能涉及的所有可能过程。“Process Search” 中的 Process 是指连接鞍点(过渡态)局部最小值的路径。“Process Search” 将从我们提供的局部能量最小点开始,尝试将“adsorbate”进行随机位移,找到附近的“鞍点”。如果找到鞍点,则执行结构优化,将原子推到鞍点的另一侧,以找到与原始状态连接的新局部最小点。从所有这些局部最小点开始,继续重复这个过程多次。

一旦获得势能面的图景,我们还将要求计算相关的“结合位点”的“格栅图”。“结合位点”的定义为:局部能量最小点时,adsorbate原子与Cluster中某个原子相邻。此外,如果满足以下两个要求,则认为两个结合位点相连接:

  1. 两个“结合位点”之间存过渡态(注意,同一个结合位点,有可能存在多个局部能量最小点)
  2. 至少有一个原子(来自 adsorbate 区域)通过上述相同的过渡态介导,将其位置从第一个结合位点改变为第二个结合位点

在这个过程中,为了结构之间具有可比性,程序会尽量将各种构型中 cluster 中的原子一一对应起来,而对于本例,Cluster 被冻结了,此事就没有任何问题、难度了。

设置 “Process Search” 如下:

  1. 点击 PES Exploration 右侧的 > 按钮进入详细设置
  2. Job → Process Search.
  3. Num expeditions to 100.
  4. Num explorers → 4.
  5. 点击 Structure Comparison 右侧的 > 按钮进入详细设置
  6. 在 PES Exploration Structure Comparison 页面,设置 Neighbors cutoff 为 5.0 Å,表示如果两个原子相距 5.0 Å 以内则被认为相邻,该选项上面的 Distance difference 是指如果两个构型之间,一一对应的原子之间距离差 0.1 Å 以上,则被视为两种不同的构型。
  7. 点击 Binding sites calculation 右侧的 > 按钮进入详细设置
  8. 在PES Exploration Binding sites calculation 页面,选中 cluster 作为参考 region
  9. 勾选 Binding Sites下面的 Calculate 选项,以计算结合位点
  10. 设置 Distance difference 为 0.5 Å,则两种结合位点如果相差 0.5 Å 以上,则视为两种不同的结合位点

以上参数的设置较为通用。

保存作业并运行。约几分钟后作业运行完毕,询问是否加载计算得到的最新结构时,点击“Yes”。在 AMSinput 中,我们将看到结合位点“格栅图”叠加到簇的初始几何形状上:

请注意,添加的原子仅仅位居所有结合位点中的某一个。这些用于表示结合位点的符号信息,包括近邻原子的数量(在 5 Å 的距离内,请参阅上面的Neighbors cutoff选项)以及结合状态的平均能量(不同颜色表达不同能量)。

在我们的示例中,只有一种近邻类型,所以只有一种符号,即三角形。这些结合位点在第一个配位壳层中有三个近邻原子,在第二个配位壳层中也具有三个近邻原子,因此,标签是N33。

它们的颜色分为两组: 红色代表最稳定的吸附位点,能量为 -1.0333 Hartree 左右 蓝色代表其余的结合位点,能量为-1.0321 Hartree

这些详细信息可以在 Details → PES Exploration Binding Sites 第二列中看到:

我们可以使用 AMSmovie 将探索的能量图景可视化:

  1. SCM → Movie
  2. 双击能量曲线坐标轴,将 Y 轴单位改为 eV

右侧列出不同构型对应的能量,左侧为对应结构。局部最小值用黑色 level 显示,而过渡态用红色 level 显示。单击不同的 level 左侧显示对应结构。

最后:由于算法的随机性、数值精度的差异,您可能会得到不同的能量景观图。在我们的示例中,我们选择了100 个 expeditions ,以确保可以获得所有关键结构点:12 个局部最小值和 12 个过渡状态。

注意:

  • 您可以通过右键单击任何“态”,然后在弹出窗口中选择 Open in module → Spectra 来查看任何状态的振动频谱。上述的计算,Co$_8$被冻结,只有不受约束的原子相关的振动模式被显示出来
  • 可以通过右键单击任何状态,然后在弹出窗口中选择 Delete level 来删除这个“态”

在下图中,我们显示了随着探险次数的增加,并运行 20 遍来得到不同的结果(请注意,对本例而言,至少需要 100 个 expeditions,才能保证获得 24 种构型。

adf/pesexpclustergrowthco8.txt · 最后更改: 2024/06/14 07:50 由 liu.jun

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