quasiparticle lifetime

Concerns issues with computing quasiparticle corrections to the DFT eigenvalues - i.e., the self-energy within the GW approximation (-g n), or considering the Hartree-Fock exchange only (-x)

Moderators: Davide Sangalli, andrea.ferretti, myrta gruning, andrea marini, Daniele Varsano

Post Reply
Weiqing Zhou
Posts: 48
Joined: Thu Sep 06, 2018 7:57 am
Location: Wuhan University

quasiparticle lifetime

Post by Weiqing Zhou » Thu Nov 08, 2018 4:46 am

Hi all,

Recently, I try to calculate quasi-particle lifetime in Yambo.
When I calculate the "on-mass-shell" G0W0 lifetime ( yambo -l ) where GW self-energy evaluated at the DFT zero-order energies and Z = 1, I always get error :
________________________________________________________________________________
[03.02] Lifetimes Transitions Selector
======================================


[ERROR] STOP signal received while in :[03.02] Lifetimes Transitions Selector

[ERROR]All virtual transitions are null. Change QP states
_________________________________________________________________________________

Q1 : No matter what parameters I set in QPkrange, the error is still there. Can anyone tell me what happen?

Besides on-shell calculation, I also can obtain the QP lifetime from self-energy and lifetime should be proportional to inverse imaginary self-energy. Self-energy calcualtions ( within PPA and real-axis) works and the result looks reasonable.
Q2 : if I want a meaningful QP lifetime, which approximation (on-mass, ppa or real-axis) should I choose to calculate the self-energy? In other words, In which case, which approximation should I choose?

Q3 : About temperature-dependent lifetime, If I set ElecTemp is nonzero in lifetime calculation, is the difference in lifetime compared to result under 0K meaningful physically?

Weiqing
Weiqing Zhou
Phd student
Wuhan University
Wuhan, Hubei, 430072

User avatar
Daniele Varsano
Posts: 4198
Joined: Tue Mar 17, 2009 2:23 pm
Contact:

Re: quasiparticle lifetime

Post by Daniele Varsano » Thu Nov 08, 2018 6:55 am

Dear Weiking,

Thanks for reporting:
Q1: we need to have a look to understand what is the problem? Can you post your input and report file?
Q2: You need to use the real-axis. PPA model is not meaningful for lifetimes calculations, while on-mass shell can be unaccurate (see e.g. this paper)
Q3: Actually not. ElecTemp affect the occupation number of electrons via Fermi distributions. Temperature effects in lifetimes are governed by el-ph coupling.

Best,
Daniele
Dr. Daniele Varsano
S3-CNR Institute of Nanoscience and MaX Center, Italy
MaX - Materials design at the Exascale
http://www.nano.cnr.it
http://www.max-centre.eu/

Weiqing Zhou
Posts: 48
Joined: Thu Sep 06, 2018 7:57 am
Location: Wuhan University

Re: quasiparticle lifetime

Post by Weiqing Zhou » Wed Jan 16, 2019 7:20 am

Dear Daniele,

Many thanks!
I try to calculate a on-mass shell lifetime (yambo -l) based on dynamical dielectric function from previous real-axis GW calculation (yambo -g n -d -k hartree).
I keep the parameter related to dynamical dielectric function unchanged, f.e BndsRnXd and NGsBlkXd. I thought this procedure would prevent yambo from new dynamical dielectric function calculation to reduce time. But I monitor the log file and found Yambo read previous emld file indeed while a new emld calcualtion was still calculated. Why did it happen?
please see this part:
<16h-50m-35s> P0001: Reading em1d_fragment_2
<16h-50m-35s> P0001: [PARALLEL distribution for RL vectors(X) on 2 CPU] Loaded/Total (Percentual):705/2209(32%)
<16h-50m-35s> P0001: [PARALLEL distribution for Wave-Function states] Loaded/Total(Percentual):97120/97120(100%)
<16h-50m-40s> P0001: [WF] Performing Wave-Functions I/O from ..//SAVE
<16h-50m-40s> P0001: [FFT-X] Mesh size: 21 21 48
<16h-51m-48s> P0001: [X-CG] R(p) Tot o/o(of R) : 60248 612672 100
<16h-51m-48s> P0001: Xo@q[2] | | [000%] --(E) --(X)
<16h-51m-58s> P0001: Xo@q[2] |# | [002%] 09s(E) 06m-32s(X)
.....
<17h-01m-07s> P0001: Xo@q[2] |########################################| [100%] 09m-19s(E) 09m-19s(X)
<17h-01m-07s> P0001: [PARALLEL distribution for X Frequencies on 16 CPU] Loaded/Total (Percentual):115/1834(6%)
<17h-01m-07s> P0001: X@q[2] | | [000%] --(E) --(X)
<17h-01m-08s> P0001: X@q[2] |########################################| [100%] --(E) --(X)
<17h-01m-08s> P0001: [PARALLEL distribution for RL vectors(X) on 2 CPU] Loaded/Total (Percentual):1081/2209(49%)
<17h-01m-08s> P0001: Writing em1d_fragment_2

Best,
Weiqing
Weiqing Zhou
Phd student
Wuhan University
Wuhan, Hubei, 430072

User avatar
Daniele Varsano
Posts: 4198
Joined: Tue Mar 17, 2009 2:23 pm
Contact:

Re: quasiparticle lifetime

Post by Daniele Varsano » Wed Jan 16, 2019 10:58 am

Dear Weiqing,
if yambo read a database and recalculate it, this is because there is some inconsistency between input file and database parameters.
If this happen, this is reported in the report file and the inconsistent variable is indicated by ERR.
Please have a look, if something it is not clear please post the report file.
Best,
Daniele
Dr. Daniele Varsano
S3-CNR Institute of Nanoscience and MaX Center, Italy
MaX - Materials design at the Exascale
http://www.nano.cnr.it
http://www.max-centre.eu/

Weiqing Zhou
Posts: 48
Joined: Thu Sep 06, 2018 7:57 am
Location: Wuhan University

Re: quasiparticle lifetime

Post by Weiqing Zhou » Wed Jan 16, 2019 2:14 pm

Dear Daniele,

thanks for your reply.
I have a look at report and find some *ERR* indeed.

- S/N 005298 -------------------------- v.04.03.00 r.00129 -
[RD./SAVE//ndb.em1d_fragment_2]-----------------------------
:: Current Q-pt index : 2
*ERR* :: X energy range [ev]: 0.00000 50.29583
:: X damping range [ev]: 0.10000 0.10000
*ERR* :: Number of frequencies : 1000
- S/N 005298 -------------------------- v.04.03.00 r.00129 -
[WF] Performing Wave-Functions I/O from ..//SAVE

[FFT-X] Mesh size: 21 21 48

[X-CG] R(p) Tot o/o(of R) : 60248 612672 100
[WR./SAVE//ndb.em1d_fragment_2]-----------------------------
:: Current Q-pt index : 2
:: X energy range [ev]:0.1103E-3 2.424
:: X damping range [ev]: 0.10000 0.10000
:: Number of frequencies : 1834
- S/N 005298 -------------------------- v.04.03.00 r.00129 -

Please see the report of lifetime calculation and input file of real-axis GW and on-mass shell lifetime calculation in the attachment. The report file has been edited by hand for bit limit.
About Number of frequencies, I think I can fix it by ETStpsXd, but I have no idea about X energe range.

Best,
Weiqing
You do not have the required permissions to view the files attached to this post.
Weiqing Zhou
Phd student
Wuhan University
Wuhan, Hubei, 430072

User avatar
Daniele Varsano
Posts: 4198
Joined: Tue Mar 17, 2009 2:23 pm
Contact:

Re: quasiparticle lifetime

Post by Daniele Varsano » Wed Jan 16, 2019 2:27 pm

Dear Weiqing,
the X energy range should be determined by the number of bands, but I can see that your input is correct.
I will have a look on that, anyway a simple fix for that is the following:
in src/io/io_X.F
you should have the following line:
VAR=" :: X energy range [ev]:",R1=Xw%er,WARN =.true.,OP=(/"==","=="/))
this will emit a Warning instead an Error and would fix the problem.
This is how it is now in the last version of the code. I can see that you are not using the last snapshot and probably you have a CHECK=.true. instead of WARN=.true.
You can modify accordingly and recompile.

Best,
Daniele
Dr. Daniele Varsano
S3-CNR Institute of Nanoscience and MaX Center, Italy
MaX - Materials design at the Exascale
http://www.nano.cnr.it
http://www.max-centre.eu/

Weiqing Zhou
Posts: 48
Joined: Thu Sep 06, 2018 7:57 am
Location: Wuhan University

Re: quasiparticle lifetime

Post by Weiqing Zhou » Sun Jan 20, 2019 8:40 am

Dear Daniele,

Thanks for your guide! I modify code accordingly and recompile Yambo.
In report, X energy range is not a ERR anymore. But In yambo -l, number of frequencies likely cannot be fixed by parameter ETStpsXd. I set ETStpsXd = 1000, while current number of frequencies is not 1000. (please input and report file see attachment). Can you help me fix this problem ? or is it impossible to use real-axis emld in following on-mass-shell lifetime calculation ?
Besides on-mass-shell calculation, I calculate lifetime by real-axis GW. I find there is a huge difference between these two result. (see result in attachment)
Is it reasonable ? which one I should take as result?
Note that : All parameter related to dynamics dielectric function (RPA) has been checked for convergence and This case is about a metal.

Best,
Weiqing
You do not have the required permissions to view the files attached to this post.
Weiqing Zhou
Phd student
Wuhan University
Wuhan, Hubei, 430072

User avatar
Daniele Varsano
Posts: 4198
Joined: Tue Mar 17, 2009 2:23 pm
Contact:

Re: quasiparticle lifetime

Post by Daniele Varsano » Mon Jan 21, 2019 10:02 am

Dear Weiqing,
it seems there is a conflict between the "lifetime" and "em1d" runlevel. We need to investigate, actually, I'm not an expert on this part.
About the difference between the two calculations you can have a look to the Andrea Marini PhD thesis were the difference between the two approximations is discussed.
You can download it here:
http://www.yambo-code.org/publications/theses.php

Please note that due to the problem in reading the database, "lifetime" calculation is done with a very low energy range:

Code: Select all

   :: X energy range     [ev]:0.4866E-5  2.405
Next I noticed you have a warning about the serial number:

Code: Select all

  [WARNING]Wrong serial number for ./lifetime//ndb.em1d
this means the database comes from a different SAVE directory, please check everything is compatible.

Best,
Daniele
Dr. Daniele Varsano
S3-CNR Institute of Nanoscience and MaX Center, Italy
MaX - Materials design at the Exascale
http://www.nano.cnr.it
http://www.max-centre.eu/

Post Reply