这里会显示出您选择的修订版和当前版本之间的差别。
两侧同时换到之前的修订记录前一修订版后一修订版 | 前一修订版 | ||
atk:使用几何结构匹配方法确定低应变界面结构 [2019/12/28 23:23] – [使用几何结构匹配方法确定低应变界面结构] xie.congwei | atk:使用几何结构匹配方法确定低应变界面结构 [2019/12/29 00:06] (当前版本) – [参考] xie.congwei | ||
---|---|---|---|
行 11: | 行 11: | ||
{{ : | {{ : | ||
===== 方法说明 ===== | ===== 方法说明 ===== | ||
+ | |||
+ | 下文描述了 **GeneralizedLatticeMethod** 方法中采用算法的主要步骤,与 **Interface Builder** 中使用的算法非常相似(请参见 [[https:// | ||
+ | |||
+ | 1.首先,创建形成界面两种材料中第一种的可能表面矢量 $[\mathbf{a}_{1}, | ||
+ | |||
+ | $$\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}, | ||
+ | |||
+ | * 密勒指数 $[h,k,l]$ 的最大值定义了每一个表面; | ||
+ | * 晶格矢量 $[\mathbf{a}_{1}, | ||
+ | |||
+ | 2.每组表面晶胞的匹配都通过在 **Interface Builder** 中使用的晶格匹配法,详情参见技术注解 [[https:// | ||
+ | |||
+ | 3.然后计算得到的平均应变为: | ||
+ | $$\mathbf{\bar{\varepsilon}} = \sqrt{\frac{\varepsilon_{11}^2 | ||
+ | + \varepsilon_{22}^2 | ||
+ | + \varepsilon_{11}\varepsilon_{22} | ||
+ | + \varepsilon_{12}^2}{4}}$$ | ||
+ | |||
+ | 如在技术注解 [[https:// | ||
+ | |||
+ | <WRAP center important 100%> | ||
+ | === 注意 === | ||
+ | 请注意,此处平均应变的定义与 [[https:// | ||
+ | </ | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
===== 输入和输出说明 ===== | ===== 输入和输出说明 ===== | ||
+ | |||
+ | |||
+ | 为了使用 GeneralizedLatticeMatch 方法,可以如下设置一个简单的脚本: | ||
+ | |||
+ | <code python> | ||
+ | 1 # Read the BulkConfiguration of the primitive cell of the | ||
+ | 2 # first material | ||
+ | 3 configuration_1 = nlread(' | ||
+ | 4 # Read the BulkConfiguration of the primitive cell of the | ||
+ | 5 # second material | ||
+ | 6 configuration_2 = nlread(' | ||
+ | 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 方法应用于这两个结构。可以设置许多**输入参数**用以控制可能的界面超胞的精度和搜索范围。输入参数的完整列表为: | ||
+ | |||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | |||
+ | |||
+ | <WRAP center important 100%> | ||
+ | === 注意 === | ||
+ | 当参数 '' | ||
+ | </ | ||
+ | |||
+ | |||
+ | 计算出可能的匹配后,结果将直接输出在计算的 QuantumATK 日志文件中。匹配项将按照应变增加的顺序显示,并列出表征每个匹配项的多个输出参数。 | ||
+ | |||
+ | <code python> | ||
+ | +----------------------------------------------------------------------------------------+ | ||
+ | | A B Strain | ||
+ | +----------------------------------------------------------------------------------------+ | ||
+ | [ 1 0 0] >-< [ 1 0 0] | ||
+ | [ 2 2 1] >-< [ 1 0 0] | ||
+ | [ 3 3 2] >-< [ 1 1 1] | ||
+ | </ | ||
+ | |||
+ | 输出参数: | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
===== 示例1:两个块体间的晶格匹配 ===== | ===== 示例1:两个块体间的晶格匹配 ===== | ||
+ | 在第一个示例中,您将计算砷化铟和铝之间的可能匹配。 | ||
+ | 为获得块体 InAs 包含 BulkConfiguration 的结构文件,打开 **QuantumATK**,在 {{: | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | 如下图所示,重复相同的过程,将 Al 的原胞结构添加到 **Stash**。 | ||
+ | |||
+ | |||
+ | {{ : | ||
+ | |||
+ | |||
+ | 在 **Stash**,右键单击每个结构选择“Save as”保存这两个结构。另外,您还可以在此处下载这两个文件:[[https:// | ||
+ | |||
+ | 为 GeneralizedLatticeMatch 法设置的脚本如下: | ||
+ | |||
+ | <code python> | ||
+ | 1 # Read the BulkConfiguration of the primitive cell of the | ||
+ | 2 # first material | ||
+ | 3 configuration_1 = nlread(' | ||
+ | 4 # Read the BulkConfiguration of the primitive cell of the | ||
+ | 5 # second material | ||
+ | 6 configuration_2 = nlread(' | ||
+ | 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 ) | ||
+ | </ | ||
+ | |||
+ | 您可以在此处下载脚本:[[https:// | ||
+ | |||
+ | 由上述代码可知,本示例的设置为:最大应变 0.02,密勒指数 $h,k,l \leq 3$,晶格矢量的最大长度 50 Å,表面积上线为 200 Å< | ||
+ | |||
+ | 以命令 '' | ||
+ | |||
+ | <code python> | ||
+ | +------------------------------------------------------------------------------+ | ||
+ | | | | ||
+ | | Atomistix ToolKit 2017.1 [Build ce08f12] | ||
+ | | | | ||
+ | +------------------------------------------------------------------------------+ | ||
+ | |||
+ | |--------------------------------------------------| | ||
+ | Miller planes for A : ================================================== | ||
+ | |||
+ | |--------------------------------------------------| | ||
+ | Miller planes for B : ================================================== | ||
+ | |||
+ | |--------------------------------------------------| | ||
+ | Matching Miller planes : ================================================== | ||
+ | +----------------------------------------------------------------------------------------+ | ||
+ | | A B Strain | ||
+ | +----------------------------------------------------------------------------------------+ | ||
+ | [ 1 0 0] >-< [ 1 0 0] | ||
+ | [ 2 2 1] >-< [ 1 0 0] | ||
+ | [ 3 3 2] >-< [ 1 1 1] | ||
+ | [ 3 1 1] >-< [ 2 1 1] | ||
+ | [ 3 1 1] >-< [ 3 1 1] | ||
+ | [ 3 3 1] >-< [ 3 3 1] | ||
+ | [ 3 3 1] >-< [ 3 3 1] | ||
+ | [ 3 1 1] >-< [ 3 1 1] | ||
+ | [ 2 1 1] >-< [ 2 1 1] | ||
+ | [ 2 1 0] >-< [ 2 1 0] | ||
+ | [ 1 1 1] >-< [ 1 1 1] | ||
+ | [ 1 1 0] >-< [ 1 1 0] | ||
+ | [ 1 0 0] >-< [ 1 0 0] | ||
+ | [ 1 0 0] >-< [ 2 2 1] | ||
+ | [ 3 2 2] >-< [ 1 1 1] | ||
+ | [ 1 0 0] >-< [ 2 1 1] | ||
+ | [ 3 1 1] >-< [ 1 1 0] | ||
+ | [ 3 1 1] >-< [ 1 0 0] | ||
+ | [ 3 2 2] >-< [ 3 1 1] | ||
+ | [ 1 0 0] >-< [ 1 1 0] | ||
+ | </ | ||
+ | |||
+ | 请注意,应变最小的配对是 InAs 的 $\langle 100 \rangle$ 面和 Al 的 $\langle 100 \rangle$ 面。 | ||
===== 示例2:块体和预定义表面的晶格匹配 ===== | ===== 示例2:块体和预定义表面的晶格匹配 ===== | ||
+ | 在某些情况下,人们可能会对发现块体材料已知表面的匹配感兴趣。在第二个示例中,您将研究如何找到块体铝与 InAs(111) 面的可能匹配。InAs $\langle 111 \rangle$ 向的纳米线在文献 <color # | ||
+ | |||
+ | 使用与示例1中相同的结构文件,为 GeneralizedLatticeMatch 计算设置如下脚本: | ||
+ | |||
+ | <code python> | ||
+ | 1 # Read the BulkConfiguration of the primitive cell of the | ||
+ | 2 # first material | ||
+ | 3 configuration_1 = nlread(' | ||
+ | 4 # Read the BulkConfiguration of the primitive cell of the | ||
+ | 5 # second material | ||
+ | 6 configuration_2 = nlread(' | ||
+ | 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, | ||
+ | 17 ) | ||
+ | </ | ||
+ | |||
+ | 请注意,'' | ||
+ | |||
+ | 以命令 '' | ||
+ | |||
+ | <code python> | ||
+ | +------------------------------------------------------------------------------+ | ||
+ | | | | ||
+ | | Atomistix ToolKit 2017.1 [Build ce08f12] | ||
+ | | | | ||
+ | +------------------------------------------------------------------------------+ | ||
+ | |||
+ | |--------------------------------------------------| | ||
+ | Miller planes for B : ================================================== | ||
+ | |||
+ | |--------------------------------------------------| | ||
+ | Matching Miller planes : ================================================== | ||
+ | +----------------------------------------------------------------------------------------+ | ||
+ | | A B Strain | ||
+ | +----------------------------------------------------------------------------------------+ | ||
+ | [ 1 1 1] >-< [ 1 1 1] | ||
+ | [ 1 1 1] >-< [ 3 3 1] | ||
+ | [ 1 1 1] >-< [ 2 1 0] | ||
+ | [ 1 1 1] >-< [ 3 1 1] | ||
+ | [ 1 1 1] >-< [ 3 1 1] | ||
+ | [ 1 1 1] >-< [ 1 1 0] | ||
+ | [ 1 1 1] >-< [ 1 0 0] | ||
+ | [ 1 1 1] >-< [ 2 2 1] | ||
+ | [ 1 1 1] >-< [ 3 2 1] | ||
+ | [ 1 1 1] >-< [ 3 1 2] | ||
+ | [ 1 1 1] >-< [ 2 1 0] | ||
+ | [ 1 1 1] >-< [ 2 1 1] | ||
+ | [ 1 1 1] >-< [ 1 1 0] | ||
+ | +----------------------------------------------------------------------------------------+ | ||
+ | </ | ||
+ | 本例中匹配 InAs(111) 面最小应变的是 Al(111) 面,与文献 | ||
===== 参考 ===== | ===== 参考 ===== | ||
+ | * [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:// | ||
+ | * [KZC+15] (1, | ||
+ | * 英文原文:https:// |