大家好,我是粥粥。
这几天,用PYTHON写了一个计算SiO2的O-Si间的偏径向分布函数(partial RDF)和针对不同Si近邻(neighbor1,neighbor2…neighbor6)的偏偏径向分布函数(partial partial RDF),自己起的名字。如图1,以此可以枚举SiO2非晶化过程中,原子间的拓扑约束,并考察其变化。此外,根据实验得到偏结构因子计算出偏径向分布函数,就可以根据我MD模拟的结果,来对应实际材料中的难以计算和预测的性质。
图1 | SiO2辐照后的偏RDF(O-Si)
可问题在于为什么计算出的partial RDF不趋向于1,思考过后我发现,由于在对统计计数后的数据进行归一化的时候,是除以全局平均数密度(Si和O)。而此时只计数了Si,所以计算出的partial RDF应该趋向于(Si数量/Si和O总数量),在此处即1/3,看起来就相当合理了。所有的partial RDF加起来的pair RDF才会趋向于1。但当统计距中心原子的最远距离不是无限远或整个盒子的大小时,pair RDF会趋向于0。因为超过自己设置的最远距离的pair atom根本没有统计计数,此时的数值当然为0。
RDF的意义
径向分布函数是每个球层(shell)位置的被统计的组的原子的数密度与平均数密度的比值。通俗来讲是从一个原子出发, x轴表示离开这个原子的距离,y轴表示在某个距离上出现原子的个