0%

LAMMPS | compute

再次总结以备日后忘记时查阅。其主要内容翻译、综合自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