大家好,我是小马老师。
本文介绍如何使用lammps计算晶体的堆垛层错能。
正常晶体中的原子按照一定的规律排列,原子面按ABCABC……的顺序排列,如下图所示:

当某个原子面被抽出后会形成堆垛层错,如图中的蓝色原子层被抽出,原子面排列变为ABCBCA……:

可通过计算堆垛层错能形成前后的能量差计算堆垛层错能,计算公式为:

E0为初始能量
Ef为删除一个原子面后的能量
A为界面面积
下面分享一个lammps计算堆垛层错能的in代码,本代码由Richard Glaze完成,本文稍作修改并进行了注释,以供初学者参考,对原作者表示感谢。

# Richard Glaze, 2014
# 模型初始设置
units       metal
dimension   3
boundary    p p s
atom_style  atomic
variable latparam1 equal 3.52
variable x_displace equal -1*(${latparam1}/sqrt(6))
variable z_displace equal -1*(${latparam1}/sqrt(3))
variable xdim equal ${latparam1}*sqrt(6)/2*10
variable ydim equal ${latparam1}*sqrt(2)/2*10
#Ni的内聚能
variable Ecoh equal -4.45026
#晶格常数
lattice     fcc ${latparam1}
#设置三个区域
region      1 block -.001 ${xdim} -.001 ${ydim} -.001 15.4839 units box
region      2 block -.001 ${xdim} -.001 ${ydim} 15.4839 17.5161 units box
region      3 block -.001 ${xdim} -.001 ${ydim} 17.5161 36.5808 units box
region      whole block 0 ${xdim} 0 ${ydim} 0 36.5808 units box
#创建box
create_box  3 whole
#设置晶格取向,并在三个区域内填充原子
lattice fcc ${latparam1} orient x 1 1 2 orient y -1 1 0 orient z -1 -1 1
create_atoms    1 region 1
lattice fcc ${latparam1} orient x 1 1 2 orient y -1 1 0 orient z -1 -1 1
create_atoms    2 region 2
lattice fcc ${latparam1} orient x 1 1 2 orient y -1 1 0 orient z -1 -1 1
create_atoms    3 region 3
#力场设置
pair_style  eam/alloy
pair_coeff * * FeCuNi.eam.alloy Ni Ni Ni
#计算势能
compute peratom all pe/atom
compute eatoms all reduce sum c_peratom
#设置热力学信息输出
thermo 1
thermo_style custom step pe c_eatoms
#原子轨迹输出
dump 1 all atom 1 dump.xyz
run 0
#计算原子个数
variable N equal count(all)
#初始原子个数
variable No equal $N
#初始能量
variable E equal "c_eatoms"
variable Eo equal $E
#对原子进行分组
group bot region 1
group middle region 2
group top region 3
#删除一层原子
delete_atoms group middle
#记录当前原子个数
variable Nf equal $N
#上层原子向下移动
displace_atoms top move 0.0 0.0 ${z_displace} units box
#在x和y方向固定原子
fix 1 all setforce 0 0 NULL
#能量最小化
min_style cg
minimize 1e-10 1e-10 1000 1000
#计算删除原子后的能量
variable Ef equal "c_eatoms"
#界面面积
variable A equal (${xdim}*${ydim})*1e-20
#单位转换系数
variable Cf equal 1.60217657e-16
#删除原子的能量
variable Er equal (${No}-${Nf})*${Ecoh}
#计算堆垛层错能
variable SFE equal ((${Ef}-(${Eo}-${Er}))*${Cf})/${A}
#输出模拟结果
print "The Stacking-fault energy = ${SFE} mJ/m^2"

公众号案例代码以及学习交流,请加QQ群:754749935

扫描关注微信公众号:lammps加油站。

lammps案例:堆垛层错能的计算相关推荐

  1. lammps案例:fix indent命令实现纳米摩擦及摩擦力计算

    在lammps中实现摩擦模拟有多种方法,可以在工件表面设置摩擦球以一定的速度移动,也可以加载一个虚拟的弹簧拉动摩擦球. 还有一个方法可以实现摩擦模拟:使用fix indent命令. 我们都知道,fix ...

  2. lammps案例:空位形成能的模拟与计算

    大家好,我是小马老师. 在昨天的推文中,介绍了计算Cu间隙原子形成能的lammps模拟方法. 与间隙原子相对应的另一种缺陷是空位缺陷,本文介绍计算空位形成能的模拟方法. 空位形成能计算公式和间隙形成能 ...

  3. lammps 案例in文件汇总

    进阶案例: 聚乙烯和石墨烯界面pull out模拟代码 反应力场reax/c设置方法及案例解析 石墨烯热导率模拟代码(NEMD方法) 圆锥形SiC纳米磨削单晶硅源代码 高熵合金FeNiCrCoCu纳米 ...

  4. lammps案例:团簇融化过程模拟案例学习

    分享一个团簇融化的lammps模拟案例,由Carsten Svaneborg博士编写. 模拟单位为LJ,2D模拟体系,周期性边界条件,力场为最常见的LJ力场. 模拟思路: (1)设置一个4040的模拟 ...

  5. lammps教程:以计算Fe晶格常数为例介绍jump命令使用

    使用lammps进行分子动力学模拟,有时候会遇到变换模拟参数进行多次模拟的情况,比如变换不同的温度进行模拟,分析不同温度的影响. 这种情况下,只需要改变in文件中的温度就可以. 实现的方法有两种,一种 ...

  6. lammps案例:Cu间隙原子形成能的模拟与计算方法

    大家好,我是小马老师. 本文给大家介绍一个计算间隙原子形成能的lammps模拟案例. 间隙原子形成能计算公式为: 以Cu为例,间隙原子形成能模拟过程为: (1)生成含有N个原子的Cu,进行能量最小化后 ...

  7. AngularJS案例:简单计算

    AngularJS案例:简单计算 一.环境准备 1.在Intellij里安装AngularJS插件 2.演示AngularJS的代码提示功能 二.案例演示 1.添加必要的js与css 2.Simple ...

  8. lammps案例:分子自由落体运动模拟

    大家好,我是小马老师. 本文分享一个比较有意思的lammps案例:分子的自由落体运动. lammps提供了fix gravity命令可设置分子或者原子的加速度. 语法规则为: fix ID group ...

  9. lammps案例:Fe原子辐照轰击多层石墨烯模拟

    本文介绍一个Fe原子辐照多层石墨烯的案例. 辐照模拟是指一个或多个原子以较高的速度与另一物体发生碰撞,造成被撞击物体损伤. 因为原子速度较高,因此在模拟时需要合理地设置模拟步长,并根据不同体系在模拟过 ...

  10. lammps案例:水分子在石墨烯狭缝中流动的案例代码

    大家好,我是小马老师. 本文分享一个使用lammps模拟水分子在石墨烯狭缝内流动的案例. 案例由Simon Gravelle编写,Simon Gravelle已经发表了多篇lammps模拟论文,在其个 ...

最新文章

  1. 你要偷偷学会排查线上 CPU 飙高的问题,然后惊艳所有人!
  2. python内置函数有哪些_Python集合有哪些内置函数可以使用,这些内置函数有什么功能...
  3. wp转shp_【收藏】空间数据格式转换方法
  4. html5 datalist属性,HTML5 元素 datalist 介绍
  5. 虚拟打印的实现-EMF转换成BMP
  6. CF 1638 E. Colorful Operations set 区间平推
  7. 亚马逊标题自动抓取_15分钟内开始使用Amazon Web Services和全自动资源调配
  8. 面试 jsp转发和重定向
  9. 华为平板matepad pro鸿蒙,华为MatePad Pro 2平板电脑入网:首款预装鸿蒙OS
  10. Token ,Cookie和Session的区别
  11. 我的电脑能装苹果吗?
  12. ServletContextListener 的应用
  13. 第一周golang学习:--基本数据类型与string字符串类型之间的转换
  14. Leetcode Problem108
  15. tfidf算法 python_Python TFIDF计算文本相似度
  16. PDF能编辑吗,PDF文件怎么拆分页面
  17. idea中translation插件显示网络异常(试一试)
  18. Redis6.3版本Redis.config 解读(重要的)
  19. VUE3 watch写法与属性
  20. CSDN日报190318:简单爬虫:给女友定时发送睡前小故事

热门文章

  1. hadoop培训感想
  2. android动态设置渐变背景
  3. 电脑双系统怎么删除一个呢?教你快速删除
  4. android换肤的实现方案,Android 换肤的思路
  5. Windows下利用N2N访问内网资源,点对网的实现
  6. 如何设计SEO关键字分析统计表
  7. 拆分pdf文件最简单的方法
  8. 使用Linux搭建软路由
  9. initialize php,THINKPHP的_initialize方法
  10. java activity_java中的Activity