VASP结合vaspkit+ShengBTE计算热电优值(一)

  • 电导率σ,塞贝克系数S的计算:

    使用vaspkit计算处对应的物理量,具体流程为:

  • 准备好计算的材料对应的POSCAR。如果是二维材料可以使用vaspkit 的921或923功能对二维材料POSCAR进行标准化。
  • 进行结构优化。
  • 使用 vaspkit-681命令生成高密度的KPOINTS,然后进行静态计算 (注意只有使用这项功能生成KPOINTS计算的结果才能继续使用vaspkit命令计算下一步,使用M-S方法自动生成K点的计算结果无法进行下一步)。
  • 准备对应的http://INPUT.in文件用于输运性质计算

关于INPUT文件中的参数,一般只需要调整Temperature 以及Relaxation time。其中Relaxation time 一般可以通过查找文献得到当前研究的结构的载流子Relaxation time/scattering time 。当我们查找不到时就需要自己计算出Relaxation time。

  1. 晶格热导率的计算

计算晶格热导率我们需要用到的软件包括Phonopy,Thirdorder,ShengBTE。

其中Phonopy用于计算声子谱及二阶力常数,Thirdorder用于计算三阶力常数,ShengBTE用于结合前面两者的结果计算晶格热导率。

1、Phonopy计算声子谱及二阶力常数

计算声子谱及二阶力常数的具体流程如下:

(1)对初始结构进行高精度的结构优化

这一步中INCAR的主要参数是EDIFFG,一般情况下应达到EDIFFG=-1E-8的标准。考虑优化速度,可以通过优化多次,每次优化时逐步减小EDIFFG直到EDIFFG=-1E-8的方法进行优化。高精度优化中IBRION建议设置为1,且当EDIFFG较小时建议设置ISIF=2。

(2)使用Phonopy进行扩胞

一般情况下,扩胞后的超胞中的原子数达到100就可以了。扩胞后会生成SPOSCAR 与 POSCAR-* 等文件。前者可用于DFPT(密度泛函微扰)方法,后者应用于有限位移法。两种方法计算的结果没有区别。

(3)DFPT法

DFPT法需要使用SPOSCAR进行计算(单个任务)。可参考王宁博士在B站的视频[7]。笔者在这里贴出自己的代码仅供参考。

计算前需要将原高精度优化的POSCAR 重命名为POSCAR-unitcell SPOSCAR命名为POSCAR。

vasp计算完成后编写band.conf 并运行以下命令:

这样就能得到二阶力常数文件FORCE_CONSTANTS,以及声子谱的图band.pdf数据a.dat。对于声子谱,我们要保证没有虚频,这样才能保证晶格的稳定性。

2、ThiRDoRDer计算三阶力常数

首先需要对高精度优化后的结构扩胞:

与phonopy不同的是参数-d表示考虑哪些近邻原子的受力来计算力常数矩阵。d为正数时表示截断半径(单位nm) 为负数时表示所考虑近邻原子的个数。

一般情况d取<=-10 或 >=0.6。 这会影响到扩胞生成的POSCAR-*的个数与计算精准度。

这里使用有限位移法进行计算。

首先准备INCAR,POTCAR,KPOINTS

然后用脚本生成文件夹:

通过脚本提交作业:

最后就能得到三阶力常数矩阵文件FORCE_CONSTANTS_3RD。这一步一般需要非常长的时间去进行计算,因此扩胞的大小可以稍微比二阶力常数矩阵的计算时的大小小一点。

这样我们就得到二阶力常数矩阵与三阶力常数矩阵

最后,有相关需求欢迎通过公众号“320科技工作室”联系我们

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

仿真验证方法(3)——物理验证

目录 一、物理验证的分类 二、DRC 2.1 设计规则 2.2 规则示例 2.3 线宽违例 2.4 间距违例 2.5 交叠违例 三、金属覆盖图形密度检查 四、天线比率检查 4.1 起因 4.2 计算 4.3 改进 五、LVS检查 六、物理验证常用的EDA工具 七、总结 一、物理验证的分类 对于物理验…

NULL是什么?

NULL是一个编程术语&#xff0c;通常用于表示一个空值或无效值。在很多编程语言中&#xff0c;NULL用于表示一个变量或指针不引用任何有效的对象或内存位置。 NULL可以看作是一个特殊的值&#xff0c;表示缺少有效的数据或引用。当一个变量被赋予NULL值时&#xff0c;它表示该变…

PHP在线文档管理系统源码

PHP在线文档管理系统源码 系统功能与介绍 在数据持续、快速增长背景下&#xff0c;企业面临海量非结构化数据处理需求&#xff0c;企业现有架构 通常无法应对海量非结构化数据的管理与应用。 支持私有化部署&#xff0c;完全内网环境下也可正常使用。 Windows、Linux、Mac等全平…

flutter 打包安卓apk 常用配置

打包之前需要先不配置不然会报错 Execution failed for task ‘:app:mergeReleaseResources’. APP目录下的build.gradleaaptOptions.cruncherEnabled falseaaptOptions.useNewCruncher false如图 配置targetSdkVersion 、minSdkVersion 在android/app/src目录下的build.…

微信商家转账到零钱,既能单笔又能批量,支持多商户管理

大家好&#xff0c;我是小悟 微信商家转账到零钱的功能大家应该都熟悉吧&#xff0c;为了满足商家向用户微信零钱转账的需求&#xff0c;微信支付推出【商家转账到零钱】服务&#xff0c;方便商户可以一次向单个或多个用户的微信零钱转账。 商家转账到零钱为商户提供了简便、…

小学生练字神器,在线字帖生成器网站源码

源码介绍 帮助小学生规范汉字书写&#xff0c;提高汉字书写水平&#xff0c;在线小学生练字神器&#xff01;它不仅功能强大&#xff0c;而且完全免费&#xff0c;是每个小学生必备的练字工具。 海量字库&#xff1a;收录9574个常用汉字&#xff0c;满足小学生的学习需求。多…

分布式系统架构设计之分布式消息队列的实际应用场景分析以及未来展望

一、分布式消息队列的实际应用场景 随着企业业务的不断发展和数据量的持续增长&#xff0c;分布式消息队列已经成为了许多系统中不可或缺的一部分。它提供了异步通信、流量削峰、数据缓冲等功能&#xff0c;为构建高并发、高可用、可扩展的系统提供了有力的支持。本部分会通过…

MySQL8.0安装(Linux - centos)

我是南城余&#xff01;阿里云开发者平台专家博士证书获得者&#xff01; 欢迎关注我的博客&#xff01;一同成长&#xff01; 一名从事运维开发的worker&#xff0c;记录分享学习。 专注于AI&#xff0c;运维开发&#xff0c;windows Linux 系统领域的分享&#xff01; 其他…

文件操作(一)

目录 一.什么是文件 1.程序文件和数据文件 2.文件名 3&#xff0c;文本文件和二进制文件 二.文件的打开和关闭 1.流和标准流 2.文件指针 3.文件的打开与关闭 三.结尾 一.什么是文件 在我们学习文件操作之前我们先了解一下什么是文件&#xff1f;以及文件为什么使用文件…

高级RAG(六): 句子-窗口检索

之前我们介绍了LlamaIndex的从小到大的检索 的检索方法&#xff0c;今天我们再来介绍llamaindex的另外一种高级检索方法: 句子-窗口检索(Sentence Window Retrieval)&#xff0c;在开始介绍之前让我们先回顾一下基本的RAG检索的流程&#xff0c;如下图所示&#xff1a; 在执行基…

BikeDNA(九) 特征匹配

BikeDNA&#xff08;九&#xff09; 特征匹配 特征匹配采用参考数据并尝试识别 OSM 数据集中的相应特征。 特征匹配是比较单个特征而不是研究区域网格单元水平上的特征特征的必要前提。 方法 将两个道路数据集中的特征与其数字化特征的方式以及边缘之间潜在的一对多关系进行…

Rust-语句和表达式

if-else Rust中if-else表达式的作用是实现条件分支。if-else表达式的构成方式为&#xff1a;以if关键字开头&#xff0c;后面跟上条件表达式&#xff0c;后续是结果语句块&#xff0c;最后是可选的else块。条件表达式的类型必须是bool。 if-else结构还可以当表达式使用 loop …