龙讯旷腾PWmat计算vdW异质结中热载流子冷却 | 复刻《Phys. Chem. Chem. Phys 》文献

01  NAMD 背景介绍

       在各类光物理与光化学过程当中,均会牵涉到激发态载流子动力学过程,诸如电荷弛豫、复合以及输运等等。光激发或者电子注入将初始的平衡状态打破,所产生的热载流子在其演化进程中,会与原子核产生强烈耦合。此时,将电子自由度与原子核自由度分开考虑的绝热近似不再适用,需要引入非绝热过程。

       根据计算精度和体系大小,人们可以从不同的理论框架下发展非绝热方法。对小分子体系,人们可以使用将电子和原子核都放在量子力学框架下的全量子方法。对于大小适中的体系,人们往往让电子的波函数继续遵循量子力学的演化规律,而让原子核遵循经典力学的量子-经典混合方法(mixed quantum-classic, MQC)。在这个框架下原子核势能面可由平均势能面予以替代或者在不同电子态势能面之间进行跳跃。对于更大体系的激发态载流子动力学,有时可以在MQC的基础上更近一步,原子核一直在基态的势能面上运动,忽略激发态载流子对原子核运动的影响,即所谓的经典路径近似(classical path approximation, CPA)。这种忽略电子运动给核运动带来的影响的近似方法,在大体系计算中具备一定的合理性。一方面,在大体系中存在大量电子,单一的热电子波函数并不会对核运动产生显著的影响;另一方面,由于研究重点并非核运动而是电子动力学,这种近似能够节省相当多的计算资源,从而使得在第一性原理密度泛函理论(DFT)水平上对具有数百个原子的系统的电子动力学进行计算成为可能。由于一些历史原因,我们在之后的内容中所说的非绝热分子动力学(nonadiabatic molecular dynamics, NAMD)都是指的第三种框架。

      绝大多数的NAMD方法都没有直接包含细致平衡(detail balance)和退相干(decoherence)过程。为了解决这两个问题,我们使用的是中国科学院半导体研究所的汪林望教授和北京计算科学研究中心康俊特聘研究员合作发展的一种基于密度矩阵形式的NAMD方法(P-matrix),通过密度矩阵的形式来引入退相干和细致平衡。具体来说,首先利用基态Born−Oppenheimer 分子动力学(BOMD)模拟得到核轨迹,然后将核轨迹用于含时薛定谔方程中得到波函数的含时演化,其中含时薛定谔方程采用密度矩阵形式进行重新表述。在此方法中,退相干通过密度矩阵非对角项衰减来描述。此外,这些非对角项被分为两部分,分别对应能量增加和能量降低的电子跃迁。通过将玻尔兹曼因子应用于能量增加的跃迁来实现细致平衡。

参考文献:

[1] Jun Kang,Lin-Wang Wang,Phys. Rev. B 99, 224303 (2019)

[2] Fan Zheng, Lin-Wang Wang, J. Phys. Chem. Lett. 2019, 10, 6174-6183.

02  文献案例复现

在PWmat中NAMD部分作为BOMD的后处理来完成,教程及涉及的后处理程序安装包见官网的module 21。下面以复现文献为例展示计算流程。Module(包含后处理程序)和文献链接置于文末,点击阅读全文获取案例文件。

1. run PWmat——进行BOMD计算

 (1)  准备需要的输入文件: 

atom.config  etot.input  *.UPF  slurm.sh

下面简要介绍下输入文件的内容:

atom.config(结构文件):PtS2/GaSe 异质结

图片

etot.input(参数文件):

8  1

IN.ATOM = atom.config

JOB = NAMD

MD_DETAIL = 1, 1000, 1, 500, 300

NAMD_DETAIL = 100, 330, 5

in.atom = atom.config

in.psp1 = Ga.SG15.PBE.UPF

in.psp2 = Se.SG15.PBE.UPF

in.psp3 = S.SG15.PBE.UPF

in.psp4 = Pt.SG15.PBE.UPF

mp_n123 = 1 1 1 0 0 0 2

NUM_BAND = 331

ECUT = 60

VDW = DFT-D3

OUT.WG  =  T

#关键参数设置及含义: 

设置job=NAMD,添加NAMD_DETAIL控制波函数的选取和输出情况

NAMD_DETAIL = m1 m2 nstep_out

m1 m2: 在NAMD计算中,执行传统的BOMD, 但输出绝热本征态在绝热窗口 [m1 m2] 内连续时间步长的重叠波函数。

nstep_out: 波函数 (在窗口 [m1 m2] 内) 输出到ugio.allxxxxxx 文件的步数间隔。 

NAMD_DETAIL = 100, 330, 5

含义:输出100~330之间的231(m2-m1+1)个绝热态作为后续展开含时波函数的基组,并且每隔5步输出一次。

*.UPF:各元素的赝势文件,有多少种元素就包含多少个赝势文件

slurm.sh: 提交任务的脚本文件

 (2) 提交计算:sbatch slurm.sh

 (3)  关键的输出文件:OUT.NAMD  ugio.allxxxxxx

2. 结果后处理

2.1 -update OUT.NAMD——在OUT.NAMD基础上重新选取一个绝热态范围

 (1)  准备需要的输入文件: 

OUT.NAMD  read_outNAMD.x(后处理程序) job.sh (脚本文件,名字可以自定义)

下面简要介绍下输入文件的内容:

OUT.NAMD:job=NAMD的生成文件

read_outNAMD.x:后处理程序,从module 21的文件下载安装包中获取

job.sh脚本文件:

#!/bin/sh

#SBATCH --partition=cpu

#SBATCH --job-name=namd

#SBATCH --nodes=1

#SBATCH --ntasks-per-node=64

module load intel/2016

export OMP_NUM_THREADS=64

export OMP_STACKSIZE=512M

./read_outNAMD.x 0 150 231 1000 231 

#后处理命令相关参数的含义:

read_outNAMD.x istart iband1 iband2 nstep nstate

istart:将BOMD的第istart步当做NAMD的第1步,OUT.NAMD只包含只从MD的istart步之后输出的信息;

iband1:OUT.NAMD_update中的绝热态范围初始位置,iband1 ∈ (1 ~ nstate)

iband2:OUT.NAMD_update中的绝热态范围截止位置,iband2 ∈ (iband1 ~ nstate)

nstep:BOMD的步数

nstate:OUT.NAMD中的绝热窗口[m1,m2]中的本征态数量,330-150+1=231

read_outNAMD.x 0 150 231 1000 231

含义:从BOMD的第0步开始输出OUT.NAMD的信息,共输出1000步BOMD的信息。将其中含有231个绝热态信息的OUT.NAMD文件重新裁剪,选取其第150至第231态之间的82个绝热态信息并将其保存在OUT.NAMD_update文件中。

#注:这里是把后处理命令放在脚本文件中,是为了将后处理提交至cpu计算节点上计算(后续的后处理操作同理),最终结果等同于module 21教程中直接执行后处理命令 read_outNAMD.x

 (2) 提交后处理计算:sbatch job.sh

 (3)  输出文件:OUT.NAMD_update

2.2 -运行NAMD后处理程序

2.2.1-electron cooling

 (1)  准备需要的输入文件: 

OUT.NAMD_update NAMD.input deco_time   NAMD.cc_init  namd_dm.x(后处理程序) job.sh(脚本文件)

下面简要介绍下输入文件的内容:

OUT.NAMD_update: 从上一步2.1中获得

NAMD.input:后处理相关的参数文件

1000 

82 

1, 300, 0.1

250, 331

0d0 

40 

4000

100 

#参数含义:

1000 :BOMD的步数

82:OUT.NAMD_update中绝热窗口中的本征态数量

1 :MD_DETAIL中设置的BOMD时间步长

1, 300, 0.1:空穴(-1)/电子(1) 冷却;温度,可与MD_DETAIL中的温度不同;win_Boltz (eV),当|Ei1-Ei2|<win_Boltz时,会使用玻尔兹曼因子来保持细致平衡

1 :输出NAMD.cc_out内容的频率 (better to set to 1)

250, 331 :OUT.NAMD_update中绝热窗口的范围

0d0 :(not used),但需要写上

40 :(not used),但需要写上

4000:ndt-两步BOMD间被划分为多少个dt (needs to be converged)

100:nit-两步BOMD间进行多少次对角化(needs to be converged)

deco_time:退相干时间

1 2 40

1 2 40

...

1 2 40 #82*82行,40为退相干时间,单位为fs

NAMD.cc_init:初始时刻的电子占据情况

82 #nstate

0 0

0 0

...

1 0 #要研究的热电子的位置

0 0

0 0

0 0

0 0

namd_dm.x:后处理程序,从module 21的文件下载安装包中获取

job.sh脚本文件:

#!/bin/sh

#SBATCH --partition=cpu

#SBATCH --job-name=namd

#SBATCH --nodes=1

#SBATCH --ntasks-per-node=64

module load intel/2016

export OMP_NUM_THREADS=64

export OMP_STACKSIZE=512M

./namd_dm.x 0 > log.namd

 (2) 提交后处理计算:sbatch  job.sh

 (3)  输出文件: 

NAMD.graph.aveE NAMD.graph.eigen  log.NAMD NAMD.cc_out  NAMD.DM_out

注:

NAMDgraph.aveE:被激发的电子的能量平均值随时间的演化

NAMD.graph.eigen:所有的本征态能量随时间的演化

2.2.2-hole cooling

 (1)  准备需要的输入文件: 

OUT.NAMD_update  NAMD.input  deco_time  NAMD.cc_init namd_dm.x(后处理程序) job.sh(脚本文件)

与electron cooling类似,所以下面简要介绍下有差异的输入文件内容:

NAMD.input:后处理相关的参数文件

1000 

82

-1, 300, 0.1 

1

250, 331 

0d0 

40 

4000

100

NAMD.cc_init:初始时刻的电子占据情况

82 #nstate

1 0 #要研究的热空穴的位置

0 0

...

0 0

0 0

0 0

0 0

0 0

 (2) 提交后处理计算:sbatch  job.sh

 (3) 输出文件: 

NAMD.graph.aveE  NAMD.graph.eigen  log.NAMD NAMD.cc_out  NAMD.DM_out

注:

NAMDgraph.aveE:激发产生的空穴的能量平均值随时间的演化

NAMD.graph.eigen:所有的本征态能量随时间的演化

3. 绘图

将NAMD.graph.eigen,电子的NAMD.graph.aveE和空穴的NAMD.graph.aveE绘制在同一张图上。

计算结果如图(1000步):

图片

文献中的结果(2000步):

图片

文献 DOI:

10.1039/d1cp02436a

Module 21(含后处理程序安装包):

http://www.pwmat.com/module-download

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/725990.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

关于车规级功率器件热可靠性测试的分享

随着中国电动汽车市场的稳步快速发展和各大车企布局新能源的扩散,推动了车规级功率器件的快速增长。新能源汽车行业和消费电子都会用到半导体芯片,但车规级芯片对外部环境要求很高,涉及到的一致性和可靠性均要大于工业级产品要求,…

利用Systemverilog+UVM搭建SOC及ASIC的RTL验证环境

在集成电路设计的复杂世界中,验证环节是确保设计满足预期功能和性能要求的关键步骤。随着系统级芯片(SOC)和特定应用集成电路(ASIC)的规模和复杂性不断增加,传统的验证方法已经难以满足高效、准确的验证需求…

基于顺序表的排序

任务内容 基于一个顺序表&#xff0c;实现如下排序算法&#xff1a; 直接插入排序&#xff1b;交换排序 &#xff08;冒泡&#xff09;&#xff1b;简单选择排序 代码实现 #include<iostream> #include<string> using namespace std; #define keytype int type…

Javaweb登录校验

登录校验 JWT令牌的相关操作需要添加相关依赖 <dependency><groupId>io.jsonwebtoken</groupId><artifactId>jjwt</artifactId><version>0.9.1</version> </dependency>一、摘要 场景&#xff1a;当我们想要访问一个网站时&am…

真空玻璃可见光透射比检测 玻璃制品检测 玻璃器皿检测

建筑玻璃检测 防火玻璃、钢化玻璃、夹层玻璃、均质钢化玻璃、平板玻璃、中空玻璃、真空玻璃、镀膜玻璃夹丝玻璃、光栅玻璃、压花玻璃、建筑用U形玻璃、镶嵌玻璃、玻璃幕墙等 工业玻璃检测 钢化安全玻璃、电加温玻璃、玻璃、半钢化玻璃、视镜玻璃、汽车安全玻璃、汽车后窗电热…

Docker+MySQL:打造安全高效的远程数据库访问

在现代应用开发和部署中&#xff0c;数据库是关键组件之一。无论是开发环境还是生产环境&#xff0c;快速、可靠地部署和管理数据库都是开发人员和运维人员面临的常见挑战之一。 Docker是一种流行的容器化技术&#xff0c;它使得应用程序的部署和管理变得非常简单和高效。通过使…

大数据-数据分析初步学习,待补充

参考视频&#xff1a;数据分析只需3小时从入门到进阶&#xff08;up亲身实践&#xff09;_哔哩哔哩_bilibili 数据指标&#xff1a; 对当前业务有参考价值的统计数据 分类&#xff1a;用户数据&#xff0c;业务数据&#xff0c;行为数据 用户数据 存量&#xff1a; DAU&#…

CSS3中鲜为人知但非常强大的 Clip-Path 属性

CSS3中鲜为人知但非常强大的 Clip-Path 属性 在CSS3中,clip-path属性可以让我们快速创建各种各样的不规则图形,而无需使用图片或者复杂的绘图工具。它可以帮助我们实现一些非常出色的视觉效果,但遗憾的是它并不是很常见。 clip-path属性可以接受多种不同的值,比如polygon()、…

Matlab终于能够实现Transformer预测了

声明&#xff1a;文章是从本人公众号中复制而来&#xff0c;因此&#xff0c;想最新最快了解各类智能优化算法及其改进的朋友&#xff0c;可关注我的公众号&#xff1a;强盛机器学习&#xff0c;不定期会有很多免费代码分享~ 目录 原理简介 数据介绍 结果展示 完整代码 今天…

Day9—Spark运行模式及RDD的创建

Spark概述 大数据开发的总体架构 可以看到&#xff0c;在数据计算层&#xff0c;作为Hadoop核心组成的MapReduce可以结合Hive通过类SQL的方式进行数据的离线计算&#xff08;当然也可以编写独立的MapReduce应用程序进行计算&#xff09;&#xff1b;而Spark既可以做离线计算&a…

金属配件加工厂设备远程监控

随着科技的飞速发展&#xff0c;智能制造已成为制造业转型升级的重要方向。在金属配件加工领域&#xff0c;设备的稳定运行和高效管理对于提升产品质量、降低生产成本至关重要。HiWoo Cloud平台凭借其强大的远程监控功能&#xff0c;为金属配件加工厂提供了全新的解决方案&…

RabbitMQ详解-06RabbitMQ高级

1. 过期时间TTL 可以对消息设置预期的时间&#xff0c;在这个时间内都可以被消费者接收获取&#xff1b;过了之后消息自动被删除。RabbitMQ可以对消息和队列设置TTL。有以下两种设置方法&#xff1a; 通过队列属性设置&#xff0c;队列中所有消息都有相同的过期时间。对消息进…

省市区下拉选择:3个el-select(附完整代码+json)

目录 直接上做出的效果&#xff1a; 页面代码&#xff1a; 使用click.native&#xff1a; data及引入&#xff1a; 初始化&#xff1a; methods&#xff1a; JSON: 示例结构&#xff1a; 1.code.json 2.pca-code.json 回显&#xff1a; 视频效果&#xff1a; 直接上做出…

5个好用的中文AI大语言模型_中文大语言模型

AI大语言模型&#xff08;Large Language Models, LLMs&#xff09;是近1-2年来人工智能领域的重要发展&#xff0c;它们通过深度学习技术&#xff0c;特别是基于Transformer的架构&#xff08;如GPT、BERT等&#xff09;&#xff0c;实现了对自然语言处理的巨大突破。 AI大语…

Vulkan入门系列2- 绘制三角形

概述&#xff1a; Vulkan的学习曲线是比较陡峭的&#xff0c;学习Vulkan刚开始像是在爬一个陡坡&#xff0c;等上了这个陡坡之后&#xff0c;后面学习曲线就相对比较平缓了。那么在Vulkan中绘制一个三角形&#xff0c;就相当于是在爬这样一个陡坡&#xff0c;因为绘制三角形需…

「51媒体」时尚类媒体邀约宣发资源

传媒如春雨&#xff0c;润物细无声&#xff0c;大家好&#xff0c;我是51媒体网胡老师。 时尚类媒体邀约宣发资源可以多样化且针对性地满足品牌或活动的推广需求。以下是一些主要的资源及其特点&#xff1a; 时尚杂志&#xff1a;国内外知名时尚杂志&#xff0c;如《Vogue》、…

SparkSQL的分布式执行引擎-Thrift服务:学习总结(第七天)

系列文章目录 SparkSQL的分布式执行引擎 1、启动Thrift服务 2、beeline连接Thrift服务 3、开发工具连接Thrift服务 4、控制台编写SQL代码 文章目录 系列文章目录前言一、SparkSQL的分布式执行引擎(了解)1、启动Thrift服务2、beeline连接Thrift服务3、开发工具连接Thrift服务4、…

MS3121地隔离放大器

MS3121 是一款应用于车载音频系统的地隔离放大 器。芯片可以很好地解决汽车音频系统中的绕线电阻问 题&#xff0c;以及由车载电子设备带来的噪声问题。另外&#xff0c;芯片 所需要的外围电容小&#xff0c;便于系统的集成。注意&#xff0c;芯片的 地电位需要和后级音频功…

Flutter第十四弹 抽屉菜单效果

目标&#xff1a; 1.怎么构建抽屉菜单效果&#xff1f; 2.抽屉菜单怎么定制&#xff1f; 一、抽屉菜单 侧滑抽屉菜单效果 1.1 抽屉菜单入口 Flutter 的脚手架Scaffold&#xff0c;默认提供了抽屉菜单效果入口。 主页面采用一个简单的页面&#xff0c;侧滑菜单首先使用一个I…

ARP地址解析协议详解:

ARP&#xff1a;地址解析协议 – 以下3种ARP正常均只能在同一个广播域内使用 AARP 正向ARP 已知对端IP地址&#xff0c;通过广播来获取对端的MAC地址 RARP 反向ARP 已知对端的MAC地址&#xff0c;通过二层单播、三层广播来获取对端的IP地址 FARP 无故ARP 在设备刚获取…