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

 Posts: 48
 Joined: Thu Sep 06, 2018 7:57 am
 Location: Wuhan University
quasiparticle lifetime
Hi all,
Recently, I try to calculate quasiparticle lifetime in Yambo.
When I calculate the "onmassshell" G0W0 lifetime ( yambo l ) where GW selfenergy evaluated at the DFT zeroorder 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 onshell calculation, I also can obtain the QP lifetime from selfenergy and lifetime should be proportional to inverse imaginary selfenergy. Selfenergy calcualtions ( within PPA and realaxis) works and the result looks reasonable.
Q2 : if I want a meaningful QP lifetime, which approximation (onmass, ppa or realaxis) should I choose to calculate the selfenergy? In other words, In which case, which approximation should I choose?
Q3 : About temperaturedependent lifetime, If I set ElecTemp is nonzero in lifetime calculation, is the difference in lifetime compared to result under 0K meaningful physically?
Weiqing
Recently, I try to calculate quasiparticle lifetime in Yambo.
When I calculate the "onmassshell" G0W0 lifetime ( yambo l ) where GW selfenergy evaluated at the DFT zeroorder 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 onshell calculation, I also can obtain the QP lifetime from selfenergy and lifetime should be proportional to inverse imaginary selfenergy. Selfenergy calcualtions ( within PPA and realaxis) works and the result looks reasonable.
Q2 : if I want a meaningful QP lifetime, which approximation (onmass, ppa or realaxis) should I choose to calculate the selfenergy? In other words, In which case, which approximation should I choose?
Q3 : About temperaturedependent 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
Phd student
Wuhan University
Wuhan, Hubei, 430072
 Daniele Varsano
 Posts: 2374
 Joined: Tue Mar 17, 2009 2:23 pm
 Contact:
Re: quasiparticle lifetime
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 realaxis. PPA model is not meaningful for lifetimes calculations, while onmass 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 elph coupling.
Best,
Daniele
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 realaxis. PPA model is not meaningful for lifetimes calculations, while onmass 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 elph coupling.
Best,
Daniele
Dr. Daniele Varsano
S3CNR Institute of Nanoscience and MaX Center, Italy
MaX  Materials design at the Exascale
http://www.nano.cnr.it
http://www.maxcentre.eu/
S3CNR Institute of Nanoscience and MaX Center, Italy
MaX  Materials design at the Exascale
http://www.nano.cnr.it
http://www.maxcentre.eu/

 Posts: 48
 Joined: Thu Sep 06, 2018 7:57 am
 Location: Wuhan University
Re: quasiparticle lifetime
Dear Daniele,
Many thanks!
I try to calculate a onmass shell lifetime (yambo l) based on dynamical dielectric function from previous realaxis 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:
<16h50m35s> P0001: Reading em1d_fragment_2
<16h50m35s> P0001: [PARALLEL distribution for RL vectors(X) on 2 CPU] Loaded/Total (Percentual):705/2209(32%)
<16h50m35s> P0001: [PARALLEL distribution for WaveFunction states] Loaded/Total(Percentual):97120/97120(100%)
<16h50m40s> P0001: [WF] Performing WaveFunctions I/O from ..//SAVE
<16h50m40s> P0001: [FFTX] Mesh size: 21 21 48
<16h51m48s> P0001: [XCG] R(p) Tot o/o(of R) : 60248 612672 100
<16h51m48s> P0001: Xo@q[2]   [000%] (E) (X)
<16h51m58s> P0001: Xo@q[2] #  [002%] 09s(E) 06m32s(X)
.....
<17h01m07s> P0001: Xo@q[2] ######################################## [100%] 09m19s(E) 09m19s(X)
<17h01m07s> P0001: [PARALLEL distribution for X Frequencies on 16 CPU] Loaded/Total (Percentual):115/1834(6%)
<17h01m07s> P0001: X@q[2]   [000%] (E) (X)
<17h01m08s> P0001: X@q[2] ######################################## [100%] (E) (X)
<17h01m08s> P0001: [PARALLEL distribution for RL vectors(X) on 2 CPU] Loaded/Total (Percentual):1081/2209(49%)
<17h01m08s> P0001: Writing em1d_fragment_2
Best,
Weiqing
Many thanks!
I try to calculate a onmass shell lifetime (yambo l) based on dynamical dielectric function from previous realaxis 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:
<16h50m35s> P0001: Reading em1d_fragment_2
<16h50m35s> P0001: [PARALLEL distribution for RL vectors(X) on 2 CPU] Loaded/Total (Percentual):705/2209(32%)
<16h50m35s> P0001: [PARALLEL distribution for WaveFunction states] Loaded/Total(Percentual):97120/97120(100%)
<16h50m40s> P0001: [WF] Performing WaveFunctions I/O from ..//SAVE
<16h50m40s> P0001: [FFTX] Mesh size: 21 21 48
<16h51m48s> P0001: [XCG] R(p) Tot o/o(of R) : 60248 612672 100
<16h51m48s> P0001: Xo@q[2]   [000%] (E) (X)
<16h51m58s> P0001: Xo@q[2] #  [002%] 09s(E) 06m32s(X)
.....
<17h01m07s> P0001: Xo@q[2] ######################################## [100%] 09m19s(E) 09m19s(X)
<17h01m07s> P0001: [PARALLEL distribution for X Frequencies on 16 CPU] Loaded/Total (Percentual):115/1834(6%)
<17h01m07s> P0001: X@q[2]   [000%] (E) (X)
<17h01m08s> P0001: X@q[2] ######################################## [100%] (E) (X)
<17h01m08s> P0001: [PARALLEL distribution for RL vectors(X) on 2 CPU] Loaded/Total (Percentual):1081/2209(49%)
<17h01m08s> P0001: Writing em1d_fragment_2
Best,
Weiqing
Weiqing Zhou
Phd student
Wuhan University
Wuhan, Hubei, 430072
Phd student
Wuhan University
Wuhan, Hubei, 430072
 Daniele Varsano
 Posts: 2374
 Joined: Tue Mar 17, 2009 2:23 pm
 Contact:
Re: quasiparticle lifetime
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
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
S3CNR Institute of Nanoscience and MaX Center, Italy
MaX  Materials design at the Exascale
http://www.nano.cnr.it
http://www.maxcentre.eu/
S3CNR Institute of Nanoscience and MaX Center, Italy
MaX  Materials design at the Exascale
http://www.nano.cnr.it
http://www.maxcentre.eu/

 Posts: 48
 Joined: Thu Sep 06, 2018 7:57 am
 Location: Wuhan University
Re: quasiparticle lifetime
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 Qpt 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 WaveFunctions I/O from ..//SAVE
[FFTX] Mesh size: 21 21 48
[XCG] R(p) Tot o/o(of R) : 60248 612672 100
[WR./SAVE//ndb.em1d_fragment_2]
:: Current Qpt index : 2
:: X energy range [ev]:0.1103E3 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 realaxis GW and onmass 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
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 Qpt 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 WaveFunctions I/O from ..//SAVE
[FFTX] Mesh size: 21 21 48
[XCG] R(p) Tot o/o(of R) : 60248 612672 100
[WR./SAVE//ndb.em1d_fragment_2]
:: Current Qpt index : 2
:: X energy range [ev]:0.1103E3 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 realaxis GW and onmass 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
Phd student
Wuhan University
Wuhan, Hubei, 430072
 Daniele Varsano
 Posts: 2374
 Joined: Tue Mar 17, 2009 2:23 pm
 Contact:
Re: quasiparticle lifetime
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
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
S3CNR Institute of Nanoscience and MaX Center, Italy
MaX  Materials design at the Exascale
http://www.nano.cnr.it
http://www.maxcentre.eu/
S3CNR Institute of Nanoscience and MaX Center, Italy
MaX  Materials design at the Exascale
http://www.nano.cnr.it
http://www.maxcentre.eu/

 Posts: 48
 Joined: Thu Sep 06, 2018 7:57 am
 Location: Wuhan University
Re: quasiparticle lifetime
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 realaxis emld in following onmassshell lifetime calculation ?
Besides onmassshell calculation, I calculate lifetime by realaxis 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
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 realaxis emld in following onmassshell lifetime calculation ?
Besides onmassshell calculation, I calculate lifetime by realaxis 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
Phd student
Wuhan University
Wuhan, Hubei, 430072
 Daniele Varsano
 Posts: 2374
 Joined: Tue Mar 17, 2009 2:23 pm
 Contact:
Re: quasiparticle lifetime
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.yambocode.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:
Next I noticed you have a warning about the serial number:
this means the database comes from a different SAVE directory, please check everything is compatible.
Best,
Daniele
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.yambocode.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.4866E5 2.405
Code: Select all
[WARNING]Wrong serial number for ./lifetime//ndb.em1d
Best,
Daniele
Dr. Daniele Varsano
S3CNR Institute of Nanoscience and MaX Center, Italy
MaX  Materials design at the Exascale
http://www.nano.cnr.it
http://www.maxcentre.eu/
S3CNR Institute of Nanoscience and MaX Center, Italy
MaX  Materials design at the Exascale
http://www.nano.cnr.it
http://www.maxcentre.eu/