Extracting static macroscopic W(ω=0) from GW

Queries about input and output files, running specific calculations, etc.


Moderators: Global Moderator, Moderator

Post Reply
Message
Author
masoud_mansouri2
Newbie
Newbie
Posts: 3
Joined: Mon May 27, 2024 9:58 am

Extracting static macroscopic W(ω=0) from GW

#1 Post by masoud_mansouri2 » Fri Oct 10, 2025 3:04 pm

Dear VASP community,
I've done a set of GW calculations on a 2D material using VASP 5.4.4 with HSE as the starting point. For the smallest system, INCAR includes the following keys:
NBANDS = 1120
NELM = 1
ALGO = GW0
NOMEGA = 100
LASPH = .TRUE.
LSPECTRAL = .TRUE.
LWANNIER90 = True
With a 6x6x1 KPOINTS and POTCAR includes PAW_PBE *_sv_GW

I could safely accomplish this calculation and the following GW band plots using wannier and solving BSE. For a postprocessing analysis, I am interested in extracting the static, macroscopic screened Coulomb interaction, W(r, ω→0), or at least W(G=G′=0, ω=0). My attempts to read WFULL0001.tmp using Python and Fortran fail due to either memory or I/O errors.
Since I already have WAVEDER, WAVECAR.chi, CHGCAR and WAVECAR file from this GW+LOPTICS run, my question is:

What is the recommended workflow in VASP 5.4.4 to obtain macroscopic W(ω=0) safely for large systems?
Is there a way to extract only W(G=G′=0, ω=0) without reading the entire WFULL files?
Are there existing post-processing tools or scripts compatible with VASP 5.4.4 for this purpose?

Any guidance, example scripts, post-processing tools, or pointers compatible with VASP 5.4.4 would be highly appreciated.
Thank you very much for your help.

Best regards,
Masoud


martin.schlipf
Global Moderator
Global Moderator
Posts: 639
Joined: Fri Nov 08, 2019 7:18 am

Re: Extracting static macroscopic W(ω=0) from GW

#2 Post by martin.schlipf » Fri Oct 10, 2025 4:20 pm

We wrote an extensive documentation on how to conduct GW calculations. For larger systems, you can also make use of the low-scaling GWR code that evaluates expressions in real space.

For reading the W*.tmp files you can look at the routine in src/wpot.F. The head of the matrix is written write near the beginning of the file so you do not need to read the whole file to get it.

As post processing tools, we recommend using py4vasp in combination with compiling VASP with HDF5 support. This allows you to access many quantities with a very short Python script.

Unfortunately, you will need to explore for yourself how to translate these recommendations to older versions of VASP. The user guide aims to support the most recent version.

Martin Schlipf
VASP developer


Post Reply