[QE-users] On the use of the modified Becke-Johnson (TB09) functional

Fabio Costa fabiocosta4 at hotmail.com
Wed Nov 6 20:34:11 CET 2019


Dear users and developers

After some more attempts to use the TB09 functional, I ended up finding this previous post: https://lists.quantum-espresso.org/pipermail/users/2019-April/042619.html , and after changing v_of_rho.f90, the code is now able to end without any error.

In my attempts, I'm performing the calculations as an initial scf run with a PBE pseudopotencial, and then another scf run, now with restart_mode = 'restart' and input_dft = 'MGGA_X_TB09'. By following this procedure, as described in E. Germaneau's paper, the calculations do converge.

The issue now is that the gap energies I'm finding are very large. For example, for silicon, the calculations result in a 2.8 eV gap, larger even than the results presented in the paper, where the values ranged between 1.9 to 2.3. Despite the large gaps, the band structure and DOS agree well with the ones obtained with PBE.

Is there any way to improve these results. My first guess is to adjust the "c" parameter in the mBJ functional. After some searching through the routines and Libxc files, I'm still clueless on how to proceed on this matter.

Any further suggestions will be much appreciated

Thank you
Fábio Costa



________________________________
De: users <users-bounces at lists.quantum-espresso.org> em nome de Fabio Costa <fabiocosta4 at hotmail.com>
Enviado: segunda-feira, 14 de outubro de 2019 13:10
Para: users at lists.quantum-espresso.org <users at lists.quantum-espresso.org>
Assunto: [QE-users] On the use of the modified Becke-Johnson (TB09) functional

Dear all

I'm having some difficulties to work with the TB09 functional. After some reading, I found in  some old posts that this can be done by compiling QE with Libxc, and by adding the line 'input_dft='tb09'' in the pw.x input.

When I try to use this functional, the scf calculation always ends like this:

     total energy              =              NaN Ry     Harris-Foulkes estimate   =     -11.24358313 Ry     estimated scf accuracy    <       0.01858366 Ry     iteration # 18     ecut=   120.00 Ry     beta= 0.10     Davidson diagonalization with overlap %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     Error in routine cdiaghg (7):     eigenvectors failed to converge %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

What draws my attention is that always in the last cycle before the error the total energy is printed as NaN. The parameters to the calculation seem to be fine, as it ends smoothly without the input_dft line.

By searching in the QE user guide, there is a reference to the work of E. Germaneau, which lead me to his paper (DOI: 10.1016/j.cpc.2013.02.020<http://dx.doi.org/10.1016/j.cpc.2013.02.020>), where the results of his implementation are presented. Even though, it is unclear to me how to use the functional correctly.

Thanks for any assistance
Fábio Costa
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.quantum-espresso.org/pipermail/users/attachments/20191106/de56d9b0/attachment.html>


More information about the users mailing list