本文主要介绍两种晶胞建模方式。
一、Z形晶胞
晶胞分析:a1沿水平x轴方向,a2沿垂直y轴方向。石墨烯是二维结构,a3取小于单层石墨烯厚度。假设石墨烯键长L=1.421,则a1=3L,a2=1.732L,a3=2L(低于3.35即可)。
确定各原子坐标(实际坐标值/基矢各方向长度):
原子1坐标:(0,0,0)
原子2坐标:(0.333,0,0)
原子3坐标:(0.5,0.5,0)
原子4坐标:(0.833,0.5,0)
lattice custom 1.421 a1 3 0 0 a2 0 1.732 0 a3 0 0 2 &
basis 0 0 0 &
basis 0.333 0 0 &
basis 0.5 0.5 0 &
basis 0.833 0.5 0
建模取大概值就行,后续弛豫达到能量平衡,就会变成准确值。如果建模就要求精确值,定义参数即可。
variable n1 equal sqrt(3)
variable m1 equal 1/3
variable v1 equal 5/6
lattice custom 1.421 a1 3 0 0 a2 0 ${n1} 0 a3 0 0 2 &
basis 0 0 0 &
basis ${m1} 0 0 &
basis 0.5 0.5 0 &
basis ${v1} 0.5 0
模型(20nm*20nm)如图所示:
二、v形晶胞
晶胞分析:a1沿水平x轴方向,a2沿垂直y轴方向。石墨烯是二维结构,a3取小于单层石墨烯厚度。假设石墨烯键长L=1.421,则a1=1.732L,a2=3L,a3=2L(低于3.35即可)。
确定各原子坐标(实际坐标值/基矢各方向长度):
原子1坐标:(0,0.333,0)
原子2坐标:(0,0.667,0)
原子3坐标:(0.5,0.167,0)
原子4坐标:(0.5,0.833,0)
lattice custom 1.421 a1 1.732 0.0 0.0 a2 0.0 3 0.0 a3 0.0 0.0 2 &
basis 0.0 0.33333 0.0 &
basis 0.0 0.66667 0.0 &
basis 0.5 0.16667 0.0 &
basis 0.5 0.83333 0.0
也可以定义参数,使其建模更加准确。
模型(20nm*20nm)如图所示:
同理,也可以建任意平面的石墨烯。
三、完整单层石墨烯建模
第一种晶胞建模
#-------------1、参数设置------------------
variable L equal 200 # 单元大小
variable n1 equal sqrt(3)
variable m1 equal 1/3
variable m2 equal 5/6
#-------------2、单元大小------------------
variable x equal ${L}/(1.421*3) #x方向晶胞个数
variable y equal ${L}/(1.421*${n1}) #y方向晶胞个数
variable xbox equal round(v_x)
variable ybox equal round(v_y)
#-------------3、初始化------------------
units metal
dimension 3
boundary p p p
neighbor 2.0 bin
neigh_modify every 10 delay 0 check yes
timestep 0.001
atom_style atomic
#-------------3、建模------------------
lattice custom 1.421 a1 3 0 0 a2 0 ${n1} 0 a3 0 0 2 &
basis 0 0 0 &
basis ${m1} 0 0 &
basis 0.5 0.5 0 &
basis ${m2} 0.5 0
region box block 0 ${xbox} 0 ${ybox} -20.0 20.0
create_box 1 box
region graphene block 0 ${xbox} 0 ${ybox} -0.1 0.1
create_atoms 1 region graphene
mass * 12.011150
write_data gp.lammpstrj
第二种晶胞建模
##-------------1、参数定义------------------
variable L equal 200 # 单元大小
variable n1 equal sqrt(3)
variable m1 equal 1/3
variable m2 equal 2/3
variable v1 equal 1/6
variable v2 equal 5/6
#-------------2、单元大小设置------------------
variable x equal ${L}/(1.421*${n1}) #x方向晶胞个数
variable y equal ${L}/(1.421*3) #y方向晶胞个数
variable xbox equal round(v_x)
variable ybox equal round(v_y)
#-------------3、初始化------------------
units metal
dimension 3
boundary p p p
neighbor 2.0 bin
neigh_modify every 10 delay 0 check yes
timestep 0.001
atom_style atomic
#-------------4、建模------------------
lattice custom 1.421 a1 ${n1} 0.0 0.0 a2 0.0 3 0.0 a3 0.0 0.0 2 &
basis 0.0 ${m1} 0.0 &
basis 0.0 ${m2} 0.0 &
basis 0.5 ${v1} 0.0 &
basis 0.5 ${v2} 0.0
region box block 0 ${xbox} 0 ${ybox} -20.0 20.0
create_box 1 box
region graphene block 0 ${xbox} 0 ${ybox} -0.1 0.1
create_atoms 1 region graphene
mass * 12.011150 #原子质量
write_data gp.lammpstrj
若有问题,欢迎讨论