ReaxFF-扩散系数:通过速度自相关函数或均方位移MSD,得到分析分子、原子的扩散系数
本文虽然以ReaxFF分子动力学模拟结果为例,但实际上基于BAND(DFT)、DFTB、MOPAC、经典力场、机器学习势的分子动力学结果,均可如此分析。分子动力学计算方面有如下需要注意的地方:
体系已经达到平衡,否则数据就存在平均的问题
使用自相关函数计算扩散系数,则Sample frequency要设置的非常小,例如5;如果使用MSD计算扩散系数,则采用频率可以大一些(但并非必需),例如50
计算扩散系数有两种算法:
通过计算MSD得到扩散系数D:
通过计算速度自相关函数得到扩散系数D:
其中关于自相关函数的定义参考手册:
通过速度自相关函数求扩散系数
常规的分子动力学计算完毕(Step足够大,分子充分扩散,达到平衡)之后,在Movie中即可分析指定分子、原子的自相关函数与扩散系数:
SCM - Movie - MD Properties - Autocorrelation Functions:
Steps,设置分析的时间段,从多少帧到多少帧
Property,选择扩散系数(同时也会生成自相关函数)
Atoms,在左侧窗口选择要分析的分子或原子,点击右侧窗口的+按钮
Vector elements,希望计算哪个方向的扩散系数?输入1表示x,2表示y,3表示z
点击Generate ACF:
生成了ACF与扩散系数,这里扩散系数为4.085 × 10-8 m2/s
注意,扩散系数是一个严重受统计样本影响的量,所以建议多个样本求均值。
通过均方位移求扩散系数(推荐)
AMSMovie → MD Properties → MSD,弹出窗口中:
Steps,类似地通过设置帧数的起始值控制分析MD的时间范围
Atoms,类似选择原子或分子
Max MSD steps,需要设置为小于总帧数一半的数值。该数值的具体大小,会影响MSD以及扩散系数的值
Vector elements,希望计算哪个方向的扩散系数?输入1表示x,2表示y,3表示z
点击Generate MSD即生成MSD函数,同时也会在曲线图中显示得到的扩散系数D: