atomsk建模入门案例

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,分别删除对应的晶粒,然后重新组合到一起。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值