lammps中文教程6
1.6 group命令详解
在lammps模拟过程中,group基本上是每次都会⽤到的⼀个命令。从命令关键字上也能猜出来,group就是对原⼦进⾏分组的意思。
被group后的原⼦会被分配⼀个group-ID,这个group-ID被⽤到fix、compute、dump等命令中。
例如fix命令中的第⼆个参数就是group-ID:
fix ID group-ID style_name keyword value ...
fix 1 water npt temp 300.0 300.0 100.0 iso 0.0 0.0 1000.0
即使不对原⼦进⾏分组,lammps也会设置⼀个默认的原⼦组:all,也就是把所有的原⼦全部划分到all组内。
例如对系统所有原⼦进⾏温度初始化,可以使⽤下⾯的语句,其中all就是默认的group-ID:
velocity all create 300.0 4928459
常⽤的分组⽅式有以下⼏种:
(1)配合region使⽤,把某⼀区域的原⼦归⼊到⼀个组中。
例如在纳⽶铜的拉伸时,需要⼀端固定,另⼀端施加⼀定的速度进⾏拉伸,这就需要把Cu原⼦划分为三个组:
left:固定组
right:速度加载组
mobile:中间组

group命令配合union关键字可实现两个组的合并,例如left和right组合并为boundary组,可以写为:
group boundary union left right
配合substract关键字可实现减法操作,所有原⼦减去boundary原⼦即为中间moible原⼦,可以写为:
group mobile subtract all boundary
Cu拉伸建模全部代码如下:
#模型基本设置
units metal
dimension 3
boundary p s p
neighbor 0.3 bin
neigh_modify delay 0
timestep 0.001
#设置晶格参数,生成
box lattice fcc 3.61
region box block 0 20 0 5 0 5
create_box 3 box
create_atoms 1 box
#设置cu原子质量
mass 1 64
mass 2 64
mass 3 64
#设置left和right区域,以此region设置group
region left block INF 2 INF INF INF INF
group left region left
set group left type 2
region right block 18 INF INFINFINF INF
group right region right
set group right type 3
#group:组加减操作
group boundary union left right
group mobile subtract all boundary
#保存模型数据
write_data Cu.data
(2)配合type命令,可以将多种类型的原⼦归为⼀组
#将原⼦类型为3和4的原⼦全部归⼊到water组
group water type 3 4
(3)配合原⼦id可将特定的原⼦归⼊到⼀组
#原子id为10、25、50的三个原子归入到sub组
group sub id 10 25 50
#原子id从500到1000的全部原子归入到sub组
group sub id 500:1000
#原子id为100、110、120...10000的原子归入到sub组
group sub id 100:10000:10
#原子id小于或等于150的原子归入到sub组
group sub id <=150
需要注意的是,lammpsi最多支持32个group(包含al组),如果定义的组过多,可将不再使用的组删除:
group boundary delete
group命令在模拟过程中使⽤⽐较频繁,灵活掌握以上⼏种应⽤基本上能够满⾜要求,更多的设置⽅式可以查看lammps⼿册。
评论
春风得意马蹄疾

干货推荐

计算机材料设计Materials-Studio教程5
活着
32 2

计算机材料设计Materials-Studio教程12
活着
44 2

【代码分享】费米面嵌套(Fermi surface nesting)函数计算
张阳小号1
651 2

神经元、星形胶质细胞、少突胶质细胞、小胶质细胞组织学区分
Mr弘🔬
90 7

计算机材料设计Materials-Studio教程11
活着
35 1

一篇读懂紫外-可见吸收光谱(UV-Vis)
奥黛丽赫●猫
147 4
