lammps教程:velocity命令三种使用方法

原子速度在分子动力学模拟中是一个重要的参数,不仅决定了当前时刻体系的温度,也决定了原子在下一个的位置。

速度的设置是分子动力学模拟必不可少的一个步骤。

在lammps中,使用velocity命令设置原子的速度,命令格式为:

velocity group-ID style args keyword value ...

其中,group-ID指定哪一组原子将要被设置速度,style决定了速度设置的类型。

常见的速度设置方式有以下三种:

(1)velocity create进行初始化

分子动力学模拟需要有一个初始的状态,因此,当原子模型建立完成,进行minimize能量最小化之后,需要进行速度初始化,体系的温度是由原子的温度计算得到,因此,这个过程也称为温度初始化。

使用的命令为velocity create,例如:

velocity all create 300 4928459

这一条语句的作用是对所有原子进行速度初始化,总体系的温度为300k,4928459为随机数,每个原子的速度被随机设置,默认的情况下,原子的速度符合正态分布。

也可以设置dist参数,使原子的速度符合高斯分布:

velocity all create 300 4928459 dist gaussian

当然,也可以对部分原子进行速度初始化,只需要改变原子组即可:

velocity mobile create 298 4928459

(2)velocity set设置原子在特定方向上的速度

在拉伸、剪切等动力学模拟中,需要这种一部分原子沿着某一个方向移动,可以使用velocity set命令设定特定方向的速度。

例如在沿着Z轴进行拉伸模拟时,需要把底部原子固定住,使上部(top)原子沿着Z轴施加一个速度,可以写为:

velocity top set NULL NULL 2  sum yes units box

上句代码中 NULL NULL 2 表示不设置x和y方向的速度,仅设置z方向速度,sum yes的意思是将速度2加到原子当前时刻速度分量上,如果不写sum yes,则表示忽略原来的速度,直接将z方向速度直接设为2。

默认的单位为晶格单位(lattice),units box关键字可将单位设置为实际速度单位,具体单位与体系units有关。

多个方向同时设置:

velocity top set 2 2 0 sum yes

将x、y方向移动速度设为2(晶格单位),z方向速度为0,覆盖掉原来的速度值。设置之后相当于top组原子沿着x和y方向的对角线方向移动。

(3)velocity ramp设置速度场

lammps允许在某一个方向上按照不同的坐标位置设置不同的速度,例如:

velocity flow ramp vx 0.0 5.0 y 5 15

这句代码是将y坐标从5到15的原子在x方向的速度设为0到5,y坐标小于5的原子x方向速度为0,y坐标大于15的原子x方向的速度为5,中间的原子x方向速度按照比例关系进行设定,例如y坐标为10的原子x方向上的速度为2.5。

掌握以上三种velocity用法,可以应付绝大部分的模拟场景,如果需要更复杂的速度设置,可以查lammps手册。

更多lammps教程请关注微信公众号:lammps加油站

  • 12
    点赞
  • 67
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lammps加油站

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值