大家好,我是小马老师。
本文介绍lammps固定原子的另外一种方法:fix spring/self。
在lammps模拟中,固定原子组最常用的方法是把原子组的速度和受力同时设为0。
使用这种方法,原子组在模拟过程中是完全静止的,并且因为速度为0,所以原子组的温度也为0。
但在有些模拟中,既想固定原子组,又想原子组带有一定的温度。
显然,用传统的固定方式是无法实现的,可以考虑fix spring/self命令。
(1)原理
原子组中的每一个原子都“连接”一个弹簧,原子在力的作用下偏离初始位置时,弹簧被拉长,弹簧产生的拉力把原子拉回到初始位置,所以,原子组被“固定”在初始位置。
(2)语法规则
fix ID group-ID spring/self K dir
K:弹簧系数,弹簧力F=-Kr,K越大,弹簧越硬,提供的拉力就越大,固定效果越好,反之,K较小,原子可在初始位置附近振动。
dir:弹簧的方向
如果不设置dir,默认三个方向均有弹簧力。
也可以只在某个方向设置弹簧,如dir设置为z,则表示仅在z方向设置一个弹簧,原子在x和y方向的运动不受限制。
(3)例句解析
fix 1 boundary-atoms spring/self 10.0
原子组boundary-atoms施加弹簧固定,弹簧系数K为10.0
fix 1 move spring/self 10.0 z
原子组move在z方向施加弹簧固定,K为10.0
lammps模拟有问题就找小马老师!