1. create:创建
语法:
Atomsk --create 晶格类型 晶格常数 元素名称 文件名称
举例:
atomsk --create bcc 2.856 Fe Fe.xsf
atomsk --create fcc 3.597 Cu Cu.xsf
atomsk --create hcp 3.21 5.213 Mg Mg.xsf
atomsk --create rocksalt 5.64 Na Cl NaCl.xsf
atomsk --create bcc 3.01 Ni Ti NiTi.xsf
#-----.xsf是中间文件,可以导入OVITO--------
#-----需要导入lammps,后缀需改成.lmp-------
#-----在文件夹中建一个run.bat文件,右键点击run.dat文件,进行“编辑”,然后把“atomsk --create bcc 2.856 Fe Fe.xsf”等命令直接输入该文件,双击运行,就会自动生成Fe.xsf文件-------
2. duplicate: 复制
语法:
-duplicate x y Z #系统沿着第一个盒子矢量x,y,z方向的重复数。
举例:
atomsk --create bcc 3.155 W W2.xsf #生成2个atoms
atomsk W2.xsf -duplicate 3 4 10 W2.lmp #X方向重复3个盒子,Y方向重复4个,Z方向重复10个,所以最终生成240个atoms
以上两行命令合并到一起:
atomsk --create bcc 3.155 W -duplicate 3 4 10 W.lmp
3.石墨烯建模
命令:
atomsk --create graphite 3.21 5.213 C gp.xsf
atomsk gp.xsf -cut above 0.2 Z graphene.xsf #石墨烯只需要一层,用cut命令将上面一层原子切掉,-cut above 0.2 Z
盒子改为正交:
atomsk --create graphite 3.21 5.213 C -cut above 0.2 Z -orthogonal-cell graphene.xsf #-orthogonal-cell命令,把斜交改成正交晶格
atomsk graphene.xsf -duplicate 10 10 1 final.lmp
4.单壁CNT建模
atomsk --create nanotube 2.6 8 0 C CNT.lmp #碳纳米管CNT
移动盒子中间:
atomsk --create nanotube 2.6 8 0 C -shift 0.5*b0x 0.5*box 0.0 CNT.lmp #shift,平移命令,后面接x y z
扩胞:
atomsk --create nanotube 2.6 8 0 C -shift 0.5*box 0.5*box 0.0 -duplicate 1 1 6 CNT.lmp
5.孪晶建模
生成Al单胞并设定取向
#--------------使用create命令建立Al的单胞,orient命令确定xyz三轴取向,duplicate命令进行扩胞:----------------
atomsk --create fcc 4.05 Al orient [11-2] [111] [-110] -duplicate 16 4 4 Al_cell.xsf
晶体镜像
#--------------使用mirror命令生成Al_cell晶体的镜像Al_mirror.xsf(沿着Y方向)-------------------------------
atomsk Al_cell.xsf -mirror 0 Y -wrap Al_mirror.xsf # wrap 包装
合并晶体
#--------------使用merge命令将Al_cell和Al_mirror两部分晶体沿着Y方向合并到一起,存入到Al_final.xsf文件---------
atomsk --merge Y 2 Al_cell.xsf Al_mirror.xsf Al_final.xsf
6.多晶建模
创建晶胞
atomsk --create fcc 4.046 Al aluminium.xsf
在随机位置和晶向下的晶粒得到多晶
#-------------将两个参数:盒子的尺寸,和包含的晶粒个数写进一个txt格式的文本里面-------------------------------
#-------------例如,在200x200x200 Å3内生成一个包含12个晶粒的多晶:------------------------------------------
#-------------polycrystal.txt-----------------------------------------------------------------------------
polycrystal.txt
box 200 200 200
random 12
然后再“--polycrystal”模式下运行Atomsk,将前面生成的“aluminium.xsf”作为一个种子
atomsk --polycrystal aluminium.xsf polycrystal.txt final.cfg
为了使原子全部都在盒子里面,可以采用“-wrap”选项来创建多晶,如下:
atomsk --polycrystal aluminium.xsf polycrystal.txt final.cfg -wrap # wrap命令
7.孪晶多晶建模
atomsk --create fcc 4.02 Al orient [11-2] [111] [-110] -duplicate 1 8 1 Al_cell.xsf #复制晶胞
atomsk Al_cell.xsf -mirror 0 Y -wrap Al_mirror.xsf #晶体镜像
atomsk --merge Y 2 Al_cell.xsf Al_mirror.xsf Al_final.cfg #合并晶体,得到孪晶
atomsk --polycrystal Al_final.cfg polycrystal.txt Al_twin_polyX.lmp #多晶建模
对应的polycrystal.txt
polycrystal.txt
box 200 200 200
random 12
8.非晶建模
#(1)建立晶体Al模型
# 使用create命令建立Al单胞,并扩胞为20*20*20的超胞,代码如下:
atomsk --create fcc 4.046 Al -duplicate 20 20 20 Al_supercell.cfg
#(2)随机调整原子位移
# 使用-disturb命令随机调整原子位移,最大调整量不超过1.5埃米,代码为:
atomsk Al_supercell.cfg -disturb 1.5 final.lmp # disturb
# 在Ovito中使用CNA分析可知,原子着色为白色,类型为other,已经是非晶态结构。
9.多晶多相建模
# 基本的原理是先建立其中一个相的多晶模型,删除一部分晶粒,然后用另外一种相填充被删除的空间,从而组合为多晶多相材料结构。
# 1.新建多晶节点文件
# 和多晶建模方法一样,首先新建一个polycrystal.txt文件,内含模型的尺寸和节点数据。
# 一共包含6个节点,对应6个晶粒。
# 具体内容为:
#-----------polycrystal--------------------------
box 200 180 210 # 盒子大小为200 Å x 180 Å x 210 Å。
node 0 0 0 [100] [010] [001] # 第一个晶粒的位置在原点(0,0,0),并沿着X=[100], Y=[010], Z=[001]。
node 40 80 60 56° -83° 45° # 第二个晶粒的位置在(40,80,60),单位是Å,这个晶粒将会绕着X轴旋转56°,然后绕着Y轴旋转-83°,最后绕着Z轴旋转45°。
node 0.8*box 0.6*box 0.9*box [11-1] [112] [1-10] # 第三个颗粒将被定位在减少的坐标(0.8,0.6,0.9),这个减少的坐标是相对于在开始定义的盒子大小。注意如何使用关键字“box”来指定简化坐标。该晶粒的取向为X=[111], Y=[112], Z=[110]
node 50 5 60 [110] [1-10] [001] #
node 0.75*box 0.3*box 0.45*box -31.4° 28.7° 90.0° #
node 60 100 80 random # 最后一个颗粒将被定位在(60,100,80),单位是Å,并将有一个随机的方向。
# 2.多晶Cu建模
# 首先生成一个Cu晶胞文件:Cu_unitcell.xsf。
# 以此文件,生成一个包含6个晶粒的多晶fcc Cu模型,并且删除晶粒编号为1和6的晶粒。
atomsk --create fcc 3.61 Cu Cu_unitcell.xsf
atomsk --polycrystal Cu_unitcell.xsf polycrystal.txt Cu_polycrystal.cfg -select prop grainID 1 -rmatom select #select,rmatom(remove atom ,移除原子)
# 3.多晶W建模
# 和多晶铜建模方法一样,使用相同的文件polycrystal.txt,生成包含6个晶粒的多晶bcc W模型,并且删除晶粒编号为2-5的晶粒。
atomsk --create bcc 3.16 W W_unitcell.xsf
atomsk --polycrystal W_unitcell.xsf polycrystal.txt W_polycrystal.cfg -select prop grainID 2:5 -rmatom select
# 4.合并模型
# 合并多晶Cu和多晶W模型,得到一个完整的多相结构。
atomsk --merge 2 Cu_polycrystal.cfg W_polycrystal.cfg final_polycrystal.cfg -wrap
# 多相模型建模的关键是使用同一个多晶数据文件polycrystal.txt,分别删除对应的晶粒,然后重新组合到一起。