大家好,我是小马老师。
本文总结一下设置原子速度的几种方式。
在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命令,根据实际模拟情况有选择的使用即可。