用户工具

站点工具


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

差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录前一修订版
后一修订版
前一修订版
atk:使用几何结构匹配方法确定低应变界面结构 [2019/12/28 23:23] – [使用几何结构匹配方法确定低应变界面结构] xie.congweiatk:使用几何结构匹配方法确定低应变界面结构 [2019/12/29 00:06] (当前版本) – [参考] xie.congwei
行 11: 行 11:
 {{ :atk:introbar-20191126.png |}} {{ :atk:introbar-20191126.png |}}
 ===== 方法说明 ===== ===== 方法说明 =====
 +
 +下文描述了 **GeneralizedLatticeMethod** 方法中采用算法的主要步骤,与 **Interface Builder** 中使用的算法非常相似(请参见 [[https://docs.quantumatk.com/technicalnotes/interface_builder/interface_builder.html#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}]]$。如下<color #00a2e8>文输入和输出说明</color>部分所述,形成表面晶胞的数量由下列设定限制:
 +
 +  * 密勒指数 $[h,k,l]$ 的最大值定义了每一个表面;
 +  * 晶格矢量 $[\mathbf{a}_{1}, \mathbf{a}_{2}]$ 和 $[[\mathbf{b}_{1}, \mathbf{b}_{2}]]$ 的最大长度。
 +
 +2.每组表面晶胞的匹配都通过在 **Interface Builder** 中使用的晶格匹配法,详情参见技术注解 [[https://docs.quantumatk.com/technicalnotes/interface_builder/interface_builder.html#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}}$$
 +
 +如在技术注解 [[https://docs.quantumatk.com/technicalnotes/interface_builder/interface_builder.html#interface-builder|The Interface Builder in QuantumATK]] 中的定义,这里的 $\epsilon_{11}$、$\epsilon_{22}$ 和 $\epsilon_{12}$ 是 2 D 应变张量的组分。
 +
 +<WRAP center important 100%>
 +=== 注意 ===
 +请注意,此处平均应变的定义与 [[https://docs.quantumatk.com/technicalnotes/interface_builder/interface_builder.html#interface-builder|The Interface Builder in QuantumATK]] 中使用的不同。当前的应变定义更适合本方法,因为它是应变张量的不变量。
 +</WRAP>
 +
 +
 +
 +
 +
  
 ===== 输入和输出说明 ===== ===== 输入和输出说明 =====
 +
 +
 +为了使用 GeneralizedLatticeMatch 方法,可以如下设置一个简单的脚本:
 +
 +<code python>  
 +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                                  )
 +      
 +</code>
 +
 +该脚本读取两个输入文件,每个输入文件包含构成界面两种材料之一的块体原胞的 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_index'':''configuration_1'' 表面预先定义的密勒指数。
 +
 +
 +<WRAP center important 100%>
 +=== 注意 ===
 +当参数 ''user_given_miller_index'' 设置为不同于 ''None'' 的值时,可能表面的搜索仅限于第二种材料,而第一种材料的表面保持固定。此选项将在示例 2 使用。
 +</WRAP>
 +
 +
 +计算出可能的匹配后,结果将直接输出在计算的 QuantumATK 日志文件中。匹配项将按照应变增加的顺序显示,并列出表征每个匹配项的多个输出参数。
 +
 +<code python>  
 ++----------------------------------------------------------------------------------------+
 +|    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
 +</code>
 +
 +输出参数:
 +  * ''A'':密勒指数 $[h,k,l]$ 的第一个表面。
 +  * ''B'':密勒指数 $[h,k,l]$ 的第二个表面。
 +  * ''Strain'':两个表面的最大应变。
 +  * ''Atoms'':界面超胞的总原子数。
 +  * ''Area'':界面超胞的表面区域。
 +  * ''Aspect'':界面超胞两个表面矢量的纵横比。通过在比值的分子上取最大矢量计算比率。
 +  * ''Angle'':界面超胞两个矢量的夹角。
 +  * ''Rotation'':界面超胞连个表面的旋度。
  
 ===== 示例1:两个块体间的晶格匹配 ===== ===== 示例1:两个块体间的晶格匹配 =====
  
 +在第一个示例中,您将计算砷化铟和铝之间的可能匹配。
  
 +为获得块体 InAs 包含 BulkConfiguration 的结构文件,打开 **QuantumATK**,在 {{:atk:builder.png?direct&25|}} **Builder** 点击 Add {{:atk:arrow.png?direct&5|}} From Database....。在 **Database**,选择如下图所示的块体 InAs 的原胞,点击 {{:atk:plus.png?25|}} 按钮将其添加到 **Stash**。
 +
 +{{ :atk:inas_database-20191228.png |}}
 +
 +如下图所示,重复相同的过程,将 Al 的原胞结构添加到 **Stash**。
 +
 +
 +{{ :atk:al_database-20191228.png |}}
 +
 +
 +在 **Stash**,右键单击每个结构选择“Save as”保存这两个结构。另外,您还可以在此处下载这两个文件:[[https://docs.quantumatk.com/_downloads/InAs.py|↓ InAs.py]],[[https://docs.quantumatk.com/_downloads/Al.py|↓ Al.py]]。
 +
 +为 GeneralizedLatticeMatch 法设置的脚本如下:
 +
 +<code python>  
 +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                                  )
 +</code>
 +
 +您可以在此处下载脚本:[[https://docs.quantumatk.com/_downloads/match_InAs_Al.py|↓ match_InAs_Al.py]]。
 +
 +由上述代码可知,本示例的设置为:最大应变 0.02,密勒指数 $h,k,l \leq 3$,晶格矢量的最大长度 50 Å,表面积上线为 200 Å<sup>2</sup>
 +
 +以命令 ''atkpython match_InAs_Al.py > match_InAs_Al.log'' 在终端运行脚本,输出信息显示如下。有一些可能的匹配,为简洁起见,仅显示前 20 个配对。
 +
 +<code python>  
 ++------------------------------------------------------------------------------+
 +|                                                                              |
 +| 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           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
 +</code>
 +
 +请注意,应变最小的配对是 InAs 的 $\langle 100 \rangle$ 面和 Al 的 $\langle 100 \rangle$ 面。
 ===== 示例2:块体和预定义表面的晶格匹配 ===== ===== 示例2:块体和预定义表面的晶格匹配 =====
  
 +在某些情况下,人们可能会对发现块体材料已知表面的匹配感兴趣。在第二个示例中,您将研究如何找到块体铝与 InAs(111) 面的可能匹配。InAs $\langle 111 \rangle$ 向的纳米线在文献 <color #00a2e8>[KZC + 15]</color> 中已被合成,且已经实验验证 $\langle 111 \rangle$ 向 Al 层可以在其上生长。
 +
 +使用与示例1中相同的结构文件,为 GeneralizedLatticeMatch 计算设置如下脚本:
 +
 +<code python>  
 +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                                  )
 +</code>
 +
 +请注意,''user_given_miller_index'' 选项,即黄色高亮部分,现在被设置为 ''user_given_miller_index=(1,1,1)''。因此,本例仅考虑块体 Al 和 InAs(111) 的匹配。您也可以在此处下载脚本:[[https://docs.quantumatk.com/_downloads/match_InAs111_Al.py|↓ match_InAs111_Al.py]]。
 +
 +以命令 ''atkpython match_InAs111_Al.py > match_InAs111_Al.log'' 在终端运行脚本,输出如下所示。我们注意到输出的匹配比示例 1 的少。这是因材料指定的 ''A'' 只有一个表面需要考虑。
 +
 +<code python>  
 ++------------------------------------------------------------------------------+
 +|                                                                              |
 +| 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           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
 ++----------------------------------------------------------------------------------------+
 +</code>
  
 +本例中匹配 InAs(111) 面最小应变的是 Al(111) 面,与文献  <color #00a2e8>[KZC+15]</color> 中的实验测量结构一致。
 ===== 参考 ===== ===== 参考 =====
  
 +  * [JLS+17] Line Jelver, Peter Mahler Larsen, Daniele Stradi, Kurt Stokbro, and Karsten Wedel Jacobsen. Determination of low-strain interfaces via geometric matching.// Phys. Rev. B//, 96:085306, Aug 2017. [[http://dx.doi.org/10.1103/PhysRevB.96.085306|doi:10.1103/PhysRevB.96.085306]].
 +  * [KZC+15] (1, 2) P. Krogstrup, N. L. B. Ziino, W. Chang, S. M. Albrecht, M. H. Madsen, E. Johnson, J. Nygård, C. M. Marcus, and T. S. Jespersen. Epitaxy of semiconductor–superconductor nanowires.// Nature Materials//, 14:400–406, 2015. [[http://dx.doi.org/10.1038/nmat4176|doi:10.1038/nmat4176]].
 +  * 英文原文:https://docs.quantumatk.com/tutorials/interfaces_via_geometric_matching/interfaces_via_geometric_matching.html
atk/使用几何结构匹配方法确定低应变界面结构.1577546618.txt.gz · 最后更改: 2019/12/28 23:23 由 xie.congwei

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