Page 1 of 1

GW DOS from low scaling algorithm

Posted: Fri Aug 05, 2022 2:26 pm
by kdoblhoff
Dear Vasp community,
I have tried to compute a DOS using the low scaling GW algorithm but did not succeed: The DOS ends up looking exactly like the DFT DOS, while the traditional algorithm partially shifts the states (see plot below).
DOSplot.png
Is there a good reason for this behavior?

I did my tests using the example for SrVO from here: https://www.vasp.at/wiki/index.php/Band ... rVO3_in_GW
I edited the GW input file from

Code: Select all

SYSTEM = SrVO3                         # system name
ISMEAR = -1                             # Gaussian smearing
ALGO = GW0                            # GW with iteration in G, W kept on DFT level
NELM = 1                               # one electronic step suffices, since WAVECAR from previous step is present
NBANDS = 96                            # need for a lot of bands in GW
PRECFOCK = Fast                        # fast mode for FFTs
ENCUTGW = 100                          # small energy cutoff for response function suffices for this tutorial
NOMEGA = 200                           # large number of real frequency points for Hilbert transforms of W and self-energy
ENCUT = 300
to

Code: Select all

SYSTEM = SrVO3                         # system name
ISMEAR = -1                             # Gaussian smearing
ALGO = GW0R                            # GW with iteration in G, W kept on DFT level
NELM = 1                               # one electronic step suffices, since WAVECAR from previous step is present
NBANDS = 96                            # need for a lot of bands in GW
PRECFOCK = Fast                        # fast mode for FFTs
ENCUTGW = 100                          # small energy cutoff for response function suffices for this tutorial
NOMEGA = 24                           # large number of real frequency points for Hilbert transforms of W and self-energy
ENCUT = 300
MAXMEM = 1675
basically only changing ALGO to GW0R and NOMEGA to 24.

I attach my input and output files as well as my run-script (which takes care of copying WAVECARs back and forth).

Re: GW DOS from low scaling algorithm

Posted: Mon Aug 08, 2022 2:33 pm
by alexey.tal
Hi,

Thank you for reporting this. We are aware of this issue and it should be solved in the next release.

Re: GW DOS from low scaling algorithm

Posted: Thu Dec 01, 2022 4:25 pm
by kdoblhoff
I wanted to ask whether the issue is resolved yet (I ran 6.3.0 and I see that 6.3.1 is out, but it is possible that 6.3.1 was out before you answered).

Re: GW DOS from low scaling algorithm

Posted: Fri Dec 02, 2022 9:03 am
by merzuk.kaltak
Dear Katharina,

this issue is resolved only in the next release, i.e. version 6.4.0; all older version suffer from it unfortunately.

You may patch the source file chi_super.F version 6.3.2 with the following changes to make it work for ALGO=G0W0R:

In line 1726 replace

Code: Select all

CALL ROTATE_ORBITALS( W, WDES, CHAM_MAT, GDES_MAT, CORR_MAT, GU_MAT, GO_MAT) 
by

Code: Select all

! maybe original orbitals should be preserved 
IF( NATURALO /= 4 ) THEN
   CALL ROTATE_ORBITALS( W, WDES, CHAM_MAT, GDES_MAT, CORR_MAT, GU_MAT, GO_MAT)
ENDIF 
Insert following block in line 1782:

Code: Select all

! replace original energies with QP-energies
IF( NATURALO == 3 .OR. NATURALO==4 ) THEN
  DO NQ = 1 , WDES%NKPTS   
      NQ_IRZ=KPOINTS_FULL_ORIG%NEQUIV(KPOINT_IN_FULL_GRID(KPOINTS_FULL%VKPT(:,NQ),KPOINTS_FULL_ORIG)) 
          W%CELTOT(1:SIZE(QP_LINEAR,2),NQ,1:SIZE(QP_LINEAR,4)) = QP_LINEAR(1,1:SIZE(QP_LINEAR,2),NQ_IRZ,1:SIZE(QP_LINEAR,4))
  ENDDO 
ENDIF     
Note, you will have to add NATURALO=4 to your GW-INCAR to write the QP-energies to WAVECAR.

Re: GW DOS from low scaling algorithm

Posted: Fri Dec 02, 2022 9:13 am
by kdoblhoff
Cool! Thank you, I will try that!
Best regards,
Katharina

Re: GW DOS from low scaling algorithm

Posted: Sun Apr 30, 2023 5:18 pm
by yao_zhao
Hello Admins,

Is the issue resolved in the version 6.4.1? It seems like WAVECARs generated from GW0R (or EVGW0R/G0W0R) still do not contain QP energies, even with NATURALO = 4.

Here is the minimal INCAR I have used
LASPH = .TRUE.
ALGO = GW0R
NOMEGA = 16
NATURALO = 4
LOPTICS = .TRUE.
EDIFF = 1e-8
LORBIT = 11

Re: GW DOS from low scaling algorithm

Posted: Tue May 02, 2023 7:31 am
by merzuk.kaltak
Dear Yao,

The issue is resolved in 6.4.1. Have you tried

Code: Select all

ALGO=EVGW0R