干货分子动力学 干货详情

lammps中文教程6

春风得意马蹄疾25
分子动力学LAMMPS计算材料学材料建模拉伸模拟原子分组区域划分类型分组原子ID分组组加减操作纳米铜金属拉伸

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⼿册。


评论

0/1000发布评论
全部评论

春风得意马蹄疾

关注
TA的主页

干货推荐