Page 1 of 1

EPS-Im and EPS-Re values are too high in BSE calculation

Posted: Tue Apr 02, 2024 7:56 am
by Zafer Kandemir
Dear Developers,

For a metallic system I used the BSE-diago solver. When I compare it with the literature, the values are reasonable. What could be the reason for the high values I obtained?
I attached input, output and report files.

Best regards,
Zafer

Re: EPS-Im and EPS-Re values are too high in BSE calculation

Posted: Tue Apr 02, 2024 9:05 am
by Daniele Varsano
Dear Zafer,

first, please note that metallic intraband screening is not taken into account, so your QP band structure may result to be not accurate.
For different strategy to take it into account, you can have a look at:
https://journals.aps.org/prb/abstract/1 ... 107.155130

What is happening here is probably that you have nearly zero inter-band gap, which results in a divergence in the epsilon.
Also note that for the same reason, it seems that the electron-hole interaction is completely screened which results in BSE spectrum practically identical to independent-particle one, which makes the BSE useless (see column 2 and 4 of the BSE output).

I suggest you to rationalize the band structure and the independent particle result before going on with many-body corrections.

Best,
Daniele

Re: EPS-Im and EPS-Re values are too high in BSE calculation

Posted: Tue Apr 02, 2024 10:31 am
by Zafer Kandemir
Dear Daniele,

Thank you very much for your answer. I will take your advice into consideration. I will try IP calculation.
I had obtained the QP energies using the real-axis method in the GW of this BSE calculation.
When I compare the GW and PBE bands, they seem to be calculated correctly, except for the slippage.
I attached the GW results, could you check them?

Best regards,
Zafer

Re: EPS-Im and EPS-Re values are too high in BSE calculation

Posted: Tue Apr 02, 2024 3:54 pm
by Daniele Varsano
Dear Zafer,

for sure the RA method is more appropriate than PPA which is not adequate for metals. Anyway, it is very heavy and 100 frequencies you used, should be verified that they enough to reasonably converge the QPs.

In any case, please note that the intra band contribution is not included in the Xo response. How much it is important it is really system dependent (see reference in my previous answer) and as a first check you can think to use the Drude approximation if you have an idea of the Drude frequency which is needed in input.

Having said that, I agree that the band structure looks reasonable. Consider also to apply a shift consistent to the fact that the GW correction at Fermi should be zero in order to have particle conservation, and this is not the case at GoWo level (see e.g. PHYSICAL REVIEW B, VOLUME 64, 235106 ; J. Phys.: Condens. Matter 11 (1999) R489–R528).

Best,
Daniele

Re: EPS-Im and EPS-Re values are too high in BSE calculation

Posted: Wed Apr 03, 2024 9:26 am
by Zafer Kandemir
Dear Daniele,

Thank you very much for your answer. I have a few other questions.
1) In the previous message, the 100 frequency value "ETStpsXd=100" is this value?
When interpolating gw bands with the ypp command, the result in the terminal is:

Code: Select all

\   \  /   /   /   \     |   \/   |  |   _  \   /  __  \
 \   \/   /   /  ^  \    |  \  /  |  |  |_)  | |  |  |  |
  \_    _/   /  /_\  \   |  |\/|  |  |   _  <  |  |  |  |
    |  |    /  _____  \  |  |  |  |  |  |_)  | |  `--"  |
    |__|   /__/     \__\ |__|  |__|  |______/   \______/



 <---> [01] MPI/OPENMP structure, Files & I/O Directories
 <---> [02] Y(ambo) P(ost)/(re) P(rocessor)
 <---> [03] Core DB
 <---> :: Electrons             : 100.0000
 <---> :: Temperature           : 0.000000 [eV]
 <---> :: Lattice factors       : 10.65874   8.58287   8.59886 [a.u.]
 <---> :: K points              :  36
 <---> :: Bands                 :  450
 <---> :: Symmetries            : 2
 <---> :: RL vectors            : 106127
 <---> [04] K-point grid
 <---> :: Q-points   (IBZ):  36
 <---> :: X K-points (IBZ):  36
 <---> [05] CORE Variables Setup
 <---> [05.01] Unit cells
 <---> [05.02] Symmetries
 <---> [05.03] Reciprocal space
 <---> [05.04] K-grid lattice
 <---> Grid dimensions      :   4   4   4
 <---> [05.05] Energies & Occupations
 <---> [05.05.01] External/Internal QP corrections
 <---> E<gwm1/ndb.QP[ E-E Real Axis = XG 289 = Xb 1-450 = Scb 1-450]
 <---> [dE_from_DB-Nearest K] Exact matches       :  100.0000 [o/o]
 <---> [QP_apply] Action to be applied: E<gwm1/ndb.QP[ E-E Real Axis = XG 289 = Xb 1-450 = Scb 1-450]
 <---> [05.05.01.01]  QP corrections report             
 <---> [WARNING][G+QP] Metallic system
 <---> [06] Interpolation tool
 <---> [06.01] Special Points for the Unknown lattice
 <---> [WARNING]Unknown lattice unit cell                
 <---> [06.02] Circuit analyzer/generator  
 <---> Number of Q/K-points in the circuit : 217
 <---> [06.03] Interpolation@work: Circuit
 <---> [INTERPOLATION] Number of shells:   3195
 <---> Interpolation@E_K_PATH (star) |########################################| [100%] --(E) --(X)
 <---> Interpolation@E_K_PATH (H fill) |########################################| [100%] --(E) --(X)
 <---> Interpolate@E_K_PATH Fourier |########################################| [100%] --(E) --(X)
 <---> [INTERPOLATION@E_K_PATH] Errors: Max, Avg, Avg_rel =   4.47034836E-08  6.13153039E-09  3.27065720E-07
 <---> Interpolate@E_K_PATH Fourier |########################################| [100%] --(E) --(X)
 <---> [06.04] Fermi Levels
 <---> Fermi Level  (BUILT-in bands)     :  0.614718 [eV]
 <---> [06.05] Bands output    
 <---> Generating output for interpolated bands
 <---> [07] Timing Overview
 <---> [08] Game Over & Game summary
2) When you subtract the Fermi value from the bands, is the Fermi set to zero? Or is this value already given as subtracted from the bands?
3) If this value is "ETStpsXd=300", the terminal gives this error:

Code: Select all

 <---> :: Q-points   (IBZ):  36
 <---> :: X K-points (IBZ):  36
 <---> [05] CORE Variables Setup
 <---> [05.01] Unit cells
 <---> [05.02] Symmetries
 <---> [05.03] Reciprocal space
 <---> [05.04] K-grid lattice
 <---> Grid dimensions      :   4   4   4
 <---> [05.05] Energies & Occupations
 <---> [05.05.01] External/Internal QP corrections
 <---> E<gwm1_300/ndb.QP[ E-E Real Axis = XG 289 = Xb 1-450 = Scb 1-450]
 <---> [dE_from_DB-Nearest K] Exact matches       :  100.0000 [o/o]
 <---> [QP_apply] Action to be applied: E<gwm1_300/ndb.QP[ E-E Real Axis = XG 289 = Xb 1-450 = Scb 1-450]
 <---> [05.05.01.01]  QP corrections report

[ERROR] STOP signal received while in[05.05.01.01]  QP corrections report
[ERROR]Not enough states to converge the Fermi Level
I researched this error, I think it is not a problem with compilation or it is a problem small k-grid.

Best regards,
Zafer

Re: EPS-Im and EPS-Re values are too high in BSE calculation

Posted: Wed Apr 03, 2024 9:51 am
by Daniele Varsano
Dear Zafer,

yes, ETStpsXd is the number of frequency you evaluate the dynamical screening. If changing it to 300 gives problems in the calculation of the Fermi level,
it means that bands corrections are changing. What about resorting to a multipole approximation? It is cheaper and more accurate than an uncoverged full frequency treatment.
Here you can find a tutorial for the MPA method:
https://www.yambo-code.eu/wiki/index.ph ... tion_(MPA)

About the shift: G0W0 it is known to be not particle conserving. Particle conservation can be forced, applying a rigid shift in your final result such that the GW correction at Fermi is zero.

Anyway, I think that all this is unrelated to the divergence you are experiencing in the IP spectrum.

Best,
Daniele

Re: EPS-Im and EPS-Re values are too high in BSE calculation

Posted: Thu Apr 11, 2024 9:54 am
by Zafer Kandemir
Dear Daniele,

I tried the BSE calculation with Yambo 5.2 version and got the same high values. I got this warning in the report file:

Code: Select all

# Version 5.2.0 Revision 22896 Hash (prev commit) 9b520643a           
#                     Branch is master                                
#          MPI+OpenMP+SLK+SLEPC+HDF5_MPI_IO Build                     
#                 http://www.yambo-code.eu 
...

   [06.01.04] Independent Particles properties @q1               
   ===============================================        

   [X/K] Drude nstates            :   523
   [X/K] Drude average occ        :  0.233215

   [X/K] Drude energies           :  0.921494  0.037847 [eV]

   [WARNING] [EPS_extend] Possible inaccuracy in the EPS prolungation

   [06.01.05] BSE Kernel @q1 (Resonant CORRRELATION EXCHANGE)
   ==========================================================   
1) How would you interpret this warning?

Also, I tried multi-pole approximation. I generated the input file with this command:

Code: Select all

yambo -F yambo_mpa.in -gw0 m hf -dyson n -V all
2) Do you think there is any command missing?

3) The last two columns in the output file gave NaN. Where could I have made a mistake?

Code: Select all

#    K-point            Band               Eo [eV]            E-Eo [eV]          Sc|Eo [eV]
#
        1                  19                -4.858795                   NaN                NaN
        1                  20                -3.614645                   NaN                NaN
        1                  21                -2.312067                   NaN                NaN
        1                  22                -2.312042                   NaN                NaN
I attached input, output and report files for mpa.

Best regards,
Zafer

Re: EPS-Im and EPS-Re values are too high in BSE calculation

Posted: Thu Apr 11, 2024 10:47 am
by Daniele Varsano
Dear Zafer,

please note that it seems you have high values already in the independent particle response, so it is not related to GW or BSE solution.
My suggestion is to inspect your band structure and see if you have nearly vanishing vertical gap, and maybe you can play a bit with the electronic temperature in an IP calculation and see how it does change. The variable is ElecTemp

About mpa, I realized that there is a problem in the input file generation. I fixed it in a develop branch that will enter soon in the GPL distribution.
You can see in your output file, for instance, that you are considering only 1RL in the screening.

If you want anyway to calculate QP in MPA approximation you can follow the tutorial adding the relevant input parameter by hand:
https://www.yambo-code.eu/wiki/index.ph ... tion_(MPA)

A typical MPA input is in attachment.

Best,
Daniele