使用 QE 计算硅的声子色散
在 Quantum ESPRESSO 中,声子色散通常通过 ph.x 程序并基于密度泛函微扰理论(DFPT)来计算。本文以单晶硅(Si)为例,演示完整计算流程。
第一步 pw.x
先使用 pw.x 进行 SCF 自洽计算。
- SCF 输入文件(
pw.scf.Si.in)
&control
calculation = 'scf'
restart_mode = 'from_scratch'
pseudo_dir = './pseudos/'
outdir = './out/'
prefix = 'Si'
/
&system
ibrav = 2
celldm(1) = 10.20
nat = 2
ntyp = 1
ecutwfc = 16
/
&electrons
mixing_mode = 'plain'
mixing_beta = 0.7
conv_thr = 1.0e-8
/
ATOMIC_SPECIES
Si 28.0855 Si.vbc.UPF
ATOMIC_POSITIONS
Si 0.00 0.00 0.00
Si 0.25 0.25 0.25
K_POINTS {automatic}
8 8 8 0 0 0
- 执行 SCF 计算
mpirun -np 4 pw.x -i pw.scf.Si.in > pw.scf.Si.out
第二步 ph.x
使用 ph.x 在均匀 q 点网格 上计算动力学矩阵。
- 输入文件(
ph.Si.in)
&INPUTPH
tr2_ph = 1d-14
amass(1) = 28.0855
ldisp = .true.
nq1 = 4
nq2 = 4
nq3 = 4
outdir = './out/'
prefix = 'Si'
fildyn = 'Si.dyn'
/
- 执行计算
mpirun -np 4 ph.x -i ph.Si.in > ph.Si.out
- 输出文件说明
Si.dyn0 包含 q 点网格坐标。
Si.dyn1-N 包含力常数 ( C(q_n) ),其中 ( n = 1,…N ),( N ) 为布里渊区不可约 q 点的数量。
第三步 q2r.x
使用 q2r.x 对 q 空间力常数做逆傅里叶变换,得到实空间力常数。
- 输入文件(
q2r.Si.in)
&INPUT
fildyn = 'Si.dyn'
zasr = 'simple'
flfrc = 'Si444.fc'
/
- 执行计算
mpirun -np 4 q2r.x -i q2r.Si.in > q2r.Si.out
- 输出文件
Si444.fc 包含 4×4×4 超胞对应的实空间力常数。
第四步 matdyn.x
使用 matdyn.x 对实空间分量进行傅里叶变换,得到任意 q 点处的动力学矩阵和本征值(频率)。
- 输入文件(
matdyn.Si.in)
&INPUT
asr = 'simple'
flfrc = 'Si444.fc'
flfrq = 'Si.freq'
flvec = 'Si.modes'
q_in_band_form = .true.
/
6
0.000 0.000 0.000 50
0.500 0.000 0.500 50
0.625 0.250 0.625 1
0.375 0.375 0.750 50
0.000 0.000 0.000 50
0.500 0.500 0.500 1
- 执行计算
mpirun -np 4 matdyn.x -i matdyn.Si.in > matdyn.Si.out
随后可用生成的 Si.freq.gp 文件绘图。