用户工具

站点工具

本页面的其他翻译:
  • zh

adf:bondboost

Bond Boost:加速分子动力学模拟中新键形成

在本教程中,我们将展示如何使用Bond Boost加速方法,驱动非催化“环氧化物-胺”的聚合反应,以生成高度交联的环氧聚合物结构:

注意:Bond Boost的某些设置,有可能导致无法还原出实际反应机理(详见下文对Bond Boost机理的解释)。

版本要求AMS2020.101及其以上。(分子结构下载)

本文以ReaxFF分子动力学为例说明,但实际上也适合BAND、Mopac、DFTB、机器学习势的分子动力学。Bond Boost方法非常适合于加速反应中的新键形成。

模型

创建混合物模型:

这里为了清晰的看到加速过程,只添加了2个BisF分子,1个DETDA分子。

Bond Boost机理:为了用Bond Boost加速反应,用户需要定义若干对原子距离,根据这些距离,Bond Boost算法外力对这些“原子对”施加拉力或者推力,促使键形成或断裂。在此期间,反应可能发生,也可能不会发生,仍然具有热力学随机性。 具体推力、拉力何时作用?我们可以在下面的参数设置中看到。

对于当前的反应,“原子对”的距离是指N原子与环氧基末端C原子之间的距离,以及环氧基O原子与胺基中最接近的H原子之间的距离:

定义Bond Boost

本文中,我们会定义出4种原子,将这四类原子,设定为4个Region

  • 所有环氧基末端C原子,命名为CT(C Terminal)
  • 所有N原子,命名为AllN
  • 所有H原子,命名为AllH
  • 所有O原子,命名为AllO

创建CT、AllN等4个Region

这里有一个技巧,在分子个数较多的时候非常有用:这个体系里面有2个DETDA,我们可以选中其中一个DETDA的环氧基末端C原子,为这两个原子创建一个分区,并改名为CT,

然后:

所有DETDA分子的环氧基末端C原子都被添加到该Region了。

创建其他Region(选中一个H原子,然后菜单Select - Select Atoms Of Same Type则所有H原子都被选中,然后创建RegionAllH,N、O可以类似操作):

基于4种Region定义Bond Boost参数

“原子对”距离数值如下所示:

我们希望当前存在成键的“原子对”断开,没有成键的“原子对”能成键。因此对于成键的“原子对”,当它们的距离在定义区间时,就给它一个推力,对于没有成键的“原子对”当它们距离距离在定义区间时,就给它一个拉力,达到如下图所示的效果:

所以实际上如果拉力、推力应用过度,就会显著改变机理,如果是对机理研究,需要注意使用哪些条件可以不破坏机理。

那么参数设置如下:

Bond Boost参数:

  • Bond Boost lifetime,指每次Restraints作用持续步数上限。这里设置成了3万步,一般可以设置为2000或3000。该时间结束后,会再次检测是否有符合条件的环、链(环、链含义见下文),以施加Restraints。因此该值设置的较大,则Bond boost工作频率就比较低。
  • Number of instance,指同时施加Restraints的环、链数(参看下文后有助于理解此处),该数值设置越大,计算速度越慢。

Atom types with region参数:

  • 本例中,这些“原子对”是循环、首尾相连的“环”:1~2、2~3、3~4、4~1。但也可以是“链”,例如1~2、2~3、3~4。系统会监测环或者链相关“原子对”的实际距离,如果发现设定的几组Rmin、Rmax条件全部同时满足,下方所定义的Restraints(施加外力)就会发生作用。如果有多组环或者链满足条件,会选择其中距离之和最短的n组(Number of instance)施加Restraints。
  • 本例中,定义的是环,因此5即1。

Restraints参数:

  • R0指目标键长,例如O-H这里设置目标键长是1.5埃,当环或链条件满足时,检查O-H具体距离,如果大于目标键长,将产生拉力,如果小于键长,将产生推力。本例中,因为定义的条件中,当O-H距离在3.0~5.5埃时,才会施加外力,因此实际上只会产生“拉力”,没有机会产生推力(因为距离小于1.5埃时,条件已经不具备了)。这种情况下,目标键长并不需要精确,估算一个值即可,因为这种情况下它主要影响外力的大小,对实际键长没有影响。
  • 类似地,环、链条件满足时,2~3之间会产生外加推力,因为底部2~3的目标键长是2.5,比Rmax=1.5还大。
  • 后面两个数值也是力大小公式中的数值,其中F∞是正比项,k是指数项,调整F∞可以线性的调整力的大小。公式参考:https://www.scm.com/doc/OldReaxFF/BondBoost.html
  • Restraints定义的原子对,不需要与上面定义的环、链顺序一致,甚至可以没有任何关系。例如环定义为1~2,2~3,3~4,4~1,Restraints也可以直接施加到2~4上。这种情况的话,就要非常注意R0的精确设置了,因为环、链条件没有关于2~4的,因此任何键长都可能存在的,那推力、拉力都有可能产生。

用户可以设置多组Bond boost,例如,一个键链搭配一个Restraints,一个键环搭配另一个Restraints。数量没有限制。

一般性分子动力学参数设置

加速效果

在Movie中可以看到很快就发生了预期的聚合反应:

当然里面有改变机理的“推力”因素的原因,否则不会这么快发生反应,本文使用这些条件,只是为了演示Bond Boost的作用。

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

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