电声耦合使用QE-EPW所用到的参数含义

电声耦合计算

Quantum Espresso PHonon模块

GRID example

网格的大小由下面几个参数决定
nqs q点的数量
x_q q点的坐标
nfs 频率(imaginary frequencies)的个数
fiu 哪一个频率
在recover计算中,程序首先从phq_readin读入文件(如果这是起始的计算,那phq_readin会设置这些参量)frequencytensors从输入文件中读。
comp_iq 决定这个q点是否计算
comp_irr_iq决定这个表示是否计算
comp_iu这个频率是否计算

EPW

degaussw
电子在晶格中运动的时候会使晶格发生微小的畸变(由于库伦相互作用),晶格畸变反过来又作用到电子上,是的电子动力学发生变化,导致电子的quasi-particle state有效质量增加,lifetime降低,在场论里面,人们用电子自能来描述由于电声耦合导致的电子动力学的变化。自能的实部描述的是电子能量的变化,虚部描述的是电子lifetime的变化
\tau = \frac{\hbar}{2Im\Sigma}
电子自能算符的对角项作用在unperturbed 电子态上得到
\Sigma = <nk|\Sigma(r,r',\omega)|nk>
计算电子自能的时候公式里边

Adapted from slides of S. Ponre

是为了让这一项不至于发散,计算虚部的时候它就变成了函数,而degaussw就是描述这个函数的展宽(在数值计算里涉及函数的计算往往需要如此处理)。
degaussq 这个标签描述的是计算电声耦合常数的时候的函数的展宽,因为声子能量一般比较低,所以这个值也一般取的比较小,在0.05~0.2meV左右。这个参数在QE的计算中也会涉及,实际上测试这个展宽的收敛性比较重要。
以上这两个展宽在实际计算中都需要测试,开发者给出的测试方法是首先给一个相对较大的数值,然后增大k网格和q网格让结果收敛(degaussq的收敛在prefix.iso文件里边会有输出),然后再减小两者的数值,再增大k网格和q网格让结果收敛,这样最后的结果就是比较可信的结果。从前面他们已经发表的文献来看,degaussw一般取10~15甚至35meV然后不断增大k点网格与q点网格得到收敛结果,degaussq则一般取0.05~0.2meV。
在硼烯的计算中,他们使用了720x720x1(180x180x1)的k(q)点网格来得到在上面提到的值上收敛的结果。
Prediction of phonon-mediated superconductivity in borophene
在17年计算硼烯的这篇文章附录中展示了他们的大量的测试的结果
Beta相硼烯测试结果.png

Chi相硼烯测试结果.png

可以看到即使使用了大量的K点和q点网格依然不能得到在趋于0的时候的收敛的结果,所以他们选取平台的出现作为标准。

eptemp is the temperature at which you want your results. The temperature eptemp will give the value of the Bose-Einstein n(T) factors.

degaussw is the broadening on the delta of electron properties.
degaussq is the broadening on the delta of phonon properties.
If those parameters are too large, you will wash out important features. If they are too small you will have numerical instabilities.
In theory, those two parameters can be 0 if you have dense enough k/q-points grids.

In my opinion, the correct way to converge them is to do the following:

  1. set degaussw and degaussq to relatively large value and then increase the k/q sampling until your results converge
  2. decrease degaussw and degaussq and then increase the k/q sampling until your results converge (you will notice that you need larger k/q grid >to achieve convergence).
  3. repeat until the difference of the converge results (in k/q) converge also in degaussw and degaussq.

Note that if you study for example Eliashberg spectral functions, different value of degaussq will be outputed by default in a2F file.
I usually converge on degaussw only and check that degaussq is relatively stable.

delta_approx
这个标签决定在计算声子线宽(linewidth)的时候是否采用double delta approximation
根据EPW forum上roxana(EPW tutorial里面讲超导的主讲人)描述,EPW程序里面关于超导性质a^2F,T_c的估算和能隙的计算都是采用的double delta approximation的。
我在计算中测试了使用delta_approx为true和false的两种情况,在k点足够密集以后都得到了收敛的结果,但是两者明显不同。(y?)

1.jpg

输出文件及其包含的内容

prefix.epb 包含最初的k/q点网格上的Hamiltonian、动力学矩阵元、电声耦合矩阵元。
prefix.epmatwp1,crystal.fmt,dmedata.fmt,epwdata.fmt 转化到Wannier表象中的Hamiltonian、动力学矩阵元、电声耦合矩阵元。
ep_coupling
elph
这两个参数是用来计算*.ephmat, *.freq, *.egnv, and *.ikmap这些文件的,如果前面已经得到了这些文件,那么在接下来计算超导的时候就可以把这两个参数关掉,但是用到的cpu核数必须和之前一致,因为ephmat文件个数和核数一样。具体参见EPW-forum
epbread这个是读取bloch表象的电声耦合矩阵元的标签,实际上有了 *.epmatwp1文件之后,就不需要读取epb了,而是直接读取 *.epmatwp1和epwdata.fmt文件,并且读取 *.epmatwp1文件没有核数的限制,它是wannier表象的电声耦合矩阵元,设置kmaps = .true.就可以了,但是这里其实并没有读取"prefix.kmap" and "prefix.kgmap"这两个文件。只是读取了 *.epmatwp1和epwdata.fmt文件。
ephwrite
这个参数是用来控制是否输出 *.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。

读入Eliashberg谱函数求各向同性Eliashberg方程

fila2f = 'prefix.a2f'
EPW中提供了一种直接通过Eliashberg谱函数求解各向同性Eliashberg方程的方法,只需要提供\alpha^2F(\omega)的信息就行了,不过文件的格式以及单位必须和EPW自己产生的文件一致,第一列是声子频率,单位是meV,第二列是谱函数,应该是无量纲数。同时注意控制读写的输入参数应该与这个里面一致 Pade approximation

&inputepw
prefix = 'BaTiO3',
amass(1) = 137.34
amass(2) = 47.90
amass(3) = 16.00
outdir = './'

ep_coupling = .false.
elph = .false.
kmaps = .false.
epbwrite = .false.
epbread = .true.
epwwrite = .false.
epwread = .true.


fsthick = 0.5 ! eV
eptemp = 0.075 ! K
degaussw = 0.05 ! eV

a2f = .false.

dvscf_dir = '../phonons/save'

fila2f = 'BaTiO3.a2f'

ephwrite = .false.
eliashberg = .true.

laniso = .false.
liso = .true.
lreal = .false.
limag = .true.
lpade = .true.

conv_thr_iaxis = 1.0d-3
wscut = 0.525 ! eV

nstemp = 2
tempsmin = 0.005
tempsmax = 0.030

nsiter = 500

muc = 0.1

nkf1 = 20
nkf2 = 20
nkf3 = 20

nqf1 = 20
nqf2 = 20
nqf3 = 20

nk1 = 4
nk2 = 4
nk3 = 4
/
10 cartesian
0.0000000 0.0000000 0.0000000 0.0312500
0.0000000 0.0000000 0.2500000 0.1875000
0.0000000 0.0000000 -0.5000000 0.0937500
0.0000000 0.2500000 0.2500000 0.3750000
0.0000000 0.2500000 -0.5000000 0.3750000
0.0000000 -0.5000000 -0.5000000 0.0937500
0.2500000 0.2500000 0.2500000 0.2500000
0.2500000 0.2500000 -0.5000000 0.3750000
0.2500000 -0.5000000 -0.5000000 0.1875000
-0.5000000 -0.5000000 -0.5000000 0.0312500

EPW声子谱和QE不一致

这个问题一般是由于声子求和规则导致的,EPW中提供了读入实空间力常数来计算声子频率的方法,并且也提供了相应的声子求和规则(与matdyn.f90里面的相同)。只需要改lifc = .t.,然后再设置声子求和规则asr_typ = crystal(我一般都取crystal),同时需要注意的是要保证之前计算QE得到的文件通过pp.py收集起来那个必须有q2r.x产生的实空间力常数文件并且已经被命名为ifc.q2r,对于包含SOC的情况,这个文件必须叫ifc.q2r.xml并且是xml格式的文件。(这个一般不是太老的脚本pp.py都会自动帮你做这件事情。)参考phonon bandstructure from EPW and matdyn.x don't match

MoS_2电声耦合常数偏低的问题

这段时间被这个问题所困扰,无法重复出文献中的数值,doping之后的单层MoS_2电声耦合计算总是偏低,后来发现是smearing和层间距的问题,这里简单介绍一下电子结构计算中smearing的选取。
首先我们要明确为什么要有电子展宽,对于DFT里面很多参量(total energy、charge density)的计算,需要对占据态做求和,求和的过程中就会发现如果我们按照严格的基态的Fermi-Dirac分布来看,费米面以上的占据数严格为0的话,那么我们往往需要非常密集的K点sampling才能取得收敛的结果,因为费米面附近的精度将会大大影响计算结果,是否计入某个点可能会使结果变化很大。为了克服这一点,人们提出使用展宽的方式来使得我们即使在不那么密集的k点取样的情况下也能得到和严格情形下密集取样类似的结果。详见theos-ElectronicTemperature

tetrahedron & tetrahedron method with Blochl correction
这个方法适合计算体相材料的总能和态密度,这个方法没办法做分数占据。所以计算金属的原子受力和压力张量会有5%到10%的偏差。
mp
可以说是对高斯展宽的一般化,0阶mp分布就对应于高斯展宽。这个方法适合声子的计算,对这种方法的简单介绍可以参考这篇文章Methfessel-Paxton,大概思想就是用高阶厄密多项式来展开费米面附近的展宽,这个方法也可以对总能有很好的估计,但是展宽值的选取需要格外小心,展宽太大算出来总能可能不准确,小的展宽需要比较密集的k点取样。一个参考标准就是自由能与总能之差小于1meV/atom(针对VASP中的计算)。对于比较大的超胞MP方法也是很好的选择。不适用于半导体和绝缘体。详见VASP-ISMEAR,需要注意的是,这里虽然取的展宽,但是计算的总能是基态的总能也就是对应的0温的总能。但是mp展宽有时候会出现负占据和大于1占据的问题。

marzari-vanderbilt
Marzari为了解决上面的负占据和大于1占据的问题构造出来的方法,也叫做cold-smearing。我在QE的计算能带的example里面看到经常使用mv展宽,但是最近就是在这个上面不小心导致计算doping MoS_2的声子的软化和电声耦合远小于文献中的数值,所以计算声子的时候还是尽量使用mp展宽。
Fermi-Dirac
这个按照道理来说是最接近有限温情形下的电子分布的,但是使用这个也有一些问题,比如说想要得到比较收敛的结果需要比较大的展宽(0.1~0.5eV),这时候Fermi-Dirac分布的尾巴就会比较长,就需要算入很多的态,增加计算量。所以也不是说这个就比别的好,有时候可能还不如用一个比较假的smearing比如高斯。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,185评论 6 503
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,652评论 3 393
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 163,524评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,339评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,387评论 6 391
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,287评论 1 301
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,130评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,985评论 0 275
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,420评论 1 313
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,617评论 3 334
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,779评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,477评论 5 345
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,088评论 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,716评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,857评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,876评论 2 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,700评论 2 354

推荐阅读更多精彩内容