龙讯旷腾PWmat发PRL:多k点计算的NAMD方法应用于小型超胞与在等效的大型超胞中进行的单个Γ点模拟之间的一致性

本文主要是介绍龙讯旷腾PWmat发PRL:多k点计算的NAMD方法应用于小型超胞与在等效的大型超胞中进行的单个Γ点模拟之间的一致性,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章信息

作者信息:郑帆,汪林望

通信单位:上海科技大学 中国科学院半导体所

背景导读

固态材料中的超快载流子动力学在能源材料、光电子学、传感器和量子材料等领域起着关键作用。随着超快实验技术在固态系统中载流子动力学研究中的快速发展,对相关现象的微观理解,特别是第一原理计算,变得非常重要。非绝热分子动力学(NAMD)提供了一个有效手段,可以很好地模拟电荷热化、界面载流子转移、激子转移、表面化学反应和缺陷俘获等动力学过程。

然而,大多数固态材料的NAMD模拟仅仅局限于单k点(Γ点),这通常适用于小型纳米材料。而对于周期性的超胞,多k点采样和不同k点间的电子转移变得重要。另一个问题是,单k点计算得到的电子本征能量有很大的非物理能隙,这导致了人工的“声子瓶颈”,并严重阻碍了热化过程。

文章简介

在本文中,基于退相干诱导的势能面跳跃方案(DISH),作者提出了一种多k点计算的NAMD方法。以硅材料的热电子热化为例,作者证明了该方法应用于小型超胞与在等效的大型超胞中进行的单个Γ点模拟之间的一致性。进一步考虑了由形变势引起的声子模式后,这种方法得到的计算结果与实验中硅热载流子冷却的结果相符。最后,利用该方法,作者比较了晶体和非晶硅中的载流子冷却过程,并研究了阳离子分布对固溶材料中热载流子冷却的影响。

对于传统的NAMD,只有区域中心声子模式可以辅助在单k点内进行电子转移,其绝热耦合可以表示为:

对于多k点方案,需要一个具有有限波矢q的非区域中心声子模式来辅助k和k′之间的载流子转移(其中q = k - k′)其绝热耦合可以近似表示为(详细推导见原文):

而当进一步考虑声学声子模式形变势时,总耦合项变为

图1 不同单晶硅超胞中电子冷却过程的NAMD模拟。蓝色曲线为4×4×4的Si立方超胞在单Γ点采样的结果,红色曲线为2×2×2超胞采用2×2×2的k点采样的结果。同时还展示了在后一种情况下无跨k点电子转移的模拟结果(黑线)。为了消除有限尺寸效应对本征能量波动的影响,2×2×2超胞的MD模拟进行了50 K,而4×4×4超胞的模拟进行了300 K。电子初始能量设置在CBM上方约0.925 eV处。

该方法由不同单晶硅超胞的热载流子冷却来验证。可以看出,在2×2×2超胞(多k点电子转移)的热载流子能量冷却曲线几乎与4×4×4超胞(单k点)的情况相同,这表明该方法的正确性。与大型超胞的单k点MD相比,小型超胞的多k点计算显著降低了计算成本。而当无跨k点电子转移时(图1中的黑线),电子的冷却过程受到显著阻碍。

图2考虑形变势对电子冷却影响的NAMD模拟。该计算采用2×2×2硅超胞和2×2×2的k点网格

而当进一步考虑形变势引起的声学声子模的作用后,电子冷却速率显著加快。图2显示了带有和不带有形变势的电子冷却的比较。在整个冷却过程中,能量弛豫速率不是恒定的,初始200 fs的冷却速率约为2 eV/ps,但在最后的400 fs内降至0.5 eV/ps。冷却速率的相对变化与态密度直接相关。考虑形变势能将有助于激发载流子波函数扩散到更多不同k点的态。

文章列举了三个案例说明了该方法的可靠性和应用场景。

01

与实验结果对比

文章通过多k点NAMD模拟了块体硅材料中的热电子布居数并与实验对比。时间t= 0 fs的电子布居数被手动设置为与实验测量相一致,在可用的时间t=440 fs时,计算结果与实验结果非常吻合。需要注意的是,在导带最小值(CBM)附近(在0.2 eV范围内),计算结果具有较大的布居数。这是因为实验中在CBM以下存在吸引电子占据的缺陷和表面态。

图3 NAMD模拟了块体硅中的热电子布居数。时间t = 0 fs被手动设置为与实验测得的电子布居数一致,红色取自参考文献,能量0点为CBM。

02

非晶硅中的热载流子冷却

由于在块材料中测量热载流子冷却曲线十分困难,不同的实验方案给出了非晶硅不同结果(略高于晶体硅和低于晶体硅)的冷却速率。对于一个有缺陷、非晶或无序的体系,如果波函数无法在这样的超胞中局域化,那么仍然需要多个k点的设置。图4(a)的计算结果表明,无论是否考虑形变势能,非晶硅的冷却速率都比晶体硅更快

图4(a)晶体硅和非晶硅中热电子冷却的比较。插图显示了这两个系统的原子结构。(b)固溶GaAlAs2的四种结构,随机排列为Ga(绿色)和Al(蓝色)(As原子未显示)。电子(c)和空穴(d)冷却的平均能量(电子CBM或空穴VBM)作为时间的函数。每种材料的起始能量都在(CBM以下)(VBM以上)1.2 eV左右。

03

热载流子冷却中的Vegard定律

Vegard定律已广泛应用于根据成分比预测固溶体的性质。然而Vegard定律在固溶体中的热载流子冷却方面的适用性尚未探索。本文研究了GaAs和AlAs的块体材料以及它们的固溶体GaAlAs2的载流子冷却。基于2×2×2的GaAs立方超胞,文章探索了四种不同的阳离子排列方式,其中Ga和Al的比例为50%(见图4(b))。图4(c)和(d)展示了这四种结构以及GaAs和AlAs的热电子和空穴的时间相关的平均能量。实验结果表明,GaAs中的热电子在几皮秒内冷却到带边缘,而空穴通常表现出更快的冷却速率,这与计算得到的GaAs的结果一致。固溶体系统的冷却曲线对具体的合金结构非常敏感。尽管GaAs和AlAs的比例为50%,但电子和空穴的行为并不沿着GaAs和AlAs之间的中值趋势变化,这与广义的Vegard定律所述不同。因此,Vegard定律在热载流子冷却中可能不适用

最后,作者指出,对于复杂系统(如非晶体、缺陷、合金、表面和界面)计算电-声耦合并估计载流子冷却速率将非常具有挑战性。文中提出的方法在模拟这些系统中的超快载流子动力学方面具有优势。除了热载流子冷却外,该方法还适用于固态材料中的各种载流子转移现象,为研究超快动态过程提供了一种高效的工具。该工作理论计算部分使用了PWmat新版NAMD。

这篇关于龙讯旷腾PWmat发PRL:多k点计算的NAMD方法应用于小型超胞与在等效的大型超胞中进行的单个Γ点模拟之间的一致性的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/421427

相关文章

Spring Security方法级安全控制@PreAuthorize注解的灵活运用小结

《SpringSecurity方法级安全控制@PreAuthorize注解的灵活运用小结》本文将带着大家讲解@PreAuthorize注解的核心原理、SpEL表达式机制,并通过的示例代码演示如... 目录1. 前言2. @PreAuthorize 注解简介3. @PreAuthorize 核心原理解析拦截与

一文详解JavaScript中的fetch方法

《一文详解JavaScript中的fetch方法》fetch函数是一个用于在JavaScript中执行HTTP请求的现代API,它提供了一种更简洁、更强大的方式来处理网络请求,:本文主要介绍Jav... 目录前言什么是 fetch 方法基本语法简单的 GET 请求示例代码解释发送 POST 请求示例代码解释

Feign Client超时时间设置不生效的解决方法

《FeignClient超时时间设置不生效的解决方法》这篇文章主要为大家详细介绍了FeignClient超时时间设置不生效的原因与解决方法,具有一定的的参考价值,希望对大家有一定的帮助... 在使用Feign Client时,可以通过两种方式来设置超时时间:1.针对整个Feign Client设置超时时间

C/C++错误信息处理的常见方法及函数

《C/C++错误信息处理的常见方法及函数》C/C++是两种广泛使用的编程语言,特别是在系统编程、嵌入式开发以及高性能计算领域,:本文主要介绍C/C++错误信息处理的常见方法及函数,文中通过代码介绍... 目录前言1. errno 和 perror()示例:2. strerror()示例:3. perror(

CSS去除a标签的下划线的几种方法

《CSS去除a标签的下划线的几种方法》本文给大家分享在CSS中,去除a标签(超链接)的下划线的几种方法,本文给大家介绍的非常详细,感兴趣的朋友一起看看吧... 在 css 中,去除a标签(超链接)的下划线主要有以下几种方法:使用text-decoration属性通用选择器设置:使用a标签选择器,将tex

C++变换迭代器使用方法小结

《C++变换迭代器使用方法小结》本文主要介绍了C++变换迭代器使用方法小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录1、源码2、代码解析代码解析:transform_iterator1. transform_iterat

C++中std::distance使用方法示例

《C++中std::distance使用方法示例》std::distance是C++标准库中的一个函数,用于计算两个迭代器之间的距离,本文主要介绍了C++中std::distance使用方法示例,具... 目录语法使用方式解释示例输出:其他说明:总结std::distance&n编程bsp;是 C++ 标准

Linux换行符的使用方法详解

《Linux换行符的使用方法详解》本文介绍了Linux中常用的换行符LF及其在文件中的表示,展示了如何使用sed命令替换换行符,并列举了与换行符处理相关的Linux命令,通过代码讲解的非常详细,需要的... 目录简介检测文件中的换行符使用 cat -A 查看换行符使用 od -c 检查字符换行符格式转换将

SpringBoot实现数据库读写分离的3种方法小结

《SpringBoot实现数据库读写分离的3种方法小结》为了提高系统的读写性能和可用性,读写分离是一种经典的数据库架构模式,在SpringBoot应用中,有多种方式可以实现数据库读写分离,本文将介绍三... 目录一、数据库读写分离概述二、方案一:基于AbstractRoutingDataSource实现动态

使用Jackson进行JSON生成与解析的新手指南

《使用Jackson进行JSON生成与解析的新手指南》这篇文章主要为大家详细介绍了如何使用Jackson进行JSON生成与解析处理,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. 核心依赖2. 基础用法2.1 对象转 jsON(序列化)2.2 JSON 转对象(反序列化)3.