大家好,我是小马老师。
在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加油站。