本文主要是介绍lammps计算质心的两种方法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
大家好,我是小马老师。
本文介绍lammps计算质心的两种方法。
在润湿、蒸发、烧结或者冲击模拟中,可能需要计算某个原子组的重心,以判断其移动速度或者相对运动的情况。
lammps提供了两种方法计算原子组的质心。
(1)xcm()函数
xcm(group-id,dim)函数可以计算group的质心的三个坐标,其中,dim表示质心坐标的方向(x、y、z)
variable x1 equal xcm(Cu,x)
以上命令返回原子组Cu在x方向的坐标x1。
(2)compute com命令
compute com命令同样可以计算原子组的质心,计算结果是一个矢量坐标
compute 1 Cu com
以上命令计算原子组Cu的质心,质心可通过c_1[*]或者c_1[1]、c_1[2]、c_1[3]输出。
下面的案例分别使用以上两种方法计算Cu球的质心x坐标,并对两个结果进行对比。
#模型参数设置
units metal
dimension 3
boundary p p p
timestep 0.001
atom_style full
neighbor 2.0 bin
neigh_modify delay 0 every 1 check yes
lattice fcc 3.61
region box block -10 10 -10 10 -10 10
create_box 1 box
region cu sphere 0 0 0 10 units box
create_atoms 1 region cu
#势参数设置
pair_style eam/fs
pair_coeff * * Cu1.eam.fs Cu
#原子分组
group Cu type 1
#计算重心
variable x1 equal xcm(Cu,x)
compute 1 Cu com
thermo 100
thermo_style custom step v_x1 c_1[1]
velocity all create 298 89898
dump 1 all atom 100 dump.xyz
fix 1 all nvt temp 298 298 0.1
run 1000
从结果可以看出,两种方法计算的质心坐标完全一致。
来源:公众号<lammps加油站>
这篇关于lammps计算质心的两种方法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!