Dear all,
I have received several emails and comments reporting issues with the pw.x + open_grid.x + wannier90 approach for band structure calculations with hybrid XC functionals. I decided to quickly test the latest version of QE and found that all is well – at least for my simple test case.
The attached run file will let you calculate the bands of bulk MgO with hybrid functionals (I tested HSE, B3LYP and PBE0 but that choice was entirely arbitrary and does not reflect any meaningful selection). I also tested that both, norm-conserving (ONCV) and ultrasoft/PAW pseudopotentials work at this stage and found no problem.
Below you will see the bands obtained for the ONCV case – note that this is just a test of the code’s capabilities and not converged (wiggles in the bands indicate that the wannierization failed to localize the states sufficiently which might require adjustment of the wannierization window)

And we can also quickly check if the hybrid functionals do what we expect them to do – fix the “band-gap problem”. Indeed, we find that the band-gap is increased from the PZ case (~4.1 eV) to a maximum value of 7.2 eV (using PBE0) – with literature values usually falling between 5.7 and 7.7 this is not a bad match at all 🙂

As always, use these with caution and make sure your calculations are converged! A run script that tests above-mentioned cases as well as an example of the output for HSE using ONCV pseudopotentials are available for download below.
Have fun!
Hello Christoph, thank you for your helpful post. I am new to using hybrid functionals and wannier90. I have two separate challenges.
1. There are wiggles in the bands of one of my structures. Your post reads “… require adjustment of the wannierization window”. Please kindly advise me on the adjustment.
2. The output of open_grid.x is not displaying the opened grids in another structure. Whereas, scf (pw.x) works fine. Please kindly advise. Thank you
LikeLike
Hey there,
1) I am sorry but without seeing any in/outputs that is very hard to do. In general the wannierization window needs to enclose the target states but shouldn’t be too large as to capture too many undesired states; there is a good tutorial that comes with Wannier90 (and many others).
2) I am not sure I understand your question – is the program crashing or just not printing the k-grid points?
Please note that I will try to help but I don’t have the time to check here every day so you might get faster help at a dedicated help forum. For Wannier90 that would be https://lists.quantum-espresso.org/mailman/listinfo/wannier and for quantum espresso related questions https://lists.quantum-espresso.org/mailman/listinfo/users
Hope that helps!
LikeLike
Thank you for your response.
1. I was unable to upload the plots. I use quantum espresso. I increased nqx parameters and it solved the problem.
2. I reduced nks and open_grid worked fine.
Thank you.
LikeLike
Thank you for your response.
1. I was unable to upload the plots. I use quantum espresso. I increased nqx parameters and it solved the problem.
2. I reduced nks and open_grid worked fine.
Thank you.
LikeLike