Page 1 of 1

overlap & scissor operator

Posted: Mon Dec 15, 2025 6:57 pm
by xjxiao
Dear all,
If PBE calculations show such an overlap between the highest valence band and the lowest conduction band, can a scissor operator be applied?
Thanks!

Re: overlap & scissor operator

Posted: Tue Dec 16, 2025 9:47 am
by Davide Sangalli
Dear,

you could generate a "manual" ndb.QP with the following

Code: Select all

ypp -qpdb g -F my_qps.in
The inputs will be

Code: Select all

%QP_user_corrections             # [QPDB] Correction( spin | kp1| kp2| bnd1| bnd2| E-Eo[eV]| Img(E)[eV]| Re[Z] |)
-1|-1|-1|-1|-1| 0.000000| 0.000000| 0.000000|
%
and you can set something like (I'm assuming you have 8 kpts and 10 bands, etc ...)

Code: Select all

%QP_user_corrections             # [QPDB] Correction( spin | kp1| kp2| bnd1| bnd2| E-Eo[eV]| Img(E)[eV]| Re[Z] |)
1|1|8|1|6| -0.500| 0.000000| 0.000000|
1|1|8|7|10| +0.500| 0.000000| 0.000000|
%
and later load them in your bse calculation, or similar.

However, please notice that, you will retain the DFT band character, which is probably not what you want ...

Best,
D.

Re: overlap & scissor operator

Posted: Tue Dec 16, 2025 12:13 pm
by xjxiao
Davide Sangalli wrote: Tue Dec 16, 2025 9:47 am Dear,

you could generate a "manual" ndb.QP with the following

Code: Select all

ypp -qpdb g -F my_qps.in
The inputs will be

Code: Select all

%QP_user_corrections             # [QPDB] Correction( spin | kp1| kp2| bnd1| bnd2| E-Eo[eV]| Img(E)[eV]| Re[Z] |)
-1|-1|-1|-1|-1| 0.000000| 0.000000| 0.000000|
%
and you can set something like (I'm assuming you have 8 kpts and 10 bands, etc ...)

Code: Select all

%QP_user_corrections             # [QPDB] Correction( spin | kp1| kp2| bnd1| bnd2| E-Eo[eV]| Img(E)[eV]| Re[Z] |)
1|1|8|1|6| -0.500| 0.000000| 0.000000|
1|1|8|7|10| +0.500| 0.000000| 0.000000|
%
and later load them in your bse calculation, or similar.

However, please notice that, you will retain the DFT band character, which is probably not what you want ...

Best,
D.
Dear,
Thanks for the answer. I'm wondering if the scissors operator might cut the conduction band in the wrong place when shifting it, especially since the valence and conduction bands overlap.
Additionally, I typically implement the scissors operator by defining the KfnQP_E and XfnQP_E parameters in my input script. I assume this aligns with the approach you described?

Re: overlap & scissor operator

Posted: Tue Dec 16, 2025 1:30 pm
by Davide Sangalli
Dear,
Thanks for the answer. I'm wondering if the scissors operator might cut the conduction band in the wrong place when shifting it, especially since the valence and conduction bands overlap.
It would depend on the band index.

If you set it properly, it shouldn't

D.