HSE 计算电子性质

2023-10-30 22:28
文章标签 计算 电子 性质 hse

本文主要是介绍HSE 计算电子性质,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

众所周知,普通的 semi -local (主要是指 LDA 和 和 GGA )方法计算带隙是
估 有问题,一般低估 1 -2 个电子伏特。解决的办法就是用更精确的 GW 或
是 杂化泛函的方法。由于目前广泛使用的软件是 VASP ,而 VASP 是很难使用
GW 方法计算带隙的,所以这里主要讲用杂 化泛函(HSE )的方法计算带隙。
HSE 的理论实际是很简单的,大家可以自己找找资料,实在不懂的话,可
以联系我。我这里主要讲操作流程和一些技巧。

一般来说分为以下几个部分。这里以 PBE 函数为例说明,首先,用 PBE
用 函数进行正常的自恰计算,这里需要输出波函数和电荷密度;其次,用 HSE
用 函数进行自恰计算,这里最好用 ALGO =damp ;第三,用 HSE 函数进行自
除 恰计算,去除 ALGO 参数,这里使用 DAV 算法;最后,计算能带和态密度。
注意,有时可以将第三步和第四步合并。

第一步,
INCAR
SYSTEM = scf
ENCUT = 500
EDIFF = 1e-­‐5
IBRION = -­‐1
ISIF = 2
NSW = 0
ISMEAR = 0 ; SIGMA = 0.05
POTIM = 0.1
#Wavefunction and charge
LWAVE = T
LCHARG = T
这里是正常计算,不多讲。

第二步,
SYSTEM = scf
ENCUT = 500
EDIFF = 1e-­‐5
IBRION = -­‐1
ISIF = 2
NSW = 0
ISMEAR = 0 ; SIGMA = 0.05
POTIM = 0.1
#Wavefunction and charge
LWAVE = T
LCHARG = T
LHFCALC = .TRUE.
HFSCREEN = 0.2
ALGO = Damped
TIME = 0.4
这里可以看出,多加的是后四 行。
LHFCALC = .TRUE. # 这里采取杂化泛函方法。
HFSCREEN = 0.2 #0.2 是 是 HSE06 ; 0.3 是 是 HSE03
ALGO = Damped
TIME = 0.4
候 后两行是为了更好的收敛,有的时候 DAV 方法不收敛。值得注意的是,这
个 种方法计算的本征矢量会有问题,即每个 k 点能带的顺序会乱七八糟。但
电荷密度和波函数是没有问题的。
第三步,
SYSTEM = scf
ENCUT = 500
EDIFF = 1e-­‐5
IBRION = -­‐1
ISIF = 2
NSW = 0
ISMEAR = 0 ; SIGMA = 0.05
POTIM = 0.1
#Wavefunction and charge
LWAVE = T
LCHARG = T
LHFCALC = .TRUE.
HFSCREEN = 0.2
在第二步的基础上用 ,使用 DAV 算法计算,好处是收敛较快,本征矢量没有任何问题。这一步的 DOS 是没有问题的。
第四步,计算能带。
说 首先说 INCAR ,
SYSTEM = scf
ENCUT = 500
EDIFF = 1e-­‐5
IBRION = -­‐1
ISIF = 2
NSW = 0
ISMEAR = 0 ; SIGMA = 0.05
POTIM = 0.1
#Wavefunction and charge
LWAVE = T
LCHARG = T
LHFCALC = .TRUE.
HFSCREEN = 0.2
是 和第三步没有差别。主要是 k 点的设置,由于 HSE 方法无法从电荷密度进行非自恰,所以只能用自恰的方法计算能带。
把 通常是先把 IBZKPT 拷贝成 KPOINTS ,
Automatically generated mesh
75
Reciprocal lattice
0.08333333333333 0.08333333333333 0.08333333333333 96
0.25000000000000 0.08333333333333 0.08333333333333 288
0.41666666666667 0.08333333333333 0.08333333333333 288
-­‐0.41666666666667 0.08333333333333 0.08333333333333 288
-­‐0.25000000000000 0.08333333333333 0.08333333333333 288
-­‐0.08333333333333 0.08333333333333 0.08333333333333 288
0.25000000000000 0.25000000000000 0.08333333333333 288
0.41666666666667 0.25000000000000 0.08333333333333 576
-­‐0.41666666666667 0.25000000000000 0.08333333333333 576
-­‐0.25000000000000 0.25000000000000 0.08333333333333 576
-­‐0.08333333333333 0.25000000000000 0.08333333333333 576
0.41666666666667 0.41666666666667 0.08333333333333 288
-­‐0.41666666666667 0.41666666666667 0.08333333333333 576
-­‐0.25000000000000 0.41666666666667 0.08333333333333 576
-­‐0.08333333333333 0.41666666666667 0.08333333333333 576
-­‐0.41666666666667 -­‐0.41666666666667 0.08333333333333 288
-­‐0.25000000000000 -­‐0.41666666666667 0.08333333333333 576
-­‐0.25000000000000 -­‐0.25000000000000 0.08333333333333 288
0.25000000000000 0.25000000000000 0.25000000000000 96
0.41666666666667 0.25000000000000 0.25000000000000 288
-­‐0.41666666666667 0.25000000000000 0.25000000000000 288
-­‐0.25000000000000 0.25000000000000 0.25000000000000 288
0.41666666666667 0.41666666666667 0.25000000000000 288
-­‐0.41666666666667 0.41666666666667 0.25000000000000 576
-­‐0.25000000000000 0.41666666666667 0.25000000000000 576
-­‐0.41666666666667 -­‐0.41666666666667 0.25000000000000 288
0.41666666666667 0.41666666666667 0.41666666666667 96
-­‐0.41666666666667 0.41666666666667 0.41666666666667 288
0.50000000 0.25000000 0.75000000 0.0
0.50000000 0.27777778 0.72222222 0.0
0.50000000 0.30555556 0.69444444 0.0
0.50000000 0.33333333 0.66666667 0.0
0.50000000 0.36111111 0.63888889 0.0
0.50000000 0.38888889 0.61111111 0.0
0.50000000 0.41666667 0.58333333 0.0
0.50000000 0.44444444 0.55555556 0.0
0.50000000 0.47222222 0.52777778 0.0
0.50000000 0.50000000 0.50000000 0.0
0.44444444 0.44444444 0.44444444 0.0
0.38888889 0.38888889 0.38888889 0.0
0.33333333 0.33333333 0.33333333 0.0
0.27777778 0.27777778 0.27777778 0.0
0.22222222 0.22222222 0.22222222 0.0
0.16666667 0.16666667 0.16666667 0.0
0.11111111 0.11111111 0.11111111 0.0
0.05555556 0.05555556 0.05555556 0.0
0.00000000 0.00000000 0.00000000 0.0
0.00000000 0.00000000 0.00000000 0.0
0.05555556 0.00000000 0.05555556 0.0
0.11111111 0.00000000 0.11111111 0.0
0.16666667 0.00000000 0.16666667 0.0
0.22222222 0.00000000 0.22222222 0.0
0.27777778 0.00000000 0.27777778 0.0
0.33333333 0.00000000 0.33333333 0.0
0.38888889 0.00000000 0.38888889 0.0
0.44444444 0.00000000 0.44444444 0.0
0.50000000 0.00000000 0.50000000 0.0
0.50000000 0.02777778 0.52777778 0.0
0.50000000 0.05555556 0.55555556 0.0
0.50000000 0.08333333 0.58333333 0.0
0.50000000 0.11111111 0.61111111 0.0
0.50000000 0.13888889 0.63888889 0.0
0.50000000 0.16666667 0.66666667 0.0
0.50000000 0.19444444 0.69444444 0.0
0.50000000 0.22222222 0.72222222 0.0
0.50000000 0.25000000 0.75000000 0.0
0.48611111 0.26388889 0.75000000 0.0
0.47222222 0.27777778 0.75000000 0.0
0.45833333 0.29166667 0.75000000 0.0
0.44444444 0.30555556 0.75000000 0.0
0.43055556 0.31944444 0.75000000 0.0
0.41666667 0.33333333 0.75000000 0.0
0.40277778 0.34722222 0.75000000 0.0
0.38888889 0.36111111 0.75000000 0.0
0.37500000 0.37500000 0.75000000 0.0
行 这里第二行 75, 意味着一共有 75 个 个 k 点,接下来会有这 75 个 个 k 点,后面跟着的是权重(如果大家不理解什么是权重,为 可以联系我)。这些权重为 0 带 的,即为想计算的能带 k 点。大家仔细观察,就能体会出它是能带的 k 点 为 了,因为 k 点是连续的。这里权重是 0, 意味着在自恰计算的时候,不会计 些 算这些 k 点,但是计算完后,会输出这些本征值。 达 到计算能带的目的。之后,我的方法是在 EIGENVAL 里删除自恰的 k 点信息,之后就可以用正 常的能带处理程序处理了。

这篇关于HSE 计算电子性质的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

poj 1113 凸包+简单几何计算

题意: 给N个平面上的点,现在要在离点外L米处建城墙,使得城墙把所有点都包含进去且城墙的长度最短。 解析: 韬哥出的某次训练赛上A出的第一道计算几何,算是大水题吧。 用convexhull算法把凸包求出来,然后加加减减就A了。 计算见下图: 好久没玩画图了啊好开心。 代码: #include <iostream>#include <cstdio>#inclu

uva 1342 欧拉定理(计算几何模板)

题意: 给几个点,把这几个点用直线连起来,求这些直线把平面分成了几个。 解析: 欧拉定理: 顶点数 + 面数 - 边数= 2。 代码: #include <iostream>#include <cstdio>#include <cstdlib>#include <algorithm>#include <cstring>#include <cmath>#inc

uva 11178 计算集合模板题

题意: 求三角形行三个角三等分点射线交出的内三角形坐标。 代码: #include <iostream>#include <cstdio>#include <cstdlib>#include <algorithm>#include <cstring>#include <cmath>#include <stack>#include <vector>#include <

XTU 1237 计算几何

题面: Magic Triangle Problem Description: Huangriq is a respectful acmer in ACM team of XTU because he brought the best place in regional contest in history of XTU. Huangriq works in a big compa

音视频入门基础:WAV专题(10)——FFmpeg源码中计算WAV音频文件每个packet的pts、dts的实现

一、引言 从文章《音视频入门基础:WAV专题(6)——通过FFprobe显示WAV音频文件每个数据包的信息》中我们可以知道,通过FFprobe命令可以打印WAV音频文件每个packet(也称为数据包或多媒体包)的信息,这些信息包含该packet的pts、dts: 打印出来的“pts”实际是AVPacket结构体中的成员变量pts,是以AVStream->time_base为单位的显

计算数组的斜率,偏移,R2

模拟Excel中的R2的计算。         public bool fnCheckRear_R2(List<double[]> lRear, int iMinRear, int iMaxRear, ref double dR2)         {             bool bResult = true;             int n = 0;             dou

Spring Boot集成PDFBox实现电子签章

概述 随着无纸化办公的普及,电子文档的使用越来越广泛。电子签章作为一种有效的身份验证方式,在很多场景下替代了传统的纸质文件签名。Apache PDFBox 是一个开源的Java库,可以用来渲染、生成、填写PDF文档等操作。本文将介绍如何使用Spring Boot框架结合PDFBox来实现电子签章功能。 准备工作 环境搭建:确保你的开发环境中安装了JDK 8或更高版本,并且配置好了Maven或

【电子通识】半导体工艺——保护晶圆表面的氧化工艺

在文章【电子通识】半导体工艺——晶圆制造中我们讲到晶圆的一些基础术语和晶圆制造主要步骤:制造锭(Ingot)、锭切割(Wafer Slicing)、晶圆表面抛光(Lapping&Polishing)。         那么其实当晶圆暴露在大气中或化学物质中的氧气时就会形成氧化膜。这与铁(Fe)暴露在大气时会氧化生锈是一样的道理。 氧化膜的作用         在半导体晶圆

GPU 计算 CMPS224 2021 学习笔记 02

并行类型 (1)任务并行 (2)数据并行 CPU & GPU CPU和GPU拥有相互独立的内存空间,需要在两者之间相互传输数据。 (1)分配GPU内存 (2)将CPU上的数据复制到GPU上 (3)在GPU上对数据进行计算操作 (4)将计算结果从GPU复制到CPU上 (5)释放GPU内存 CUDA内存管理API (1)分配内存 cudaErro

Java - BigDecimal 计算分位(百分位)

日常开发中,如果使用数据库来直接查询一组数据的分位数,就比较简单,直接使用对应的函数就可以了,例如:         PERCENT_RANK() OVER(PARTITION BY 分组列名 ORDER BY 目标列名) AS 目标列名_分位数         如果是需要在代码逻辑部分进行分位数的计算,就需要我们自己写一个工具类来支持计算了 import static ja