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.

Re: overlap & scissor operator

Posted: Mon Jan 05, 2026 4:47 pm
by xjxiao
Davide Sangalli wrote: Tue Dec 16, 2025 9:47 am 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|
%
Dear,
After I used a scissor operator to open the band gap for this indirect-band-gap system, it still shows up as metallic. I’m not sure whether I’ve misunderstood the meaning of “spin” in the parameter table. In your example, you set this parameter to 1—what does that mean? For systems with and without spin–orbit coupling, how should this parameter be set?
Thanks!!!

Re: overlap & scissor operator

Posted: Tue Jan 06, 2026 12:58 am
by Davide Sangalli
This

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|
%
should mean that:

line 1: In the spin 1 channel, k-points from 1 to 8, bands from 1 to 6, are shifted in energy by -0.5 eV
line 2: In the spin 1 channel, k-points from 1 to 8, bands from 7 to 10, are shifted in energy by +0.5 eV

If your calculation is for a spin-polarized system, spin 1 means spin-up.
Otherwise, spin 1 is for the only available spin channel

Best,
D.