用户工具

站点工具

本页面的其他翻译:
  • zh

atk:碳纳米管导电结

碳纳米管导电结

在 QuantumATK 中实现 NEGF 输运模型的一个重要特性就是处理异构体系的能力,即两个电极的器件构型不同。这使其可以研究更广范围的重要体系如两种材料间的接触电阻(例如一种半导体/金属界面)或不同手性纳米管间的结电容。在本教程,您将学习如何设置这种结的几何结构。

提示

本教程使用特定版本的QuantumATK创建,因此涉及的截图和脚本参数可能与您实际使用的版本略有区别,请在学习时务必注意。

  • 不同版本的QuantumATK的py脚本可能不兼容;
  • 较新的版本输出的数据文件默认为hdf5;
  • 老版本的数据文件为nc文件,可以被新版本读取。

Builder 中涉及的步骤相当简单,但对于这种类型的几何结构,重要的是研究传输和其他性质如何根据两个管重叠的程度而变化。因此,您还将学习如何通过在脚本添加几行 Python 代码来改变重叠距离。

NEGF

您可以在此处找到 Non-Equilibrium Green’s Function 方法的简介:arXiv

注意

  • 碳纳米管(Carbon Nanotubes, CNTs):类型和性质

碳纳米管的原子结构由叫做手性指数的一组整数集 $(n,m)\in\mathbf{Z}^2$ 描述。若 $m=0$ 则碳纳米管为 zigzag 结构。其它特殊指数描述具有特别性质碳纳米管的情况如下:

  1. 若 $n=m$ 则 CNT 具有金属性(m)(椅型结构)。
  2. 若 $n\neq m$ 则 CNT 具有半导体特性(s)(手性结构)。
  3. 若 $n-m\in3\mathbf{Z}^*$ 则 CNT 具有半金属特性(sm)(手性结构)。
  • CNT 导电结的可能组合

注解 1:这里我们用垂直条表示连接:“|”。

注解 2:金属和半导体之间的连接也很有趣,尽管在那种情况下可能的相关结构是 m|s|m,而不是 m|s。

设置几何结构

首先,您需要设置两个管刚相互接触的参考结构,将其定义为两个管边缘上的原子具有相同 Z 坐标的情况是合理的。

CNT 导电结实例:手性指数为 (12, 12)|(5, 5) 的 m|m

以下说明适用于具有 (12, 12)|(5, 5) 结的m|m 案例,但所涉及到的步骤对于任何手性组合都是相同的。

  • 第 1 步:利用 Nanotube 插件按照以下步骤创建一个 (12, 12) 的金属性 CNT。

  • 第 2 步:由于 CNT 非常薄,增加它的长度会更好些。选择 Boolk Repeat 工具,输入 C = 10 将结构扩大至 10 倍。

  • 第 3 步:为了创建(n, m)=(5, 5)的第二个 CNT,只需重复前面的步骤并在 Nanotube 插件中输入 N = 5 和 M = 5。此次我们也选择设置与第一个 CNT 相同的长度,同样地我们重复该结构十次。最后,在 Builder 的 Stash 上您将有两个相等长度的 CNT (手性指数分别和(12, 12)和(5, 5))

提示

标注:为了稍后能将两个纳米管做区分,可以将(5, 5)管的所有原子添加标签,具体操作:首先选中所有原子(Ctrl + A),然后打开 Slelect Tags,给 (5, 5) 管的原子都加上 cnt55 的标签。

  • 第 4 步:双击 Stash 区的(12, 12)结构以激活。
  • 第 5 步:Builder 中有一个特定的工具可将两个块体贴合在一起:Bulk Tools Merge Cells。此插件会将一个块体构型粘附到另一个活跃构型的特定一边。将(5, 5)管拖到插件面板的 3D 窗口,默认的选择为(5, 5)管沿(12, 12)管 C 方向在其之后添加。单击 Create

  • 第 6 步:(5, 5)管应该在在 z = 0 平面居中放置,因为它的原始晶胞比(12, 12)管的小很多。因此,打开 Tag Select 工具 ,选择 cnt55,点击 OK,则已选中(5, 5)管的所有原子。然后打开 Coordinate Tools Center,在 A,B 方向上居中纳米管,即取消勾选 C,点击 Apply

  • 第 7 步:该体系在任何方向上都不具有周期性,因此单击 Molecule 按钮 移除单胞。研究这种导电结有趣的是导电性怎样随重叠部分的量或距离(两管之间)变化。可参考 [YZH + 06][PPR + 04]。为了明确地定义管之间的距离 d,建立一个我们定义的参考点 d = 0 很重要。最简洁的定义就是管的边缘开始重叠时的情况,接下来的步骤将把管排列成这种构型。
  • 第 8 步:激活 Move tool ,选择(12, 12)管最右边的一个原子(Z 坐标值最大)。这种操作方式即选中了(12, 12)管的所有原子,或者更具体的说是,选中了所有通过键合跟单击原子连接的所有原子,单击原子成为锚原子,正如其标签为“0”或红色的筛选标记。

设置该原子的 Z 坐标为 0 Å,按下 Enter 键。关闭 Move 窗口退出 Move 工具,点击黑色的背景(或按下 Esc 键)取消选中所有原子。对(5, 5)管重复以上操作,只是这次选中最左侧边缘的原子(Z 坐标值最小)。

  • 第 9 步:为创建一个器件,我们需要一个原胞,因此要点击 Bulk 按钮 添加回原胞(就是起初为了更易排列两个纳米管而删除的原胞)。最后,打开 Device Tools Device From Bulk,单击 OK。

改变两管间的距离:手动方式

您现在有一个 d = 0 的构型,即该结构两管间的距离定义为 0。为改变两管间重叠的距离,原则上您可以执行以下步骤:

  • 在 Stash 区复制该构型。
  • 转换回分子构型( )。
  • 选中(5, 5)管的所有原子( )。
  • 打开 Coordinate Tools Translate,移动(5, 5)管到需要的距离 d。
  • 转换回块体构型( ),然后转为器件。

对所有您想研究的 d 值重复以上步骤。现在,如果您想浏览一些距离将会相当麻烦。因此,您可以做一个小的 Python 函数自动执行任务。这将在下一部分描述。

利用一个 Python 函数改变重叠距离

安全起见,保存 d = 0 时构型的副本作为 Python 脚本。利用 Builder 右下角的 Send To 按钮()将结构从 Builder 发送到 Editor 。滚动至脚本的底端,在脚本的最下面嵌入以下代码。

 1   # ---------------------------------------------------------------------------- 
 2   def moveTube(device_configuration, d=0.0):
 3       # d is assumed to be in Angstrom
 4       # Extract the central region from the device configuration
 5       central_region = device_configuration.centralRegion()
 6  
 7       # Number of atoms
 8       N = len(central_region.cartesianCoordinates())
 9       # Which atoms are in the right tube? Those with tag="2"
10       right_tube = device_configuration.indicesFromTags("2")
11  
12       # Set a Z shift of d for these atoms, and zero for others
13       delta = numpy.zeros(N)
14       delta.put(indices=right_tube, values=d)
15       Delta = numpy.array([numpy.zeros(N),numpy.zeros(N),delta]).transpose()
16       # Shift coordinates!
17       new_coordinates = central_region.cartesianCoordinates() + Delta*Angstrom
18       # Extend (or contract) the unit cell by the same amount
19       va, vb, vc = central_region.bravaisLattice().primitiveVectors()
20       vc = vc + [0.0, 0.0, d]*Angstrom
21       new_cell = UnitCell(va,vb,vc)
22       # Rebuild central region (transfer ghost atoms too)
23       new_central_region = BulkConfiguration(
24           bravais_lattice=new_cell,
25           elements=central_region.elements(),
26           cartesian_coordinates=new_coordinates,
27           ghost_atoms = central_region.ghostAtoms(),
28       )
29  
30       # Transfer the tags to the new configuration
31       for tag in central_region.tags():
32           new_central_region.addTags(tag, central_region.indicesFromTags(tag))
33  
34       # "Device from bulk" the scripting way
35       from NL.CommonConcepts.Configurations.DeviceFromBulk import deviceFromBulk
36       left_electrode, right_electrode = device_configuration.electrodes()
37       left_electrode_length = left_electrode.bravaisLattice().primitiveVectors()[2,2]
38       right_electrode_length = left_electrode.bravaisLattice().primitiveVectors()[2,2]
39       new_device = deviceFromBulk(left_electrode_length, right_electrode_length,
40                                    new_central_region
41                    )
42  
43       return new_device
44  # ---------------------------------------------------------------------------- 
45  d = -5.0
46  device_configuration = moveTube(device_configuration, d)

如果您想理解这段代码的工作原理,可以研究下提供的非常详细的解释的注释。否则,你真正需要知道的就是通过改变倒数第二行的“d”值(单位假定设为 Å),右管移入(d 值为负)或移出(d 值为正)左管。

提示

为观察操作结果,再次使用 按钮将脚本发送回 Builder。因为电极和中心区域也被识别为脚本中存在的有效构型,这将添加不少于四种构型到 Stash 区。如果您替代地将脚本发送到 Script Generator ,则只会有一个构型被传输。

注释:

  • C 方向的 10 倍重复使该体系相当大。因此,将管间距离的负值设置的非常大不仅很有必要,而且还要相应的增加计算时间。如果您限制了 d 的值,可以在创建纳米管之时或之后通过点击 Deviece Tools Central Region Size的方式减少重复的倍数约为 6 或 7。只需注意管不要太靠近晶胞的另一边,并确保目视检查您选择计算的最大 d 值构型。
  • 有些人会想知道两管相对彼此旋转会发生什么,但是影响可能会很小(参考 [YZH + 06])。除非这两个管的半径有可比性以致于两管的 π 轨道有很强的重叠。
  • 计算这样的体系有趣的参数是电容(参考 [PRGW03][PPR + 04])。这可以很轻易地按照教程中所描述的关于金纳米板电容器的类似步骤完成。

参考

  • [PPR+04] (1, 2) Pawel Pomorski, Lars Pastewka, Christopher Roland, Hong Guo, and Jian Wang. Capacitance, induced charges, and bound states of biased carbon nanotube systems. Phys. Rev. B, 69:115418, Mar 2004. doi:10.1103/PhysRevB.69.115418.
  • [PRGW03] Pawel Pomorski, Christopher Roland, Hong Guo, and Jian Wang. First-principles investigation of carbon nanotube capacitance. Phys. Rev. B, 67:161404, Apr 2003. doi:10.1103/PhysRevB.67.161404.
  • [YZH+06] (1, 2) Qimin Yan, Gang Zhou, Shaogang Hao, Jian Wu, and Wenhui Duan. Mechanism of nanoelectronic switch based on telescoping carbon nanotubes. Applied Physics Letters, 2006. doi:10.1063/1.2198481.
atk/碳纳米管导电结.txt · 最后更改: 2019/06/29 15:44 由 dong.dong

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