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

相关文章

Python并行处理实战之如何使用ProcessPoolExecutor加速计算

《Python并行处理实战之如何使用ProcessPoolExecutor加速计算》Python提供了多种并行处理的方式,其中concurrent.futures模块的ProcessPoolExecu... 目录简介完整代码示例代码解释1. 导入必要的模块2. 定义处理函数3. 主函数4. 生成数字列表5.

Python实现pdf电子发票信息提取到excel表格

《Python实现pdf电子发票信息提取到excel表格》这篇文章主要为大家详细介绍了如何使用Python实现pdf电子发票信息提取并保存到excel表格,文中的示例代码讲解详细,感兴趣的小伙伴可以跟... 目录应用场景详细代码步骤总结优化应用场景电子发票信息提取系统主要应用于以下场景:企业财务部门:需

Java计算经纬度距离的示例代码

《Java计算经纬度距离的示例代码》在Java中计算两个经纬度之间的距离,可以使用多种方法(代码示例均返回米为单位),文中整理了常用的5种方法,感兴趣的小伙伴可以了解一下... 目录1. Haversine公式(中等精度,推荐通用场景)2. 球面余弦定理(简单但精度较低)3. Vincenty公式(高精度,

windows和Linux使用命令行计算文件的MD5值

《windows和Linux使用命令行计算文件的MD5值》在Windows和Linux系统中,您可以使用命令行(终端或命令提示符)来计算文件的MD5值,文章介绍了在Windows和Linux/macO... 目录在Windows上:在linux或MACOS上:总结在Windows上:可以使用certuti

Python如何计算两个不同类型列表的相似度

《Python如何计算两个不同类型列表的相似度》在编程中,经常需要比较两个列表的相似度,尤其是当这两个列表包含不同类型的元素时,下面小编就来讲讲如何使用Python计算两个不同类型列表的相似度吧... 目录摘要引言数字类型相似度欧几里得距离曼哈顿距离字符串类型相似度Levenshtein距离Jaccard相

使用C#代码计算数学表达式实例

《使用C#代码计算数学表达式实例》这段文字主要讲述了如何使用C#语言来计算数学表达式,该程序通过使用Dictionary保存变量,定义了运算符优先级,并实现了EvaluateExpression方法来... 目录C#代码计算数学表达式该方法很长,因此我将分段描述下面的代码片段显示了下一步以下代码显示该方法如

Java操作PDF文件实现签订电子合同详细教程

《Java操作PDF文件实现签订电子合同详细教程》:本文主要介绍如何在PDF中加入电子签章与电子签名的过程,包括编写Word文件、生成PDF、为PDF格式做表单、为表单赋值、生成文档以及上传到OB... 目录前言:先看效果:1.编写word文件1.2然后生成PDF格式进行保存1.3我这里是将文件保存到本地后

如何用Java结合经纬度位置计算目标点的日出日落时间详解

《如何用Java结合经纬度位置计算目标点的日出日落时间详解》这篇文章主详细讲解了如何基于目标点的经纬度计算日出日落时间,提供了在线API和Java库两种计算方法,并通过实际案例展示了其应用,需要的朋友... 目录前言一、应用示例1、天安门升旗时间2、湖南省日出日落信息二、Java日出日落计算1、在线API2

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