在前面的教程中,我们已经知道,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命令构建复杂组合模型_数据

Fe原子结构

(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

Cu原子结构

(3)运行All.in,读取Fe.data和Cu.data,组合为Fe-Cu界面模型,输出模型数据Fe_Cu.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
#读取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

合成后Fe-Cu界面结构

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

lammps教程:read_data命令构建复杂组合模型_建模_04

论文中graphene/C60/graphene模型


------------------------

近期将陆续推出lammps基础教程,敬请关注微信公众号:lammps加油站。

lammps教程:read_data命令构建复杂组合模型_微信公众号_05