参考
https://www.jianshu.com/p/e5e34d576c86
以example/mgb2的epw.in为例
&inputepw
prefix = 'MgB2',
amass(1) = 24.305,
amass(2) = 10.811
outdir = './'
ep_coupling = .true.
elph = .true.
epbwrite = .true.
epbread = .false.
epwwrite = .true.
epwread = .false.
etf_mem = 1
nbndsub = 5,
wannierize = .true.
num_iter = 500
dis_froz_max= 8.8
proj(1) = 'B:pz'
proj(2) = 'f=0.5,1.0,0.5:s'
proj(3) = 'f=0.0,0.5,0.5:s'
proj(4) = 'f=0.5,0.5,0.5:s'
iverbosity = 2
eps_acustic = 2.0 ! Lowest boundary for the phonon frequency
ephwrite = .true. ! Writes .ephmat files used when Eliasberg = .true.
fsthick = 0.4 ! eV
degaussw = 0.10 ! eV
nsmear = 1
delta_smear = 0.04 ! eV
degaussq = 0.5 ! meV
nqstep = 500
eliashberg = .true.
laniso = .true.
limag = .true.
lpade = .true.
conv_thr_iaxis = 1.0d-4
wscut = 1.0 ! eV Upper limit over frequency integration/summation in the Elisashberg eq
nstemp = 1 ! Nr. of temps
temps = 15.00 ! K provide list of temperetures OR (nstemp and temps = tempsmin tempsmax for even space mode)
nsiter = 500
muc = 0.16
dvscf_dir = '../phonons/save'
nk1 = 6
nk2 = 6
nk3 = 6
nq1 = 6
nq2 = 6
nq3 = 6
mp_mesh_k = .true.
nkf1 = 20
nkf2 = 20
nkf3 = 20
nqf1 = 20
nqf2 = 20
nqf3 = 20
/
下面分成几个部分分析
1.基础信息
prefix = 'MgB2', !这个要和前面的计算保持一致
amass(1) = 24.305,
amass(2) = 10.811
outdir = './' !这个最好就写在当前文件夹不然可能出问题
2.控制计算的信息
ep_coupling = .true. !要算电声耦合吗?
elph = .true. !要算电声耦合常数吗?
这两个用来计算*.ephmat, *.freq, *.egnv, and *.ikmap文件
epbwrite = .true. !要算粗布洛赫表象上的电声矩阵元和**动力学矩阵**吗?
epbread = .false. !不算的话要直接用prefix.epb文件中读取吗?
这一对可以都选false,既不算,也不读。实际上有了 *.epmatwp1(这个文件怎么来呢)文件之后,就不需要读取epb了,而是直接读取 *.epmatwp1和epwdata.fmt文件,并且读取 *.epmatwp1文件没有核数的限制,它是wannier表象的电声耦合矩阵元,设置kmaps = .true.就可以了,但是这里其实并没有读取"prefix.kmap" and "prefix.kgmap"这两个文件。只是读取了 *.epmatwp1和epwdata.fmt文件。
epwwrite = .true.
epwread = .false.
这个参数是用来控制是否输出 *.ephmat文件的,这个文件里包含了在Fermi window里fine k、q mesh上前面用 elph,ep_coupling计算出来的电声耦合矩阵元, *.ephmat文件个数和使用的核的个数相同,这个文件和 *.freq、 *.egnv(分别包含Fermi window里面的声子和电子本征值) *.ikmap(包含Fermi window里面的不可约k点的坐标)加在一起这四个文件包含了求解anisotropic Eliashberg方程的所有信息,求解其他温度的AE方程的时候也会用到这几个文件,但是如果你改了fsthick或者k、q点网格或者是使用cpu核的个数的时候这些将无法reuse。
所以可以看出这些参数是配套使用的。后面会有不同情况的设置举例。
3.控制内存的参量
etf_mem = 1
如果etf_mem=0,则所有精细的Bloch空间el ph矩阵元素都存储在内存中(更快)。当etf_mem=1时,需要更多的IO(较慢)但更少的内存。当etf_mem=2时,精细网格插值部分在模式上执行附加循环。这进一步减少了内存的一个因素“nmodes”。
4.wannier插值相关
nbndsub = 5,
wannierize = .true.
num_iter = 500
dis_froz_max= 8.8
proj(1) = 'B:pz'
proj(2) = 'f=0.5,1.0,0.5:s'
proj(3) = 'f=0.0,0.5,0.5:s'
proj(4) = 'f=0.5,0.5,0.5:s'
这个具体设置看qe画能带和wannier画能带,这个设置要让他俩画的一样。
5.控制输出信息
iverbosity = 2
0 = short output
1 = verbose output.
2 = verbose output for the superconducting part only.
3 = verbose output for the electron-phonon part only [mode resolved linewidths etc..].
6.控制计算边界
eps_acustic = 2.0 ! The lower boundary for the phonon frequency in el-ph and a2f calculations in [cm-1].
注意!这个量不能设置为0.0不然会报错
控制输出文件
ephwrite = .true.
fermi_plot = .true.
写入求解Eliashberg方程时所需的4个文件(在P.ephmat目录中)。
-
”ephmatXX’(XX:池相关文件)文件,磁盘上精细k和q网格上费米窗口(fsthick)内的e-ph矩阵元素
-
“freq”文件包含声子频率
-
“egnv”文件包含费米窗口内的特征值
-
“ikmap”文件包含费米窗口内不可约网格上k点的索引
当Eliashberg=.true时,需要这些文件来求解Eliahberg方程。这些文件可以重复用于不同温度下Eliahbeg方程的后续评估。ephwrite不适用于随机k-或q-mesh,它要求nkf1、nkf2、nkf3是nqf1、nqf2、nqf3的倍数。
7.控制收敛
fsthick = 0.4 ! eV
!费米窗,取最大声子频率的四倍,这里注意单位换算,动力学矩阵中声子频率为THz,1THz=4.13567meV
degaussw = 0.10 ! eV
nsmear = 1 !Number of different smearings used to calculate the phonon self-energy.
delta_smear = 0.04 ! eV
degaussq = 0.5 ! meV
nqstep = 500 !Number of steps used to calculate the a2f
8.控制计算内容
eliashberg = .true.
laniso = .true.
limag = .true.
lpade = .true.
不同的组合代表计算不同的理论
9. 计算温度
conv_thr_iaxis = 1.0d-4
wscut = 1.0 ! eV Upper limit over frequency integration/summation in the Elisashberg eq
!取最大声子频率的10倍,这里注意单位换算,动力学矩阵中声子频率为THz,1THz=4.13567meV
nstemp = 1 ! Nr. of temps
temps = 15.00 ! K provide list of temperetures OR (nstemp and temps = tempsmin tempsmax for even space mode)
nsiter = 500
muc = 0.16
dvscf_dir = '../phonons/save'
10.q点k点
nk1 = 6
nk2 = 6
nk3 = 6
nk和nscf一致
nq1 = 6
nq2 = 6
nq3 = 6
nq和ph.in一致
mp_mesh_k = .true.
nkf1 = 20
nkf2 = 20
nkf3 = 20
nqf1 = 20
nqf2 = 20
nqf3 = 20
nkf和nqf一定要是倍数关系