lammps教程:1D正弦粗糙界面建模建模教程

大家好,我是小马老师。

本文以一篇论文为例,介绍lammps粗糙界面建模方法。粗糙界面在流体、摩擦和吸附模拟中用的较多,建模方法也多种多样。本文参考Xin He发表的一篇论文《The evolution of configuration and final state of graphene on rough iron surface》。论文下载地址:

https://doi.org/10.1016/j.apsusc. 2020.147084

论文中模拟了四种粗糙界面:一维正弦粗糙面、二维正弦粗糙面、伪随机高斯粗糙面、随机粗糙面。
在这里插入图片描述

本文主要介绍一维正弦粗糙面的建模方法,后面陆续推出其它粗糙面建模。一维正弦粗糙面如上图(a)所示,在xz面内,模型的上表面轮廓是一条正弦曲线。建模原理是使用create_atoms var和set命令,具体步骤:(1)创建曲面方程本文中,粗糙界面是一个规则的正弦曲面,因此,曲面方程为:

z=Asin(ωx)+k

A为振幅,控制曲面起伏的高度
ω控制正弦的周期,控制曲面起伏的个数
k为偏距,控制曲面的上下位置
在本例中,曲面方程为:

z = (8 * sin(x * 2.0*PI/30) +30 )

参数可根据课题需要自己调整。(2)根据曲面方程填充原子create_atoms var v命令根据v的取值判断是否创建原子。如果v的取值为0,不创建原子,如果v的取值为非0,则创建原子。因此,如果v的取值和曲面方程联系起来,当原子的坐标位于曲面下方时创建原子,位于曲面上方时不创建原子,这样就可以生成具有特定曲面的结构。具体语法为:

variable v equal "v_zz < (8 * sin(v_xx * 2.0*PI/30) +30 ) "

最终效果为:

在这里插入图片描述

完整in文件代码为:

dimension       3
units           metal
atom_style      atomic
variable        x equal 40
variable        y equal 25
lattice         fcc 3.61
region          box block 0 $x 0 $y 0 20
create_box      1 box
variable        xx internal 0.0
variable        zz internal 0.0
variable        v equal "v_zz < (8 * sin(v_xx * 2.0*PI/30) +30 ) "
create_atoms    1 box var v set x xx set z zz
write_dump      all atom all.xyz

怎么样,是不是很简单?有兴趣的可以尝试二维正弦曲面建模,后面的推文会给出对应的代码:

在这里插入图片描述

公众号:lammps加油站

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lammps加油站

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值