EPW的输入文件浅析


参考

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一定要是倍数关系
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值