(本文是2018年“蓝火计划”的调研报告,有修改)

个人博客链接:

非谐声子模拟方法(Normal Mode Decomposition)

引言

固体中的格波由相互独立的简正模式组成。简正模式的量子称为声子,利用声子的概念可以有效地描述晶格振动。声子会影响固体的各种性质,包括铁电、超导、热电、热导等,这些宏观性质对材料在工业中的应用非常重要。简谐近似可以很好地描述低温下声子的行为,但是在高温下声子非谐效应的影响会增大。因此,研究声子的非谐效应,无论是理论上还是应用上都有非常重要的意义。

现在,计算简谐声子谱的技术已经非常成熟,但是非谐声子的计算仍在发展当中。该方向的研究是目前凝聚态领域的一个热点,目前影响较大的方法包括自洽第一性原理晶格动力学(self-consistent ab initio lattice dynamics, SCAILD)、随机自洽简谐近似(stochastic self-consistent harmonic approximation, SSCHA)、温度依赖有效势(temperature-dependent effective potential, TDEP)以及Normal Mode Decomposition方法。

本文使用密度泛函理论(Density functional theory, DFT)和经典力场(Tersoff势)进行了硅的分子动力学模拟,再通过速度自相关函数(Velocity autocorrelation function, VACF)得到倒空间中各点上不同简正模的本征值及线宽,研究了声子非谐效应导致的频率变化与温度的关系。

理论方法与模拟实现

简谐近似下,体系的哈密顿量是原子相对于平衡位置的偏移矢量的函数,并且具有谐振子的形式。下面说明速度自相关函数与谐振子频率的联系。

速度自相关函数的形式如下:

其中

是每个原子在时刻的速度。对于最简单的一维谐振子:

我们可以解出

时刻下的位置和动量和初始值
的关系:

在分子动力学中,模拟时间趋于无穷时,微观量的时间平均等于系综平均,则在正则系综下一维谐振子的速度自相关函数为:

可以看出,速度自相关函数的频率和谐振子相同,因此它可以反映振动的所有性质。

如果要分析声子在倒空间的色散,需要把速度投影到不同的倒格矢。此外,对于晶胞含有个N原子的固体,共有3N个简正模式,总的速度自相关函数是各个简正模速度自相关函数的叠加。为了把它们分离开,需要将速度分解到相应的本征矢上。在倒格矢

,简正模
上的速度分量及相应的自相关函数表达式为:

其中

是相应的本征矢。

对速度自相关函数作傅里叶变换可以得到相应的频谱,就是声子的态密度。在简谐近似下,某一倒格矢上的频谱是多个

函数的叠加。但是在分子模拟时,原子间的相互作用必然是非谐的,因此频谱上的峰会有宽度。这种情况表示声子之间会发生散射,线宽与声子寿命相关,并且可与实验结果比较。

用分子动力学计算声子的流程是:首先计算简谐声子谱,得到各简正模的本征矢;然后进行分子动力学模拟,得到不同k点上各支声子对应的速度自相关函数,作傅里叶变换得到频谱;最后用寻峰算法分析出频谱中峰的位置,即各支声子的本征值,这样就可以得到某一温度下的非谐声子谱。

计算细节

本文研究了硅的声子非谐作用,计算模型是金刚石型的硅,空间群为Fd-3m ,单胞含有8个原子,晶格常数为5.45埃.我们用DFT与Tersoff势两种方法计算硅的能量和原子受力,相应的软件为VASP和LAMMPS. 计算简谐声子谱时使用Phonopy,超胞为2x2x2。分子动力学模拟同样使用的超胞,系综为NVT,温度选取为200K, 400K, 600K, 800K, 1000K.DFT计算选取步长为2fs,步数10000,Tersoff势模拟步长为1fs,步数200000.分析声子非谐效应使用DynaPhoPy.

结果与讨论

图1 (a)(b)200K下的DFT声子谱,(c)(d)1000K下的DFT声子谱。蓝色为简谐声子谱,红色阴影代表相应声子的线宽。

首先比较不同温度下的声子谱。

图1展示了200K和1000K下DFT计算出的声子谱,并与简谐声子谱作了对比。可以看出,200K的声子色散于简谐声子非常接近,声子线宽也很小。1000K下声子的非谐效应则变得非常明显,各支声子都出现了软化的现象,声子的展宽也更为明显。

图2 (a)(b)200K下的Tersoff声子谱,(c)(d)1000K下的Tersoff声子谱。蓝色为简谐声子谱,红色阴影代表相应声子的线宽。

图2展示了Tersoff势的计算结果,声子谱随温度增大的变化趋势与DFT的结果一致,但是Tersoff势的频率变化更大,声子线宽较小。

我们还计算了不同温度下

点的长光学横波(LTO)的频率变化和声子线宽,见图3和图4。无论是DFT还是Tersoff势,LTO的频率都随温度升高而减小,这说明高温使得声子非谐效应变得更加明显。

图3 不同温度下LTO模在

点相对简谐声子的频率变化(纵轴标签有误,应是Frequency shift)

图4 不同温度下LTO模在

点的声子线宽

图4展示了温度对LTO模线宽的影响,并与实验结果进行了对比。计算得到的声子线宽与温度成正比,趋势与实验一致。DFT是第一性原理计算方法,精度比Tersoff势要高很多,但是在此处的表现不如Tersoff势。这是因为DFT计算耗时很多,难以进行长时间的DFT分子动力学模拟,导致声子线宽偏大。Tersoff势的结果与实验值符合得很好,说明了它能正确地描述固体硅中的原子相互作用。

上述的Normal Mode Decomposition方法将分子动力学的原子速度投影到不同的简正模上。分子动力学轨迹包含了各阶微扰的影响,因此这种方法可以准确地计算出有限温下的声子频率位移以及线宽。但是这种方法也存在一些缺点。首先,要使计算结果收敛,需要进行长时间的模拟,这对第一性原理分子动力学是一个很大的挑战。其次,简正模由简谐声子计算得到,而在高温下,用简谐声子模式投影可能不是最好的选择。

参考文献

1. Souvatzis, P., Eriksson, O., Katsnelson, M. I. & Rudin, S. P. Entropy Driven Stabilization of Energetically Unstable Crystal Structures Explained from First Principles Theory. Physical Review Letters 100, (2008).

2. Souvatzis, P., Eriksson, O., Katsnelson, M. I. & Rudin, S. P. The self-consistent ab initio lattice dynamical method. Computational Materials Science 44, 888–894 (2009).

3. Errea, I., Calandra, M. & Mauri, F. Anharmonic free energies and phonon dispersions from the stochastic self-consistent harmonic approximation: Application to platinum and palladium hydrides. Physical Review B 89, (2014).

4. Hellman, O., Abrikosov, I. A. & Simak, S. I. Lattice dynamics of anharmonic solids from first principles. Phys. Rev. B 84, 180301 (2011).

5. Hellman, O. & Abrikosov, I. A. Temperature-dependent effective third-order interatomic force constants from first principles. Phys. Rev. B 88, 144301 (2013).

6. Sun, T., Zhang, D.-B. & Wentzcovitch, R. M. Dynamic stabilization of cubic

perovskite at high temperatures and pressures from ab initio molecular dynamics.

Phys. Rev. B 89, 094109 (2014).

7. Zhang, D.-B., Sun, T. & Wentzcovitch, R. M. Phonon Quasiparticles and Anharmonic Free Energy in Complex Systems. Physical Review Letters 112, (2014).

8. Carreras, A., Togo, A. & Tanaka, I. DynaPhoPy: A code for extracting phonon quasiparticles from molecular dynamics simulations. Computer Physics Communications 221, 221–234 (2017).

9. Tersoff, J. New empirical approach for the structure and energy of covalent systems. Phys. Rev. B 37, 6991–7000 (1988).

10. Kresse, G. & Furthmüller, J. Efficient iterative schemes for textit{ab initio} total-energy calculations using a plane-wave basis set. Phys. Rev. B 54, 11169–11186 (1996).

11. Plimpton, S. Fast Parallel Algorithms for Short-Range Molecular Dynamics. Journal of Computational Physics 117, 1–19 (1995).

12. Togo, A. & Tanaka, I. First principles phonon calculations in materials science. Scr. Mater. 108, 1–5 (2015).

13. Balkanski, M., Wallis, R. F. & Haro, E. Anharmonic effects in light scattering due to optical phonons in silicon. Phys. Rev. B 28, 1928–1934 (1983).

c++ 提取傅里叶描述子_非谐声子模拟方法(Normal Mode Decomposition)相关推荐

  1. exist-in和关联子查询-非关联子查询

    对于exist和in,大家的一致看法如下:     1.in是子查询为驱动表,外面的表为被驱动表,故适用于子查询结果集小而 外面的表结果集大的情况.     2.exists是外面的表位驱动表,子查询 ...

  2. vue 父刷新子_父组件中vuex方法更新state子组件不能及时更新并渲染的完美解决方法...

    场景: 我实际用到的是这样的,我父组件引用子组件related,父组件调用获取页面详情的方法,更新了state值related,子组件根据该related来渲染相关新闻内容,但是页面打开的时候总是先加 ...

  3. 查找树的指定层级_非递归层次遍历方法实现二叉树中指定节点的层次数查找

    数据结构教材中,提供了基于队列实现一个二叉树的非递归层次遍历算法.但对于一个任意二叉树,如果要查找其中任何一个节点所在的层次数,教科书中并没有给出基于层次遍历的非递归算法.鉴于层次遍历算法比较容易理解 ...

  4. c++ 提取傅里叶描述子_SQL 子查询的优化

    子查询(Subquery)的优化一直以来都是 SQL 查询优化中的难点之一.关联子查询的基本执行方式类似于 Nested-Loop,但是这种执行方式的效率常常低到难以忍受.当数据量稍大时,必须在优化器 ...

  5. xpath 取标签下所有文字内容_对Xpath 获取子标签下所有文本的方法详解

    对Xpath 获取子标签下所有文本的方法详解 在爬虫中遇见这种怎么办 想提取名称, 但是 名称不在一个标签里 使用xpath string()方法 例如 data.xpath("string ...

  6. 非vue子页面 调用vue父页面方法

    由于要使用之前项目使用的页面,需要从非vue iframe子页面调用vue项目 1.父页面 <iframe :src="value.urlPath" frameborder= ...

  7. SQL Server高级查询之子查询(子查询非典型应用)

    1.子查询非典型应用概述 1.子查询通常位于where字句中,但其也可以在from子句中和select子句的查询列中使用. 2.在from子句中使用子查询 3.在select子句的查询列中使用子查询 ...

  8. Java 天选之子_ 巅峰体验 The Peak Experience

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 Java 天选之子_ 巅峰体验 The Peak Experience 站在云端处的巅峰 Stand in the cccccloud ...

  9. oracle subquery是什么,如何让非关联子查询(uncorrelated subquery)先执行

    如何让非关联子查询(uncorrelated subquery)先执行 环境:10.2.0.4 / Solaris 9 有一个sql: [php] SELECT M.PROD_DATE, N.FAC_ ...

最新文章

  1. java自动布局_动态视图的自动布局约束
  2. 小白学python系列-(4)list
  3. linux iptables导致httpd网页打不开
  4. [CSS] .class1.class2和.class1 .class2的区别
  5. Windows 下的批处理脚本基础——批处理运算操作(代码可拿)
  6. ios下点击label包含的input checkbox或radio无效问题
  7. 启动Hadoop时候datanode没有启动的原因及解决方案
  8. iOS之友盟简单分享(第三方)及sso授权问题
  9. 黑马程序员 oc中的类与对象
  10. C++算法之 一句话推断一个整数是不是2 的整数次方
  11. 爱客影院自动采集程序源码v3.5.5
  12. ICD3 Target Device ID (00000000)
  13. Lync部署之Lync Mobile服务器端的外网设置
  14. IO流文件指针(移动和获取文件读指针)
  15. Power Apps相关介绍
  16. 从红牛案看商业伦理和社会公义中的众生相
  17. 如何破解软件狗,dongle
  18. Imagination出席AIIA交流活动 PowerVR NNA IP入选首批《AI芯片技术选型目录》
  19. mysql5.7改登录密码_MYSQL 5.7 修改密码、登录问题
  20. ERROR 220624 --- [ntainer#2-2-C-1] o.s.k.l.KafkaMessageListenerContainer : Failed to set initial

热门文章

  1. React个人入门总结《五》
  2. Spring Boot使用MyBatis 3打印SQL的配置
  3. apache配置多个站点
  4. 基于友善之臂ARM-ContexA9-ADC驱动开发
  5. 企业级账号 版本更新总结
  6. [Android][Android Studio] *.jar 与 *.aar 的生成与*.aar导入项目方法
  7. SSH连接virtualbox中的虚拟机
  8. java中bean对象_JAVA中PO,BO,VO,DTO,POJO,Entity,JavaBean,JavaBeans各个对象的区别,以及lombo、jpa简介及用法...
  9. 信息学奥赛一本通 1124:矩阵加法 | OpenJudge NOI 1.8 08:矩阵加法
  10. 理论基础 —— 索引 —— B 树、B+ 树与 B* 树