How to read self consistent GW wave functions

You can find here problems arising when using old releases of Yambo (< 5.0). Issues as parallelization strategy, performance issues and other technical aspects.

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

Locked
User avatar
jasonhan0710
Posts: 58
Joined: Wed Dec 23, 2020 6:48 am
Location: China

How to read self consistent GW wave functions

Post by jasonhan0710 » Tue Feb 15, 2022 10:21 am

Dear Developers,

I have performed a self consistent GW calculation and get the wave-function files "ndb.scWFs". However, yambo did not read the wave-functions automatically in the following PPA calculation. Would you please tell me how to set the input parameters or what post processing step should I do to get the GW-PPA quasiparticle energy based on the scWFs? Is it possible to use the scWFs near Fermi surface and other WFs calculated by DFT?

Best,
Jason
Jason Han

Assistant Professor
Department of Physics
National University of Defense Technology
Hunan, China

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

Re: How to read self consistent GW wave functions

Post by Daniele Varsano » Tue Feb 15, 2022 10:24 am

Dear Jason,

can you be more explicit on what you calculated? GW self consistency is not implemented in Yambo.

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/

User avatar
jasonhan0710
Posts: 58
Joined: Wed Dec 23, 2020 6:48 am
Location: China

Re: How to read self consistent GW wave functions

Post by jasonhan0710 » Wed Feb 16, 2022 8:56 am

Dear Daniele,

Thanks for your reply. I want to calculate the optical absorption for liquid, as the article did (https://arxiv.org/pdf/2201.09942.pdf). First, I use yambo_sc to get the self consistency wave functions “ndb.scWFs”. Then I want to use the new wave functions to calculate PPA-QP energy and BSE. However, I don't know how to deal with the new wave functions. Should I replace the one in SAVE folder? Is there any input parameters to control which wave functions to be read in yambo?

Best,
Jason
Jason Han

Assistant Professor
Department of Physics
National University of Defense Technology
Hunan, China

User avatar
Davide Sangalli
Posts: 614
Joined: Tue May 29, 2012 4:49 pm
Location: Via Salaria Km 29.3, CP 10, 00016, Monterotondo Stazione, Italy
Contact:

Re: How to read self consistent GW wave functions

Post by Davide Sangalli » Thu Feb 17, 2022 11:59 am

However, I don't know how to deal with the new wave functions. Should I replace the one in SAVE folder? Is there any input parameters to control which wave functions to be read in yambo?
Dear Jason,
Yambo just needs to read the ndb.scWFs databases of the self-consistent run.
Only yambo_sc can do that

Say you have a SAVE folder
First, you do the yambo_sc simulation

Code: Select all

yambo_sc -F sc.in -J SC_simulation
Then you do the BSE calculation

Code: Select all

yambo_sc -F BSE.in -J "BSE,SC_simulation"
yambo_sc will automatically read the nd.wf* KS wave-function and the ndb.scWFs database which contains the rotation matrix to get

Code: Select all

psi^SC_i = sum_j R_ij psi^KS_j
There is not anything to set in input.
If you do not use the -J option, the ndb.scWFs will be in the SAVE folder and it will be always used automatically.

You cannot do self-consistent GW, but you can do self-consistent SEX or COHSEX
Please notice that yambo_sc is not very much optimized and developed.
So, I expect that the simulations will be quite demanding ...

Let me add two comments on the arxiv you link.
1) equation (3) in the arxiv you link, introduces an error that breaks gauge invariance.
Indeed the same equation is in the BerkleyGW paper (Ref.[56] in the arXiv you link), but they removed it from the arXiv version of the BerkleyGW manuscript. The solution is to use <x> in place of <v>.
The reason for this is discussed here: https://doi.org/10.1103/PhysRevB.95.155203

2) they introduce an extra error on the dipoles with eq. (5), since they use just <p>. However, they do not just neglect <[x,Vnl]>. Since they use scGW WFs, their hamiltonian contains a non-local self-energy, and they also neglect <[x,Sigma]>. One way to include it is to use the shifted k-grids (also implemented in yambo). However, as they say, this would be demanding. With the Yambo code the standard approach is to evaluate <p+[x,Vnl]> (and <x>=<v>/deltaE) where you can switch on and off the <[x,Vnl]> term. However, you would still neglect the <[x,Sigma]> term. You can use the Covariant dipoles scheme instead to directly have the correct <x> (and <v>=deltaE <x>) with all terms.

Best,
D.
Davide Sangalli, PhD
CNR-ISM, Division of Ultrafast Processes in Materials (FLASHit) and MaX Centre
https://sites.google.com/view/davidesangalli
http://www.max-centre.eu/

Locked