大家好,我是小马老师。

本文总结一下设置原子速度的几种方式。

在lammps模拟中,对体系施加变形,如拉伸、压缩、剪切、摩擦、冲击、刻划等模拟,大多是通过设置原子速度实现的。

常用的设置原子速度的方法有这么几种:

(1)velocity命令

设置原子速度最常用的命令是velocity set命令。这个命令可以设置原子组一个初始的移动速度。

如设置top层原子沿z轴移动实现拉伸:

velocity top set 0 0 1 units box

velocity命令仅仅是重置top组原子的初始速度,必须配合积分命令才能使原子真正的产生移动,因此,top组原子必须设置fix nve/npt/nvt等系综。

另外,需要注意的是,top组原子的速度在后续的模拟过程中受系综影响可能会发生变化,因此,top组移动的速度并不是匀速的。

(2)fix move命令

fix move命令和velocity命令一样,设置原子一个速度使其产生移动,不同的是,fix move命令可以使原子组按设定的速度匀速移动。

top组原子沿z轴移动命令为:

fix 1 top move linear 0 0 1 units box

fix move命令本身就是一个积分命令,因此,top不能再设置fix nve/npt/nvt等系综,否则会造成积分混乱。

(3)fix gravity命令

fix gravity命令不是设置原子组匀速运动,而是设置一个加速度,在运动过程中不断变化运动速度。

设置z方向的加速度为100(单位为Force/mass,与units有关),可写为:

fix 1 top gravity 100.0 vector 0 0 1

这个命令一般用于自由落体,用的相对较少,了解一下即可。

综上,设置原子移动的命令有很多,最常用的还是velocity和fix move命令,根据实际模拟情况有选择的使用即可。