Yambo DFT energies mismatch with those of abinit's
Moderators: Daniele Varsano, andrea marini, Conor Hogan, myrta gruning

 Posts: 149
 Joined: Tue Apr 08, 2014 6:05 am
Yambo DFT energies mismatch with those of abinit's
Dear Daniele,
When i calculate DFT band energies with abinit, i see in the log file of abinit different DFT energies than those
in the r_setup file of yambo for the same K point (both energies in eV) !
There are differences between DFT energies reported in abinit and r_setup file of yambo in the range of some eV !
Bests
Martin
When i calculate DFT band energies with abinit, i see in the log file of abinit different DFT energies than those
in the r_setup file of yambo for the same K point (both energies in eV) !
There are differences between DFT energies reported in abinit and r_setup file of yambo in the range of some eV !
Bests
Martin
You do not have the required permissions to view the files attached to this post.
Martin Spenke, PhD Student
TheoretischPhysikalisches Institut
Universität Hamburg, Germany
TheoretischPhysikalisches Institut
Universität Hamburg, Germany
 Daniele Varsano
 Posts: 2097
 Joined: Tue Mar 17, 2009 2:23 pm
 Contact:
Re: Yambo DFT energies mismatch with those of abinit's
Dear Martin,
strange enough!! Yambo apply a shift and set as 0eV the valence band maximum, so you should look at energy differences (or alternatively shift you
energies by 3.42eV .
Beside that, I can see a small difference of 0.06eV that should not appear. This happen looking at differences between occupied and non occupied states. Differences between occupied states looks me to be correct.
I'm not expert on abinit, a possible reason anyway is that you are interfacing yambo after an scf calculation (iscf=5). The correct procedure is to perform a non self consistent calculation (iscf=2) after an scf minimization and produce the KSS file form that run. Please follow this procedure and produce the yambo databases from the KSS produced from the nscf run.
If the problem persists, please post here your output (yambo and abinit) and the abinit files (inputs, pseudos) and we will try to reproduce the problem and fix it.
Best,
Daniele
strange enough!! Yambo apply a shift and set as 0eV the valence band maximum, so you should look at energy differences (or alternatively shift you
energies by 3.42eV .
Beside that, I can see a small difference of 0.06eV that should not appear. This happen looking at differences between occupied and non occupied states. Differences between occupied states looks me to be correct.
I'm not expert on abinit, a possible reason anyway is that you are interfacing yambo after an scf calculation (iscf=5). The correct procedure is to perform a non self consistent calculation (iscf=2) after an scf minimization and produce the KSS file form that run. Please follow this procedure and produce the yambo databases from the KSS produced from the nscf run.
If the problem persists, please post here your output (yambo and abinit) and the abinit files (inputs, pseudos) and we will try to reproduce the problem and fix it.
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: 149
 Joined: Tue Apr 08, 2014 6:05 am
Re: Yambo DFT energies mismatch with those of abinit's
Dear Daniele,
1) Yea, now i am using iscf=2 and every thing works perfectly with NO 0.06 eV differences.
Strangely iscf=2 gives me for MgO in abinit a by 1.3 eV larger LDA band gap than iscf=5 for the same 8x8x8 kgrid.
2) Now for the determination of energy range in a real axis gw calculation do i have to use these by yambo shifted energies as reference or the abinit DFT energies ?
I guess i have to use those shifted energies from yambo.
Best Regards
Martin
1) Yea, now i am using iscf=2 and every thing works perfectly with NO 0.06 eV differences.
Strangely iscf=2 gives me for MgO in abinit a by 1.3 eV larger LDA band gap than iscf=5 for the same 8x8x8 kgrid.
2) Now for the determination of energy range in a real axis gw calculation do i have to use these by yambo shifted energies as reference or the abinit DFT energies ?
I guess i have to use those shifted energies from yambo.
Best Regards
Martin
Martin Spenke, PhD Student
TheoretischPhysikalisches Institut
Universität Hamburg, Germany
TheoretischPhysikalisches Institut
Universität Hamburg, Germany
 Daniele Varsano
 Posts: 2097
 Joined: Tue Mar 17, 2009 2:23 pm
 Contact:
Re: Yambo DFT energies mismatch with those of abinit's
Dear Martin,
1) 1.3 eV difference between an scf and nonscf calculation is rather large. I'm not expert of abinit, anyway in general I would be more confident of a nonscf calculation after having calculated a very wellconverged ground state scf density. This is because a nonscf converge criteria is based on the all eigenvalues/eigenfunction, while an scf calculation the criteria is set on the ground state density or total energy (ie only occupied states involved). I guess that the occupied states are the same for the two calculations. Anyway this is something you can ask to the abinit people.
2) I do not know if I have well understood your question. After having calculated the nonscf energies abinit and yambo should coincide right?
Anyway,to be consistent you should consider the yambo energies. In any case, 1eV in the energy range should not be critical (and If I'm not wrong now yambo consider the maxmum energy difference as default range, but I should check, may it is not true). What is more delicate is the energy step in order to have an accurate evaluation of the frequency integral, but of course the larger is the number of steps the larger is the consumed memory. You can have a look here.
Best,
Daniele
1) 1.3 eV difference between an scf and nonscf calculation is rather large. I'm not expert of abinit, anyway in general I would be more confident of a nonscf calculation after having calculated a very wellconverged ground state scf density. This is because a nonscf converge criteria is based on the all eigenvalues/eigenfunction, while an scf calculation the criteria is set on the ground state density or total energy (ie only occupied states involved). I guess that the occupied states are the same for the two calculations. Anyway this is something you can ask to the abinit people.
2) I do not know if I have well understood your question. After having calculated the nonscf energies abinit and yambo should coincide right?
Anyway,to be consistent you should consider the yambo energies. In any case, 1eV in the energy range should not be critical (and If I'm not wrong now yambo consider the maxmum energy difference as default range, but I should check, may it is not true). What is more delicate is the energy step in order to have an accurate evaluation of the frequency integral, but of course the larger is the number of steps the larger is the consumed memory. You can have a look here.
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: 149
 Joined: Tue Apr 08, 2014 6:05 am
Re: Yambo DFT energies mismatch with those of abinit's
Dear Daniele,
1) As you said, i am also more confident with nscf calculation than scf. Any way i will later have to shift to Quantum Espresso since i am interested in electron phonon calculations. Hopefully QE is not too tricky to learn.
By the way abinit people hardly answer questions, sorry for asking here.
2) Yes, after After having calculated the nonscf energies abinit and yambo coincide when i add fermi energy to yambo energies. So this is no problem.
I just meant, that for real axis gw calculation you have in the input file this KEYWORD :
Now should i for the determination of the energy range in gw calculation take into account the abinit energies or the yambo shifted energies as reference to be able to determine the energy window for excitations between band 1 to 10?
Yea exactly, as you said, the energy step keyword in gw seems to be tricky as it costs too much computation time and memory the finer it becomes.
All the best
Martin
1) As you said, i am also more confident with nscf calculation than scf. Any way i will later have to shift to Quantum Espresso since i am interested in electron phonon calculations. Hopefully QE is not too tricky to learn.
By the way abinit people hardly answer questions, sorry for asking here.
2) Yes, after After having calculated the nonscf energies abinit and yambo coincide when i add fermi energy to yambo energies. So this is no problem.
I just meant, that for real axis gw calculation you have in the input file this KEYWORD :
Code: Select all
% EnRngeXd
20.000  20.00000  eV # [Xd] Energy range
%
Yea exactly, as you said, the energy step keyword in gw seems to be tricky as it costs too much computation time and memory the finer it becomes.
All the best
Martin
Martin Spenke, PhD Student
TheoretischPhysikalisches Institut
Universität Hamburg, Germany
TheoretischPhysikalisches Institut
Universität Hamburg, Germany
 Daniele Varsano
 Posts: 2097
 Joined: Tue Mar 17, 2009 2:23 pm
 Contact:
Re: Yambo DFT energies mismatch with those of abinit's
Dear Martin,
Careful, the calculation of the correlation part of the self energy, for every state, involves an integral over all frequencies (energies) see Eq.5 of the yambo paper. Anyway your integrand make senses in the energy range omega=EcEv. So it should be set to the biggest difference between an unoccupied and an occupied state. The more unoccupied state you calculate the more this range is bigger. As usual it is something that should be brought at convergences. As you can see, it depends on energy difference between occupied and unoccupied states, so the zero energies (or the shift if you want) is totally non influent. Anyway, you know in advance that the plasmon pole approximation is not useful for your system?
Real axis calculation are much more heavy and very hard to converge!!!
Best,
Daniele
Careful, the calculation of the correlation part of the self energy, for every state, involves an integral over all frequencies (energies) see Eq.5 of the yambo paper. Anyway your integrand make senses in the energy range omega=EcEv. So it should be set to the biggest difference between an unoccupied and an occupied state. The more unoccupied state you calculate the more this range is bigger. As usual it is something that should be brought at convergences. As you can see, it depends on energy difference between occupied and unoccupied states, so the zero energies (or the shift if you want) is totally non influent. Anyway, you know in advance that the plasmon pole approximation is not useful for your system?
Real axis calculation are much more heavy and very hard to converge!!!
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: 149
 Joined: Tue Apr 08, 2014 6:05 am
Re: Yambo DFT energies mismatch with those of abinit's
Dear Daniele,
You mean some thing like this :
or
Because i am interested in accurate bse spectra for transition metal oxides (ZnO, CdO) i am not sure pp model can be reliable.
By the way you have to know the frequencies before hand at which you calculate Epsilon. But i do not know these frequencies.
For me it's enough to have convergence in 2 digits in real axis calculation for quasi particle energies.
I tested p2y interface for some norm conserving pseudo potentials from QEdata base but for most of them i get segmentation error when running ./p2y S N.
Is p2y version 5 only compatible for small type of norm conserving pseudo potentials?
I also face another problem :
When running yambo on a cluster consisting of 24 Processors, the calculations are nearly as fast as when running yambo on my 8 Processor notebook.
Is there any saturation effect beyond 8 Processors ?
Bests
Martin
I understand what you say but just to be very sure :Anyway your integrand make senses in the energy range omega=EcEv. So it should be set to the biggest difference between an unoccupied and an occupied state
You mean some thing like this :
Code: Select all
% EnRngeXd
0.000  (EcEv)  eV # [Xd] Energy range
%
Code: Select all
% EnRngeXd
Ec  Ev  eV # [Xd] Energy range
%
Because i am interested in accurate bse spectra for transition metal oxides (ZnO, CdO) i am not sure pp model can be reliable.
By the way you have to know the frequencies before hand at which you calculate Epsilon. But i do not know these frequencies.
For me it's enough to have convergence in 2 digits in real axis calculation for quasi particle energies.
I tested p2y interface for some norm conserving pseudo potentials from QEdata base but for most of them i get segmentation error when running ./p2y S N.
Is p2y version 5 only compatible for small type of norm conserving pseudo potentials?
I also face another problem :
When running yambo on a cluster consisting of 24 Processors, the calculations are nearly as fast as when running yambo on my 8 Processor notebook.
Is there any saturation effect beyond 8 Processors ?
Bests
Martin
Martin Spenke, PhD Student
TheoretischPhysikalisches Institut
Universität Hamburg, Germany
TheoretischPhysikalisches Institut
Universität Hamburg, Germany
 Daniele Varsano
 Posts: 2097
 Joined: Tue Mar 17, 2009 2:23 pm
 Contact:
Re: Yambo DFT energies mismatch with those of abinit's
Dea Martin,
1) The correct way is:
2) For the PP it is not important an exact energy, the first energy is 0 by default, the second one has to be higher than the pole. Of course some testing is always a good practice.
3) All norm conserving should work, if you are interested in a particular pseudo, please post the error and the pseudo.
4) No, the saturation should happen with more than 8 processor, anyway depend on which part of the calculation is the more time consuming.
Moreover the scaling it could be sensible on the mpi libraries etc.
Best,
Daniele
1) The correct way is:
Code: Select all
% EnRngeXd
0.000  max(EcEv)  eV # [Xd] Energy range
%
3) All norm conserving should work, if you are interested in a particular pseudo, please post the error and the pseudo.
4) No, the saturation should happen with more than 8 processor, anyway depend on which part of the calculation is the more time consuming.
Moreover the scaling it could be sensible on the mpi libraries etc.
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/