Page 1 of 1

G0W0 on top of Meta-GGA

Posted: Tue Feb 20, 2024 8:48 am
by d.pshenay
Dear VASP team,

I am trying to improve my band gap calculation using G0W0 approach and compare G0W0@PBE with G0W0@r2SCAN. Because r2SCAN gives me better Eg than PBE, I consider it to be a better starting point for one-shot G0W0 correction.
I use 3-step procedure similar to G0W0@HSE06, but I hesitate about last (3rd) step: should I use
METAGGA = R2scan; LASPH = True
during ALGO=G0W0 step or not?
By the way, I tryed both ways and obtain different results: if I include these tags, Eg is largerly overestimated, while without them it is closer to experiment.
So, better results I get without them on the 3rd step. But is it consistent with using these tags on the 1st and 2nd steps?

Below are my INCARS for these three steps:
#1st step INCAR:
ALGO = Normal; EDIFF = 1e-08; ENCUT = 450
LREAL = False; PREC = Normal
ISMEAR = 0; SIGMA = 0.026
ISTART = 0
KPAR = 7
METAGGA = R2scan; LASPH = True

#2nd step INCAR:
EDIFF = 1e-06; ENCUT = 450
LREAL = False; PREC = Normal
ISMEAR = 0; SIGMA = 0.026
KPAR = 7
METAGGA = R2scan; LASPH = True
ALGO = Exact; NELM = 1; NBANDS = 1355;
LOPTICS = True;
LPEAD = True # have to add because of warning concerning LOPTICS for METAGGA

#3rd step INCAR:
ALGO = G0W0; NELM = 1; NBANDS = 1355; NOMEGA = 200
ENCUT = 450
LREAL = False; PREC = Normal
ISMEAR = 0; SIGMA = 0.026
KPAR = 7
#
#??? add or not ???
#METAGGA = R2scan; LASPH = True

Please, comment, which one if correct?

Best regards,
Dmitry

Re: G0W0 on top of Meta-GGA

Posted: Thu Feb 22, 2024 10:31 am
by ferenc_karsai
In the G0W0 it should not matter if you set these two flags anymore. We tested this and both cases should lead to the same results.
The G0W0 step updates the WAVECAR file, so probably you made the mistake that you used the updated WAVECAR file for the second test. We also did this when we first tried. :)

So best is to delete WAVECAR WAVEDER, redo all the steps and set LWAVE=.FALSE. in the third step. Then you should see that the METAGGA and LSPHER tag should not matter anymore.

Re: G0W0 on top of Meta-GGA

Posted: Thu Feb 22, 2024 7:57 pm
by d.pshenay
Thank you very much for you time and suggestions!
Actually, I performed calculations from scratch in separate folders. I made check and again obtained different results. I attached archive with fast test and results for Si.
3rd step eigenvalues at Gamma without METAGGA:
1 -6.7816 -6.9043
2 5.7528 5.1485
3 5.7528 5.1485
4 5.7528 5.1485
5 8.5111 8.5511
6 8.5111 8.5511
7 8.5111 8.5511
8 9.7337 9.4938

and with METAGGA:
1 -6.7816 -7.7403
2 5.7528 3.9860
3 5.7528 3.9860
4 5.7528 3.9860
5 8.5111 7.7177
6 8.5111 7.7177
7 8.5111 7.7177
8 9.7337 7.3907

are different... :(

What can it be?
ferenc_karsai wrote: Thu Feb 22, 2024 10:31 am In the G0W0 it should not matter if you set these two flags anymore. We tested this and both cases should lead to the same results.
The G0W0 step updates the WAVECAR file, so probably you made the mistake that you used the updated WAVECAR file for the second test. We also did this when we first tried. :)

So best is to delete WAVECAR WAVEDER, redo all the steps and set LWAVE=.FALSE. in the third step. Then you should see that the METAGGA and LSPHER tag should not matter anymore.

Re: G0W0 on top of Meta-GGA

Posted: Thu Feb 22, 2024 10:56 pm
by ferenc_karsai
So I just tried your input, but changed to 4x4x4 k-mesh and removed the KPAR line in the INCAR file. The reduced steps drastically speed up the calculation. After doing steps 1,2 and then 3 in two different directories where I once set the tags and once not I get identical OUTCAR files except the timing statements. I was using VASP 6.4.2.

I saw in your script you did not copy the WAVECAR and WAVEDER files. This would of course lead to different results.
I would copy for each follow up step the whole content from the previous directory and just replace the INCAR file.

Re: G0W0 on top of Meta-GGA

Posted: Fri Feb 23, 2024 10:05 am
by d.pshenay
Thank you again for comments! I very much appreciate your help!
But I redo again for 4x4x4 without KPAR and obtained again different results...
(note, that result with and without KPAR are nearly the same)

So, new questions follow:
1) I used vasp5.4.4 - can it be the reason? Could you, please, share you input and output with me to compare with my 5.4.4 results? The most importaint for me, anyway, which one is right - to use METAGGA tag at the G0W0 step or not?
2) I did not understand about copying WAVACAR and WAVEDER. I start each variant of 3-step procedure in empty folder from scratch - there are no results of other runs. What should I copy then?
3) In general, I am trying to understand what information G0W0 needs from previouse steps:
1. wave functions
2. dft 1-particle energies
3. information about Vxc to calculate potential difference for perturbation expansion
In my OUTCAR I found that columns "KS-energies" and "sigma(KS)" are the same but "QP-energies" and "V_xc(KS)" are different when I use METAGGA tag and without it. I suppose that Vasp then computes different Vxc using METAGGA information, that leads to different QP-energies. Is it right?

Best regards,
Dmitry

Re: G0W0 on top of Meta-GGA

Posted: Mon Feb 26, 2024 8:55 am
by ferenc_karsai
I tried with VASP.5.4.4 and both ways give the same results for me.

So when you do step the G0W0 you have the copy before the WAVECAR and WAVEDER file from step two.
Did you do this? Because I didn't see it in your script.

Re: G0W0 on top of Meta-GGA

Posted: Mon Feb 26, 2024 12:29 pm
by d.pshenay
Thank you for answer!

I corrected my script - now it includes both variants in the same folder. I copy (save) WAVECAR and WAVEDER from step 2 and use them for two versions of step 3 (G0W0 with and without METAGGA tag). Is it OK now?
There can be another subtle issue with r2SCAN - it needs a patch as discussed at wiki/index.php/METAGGA in section METAGGA=R2SCAN.
If I compile vasp without this patch then vasp did not see metagga (METAGGA= F in OUTCAR). In that case both versions gave the same result but it uses PBE and not METAGGA.
If I compile vasp with this patch then I again obtain different results.
Please, look in your OUTCAR - did vasp see METAGGA or send a copy to me? Another way - to try different METAGGA, which does not need a patch.

I attach my new script and results of vasp-5.4.4 run with and without patch (folders 15-G0W0-test_12_R2SCAN_no-METAGGA-patch and 15-G0W0-test_12_R2SCAN_with-METAGGA-patch in the archive).
Inside these folders subfolders 31 and 32 - are two versions of step 3 (with and without METAGGA tag). I have to delete WAVECAR and WAVEDER while making archive because of file-size limit.

Best regards,
Dmitry

Re: G0W0 on top of Meta-GGA

Posted: Mon Feb 26, 2024 2:01 pm
by ferenc_karsai
Ok, yes I ran without the patch and r2scan was not active.

I've now installed the patch and indeed I also get different results with VASP 5.4.4.

So this seems like a bug if the patch is applied with VASP 5.4.4 and that is gone with latest version I VASP.

The results without the tags set in the last step seem to be close to the results from VASP 6.4.2, but not exactly the same (I have uploaded the OUTCARs in the attachment). A lot has changed between the versions so the deviations are maybe ok but I can't tell for sure. The results with the tags set in the last step are clearly off.

We can't offer support for VASP 5.4.4, so to be sure everything is correct I strongly recommend to upgrade to the latest VASP version.

Re: G0W0 on top of Meta-GGA

Posted: Mon Feb 26, 2024 5:23 pm
by d.pshenay
Thank you! I'm glad that its became clear. Fortunately, not setting METAGGA in vasp-5.4.4 at the G0W0 step also gave me better results for band gap :)