Page 1 of 1

LiF BSE-IP calculation with all-in-one-mode GW

Posted: Wed Dec 03, 2025 1:18 pm
by harry_morgan1

Dear VASP team,

I'm trying to follow the GW+BSE tutorial on LiF. When I follow the tutorial the results come out as expected, but when I try again using all-in-one mode for the GW calculation then my BSE-IP dielectric function is significantly red-shifted. The shape of the graph is correct but all the peaks appear approximately 4 eV below where they should be. The band gap in the G0W0 calculation appears to be correct (13.56 eV), so why does the first peak in the imaginary part of the dielectric function appear at 9 eV?

I have attached the main inputs and outputs from the G0W0 and BSE steps.

I am using VASP 6.4.2 for these calculations.

One other thing - I am plotting the dielectric function with vaspkit because when I try to do it with py4vasp I get an error message that says:
"NoData: Could not find data in output, please make sure that the provided input
should produce this data and that the VASP calculation already finished.
Also check that VASP did not exit with an error."

I have checked that vaspkit and py4vasp give consistent results on a different calculation.

Thank you.

Harry


Re: LiF BSE-IP calculation with all-in-one-mode GW

Posted: Tue Dec 23, 2025 4:46 pm
by merzuk.kaltak

Dear Harry,

which py4vasp version do you use?


Re: LiF BSE-IP calculation with all-in-one-mode GW

Posted: Mon Jan 05, 2026 9:52 am
by hwtmorgan

Dear merzuk.kaltak,

Thank you for your help.

py4vasp version 0.10.2

The most important issue for me is the correct and consistent calculation of the band gap and dielectric function.

Best,
Harry


Re: LiF BSE-IP calculation with all-in-one-mode GW

Posted: Wed Jan 21, 2026 3:29 pm
by merzuk.kaltak

There is no entry for NBANDS in your INCAR.BSE file. Because of this, vasp runs the all-in-one mode of GW and performs a Kohn-Sham DFT calculation. This can be seen in the stdout as follows:

Code: Select all

...
 the WAVECAR file was read successfully
 initial charge from wavefunction
       N       E                     dE             d eps       ncg     rms          rms(c)
DAV:   1    -0.114220582807E+02   -0.11422E+02   -0.52086E-06   512   0.101E-02    0.482E-03
DAV:   2    -0.114220579573E+02    0.32342E-06   -0.21668E-06   256   0.651E-03
 available memory per node:   28.07 GB, setting MAXMEM to   28740
 ...

The QP-energies that where calculated by the INCAR.GW step are, thus, overwritten by the actual KS-energies.
If you set NBANDS=64 in the BSE step the spectrum of the tutorial is recovered.

The "NoData" error comes from the fact that vasp-6.4.2 does not write a Fermi level entry to vaspout.h5, which py4vasp requires.
As of version 6.4.3 this entry is present in the vaspout.h5.


Re: LiF BSE-IP calculation with all-in-one-mode GW

Posted: Sat Feb 28, 2026 11:02 am
by hwtmorgan

Dear Merzuk.Kaltak,

Thank you for your help, including NBANDS has made the calculations work properly.

I am now having trouble with computing the optical transmission spectrum from the dielectric function. I have used the dielectric function of LiF to compute the absorption coefficient \alpha and transmission T according to the Beer-Lambert law:
T = exp (-\alpha * d) where d is the thickness of the sample

My transmission spectrum says that a 2mm sample of LiF is opaque to visible light, which is not true. I can get the correct transmission spectrum but only by using a very small d value. Can you suggest anything that might fix this problem?

Best wishes,
Harry