velocity自定义函数_lammps案例分析(1):石墨烯单轴拉伸之velocity方式

3ee5e8a8a399f794ec20cda9930590a5.png

lammps模拟石墨烯拉伸过程有两个命令可选:deform和velocity,两个命令的原理不同。

deform是按照一定的速率拉伸box,在这个过程中,石墨烯的原子随着box的伸长而变化坐标,从而实现整体的拉伸。

velocity方式通常固定石墨烯的一端,给另一端一个固定的速度v,由这一端的原子带动其余原子运动。

7c44603912c73ff92b190dbc39f989b0.gif

本文采用velocity方式进行石墨烯的拉伸,下一篇文章将采用deform方式对石墨烯进行拉伸。

下面对石墨烯拉伸in文件进行详细分析。

#模型初始化,模拟单位为metal,原子方式为atomic,3维模型
units  metal
atom_style   atomic
dimension  3

#定义边界条件,x和y方向为周期性边界,y为拉伸方向,z方向为固定边界

boundary     p p f

#定义邻域原子定义,1个原子的邻域原子列表是以该原子为中心,以力截断半径+缓冲值(也就是下面设置的0.3)为半径的圆内原子列表

neighbor      0.3 bin

#设置模拟步长为1fs

timestep        0.001

#生成模拟box,box内含有3种原子,这三种原子都是C原子,为了后期线上着色方便,原子类型分为上中下三种

region   box block 0 175 0 175 -5 5 units box
create_box 3 box

#自定义石墨烯晶格参数

lattice  custom 2.4768 a1 1.0 0.0 0.0 &
a2 0.0 1.732 0.0 a3 0.0 0.0 1.3727 & 
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

#生成石墨烯原子,类型为1

region  gp block 10 120 10 120 -0.5 0.5 units box
create_atoms 1 region gp

#设置原子质量

mass * 12

#定义区域,上下两部分固定区域和中间活动区域mobile

region upper block INF INF 117 INF INF INF  units box
region lower block INF INF INF 13 INF INF units box
group upper region upper
group lower region lower
group boundary union upper lower
group mobile subtract all boundary

#设定最上端原子类型为2,最下端原子类型为3,为后期着色方便

set group upper type 2
set group lower type 3

#设置势函数,airebo常用于石墨烯的模拟

pair_style  airebo 2.0
pair_coeff  * * CH.airebo C C C

#初始化温度

velocity mobile create 300.0 8877528

#固定上下两端原子

fix  1 boundary setforce 0.0 0.0 0.0

#以下四句代码,对模型在npt下进行弛豫,并将结果保存到文件中

thermo 100
fix  2 all npt temp 300.0 300.0 1 x 0 0 0.1 y 0 0 0.1
dump 1 all atom 100 gp_relax.lammpstrj
run 1000

#取消fix,dump设定,步数清零

unfix   2
undump 1
reset_timestep 0

#最上端设置y方向速度为1,沿y方向拉伸

velocity upper set 0.0 1.0 0.0

#按比例设置mobile部分的速度

velocity mobile ramp vy 0.0 1.0 y 8 52 sum yes

#在nvt下进行拉伸

fix  2 all nvt temp 300.0 300.0 0.01

#进行热力学输出,保存拉伸后原子坐标

thermo 1000
thermo_modify lost ignore
dump  1 all atom 1000 gp_tension.lammpstrj
run  10000

模拟最终结果如下图所示,本例比较简单,没有加入应力应变的统计,如要输出应力和应变,可用fix或者thermo语句输出pxx、pyy、pzz三个方向上的应力。

795942af4fb9e56e2d10b87c3edc954a.png

本次的石墨烯拉伸in文件分析就到这里,下一篇文章将使用deform命令对石墨烯进行拉伸,对比两种拉伸方式的不同之处。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值