声子态密度计算

声子态密度说明

先理解一下声子态密度(PDOS)吧:

定义:单位频率间隔内的状态数(振动模式数目)

它与声子色散(PDC)关系是有关系的,前面一节,已经给出了色散关系的求解方法(虽然最后我也有点懵)

  • 色散关系其实就是每个波失对应的频率
  • 声子态密度是,每个频率的声子对应的概率

两者其实仅仅是横纵坐标交换,可以看这里,描述的挺形象的:态密度(PDOS)曲线和声子色散曲线(PDC)的联系 - Joe ZhouMan's blog


一般情况下,计算声子态密度就可以了,因为色散关系的线条实在是太多了(3N个:3个光学枝,3(N-1)个声学支),以石墨烯为例,每个晶胞2个原子,所以是6条线,但是如果要画石墨烯的,就太可怕了,随着直径增加,就太多了

  • 高频声子,更容易热输运

一般情况,我是通过 LAMMPS 进行分子动力学模拟的,可以输出每一步某些或全部原子的速度、位置等信息,所以接下来,通过原子速度计算比较方便 所用到的是 Computer Simulation of the Lattice Dynamics of Solids

\[ PDOS(\omega)=\int \frac{<\sum_{i} v_{i}\left(t_{0}\right) \cdot v_{i}\left(t_{0}+t\right)>}{<\sum_{i} v_{i}\left(t_{0}\right) \cdot v_{i}\left(t_{0}\right)>} e^{-2 \pi i \omega t} d t \]

主要使用这里的代码:

参考这些

计算文件以及说明

文件说明

我这里给一个已经测试过的、可以运行的代码,不用管代码什么意思,先运行了再说,里面包含 matlabpython 的代码,大致说一下运行逻辑

点我下载 pdos,文件解压以后,共6个文件

  • 4040CNT_20nm.in

    lammps脚本文件

  • BNC.tersoff

    势能文件

  • 4040CNT_20nm.data

    模型文件:20nm 长的碳纳米管,结构为 m=n=40

  • Rebuild_data.m

    matlab函数:处理lammps生成的速度、位移文件

  • find_pdos.m

    matlab函数:计算pdos以及速度自关联函数

  • plot_pdos.m

    matlab主函数:直接运行,计算声子态密度

  • pdos.py

    python函数,计算声子态密度,与matlabb效果一直,并且部分中文注释

4040CNT_20nm.in 整个模拟是 20nm 长的碳纳米管,结构为 m=n=40,模拟分3个阶段(4个run):

  • 松散100000步;
  • 平衡100000步
  • 然后输出5000步的原子(只有中间的 8-12nm 的纳米管部分)坐标速度信息(用来计算pdos);
  • (与pdos无关,已经注释掉)非平衡模拟1500000步得到热整流系数

模拟计算步骤

  1. LAMMPS运行脚本 4040CNT_20nm.in

    1
    lmp -in 4040CNT_20nm.in

    这将会得到3个文件:

    • log.4040CNT_20nm.txt:日子
    • log.lammps:日志
    • 4040CNT_20nm_voutput_all.lammpstrj:第三个run5000步,输出的了中间8-12纳米的原子的速度位移坐标
  2. 使用 4040CNT_20nm_voutput_all.lammpstrj 计算 pdos

    • 如果你用的是matlab:其中 *.m 结尾的matlab代码,运行 plot_pdos.m 即可

    • 如果你和我一样喜欢开源的python,运行 pdos.py 即可,部分注释我用了中文,容易看一些

      1
      python pdos.py

    计算的是整体声子如果要计算某一个方向的,修改引用的速度,python文件153行

    这将得到4个文件

    • 4040CNT_20nm_voutput_all.npy:4040CNT_20nm_voutput_all.lammpstrj 的txt文件保存为numpy的文件,方便读取,速度会快几十倍

    • 4040CNT_20nm_voutput_all_vacf.npy:归一化的速度自关联函数数据

    • 4040CNT_20nm_voutput_all_pdos.npy:pdos 数据

    • pdos.pdf:使用上面这个文件画出的分子态密度图

      pdos

      cnt热导率高,从声子角度来看,主要为高频声子,与这里基本上是对应的Enhancement of heat conduction in carbon nanotubes filled with fullerene molecules

      pdos

本文作者:yuhldr
本文地址https://yuhldr.github.io/posts/d5c2f773.html
版权声明:转载请注明出处!