Addressing a bug usually requires to upload a full error report according to our
forum posting guidelines.
Nevertheless, we have been able to reproduce your problem regarding the EIGENVAL file for low-scaling GW calculations.
This is going to be fixed in the next release.
Meanwhile, you can fix this issue by yourself by introducing following code
Code: Select all
!
! overwrite eigenvalues by QP energies
! to update EIGENVAL file
DO NQ = 1 , WDES%NKPTS
NQ_IRZ=KPOINTS_FULL_ORIG%NEQUIV(KPOINT_IN_FULL_GRID(KPOINTS_FULL%VKPT(:,NQ),KPOINTS_FULL_ORIG))
W%CELTOT(:,NQ,:) = QP_LINEAR(1,:,NQ_IRZ,:)
ENDDO
in chi_GG.F and chi_super.F before the line
that is, before the lines 1497 and 1522 in
src/chi_GG.F and
src/chi_super.F of version 6.1.0, respectively.
The VASP code needs to be recompiled after these changes.
Concerning diagonal matrix elements of the dielectric function and Wxxxx.tmp files:
The diagonal matrix elements of the dielectric function for low-scaling GW algorithms are not printed to file,
because they are available only on the imaginary frequency axis and are not useful in practice.
The same holds true for the screened potential W and the Wxxxx.tmp files, which is available only on a specific imaginary frequency grid.
For zero-temperature calculations (LFINITE_TEMPERATURE=.FALSE.) this grid does not contain the omega=0 point.
In contrast, for BSE calculations one usually uses the screened potential at omega=0, that for the quartic-scaling GW algorithm, is written to the Wxxxx.tmp files.
In principle, it is possible to transform W to an isometric imaginary time grid and integrate the result to obtain W at omega=0 with the low-scaling approach (not implemented).
However, setting up the BSE matrix and diagonalizing it (last step in a BSE calculation) still scales with the forth power of the system size in the current release of VASP and is, hence, the effective bottleneck.
We, therefore, propose to use the quartic scaling GW algorithm instead to determine W(omega=0) for BSE calculations,
You will run sooner into memory (or computing time) problems when calculating W(0) (with the quartic-scaling GW code) before the BSE step anyway.
Currently (for version 6.1) you may print the smallest imaginary frequency point of W for the low-scaling GW algorithms to Wxxxx.tmp by setting NOMEGA_DUMP=1.