Eastsheng's Wiki

QE/epw学习——02

2026-01-09 18:11:28

[toc]

碳化硅自洽计算

SCF.in 参数解释

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
 &control # 控制参数
calculation = 'scf' # 自洽计算
prefix = 'sic' # 所有生成输出文件的前缀
restart_mode = 'from_scratch' # 每次都从头开始计算,不读取之前的中间结果
wf_collect = .false. # 不将所有k点的波函数收集到单个文件中
pseudo_dir = '../pp' # 赝势文件的存放目录
outdir = './' # 临时文件和最终输出数据
tprnfor = .true. # 计算并输出原子受力
tstress = .true. # 计算并输出体系的应力张量
/
&system # 定义了所研究物理系统的基本性质
ibrav = 2 # 定义布拉维(brav)格子类型,2 代表面心立方晶格
celldm(1) = 8.237 # 以玻尔半径 (Bohr) 为单位的晶格常数 a
nat = 2 # 元胞内的原子总数为 2
ntyp = 2 # 原子种类数为 2(Si 和 C)
ecutwfc = 60 # 平面波基组的动能截断能,单位是Ry (Rydberg,约13.6 eV)。
occupations = 'smearing' # 采用展宽技术来处理电子占据
smearing = 'mp' # 具体使用 Methfessel-Paxton 一阶展宽方法
degauss = 0.02 # 展宽宽度 (单位:Ry)
nbnd = 4 # 计算能带的数量。
/
&electrons # 控制电子自洽迭代过程
diagonalization = 'david' # 使用 Davidson 迭代方法对角化哈密顿量矩阵,是默认且高效的方法。
mixing_beta = 0.7 # 电荷密度混合参数,用于加速自洽收敛。0.7是一个常用值。
conv_thr = 1.0d-10 # 自洽迭代的能量收敛阈值。
/
ATOMIC_SPECIES # 原子信息:符号、原子质量 (amu)、对应的赝势文件名
Si 28.0855 Si.pz-vbc.UPF
C 12.01078 C.UPF
ATOMIC_POSITIONS alat # 以晶格常数 alat (即 celldm(1)) 为单位定义原子分数坐标。
Si 0.00 0.00 0.00
C 0.25 0.25 0.25
K_POINTS automatic # 采用自动生成的 k点网格 进行布里渊区积分
8 8 8 1 1 1 # 在倒易空间三个基矢方向上分别均匀取8个k点,即总共 8x8x8=512 个k点
# 网格的偏移量,1 1 1 表示无偏移

运行与输出

1
mpirun -np 4 pw.x -npool 4 < scf.in > scf.out

scf.out、sic.xml、./sci.save/

声子计算

1
2
3
4
5
6
7
8
9
10
11
12
--
&inputph
prefix = 'sic'
fildvscf = 'dvscf' # 指定输出文件,用于保存电子-声子耦合的微扰势,这个文件是后续进行 epw.x 计算(电子-声子耦合)所必需的直接输入文件之一
ldisp = .true # 计算一系列q点的声子,用于绘制声子色散关系或进行后续插值;如果设为 .false.,则只计算 nq1, nq2, nq3 确定的单个q点(通常是Γ点)
fildyn = 'sic.dyn' # 指定输出的动力学矩阵文件。该文件包含了所有计算q点的声子频率和模式信息,可用于绘制声子谱或作为其他后处理程序的输入。
nq1=6, # 定义在倒易空间三个方向上均匀采样的q点网格密度,直接影响后续EPW计算中插值的精度
nq2=6,
nq3=6,
tr2_ph = 1.0d-12 # 声子自洽循环的收敛阈值
/

1
2
3
4
5
mpirun -np 4 ph.x -npool 4 < ph.in > ph.out
python pp.py
diam # prefix
16 # number of irreducible q-points
mv sic.save ../epw

采用EPW计算声子线宽

自洽计算

1
2
cd ../epw
mpirun -np 4 pw.x -npool 4 < scf.in >& scf.out

非自洽计算

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
 &control
calculation = 'nscf' # 指明计算类型为非自洽
prefix = 'sic'
wf_collect = .false.
pseudo_dir = '../pp/'
outdir = './'
# 移除了 restart_mode, tprnfor, tstress:因为这些参数与结构优化/受力相关,在nscf中不需要。
/
&system
ibrav = 2
celldm(1) = 8.237
nat = 2
ntyp = 2
ecutwfc = 60
occupations = 'smearing'
smearing = 'mp'
degauss = 0.02
nbnd = 4
/
&electrons
diagonalization = 'david'
mixing_beta = 0.7
conv_thr = 1.0d-10
/
ATOMIC_SPECIES
Si 28.0855 Si.pz-vbc.UPF
C 12.01078 C.UPF
ATOMIC_POSITIONS alat
Si 0.00 0.00 0.00
C 0.25 0.25 0.25
K_POINTS crystal # 从SCF的 automatic 网格变成了手动指定的、密集的 “crystal”坐标 网格列表。这是nscf计算的核心。
216
0.00000000 0.00000000 0.00000000 4.629630e-03
0.00000000 0.00000000 0.16666667 4.629630e-03
0.00000000 0.00000000 0.33333333 4.629630e-03
0.00000000 0.00000000 0.50000000 4.629630e-03
0.00000000 0.00000000 0.66666667 4.629630e-03
0.00000000 0.00000000 0.83333333 4.629630e-03
0.00000000 0.16666667 0.00000000 4.629630e-03
...
...
0.83333333 0.66666667 0.83333333 4.629630e-03
0.83333333 0.83333333 0.00000000 4.629630e-03
0.83333333 0.83333333 0.16666667 4.629630e-03
0.83333333 0.83333333 0.33333333 4.629630e-03
0.83333333 0.83333333 0.50000000 4.629630e-03
0.83333333 0.83333333 0.66666667 4.629630e-03
0.83333333 0.83333333 0.83333333 4.629630e-03

1
mpirun -np 4 pw.x -npool 4 < nscf.in >& nscf.out

计算声子线宽

1
mpirun -np 4 epw.x -npool 4 < epw.in > epw.out
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
--
&inputepw
prefix = 'sic'
amass(1) = 28.0855
amass(2) = 12.0107
outdir = './'

elph = .true. # 开启电子-声子耦合计算
epbwrite = .true. # 表示写入耦合矩阵元
epbread = .false. # 不读取(从头计算)

epwwrite = .true.
epwread = .false.

nbndsub = 4 # 参与Wannier化的能带数

wannierize = .true. # 启用Wannier函数构造
num_iter = 300 # 极大局域化算法的迭代步数
iprint = 2 #
dis_win_max = 12 # disentanglement 能量窗口的上限(单位:eV)
dis_froz_max= 7 # frozen 能量窗口的上限(单位:eV)
proj(1) = 'Si:sp3' # 初始投影猜测。这里指定用Si原子的sp³杂化轨道作为Wannier函数的初始猜测。

iverbosity = 0

elecselfen = .false. # 不计算电子自能(涉及电子的线宽和寿命重整化)
phonselfen = .true. # 计算声子自能(由于电子-声子耦合导致的声子线宽或寿命)。这是分析声子热导率被电子散射影响的关键。
a2f = .true. # 计算Eliashberg谱函数 α²F(ω) 和电子-声子耦合强度 λ。这是分析超导转变温度、载流子迁移率等问题的核心量。


fsthick = 2.80284905 ! eV # 费米面附近能量窗口的厚度。
temps = 200 ! K # 计算时所采用的温度。会影响费米-狄拉克分布函数。
degaussw = 0.1 ! eV # 高斯展宽,用于处理狄拉克δ函数,数值技巧。

dvscf_dir = '../phonons/save'
filukk = './SiC.ukk'

nk1 = 6
nk2 = 6
nk3 = 6

nq1 = 6
nq2 = 6
nq3 = 6

nqf1 = 20
nqf2 = 20
nqf3 = 20
nkf1 = 10
nkf2 = 10
nkf3 = 10
/