大家好,我是小马老师。

在lammps扩散模拟中,大多需要计算msd,对msd曲线拟合斜率可计算得到扩算系数。

本文分享一段msd的代码:




compute 1 all msd com yes
variable msdx equal c_1[1]
variable msdy equal c_1[2]
variable msdz equal c_1[3]
variable msd equal c_1[4]
variable istep equal step
fix 2 all print 1 "${istep} ${msdx} ${msdy} ${msdz} ${msd}" screen no file msd.dat


第一行代码使用compute msd 命令对所有原子的均方位移进行计算。

计算完成后会产生4个结果,保存到数组c_1[]。

其中,c_1[1]、c_1[2]、c_1[3]分别对应x、y、z三个方向的msd,c_1[4]为平均后的msd。

为输出方便,可把这4个msd结果保存到自定义变量。

最后一行使用fix print命令把步数和4个msd保存到msd.dat文件。

在需要计算msd的时候,直接把代码段插入到in文件中即可。


END



扫描关注微信公众号:lammps加油站

lammps教程:均方位移MSD计算方法介绍_公众号