目录

通过速度自相关函数或均方位移MSD,得到分析分子、原子的扩散系数

本文虽然以ReaxFF分子动力学模拟结果为例,但实际上基于BAND(DFT)、DFTB、MOPAC、经典力场、Apple & P力场、机器学习势的分子动力学结果,均可如此分析。分子动力学计算方面有如下需要注意的地方:

  1. 体系已经达到平衡,否则数据就存在平均的问题
  2. 使用自相关函数计算扩散系数,则Sample frequency要设置的非常小,例如5;如果使用MSD计算扩散系数,则采用频率可以大一些(但并非必需),例如50

计算扩散系数有两种算法:

  1. 通过计算MSD得到扩散系数D:
  2. 通过计算速度自相关函数得到扩散系数D:

其中关于自相关函数的定义参考手册:

catch_02-16-16-50-40_.jpg

参数设置

常规的分子动力学模拟参数设置(参考燃烧的案例:【入门基础教程】燃烧:甲烷燃烧过程模拟、基元反应分析、反应速率常数计算、键级)没有太大区别,但是要注意在正式计算扩散系数前,要确保体系弛豫好了。

这里是以ReaxFF力场为例,机器学习势、Apple&P、普通力场、AIMD、DFTB-MD,除了Main窗口略有差别,其他设置完全一致的。

如果关心其中混合物体系中,某几类分子的扩散系数,可以将这几类分子分别创建一个Region,创建方法参考:如何创建分区

如果打算用MSD方法来分析扩散系数,就需要把Sample frequency设置为5:

总的分子动力学步数要足够大,达到几十到上百ps,以确保分子充分扩散,达到平衡,从而降低统计上的涨落误差。

结果分析

通过速度自相关函数求扩散系数

常规的分子动力学计算完毕之后,在Movie中即可分析指定分子、原子的自相关函数与扩散系数:

SCM - Movie - MD Properties - Autocorrelation Functions:

点击Generate ACF右下角即得到扩散系数:5.57525 × 10-9 m2/s,实验值约:4.8 × 10-9 m2/s

注意,扩散系数是一个严重受统计样本影响的量,建议多次多个样本计算扩散系数求均值。

通过均方位移求扩散系数(推荐)

AMSMovie → MD Properties → MSD,弹出窗口中:

点击Generate MSD即生成MSD函数

同时也会在曲线图中显示得到的扩散系数D:5.28621 × 10-9 m2/s,似乎更接近实验值。