quasiparticle lifetime
Moderators: Davide Sangalli, andrea.ferretti, myrta gruning, andrea marini, Daniele Varsano
-
- Posts: 48
- Joined: Thu Sep 06, 2018 7:57 am
- Location: Wuhan University
quasiparticle lifetime
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
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
Phd student
Wuhan University
Wuhan, Hubei, 430072
- Daniele Varsano
- Posts: 4198
- 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 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
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/
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/
-
- 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 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
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
Phd student
Wuhan University
Wuhan, Hubei, 430072
- Daniele Varsano
- Posts: 4198
- 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
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/
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/
-
- 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 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
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
Phd student
Wuhan University
Wuhan, Hubei, 430072
- Daniele Varsano
- Posts: 4198
- 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
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/
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/
-
- 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 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
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
Phd student
Wuhan University
Wuhan, Hubei, 430072
- Daniele Varsano
- Posts: 4198
- 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.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:
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.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
Code: Select all
[WARNING]Wrong serial number for ./lifetime//ndb.em1d
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/
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/