目录

声子振动模式分析

在本实例中你将使用 VibrationalMode 分析工具 和 Vibration Visualizer 工具来学习纳米尺度系统的振动性质。 本实例研究了两个系统:

  1. 单层 MoS2
  2. 一种纳米声子超材料。

提示

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

提示

振动性质的计算需要构型中的动力学矩阵(dynamical matrix),它描述了原子脱离平衡位置时的力响应。

单层MoS2

创建MoS2结构

打开 Builder,然后进行以下操作:

优化 MoS2 结构

保存脚本为 mos2_relax.py。将其送到 Job Manager 运行脚本,或者使用一个终端进行如下指令

  $ atkpython mos2_relax.py > mos2_relax.out

这里有一个脚本范例可供下载 mos2_relax.py

注意

对于单层,势完全吻合于文献[JPR13]。然而,文献中报道的层间耦合的 Lennard-Jones 势这里尚未实现。

声子能带结构和声子态密度

通过以下步骤很容易得到声子能带结构和声子态密度:

运行计算和结果分析

运行计算。当完成后,LabFloor 会包含 PhononBandstructure 和 PhononDensityOfStates :

使用 Bandstructure Analyzer 和 2D Plot 工具来观察声子能带结构和态密度。结果与文献数据[JPR14]吻合的很好。

振动模式

为了对振动模式可视化,需要做一个简单的预处理:

脚本将重新计算动力学矩阵,这将很不方便。为了使用已经计算好的动力学矩阵,将脚本送到 editor 并修改定义动力学矩阵的语句使其从文件 mos2_phonons.nc 读取对象 “gID001”。

# -------------------------------------------------------------
# Analysis from File
# -------------------------------------------------------------
configuration = nlread('mos2_phonons.nc', object_id='gID000')[0]
 
# -------------------------------------------------------------
# Dynamical Matrix
# -------------------------------------------------------------
dynamical_matrix = nlread('mos2_phonons.nc', object_id='gID001')[0]
 
# -------------------------------------------------------------
# Vibrational Mode
# -------------------------------------------------------------
vibrational_mode = VibrationalMode(
    configuration=configuration,
    dynamical_matrix=dynamical_matrix,
    kpoint_fractional=[0, 0, 0],
    mode_indices=[0,1,2,3,4,5,6,7,8]
    )
nlsave('mos2_vib.nc', vibrational_mode)

运行脚本,当计算完成时,你将在 LabFloor 找到 VibrationalMode :

选中它并通过点击 Vibration Visualizer 工具打开它。你将会以动画的形式可视化振动模式。

当你完成设置,你可以在图上右击导出图片或者 gif 动画。下面的两个 gif 动画分别是振动模式 4 在高对称点 Γ (276.87 cm-1)和在点 M (252.32 cm-1)的图解。

你可以对 Vibration Visualizer 进行其他操作并与文献[JPR14] [GAZW+13] [YSB+14]中的值进行对比。

纳米声子超材料

振动模式分析的另一个不错的例子是纳米声子超材料模拟。Bruce L. Davis 和Mahmoud I. Hussein最近报道了局域共振导致的有柱硅薄膜特殊的振动模式对薄膜热导率强烈的抑制作用[DH14]。让我们用ATK来研究这个结构的振动特性:

计算设置

打开 Builder 并进行以下操作:

提示

语句 “z > 20 and x < 10” 将会选择构型的某一部分,然后可以通过 Edit ‣ Delete Atoms 将这些部分删除。

注意

当计算三维结构时,你可以保留DynamicalMatrix中的设置为默认值。

打开 PhononBandstructure

编辑两个 VibrationalMode 对象为计算在Γ点 (0, 0, 0) 和在 X点 (0.5, 0, 0)的振动模式,并在两个对象中选择模式数[0,1,2,3,4,5,6,7,8] 。

运行计算。对于单 CPU 核将会花费一段时间,但是对于并行计算将会很快完成。

结果

画出计算出来的声子能带结构,并与之和均匀薄膜的声子能带结构进行比较。你会看到柱子阵列会引入一系列局域态(没有色散),这些态降低了硅薄膜的热导率,如文献[DH14]所述。

下面两图示分别对应着声子能带结构中Γ和X点上方标记的局域态的振动模式。位移被增强到一个更清楚的视野。这可以通过Vibration Visualizer中的Temperature setting来调控。

参考文献