解读命令系列【3】【 fix ave/spatial command】

137 views
Skip to first unread message

mdbbs2...@gmail.com

unread,
Dec 5, 2008, 4:13:25 AM12/5/08
to LAMMPS2forum
解读命令系列【3】【 fix ave/spatial command】
fix ave/spatial command 是做非平衡问题常用的命令,他可以把模拟盒子切成N片,在每一片中提取信息,这对空间不均匀系统来
说,是一个很有帮助的命令。一下个人翻译或注释,可能有不妥的地方,大家一起讨论
fix ave/spatial command 命令的语法格式如下:

Syntax:
fix ID group-ID ave/spatial Nevery Nrepeat Nfreq dim origin delta
value1 value2 ... keyword args ...

* ID, group-ID are documented in fix command 【指定fix ID,和贡献提取信息的那个
group】
* ave/spatial = style name of this fix command 【声明使用这个命令】
* 【一下三项用于设定如何输出信息,怎样取点,取多少点,多少步输出】
* Nevery = calculate property every this many timesteps 【对某
次输出信息起贡献的时间步有哪些呢,这个由 Nevery,Nrepeat设定,一个例子可以理解如何设置这三个N...】
* Nrepeat = # of times to repeat the Nevery calculation before
averaging 【例子:Nevery=2, Nrepeat=6, and Nfreq=100,意思是没100步输出一次信息,这次信
息有6个抽样组成,如何抽的样呢,每2个间隔抽一次,抽样实际上是分别取的 90,92,94,96,98,100这6个时间步的信息】
* Nfreq = timestep frequency at which the average value is
computed 【每隔多少时间步输出一次所要信息】

* dim = x or y or z 【一下三项用于划分空间,我们只有设好dim,delta就可以了】 【dim设定延那个方向分
割空间】
* origin = lower or center or upper or coordinate value (distance
units) 【定义你的相对坐标原点,空间对称的一般选center就可以了】
* delta = thickness of spatial layers in dim (distance units) 【层厚度】
【如果你的z方向60,dim=z,delta=3,那么系统会给你分60/3=20个层分别计算信息】
* 【一下用于设定你所想提取的信息,很容易明白】
* one or more values can be listed
* value = x, y, z, vx, vy, vz, fx, fy, fz, density/mass, density/
number, c_ID, c_ID[N], f_ID, f_ID[N], v_name x,y,z,vx,vy,vz,fx,fy,fz
= atom attribute (velocity, force component) density/number, density/
mass = number or mass density c_ID = per-atom scalar value calculated
by a compute with ID c_ID[N] = Nth component of per-atom vector
calculated by a compute with ID f_ID = per-atom scalar value
calculated by a fix with ID f_ID[N] = Nth component of per-atom
vector calculated by a fix with ID v_name = per-atom value calculated
by an atom-style variable with name

【一下设定单位,文件名等】

* zero or more keyword/arg pairs may be appended
* keyword = norm or units or file or ave
* units arg = box or lattice or reduced
* 【box 常用的,它和你设置的单位相同,比如LJ,real,lattice在脚本中有Lattice命令时可选,reduced一般用
于非正交模拟盒子,把空间归一化】
* norm arg = all or sample 【每次统计输出数据时的平均方法,这个可能是几次抽样数值相差很大时考虑选择的,防止
大小数效应】
* file arg = filename filename = file to write results to【输出文件名,
推荐使用】
* ave args = one or running or window M 【输出时间步间数据的平均方法,视自己的情况选择】
* one = output new average value every Nfreq steps
* running = output cumulative average of all previous Nfreq steps
* window M = output average of M most recent Nfreq steps


经典例子:fix vprofile system ave/spatial 50 200 10000 z 0.0 2.0 vx
units box ave running file vel.profile

其实关键是要确定那些信息需要输出,位置,速度,力,密度,计算的设定的单个或全局量等等,对于如何输出,怎样的格式输出,找个例子一看就明白。此命令
功能很有限,但自己可以写compute代码,加入这个命令,这样可以增加灵活性,呵呵,一起研究吧

Reply all
Reply to author
Forward
0 new messages