lammps和atomsk中常用的建模方法

您所在的位置:网站首页 diamond坐标轴怎么删除 lammps和atomsk中常用的建模方法

lammps和atomsk中常用的建模方法

2023-11-26 03:43| 来源: 网络整理| 查看: 265

文章目录 1.Atomsk生成刃型位错2.Atomsk生成任意角度晶界3.Atomsk生成孪晶4.Atomsk生成非晶5.合金多晶结构建模6.Atomsk建立管道类模型7.Atomsk建立不规则界面8.Atomsk产生空位缺陷9.复杂图案建模10.lammps晶界偏析建模11.region union复杂形状建模12.正弦粗糙界面建模13.Atomsk多相建模     当在模拟过程中需要较为复杂的模型时,仅靠lammps建模已经不行。需要lammps和atomsk共同协助来帮助我们建立复杂的模型,本文介绍在lammps和atomsk中常用的建模方法,希望能够帮助初学者更好的建立较为复杂的模型。

1.Atomsk生成刃型位错

    刃型位错是在晶体结构中插入一个半原子面,产生晶格畸变,位错处能量较高,在外力作用下容易发生滑移。     塑性变形时位错沿着一定的晶面和晶向运动,这些晶面和晶向分别称为滑移面和滑移方向。滑移面和滑移方向往往是晶体中原子排列最密的晶面和晶向。原因:原子排列最密的晶面其面间距最大,点阵阻力最小,容易沿这些晶面发生滑移。同理,原子排列最密的晶向上原子间距最短,在此晶向上滑移最容易。一个滑移面和此面上的一个滑移方向组成一个滑移系。     对于面心立方来说,有滑移面{111}4个,滑移方向3个,组合出12个滑移系。

atomsk -dislocation

p1 p2:确定位错的位置,位错在垂直于位错线的平面中的坐标 edge或者edge2:表示插入的为刃型位错 ξ:位错线的方向,必须为x、y或z n:半原子面方向,必须为x、y或z,但必须不同于ξ b:位错泊氏矢量的长度,为位错移动方向上两相邻原子之间的间距 v:泊松比

atomsk --create fcc 3.52 Ni orient [-110] [111] [11-2] Ni_cell.xsf # 创建Ni单胞,xyz坐标轴方向为[-110][111][11-2],滑移面为[111]面,滑移方向[-110] atomsk Ni_cell.xsf -duplicate 40 10 10 Ni_supercell.xsf # 将Ni单胞扩展成40*10*10的超晶胞 atomsk Ni_supercell.xsf -dislocation 0.5*box 0.5*box edge Z Y 2.4893918 0.33 -wrap Ni_edge.lmp # 插入刃型位错,位置位于box中央,位错线平行于Z轴 # wrap将所有原子保存在Ni_edge.lmp中 2.Atomsk生成任意角度晶界

    根据多晶建模理论,将晶界上下两部分视为2个大晶粒,每个晶粒按一定角度旋转即可。

# 1.生成Al的单胞 atomsk --create fcc 4.046 Al aluminium.xsf # 2.建立多晶参数文件ployX.txt box 100 100 10 #盒子尺寸,100*100*10埃 node 0.5*box 0.25*box 0 0° 0° -26.57° #上下晶粒分别旋转26.57度(围绕Z轴旋转),旋转中心坐标+角度 node 0.5*box 0.75*box 0 0° 0° -26.57° # 3.建立晶界/多晶 atomsk --polycrystal aluminium.xsf ployX.txt polycrystal.cfg # 保存为polycrystal.cfg 3.Atomsk生成孪晶

1.生成Al单胞并设定取向

atomsk --create fcc 4.05 Al orient [11-2] [111] [-110] -duplicate 8 4 4 Al_cell.xsf # create建立单胞,orient设定xyz三轴方向,duplicate复制扩胞

2.生成镜像晶体

atomsk -mirror

d:镜面与坐标原点的距离 normal:垂直于镜面方向,可以为x、y、z或晶向

atomsk Al_cell.xsf -mirror 0 Y -wrap Al_mirror.xsf # mirror生成镜像Al_mirror.xsf(沿着Y方向)

3.合并晶体

atomsk --merge Y 2 Al_cell.xsf Al_mirror.xsf Al_final.xsf # 将Al_cell.xsf和Al_mirror两晶体沿Y方向合并到一起,存入Al_final.xsf 4.Atomsk生成非晶

    非晶态是指原子处于无序状态的一种结构。使用Atomsk建立非晶,首先建立晶体,然后随机调整原子坐标,使其脱离原晶格点位置即可。

# 1.建立Al晶体模型 atomsk --create fcc 4.046 Al -duplicate 20 20 20 Al_supercell.cfg # create建立Al单胞,并扩胞为20*20*20的超晶胞 # 2.随机调整原子位移 atomsk Al_supercell.cfg -disturb 1.5 final.lmp # disturb随机调整原子位移,最大调整不超过1.5埃 5.合金多晶结构建模

1.生成Fe单胞

atomsk --create fcc 3.65 Fe Fe.xsf

2.建立多晶节点文件polycrystal.txt

box 200 100 200 random 20 # 盒子尺寸200*100*200埃,随机生成20个晶粒

3.生成多晶文件final.lmp

atomsk --polycrystal Fe.xsf polycrystal.txt final.lmp -wrap # 将Fe单胞填充到20个晶粒中,保存为final.lmp,-wrap将所有原子保存

4.修改final.lmp

3 atom stypes # 原子类型由1种改为3种 Masses 1 55.845 #Fe 2 58.69 #Ni 3 51.96 #Cr # 添加Nr、Cr原子摩尔质量

5.替换原子生成合金结构

units metal dimension 3 boundary p p p atom_style atomic timestep 0.001 neighbor 0.2 bin read_data final.lmp set type 1 type/ratio 2 0.33 8793 set type 1 type/ratio 3 0.5 56332 #替换原子,1:1:1 write_data FeNiCr.data 6.Atomsk建立管道类模型 atomsk -roll

direction:“滚动”方向,必须是x、y或z θ:旋转角度,θ=360 形成管状 axis:圆柱体的轴,必须是x、y或z

# 1.建立Al板模型 atomsk --create bcc 4.046 Al -duplicate 20 20 1 Al.xsf # 2.roll变形 atomsk Al.xsf -roll y 360 x fianl.lmp 7.Atomsk建立不规则界面

1.生成2层Al原子

atomsk --create fcc 4.046 Al -duplicate 20 20 1 Al_supercell.cfg

2.建立disp.txt文件

# Atom displacements displacement function # 位移函数 uz = 10*cos(4*pi*x/Hx) # uz为z坐标,Hx为x方向框尺寸,pi为π # Atom displacements displacement function uz = 2*cos(4*pi*x/Hx) + 2*cos(4*pi*y/Hy)

3.生成不规则界面

atomsk Al_supercell.cfg -properties disp.txt final.lmp # properties 设置每一个原子属性 8.Atomsk产生空位缺陷

    使用“-select”选择原子,后通过“-remove-atom”删除被选择的原子,形成空位缺陷,“-select”可以选择特定原子,也可以随机选择一定数目原子。 Atomsk中select的用法:

atomsk -select all #选择所有原子 atomsk -select invert #反选原子,若之前未定义选择,则不做任何操作 atomsk -select #选择给定种类的所有原子 atosmk -select #选择给定索引的原子,多个时用逗号隔开 atomsk -select list #为每行包含一个原子索引的文本文件 atomsk -select random #给定种类中随机选择N个原子,若为N%,则为百分比,若为any或all,则从所有种类中随机选择N个原子 atomsk -select #为x y z或者晶向,选择在方向上距离原点大于above/小于below给定距离的原子 atomsk -select cell #选择模拟单元内部in/外部out的原子 atomsk -select box


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3