解读命令系列【2】【velocity command 】

192 views
Skip to first unread message

mdbbs2...@gmail.com

unread,
Dec 5, 2008, 4:15:04 AM12/5/08
to LAMMPS2forum
解读命令系列【2】【velocity command 】
【提醒:命令使用时一定一定要注意他们的默认设置,否则错了你都找不到北】

velocity command 是一个常用的命令,除非你再read.data中已经把系统原子的速度都设定好了【用其他软件产生的原子,这个也太
强了吧 】。
--------------------------------------------------------------------------------------------------------------------
Syntax: 【语法】
velocity group-ID style args keyword value ...

* group-ID = 【你想设定谁的速度啊,我来控制,呵呵】
* style = create or set or scale or ramp or zero 【设定方法任你选】
* create args = temp seed 【随机产生指定温度的速度】
* temp = temperature value (temperature units)
* seed = random # seed (positive integer) set args = vx vy vz 【我就想
把这个group的速度给搞成这个值,其他的我不喜欢】
* vx,vy,vz = velocity value or NULL (velocity units)
* scale arg = temp 【标度】
* temp = temperature value (temperature units)
* ramp args = vdim vlo vhi dim clo chi 【俺想产生速度梯度】 vdim = vx or
vy or vz vlo,vhi = lower and upper velocity value (velocity
units) dim = x or y or z clo,chi = lower and upper coordinate
bound (distance units)
* zero arg = linear or angular 【等候谈谈吧】
* linear = zero the linear momentum angular = zero the angular
momentum
* zero or more keyword/value pairs may be appended
* keyword = dist or sum or mom or rot or temp or loop or units 【小妾太
多了 】
* dist value = uniform or gaussian sum value = no or yes mom
value = no or yes rot value = no or yes temp value = temperature
ID loop value = all or local or geom units value = box or lattice
*
-----------------------------------------------------------------------------------


velocity 续
例子:...
描述:这个命令可以用来以某种style设定或改变指定的那个group的速度的。对于某一类型,他有对应的arguments 和可选的
keyword/value参数,并不是所有的选项都被某一类型使用。每个选项有如下的默认参数:

create 类型:为group中的原子用随机的方法产生一个满足指定温度的速度系综【均匀,高斯分布】

set 类型:这个类型用于给group中的所有原子赋予一个特定值的速度,如果某一项【component】设为NULL,那么这项速度就不改变了,
即不受set的影响。

scale类型:顾名思意吧,就是先计算当前的此group原子的温度,然后再标度速度到指定的温度。

ramp 类型:这个类型和compte temp/ramp命令类似。从vlo->vhi的均匀速度梯度用于vx,vy,vz维度.意思是三个方向都
可以加使用,这个可是三维图像啊,vx 方向的速度,在y方向也可以有梯度的,看你怎么加了【velocity flow ramp lattice
vx 0.0 5.0 y 5 25 temp mytemp】

zero style 把(线)动量和角动量置为0

此命令所给定的温度都是对应的温度单位【系统自己计算的,无需你管】,速度和坐标单位依赖于你给定的了,命令中用keyword units来设定是
box 或 lattice,

注意,2D系统没有z方向的速度,所有,2D系统都是XY系统,不要搞成XZ/YZ系统了,呵呵

keyword = dist or sum or mom or rot or temp or loop or units
dist value = uniform or gaussian sum value = no or yes mom value =
no or yes rot value = no or yes temp value = temperature ID loop
value = all or local or geom units value = box or lattice 这些很少用到,,一般除了
units外其他默认就可以了记住这些默认,出错时想想默认和自己的系统相适应么
The option defaults are dist = uniform, sum = no, mom = yes, rot = no,
temp = full style on group-ID, loop = all, and units = lattice.

keyword只是这个命令语法的一部分,是个虚的参量,意思就是说,语法中实际没有keyword这个词,这个词只是代指一类设置,你可以发现很多语
法描述中都有这个keyword,主要功能呢就是辅助前面的诸多参数丰富该命令的设置

有些命令中给定的数值,单位系统除了你在units中指定的(对应),还有就是lattice
举个region命令的例子吧,如果你写region block 0.0 3.0 ……,那么这个命令,如果后面有 units box(这个
units只是一个keyword,而不是你的units命令)。那么这个region在x方向的维度就是从0.0 到 3.0 埃(如果你的单位系统
是units metal 或real的),但是如果region命令后面的units lattice的话(默认就是这个),那么该region在x
方向的维度就是从0.0 到 3.0*lattice_constant ,这个lattice_constant 是你在lattice命令定义的大

所以,看出,这个keyword控制的参数对于结果有很大的影响,有时候经常会忽视这一点,一定要记住,该keyword的默认值是units
lattice

说的很绕口,可能不是太清楚,欢迎继续讨论

这些东西,在手册里说的很清楚,如果楼上刚开始学lammps,更是要仔细看手册,磨刀不误砍柴工

Reply all
Reply to author
Forward
0 new messages