干货分子动力学 干货详情

lammps中文教程14

春风得意马蹄疾40
分子动力学LAMMPS原子速度初始化温度初始化速度设置速度场拉伸模拟剪切模拟高斯分布计算材料学计算物理动力学模拟

1.14 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⼿册。

评论

0/1000发布评论
全部评论

春风得意马蹄疾

关注
TA的主页

干货推荐