在前面的教程中,我们已经知道,lammps建模方法有两种,可以使用lammps自带的建模命令建模,也可以使用第三方软件建模。

如果使用第三方软件建模,必须将模型文件转换为lammps可以识别的data文件,不同的建模方式转换方法有所不同。

Material studio软件建模完成导出car文件,可通过msi2lmp软件转化为data文件,Atomsk软件建模完成可以直接导出data文件。

假设现在已经有了data文件,我们就可以使用read_data命令将模型读入到lammps中,read_data命令的格式为:

read_data file keyword args ...

如果只需要读取一个data文件,直接将文件名写到read_data命令的后面即可:

read_data Fe.data

read_data命令支持在一个lammps代码中读取多个data文件,将不同的结构组装为一个复杂的体系。

当然,复杂体系的建模也可以在建模软件里面完成,但有些情况下,使用read_data命令会更加灵活。

比如两部分结构分别进行弛豫,达到平衡以后再组合到一起,或者两部分结构是用两种建模软件建模,分别生成data文件后,使用read_data可以很方便的组合到一起。

下面使用read_data命令建立Fe-Cu界面体系,建模过程为:

(1)运行Fe.in,生成单晶Fe模型,模型数据存到Fe.data文件中。

#Fe.data
units metal
dimension 3
boundary p p p
atom_style atomic
neighbor 2.0 bin
neigh_modify delay 0 every 1 check yes

lattice fcc 2.86
region box block 0 20 0 20 0 40 units box
create_box 1 box
create_atoms 1 box
mass 1 27

write_data Fe.data

lammps命令之read_data复合模型建模方法_建模

(2)运行Cu.in,生成单晶Cu模型,模型数据存到Cu.data文件中。

#Cu.data

units metal
dimension 3
boundary p p p
atom_style atomic
neighbor 2.0 bin
neigh_modify delay 0 every 1 check yes

lattice fcc 3.61
region box block 0 20 0 20 0 40 units box
create_box 1 box
create_atoms 1 box
mass 1 64

write_data Cu.data

lammps命令之read_data复合模型建模方法_建模_02

(3)运行All.in,读取Fe.data和Cu.data,组合为Fe-Cu界面模型,输出模型数据Fe_Cu.data。

units           metal              
dimension 3
boundary p p p
atom_style atomic
neighbor 2.0 bin
neigh_modify delay 0 every 1 check yes
#读取Fe.data
read_data Fe.data extra/atom/types 1
#第二次调用read_data命令,读取Cu.data,offset关键字说明原子类型+1
#shift设置读取Cu模型后,Cu原子尺寸整体沿-y方向偏移22埃米
read_data Cu.data add append offset 1 0 0 0 0 shift 0.0 -22 0.0

write_data Fe_Cu.data

lammps命令之read_data复合模型建模方法_微信公众号_03

这个例子相对简单,仅仅是说明read_data使用方法,另外掌握可以建立比较复杂的模型,例如论文“Ultra-low friction of graphene/C60/graphene coatings for realistic rough surfaces”中的模型就可以使用本文的方法进行建模。

lammps命令之read_data复合模型建模方法_lammps_04

更多lammps教程和案例请关注微信公众号:lammps加油站

lammps命令之read_data复合模型建模方法_lammps_05