I want to calculate the optical, transport and electronic properties of my material. GGA underestimate the bandgap.

I tried GGA+U but the bandgap is still underestimated and also when I tried to use it to calculate the restivity for example using EPW they say that DFT+U is not yet implemented.

So I was wondering how can I apply the scissor operator to GGA? Is it a good method?

  • $\begingroup$ See this thread about implementing scissor operator in QE. Also, not sure about EPW but in Yambo, they have this tutorial on how to calculate the band gap using scissors correction. $\endgroup$ Mar 15, 2023 at 8:53
  • $\begingroup$ @AbdulMuhaymin Thank you. I was also wondering why EPW is not so much used to calculate resistivity? $\endgroup$
    – Camilla
    Mar 16, 2023 at 13:11
  • $\begingroup$ sorry, I cannot help you. I do not have any idea about EPW. $\endgroup$ Mar 16, 2023 at 13:43
  • $\begingroup$ I gave my +1 long ago, but did you find an answer to this question yet? Otherwise, have you moved on from this part of your project? $\endgroup$ Sep 30, 2023 at 20:02
  • $\begingroup$ @NikeDattani At the time I didn't find an answer, so I tried to improve my results a little bit by using more suitable values of U from the literature. $\endgroup$
    – Camilla
    Oct 1, 2023 at 12:38

1 Answer 1


This comment by Abdul Muhaymin provides the following thread from the Quantum ESPRESSO mailing list which I'm including below (for me, I couldn't even visit the thread online because my browser told me that there was a security risk, so I clicked "accept risk and continue" but since I'm providing the contents here, you don't need to do that):

Is it possible to use the scissor operator in a TDDFT calculation using turbo_davidson or turbo_lanczos?

Yes in turbo_lanczos: the keyword is "scissor" in the lr_control namelist. But I do not remember if it is in Ry or eV.



There was a follow-up question about whether the units are in Ry or eV:

Dear Iurii, Thanks! It is not described in the docs, but I figured out that the variable scissor is used here: https://gitlab.com/QEF/q-e/-/blob/develop/TDDFPT/src/lr_apply_liouvillian.f90#L557: (and here: https://gitlab.com/QEF/q-e/-/blob/develop/TDDFPT/src/lr_apply_liouvillian.f90#L711 )

    DO ibnd = 1,nbnd       !       CALL zaxpy(ngk(1), CMPLX(-(et(ibnd,1)-scissor),0.0d0,DP), &                      &
spsi1(:,ibnd), 1, sevc1_new(:,ibnd,1), 1)       !    ENDDO

Can you tell from this bit whether it is in Ry or eV? It seems from lr_readin.f90 that the units aren't converted.

Best wishes, Michal

The answer was given here:

Dear Michal,

Scissor must be specified in Ry units.




You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .