overlap & scissor operator

Deals with issues related to computation of optical spectra, solving the Bethe-Salpeter equation.

Moderators: Davide Sangalli, andrea.ferretti, myrta gruning, andrea marini, Daniele Varsano

Post Reply
xjxiao
Posts: 58
Joined: Sat Jan 11, 2025 6:30 pm

overlap & scissor operator

Post by xjxiao » Mon Dec 15, 2025 6:57 pm

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!
You do not have the required permissions to view the files attached to this post.
Xiangjun Xiao
Institute of Semiconductors, Chinese Academy of Sciences

User avatar
Davide Sangalli
Posts: 652
Joined: Tue May 29, 2012 4:49 pm
Location: Via Salaria Km 29.3, CP 10, 00016, Monterotondo Stazione, Italy
Contact:

Re: overlap & scissor operator

Post by Davide Sangalli » 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.
Davide Sangalli, PhD
CNR-ISM, Division of Ultrafast Processes in Materials (FLASHit) and MaX Centre
https://sites.google.com/view/davidesangalli
http://www.max-centre.eu/

xjxiao
Posts: 58
Joined: Sat Jan 11, 2025 6:30 pm

Re: overlap & scissor operator

Post by xjxiao » Tue Dec 16, 2025 12:13 pm

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?
You do not have the required permissions to view the files attached to this post.
Xiangjun Xiao
Institute of Semiconductors, Chinese Academy of Sciences

User avatar
Davide Sangalli
Posts: 652
Joined: Tue May 29, 2012 4:49 pm
Location: Via Salaria Km 29.3, CP 10, 00016, Monterotondo Stazione, Italy
Contact:

Re: overlap & scissor operator

Post by Davide Sangalli » Tue Dec 16, 2025 1:30 pm

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.
Davide Sangalli, PhD
CNR-ISM, Division of Ultrafast Processes in Materials (FLASHit) and MaX Centre
https://sites.google.com/view/davidesangalli
http://www.max-centre.eu/

Post Reply