再次总结以备日后忘记时查阅。其主要内容翻译、综合自LAMMPS的用户手册。查阅手册最好的学习途径。
compute atom/molecule
将per atomvector以分子为单位求和,atom储存的质量和受力也可以以分子为单位求和起来 (on a per-molecule basis)。输入的是per-atom vector(可以由compute,fix和variable得到),输出的是一个全局向量或者全局二位矩阵,向量的长度或者矩阵的列数等于inputs的个数。
compute bond/local
计算系统中单个bond的性质,比如说bond distance,eng,force这些keywords等等,计算得到数据的行数是当前系统中bonds的个数。输出的是local vector或者local array,向量的长度或者矩阵的列数等于输入的keywords的个数。
compute centro/atom
计算指定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内的值是无量纲的。
compute cluster/atom
给每个atom指定一个clusterID。Cluster中的每个atom都至少与cluster中的另外一个atom处于cutoff距离内,也就是串联的一些atoms构成一个cluster,clusterID是每个cluster构成atoms内的最小ID。这个compute需要建立neighbor list,过频繁的使用会影响计算速度。对于指定group外的atom指定clusterID为0。输出一个per-atom vector。
compute cna/atom
对指定group内的每个atom进行共近邻分析(Common Neighbor Analysis),在固体状态下,这种分析是对单个atom周围的局部晶体结构的一种评价,当前有5中CNA输出结果。输出一个per-atom vector, 向量值为1-5中的一个数,每个数都代表一定意义。
compute com
计算指定的group的atoms的质心,输出一个长度为3的全局向量,分别为x,y,z坐标。
compute com/molecule
计算单个分子(molecule)的质心,包括了穿越周期性边界的影响。需要计算的molecule至少应该有一个atom在指定的group内。输出一个global array,行数等于molecule的个数,3列分别是质心的x,y,z坐标。
compute contact/atom
计算指定group内的每个atom的接触数目,输出一个per-atom vector。这个命令的好处是可以自动把两种type的接触的atom的cutoff设置为两种type的半径之和。
compute coord/atom
计算每个atom的配位数,注意,如果系统中存在bonds的话可以通过special_bonds把bonds内的atom排除。 输出的是一个per-atom vector或者per-atom array,关键看TypeN这个keyword的值是几组。
compute coord/gran
计算指定group内的每个atom的配位数,指定group外的赋值为0.该命令没有多余的keyword。输出一个per-atom vector。该命令不适合于multisphere,因为输出的结果不是基于per-body的。
compute displace/atom
计算指定group内的每个atom的位移,位移原点是该compute发布的时间点。计算产生一个per-atom array,四列分别是,xyz方向的位移和$\sqrt[]{dx \cdot dx + dy \cdot dy + dz \cdot dz}$。
compute erotate/asphere
计算非球形颗粒的旋转动能,可以是ellipsoids, or line segments, or triangles。输出一个全局标量,表示的是所有旋转动能的和。
compute erotate/multisphere
计算体系内所有的multisphere的旋转动能的和,输出的是一个全局标量global scalar。
compute erotate/sphere
计算一组球形颗粒颗粒的旋转动能之和,该命令需要储存半径和角速度的atom style。输出的是全局标量为旋转动能之和。
compute erotate/sphere/atom
计算每个球颗粒的旋转动能。输出的是per-atom vector。
compute group/group
计算指定的两个group的atom之间的total energy and force interaction。输出的是 a global scalar (the energy) and a global vector of length 3 (force)。
compute gyration
计算一组atoms的回转半径,a global scalar (Rg) and a global vector of length 6 (Rg tensor)。
compute gyration/molecule
以molecule为单位计算每个molecule的回转半径,输出的是一个全局向量和全局二维矩阵a global scalar (Rg) and a global vector of length 6 (Rg tensor)取决于是否使用keyword 【tensor】。向量的长度和矩阵的行数是分子molecule的数目。
compute inertia/molecule
计算每个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,
compute ke
计算指定group的原子的总的平动动能。输出一个全局标量, global scalar。
compute ke/atom
计算指定group内的每个atom的平动动能。输出一个 per-atom vector。
compute ke/multisphere
计算所有multisphere的平动动能之和。输出一个global scalar。
compute msd
计算指定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 \cdot dx + dy \cdot dy + dz \cdot dz)$, summed and averaged over atoms in the group
compute msd/molecule
以分子为单位计算the mean-squared displacement (MSD)。输出的是一个global array,其行数等于分子的数目,列数为4,参见23号compute。
compute msd/nongauss
计算指定group的atoms的mean-squared displacement (MSD)和non-Gaussian parameter (NGP)这两个参数。输出的是a global vector of length 3。三个量的具体意义见manual。
compute multisphere
计算一些multisphere的性质。输出的是local vector或者是local array,取决于keyword的个数。不知道为什么这个命令使用总是出错,在自带的例子里用也出错。
compute nparticles/tracer/region
计算给定region内的标记和未标记的particles的质量和数目。 reset_marker这个关键词可以决定是不是被计数一遍之后该particle的标记是不是消失。目前该命令只支持一个周期性边界。输出一个 a global vector。其四个值分别是
total number of (marked + un-marked) particles in region
number of marked particles in region
total mass of (marked + un-marked) particles in region
mass of marked particles in region
compute pair/gran/local
计算individual pairwise or particle-wall interactions of a granular pair style的性质。例如接触的位置,两个接触体的速度,接触力等很多,参见manual。输出的是一个local vector或者是local array。取决于keyword的个数。
compute pe
计算整个系统的potential energy ,输出的是一个global scalar。
compute pe/atom
Define a computation that computes the per-atom potential energy for each atom in a group。输出的是per-atom vector,如果需要以group为单位的,可以使用compute reduce求和。
compute pressure
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)。
compute property/atom
为指定group内的每个atom储存一些atom attributes。所列的attributes与dump custom的相同。输出一个per-atom array或者是per-atom vector,取决于储存的性质的个数。
compute property/local
将指定的attributes储存为local data供其他命令使用。比如可以指定bond和pair的某些attributes。输出a local vector or local array取决于输入attribute的个数。向量的长度和array的行数是bond或者pair的个数。
compute property/molecule
将一些指定的attribute(比如说分子ID和分子内atoms的数目)储存为global data让其可以被其他命令使用,比如说 compute com/molecule and compute msd/molecule.输出a global vector or global array,取决于输入的value的个数。向量的长度和array的行数是molecule的个数。
compute rdf
计算径向分布函数(RDF, i.e. radial distribution function)和某组原子的配位数(the coordination number for a group of particles)。输出一个global array,其行数是Nbins的个数,列数是$ 1 + 2 \cdot Npairs$。该参数的意义可以查看维基百科。Nbin的最远距离只能是cutoff distance,因为processor并不知道cutoff distance之外的atoms的位置。如果需要更远距离的rdf需要rerun。
compute reduce
输入per-atom vector或者local vectors然后进行四种可行的操作,ave,sum,min,max后得到一个 global scalar 或者 global vector 。向量的长度是输入的个数。
compute reduce/region
基本与上个命令相同,但是多了region的选择,可以选择该命令作用的region。
compute rigid
基本与compute multisphere那个命令相同。
compute slice
将global vectors或者global array的一部分,指的是一部分行数拿出来形成更小的向量或者矩阵。
compute stress/atom
计算指定group内的每个atom的 the symmetric per-atom stress tensor。与31号命令是整体和atom的关系。输出的是 a per-atom array with 6 columns。
compute voronoi/atom
对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。
compute wall/gran/local
该命令与28号命令相似,只不过一个成了wall。要得到力的分布是需要mesh wall。输出的是a local vector or local array depending on the number of keywords。
Reference
liggghts, http://gongbaoping.cn/157.html