用户工具

站点工具

本页面的其他翻译:
  • zh

atk:使用几何结构匹配方法确定低应变界面结构

使用几何结构匹配方法确定低应变界面结构

版本:2017.1

本教程介绍了新的 GeneralizedLatticeMatch 方法,用于将两个块状晶体组合到一个界面。

在很多情况下,尽管形成界面的两个表面上没有精确的结构信息,人们也对在两种材料之间创建一个真实的界面很感兴趣。GeneralizedLatticeMatch 方法可以仅基于它们的整体晶体结构自动查找两个晶体之间所有可能的界面超胞来简化这个过程。此方法是 [JLS + 17] 中描述算法的优化版本。与 The Interface Builder in QuantumATK 中描述的在 Interface Builder 中使用的晶格匹配方法相比,本方法是很公正的,因为它考虑了两个晶体形成界面的所有可能表面。

为每个界面进行大量的结构参数计算使人们可以容易分析匹配模式,选择最合适的界面用于进一步研究。然后,可以采用 QuantumATK 中的 Interface Builder 轻松实现创建所需的界面结构。

方法说明

下文描述了 GeneralizedLatticeMethod 方法中采用算法的主要步骤,与 Interface Builder 中使用的算法非常相似(请参见 The Interface Builder in QuantumATK)。

1.首先,创建形成界面两种材料中第一种的可能表面矢量 $[\mathbf{a}_{1}, \mathbf{a}_{2}]$,从原胞 Bravais 向量的线性组合开始:

$$\mathbf{a}_1 = \sum_{i=1}^3 c_i \mathbf{u}_i \quad c_i \in \mathbb{Z},$$

$$\mathbf{a}_2 = \sum_{i=1}^3 c_i^\prime \mathbf{u}_i \quad c_i^\prime \in \mathbb{Z},$$

随后对所得矢量从 $\mathbf{R}^3$ 到 $\mathbf{R}^2$ 投影。使用相同的步骤创建第二个表面的矢量 $[[\mathbf{b}_{1}, \mathbf{b}_{2}]]$。如下文输入和输出说明部分所述,形成表面晶胞的数量由下列设定限制:

  • 密勒指数 $[h,k,l]$ 的最大值定义了每一个表面;
  • 晶格矢量 $[\mathbf{a}_{1}, \mathbf{a}_{2}]$ 和 $[[\mathbf{b}_{1}, \mathbf{b}_{2}]]$ 的最大长度。

2.每组表面晶胞的匹配都通过在 Interface Builder 中使用的晶格匹配法,详情参见技术注解 The Interface Builder in QuantumATK

3.然后计算得到的平均应变为: $$\mathbf{\bar{\varepsilon}} = \sqrt{\frac{\varepsilon_{11}^2 + \varepsilon_{22}^2 + \varepsilon_{11}\varepsilon_{22} + \varepsilon_{12}^2}{4}}$$

如在技术注解 The Interface Builder in QuantumATK 中的定义,这里的 $\epsilon_{11}$、$\epsilon_{22}$ 和 $\epsilon_{12}$ 是 2 D 应变张量的组分。

注意

请注意,此处平均应变的定义与 The Interface Builder in QuantumATK 中使用的不同。当前的应变定义更适合本方法,因为它是应变张量的不变量。

输入和输出说明

为了使用 GeneralizedLatticeMatch 方法,可以如下设置一个简单的脚本:

1      # Read the BulkConfiguration of the primitive cell of the
2      # first material
3      configuration_1 = nlread('InAs.py',BulkConfiguration)[-1]
4      # Read the BulkConfiguration of the primitive cell of the
5      # second material
6      configuration_2 = nlread('Al.py',BulkConfiguration)[-1]
7      
8      # Run the GeneralizedLatticeMatch method
9      generalized_lattice_match = GeneralizedLatticeMatch(
10                                  configuration_1,
11                                  configuration_2,
12                                  max_strain=0.02,
13                                  maximum_miller_index=3,
14                                  longest_surface_lattice_vector=50*Angstrom,
15                                  max_surface_area=200.0*Angstrom**2,
16                                  user_given_miller_index=None
17                                  )
 

该脚本读取两个输入文件,每个输入文件包含构成界面两种材料之一的块体原胞的 BulkConfiguration。然后,将 GeneralizedLatticeMatch 方法应用于这两个结构。可以设置许多输入参数用以控制可能的界面超胞的精度和搜索范围。输入参数的完整列表为:

  • configuration_1:第一种材料块体原胞的 BulkConfiguration。
  • configuration_2:第二种材料块体原胞的 BulkConfiguration。
  • max_strain:施加在每个表面的最大应变。
  • maximum_miller_index:密勒指数 $[h,k,l]$ 定义给每个表面的最大值。
  • longest_surface_lattice_vector:每个表面晶格矢量 $[\mathbf{a}_{1}, \mathbf{a}_{2}]$ 和 $[[\mathbf{b}_{1}, \mathbf{b}_{2}]]$ 的最大长度。
  • max_surface_area:界面超胞表面区域的最大值。
  • user_given_miller_indexconfiguration_1 表面预先定义的密勒指数。

注意

当参数 user_given_miller_index 设置为不同于 None 的值时,可能表面的搜索仅限于第二种材料,而第一种材料的表面保持固定。此选项将在示例 2 使用。

计算出可能的匹配后,结果将直接输出在计算的 QuantumATK 日志文件中。匹配项将按照应变增加的顺序显示,并列出表征每个匹配项的多个输出参数。

+----------------------------------------------------------------------------------------+
|    A              B        Strain     Atoms    Area    Aspect    Angle    Rotation     |
+----------------------------------------------------------------------------------------+
[ 1  0  0] >-< [ 1  0  0]   0.000110      29     72.9      1.0      90.0        0.0
[ 2  2  1] >-< [ 1  0  0]   0.000110      23    163.9      2.2     153.4       26.6
[ 3  3  2] >-< [ 1  1  1]   0.004030      28    170.9      1.2     162.6       60.3

输出参数:

  • A:密勒指数 $[h,k,l]$ 的第一个表面。
  • B:密勒指数 $[h,k,l]$ 的第二个表面。
  • Strain:两个表面的最大应变。
  • Atoms:界面超胞的总原子数。
  • Area:界面超胞的表面区域。
  • Aspect:界面超胞两个表面矢量的纵横比。通过在比值的分子上取最大矢量计算比率。
  • Angle:界面超胞两个矢量的夹角。
  • Rotation:界面超胞连个表面的旋度。

示例1:两个块体间的晶格匹配

在第一个示例中,您将计算砷化铟和铝之间的可能匹配。

为获得块体 InAs 包含 BulkConfiguration 的结构文件,打开 QuantumATK,在 Builder 点击 Add From Database….。在 Database,选择如下图所示的块体 InAs 的原胞,点击 按钮将其添加到 Stash

如下图所示,重复相同的过程,将 Al 的原胞结构添加到 Stash

Stash,右键单击每个结构选择“Save as”保存这两个结构。另外,您还可以在此处下载这两个文件:↓ InAs.py↓ Al.py

为 GeneralizedLatticeMatch 法设置的脚本如下:

1      # Read the BulkConfiguration of the primitive cell of the
2      # first material
3      configuration_1 = nlread('InAs.py',BulkConfiguration)[-1]
4      # Read the BulkConfiguration of the primitive cell of the
5      # second material
6      configuration_2 = nlread('Al.py',BulkConfiguration)[-1]
7      
8      # Run the GeneralizedLatticeMatch method
9      generalized_lattice_match = GeneralizedLatticeMatch(
10                                  configuration_1,
11                                  configuration_2,
12                                  max_strain=0.02,
13                                  maximum_miller_index=3,
14                                  longest_surface_lattice_vector=50*Angstrom,
15                                  max_surface_area=200.0*Angstrom**2,
16                                  user_given_miller_index=None
17                                  )

您可以在此处下载脚本:↓ match_InAs_Al.py

由上述代码可知,本示例的设置为:最大应变 0.02,密勒指数 $h,k,l \leq 3$,晶格矢量的最大长度 50 Å,表面积上线为 200 Å2

以命令 atkpython match_InAs_Al.py > match_InAs_Al.log 在终端运行脚本,输出信息显示如下。有一些可能的匹配,为简洁起见,仅显示前 20 个配对。

+------------------------------------------------------------------------------+
|                                                                              |
| Atomistix ToolKit 2017.1 [Build ce08f12]                                     |
|                                                                              |
+------------------------------------------------------------------------------+
 
                        |--------------------------------------------------|
Miller planes for A    : ==================================================
 
                        |--------------------------------------------------|
Miller planes for B    : ==================================================
 
                        |--------------------------------------------------|
Matching Miller planes : ==================================================
+----------------------------------------------------------------------------------------+
|    A              B        Strain     Atoms    Area    Aspect    Angle    Rotation     |
+----------------------------------------------------------------------------------------+
[ 1  0  0] >-< [ 1  0  0]   0.000110      29     72.9      1.0      90.0        0.0
[ 2  2  1] >-< [ 1  0  0]   0.000110      23    163.9      2.2     153.4       26.6
[ 3  3  2] >-< [ 1  1  1]   0.004030      28    170.9      1.2     162.6       60.3
[ 3  1  1] >-< [ 2  1  1]   0.004030      10    120.8      1.7      90.0        0.0
[ 3  1  1] >-< [ 3  1  1]   0.004250      16    120.8      1.7     106.8       33.6
[ 3  3  1] >-< [ 3  3  1]   0.004250      16    158.8      2.2     102.9        0.0
[ 3  3  1] >-< [ 3  3  1]   0.005470      13    158.8      2.2     102.9        0.0
[ 3  1  1] >-< [ 3  1  1]   0.005470      13    120.8      1.7     106.8       33.6
[ 2  1  1] >-< [ 2  1  1]   0.005470      17    178.5      2.4      90.0        0.0
[ 2  1  0] >-< [ 2  1  0]   0.005470      13    162.9      1.2     114.1        0.0
[ 1  1  1] >-< [ 1  1  1]   0.005470      13     63.1      1.0     120.0       60.0
[ 1  1  0] >-< [ 1  1  0]   0.005470      17    103.0      1.4      90.0        0.0
[ 1  0  0] >-< [ 1  0  0]   0.005470      13     72.9      1.0      90.0        0.0
[ 1  0  0] >-< [ 2  2  1]   0.005470       7     72.9      1.0      90.0        0.0
[ 3  2  2] >-< [ 1  1  1]   0.005940      23    150.2      1.2     157.6       60.5
[ 1  0  0] >-< [ 2  1  1]   0.006130      19    182.2      3.9      39.8        0.6
[ 3  1  1] >-< [ 1  1  0]   0.007160      18    151.0      1.7      73.2       22.6
[ 3  1  1] >-< [ 1  0  0]   0.007730      19    120.8      1.7      90.0        0.0
[ 3  2  2] >-< [ 3  1  1]   0.008250      13    150.2      2.3     115.9       35.2
[ 1  0  0] >-< [ 1  1  0]   0.008420      28    200.4      2.2      79.7       38.2

请注意,应变最小的配对是 InAs 的 $\langle 100 \rangle$ 面和 Al 的 $\langle 100 \rangle$ 面。

示例2:块体和预定义表面的晶格匹配

在某些情况下,人们可能会对发现块体材料已知表面的匹配感兴趣。在第二个示例中,您将研究如何找到块体铝与 InAs(111) 面的可能匹配。InAs $\langle 111 \rangle$ 向的纳米线在文献 [KZC + 15] 中已被合成,且已经实验验证 $\langle 111 \rangle$ 向 Al 层可以在其上生长。

使用与示例1中相同的结构文件,为 GeneralizedLatticeMatch 计算设置如下脚本:

1      # Read the BulkConfiguration of the primitive cell of the
2      # first material
3      configuration_1 = nlread('InAs.py',BulkConfiguration)[-1]
4      # Read the BulkConfiguration of the primitive cell of the
5      # second material
6      configuration_2 = nlread('Al.py',BulkConfiguration)[-1]
7      
8      # Run the GeneralizedLatticeMatch method
9      generalized_lattice_match = GeneralizedLatticeMatch(
10                                  configuration_1,
11                                  configuration_2,
12                                  max_strain=0.02,
13                                  maximum_miller_index=3,
14                                  longest_surface_lattice_vector=50*Angstrom,
15                                  max_surface_area=200.0*Angstrom**2,
16                                  user_given_miller_index=(1,1,1)
17                                  )

请注意,user_given_miller_index 选项,即黄色高亮部分,现在被设置为 user_given_miller_index=(1,1,1)。因此,本例仅考虑块体 Al 和 InAs(111) 的匹配。您也可以在此处下载脚本:↓ match_InAs111_Al.py

以命令 atkpython match_InAs111_Al.py > match_InAs111_Al.log 在终端运行脚本,输出如下所示。我们注意到输出的匹配比示例 1 的少。这是因材料指定的 A 只有一个表面需要考虑。

+------------------------------------------------------------------------------+
|                                                                              |
| Atomistix ToolKit 2017.1 [Build ce08f12]                                     |
|                                                                              |
+------------------------------------------------------------------------------+
 
                        |--------------------------------------------------|
Miller planes for B    : ==================================================
 
                        |--------------------------------------------------|
Matching Miller planes : ==================================================
+----------------------------------------------------------------------------------------+
|    A              B        Strain     Atoms    Area    Aspect    Angle    Rotation     |
+----------------------------------------------------------------------------------------+
[ 1  1  1] >-< [ 1  1  1]   0.005470      13     63.1      1.0     120.0       60.0
[ 1  1  1] >-< [ 3  3  1]   0.010100      17    142.0      1.2      46.1       18.4
[ 1  1  1] >-< [ 2  1  0]   0.010710      15    110.4      4.0      30.0        5.9
[ 1  1  1] >-< [ 3  1  1]   0.011070      26    110.4      2.6      19.1       77.9
[ 1  1  1] >-< [ 3  1  1]   0.012770      15    110.4      2.6      19.1       77.9
[ 1  1  1] >-< [ 1  1  0]   0.013260      24    126.2      2.6      40.9       12.1
[ 1  1  1] >-< [ 1  0  0]   0.014880      23    126.2      1.7       8.2        1.1
[ 1  1  1] >-< [ 2  2  1]   0.014880      13    126.2      2.3      10.9       31.1
[ 1  1  1] >-< [ 3  2  1]   0.016000      18    189.3      2.6      26.3       75.4
[ 1  1  1] >-< [ 3  1  2]   0.016000      18    189.3      3.5      19.1       44.6
[ 1  1  1] >-< [ 2  1  0]   0.016150      13    110.4      4.0      30.0        5.9
[ 1  1  1] >-< [ 2  1  1]   0.016420       9     78.9      2.9      30.0       20.8
[ 1  1  1] >-< [ 1  1  0]   0.016510      19    126.2      2.6      40.9       12.1
+----------------------------------------------------------------------------------------+

本例中匹配 InAs(111) 面最小应变的是 Al(111) 面,与文献 [KZC+15] 中的实验测量结构一致。

参考

atk/使用几何结构匹配方法确定低应变界面结构.txt · 最后更改: 2019/12/29 00:06 由 xie.congwei

© 2014-2022 费米科技(京ICP备14023855号