博客主机
A-A+

liggghts的compute命令简单解释

2017年02月28日 离散元法 暂无评论 阅读 1,205 次
摘要:

本文主要对离散元程序LIGGGHTS中的所有compute命令的功能和用法做了一个简要的总结和解释。再次总结以备日后忘记时查阅。其主要内容应该翻译、综合自LIGGGHTS的用户手册。其实查阅手册应该时最好的学习途径。

strawberries_we_love_particles_0

本文主要对离散元程序LIGGGHTS中的所有compute命令的功能和用法做了一个简要的总结和解释。再次总结以备日后忘记时查阅。其主要内容应该翻译、综合自LIGGGHTS的用户手册。其实查阅手册应该时最好的学习途径。

 

1.compute atom/molecule command

将peratom-vector以分子为单位求和,atom储存的质量和受力也可以以分子为单位求和起来 (on a per-molecule basis)。输入的是per-atom vector(可以由compute,fix和variable得到),输出的是一个全局向量或者全局二位矩阵,向量的长度或者矩阵的列数等于inputs的个数。

 

2.compute bond/local command

计算系统中单个bond的性质,比如说bond distance,eng,force这些keywords等等,计算得到数据的行数是当前系统中bonds的个数。输出的是local vector或者local array,向量的长度或者矩阵的列数等于输入的keywords的个数。

 

3.compute centro/atom command

计算指定group中的每个atom的centro-symmetry parameter,该参数是每个atom周围的local lattice disorder的一个评价指标,所以可以用来判断该atom是 part of a perfect lattice还是a local defect还是at a surface。输出一个per-atom vector。Vector内的值是无量纲的。

 

4.compute cluster/atom command

给每个atom指定一个clusterID。Cluster中的每个atom都至少与cluster中的另外一个atom处于cutoff距离内,也就是串联的一些atoms构成一个cluster,clusterID是每个cluster构成atoms内的最小ID。这个compute需要建立neighbor list,过频繁的使用会影响计算速度。对于指定group外的atom指定clusterID为0。输出一个per-atom vector。

 

5.compute cna/atom command

对指定group内的每个atom进行Common Neighbor Analysis,在固体状态下,这种分析是对单个atom周围的局部晶体结构的一种评价,当前有5中CNA输出结果。输出一个per-atom vector,,向量值为1-5中的一个数,每个数都代表一定意义。

 

6.compute com command

计算指定的group的atoms的质心,输出一个长度为3的全局向量,分别为x,y,z坐标。

 

7.compute com/molecule command

计算单个分子(molecule)的质心,包括了穿越周期性边界的影响。需要计算的molecule至少应该有一个atom在指定的group内。输出一个global array,行数等于molecule的个数,3列分别是质心的x,y,z坐标。

 

8.compute contact/atom command

计算指定group内的每个atom的接触数目,输出一个per-atom vector。这个命令的好处是可以自动把两种type的接触的atom的cutoff设置为两种type的半径之和。

 

9.compute coord/atom command

计算每个atom的配位数,注意,如果系统中存在bonds的话可以通过special_bonds把bonds内的atom排除。 输出的是一个per-atom vector或者per-atom array,关键看TypeN这个keyword的值是几组。

 

10.compute coord/gran command

计算指定group内的每个atom的配位数,指定group外的赋值为0.该命令没有多余的keyword。输出一个per-atom vector。该命令不适合于multisphere,因为输出的结果不是基于per-body的。

 

11.compute displace/atom command

计算指定group内的每个atom的位移,位移原点是该compute发布的时间点。计算产生一个per-atom array,四列分别是,xyz方向的位移和sqrt(dx*dx + dy*dy + dz*dz)。

 

12.compute erotate/asphere command

计算非球形颗粒的旋转动能,可以是ellipsoids, or line segments, or triangles。输出一个全局标量,表示的是所有旋转动能的和。

 

13.compute erotate/multisphere command

计算体系内所有的multisphere的旋转动能的和,输出的是一个全局标量global scalar。

 

14.compute erotate/sphere command

计算一组球形颗粒颗粒的旋转动能之和,该命令需要储存半径和角速度的atom style。输出的是全局标量为旋转动能之和。

 

15.compute erotate/sphere/atom command

计算每个球颗粒的旋转动能。输出的是per-atom vector。

 

16.compute group/group command

计算指定的两个group的atom之间的total energy and force interaction。输出的是 a global scalar (the energy) and a global vector of length 3 (force)。

 

17.compute gyration command

计算一组atoms的回转半径,a global scalar (Rg) and a global vector of length 6 (Rg tensor)。

 

18.compute gyration/molecule command

以molecule为单位计算每个molecule的回转半径,输出的是一个全局向量和全局二维矩阵a global scalar (Rg) and a global vector of length 6 (Rg tensor)取决于是否使用keyword 【tensor】。向量的长度和矩阵的行数是分子molecule的数目。

 

19.compute inertia/molecule command

计算每个molecule的inertia tensor。 输出的是a global array where the number of rows = Nmolecules and the number of columns = 6 for the 6 components of the inertia tensor of each molecule,

 

20.compute ke command

计算指定group的一组颗粒的平动动能。输出一个全局标量, global scalar。

 

21.compute ke/atom command

计算指定group内的每个atom的平动动能。输出一个 per-atom vector。

 

22.compute ke/multisphere command

计算所有multisphere的平动动能之和。输出一个global scalar。

 

23.compute msd command

计算指定group的atoms的mean-squared displacement (MSD),这是和评价扩散速率的量。输出a global vector of length 4。The first 3 elements of the vector are the squared dx,dy,dz displacements, summed and averaged over atoms in the group. The 4th element is the total squared displacement, i.e. (dx*dx + dy*dy + dz*dz), summed and averaged over atoms in the group

 

24.compute msd/molecule command

以分子为单位计算the mean-squared displacement (MSD)。输出的是一个global array,其行数等于分子的数目,列数为4,参见23号compute。

 

25.compute msd/nongauss command

计算指定group的atoms的mean-squared displacement (MSD)和non-Gaussian parameter (NGP)这两个参数。输出的是a global vector of length 3。三个量的具体意义见manual。

 

26.compute multisphere command

计算一些multisphere的性质。输出的是local vector或者是local array,取决于keyword的个数。不知道为什么这个命令使用总是出错,在自带的例子里用也出错。

 

27.compute nparticles/tracer/region command

计算给定region内的标记和未标记的particles的质量和数目。 reset_marker这个关键词可以决定是不是被计数一遍之后该particle的标记是不是消失。目前该命令只支持一个周期性边界。输出一个 a global vector。其四个值分别是

(1) total number of (marked + un-marked) particles in region

(2) number of marked particles in region

(3) total mass of (marked + un-marked) particles in region

(4) mass of marked particles in region

 

28.compute pair/gran/local command

计算individual pairwise or particle-wall interactions of a granular pair style的性质。例如接触的位置,两个接触体的速度,接触力等很多,参见manual。输出的是一个local vector或者是local array。取决于keyword的个数。

 

29.compute pe command

计算整个系统的potential energy ,输出的是一个global scalar。

 

30.compute pe/atom command

Define a computation that computes the per-atom potential energy for each atom in a group。输出的是per-atom vector,如果需要以group为单位的,可以使用compute reduce求和。

 

31.compute pressure command

Define a computation that calculates the pressure of the entire system of atoms.输出a global scalar (the pressure) and a global vector of length 6 (pressure tensor)。

 

32.compute property/atom command

为指定group内的每个atom储存一些atom attributes。所列的attributes与dump custom的相同。输出一个per-atom array或者是per-atom vector,取决于储存的性质的个数。

 

33.compute property/local command

将指定的attributes储存为local data供其他命令使用。比如可以指定bond和pair的某些attributes。输出a local vector or local array取决于输入attribute的个数。向量的长度和array的行数是bond或者pair的个数。

 

34.compute property/molecule command

将一些指定的attribute(比如说分子ID和分子内atoms的数目)储存为global data让其可以被其他命令使用,比如说 compute com/molecule and compute msd/molecule.输出a global vector or global array,取决于输入的value的个数。向量的长度和array的行数是molecule的个数。

 

35.compute rdf command

计算 radial distribution function (RDF)和 the coordination number for a group of particles。输出一个global array,其行数是Nbins的个数,列数是 1 + 2*Npairs。该参数的意义可以查看维基百科。Nbin的最远距离只能是cutoff distance,因为processor并不知道cutoff distance之外的atoms的位置。如果需要更远距离的rdf需要rerun。

 

36.compute reduce command

输入per-atom vector或者local vectors然后进行四种可行的操作,ave,sum,min,max后得到一个 global scalar 或者 global vector 。向量的长度是输入的个数。

 

37.compute reduce/region command

基本与上个命令相同,但是多了region的选择,可以选择该命令作用的region。

 

38.compute rigid command

基本与compute multisphere那个命令相同。

 

39.compute slice command

将global vectors或者global array的一部分,指的是一部分行数拿出来形成更小的向量或者矩阵。

 

40.compute stress/atom command

计算指定group内的每个atom的 the symmetric per-atom stress tensor。与31号命令是整体和atom的关系。输出的是 a per-atom array with 6 columns。

 

41.compute voronoi/atom command

对simulation box内的所有atom计算Voronoi tessellation,这个计算两个值,一个是每个atom的Voronoi tessellation cell的体积,一个是 the number of faces of the Voronoi cell,该数目也是 the number of nearest neighbors of the atom in the middle of the cell。输出一个per-atom array,有两列分别是上述的两个量。需编译VORONOI package。

 

42.compute wall/gran/local command

该命令与28号命令相似,只不过一个成了wall。要得到力的分布是需要mesh wall。输出的是a local vector or local array depending on the number of keywords。

(转载自游牧人博客)

给我留言

博客简介 | 广告合作 | 版权说明 | 网站地图
Copyright © 望天博客 保留所有权利.  Theme by Ality 蜀ICP备15004325号-2

用户登录

分享到: