如何从六角晶胞构建立方晶胞

本文以Bi2Te3为例介绍如何从六角晶胞出发构建等效的立方晶胞。


对于很多结构,我们比较容易获得其六角晶胞的结构数据,因为六角晶胞一般是原胞,包括最少的周期性原子,但在实际计算中,立方晶胞会更方便。比如在lammps中,如果采用六角晶胞,在计算弹性常数的时候,时常会报下面的错误:

ERROR: Triclinic box skew is too large (domain.cpp:151)

这是对六角晶胞进行形变,使得盒子的倾斜量超过了基矢的1/2而产生的结果。我不知道是否可以通过lammps命令设置得到解决,但却可以通过将六角晶胞换成立方晶胞得到有效解决。

下面以Bi2Te3为例介绍这种转换方法。转换过程中用到的软件有:

1. 构建超胞并导出cif格式

使用MS打开Bi2Te3六角原胞,构建6x6x1的超胞,并导出cif格式的文件,文件名定为Bi2Te3.6x6x1.cif。虽然VESTA也可以建超胞,但VESTA不能导出超胞信息。

2. 超胞cif转xyz格式

使用VESTA打开Bi2Te3.6x6x1.cif,并导出xyz格式的文件(不保存隐藏原子),文件名定为Bi2Te3.6x6x1.xyz。这样做的目的是为了去掉晶胞信息,只保留原子坐标。

3. 找到最小立方晶胞

使用VESTA打开Bi2Te3.6x6x1.xyz,找到最小的周期性立方晶胞。通常来说,这是很容易的事情。对于本例,下图红色框框圈出的部分就是其最小立方晶胞。

六方转立方

另外需要注意的一点是,在这个图中有很多的最小立方晶胞,虽然它们通过周期性都是等效的,但最好是选取左下角的那个,因为它的xy坐标是从原点开始的。这样对于后面的转换会省很多麻烦。

4. 删去立方原胞之前的原子

通过VESTA的选中操作,圈选立方原胞之外的原子,并按delete键删除。需要特别注意的是,立方晶胞三个边界面上的原子也要删去。下图中展示了xy平面上的两个边界面,z方向的顶面也是边界面。这些面上的原子实际上可以看成是相对应的边界面上原子的镜像,是多余的。在选择具体的边界面时,需要类似上面的注意,这里也是建议选择右上的两个边界上的原子,如下图所示。剩下的原子实际上就是最小立方晶胞所包括的原子。

六方转立方

5. 导出最小立方晶胞

将上面删除剩余的原子导出xyz格式的文件(不保存隐藏原子),命名为Bi2Te3u.xyz。

6. 编辑最小立方晶胞文件

用记事本打开Bi2Te3u.xyz文件,检查是否有存在问题的坐标。这里说的问题坐标主要是指边界上的原子,它们的x或y或z坐标原本应该刚好是0.00(因为我们删除的坐标较大一侧边界面上的原子),但可能会因为导出误差而不为0。那么在应用周期性的时候,它们就不会刚好出现在其他的边界上。

下图中的0.000132就属于问题坐标,需要调整为0.00。

六方转立方

另外,前面强调过要选择xy平面上跨在原点上的立方原胞。如果不是立方原胞,那么这里的坐标就需要去掉所选择的立方原胞平移的x-y矢量。所以会麻烦很多,不建议这么做。

7. 编辑vasp文件

对于vasp-POSCAR文件来说,关键就是两点:一个是基矢,一个是基原子。前面编辑好的Bi2Te3u.xyz文件中的坐标实际上就是基原子。基矢可以通过在MS中使用测量功能获得,如下图所示。

六方转立方

然后创建Bi2Te3u.vasp,再按着VASP中POSCAR文件的格式编辑该文件,如下所示。

Bi2Te3
1.0
        4.3849000931         0.0000000000         0.0000000000
        0.0000000000         7.5950000000         0.0000000000
        0.0000000000         0.0000000000        30.4971008301
   Bi    Te
   12    18
Cartesian
0.000000	0.000000	12.153094
2.192362	1.265913	22.318693
0.000000	2.531598	1.987496
0.000000	0.000000	18.344006
2.192362	1.265913	28.509605
0.000000	2.531598	8.178408
...以下省略...

还有一点需要注意的地方:对于多元体系,前面导出的xyz格式的文件中不同元素坐标的排练是交叉的,而vasp是要求将一种元素的全部原子坐标放在一起,所以需要调整Bi2Te3u.xyz文件中坐标在文件中的位置关系。一个小小的技巧是将数据导入excel中,使用其扩展排序功能。

在完成了上面的所有步骤之后,获得的vasp文件Bi2Te3u.vasp,就是Bi2Te3的立方晶胞,如下图所示(立方晶胞的2x2超胞)。

六方转立方

本教程中所用到的全部文件:百度网盘

标签: lammps, Materials Studio

相关文章推荐

添加新评论 (无需注册,可直接评论)

已有 2 条评论

  1. ZZCCTTTT

    您好还有百度网盘资料可以分享一下吗

    1. Bla

      你好,请问转换后计算能带的布里渊区路径应该怎么取,我看到一篇文章说的是把六方晶格的FBZ折叠成与正交晶格相关的FBZ,但不太理解。