这是本文档旧的修订版!
在本实例中你将使用VibrationalMode分析对象和Vibration Visualizer工具栏来学习纳米尺度系统的振动性质。 本实例研究了两个系统:
注意!
振动性质的计算需要构型中的动力学矩阵(dynamical matrix),它描述了原子脱离平衡位置时的力响应。
保存脚本为mos2_relax.py
。将其送到Job Manager运行脚本,或者使用一个终端进行如下指令
$ atkpython mos2_relax.py > mos2_relax.out
这里有一个脚本范例可供下载 mos2_relax.py。
注意!
对于单层,势完全吻合于文献[JPR13]。然而,文献中报道的层间耦合的Lennard-Jones势这里尚未实现。
通过以下步骤很容易得到声子能带结构和声子态密度:
mos2_phonons.nc
。运行计算。当完成后,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将这些部分删除。
• 将构型送到Scripter并添加一个Calculator,一个PhononBandstructure 分析对象和两个VibrationalMode 对象。 • 将计算器设置为ATK-Classical。
注意!
当计算三维结构时,你可以保留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来调控。